@open-charging-cloud/wwcp-poi 0.3.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 +1155 -836
- package/README.md +88 -32
- package/dist/common.d.ts +11 -0
- package/dist/common.d.ts.map +1 -1
- package/dist/evTaler/contractTerms.d.ts +19 -0
- package/dist/evTaler/contractTerms.d.ts.map +1 -1
- package/dist/history/apply.d.ts.map +1 -1
- package/dist/history/changeSet.d.ts +12 -2
- package/dist/history/changeSet.d.ts.map +1 -1
- package/dist/history/commit.d.ts +8 -2
- package/dist/history/commit.d.ts.map +1 -1
- package/dist/history/preconditions.d.ts +3 -2
- package/dist/history/preconditions.d.ts.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +835 -324
- package/dist/index.js.map +1 -1
- package/dist/network/evTaler.d.ts +6 -0
- package/dist/network/evTaler.d.ts.map +1 -1
- package/dist/network/poiJSON.d.ts +4 -1
- package/dist/network/poiJSON.d.ts.map +1 -1
- package/dist/network/poiValues.d.ts +9 -2
- package/dist/network/poiValues.d.ts.map +1 -1
- package/dist/network/reading.d.ts +13 -1
- package/dist/network/reading.d.ts.map +1 -1
- package/dist/network/references.d.ts +10 -3
- package/dist/network/references.d.ts.map +1 -1
- package/dist/network/roamingNetwork.d.ts +7 -1
- package/dist/network/roamingNetwork.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/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 +3 -3
package/README.md
CHANGED
|
@@ -24,19 +24,19 @@ ML-DSA-44/65/87.
|
|
|
24
24
|
|
|
25
25
|
## Status
|
|
26
26
|
|
|
27
|
-
**0.
|
|
28
|
-
WWCP_POI3 does, in its words, and adds EV Taler phase
|
|
29
|
-
|
|
30
|
-
0.
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
27
|
+
**0.4.0 is prepared, not yet published to npm.** It identifies and signs change sets and commits as WWCP_POI3 writes
|
|
28
|
+
them again, reads every change as WWCP_POI3 does, in its words, and adds EV Taler phase 3, the web payment page and the
|
|
29
|
+
profile of contracts. See [the changelog](CHANGELOG.md#040-prepared-not-yet-published) for the changes and migration
|
|
30
|
+
requirements: versions and change sets 0.3.0 took are refused. Until then 0.3.0, published to npm on 8 November 2026,
|
|
31
|
+
is the latest release. The experimental profiles below remain experimental; a package release does not establish
|
|
32
|
+
production witness services or independently verified actual measurement time.
|
|
33
|
+
|
|
34
|
+
**Milestone 1: the examples of WWCP_POI, checked in TypeScript.** The examples A1 to A16 of
|
|
34
35
|
[WWCP_POI/examples](https://github.com/OpenChargingCloud/WWCP_POI/tree/master/examples) are checked from what the C#
|
|
35
36
|
examples publish, as their `Validate()` methods check them, and the same for proofs of charging stations the C#
|
|
36
|
-
implementation makes: in the tests from the run of WWCP_POI `
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
checked yet. See [Tests](#tests).
|
|
37
|
+
implementation makes: in the tests from the run of WWCP_POI `76d3653` vendored here, and every night from a new run of
|
|
38
|
+
WWCP_POI master, with new keys. EV Taler phase 2, which example A16 shows, is also checked on the proof of example A15
|
|
39
|
+
and probed against WWCP_POI3. See [Tests](#tests).
|
|
40
40
|
|
|
41
41
|
What a review of the C# implementation found while porting it is in
|
|
42
42
|
[docs/csharp-review.md of WWCPPOIConformanceTests](https://github.com/OpenChargingCloud/WWCPPOIConformanceTests/blob/master/docs/csharp-review.md),
|
|
@@ -207,15 +207,16 @@ epoch2.root.commit.id; // the published genesis of epoch 2, 128 hexadecimal d
|
|
|
207
207
|
| Canonical JSON, deterministic CBOR (Styx) | complete, including Styx's string escaping and decimals as `System.Decimal` holds them |
|
|
208
208
|
| Keys, thumbprints, signatures | EC2, OKP, AKP and RSA COSE keys, read in the words of WWCP_POI; all signature algorithms of section 4; the key usages `infrastructure`, `tariffs`, `priceStatements`, `models`, `software`, `certificates`, `payments`, `party` |
|
|
209
209
|
| Trust anchors | QR code (`WWCP/TA-2:` and Base45 of CBOR), URL and JSON forms, read and written; key statements followed by succession |
|
|
210
|
-
| Roaming networks | ETags `json`, `cbor`, `effectiveTree`; the roaming network operator, its key statement and certificates; the keys of every party and of the roaming network operator as WWCP_POI reads them, none twice, none both a signing and an identity key, no identity key naming usages; the identifications unique within the network (grid connection points, energy meters, parking entities, transparency software releases and certificates, energy meter templates and groups, groups of operators and providers, offers), each once, compared as the C# types compare them; transparency software releases and certificates identified under the manufacturer or body that has them (SPECIFICATION.md 4.1): its `@id`, a colon and a name without one, the prefix compared without case, also after a change set; hardware revisions, firmware versions and serial numbers as WWCP_POI reads them, not empty, no whitespace at either end, those of a model each once; certificates as WWCP_POI reads them, for exactly one model, with its versions and releases; the conformity assessment bodies issuing them as WWCP_POI reads them, a notified body number of four digits for one body only, the legislations they are notified for neither empty nor twice, in their ordinal order, a certificate only under one of them; the content as WWCP_POI writes it (SPECIFICATION.md 2): what it takes and writes otherwise is refused, as written again it would be another text than the one hashed (ordered lists out of their order or with untrimmed texts, lists it leaves out given empty or writes also empty left out, properties given as null, embedded objects naming a JSON-LD context, texts in languages not as Styx writes them or empty, timestamps not UTC to the millisecond, entities without their lastChange, parties without their name, identifications given as numbers, properties of keys and of EV Taler merchants and exchanges it does not read, their base URLs and currencies not as it writes them); the roaming network operator, its key statement and certificates, the tree hash algorithms and the identifications of entities in the words of WWCP_POI.; of every entity what its type in WWCP_POI3 neither writes nor reads, and values it writes otherwise (trimmed, with a scheme, in its case, coordinates as doubles, numbers, booleans and texts as their types, durations in whole ticks, opening times as Styx writes them, NUTS codes in upper case, countries of addresses by their alpha-3 codes), in the words of its written form since 3de830a ("the content leaves it out", "the content holds it as …"). Every entity WWCP_POI3 reads, as it reads it, refused in its words and order (`reading.ts`): JSON types, mandatory properties, values, identifications, names of enumerations, currencies, URLs, timestamps, texts in languages, data licenses, and what the constructor of each entity refuses of what it read; the references the constructor of the roaming network checks, with the identifications unique within it, in its order (`references.ts`): manufacturers, models, hardware revisions, firmware versions, releases, certificates, grid connection points, charging stations, parking spaces and maintainers the network has, stations and meters within what their models allow, no key of two parties; time zones of charging pools and their templates of a region of the IANA time zone database, as it writes them, which the platform knows; charging tariff offers of an operator not overlapping, in the time zones of their EVSEs, and of an e-mobility provider not made to overlap by a change set of it (`offers.ts`); measurement public keys and their certificates as WWCP_POI3 checks them with BouncyCastle (`measurementPublicKey.ts`): DER, RSA, EC of the 84 named curves BouncyCastle knows, Ed25519, Ed448, X25519, X448, DSA, ML-DSA, ML-KEM, SLH-DSA, each certificate issued by the next one. Taken as given, where WWCP_POI3 checks them: points on curves over binary fields, explicit curve parameters, keys of Diffie-Hellman, ElGamal, GOST and DSTU |
|
|
210
|
+
| Roaming networks | ETags `json`, `cbor`, `effectiveTree`; the roaming network operator, its key statement and certificates; the keys of every party and of the roaming network operator as WWCP_POI reads them, none twice, none both a signing and an identity key, no identity key naming usages; the identifications unique within the network (grid connection points, energy meters, parking entities, transparency software releases and certificates, energy meter templates and groups, groups of operators and providers, offers), each once, compared as the C# types compare them; transparency software releases and certificates identified under the manufacturer or body that has them (SPECIFICATION.md 4.1): its `@id`, a colon and a name without one, the prefix compared without case, also after a change set; hardware revisions, firmware versions and serial numbers as WWCP_POI reads them, not empty, no whitespace at either end, those of a model each once; certificates as WWCP_POI reads them, for exactly one model, with its versions and releases; the conformity assessment bodies issuing them as WWCP_POI reads them, a notified body number of four digits for one body only, the legislations they are notified for neither empty nor twice, in their ordinal order, a certificate only under one of them; the content as WWCP_POI writes it (SPECIFICATION.md 2): what it takes and writes otherwise is refused, as written again it would be another text than the one hashed (ordered lists out of their order or with untrimmed texts, lists it leaves out given empty or writes also empty left out, properties given as null, embedded objects naming a JSON-LD context, texts in languages not as Styx writes them or empty, timestamps not UTC to the millisecond, entities without their lastChange, parties without their name, identifications given as numbers, properties of keys and of EV Taler merchants and exchanges it does not read, their base URLs and currencies not as it writes them); the roaming network operator, its key statement and certificates, the tree hash algorithms and the identifications of entities in the words of WWCP_POI.; of every entity what its type in WWCP_POI3 neither writes nor reads, and values it writes otherwise (trimmed, with a scheme, in its case, coordinates as doubles, numbers, booleans and texts as their types, durations in whole ticks, opening times as Styx writes them, NUTS codes in upper case, countries of addresses by their alpha-3 codes, flags in the order of their values, each once, languages given by their numbers by their names), in the words of its written form since 3de830a ("the content leaves it out", "the content holds it as …"). Every entity WWCP_POI3 reads, as it reads it, refused in its words and order (`reading.ts`): JSON types, mandatory properties, values, identifications, names of enumerations, currencies, URLs, timestamps, texts in languages, data licenses, and what the constructor of each entity refuses of what it read; the references the constructor of the roaming network checks, with the identifications unique within it, in its order (`references.ts`): manufacturers, models, hardware revisions, firmware versions, releases, certificates, grid connection points, charging stations, parking spaces and maintainers the network has, stations and meters within what their models allow, no key of two parties; time zones of charging pools and their templates of a region of the IANA time zone database, as it writes them, which the platform knows; charging tariff offers of an operator not overlapping, in the time zones of their EVSEs, and of an e-mobility provider not made to overlap by a change set of it (`offers.ts`); measurement public keys and their certificates as WWCP_POI3 checks them with BouncyCastle (`measurementPublicKey.ts`): DER, RSA, EC of the 84 named curves BouncyCastle knows, Ed25519, Ed448, X25519, X448, DSA, ML-DSA, ML-KEM, SLH-DSA, each certificate issued by the next one. Taken as given, where WWCP_POI3 checks them: points on curves over binary fields, explicit curve parameters, keys of Diffie-Hellman, ElGamal, GOST and DSTU |
|
|
211
211
|
| Effective members (9.2) | EVSEs, charging stations, charging pools, charging tariffs, energy meters. Parking spaces and energy meters of grid connection points taking templates are refused, not calculated |
|
|
212
212
|
| Proofs (8.4), attestations (8.5) | complete, with the manufacturers and models of the station and its meters, the transparency software releases and certificates of the meters; subject attestations do not count for a whole proof; whether a proof gives a child array of an entity completely, and its size also where it gives some or none (`givesCompletely`, `sizeOf`) |
|
|
213
|
-
| Change sets (4) | `Add`, `Remove`, `UpdateProperty`, `RemoveProperty` of parties (charging station operators, e-mobility providers, grid and parking operators, charging station and energy meter manufacturers, transparency software manufacturers, conformity assessment bodies), the roaming network and its operator, of charging pools, stations, EVSEs, tariffs, templates and groups of charging station operators, energy meter templates and groups, models of manufacturers, transparency software releases and certificates, with their owners' signatures, quorum and proof of possession, and the properties a change set may change: not the version of a release, also not by removing it and adding it again; the `notifiedBodyNumber` and `notifiedFor` of a conformity assessment body by the roaming network operator only. The charging tariff offers of operators and providers, the groups of providers, the grid connection points of grid operators, the parking data of parking operators and the parking spaces of operators, owned by the party embedding them, a grid connection point by its maintainer. `AddElement`, `RemoveElement`, `ReplaceElement`, `UpdateElementProperty`, `RemoveElementProperty` of all of these, by their element path, as WWCP_POI3 applies them (`elements.ts`): as the change of the property of the entity their path starts with, owned and checked as that change, their old value compared with the element they address; keys and tree hash algorithms changed as a whole only. The properties of infrastructure a change set may change, as WWCP_POI3 names them. Preconditions as WWCP_POI3 checks them (`preconditions.ts`): the ETag an entity still has in the version a change set is applied to, over its representation as the roaming network embeds it, in JSON or CBOR, the entity found by its type and identification as its type compares it. Stamped as WWCP_POI 12e993a stamps it (S5): the lastChange of the network, of what it changes, adds and embeds, and the created of what it adds without one, are its createdAt, or the lastChange of the version it is applied to where that is later, so that no lastChange goes back; its keys are checked at its createdAt.
|
|
213
|
+
| Change sets (4) | `Add`, `Remove`, `UpdateProperty`, `RemoveProperty` of parties (charging station operators, e-mobility providers, grid and parking operators, charging station and energy meter manufacturers, transparency software manufacturers, conformity assessment bodies), the roaming network and its operator, of charging pools, stations, EVSEs, tariffs, templates and groups of charging station operators, energy meter templates and groups, models of manufacturers, transparency software releases and certificates, with their owners' signatures, quorum and proof of possession, and the properties a change set may change: not the version of a release, also not by removing it and adding it again; the `notifiedBodyNumber` and `notifiedFor` of a conformity assessment body by the roaming network operator only. The charging tariff offers of operators and providers, the groups of providers, the grid connection points of grid operators, the parking data of parking operators and the parking spaces of operators, owned by the party embedding them, a grid connection point by its maintainer. `AddElement`, `RemoveElement`, `ReplaceElement`, `UpdateElementProperty`, `RemoveElementProperty` of all of these, by their element path, as WWCP_POI3 applies them (`elements.ts`): as the change of the property of the entity their path starts with, owned and checked as that change, their old value compared with the element they address; keys and tree hash algorithms changed as a whole only. The properties of infrastructure a change set may change, as WWCP_POI3 names them. Preconditions as WWCP_POI3 checks them (`preconditions.ts`): the ETag an entity still has in the version a change set is applied to, over its representation as the roaming network embeds it, in JSON or CBOR, the entity found by its type and identification as its type compares it. A change is read as the C# implementation reads it, its texts and the segments of its element path, and refused as `Change N: …` in the words of its refusal, the same whether it is read or created; a change set is identified by its changes as the C# implementation writes them again: without the context of a change or of a segment, without an empty element path, its texts trimmed where it reads them trimmed. Stamped as WWCP_POI 12e993a stamps it (S5): the lastChange of the network, of what it changes, adds and embeds, and the created of what it adds without one, are its createdAt, or the lastChange of the version it is applied to where that is later, so that no lastChange goes back; its keys are checked at its createdAt. An old value no longer there is refused naming the value found, as its canonical JSON or `absent`, as the C# implementation names it. A new value not given as the content holds it is refused as the C# implementation refuses it (`TryHeldAsGiven`), after the party it changed is read again, naming what the content holds, or that it holds none. The party a change changed is read again right after the change, as the C# implementation reads it, and refused as `Change N: …` in its words, also where a later change would make it valid again; the groups, offers and payment options of charging station operators, the references and the identifications unique within the network are checked after the last change, as the C# implementation checks them there, in its words and order |
|
|
214
214
|
| Histories (5, 10, 11) | linear histories from snapshots, anchored in the trust anchor as a peer of WWCP_POI starts (10.5): a snapshot of a checkpoint by the checkpoint, signed as the roaming network operator, a snapshot of the head by its attestations, none without a trust anchor unless taken unanchored explicitly; its `effectiveLastChanges` read as WWCP_POI reads them, not taken, as the effective tree takes none (8.1); commits, checkpoints, their lines and signatures, signatures read as WWCP_POI reads them (texts trimmed, none empty), signed ones only with a verifier, checkpoints taken with the signatures that verify here, the others left out (S39), the roles they must be signed in (`requiredSignatureRoles`, `requiredCheckpointSignatureRoles`), a role of a commit only by a key its version lets sign in it (`keyMaySignIn`), the signatures of one key in one role counted once; proofs of commits, archive segments; epochs: their profiles, the final checkpoint, the genesis of the next epoch, its first checkpoint. Merges are not taken yet; no peer, no server |
|
|
215
215
|
| Price statements (12) | statements, chains, checkpoint trees and proofs in every epoch |
|
|
216
216
|
| Runtime status (12.5) | status updates, frames of the WebSocket, the runtime status of a snapshot. No WebSocket client: the app brings its own |
|
|
217
217
|
| QI-Digital documents | a proof of concept of WWCP_POI, as example A14 uses it: digital calibration certificates, digital certificates of conformity of a model or of the quality system of a manufacturer, digital declarations of conformity, read in the words of WWCP_POI and checked against a roaming network (the keys of their issuers, the models, the charging stations and energy meters as they are at runtime) and against each other (a declaration and the certificates it names, a certificate and the meter it covers). Their signature input is what WWCP_POI writes again of what it read, numbers without trailing zeros. Read and checked, not signed |
|
|
218
|
-
| EV Taler | phase 1 of WWCP_POI's concept of paying for charging with GNU Taler: the merchant of a charging station operator (`evTaler`), read and refused as WWCP_POI reads it, changed by a key that may sign `payments`; payment options an open set of names, none twice whatever its case; the payment option EVTaler of a charging pool or template only with a merchant; the EV Taler tariff of an EVSE and the exchanges in its currency, from the proof of its station (`evTalerTariffOf`, `evTalerExchangesAt`, `paymentOptionName`). Phase 2, as WWCP_POI c2d39e5 checks it (`src/evTaler`): the contract terms of the steps of a session (`EVTalerContractTerms`, version 0), their step in `extra.wwcp` (`EVTalerStep`), a `taler://pay` URI (`EVTalerPayURI`), checked against the proof of the station: the operator's merchant and exchanges, the EV Taler tariff of the EVSE (`evTalerTariff`), the price statement current when the session began, each step following the one before, from step 2 on the signed meter value at the start verified with a measurement key the proof gives by a transparency software passed in (`EVTalerMeterValueVerifier`; WWCP_POI reads no format of a meter), the amount of a step recalculated where the prices are of the simple profile (`EVTalerRates`), as System.Decimal calculates it (`NetDecimal`); the settlement statement (`EVTalerSettlement`), signed by the operator with a key for `payments`, refused without both signed meter values, its price recalculated. Nothing here takes or makes a payment, nor signs a settlement |
|
|
218
|
+
| EV Taler | phase 1 of WWCP_POI's concept of paying for charging with GNU Taler: the merchant of a charging station operator (`evTaler`), read and refused as WWCP_POI reads it, changed by a key that may sign `payments`; payment options an open set of names, none twice whatever its case; the payment option EVTaler of a charging pool or template only with a merchant, and of a charging pool as it is at runtime only with the authentication mode SecureDynamicQRCode (WWCP_POI 76d3653, decision D8), whose channels `BLE`, `Display` and `NFC` are read as WWCP_POI reads them; the EV Taler tariff of an EVSE and the exchanges in its currency, from the proof of its station (`evTalerTariffOf`, `evTalerExchangesAt`, `paymentOptionName`). Phase 2, as WWCP_POI c2d39e5 checks it (`src/evTaler`): the contract terms of the steps of a session (`EVTalerContractTerms`, version 0), their step in `extra.wwcp` (`EVTalerStep`), a `taler://pay` URI (`EVTalerPayURI`), checked against the proof of the station: the operator's merchant and exchanges, the EV Taler tariff of the EVSE (`evTalerTariff`), the price statement current when the session began, each step following the one before, from step 2 on the signed meter value at the start verified with a measurement key the proof gives by a transparency software passed in (`EVTalerMeterValueVerifier`; WWCP_POI reads no format of a meter), the amount of a step recalculated where the prices are of the simple profile (`EVTalerRates`), as System.Decimal calculates it (`NetDecimal`); the settlement statement (`EVTalerSettlement`), signed by the operator with a key for `payments`, refused without both signed meter values, its price recalculated. Phase 3, as WWCP_POI 62390ca takes it: where drivers ask the operator for offers (`offersURL` of its merchant), and what prices a session as the backend of an operator makes its steps (`evTalerSessionPrices`). Nothing here takes or makes a payment, nor signs a settlement |
|
|
219
|
+
| Web payment page | the URL where an EV driver pays ad hoc, without an e-mobility provider, and starts a session (`webPaymentURL`, WWCP_POI 848cc52), of a charging station operator, a charging pool, a charging station and their templates: read, written and refused as WWCP_POI reads it, taken by the members of a template without their own, changed by a key that may sign `payments`; a pool, a station or a template added with one, a pool by one of its stations as well, by a key that may sign `infrastructure` and `payments`. Not the URL in the dynamic QR code of a station, which is never part of the static data |
|
|
219
220
|
|
|
220
221
|
Whatever is not ported is refused with a `POIError` saying so, but for what the row of roaming networks names as not
|
|
221
222
|
yet ported: the library takes no other version the C# implementation refuses.
|
|
@@ -316,13 +317,16 @@ never edit them here, and its `VendoredCopiesTests` fail when these copies drift
|
|
|
316
317
|
of the specification, station proofs of its example network signed with its keys against a trust anchor, what to
|
|
317
318
|
calculate of the documents of the run below, documents to refuse, the QI-Digital documents of example A14 of that run
|
|
318
319
|
taken and refused as WWCP_POI checks them, small histories WWCPPOIConformanceTests signs itself, replayed step by
|
|
319
|
-
step,
|
|
320
|
+
step, the amounts of EV Taler (`poi-evtaler.json`: the rates of a charging tariff, what a step and a session cost),
|
|
321
|
+
and the verifier extensions (`poi-verifier.json`) checked against the fixtures of ChargyWebApp below as
|
|
320
322
|
WWCP_POI3 checks them (the format: the
|
|
321
323
|
[README of the vectors](https://github.com/OpenChargingCloud/WWCPPOIConformanceTests/blob/master/test-vectors/README.md));
|
|
322
|
-
- `tests/vectors/csharp-
|
|
323
|
-
(public data only; its output is `csharp-output.log` there),
|
|
324
|
-
the same history with the C# implementation: proofs of charging
|
|
325
|
-
head, revision 11 after the EV Taler merchant of example A15
|
|
324
|
+
- `tests/vectors/csharp-76d3653`, what one run of the C# examples A1 to A16 of WWCP_POI at commit `76d3653` published
|
|
325
|
+
(public data only; its output is `csharp-output.log` there), the EV Taler session of example A16 among it, and in
|
|
326
|
+
`proofs/`, what `proofs/MakeProofs.cs.txt` made of the same history with the C# implementation: proofs of charging
|
|
327
|
+
stations of epoch 2, the commits of epoch 2 up to the head, revision 11 after the EV Taler merchant of example A15 and
|
|
328
|
+
Jena Paradies naming EV Taler with a secure dynamic QR code, and
|
|
329
|
+
the ECDSA twin of a price statement;
|
|
326
330
|
- `tests/vectors/chargy-fc513cd`, the POI fixtures of ChargyWebApp at commit `fc513cd`, which `poi-verifier.json` names
|
|
327
331
|
its documents in: histories, prices, publications, sessions and trust transitions;
|
|
328
332
|
- `tests/vectors/chargy`, what WWCPPOIConformanceTests makes of them itself, which `poi-verifier.json` names with
|
|
@@ -342,9 +346,54 @@ never edit them here, and its `VendoredCopiesTests` fail when these copies drift
|
|
|
342
346
|
- `tests/qidigital.test.ts`: example A14, the QI-Digital documents of a meter as WWCP_POI signed them, and others signed
|
|
343
347
|
with the keys of section 6 of the specification, to change them at will.
|
|
344
348
|
- `tests/chargingStation.test.ts`, `tests/client.test.ts`: proofs of charging stations of epoch 2, as an app checks them.
|
|
349
|
+
- `tests/evTaler.test.ts`: EV Taler, phase 1 (WWCP_POI `ec3dace`): the merchant of a charging station operator and the
|
|
350
|
+
exchanges it accepts, where drivers ask for offers (phase 3, WWCP_POI `62390ca`), the payment option `EVTaler` and the
|
|
351
|
+
secure dynamic QR code it needs (WWCP_POI `76d3653`), keys that may sign `payments`, and the EV Taler tariff of an EVSE
|
|
352
|
+
as an app reads it from the proof of its station.
|
|
353
|
+
- `tests/evTalerSessions.test.ts`: EV Taler, phase 2 (WWCP_POI `c2d39e5`): the steps of a session in their contract
|
|
354
|
+
terms, checked against the station proof of example A15, the settlement statement, amounts as `System.Decimal`
|
|
355
|
+
calculates them, and what prices a session (phase 3, WWCP_POI `62390ca`).
|
|
356
|
+
- `tests/webPaymentURL.test.ts`: the web payment page of a charging station operator, a pool, a station and their
|
|
357
|
+
templates (WWCP_POI `848cc52`), signed by a key that may sign `payments`.
|
|
345
358
|
- `tests/replay.test.ts`: the whole history of `QA`, both epochs, commit by commit, with every checkpoint.
|
|
359
|
+
- `tests/snapshots.test.ts`: starting from a snapshot of the head or of a checkpoint, anchored in the trust anchor
|
|
360
|
+
alone (10.5), and signatures without a verifier (O3).
|
|
361
|
+
- `tests/epochAlgorithms.test.ts`: the algorithms the first checkpoint of a later epoch takes (11.3).
|
|
362
|
+
- `tests/signatureRoles.test.ts`: the roles a commit is signed in (S24), a checkpoint taken with the signatures that
|
|
363
|
+
verify (S39), how a signature is read, and what a proof gives of a child array (S29).
|
|
364
|
+
- `tests/lastChange.test.ts`: the `lastChange` of everything embedding a changed entity, which never goes back (S5).
|
|
346
365
|
- `tests/reading.test.ts`, `tests/references.test.ts`: `QA`, and `QA` with an entity of every kind
|
|
347
366
|
(`tests/richNetwork.ts`), changed as WWCP_POI3 at 89d2e02 refuses them, in its words.
|
|
367
|
+
- `tests/operator.test.ts`, `tests/partyKeys.test.ts`: the roaming network and its operator, its key statement and the
|
|
368
|
+
certificates of its signing keys, and the keys of the parties (D12), read as WWCP_POI3 reads them.
|
|
369
|
+
- `tests/writtenForm.test.ts`: the content as WWCP_POI writes it; what WWCP_POI3 takes and writes otherwise is refused.
|
|
370
|
+
- `tests/identifications.test.ts`, `tests/releaseIdentifications.test.ts`: identifications unique within the roaming
|
|
371
|
+
network, and releases and certificates identified under their owners (S36).
|
|
372
|
+
- `tests/certificates.test.ts`, `tests/releasesAndBodies.test.ts`: certificates of conformity, a release keeping its
|
|
373
|
+
version (S31), and what a conformity assessment body is notified for (S32).
|
|
374
|
+
- `tests/versionTexts.test.ts`: hardware revisions, firmware versions and serial numbers.
|
|
375
|
+
- `tests/chargingStationMeasurement.test.ts`: a charging station signing measurements itself, and the ISO 15118
|
|
376
|
+
certificate of an EVSE.
|
|
377
|
+
- `tests/measurementPublicKey.test.ts`: measurement public keys and their certificates, as BouncyCastle makes them.
|
|
378
|
+
- `tests/offers.test.ts`: charging tariff offers of one owner, which must not overlap (9.4).
|
|
379
|
+
- `tests/changeSet.test.ts`: change sets identified by their content, and a rebased one naming those it was rebased
|
|
380
|
+
from.
|
|
381
|
+
- `tests/changeReading.test.ts`: a change read as WWCP_POI3 reads it, refused after "Change N: ", and the changes a
|
|
382
|
+
change set is identified by.
|
|
383
|
+
- `tests/newValues.test.ts`, `tests/heldAsGiven.test.ts`, `tests/oldValues.test.ts`: new values given as the content
|
|
384
|
+
holds them, and old values no longer there, refused naming what the content holds.
|
|
385
|
+
- `tests/readAgain.test.ts`: what a change set changes, read again right after each change.
|
|
386
|
+
- `tests/elementChanges.test.ts`, `tests/embeddedChanges.test.ts`: changes of one element by its element path, and of
|
|
387
|
+
the entities a party embeds: charging tariff offers, groups of providers, grid connection points, parking data.
|
|
388
|
+
- `tests/infrastructureChanges.test.ts`: infrastructure named in every spelling its identification type considers
|
|
389
|
+
equal, and who must sign its change.
|
|
390
|
+
- `tests/preconditions.test.ts`: the ETag an entity must still have when a change set is applied.
|
|
391
|
+
- `tests/ownership.test.ts`, `tests/certificateStatedBy.test.ts`: the roaming network operator signing in place of a
|
|
392
|
+
party without signing keys (4.1), and who states a certificate.
|
|
393
|
+
- `tests/trustContext.test.ts`: local authorization and shared trust contexts, as above.
|
|
394
|
+
- `tests/measurementKeys.test.ts`, `tests/historicalMeasurements.test.ts`, `tests/sessionPrices.test.ts`,
|
|
395
|
+
`tests/observedVersions.test.ts`, `tests/trustTransitions.test.ts`, `tests/pricePublication.test.ts`: the APIs of
|
|
396
|
+
0.2.0 below, in the order of their sections; `tests/sessionPrices.test.ts` also the simple profile of gross rates.
|
|
348
397
|
- `tests/build/bundle.test.js`, `tests/browser/browser.test.ts`: the bundle and the browser, as above.
|
|
349
398
|
|
|
350
399
|
To check a run of your own of the C# examples, with its new keys:
|
|
@@ -421,7 +470,12 @@ generic algorithms (including Ed25519 and ML-DSA), usage/validity, entity/tariff
|
|
|
421
470
|
explicit selection. `SessionPriceAgreement` binds the exact original start document SHA-256, meter/EVSE, time, tariff,
|
|
422
471
|
statement digest, mode and binding/profile in a CPO signature. This is a CPO assertion, not customer consent. Unknown
|
|
423
472
|
agreements never authorize themselves. The experimental `chargy-gross-rates/v1` profile fixes unconditional gross rates
|
|
424
|
-
at start
|
|
473
|
+
at start: one element without restrictions, of an energy, a flat and a time component each once at most, energy and
|
|
474
|
+
time in a step size of at least one, a flat fee in none, as a FLAT price component has none - of a session paid ad hoc
|
|
475
|
+
(`adhoc`). The profile of contracts, `chargy-contract-gross-rates/v1`, fixes the same rates of a session started
|
|
476
|
+
through an e-mobility provider (`contract`): the price the CPO charges the provider. A charging mode of the other
|
|
477
|
+
profile is not established. What the provider charges its customer, variable bindings and unsupported restrictions stay
|
|
478
|
+
unproven.
|
|
425
479
|
|
|
426
480
|
Checkpoint authority is shared with historical meter verification. Price inclusion, `after` links/continuity, selected
|
|
427
481
|
statement identity and related checkpoint forks are checked separately. A later checkpoint never proves pre-start
|
|
@@ -492,8 +546,10 @@ signature encodings nor changed tariff definitions reuse another original's rece
|
|
|
492
546
|
|
|
493
547
|
## Publishing
|
|
494
548
|
|
|
495
|
-
Version 0.3.0 is
|
|
496
|
-
|
|
549
|
+
Version 0.3.0 is available on npm; 0.4.0 is prepared. The commands below are its release procedure. For a later
|
|
550
|
+
release, choose a new version and replace the version, tag and archive names below; published versions are immutable.
|
|
551
|
+
Update package.json, package-lock.json and the release notes, then validate the source and inspect the package before
|
|
552
|
+
approving a release:
|
|
497
553
|
|
|
498
554
|
```bash
|
|
499
555
|
npm ci
|
|
@@ -504,15 +560,15 @@ npm pack --dry-run
|
|
|
504
560
|
npm pack
|
|
505
561
|
```
|
|
506
562
|
|
|
507
|
-
After release approval,
|
|
508
|
-
|
|
509
|
-
|
|
563
|
+
After release approval, finalize this README and the changelog with the actual release status and date, rebuild and
|
|
564
|
+
check the final archive. Commit the reviewed release files, then tag and push that exact commit to each configured
|
|
565
|
+
remote:
|
|
510
566
|
|
|
511
567
|
```bash
|
|
512
|
-
git tag -s v0.
|
|
513
|
-
git push origin master v0.
|
|
514
|
-
git push git1 master v0.
|
|
515
|
-
git push git2 master v0.
|
|
568
|
+
git tag -s v0.4.0 -m "v0.4.0"
|
|
569
|
+
git push origin master v0.4.0
|
|
570
|
+
git push git1 master v0.4.0
|
|
571
|
+
git push git2 master v0.4.0
|
|
516
572
|
```
|
|
517
573
|
|
|
518
574
|
Publish the inspected archive only after that separate approval:
|
|
@@ -520,11 +576,11 @@ Publish the inspected archive only after that separate approval:
|
|
|
520
576
|
```bash
|
|
521
577
|
npm login
|
|
522
578
|
npm whoami
|
|
523
|
-
npm publish ./open-charging-cloud-wwcp-poi-0.
|
|
579
|
+
npm publish ./open-charging-cloud-wwcp-poi-0.4.0.tgz --access public
|
|
524
580
|
```
|
|
525
581
|
|
|
526
|
-
|
|
527
|
-
|
|
582
|
+
Consumers read [Migration](CHANGELOG.md#migration) and move to `@open-charging-cloud/wwcp-poi@^0.4.0`, which a range of
|
|
583
|
+
`^0.3.0` does not take, then refresh their lockfile and verify a clean install.
|
|
528
584
|
|
|
529
585
|
|
|
530
586
|
## License
|
package/dist/common.d.ts
CHANGED
|
@@ -40,4 +40,15 @@ export declare function nonemptyText(object: JSONObject, property: string): stri
|
|
|
40
40
|
export declare const timeOf: (at?: number | Date | string) => number;
|
|
41
41
|
/** The first text of a multilingual text, e.g. `{"en": "Quality Assurance"}`. */
|
|
42
42
|
export declare function firstText(i18n: JSONValue | undefined): string | undefined;
|
|
43
|
+
/**
|
|
44
|
+
* The given noun phrase with its indefinite article, as it is spoken before its first letter: "An EVSE group", "An
|
|
45
|
+
* e-mobility provider", "An ENERGY price component", "A public key", "A user interface feature". A, E, I and O take
|
|
46
|
+
* "an", every other letter "a" (`POIJSON.WithArticle` of WWCP_POI3).
|
|
47
|
+
*/
|
|
48
|
+
export declare const withArticle: (nounPhrase: string, capitalized?: boolean) => string;
|
|
49
|
+
/**
|
|
50
|
+
* A number, to say it in an error: without trailing zeros, e.g. "22000.5", not "22000.50" (`POIJSON.NumberText` of
|
|
51
|
+
* WWCP_POI3).
|
|
52
|
+
*/
|
|
53
|
+
export declare function numberText(value: Decimal): string;
|
|
43
54
|
//# sourceMappingURL=common.d.ts.map
|
package/dist/common.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../src/common.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,OAAO,EAAE,MAAwC,mBAAmB,CAAC;AAC9E,OAAO,EAA0B,KAAK,SAAS,EAAE,KAAK,UAAU,EAAE,KAAK,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAI1G,iFAAiF;AACjF,eAAO,MAAM,cAAc,+CAA+C,CAAC;AAM3E,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,UAAU,CAIpF;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,SAAS,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,CAIlF;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAKzF;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAOtG;AAED,0EAA0E;AAC1E,wBAAgB,cAAc,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,SAAI,EAAE,GAAG,SAA0B,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAKlI;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,SAAI,EAAE,GAAG,SAA0B,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAI/I;AAED,2CAA2C;AAC3C,wBAAgB,eAAe,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CASzF;AAED,qEAAqE;AACrE,wBAAgB,cAAc,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAIjG;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAIpF;AAQD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,SAAgB,GAAG,MAAM,CAezE;AAED,wCAAwC;AACxC,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAUvD;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAE5F;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAGzG;AAED,4GAA4G;AAC5G,wBAAgB,WAAW,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAUpF;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAIzF;AAED,qEAAqE;AACrE,wBAAgB,YAAY,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAGrF;AAED,mEAAmE;AACnE,eAAO,MAAM,MAAM,GAAI,KAAK,MAAM,GAAG,IAAI,GAAG,MAAM,KAAG,MAIT,CAAC;AAG7C,iFAAiF;AACjF,wBAAgB,SAAS,CAAC,IAAI,EAAE,SAAS,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAKzE"}
|
|
1
|
+
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../src/common.ts"],"names":[],"mappings":"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"}
|
|
@@ -98,6 +98,25 @@ export declare class EVTalerContractTerms {
|
|
|
98
98
|
*/
|
|
99
99
|
verify(station: VerifiedChargingStation, priceStatements: JSONValue, previous: EVTalerVerifiedStep | undefined, verifier: EVTalerMeterValueVerifier | undefined, payURI?: EVTalerPayURI): EVTalerVerifiedStep;
|
|
100
100
|
}
|
|
101
|
+
/** What prices a session at an EVSE (`EVTalerContractTerms.TryGetSessionPrices`): its tariff, a price statement, the elements. */
|
|
102
|
+
export interface EVTalerSessionPrices {
|
|
103
|
+
/** The EV Taler tariff of the EVSE, as the proof gives it. */
|
|
104
|
+
readonly tariff: JSONObject;
|
|
105
|
+
/** The price statement that prices the session, if any. */
|
|
106
|
+
readonly priceStatement?: VerifiedPrice;
|
|
107
|
+
/** The elements that price the session: of the price statement, else of the tariff. */
|
|
108
|
+
readonly elements: readonly JSONObject[];
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* What prices a session at the given EVSE that begins at the given time, as the backend of an operator makes its steps
|
|
112
|
+
* and `verify` checks them (`EVTalerContractTerms.TryGetSessionPrices` of WWCP_POI 62390ca, concepts/EVTaler.md 4.3): the
|
|
113
|
+
* EV Taler tariff of the EVSE, the price statement current then that prices it, the one of an EVSE before the one of the
|
|
114
|
+
* station before the one of its pool, if there is one, and the elements, of that statement or else of the tariff itself.
|
|
115
|
+
* Refused in the words of WWCP_POI where there is no EV Taler tariff or the price statements do not verify.
|
|
116
|
+
*
|
|
117
|
+
* @param priceStatements The price statements of the station, its pool and its EVSEs, as JSON.
|
|
118
|
+
*/
|
|
119
|
+
export declare function evTalerSessionPrices(station: VerifiedChargingStation, evseId: string, priceStatements: JSONValue, at: number | Date | string): EVTalerSessionPrices;
|
|
101
120
|
/**
|
|
102
121
|
* The EV Taler tariff of the given EVSE, as the proof gives its tariffs (`EVTalerContractTerms.TryGetEVTalerTariff`, 4.3):
|
|
103
122
|
* the first of the type AD_HOC_PAYMENT, else the first without a type, with a currency, naming no payment means or
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contractTerms.d.ts","sourceRoot":"","sources":["../../src/evTaler/contractTerms.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"contractTerms.d.ts","sourceRoot":"","sources":["../../src/evTaler/contractTerms.ts"],"names":[],"mappings":"AAmBA,OAAO,EAA0B,KAAK,UAAU,EAAE,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC3F,OAAO,EAAuC,KAAK,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAGlG,OAAO,EAAyB,KAAK,uBAAuB,EAAE,KAAK,aAAa,EAAE,MAAM,gCAAgC,CAAC;AACzH,OAAO,EAAE,YAAY,EAAE,UAAU,EAA8B,MAAM,cAAc,CAAC;AACpF,OAAO,EAAoB,KAAK,yBAAyB,EAAE,KAAK,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AACnH,OAAO,EAAe,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAOxC,iFAAiF;AACjF,eAAO,MAAM,mBAAmB;IAC5B,4IAA4I;;IAE5I,yHAAyH;;IAEzH,+FAA+F;;CAEzF,CAAC;AAEX,MAAM,MAAM,kBAAkB,GAAG,OAAO,mBAAmB,CAAC,MAAM,OAAO,mBAAmB,CAAC,CAAC;AAE9F,uHAAuH;AACvH,MAAM,WAAW,mBAAmB;IAChC,QAAQ,CAAC,KAAK,EAAY,oBAAoB,CAAC;IAC/C,QAAQ,CAAC,IAAI,EAAa,WAAW,CAAC;IACtC,sDAAsD;IACtD,QAAQ,CAAC,QAAQ,EAAS,eAAe,CAAC;IAC1C,8DAA8D;IAC9D,QAAQ,CAAC,MAAM,EAAW,UAAU,CAAC;IACrC,QAAQ,CAAC,QAAQ,EAAS,MAAM,CAAC;IACjC,2DAA2D;IAC3D,QAAQ,CAAC,cAAc,EAAG,aAAa,GAAG,SAAS,CAAC;IACpD,uFAAuF;IACvF,QAAQ,CAAC,QAAQ,EAAS,SAAS,UAAU,EAAE,CAAC;IAChD,kEAAkE;IAClE,QAAQ,CAAC,KAAK,EAAY,YAAY,GAAG,SAAS,CAAC;IACnD,oGAAoG;IACpG,QAAQ,CAAC,cAAc,EAAG,MAAM,CAAC;IACjC,2EAA2E;IAC3E,QAAQ,CAAC,SAAS,EAAQ,UAAU,GAAG,SAAS,CAAC;IACjD,gDAAgD;IAChD,QAAQ,CAAC,OAAO,EAAU,UAAU,GAAG,SAAS,CAAC;IACjD,0FAA0F;IAC1F,QAAQ,CAAC,OAAO,EAAU,UAAU,GAAG,SAAS,CAAC;IACjD,QAAQ,CAAC,WAAW,EAAM,kBAAkB,CAAC;IAC7C,qEAAqE;IACrE,QAAQ,CAAC,KAAK,EAAY,yBAAyB,GAAG,SAAS,CAAC;IAChE,iCAAiC;IACjC,QAAQ,CAAC,WAAW,EAAM,SAAS,MAAM,EAAE,CAAC;CAC/C;AAED,6EAA6E;AAC7E,MAAM,WAAW,uBAAuB;IACpC,QAAQ,CAAC,GAAG,EAAe,MAAM,CAAC;IAClC,QAAQ,CAAC,eAAe,EAAG,MAAM,CAAC;CACrC;AA8BD;;;GAGG;AACH,qBAAa,oBAAoB;IAGzB,oCAAoC;aACpB,IAAI,EAAgB,UAAU;aAC9B,OAAO,EAAa,MAAM;aAC1B,QAAQ,EAAY,MAAM;aAC1B,MAAM,EAAc,UAAU;IAC9C,6CAA6C;aAC7B,eAAe,EAAK,MAAM;IAC1C,gFAAgF;aAChE,iBAAiB,EAAG,MAAM;IAC1C,0CAA0C;aAC1B,SAAS,EAAW,SAAS,uBAAuB,EAAE;IACtE,qEAAqE;aACrD,SAAS,EAAW,MAAM;IAC1C,uCAAuC;aACvB,WAAW,EAAS,MAAM;IAC1C,2CAA2C;aAC3B,cAAc,EAAM,MAAM;IAC1C,yHAAyH;aACzG,UAAU,EAAU,MAAM,GAAG,SAAS;IACtD,sDAAsD;aACtC,IAAI,EAAgB,WAAW;IArBnD,OAAO;IAwBP;;;;OAIG;WACW,KAAK,CAAC,IAAI,EAAE,SAAS,GAAG,SAAS,GAAG,oBAAoB;IAkFtE;;;;;;;;;;;;;OAaG;IACI,MAAM,CAAC,OAAO,EAAW,uBAAuB,EACzC,eAAe,EAAG,SAAS,EAC3B,QAAQ,EAAU,mBAAmB,GAAG,SAAS,EACjD,QAAQ,EAAU,yBAAyB,GAAG,SAAS,EACvD,MAAM,CAAC,EAAW,aAAa,GAAG,mBAAmB;CAiKtE;AAGD,kIAAkI;AAClI,MAAM,WAAW,oBAAoB;IACjC,8DAA8D;IAC9D,QAAQ,CAAC,MAAM,EAAY,UAAU,CAAC;IACtC,2DAA2D;IAC3D,QAAQ,CAAC,cAAc,CAAC,EAAG,aAAa,CAAC;IACzC,uFAAuF;IACvF,QAAQ,CAAC,QAAQ,EAAU,SAAS,UAAU,EAAE,CAAC;CACpD;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,uBAAuB,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,oBAAoB,CAsBnK;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,uBAAuB,EAAE,MAAM,EAAE,MAAM,GAAG,UAAU,CAkB1F"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apply.d.ts","sourceRoot":"","sources":["../../src/history/apply.ts"],"names":[],"mappings":"AAsBA,OAAO,
|
|
1
|
+
{"version":3,"file":"apply.d.ts","sourceRoot":"","sources":["../../src/history/apply.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAiC,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAS7F,OAAO,EAAoD,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAs4DlG;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,cAAc,EAAE,SAAS,EAAE,SAAS,GAAG,IAAI,CAsNjF;AAuBD;;;GAGG;AACH;;;GAGG;AACH,wBAAgB,OAAO,CAAC,MAAM,EAAE,cAAc,EAAE,SAAS,EAAE,SAAS,GAAG,MAAM,CAI5E;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,cAAc,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,GAAE;IAAE,cAAc,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,cAAc,CAmHvI"}
|
|
@@ -4,13 +4,20 @@ import type { POIPublicKey } from '../keys.ts';
|
|
|
4
4
|
import { type Precondition } from './preconditions.ts';
|
|
5
5
|
/** The context of a change set, also of the signature input of its signatures (4). */
|
|
6
6
|
export declare const CHANGE_SET_CONTEXT: string;
|
|
7
|
+
/** The context of a change, where it is given; WWCP_POI3 writes a change within its change set without it. */
|
|
8
|
+
export declare const CHANGE_CONTEXT: string;
|
|
7
9
|
/** How the identification of the change set of a merge starts, which is identified by its parents, not by its content (5.3). */
|
|
8
10
|
export declare const MERGE_CHANGE_SET_ID_PREFIX = "merge-";
|
|
9
11
|
/**
|
|
10
12
|
* The identification of a change set by its content (4): the SHA-256 of its canonical JSON with its context, without
|
|
11
|
-
* `@id` and its signatures, as 64 lowercase hex digits, in every epoch.
|
|
13
|
+
* `@id` and its signatures, as 64 lowercase hex digits, in every epoch; of its content as WWCP_POI3 reads it (`asRead`).
|
|
12
14
|
*/
|
|
13
15
|
export declare function changeSetIdentification(json: JSONObject): string;
|
|
16
|
+
/**
|
|
17
|
+
* A change set as WWCP_POI3 writes it again (`ToJSON`), as its identification, its signatures and the identification and
|
|
18
|
+
* signatures of a commit embedding it are of it (`asRead`): its context and its signatures as given.
|
|
19
|
+
*/
|
|
20
|
+
export declare const changeSetAsWritten: (json: JSONObject) => JSONObject;
|
|
14
21
|
/** The kinds of changes (SPECIFICATION.md section 4). */
|
|
15
22
|
export type ChangeKind = 'Add' | 'Remove' | 'UpdateProperty' | 'RemoveProperty' | 'AddElement' | 'RemoveElement' | 'ReplaceElement' | 'UpdateElementProperty' | 'RemoveElementProperty';
|
|
16
23
|
/** The context of a segment of an element path, where it is given. */
|
|
@@ -66,7 +73,10 @@ export declare class ChangeSet {
|
|
|
66
73
|
static parse(value: JSONValue | undefined): ChangeSet;
|
|
67
74
|
/** The description in its first language. */
|
|
68
75
|
get description(): string | undefined;
|
|
69
|
-
/**
|
|
76
|
+
/**
|
|
77
|
+
* The signature input of one of its signatures (4): the context, its algorithm and key, and the change set without
|
|
78
|
+
* signatures, as WWCP_POI3 writes it again (`ToJSON(Embedded: true, IncludeSignatures: false)`), as it is identified.
|
|
79
|
+
*/
|
|
70
80
|
signingBytes(signature: ChangeSetSignature): Uint8Array;
|
|
71
81
|
/** Verifies one signature with the given key. */
|
|
72
82
|
verifySignature(signature: ChangeSetSignature, key: POIPublicKey): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"changeSet.d.ts","sourceRoot":"","sources":["../../src/history/changeSet.ts"],"names":[],"mappings":"AAmBA,OAAO,
|
|
1
|
+
{"version":3,"file":"changeSet.d.ts","sourceRoot":"","sources":["../../src/history/changeSet.ts"],"names":[],"mappings":"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"}
|
package/dist/history/commit.d.ts
CHANGED
|
@@ -64,9 +64,15 @@ export declare class Commit {
|
|
|
64
64
|
*/
|
|
65
65
|
static genesisOf(roamingNetworkId: string, eTags: JSONValue, epoch: Epoch): Commit;
|
|
66
66
|
static parse(value: JSONValue | undefined): Commit;
|
|
67
|
-
/**
|
|
67
|
+
/**
|
|
68
|
+
* What the identification is the digest of: the commit without `@id`, its signatures and those of its change set; its
|
|
69
|
+
* change set as WWCP_POI3 writes it again, as it identifies a commit over it (RoamingNetworkCommit.TryParse).
|
|
70
|
+
*/
|
|
68
71
|
identificationContent(): JSONObject;
|
|
69
|
-
/**
|
|
72
|
+
/**
|
|
73
|
+
* The commit as a signature of it signs it: with its `@context`, its `@id` and the signatures of its change set (5.4);
|
|
74
|
+
* its change set as WWCP_POI3 writes it again.
|
|
75
|
+
*/
|
|
70
76
|
signedContent(): JSONObject;
|
|
71
77
|
/** The signature input of one of its signatures (5.4). */
|
|
72
78
|
signingBytes(signature: RoleSignature): Uint8Array;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commit.d.ts","sourceRoot":"","sources":["../../src/history/commit.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAO,OAAO,EAAqB,KAAK,UAAU,EAAE,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAEpG,OAAO,EAAuC,KAAK,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAE5F,OAAO,EAAc,KAAK,IAAI,EAAE,MAAU,aAAa,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AAGvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAc,YAAY,CAAC;AAIvD,eAAO,MAAM,cAAc,QAAyD,CAAC;AACrF,eAAO,MAAM,wBAAwB,QAAwD,CAAC;AAG9F,iEAAiE;AACjE,eAAO,MAAM,cAAc;;;;;CAKjB,CAAC;AAGX,oIAAoI;AACpI,MAAM,WAAW,aAAa;IAC1B,QAAQ,CAAC,IAAI,EAAQ,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAM,MAAM,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,QAAQ,EAAI,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAG,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAO,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAO,MAAM,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAQ,UAAU,CAAC;CACnC;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,SAAS,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,aAAa,CAwB5F;AAED,0HAA0H;AAC1H,eAAO,MAAM,iBAAiB,GAAI,GAAG,aAAa,EAAE,GAAG,aAAa,KAAG,OACiF,CAAC;AAEzJ;;;GAGG;AACH,eAAO,MAAM,mBAAmB,GAAI,GAAG,aAAa,EAAE,GAAG,aAAa,KAAG,OAC7B,CAAC;AAE7C;;;GAGG;AACH,eAAO,MAAM,qBAAqB,GAAI,WAAW,aAAa,KAAG,MACqF,CAAC;AAEvJ,mHAAmH;AACnH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,UAAU,CAiB9H;AAGD;;;;;GAKG;AACH,qBAAa,MAAM;aAGK,EAAE,EAAmB,MAAM;aAC3B,gBAAgB,EAAK,MAAM;aAC3B,QAAQ,EAAa,MAAM;aAC3B,KAAK,EAAgB,SAAS,IAAI,EAAE;aACpC,KAAK,EAAgB,MAAM;aAC3B,SAAS,EAAY,SAAS,MAAM,EAAE;aACtC,SAAS,EAAY,UAAU,GAAG,SAAS;aAC3C,UAAU,EAAW,SAAS,aAAa,EAAE;aAC7C,kBAAkB,EAAG,aAAa;IAClD,4GAA4G;aAC5F,QAAQ,EAAa,aAAa,GAAG,SAAS;aAC9C,IAAI,EAAiB,UAAU;IAZnD,OAAO;IAgBP;;;;OAIG;WACW,SAAS,CAAC,gBAAgB,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,GAAG,MAAM;WAgB3E,KAAK,CAAC,KAAK,EAAE,SAAS,GAAG,SAAS,GAAG,MAAM;IAsGzD
|
|
1
|
+
{"version":3,"file":"commit.d.ts","sourceRoot":"","sources":["../../src/history/commit.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAO,OAAO,EAAqB,KAAK,UAAU,EAAE,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAEpG,OAAO,EAAuC,KAAK,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAE5F,OAAO,EAAc,KAAK,IAAI,EAAE,MAAU,aAAa,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AAGvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAc,YAAY,CAAC;AAIvD,eAAO,MAAM,cAAc,QAAyD,CAAC;AACrF,eAAO,MAAM,wBAAwB,QAAwD,CAAC;AAG9F,iEAAiE;AACjE,eAAO,MAAM,cAAc;;;;;CAKjB,CAAC;AAGX,oIAAoI;AACpI,MAAM,WAAW,aAAa;IAC1B,QAAQ,CAAC,IAAI,EAAQ,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAM,MAAM,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,QAAQ,EAAI,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAG,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAO,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAO,MAAM,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAQ,UAAU,CAAC;CACnC;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,SAAS,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,aAAa,CAwB5F;AAED,0HAA0H;AAC1H,eAAO,MAAM,iBAAiB,GAAI,GAAG,aAAa,EAAE,GAAG,aAAa,KAAG,OACiF,CAAC;AAEzJ;;;GAGG;AACH,eAAO,MAAM,mBAAmB,GAAI,GAAG,aAAa,EAAE,GAAG,aAAa,KAAG,OAC7B,CAAC;AAE7C;;;GAGG;AACH,eAAO,MAAM,qBAAqB,GAAI,WAAW,aAAa,KAAG,MACqF,CAAC;AAEvJ,mHAAmH;AACnH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,UAAU,CAiB9H;AAGD;;;;;GAKG;AACH,qBAAa,MAAM;aAGK,EAAE,EAAmB,MAAM;aAC3B,gBAAgB,EAAK,MAAM;aAC3B,QAAQ,EAAa,MAAM;aAC3B,KAAK,EAAgB,SAAS,IAAI,EAAE;aACpC,KAAK,EAAgB,MAAM;aAC3B,SAAS,EAAY,SAAS,MAAM,EAAE;aACtC,SAAS,EAAY,UAAU,GAAG,SAAS;aAC3C,UAAU,EAAW,SAAS,aAAa,EAAE;aAC7C,kBAAkB,EAAG,aAAa;IAClD,4GAA4G;aAC5F,QAAQ,EAAa,aAAa,GAAG,SAAS;aAC9C,IAAI,EAAiB,UAAU;IAZnD,OAAO;IAgBP;;;;OAIG;WACW,SAAS,CAAC,gBAAgB,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,GAAG,MAAM;WAgB3E,KAAK,CAAC,KAAK,EAAE,SAAS,GAAG,SAAS,GAAG,MAAM;IAsGzD;;;OAGG;IACI,qBAAqB,IAAI,UAAU;IAY1C;;;OAGG;IACI,aAAa,IAAI,UAAU;IAYlC,0DAA0D;IACnD,YAAY,CAAC,SAAS,EAAE,aAAa,GAAG,UAAU;IAIzD,8EAA8E;IACvE,eAAe,CAAC,SAAS,EAAE,aAAa,EAAE,GAAG,EAAE,YAAY,GAAG,IAAI;IASzE,gEAAgE;IAChE,IAAW,WAAW,IAAI,MAAM,GAAG,SAAS,CAG3C;IAED,+GAA+G;IACxG,cAAc,IAAI,UAAU;CAItC;AAED,OAAO,EAAE,OAAO,EAAE,CAAC"}
|
|
@@ -10,8 +10,9 @@ export interface Precondition {
|
|
|
10
10
|
}
|
|
11
11
|
/**
|
|
12
12
|
* The preconditions of a change set as WWCP_POI3 reads them (`RoamingNetworkPrecondition.TryParse`): an array of objects,
|
|
13
|
-
* each with its entity type and identification
|
|
14
|
-
* index of the precondition it
|
|
13
|
+
* each with its entity type and identification, texts trimmed as `ParseMandatoryText` reads them, also to nothing, which
|
|
14
|
+
* no entity has, and its ETag, written in hex; refused in its words, which name only the index of the precondition it
|
|
15
|
+
* does not read.
|
|
15
16
|
*/
|
|
16
17
|
export declare function parsePreconditions(value: JSONValue | undefined): Precondition[];
|
|
17
18
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preconditions.d.ts","sourceRoot":"","sources":["../../src/history/preconditions.ts"],"names":[],"mappings":"AAmBA,OAAO,EAA0B,KAAK,UAAU,EAAE,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE3F,OAAO,EAA6C,KAAK,IAAI,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"preconditions.d.ts","sourceRoot":"","sources":["../../src/history/preconditions.ts"],"names":[],"mappings":"AAmBA,OAAO,EAA0B,KAAK,UAAU,EAAE,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE3F,OAAO,EAA6C,KAAK,IAAI,EAAE,MAAM,aAAa,CAAC;AAcnF,wDAAwD;AACxD,eAAO,MAAM,oBAAoB,QAAoD,CAAC;AAEtF,wGAAwG;AACxG,MAAM,WAAW,YAAY;IACzB,QAAQ,CAAC,UAAU,EAAG,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAK,MAAM,CAAC;IAC7B,QAAQ,CAAC,IAAI,EAAS,IAAI,CAAC;CAC9B;AAGD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,SAAS,GAAG,SAAS,GAAG,YAAY,EAAE,CA+B/E;AAyGD;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,YAAY,EAAE,GAAG,MAAM,GAAG,SAAS,CAqBlH"}
|
package/dist/index.d.ts
CHANGED
|
@@ -58,7 +58,7 @@ export { EVTalerRates, NetDecimal, minorUnitDigits, roundToNearest, roundUp, tal
|
|
|
58
58
|
export { EVTalerSignedMeterValue, verifyMeterValue, type EVTalerMeasurementKey, type EVTalerMeterReading, type EVTalerMeterValueVerifier, type EVTalerVerifiedMeterValue } from './evTaler/meterValue.ts';
|
|
59
59
|
export { EVTalerCovers, EVTalerStep, EV_TALER_STEP_CONTEXT, isEVTalerSessionId, type EVTalerCoversUnit, type EVTalerStepData } from './evTaler/step.ts';
|
|
60
60
|
export { EVTalerPayURI, sameBaseURL } from './evTaler/payURI.ts';
|
|
61
|
-
export { EVTalerAmountChecks, EVTalerContractTerms, evTalerTariff, type EVTalerAmountCheck, type EVTalerContractExchange, type EVTalerVerifiedStep } from './evTaler/contractTerms.ts';
|
|
61
|
+
export { EVTalerAmountChecks, EVTalerContractTerms, evTalerSessionPrices, evTalerTariff, type EVTalerAmountCheck, type EVTalerContractExchange, type EVTalerSessionPrices, type EVTalerVerifiedStep } from './evTaler/contractTerms.ts';
|
|
62
62
|
export { EVTalerSettlement, EV_TALER_SETTLEMENT_CONTEXT, type EVTalerSettledOrder, type EVTalerSettlementVerification } from './evTaler/settlement.ts';
|
|
63
63
|
export { parseTrustedWitnesses, verifyCheckpointLine, verifyCheckpointSignatures, type CheckpointSignatures, type TrustedWitness } from './verifier/checkpoints.ts';
|
|
64
64
|
export { parseEvidence, verifyEvidence, type Evidence, type VerifiedEvidence } from './verifier/evidence.ts';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|