@odatano/core 0.3.25 → 0.3.27

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 (125) hide show
  1. package/@cds-models/CardanoODataService/index.d.ts +88 -66
  2. package/@cds-models/CardanoODataService/index.d.ts.map +1 -1
  3. package/@cds-models/CardanoODataService/index.js +22 -0
  4. package/@cds-models/CardanoODataService/index.js.map +1 -1
  5. package/@cds-models/CardanoODataService/index.ts +33 -11
  6. package/@cds-models/CardanoSignService/index.d.ts +31 -14
  7. package/@cds-models/CardanoSignService/index.d.ts.map +1 -1
  8. package/@cds-models/CardanoSignService/index.js +3 -0
  9. package/@cds-models/CardanoSignService/index.js.map +1 -1
  10. package/@cds-models/CardanoSignService/index.ts +17 -13
  11. package/@cds-models/CardanoTransactionService/index.d.ts +15 -6
  12. package/@cds-models/CardanoTransactionService/index.d.ts.map +1 -1
  13. package/@cds-models/CardanoTransactionService/index.js +3 -0
  14. package/@cds-models/CardanoTransactionService/index.js.map +1 -1
  15. package/@cds-models/CardanoTransactionService/index.ts +5 -1
  16. package/@cds-models/index.d.ts +3 -2
  17. package/@cds-models/index.d.ts.map +1 -1
  18. package/@cds-models/index.js +1 -0
  19. package/@cds-models/index.js.map +1 -1
  20. package/@cds-models/index.ts +3 -2
  21. package/@cds-models/odatano/cardano/index.d.ts +72 -66
  22. package/@cds-models/odatano/cardano/index.d.ts.map +1 -1
  23. package/@cds-models/odatano/cardano/index.js.map +1 -1
  24. package/@cds-models/odatano/cardano/index.ts +12 -11
  25. package/README.md +4 -4
  26. package/db/schema.cds +5 -1
  27. package/db/types.cds +1 -0
  28. package/output/sora/iter0_base.json +32 -0
  29. package/output/sora/iter0_base.mp4 +0 -0
  30. package/output/sora/logo_ref_1280x720.png +0 -0
  31. package/output/sora/odatano_full_logo_sky_ref_1280x720.png +0 -0
  32. package/output/sora/odatano_full_logo_transparent.png +0 -0
  33. package/output/sora/odatano_full_logo_transparent_dark.png +0 -0
  34. package/output/sora/odatano_full_logo_v4_8s.json +32 -0
  35. package/output/sora/odatano_full_logo_v4_8s.mp4 +0 -0
  36. package/output/sora/odatano_full_logo_v5_create.json +15 -0
  37. package/output/sora/odatano_full_logo_v5_fixes.json +15 -0
  38. package/output/sora/odatano_full_logo_v5_fixes.mp4 +0 -0
  39. package/output/sora/odatano_logo_v1.json +32 -0
  40. package/output/sora/odatano_logo_v1.mp4 +0 -0
  41. package/output/sora/odatano_o_only_clean.png +0 -0
  42. package/output/sora/odatano_o_sky_ref_1280x720.png +0 -0
  43. package/output/sora/odatano_o_sky_v2_8s.json +32 -0
  44. package/output/sora/odatano_o_sky_v2_8s.mp4 +0 -0
  45. package/output/sora/odatano_o_sky_v3_create.json +15 -0
  46. package/output/sora/odatano_o_sky_v3_splash_text.json +15 -0
  47. package/output/sora/odatano_o_sky_v3_splash_text.mp4 +0 -0
  48. package/output/sora/odatano_v6_composite_exact_logo.mp4 +0 -0
  49. package/output/sora/odatano_v6_composite_exact_logo_clean.mp4 +0 -0
  50. package/output/sora/odatano_v6_composite_exact_logo_final.mp4 +0 -0
  51. package/output/sora/odatano_v6_endframe.jpg +0 -0
  52. package/output/sora/odatano_v6_endframe_clean.jpg +0 -0
  53. package/output/sora/odatano_v6_endframe_final.jpg +0 -0
  54. package/output/sora/odatano_v7_1_earlylogo_fadeoldtext.mp4 +0 -0
  55. package/output/sora/odatano_v7_1_end.jpg +0 -0
  56. package/output/sora/odatano_v7_1_transition.jpg +0 -0
  57. package/output/sora/odatano_v7_2_original2d_keep_sky.mp4 +0 -0
  58. package/output/sora/odatano_v7_endframe_nobg.jpg +0 -0
  59. package/output/sora/odatano_v7_endframe_nobg_cleanend.jpg +0 -0
  60. package/output/sora/odatano_v7_spin_splash_logo_nobg.mp4 +0 -0
  61. package/output/sora/odatano_v7_spin_splash_logo_nobg_cleanend.mp4 +0 -0
  62. package/package.json +9 -5
  63. package/srv/blockchain/backends/blockfrost-backend.d.ts.map +1 -1
  64. package/srv/blockchain/backends/blockfrost-backend.js +55 -5
  65. package/srv/blockchain/backends/blockfrost-backend.js.map +1 -1
  66. package/srv/blockchain/backends/cardano-backend.d.ts.map +1 -1
  67. package/srv/blockchain/backends/cardano-backend.js.map +1 -1
  68. package/srv/blockchain/backends/koios-backend.d.ts.map +1 -1
  69. package/srv/blockchain/backends/koios-backend.js +186 -78
  70. package/srv/blockchain/backends/koios-backend.js.map +1 -1
  71. package/srv/blockchain/backends/ogmios-backend.d.ts.map +1 -1
  72. package/srv/blockchain/backends/ogmios-backend.js +22 -1
  73. package/srv/blockchain/backends/ogmios-backend.js.map +1 -1
  74. package/srv/blockchain/cardano-client.d.ts.map +1 -1
  75. package/srv/blockchain/cardano-client.js +92 -10
  76. package/srv/blockchain/cardano-client.js.map +1 -1
  77. package/srv/blockchain/cardano-indexer.d.ts.map +1 -1
  78. package/srv/blockchain/cardano-indexer.js +136 -32
  79. package/srv/blockchain/cardano-indexer.js.map +1 -1
  80. package/srv/blockchain/cardano-tx-builder.js +18 -18
  81. package/srv/blockchain/cardano-tx-builder.js.map +1 -1
  82. package/srv/blockchain/request-coalescer.d.ts.map +1 -0
  83. package/srv/blockchain/request-coalescer.js +44 -0
  84. package/srv/blockchain/request-coalescer.js.map +1 -0
  85. package/srv/blockchain/signing/hsm-signer.d.ts.map +1 -1
  86. package/srv/blockchain/signing/hsm-signer.js +5 -1
  87. package/srv/blockchain/signing/hsm-signer.js.map +1 -1
  88. package/srv/blockchain/transaction-building/buildooor-tx.d.ts.map +1 -1
  89. package/srv/blockchain/transaction-building/buildooor-tx.js +41 -6
  90. package/srv/blockchain/transaction-building/buildooor-tx.js.map +1 -1
  91. package/srv/blockchain/transaction-building/csl-tx.d.ts.map +1 -1
  92. package/srv/blockchain/transaction-building/csl-tx.js +16 -6
  93. package/srv/blockchain/transaction-building/csl-tx.js.map +1 -1
  94. package/srv/cardano-service.cds +23 -0
  95. package/srv/cardano-service.js +19 -21
  96. package/srv/cardano-service.js.map +1 -1
  97. package/srv/cardano-sign-service.cds +20 -4
  98. package/srv/cardano-sign-service.js +108 -38
  99. package/srv/cardano-sign-service.js.map +1 -1
  100. package/srv/cardano-tx-service.cds +4 -0
  101. package/srv/cardano-tx-service.js +127 -101
  102. package/srv/cardano-tx-service.js.map +1 -1
  103. package/srv/server.d.ts.map +1 -1
  104. package/srv/server.js +52 -20
  105. package/srv/server.js.map +1 -1
  106. package/srv/utils/backend-request-handler.d.ts.map +1 -1
  107. package/srv/utils/backend-request-handler.js +2 -0
  108. package/srv/utils/backend-request-handler.js.map +1 -1
  109. package/srv/utils/const.d.ts.map +1 -1
  110. package/srv/utils/const.js +16 -2
  111. package/srv/utils/const.js.map +1 -1
  112. package/srv/utils/errors.d.ts.map +1 -1
  113. package/srv/utils/errors.js +21 -14
  114. package/srv/utils/errors.js.map +1 -1
  115. package/srv/utils/mappers.d.ts.map +1 -1
  116. package/srv/utils/mappers.js +69 -64
  117. package/srv/utils/mappers.js.map +1 -1
  118. package/srv/utils/tx-build-helper.d.ts.map +1 -1
  119. package/srv/utils/tx-build-helper.js +62 -11
  120. package/srv/utils/tx-build-helper.js.map +1 -1
  121. package/srv/utils/types.d.ts.map +1 -1
  122. package/srv/utils/types.js.map +1 -1
  123. package/srv/utils/validators.d.ts.map +1 -1
  124. package/srv/utils/validators.js +51 -8
  125. package/srv/utils/validators.js.map +1 -1
