@sphereon/ssi-sdk.ebsi-support 0.27.0 → 0.27.1-next.12

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.
Files changed (45) hide show
  1. package/dist/agent/EbsiSupport.d.ts +2 -0
  2. package/dist/agent/EbsiSupport.d.ts.map +1 -1
  3. package/dist/agent/EbsiSupport.js +213 -185
  4. package/dist/agent/EbsiSupport.js.map +1 -1
  5. package/dist/did/EbsiDidProvider.d.ts.map +1 -1
  6. package/dist/did/EbsiDidProvider.js +174 -136
  7. package/dist/did/EbsiDidProvider.js.map +1 -1
  8. package/dist/did/EbsiDidResolver.js +19 -6
  9. package/dist/did/EbsiDidResolver.js.map +1 -1
  10. package/dist/did/functions.d.ts +3 -9
  11. package/dist/did/functions.d.ts.map +1 -1
  12. package/dist/did/functions.js +158 -120
  13. package/dist/did/functions.js.map +1 -1
  14. package/dist/did/index.js +28 -5
  15. package/dist/did/index.js.map +1 -1
  16. package/dist/did/services/EbsiRPCService.js +36 -20
  17. package/dist/did/services/EbsiRPCService.js.map +1 -1
  18. package/dist/did/services/EbsiRestService.js +37 -19
  19. package/dist/did/services/EbsiRestService.js.map +1 -1
  20. package/dist/did/types.d.ts +9 -1
  21. package/dist/did/types.d.ts.map +1 -1
  22. package/dist/did/types.js +10 -7
  23. package/dist/did/types.js.map +1 -1
  24. package/dist/functions/Attestation.js +79 -69
  25. package/dist/functions/Attestation.js.map +1 -1
  26. package/dist/functions/AttestationHeadlessCallbacks.js +91 -72
  27. package/dist/functions/AttestationHeadlessCallbacks.js.map +1 -1
  28. package/dist/functions/index.js +32 -4
  29. package/dist/functions/index.js.map +1 -1
  30. package/dist/index.d.ts +1 -1
  31. package/dist/index.d.ts.map +1 -1
  32. package/dist/index.js +26 -6
  33. package/dist/index.js.map +1 -1
  34. package/dist/types/IEbsiSupport.d.ts +2 -0
  35. package/dist/types/IEbsiSupport.d.ts.map +1 -1
  36. package/dist/types/IEbsiSupport.js +5 -2
  37. package/dist/types/IEbsiSupport.js.map +1 -1
  38. package/package.json +13 -12
  39. package/plugin.schema.json +2030 -0
  40. package/src/agent/EbsiSupport.ts +17 -1
  41. package/src/did/EbsiDidProvider.ts +19 -1
  42. package/src/did/functions.ts +5 -12
  43. package/src/did/types.ts +9 -2
  44. package/src/index.ts +1 -1
  45. package/src/types/IEbsiSupport.ts +3 -0
@@ -1,27 +1,64 @@
1
- import { randomBytes } from '@ethersproject/random';
2
- import { CreateRequestObjectMode } from '@sphereon/oid4vci-common';
3
- import { getControllerKey, getEthereumAddressFromKey, getKeys } from '@sphereon/ssi-sdk-ext.did-utils';
4
- import { calculateJwkThumbprint, calculateJwkThumbprintForKey, JwkKeyUse, toJwk } from '@sphereon/ssi-sdk-ext.key-utils';
5
- import { getBytes, SigningKey, Transaction } from 'ethers';
6
- import { base58btc } from 'multiformats/bases/base58';
7
- import * as u8a from 'uint8arrays';
8
- import { getEbsiApiBaseUrl, wait } from '../functions';
9
- import { logger } from '../index';
10
- import { ebsiWaitTillDocumentAnchored } from './services/EbsiRestService';
11
- import { callRpcMethod } from './services/EbsiRPCService';
12
- import { BASE_CONTEXT_DOC, EBSI_DID_SPEC_INFOS, EbsiPublicKeyPurpose, EbsiRpcMethod, } from './types';
13
- export function generateEbsiMethodSpecificId(specInfo) {
14
- const spec = specInfo ?? EBSI_DID_SPEC_INFOS.V1;
15
- const length = spec.didLength ?? 16;
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
+ return new (P || (P = Promise))(function (resolve, reject) {
28
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
32
+ });
33
+ };
34
+ Object.defineProperty(exports, "__esModule", { value: true });
35
+ exports.ebsiCreateDidOnLedger = exports.randomRpcId = exports.setDefaultPurposes = exports.assertedPurposes = exports.toMinimalImportableKey = exports.ebsiGenerateOrUseKeyPair = exports.ebsiSignAndSendTransaction = exports.determineWellknownEndpoint = exports.ebsiGetRegistryAPIUrls = exports.ebsiGetAuthorisationServer = exports.ebsiGetIssuerMock = exports.formatEbsiPublicKey = exports.generateOrUseProvidedEbsiPrivateKeyHex = exports.generateEbsiMethodSpecificId = void 0;
36
+ const random_1 = require("@ethersproject/random");
37
+ const oid4vci_common_1 = require("@sphereon/oid4vci-common");
38
+ const ssi_sdk_ext_did_utils_1 = require("@sphereon/ssi-sdk-ext.did-utils");
39
+ const ssi_sdk_ext_key_utils_1 = require("@sphereon/ssi-sdk-ext.key-utils");
40
+ const ethers_1 = require("ethers");
41
+ const base58_1 = require("multiformats/bases/base58");
42
+ const u8a = __importStar(require("uint8arrays"));
43
+ const functions_1 = require("../functions");
44
+ const index_1 = require("../index");
45
+ const EbsiRestService_1 = require("./services/EbsiRestService");
46
+ const EbsiRPCService_1 = require("./services/EbsiRPCService");
47
+ const types_1 = require("./types");
48
+ function generateEbsiMethodSpecificId(specInfo) {
49
+ var _a;
50
+ const spec = specInfo !== null && specInfo !== void 0 ? specInfo : types_1.EBSI_DID_SPEC_INFOS.V1;
51
+ const length = (_a = spec.didLength) !== null && _a !== void 0 ? _a : 16;
16
52
  const result = new Uint8Array(length + (spec.version ? 1 : 0));
17
53
  if (spec.version) {
18
54
  result.set([spec.version]);
19
55
  }
20
- result.set(randomBytes(length), spec.version ? 1 : 0);
21
- return base58btc.encode(result);
56
+ result.set((0, random_1.randomBytes)(length), spec.version ? 1 : 0);
57
+ return base58_1.base58btc.encode(result);
22
58
  }
