@distrohelena/canton-explorer 0.1.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.
Files changed (94) hide show
  1. package/.env.example +9 -0
  2. package/LICENSE +184 -0
  3. package/README.md +63 -0
  4. package/bin/canton-explorer.js +68 -0
  5. package/config/nodes.example.json +35 -0
  6. package/dist/public/assets/index-NfJYgVwb.css +1 -0
  7. package/dist/public/assets/index-ybPCCjei.js +1 -0
  8. package/dist/public/cantonexplorer.png +0 -0
  9. package/dist/public/favicon.svg +1 -0
  10. package/dist/public/icons.svg +24 -0
  11. package/dist/public/index.html +14 -0
  12. package/dist/scripts/list-local-parties.d.ts +1 -0
  13. package/dist/scripts/list-local-parties.js +64 -0
  14. package/dist/scripts/list-local-parties.js.map +1 -0
  15. package/dist/src/api/nodes.controller.d.ts +181 -0
  16. package/dist/src/api/nodes.controller.js +873 -0
  17. package/dist/src/api/nodes.controller.js.map +1 -0
  18. package/dist/src/app-bootstrap.d.ts +22 -0
  19. package/dist/src/app-bootstrap.js +52 -0
  20. package/dist/src/app-bootstrap.js.map +1 -0
  21. package/dist/src/app.module.d.ts +2 -0
  22. package/dist/src/app.module.js +48 -0
  23. package/dist/src/app.module.js.map +1 -0
  24. package/dist/src/cache/node-cache.service.d.ts +54 -0
  25. package/dist/src/cache/node-cache.service.js +154 -0
  26. package/dist/src/cache/node-cache.service.js.map +1 -0
  27. package/dist/src/config/node-config.schema.d.ts +100 -0
  28. package/dist/src/config/node-config.schema.js +83 -0
  29. package/dist/src/config/node-config.schema.js.map +1 -0
  30. package/dist/src/config/node-config.service.d.ts +7 -0
  31. package/dist/src/config/node-config.service.js +36 -0
  32. package/dist/src/config/node-config.service.js.map +1 -0
  33. package/dist/src/domain/node-health.d.ts +9 -0
  34. package/dist/src/domain/node-health.js +16 -0
  35. package/dist/src/domain/node-health.js.map +1 -0
  36. package/dist/src/domain/node.types.d.ts +563 -0
  37. package/dist/src/domain/node.types.js +3 -0
  38. package/dist/src/domain/node.types.js.map +1 -0
  39. package/dist/src/grpc/grpc-client.factory.d.ts +297 -0
  40. package/dist/src/grpc/grpc-client.factory.js +67 -0
  41. package/dist/src/grpc/grpc-client.factory.js.map +1 -0
  42. package/dist/src/grpc/grpc-error.util.d.ts +7 -0
  43. package/dist/src/grpc/grpc-error.util.js +31 -0
  44. package/dist/src/grpc/grpc-error.util.js.map +1 -0
  45. package/dist/src/grpc/grpc-operations.service.d.ts +96 -0
  46. package/dist/src/grpc/grpc-operations.service.js +844 -0
  47. package/dist/src/grpc/grpc-operations.service.js.map +1 -0
  48. package/dist/src/grpc/shared-secret-jwt.d.ts +6 -0
  49. package/dist/src/grpc/shared-secret-jwt.js +22 -0
  50. package/dist/src/grpc/shared-secret-jwt.js.map +1 -0
  51. package/dist/src/main.d.ts +1 -0
  52. package/dist/src/main.js +6 -0
  53. package/dist/src/main.js.map +1 -0
  54. package/dist/src/namespaces/namespace-fingerprint.service.d.ts +22 -0
  55. package/dist/src/namespaces/namespace-fingerprint.service.js +125 -0
  56. package/dist/src/namespaces/namespace-fingerprint.service.js.map +1 -0
  57. package/dist/src/orchestrator/node-poller.service.d.ts +26 -0
  58. package/dist/src/orchestrator/node-poller.service.js +224 -0
  59. package/dist/src/orchestrator/node-poller.service.js.map +1 -0
  60. package/dist/src/packages/daml-decoder.types.d.ts +69 -0
  61. package/dist/src/packages/daml-decoder.types.js +3 -0
  62. package/dist/src/packages/daml-decoder.types.js.map +1 -0
  63. package/dist/src/packages/daml-lf-archive-v2.descriptor.pb +0 -0
  64. package/dist/src/packages/daml-lf-archive.descriptor.pb +0 -0
  65. package/dist/src/packages/daml-lf-loader.d.ts +3 -0
  66. package/dist/src/packages/daml-lf-loader.js +51 -0
  67. package/dist/src/packages/daml-lf-loader.js.map +1 -0
  68. package/dist/src/packages/daml-lf-raw.util.d.ts +12 -0
  69. package/dist/src/packages/daml-lf-raw.util.js +117 -0
  70. package/dist/src/packages/daml-lf-raw.util.js.map +1 -0
  71. package/dist/src/packages/daml-lf-value.descriptor.pb +0 -0
  72. package/dist/src/packages/daml-value-decoder.service.d.ts +39 -0
  73. package/dist/src/packages/daml-value-decoder.service.js +463 -0
  74. package/dist/src/packages/daml-value-decoder.service.js.map +1 -0
  75. package/dist/src/packages/package-cache.service.d.ts +53 -0
  76. package/dist/src/packages/package-cache.service.js +288 -0
  77. package/dist/src/packages/package-cache.service.js.map +1 -0
  78. package/dist/src/packages/package-registry.service.d.ts +44 -0
  79. package/dist/src/packages/package-registry.service.js +625 -0
  80. package/dist/src/packages/package-registry.service.js.map +1 -0
  81. package/dist/src/packages/package-sync.service.d.ts +22 -0
  82. package/dist/src/packages/package-sync.service.js +129 -0
  83. package/dist/src/packages/package-sync.service.js.map +1 -0
  84. package/dist/src/packages/pqs-package.service.d.ts +9 -0
  85. package/dist/src/packages/pqs-package.service.js +118 -0
  86. package/dist/src/packages/pqs-package.service.js.map +1 -0
  87. package/dist/src/pqs/pqs-client.factory.d.ts +7 -0
  88. package/dist/src/pqs/pqs-client.factory.js +37 -0
  89. package/dist/src/pqs/pqs-client.factory.js.map +1 -0
  90. package/dist/src/pqs/pqs-summary.service.d.ts +229 -0
  91. package/dist/src/pqs/pqs-summary.service.js +4652 -0
  92. package/dist/src/pqs/pqs-summary.service.js.map +1 -0
  93. package/dist/tsconfig.build.tsbuildinfo +1 -0
  94. package/package.json +97 -0
