@hyperledger/anoncreds-nodejs 0.1.0-dev.9 → 0.2.0-dev.1
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 +1 -2
- package/build/NodeJSAnoncreds.d.ts +63 -19
- package/build/NodeJSAnoncreds.js +134 -111
- package/build/NodeJSAnoncreds.js.map +1 -1
- package/build/ffi/alloc.js +1 -1
- package/build/ffi/alloc.js.map +1 -1
- package/build/ffi/conversion.js +1 -1
- package/build/ffi/conversion.js.map +1 -1
- package/build/ffi/primitives.d.ts +5 -5
- package/build/ffi/primitives.js +1 -1
- package/build/ffi/primitives.js.map +1 -1
- package/build/ffi/serialize.d.ts +1 -1
- package/build/ffi/serialize.js +1 -1
- package/build/ffi/serialize.js.map +1 -1
- package/build/ffi/structures.d.ts +36 -36
- package/build/ffi/structures.js +4 -4
- package/build/ffi/structures.js.map +1 -1
- package/build/library/bindings.d.ts +62 -65
- package/build/library/bindings.js +26 -17
- package/build/library/bindings.js.map +1 -1
- package/build/library/register.d.ts +10 -10
- package/build/library/register.js +9 -3
- package/build/library/register.js.map +1 -1
- package/package.json +7 -9
- package/scripts/platform.js +13 -0
- package/build/error.d.ts +0 -1
- package/build/error.js +0 -16
- package/build/error.js.map +0 -1
package/README.md
CHANGED
|
@@ -4,8 +4,7 @@ Wrapper for Nodejs around anoncreds-rs
|
|
|
4
4
|
|
|
5
5
|
## Requirements
|
|
6
6
|
|
|
7
|
-
This has been tested extensively with
|
|
8
|
-
Older and newer versions might also work, but they have not been tested.
|
|
7
|
+
This library requires (and has been tested extensively with) Node.js version 18.x. Newer versions might also work, but they have not been tested.
|
|
9
8
|
|
|
10
9
|
## Installation
|
|
11
10
|
|
|
@@ -1,6 +1,50 @@
|
|
|
1
1
|
import type { NativeCredentialEntry, NativeCredentialProve, Anoncreds, NativeCredentialRevocationConfig, NativeNonRevokedIntervalOverride } from '@hyperledger/anoncreds-shared';
|
|
2
2
|
import { ObjectHandle } from '@hyperledger/anoncreds-shared';
|
|
3
3
|
export declare class NodeJSAnoncreds implements Anoncreds {
|
|
4
|
+
private handleError;
|
|
5
|
+
get nativeAnoncreds(): {
|
|
6
|
+
anoncreds_buffer_free: (args_0: Buffer) => unknown;
|
|
7
|
+
anoncreds_create_credential: (args_0: number, args_1: number, args_2: number, args_3: number, args_4: Buffer, args_5: Buffer, args_6: Buffer, args_7: number, args_8: Buffer) => unknown;
|
|
8
|
+
anoncreds_create_credential_definition: (args_0: string, args_1: number, args_2: string, args_3: string, args_4: string, args_5: number, args_6: Buffer, args_7: Buffer, args_8: Buffer) => unknown;
|
|
9
|
+
anoncreds_create_credential_offer: (args_0: string, args_1: string, args_2: number, args_3: Buffer) => unknown;
|
|
10
|
+
anoncreds_create_credential_request: (args_0: string, args_1: string, args_2: number, args_3: string, args_4: string, args_5: number, args_6: Buffer, args_7: Buffer) => unknown;
|
|
11
|
+
anoncreds_create_link_secret: (args_0: Buffer) => unknown;
|
|
12
|
+
anoncreds_create_or_update_revocation_state: (args_0: number, args_1: number, args_2: number, args_3: string, args_4: number, args_5: number, args_6: Buffer) => unknown;
|
|
13
|
+
anoncreds_create_presentation: (args_0: number, args_1: Buffer, args_2: Buffer, args_3: Buffer, args_4: Buffer, args_5: string, args_6: Buffer, args_7: Buffer, args_8: Buffer, args_9: Buffer, args_10: Buffer) => unknown;
|
|
14
|
+
anoncreds_create_revocation_registry_def: (args_0: number, args_1: string, args_2: string, args_3: string, args_4: string, args_5: number, args_6: string, args_7: Buffer, args_8: Buffer) => unknown;
|
|
15
|
+
anoncreds_create_schema: (args_0: string, args_1: string, args_2: string, args_3: Buffer, args_4: Buffer) => unknown;
|
|
16
|
+
anoncreds_credential_get_attribute: (args_0: number, args_1: string, args_2: Buffer) => unknown;
|
|
17
|
+
anoncreds_encode_credential_attributes: (args_0: Buffer, args_1: Buffer) => unknown;
|
|
18
|
+
anoncreds_generate_nonce: (args_0: Buffer) => unknown;
|
|
19
|
+
anoncreds_get_current_error: (args_0: Buffer) => unknown;
|
|
20
|
+
anoncreds_object_free: (args_0: number) => unknown;
|
|
21
|
+
anoncreds_string_free: (args_0: Buffer) => unknown;
|
|
22
|
+
anoncreds_object_get_json: (args_0: number, args_1: Buffer) => unknown;
|
|
23
|
+
anoncreds_object_get_type_name: (args_0: number, args_1: Buffer) => unknown;
|
|
24
|
+
anoncreds_presentation_request_from_json: (args_0: Buffer, args_1: Buffer) => unknown;
|
|
25
|
+
anoncreds_process_credential: (args_0: number, args_1: number, args_2: string, args_3: number, args_4: number, args_5: Buffer) => unknown;
|
|
26
|
+
anoncreds_revocation_registry_definition_get_attribute: (args_0: number, args_1: string, args_2: Buffer) => unknown;
|
|
27
|
+
anoncreds_set_default_logger: () => unknown;
|
|
28
|
+
anoncreds_verify_presentation: (args_0: number, args_1: number, args_2: Buffer, args_3: Buffer, args_4: Buffer, args_5: Buffer, args_6: Buffer, args_7: Buffer, args_8: Buffer, args_9: Buffer, args_10: Buffer) => unknown;
|
|
29
|
+
anoncreds_create_revocation_status_list: (args_0: number, args_1: string, args_2: number, args_3: number, args_4: string, args_5: number, args_6: number, args_7: Buffer) => unknown;
|
|
30
|
+
anoncreds_update_revocation_status_list_timestamp_only: (args_0: number, args_1: number, args_2: Buffer) => unknown;
|
|
31
|
+
anoncreds_update_revocation_status_list: (args_0: number, args_1: number, args_2: number, args_3: number, args_4: Buffer, args_5: Buffer, args_6: number, args_7: Buffer) => unknown;
|
|
32
|
+
anoncreds_version: () => string;
|
|
33
|
+
anoncreds_credential_request_from_json: (args_0: Buffer, args_1: Buffer) => unknown;
|
|
34
|
+
anoncreds_credential_request_metadata_from_json: (args_0: Buffer, args_1: Buffer) => unknown;
|
|
35
|
+
anoncreds_presentation_from_json: (args_0: Buffer, args_1: Buffer) => unknown;
|
|
36
|
+
anoncreds_credential_offer_from_json: (args_0: Buffer, args_1: Buffer) => unknown;
|
|
37
|
+
anoncreds_revocation_registry_definition_from_json: (args_0: Buffer, args_1: Buffer) => unknown;
|
|
38
|
+
anoncreds_revocation_registry_from_json: (args_0: Buffer, args_1: Buffer) => unknown;
|
|
39
|
+
anoncreds_revocation_status_list_from_json: (args_0: Buffer, args_1: Buffer) => unknown;
|
|
40
|
+
anoncreds_revocation_state_from_json: (args_0: Buffer, args_1: Buffer) => unknown;
|
|
41
|
+
anoncreds_credential_from_json: (args_0: Buffer, args_1: Buffer) => unknown;
|
|
42
|
+
anoncreds_credential_definition_from_json: (args_0: Buffer, args_1: Buffer) => unknown;
|
|
43
|
+
anoncreds_credential_definition_private_from_json: (args_0: Buffer, args_1: Buffer) => unknown;
|
|
44
|
+
anoncreds_revocation_registry_definition_private_from_json: (args_0: Buffer, args_1: Buffer) => unknown;
|
|
45
|
+
anoncreds_key_correctness_proof_from_json: (args_0: Buffer, args_1: Buffer) => unknown;
|
|
46
|
+
anoncreds_schema_from_json: (args_0: Buffer, args_1: Buffer) => unknown;
|
|
47
|
+
};
|
|
4
48
|
generateNonce(): string;
|
|
5
49
|
createSchema(options: {
|
|
6
50
|
name: string;
|
|
@@ -35,8 +79,6 @@ export declare class NodeJSAnoncreds implements Anoncreds {
|
|
|
35
79
|
credentialRequest: ObjectHandle;
|
|
36
80
|
attributeRawValues: Record<string, string>;
|
|
37
81
|
attributeEncodedValues?: Record<string, string>;
|
|
38
|
-
revocationRegistryId?: string;
|
|
39
|
-
revocationStatusList?: ObjectHandle;
|
|
40
82
|
revocationConfiguration?: NativeCredentialRevocationConfig;
|
|
41
83
|
}): ObjectHandle;
|
|
42
84
|
encodeCredentialAttributes(options: {
|
|
@@ -45,7 +87,7 @@ export declare class NodeJSAnoncreds implements Anoncreds {
|
|
|
45
87
|
processCredential(options: {
|
|
46
88
|
credential: ObjectHandle;
|
|
47
89
|
credentialRequestMetadata: ObjectHandle;
|
|
48
|
-
|
|
90
|
+
linkSecret: string;
|
|
49
91
|
credentialDefinition: ObjectHandle;
|
|
50
92
|
revocationRegistryDefinition?: ObjectHandle | undefined;
|
|
51
93
|
}): ObjectHandle;
|
|
@@ -58,20 +100,20 @@ export declare class NodeJSAnoncreds implements Anoncreds {
|
|
|
58
100
|
entropy?: string;
|
|
59
101
|
proverDid?: string;
|
|
60
102
|
credentialDefinition: ObjectHandle;
|
|
61
|
-
|
|
62
|
-
|
|
103
|
+
linkSecret: string;
|
|
104
|
+
linkSecretId: string;
|
|
63
105
|
credentialOffer: ObjectHandle;
|
|
64
106
|
}): {
|
|
65
107
|
credentialRequest: ObjectHandle;
|
|
66
108
|
credentialRequestMetadata: ObjectHandle;
|
|
67
109
|
};
|
|
68
|
-
|
|
110
|
+
createLinkSecret(): string;
|
|
69
111
|
createPresentation(options: {
|
|
70
112
|
presentationRequest: ObjectHandle;
|
|
71
113
|
credentials: NativeCredentialEntry[];
|
|
72
114
|
credentialsProve: NativeCredentialProve[];
|
|
73
115
|
selfAttest: Record<string, string>;
|
|
74
|
-
|
|
116
|
+
linkSecret: string;
|
|
75
117
|
schemas: Record<string, ObjectHandle>;
|
|
76
118
|
credentialDefinitions: Record<string, ObjectHandle>;
|
|
77
119
|
}): ObjectHandle;
|
|
@@ -88,22 +130,26 @@ export declare class NodeJSAnoncreds implements Anoncreds {
|
|
|
88
130
|
nonRevokedIntervalOverrides?: NativeNonRevokedIntervalOverride[];
|
|
89
131
|
}): boolean;
|
|
90
132
|
createRevocationStatusList(options: {
|
|
133
|
+
credentialDefinition: ObjectHandle;
|
|
91
134
|
revocationRegistryDefinitionId: string;
|
|
92
135
|
revocationRegistryDefinition: ObjectHandle;
|
|
136
|
+
revocationRegistryDefinitionPrivate: ObjectHandle;
|
|
93
137
|
issuerId: string;
|
|
94
|
-
timestamp?: number;
|
|
95
138
|
issuanceByDefault: boolean;
|
|
139
|
+
timestamp?: number;
|
|
96
140
|
}): ObjectHandle;
|
|
97
141
|
updateRevocationStatusListTimestampOnly(options: {
|
|
98
142
|
timestamp: number;
|
|
99
143
|
currentRevocationStatusList: ObjectHandle;
|
|
100
144
|
}): ObjectHandle;
|
|
101
145
|
updateRevocationStatusList(options: {
|
|
102
|
-
|
|
103
|
-
issued?: number[];
|
|
104
|
-
revoked?: number[];
|
|
146
|
+
credentialDefinition: ObjectHandle;
|
|
105
147
|
revocationRegistryDefinition: ObjectHandle;
|
|
148
|
+
revocationRegistryDefinitionPrivate: ObjectHandle;
|
|
106
149
|
currentRevocationStatusList: ObjectHandle;
|
|
150
|
+
issued?: number[];
|
|
151
|
+
revoked?: number[];
|
|
152
|
+
timestamp?: number;
|
|
107
153
|
}): ObjectHandle;
|
|
108
154
|
createRevocationRegistryDefinition(options: {
|
|
109
155
|
credentialDefinition: ObjectHandle;
|
|
@@ -122,18 +168,16 @@ export declare class NodeJSAnoncreds implements Anoncreds {
|
|
|
122
168
|
revocationStatusList: ObjectHandle;
|
|
123
169
|
revocationRegistryIndex: number;
|
|
124
170
|
tailsPath: string;
|
|
125
|
-
|
|
126
|
-
|
|
171
|
+
oldRevocationState?: ObjectHandle;
|
|
172
|
+
oldRevocationStatusList?: ObjectHandle;
|
|
127
173
|
}): ObjectHandle;
|
|
128
174
|
version(): string;
|
|
175
|
+
setDefaultLogger(): void;
|
|
129
176
|
getCurrentError(): string;
|
|
130
177
|
private objectFromJson;
|
|
131
178
|
presentationRequestFromJson(options: {
|
|
132
179
|
json: string;
|
|
133
180
|
}): ObjectHandle;
|
|
134
|
-
masterSecretFromJson(options: {
|
|
135
|
-
json: string;
|
|
136
|
-
}): ObjectHandle;
|
|
137
181
|
credentialRequestFromJson(options: {
|
|
138
182
|
json: string;
|
|
139
183
|
}): ObjectHandle;
|
|
@@ -146,6 +190,9 @@ export declare class NodeJSAnoncreds implements Anoncreds {
|
|
|
146
190
|
revocationRegistryFromJson(options: {
|
|
147
191
|
json: string;
|
|
148
192
|
}): ObjectHandle;
|
|
193
|
+
revocationStatusListFromJson(options: {
|
|
194
|
+
json: string;
|
|
195
|
+
}): ObjectHandle;
|
|
149
196
|
revocationStateFromJson(options: {
|
|
150
197
|
json: string;
|
|
151
198
|
}): ObjectHandle;
|
|
@@ -164,9 +211,6 @@ export declare class NodeJSAnoncreds implements Anoncreds {
|
|
|
164
211
|
revocationRegistryDefinitionPrivateFromJson(options: {
|
|
165
212
|
json: string;
|
|
166
213
|
}): ObjectHandle;
|
|
167
|
-
revocationRegistryDeltaFromJson(options: {
|
|
168
|
-
json: string;
|
|
169
|
-
}): ObjectHandle;
|
|
170
214
|
credentialDefinitionFromJson(options: {
|
|
171
215
|
json: string;
|
|
172
216
|
}): ObjectHandle;
|
package/build/NodeJSAnoncreds.js
CHANGED
|
@@ -3,53 +3,72 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.NodeJSAnoncreds = void 0;
|
|
4
4
|
const anoncreds_shared_1 = require("@hyperledger/anoncreds-shared");
|
|
5
5
|
const util_1 = require("util");
|
|
6
|
-
const error_1 = require("./error");
|
|
7
6
|
const ffi_1 = require("./ffi");
|
|
8
7
|
const library_1 = require("./library");
|
|
8
|
+
function handleReturnPointer(returnValue, cleanupCallback) {
|
|
9
|
+
if (returnValue.address() === 0) {
|
|
10
|
+
throw anoncreds_shared_1.AnoncredsError.customError({ message: 'Unexpected null pointer' });
|
|
11
|
+
}
|
|
12
|
+
const ret = returnValue.deref();
|
|
13
|
+
if (cleanupCallback)
|
|
14
|
+
cleanupCallback(returnValue);
|
|
15
|
+
return ret;
|
|
16
|
+
}
|
|
9
17
|
class NodeJSAnoncreds {
|
|
18
|
+
handleError() {
|
|
19
|
+
const nativeError = (0, ffi_1.allocateStringBuffer)();
|
|
20
|
+
(0, library_1.getNativeAnoncreds)().anoncreds_get_current_error(nativeError);
|
|
21
|
+
const anoncredsErrorObject = JSON.parse(nativeError.deref());
|
|
22
|
+
if (anoncredsErrorObject.code === 0)
|
|
23
|
+
return;
|
|
24
|
+
throw new anoncreds_shared_1.AnoncredsError(anoncredsErrorObject);
|
|
25
|
+
}
|
|
26
|
+
get nativeAnoncreds() {
|
|
27
|
+
return (0, library_1.getNativeAnoncreds)();
|
|
28
|
+
}
|
|
10
29
|
generateNonce() {
|
|
11
30
|
const ret = (0, ffi_1.allocateStringBuffer)();
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
return ret.
|
|
31
|
+
this.nativeAnoncreds.anoncreds_generate_nonce(ret);
|
|
32
|
+
this.handleError();
|
|
33
|
+
return handleReturnPointer(ret, this.nativeAnoncreds.anoncreds_string_free);
|
|
15
34
|
}
|
|
16
35
|
createSchema(options) {
|
|
17
36
|
const { name, version, issuerId, attributeNames } = (0, ffi_1.serializeArguments)(options);
|
|
18
37
|
const ret = (0, ffi_1.allocatePointer)();
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
return new anoncreds_shared_1.ObjectHandle(ret
|
|
38
|
+
this.nativeAnoncreds.anoncreds_create_schema(name, version, issuerId, attributeNames, ret);
|
|
39
|
+
this.handleError();
|
|
40
|
+
return new anoncreds_shared_1.ObjectHandle(handleReturnPointer(ret));
|
|
22
41
|
}
|
|
23
42
|
revocationRegistryDefinitionGetAttribute(options) {
|
|
24
43
|
const { objectHandle, name } = (0, ffi_1.serializeArguments)(options);
|
|
25
44
|
const ret = (0, ffi_1.allocateStringBuffer)();
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
return ret.
|
|
45
|
+
this.nativeAnoncreds.anoncreds_revocation_registry_definition_get_attribute(objectHandle, name, ret);
|
|
46
|
+
this.handleError();
|
|
47
|
+
return handleReturnPointer(ret, this.nativeAnoncreds.anoncreds_string_free);
|
|
29
48
|
}
|
|
30
49
|
credentialGetAttribute(options) {
|
|
31
50
|
const { objectHandle, name } = (0, ffi_1.serializeArguments)(options);
|
|
32
51
|
const ret = (0, ffi_1.allocateStringBuffer)();
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
return ret.
|
|
52
|
+
this.nativeAnoncreds.anoncreds_credential_get_attribute(objectHandle, name, ret);
|
|
53
|
+
this.handleError();
|
|
54
|
+
return handleReturnPointer(ret, this.nativeAnoncreds.anoncreds_string_free);
|
|
36
55
|
}
|
|
37
56
|
createCredentialDefinition(options) {
|
|
38
57
|
const { schemaId, issuerId, schema, tag, signatureType, supportRevocation } = (0, ffi_1.serializeArguments)(options);
|
|
39
58
|
const credentialDefinitionPtr = (0, ffi_1.allocatePointer)();
|
|
40
59
|
const credentialDefinitionPrivatePtr = (0, ffi_1.allocatePointer)();
|
|
41
60
|
const keyCorrectnessProofPtr = (0, ffi_1.allocatePointer)();
|
|
42
|
-
|
|
43
|
-
|
|
61
|
+
this.nativeAnoncreds.anoncreds_create_credential_definition(schemaId, schema, tag, issuerId, signatureType, supportRevocation, credentialDefinitionPtr, credentialDefinitionPrivatePtr, keyCorrectnessProofPtr);
|
|
62
|
+
this.handleError();
|
|
44
63
|
return {
|
|
45
|
-
credentialDefinition: new anoncreds_shared_1.ObjectHandle(credentialDefinitionPtr
|
|
46
|
-
credentialDefinitionPrivate: new anoncreds_shared_1.ObjectHandle(credentialDefinitionPrivatePtr
|
|
47
|
-
keyCorrectnessProof: new anoncreds_shared_1.ObjectHandle(keyCorrectnessProofPtr
|
|
64
|
+
credentialDefinition: new anoncreds_shared_1.ObjectHandle(handleReturnPointer(credentialDefinitionPtr)),
|
|
65
|
+
credentialDefinitionPrivate: new anoncreds_shared_1.ObjectHandle(handleReturnPointer(credentialDefinitionPrivatePtr)),
|
|
66
|
+
keyCorrectnessProof: new anoncreds_shared_1.ObjectHandle(handleReturnPointer(keyCorrectnessProofPtr)),
|
|
48
67
|
};
|
|
49
68
|
}
|
|
50
69
|
createCredential(options) {
|
|
51
|
-
var _a
|
|
52
|
-
const { credentialDefinition, credentialDefinitionPrivate, credentialOffer, credentialRequest
|
|
70
|
+
var _a;
|
|
71
|
+
const { credentialDefinition, credentialDefinitionPrivate, credentialOffer, credentialRequest } = (0, ffi_1.serializeArguments)(options);
|
|
53
72
|
const attributeNames = (0, ffi_1.StringListStruct)({
|
|
54
73
|
count: Object.keys(options.attributeRawValues).length,
|
|
55
74
|
data: Object.keys(options.attributeRawValues),
|
|
@@ -66,61 +85,61 @@ class NodeJSAnoncreds {
|
|
|
66
85
|
: undefined;
|
|
67
86
|
let revocationConfiguration;
|
|
68
87
|
if (options.revocationConfiguration) {
|
|
69
|
-
const { revocationRegistryDefinition
|
|
88
|
+
const { revocationRegistryDefinition, revocationRegistryDefinitionPrivate, revocationStatusList, registryIndex } = (0, ffi_1.serializeArguments)(options.revocationConfiguration);
|
|
70
89
|
revocationConfiguration = (0, ffi_1.CredRevInfoStruct)({
|
|
71
|
-
reg_def:
|
|
72
|
-
reg_def_private:
|
|
90
|
+
reg_def: revocationRegistryDefinition,
|
|
91
|
+
reg_def_private: revocationRegistryDefinitionPrivate,
|
|
92
|
+
status_list: revocationStatusList,
|
|
73
93
|
reg_idx: registryIndex,
|
|
74
|
-
tails_path: tailsPath,
|
|
75
94
|
});
|
|
76
95
|
}
|
|
77
96
|
const credentialPtr = (0, ffi_1.allocatePointer)();
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
return new anoncreds_shared_1.ObjectHandle(credentialPtr
|
|
97
|
+
this.nativeAnoncreds.anoncreds_create_credential(credentialDefinition, credentialDefinitionPrivate, credentialOffer, credentialRequest, attributeNames, attributeRawValues, attributeEncodedValues, (_a = revocationConfiguration === null || revocationConfiguration === void 0 ? void 0 : revocationConfiguration.ref().address()) !== null && _a !== void 0 ? _a : 0, credentialPtr);
|
|
98
|
+
this.handleError();
|
|
99
|
+
return new anoncreds_shared_1.ObjectHandle(handleReturnPointer(credentialPtr));
|
|
81
100
|
}
|
|
82
101
|
encodeCredentialAttributes(options) {
|
|
83
102
|
const { attributeRawValues } = (0, ffi_1.serializeArguments)(options);
|
|
84
103
|
const ret = (0, ffi_1.allocateStringBuffer)();
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
const result = ret.
|
|
104
|
+
this.nativeAnoncreds.anoncreds_encode_credential_attributes(attributeRawValues, ret);
|
|
105
|
+
this.handleError();
|
|
106
|
+
const result = handleReturnPointer(ret, this.nativeAnoncreds.anoncreds_string_free);
|
|
88
107
|
return result.split(',');
|
|
89
108
|
}
|
|
90
109
|
processCredential(options) {
|
|
91
110
|
var _a, _b;
|
|
92
|
-
const { credential, credentialRequestMetadata,
|
|
111
|
+
const { credential, credentialRequestMetadata, linkSecret, credentialDefinition } = (0, ffi_1.serializeArguments)(options);
|
|
93
112
|
const ret = (0, ffi_1.allocatePointer)();
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
return new anoncreds_shared_1.ObjectHandle(ret
|
|
113
|
+
this.nativeAnoncreds.anoncreds_process_credential(credential, credentialRequestMetadata, linkSecret, credentialDefinition, (_b = (_a = options.revocationRegistryDefinition) === null || _a === void 0 ? void 0 : _a.handle) !== null && _b !== void 0 ? _b : 0, ret);
|
|
114
|
+
this.handleError();
|
|
115
|
+
return new anoncreds_shared_1.ObjectHandle(handleReturnPointer(ret));
|
|
97
116
|
}
|
|
98
117
|
createCredentialOffer(options) {
|
|
99
118
|
const { schemaId, credentialDefinitionId, keyCorrectnessProof } = (0, ffi_1.serializeArguments)(options);
|
|
100
119
|
const ret = (0, ffi_1.allocatePointer)();
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
return new anoncreds_shared_1.ObjectHandle(ret
|
|
120
|
+
this.nativeAnoncreds.anoncreds_create_credential_offer(schemaId, credentialDefinitionId, keyCorrectnessProof, ret);
|
|
121
|
+
this.handleError();
|
|
122
|
+
return new anoncreds_shared_1.ObjectHandle(handleReturnPointer(ret));
|
|
104
123
|
}
|
|
105
124
|
createCredentialRequest(options) {
|
|
106
|
-
const { entropy, proverDid, credentialDefinition,
|
|
125
|
+
const { entropy, proverDid, credentialDefinition, linkSecret, linkSecretId, credentialOffer } = (0, ffi_1.serializeArguments)(options);
|
|
107
126
|
const credentialRequestPtr = (0, ffi_1.allocatePointer)();
|
|
108
127
|
const credentialRequestMetadataPtr = (0, ffi_1.allocatePointer)();
|
|
109
|
-
|
|
110
|
-
|
|
128
|
+
this.nativeAnoncreds.anoncreds_create_credential_request(entropy, proverDid, credentialDefinition, linkSecret, linkSecretId, credentialOffer, credentialRequestPtr, credentialRequestMetadataPtr);
|
|
129
|
+
this.handleError();
|
|
111
130
|
return {
|
|
112
|
-
credentialRequest: new anoncreds_shared_1.ObjectHandle(credentialRequestPtr
|
|
113
|
-
credentialRequestMetadata: new anoncreds_shared_1.ObjectHandle(credentialRequestMetadataPtr
|
|
131
|
+
credentialRequest: new anoncreds_shared_1.ObjectHandle(handleReturnPointer(credentialRequestPtr)),
|
|
132
|
+
credentialRequestMetadata: new anoncreds_shared_1.ObjectHandle(handleReturnPointer(credentialRequestMetadataPtr)),
|
|
114
133
|
};
|
|
115
134
|
}
|
|
116
|
-
|
|
117
|
-
const ret = (0, ffi_1.
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
return
|
|
135
|
+
createLinkSecret() {
|
|
136
|
+
const ret = (0, ffi_1.allocateStringBuffer)();
|
|
137
|
+
this.nativeAnoncreds.anoncreds_create_link_secret(ret);
|
|
138
|
+
this.handleError();
|
|
139
|
+
return handleReturnPointer(ret, this.nativeAnoncreds.anoncreds_string_free);
|
|
121
140
|
}
|
|
122
141
|
createPresentation(options) {
|
|
123
|
-
const { presentationRequest,
|
|
142
|
+
const { presentationRequest, linkSecret } = (0, ffi_1.serializeArguments)(options);
|
|
124
143
|
const credentialEntries = options.credentials.map((value) => {
|
|
125
144
|
var _a, _b, _c;
|
|
126
145
|
return (0, ffi_1.CredentialEntryStruct)({
|
|
@@ -170,14 +189,14 @@ class NodeJSAnoncreds {
|
|
|
170
189
|
data: (0, ffi_1.ObjectHandleArray)(credentialDefinitionValues.map((o) => o.handle)),
|
|
171
190
|
});
|
|
172
191
|
const ret = (0, ffi_1.allocatePointer)();
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
return new anoncreds_shared_1.ObjectHandle(ret
|
|
192
|
+
this.nativeAnoncreds.anoncreds_create_presentation(presentationRequest, credentialEntryList, credentialProveList, selfAttestNames, selfAttestValues, linkSecret, schemas, schemaIds, credentialDefinitions, credentialDefinitionIds, ret);
|
|
193
|
+
this.handleError();
|
|
194
|
+
return new anoncreds_shared_1.ObjectHandle(handleReturnPointer(ret));
|
|
176
195
|
}
|
|
177
196
|
verifyPresentation(options) {
|
|
178
197
|
var _a, _b, _c;
|
|
179
198
|
const { presentation, presentationRequest, schemas, credentialDefinitions, revocationRegistryDefinitions, revocationStatusLists, revocationRegistryDefinitionIds, schemaIds, credentialDefinitionIds, } = (0, ffi_1.serializeArguments)(options);
|
|
180
|
-
const
|
|
199
|
+
const nativeNonRevokedIntervalOverrides = (_a = options.nonRevokedIntervalOverrides) === null || _a === void 0 ? void 0 : _a.map((value) => {
|
|
181
200
|
const { requestedFromTimestamp, revocationRegistryDefinitionId, overrideRevocationStatusListTimestamp } = (0, ffi_1.serializeArguments)(value);
|
|
182
201
|
return (0, ffi_1.NonRevokedIntervalOverrideStruct)({
|
|
183
202
|
rev_reg_def_id: revocationRegistryDefinitionId,
|
|
@@ -187,138 +206,142 @@ class NodeJSAnoncreds {
|
|
|
187
206
|
});
|
|
188
207
|
const nonRevokedIntervalOverrideList = (0, ffi_1.NonRevokedIntervalOverrideListStruct)({
|
|
189
208
|
count: (_c = (_b = options.nonRevokedIntervalOverrides) === null || _b === void 0 ? void 0 : _b.length) !== null && _c !== void 0 ? _c : 0,
|
|
190
|
-
data:
|
|
209
|
+
data: nativeNonRevokedIntervalOverrides,
|
|
191
210
|
});
|
|
192
211
|
const ret = (0, ffi_1.allocateInt8Buffer)();
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
return Boolean(ret
|
|
212
|
+
this.nativeAnoncreds.anoncreds_verify_presentation(presentation, presentationRequest, schemas, schemaIds, credentialDefinitions, credentialDefinitionIds, revocationRegistryDefinitions, revocationRegistryDefinitionIds, revocationStatusLists, nonRevokedIntervalOverrideList, ret);
|
|
213
|
+
this.handleError();
|
|
214
|
+
return Boolean(handleReturnPointer(ret));
|
|
196
215
|
}
|
|
197
216
|
createRevocationStatusList(options) {
|
|
198
|
-
const {
|
|
217
|
+
const { credentialDefinition, revocationRegistryDefinitionId, revocationRegistryDefinition, revocationRegistryDefinitionPrivate, issuerId, issuanceByDefault, timestamp, } = (0, ffi_1.serializeArguments)(options);
|
|
199
218
|
const ret = (0, ffi_1.allocatePointer)();
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
return new anoncreds_shared_1.ObjectHandle(ret
|
|
219
|
+
this.nativeAnoncreds.anoncreds_create_revocation_status_list(credentialDefinition, revocationRegistryDefinitionId, revocationRegistryDefinition, revocationRegistryDefinitionPrivate, issuerId, issuanceByDefault, timestamp !== null && timestamp !== void 0 ? timestamp : -1, ret);
|
|
220
|
+
this.handleError();
|
|
221
|
+
return new anoncreds_shared_1.ObjectHandle(handleReturnPointer(ret));
|
|
203
222
|
}
|
|
204
223
|
updateRevocationStatusListTimestampOnly(options) {
|
|
205
224
|
const { currentRevocationStatusList, timestamp } = (0, ffi_1.serializeArguments)(options);
|
|
206
225
|
const ret = (0, ffi_1.allocatePointer)();
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
return new anoncreds_shared_1.ObjectHandle(ret
|
|
226
|
+
this.nativeAnoncreds.anoncreds_update_revocation_status_list_timestamp_only(timestamp, currentRevocationStatusList, ret);
|
|
227
|
+
this.handleError();
|
|
228
|
+
return new anoncreds_shared_1.ObjectHandle(handleReturnPointer(ret));
|
|
210
229
|
}
|
|
211
230
|
updateRevocationStatusList(options) {
|
|
212
|
-
const {
|
|
231
|
+
const { credentialDefinition, revocationRegistryDefinition, revocationRegistryDefinitionPrivate, currentRevocationStatusList, issued, revoked, timestamp, } = (0, ffi_1.serializeArguments)(options);
|
|
213
232
|
const ret = (0, ffi_1.allocatePointer)();
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
return new anoncreds_shared_1.ObjectHandle(ret
|
|
233
|
+
this.nativeAnoncreds.anoncreds_update_revocation_status_list(credentialDefinition, revocationRegistryDefinition, revocationRegistryDefinitionPrivate, currentRevocationStatusList, issued, revoked, timestamp !== null && timestamp !== void 0 ? timestamp : -1, ret);
|
|
234
|
+
this.handleError();
|
|
235
|
+
return new anoncreds_shared_1.ObjectHandle(handleReturnPointer(ret));
|
|
217
236
|
}
|
|
218
237
|
createRevocationRegistryDefinition(options) {
|
|
219
238
|
const { credentialDefinition, credentialDefinitionId, tag, revocationRegistryType, issuerId, maximumCredentialNumber, tailsDirectoryPath, } = (0, ffi_1.serializeArguments)(options);
|
|
220
239
|
const revocationRegistryDefinitionPtr = (0, ffi_1.allocatePointer)();
|
|
221
240
|
const revocationRegistryDefinitionPrivate = (0, ffi_1.allocatePointer)();
|
|
222
|
-
|
|
223
|
-
|
|
241
|
+
this.nativeAnoncreds.anoncreds_create_revocation_registry_def(credentialDefinition, credentialDefinitionId, issuerId, tag, revocationRegistryType, maximumCredentialNumber, tailsDirectoryPath, revocationRegistryDefinitionPtr, revocationRegistryDefinitionPrivate);
|
|
242
|
+
this.handleError();
|
|
224
243
|
return {
|
|
225
|
-
revocationRegistryDefinition: new anoncreds_shared_1.ObjectHandle(revocationRegistryDefinitionPtr
|
|
226
|
-
revocationRegistryDefinitionPrivate: new anoncreds_shared_1.ObjectHandle(revocationRegistryDefinitionPrivate
|
|
244
|
+
revocationRegistryDefinition: new anoncreds_shared_1.ObjectHandle(handleReturnPointer(revocationRegistryDefinitionPtr)),
|
|
245
|
+
revocationRegistryDefinitionPrivate: new anoncreds_shared_1.ObjectHandle(handleReturnPointer(revocationRegistryDefinitionPrivate)),
|
|
227
246
|
};
|
|
228
247
|
}
|
|
229
248
|
createOrUpdateRevocationState(options) {
|
|
230
249
|
var _a, _b;
|
|
231
250
|
const { revocationRegistryDefinition, revocationStatusList, revocationRegistryIndex, tailsPath } = (0, ffi_1.serializeArguments)(options);
|
|
232
|
-
const
|
|
233
|
-
const
|
|
251
|
+
const oldRevocationState = (_a = options.oldRevocationState) !== null && _a !== void 0 ? _a : new anoncreds_shared_1.ObjectHandle(0);
|
|
252
|
+
const oldRevocationStatusList = (_b = options.oldRevocationStatusList) !== null && _b !== void 0 ? _b : new anoncreds_shared_1.ObjectHandle(0);
|
|
234
253
|
const ret = (0, ffi_1.allocatePointer)();
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
return new anoncreds_shared_1.ObjectHandle(ret
|
|
254
|
+
this.nativeAnoncreds.anoncreds_create_or_update_revocation_state(revocationRegistryDefinition, revocationStatusList, revocationRegistryIndex, tailsPath, oldRevocationState.handle, oldRevocationStatusList.handle, ret);
|
|
255
|
+
this.handleError();
|
|
256
|
+
return new anoncreds_shared_1.ObjectHandle(handleReturnPointer(ret));
|
|
238
257
|
}
|
|
239
258
|
version() {
|
|
240
|
-
return
|
|
259
|
+
return this.nativeAnoncreds.anoncreds_version();
|
|
260
|
+
}
|
|
261
|
+
setDefaultLogger() {
|
|
262
|
+
this.nativeAnoncreds.anoncreds_set_default_logger();
|
|
263
|
+
this.handleError();
|
|
241
264
|
}
|
|
242
265
|
// This should be called when a function returns a non-zero code
|
|
243
266
|
getCurrentError() {
|
|
244
267
|
const ret = (0, ffi_1.allocateStringBuffer)();
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
return ret.
|
|
268
|
+
this.nativeAnoncreds.anoncreds_get_current_error(ret);
|
|
269
|
+
this.handleError();
|
|
270
|
+
return handleReturnPointer(ret, this.nativeAnoncreds.anoncreds_string_free);
|
|
248
271
|
}
|
|
249
272
|
objectFromJson(method, options) {
|
|
250
273
|
const ret = (0, ffi_1.allocatePointer)();
|
|
251
274
|
const byteBuffer = anoncreds_shared_1.ByteBuffer.fromUint8Array(new util_1.TextEncoder().encode(options.json));
|
|
252
|
-
|
|
275
|
+
this.handleError();
|
|
253
276
|
method(byteBuffer, ret);
|
|
254
|
-
return new anoncreds_shared_1.ObjectHandle(ret
|
|
277
|
+
return new anoncreds_shared_1.ObjectHandle(handleReturnPointer(ret));
|
|
255
278
|
}
|
|
256
279
|
presentationRequestFromJson(options) {
|
|
257
|
-
return this.objectFromJson(
|
|
258
|
-
}
|
|
259
|
-
masterSecretFromJson(options) {
|
|
260
|
-
return this.objectFromJson(library_1.nativeAnoncreds.anoncreds_master_secret_from_json, options);
|
|
280
|
+
return this.objectFromJson(this.nativeAnoncreds.anoncreds_presentation_request_from_json, options);
|
|
261
281
|
}
|
|
262
282
|
credentialRequestFromJson(options) {
|
|
263
|
-
return this.objectFromJson(
|
|
283
|
+
return this.objectFromJson(this.nativeAnoncreds.anoncreds_credential_request_from_json, options);
|
|
264
284
|
}
|
|
265
285
|
credentialRequestMetadataFromJson(options) {
|
|
266
|
-
return this.objectFromJson(
|
|
286
|
+
return this.objectFromJson(this.nativeAnoncreds.anoncreds_credential_request_metadata_from_json, options);
|
|
267
287
|
}
|
|
268
288
|
revocationRegistryDefinitionFromJson(options) {
|
|
269
|
-
return this.objectFromJson(
|
|
289
|
+
return this.objectFromJson(this.nativeAnoncreds.anoncreds_revocation_registry_definition_from_json, options);
|
|
270
290
|
}
|
|
271
291
|
revocationRegistryFromJson(options) {
|
|
272
|
-
return this.objectFromJson(
|
|
292
|
+
return this.objectFromJson(this.nativeAnoncreds.anoncreds_revocation_registry_from_json, options);
|
|
293
|
+
}
|
|
294
|
+
revocationStatusListFromJson(options) {
|
|
295
|
+
return this.objectFromJson(this.nativeAnoncreds.anoncreds_revocation_status_list_from_json, options);
|
|
273
296
|
}
|
|
274
297
|
revocationStateFromJson(options) {
|
|
275
|
-
return this.objectFromJson(
|
|
298
|
+
return this.objectFromJson(this.nativeAnoncreds.anoncreds_revocation_state_from_json, options);
|
|
276
299
|
}
|
|
277
300
|
presentationFromJson(options) {
|
|
278
|
-
return this.objectFromJson(
|
|
301
|
+
return this.objectFromJson(this.nativeAnoncreds.anoncreds_presentation_from_json, options);
|
|
279
302
|
}
|
|
280
303
|
credentialOfferFromJson(options) {
|
|
281
|
-
return this.objectFromJson(
|
|
304
|
+
return this.objectFromJson(this.nativeAnoncreds.anoncreds_credential_offer_from_json, options);
|
|
282
305
|
}
|
|
283
306
|
schemaFromJson(options) {
|
|
284
|
-
return this.objectFromJson(
|
|
307
|
+
return this.objectFromJson(this.nativeAnoncreds.anoncreds_schema_from_json, options);
|
|
285
308
|
}
|
|
286
309
|
credentialFromJson(options) {
|
|
287
|
-
return this.objectFromJson(
|
|
310
|
+
return this.objectFromJson(this.nativeAnoncreds.anoncreds_credential_from_json, options);
|
|
288
311
|
}
|
|
289
312
|
revocationRegistryDefinitionPrivateFromJson(options) {
|
|
290
|
-
return this.objectFromJson(
|
|
291
|
-
}
|
|
292
|
-
revocationRegistryDeltaFromJson(options) {
|
|
293
|
-
return this.objectFromJson(library_1.nativeAnoncreds.anoncreds_revocation_registry_delta_from_json, options);
|
|
313
|
+
return this.objectFromJson(this.nativeAnoncreds.anoncreds_revocation_registry_definition_private_from_json, options);
|
|
294
314
|
}
|
|
295
315
|
credentialDefinitionFromJson(options) {
|
|
296
|
-
return this.objectFromJson(
|
|
316
|
+
return this.objectFromJson(this.nativeAnoncreds.anoncreds_credential_definition_from_json, options);
|
|
297
317
|
}
|
|
298
318
|
credentialDefinitionPrivateFromJson(options) {
|
|
299
|
-
return this.objectFromJson(
|
|
319
|
+
return this.objectFromJson(this.nativeAnoncreds.anoncreds_credential_definition_private_from_json, options);
|
|
300
320
|
}
|
|
301
321
|
keyCorrectnessProofFromJson(options) {
|
|
302
|
-
return this.objectFromJson(
|
|
322
|
+
return this.objectFromJson(this.nativeAnoncreds.anoncreds_key_correctness_proof_from_json, options);
|
|
303
323
|
}
|
|
304
324
|
getJson(options) {
|
|
305
325
|
const ret = (0, ffi_1.allocateByteBuffer)();
|
|
306
326
|
const { objectHandle } = (0, ffi_1.serializeArguments)(options);
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
const
|
|
310
|
-
|
|
327
|
+
this.nativeAnoncreds.anoncreds_object_get_json(objectHandle, ret);
|
|
328
|
+
this.handleError();
|
|
329
|
+
const returnValue = handleReturnPointer(ret);
|
|
330
|
+
const jsonAsArray = new Uint8Array((0, ffi_1.byteBufferToBuffer)(returnValue));
|
|
331
|
+
const output = new util_1.TextDecoder().decode(jsonAsArray);
|
|
332
|
+
this.nativeAnoncreds.anoncreds_buffer_free(returnValue.data);
|
|
333
|
+
return output;
|
|
311
334
|
}
|
|
312
335
|
getTypeName(options) {
|
|
313
336
|
const { objectHandle } = (0, ffi_1.serializeArguments)(options);
|
|
314
337
|
const ret = (0, ffi_1.allocateStringBuffer)();
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
return ret.
|
|
338
|
+
this.nativeAnoncreds.anoncreds_object_get_type_name(objectHandle, ret);
|
|
339
|
+
this.handleError();
|
|
340
|
+
return handleReturnPointer(ret, this.nativeAnoncreds.anoncreds_string_free);
|
|
318
341
|
}
|
|
319
342
|
objectFree(options) {
|
|
320
|
-
|
|
321
|
-
|
|
343
|
+
this.nativeAnoncreds.anoncreds_object_free(options.objectHandle.handle);
|
|
344
|
+
this.handleError();
|
|
322
345
|
}
|
|
323
346
|
}
|
|
324
347
|
exports.NodeJSAnoncreds = NodeJSAnoncreds;
|