@ledgerhq/revault-api 1.21.0 → 1.23.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/lib/{app-types-DxLEPfjw.d.mts → app-types-pVQiUA0g.d.mts} +7779 -9993
- package/lib/fakes.d.mts +370 -318
- package/lib/fakes.mjs +105 -44
- package/lib/fakes.mjs.map +1 -1
- package/lib/index.d.mts +6736 -4705
- package/package.json +4 -4
package/lib/fakes.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { faker } from '@faker-js/faker';
|
|
2
2
|
import z5, { z } from 'zod';
|
|
3
|
-
import { ChallengeType, PsdModel, AccountType, AccountGovernanceType, ActivationStatus, WhitelistType, PolicyType, UserDeviceType, AdminPermission, RequestType, RequestReviewStatus, RequestState, GateAccountType } from '@prisma/client';
|
|
3
|
+
import { ChallengeType, PsdModel, AccountType, AccountGovernanceType, ActivationStatus, WhitelistType, PolicyType, UserRole, UserRegistrationState, UserDeviceType, AdminPermission, RequestType, RequestReviewStatus, RequestState, GateAccountType } from '@prisma/client';
|
|
4
4
|
import 'axios';
|
|
5
5
|
import invariant from 'invariant';
|
|
6
6
|
import { omit, times } from 'lodash';
|
|
@@ -34,8 +34,12 @@ var ensureNonEmptyArray = (values, message) => {
|
|
|
34
34
|
function unreachable(value) {
|
|
35
35
|
throw new Error(`Un-covered: ${value}`);
|
|
36
36
|
}
|
|
37
|
-
var
|
|
37
|
+
var zBigInt = z.string().regex(/^0|[1-9]\d*$/);
|
|
38
|
+
var zIntString = z.string().min(1).regex(/^-?\d+$/);
|
|
38
39
|
var zHexString = z.string().regex(/^[0-9a-fA-F]+$/);
|
|
40
|
+
|
|
41
|
+
// src/hsm/types.ts
|
|
42
|
+
var zHsmObjectId = z.string().regex(/^[\w-]+$/).min(1);
|
|
39
43
|
var zPubKey = zHexString.describe("Public key");
|
|
40
44
|
var zHsmCertificate = z.object({
|
|
41
45
|
codeHash: z.string().base64().describe("Hash of the executable that generated this certificate"),
|
|
@@ -130,8 +134,17 @@ z.object({
|
|
|
130
134
|
}),
|
|
131
135
|
blob: zBlob
|
|
132
136
|
});
|
|
133
|
-
var
|
|
134
|
-
|
|
137
|
+
var zHsmSignature = z.object({
|
|
138
|
+
digest: z.string().nullable().describe("Signed digest"),
|
|
139
|
+
derivationPath: z.string().nullable().describe("Derivation path used to sign the digest"),
|
|
140
|
+
r: z.string().base64().describe("Base64 encoded signature r coordinate"),
|
|
141
|
+
s: z.string().base64().describe("Base64 encoded signature s coordinate"),
|
|
142
|
+
v: z.union([z.literal(0), z.literal(1)]).nullable().describe("Ecdsa only, signature recovery value"),
|
|
143
|
+
der: zHexString.describe(
|
|
144
|
+
"Hex string encoded DER signature format (for eddsa, concatenation of r & s)"
|
|
145
|
+
),
|
|
146
|
+
pubkey: zHexString.nullable().describe("Public key for signature verification, 32 or 33 bytes")
|
|
147
|
+
});
|
|
135
148
|
var zBitcoinLikeTransactionType = z5.enum(["BITCOIN_LIKE_SEND", "BITCOIN_LIKE_RECEIVE"]).describe("Bitcoin-like transaction type");
|
|
136
149
|
var zCardanoLikeTransactionType = z5.enum([
|
|
137
150
|
"CARDANO_LIKE_SEND",
|
|
@@ -524,6 +537,25 @@ var zCreateTransactionRequestData = z5.object({
|
|
|
524
537
|
accountId: z5.string().min(1).describe("Target account id"),
|
|
525
538
|
transaction: zTransactionData
|
|
526
539
|
});
|
|
540
|
+
var zSignMessageRequestData = z5.object({
|
|
541
|
+
accountId: z5.string().min(1).describe("Target account id"),
|
|
542
|
+
message: z5.string().nonempty().describe("Hex data to sign, either a json string for EIP712, or a raw string for EIP191"),
|
|
543
|
+
address: z5.string().nonempty().nullable().describe("Address for which to sign the message")
|
|
544
|
+
});
|
|
545
|
+
z5.object({
|
|
546
|
+
signature: zHsmSignature
|
|
547
|
+
});
|
|
548
|
+
var zDigestData = z5.object({
|
|
549
|
+
digest: zHexString.describe("The hex string digest to sign"),
|
|
550
|
+
derivationPath: z5.string().nonempty().describe("The derivation path with which to sign the digest")
|
|
551
|
+
});
|
|
552
|
+
var zSignDigestsRequestData = z5.object({
|
|
553
|
+
accountId: z5.string().min(1).describe("Target account id"),
|
|
554
|
+
digests: z5.array(zDigestData).describe("The digests to sign")
|
|
555
|
+
});
|
|
556
|
+
z5.object({
|
|
557
|
+
signatures: z5.array(zHsmSignature)
|
|
558
|
+
});
|
|
527
559
|
var zAccountOperationType = z.enum([
|
|
528
560
|
"SEND",
|
|
529
561
|
"STAKE",
|
|
@@ -1237,6 +1269,30 @@ var zEditGroupRequestData = z5.object({
|
|
|
1237
1269
|
name: zGroupName,
|
|
1238
1270
|
members: z5.array(z5.string()).describe("List of group members ids")
|
|
1239
1271
|
});
|
|
1272
|
+
var zUserName = z.string().min(1).max(19).describe("User name");
|
|
1273
|
+
var zUserRegistrationCreateInput = z.object({
|
|
1274
|
+
name: zUserName,
|
|
1275
|
+
role: z.enum([UserRole.ADMIN, UserRole.OPERATOR]).describe("User role"),
|
|
1276
|
+
psdModel: z.nativeEnum(PsdModel).describe("PSD model"),
|
|
1277
|
+
deviceUserId: z.string().describe("Device user ID")
|
|
1278
|
+
});
|
|
1279
|
+
zUserRegistrationCreateInput.extend({
|
|
1280
|
+
id: z.string().describe("User registration ID"),
|
|
1281
|
+
workspaceName: z.string().describe("Workspace name"),
|
|
1282
|
+
state: z.nativeEnum(UserRegistrationState).describe("User registration state")
|
|
1283
|
+
});
|
|
1284
|
+
|
|
1285
|
+
// src/users/request-data.ts
|
|
1286
|
+
var zCreatePsdUserRequestData = z5.object({
|
|
1287
|
+
registrationId: z5.string().describe("User registration ID")
|
|
1288
|
+
});
|
|
1289
|
+
var zCreateApiUserRequestData = z5.object({
|
|
1290
|
+
name: zUserName,
|
|
1291
|
+
publicKey: z5.string().describe("Public key")
|
|
1292
|
+
}).describe("Create API user request data");
|
|
1293
|
+
var zCreateApiUserAccessRequestData = z5.object({
|
|
1294
|
+
name: zUserName
|
|
1295
|
+
}).describe("Create API user request data");
|
|
1240
1296
|
var zRegistration = z5.discriminatedUnion("subState", [
|
|
1241
1297
|
z5.object({
|
|
1242
1298
|
subState: z5.literal("PENDING"),
|
|
@@ -1250,9 +1306,9 @@ var zRegistration = z5.discriminatedUnion("subState", [
|
|
|
1250
1306
|
u2fPubKey: zPubKey.describe("U2F public key for authenticate via PSD")
|
|
1251
1307
|
}).describe("Completed registration")
|
|
1252
1308
|
]);
|
|
1253
|
-
var
|
|
1309
|
+
var zUserName2 = z5.string().min(1).max(19).describe("User name");
|
|
1254
1310
|
var zCreateUserWithDeviceData = z5.object({
|
|
1255
|
-
name:
|
|
1311
|
+
name: zUserName2,
|
|
1256
1312
|
deviceType: z5.enum([UserDeviceType.PSD, UserDeviceType.SOFT_PSD]).describe("Device type"),
|
|
1257
1313
|
deviceUserId: z5.string().regex(/^[A-F0-9]{16}$/).describe("Device user ID"),
|
|
1258
1314
|
registration: zRegistration.optional().describe("Data collected from the new user during registration")
|
|
@@ -1262,13 +1318,6 @@ var zCreateAdminRequestData = zCreateUserWithDeviceData.extend({
|
|
|
1262
1318
|
// Admin must use PSD
|
|
1263
1319
|
});
|
|
1264
1320
|
var zCreateOperatorRequestData = zCreateUserWithDeviceData;
|
|
1265
|
-
var zCreateApiUserRequestData = z5.object({
|
|
1266
|
-
name: zUserName,
|
|
1267
|
-
publicKey: z5.string().describe("Public key")
|
|
1268
|
-
}).describe("Create API user request data");
|
|
1269
|
-
var zCreateApiUserAccessRequestData = z5.object({
|
|
1270
|
-
name: zUserName
|
|
1271
|
-
}).describe("Create API user request data");
|
|
1272
1321
|
var zApiKeyName = z5.string().min(1).max(19).describe("API key name");
|
|
1273
1322
|
var zCreateApiKeyRequestData = z5.object({
|
|
1274
1323
|
name: zApiKeyName,
|
|
@@ -1297,23 +1346,13 @@ var zUpdateQuorumRequestData = z5.object({
|
|
|
1297
1346
|
});
|
|
1298
1347
|
|
|
1299
1348
|
// src/requests/request-data.ts
|
|
1300
|
-
var zUserCreationVaultRequestMixinsByType = {
|
|
1301
|
-
CREATE_ADMIN: z5.object({
|
|
1302
|
-
type: z5.literal(RequestType.CREATE_ADMIN),
|
|
1303
|
-
data: zCreateAdminRequestData
|
|
1304
|
-
}),
|
|
1305
|
-
CREATE_OPERATOR: z5.object({
|
|
1306
|
-
type: z5.literal(RequestType.CREATE_OPERATOR),
|
|
1307
|
-
data: zCreateOperatorRequestData
|
|
1308
|
-
})
|
|
1309
|
-
};
|
|
1310
1349
|
var zVaultRequestMixinsByType = {
|
|
1311
1350
|
// Workspaces
|
|
1312
1351
|
[RequestType.UPDATE_QUORUM]: z5.object({
|
|
1313
1352
|
type: z5.literal(RequestType.UPDATE_QUORUM),
|
|
1314
1353
|
data: zUpdateQuorumRequestData
|
|
1315
1354
|
}),
|
|
1316
|
-
//
|
|
1355
|
+
// Operator requests
|
|
1317
1356
|
[RequestType.CREATE_TRANSACTION]: z5.object({
|
|
1318
1357
|
type: z5.literal(RequestType.CREATE_TRANSACTION),
|
|
1319
1358
|
data: zCreateTransactionRequestData,
|
|
@@ -1321,6 +1360,14 @@ var zVaultRequestMixinsByType = {
|
|
|
1321
1360
|
hash: z5.string().nullable()
|
|
1322
1361
|
}).optional().nullable()
|
|
1323
1362
|
}),
|
|
1363
|
+
[RequestType.SIGN_MESSAGE]: z5.object({
|
|
1364
|
+
type: z5.literal(RequestType.SIGN_MESSAGE),
|
|
1365
|
+
data: zSignMessageRequestData
|
|
1366
|
+
}),
|
|
1367
|
+
[RequestType.SIGN_DIGESTS]: z5.object({
|
|
1368
|
+
type: z5.literal(RequestType.SIGN_DIGESTS),
|
|
1369
|
+
data: zSignDigestsRequestData
|
|
1370
|
+
}),
|
|
1324
1371
|
// Accounts
|
|
1325
1372
|
[RequestType.CREATE_ACCOUNT]: z5.object({
|
|
1326
1373
|
type: z5.literal(RequestType.CREATE_ACCOUNT),
|
|
@@ -1328,6 +1375,7 @@ var zVaultRequestMixinsByType = {
|
|
|
1328
1375
|
}),
|
|
1329
1376
|
[RequestType.EDIT_ACCOUNT]: z5.object({
|
|
1330
1377
|
type: z5.literal(RequestType.EDIT_ACCOUNT),
|
|
1378
|
+
targetId: z5.string(),
|
|
1331
1379
|
data: zEditAccountRequestData
|
|
1332
1380
|
}),
|
|
1333
1381
|
[RequestType.ACTIVATE_TRADELINK_ACCOUNT]: z5.object({
|
|
@@ -1347,6 +1395,7 @@ var zVaultRequestMixinsByType = {
|
|
|
1347
1395
|
}),
|
|
1348
1396
|
[RequestType.EDIT_GROUP]: z5.object({
|
|
1349
1397
|
type: z5.literal(RequestType.EDIT_GROUP),
|
|
1398
|
+
targetId: z5.string(),
|
|
1350
1399
|
data: zEditGroupRequestData
|
|
1351
1400
|
}),
|
|
1352
1401
|
[RequestType.REVOKE_GROUP]: z5.object({
|
|
@@ -1360,6 +1409,7 @@ var zVaultRequestMixinsByType = {
|
|
|
1360
1409
|
}),
|
|
1361
1410
|
[RequestType.EDIT_WHITELIST]: z5.object({
|
|
1362
1411
|
type: z5.literal(RequestType.EDIT_WHITELIST),
|
|
1412
|
+
targetId: z5.string(),
|
|
1363
1413
|
data: zEditWhitelistRequestData
|
|
1364
1414
|
}),
|
|
1365
1415
|
// Entities
|
|
@@ -1376,7 +1426,10 @@ var zVaultRequestMixinsByType = {
|
|
|
1376
1426
|
data: z5.object({})
|
|
1377
1427
|
}),
|
|
1378
1428
|
// Users
|
|
1379
|
-
|
|
1429
|
+
[RequestType.CREATE_PSD_USER]: z5.object({
|
|
1430
|
+
type: z5.literal(RequestType.CREATE_PSD_USER),
|
|
1431
|
+
data: zCreatePsdUserRequestData
|
|
1432
|
+
}),
|
|
1380
1433
|
[RequestType.CREATE_API_USER]: z5.object({
|
|
1381
1434
|
type: z5.literal(RequestType.CREATE_API_USER),
|
|
1382
1435
|
data: zCreateApiUserRequestData
|
|
@@ -1427,6 +1480,7 @@ var zVaultRequestMixinsByType = {
|
|
|
1427
1480
|
}),
|
|
1428
1481
|
[RequestType.EDIT_POLICY]: z5.object({
|
|
1429
1482
|
type: z5.literal(RequestType.EDIT_POLICY),
|
|
1483
|
+
targetId: z5.string(),
|
|
1430
1484
|
data: zEditPolicyRequestData
|
|
1431
1485
|
}),
|
|
1432
1486
|
// Tradelink
|
|
@@ -1489,6 +1543,16 @@ var zVaultRequestMixinsByType = {
|
|
|
1489
1543
|
data: z5.object({}).describe("Deprecated")
|
|
1490
1544
|
})
|
|
1491
1545
|
};
|
|
1546
|
+
var zVaultRequestMixinsByLegacyType = {
|
|
1547
|
+
CREATE_ADMIN: z5.object({
|
|
1548
|
+
type: z5.literal(RequestType.CREATE_ADMIN),
|
|
1549
|
+
data: zCreateAdminRequestData
|
|
1550
|
+
}),
|
|
1551
|
+
CREATE_OPERATOR: z5.object({
|
|
1552
|
+
type: z5.literal(RequestType.CREATE_OPERATOR),
|
|
1553
|
+
data: zCreateOperatorRequestData
|
|
1554
|
+
})
|
|
1555
|
+
};
|
|
1492
1556
|
|
|
1493
1557
|
// src/requests/app-types.ts
|
|
1494
1558
|
var zRequestReviewResponse = z5.object({
|
|
@@ -1520,11 +1584,10 @@ var zVaultRequestCommonMixin = z5.object({
|
|
|
1520
1584
|
}).optional().describe("Extra information if the request is currently being processed")
|
|
1521
1585
|
});
|
|
1522
1586
|
var allowedRequestCreationInput = {
|
|
1523
|
-
[RequestType.
|
|
1587
|
+
[RequestType.CREATE_PSD_USER]: zVaultRequestMixinsByType[RequestType.CREATE_PSD_USER],
|
|
1524
1588
|
[RequestType.CREATE_GROUP]: zVaultRequestMixinsByType[RequestType.CREATE_GROUP],
|
|
1525
1589
|
[RequestType.CREATE_WHITELIST]: zVaultRequestMixinsByType[RequestType.CREATE_WHITELIST],
|
|
1526
1590
|
[RequestType.EDIT_WHITELIST]: zVaultRequestMixinsByType[RequestType.EDIT_WHITELIST],
|
|
1527
|
-
[RequestType.CREATE_OPERATOR]: zVaultRequestMixinsByType[RequestType.CREATE_OPERATOR],
|
|
1528
1591
|
[RequestType.CREATE_TRANSACTION]: zVaultRequestMixinsByType[RequestType.CREATE_TRANSACTION],
|
|
1529
1592
|
[RequestType.CREATE_POLICY]: zVaultRequestMixinsByType[RequestType.CREATE_POLICY],
|
|
1530
1593
|
[RequestType.EDIT_POLICY]: zVaultRequestMixinsByType[RequestType.EDIT_POLICY],
|
|
@@ -1532,6 +1595,7 @@ var allowedRequestCreationInput = {
|
|
|
1532
1595
|
type: z5.literal(RequestType.CREATE_ACCOUNT),
|
|
1533
1596
|
data: zCreateAccountUserInputData
|
|
1534
1597
|
}),
|
|
1598
|
+
[RequestType.EDIT_ACCOUNT]: zVaultRequestMixinsByType[RequestType.EDIT_ACCOUNT],
|
|
1535
1599
|
[RequestType.ACTIVATE_TRADELINK_ACCOUNT]: zVaultRequestMixinsByType[RequestType.ACTIVATE_TRADELINK_ACCOUNT],
|
|
1536
1600
|
[RequestType.CREATE_TRADELINK_CUSTODIAN]: zVaultRequestMixinsByType[RequestType.CREATE_TRADELINK_CUSTODIAN],
|
|
1537
1601
|
[RequestType.EDIT_TRADELINK_CUSTODIAN]: zVaultRequestMixinsByType[RequestType.EDIT_TRADELINK_CUSTODIAN],
|
|
@@ -1558,16 +1622,7 @@ z5.object({
|
|
|
1558
1622
|
var zVaultRequestResponse = z5.discriminatedUnion(
|
|
1559
1623
|
"type",
|
|
1560
1624
|
ensureNonEmptyArray(
|
|
1561
|
-
Object.values(zVaultRequestMixinsByType).map((_) => {
|
|
1562
|
-
const requestType = _.shape.type._def.value;
|
|
1563
|
-
return _.merge(zVaultRequestCommonMixin).describe(`${requestType} request`);
|
|
1564
|
-
})
|
|
1565
|
-
)
|
|
1566
|
-
);
|
|
1567
|
-
z5.discriminatedUnion(
|
|
1568
|
-
"type",
|
|
1569
|
-
ensureNonEmptyArray(
|
|
1570
|
-
Object.values(zUserCreationVaultRequestMixinsByType).map((_) => {
|
|
1625
|
+
Object.values({ ...zVaultRequestMixinsByType, ...zVaultRequestMixinsByLegacyType }).map((_) => {
|
|
1571
1626
|
const requestType = _.shape.type._def.value;
|
|
1572
1627
|
return _.merge(zVaultRequestCommonMixin).describe(`${requestType} request`);
|
|
1573
1628
|
})
|
|
@@ -1605,8 +1660,15 @@ var shouldHaveTargetHsmId = (request) => {
|
|
|
1605
1660
|
return void 0;
|
|
1606
1661
|
}
|
|
1607
1662
|
return true;
|
|
1663
|
+
case RequestType.CREATE_PSD_USER:
|
|
1664
|
+
case RequestType.CREATE_API_USER:
|
|
1665
|
+
case RequestType.CREATE_API_USER_ACCESS:
|
|
1666
|
+
// targeting / editing an existing `User`
|
|
1667
|
+
case RequestType.REVOKE_USER:
|
|
1608
1668
|
case RequestType.UPDATE_QUORUM:
|
|
1609
1669
|
case RequestType.CREATE_TRANSACTION:
|
|
1670
|
+
case RequestType.SIGN_MESSAGE:
|
|
1671
|
+
case RequestType.SIGN_DIGESTS:
|
|
1610
1672
|
case RequestType.CREATE_ACCOUNT:
|
|
1611
1673
|
case RequestType.EDIT_ACCOUNT:
|
|
1612
1674
|
case RequestType.ACTIVATE_TRADELINK_ACCOUNT:
|
|
@@ -1615,10 +1677,6 @@ var shouldHaveTargetHsmId = (request) => {
|
|
|
1615
1677
|
case RequestType.REVOKE_GROUP:
|
|
1616
1678
|
case RequestType.CREATE_WHITELIST:
|
|
1617
1679
|
case RequestType.EDIT_WHITELIST:
|
|
1618
|
-
case RequestType.CREATE_API_USER:
|
|
1619
|
-
case RequestType.CREATE_API_USER_ACCESS:
|
|
1620
|
-
// targeting / editing an existing `User`
|
|
1621
|
-
case RequestType.REVOKE_USER:
|
|
1622
1680
|
case RequestType.CREATE_POLICY:
|
|
1623
1681
|
case RequestType.EDIT_POLICY:
|
|
1624
1682
|
case RequestType.CREATE_TRADELINK_CUSTODIAN:
|
|
@@ -1643,15 +1701,18 @@ var shouldHaveTargetId = (request) => {
|
|
|
1643
1701
|
case RequestType.REVOKE_API_KEY:
|
|
1644
1702
|
return false;
|
|
1645
1703
|
case RequestType.CREATE_TRANSACTION:
|
|
1704
|
+
case RequestType.SIGN_MESSAGE:
|
|
1705
|
+
case RequestType.SIGN_DIGESTS:
|
|
1646
1706
|
return false;
|
|
1707
|
+
case RequestType.CREATE_PSD_USER:
|
|
1708
|
+
case RequestType.CREATE_ADMIN:
|
|
1709
|
+
case RequestType.CREATE_OPERATOR:
|
|
1710
|
+
case RequestType.CREATE_API_USER:
|
|
1647
1711
|
case RequestType.CREATE_WORKSPACE_RULE:
|
|
1648
1712
|
case RequestType.CREATE_ACCOUNT:
|
|
1649
1713
|
case RequestType.CREATE_GROUP:
|
|
1650
1714
|
case RequestType.CREATE_WHITELIST:
|
|
1651
1715
|
case RequestType.CREATE_ENTITY:
|
|
1652
|
-
case RequestType.CREATE_ADMIN:
|
|
1653
|
-
case RequestType.CREATE_OPERATOR:
|
|
1654
|
-
case RequestType.CREATE_API_USER:
|
|
1655
1716
|
case RequestType.CREATE_SCICONFIG:
|
|
1656
1717
|
case RequestType.CREATE_POLICY:
|
|
1657
1718
|
case RequestType.CREATE_TRADELINK_CUSTODIAN:
|