@@ -0,0 +1,288 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.PackageCacheService = void 0;
13
+ const common_1 = require("@nestjs/common");
14
+ const node_fs_1 = require("node:fs");
15
+ const node_path_1 = require("node:path");
16
+ const node_sqlite_1 = require("node:sqlite");
17
+ let PackageCacheService = class PackageCacheService {
18
+ database;
19
+ constructor() {
20
+ const databasePath = process.env.PACKAGE_CACHE_DB_PATH ??
21
+ (0, node_path_1.resolve)(process.cwd(), 'data', 'package-cache.sqlite');
22
+ (0, node_fs_1.mkdirSync)((0, node_path_1.dirname)(databasePath), { recursive: true });
23
+ this.database = new node_sqlite_1.DatabaseSync(databasePath);
24
+ this.configureConnection();
25
+ this.initializeSchema();
26
+ }
27
+ recordPackagePresence(nodeId, packageRefs, seenAt) {
28
+ const packageIds = packageRefs.map((packageRef) => packageRef.packageId);
29
+ const cachedPackageIds = new Set(this.listExistingPackageIds(packageIds));
30
+ const upsertPresence = this.database.prepare(`
31
+ insert into node_packages (
32
+ node_id,
33
+ package_id,
34
+ main_package_id,
35
+ package_name,
36
+ package_version,
37
+ uploaded_at,
38
+ package_size,
39
+ seen_at
40
+ ) values (?, ?, ?, ?, ?, ?, ?, ?)
41
+ on conflict(node_id, package_id) do update set
42
+ main_package_id = excluded.main_package_id,
43
+ package_name = excluded.package_name,
44
+ package_version = excluded.package_version,
45
+ uploaded_at = excluded.uploaded_at,
46
+ package_size = excluded.package_size,
47
+ seen_at = excluded.seen_at
48
+ `);
49
+ for (const packageRef of packageRefs) {
50
+ upsertPresence.run(nodeId, packageRef.packageId, packageRef.mainPackageId, packageRef.name, packageRef.version, packageRef.uploadedAt, packageRef.packageSize, seenAt);
51
+ }
52
+ return packageIds.filter((packageId) => !cachedPackageIds.has(packageId));
53
+ }
54
+ storePackages(packages) {
55
+ const upsertPackage = this.database.prepare(`
56
+ insert into packages (
57
+ package_id,
58
+ package_name,
59
+ package_version,
60
+ uploaded_at,
61
+ package_size,
62
+ data,
63
+ cached_at
64
+ ) values (?, ?, ?, ?, ?, ?, ?)
65
+ on conflict(package_id) do update set
66
+ package_name = excluded.package_name,
67
+ package_version = excluded.package_version,
68
+ uploaded_at = excluded.uploaded_at,
69
+ package_size = excluded.package_size,
70
+ data = excluded.data,
71
+ cached_at = excluded.cached_at
72
+ `);
73
+ const cachedAt = new Date().toISOString();
74
+ for (const packageRow of packages) {
75
+ upsertPackage.run(packageRow.packageId, packageRow.name, packageRow.version, packageRow.uploadedAt, packageRow.packageSize, packageRow.data, cachedAt);
76
+ }
77
+ }
78
+ listCachedPackageIds() {
79
+ const rows = this.database
80
+ .prepare('select package_id from packages order by package_id asc')
81
+ .all();
82
+ return rows.map((row) => row.package_id);
83
+ }
84
+ getPackage(packageId) {
85
+ const row = this.database
86
+ .prepare(`
87
+ select
88
+ package_id,
89
+ package_name,
90
+ package_version,
91
+ uploaded_at,
92
+ package_size,
93
+ data
94
+ from packages
95
+ where package_id = ?
96
+ `)
97
+ .get(packageId);
98
+ if (!row) {
99
+ return null;
100
+ }
101
+ return {
102
+ packageId: row.package_id,
103
+ name: row.package_name,
104
+ version: row.package_version,
105
+ uploadedAt: row.uploaded_at,
106
+ packageSize: row.package_size,
107
+ data: row.data,
108
+ };
109
+ }
110
+ getPackageMetadata(packageId) {
111
+ const row = this.database
112
+ .prepare(`
113
+ select
114
+ package_id,
115
+ package_name,
116
+ package_version,
117
+ uploaded_at,
118
+ package_size
119
+ from packages
120
+ where package_id = ?
121
+ `)
122
+ .get(packageId);
123
+ if (!row) {
124
+ return null;
125
+ }
126
+ return {
127
+ packageId: row.package_id,
128
+ name: row.package_name,
129
+ version: row.package_version,
130
+ uploadedAt: row.uploaded_at,
131
+ packageSize: row.package_size,
132
+ };
133
+ }
134
+ listPackages() {
135
+ const rows = this.database
136
+ .prepare(`
137
+ select
138
+ package_id,
139
+ package_name,
140
+ package_version,
141
+ uploaded_at,
142
+ package_size
143
+ from packages
144
+ order by package_id asc
145
+ `)
146
+ .all();
147
+ return rows.map((row) => ({
148
+ packageId: row.package_id,
149
+ name: row.package_name,
150
+ version: row.package_version,
151
+ uploadedAt: row.uploaded_at,
152
+ packageSize: row.package_size,
153
+ }));
154
+ }
155
+ listPackagesByName(packageName) {
156
+ const rows = this.database
157
+ .prepare(`
158
+ select
159
+ package_id,
160
+ package_name,
161
+ package_version,
162
+ uploaded_at,
163
+ package_size
164
+ from packages
165
+ where package_name = ?
166
+ order by uploaded_at desc, package_version desc, package_id asc
167
+ `)
168
+ .all(packageName);
169
+ return rows.map((row) => ({
170
+ packageId: row.package_id,
171
+ name: row.package_name,
172
+ version: row.package_version,
173
+ uploadedAt: row.uploaded_at,
174
+ packageSize: row.package_size,
175
+ }));
176
+ }
177
+ listNodesForPackage(packageId) {
178
+ const rows = this.database
179
+ .prepare(`
180
+ select
181
+ node_id,
182
+ package_id,
183
+ main_package_id,
184
+ package_name,
185
+ package_version,
186
+ uploaded_at,
187
+ package_size,
188
+ seen_at
189
+ from node_packages
190
+ where package_id = ?
191
+ order by node_id asc
192
+ `)
193
+ .all(packageId);
194
+ return rows.map((row) => ({
195
+ nodeId: row.node_id,
196
+ packageId: row.package_id,
197
+ mainPackageId: row.main_package_id,
198
+ packageName: row.package_name,
199
+ packageVersion: row.package_version,
200
+ uploadedAt: row.uploaded_at,
201
+ packageSize: row.package_size,
202
+ seenAt: row.seen_at,
203
+ }));
204
+ }
205
+ listPackagesForNode(nodeId) {
206
+ const rows = this.database
207
+ .prepare(`
208
+ select
209
+ node_id,
210
+ package_id,
211
+ main_package_id,
212
+ package_name,
213
+ package_version,
214
+ uploaded_at,
215
+ package_size,
216
+ seen_at
217
+ from node_packages
218
+ where node_id = ?
219
+ order by package_name asc, uploaded_at desc, package_version desc, package_id asc
220
+ `)
221
+ .all(nodeId);
222
+ return rows.map((row) => ({
223
+ nodeId: row.node_id,
224
+ packageId: row.package_id,
225
+ mainPackageId: row.main_package_id,
226
+ packageName: row.package_name,
227
+ packageVersion: row.package_version,
228
+ uploadedAt: row.uploaded_at,
229
+ packageSize: row.package_size,
230
+ seenAt: row.seen_at,
231
+ }));
232
+ }
233
+ close() {
234
+ this.database.close();
235
+ }
236
+ onModuleDestroy() {
237
+ this.close();
238
+ }
239
+ beforeApplicationShutdown() {
240
+ this.close();
241
+ }
242
+ configureConnection() {
243
+ this.database.exec(`
244
+ pragma busy_timeout = 5000;
245
+ pragma journal_mode = wal;
246
+ pragma synchronous = normal;
247
+ `);
248
+ }
249
+ initializeSchema() {
250
+ this.database.exec(`
251
+ create table if not exists packages (
252
+ package_id text primary key,
253
+ package_name text,
254
+ package_version text,
255
+ uploaded_at text,
256
+ package_size integer,
257
+ data blob not null,
258
+ cached_at text not null
259
+ );
260
+
261
+ create table if not exists node_packages (
262
+ node_id text not null,
263
+ package_id text not null,
264
+ main_package_id text not null,
265
+ package_name text,
266
+ package_version text,
267
+ uploaded_at text,
268
+ package_size integer,
269
+ seen_at text not null,
270
+ primary key (node_id, package_id)
271
+ );
272
+ `);
273
+ }
274
+ listExistingPackageIds(packageIds) {
275
+ if (packageIds.length === 0) {
276
+ return [];
277
+ }
278
+ const placeholders = packageIds.map(() => '?').join(', ');
279
+ const statement = this.database.prepare(`select package_id from packages where package_id in (${placeholders})`);
280
+ return statement.all(...packageIds).map((row) => row.package_id);
281
+ }
282
+ };
283
+ exports.PackageCacheService = PackageCacheService;
284
+ exports.PackageCacheService = PackageCacheService = __decorate([
285
+ (0, common_1.Injectable)(),
286
+ __metadata("design:paramtypes", [])
287
+ ], PackageCacheService);
288
+ //# sourceMappingURL=package-cache.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"package-cache.service.js","sourceRoot":"","sources":["../../../src/packages/package-cache.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,44 @@
1
+ import { OnModuleInit } from '@nestjs/common';
2
+ import type { PackageRegistryResult, ResolvedChoice, ResolvedDataType, ResolvedPackageInspection, ResolvedTemplate } from './daml-decoder.types';
3
+ import { PackageCacheService } from './package-cache.service';
4
+ interface ResolveTemplateInput {
5
+ packageId: string;
6
+ templateId: string;
7
+ }
8
+ interface ResolveChoiceInput extends ResolveTemplateInput {
9
+ choice: string;
10
+ }
11
+ export declare class PackageRegistryService implements OnModuleInit {
12
+ private readonly cacheService;
13
+ private readonly packageCache;
14
+ private readonly sdkModulePromise;
15
+ private sdkModule;
16
+ constructor(cacheService: PackageCacheService);
17
+ onModuleInit(): Promise<void>;
18
+ resolveTemplate(input: ResolveTemplateInput): Promise<PackageRegistryResult<ResolvedTemplate>>;
19
+ resolveChoice(input: ResolveChoiceInput): Promise<PackageRegistryResult<ResolvedChoice>>;
20
+ resolveDataType(input: {
21
+ packageId: string;
22
+ typeId: string;
23
+ }): Promise<PackageRegistryResult<ResolvedDataType>>;
24
+ inspectPackage(packageId: string): Promise<PackageRegistryResult<ResolvedPackageInspection>>;
25
+ resolveDataTypeSync(input: {
26
+ packageId: string;
27
+ typeId: string;
28
+ }): PackageRegistryResult<ResolvedDataType>;
29
+ private loadPackageAsync;
30
+ private loadPackageSync;
31
+ private ensureSdkModule;
32
+ private getSdkModuleOrThrow;
33
+ invalidatePackage(packageId: string): void;
34
+ private buildDataTypeNode;
35
+ private buildInterfaceNode;
36
+ private buildTypeNode;
37
+ private buildTypeConNode;
38
+ private buildTypeReferenceNode;
39
+ private buildTypeSynonymNode;
40
+ private extendTypeBindings;
41
+ private resolveTypeReference;
42
+ private formatBuiltinTypeLabel;
43
+ }
44
+ export {};