@open-charging-cloud/wwcp-poi 0.2.0 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +658 -1
- package/README.md +106 -38
- package/dist/common.d.ts +11 -0
- package/dist/common.d.ts.map +1 -1
- package/dist/crypto/ber.d.ts +48 -0
- package/dist/crypto/ber.d.ts.map +1 -0
- package/dist/crypto/certificates.d.ts +21 -0
- package/dist/crypto/certificates.d.ts.map +1 -0
- package/dist/crypto/curves.d.ts +25 -0
- package/dist/crypto/curves.d.ts.map +1 -0
- package/dist/crypto/ecc.d.ts +34 -0
- package/dist/crypto/ecc.d.ts.map +1 -0
- package/dist/crypto/publicKeys.d.ts +51 -0
- package/dist/crypto/publicKeys.d.ts.map +1 -0
- package/dist/crypto/rsa.d.ts +30 -0
- package/dist/crypto/rsa.d.ts.map +1 -0
- package/dist/encoding/text.d.ts +9 -0
- package/dist/encoding/text.d.ts.map +1 -1
- package/dist/evTaler/amounts.d.ts +89 -0
- package/dist/evTaler/amounts.d.ts.map +1 -0
- package/dist/evTaler/contractTerms.d.ts +126 -0
- package/dist/evTaler/contractTerms.d.ts.map +1 -0
- package/dist/evTaler/meterValue.d.ts +65 -0
- package/dist/evTaler/meterValue.d.ts.map +1 -0
- package/dist/evTaler/payURI.d.ts +28 -0
- package/dist/evTaler/payURI.d.ts.map +1 -0
- package/dist/evTaler/settlement.d.ts +85 -0
- package/dist/evTaler/settlement.d.ts.map +1 -0
- package/dist/evTaler/step.d.ts +72 -0
- package/dist/evTaler/step.d.ts.map +1 -0
- package/dist/history/apply.d.ts +6 -1
- package/dist/history/apply.d.ts.map +1 -1
- package/dist/history/changeSet.d.ts +30 -4
- package/dist/history/changeSet.d.ts.map +1 -1
- package/dist/history/checkpoint.d.ts +7 -0
- package/dist/history/checkpoint.d.ts.map +1 -1
- package/dist/history/commit.d.ts +21 -3
- package/dist/history/commit.d.ts.map +1 -1
- package/dist/history/elements.d.ts +19 -0
- package/dist/history/elements.d.ts.map +1 -0
- package/dist/history/history.d.ts +46 -6
- package/dist/history/history.d.ts.map +1 -1
- package/dist/history/preconditions.d.ts +23 -0
- package/dist/history/preconditions.d.ts.map +1 -0
- package/dist/index.d.ts +11 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +10170 -2047
- package/dist/index.js.map +1 -1
- package/dist/json/canonical.d.ts.map +1 -1
- package/dist/keys.d.ts.map +1 -1
- package/dist/network/certificates.d.ts +16 -4
- package/dist/network/certificates.d.ts.map +1 -1
- package/dist/network/countries.d.ts +16 -0
- package/dist/network/countries.d.ts.map +1 -0
- package/dist/network/evTaler.d.ts +7 -14
- package/dist/network/evTaler.d.ts.map +1 -1
- package/dist/network/identifications.d.ts +6 -6
- package/dist/network/identifications.d.ts.map +1 -1
- package/dist/network/measurementPublicKey.d.ts +7 -0
- package/dist/network/measurementPublicKey.d.ts.map +1 -0
- package/dist/network/offers.d.ts +53 -0
- package/dist/network/offers.d.ts.map +1 -0
- package/dist/network/partyKeys.d.ts +8 -5
- package/dist/network/partyKeys.d.ts.map +1 -1
- package/dist/network/poiJSON.d.ts +175 -0
- package/dist/network/poiJSON.d.ts.map +1 -0
- package/dist/network/poiValues.d.ts +55 -0
- package/dist/network/poiValues.d.ts.map +1 -0
- package/dist/network/reading.d.ts +58 -0
- package/dist/network/reading.d.ts.map +1 -0
- package/dist/network/references.d.ts +43 -0
- package/dist/network/references.d.ts.map +1 -0
- package/dist/network/roamingNetwork.d.ts +17 -12
- package/dist/network/roamingNetwork.d.ts.map +1 -1
- package/dist/network/timeZones.d.ts +8 -0
- package/dist/network/timeZones.d.ts.map +1 -0
- package/dist/network/tree.d.ts +14 -0
- package/dist/network/tree.d.ts.map +1 -1
- package/dist/network/versionTexts.d.ts +1 -7
- package/dist/network/versionTexts.d.ts.map +1 -1
- package/dist/network/writtenForm.d.ts +27 -1
- package/dist/network/writtenForm.d.ts.map +1 -1
- package/dist/proofs/keyStatement.d.ts.map +1 -1
- package/dist/proofs/priceStatement.d.ts.map +1 -1
- package/dist/verifier/checkpoints.d.ts +6 -0
- package/dist/verifier/checkpoints.d.ts.map +1 -1
- package/dist/verifier/grossRates.d.ts +11 -0
- package/dist/verifier/grossRates.d.ts.map +1 -0
- package/dist/verifier/sessionPrices.d.ts +3 -0
- package/dist/verifier/sessionPrices.d.ts.map +1 -1
- package/package.json +14 -13
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { type JSONObject } from '../json/value.ts';
|
|
2
|
+
import { type Checked } from './poiJSON.ts';
|
|
3
|
+
/**
|
|
4
|
+
* The given check of the network or of an operator, remembering what it found within it: nothing of a check before, as the
|
|
5
|
+
* content may be changed between two checks, e.g. by a change set, and nothing after it.
|
|
6
|
+
*/
|
|
7
|
+
export declare function whileChecking<T>(check: () => T): T;
|
|
8
|
+
/**
|
|
9
|
+
* The error, as WWCP_POI3 words it after the last change of a change set, when a group of a charging station operator
|
|
10
|
+
* names a member it does not have, or an offer a group it does not have (`InvalidGroupOrOffer`), or a charging pool or a
|
|
11
|
+
* charging pool template of it the payment option EVTaler without an EV Taler merchant, or a charging pool as it is at
|
|
12
|
+
* runtime the payment option EVTaler without the authentication mode SecureDynamicQRCode (`InvalidPaymentOption`), or two of
|
|
13
|
+
* its charging tariff offers overlap at an EVSE (`OverlappingOffers`).
|
|
14
|
+
*/
|
|
15
|
+
export declare const invalidGroupOrOffer: (operator: JSONObject) => string | undefined;
|
|
16
|
+
/**
|
|
17
|
+
* The error, when a charging pool or a charging pool template names the payment option EVTaler, but its operator has no
|
|
18
|
+
* merchant, or a charging pool as it is at runtime, with what its templates give it, names it without the authentication
|
|
19
|
+
* mode SecureDynamicQRCode (`InvalidPaymentOption`; decision D8 of concepts/EVTaler.md): every EV Taler session names the
|
|
20
|
+
* one-time password its EVSE gives right then. Templates themselves are not checked for the mode, only the pools.
|
|
21
|
+
*/
|
|
22
|
+
export declare const invalidPaymentOption: (operator: JSONObject) => string | undefined;
|
|
23
|
+
/**
|
|
24
|
+
* What the constructor of a charging station operator of the given identification refuses of what it read, thrown as WWCP_POI3
|
|
25
|
+
* throws it, in its order: charging pools of another operator or given twice, charging stations, EVSEs and energy meters
|
|
26
|
+
* given twice in them; charging tariffs of another operator or given twice, tariffs of EVSEs and
|
|
27
|
+
* connectors unknown; groups and templates given twice or of another operator, tariffs and templates they name unknown;
|
|
28
|
+
* offers given twice or naming another operator; tariffs without a currency or elements, also of their templates; stations
|
|
29
|
+
* whose templates give them more power than their EVSEs have; members of groups and groups of offers unknown; the payment
|
|
30
|
+
* option EVTaler without a merchant. Of a version only: after a change set, WWCP_POI3 checks its groups, offers and payment
|
|
31
|
+
* options after the last change (`invalidGroupOrOffer`).
|
|
32
|
+
*/
|
|
33
|
+
export declare function operatorConstruction(operator: JSONObject, id: string, of: 'version' | 'change set'): void;
|
|
34
|
+
/** What the constructor of the given charging station operator refuses, as its TryParse names it; undefined for nothing. */
|
|
35
|
+
export declare function checkOperator(operator: JSONObject, id: string, of?: 'version' | 'change set'): Checked;
|
|
36
|
+
/**
|
|
37
|
+
* The error, when the constructor of the roaming network refuses the parties of the given content, as WWCP_POI3 words it of a
|
|
38
|
+
* version, in its order, each as an argument of its parameter, or bare after the last change of a change set, in the order it
|
|
39
|
+
* checks them there; undefined for none. After a change set, a reference the version before the given one resolves names
|
|
40
|
+
* what the change set withdrew while another party still names it.
|
|
41
|
+
*/
|
|
42
|
+
export declare const invalidReferences: (content: JSONObject, of: "version" | "change set", before?: JSONObject) => string | undefined;
|
|
43
|
+
//# sourceMappingURL=references.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"references.d.ts","sourceRoot":"","sources":["../../src/network/references.ts"],"names":[],"mappings":"AAoBA,OAAO,EAAkC,KAAK,UAAU,EAAkB,MAAM,kBAAkB,CAAC;AACnG,OAAO,EAE+B,KAAK,OAAO,EAAW,MAAM,cAAc,CAAC;AAkJlF;;;GAGG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,CAgBlD;AAsUD;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,GAAI,UAAU,UAAU,KAAG,MAAM,GAAG,SAChB,CAAC;AA6UrD;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,GAAI,UAAU,UAAU,KAAG,MAAM,GAAG,SAChB,CAAC;AAoCtD;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,GAAG,YAAY,GAAG,IAAI,CAEzG;AA6JD,4HAA4H;AAC5H,wBAAgB,aAAa,CAAC,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,GAAE,SAAS,GAAG,YAAwB,GAAG,OAAO,CAUjH;AAmoBD;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,GAAI,SAAS,UAAU,EAAE,IAAI,SAAS,GAAG,YAAY,EAAE,SAAS,UAAU,KAAG,MAAM,GAAG,SACxD,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type JSONObject, type JSONValue } from '../json/value.ts';
|
|
2
2
|
import { type ETag } from '../etags.ts';
|
|
3
|
-
import {
|
|
3
|
+
import type { HashAlgorithm } from '../crypto/hash.ts';
|
|
4
4
|
import type { POIPublicKey } from '../keys.ts';
|
|
5
5
|
import { KeyStatement } from '../proofs/keyStatement.ts';
|
|
6
6
|
import { SigningKeyCertificate } from '../proofs/signingKeyCertificate.ts';
|
|
@@ -31,6 +31,12 @@ export declare class RoamingNetworkOperator {
|
|
|
31
31
|
*/
|
|
32
32
|
static parse(value: JSONValue | undefined, roamingNetworkId: string): RoamingNetworkOperator;
|
|
33
33
|
}
|
|
34
|
+
/**
|
|
35
|
+
* The error, when WWCP_POI3 refuses the roaming network operator a change of a change set changed, as it reads it again right
|
|
36
|
+
* after the change (`TryApplyRegistryChange`): as `RoamingNetworkOperator.parse` reads it, but for what the roaming network
|
|
37
|
+
* refuses of it as it is made of it, after the last change. Undefined for none.
|
|
38
|
+
*/
|
|
39
|
+
export declare function invalidRoamingNetworkOperator(json: JSONObject, roamingNetworkId: string): string | undefined;
|
|
34
40
|
/**
|
|
35
41
|
* A version of a roaming network (SPECIFICATION.md sections 2 and 3): its content and its ETags.
|
|
36
42
|
*/
|
|
@@ -45,23 +51,22 @@ export declare class RoamingNetwork {
|
|
|
45
51
|
private constructor();
|
|
46
52
|
/**
|
|
47
53
|
* Reads a roaming network and refuses it unless it is a valid version: of its `@context`, with `eTags` that are those
|
|
48
|
-
* of its content, where it lists any, without keys of its own, with a valid roaming network operator, and
|
|
49
|
-
*
|
|
50
|
-
*
|
|
51
|
-
*
|
|
52
|
-
*
|
|
53
|
-
* nor what WWCP_POI takes and writes otherwise than the content holds it (`notWrittenAsHeld`),
|
|
54
|
-
* also the version a change set leads to. Its `eTags` may be left out: what binds a version is the commit whose ETags it
|
|
55
|
-
* has (`matchesCommitETags`).
|
|
54
|
+
* of its content, where it lists any, without keys of its own, with a valid roaming network operator, and nothing
|
|
55
|
+
* WWCP_POI3 refuses as it reads its parties (`invalidReading`), nor as it makes the roaming network of them, a reference
|
|
56
|
+
* it does not resolve or an identification it keeps unique given twice (`invalidReferences`), nor what WWCP_POI takes
|
|
57
|
+
* and writes otherwise than the content holds it (`notWrittenAsHeld`), also the version a change set leads to. Its
|
|
58
|
+
* `eTags` may be left out: what binds a version is the commit whose ETags it has (`matchesCommitETags`).
|
|
56
59
|
*/
|
|
57
60
|
static parse(value: JSONValue | undefined): RoamingNetwork;
|
|
58
61
|
/**
|
|
59
62
|
* Reads the version the given change set leads to, its content after the last change, and refuses it as `parse`
|
|
60
63
|
* does, but in the words WWCP_POI3 names what it refuses of the network there (RoamingNetwork.ChangeSets.cs): its
|
|
61
|
-
* operator
|
|
62
|
-
* constructor
|
|
64
|
+
* operator, the identifications it keeps unique within the roaming network and the references bare, not as arguments of
|
|
65
|
+
* its constructor, in its order there; a reference the given version before resolves as what the change set withdrew
|
|
66
|
+
* while it is still named. The groups, offers and payment options of its charging station operators it checks after
|
|
67
|
+
* the last change (`invalidGroupOrOffer`, `invalidPaymentOption`), before what it reads.
|
|
63
68
|
*/
|
|
64
|
-
static afterChangeSet(content: JSONObject): RoamingNetwork;
|
|
69
|
+
static afterChangeSet(content: JSONObject, before?: JSONObject): RoamingNetwork;
|
|
65
70
|
private static read;
|
|
66
71
|
/** The effective content (8.1), calculated once. */
|
|
67
72
|
get effectiveContent(): JSONObject;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"roamingNetwork.d.ts","sourceRoot":"","sources":["../../src/network/roamingNetwork.ts"],"names":[],"mappings":"AAkBA,OAAO,
|
|
1
|
+
{"version":3,"file":"roamingNetwork.d.ts","sourceRoot":"","sources":["../../src/network/roamingNetwork.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAmD,KAAK,UAAU,EAAE,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACpH,OAAO,EAAmE,KAAK,IAAI,EAAE,MAAM,aAAa,CAAC;AACzG,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AASvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAc,YAAY,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAmB,2BAA2B,CAAC;AACtE,OAAO,EAAE,qBAAqB,EAAE,MAAU,oCAAoC,CAAC;AAI/E,eAAO,MAAM,uBAAuB,QAAuC,CAAC;AAgB5E,iFAAiF;AACjF,eAAO,MAAM,SAAS,GAAI,MAAM,SAAS,YAAY,EAAE,KAAG,GAAG,CAAC,MAAM,CACnB,CAAC;AAGlD;;;GAGG;AACH,qBAAa,sBAAsB;aAGX,EAAE,EAAuB,MAAM;aAC/B,YAAY,EAAa,SAAS,YAAY,EAAE;aAChD,YAAY,EAAa,MAAM;aAC/B,YAAY,EAAa,YAAY,GAAG,SAAS;aACjD,sBAAsB,EAAG,SAAS,qBAAqB,EAAE;aACzD,IAAI,EAAqB,UAAU;IANvD,OAAO;IASP,iDAAiD;IACjD,IAAW,WAAW,IAAI,YAAY,EAAE,CAKvC;IAGD;;;;;;;OAOG;WACW,KAAK,CAAC,KAAK,EAAE,SAAS,GAAG,SAAS,EAAE,gBAAgB,EAAE,MAAM,GAAG,sBAAsB;CAoItG;AAED;;;;GAIG;AACH,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAc5G;AAGD;;GAEG;AACH,qBAAa,cAAc;aAMH,EAAE,EAAmB,MAAM;IAC3C,4FAA4F;aAC5E,OAAO,EAAc,UAAU;aAC/B,QAAQ,EAAa,sBAAsB,GAAG,SAAS;aACvD,kBAAkB,EAAG,SAAS,aAAa,EAAE;IARjE,OAAO,CAAC,cAAc,CAAyB;IAC/C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAkC;IAE5D,OAAO;IASP;;;;;;;OAOG;WACW,KAAK,CAAC,KAAK,EAAE,SAAS,GAAG,SAAS,GAAG,cAAc;IAIjE;;;;;;;OAOG;WACW,cAAc,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,UAAU,GAAG,cAAc;IAItF,OAAO,CAAC,MAAM,CAAC,IAAI;IAgFnB,oDAAoD;IACpD,IAAW,gBAAgB,IAAI,UAAU,CAExC;IAED,kEAAkE;IAC3D,iBAAiB,CAAC,SAAS,EAAE,aAAa,GAAG,IAAI;IAaxD,kHAAkH;IAC3G,KAAK,IAAI,IAAI,EAAE;IAItB,+EAA+E;IACxE,cAAc,IAAI,IAAI,EAAE;IAI/B,6GAA6G;IACtG,kBAAkB,CAAC,KAAK,EAAE,SAAS,IAAI,EAAE,GAAG,OAAO;IAI1D,uCAAuC;IAChC,SAAS,IAAI,MAAM;IAI1B,IAAW,IAAI,IAAI,SAAS,GAAG,SAAS,CAEvC;IAED,IAAW,WAAW,IAAI,SAAS,GAAG,SAAS,CAE9C;IAED,qDAAqD;IAC9C,wBAAwB,IAAI,UAAU,EAAE;IAK/C,8EAA8E;IACvE,uBAAuB,CAAC,EAAE,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;CAIrE"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/** Whether the given time zone is one a charging pool may have and this platform knows it (`POITimeZones.TryFind`). */
|
|
2
|
+
export declare function knownTimeZone(name: string): boolean;
|
|
3
|
+
/**
|
|
4
|
+
* The error of the given time zone of a charging pool or a charging pool template (`POITimeZones.Known`), if it is none it
|
|
5
|
+
* may have or this platform does not know it.
|
|
6
|
+
*/
|
|
7
|
+
export declare const unknownTimeZone: (name: string, of: string) => string | undefined;
|
|
8
|
+
//# sourceMappingURL=timeZones.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"timeZones.d.ts","sourceRoot":"","sources":["../../src/network/timeZones.ts"],"names":[],"mappings":"AA6DA,uHAAuH;AACvH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAanD;AAED;;;GAGG;AACH,eAAO,MAAM,eAAe,GAAI,MAAM,MAAM,EAAE,IAAI,MAAM,KAAG,MAAM,GAAG,SACkF,CAAC"}
|
package/dist/network/tree.d.ts
CHANGED
|
@@ -39,6 +39,20 @@ export declare function prunedDigest(entity: JSONObject, kind: TreeNodeKind, alg
|
|
|
39
39
|
/** The root of a pruned roaming network and what it gives completely (8.4). */
|
|
40
40
|
export declare function prunedTree(roamingNetwork: JSONObject, algorithm: HashAlgorithm): PrunedTree;
|
|
41
41
|
/** The digest in hex, for messages. */
|
|
42
|
+
/**
|
|
43
|
+
* Whether a proof gives the given child array of the given entity completely, as `RoamingNetworkProof.GivesCompletely` of
|
|
44
|
+
* WWCP_POI d35c780 tells it (8.4, POI3-ISSUES.md S29): as an array, or none, as an entity without such children has.
|
|
45
|
+
* Pruned it gives none of them, partial some, as leaves: what an app shows of it is then not all the entity has, e.g. not
|
|
46
|
+
* every EVSE of a station, tariff of an EVSE or certificate of a model. Of an entity as the proof gives it, e.g. in
|
|
47
|
+
* `ChargingStationProof.roamingNetwork`, not as the verified station resolves it.
|
|
48
|
+
*/
|
|
49
|
+
export declare const givesCompletely: (entity: JSONObject, childArray: string) => boolean;
|
|
50
|
+
/**
|
|
51
|
+
* How many children the given child array of the given entity of a proof has, also where it gives only some or none of
|
|
52
|
+
* them, as `RoamingNetworkProof.SizeOf` tells it: 0 where it gives none, the length of an array, the `@size` of a pruned
|
|
53
|
+
* or partial one; undefined where that is no whole number this platform holds exactly.
|
|
54
|
+
*/
|
|
55
|
+
export declare const sizeOf: (entity: JSONObject, childArray: string) => number | undefined;
|
|
42
56
|
export declare const hexDigest: (digest: Uint8Array) => string;
|
|
43
57
|
export { without };
|
|
44
58
|
//# sourceMappingURL=tree.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tree.d.ts","sourceRoot":"","sources":["../../src/network/tree.ts"],"names":[],"mappings":"AAkBA,OAAO,EAA+B,OAAO,EAAE,KAAK,UAAU,EAAkB,MAAM,kBAAkB,CAAC;AAGzG,OAAO,EAAiB,KAAK,aAAa,EAAE,MAAa,mBAAmB,CAAC;AAE7E,OAAO,KAAK,EAAE,IAAI,EAAE,MAAqC,aAAa,CAAC;AAIvE,8GAA8G;AAC9G,MAAM,MAAM,YAAY,GAClB,gBAAgB,GAChB,yBAAyB,GACzB,cAAc,GACd,iBAAiB,GACjB,mBAAmB,GACnB,cAAc,GACd,iBAAiB,GACjB,6BAA6B,GAC7B,yBAAyB,GACzB,kCAAkC,GAClC,0BAA0B,GAC1B,MAAM,CAAC;AAGb;;;;GAIG;AACH,eAAO,MAAM,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,CA8E/F,CAAC;AAGF;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,aAAa,GAAG,UAAU,CAEzG;AAED,gEAAgE;AAChE,wBAAgB,QAAQ,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,aAAa,GAAG,UAAU,CAyBrG;AAED,mGAAmG;AACnG,wBAAgB,iBAAiB,CAAC,gBAAgB,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,GAAG,IAAI,CAE9F;AAMD,yGAAyG;AACzG,MAAM,WAAW,UAAU;IACvB,8GAA8G;IAC9G,QAAQ,CAAC,IAAI,EAAO,UAAU,CAAC;IAC/B,iHAAiH;IACjH,QAAQ,CAAC,QAAQ,EAAG,UAAU,CAAC;CAClC;AAGD;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,aAAa,EAAE,IAAI,SAAM,GAAG;IAAE,MAAM,EAAE,UAAU,CAAC;IAAC,QAAQ,EAAE,UAAU,CAAA;CAAE,CAwGvJ;AAGD,+EAA+E;AAC/E,wBAAgB,UAAU,CAAC,cAAc,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,GAAG,UAAU,CAG3F;AAED,uCAAuC;AACvC,eAAO,MAAM,SAAS,GAAI,QAAQ,UAAU,KAAG,MAC9B,CAAC;AAElB,OAAO,EAAE,OAAO,EAAE,CAAC"}
|
|
1
|
+
{"version":3,"file":"tree.d.ts","sourceRoot":"","sources":["../../src/network/tree.ts"],"names":[],"mappings":"AAkBA,OAAO,EAA+B,OAAO,EAAE,KAAK,UAAU,EAAkB,MAAM,kBAAkB,CAAC;AAGzG,OAAO,EAAiB,KAAK,aAAa,EAAE,MAAa,mBAAmB,CAAC;AAE7E,OAAO,KAAK,EAAE,IAAI,EAAE,MAAqC,aAAa,CAAC;AAIvE,8GAA8G;AAC9G,MAAM,MAAM,YAAY,GAClB,gBAAgB,GAChB,yBAAyB,GACzB,cAAc,GACd,iBAAiB,GACjB,mBAAmB,GACnB,cAAc,GACd,iBAAiB,GACjB,6BAA6B,GAC7B,yBAAyB,GACzB,kCAAkC,GAClC,0BAA0B,GAC1B,MAAM,CAAC;AAGb;;;;GAIG;AACH,eAAO,MAAM,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,CA8E/F,CAAC;AAGF;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,aAAa,GAAG,UAAU,CAEzG;AAED,gEAAgE;AAChE,wBAAgB,QAAQ,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,aAAa,GAAG,UAAU,CAyBrG;AAED,mGAAmG;AACnG,wBAAgB,iBAAiB,CAAC,gBAAgB,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,GAAG,IAAI,CAE9F;AAMD,yGAAyG;AACzG,MAAM,WAAW,UAAU;IACvB,8GAA8G;IAC9G,QAAQ,CAAC,IAAI,EAAO,UAAU,CAAC;IAC/B,iHAAiH;IACjH,QAAQ,CAAC,QAAQ,EAAG,UAAU,CAAC;CAClC;AAGD;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,aAAa,EAAE,IAAI,SAAM,GAAG;IAAE,MAAM,EAAE,UAAU,CAAC;IAAC,QAAQ,EAAE,UAAU,CAAA;CAAE,CAwGvJ;AAGD,+EAA+E;AAC/E,wBAAgB,UAAU,CAAC,cAAc,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,GAAG,UAAU,CAG3F;AAED,uCAAuC;AACvC;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,GAAI,QAAQ,UAAU,EAAE,YAAY,MAAM,KAAG,OAGxE,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,MAAM,GAAI,QAAQ,UAAU,EAAE,YAAY,MAAM,KAAG,MAAM,GAAG,SAQxE,CAAC;AAEF,eAAO,MAAM,SAAS,GAAI,QAAQ,UAAU,KAAG,MAC9B,CAAC;AAElB,OAAO,EAAE,OAAO,EAAE,CAAC"}
|
|
@@ -3,7 +3,7 @@ export declare const objectsOf: (value: JSONValue | undefined) => JSONObject[];
|
|
|
3
3
|
/** Whether the given value is a text `TryParse` takes: not empty, neither beginning nor ending with whitespace. */
|
|
4
4
|
export declare const isText: (value: JSONValue) => boolean;
|
|
5
5
|
/** The given text as `String.Trim` gives it, as the identifications of WWCP_POI take it. */
|
|
6
|
-
export declare
|
|
6
|
+
export declare function trimmed(text: string): string;
|
|
7
7
|
export declare const MODEL_VERSIONS: {
|
|
8
8
|
hardwareRevisions: string;
|
|
9
9
|
firmwareVersions: string;
|
|
@@ -15,10 +15,4 @@ export declare const MODEL_VERSIONS: {
|
|
|
15
15
|
* with, `whose` in words.
|
|
16
16
|
*/
|
|
17
17
|
export declare function versionTwice(holder: JSONObject, whose: string): string | undefined;
|
|
18
|
-
/**
|
|
19
|
-
* The error, when the given content names a hardware revision, firmware version or serial number WWCP_POI refuses where it
|
|
20
|
-
* reads it, as WWCP_POI says it, after what names it; undefined for none. The charging stations and energy meters, their
|
|
21
|
-
* templates and the models of their manufacturers name them; the certificates `invalidCertificates` reads.
|
|
22
|
-
*/
|
|
23
|
-
export declare function invalidVersionText(content: JSONObject): string | undefined;
|
|
24
18
|
//# sourceMappingURL=versionTexts.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"versionTexts.d.ts","sourceRoot":"","sources":["../../src/network/versionTexts.ts"],"names":[],"mappings":"AAiBA,OAAO,EAA0B,KAAK,UAAU,EAAE,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"versionTexts.d.ts","sourceRoot":"","sources":["../../src/network/versionTexts.ts"],"names":[],"mappings":"AAiBA,OAAO,EAA0B,KAAK,UAAU,EAAE,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAY3F,eAAO,MAAM,SAAS,GAAI,OAAO,SAAS,GAAG,SAAS,KAAG,UAAU,EACnB,CAAC;AAYjD,mHAAmH;AACnH,eAAO,MAAM,MAAM,GAAI,OAAO,SAAS,KAAG,OACkG,CAAC;AAE7I,4FAA4F;AAC5F,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAa5C;AAED,eAAO,MAAM,cAAc;;;CAAmF,CAAC;AAE/G;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAUlF"}
|
|
@@ -1,14 +1,31 @@
|
|
|
1
1
|
import { type JSONObject, type JSONValue } from '../json/value.ts';
|
|
2
2
|
export declare const PROPERTIES_OF: Readonly<Record<string, readonly string[]>>;
|
|
3
|
+
/** The texts of a text in languages as Styx writes them, of the languages it reads (`languageOf`). */
|
|
4
|
+
export declare const textsOf: (text: JSONObject) => JSONObject;
|
|
5
|
+
/**
|
|
6
|
+
* A value as its canonical JSON, as WWCP_POI names it in a message (`POIJSON.ContentText`); a coordinate as its double;
|
|
7
|
+
* "absent" for none.
|
|
8
|
+
*/
|
|
9
|
+
export declare const contentText: (value: JSONValue | undefined) => string;
|
|
3
10
|
/**
|
|
4
11
|
* The given value as WWCP_POI reads it, of an object of the given kind (`PROPERTIES_OF`): without the properties it does
|
|
5
12
|
* not read, of the objects within it as well.
|
|
6
13
|
*/
|
|
7
14
|
export declare function asRead(value: JSONValue, kind: string): JSONValue;
|
|
8
|
-
/**
|
|
15
|
+
/**
|
|
16
|
+
* Where a value is not written as the content holds it, e.g. "chargingPools[1].paymentOptions", and how it is held; where
|
|
17
|
+
* this library tells it, what the content holds there instead (`held`): at the given keys and indexes of the value, `undefined`
|
|
18
|
+
* for nothing, where the content leaves it out.
|
|
19
|
+
*/
|
|
9
20
|
export interface NotWritten {
|
|
10
21
|
readonly path: string;
|
|
11
22
|
readonly reason: string;
|
|
23
|
+
readonly held?: Held;
|
|
24
|
+
}
|
|
25
|
+
/** What the content holds at a place of a value: `undefined` for nothing. */
|
|
26
|
+
interface Held {
|
|
27
|
+
readonly at: readonly (string | number)[];
|
|
28
|
+
readonly value: JSONValue | undefined;
|
|
12
29
|
}
|
|
13
30
|
/**
|
|
14
31
|
* Where the given value of the given property, at the given path, is not written as the content holds it; undefined where
|
|
@@ -16,9 +33,18 @@ export interface NotWritten {
|
|
|
16
33
|
* version leaves an element given twice to what refuses it in the words of WWCP_POI.
|
|
17
34
|
*/
|
|
18
35
|
export declare function notWritten(value: JSONValue, property: string | undefined, path: string, of: 'version' | 'new value'): NotWritten | undefined;
|
|
36
|
+
/**
|
|
37
|
+
* The given new value of the given property, or entity to add, as the content holds it, as far as this library tells it
|
|
38
|
+
* (`notWritten`): `{ value: undefined }` where the content does not hold it at all, e.g. an empty list; `undefined` where
|
|
39
|
+
* this library does not tell how the content holds it.
|
|
40
|
+
*/
|
|
41
|
+
export declare function heldAs(value: JSONValue, property: string | undefined): {
|
|
42
|
+
readonly value: JSONValue | undefined;
|
|
43
|
+
} | undefined;
|
|
19
44
|
/**
|
|
20
45
|
* The error, as WWCP_POI3 words it since 3de830a, when the given content of a version is not written as the content holds
|
|
21
46
|
* it, its own JSON-LD context aside; undefined where it is.
|
|
22
47
|
*/
|
|
23
48
|
export declare function notWrittenAsHeld(content: JSONObject): string | undefined;
|
|
49
|
+
export {};
|
|
24
50
|
//# sourceMappingURL=writtenForm.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"writtenForm.d.ts","sourceRoot":"","sources":["../../src/network/writtenForm.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"writtenForm.d.ts","sourceRoot":"","sources":["../../src/network/writtenForm.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAkF,KAAK,UAAU,EAAE,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAqUnJ,eAAO,MAAM,aAAa,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAoBrE,CAAC;AA6MF,sGAAsG;AACtG,eAAO,MAAM,OAAO,GAAI,MAAM,UAAU,KAAG,UAImE,CAAC;AAgF/G;;;GAGG;AACH,eAAO,MAAM,WAAW,GAAI,OAAO,SAAS,GAAG,SAAS,KAAG,MAGyB,CAAC;AAGrF;;;GAGG;AACH,wBAAgB,MAAM,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,CAchE;AAGD;;;;GAIG;AACH,MAAM,WAAW,UAAU;IACvB,QAAQ,CAAC,IAAI,EAAK,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAG,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAI,IAAI,CAAC;CAC1B;AAED,6EAA6E;AAC7E,UAAU,IAAI;IACV,QAAQ,CAAC,EAAE,EAAM,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IAC9C,QAAQ,CAAC,KAAK,EAAG,SAAS,GAAG,SAAS,CAAC;CAC1C;AAcD;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,GAAG,WAAW,GAAG,UAAU,GAAG,SAAS,CAuL5I;AAGD;;;;GAIG;AACH,wBAAgB,MAAM,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG;IAAE,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,SAAS,CAAA;CAAE,GAAG,SAAS,CA0B5H;AA0BD;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,UAAU,GAAG,MAAM,GAAG,SAAS,CAMxE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keyStatement.d.ts","sourceRoot":"","sources":["../../src/proofs/keyStatement.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAmC,KAAK,UAAU,EAAE,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAEpG,OAAO,EAAE,YAAY,EAAE,MAAe,YAAY,CAAC;AAKnD,eAAO,MAAM,qBAAqB,QAAoD,CAAC;AAGvF,6DAA6D;AAC7D,MAAM,WAAW,qBAAqB;IAClC,QAAQ,CAAC,SAAS,EAAG,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAO,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAO,MAAM,CAAC;CAC/B;AAGD;;;;GAIG;AACH,qBAAa,YAAY;aAGD,gBAAgB,EAAW,MAAM;aACjC,wBAAwB,EAAG,MAAM;aACjC,YAAY,EAAe,SAAS,YAAY,EAAE;aAClD,YAAY,EAAe,MAAM;aACjC,QAAQ,EAAmB,MAAM;aACjC,UAAU,EAAiB,MAAM;aACjC,UAAU,EAAiB,SAAS,qBAAqB,EAAE;aAC3D,IAAI,EAAuB,UAAU;IARzD,OAAO;IAYP;;;;;OAKG;WACW,KAAK,CAAC,KAAK,EAAE,SAAS,GAAG,SAAS,GAAG,YAAY;
|
|
1
|
+
{"version":3,"file":"keyStatement.d.ts","sourceRoot":"","sources":["../../src/proofs/keyStatement.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAmC,KAAK,UAAU,EAAE,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAEpG,OAAO,EAAE,YAAY,EAAE,MAAe,YAAY,CAAC;AAKnD,eAAO,MAAM,qBAAqB,QAAoD,CAAC;AAGvF,6DAA6D;AAC7D,MAAM,WAAW,qBAAqB;IAClC,QAAQ,CAAC,SAAS,EAAG,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAO,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAO,MAAM,CAAC;CAC/B;AAGD;;;;GAIG;AACH,qBAAa,YAAY;aAGD,gBAAgB,EAAW,MAAM;aACjC,wBAAwB,EAAG,MAAM;aACjC,YAAY,EAAe,SAAS,YAAY,EAAE;aAClD,YAAY,EAAe,MAAM;aACjC,QAAQ,EAAmB,MAAM;aACjC,UAAU,EAAiB,MAAM;aACjC,UAAU,EAAiB,SAAS,qBAAqB,EAAE;aAC3D,IAAI,EAAuB,UAAU;IARzD,OAAO;IAYP;;;;;OAKG;WACW,KAAK,CAAC,KAAK,EAAE,SAAS,GAAG,SAAS,GAAG,YAAY;IA2E/D,8GAA8G;IACvG,OAAO,IAAI,UAAU;IAY5B,0GAA0G;IACnG,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,UAAU;IAIjE,0DAA0D;IACnD,eAAe,CAAC,SAAS,EAAE,qBAAqB,EAAE,WAAW,EAAE,YAAY,GAAG,IAAI;IASzF,wFAAwF;IACjF,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAKvC,mHAAmH;IACnH,IAAW,OAAO,IAAI,MAAM,EAAE,EAAE,CAS/B;IAGD;;;OAGG;IACI,MAAM,CAAC,qBAAqB,EAAE,QAAQ,CAAC,MAAM,CAAC,EACvC,iBAAiB,GAAM,SAAS,YAAY,EAAO,EACnD,OAAO,GAAgB;QAAE,YAAY,CAAC,EAAE,MAAM,CAAC;QAAC,EAAE,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,GAAG,CAAC,MAAM,CAAC;IAM9F;;;;;;;;;;;OAWG;IACI,aAAa,CAAC,cAAc,EAAM,SAAS,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,EAClD,iBAAiB,GAAG,SAAS,YAAY,EAAO,EAChD,OAAO,GAAa;QAAE,YAAY,CAAC,EAAE,MAAM,CAAC;QAAC,EAAE,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG;QAAE,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE;CAkFlJ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"priceStatement.d.ts","sourceRoot":"","sources":["../../src/proofs/priceStatement.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAmC,KAAK,UAAU,EAAE,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACpG,OAAO,EAAc,OAAO,EAAqB,MAAM,qBAAqB,CAAC;AAC7E,OAAO,EAAuC,KAAK,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAG5F,OAAO,EAAa,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAgB,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"priceStatement.d.ts","sourceRoot":"","sources":["../../src/proofs/priceStatement.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { type JSONValue } from '../json/value.ts';
|
|
2
2
|
import { POIPublicKey } from '../keys.ts';
|
|
3
|
+
import { type RoleSignature } from '../history/commit.ts';
|
|
3
4
|
import type { Checkpoint } from '../history/checkpoint.ts';
|
|
4
5
|
import type { OperatorTrust } from './trust.ts';
|
|
5
6
|
/** A witness a verifier trusts, with its key: trusted independently of the network (10.2), e.g. by configuration. */
|
|
@@ -17,6 +18,11 @@ export interface CheckpointSignatures {
|
|
|
17
18
|
readonly witnessedBy: readonly string[];
|
|
18
19
|
/** Signatures that did not count: by untrusted keys, in another role, or invalid. */
|
|
19
20
|
readonly ignored: readonly string[];
|
|
21
|
+
/**
|
|
22
|
+
* The signatures that verified, in their order: those a history takes the checkpoint with (`verifyCheckpoint` of
|
|
23
|
+
* `HistoryOptions`, S39), the others left out.
|
|
24
|
+
*/
|
|
25
|
+
readonly verified: readonly RoleSignature[];
|
|
20
26
|
}
|
|
21
27
|
/**
|
|
22
28
|
* Verifies the signatures of a checkpoint a verifier requires (10.2): as the roaming network operator, by its trusted
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkpoints.d.ts","sourceRoot":"","sources":["../../src/verifier/checkpoints.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAO,KAAK,SAAS,EAAE,MAAkB,kBAAkB,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAyB,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"checkpoints.d.ts","sourceRoot":"","sources":["../../src/verifier/checkpoints.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAO,KAAK,SAAS,EAAE,MAAkB,kBAAkB,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAyB,YAAY,CAAC;AAC7D,OAAO,EAAkB,KAAK,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAsB,0BAA0B,CAAC;AAC3E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAmB,YAAY,CAAC;AAI7D,qHAAqH;AACrH,MAAM,WAAW,cAAc;IAC3B,QAAQ,CAAC,OAAO,EAAG,MAAM,CAAC;IAC1B,QAAQ,CAAC,GAAG,EAAO,YAAY,CAAC;CACnC;AAED,mHAAmH;AACnH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,SAAS,GAAG,cAAc,EAAE,CAKxE;AAGD,2DAA2D;AAC3D,MAAM,WAAW,oBAAoB;IACjC,wFAAwF;IACxF,QAAQ,CAAC,QAAQ,EAAO,SAAS,MAAM,EAAE,CAAC;IAC1C,mEAAmE;IACnE,QAAQ,CAAC,WAAW,EAAI,SAAS,MAAM,EAAE,CAAC;IAC1C,qFAAqF;IACrF,QAAQ,CAAC,OAAO,EAAQ,SAAS,MAAM,EAAE,CAAC;IAC1C;;;OAGG;IACH,QAAQ,CAAC,QAAQ,EAAO,SAAS,aAAa,EAAE,CAAC;CACpD;AAGD;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,UAAU,EAAG,UAAU,EACvB,KAAK,EAAQ,aAAa,EAC1B,OAAO,GAAM;IAAE,SAAS,CAAC,EAAE,SAAS,cAAc,EAAE,CAAC;IAAC,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,oBAAoB,CAsExJ;AAGD,mIAAmI;AACnI,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,SAAS,UAAU,EAAE,GAAG,IAAI,CAoB7E"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { type JSONObject } from '../json/value.ts';
|
|
2
|
+
import type { SessionPriceVerification } from './sessionPrices.ts';
|
|
3
|
+
/** The unconditional gross rates of the simple profile, as their decimals are written. */
|
|
4
|
+
export type GrossRates = NonNullable<NonNullable<SessionPriceVerification['selected']>['rates']>;
|
|
5
|
+
/**
|
|
6
|
+
* The gross rates of the simple profile (chargy-gross-rates/v1): one element, without restrictions, of energy, flat or
|
|
7
|
+
* time components each once, with a price not negative, energy and time with a step size of at least one, a flat fee
|
|
8
|
+
* without any, as a FLAT price component has none; none otherwise. Internal: not exported by the package.
|
|
9
|
+
*/
|
|
10
|
+
export declare function grossRates(currency: string, elements: readonly JSONObject[]): GrossRates | undefined;
|
|
11
|
+
//# sourceMappingURL=grossRates.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"grossRates.d.ts","sourceRoot":"","sources":["../../src/verifier/grossRates.ts"],"names":[],"mappings":"AAgBA,OAAO,EAA8B,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE/E,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAEnE,0FAA0F;AAC1F,MAAM,MAAM,UAAU,GAAG,WAAW,CAAC,WAAW,CAAC,wBAAwB,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;AAEjG;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAC,MAAM,EAAC,QAAQ,EAAC,SAAS,UAAU,EAAE,GAAE,UAAU,GAAC,SAAS,CAgB9F"}
|
|
@@ -6,6 +6,9 @@ import { type WitnessPublicationPolicy, type PricePublicationVerification } from
|
|
|
6
6
|
export declare const SESSION_PRICE_EVIDENCE_CONTEXT = "https://open.charging.cloud/contexts/wwcp/sessionPriceEvidence/v1";
|
|
7
7
|
export declare const SESSION_PRICE_AGREEMENT_CONTEXT = "https://open.charging.cloud/contexts/wwcp/sessionPriceAgreement/v1";
|
|
8
8
|
export declare const SIMPLE_GROSS_PRICE_PROFILE = "chargy-gross-rates/v1";
|
|
9
|
+
/** The same gross rates of a session started through an e-mobility provider, of a contract with it (`contract`): the
|
|
10
|
+
* rates the CPO charges the provider, not those the provider charges its customer. */
|
|
11
|
+
export declare const CONTRACT_GROSS_PRICE_PROFILE = "chargy-contract-gross-rates/v1";
|
|
9
12
|
/** Experimental CPO assertion, distinct from customer consent. */
|
|
10
13
|
export declare class SessionPriceAgreement {
|
|
11
14
|
readonly json: JSONObject;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sessionPrices.d.ts","sourceRoot":"","sources":["../../src/verifier/sessionPrices.ts"],"names":[],"mappings":"AAiBA,OAAO,
|
|
1
|
+
{"version":3,"file":"sessionPrices.d.ts","sourceRoot":"","sources":["../../src/verifier/sessionPrices.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@open-charging-cloud/wwcp-poi",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"description": "Verifies WWCP/POI data in TypeScript: trust anchors, key statements, roaming networks and their ETags, commits, checkpoints, charging station proofs and price statements - so that an EV driver's app knows the charging station and its tariffs it shows are the ones the roaming network signed and published.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"wwcp",
|
|
@@ -69,26 +69,27 @@
|
|
|
69
69
|
},
|
|
70
70
|
"dependencies": {
|
|
71
71
|
"@noble/hashes": "^2.4.0",
|
|
72
|
-
"@vanaheimr/cose": "^0.
|
|
72
|
+
"@vanaheimr/cose": "^0.15.0",
|
|
73
73
|
"@vanaheimr/metrological-cbor": "^0.12.0"
|
|
74
74
|
},
|
|
75
75
|
"devDependencies": {
|
|
76
76
|
"@eslint/js": "^10.0.1",
|
|
77
|
-
"@types/node": "^26.6.
|
|
78
|
-
"@vitest/browser": "^5.0
|
|
79
|
-
"@vitest/browser-playwright": "^5.0
|
|
80
|
-
"@vitest/coverage-v8": "^5.0
|
|
81
|
-
"eslint": "^10.
|
|
82
|
-
"globals": "^17.
|
|
83
|
-
"playwright": "^1.
|
|
77
|
+
"@types/node": "^26.6.6",
|
|
78
|
+
"@vitest/browser": "^5.1.0",
|
|
79
|
+
"@vitest/browser-playwright": "^5.1.0",
|
|
80
|
+
"@vitest/coverage-v8": "^5.1.0",
|
|
81
|
+
"eslint": "^10.14.0",
|
|
82
|
+
"globals": "^17.14.0",
|
|
83
|
+
"playwright": "^1.65.0",
|
|
84
84
|
"tsup": "^9.0.0",
|
|
85
85
|
"tsx": "^4.23.15",
|
|
86
86
|
"typescript": "^6.0.3",
|
|
87
|
-
"typescript-eslint": "^8.72.
|
|
88
|
-
"vite": "^8.3.
|
|
89
|
-
"vitest": "^5.0
|
|
87
|
+
"typescript-eslint": "^8.72.2",
|
|
88
|
+
"vite": "^8.3.7",
|
|
89
|
+
"vitest": "^5.1.0"
|
|
90
90
|
},
|
|
91
91
|
"overrides": {
|
|
92
|
-
"esbuild": "^0.28.2"
|
|
92
|
+
"esbuild": "^0.28.2",
|
|
93
|
+
"minimatch": "^11.0.4"
|
|
93
94
|
}
|
|
94
95
|
}
|