@@ -13,18 +13,44 @@ const hsm_signer_1 = require("./blockchain/signing/hsm-signer");
13
13
  const signing_helper_1 = require("./utils/signing-helper");
14
14
  const { SELECT, UPDATE } = cds_1.default.ql;
15
15
  const logger = cds_1.default.log('CardanoSignService');
16
+ /**
17
+ * Verify that a build exists and, when an address is provided, that it matches
18
+ * the build's senderAddress. Always fetches the build from DB.
19
+ */
20
+ async function verifyBuildOwnership(req, db, buildId, address, TransactionBuilds, actionName) {
21
+ const build = await db.run(SELECT.one.from(TransactionBuilds).where({ id: buildId }));
22
+ if (!build)
23
+ (0, errors_1.rejectInvalid)(req, actionName, 'Build not found', 'buildId');
24
+ if (address && build.senderAddress !== address) {
25
+ (0, errors_1.rejectInvalid)(req, actionName, 'Address does not match build owner', 'address');
26
+ }
27
+ return build;
28
+ }
16
29
  /**
17
30
  * Check if a signing request has expired and update its status.
18
31
  * @returns true if expired, false otherwise
19
32
  */
20
33
  async function checkAndExpireSigningRequest(db, signingRequest, SigningRequests) {
21
- if (new Date(signingRequest.expiresAt) < new Date()) {
22
- await db.run(UPDATE.entity(SigningRequests).set({ status: 'expired' }).where({ id: signingRequest.id }));
34
+ const now = new Date().toISOString();
35
+ const result = await db.run(UPDATE.entity(SigningRequests)
36
+ .set({ status: 'expired' })
37
+ .where({ id: signingRequest.id, expiresAt: { '<=': now } }));
38
+ if (result > 0) {
23
39
  signingRequest.status = 'expired';
24
40
  return true;
25
41
  }
26
42
  return false;
27
43
  }
44
+ /**
45
+ * Enforce HSM role check if hsm.requiresRole is configured.
46
+ * Rejects with 403 if the user lacks the required role.
47
+ */
48
+ function enforceHsmRole(req, actionName) {
49
+ const hsmConfig = (0, server_1.getHsmConfig)();
50
+ if (hsmConfig?.requiresRole && !req.user?.is(hsmConfig.requiresRole)) {
51
+ req.reject(403, `Action '${actionName}' requires role '${hsmConfig.requiresRole}'`);
52
+ }
53
+ }
28
54
  /**
29
55
  * Cardano Sign Service Implementation
30
56
  * Handles transaction signing operations & some additional data queries.
@@ -33,21 +59,21 @@ module.exports = (srv) => {
33
59
  logger.info('Module loaded - registering handlers');
34
60
  const { SigningRequests, AddressSigningRequests, TransactionBuilds, } = require('#cds-models/CardanoSignService');
35
61
  /**
36
- * before-READ handler for SigningRequests: lazy expiration check
37
- * Updates status to 'expired' if expiresAt has passed (for pending requests)
62
+ * before-READ handler for SigningRequests: bulk expiration check
63
+ * Atomically expires all pending requests past their TTL (handles both single and collection reads)
64
+ * Throttled to run at most once per 60 seconds to avoid write amplification on every READ.
38
65
  */
39
- srv.before('READ', SigningRequests, async (req) => {
40
- // Expiration check runs on single-entity reads (where ID is provided)
41
- if (req.params && req.params.length > 0) {
42
- const { id } = req.params[0];
43
- if (id) {
44
- const db = await cds_1.default.connect.to('db');
45
- const signingRequest = await db.run(SELECT.one.from(SigningRequests).where({ id }));
46
- if (signingRequest && signingRequest.status === 'pending') {
47
- await checkAndExpireSigningRequest(db, signingRequest, SigningRequests);
48
- }
49
- }
50
- }
66
+ let lastExpiryCheck = 0;
67
+ const EXPIRY_CHECK_INTERVAL_MS = 60_000;
68
+ srv.before('READ', SigningRequests, async () => {
69
+ const now = Date.now();
70
+ if (now - lastExpiryCheck < EXPIRY_CHECK_INTERVAL_MS)
71
+ return;
72
+ lastExpiryCheck = now;
73
+ const db = await cds_1.default.connect.to('db');
74
+ await db.run(UPDATE.entity(SigningRequests)
75
+ .set({ status: 'expired' })
76
+ .where({ status: 'pending', expiresAt: { '<=': new Date().toISOString() } }));
51
77
  });
52
78
  /**
53
79
  * Create a new signing request for external signing
@@ -114,14 +140,20 @@ module.exports = (srv) => {
114
140
  */
115
141
  srv.on('VerifySignature', async (req) => {
116
142
  logger.debug('VerifySignature Action handler called');
117
- const { signingRequestId, signedTxCbor, signerType, signerInfo } = req.data;
143
+ const { signingRequestId, signedTxCbor, signerType, signerInfo, address } = req.data;
118
144
  const errors = (0, validators_1.validateTransactionInputs)({ signingRequestId, signedTxCbor }, ['signingRequestId', 'signedTxCbor']);
119
145
  (0, errors_1.throwIfValidationErrors)(req, 'VerifySignature', errors);
146
+ if (address && !(0, validators_1.isValidBech32Address)(address))
147
+ (0, errors_1.rejectInvalid)(req, 'VerifySignature', 'Invalid bech32 address format', 'address');
120
148
  return (0, backend_request_handler_1.handleRequest)(req, async (db) => {
121
149
  // Fetch the signing request (@from already validated by framework)
122
150
  const signingRequest = await db.run(SELECT.one.from(SigningRequests).where({ id: signingRequestId }));
123
151
  if (!signingRequest)
124
152
  (0, errors_1.rejectInvalid)(req, 'VerifySignature', 'Signing request not found', 'signingRequestId');
153
+ // Ownership check: verify address matches build owner (defense-in-depth)
154
+ if (address && signingRequest.build_id) {
155
+ await verifyBuildOwnership(req, db, signingRequest.build_id, address, TransactionBuilds, 'VerifySignature');
156
+ }
125
157
  // Check if expired
126
158
  if (await checkAndExpireSigningRequest(db, signingRequest, SigningRequests)) {
127
159
  (0, errors_1.rejectInvalid)(req, 'VerifySignature', 'Signing request has expired', 'signingRequestId');
@@ -168,20 +200,38 @@ module.exports = (srv) => {
168
200
  */
169
201
  srv.on('SubmitVerifiedTransaction', async (req) => {
170
202
  logger.debug('SubmitVerifiedTransaction Action handler called');
171
- const { signingRequestId, signedTxCbor, signerType, signerInfo } = req.data;
203
+ const { signingRequestId, signedTxCbor, signerType, signerInfo, address } = req.data;
172
204
  const errors = (0, validators_1.validateTransactionInputs)({ signingRequestId, signedTxCbor }, ['signingRequestId', 'signedTxCbor']);
173
205
  (0, errors_1.throwIfValidationErrors)(req, 'SubmitVerifiedTransaction', errors);
206
+ if (address && !(0, validators_1.isValidBech32Address)(address))
207
+ (0, errors_1.rejectInvalid)(req, 'SubmitVerifiedTransaction', 'Invalid bech32 address format', 'address');
174
208
  return (0, backend_request_handler_1.handleRequest)(req, async (db) => {
175
- const signingRequest = await db.run(SELECT.one.from(SigningRequests).where({ id: signingRequestId }));
176
- if (!signingRequest)
177
- (0, errors_1.rejectInvalid)(req, 'SubmitVerifiedTransaction', 'Signing request not found', 'signingRequestId');
178
- // Check if expired
179
- if (await checkAndExpireSigningRequest(db, signingRequest, SigningRequests)) {
180
- (0, errors_1.rejectInvalid)(req, 'SubmitVerifiedTransaction', 'Signing request has expired', 'signingRequestId');
209
+ // Atomically claim the signing request by transitioning status to 'submitting'.
210
+ // This prevents concurrent calls from both passing the status check and double-submitting.
211
+ const now = new Date().toISOString();
212
+ const claimed = await db.run(UPDATE.entity(SigningRequests)
213
+ .set({ status: 'submitting' })
214
+ .where({
215
+ id: signingRequestId,
216
+ status: { in: ['pending', 'verified'] },
217
+ expiresAt: { '>': now },
218
+ }));
219
+ if (claimed === 0) {
220
+ // Claim failed — fetch to provide a specific error message
221
+ const existing = await db.run(SELECT.one.from(SigningRequests).where({ id: signingRequestId }));
222
+ if (!existing)
223
+ (0, errors_1.rejectInvalid)(req, 'SubmitVerifiedTransaction', 'Signing request not found', 'signingRequestId');
224
+ if (existing.expiresAt <= now) {
225
+ await db.run(UPDATE.entity(SigningRequests).set({ status: 'expired' }).where({ id: signingRequestId }));
226
+ (0, errors_1.rejectInvalid)(req, 'SubmitVerifiedTransaction', 'Signing request has expired', 'signingRequestId');
227
+ }
228
+ (0, errors_1.rejectInvalid)(req, 'SubmitVerifiedTransaction', `Signing request status is '${existing.status}', expected 'pending' or 'verified'`, 'signingRequestId');
181
229
  }
182
- // Status check: only pending or verified requests can be submitted
183
- if (signingRequest.status !== 'pending' && signingRequest.status !== 'verified') {
184
- (0, errors_1.rejectInvalid)(req, 'SubmitVerifiedTransaction', `Signing request status is '${signingRequest.status}', expected 'pending' or 'verified'`, 'signingRequestId');
230
+ // Re-fetch the full record (now with status='submitting')
231
+ const signingRequest = await db.run(SELECT.one.from(SigningRequests).where({ id: signingRequestId }));
232
+ // Ownership check: verify address matches build owner (defense-in-depth)
233
+ if (address && signingRequest.build_id) {
234
+ await verifyBuildOwnership(req, db, signingRequest.build_id, address, TransactionBuilds, 'SubmitVerifiedTransaction');
185
235
  }
186
236
  // Check if build association exists
187
237
  if (!signingRequest.build_id) {
@@ -258,20 +308,26 @@ module.exports = (srv) => {
258
308
  */
259
309
  srv.on('SignWithHsm', async (req) => {
260
310
  logger.debug('SignWithHsm Action handler called');
261
- const { buildId } = req.data;
311
+ enforceHsmRole(req, 'SignWithHsm');
312
+ const { buildId, address } = req.data;
262
313
  // Validate input
263
314
  const errors = (0, validators_1.validateTransactionInputs)({ buildId }, ['buildId']);
264
315
  (0, errors_1.throwIfValidationErrors)(req, 'SignWithHsm', errors);
316
+ if (address && !(0, validators_1.isValidBech32Address)(address))
317
+ (0, errors_1.rejectInvalid)(req, 'SignWithHsm', 'Invalid bech32 address format', 'address');
265
318
  // Check HSM is available (before handleRequest — same pattern as validation)
266
319
  const hsmSigner = (0, hsm_signer_1.getHsmSigner)();
267
320
  if (!hsmSigner || !hsmSigner.isConnected()) {
268
321
  (0, errors_1.rejectInvalid)(req, 'SignWithHsm', 'HSM is not configured or not connected', 'hsm');
269
322
  }
270
323
  return (0, backend_request_handler_1.handleRequest)(req, async (db) => {
271
- // 1. Fetch the build
272
- const build = await db.run(SELECT.one.from(TransactionBuilds).where({ id: buildId }));
273
- if (!build)
274
- (0, errors_1.rejectInvalid)(req, 'SignWithHsm', 'Build not found', 'buildId');
324
+ // 1. Fetch the build (with ownership check)
325
+ const build = await verifyBuildOwnership(req, db, buildId, address, TransactionBuilds, 'SignWithHsm');
326
+ // HSM can only sign builds for its own address
327
+ const hsmAddress = hsmSigner.getAddress();
328
+ if (build.senderAddress !== hsmAddress) {
329
+ (0, errors_1.rejectInvalid)(req, 'SignWithHsm', `Build sender '${build.senderAddress}' does not match HSM address '${hsmAddress}'`, 'buildId');
330
+ }
275
331
  // 2. Create signing request internally (reuse external signer module)
276
332
  const signerModule = (0, external_signer_1.getExternalSignerModule)();
277
333
  const signingPayload = signerModule.createSigningRequest(build.id, build.unsignedTxCbor, build.txBodyHash, build.network, 'HSM signing');
@@ -315,20 +371,26 @@ module.exports = (srv) => {
315
371
  */
316
372
  srv.on('SignAndSubmitWithHsm', async (req) => {
317
373
  logger.debug('SignAndSubmitWithHsm Action handler called');
318
- const { buildId } = req.data;
374
+ enforceHsmRole(req, 'SignAndSubmitWithHsm');
375
+ const { buildId, address } = req.data;
319
376
  // Validate input
320
377
  const errors = (0, validators_1.validateTransactionInputs)({ buildId }, ['buildId']);
321
378
  (0, errors_1.throwIfValidationErrors)(req, 'SignAndSubmitWithHsm', errors);
379
+ if (address && !(0, validators_1.isValidBech32Address)(address))
380
+ (0, errors_1.rejectInvalid)(req, 'SignAndSubmitWithHsm', 'Invalid bech32 address format', 'address');
322
381
  // Check HSM is available
323
382
  const hsmSigner = (0, hsm_signer_1.getHsmSigner)();
324
383
  if (!hsmSigner || !hsmSigner.isConnected()) {
325
384
  (0, errors_1.rejectInvalid)(req, 'SignAndSubmitWithHsm', 'HSM is not configured or not connected', 'hsm');
326
385
  }
327
386
  return (0, backend_request_handler_1.handleRequest)(req, async (db) => {
328
- // 1. Fetch the build
329
- const build = await db.run(SELECT.one.from(TransactionBuilds).where({ id: buildId }));
330
- if (!build)
331
- (0, errors_1.rejectInvalid)(req, 'SignAndSubmitWithHsm', 'Build not found', 'buildId');
387
+ // 1. Fetch the build (with ownership check)
388
+ const build = await verifyBuildOwnership(req, db, buildId, address, TransactionBuilds, 'SignAndSubmitWithHsm');
389
+ // HSM can only sign builds for its own address
390
+ const hsmAddress = hsmSigner.getAddress();
391
+ if (build.senderAddress !== hsmAddress) {
392
+ (0, errors_1.rejectInvalid)(req, 'SignAndSubmitWithHsm', `Build sender '${build.senderAddress}' does not match HSM address '${hsmAddress}'`, 'buildId');
393
+ }
332
394
  // 2. Create signing request
333
395
  const signerModule = (0, external_signer_1.getExternalSignerModule)();
334
396
  const signingPayload = signerModule.createSigningRequest(build.id, build.unsignedTxCbor, build.txBodyHash, build.network, 'HSM signing + submit');
@@ -338,10 +400,17 @@ module.exports = (srv) => {
338
400
  });
339
401
  // 3. Sign with HSM
340
402
  const signedTxCbor = hsmSigner.signTransaction(build.unsignedTxCbor, build.txBodyHash);
341
- // 4. Verify HSM signature (non-throwing HSM is server-side trusted)
403
+ // 4. Verify HSM signature — reject if invalid before submitting
342
404
  const verificationResult = signerModule.verifySignedTransaction(signedTxCbor, build.txBodyHash);
343
405
  const hsmStatus = hsmSigner.getStatus();
344
406
  const hsmKeyIdentifier = hsmStatus.keyLabel || hsmStatus.keyId || 'unknown';
407
+ if (!verificationResult.isValid) {
408
+ logger.error({
409
+ signingRequestId: signingRequestRecord.id,
410
+ hsmKey: hsmKeyIdentifier,
411
+ }, 'HSM signature verification failed — aborting submission');
412
+ (0, errors_1.rejectInvalid)(req, 'SignAndSubmitWithHsm', 'HSM signature verification failed', 'signedTxCbor');
413
+ }
345
414
  logger.info({
346
415
  signingRequestId: signingRequestRecord.id,
347
416
  witnessCount: verificationResult.witnessCount,
@@ -378,6 +447,7 @@ module.exports = (srv) => {
378
447
  * Returns null fields if HSM is not configured.
379
448
  */
380
449
  srv.on('GetHsmStatus', async (_req) => {
450
+ enforceHsmRole(_req, 'GetHsmStatus');
381
451
  const hsmSigner = (0, hsm_signer_1.getHsmSigner)();
382
452
  if (!hsmSigner) {
383
453
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"cardano-sign-service.js","sourceRoot":"","sources":["cardano-sign-service.ts"],"names":[],"mappings":";;;;;AAAA,mDAAwC;AACxC,6EAA+D;AAC/D,2CAAsF;AACtF,mDAAqF;AACrF,qCAA+D;AAC/D,0EAA+E;AAC/E,gEAA+D;AAC/D,2DAA2F;AAC3F,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,aAAG,CAAC,EAAE,CAAC;AAElC,MAAM,MAAM,GAAG,aAAG,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;AAE7C;;;GAGG;AACH,KAAK,UAAU,4BAA4B,CACzC,EAAO,EAAE,cAAmB,EAAE,eAAoB;IAElD,IAAI,IAAI,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,GAAG,IAAI,IAAI,EAAE,EAAE,CAAC;QACpD,MAAM,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,cAAc,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QACzG,cAAc,CAAC,MAAM,GAAG,SAAS,CAAC;QAClC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,OAAO,GAAG,CAAC,GAAgB,EAAE,EAAE;IACpC,MAAM,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;IAEpD,MAAM,EACJ,eAAe,EACb,sBAAsB,EACtB,iBAAiB,GACpB,GAAG,OAAO,CAAC,gCAAgC,CAAC,CAAC;IAE9C;;;OAGG;IACH,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,eAAe,EAAE,KAAK,EAAE,GAAY,EAAE,EAAE;QACzD,sEAAsE;QACtE,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxC,MAAM,EAAE,EAAE,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAmB,CAAC;YAC/C,IAAI,EAAE,EAAE,CAAC;gBACP,MAAM,EAAE,GAAG,MAAM,aAAG,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;gBACtC,MAAM,cAAc,GAAG,MAAM,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;gBACpF,IAAI,cAAc,IAAI,cAAc,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;oBAC1D,MAAM,4BAA4B,CAAC,EAAE,EAAE,cAAc,EAAE,eAAe,CAAC,CAAC;gBAC1E,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IAGH;;;;;OAKG;IACH,GAAG,CAAC,EAAE,CAAC,sBAAsB,EAAE,KAAK,EAAE,GAAY,EAAE,EAAE;QACpD,MAAM,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAC3D,MAAM,EAAE,OAAO,EAAG,OAAO,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC;QAEvC,kBAAkB;QAClB,MAAM,MAAM,GAAG,IAAA,sCAAyB,EAAC,EAAE,OAAO,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;QACnE,IAAA,gCAAuB,EAAC,GAAG,EAAE,sBAAsB,EAAE,MAAM,CAAC,CAAC;QAE7D,OAAO,IAAA,uCAAa,EAAC,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE;YACrC,kBAAkB;YAClB,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;YACtF,IAAI,CAAC,KAAK;gBAAE,IAAA,sBAAa,EAAC,GAAG,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,SAAS,CAAC,CAAC;YAErF,yDAAyD;YACzD,MAAM,eAAe,GAAG,MAAM,EAAE,CAAC,GAAG,CAClC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CACjF,CAAC;YACF,IAAI,eAAe,EAAE,CAAC;gBACpB,MAAM,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE,eAAe,CAAC,EAAE,EAAE,EAAE,oCAAoC,CAAC,CAAC;gBACrG,OAAO,eAAe,CAAC;YACzB,CAAC;YAED,sDAAsD;YACtD,MAAM,YAAY,GAAG,IAAA,yCAAuB,GAAE,CAAC;YAC/C,MAAM,cAAc,GAAG,YAAY,CAAC,oBAAoB,CACtD,KAAK,CAAC,EAAE,EACR,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,UAAU,EAChB,KAAK,CAAC,OAAO,EACb,OAAO,CACR,CAAC;YAEF,kCAAkC;YAClC,MAAM,oBAAoB,GAAG,MAAM,IAAA,0BAAiB,GAAE,CAAC,qBAAqB,CAAC,EAAE,EAAE;gBAC/E,OAAO;gBACP,cAAc;aACf,CAAC,CAAC;YAEH,MAAM,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,CAAC,EAAE,EAAE,EAAE,yBAAyB,CAAC,CAAC;YAE/F,OAAO,oBAAoB,CAAC;QAC9B,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH;;;;OAIG;IACH,GAAG,CAAC,EAAE,CAAC,mBAAmB,EAAE,KAAK,EAAE,GAAY,EAAE,EAAE;QACjD,MAAM,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;QACxD,MAAM,EAAE,gBAAgB,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC;QAEtC,kBAAkB;QAClB,MAAM,MAAM,GAAG,IAAA,sCAAyB,EAAC,EAAE,gBAAgB,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC;QACrF,IAAA,gCAAuB,EAAC,GAAG,EAAE,mBAAmB,EAAE,MAAM,CAAC,CAAC;QAE1D,uDAAuD;QACvD,OAAO,IAAA,uCAAa,EAAC,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE;YACrC,MAAM,cAAc,GAAG,MAAM,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC;YACtG,IAAI,CAAC,cAAc;gBAAE,IAAA,sBAAa,EAAC,GAAG,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,kBAAkB,CAAC,CAAC;YAE9G,+CAA+C;YAC/C,IAAI,cAAc,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBACxC,MAAM,4BAA4B,CAAC,EAAE,EAAE,cAAc,EAAE,eAAe,CAAC,CAAC;YAC1E,CAAC;YAED,OAAO,cAAc,CAAC;QACxB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH;;;;OAIG;IACH,GAAG,CAAC,EAAE,CAAC,iBAAiB,EAAE,KAAK,EAAE,GAAY,EAAE,EAAE;QAC/C,MAAM,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;QACtD,MAAM,EAAE,gBAAgB,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC;QAE5E,MAAM,MAAM,GAAG,IAAA,sCAAyB,EACtC,EAAE,gBAAgB,EAAE,YAAY,EAAE,EAClC,CAAC,kBAAkB,EAAE,cAAc,CAAC,CACrC,CAAC;QACF,IAAA,gCAAuB,EAAC,GAAG,EAAE,iBAAiB,EAAE,MAAM,CAAC,CAAC;QAExD,OAAO,IAAA,uCAAa,EAAC,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE;YACrC,mEAAmE;YACnE,MAAM,cAAc,GAAG,MAAM,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC;YACtG,IAAI,CAAC,cAAc;gBAAE,IAAA,sBAAa,EAAC,GAAG,EAAE,iBAAiB,EAAE,2BAA2B,EAAE,kBAAkB,CAAC,CAAC;YAE5G,mBAAmB;YACnB,IAAI,MAAM,4BAA4B,CAAC,EAAE,EAAE,cAAc,EAAE,eAAe,CAAC,EAAE,CAAC;gBAC5E,IAAA,sBAAa,EAAC,GAAG,EAAE,iBAAiB,EAAE,6BAA6B,EAAE,kBAAkB,CAAC,CAAC;YAC3F,CAAC;YAED,sDAAsD;YACtD,IAAI,cAAc,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBACxC,IAAA,sBAAa,EAAC,GAAG,EAAE,iBAAiB,EAAE,8BAA8B,cAAc,CAAC,MAAM,uBAAuB,EAAE,kBAAkB,CAAC,CAAC;YACxI,CAAC;YAED,8FAA8F;YAC9F,IAAI,gBAAwB,CAAC;YAC7B,IAAI,IAAA,iCAAgB,EAAC,YAAY,CAAC,EAAE,CAAC;gBACnC,oEAAoE;gBACpE,gBAAgB,GAAG,IAAA,gDAA+B,EAAC,cAAc,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;gBAChG,MAAM,CAAC,KAAK,CAAC,EAAE,gBAAgB,EAAE,EAAE,iEAAiE,CAAC,CAAC;YACxG,CAAC;iBAAM,CAAC;gBACN,4DAA4D;gBAC5D,gBAAgB,GAAG,YAAY,CAAC;YAClC,CAAC;YAED,uBAAuB;YACvB,MAAM,YAAY,GAAG,IAAA,yCAAuB,GAAE,CAAC;YAC/C,MAAM,MAAM,GAAG,YAAY,CAAC,uBAAuB,CAAC,gBAAgB,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC;YAEjG,8EAA8E;YAC9E,MAAM,kBAAkB,GAAG,MAAM,IAAA,0BAAiB,GAAE,CAAC,4BAA4B,CAAC,EAAE,EAAE;gBACpF,gBAAgB;gBAChB,YAAY,EAAE,gBAAgB;gBAC9B,kBAAkB,EAAE,MAAM;gBAC1B,UAAU;gBACV,UAAU;aACX,CAAC,CAAC;YAEH,MAAM,CAAC,IAAI,CAAC;gBACV,gBAAgB;gBAChB,cAAc,EAAE,kBAAkB,CAAC,EAAE;gBACrC,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,YAAY,EAAE,MAAM,CAAC,YAAY;aAClC,EAAE,kCAAkC,CAAC,CAAC;YAEvC,OAAO,kBAAkB,CAAC;QAC5B,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH;;;;OAIG;IACH,GAAG,CAAC,EAAE,CAAC,2BAA2B,EAAE,KAAK,EAAE,GAAY,EAAE,EAAE;QACzD,MAAM,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAC;QAChE,MAAM,EAAE,gBAAgB,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC;QAE5E,MAAM,MAAM,GAAG,IAAA,sCAAyB,EACtC,EAAE,gBAAgB,EAAE,YAAY,EAAE,EAClC,CAAC,kBAAkB,EAAE,cAAc,CAAC,CACrC,CAAC;QACF,IAAA,gCAAuB,EAAC,GAAG,EAAE,2BAA2B,EAAE,MAAM,CAAC,CAAC;QAElE,OAAO,IAAA,uCAAa,EAAC,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE;YACrC,MAAM,cAAc,GAAG,MAAM,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC;YACtG,IAAI,CAAC,cAAc;gBAAE,IAAA,sBAAa,EAAC,GAAG,EAAE,2BAA2B,EAAE,2BAA2B,EAAE,kBAAkB,CAAC,CAAC;YAEtH,mBAAmB;YACnB,IAAI,MAAM,4BAA4B,CAAC,EAAE,EAAE,cAAc,EAAE,eAAe,CAAC,EAAE,CAAC;gBAC5E,IAAA,sBAAa,EAAC,GAAG,EAAE,2BAA2B,EAAE,6BAA6B,EAAE,kBAAkB,CAAC,CAAC;YACrG,CAAC;YAED,mEAAmE;YACnE,IAAI,cAAc,CAAC,MAAM,KAAK,SAAS,IAAI,cAAc,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;gBAChF,IAAA,sBAAa,EAAC,GAAG,EAAE,2BAA2B,EAAE,8BAA8B,cAAc,CAAC,MAAM,qCAAqC,EAAE,kBAAkB,CAAC,CAAC;YAChK,CAAC;YAED,oCAAoC;YACpC,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC;gBAC7B,IAAA,sBAAa,EAAC,GAAG,EAAE,2BAA2B,EAAE,yCAAyC,EAAE,kBAAkB,CAAC,CAAC;YACjH,CAAC;YAED,8FAA8F;YAC9F,IAAI,gBAAwB,CAAC;YAC7B,IAAI,IAAA,iCAAgB,EAAC,YAAY,CAAC,EAAE,CAAC;gBACnC,oEAAoE;gBACpE,gBAAgB,GAAG,IAAA,gDAA+B,EAAC,cAAc,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;gBAChG,MAAM,CAAC,KAAK,CAAC,EAAE,gBAAgB,EAAE,EAAE,gDAAgD,CAAC,CAAC;YACvF,CAAC;iBAAM,CAAC;gBACN,4DAA4D;gBAC5D,gBAAgB,GAAG,YAAY,CAAC;gBAChC,MAAM,CAAC,KAAK,CAAC,EAAE,gBAAgB,EAAE,EAAE,wCAAwC,CAAC,CAAC;YAC/E,CAAC;YAED,uCAAuC;YACvC,MAAM,YAAY,GAAG,IAAA,yCAAuB,GAAE,CAAC;YAC/C,MAAM,kBAAkB,GAAG,YAAY,CAAC,aAAa,CAAC,gBAAgB,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC;YAEnG,MAAM,CAAC,IAAI,CAAC;gBACV,gBAAgB;gBAChB,YAAY,EAAE,kBAAkB,CAAC,YAAY;gBAC7C,OAAO,EAAE,kBAAkB,CAAC,eAAe;aAC5C,EAAE,gDAAgD,CAAC,CAAC;YAErD,uBAAuB;YACvB,MAAM,MAAM,GAAG,cAAc,CAAC,UAAU,CAAC;YACzC,MAAM,IAAA,yBAAgB,GAAE,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;YAC7D,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,8CAA8C,CAAC,CAAC;YAExE,sCAAsC;YACtC,MAAM,gBAAgB,GAAG,MAAM,IAAA,0BAAiB,GAAE,CAAC,kCAAkC,CAAC,EAAE,EAAE;gBACxF,gBAAgB;gBAChB,OAAO,EAAE,cAAc,CAAC,QAAQ;gBAChC,gBAAgB;gBAChB,MAAM;gBACN,kBAAkB;gBAClB,UAAU;gBACV,UAAU;aACX,CAAC,CAAC;YAEH,MAAM,CAAC,IAAI,CAAC;gBACV,gBAAgB;gBAChB,YAAY,EAAE,gBAAgB,CAAC,EAAE;gBACjC,MAAM;aACP,EAAE,+CAA+C,CAAC,CAAC;YAEpD,OAAO,gBAAgB,CAAC;QAC1B,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH;;;;OAIG;IACH,GAAG,CAAC,EAAE,CAAC,6BAA6B,EAAE,KAAK,EAAE,GAAY,EAAE,EAAE;QAC3D,MAAM,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAC;QAClE,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC;QAC7B,uCAAuC;QACvC,IAAI,CAAC,OAAO;YAAE,IAAA,sBAAa,EAAC,GAAG,EAAE,6BAA6B,EAAE,SAAS,CAAC,CAAC;QAC3E,IAAI,CAAC,IAAA,iCAAoB,EAAC,OAAO,CAAC;YAAE,IAAA,sBAAa,EAAC,GAAG,EAAE,6BAA6B,EAAE,+BAA+B,EAAE,SAAS,CAAC,CAAC;QAClI,iDAAiD;QACjD,OAAO,IAAA,uCAAa,EAAC,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE;YACrC,OAAO,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,KAAK,CAAC,EAAE,eAAe,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;QACzF,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,8EAA8E;IAC9E,iDAAiD;IACjD,8EAA8E;IAE9E;;;;;OAKG;IACH,GAAG,CAAC,EAAE,CAAC,aAAa,EAAE,KAAK,EAAE,GAAY,EAAE,EAAE;QAC3C,MAAM,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;QAClD,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC;QAE7B,iBAAiB;QACjB,MAAM,MAAM,GAAG,IAAA,sCAAyB,EAAC,EAAE,OAAO,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;QACnE,IAAA,gCAAuB,EAAC,GAAG,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;QAEpD,6EAA6E;QAC7E,MAAM,SAAS,GAAG,IAAA,yBAAY,GAAE,CAAC;QACjC,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,CAAC;YAC3C,IAAA,sBAAa,EAAC,GAAG,EAAE,aAAa,EAAE,wCAAwC,EAAE,KAAK,CAAC,CAAC;QACrF,CAAC;QAED,OAAO,IAAA,uCAAa,EAAC,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE;YACrC,qBAAqB;YACrB,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;YACtF,IAAI,CAAC,KAAK;gBAAE,IAAA,sBAAa,EAAC,GAAG,EAAE,aAAa,EAAE,iBAAiB,EAAE,SAAS,CAAC,CAAC;YAE5E,sEAAsE;YACtE,MAAM,YAAY,GAAG,IAAA,yCAAuB,GAAE,CAAC;YAC/C,MAAM,cAAc,GAAG,YAAY,CAAC,oBAAoB,CACtD,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,OAAO,EAAE,aAAa,CAC/E,CAAC;YAEF,MAAM,oBAAoB,GAAG,MAAM,IAAA,0BAAiB,GAAE,CAAC,qBAAqB,CAAC,EAAE,EAAE;gBAC/E,OAAO;gBACP,cAAc;aACf,CAAC,CAAC;YAEH,mBAAmB;YACnB,MAAM,YAAY,GAAG,SAAU,CAAC,eAAe,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;YAExF,2EAA2E;YAC3E,MAAM,kBAAkB,GAAG,YAAY,CAAC,uBAAuB,CAAC,YAAY,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;YAEhG,MAAM,SAAS,GAAG,SAAU,CAAC,SAAS,EAAE,CAAC;YACzC,MAAM,gBAAgB,GAAG,SAAS,CAAC,QAAQ,IAAI,SAAS,CAAC,KAAK,IAAI,SAAS,CAAC;YAE5E,0BAA0B;YAC1B,MAAM,IAAA,0BAAiB,GAAE,CAAC,4BAA4B,CAAC,EAAE,EAAE;gBACzD,gBAAgB,EAAE,oBAAoB,CAAC,EAAE;gBACzC,YAAY;gBACZ,kBAAkB;gBAClB,UAAU,EAAE,KAAK;gBACjB,UAAU,EAAE,YAAY,gBAAgB,EAAE;aAC3C,CAAC,CAAC;YAEH,4BAA4B;YAC5B,MAAM,EAAE,CAAC,GAAG,CACV,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC;iBAC3B,GAAG,CAAC,EAAE,QAAQ,EAAE,gBAAgB,EAAE,CAAC;iBACnC,KAAK,CAAC,EAAE,EAAE,EAAE,oBAAoB,CAAC,EAAE,EAAE,CAAC,CAC1C,CAAC;YAEF,MAAM,CAAC,IAAI,CAAC;gBACV,OAAO;gBACP,gBAAgB,EAAE,oBAAoB,CAAC,EAAE;gBACzC,OAAO,EAAE,kBAAkB,CAAC,OAAO;gBACnC,MAAM,EAAE,gBAAgB;aACzB,EAAE,6BAA6B,CAAC,CAAC;YAElC,iCAAiC;YACjC,OAAO,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,oBAAoB,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QACzF,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH;;;;;OAKG;IACH,GAAG,CAAC,EAAE,CAAC,sBAAsB,EAAE,KAAK,EAAE,GAAY,EAAE,EAAE;QACpD,MAAM,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAC3D,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC;QAE7B,iBAAiB;QACjB,MAAM,MAAM,GAAG,IAAA,sCAAyB,EAAC,EAAE,OAAO,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;QACnE,IAAA,gCAAuB,EAAC,GAAG,EAAE,sBAAsB,EAAE,MAAM,CAAC,CAAC;QAE7D,yBAAyB;QACzB,MAAM,SAAS,GAAG,IAAA,yBAAY,GAAE,CAAC;QACjC,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,CAAC;YAC3C,IAAA,sBAAa,EAAC,GAAG,EAAE,sBAAsB,EAAE,wCAAwC,EAAE,KAAK,CAAC,CAAC;QAC9F,CAAC;QAED,OAAO,IAAA,uCAAa,EAAC,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE;YACrC,qBAAqB;YACrB,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;YACtF,IAAI,CAAC,KAAK;gBAAE,IAAA,sBAAa,EAAC,GAAG,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,SAAS,CAAC,CAAC;YAErF,4BAA4B;YAC5B,MAAM,YAAY,GAAG,IAAA,yCAAuB,GAAE,CAAC;YAC/C,MAAM,cAAc,GAAG,YAAY,CAAC,oBAAoB,CACtD,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,OAAO,EAAE,sBAAsB,CACxF,CAAC;YAEF,MAAM,oBAAoB,GAAG,MAAM,IAAA,0BAAiB,GAAE,CAAC,qBAAqB,CAAC,EAAE,EAAE;gBAC/E,OAAO;gBACP,cAAc;aACf,CAAC,CAAC;YAEH,mBAAmB;YACnB,MAAM,YAAY,GAAG,SAAU,CAAC,eAAe,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;YAExF,sEAAsE;YACtE,MAAM,kBAAkB,GAAG,YAAY,CAAC,uBAAuB,CAAC,YAAY,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;YAEhG,MAAM,SAAS,GAAG,SAAU,CAAC,SAAS,EAAE,CAAC;YACzC,MAAM,gBAAgB,GAAG,SAAS,CAAC,QAAQ,IAAI,SAAS,CAAC,KAAK,IAAI,SAAS,CAAC;YAE5E,MAAM,CAAC,IAAI,CAAC;gBACV,gBAAgB,EAAE,oBAAoB,CAAC,EAAE;gBACzC,YAAY,EAAE,kBAAkB,CAAC,YAAY;gBAC7C,MAAM,EAAE,gBAAgB;aACzB,EAAE,oDAAoD,CAAC,CAAC;YAEzD,0BAA0B;YAC1B,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC;YAChC,MAAM,IAAA,yBAAgB,GAAE,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;YACzD,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,gDAAgD,CAAC,CAAC;YAE1E,+CAA+C;YAC/C,MAAM,gBAAgB,GAAG,MAAM,IAAA,0BAAiB,GAAE,CAAC,kCAAkC,CAAC,EAAE,EAAE;gBACxF,gBAAgB,EAAE,oBAAoB,CAAC,EAAE;gBACzC,OAAO;gBACP,gBAAgB,EAAE,YAAY;gBAC9B,MAAM;gBACN,kBAAkB;gBAClB,UAAU,EAAE,KAAK;gBACjB,UAAU,EAAE,YAAY,gBAAgB,EAAE;aAC3C,CAAC,CAAC;YAEH,qBAAqB;YACrB,MAAM,EAAE,CAAC,GAAG,CACV,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC;iBAC3B,GAAG,CAAC,EAAE,QAAQ,EAAE,gBAAgB,EAAE,CAAC;iBACnC,KAAK,CAAC,EAAE,EAAE,EAAE,oBAAoB,CAAC,EAAE,EAAE,CAAC,CAC1C,CAAC;YAEF,MAAM,CAAC,IAAI,CAAC;gBACV,gBAAgB,EAAE,oBAAoB,CAAC,EAAE;gBACzC,YAAY,EAAE,gBAAgB,CAAC,EAAE;gBACjC,MAAM;aACP,EAAE,0DAA0D,CAAC,CAAC;YAE/D,OAAO,gBAAgB,CAAC;QAC1B,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH;;;OAGG;IACH,GAAG,CAAC,EAAE,CAAC,cAAc,EAAE,KAAK,EAAE,IAAa,EAAE,EAAE;QAC7C,MAAM,SAAS,GAAG,IAAA,yBAAY,GAAE,CAAC;QACjC,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO;gBACL,SAAS,EAAE,KAAK;gBAChB,KAAK,EAAE,IAAI;gBACX,QAAQ,EAAE,IAAI;gBACd,aAAa,EAAE,IAAI;gBACnB,cAAc,EAAE,IAAI;aACrB,CAAC;QACJ,CAAC;QACD,MAAM,MAAM,GAAG,SAAS,CAAC,SAAS,EAAE,CAAC;QACrC,OAAO;YACL,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,IAAI;YAC3B,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,IAAI;YACjC,aAAa,EAAE,MAAM,CAAC,aAAa,IAAI,IAAI;YAC3C,cAAc,EAAE,MAAM,CAAC,OAAO,IAAI,IAAI;SACvC,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC"}
1
+ {"version":3,"file":"cardano-sign-service.js","sourceRoot":"","sources":["cardano-sign-service.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,11 @@ using {Bech32, Lovelace} from '../db/types';
8
8
  * Handles transaction building and submission operations.
9
9
  * Separate from the read-only CardanoODataService to provide
10
10
  * clear separation between general query and command operations.
11
+ *
12
+ * Security note: see CardanoODataService (cardano-service.cds) for the rationale
13
+ * on service-level auth without per-resource ownership enforcement.
11
14
  */
15
+ @requires: 'authenticated-user'
12
16
  service CardanoTransactionService @(impl: './cardano-tx-service') {
13
17
  // ---------------------------------------------------------------------------
14
18
  // Entity Projections - Transaction Building & Submission