@ledgerhq/vault-common 0.60.0 → 0.63.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.
@@ -1,6 +1,2 @@
1
- import { DevicesPool, Manifest, RunnableOptions } from "./types";
2
- interface BakeManifestOptions extends RunnableOptions {
3
- noApproval?: boolean;
4
- }
1
+ import { DevicesPool, Manifest, BakeManifestOptions } from "./types";
5
2
  export default function bakeManifest(_manifest: Manifest, pool: DevicesPool, options?: BakeManifestOptions): Promise<void>;
6
- export {};
@@ -1,23 +1,4 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
- }) : (function(o, m, k, k2) {
6
- if (k2 === undefined) k2 = k;
7
- o[k2] = m[k];
8
- }));
9
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
- Object.defineProperty(o, "default", { enumerable: true, value: v });
11
- }) : function(o, v) {
12
- o["default"] = v;
13
- });
14
- var __importStar = (this && this.__importStar) || function (mod) {
15
- if (mod && mod.__esModule) return mod;
16
- var result = {};
17
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
- __setModuleDefault(result, mod);
19
- return result;
20
- };
21
2
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
22
3
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
23
4
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -34,17 +15,17 @@ Object.defineProperty(exports, "__esModule", { value: true });
34
15
  const sortBy_1 = __importDefault(require("lodash/sortBy"));
35
16
  const utils_1 = require("./utils");
36
17
  const fetchTokens_1 = __importDefault(require("./fetchTokens"));
37
- const createOnboarding_1 = __importDefault(require("./createOnboarding"));
38
- const runOnboarding_1 = __importDefault(require("./runOnboarding"));
39
18
  const recipeManifest_1 = __importDefault(require("./recipeManifest"));
40
19
  const deserializeManifest_1 = __importDefault(require("./deserializeManifest"));
41
- const prepareRequest_1 = __importStar(require("./prepareRequest"));
42
20
  const utilsComparison_1 = require("./utilsComparison");
21
+ const createDefaultRunner_1 = __importDefault(require("./createDefaultRunner"));
22
+ const DEFAULT_QUORUM = 2;
43
23
  function bakeManifest(_manifest, pool, options = {}) {
44
24
  return __awaiter(this, void 0, void 0, function* () {
45
25
  const { logger = utils_1.SILENT_LOGGER } = options;
46
26
  const manifest = deserializeManifest_1.default(_manifest);
47
- yield runOnboarding_1.default(createOnboarding_1.default(pool), options);
27
+ const runner = options.runner || createDefaultRunner_1.default(pool, options);
28
+ yield runner.onboard();
48
29
  const manifestFromGate = yield recipeManifest_1.default(pool);
49
30
  const { rawData } = manifestFromGate;
50
31
  const { groupsByName, whitelistsByName, accountsByName, usersWithDevice, vaultEntitiesByName, } = rawData;
@@ -75,8 +56,9 @@ function bakeManifest(_manifest, pool, options = {}) {
75
56
  }, {}));
76
57
  const __accountsByName = Object.assign({}, accountsByName);
77
58
  let tokens = [];
78
- if (manifest.accounts &&
79
- manifest.accounts.find((account) => "contractAddress" in account)) {
59
+ const shouldLoadTokens = manifest.accounts &&
60
+ manifest.accounts.find((account) => "contractAddress" in account);
61
+ if (shouldLoadTokens) {
80
62
  const admin = yield pool.login(4);
81
63
  tokens = yield fetchTokens_1.default(admin, { logger });
82
64
  }
@@ -110,7 +92,22 @@ function bakeManifest(_manifest, pool, options = {}) {
110
92
  logger.step("Accounts");
111
93
  yield utils_1.queue(manifest.accounts, createAccount);
112
94
  }
95
+ if (manifest.quorum) {
96
+ logger.step("Quorum");
97
+ yield editQuorum(manifest.quorum);
98
+ }
113
99
  logger.success("Done");
100
+ function editQuorum(quorum) {
101
+ return __awaiter(this, void 0, void 0, function* () {
102
+ if (gateManifest.quorum === quorum ||
103
+ (quorum === DEFAULT_QUORUM && !gateManifest.quorum)) {
104
+ logger.info(`Quorum is already set to ${quorum}, skipping`);
105
+ return;
106
+ }
107
+ yield runner.editQuorum({ quorum });
108
+ logger.info(`Quorum updated to ${quorum}`);
109
+ });
110
+ }
114
111
  function genCreateAdminsAndOperators() {
115
112
  return function createGenericUser(user) {
116
113
  return __awaiter(this, void 0, void 0, function* () {
@@ -130,17 +127,8 @@ function bakeManifest(_manifest, pool, options = {}) {
130
127
  return;
131
128
  }
132
129
  const { device_id } = yield pool.lamAPI.createInvitation(username);
133
- const request = yield prepareRequest_1.performRequest({
134
- type: "CREATE_OPERATOR",
135
- username,
136
- user_id: device_id,
137
- is_api: true,
138
- view_all_override: apiUser.viewAll,
139
- }, pool, { noApproval: true });
140
- yield pool.lamAPI.registerUser(username, request.url_id);
141
- if (!options.noApproval) {
142
- yield pool.runWithQuorum((admin) => admin.approveRequest(request));
143
- }
130
+ const params = { user: apiUser, userID: device_id, name: username };
131
+ const request = yield runner.createAPIUser(params);
144
132
  __usersByName[request.user.username] = request.user;
145
133
  logger.info(`(+) Created LAM api user: ${username}`);
146
134
  });
@@ -160,121 +148,109 @@ function bakeManifest(_manifest, pool, options = {}) {
160
148
  __usersByName[existingUser.user.username] = existingUser.user;
161
149
  return;
162
150
  }
163
- const payload = prepareRequest_1.default({
164
- type: role === "operator" ? "CREATE_OPERATOR" : "CREATE_ADMIN",
165
- data: {
166
- userID,
167
- role,
168
- name,
169
- },
170
- });
171
- const request = yield prepareRequest_1.performRequest(payload, pool, {
172
- noApproval: true,
173
- });
174
- yield pool.registerDevice(device, request);
175
- if (!options.noApproval) {
176
- yield pool.runWithQuorum((admin) => admin.approveRequest(request));
177
- }
151
+ const createUserParams = { role, userID, name, device };
152
+ const request = yield runner.createUser(createUserParams);
178
153
  __usersByDevice[device] = request.user;
179
154
  __usersByName[request.user.username] = request.user;
180
155
  logger.info(`(+) Created ${name}`);
181
156
  });
182
157
  };
183
158
  }
