@distrohelena/canton-explorer 0.1.0 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +26 -0
- package/config/nodes.example.json +5 -1
- package/dist/public/assets/DebuggerView-Cf8sZ-NE.js +2 -0
- package/dist/public/assets/css.worker-BKx7BC4h.js +89 -0
- package/dist/public/assets/editor-C5uazxST.css +1 -0
- package/dist/public/assets/editor.api-8w-mShFJ.js +820 -0
- package/dist/public/assets/editor.worker-DQJwLooG.js +26 -0
- package/dist/public/assets/html.worker-ChRLLxCa.js +502 -0
- package/dist/public/assets/index-C6ucHbtz.js +1 -0
- package/dist/public/assets/index-D9pVnHtz.css +1 -0
- package/dist/public/assets/json.worker-DR52qCex.js +58 -0
- package/dist/public/assets/ts.worker-Cqvg7802.js +67734 -0
- package/dist/public/index.html +2 -2
- package/dist/src/api/debugger.controller.d.ts +16 -0
- package/dist/src/api/debugger.controller.js +105 -0
- package/dist/src/api/debugger.controller.js.map +1 -0
- package/dist/src/app-bootstrap.d.ts +1 -1
- package/dist/src/app-bootstrap.js +6 -2
- package/dist/src/app-bootstrap.js.map +1 -1
- package/dist/src/app.module.js +4 -1
- package/dist/src/app.module.js.map +1 -1
- package/dist/src/config/node-config.schema.d.ts +11 -0
- package/dist/src/config/node-config.schema.js +8 -0
- package/dist/src/config/node-config.schema.js.map +1 -1
- package/dist/src/config/node-config.service.d.ts +2 -1
- package/dist/src/config/node-config.service.js +3 -0
- package/dist/src/config/node-config.service.js.map +1 -1
- package/dist/src/debugger/debugger.service.d.ts +158 -0
- package/dist/src/debugger/debugger.service.js +746 -0
- package/dist/src/debugger/debugger.service.js.map +1 -0
- package/dist/src/domain/node.types.d.ts +1 -1
- package/dist/src/packages/daml-decoder.types.d.ts +8 -1
- package/dist/src/packages/daml-value-decoder.service.js.map +1 -1
- package/dist/src/packages/package-cache.service.js +103 -7
- package/dist/src/packages/package-cache.service.js.map +1 -1
- package/dist/src/packages/package-registry.service.js.map +1 -1
- package/dist/src/packages/package-sync.service.js +31 -3
- package/dist/src/packages/package-sync.service.js.map +1 -1
- package/dist/src/packages/pqs-package.service.js +15 -80
- package/dist/src/packages/pqs-package.service.js.map +1 -1
- package/dist/src/pqs/pqs-schema.d.ts +3 -0
- package/dist/src/pqs/pqs-schema.js +32 -0
- package/dist/src/pqs/pqs-schema.js.map +1 -0
- package/dist/src/pqs/pqs-summary.service.d.ts +3 -3
- package/dist/src/pqs/pqs-summary.service.js +619 -1414
- package/dist/src/pqs/pqs-summary.service.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +35 -31
- package/dist/public/assets/index-NfJYgVwb.css +0 -1
- package/dist/public/assets/index-ybPCCjei.js +0 -1
|
@@ -12,34 +12,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
12
12
|
exports.PqsPackageService = void 0;
|
|
13
13
|
const common_1 = require("@nestjs/common");
|
|
14
14
|
const pqs_client_factory_1 = require("../pqs/pqs-client.factory");
|
|
15
|
-
const
|
|
16
|
-
select
|
|
17
|
-
package_row.package_id::text as package_id,
|
|
18
|
-
min(package_row.main_package_id)::text as main_package_id,
|
|
19
|
-
package_row.name::text as name,
|
|
20
|
-
package_row.version::text as version,
|
|
21
|
-
package_row.uploaded_at::text as uploaded_at,
|
|
22
|
-
package_row.package_size::bigint as package_size
|
|
23
|
-
from (
|
|
24
|
-
select
|
|
25
|
-
package_table.package_id,
|
|
26
|
-
coalesce(dar_table.main_package_id, package_table.package_id) as main_package_id,
|
|
27
|
-
package_table.name,
|
|
28
|
-
package_table.version,
|
|
29
|
-
package_table.uploaded_at,
|
|
30
|
-
package_table.package_size
|
|
31
|
-
from participant.par_daml_packages package_table
|
|
32
|
-
left join participant.par_dar_packages dar_table
|
|
33
|
-
on dar_table.package_id = package_table.package_id
|
|
34
|
-
) package_row
|
|
35
|
-
group by
|
|
36
|
-
package_row.package_id,
|
|
37
|
-
package_row.name,
|
|
38
|
-
package_row.version,
|
|
39
|
-
package_row.uploaded_at,
|
|
40
|
-
package_row.package_size
|
|
41
|
-
order by package_row.package_id asc
|
|
42
|
-
`;
|
|
15
|
+
const pqs_schema_1 = require("../pqs/pqs-schema");
|
|
43
16
|
let PqsPackageService = class PqsPackageService {
|
|
44
17
|
clientFactory;
|
|
45
18
|
constructor(clientFactory) {
|
|
@@ -47,72 +20,34 @@ let PqsPackageService = class PqsPackageService {
|
|
|
47
20
|
}
|
|
48
21
|
async fetchPackageRefs(node) {
|
|
49
22
|
const client = this.clientFactory.getClient(node);
|
|
50
|
-
const
|
|
51
|
-
const rows = result.rows ?? [];
|
|
52
|
-
return rows.map((row) => ({
|
|
53
|
-
packageId: row.package_id,
|
|
54
|
-
mainPackageId: row.main_package_id ?? row.package_id,
|
|
55
|
-
name: row.name,
|
|
56
|
-
version: row.version,
|
|
57
|
-
uploadedAt: normalizeOptionalText(row.uploaded_at),
|
|
58
|
-
packageSize: normalizeOptionalNumber(row.package_size),
|
|
59
|
-
}));
|
|
60
|
-
}
|
|
61
|
-
async fetchPackagesById(node, packageIds) {
|
|
62
|
-
if (packageIds.length === 0) {
|
|
63
|
-
return [];
|
|
64
|
-
}
|
|
65
|
-
const client = this.clientFactory.getClient(node);
|
|
66
|
-
const quotedIds = packageIds.map((packageId) => `'${escapeSqlLiteral(packageId)}'`).join(', ');
|
|
23
|
+
const packagesRelation = (0, pqs_schema_1.qualifyPqsRelation)(node, '__packages');
|
|
67
24
|
const result = await client.query(`
|
|
68
25
|
select
|
|
69
|
-
|
|
26
|
+
id::text as package_id,
|
|
70
27
|
name::text as name,
|
|
71
|
-
version::text as version
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
data
|
|
75
|
-
from participant.par_daml_packages
|
|
76
|
-
where package_id in (${quotedIds})
|
|
77
|
-
order by package_id asc
|
|
28
|
+
version::text as version
|
|
29
|
+
from ${packagesRelation}
|
|
30
|
+
order by id asc
|
|
78
31
|
`);
|
|
79
32
|
const rows = result.rows ?? [];
|
|
80
|
-
return rows
|
|
81
|
-
.filter((row) => Buffer.isBuffer(row.data))
|
|
82
|
-
.map((row) => ({
|
|
33
|
+
return rows.map((row) => ({
|
|
83
34
|
packageId: row.package_id,
|
|
35
|
+
mainPackageId: row.package_id,
|
|
84
36
|
name: row.name,
|
|
85
37
|
version: row.version,
|
|
86
|
-
uploadedAt:
|
|
87
|
-
packageSize:
|
|
88
|
-
data: row.data,
|
|
38
|
+
uploadedAt: null,
|
|
39
|
+
packageSize: null,
|
|
89
40
|
}));
|
|
90
41
|
}
|
|
42
|
+
async fetchPackagesById(node, packageIds) {
|
|
43
|
+
void node;
|
|
44
|
+
void packageIds;
|
|
45
|
+
return [];
|
|
46
|
+
}
|
|
91
47
|
};
|
|
92
48
|
exports.PqsPackageService = PqsPackageService;
|
|
93
49
|
exports.PqsPackageService = PqsPackageService = __decorate([
|
|
94
50
|
(0, common_1.Injectable)(),
|
|
95
51
|
__metadata("design:paramtypes", [pqs_client_factory_1.PqsClientFactory])
|
|
96
52
|
], PqsPackageService);
|
|
97
|
-
function normalizeOptionalText(value) {
|
|
98
|
-
if (typeof value === 'string') {
|
|
99
|
-
return value;
|
|
100
|
-
}
|
|
101
|
-
if (typeof value === 'number') {
|
|
102
|
-
return String(value);
|
|
103
|
-
}
|
|
104
|
-
return null;
|
|
105
|
-
}
|
|
106
|
-
function normalizeOptionalNumber(value) {
|
|
107
|
-
if (typeof value === 'number') {
|
|
108
|
-
return value;
|
|
109
|
-
}
|
|
110
|
-
if (typeof value === 'string' && value.length > 0) {
|
|
111
|
-
return Number(value);
|
|
112
|
-
}
|
|
113
|
-
return null;
|
|
114
|
-
}
|
|
115
|
-
function escapeSqlLiteral(value) {
|
|
116
|
-
return value.replaceAll("'", "''");
|
|
117
|
-
}
|
|
118
53
|
//# sourceMappingURL=pqs-package.service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pqs-package.service.js","sourceRoot":"","sources":["../../../src/packages/pqs-package.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAE5C,kEAA6D;
|
|
1
|
+
{"version":3,"file":"pqs-package.service.js","sourceRoot":"","sources":["../../../src/packages/pqs-package.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAE5C,kEAA6D;AAC7D,kDAAuD;AAUhD,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB;IACC;IAA7B,YAA6B,aAA+B;QAA/B,kBAAa,GAAb,aAAa,CAAkB;IAAG,CAAC;IAEhE,KAAK,CAAC,gBAAgB,CAAC,IAAgB;QACrC,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAClD,MAAM,gBAAgB,GAAG,IAAA,+BAAkB,EAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QAChE,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC;;;;;aAKzB,gBAAgB;;KAExB,CAAC,CAAC;QACH,MAAM,IAAI,GAAI,MAAM,CAAC,IAAwB,IAAI,EAAE,CAAC;QAEpD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YACxB,SAAS,EAAE,GAAG,CAAC,UAAU;YACzB,aAAa,EAAE,GAAG,CAAC,UAAU;YAC7B,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,UAAU,EAAE,IAAI;YAChB,WAAW,EAAE,IAAI;SAClB,CAAC,CAAC,CAAC;IACN,CAAC;IAED,KAAK,CAAC,iBAAiB,CACrB,IAAgB,EAChB,UAAoB;QAEpB,KAAK,IAAI,CAAC;QACV,KAAK,UAAU,CAAC;QAEhB,OAAO,EAAE,CAAC;IACZ,CAAC;CACF,CAAA;AAnCY,8CAAiB;4BAAjB,iBAAiB;IAD7B,IAAA,mBAAU,GAAE;qCAEiC,qCAAgB;GADjD,iBAAiB,CAmC7B"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.pqsSchema = pqsSchema;
|
|
4
|
+
exports.qualifyPqsRelation = qualifyPqsRelation;
|
|
5
|
+
const IDENTIFIER_PATTERN = /^[A-Za-z_][A-Za-z0-9_]*$/;
|
|
6
|
+
const PQS_RELATIONS = new Set([
|
|
7
|
+
'__contracts',
|
|
8
|
+
'__contract_tpe',
|
|
9
|
+
'__events',
|
|
10
|
+
'__exercises',
|
|
11
|
+
'__exercise_tpe',
|
|
12
|
+
'__packages',
|
|
13
|
+
'__transactions',
|
|
14
|
+
'__watermark',
|
|
15
|
+
]);
|
|
16
|
+
function pqsSchema(node) {
|
|
17
|
+
const schema = node.pqs.schema ?? 'public';
|
|
18
|
+
if (!IDENTIFIER_PATTERN.test(schema)) {
|
|
19
|
+
throw new Error(`Invalid PQS schema identifier: ${schema}`);
|
|
20
|
+
}
|
|
21
|
+
return schema;
|
|
22
|
+
}
|
|
23
|
+
function qualifyPqsRelation(node, relation) {
|
|
24
|
+
if (!PQS_RELATIONS.has(relation)) {
|
|
25
|
+
throw new Error(`Invalid PQS relation name: ${relation}`);
|
|
26
|
+
}
|
|
27
|
+
return `${quoteIdentifier(pqsSchema(node))}.${quoteIdentifier(relation)}`;
|
|
28
|
+
}
|
|
29
|
+
function quoteIdentifier(identifier) {
|
|
30
|
+
return `"${identifier.replaceAll('"', '""')}"`;
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=pqs-schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pqs-schema.js","sourceRoot":"","sources":["../../../src/pqs/pqs-schema.ts"],"names":[],"mappings":";;AAeA,8BAQC;AAED,gDAMC;AA7BD,MAAM,kBAAkB,GAAG,0BAA0B,CAAC;AAEtD,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC;IAC5B,aAAa;IACb,gBAAgB;IAChB,UAAU;IACV,aAAa;IACb,gBAAgB;IAChB,YAAY;IACZ,gBAAgB;IAChB,aAAa;CACL,CAAC,CAAC;AAEZ,SAAgB,SAAS,CAAC,IAAgB;IACxC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,QAAQ,CAAC;IAE3C,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACrC,MAAM,IAAI,KAAK,CAAC,kCAAkC,MAAM,EAAE,CAAC,CAAC;IAC9D,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAgB,kBAAkB,CAAC,IAAgB,EAAE,QAAgB;IACnE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAmE,CAAC,EAAE,CAAC;QAC5F,MAAM,IAAI,KAAK,CAAC,8BAA8B,QAAQ,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED,OAAO,GAAG,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,eAAe,CAAC,QAAQ,CAAC,EAAE,CAAC;AAC5E,CAAC;AAED,SAAS,eAAe,CAAC,UAAkB;IACzC,OAAO,IAAI,UAAU,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC;AACjD,CAAC"}
|
|
@@ -141,12 +141,9 @@ export declare class PqsSummaryService {
|
|
|
141
141
|
private filterTokenTransfersByParties;
|
|
142
142
|
fetchUpdateDetail(node: NodeConfig, eventOffset: string): Promise<NodeUpdateDetailResponse>;
|
|
143
143
|
fetchContractDetail(node: NodeConfig, contractId: string): Promise<NodeContractDetailResponse>;
|
|
144
|
-
private querySummary;
|
|
145
144
|
private fetchPartyRecentUpdatesForNode;
|
|
146
145
|
private fetchPartyRecentContractsForNode;
|
|
147
146
|
private fetchPartyContractsForNode;
|
|
148
|
-
private shouldFallbackToParticipantTables;
|
|
149
|
-
private shouldFallbackToNormalizedEventTables;
|
|
150
147
|
private fetchActivePartiesForNode;
|
|
151
148
|
private fetchPartiesByUpdateId;
|
|
152
149
|
private loadCachedObservedTokens;
|
|
@@ -208,6 +205,9 @@ export declare class PqsSummaryService {
|
|
|
208
205
|
private readScalarField;
|
|
209
206
|
private readNestedScalarField;
|
|
210
207
|
private readTextMapEntryField;
|
|
208
|
+
private decodePqsJsonData;
|
|
209
|
+
private decodePqsJsonValue;
|
|
210
|
+
private isPlainJsonObject;
|
|
211
211
|
private getFirstLengthDelimitedField;
|
|
212
212
|
private getAllLengthDelimitedFields;
|
|
213
213
|
private unwrapScalarVarint;
|