stated-protocol-parser 1.0.6 → 5.0.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/README.md +231 -22
- package/dist/constants.d.ts +193 -15
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +197 -20
- package/dist/constants.js.map +1 -1
- package/dist/esm/constants.d.ts +193 -15
- package/dist/esm/constants.d.ts.map +1 -1
- package/dist/esm/{hash.browser.d.ts → hash.d.ts} +11 -5
- package/dist/esm/hash.d.ts.map +1 -0
- package/dist/esm/index.d.ts +4 -42
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +2102 -641
- package/dist/esm/index.js.map +7 -1
- package/dist/esm/protocol.d.ts +30 -0
- package/dist/esm/protocol.d.ts.map +1 -0
- package/dist/esm/signature.d.ts +49 -0
- package/dist/esm/signature.d.ts.map +1 -0
- package/dist/esm/types.d.ts +26 -60
- package/dist/esm/types.d.ts.map +1 -1
- package/dist/esm/utils.d.ts +10 -0
- package/dist/esm/utils.d.ts.map +1 -1
- package/dist/{hash.browser.d.ts → hash.d.ts} +11 -5
- package/dist/hash.d.ts.map +1 -0
- package/dist/{hash.browser.js → hash.js} +44 -10
- package/dist/hash.js.map +1 -0
- package/dist/index.d.ts +4 -42
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -674
- package/dist/index.js.map +1 -1
- package/dist/protocol.d.ts +30 -0
- package/dist/protocol.d.ts.map +1 -0
- package/dist/protocol.js +677 -0
- package/dist/protocol.js.map +1 -0
- package/dist/signature.d.ts +49 -0
- package/dist/signature.d.ts.map +1 -0
- package/dist/signature.js +169 -0
- package/dist/signature.js.map +1 -0
- package/dist/types.d.ts +26 -60
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +27 -0
- package/dist/types.js.map +1 -1
- package/dist/utils.d.ts +10 -0
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +79 -11
- package/dist/utils.js.map +1 -1
- package/package.json +25 -16
- package/src/constants.ts +228 -44
- package/src/fixtures.test.ts +236 -0
- package/src/hash.test.ts +217 -215
- package/src/hash.ts +99 -0
- package/src/index.ts +5 -678
- package/src/organisation-verification.test.ts +50 -0
- package/src/person-verification.test.ts +55 -0
- package/src/poll.test.ts +28 -0
- package/src/protocol.ts +871 -0
- package/src/rating.test.ts +25 -0
- package/src/signature.test.ts +200 -0
- package/src/signature.ts +159 -0
- package/src/statement.test.ts +101 -0
- package/src/types.ts +155 -156
- package/src/utils.test.ts +140 -0
- package/src/utils.ts +102 -16
- package/dist/esm/constants.js +0 -47
- package/dist/esm/constants.js.map +0 -1
- package/dist/esm/hash.browser.d.ts.map +0 -1
- package/dist/esm/hash.browser.js +0 -58
- package/dist/esm/hash.browser.js.map +0 -1
- package/dist/esm/hash.node.d.ts +0 -31
- package/dist/esm/hash.node.d.ts.map +0 -1
- package/dist/esm/hash.node.js +0 -43
- package/dist/esm/hash.node.js.map +0 -1
- package/dist/esm/hash.test.d.ts +0 -2
- package/dist/esm/hash.test.d.ts.map +0 -1
- package/dist/esm/hash.test.js +0 -181
- package/dist/esm/hash.test.js.map +0 -1
- package/dist/esm/index.test.d.ts +0 -2
- package/dist/esm/index.test.d.ts.map +0 -1
- package/dist/esm/index.test.js +0 -293
- package/dist/esm/index.test.js.map +0 -1
- package/dist/esm/types.js +0 -2
- package/dist/esm/types.js.map +0 -1
- package/dist/esm/utils.js +0 -23
- package/dist/esm/utils.js.map +0 -1
- package/dist/esm/v3.d.ts +0 -5
- package/dist/esm/v3.d.ts.map +0 -1
- package/dist/esm/v3.js +0 -60
- package/dist/esm/v3.js.map +0 -1
- package/dist/hash.browser.d.ts.map +0 -1
- package/dist/hash.browser.js.map +0 -1
- package/dist/hash.node.d.ts +0 -31
- package/dist/hash.node.d.ts.map +0 -1
- package/dist/hash.node.js +0 -53
- package/dist/hash.node.js.map +0 -1
- package/dist/hash.test.d.ts +0 -2
- package/dist/hash.test.d.ts.map +0 -1
- package/dist/hash.test.js +0 -183
- package/dist/hash.test.js.map +0 -1
- package/dist/index.test.d.ts +0 -2
- package/dist/index.test.d.ts.map +0 -1
- package/dist/index.test.js +0 -295
- package/dist/index.test.js.map +0 -1
- package/dist/v3.d.ts +0 -5
- package/dist/v3.d.ts.map +0 -1
- package/dist/v3.js +0 -64
- package/dist/v3.js.map +0 -1
- package/src/hash.browser.ts +0 -65
- package/src/hash.node.ts +0 -47
- package/src/index.test.ts +0 -378
- package/src/v3.ts +0 -62
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"protocol.js","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Universal signature utilities using @noble/ed25519
|
|
3
|
+
* Works in both browser and Node.js environments
|
|
4
|
+
*/
|
|
5
|
+
import type { CryptographicallySignedStatement } from './types';
|
|
6
|
+
/**
|
|
7
|
+
* Generate a new Ed25519 key pair for signing statements
|
|
8
|
+
* @returns Object containing publicKey and privateKey as URL-safe base64
|
|
9
|
+
*/
|
|
10
|
+
export declare const generateKeyPair: () => Promise<{
|
|
11
|
+
publicKey: string;
|
|
12
|
+
privateKey: string;
|
|
13
|
+
}>;
|
|
14
|
+
/**
|
|
15
|
+
* Sign a statement with a private key
|
|
16
|
+
* @param statement - The statement text to sign
|
|
17
|
+
* @param privateKeyUrlSafe - Private key in URL-safe base64 format
|
|
18
|
+
* @returns URL-safe base64-encoded signature
|
|
19
|
+
*/
|
|
20
|
+
export declare const signStatement: (statement: string, privateKeyUrlSafe: string) => Promise<string>;
|
|
21
|
+
/**
|
|
22
|
+
* Verify a statement signature
|
|
23
|
+
* @param statement - The statement text that was signed
|
|
24
|
+
* @param signatureUrlSafe - URL-safe base64-encoded signature
|
|
25
|
+
* @param publicKeyUrlSafe - Public key in URL-safe base64 format
|
|
26
|
+
* @returns true if signature is valid, false otherwise
|
|
27
|
+
*/
|
|
28
|
+
export declare const verifySignature: (statement: string, signatureUrlSafe: string, publicKeyUrlSafe: string) => Promise<boolean>;
|
|
29
|
+
/**
|
|
30
|
+
* Build a signed statement
|
|
31
|
+
* @param statement - The statement text to sign
|
|
32
|
+
* @param privateKeyUrlSafe - Private key in URL-safe base64 format
|
|
33
|
+
* @param publicKeyUrlSafe - Public key in URL-safe base64 format
|
|
34
|
+
* @returns Signed statement with appended signature fields
|
|
35
|
+
*/
|
|
36
|
+
export declare const buildSignedStatement: (statement: string, privateKeyUrlSafe: string, publicKeyUrlSafe: string) => Promise<string>;
|
|
37
|
+
/**
|
|
38
|
+
* Parse a signed statement
|
|
39
|
+
* @param signedStatement - The signed statement text
|
|
40
|
+
* @returns Parsed CryptographicallySignedStatement object or null if invalid
|
|
41
|
+
*/
|
|
42
|
+
export declare const parseSignedStatement: (signedStatement: string) => CryptographicallySignedStatement | null;
|
|
43
|
+
/**
|
|
44
|
+
* Verify a signed statement
|
|
45
|
+
* @param signedStatement - The signed statement text
|
|
46
|
+
* @returns true if signature is valid, false otherwise
|
|
47
|
+
*/
|
|
48
|
+
export declare const verifySignedStatement: (signedStatement: string) => Promise<boolean>;
|
|
49
|
+
//# sourceMappingURL=signature.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signature.d.ts","sourceRoot":"","sources":["../src/signature.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,SAAS,CAAC;AAOhE;;;GAGG;AACH,eAAO,MAAM,eAAe,QAAa,OAAO,CAAC;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAQzF,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,aAAa,GACxB,WAAW,MAAM,EACjB,mBAAmB,MAAM,KACxB,OAAO,CAAC,MAAM,CAOhB,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,GAC1B,WAAW,MAAM,EACjB,kBAAkB,MAAM,EACxB,kBAAkB,MAAM,KACvB,OAAO,CAAC,OAAO,CAUjB,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,GAC/B,WAAW,MAAM,EACjB,mBAAmB,MAAM,EACzB,kBAAkB,MAAM,KACvB,OAAO,CAAC,MAAM,CAWhB,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,GAC/B,iBAAiB,MAAM,KACtB,gCAAgC,GAAG,IA+BrC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,GAAU,iBAAiB,MAAM,KAAG,OAAO,CAAC,OAAO,CAKpF,CAAC"}
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Universal signature utilities using @noble/ed25519
|
|
4
|
+
* Works in both browser and Node.js environments
|
|
5
|
+
*/
|
|
6
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
7
|
+
if (k2 === undefined) k2 = k;
|
|
8
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
9
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
10
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
11
|
+
}
|
|
12
|
+
Object.defineProperty(o, k2, desc);
|
|
13
|
+
}) : (function(o, m, k, k2) {
|
|
14
|
+
if (k2 === undefined) k2 = k;
|
|
15
|
+
o[k2] = m[k];
|
|
16
|
+
}));
|
|
17
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
18
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
19
|
+
}) : function(o, v) {
|
|
20
|
+
o["default"] = v;
|
|
21
|
+
});
|
|
22
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
23
|
+
var ownKeys = function(o) {
|
|
24
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
25
|
+
var ar = [];
|
|
26
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
27
|
+
return ar;
|
|
28
|
+
};
|
|
29
|
+
return ownKeys(o);
|
|
30
|
+
};
|
|
31
|
+
return function (mod) {
|
|
32
|
+
if (mod && mod.__esModule) return mod;
|
|
33
|
+
var result = {};
|
|
34
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
35
|
+
__setModuleDefault(result, mod);
|
|
36
|
+
return result;
|
|
37
|
+
};
|
|
38
|
+
})();
|
|
39
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
40
|
+
exports.verifySignedStatement = exports.parseSignedStatement = exports.buildSignedStatement = exports.verifySignature = exports.signStatement = exports.generateKeyPair = void 0;
|
|
41
|
+
const ed = __importStar(require("@noble/ed25519"));
|
|
42
|
+
const sha2_js_1 = require("@noble/hashes/sha2.js");
|
|
43
|
+
const hash_1 = require("./hash");
|
|
44
|
+
// Set up sha512 for @noble/ed25519
|
|
45
|
+
ed.hashes.sha512 = (message) => (0, sha2_js_1.sha512)(message);
|
|
46
|
+
const ALGORITHM = 'Ed25519'; // Fully specifies: EdDSA signature scheme with Curve25519
|
|
47
|
+
/**
|
|
48
|
+
* Generate a new Ed25519 key pair for signing statements
|
|
49
|
+
* @returns Object containing publicKey and privateKey as URL-safe base64
|
|
50
|
+
*/
|
|
51
|
+
const generateKeyPair = async () => {
|
|
52
|
+
const privateKey = ed.utils.randomSecretKey();
|
|
53
|
+
const publicKey = await ed.getPublicKey(privateKey);
|
|
54
|
+
return {
|
|
55
|
+
publicKey: (0, hash_1.toUrlSafeBase64)(bytesToBase64(publicKey)),
|
|
56
|
+
privateKey: (0, hash_1.toUrlSafeBase64)(bytesToBase64(privateKey)),
|
|
57
|
+
};
|
|
58
|
+
};
|
|
59
|
+
exports.generateKeyPair = generateKeyPair;
|
|
60
|
+
/**
|
|
61
|
+
* Sign a statement with a private key
|
|
62
|
+
* @param statement - The statement text to sign
|
|
63
|
+
* @param privateKeyUrlSafe - Private key in URL-safe base64 format
|
|
64
|
+
* @returns URL-safe base64-encoded signature
|
|
65
|
+
*/
|
|
66
|
+
const signStatement = async (statement, privateKeyUrlSafe) => {
|
|
67
|
+
const privateKeyBytes = (0, hash_1.base64ToBytes)((0, hash_1.fromUrlSafeBase64)(privateKeyUrlSafe));
|
|
68
|
+
const messageBytes = new TextEncoder().encode(statement);
|
|
69
|
+
const signature = await ed.sign(messageBytes, privateKeyBytes);
|
|
70
|
+
return (0, hash_1.toUrlSafeBase64)(bytesToBase64(signature));
|
|
71
|
+
};
|
|
72
|
+
exports.signStatement = signStatement;
|
|
73
|
+
/**
|
|
74
|
+
* Verify a statement signature
|
|
75
|
+
* @param statement - The statement text that was signed
|
|
76
|
+
* @param signatureUrlSafe - URL-safe base64-encoded signature
|
|
77
|
+
* @param publicKeyUrlSafe - Public key in URL-safe base64 format
|
|
78
|
+
* @returns true if signature is valid, false otherwise
|
|
79
|
+
*/
|
|
80
|
+
const verifySignature = async (statement, signatureUrlSafe, publicKeyUrlSafe) => {
|
|
81
|
+
try {
|
|
82
|
+
const publicKeyBytes = (0, hash_1.base64ToBytes)((0, hash_1.fromUrlSafeBase64)(publicKeyUrlSafe));
|
|
83
|
+
const signatureBytes = (0, hash_1.base64ToBytes)((0, hash_1.fromUrlSafeBase64)(signatureUrlSafe));
|
|
84
|
+
const messageBytes = new TextEncoder().encode(statement);
|
|
85
|
+
return await ed.verify(signatureBytes, messageBytes, publicKeyBytes);
|
|
86
|
+
}
|
|
87
|
+
catch (error) {
|
|
88
|
+
return false;
|
|
89
|
+
}
|
|
90
|
+
};
|
|
91
|
+
exports.verifySignature = verifySignature;
|
|
92
|
+
/**
|
|
93
|
+
* Build a signed statement
|
|
94
|
+
* @param statement - The statement text to sign
|
|
95
|
+
* @param privateKeyUrlSafe - Private key in URL-safe base64 format
|
|
96
|
+
* @param publicKeyUrlSafe - Public key in URL-safe base64 format
|
|
97
|
+
* @returns Signed statement with appended signature fields
|
|
98
|
+
*/
|
|
99
|
+
const buildSignedStatement = async (statement, privateKeyUrlSafe, publicKeyUrlSafe) => {
|
|
100
|
+
const statementHash = (0, hash_1.sha256)(statement);
|
|
101
|
+
const signature = await (0, exports.signStatement)(statement, privateKeyUrlSafe);
|
|
102
|
+
return (statement +
|
|
103
|
+
`---\n` +
|
|
104
|
+
`Statement hash: ${statementHash}\n` +
|
|
105
|
+
`Public key: ${publicKeyUrlSafe}\n` +
|
|
106
|
+
`Signature: ${signature}\n` +
|
|
107
|
+
`Algorithm: ${ALGORITHM}\n`);
|
|
108
|
+
};
|
|
109
|
+
exports.buildSignedStatement = buildSignedStatement;
|
|
110
|
+
/**
|
|
111
|
+
* Parse a signed statement
|
|
112
|
+
* @param signedStatement - The signed statement text
|
|
113
|
+
* @returns Parsed CryptographicallySignedStatement object or null if invalid
|
|
114
|
+
*/
|
|
115
|
+
const parseSignedStatement = (signedStatement) => {
|
|
116
|
+
const regex = /^([\s\S]+?)---\nStatement hash: ([A-Za-z0-9_-]+)\nPublic key: ([A-Za-z0-9_-]+)\nSignature: ([A-Za-z0-9_-]+)\nAlgorithm: ([^\n]+)\n$/;
|
|
117
|
+
const match = signedStatement.match(regex);
|
|
118
|
+
if (!match)
|
|
119
|
+
return null;
|
|
120
|
+
const statement = match[1];
|
|
121
|
+
const statementHash = match[2];
|
|
122
|
+
const publicKey = match[3];
|
|
123
|
+
const signature = match[4];
|
|
124
|
+
const algorithm = match[5];
|
|
125
|
+
// Verify statement hash matches
|
|
126
|
+
const computedHash = (0, hash_1.sha256)(statement);
|
|
127
|
+
if (computedHash !== statementHash) {
|
|
128
|
+
return null;
|
|
129
|
+
}
|
|
130
|
+
// Verify algorithm is supported
|
|
131
|
+
if (algorithm !== ALGORITHM) {
|
|
132
|
+
return null;
|
|
133
|
+
}
|
|
134
|
+
return {
|
|
135
|
+
statement,
|
|
136
|
+
publicKey,
|
|
137
|
+
signature,
|
|
138
|
+
statementHash,
|
|
139
|
+
algorithm,
|
|
140
|
+
};
|
|
141
|
+
};
|
|
142
|
+
exports.parseSignedStatement = parseSignedStatement;
|
|
143
|
+
/**
|
|
144
|
+
* Verify a signed statement
|
|
145
|
+
* @param signedStatement - The signed statement text
|
|
146
|
+
* @returns true if signature is valid, false otherwise
|
|
147
|
+
*/
|
|
148
|
+
const verifySignedStatement = async (signedStatement) => {
|
|
149
|
+
const parsed = (0, exports.parseSignedStatement)(signedStatement);
|
|
150
|
+
if (!parsed)
|
|
151
|
+
return false;
|
|
152
|
+
return await (0, exports.verifySignature)(parsed.statement, parsed.signature, parsed.publicKey);
|
|
153
|
+
};
|
|
154
|
+
exports.verifySignedStatement = verifySignedStatement;
|
|
155
|
+
/**
|
|
156
|
+
* Convert bytes to base64 string
|
|
157
|
+
* @param bytes - Uint8Array to convert
|
|
158
|
+
* @returns Base64 string
|
|
159
|
+
*/
|
|
160
|
+
function bytesToBase64(bytes) {
|
|
161
|
+
// Use btoa if available (browser), otherwise use Buffer (Node.js)
|
|
162
|
+
if (typeof btoa !== 'undefined') {
|
|
163
|
+
return btoa(String.fromCharCode(...Array.from(bytes)));
|
|
164
|
+
}
|
|
165
|
+
else {
|
|
166
|
+
return Buffer.from(bytes).toString('base64');
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
//# sourceMappingURL=signature.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signature.js","sourceRoot":"","sources":["../src/signature.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -1,4 +1,10 @@
|
|
|
1
|
-
|
|
1
|
+
import type { SupportedLanguage } from './constants';
|
|
2
|
+
export type LegalForm = 'local government' | 'state government' | 'foreign affairs ministry' | 'corporation';
|
|
3
|
+
export type PeopleCountBucket = '0-10' | '10-100' | '100-1000' | '1000-10,000' | '10,000-100,000' | '100,000+' | '1,000,000+' | '10,000,000+';
|
|
4
|
+
export declare function isLegalForm(value: string): value is LegalForm;
|
|
5
|
+
export declare function isPeopleCountBucket(value: string): value is PeopleCountBucket;
|
|
6
|
+
export declare function isRatingValue(value: number): value is RatingValue;
|
|
7
|
+
export type StatementTypeValue = 'statement' | 'organisation_verification' | 'person_verification' | 'poll' | 'vote' | 'response' | 'dispute_statement_content' | 'dispute_statement_authenticity' | 'rating' | 'sign_pdf';
|
|
2
8
|
export type Statement = {
|
|
3
9
|
domain: string;
|
|
4
10
|
author: string;
|
|
@@ -8,52 +14,42 @@ export type Statement = {
|
|
|
8
14
|
representative?: string;
|
|
9
15
|
supersededStatement?: string;
|
|
10
16
|
formatVersion?: string;
|
|
17
|
+
translations?: Partial<Record<SupportedLanguage, string>>;
|
|
18
|
+
attachments?: string[];
|
|
11
19
|
};
|
|
12
|
-
export type
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
paraphrasedStatement?: string;
|
|
19
|
-
picture?: string;
|
|
20
|
-
confidence?: string;
|
|
20
|
+
export type CryptographicallySignedStatement = {
|
|
21
|
+
statement: string;
|
|
22
|
+
statementHash: string;
|
|
23
|
+
publicKey: string;
|
|
24
|
+
signature: string;
|
|
25
|
+
algorithm: string;
|
|
21
26
|
};
|
|
22
27
|
export type Poll = {
|
|
23
|
-
country: string | undefined;
|
|
24
|
-
city: string | undefined;
|
|
25
|
-
legalEntity: string | undefined;
|
|
26
|
-
domainScope: string[] | undefined;
|
|
27
|
-
judges?: string;
|
|
28
28
|
deadline: Date | undefined;
|
|
29
29
|
poll: string;
|
|
30
30
|
scopeDescription?: string;
|
|
31
|
-
scopeQueryLink?: string;
|
|
32
31
|
options: string[];
|
|
33
32
|
allowArbitraryVote?: boolean;
|
|
34
|
-
requiredProperty?: string;
|
|
35
|
-
requiredPropertyValue?: string;
|
|
36
|
-
requiredPropertyObserver?: string;
|
|
37
|
-
requiredMinConfidence?: number;
|
|
38
33
|
};
|
|
39
34
|
export type OrganisationVerification = {
|
|
40
35
|
name: string;
|
|
41
36
|
englishName?: string;
|
|
42
37
|
country: string;
|
|
43
|
-
city
|
|
44
|
-
province
|
|
45
|
-
legalForm:
|
|
38
|
+
city?: string;
|
|
39
|
+
province?: string;
|
|
40
|
+
legalForm: LegalForm;
|
|
46
41
|
department?: string;
|
|
47
42
|
domain: string;
|
|
48
|
-
foreignDomain
|
|
49
|
-
serialNumber
|
|
43
|
+
foreignDomain?: string;
|
|
44
|
+
serialNumber?: string;
|
|
50
45
|
confidence?: number;
|
|
51
46
|
reliabilityPolicy?: string;
|
|
52
|
-
employeeCount?:
|
|
47
|
+
employeeCount?: PeopleCountBucket;
|
|
53
48
|
pictureHash?: string;
|
|
54
49
|
latitude?: number;
|
|
55
50
|
longitude?: number;
|
|
56
|
-
population?:
|
|
51
|
+
population?: PeopleCountBucket;
|
|
52
|
+
publicKey?: string;
|
|
57
53
|
};
|
|
58
54
|
export type withOwnDomain = {
|
|
59
55
|
ownDomain: string;
|
|
@@ -74,6 +70,7 @@ export type PersonVerification = {
|
|
|
74
70
|
confidence?: number;
|
|
75
71
|
picture?: string;
|
|
76
72
|
reliabilityPolicy?: string;
|
|
73
|
+
publicKey?: string;
|
|
77
74
|
} & (withOwnDomain | withForeignDomain);
|
|
78
75
|
export type Vote = {
|
|
79
76
|
pollHash: string;
|
|
@@ -98,12 +95,13 @@ export type PDFSigning = {
|
|
|
98
95
|
hash: string;
|
|
99
96
|
};
|
|
100
97
|
export type RatingSubjectTypeValue = 'Organisation' | 'Policy proposal' | 'Treaty draft' | 'Research publication' | 'Regulation' | 'Product';
|
|
98
|
+
export type RatingValue = 1 | 2 | 3 | 4 | 5;
|
|
101
99
|
export type Rating = {
|
|
102
100
|
subjectType?: RatingSubjectTypeValue;
|
|
103
101
|
subjectName: string;
|
|
104
102
|
subjectReference?: string;
|
|
105
103
|
documentFileHash?: string;
|
|
106
|
-
rating:
|
|
104
|
+
rating: RatingValue;
|
|
107
105
|
quality?: string;
|
|
108
106
|
comment?: string;
|
|
109
107
|
};
|
|
@@ -114,36 +112,4 @@ export type Bounty = {
|
|
|
114
112
|
judge: string;
|
|
115
113
|
judgePay?: string;
|
|
116
114
|
};
|
|
117
|
-
export type Observation = {
|
|
118
|
-
description?: string;
|
|
119
|
-
approach?: string;
|
|
120
|
-
confidence?: number;
|
|
121
|
-
reliabilityPolicy?: string;
|
|
122
|
-
subject: string;
|
|
123
|
-
subjectReference?: string;
|
|
124
|
-
observationReference?: string;
|
|
125
|
-
property: string;
|
|
126
|
-
value?: string;
|
|
127
|
-
};
|
|
128
|
-
export type PollV3 = {
|
|
129
|
-
country: string | undefined;
|
|
130
|
-
city: string | undefined;
|
|
131
|
-
legalEntity: string | undefined;
|
|
132
|
-
domainScope: string[] | undefined;
|
|
133
|
-
judges?: string;
|
|
134
|
-
deadline: Date;
|
|
135
|
-
poll: string;
|
|
136
|
-
scopeDescription?: string;
|
|
137
|
-
scopeQueryLink?: string;
|
|
138
|
-
scopeProperty?: string;
|
|
139
|
-
propertyScopeObserver?: string;
|
|
140
|
-
pollType?: string;
|
|
141
|
-
options: string[];
|
|
142
|
-
};
|
|
143
|
-
export type Boycott = {
|
|
144
|
-
description?: string;
|
|
145
|
-
reliabilityPolicy?: string;
|
|
146
|
-
subject: string;
|
|
147
|
-
subjectReference?: string;
|
|
148
|
-
};
|
|
149
115
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js
CHANGED
|
@@ -1,3 +1,30 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isLegalForm = isLegalForm;
|
|
4
|
+
exports.isPeopleCountBucket = isPeopleCountBucket;
|
|
5
|
+
exports.isRatingValue = isRatingValue;
|
|
6
|
+
// Type guards
|
|
7
|
+
function isLegalForm(value) {
|
|
8
|
+
return [
|
|
9
|
+
'local government',
|
|
10
|
+
'state government',
|
|
11
|
+
'foreign affairs ministry',
|
|
12
|
+
'corporation',
|
|
13
|
+
].includes(value);
|
|
14
|
+
}
|
|
15
|
+
function isPeopleCountBucket(value) {
|
|
16
|
+
return [
|
|
17
|
+
'0-10',
|
|
18
|
+
'10-100',
|
|
19
|
+
'100-1000',
|
|
20
|
+
'1000-10,000',
|
|
21
|
+
'10,000-100,000',
|
|
22
|
+
'100,000+',
|
|
23
|
+
'1,000,000+',
|
|
24
|
+
'10,000,000+',
|
|
25
|
+
].includes(value);
|
|
26
|
+
}
|
|
27
|
+
function isRatingValue(value) {
|
|
28
|
+
return [1, 2, 3, 4, 5].includes(value);
|
|
29
|
+
}
|
|
3
30
|
//# sourceMappingURL=types.js.map
|
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;AAmBA,kCAOC;AAED,kDAWC;AAED,sCAEC;AAzBD,cAAc;AACd,SAAgB,WAAW,CAAC,KAAa;IACvC,OAAO;QACL,kBAAkB;QAClB,kBAAkB;QAClB,0BAA0B;QAC1B,aAAa;KACd,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACpB,CAAC;AAED,SAAgB,mBAAmB,CAAC,KAAa;IAC/C,OAAO;QACL,MAAM;QACN,QAAQ;QACR,UAAU;QACV,aAAa;QACb,gBAAgB;QAChB,UAAU;QACV,YAAY;QACZ,aAAa;KACd,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACpB,CAAC;AAED,SAAgB,aAAa,CAAC,KAAa;IACzC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACzC,CAAC"}
|
package/dist/utils.d.ts
CHANGED
|
@@ -1,3 +1,13 @@
|
|
|
1
|
+
export declare const generateFileHash: (fileContent: Buffer | string) => string;
|
|
2
|
+
export declare const validateFileHash: (fileContent: Buffer | string, expectedHash: string) => boolean;
|
|
3
|
+
export declare const generateStatementContentHash: (statementContent: string) => string;
|
|
4
|
+
export declare const validateStatementContentHash: (statementContent: string, expectedHash: string) => boolean;
|
|
5
|
+
export declare const generateStatementHash: (statement: string) => string;
|
|
6
|
+
export declare const validateStatementHash: (statement: string, expectedHash: string) => boolean;
|
|
7
|
+
export declare const generateStatementsFile: (statements: string[]) => string;
|
|
8
|
+
export declare const parseStatementsFile: (statementsFileContent: string) => string[];
|
|
9
|
+
export declare const generateStatementFilename: (statement: string) => string;
|
|
10
|
+
export declare const generateAttachmentFilename: (fileContent: Buffer | string, extension: string) => string;
|
|
1
11
|
export declare const minPeopleCountToRange: (n: number) => string | undefined;
|
|
2
12
|
export declare const monthIndex: (month: string) => number;
|
|
3
13
|
export declare const birthDateFormat: RegExp;
|
package/dist/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,gBAAgB,GAAI,aAAa,MAAM,GAAG,MAAM,KAAG,MAE/D,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,aAAa,MAAM,GAAG,MAAM,EAAE,cAAc,MAAM,KAAG,OAErF,CAAC;AAEF,eAAO,MAAM,4BAA4B,GAAI,kBAAkB,MAAM,KAAG,MAEvE,CAAC;AAEF,eAAO,MAAM,4BAA4B,GACvC,kBAAkB,MAAM,EACxB,cAAc,MAAM,KACnB,OAEF,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAAI,WAAW,MAAM,KAAG,MASzD,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAAI,WAAW,MAAM,EAAE,cAAc,MAAM,KAAG,OAG/E,CAAC;AAEF,eAAO,MAAM,sBAAsB,GAAI,YAAY,MAAM,EAAE,KAAG,MAE7D,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,uBAAuB,MAAM,KAAG,MAAM,EA0BzE,CAAC;AAEF,eAAO,MAAM,yBAAyB,GAAI,WAAW,MAAM,KAAG,MAG7D,CAAC;AAEF,eAAO,MAAM,0BAA0B,GACrC,aAAa,MAAM,GAAG,MAAM,EAC5B,WAAW,MAAM,KAChB,MAIF,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAAI,GAAG,MAAM,KAAG,MAAM,GAAG,SAS1D,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,OAAO,MAAM,KAAG,MAGxC,CAAC;AAEJ,eAAO,MAAM,eAAe,EAAE,MAC2D,CAAC"}
|
package/dist/utils.js
CHANGED
|
@@ -1,28 +1,96 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.birthDateFormat = exports.monthIndex = exports.minPeopleCountToRange = void 0;
|
|
3
|
+
exports.birthDateFormat = exports.monthIndex = exports.minPeopleCountToRange = exports.generateAttachmentFilename = exports.generateStatementFilename = exports.parseStatementsFile = exports.generateStatementsFile = exports.validateStatementHash = exports.generateStatementHash = exports.validateStatementContentHash = exports.generateStatementContentHash = exports.validateFileHash = exports.generateFileHash = void 0;
|
|
4
4
|
const constants_1 = require("./constants");
|
|
5
|
+
const hash_1 = require("./hash");
|
|
6
|
+
const protocol_1 = require("./protocol");
|
|
7
|
+
const generateFileHash = (fileContent) => {
|
|
8
|
+
return (0, hash_1.sha256)(fileContent);
|
|
9
|
+
};
|
|
10
|
+
exports.generateFileHash = generateFileHash;
|
|
11
|
+
const validateFileHash = (fileContent, expectedHash) => {
|
|
12
|
+
return (0, hash_1.verify)(fileContent, expectedHash);
|
|
13
|
+
};
|
|
14
|
+
exports.validateFileHash = validateFileHash;
|
|
15
|
+
const generateStatementContentHash = (statementContent) => {
|
|
16
|
+
return (0, hash_1.sha256)(statementContent);
|
|
17
|
+
};
|
|
18
|
+
exports.generateStatementContentHash = generateStatementContentHash;
|
|
19
|
+
const validateStatementContentHash = (statementContent, expectedHash) => {
|
|
20
|
+
return (0, hash_1.verify)(statementContent, expectedHash);
|
|
21
|
+
};
|
|
22
|
+
exports.validateStatementContentHash = validateStatementContentHash;
|
|
23
|
+
const generateStatementHash = (statement) => {
|
|
24
|
+
const signatureRegex = /^([\s\S]+?)---\n[\s\S]+$/;
|
|
25
|
+
const match = statement.match(signatureRegex);
|
|
26
|
+
if (match && match[1]) {
|
|
27
|
+
return (0, hash_1.sha256)(match[1]);
|
|
28
|
+
}
|
|
29
|
+
return (0, hash_1.sha256)(statement);
|
|
30
|
+
};
|
|
31
|
+
exports.generateStatementHash = generateStatementHash;
|
|
32
|
+
const validateStatementHash = (statement, expectedHash) => {
|
|
33
|
+
const computedHash = (0, exports.generateStatementHash)(statement);
|
|
34
|
+
return computedHash === expectedHash;
|
|
35
|
+
};
|
|
36
|
+
exports.validateStatementHash = validateStatementHash;
|
|
37
|
+
const generateStatementsFile = (statements) => {
|
|
38
|
+
return statements.join('\n\n');
|
|
39
|
+
};
|
|
40
|
+
exports.generateStatementsFile = generateStatementsFile;
|
|
41
|
+
const parseStatementsFile = (statementsFileContent) => {
|
|
42
|
+
const statementParts = statementsFileContent.split(/\n\nStated protocol version: /);
|
|
43
|
+
const statements = [];
|
|
44
|
+
for (let i = 0; i < statementParts.length; i++) {
|
|
45
|
+
let statement = statementParts[i];
|
|
46
|
+
if (i === 0 && statement.trim().length === 0)
|
|
47
|
+
continue;
|
|
48
|
+
if (i > 0) {
|
|
49
|
+
statement = 'Stated protocol version: ' + statement;
|
|
50
|
+
}
|
|
51
|
+
statement = statement.replace(/\n+$/, '\n');
|
|
52
|
+
try {
|
|
53
|
+
(0, protocol_1.parseStatement)({ statement });
|
|
54
|
+
statements.push(statement);
|
|
55
|
+
}
|
|
56
|
+
catch (error) {
|
|
57
|
+
throw new Error(`Invalid statement at index ${i}: ${error instanceof Error ? error.message : String(error)}`);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
return statements;
|
|
61
|
+
};
|
|
62
|
+
exports.parseStatementsFile = parseStatementsFile;
|
|
63
|
+
const generateStatementFilename = (statement) => {
|
|
64
|
+
const hash = (0, exports.generateStatementHash)(statement);
|
|
65
|
+
return `${hash}.txt`;
|
|
66
|
+
};
|
|
67
|
+
exports.generateStatementFilename = generateStatementFilename;
|
|
68
|
+
const generateAttachmentFilename = (fileContent, extension) => {
|
|
69
|
+
const hash = (0, exports.generateFileHash)(fileContent);
|
|
70
|
+
const ext = extension.startsWith('.') ? extension.substring(1) : extension;
|
|
71
|
+
return `${hash}.${ext}`;
|
|
72
|
+
};
|
|
73
|
+
exports.generateAttachmentFilename = generateAttachmentFilename;
|
|
5
74
|
const minPeopleCountToRange = (n) => {
|
|
6
75
|
if (n >= 10000000)
|
|
7
|
-
return constants_1.peopleCountBuckets[
|
|
76
|
+
return constants_1.peopleCountBuckets['10000000'];
|
|
8
77
|
if (n >= 1000000)
|
|
9
|
-
return constants_1.peopleCountBuckets[
|
|
78
|
+
return constants_1.peopleCountBuckets['1000000'];
|
|
10
79
|
if (n >= 100000)
|
|
11
|
-
return constants_1.peopleCountBuckets[
|
|
80
|
+
return constants_1.peopleCountBuckets['100000'];
|
|
12
81
|
if (n >= 10000)
|
|
13
|
-
return constants_1.peopleCountBuckets[
|
|
82
|
+
return constants_1.peopleCountBuckets['10000'];
|
|
14
83
|
if (n >= 1000)
|
|
15
|
-
return constants_1.peopleCountBuckets[
|
|
84
|
+
return constants_1.peopleCountBuckets['1000'];
|
|
16
85
|
if (n >= 100)
|
|
17
|
-
return constants_1.peopleCountBuckets[
|
|
86
|
+
return constants_1.peopleCountBuckets['100'];
|
|
18
87
|
if (n >= 10)
|
|
19
|
-
return constants_1.peopleCountBuckets[
|
|
88
|
+
return constants_1.peopleCountBuckets['10'];
|
|
20
89
|
if (n >= 0)
|
|
21
|
-
return constants_1.peopleCountBuckets[
|
|
90
|
+
return constants_1.peopleCountBuckets['0'];
|
|
22
91
|
};
|
|
23
92
|
exports.minPeopleCountToRange = minPeopleCountToRange;
|
|
24
|
-
const monthIndex = (month) => [
|
|
25
|
-
.indexOf(month.toLowerCase().substr(0, 3));
|
|
93
|
+
const monthIndex = (month) => ['jan', 'feb', 'mar', 'apr', 'may', 'jun', 'jul', 'aug', 'sep', 'oct', 'nov', 'dec'].indexOf(month.toLowerCase().substr(0, 3));
|
|
26
94
|
exports.monthIndex = monthIndex;
|
|
27
95
|
exports.birthDateFormat = /(?<d>\d{1,2})\s(?<month>Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(?<y>\d{4})/;
|
|
28
96
|
//# sourceMappingURL=utils.js.map
|