184
- function createGroup(groupDesc) {
159
+ function createGroup(group) {
185
160
  return __awaiter(this, void 0, void 0, function* () {
186
161
  let isEdit = false;
187
- const existingGroup = groupsByName[groupDesc.name];
162
+ const existingGroup = groupsByName[group.name];
188
163
  const isApprovingPendingGroup = existingGroup &&
189
164
  existingGroup.status === "PENDING" &&
190
- groupDesc.status !== "PENDING";
165
+ group.status !== "PENDING";
191
166
  if (existingGroup) {
192
167
  if (existingGroup && existingGroup.status === "ACTIVE") {
193
168
  if (!gateManifest.groups) {
194
169
  throw new Error(`No groups in gate manifest`);
195
170
  }
196
- const groupFromGateManifest = gateManifest.groups.find((g) => g.name === groupDesc.name);
171
+ const groupFromGateManifest = gateManifest.groups.find((g) => g.name === group.name);
197
172
  if (!groupFromGateManifest) {
198
- throw new Error(`Can't find group ${groupDesc.name}`);
173
+ throw new Error(`Can't find group ${group.name}`);
199
174
  }
200
- isEdit = utilsComparison_1.areGroupsDifferent(groupFromGateManifest, groupDesc);
175
+ isEdit = utilsComparison_1.areGroupsDifferent(groupFromGateManifest, group);
201
176
  }
202
177
  if (!isEdit && !isApprovingPendingGroup) {
203
- logger.info(`Skipping creation of group ${groupDesc.name}`);
178
+ logger.info(`Skipping creation of group ${group.name}`);
204
179
  return;
205
180
  }
206
181
  }
207
182
  const data = {
208
- group: groupDesc,
183
+ group,
209
184
  usersByDevice: __usersByDevice,
210
185
  usersByName: __usersByName,
211
186
  existingGroup,
212
187
  };
213
- const payload = prepareRequest_1.default({
214
- type: isEdit ? "EDIT_GROUP" : "CREATE_GROUP",
188
+ const existingRequest = (!!isApprovingPendingGroup &&
189
+ !!existingGroup &&
190
+ existingGroup.last_request) ||
191
+ null;
192
+ const noApproval = shouldNotApprove(group) || shouldRejectRequest(group);
193
+ const bakeGroupParams = {
194
+ group,
215
195
  data,
216
- });
217
- const request = yield prepareRequest_1.performRequest(payload, pool, {
218
- noApproval: shouldNotApprove(groupDesc) || shouldRejectRequest(groupDesc),
219
- existingRequest: isApprovingPendingGroup &&
220
- !!existingGroup &&
221
- existingGroup.last_request,
222
- });
223
- __groupsIDsByName[groupDesc.name] =
196
+ noApproval,
197
+ existingRequest,
198
+ };
199
+ const request = isEdit
200
+ ? yield runner.editGroup(bakeGroupParams)
201
+ : yield runner.createGroup(bakeGroupParams);
202
+ __groupsIDsByName[group.name] =
224
203
  (existingGroup && existingGroup.id) || request.group.id;
225
- if (shouldRejectRequest(groupDesc)) {
204
+ if (shouldRejectRequest(group)) {
226
205
  const admin = yield pool.login(4);
227
206
  admin.rejectRequest(request.id);
228
- logger.info(`(+) Rejected group ${groupDesc.name}`);
207
+ logger.info(`(+) Rejected group ${group.name}`);
229
208
  }
230
209
  else {
231
- logger.info(`(+) ${isEdit ? "Edited" : "Created"} group ${groupDesc.name}`);
210
+ logger.info(`(+) ${isEdit ? "Edited" : "Created"} group ${group.name}`);
232
211
  }
233
212
  });
234
213
  }
235
- function createWhitelist(whitelistDesc) {
214
+ function createWhitelist(whitelist) {
236
215
  return __awaiter(this, void 0, void 0, function* () {
237
216
  let isEdit = false;
238
- const existingWhitelist = whitelistsByName[whitelistDesc.name];
217
+ const existingWhitelist = whitelistsByName[whitelist.name];
239
218
  const isApprovingPendingWhitelist = existingWhitelist &&
240
219
  existingWhitelist.status === "PENDING" &&
241
- whitelistDesc.status !== "PENDING";
220
+ whitelist.status !== "PENDING";
242
221
  if (existingWhitelist && existingWhitelist.status === "ACTIVE") {
243
222
  if (!gateManifest.whitelists) {
244
223
  throw new Error(`No whitelists in gate manifest`);
245
224
  }
246
- const whitelistFromGateManifest = gateManifest.whitelists.find((w) => w.name === whitelistDesc.name);
225
+ const whitelistFromGateManifest = gateManifest.whitelists.find((w) => w.name === whitelist.name);
247
226
  if (!whitelistFromGateManifest) {
248
- throw new Error(`Can't find whitelist ${whitelistDesc.name}`);
227
+ throw new Error(`Can't find whitelist ${whitelist.name}`);
249
228
  }
250
- isEdit = utilsComparison_1.areWhitelistsDifferent(whitelistFromGateManifest, whitelistDesc);
229
+ isEdit = utilsComparison_1.areWhitelistsDifferent(whitelistFromGateManifest, whitelist);
251
230
  if (!isEdit && !isApprovingPendingWhitelist) {
252
- logger.info(`Skipping creation of whitelist ${whitelistDesc.name}`);
231
+ logger.info(`Skipping creation of whitelist ${whitelist.name}`);
253
232
  return;
254
233
  }
255
234
  }
256
- const payload = prepareRequest_1.default({
257
- type: isEdit ? "EDIT_WHITELIST" : "CREATE_WHITELIST",
258
- data: {
259
- whitelist: whitelistDesc,
260
- existingWhitelist,
261
- },
262
- });
263
- const request = yield prepareRequest_1.performRequest(payload, pool, {
264
- noApproval: shouldNotApprove(whitelistDesc) || shouldRejectRequest(whitelistDesc),
265
- existingRequest: isApprovingPendingWhitelist &&
266
- !!existingWhitelist &&
267
- existingWhitelist.last_request,
268
- });
269
- __whitelistsIDsByName[whitelistDesc.name] =
235
+ const noApproval = shouldNotApprove(whitelist) || shouldRejectRequest(whitelist);
236
+ const existingRequest = (!!isApprovingPendingWhitelist &&
237
+ !!existingWhitelist &&
238
+ existingWhitelist.last_request) ||
239
+ null;
240
+ const data = { whitelist, existingWhitelist };
241
+ const bakeWLParams = { whitelist, data, existingRequest, noApproval };
242
+ const request = isEdit
243
+ ? yield runner.editWhitelist(bakeWLParams)
244
+ : yield runner.createWhitelist(bakeWLParams);
245
+ __whitelistsIDsByName[whitelist.name] =
270
246
  (existingWhitelist && existingWhitelist.id) || request.whitelist.id;
271
- if (shouldRejectRequest(whitelistDesc)) {
247
+ if (shouldRejectRequest(whitelist)) {
272
248
  const admin = yield pool.login(4);
273
249
  admin.rejectRequest(request.id);
274
- logger.info(`(+) Rejected whitelist ${whitelistDesc.name}`);
250
+ logger.info(`(+) Rejected whitelist ${whitelist.name}`);
275
251
  }
276
252
  else {
277
- logger.info(`(+) ${isEdit ? "Edited" : "Created"} whitelist ${whitelistDesc.name}`);
253
+ logger.info(`(+) ${isEdit ? "Edited" : "Created"} whitelist ${whitelist.name}`);
278
254
  }
279
255
  });
280
256
  }
@@ -316,16 +292,20 @@ function bakeManifest(_manifest, pool, options = {}) {
316
292
  accountsByName: __accountsByName,
317
293
  tokens,
318
294
  };
319
- const payload = prepareRequest_1.default({
320
- type: isEdit ? "EDIT_ACCOUNT" : "CREATE_ACCOUNT",
295
+ const existingRequest = (isApprovingPendingAccount &&
296
+ !!existingAccount &&
297
+ existingAccount.last_request) ||
298
+ null;
299
+ const noApproval = shouldNotApprove(accountDesc) || shouldRejectRequest(accountDesc);
300
+ const bakeAccountParams = {
301
+ account: accountDesc,
321
302
  data,
322
- });
323
- const request = yield prepareRequest_1.performRequest(payload, pool, {
324
- noApproval: shouldNotApprove(accountDesc) || shouldRejectRequest(accountDesc),
325
- existingRequest: isApprovingPendingAccount &&
326
- !!existingAccount &&
327
- existingAccount.last_request,
328
- });
303
+ existingRequest,
304
+ noApproval,
305
+ };
306
+ const request = isEdit
307
+ ? yield runner.editAccount(bakeAccountParams)
308
+ : yield runner.createAccount(bakeAccountParams);
329
309
  __accountsByName[accountDesc.name] = request.account;
330
310
  if (shouldRejectRequest(accountDesc)) {
331
311
  const admin = yield pool.login(4);
@@ -337,46 +317,51 @@ function bakeManifest(_manifest, pool, options = {}) {
337
317
  }
338
318
  });
339
319
  }
340
- function createVaultEntity(vaultEntityDesc) {
320
+ function createVaultEntity(vaultEntity) {
341
321
  return __awaiter(this, void 0, void 0, function* () {
342
- const existingVaultEntity = vaultEntitiesByName[vaultEntityDesc.name];
322
+ const existingVaultEntity = vaultEntitiesByName[vaultEntity.name];
343
323
  const isApprovingPendingVaultEntity = existingVaultEntity &&
344
324
  existingVaultEntity.status === "PENDING" &&
345
- vaultEntityDesc.status !== "PENDING";
325
+ vaultEntity.status !== "PENDING";
346
326
  let isEdit = false;
347
327
  if (existingVaultEntity && existingVaultEntity.status === "ACTIVE") {
348
328
  if (!gateManifest.entities) {
349
329
  throw new Error(`No vaultEntities in gate manifest`);
350
330
  }
351
- const vaultEntityFromGateManifest = gateManifest.entities.find((vaultEntity) => vaultEntity.name === vaultEntityDesc.name);
331
+ const vaultEntityFromGateManifest = gateManifest.entities.find((vaultEntity) => vaultEntity.name === vaultEntity.name);
352
332
  if (!vaultEntityFromGateManifest) {
353
- throw new Error(`Can't find vaultEntity ${vaultEntityDesc.name}`);
333
+ throw new Error(`Can't find vaultEntity ${vaultEntity.name}`);
354
334
  }
355
- isEdit = utilsComparison_1.areVaultEntitiesDifferent(vaultEntityFromGateManifest, vaultEntityDesc);
335
+ isEdit = utilsComparison_1.areVaultEntitiesDifferent(vaultEntityFromGateManifest, vaultEntity);
356
336
  if (!isEdit && !isApprovingPendingVaultEntity) {
357
- logger.info(`Skipping creation of vaultEntity ${vaultEntityDesc.name}`);
337
+ logger.info(`Skipping creation of vaultEntity ${vaultEntity.name}`);
358
338
  return;
359
339
  }
360
340
  }
361
- const payload = prepareRequest_1.default({
362
- type: isEdit ? "EDIT_ENTITY" : "CREATE_ENTITY",
363
- data: {
364
- vaultEntity: vaultEntityDesc,
365
- usersByDevice: __usersByDevice,
366
- usersByName: __usersByName,
367
- groupsIDsByName: __groupsIDsByName,
368
- existingVaultEntity,
369
- },
370
- });
371
- const request = yield prepareRequest_1.performRequest(payload, pool, {
372
- noApproval: shouldNotApprove(vaultEntityDesc),
373
- existingRequest: isApprovingPendingVaultEntity &&
374
- !!existingVaultEntity &&
375
- existingVaultEntity.last_request,
376
- });
377
- __vaultEntitiesIDsByName[vaultEntityDesc.name] =
341
+ const data = {
342
+ vaultEntity: vaultEntity,
343
+ usersByDevice: __usersByDevice,
344
+ usersByName: __usersByName,
345
+ groupsIDsByName: __groupsIDsByName,
346
+ existingVaultEntity,
347
+ };
348
+ const noApproval = shouldNotApprove(vaultEntity);
349
+ const existingRequest = (!!isApprovingPendingVaultEntity &&
350
+ !!existingVaultEntity &&
351
+ existingVaultEntity.last_request) ||
352
+ null;
353
+ const bakeVEParams = {
354
+ vaultEntity: vaultEntity,
355
+ data,
356
+ noApproval,
357
+ existingRequest,
358
+ };
359
+ const request = isEdit
360
+ ? yield runner.editVaultEntity(bakeVEParams)
361
+ : yield runner.createVaultEntity(bakeVEParams);
362
+ __vaultEntitiesIDsByName[vaultEntity.name] =
378
363
  (existingVaultEntity && existingVaultEntity.id) || request.entity.id;
379
- logger.info(`(+) ${isEdit ? "Edited" : "Created"} ${vaultEntityDesc.name}`);
364
+ logger.info(`(+) ${isEdit ? "Edited" : "Created"} ${vaultEntity.name}`);
380
365
  });
381
366
  }
382
367
  });
@@ -1 +1 @@
1
- {"version":3,"file":"bakeManifest.js","sourceRoot":"","sources":["../src/bakeManifest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bakeManifest.js","sourceRoot":"","sources":["../src/bakeManifest.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { BakeManifestOptions, DevicesPool, ManifestRunner } from "./types";
2
+ declare const createDefaultRunner: (pool: DevicesPool, options: BakeManifestOptions) => ManifestRunner;
3
+ export default createDefaultRunner;
@@ -0,0 +1,100 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
21
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
22
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
23
+ return new (P || (P = Promise))(function (resolve, reject) {
24
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
25
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
26
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
27
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
28
+ });
29
+ };
30
+ var __importDefault = (this && this.__importDefault) || function (mod) {
31
+ return (mod && mod.__esModule) ? mod : { "default": mod };
32
+ };
33
+ Object.defineProperty(exports, "__esModule", { value: true });
34
+ const createOnboarding_1 = __importDefault(require("./createOnboarding"));
35
+ const prepareRequest_1 = __importStar(require("./prepareRequest"));
36
+ const runOnboarding_1 = __importDefault(require("./runOnboarding"));
37
+ const createDefaultRunner = (pool, options) => {
38
+ const onboard = () => runOnboarding_1.default(createOnboarding_1.default(pool), options);
39
+ const basicHandler = (type) => {
40
+ return (params) => __awaiter(void 0, void 0, void 0, function* () {
41
+ const { data, existingRequest, noApproval } = params;
42
+ const payload = prepareRequest_1.default({ type, data });
43
+ const extra = { noApproval, existingRequest };
44
+ return prepareRequest_1.performRequest(payload, pool, extra);
45
+ });
46
+ };
47
+ const createUser = (params) => __awaiter(void 0, void 0, void 0, function* () {
48
+ const { role, userID, name, device } = params;
49
+ const type = role === "operator" ? "CREATE_OPERATOR" : "CREATE_ADMIN";
50
+ const data = { userID, role, name };
51
+ const payload = prepareRequest_1.default({ type, data });
52
+ const extra = { noApproval: true };
53
+ const req = yield prepareRequest_1.performRequest(payload, pool, extra);
54
+ yield pool.registerDevice(device, req);
55
+ if (!options.noApproval) {
56
+ yield pool.runWithQuorum((admin) => admin.approveRequest(req));
57
+ }
58
+ return req;
59
+ });
60
+ const createAPIUser = (params) => __awaiter(void 0, void 0, void 0, function* () {
61
+ const { user, name, userID } = params;
62
+ const request = yield prepareRequest_1.performRequest({
63
+ type: "CREATE_OPERATOR",
64
+ username: name,
65
+ user_id: userID,
66
+ is_api: true,
67
+ view_all_override: user.viewAll,
68
+ }, pool, { noApproval: true });
69
+ yield pool.lamAPI.registerUser(name, request.url_id);
70
+ if (!options.noApproval) {
71
+ yield pool.runWithQuorum((admin) => admin.approveRequest(request));
72
+ }
73
+ return request;
74
+ });
75
+ const editQuorum = (params) => __awaiter(void 0, void 0, void 0, function* () {
76
+ const { quorum } = params;
77
+ const payload = prepareRequest_1.default({
78
+ type: "UPDATE_QUORUM",
79
+ data: { quorum },
80
+ });
81
+ yield prepareRequest_1.performRequest(payload, pool);
82
+ });
83
+ const runner = {
84
+ onboard,
85
+ editQuorum,
86
+ createUser,
87
+ createAPIUser,
88
+ createGroup: basicHandler("CREATE_GROUP"),
89
+ editGroup: basicHandler("EDIT_GROUP"),
90
+ createAccount: basicHandler("CREATE_ACCOUNT"),
91
+ editAccount: basicHandler("EDIT_ACCOUNT"),
92
+ createWhitelist: basicHandler("CREATE_WHITELIST"),
93
+ editWhitelist: basicHandler("EDIT_WHITELIST"),
94
+ createVaultEntity: basicHandler("CREATE_ENTITY"),
95
+ editVaultEntity: basicHandler("EDIT_ENTITY"),
96
+ };
97
+ return runner;
98
+ };
99
+ exports.default = createDefaultRunner;
100
+ //# sourceMappingURL=createDefaultRunner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createDefaultRunner.js","sourceRoot":"","sources":["../src/createDefaultRunner.ts"],"names":[],"mappings":"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"}
@@ -123,8 +123,33 @@ const createDevicesPool = (options, { logger = utils_1.SILENT_LOGGER } = {}) =>
123
123
  },
124
124
  };
125
125
  });
