@verana-labs/vs-agent-sdk 2.0.0-dev.8 → 2.0.0-dev.80

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 (182) hide show
  1. package/README.md +0 -2
  2. package/build/adminApi/AdminApiError.d.ts +28 -0
  3. package/build/adminApi/AdminApiError.js +60 -0
  4. package/build/adminApi/AdminApiError.js.map +1 -0
  5. package/build/adminApi/didcommModules.d.ts +2 -0
  6. package/build/adminApi/didcommModules.js +8 -0
  7. package/build/adminApi/didcommModules.js.map +1 -0
  8. package/build/adminApi/index.d.ts +4 -0
  9. package/build/adminApi/index.js +21 -0
  10. package/build/adminApi/index.js.map +1 -0
  11. package/build/adminApi/moduleEndpoint.d.ts +8 -0
  12. package/build/adminApi/moduleEndpoint.js +28 -0
  13. package/build/adminApi/moduleEndpoint.js.map +1 -0
  14. package/build/adminApi/pagination/PageDto.d.ts +7 -0
  15. package/build/adminApi/pagination/PageDto.js +50 -0
  16. package/build/adminApi/pagination/PageDto.js.map +1 -0
  17. package/build/adminApi/pagination/PaginationQueryDto.d.ts +11 -0
  18. package/build/adminApi/pagination/PaginationQueryDto.js +46 -0
  19. package/build/adminApi/pagination/PaginationQueryDto.js.map +1 -0
  20. package/build/adminApi/pagination/cursor.d.ts +28 -0
  21. package/build/adminApi/pagination/cursor.js +64 -0
  22. package/build/adminApi/pagination/cursor.js.map +1 -0
  23. package/build/adminApi/pagination/index.d.ts +4 -0
  24. package/build/adminApi/pagination/index.js +21 -0
  25. package/build/adminApi/pagination/index.js.map +1 -0
  26. package/build/adminApi/pagination/paginate.d.ts +27 -0
  27. package/build/adminApi/pagination/paginate.js +77 -0
  28. package/build/adminApi/pagination/paginate.js.map +1 -0
  29. package/build/agent/VsAgent.d.ts +22 -34
  30. package/build/agent/VsAgent.js +84 -205
  31. package/build/agent/VsAgent.js.map +1 -1
  32. package/build/agent/createVsAgent.d.ts +5 -6
  33. package/build/agent/createVsAgent.js +3 -5
  34. package/build/agent/createVsAgent.js.map +1 -1
  35. package/build/blockchain/AnonCredsTrustService.d.ts +62 -0
  36. package/build/blockchain/AnonCredsTrustService.js +256 -0
  37. package/build/blockchain/AnonCredsTrustService.js.map +1 -0
  38. package/build/blockchain/AuthorizationService.d.ts +5 -3
  39. package/build/blockchain/AuthorizationService.js +17 -29
  40. package/build/blockchain/AuthorizationService.js.map +1 -1
  41. package/build/blockchain/IndexerWebSocketService.d.ts +7 -1
  42. package/build/blockchain/IndexerWebSocketService.js +68 -36
  43. package/build/blockchain/IndexerWebSocketService.js.map +1 -1
  44. package/build/blockchain/VeranaChainService.d.ts +38 -27
  45. package/build/blockchain/VeranaChainService.js +169 -177
  46. package/build/blockchain/VeranaChainService.js.map +1 -1
  47. package/build/blockchain/VeranaIndexerService.d.ts +14 -1
  48. package/build/blockchain/VeranaIndexerService.js +122 -8
  49. package/build/blockchain/VeranaIndexerService.js.map +1 -1
  50. package/build/blockchain/feePreflight.d.ts +32 -0
  51. package/build/blockchain/feePreflight.js +89 -0
  52. package/build/blockchain/feePreflight.js.map +1 -0
  53. package/build/blockchain/handlers/authorizationHandlers.js +2 -2
  54. package/build/blockchain/handlers/authorizationHandlers.js.map +1 -1
  55. package/build/blockchain/handlers/defaultHandlers.js +6 -1
  56. package/build/blockchain/handlers/defaultHandlers.js.map +1 -1
  57. package/build/blockchain/handlers/index.d.ts +1 -0
  58. package/build/blockchain/handlers/index.js +1 -0
  59. package/build/blockchain/handlers/index.js.map +1 -1
  60. package/build/blockchain/handlers/selfIssuanceHandlers.d.ts +13 -0
  61. package/build/blockchain/handlers/selfIssuanceHandlers.js +76 -0
  62. package/build/blockchain/handlers/selfIssuanceHandlers.js.map +1 -0
  63. package/build/blockchain/handlers/stateMutations.d.ts +26 -3
  64. package/build/blockchain/handlers/stateMutations.js +317 -41
  65. package/build/blockchain/handlers/stateMutations.js.map +1 -1
  66. package/build/blockchain/index.d.ts +4 -0
  67. package/build/blockchain/index.js +4 -0
  68. package/build/blockchain/index.js.map +1 -1
  69. package/build/blockchain/indexerMappers.d.ts +3 -0
  70. package/build/blockchain/indexerMappers.js +53 -0
  71. package/build/blockchain/indexerMappers.js.map +1 -0
  72. package/build/blockchain/triggerResolver.d.ts +26 -0
  73. package/build/blockchain/triggerResolver.js +120 -0
  74. package/build/blockchain/triggerResolver.js.map +1 -0
  75. package/build/blockchain/types.d.ts +13 -70
  76. package/build/blockchain/types.js.map +1 -1
  77. package/build/bootstrap/EcsBootstrapService.d.ts +13 -3
  78. package/build/bootstrap/EcsBootstrapService.js +172 -94
  79. package/build/bootstrap/EcsBootstrapService.js.map +1 -1
  80. package/build/connections/ParentConnectionModule.d.ts +20 -0
  81. package/build/connections/ParentConnectionModule.js +56 -0
  82. package/build/connections/ParentConnectionModule.js.map +1 -0
  83. package/build/credentials/FullTailsFileService.d.ts +0 -1
  84. package/build/credentials/FullTailsFileService.js +0 -49
  85. package/build/credentials/FullTailsFileService.js.map +1 -1
  86. package/build/did/CachedDocumentLoader.d.ts +3 -0
  87. package/build/did/CachedDocumentLoader.js +7 -1
  88. package/build/did/CachedDocumentLoader.js.map +1 -1
  89. package/build/did/CachedWebDidResolver.d.ts +0 -4
  90. package/build/did/CachedWebDidResolver.js +1 -5
  91. package/build/did/CachedWebDidResolver.js.map +1 -1
  92. package/build/did/artifactServices.d.ts +12 -0
  93. package/build/did/artifactServices.js +48 -0
  94. package/build/did/artifactServices.js.map +1 -0
  95. package/build/did/legacyDidWeb.d.ts +6 -4
  96. package/build/did/legacyDidWeb.js +17 -14
  97. package/build/did/legacyDidWeb.js.map +1 -1
  98. package/build/did/publicDid.d.ts +4 -0
  99. package/build/did/publicDid.js +19 -0
  100. package/build/did/publicDid.js.map +1 -0
  101. package/build/events/BaseMessageEvents.js +139 -5
  102. package/build/events/BaseMessageEvents.js.map +1 -1
  103. package/build/events/ConnectionEvents.js +150 -86
  104. package/build/events/ConnectionEvents.js.map +1 -1
  105. package/build/events/VsAgentEvents.d.ts +11 -9
  106. package/build/events/VsAgentEvents.js +8 -1
  107. package/build/events/VsAgentEvents.js.map +1 -1
  108. package/build/events/VtFlowEvents.d.ts +1 -1
  109. package/build/events/VtFlowEvents.js +29 -17
  110. package/build/events/VtFlowEvents.js.map +1 -1
  111. package/build/index.d.ts +7 -1
  112. package/build/index.js +15 -2
  113. package/build/index.js.map +1 -1
  114. package/build/plugins/setupBaseDidComm.js +9 -12
  115. package/build/plugins/setupBaseDidComm.js.map +1 -1
  116. package/build/transports/VsAgentWsInboundTransport.d.ts +1 -1
  117. package/build/transports/VsAgentWsInboundTransport.js +20 -14
  118. package/build/transports/VsAgentWsInboundTransport.js.map +1 -1
  119. package/build/types.d.ts +14 -13
  120. package/build/types.js +1 -2
  121. package/build/types.js.map +1 -1
  122. package/build/utils/agent.d.ts +29 -4
  123. package/build/utils/agent.js +91 -22
  124. package/build/utils/agent.js.map +1 -1
  125. package/build/utils/boundedFetch.d.ts +13 -0
  126. package/build/utils/boundedFetch.js +47 -0
  127. package/build/utils/boundedFetch.js.map +1 -0
  128. package/build/utils/didReadiness.d.ts +9 -0
  129. package/build/utils/didReadiness.js +42 -0
  130. package/build/utils/didReadiness.js.map +1 -0
  131. package/build/utils/ecsClaims.d.ts +46 -0
  132. package/build/utils/ecsClaims.js +115 -0
  133. package/build/utils/ecsClaims.js.map +1 -0
  134. package/build/utils/ecsService.d.ts +8 -0
  135. package/build/utils/ecsService.js +23 -0
  136. package/build/utils/ecsService.js.map +1 -0
  137. package/build/utils/index.d.ts +7 -0
  138. package/build/utils/index.js +7 -0
  139. package/build/utils/index.js.map +1 -1
  140. package/build/utils/publishedDidRecord.d.ts +15 -0
  141. package/build/utils/publishedDidRecord.js +83 -0
  142. package/build/utils/publishedDidRecord.js.map +1 -0
  143. package/build/utils/selfIssuedEcsCredential.d.ts +8 -0
  144. package/build/utils/selfIssuedEcsCredential.js +153 -0
  145. package/build/utils/selfIssuedEcsCredential.js.map +1 -0
  146. package/build/utils/setupSelfTr.d.ts +35 -74
  147. package/build/utils/setupSelfTr.js +93 -312
  148. package/build/utils/setupSelfTr.js.map +1 -1
  149. package/build/utils/trustCredentialStore.d.ts +78 -9
  150. package/build/utils/trustCredentialStore.js +324 -136
  151. package/build/utils/trustCredentialStore.js.map +1 -1
  152. package/build/utils/typeMetadata.d.ts +43 -0
  153. package/build/utils/typeMetadata.js +77 -0
  154. package/build/utils/typeMetadata.js.map +1 -0
  155. package/build/utils/util.d.ts +19 -0
  156. package/build/utils/util.js +24 -0
  157. package/build/utils/util.js.map +1 -1
  158. package/build/utils/vcdm2.d.ts +34 -0
  159. package/build/utils/vcdm2.js +60 -0
  160. package/build/utils/vcdm2.js.map +1 -0
  161. package/build/utils/vtjscResolver.d.ts +23 -0
  162. package/build/utils/vtjscResolver.js +53 -0
  163. package/build/utils/vtjscResolver.js.map +1 -0
  164. package/build/vtFlow/VtFlowOrchestrator.d.ts +107 -15
  165. package/build/vtFlow/VtFlowOrchestrator.js +678 -116
  166. package/build/vtFlow/VtFlowOrchestrator.js.map +1 -1
  167. package/build/vtFlow/assertVerifiableService.d.ts +1 -0
  168. package/build/vtFlow/assertVerifiableService.js +45 -5
  169. package/build/vtFlow/assertVerifiableService.js.map +1 -1
  170. package/build/vtFlow/ecsIssuanceExemption.d.ts +12 -0
  171. package/build/vtFlow/ecsIssuanceExemption.js +84 -0
  172. package/build/vtFlow/ecsIssuanceExemption.js.map +1 -0
  173. package/build/vtFlow/index.d.ts +1 -0
  174. package/build/vtFlow/index.js +1 -0
  175. package/build/vtFlow/index.js.map +1 -1
  176. package/package.json +18 -12
  177. package/build/did/migrateWebVhLog.d.ts +0 -34
  178. package/build/did/migrateWebVhLog.js +0 -230
  179. package/build/did/migrateWebVhLog.js.map +0 -1
  180. package/build/did/migrateWebVhVersionTime.d.ts +0 -9
  181. package/build/did/migrateWebVhVersionTime.js +0 -191
  182. package/build/did/migrateWebVhVersionTime.js.map +0 -1