23
- export function generateOrUseProvidedEbsiPrivateKeyHex(specInfo, privateKeyBytes) {
24
- const spec = specInfo ?? EBSI_DID_SPEC_INFOS.V1;
59
+ exports.generateEbsiMethodSpecificId = generateEbsiMethodSpecificId;
60
+ function generateOrUseProvidedEbsiPrivateKeyHex(specInfo, privateKeyBytes) {
61
+ const spec = specInfo !== null && specInfo !== void 0 ? specInfo : types_1.EBSI_DID_SPEC_INFOS.V1;
25
62
  const length = spec.didLength ? 2 * spec.didLength : 32;
26
63
  if (privateKeyBytes) {
27
64
  if (privateKeyBytes.length !== length) {
@@ -29,8 +66,9 @@ export function generateOrUseProvidedEbsiPrivateKeyHex(specInfo, privateKeyBytes
29
66
  }
30
67
  return u8a.toString(privateKeyBytes, 'base16');
31
68
  }
32
- return u8a.toString(randomBytes(length), 'base16');
69
+ return u8a.toString((0, random_1.randomBytes)(length), 'base16');
33
70
  }
71
+ exports.generateOrUseProvidedEbsiPrivateKeyHex = generateOrUseProvidedEbsiPrivateKeyHex;
34
72
  /**
35
73
  * Returns the public key in the correct format to be used with the did registry v5
36
74
  * - in case of Secp256k1 - returns the uncompressed public key as hex string prefixed with 0x04
@@ -41,19 +79,19 @@ export function generateOrUseProvidedEbsiPrivateKeyHex(specInfo, privateKeyBytes
41
79
  * @returns {string} The properly formatted public key
42
80
  * @throws {Error} If the key type is invalid
43
81
  */
44
- export const formatEbsiPublicKey = (args) => {
82
+ const formatEbsiPublicKey = (args) => {
45
83
  const { key, type } = args;
46
84
  switch (type) {
47
85
  case 'Secp256k1': {
48
- const bytes = getBytes('0x' + key.publicKeyHex, 'key');
49
- return SigningKey.computePublicKey(bytes, false);
86
+ const bytes = (0, ethers_1.getBytes)('0x' + key.publicKeyHex, 'key');
87
+ return ethers_1.SigningKey.computePublicKey(bytes, false);
50
88
  }
51
89
  case 'Secp256r1': {
52
90
  /*
53
91
  Public key as hex string. For an ES256K key, it must be in uncompressed format prefixed with "0x04".
54
92
  For other algorithms, it must be the JWK transformed to string and then to hex format.
55
93
  */
56
- const jwk = toJwk(key.publicKeyHex, type, { use: JwkKeyUse.Signature, key });
94
+ const jwk = (0, ssi_sdk_ext_key_utils_1.toJwk)(key.publicKeyHex, type, { use: ssi_sdk_ext_key_utils_1.JwkKeyUse.Signature, key });
57
95
  /*
58
96
  Converting JWK to string and then hex is odd and may lead to errors. Implementing
59
97
  it like that because it's how EBSI does it. However, it may be a point of pain
@@ -66,33 +104,39 @@ export const formatEbsiPublicKey = (args) => {
66
104
  throw new Error(`Unsupported key type: ${type}`);
67
105
  }
68
106
  };
69
- export const ebsiGetIssuerMock = (args) => {
107
+ exports.formatEbsiPublicKey = formatEbsiPublicKey;
108
+ const ebsiGetIssuerMock = (args) => {
70
109
  const { environment = 'conformance', version = 'v3' } = args;
71
110
  if (environment === 'pilot') {
72
111
  throw Error(`EBSI Pilot network does not have a issuer mock server`);
73
112
  }
74
- return `${getEbsiApiBaseUrl({ environment, version, system: environment })}/issuer-mock`;
113
+ return `${(0, functions_1.getEbsiApiBaseUrl)({ environment, version, system: environment })}/issuer-mock`;
75
114
  };
76
- export const ebsiGetAuthorisationServer = (args) => {
115
+ exports.ebsiGetIssuerMock = ebsiGetIssuerMock;
116
+ const ebsiGetAuthorisationServer = (args) => {
77
117
  const { environment = 'pilot', version = 'v4' } = args;
78
- return `${getEbsiApiBaseUrl({ environment, version, system: 'authorisation' })}`;
118
+ return `${(0, functions_1.getEbsiApiBaseUrl)({ environment, version, system: 'authorisation' })}`;
79
119
  };
80
- export const ebsiGetRegistryAPIUrls = (args) => {
120
+ exports.ebsiGetAuthorisationServer = ebsiGetAuthorisationServer;
121
+ const ebsiGetRegistryAPIUrls = (args) => {
81
122
  const { environment = 'pilot', version = 'v5' } = args;
82
- const baseUrl = `${getEbsiApiBaseUrl({ environment, version, system: 'did-registry' })}`;
123
+ const baseUrl = `${(0, functions_1.getEbsiApiBaseUrl)({ environment, version, system: 'did-registry' })}`;
83
124
  return {
84
125
  mutate: `${baseUrl}/jsonrpc`,
85
126
  query: `${baseUrl}/identifiers`,
86
127
  };
87
128
  };
88
- export const determineWellknownEndpoint = ({ environment, version, type, system = environment, mock }) => {
89
- const url = `${getEbsiApiBaseUrl({ environment, version, system })}${mock ? `/${mock}` : ''}/.well-known/${type}`;
90
- logger.debug(`wellknown url: ${url}`);
129
+ exports.ebsiGetRegistryAPIUrls = ebsiGetRegistryAPIUrls;
130
+ const determineWellknownEndpoint = ({ environment, version, type, system = environment, mock }) => {
131
+ const url = `${(0, functions_1.getEbsiApiBaseUrl)({ environment, version, system })}${mock ? `/${mock}` : ''}/.well-known/${type}`;
132
+ index_1.logger.debug(`wellknown url: ${url}`);
91
133
  return url;
92
134
  };
93
- export const ebsiSignAndSendTransaction = async (args, context) => {
135
+ exports.determineWellknownEndpoint = determineWellknownEndpoint;
136
+ const ebsiSignAndSendTransaction = (args, context) => __awaiter(void 0, void 0, void 0, function* () {
137
+ var _a;
94
138
  const { rpcRequest, accessToken, kid, apiOpts, previousTxResponse } = args;
95
- const unsignedTxResponse = await callRpcMethod(rpcRequest);
139
+ const unsignedTxResponse = yield (0, EbsiRPCService_1.callRpcMethod)(rpcRequest);
96
140
  const nonce = 'result' in unsignedTxResponse ? unsignedTxResponse.result.nonce : undefined;
97
141
  // We should get a new nonce once the actual previous transaction has been anchored. Thus we retry if the nonce remains the same
98
142
  if (previousTxResponse &&
@@ -101,12 +145,12 @@ export const ebsiSignAndSendTransaction = async (args, context) => {
101
145
  'nonce' in unsignedTxResponse.result &&
102
146
  typeof unsignedTxResponse.result === 'object' &&
103
147
  previousTxResponse.nonce === unsignedTxResponse.result.nonce) {
104
- await wait(1_000);
105
- return await ebsiSignAndSendTransaction({ ...args, previousTxResponse }, context);
148
+ yield (0, functions_1.wait)(1000);
149
+ return yield (0, exports.ebsiSignAndSendTransaction)(Object.assign(Object.assign({}, args), { previousTxResponse }), context);
106
150
  }
107
151
  if ('error' in unsignedTxResponse && !!unsignedTxResponse.error) {
108
- logger.error(JSON.stringify(unsignedTxResponse));
109
- throw new Error(unsignedTxResponse.error.message ?? 'Unknown error occurred');
152
+ index_1.logger.error(JSON.stringify(unsignedTxResponse));
153
+ throw new Error((_a = unsignedTxResponse.error.message) !== null && _a !== void 0 ? _a : 'Unknown error occurred');
110
154
  }
111
155
  const unsignedTx = unsignedTxResponse.result;
112
156
  const agentUnsignedTx = JSON.parse(JSON.stringify(unsignedTx));
@@ -114,13 +158,13 @@ export const ebsiSignAndSendTransaction = async (args, context) => {
114
158
  // We expect the chain id to be a regular number and not a hex string
115
159
  agentUnsignedTx.chainId = Number.parseInt(unsignedTx.chainId, 16);
116
160
  }
117
- const signedRawTx = await context.agent.keyManagerSignEthTX({
161
+ const signedRawTx = yield context.agent.keyManagerSignEthTX({
118
162
  kid,
119
163
  transaction: agentUnsignedTx,
120
164
  });
121
- const sig = Transaction.from(signedRawTx).signature;
165
+ const sig = ethers_1.Transaction.from(signedRawTx).signature;
122
166
  const { r, s, v } = sig;
123
- const sTResponse = await callRpcMethod({
167
+ const sTResponse = yield (0, EbsiRPCService_1.callRpcMethod)({
124
168
  params: [
125
169
  {
126
170
  protocol: 'eth',
@@ -131,7 +175,7 @@ export const ebsiSignAndSendTransaction = async (args, context) => {
131
175
  signedRawTransaction: signedRawTx,
132
176
  },
133
177
  ],
134
- rpcMethod: EbsiRpcMethod.SEND_SIGNED_TRANSACTION,
178
+ rpcMethod: types_1.EbsiRpcMethod.SEND_SIGNED_TRANSACTION,
135
179
  rpcId: unsignedTxResponse.id,
136
180
  apiOpts,
137
181
  accessToken: accessToken,
@@ -139,128 +183,135 @@ export const ebsiSignAndSendTransaction = async (args, context) => {
139
183
  if ('status' in sTResponse) {
140
184
  throw new Error(JSON.stringify(sTResponse, null, 2));
141
185
  }
142
- return { ...sTResponse, nonce };
143
- };
144
- export const ebsiGenerateOrUseKeyPair = async (args, context) => {
186
+ return Object.assign(Object.assign({}, sTResponse), { nonce });
187
+ });
188
+ exports.ebsiSignAndSendTransaction = ebsiSignAndSendTransaction;
189
+ const ebsiGenerateOrUseKeyPair = (args, context) => __awaiter(void 0, void 0, void 0, function* () {
145
190
  const { keyOpts, keyType, kms, controllerKey = false } = args;
146
- let privateKeyHex = generateOrUseProvidedEbsiPrivateKeyHex(EBSI_DID_SPEC_INFOS.V1, keyOpts?.privateKeyHex ? u8a.fromString(keyOpts.privateKeyHex, 'base16') : undefined);
191
+ let privateKeyHex = generateOrUseProvidedEbsiPrivateKeyHex(types_1.EBSI_DID_SPEC_INFOS.V1, (keyOpts === null || keyOpts === void 0 ? void 0 : keyOpts.privateKeyHex) ? u8a.fromString(keyOpts.privateKeyHex, 'base16') : undefined);
147
192
  if (privateKeyHex.startsWith('0x')) {
148
193
  privateKeyHex = privateKeyHex.substring(2);
149
194
  }
150
195
  if (!privateKeyHex || privateKeyHex.length !== 64) {
151
196
  throw new Error('Private key should be 32 bytes / 64 chars hex');
152
197
  }
153
- const importableKey = await toMinimalImportableKey({ key: { ...keyOpts, privateKeyHex }, type: keyType, kms });
198
+ const importableKey = yield (0, exports.toMinimalImportableKey)({ key: Object.assign(Object.assign({}, keyOpts), { privateKeyHex }), type: keyType, kms });
154
199
  if (keyType === 'Secp256k1') {
155
- importableKey.meta = {
156
- ...importableKey.meta,
157
- ebsi: {
200
+ importableKey.meta = Object.assign(Object.assign({}, importableKey.meta), { ebsi: {
158
201
  anchored: false,
159
202
  controllerKey,
160
- },
161
- };
203
+ } });
162
204
  }
163
205
  return importableKey;
164
- };
165
- export const toMinimalImportableKey = async (args) => {
206
+ });
207
+ exports.ebsiGenerateOrUseKeyPair = ebsiGenerateOrUseKeyPair;
208
+ const toMinimalImportableKey = (args) => __awaiter(void 0, void 0, void 0, function* () {
209
+ var _b, _c, _d;
166
210
  const { key, kms } = args;
167
- const minimalImportableKey = { ...key };
168
- const type = args.key?.type ?? args.type;
211
+ const minimalImportableKey = Object.assign({}, key);
212
+ const type = (_c = (_b = args.key) === null || _b === void 0 ? void 0 : _b.type) !== null && _c !== void 0 ? _c : args.type;
169
213
  minimalImportableKey.kms = kms;
170
214
  minimalImportableKey.type = type;
171
215
  if (!minimalImportableKey.privateKeyHex) {
172
216
  throw Error(`Minimal importable key needs a private key`);
173
217
  }
174
218
  minimalImportableKey.meta = {
175
- purposes: assertedPurposes({ key }) ?? setDefaultPurposes({ key, type }),
176
- jwkThumbprint: calculateJwkThumbprintForKey({
219
+ purposes: (_d = (0, exports.assertedPurposes)({ key })) !== null && _d !== void 0 ? _d : (0, exports.setDefaultPurposes)({ key, type }),
220
+ jwkThumbprint: (0, ssi_sdk_ext_key_utils_1.calculateJwkThumbprintForKey)({
177
221
  key: minimalImportableKey,
178
222
  digestAlgorithm: 'sha256',
179
223
  }),
180
224
  };
181
225
  return minimalImportableKey;
182
- };
183
- export const assertedPurposes = (args) => {
226
+ });
227
+ exports.toMinimalImportableKey = toMinimalImportableKey;
228
+ const assertedPurposes = (args) => {
229
+ var _a;
184
230
  const { key } = args;
185
- if (key?.purposes && key.purposes.length > 0) {
231
+ if ((key === null || key === void 0 ? void 0 : key.purposes) && key.purposes.length > 0) {
186
232
  switch (key.type) {
187
233
  case 'Secp256k1': {
188
- if (key?.purposes && key.purposes.length > 0 && key.purposes?.includes(EbsiPublicKeyPurpose.CapabilityInvocation)) {
234
+ if ((key === null || key === void 0 ? void 0 : key.purposes) && key.purposes.length > 0 && ((_a = key.purposes) === null || _a === void 0 ? void 0 : _a.includes(types_1.EbsiPublicKeyPurpose.CapabilityInvocation))) {
189
235
  return key.purposes;
190
236
  }
191
- throw new Error(`Secp256k1/ES256K key requires ${EbsiPublicKeyPurpose.CapabilityInvocation} purpose`);
237
+ throw new Error(`Secp256k1/ES256K key requires ${types_1.EbsiPublicKeyPurpose.CapabilityInvocation} purpose`);
192
238
  }
193
239
  case 'Secp256r1': {
194
- if (key?.purposes &&
240
+ if ((key === null || key === void 0 ? void 0 : key.purposes) &&
195
241
  key.purposes.length > 0 &&
196
- key.purposes.every((purpose) => [EbsiPublicKeyPurpose.AssertionMethod, EbsiPublicKeyPurpose.Authentication].includes(purpose))) {
242
+ key.purposes.includes(types_1.EbsiPublicKeyPurpose.AssertionMethod) &&
243
+ key.purposes.includes(types_1.EbsiPublicKeyPurpose.Authentication)) {
197
244
  return key.purposes;
198
245
  }
199
- throw new Error(`Secp256r1/ES256 key requires ${[EbsiPublicKeyPurpose.AssertionMethod, EbsiPublicKeyPurpose.Authentication].join(', ')} purposes`);
246
+ throw new Error(`Secp256r1/ES256 key requires ${[types_1.EbsiPublicKeyPurpose.AssertionMethod, types_1.EbsiPublicKeyPurpose.Authentication].join(', ')} purposes`);
200
247
  }
201
248
  default:
202
249
  throw new Error(`Unsupported key type: ${key.type}`);
203
250
  }
204
251
  }
205
- return key?.purposes;
252
+ return key === null || key === void 0 ? void 0 : key.purposes;
206
253
  };
207
- export const setDefaultPurposes = (args) => {
254
+ exports.assertedPurposes = assertedPurposes;
255
+ const setDefaultPurposes = (args) => {
208
256
  const { key, type } = args;
209
- if (!key?.purposes || key.purposes.length === 0) {
257
+ if (!(key === null || key === void 0 ? void 0 : key.purposes) || key.purposes.length === 0) {
210
258
  switch (type) {
211
259
  case 'Secp256k1':
212
- return [EbsiPublicKeyPurpose.CapabilityInvocation];
260
+ return [types_1.EbsiPublicKeyPurpose.CapabilityInvocation];
213
261
  case 'Secp256r1':
214
- return [EbsiPublicKeyPurpose.AssertionMethod, EbsiPublicKeyPurpose.Authentication];
262
+ return [types_1.EbsiPublicKeyPurpose.AssertionMethod, types_1.EbsiPublicKeyPurpose.Authentication];
215
263
  default:
216
- throw new Error(`Unsupported key type: ${key?.type}`);
264
+ throw new Error(`Unsupported key type: ${key === null || key === void 0 ? void 0 : key.type}`);
217
265
  }
218
266
  }
219
267
  return key.purposes;
220
268
  };
221
- export const randomRpcId = () => {
269
+ exports.setDefaultPurposes = setDefaultPurposes;
270
+ const randomRpcId = () => {
222
271
  return Math.floor(Math.random() * Number.MAX_SAFE_INTEGER);
223
272
  };
224
- export const ebsiCreateDidOnLedger = async (args, context) => {
273
+ exports.randomRpcId = randomRpcId;
274
+ const ebsiCreateDidOnLedger = (args, context) => __awaiter(void 0, void 0, void 0, function* () {
275
+ var _e, _f, _g;
225
276
  const { accessTokenOpts, notBefore = Math.floor(Date.now() / 1000 - 60), notAfter = Math.floor(Date.now() / 1000 + 10 * 365 * 24 * 60 * 60), baseDocument, identifier, } = args;
226
277
  const { clientId, redirectUri, environment, credentialIssuer } = accessTokenOpts;
227
- const controllerKey = getControllerKey({ identifier });
228
- const secp256r1 = getKeys({ identifier, keyType: 'Secp256r1' })?.[0];
278
+ const controllerKey = (0, ssi_sdk_ext_did_utils_1.getControllerKey)({ identifier });
279
+ const secp256r1 = (_e = (0, ssi_sdk_ext_did_utils_1.getKeys)({ identifier, keyType: 'Secp256r1' })) === null || _e === void 0 ? void 0 : _e[0];
229
280
  let { attestationToOnboard } = accessTokenOpts;
230
281
  if (!controllerKey || !secp256r1) {
231
282
  return Promise.reject(`No secp256k1 controller key and/or secp2561r key found for identifier ${identifier}`);
232
283
  }
233
- const from = getEthereumAddressFromKey({ key: controllerKey });
284
+ const from = (0, ssi_sdk_ext_did_utils_1.getEthereumAddressFromKey)({ key: controllerKey });
234
285
  if (!from) {
235
286
  return Promise.reject(Error(`EBSI 'from' address expected for key ${controllerKey.publicKeyHex}`));
236
287
  }
237
288
  const did = identifier.did;
238
289
  const kid = controllerKey.kid;
239
290
  const idOpts = { identifier, kid };
240
- let rpcId = args.rpcId ?? randomRpcId();
291
+ let rpcId = (_f = args.rpcId) !== null && _f !== void 0 ? _f : (0, exports.randomRpcId)();
241
292
  const apiOpts = {
242
293
  environment,
243
294
  version: 'v5',
244
295
  };
245
- const jwksUri = args.accessTokenOpts.jwksUri ?? `${clientId}/.well-known/jwks/dids/${encodeURIComponent(identifier.did)}.json`;
296
+ const jwksUri = (_g = args.accessTokenOpts.jwksUri) !== null && _g !== void 0 ? _g : `${clientId}/.well-known/jwks/dids/${encodeURIComponent(identifier.did)}.json`;
246
297
  if (!attestationToOnboard) {
247
- const authReqResult = await context.agent.ebsiCreateAttestationAuthRequestURL({
298
+ const authReqResult = yield context.agent.ebsiCreateAttestationAuthRequestURL({
248
299
  credentialIssuer,
249
300
  idOpts,
250
301
  formats: ['jwt_vc'],
251
302
  clientId,
252
303
  redirectUri,
253
304
  credentialType: 'VerifiableAuthorisationToOnboard',
254
- requestObjectOpts: { iss: clientId, requestObjectMode: CreateRequestObjectMode.REQUEST_OBJECT, jwksUri },
305
+ requestObjectOpts: { iss: clientId, requestObjectMode: oid4vci_common_1.CreateRequestObjectMode.REQUEST_OBJECT, jwksUri },
255
306
  });
256
- const attestationResult = await context.agent.ebsiGetAttestation({
307
+ const attestationResult = yield context.agent.ebsiGetAttestation({
257
308
  clientId,
258
309
  authReqResult,
259
- opts: { timeout: 120_000 },
310
+ opts: { timeout: 120000 },
260
311
  });
261
312
  attestationToOnboard = attestationResult.credentials[0].rawVerifiableCredential;
262
313
  }
263
- const insertDidAccessTokenResponse = await context.agent.ebsiAccessTokenGet({
314
+ const insertDidAccessTokenResponse = yield context.agent.ebsiAccessTokenGet({
264
315
  attestationCredential: attestationToOnboard,
265
316
  jwksUri,
266
317
  scope: 'didr_invite',
@@ -276,40 +327,33 @@ export const ebsiCreateDidOnLedger = async (args, context) => {
276
327
  {
277
328
  from,
278
329
  did,
279
- baseDocument: baseDocument ?? BASE_CONTEXT_DOC,
280
- vMethodId: calculateJwkThumbprint({ jwk: toJwk(controllerKey.publicKeyHex, 'Secp256k1') }),
330
+ baseDocument: baseDocument !== null && baseDocument !== void 0 ? baseDocument : types_1.BASE_CONTEXT_DOC,
331
+ vMethodId: (0, ssi_sdk_ext_key_utils_1.calculateJwkThumbprint)({ jwk: (0, ssi_sdk_ext_key_utils_1.toJwk)(controllerKey.publicKeyHex, 'Secp256k1') }),
281
332
  isSecp256k1: true,
282
- publicKey: formatEbsiPublicKey({ key: controllerKey, type: 'Secp256k1' }),
333
+ publicKey: (0, exports.formatEbsiPublicKey)({ key: controllerKey, type: 'Secp256k1' }),
283
334
  notBefore,
284
335
  notAfter,
285
336
  },
286
337
  ],
287
- rpcMethod: EbsiRpcMethod.INSERT_DID_DOCUMENT,
338
+ rpcMethod: types_1.EbsiRpcMethod.INSERT_DID_DOCUMENT,
288
339
  rpcId,
289
340
  apiOpts,
290
341
  accessToken: insertDidAccessTokenResponse.accessTokenResponse.access_token,
291
342
  };
292
- const insertDidDocResponse = await ebsiSignAndSendTransaction({
343
+ const insertDidDocResponse = yield (0, exports.ebsiSignAndSendTransaction)({
293
344
  rpcRequest: insertDidDocRequest,
294
345
  kid,
295
346
  accessToken: insertDidAccessTokenResponse.accessTokenResponse.access_token,
296
347
  apiOpts,
297
348
  }, context);
298
- let anchorTime = await ebsiWaitTillDocumentAnchored({
299
- did,
300
- ...apiOpts,
301
- maxWaitTime: 30_000,
302
- startIntervalMS: 2000,
303
- minIntervalMS: 500,
304
- decreaseIntervalMSPerStep: 750,
305
- });
349
+ let anchorTime = yield (0, EbsiRestService_1.ebsiWaitTillDocumentAnchored)(Object.assign(Object.assign({ did }, apiOpts), { maxWaitTime: 30000, startIntervalMS: 2000, minIntervalMS: 500, decreaseIntervalMSPerStep: 750 }));
306
350
  if (!anchorTime.didDocument) {
307
351
  throw Error(`did ${did} was not registered on EBSI network ${apiOpts.environment} in 45 seconds`);
308
352
  }
309
- logger.debug(`Anchoring did ${did} on network ${apiOpts.environment} took ${anchorTime.totalWaitTime / 1000} seconds in ${anchorTime.count} tries`);
353
+ index_1.logger.debug(`Anchoring did ${did} on network ${apiOpts.environment} took ${anchorTime.totalWaitTime / 1000} seconds in ${anchorTime.count} tries`);
310
354
  // Update to the controller key for the remainder
311
- idOpts.kid = calculateJwkThumbprintForKey({ key: controllerKey });
312
- const addVMAccessTokenResponse = await context.agent.ebsiAccessTokenGet({
355
+ idOpts.kid = (0, ssi_sdk_ext_key_utils_1.calculateJwkThumbprintForKey)({ key: controllerKey });
356
+ const addVMAccessTokenResponse = yield context.agent.ebsiAccessTokenGet({
313
357
  // attestationCredential: attestationToOnboard,
314
358
  jwksUri,
315
359
  scope: 'didr_write',
@@ -320,8 +364,8 @@ export const ebsiCreateDidOnLedger = async (args, context) => {
320
364
  environment,
321
365
  skipDidResolution: true,
322
366
  });
323
- const vMethodId = calculateJwkThumbprint({ jwk: toJwk(secp256r1.publicKeyHex, 'Secp256r1') });
324
- const publicKey = formatEbsiPublicKey({ key: secp256r1, type: 'Secp256r1' });
367
+ const vMethodId = (0, ssi_sdk_ext_key_utils_1.calculateJwkThumbprint)({ jwk: (0, ssi_sdk_ext_key_utils_1.toJwk)(secp256r1.publicKeyHex, 'Secp256r1') });
368
+ const publicKey = (0, exports.formatEbsiPublicKey)({ key: secp256r1, type: 'Secp256r1' });
325
369
  const addVerificationMethodRequest = {
326
370
  params: [
327
371
  {
@@ -332,12 +376,12 @@ export const ebsiCreateDidOnLedger = async (args, context) => {
332
376
  publicKey,
333
377
  },
334
378
  ],
335
- rpcMethod: EbsiRpcMethod.ADD_VERIFICATION_METHOD,
379
+ rpcMethod: types_1.EbsiRpcMethod.ADD_VERIFICATION_METHOD,
336
380
  rpcId,
337
381
  apiOpts,
338
382
  accessToken: addVMAccessTokenResponse.accessTokenResponse.access_token,
339
383
  };
340
- const addVerificationMethodResponse = await ebsiSignAndSendTransaction({
384
+ const addVerificationMethodResponse = yield (0, exports.ebsiSignAndSendTransaction)({
341
385
  rpcRequest: addVerificationMethodRequest,
342
386
  previousTxResponse: insertDidDocResponse,
343
387
  kid,
@@ -346,7 +390,7 @@ export const ebsiCreateDidOnLedger = async (args, context) => {
346
390
  }, context);
347
391
  // We need to wait, even after the anchor. The methods below also retry in case the nonce does not get updated.
348
392
  // But we simply know that at this point we need to introduce some delay
349
- await wait(2_000);
393
+ yield (0, functions_1.wait)(2000);
350
394
  const addAssertionMethodRelationshipRequest = {
351
395
  params: [
352
396
  {
@@ -358,30 +402,23 @@ export const ebsiCreateDidOnLedger = async (args, context) => {
358
402
  notBefore,
359
403
  },
360
404
  ],
361
- rpcMethod: EbsiRpcMethod.ADD_VERIFICATION_RELATIONSHIP,
405
+ rpcMethod: types_1.EbsiRpcMethod.ADD_VERIFICATION_RELATIONSHIP,
362
406
  rpcId,
363
407
  apiOpts,
364
408
  accessToken: addVMAccessTokenResponse.accessTokenResponse.access_token,
365
409
  };
366
- const addAssertionMethodRelationshipResponse = await ebsiSignAndSendTransaction({
410
+ const addAssertionMethodRelationshipResponse = yield (0, exports.ebsiSignAndSendTransaction)({
367
411
  rpcRequest: addAssertionMethodRelationshipRequest,
368
412
  previousTxResponse: addVerificationMethodResponse,
369
413
  kid,
370
414
  accessToken: addVMAccessTokenResponse.accessTokenResponse.access_token,
371
415
  apiOpts,
372
416
  }, context);
373
- anchorTime = await ebsiWaitTillDocumentAnchored({
374
- did,
375
- ...apiOpts,
376
- maxWaitTime: 20_000,
377
- minIntervalMS: 500,
378
- decreaseIntervalMSPerStep: 500,
379
- searchForObject: { assertionMethod: [`${did}#${vMethodId}`] },
380
- });
417
+ anchorTime = yield (0, EbsiRestService_1.ebsiWaitTillDocumentAnchored)(Object.assign(Object.assign({ did }, apiOpts), { maxWaitTime: 20000, minIntervalMS: 500, decreaseIntervalMSPerStep: 500, searchForObject: { assertionMethod: [`${did}#${vMethodId}`] } }));
381
418
  if (!anchorTime.didDocument) {
382
419
  throw Error(`did ${did} assertionMethod id ${vMethodId} was not registered on EBSI network ${apiOpts.environment} in 20 seconds`);
383
420
  }
384
- logger.debug(`Anchoring assertionMethod ${vMethodId} for DID ${did} on network ${apiOpts.environment} took ${anchorTime.totalWaitTime / 1000} seconds in ${anchorTime.count} tries`);
421
+ index_1.logger.debug(`Anchoring assertionMethod ${vMethodId} for DID ${did} on network ${apiOpts.environment} took ${anchorTime.totalWaitTime / 1000} seconds in ${anchorTime.count} tries`);
385
422
  const addAuthenticationRelationshipRequest = {
386
423
  params: [
387
424
  {
@@ -393,12 +430,12 @@ export const ebsiCreateDidOnLedger = async (args, context) => {
393
430
  notBefore,
394
431
  },
395
432
  ],
396
- rpcMethod: EbsiRpcMethod.ADD_VERIFICATION_RELATIONSHIP,
433
+ rpcMethod: types_1.EbsiRpcMethod.ADD_VERIFICATION_RELATIONSHIP,
397
434
  rpcId,
398
435
  apiOpts,
399
436
  accessToken: addVMAccessTokenResponse.accessTokenResponse.access_token,
400
437
  };
401
- const addAuthenticationRelationshipResponse = await ebsiSignAndSendTransaction({
438
+ const addAuthenticationRelationshipResponse = yield (0, exports.ebsiSignAndSendTransaction)({
402
439
  rpcRequest: addAuthenticationRelationshipRequest,
403
440
  previousTxResponse: addAssertionMethodRelationshipResponse,
404
441
  kid,
@@ -412,5 +449,6 @@ export const ebsiCreateDidOnLedger = async (args, context) => {
412
449
  addAuthenticationRelationship: addAuthenticationRelationshipResponse,
413
450
  addAssertionMethodRelationship: addAssertionMethodRelationshipResponse,
414
451
  };
415
- };
452
+ });
453
+ exports.ebsiCreateDidOnLedger = ebsiCreateDidOnLedger;
416
454
  //# sourceMappingURL=functions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"functions.js","sourceRoot":"","sources":["../../src/did/functions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"functions.js","sourceRoot":"","sources":["../../src/did/functions.ts"],"names":[],"mappings":"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"}