126
- const runWithQuorum = (iteratee) => __awaiter(void 0, void 0, void 0, function* () {
126
+ const bruteforceDeviceIndex = (userID) => __awaiter(void 0, void 0, void 0, function* () {
127
+ for (let i = 1; i < 100; i++) {
128
+ const found = yield getUserID(i);
129
+ if (found.toUpperCase() === userID.toUpperCase())
130
+ return i;
131
+ }
132
+ throw new Error(`Could not find device index for user ${userID}`);
133
+ });
134
+ const collectQuorumDevices = () => __awaiter(void 0, void 0, void 0, function* () {
127
135
  const devices = [4, 5];
136
+ const admin = yield login(4);
137
+ const org = yield admin.get("/organization", {});
138
+ const { quorum } = org;
139
+ if (quorum > 2) {
140
+ const adminsC = yield admin.get("/people?status=ACTIVE&role=ADMIN&pageSize=-1", {});
141
+ let admins = adminsC.edges.map((e) => e.node);
142
+ admins.sort((a, b) => (a.id > b.id ? 1 : -1));
143
+ admins = admins.slice(2, quorum);
144
+ for (const adm of admins) {
145
+ const deviceIndex = yield bruteforceDeviceIndex(adm.user_id);
146
+ devices.push(deviceIndex);
147
+ }
148
+ }
149
+ return devices;
150
+ });
151
+ const runWithQuorum = (iteratee) => __awaiter(void 0, void 0, void 0, function* () {
152
+ const devices = yield collectQuorumDevices();
128
153
  for (let i = 0; i < devices.length; i++) {
129
154
  const device = devices[i];
130
155
  if (!device)
@@ -176,6 +201,7 @@ const createDevicesPool = (options, { logger = utils_1.SILENT_LOGGER } = {}) =>
176
201
  login,
177
202
  lamAPI,
178
203
  getUserID,
204
+ bruteforceDeviceIndex,
179
205
  registerDevice,
180
206
  runWithDevice,
181
207
  runWithQuorum,