@@ -2,8 +2,26 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.VeranaIndexerService = void 0;
4
4
  const util_1 = require("../utils/util");
5
+ const indexerMappers_1 = require("./indexerMappers");
6
+ const types_1 = require("./types");
5
7
  // Timeout so one stuck request cannot block the whole sync queue.
6
8
  const REQUEST_TIMEOUT_MS = 30000;
9
+ // The delegation projection runs on its own bull job, so it can trail the event stream that told the
10
+ // agent to refresh. `atBlock` is that job's checkpoint: waiting for it closes the read-after-write gap.
11
+ const DELEGATION_CATCHUP_TIMEOUT_MS = 15000;
12
+ const CATCHUP_INTERVAL_MS = 500;
13
+ const DIGEST_CATCHUP_TIMEOUT_MS = 15000;
14
+ function toDuration(raw) {
15
+ var _a;
16
+ if (raw == null)
17
+ return undefined;
18
+ if (typeof raw === 'string') {
19
+ const seconds = Number.parseFloat(raw.endsWith('s') ? raw.slice(0, -1) : raw);
20
+ return Number.isFinite(seconds) ? { seconds: Math.trunc(seconds) } : undefined;
21
+ }
22
+ return { seconds: Number((_a = raw.seconds) !== null && _a !== void 0 ? _a : 0), nanos: raw.nanos };
23
+ }
24
+ const active = (p) => !p.revoked && !p.slashed;
7
25
  class VeranaIndexerService {
8
26
  constructor(config) {
9
27
  this.config = config;
@@ -15,10 +33,16 @@ class VeranaIndexerService {
15
33
  const url = `${this.baseUrl}/v4/indexer/events?${scope}&after_block_height=${afterBlockHeight}&limit=${limit}`;
16
34
  return (0, util_1.fetchJson)(url, REQUEST_TIMEOUT_MS);
17
35
  }
18
- async getEcosystem(id) {
36
+ async getEcosystem(id, options) {
19
37
  this.config.logger.debug(`[VeranaIndexer] getEcosystem id=${id}`);
20
- const data = await (0, util_1.fetchJson)(`${this.baseUrl}/v4/ecosystem/get/${id}`, REQUEST_TIMEOUT_MS);
21
- return data.ecosystem;
38
+ const url = `${this.baseUrl}/v4/ecosystem/get/${encodeURIComponent(id)}`;
39
+ const data = (options === null || options === void 0 ? void 0 : options.allowNotFound)
40
+ ? await (0, util_1.fetchJson)(url, {
41
+ timeoutMs: REQUEST_TIMEOUT_MS,
42
+ allowNotFound: true,
43
+ })
44
+ : await (0, util_1.fetchJson)(url, REQUEST_TIMEOUT_MS);
45
+ return data === null || data === void 0 ? void 0 : data.ecosystem;
22
46
  }
23
47
  async listEcosystems() {
24
48
  var _a;
@@ -31,19 +55,25 @@ class VeranaIndexerService {
31
55
  const data = await (0, util_1.fetchJson)(`${this.baseUrl}/v4/credential-schema/list?ecosystem_id=${ecosystemId}`, REQUEST_TIMEOUT_MS);
32
56
  return data.schemas;
33
57
  }
34
- async getCredentialSchema(id) {
58
+ async getCredentialSchema(id, options) {
35
59
  this.config.logger.debug(`[VeranaIndexer] getCredentialSchema id=${id}`);
36
- const data = await (0, util_1.fetchJson)(`${this.baseUrl}/v4/credential-schema/get/${id}`, REQUEST_TIMEOUT_MS);
37
- return data.schema;
60
+ const url = `${this.baseUrl}/v4/credential-schema/get/${encodeURIComponent(id)}`;
61
+ const data = (options === null || options === void 0 ? void 0 : options.allowNotFound)
62
+ ? await (0, util_1.fetchJson)(url, {
63
+ timeoutMs: REQUEST_TIMEOUT_MS,
64
+ allowNotFound: true,
65
+ })
66
+ : await (0, util_1.fetchJson)(url, REQUEST_TIMEOUT_MS);
67
+ return data === null || data === void 0 ? void 0 : data.schema;
38
68
  }
39
69
  async getParticipant(id) {
40
70
  this.config.logger.debug(`[VeranaIndexer] getParticipant id=${id}`);
41
- const data = await (0, util_1.fetchJson)(`${this.baseUrl}/v4/participant/get/${id}`, REQUEST_TIMEOUT_MS);
71
+ const data = await (0, util_1.fetchJson)(`${this.baseUrl}/v4/participant/get/${encodeURIComponent(id)}`, REQUEST_TIMEOUT_MS);
42
72
  return data.participant;
43
73
  }
44
74
  async getCorporation(id) {
45
75
  this.config.logger.debug(`[VeranaIndexer] getCorporation id=${id}`);
46
- const data = await (0, util_1.fetchJson)(`${this.baseUrl}/v4/corporation/get/${id}`, { timeoutMs: REQUEST_TIMEOUT_MS, allowNotFound: true });
76
+ const data = await (0, util_1.fetchJson)(`${this.baseUrl}/v4/corporation/get/${encodeURIComponent(id)}`, { timeoutMs: REQUEST_TIMEOUT_MS, allowNotFound: true });
47
77
  return data === null || data === void 0 ? void 0 : data.corporation;
48
78
  }
49
79
  async getParticipantSession(id) {
@@ -65,6 +95,90 @@ class VeranaIndexerService {
65
95
  const data = await (0, util_1.fetchJson)(`${this.baseUrl}/v4/participant/list?${params.toString()}`, REQUEST_TIMEOUT_MS);
66
96
  return data.participants;
67
97
  }
98
+ async findParticipant(id) {
99
+ this.config.logger.debug(`[VeranaIndexer] findParticipant id=${id}`);
100
+ const data = await (0, util_1.fetchJson)(`${this.baseUrl}/v4/participant/get/${encodeURIComponent(id)}`, { timeoutMs: REQUEST_TIMEOUT_MS, allowNotFound: true });
101
+ return (data === null || data === void 0 ? void 0 : data.participant) ? (0, indexerMappers_1.toParticipant)(data.participant) : undefined;
102
+ }
103
+ async findActiveHolderParticipantIdByDid(did) {
104
+ var _a;
105
+ const participants = await this.listParticipants({ did, role: types_1.ParticipantRole.Holder });
106
+ return (_a = participants.find(p => p.did === did && p.role === types_1.ParticipantRole.Holder && active(p))) === null || _a === void 0 ? void 0 : _a.id;
107
+ }
108
+ async findActiveIssuerParticipantId(did, schemaId, vsOperator) {
109
+ var _a;
110
+ const participants = await this.listParticipants({ did, schemaId, role: types_1.ParticipantRole.Issuer });
111
+ return (_a = participants.find(p => p.did === did &&
112
+ p.role === types_1.ParticipantRole.Issuer &&
113
+ p.schema_id === schemaId &&
114
+ p.vs_operator === vsOperator &&
115
+ active(p))) === null || _a === void 0 ? void 0 : _a.id;
116
+ }
117
+ async delegationPage(path, minBlock) {
118
+ var _a, _b;
119
+ const deadline = Date.now() + DELEGATION_CATCHUP_TIMEOUT_MS;
120
+ for (;;) {
121
+ const data = await (0, util_1.fetchJson)(`${this.baseUrl}${path}`, REQUEST_TIMEOUT_MS);
122
+ const atBlock = (_a = data.atBlock) !== null && _a !== void 0 ? _a : 0;
123
+ if (minBlock === undefined || atBlock >= minBlock)
124
+ return (_b = data.authorizations) !== null && _b !== void 0 ? _b : [];
125
+ if (Date.now() >= deadline) {
126
+ throw new Error(`[VeranaIndexer] delegation checkpoint ${atBlock} never reached block ${minBlock} for ${path}`);
127
+ }
128
+ await new Promise(resolve => setTimeout(resolve, CATCHUP_INTERVAL_MS));
129
+ }
130
+ }
131
+ async listOperatorAuthorizations(operator, minBlock) {
132
+ this.config.logger.debug(`[VeranaIndexer] listOperatorAuthorizations operator=${operator}`);
133
+ const rows = await this.delegationPage(`/v4/delegation/operator-authorizations?operator=${encodeURIComponent(operator)}`, minBlock);
134
+ return rows.map(a => {
135
+ var _a;
136
+ return ({
137
+ id: a.id,
138
+ corporationId: a.corporation_id,
139
+ operator: a.operator,
140
+ msgTypes: (_a = a.msg_types) !== null && _a !== void 0 ? _a : [],
141
+ expiration: a.expiration ? new Date(a.expiration) : undefined,
142
+ period: toDuration(a.period),
143
+ });
144
+ });
145
+ }
146
+ async listVsOperatorAuthorizations(vsOperator, minBlock) {
147
+ this.config.logger.debug(`[VeranaIndexer] listVsOperatorAuthorizations vs_operator=${vsOperator}`);
148
+ const rows = await this.delegationPage(`/v4/delegation/vs-operator-authorizations?vs_operator=${encodeURIComponent(vsOperator)}`, minBlock);
149
+ return rows.map(a => {
150
+ var _a;
151
+ return ({
152
+ id: a.id,
153
+ corporationId: a.corporation_id,
154
+ vsOperator: a.vs_operator,
155
+ records: ((_a = a.records) !== null && _a !== void 0 ? _a : []).map(r => {
156
+ var _a;
157
+ return ({
158
+ participantId: r.participant_id,
159
+ msgTypes: (_a = r.msg_types) !== null && _a !== void 0 ? _a : [],
160
+ withFeegrant: Boolean(r.with_feegrant),
161
+ expiration: r.expiration ? new Date(r.expiration) : undefined,
162
+ period: toDuration(r.period),
163
+ });
164
+ }),
165
+ });
166
+ });
167
+ }
168
+ // Anchoring is a write this agent reads back on its next run, so the redundant-transaction check
169
+ // only holds if the indexer has caught up first. A timeout costs one extra anchoring, not a boot.
170
+ async waitForDigest(digest) {
171
+ const deadline = Date.now() + DIGEST_CATCHUP_TIMEOUT_MS;
172
+ for (;;) {
173
+ if (await this.getDigest(digest))
174
+ return;
175
+ if (Date.now() >= deadline) {
176
+ this.config.logger.warn(`[VeranaIndexer] digest ${digest} was not indexed before the deadline`);
177
+ return;
178
+ }
179
+ await new Promise(resolve => setTimeout(resolve, CATCHUP_INTERVAL_MS));
180
+ }
181
+ }
68
182
  async getDigest(digest) {
69
183
  this.config.logger.debug(`[VeranaIndexer] getDigest digest=${digest}`);
70
184
  const data = await (0, util_1.fetchJson)(`${this.baseUrl}/v4/di/get/${encodeURIComponent(digest)}`, { timeoutMs: REQUEST_TIMEOUT_MS, allowNotFound: true });
@@ -1 +1 @@
1
- {"version":3,"file":"VeranaIndexerService.js","sourceRoot":"","sources":["../../src/blockchain/VeranaIndexerService.ts"],"names":[],"mappings":";;;AAAA,wCAAyC;AAezC,kEAAkE;AAClE,MAAM,kBAAkB,GAAG,KAAM,CAAA;AAEjC,MAAa,oBAAoB;IAG/B,YAA6B,MAAuB;QAAvB,WAAM,GAAN,MAAM,CAAiB;QAClD,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;IAClD,CAAC;IAED,KAAK,CAAC,SAAS,CACb,QAAgB,EAChB,gBAAgB,GAAG,CAAC,EACpB,KAAK,GAAG,GAAG,EACX,aAAsB;QAEtB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,yCAAyC,gBAAgB,EAAE,CAAC,CAAA;QACrF,MAAM,KAAK,GACT,aAAa,IAAI,IAAI,CAAC,CAAC,CAAC,kBAAkB,aAAa,EAAE,CAAC,CAAC,CAAC,QAAQ,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAA;QACpG,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,sBAAsB,KAAK,uBAAuB,gBAAgB,UAAU,KAAK,EAAE,CAAA;QAC9G,OAAO,IAAA,gBAAS,EAAwB,GAAG,EAAE,kBAAkB,CAAC,CAAA;IAClE,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,EAAmB;QACpC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,mCAAmC,EAAE,EAAE,CAAC,CAAA;QACjE,MAAM,IAAI,GAAG,MAAM,IAAA,gBAAS,EAC1B,GAAG,IAAI,CAAC,OAAO,qBAAqB,EAAE,EAAE,EACxC,kBAAkB,CACnB,CAAA;QACD,OAAO,IAAI,CAAC,SAAS,CAAA;IACvB,CAAC;IAED,KAAK,CAAC,cAAc;;QAClB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAA;QAC1D,MAAM,IAAI,GAAG,MAAM,IAAA,gBAAS,EAC1B,GAAG,IAAI,CAAC,OAAO,oBAAoB,EACnC,kBAAkB,CACnB,CAAA;QACD,OAAO,MAAA,IAAI,CAAC,UAAU,mCAAI,EAAE,CAAA;IAC9B,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,WAAmB;QAC7C,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,mDAAmD,WAAW,EAAE,CAAC,CAAA;QAC1F,MAAM,IAAI,GAAG,MAAM,IAAA,gBAAS,EAC1B,GAAG,IAAI,CAAC,OAAO,2CAA2C,WAAW,EAAE,EACvE,kBAAkB,CACnB,CAAA;QACD,OAAO,IAAI,CAAC,OAAO,CAAA;IACrB,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,EAAmB;QAC3C,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,0CAA0C,EAAE,EAAE,CAAC,CAAA;QACxE,MAAM,IAAI,GAAG,MAAM,IAAA,gBAAS,EAC1B,GAAG,IAAI,CAAC,OAAO,6BAA6B,EAAE,EAAE,EAChD,kBAAkB,CACnB,CAAA;QACD,OAAO,IAAI,CAAC,MAAM,CAAA;IACpB,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,EAAmB;QACtC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,qCAAqC,EAAE,EAAE,CAAC,CAAA;QACnE,MAAM,IAAI,GAAG,MAAM,IAAA,gBAAS,EAC1B,GAAG,IAAI,CAAC,OAAO,uBAAuB,EAAE,EAAE,EAC1C,kBAAkB,CACnB,CAAA;QACD,OAAO,IAAI,CAAC,WAAW,CAAA;IACzB,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,EAAmB;QACtC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,qCAAqC,EAAE,EAAE,CAAC,CAAA;QACnE,MAAM,IAAI,GAAG,MAAM,IAAA,gBAAS,EAC1B,GAAG,IAAI,CAAC,OAAO,uBAAuB,EAAE,EAAE,EAC1C,EAAE,SAAS,EAAE,kBAAkB,EAAE,aAAa,EAAE,IAAI,EAAE,CACvD,CAAA;QACD,OAAO,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,WAAW,CAAA;IAC1B,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,EAAU;QACpC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,4CAA4C,EAAE,EAAE,CAAC,CAAA;QAC1E,MAAM,IAAI,GAAG,MAAM,IAAA,gBAAS,EAC1B,GAAG,IAAI,CAAC,OAAO,uCAAuC,kBAAkB,CAAC,EAAE,CAAC,EAAE,EAC9E,EAAE,SAAS,EAAE,kBAAkB,EAAE,aAAa,EAAE,IAAI,EAAE,CACvD,CAAA;QACD,OAAO,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO,CAAA;IACtB,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,MAKtB;QACC,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAA;QACpC,IAAI,MAAM,CAAC,QAAQ,IAAI,IAAI;YAAE,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAA;QAC7E,IAAI,MAAM,CAAC,IAAI;YAAE,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAA;QAChD,IAAI,MAAM,CAAC,GAAG;YAAE,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,CAAA;QAC7C,IAAI,MAAM,CAAC,gBAAgB;YAAE,MAAM,CAAC,GAAG,CAAC,mBAAmB,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAA;QACrF,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,oCAAoC,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;QACjF,MAAM,IAAI,GAAG,MAAM,IAAA,gBAAS,EAC1B,GAAG,IAAI,CAAC,OAAO,wBAAwB,MAAM,CAAC,QAAQ,EAAE,EAAE,EAC1D,kBAAkB,CACnB,CAAA;QACD,OAAO,IAAI,CAAC,YAAY,CAAA;IAC1B,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,MAAc;QAC5B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,oCAAoC,MAAM,EAAE,CAAC,CAAA;QACtE,MAAM,IAAI,GAAG,MAAM,IAAA,gBAAS,EAC1B,GAAG,IAAI,CAAC,OAAO,cAAc,kBAAkB,CAAC,MAAM,CAAC,EAAE,EACzD,EAAE,SAAS,EAAE,kBAAkB,EAAE,aAAa,EAAE,IAAI,EAAE,CACvD,CAAA;QACD,OAAO,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,CAAA;IACrB,CAAC;CACF;AA9GD,oDA8GC"}
1
+ {"version":3,"file":"VeranaIndexerService.js","sourceRoot":"","sources":["../../src/blockchain/VeranaIndexerService.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ import type { EncodeObject } from '@cosmjs/proto-signing';
2
+ import type { StdFee } from '@cosmjs/stargate';
3
+ import type { VsAgent } from '../agent/VsAgent';
4
+ import type { VeranaChainService } from './VeranaChainService';
5
+ import { VtFlowTxReason } from '@verana-labs/credo-ts-didcomm-vt-flow';
6
+ export declare const FEE_DENOM = "uvna";
7
+ export type FeePreflightResult = {
8
+ fee: StdFee;
9
+ } | {
10
+ reason: VtFlowTxReason;
11
+ error: string;
12
+ };
13
+ type FeePreflightChain = Pick<VeranaChainService, 'feeAllowance' | 'estimateFee' | 'getAccountBalance' | 'getBalance'>;
14
+ /** What a broadcast throws when its fee payer cannot pay it, with the reason of [VSA-ADM-VT-FL-VALIDATE-9]. */
15
+ export declare class FeePreflightError extends Error {
16
+ readonly reason: VtFlowTxReason;
17
+ constructor(reason: VtFlowTxReason, message: string);
18
+ }
19
+ /**
20
+ * [VSA-VPR-TX-3]: the fee payer of a transaction that targets a `Participant` entry follows the
21
+ * `ParticipantAuthorizationRecord` of that entry. With `with_feegrant`, the Corporation pays through
22
+ * its fee grant, so the transaction names the Corporation as granter. Without it, the agent pays.
23
+ * There is no silent fallback from one payer to the other: a missing allowance is a reported failure.
24
+ */
25
+ export declare function feeGranterFor(agent: Pick<VsAgent, 'veranaChain' | 'authorizationService'>, participantId: number | null | undefined): string | undefined;
26
+ /**
27
+ * [VSA-ADM-VT-FL-VALIDATE-6], applied to every transaction the agent signs ([VSA-VPR-TX-3]):
28
+ * simulates the transaction as it will be broadcast, and checks that its fee payer can pay it.
29
+ * Returns the fee to broadcast with, or the reason of [VSA-ADM-VT-FL-VALIDATE-9] that stops it.
30
+ */
31
+ export declare function preflightFee(chain: FeePreflightChain, message: EncodeObject, granter: string | undefined): Promise<FeePreflightResult>;
32
+ export {};
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FeePreflightError = exports.FEE_DENOM = void 0;
4
+ exports.feeGranterFor = feeGranterFor;
5
+ exports.preflightFee = preflightFee;
6
+ const credo_ts_didcomm_vt_flow_1 = require("@verana-labs/credo-ts-didcomm-vt-flow");
7
+ exports.FEE_DENOM = 'uvna';
8
+ function errorMessage(error) {
9
+ return error instanceof Error ? error.message : String(error);
10
+ }
11
+ /** What a broadcast throws when its fee payer cannot pay it, with the reason of [VSA-ADM-VT-FL-VALIDATE-9]. */
12
+ class FeePreflightError extends Error {
13
+ constructor(reason, message) {
14
+ super(message);
15
+ this.reason = reason;
16
+ this.name = 'FeePreflightError';
17
+ }
18
+ }
19
+ exports.FeePreflightError = FeePreflightError;
20
+ /**
21
+ * [VSA-VPR-TX-3]: the fee payer of a transaction that targets a `Participant` entry follows the
22
+ * `ParticipantAuthorizationRecord` of that entry. With `with_feegrant`, the Corporation pays through
23
+ * its fee grant, so the transaction names the Corporation as granter. Without it, the agent pays.
24
+ * There is no silent fallback from one payer to the other: a missing allowance is a reported failure.
25
+ */
26
+ function feeGranterFor(agent, participantId) {
27
+ var _a;
28
+ const chain = agent.veranaChain;
29
+ if (!chain || participantId == null)
30
+ return undefined;
31
+ const grant = (_a = agent.authorizationService) === null || _a === void 0 ? void 0 : _a.getVsOperatorAuthorizationRecord(participantId);
32
+ return (grant === null || grant === void 0 ? void 0 : grant.withFeegrant) ? chain.corporation : undefined;
33
+ }
34
+ /**
35
+ * [VSA-ADM-VT-FL-VALIDATE-6], applied to every transaction the agent signs ([VSA-VPR-TX-3]):
36
+ * simulates the transaction as it will be broadcast, and checks that its fee payer can pay it.
37
+ * Returns the fee to broadcast with, or the reason of [VSA-ADM-VT-FL-VALIDATE-9] that stops it.
38
+ */
39
+ async function preflightFee(chain, message, granter) {
40
+ var _a, _b;
41
+ const failed = (reason, error) => ({ reason, error });
42
+ let allowance;
43
+ try {
44
+ allowance = granter ? await chain.feeAllowance(granter, exports.FEE_DENOM) : undefined;
45
+ }
46
+ catch (error) {
47
+ return failed(credo_ts_didcomm_vt_flow_1.VtFlowTxReason.PreflightError, errorMessage(error));
48
+ }
49
+ if (granter && !allowance) {
50
+ return failed(credo_ts_didcomm_vt_flow_1.VtFlowTxReason.FeegrantExpired, 'the Corporation grants the agent no active fee allowance');
51
+ }
52
+ let fee;
53
+ try {
54
+ fee = await chain.estimateFee([message], granter);
55
+ }
56
+ catch (error) {
57
+ return failed(credo_ts_didcomm_vt_flow_1.VtFlowTxReason.PreflightError, errorMessage(error));
58
+ }
59
+ const amount = BigInt((_b = (_a = fee.amount.find(coin => coin.denom === exports.FEE_DENOM)) === null || _a === void 0 ? void 0 : _a.amount) !== null && _b !== void 0 ? _b : '0');
60
+ if (granter && allowance) {
61
+ if (!allowance.unlimited && allowance.remaining < amount) {
62
+ return failed(credo_ts_didcomm_vt_flow_1.VtFlowTxReason.FeegrantExhausted, `the fee allowance has ${allowance.remaining}${exports.FEE_DENOM} left`);
63
+ }
64
+ let corporation;
65
+ try {
66
+ corporation = BigInt((await chain.getAccountBalance(granter, exports.FEE_DENOM)).amount);
67
+ }
68
+ catch (error) {
69
+ return failed(credo_ts_didcomm_vt_flow_1.VtFlowTxReason.PreflightError, errorMessage(error));
70
+ }
71
+ if (corporation < amount) {
72
+ return failed(credo_ts_didcomm_vt_flow_1.VtFlowTxReason.InsufficientFundsCorporation, `the Corporation holds ${corporation}${exports.FEE_DENOM}`);
73
+ }
74
+ }
75
+ else {
76
+ let own;
77
+ try {
78
+ own = BigInt((await chain.getBalance(exports.FEE_DENOM)).amount);
79
+ }
80
+ catch (error) {
81
+ return failed(credo_ts_didcomm_vt_flow_1.VtFlowTxReason.PreflightError, errorMessage(error));
82
+ }
83
+ if (own < amount) {
84
+ return failed(credo_ts_didcomm_vt_flow_1.VtFlowTxReason.InsufficientFundsAgent, `the agent account holds ${own}${exports.FEE_DENOM}`);
85
+ }
86
+ }
87
+ return { fee };
88
+ }
89
+ //# sourceMappingURL=feePreflight.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"feePreflight.js","sourceRoot":"","sources":["../../src/blockchain/feePreflight.ts"],"names":[],"mappings":"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"}
@@ -40,14 +40,14 @@ function registerAuthorizationHandlers(registry, authorizationService) {
40
40
  });
41
41
  };
42
42
  for (const msg of REFRESH_MSGS) {
43
- wrap(msg, () => authorizationService.refreshForOperator());
43
+ wrap(msg, activity => authorizationService.refreshForOperator(Number(activity.block_height)));
44
44
  }
45
45
  for (const msg of REVOKE_MSGS) {
46
46
  wrap(msg, async (activity) => {
47
47
  const participantId = Number(activity.entity_id);
48
48
  if (Number.isFinite(participantId))
49
49
  authorizationService.invalidateParticipant(participantId);
50
- await authorizationService.refreshForOperator();
50
+ await authorizationService.refreshForOperator(Number(activity.block_height));
51
51
  });
52
52
  }
53
53
  }
@@ -1 +1 @@
1
- {"version":3,"file":"authorizationHandlers.js","sourceRoot":"","sources":["../../../src/blockchain/handlers/authorizationHandlers.ts"],"names":[],"mappings":";;AA4BA,sEAiCC;AAxDD,4GAA4G;AAC5G,yCAAyC;AACzC,MAAM,YAAY,GAAG;IACnB,oBAAoB;IACpB,uBAAuB;IACvB,uBAAuB;IACvB,6BAA6B;IAC7B,8BAA8B;IAC9B,8BAA8B;IAC9B,+BAA+B;IAC/B,4BAA4B;IAC5B,6BAA6B;CACrB,CAAA;AAEV,wGAAwG;AACxG,MAAM,WAAW,GAAG;IAClB,mBAAmB;IACnB,8BAA8B;IAC9B,gCAAgC;IAChC,+BAA+B;CACvB,CAAA;AAEV,8FAA8F;AAC9F,SAAgB,6BAA6B,CAC3C,QAAgC,EAChC,oBAA0C;IAE1C,MAAM,IAAI,GAAG,CAAC,GAAW,EAAE,MAA2D,EAAQ,EAAE;QAC9F,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAClC,QAAQ,CAAC,QAAQ,CAAC;YAChB,GAAG;YACH,MAAM,EAAE,KAAK,EAAE,QAAyB,EAAE,GAA0B,EAAE,EAAE;gBACtE,IAAI,QAAQ;oBAAE,MAAM,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;gBAClD,IAAI,CAAC;oBACH,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAA;gBACxB,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAC3B,4CAA4C,GAAG,EAAE,EACjD,CAA4B,CAC7B,CAAA;gBACH,CAAC;YACH,CAAC;SACF,CAAC,CAAA;IACJ,CAAC,CAAA;IAED,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;QAC/B,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,oBAAoB,CAAC,kBAAkB,EAAE,CAAC,CAAA;IAC5D,CAAC;IAED,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;QAC9B,IAAI,CAAC,GAAG,EAAE,KAAK,EAAC,QAAQ,EAAC,EAAE;YACzB,MAAM,aAAa,GAAG,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA;YAChD,IAAI,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC;gBAAE,oBAAoB,CAAC,qBAAqB,CAAC,aAAa,CAAC,CAAA;YAC7F,MAAM,oBAAoB,CAAC,kBAAkB,EAAE,CAAA;QACjD,CAAC,CAAC,CAAA;IACJ,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"authorizationHandlers.js","sourceRoot":"","sources":["../../../src/blockchain/handlers/authorizationHandlers.ts"],"names":[],"mappings":";;AA4BA,sEAiCC;AAxDD,4GAA4G;AAC5G,yCAAyC;AACzC,MAAM,YAAY,GAAG;IACnB,oBAAoB;IACpB,uBAAuB;IACvB,uBAAuB;IACvB,6BAA6B;IAC7B,8BAA8B;IAC9B,8BAA8B;IAC9B,+BAA+B;IAC/B,4BAA4B;IAC5B,6BAA6B;CACrB,CAAA;AAEV,wGAAwG;AACxG,MAAM,WAAW,GAAG;IAClB,mBAAmB;IACnB,8BAA8B;IAC9B,gCAAgC;IAChC,+BAA+B;CACvB,CAAA;AAEV,8FAA8F;AAC9F,SAAgB,6BAA6B,CAC3C,QAAgC,EAChC,oBAA0C;IAE1C,MAAM,IAAI,GAAG,CAAC,GAAW,EAAE,MAA2D,EAAQ,EAAE;QAC9F,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAClC,QAAQ,CAAC,QAAQ,CAAC;YAChB,GAAG;YACH,MAAM,EAAE,KAAK,EAAE,QAAyB,EAAE,GAA0B,EAAE,EAAE;gBACtE,IAAI,QAAQ;oBAAE,MAAM,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;gBAClD,IAAI,CAAC;oBACH,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAA;gBACxB,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAC3B,4CAA4C,GAAG,EAAE,EACjD,CAA4B,CAC7B,CAAA;gBACH,CAAC;YACH,CAAC;SACF,CAAC,CAAA;IACJ,CAAC,CAAA;IAED,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;QAC/B,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,EAAE,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;IAC/F,CAAC;IAED,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;QAC9B,IAAI,CAAC,GAAG,EAAE,KAAK,EAAC,QAAQ,EAAC,EAAE;YACzB,MAAM,aAAa,GAAG,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA;YAChD,IAAI,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC;gBAAE,oBAAoB,CAAC,qBAAqB,CAAC,aAAa,CAAC,CAAA;YAC7F,MAAM,oBAAoB,CAAC,kBAAkB,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAA;QAC9E,CAAC,CAAC,CAAA;IACJ,CAAC;AACH,CAAC"}
@@ -72,7 +72,12 @@ exports.defaultHandlers = [
72
72
  msg: 'SetParticipantOPToValidated',
73
73
  handle: async (activity, ctx) => {
74
74
  ctx.agent.config.logger.info(`[IndexerWS] SetParticipantOPToValidated participant=${activity.entity_id} block=${ctx.blockHeight}`);
75
- await (0, stateMutations_1.markVtFlowRecordsValidated)(ctx.agent, String(activity.entity_id));
75
+ await (0, stateMutations_1.markVtFlowRecordsValidated)(ctx.agent, String(activity.entity_id), {
76
+ hash: ctx.txHash,
77
+ height: ctx.blockHeight,
78
+ timestamp: activity.timestamp,
79
+ });
80
+ await (0, stateMutations_1.markApplicantVtFlowRecordsValidated)(ctx.agent, String(activity.entity_id));
76
81
  },
77
82
  },
78
83
  {
@@ -1 +1 @@
1
- {"version":3,"file":"defaultHandlers.js","sourceRoot":"","sources":["../../../src/blockchain/handlers/defaultHandlers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"defaultHandlers.js","sourceRoot":"","sources":["../../../src/blockchain/handlers/defaultHandlers.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  export * from './authorizationHandlers';
2
2
  export * from './defaultHandlers';
3
3
  export * from './IndexerHandlerRegistry';
4
+ export * from './selfIssuanceHandlers';
4
5
  export * from './stateMutations';
@@ -17,5 +17,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./authorizationHandlers"), exports);
18
18
  __exportStar(require("./defaultHandlers"), exports);
19
19
  __exportStar(require("./IndexerHandlerRegistry"), exports);
20
+ __exportStar(require("./selfIssuanceHandlers"), exports);
20
21
  __exportStar(require("./stateMutations"), exports);
21
22
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/blockchain/handlers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0DAAuC;AACvC,oDAAiC;AACjC,2DAAwC;AACxC,mDAAgC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/blockchain/handlers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0DAAuC;AACvC,oDAAiC;AACjC,2DAAwC;AACxC,yDAAsC;AACtC,mDAAgC"}
@@ -0,0 +1,13 @@
1
+ import { EcsClaims } from '../../utils/ecsClaims';
2
+ import { VeranaIndexerService } from '../VeranaIndexerService';
3
+ import { IndexerHandlerRegistry } from './IndexerHandlerRegistry';
4
+ /**
5
+ * Keeps this agent's self-issued ECS credentials in step with its own ISSUER participant.
6
+ *
7
+ * The Corporation operator provisions that participant out of band, and a third party revokes it
8
+ * just as asynchronously — both usually while the agent is already running. Until it exists the
9
+ * agent cannot anchor the digest of its ECS credentials, because the chain accepts a
10
+ * CreateOrUpdateParticipantSession only against an active ISSUER entry; once it is revoked the
11
+ * credential that anchors against it makes the whole DID fail VS-CONN-VS.
12
+ */
13
+ export declare function registerSelfIssuanceAnchorHandlers(registry: IndexerHandlerRegistry, indexer: VeranaIndexerService, corporationId: number, ecsClaims: EcsClaims): void;
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.registerSelfIssuanceAnchorHandlers = registerSelfIssuanceAnchorHandlers;
4
+ const types_1 = require("../types");
5
+ const stateMutations_1 = require("./stateMutations");
6
+ /**
7
+ * Messages that can give this agent the ISSUER participant its own ECS credentials anchor
8
+ * against: an ECOSYSTEM-mode entry becomes usable when the validator validates it, an OPEN-mode
9
+ * entry as soon as its owner creates it. SetParticipantEffectiveUntil changes the validUntil of those
10
+ * credentials, per [VSA-VTI-ECS-SELF-2].
11
+ */
12
+ const ISSUER_READY_MSGS = [
13
+ 'SetParticipantOPToValidated',
14
+ 'SelfCreateParticipant',
15
+ 'SetParticipantEffectiveUntil',
16
+ ];
17
+ /** Messages that make an ISSUER participant permanently unusable, per VSA-VTI-FLOW-OP-REVOKE. */
18
+ const ISSUER_REVOKED_MSGS = ['RevokeParticipant', 'SlashParticipantTrustDeposit'];
19
+ /**
20
+ * Keeps this agent's self-issued ECS credentials in step with its own ISSUER participant.
21
+ *
22
+ * The Corporation operator provisions that participant out of band, and a third party revokes it
23
+ * just as asynchronously — both usually while the agent is already running. Until it exists the
24
+ * agent cannot anchor the digest of its ECS credentials, because the chain accepts a
25
+ * CreateOrUpdateParticipantSession only against an active ISSUER entry; once it is revoked the
26
+ * credential that anchors against it makes the whole DID fail VS-CONN-VS.
27
+ */
28
+ function registerSelfIssuanceAnchorHandlers(registry, indexer, corporationId, ecsClaims) {
29
+ // Events arrive in bursts, and each reconciliation writes the DID record, so they run in turn.
30
+ let queue = Promise.resolve();
31
+ for (const msg of ISSUER_READY_MSGS) {
32
+ const original = registry.get(msg);
33
+ registry.register({
34
+ msg,
35
+ handle: async (activity, ctx) => {
36
+ if (original)
37
+ await original.handle(activity, ctx);
38
+ const { agent } = ctx;
39
+ if (!agent.did || !agent.veranaChain)
40
+ return;
41
+ try {
42
+ const participant = await indexer.getParticipant(String(activity.entity_id));
43
+ if ((participant === null || participant === void 0 ? void 0 : participant.did) !== agent.did || participant.role !== types_1.ParticipantRole.Issuer)
44
+ return;
45
+ }
46
+ catch (error) {
47
+ ctx.agent.config.logger.debug(`[SelfTR] could not read participant ${activity.entity_id}: ${error.message}`);
48
+ return;
49
+ }
50
+ agent.config.logger.info(`[SelfTR] own ISSUER participant ${activity.entity_id} is ready; reconciling the ECS credentials`);
51
+ queue = queue
52
+ .then(() => (0, stateMutations_1.reconcileVtjscPublications)(agent, indexer, corporationId, ecsClaims))
53
+ .catch((error) => agent.config.logger.error(`[SelfTR] reconciliation failed: ${error.message}`));
54
+ await queue;
55
+ },
56
+ });
57
+ }
58
+ for (const msg of ISSUER_REVOKED_MSGS) {
59
+ const original = registry.get(msg);
60
+ registry.register({
61
+ msg,
62
+ handle: async (activity, ctx) => {
63
+ if (original)
64
+ await original.handle(activity, ctx);
65
+ const { agent } = ctx;
66
+ if (!agent.did || !agent.veranaChain)
67
+ return;
68
+ queue = queue
69
+ .then(() => (0, stateMutations_1.removeSelfIssuedEcsCredentialsIfIssuerRevoked)(agent, String(activity.entity_id)))
70
+ .catch((error) => agent.config.logger.error(`[SelfTR] withdrawal failed: ${error.message}`));
71
+ await queue;
72
+ },
73
+ });
74
+ }
75
+ }
76
+ //# sourceMappingURL=selfIssuanceHandlers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"selfIssuanceHandlers.js","sourceRoot":"","sources":["../../../src/blockchain/handlers/selfIssuanceHandlers.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { AgentContext } from '@credo-ts/core';
2
2
  import { VtFlowRecord, VtFlowService } from '@verana-labs/credo-ts-didcomm-vt-flow';
3
3
  import { VsAgent } from '../../agent/VsAgent';
4
- import { SelfTrDefaults } from '../../utils/setupSelfTr';
4
+ import { EcsClaims } from '../../utils/ecsClaims';
5
5
  import { VeranaIndexerService } from '../VeranaIndexerService';
6
6
  import { IndexerActivity, VeranaSyncState } from '../types';
7
7
  export declare function applyStateMutation(state: VeranaSyncState, activity: IndexerActivity): void;
@@ -15,12 +15,35 @@ export declare function upsertParticipant(state: VeranaSyncState, activity: Inde
15
15
  effectiveUntil?: string;
16
16
  }): void;
17
17
  export declare function reconcileVtFlowRecordsForParticipant(agent: VsAgent, participantId: string, reconcile: (record: VtFlowRecord, service: VtFlowService, agentContext: AgentContext) => Promise<string | null>, errorLabel: string): Promise<void>;
18
- export declare function markVtFlowRecordsValidated(agent: VsAgent, participantId: string): Promise<void>;
18
+ /** [VSA-VTI-FLOW-OP-ISSUE]: the validator side of the `SetParticipantOPtoValidated` notification. */
19
+ export declare function markVtFlowRecordsValidated(agent: VsAgent, participantId: string, tx: {
20
+ hash: string;
21
+ height: number;
22
+ timestamp: string;
23
+ }): Promise<void>;
24
+ /** Applicant side: VALIDATED is terminal for a role other than HOLDER, and a HOLDER flow waits there for the offer ([VSA-VTI-FLOW-OP-ISSUE-2]). */
25
+ export declare function markApplicantVtFlowRecordsValidated(agent: VsAgent, participantId: string): Promise<void>;
19
26
  export declare function setVtFlowRecordsParticipantRevoked(agent: VsAgent, participantId: string): Promise<void>;
20
27
  export declare function setVtFlowRecordsParticipantSlashed(agent: VsAgent, participantId: string): Promise<void>;
21
28
  /** VSA-VTI-FLOW-OP-REVOKE: a revoked/slashed HOLDER's credential is gone; drop its linked VP and stored VTC. */
22
29
  export declare function removeHolderTrustCredentialIfRevoked(agent: VsAgent, participantId: string): Promise<void>;
30
+ /**
31
+ * VSA-VTI-FLOW-OP-REVOKE: an ECS credential anchored against a revoked ISSUER still verifies, but a
32
+ * resolver reports the Participant as REVOKED and the whole DID then fails VS-CONN-VS.
33
+ */
34
+ export declare function removeSelfIssuedEcsCredentialsIfIssuerRevoked(agent: VsAgent, participantId: string): Promise<void>;
23
35
  export declare function reconcileVtFlowRecordsOnCancel(agent: VsAgent, participantId: string): Promise<void>;
24
36
  export declare function startParticipantOPAutoFlow(agent: VsAgent, activity: IndexerActivity): Promise<void>;
25
- export declare function reconcileVtjscPublications(agent: VsAgent, indexer: VeranaIndexerService, corporationId: number, selfTrDefaults?: SelfTrDefaults): Promise<void>;
37
+ export declare function reconcileVtjscPublications(agent: VsAgent, indexer: VeranaIndexerService, corporationId: number, ecsClaims?: EcsClaims): Promise<void>;
38
+ /**
39
+ * Publishes the one AnonCreds schema that governs every credential of a VTJSC, per [VSA-PUB-AC-5].
40
+ * Only the issuer of the VTJSC publishes it. The call is idempotent.
41
+ */
42
+ export declare function publishAnonCredsSchemaForVtjsc(agent: VsAgent, credentialSchemaId: string | number, jsonSchema: string | object, jsonSchemaCredentialId: string): Promise<string | undefined>;
43
+ /**
44
+ * [VSA-PUB-VT-5]: the SD-JWT VC Type Metadata of a VTJSC, built once and stored with its entry.
45
+ * Every issuer the Ecosystem accredits names its URL as `vct` and hashes its bytes into
46
+ * `vct#integrity`, so a stored document is never rebuilt.
47
+ */
48
+ export declare function publishTypeMetadataForVtjsc(agent: VsAgent, credentialSchemaId: string | number, jsonSchema: string | object, jsonSchemaCredentialId: string, schemaRef: string): Promise<boolean>;
26
49
  export declare function publishVtjscIfOwner(state: VeranaSyncState, agent: VsAgent, schemaEntityId: string, agentCorporationId?: number): Promise<void>;