@verana-labs/vs-agent-sdk 1.12.0-dev.3 → 1.12.0-dev.30

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 (93) hide show
  1. package/README.md +35 -27
  2. package/build/agent/VsAgent.d.ts +16 -0
  3. package/build/agent/VsAgent.js +78 -14
  4. package/build/agent/VsAgent.js.map +1 -1
  5. package/build/agent/createVsAgent.d.ts +3 -0
  6. package/build/agent/createVsAgent.js +2 -0
  7. package/build/agent/createVsAgent.js.map +1 -1
  8. package/build/blockchain/AuthorizationService.d.ts +26 -0
  9. package/build/blockchain/AuthorizationService.js +82 -0
  10. package/build/blockchain/AuthorizationService.js.map +1 -0
  11. package/build/blockchain/IndexerWebSocketService.d.ts +15 -9
  12. package/build/blockchain/IndexerWebSocketService.js +201 -97
  13. package/build/blockchain/IndexerWebSocketService.js.map +1 -1
  14. package/build/blockchain/VeranaChainService.d.ts +29 -3
  15. package/build/blockchain/VeranaChainService.js +164 -27
  16. package/build/blockchain/VeranaChainService.js.map +1 -1
  17. package/build/blockchain/VeranaHelpers.js +1 -0
  18. package/build/blockchain/VeranaHelpers.js.map +1 -1
  19. package/build/blockchain/VeranaIndexerService.d.ts +13 -2
  20. package/build/blockchain/VeranaIndexerService.js +49 -6
  21. package/build/blockchain/VeranaIndexerService.js.map +1 -1
  22. package/build/blockchain/handlers/IndexerHandlerRegistry.d.ts +4 -3
  23. package/build/blockchain/handlers/IndexerHandlerRegistry.js +6 -0
  24. package/build/blockchain/handlers/IndexerHandlerRegistry.js.map +1 -1
  25. package/build/blockchain/handlers/authorizationHandlers.d.ts +4 -0
  26. package/build/blockchain/handlers/authorizationHandlers.js +54 -0
  27. package/build/blockchain/handlers/authorizationHandlers.js.map +1 -0
  28. package/build/blockchain/handlers/defaultHandlers.d.ts +4 -1
  29. package/build/blockchain/handlers/defaultHandlers.js +62 -35
  30. package/build/blockchain/handlers/defaultHandlers.js.map +1 -1
  31. package/build/blockchain/handlers/index.d.ts +1 -0
  32. package/build/blockchain/handlers/index.js +1 -0
  33. package/build/blockchain/handlers/index.js.map +1 -1
  34. package/build/blockchain/handlers/stateMutations.d.ts +6 -1
  35. package/build/blockchain/handlers/stateMutations.js +146 -10
  36. package/build/blockchain/handlers/stateMutations.js.map +1 -1
  37. package/build/blockchain/index.d.ts +1 -0
  38. package/build/blockchain/index.js +1 -0
  39. package/build/blockchain/index.js.map +1 -1
  40. package/build/blockchain/indexerSync.d.ts +10 -0
  41. package/build/blockchain/indexerSync.js +34 -0
  42. package/build/blockchain/indexerSync.js.map +1 -0
  43. package/build/blockchain/types.d.ts +123 -11
  44. package/build/blockchain/types.js +20 -1
  45. package/build/blockchain/types.js.map +1 -1
  46. package/build/bootstrap/EcsBootstrapService.d.ts +30 -0
  47. package/build/bootstrap/EcsBootstrapService.js +300 -0
  48. package/build/bootstrap/EcsBootstrapService.js.map +1 -0
  49. package/build/bootstrap/index.d.ts +1 -0
  50. package/build/bootstrap/index.js +18 -0
  51. package/build/bootstrap/index.js.map +1 -0
  52. package/build/credentials/FullTailsFileService.d.ts +4 -4
  53. package/build/credentials/FullTailsFileService.js +76 -65
  54. package/build/credentials/FullTailsFileService.js.map +1 -1
  55. package/build/did/adminApiService.d.ts +2 -0
  56. package/build/did/adminApiService.js +17 -0
  57. package/build/did/adminApiService.js.map +1 -0
  58. package/build/did/migrateWebVhVersionTime.d.ts +9 -0
  59. package/build/did/migrateWebVhVersionTime.js +191 -0
  60. package/build/did/migrateWebVhVersionTime.js.map +1 -0
  61. package/build/events/VsAgentEvents.d.ts +16 -2
  62. package/build/events/VsAgentEvents.js +2 -0
  63. package/build/events/VsAgentEvents.js.map +1 -1
  64. package/build/events/VtFlowEvents.d.ts +3 -0
  65. package/build/events/VtFlowEvents.js +35 -0
  66. package/build/events/VtFlowEvents.js.map +1 -0
  67. package/build/events/index.d.ts +1 -0
  68. package/build/events/index.js +1 -0
  69. package/build/events/index.js.map +1 -1
  70. package/build/index.d.ts +3 -1
  71. package/build/index.js +8 -4
  72. package/build/index.js.map +1 -1
  73. package/build/plugins/setupBaseDidComm.js +1 -1
  74. package/build/plugins/setupBaseDidComm.js.map +1 -1
  75. package/build/types.d.ts +4 -0
  76. package/build/types.js +5 -1
  77. package/build/types.js.map +1 -1
  78. package/build/utils/trustCredentialStore.d.ts +2 -0
  79. package/build/utils/trustCredentialStore.js +49 -2
  80. package/build/utils/trustCredentialStore.js.map +1 -1
  81. package/build/utils/util.d.ts +5 -1
  82. package/build/utils/util.js +17 -5
  83. package/build/utils/util.js.map +1 -1
  84. package/build/vtFlow/VtFlowOrchestrator.d.ts +16 -1
  85. package/build/vtFlow/VtFlowOrchestrator.js +215 -87
  86. package/build/vtFlow/VtFlowOrchestrator.js.map +1 -1
  87. package/build/vtFlow/assertVerifiableService.d.ts +8 -0
  88. package/build/vtFlow/assertVerifiableService.js +28 -0
  89. package/build/vtFlow/assertVerifiableService.js.map +1 -0
  90. package/build/vtFlow/index.d.ts +1 -0
  91. package/build/vtFlow/index.js +1 -0
  92. package/build/vtFlow/index.js.map +1 -1
  93. package/package.json +12 -11
@@ -7,8 +7,13 @@ const stargate_1 = require("@cosmjs/stargate");
7
7
  const tendermint_rpc_1 = require("@cosmjs/tendermint-rpc");
8
8
  const verana_types_1 = require("@verana-labs/verana-types");
9
9
  const types_1 = require("./types");
10
- const { QueryClientImpl: PpQueryClientImpl } = require('@verana-labs/verana-types/codec/verana/pp/v1/query');
11
- const { MsgSetParticipantOPToValidated, MsgCreateOrUpdateParticipantSession, } = require('@verana-labs/verana-types/codec/verana/pp/v1/tx');
10
+ const { QueryClientImpl: CsQueryClientImpl } = require('@verana-labs/verana-types/codec/verana/cs/v1/query');
11
+ const { QueryClientImpl: DeQueryClientImpl } = require('@verana-labs/verana-types/codec/verana/de/v1/query');
12
+ const { QueryClientImpl: EcQueryClientImpl, QueryGetEcosystemRequest, } = require('@verana-labs/verana-types/codec/verana/ec/v1/query');
13
+ const { QueryClientImpl: PpQueryClientImpl, QueryFindParticipantsWithDIDRequest, } = require('@verana-labs/verana-types/codec/verana/pp/v1/query');
14
+ const { MsgSetParticipantOPToValidated, MsgCreateOrUpdateParticipantSession, MsgTriggerResolver, MsgStartParticipantOP, MsgStartParticipantOPResponse, MsgRenewParticipantOP, MsgCancelParticipantOPLastRequest, MsgSelfCreateParticipant, MsgSelfCreateParticipantResponse, } = require('@verana-labs/verana-types/codec/verana/pp/v1/tx');
15
+ // ParticipantRole.HOLDER (x/pp/types); the only role whose vs_operator may send TriggerResolver (chain Path 1).
16
+ const PARTICIPANT_ROLE_HOLDER = 6;
12
17
  function mapParticipant(p) {
13
18
  var _a;
14
19
  return {
@@ -37,6 +42,9 @@ class VeranaChainService {
37
42
  get corporation() {
38
43
  return this.corporationAddress;
39
44
  }
45
+ get autoTriggerResolverEnabled() {
46
+ return this.config.autoTriggerResolver !== false;
47
+ }
40
48
  async start() {
41
49
  var _a;
42
50
  const { rpcUrl, mnemonic, chainId, logger, gasPrice } = this.config;
@@ -58,32 +66,144 @@ class VeranaChainService {
58
66
  throw new Error(`[VeranaChain] Chain ID mismatch: expected "${chainId}", got "${this.chainId}"`);
59
67
  }
60
68
  logger.info(`[VeranaChain] Connected to chain: ${this.chainId}`);
61
- // FIXME(verana setValidated->AUTHZ-CHECK-3): validating needs an OperatorAuthorization and the session
62
- // needs a mutually-exclusive VSOperatorAuthorization, so when configured the agent signs the session
63
- // with a second account. Remove once both are authorized under one vs_operator.
64
- if (this.config.sessionOperatorMnemonic) {
65
- const sessionWallet = await proto_signing_1.DirectSecp256k1HdWallet.fromMnemonic(this.config.sessionOperatorMnemonic, {
66
- prefix: types_1.VERANA_BECH32_PREFIX,
67
- });
68
- const [sessionAccount] = await sessionWallet.getAccounts();
69
- this.sessionOperatorAddress = sessionAccount.address;
70
- this.sessionSigningClient = await stargate_1.SigningStargateClient.createWithSigner(cometClient, sessionWallet, {
71
- registry: (0, verana_types_1.createVeranaRegistry)(),
72
- aminoTypes: (0, verana_types_1.createVeranaAminoTypes)(),
73
- gasPrice: stargate_1.GasPrice.fromString(gasPrice !== null && gasPrice !== void 0 ? gasPrice : '1uvna'),
74
- });
75
- logger.info(`[VeranaChain] session vs_operator: ${this.sessionOperatorAddress}`);
76
- }
77
69
  const queryClient = new stargate_1.QueryClient(cometClient);
78
70
  const rpc = (0, stargate_1.createProtobufRpcClient)(queryClient);
79
71
  this.ppQuery = new PpQueryClientImpl(rpc);
72
+ this.deQuery = new DeQueryClientImpl(rpc);
73
+ this.ecQuery = new EcQueryClientImpl(rpc);
74
+ this.csQuery = new CsQueryClientImpl(rpc);
80
75
  }
81
76
  // Query API (unsigned)
82
77
  async getParticipant(id) {
83
78
  const result = await this.ppQuery.GetParticipant({ id });
84
79
  return result.participant ? mapParticipant(result.participant) : undefined;
85
80
  }
81
+ async getBalance(denom = 'uvna') {
82
+ return this.signingClient.getBalance(this.operatorAddress, denom);
83
+ }
84
+ async hasVsOperatorAuthorization() {
85
+ return (await this.listVsOperatorAuthorizations()).length > 0;
86
+ }
87
+ async listOperatorAuthorizations(operator) {
88
+ const result = await this.deQuery.ListOperatorAuthorizations({
89
+ corporationId: 0,
90
+ operator: operator !== null && operator !== void 0 ? operator : this.operatorAddress,
91
+ responseMaxSize: 64,
92
+ });
93
+ return result.operatorAuthorizations.map(a => ({
94
+ id: a.id,
95
+ corporationId: a.corporationId,
96
+ operator: a.operator,
97
+ msgTypes: a.msgTypes,
98
+ expiration: a.expiration,
99
+ period: a.period,
100
+ }));
101
+ }
102
+ async listVsOperatorAuthorizations(vsOperator) {
103
+ const result = await this.deQuery.ListVSOperatorAuthorizations({
104
+ corporationId: 0,
105
+ vsOperator: vsOperator !== null && vsOperator !== void 0 ? vsOperator : this.operatorAddress,
106
+ responseMaxSize: 64,
107
+ });
108
+ return result.vsOperatorAuthorizations.map(a => ({
109
+ id: a.id,
110
+ corporationId: a.corporationId,
111
+ vsOperator: a.vsOperator,
112
+ records: a.records.map(r => ({
113
+ participantId: r.participantId,
114
+ msgTypes: r.msgTypes,
115
+ withFeegrant: r.withFeegrant,
116
+ expiration: r.expiration,
117
+ period: r.period,
118
+ })),
119
+ }));
120
+ }
121
+ async getEcosystem(id) {
122
+ // fromPartial fills the unused request fields with defaults so the request encodes correctly.
123
+ const result = await this.ecQuery.GetEcosystem(QueryGetEcosystemRequest.fromPartial({ id }));
124
+ if (!result.ecosystem)
125
+ return undefined;
126
+ const { id: ecosystemId, did, corporationId, archived, activeVersion } = result.ecosystem;
127
+ return { id: ecosystemId, did, corporationId, archived, activeVersion };
128
+ }
129
+ async getCredentialSchema(id) {
130
+ const result = await this.csQuery.GetCredentialSchema({ id });
131
+ if (!result.schema)
132
+ return undefined;
133
+ const s = result.schema;
134
+ return {
135
+ id: s.id,
136
+ ecosystemId: s.ecosystemId,
137
+ jsonSchema: s.jsonSchema,
138
+ issuerOnboardingMode: s.issuerOnboardingMode,
139
+ verifierOnboardingMode: s.verifierOnboardingMode,
140
+ holderOnboardingMode: s.holderOnboardingMode,
141
+ archived: s.archived,
142
+ };
143
+ }
86
144
  // Transaction API (signed)
145
+ async startParticipantOP(params) {
146
+ var _a, _b;
147
+ const value = MsgStartParticipantOP.fromPartial({
148
+ corporation: this.corporationAddress,
149
+ operator: this.operatorAddress,
150
+ role: params.role,
151
+ validatorParticipantId: params.validatorParticipantId,
152
+ did: params.did,
153
+ validationFees: params.validationFees,
154
+ issuanceFees: params.issuanceFees,
155
+ verificationFees: params.verificationFees,
156
+ vsOperator: (_a = params.vsOperator) !== null && _a !== void 0 ? _a : '',
157
+ vsOperatorAuthzMsgTypes: (_b = params.vsOperatorAuthzMsgTypes) !== null && _b !== void 0 ? _b : [],
158
+ });
159
+ const result = await this.broadcastMsg({ typeUrl: verana_types_1.veranaTypeUrls.MsgStartParticipantOP, value });
160
+ const participantId = Number(MsgStartParticipantOPResponse.decode(result.msgResponses[0].value).participantId);
161
+ return { participantId, txHash: result.transactionHash };
162
+ }
163
+ async renewParticipantOP(id) {
164
+ const value = MsgRenewParticipantOP.fromPartial({
165
+ corporation: this.corporationAddress,
166
+ operator: this.operatorAddress,
167
+ id,
168
+ });
169
+ const result = await this.broadcastMsg({ typeUrl: verana_types_1.veranaTypeUrls.MsgRenewParticipantOP, value });
170
+ return { txHash: result.transactionHash };
171
+ }
172
+ async cancelParticipantOPLastRequest(id) {
173
+ const value = MsgCancelParticipantOPLastRequest.fromPartial({
174
+ corporation: this.corporationAddress,
175
+ operator: this.operatorAddress,
176
+ id,
177
+ });
178
+ const result = await this.broadcastMsg({
179
+ typeUrl: verana_types_1.veranaTypeUrls.MsgCancelParticipantOPLastRequest,
180
+ value,
181
+ });
182
+ return { txHash: result.transactionHash };
183
+ }
184
+ async selfCreateParticipant(params) {
185
+ var _a, _b, _c, _d, _e, _f, _g;
186
+ const value = MsgSelfCreateParticipant.fromPartial({
187
+ corporation: this.corporationAddress,
188
+ operator: this.operatorAddress,
189
+ role: params.role,
190
+ validatorParticipantId: params.validatorParticipantId,
191
+ did: params.did,
192
+ effectiveFrom: params.effectiveFrom,
193
+ effectiveUntil: params.effectiveUntil,
194
+ validationFees: (_a = params.validationFees) !== null && _a !== void 0 ? _a : 0,
195
+ verificationFees: (_b = params.verificationFees) !== null && _b !== void 0 ? _b : 0,
196
+ vsOperator: (_c = params.vsOperator) !== null && _c !== void 0 ? _c : '',
197
+ vsOperatorAuthzMsgTypes: (_d = params.vsOperatorAuthzMsgTypes) !== null && _d !== void 0 ? _d : [],
198
+ vsOperatorAuthzSpendLimit: (_e = params.vsOperatorAuthzSpendLimit) !== null && _e !== void 0 ? _e : [],
199
+ vsOperatorAuthzWithFeegrant: (_f = params.vsOperatorAuthzWithFeegrant) !== null && _f !== void 0 ? _f : false,
200
+ vsOperatorAuthzFeeSpendLimit: (_g = params.vsOperatorAuthzFeeSpendLimit) !== null && _g !== void 0 ? _g : [],
201
+ vsOperatorAuthzPeriod: params.vsOperatorAuthzPeriod,
202
+ });
203
+ const result = await this.broadcastMsg({ typeUrl: verana_types_1.veranaTypeUrls.MsgSelfCreateParticipant, value });
204
+ const participantId = Number(MsgSelfCreateParticipantResponse.decode(result.msgResponses[0].value).id);
205
+ return { participantId, txHash: result.transactionHash };
206
+ }
87
207
  async setParticipantOPToValidated(params) {
88
208
  var _a, _b, _c, _d, _e;
89
209
  const value = MsgSetParticipantOPToValidated.fromPartial({
@@ -98,16 +218,13 @@ class VeranaChainService {
98
218
  issuanceFeeDiscount: (_d = params.issuanceFeeDiscount) !== null && _d !== void 0 ? _d : 0,
99
219
  verificationFeeDiscount: (_e = params.verificationFeeDiscount) !== null && _e !== void 0 ? _e : 0,
100
220
  });
101
- const result = await this.broadcastMsg(verana_types_1.veranaTypeUrls.MsgSetParticipantOPToValidated, value);
221
+ const result = await this.broadcastMsg({ typeUrl: verana_types_1.veranaTypeUrls.MsgSetParticipantOPToValidated, value });
102
222
  return { txHash: result.transactionHash };
103
223
  }
104
224
  async createOrUpdateParticipantSession(params) {
105
- var _a, _b;
106
- // FIXME(verana setValidated->AUTHZ-CHECK-3): sign the session with the VSOA account when configured.
107
- const operator = (_a = this.sessionOperatorAddress) !== null && _a !== void 0 ? _a : this.operatorAddress;
108
225
  const value = MsgCreateOrUpdateParticipantSession.fromPartial({
109
226
  corporation: this.corporationAddress,
110
- operator,
227
+ operator: this.operatorAddress,
111
228
  id: params.id,
112
229
  issuerParticipantId: params.issuerParticipantId,
113
230
  verifierParticipantId: params.verifierParticipantId,
@@ -115,13 +232,33 @@ class VeranaChainService {
115
232
  walletAgentParticipantId: params.walletAgentParticipantId,
116
233
  digest: params.digest,
117
234
  });
118
- const result = await this.broadcastMsg(verana_types_1.veranaTypeUrls.MsgCreateOrUpdateParticipantSession, value, (_b = this.sessionSigningClient) !== null && _b !== void 0 ? _b : this.signingClient, operator);
235
+ const result = await this.broadcastMsg({
236
+ typeUrl: verana_types_1.veranaTypeUrls.MsgCreateOrUpdateParticipantSession,
237
+ value,
238
+ });
239
+ return { txHash: result.transactionHash };
240
+ }
241
+ async findActiveHolderParticipantIdByDid(did) {
242
+ var _a;
243
+ // fromPartial fills the unused fields with defaults so the request encodes correctly.
244
+ const request = QueryFindParticipantsWithDIDRequest.fromPartial({ did });
245
+ const { participants } = await this.ppQuery.FindParticipantsWithDID(request);
246
+ return (_a = participants.find(p => p.did === did && p.role === PARTICIPANT_ROLE_HOLDER && !p.revoked && !p.slashed)) === null || _a === void 0 ? void 0 : _a.id;
247
+ }
248
+ async triggerResolver(participantId) {
249
+ const value = MsgTriggerResolver.fromPartial({
250
+ corporation: this.corporationAddress,
251
+ operator: this.operatorAddress,
252
+ id: participantId,
253
+ });
254
+ const result = await this.broadcastMsg({ typeUrl: verana_types_1.veranaTypeUrls.MsgTriggerResolver, value });
119
255
  return { txHash: result.transactionHash };
120
256
  }
121
- async broadcastMsg(typeUrl, value, client = this.signingClient, signer = this.operatorAddress) {
257
+ async broadcastMsg(options) {
258
+ const { typeUrl, value } = options;
122
259
  const msg = { typeUrl, value };
123
- this.config.logger.debug(`[VeranaChain] Broadcasting ${typeUrl}`);
124
- const result = await client.signAndBroadcast(signer, [msg], 'auto');
260
+ this.config.logger.debug(`[VeranaChain] Broadcasting ${typeUrl} as ${this.operatorAddress}`);
261
+ const result = await this.signingClient.signAndBroadcast(this.operatorAddress, [msg], 'auto');
125
262
  (0, stargate_1.assertIsDeliverTxSuccess)(result);
126
263
  this.config.logger.info(`[VeranaChain] Tx success: ${result.transactionHash}`);
127
264
  return result;
@@ -1 +1 @@
1
- {"version":3,"file":"VeranaChainService.js","sourceRoot":"","sources":["../../src/blockchain/VeranaChainService.ts"],"names":[],"mappings":";;;AAAA,uDAAuD;AACvD,yDAA+D;AAC/D,+CAOyB;AACzB,2DAAqD;AACrD,4DAAwG;AAExG,mCAQgB;AAEhB,MAAM,EAAE,eAAe,EAAE,iBAAiB,EAAE,GAAG,OAAO,CAAC,oDAAoD,CAAC,CAAA;AAC5G,MAAM,EACJ,8BAA8B,EAC9B,mCAAmC,GACpC,GAAG,OAAO,CAAC,iDAAiD,CAAC,CAAA;AAE9D,SAAS,cAAc,CAAC,CAAiB;;IACvC,OAAO;QACL,EAAE,EAAE,CAAC,CAAC,EAAE;QACR,QAAQ,EAAE,CAAC,CAAC,QAAQ;QACpB,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,GAAG,EAAE,CAAC,CAAC,GAAG;QACV,WAAW,EAAE,CAAC,CAAC,aAAa,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE;QACnE,sBAAsB,EAAE,CAAC,CAAC,sBAAsB;QAChD,OAAO,EAAE,CAAC,CAAC,OAA4C;QACvD,eAAe,EAAE,MAAA,CAAC,CAAC,eAAe,mCAAI,EAAE;QACxC,OAAO,EAAE,CAAC,CAAC,OAAO;QAClB,OAAO,EAAE,CAAC,CAAC,OAAO;KACnB,CAAA;AACH,CAAC;AAED,MAAa,kBAAkB;IAY7B,YAA6B,MAAyB;QAAzB,WAAM,GAAN,MAAM,CAAmB;IAAG,CAAC;IAE1D,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,eAAe,CAAA;IAC7B,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,OAAO,CAAA;IACrB,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,kBAAkB,CAAA;IAChC,CAAC;IAED,KAAK,CAAC,KAAK;;QACT,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,MAAM,CAAA;QAEnE,MAAM,MAAM,GAAG,MAAM,uCAAuB,CAAC,YAAY,CAAC,QAAQ,EAAE;YAClE,MAAM,EAAE,4BAAoB;SAC7B,CAAC,CAAA;QACF,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,MAAM,CAAC,WAAW,EAAE,CAAA;QAC5C,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,OAAO,CAAA;QACtC,IAAI,CAAC,kBAAkB,GAAG,MAAA,IAAI,CAAC,MAAM,CAAC,kBAAkB,mCAAI,OAAO,CAAC,OAAO,CAAA;QAC3E,MAAM,CAAC,IAAI,CACT,sCAAsC,IAAI,CAAC,eAAe,6DAA6D,CACxH,CAAA;QAED,MAAM,WAAW,GAAG,MAAM,IAAA,6BAAY,EAAC,MAAM,CAAC,CAAA;QAC9C,IAAI,CAAC,aAAa,GAAG,MAAM,gCAAqB,CAAC,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE;YACrF,QAAQ,EAAE,IAAA,mCAAoB,GAAE;YAChC,UAAU,EAAE,IAAA,qCAAsB,GAAE;YACpC,QAAQ,EAAE,mBAAQ,CAAC,UAAU,CAAC,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,OAAO,CAAC;SACnD,CAAC,CAAA;QAEF,IAAI,CAAC,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,CAAA;QACpD,IAAI,OAAO,IAAI,IAAI,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;YACxC,MAAM,IAAI,KAAK,CAAC,8CAA8C,OAAO,WAAW,IAAI,CAAC,OAAO,GAAG,CAAC,CAAA;QAClG,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,qCAAqC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAA;QAEhE,uGAAuG;QACvG,qGAAqG;QACrG,gFAAgF;QAChF,IAAI,IAAI,CAAC,MAAM,CAAC,uBAAuB,EAAE,CAAC;YACxC,MAAM,aAAa,GAAG,MAAM,uCAAuB,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,uBAAuB,EAAE;gBACpG,MAAM,EAAE,4BAAoB;aAC7B,CAAC,CAAA;YACF,MAAM,CAAC,cAAc,CAAC,GAAG,MAAM,aAAa,CAAC,WAAW,EAAE,CAAA;YAC1D,IAAI,CAAC,sBAAsB,GAAG,cAAc,CAAC,OAAO,CAAA;YACpD,IAAI,CAAC,oBAAoB,GAAG,MAAM,gCAAqB,CAAC,gBAAgB,CAAC,WAAW,EAAE,aAAa,EAAE;gBACnG,QAAQ,EAAE,IAAA,mCAAoB,GAAE;gBAChC,UAAU,EAAE,IAAA,qCAAsB,GAAE;gBACpC,QAAQ,EAAE,mBAAQ,CAAC,UAAU,CAAC,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,OAAO,CAAC;aACnD,CAAC,CAAA;YACF,MAAM,CAAC,IAAI,CAAC,sCAAsC,IAAI,CAAC,sBAAsB,EAAE,CAAC,CAAA;QAClF,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,sBAAW,CAAC,WAAW,CAAC,CAAA;QAChD,MAAM,GAAG,GAAG,IAAA,kCAAuB,EAAC,WAAW,CAAC,CAAA;QAChD,IAAI,CAAC,OAAO,GAAG,IAAI,iBAAiB,CAAC,GAAG,CAA2B,CAAA;IACrE,CAAC;IAED,uBAAuB;IACvB,KAAK,CAAC,cAAc,CAAC,EAAU;QAC7B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;QACxD,OAAO,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAC5E,CAAC;IAED,2BAA2B;IAC3B,KAAK,CAAC,2BAA2B,CAAC,MAAyC;;QACzE,MAAM,KAAK,GAAG,8BAA8B,CAAC,WAAW,CAAC;YACvD,WAAW,EAAE,IAAI,CAAC,kBAAkB;YACpC,QAAQ,EAAE,IAAI,CAAC,eAAe;YAC9B,EAAE,EAAE,MAAM,CAAC,EAAE;YACb,cAAc,EAAE,MAAM,CAAC,cAAc;YACrC,cAAc,EAAE,MAAA,MAAM,CAAC,cAAc,mCAAI,CAAC;YAC1C,YAAY,EAAE,MAAA,MAAM,CAAC,YAAY,mCAAI,CAAC;YACtC,gBAAgB,EAAE,MAAA,MAAM,CAAC,gBAAgB,mCAAI,CAAC;YAC9C,eAAe,EAAE,MAAM,CAAC,eAAe;YACvC,mBAAmB,EAAE,MAAA,MAAM,CAAC,mBAAmB,mCAAI,CAAC;YACpD,uBAAuB,EAAE,MAAA,MAAM,CAAC,uBAAuB,mCAAI,CAAC;SAC7D,CAAC,CAAA;QACF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,6BAAc,CAAC,8BAA8B,EAAE,KAAK,CAAC,CAAA;QAC5F,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,eAAe,EAAE,CAAA;IAC3C,CAAC;IAED,KAAK,CAAC,gCAAgC,CACpC,MAA8C;;QAE9C,qGAAqG;QACrG,MAAM,QAAQ,GAAG,MAAA,IAAI,CAAC,sBAAsB,mCAAI,IAAI,CAAC,eAAe,CAAA;QACpE,MAAM,KAAK,GAAG,mCAAmC,CAAC,WAAW,CAAC;YAC5D,WAAW,EAAE,IAAI,CAAC,kBAAkB;YACpC,QAAQ;YACR,EAAE,EAAE,MAAM,CAAC,EAAE;YACb,mBAAmB,EAAE,MAAM,CAAC,mBAAmB;YAC/C,qBAAqB,EAAE,MAAM,CAAC,qBAAqB;YACnD,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;YAC7C,wBAAwB,EAAE,MAAM,CAAC,wBAAwB;YACzD,MAAM,EAAE,MAAM,CAAC,MAAM;SACtB,CAAC,CAAA;QACF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CACpC,6BAAc,CAAC,mCAAmC,EAClD,KAAK,EACL,MAAA,IAAI,CAAC,oBAAoB,mCAAI,IAAI,CAAC,aAAa,EAC/C,QAAQ,CACT,CAAA;QACD,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,eAAe,EAAE,CAAA;IAC3C,CAAC;IAEO,KAAK,CAAC,YAAY,CACxB,OAAe,EACf,KAAa,EACb,SAAgC,IAAI,CAAC,aAAa,EAClD,SAAiB,IAAI,CAAC,eAAe;QAErC,MAAM,GAAG,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,CAAA;QAC9B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,8BAA8B,OAAO,EAAE,CAAC,CAAA;QACjE,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAA;QACnE,IAAA,mCAAwB,EAAC,MAAM,CAAC,CAAA;QAChC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,6BAA6B,MAAM,CAAC,eAAe,EAAE,CAAC,CAAA;QAC9E,OAAO,MAAM,CAAA;IACf,CAAC;IAED,KAAK,CAAC,kBAAkB,CACtB,cAA0C,EAC1C,SAAiB,EACjB,OAAe;QAEf,IAAI,MAA0F,CAAA;QAC9F,IAAI,KAAa,CAAA;QACjB,IAAI,OAAO,cAAc,KAAK,QAAQ,EAAE,CAAC;YACvC,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,cAAc,CAAC,CAAA;YACzD,IAAI,CAAC,EAAE,EAAE,CAAC;gBACR,MAAM,IAAI,KAAK,CAAC,oBAAoB,cAAc,YAAY,CAAC,CAAA;YACjE,CAAC;YACD,MAAM,GAAG,EAAE,CAAC,MAAM,CAAA;YAClB,KAAK,GAAG,cAAc,CAAA;QACxB,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,cAAc,CAAC,MAAM,CAAA;YAC9B,KAAK,GAAG,cAAc,CAAC,eAAe,CAAA;QACxC,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAA;QACpD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,oBAAoB,KAAK,aAAa,SAAS,SAAS,CAAC,CAAA;QAC3E,CAAC;QACD,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,OAAO,CAAC,CAAA;QAC1D,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,oBAAoB,KAAK,aAAa,OAAO,SAAS,SAAS,SAAS,CAAC,CAAA;QAC3F,CAAC;QACD,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAC7B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,oBAAoB,KAAK,oBAAoB,OAAO,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC,CAAA;QACvF,CAAC;QACD,OAAO,EAAE,CAAA;IACX,CAAC;CACF;AAxKD,gDAwKC"}
1
+ {"version":3,"file":"VeranaChainService.js","sourceRoot":"","sources":["../../src/blockchain/VeranaChainService.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,7 @@ const emptyState = () => ({
8
8
  ecosystems: {},
9
9
  credentialSchemas: {},
10
10
  participants: {},
11
+ partialKeys: [],
11
12
  });
12
13
  async function loadSyncState(agent) {
13
14
  var _a;
@@ -1 +1 @@
1
- {"version":3,"file":"VeranaHelpers.js","sourceRoot":"","sources":["../../src/blockchain/VeranaHelpers.ts"],"names":[],"mappings":";;AAaA,sCAIC;AAED,sCAQC;AAvBD,mCAAoD;AAEpD,MAAM,UAAU,GAAG,GAAoB,EAAE,CAAC,CAAC;IACzC,eAAe,EAAE,CAAC;IAClB,UAAU,EAAE,EAAE;IACd,iBAAiB,EAAE,EAAE;IACrB,YAAY,EAAE,EAAE;CACjB,CAAC,CAAA;AAEK,KAAK,UAAU,aAAa,CAAC,KAAc;;IAChD,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,iBAAS,CAAC,CAAA;IAC7D,IAAI,CAAC,MAAM;QAAE,OAAO,UAAU,EAAE,CAAA;IAChC,OAAO,MAAC,MAAM,CAAC,OAAsC,mCAAI,UAAU,EAAE,CAAA;AACvE,CAAC;AAEM,KAAK,UAAU,aAAa,CAAC,KAAc,EAAE,KAAsB;IACxE,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,iBAAS,CAAC,CAAA;IAC/D,IAAI,QAAQ,EAAE,CAAC;QACb,QAAQ,CAAC,OAAO,GAAG,KAA8B,CAAA;QACjD,MAAM,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;IAC7C,CAAC;SAAM,CAAC;QACN,MAAM,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,iBAAS,EAAE,OAAO,EAAE,KAA8B,EAAE,CAAC,CAAA;IAC7F,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"VeranaHelpers.js","sourceRoot":"","sources":["../../src/blockchain/VeranaHelpers.ts"],"names":[],"mappings":";;AAcA,sCAIC;AAED,sCAQC;AAxBD,mCAAoD;AAEpD,MAAM,UAAU,GAAG,GAAoB,EAAE,CAAC,CAAC;IACzC,eAAe,EAAE,CAAC;IAClB,UAAU,EAAE,EAAE;IACd,iBAAiB,EAAE,EAAE;IACrB,YAAY,EAAE,EAAE;IAChB,WAAW,EAAE,EAAE;CAChB,CAAC,CAAA;AAEK,KAAK,UAAU,aAAa,CAAC,KAAc;;IAChD,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,iBAAS,CAAC,CAAA;IAC7D,IAAI,CAAC,MAAM;QAAE,OAAO,UAAU,EAAE,CAAA;IAChC,OAAO,MAAC,MAAM,CAAC,OAAsC,mCAAI,UAAU,EAAE,CAAA;AACvE,CAAC;AAEM,KAAK,UAAU,aAAa,CAAC,KAAc,EAAE,KAAsB;IACxE,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,iBAAS,CAAC,CAAA;IAC/D,IAAI,QAAQ,EAAE,CAAC;QACb,QAAQ,CAAC,OAAO,GAAG,KAA8B,CAAA;QACjD,MAAM,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;IAC7C,CAAC;SAAM,CAAC;QACN,MAAM,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,iBAAS,EAAE,OAAO,EAAE,KAA8B,EAAE,CAAC,CAAA;IAC7F,CAAC;AACH,CAAC"}
@@ -1,10 +1,21 @@
1
- import { CredentialSchemaDto, EcosystemDto, IndexerEventsResponse, ParticipantDto, VeranaIdxConfig } from './types';
1
+ import { CorporationDto, CredentialSchemaDto, DigestDto, EcosystemDto, ParticipantRole, ParticipantState, IndexerEventsResponse, ParticipantDto, ParticipantSessionDto, VeranaIdxConfig } from './types';
2
2
  export declare class VeranaIndexerService {
3
3
  private readonly config;
4
4
  private readonly baseUrl;
5
5
  constructor(config: VeranaIdxConfig);
6
- getEvents(agentDid: string, afterBlockHeight?: number, limit?: number): Promise<IndexerEventsResponse>;
6
+ getEvents(agentDid: string, afterBlockHeight?: number, limit?: number, corporationId?: number): Promise<IndexerEventsResponse>;
7
7
  getEcosystem(id: string | number): Promise<EcosystemDto>;
8
+ listEcosystems(): Promise<EcosystemDto[]>;
9
+ listCredentialSchemas(ecosystemId: number): Promise<CredentialSchemaDto[]>;
8
10
  getCredentialSchema(id: string | number): Promise<CredentialSchemaDto>;
9
11
  getParticipant(id: string | number): Promise<ParticipantDto>;
12
+ getCorporation(id: string | number): Promise<CorporationDto | undefined>;
13
+ getParticipantSession(id: string): Promise<ParticipantSessionDto | undefined>;
14
+ listParticipants(filter: {
15
+ schemaId?: number;
16
+ role?: ParticipantRole;
17
+ did?: string;
18
+ participantState?: ParticipantState;
19
+ }): Promise<ParticipantDto[]>;
20
+ getDigest(digest: string): Promise<DigestDto | undefined>;
10
21
  }
@@ -2,31 +2,74 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.VeranaIndexerService = void 0;
4
4
  const util_1 = require("../utils/util");
5
+ // Timeout so one stuck request cannot block the whole sync queue.
6
+ const REQUEST_TIMEOUT_MS = 30000;
5
7
  class VeranaIndexerService {
6
8
  constructor(config) {
7
9
  this.config = config;
8
10
  this.baseUrl = config.baseUrl.replace(/\/$/, '');
9
11
  }
10
- async getEvents(agentDid, afterBlockHeight = 0, limit = 500) {
12
+ async getEvents(agentDid, afterBlockHeight = 0, limit = 500, corporationId) {
11
13
  this.config.logger.debug(`[VeranaIndexer] getEvents after_block=${afterBlockHeight}`);
12
- const url = `${this.baseUrl}/verana/indexer/v1/events?did=${encodeURIComponent(agentDid)}&after_block_height=${afterBlockHeight}&limit=${limit}`;
13
- return (0, util_1.fetchJson)(url);
14
+ const scope = corporationId != null ? `corporation_id=${corporationId}` : `dids=${encodeURIComponent(agentDid)}`;
15
+ const url = `${this.baseUrl}/v4/indexer/events?${scope}&after_block_height=${afterBlockHeight}&limit=${limit}`;
16
+ return (0, util_1.fetchJson)(url, REQUEST_TIMEOUT_MS);
14
17
  }
15
18
  async getEcosystem(id) {
16
19
  this.config.logger.debug(`[VeranaIndexer] getEcosystem id=${id}`);
17
- const data = await (0, util_1.fetchJson)(`${this.baseUrl}/verana/ec/v1/get/${id}`);
20
+ const data = await (0, util_1.fetchJson)(`${this.baseUrl}/v4/ecosystem/get/${id}`, REQUEST_TIMEOUT_MS);
18
21
  return data.ecosystem;
19
22
  }
23
+ async listEcosystems() {
24
+ var _a;
25
+ this.config.logger.debug('[VeranaIndexer] listEcosystems');
26
+ const data = await (0, util_1.fetchJson)(`${this.baseUrl}/v4/ecosystem/list`, REQUEST_TIMEOUT_MS);
27
+ return (_a = data.ecosystems) !== null && _a !== void 0 ? _a : [];
28
+ }
29
+ async listCredentialSchemas(ecosystemId) {
30
+ this.config.logger.debug(`[VeranaIndexer] listCredentialSchemas ecosystem=${ecosystemId}`);
31
+ const data = await (0, util_1.fetchJson)(`${this.baseUrl}/v4/credential-schema/list?ecosystem_id=${ecosystemId}`, REQUEST_TIMEOUT_MS);
32
+ return data.schemas;
33
+ }
20
34
  async getCredentialSchema(id) {
21
35
  this.config.logger.debug(`[VeranaIndexer] getCredentialSchema id=${id}`);
22
- const data = await (0, util_1.fetchJson)(`${this.baseUrl}/verana/cs/v1/get/${id}`);
36
+ const data = await (0, util_1.fetchJson)(`${this.baseUrl}/v4/credential-schema/get/${id}`, REQUEST_TIMEOUT_MS);
23
37
  return data.schema;
24
38
  }
25
39
  async getParticipant(id) {
26
40
  this.config.logger.debug(`[VeranaIndexer] getParticipant id=${id}`);
27
- const data = await (0, util_1.fetchJson)(`${this.baseUrl}/verana/pp/v1/get/${id}`);
41
+ const data = await (0, util_1.fetchJson)(`${this.baseUrl}/v4/participant/get/${id}`, REQUEST_TIMEOUT_MS);
28
42
  return data.participant;
29
43
  }
44
+ async getCorporation(id) {
45
+ 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 });
47
+ return data === null || data === void 0 ? void 0 : data.corporation;
48
+ }
49
+ async getParticipantSession(id) {
50
+ this.config.logger.debug(`[VeranaIndexer] getParticipantSession id=${id}`);
51
+ const data = await (0, util_1.fetchJson)(`${this.baseUrl}/v4/participant/participant-session/${encodeURIComponent(id)}`, { timeoutMs: REQUEST_TIMEOUT_MS, allowNotFound: true });
52
+ return data === null || data === void 0 ? void 0 : data.session;
53
+ }
54
+ async listParticipants(filter) {
55
+ const params = new URLSearchParams();
56
+ if (filter.schemaId != null)
57
+ params.set('schema_id', String(filter.schemaId));
58
+ if (filter.role)
59
+ params.set('role', filter.role);
60
+ if (filter.did)
61
+ params.set('did', filter.did);
62
+ if (filter.participantState)
63
+ params.set('participant_state', filter.participantState);
64
+ this.config.logger.debug(`[VeranaIndexer] listParticipants ${params.toString()}`);
65
+ const data = await (0, util_1.fetchJson)(`${this.baseUrl}/v4/participant/list?${params.toString()}`, REQUEST_TIMEOUT_MS);
66
+ return data.participants;
67
+ }
68
+ async getDigest(digest) {
69
+ this.config.logger.debug(`[VeranaIndexer] getDigest digest=${digest}`);
70
+ const data = await (0, util_1.fetchJson)(`${this.baseUrl}/v4/di/get/${encodeURIComponent(digest)}`, { timeoutMs: REQUEST_TIMEOUT_MS, allowNotFound: true });
71
+ return data === null || data === void 0 ? void 0 : data.digest;
72
+ }
30
73
  }
31
74
  exports.VeranaIndexerService = VeranaIndexerService;
32
75
  //# sourceMappingURL=VeranaIndexerService.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"VeranaIndexerService.js","sourceRoot":"","sources":["../../src/blockchain/VeranaIndexerService.ts"],"names":[],"mappings":";;;AAAA,wCAAyC;AAUzC,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,CAAC,QAAgB,EAAE,gBAAgB,GAAG,CAAC,EAAE,KAAK,GAAG,GAAG;QACjE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,yCAAyC,gBAAgB,EAAE,CAAC,CAAA;QACrF,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,iCAAiC,kBAAkB,CAAC,QAAQ,CAAC,uBAAuB,gBAAgB,UAAU,KAAK,EAAE,CAAA;QAChJ,OAAO,IAAA,gBAAS,EAAwB,GAAG,CAAC,CAAA;IAC9C,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,EAA8B,GAAG,IAAI,CAAC,OAAO,qBAAqB,EAAE,EAAE,CAAC,CAAA;QACnG,OAAO,IAAI,CAAC,SAAS,CAAA;IACvB,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,EAAkC,GAAG,IAAI,CAAC,OAAO,qBAAqB,EAAE,EAAE,CAAC,CAAA;QACvG,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,EAAkC,GAAG,IAAI,CAAC,OAAO,qBAAqB,EAAE,EAAE,CAAC,CAAA;QACvG,OAAO,IAAI,CAAC,WAAW,CAAA;IACzB,CAAC;CACF;AA9BD,oDA8BC"}
1
+ {"version":3,"file":"VeranaIndexerService.js","sourceRoot":"","sources":["../../src/blockchain/VeranaIndexerService.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import { VsAgent } from '../../agent';
2
2
  import { IndexerActivity, VeranaSyncState } from '../types';
3
- interface IndexerHandlerContext {
3
+ export interface IndexerHandlerContext {
4
4
  agent: VsAgent;
5
- block_height: number;
5
+ blockHeight: number;
6
6
  operatorAddress: string;
7
7
  state: VeranaSyncState;
8
8
  txHash: string;
@@ -21,6 +21,7 @@ export declare class IndexerHandlerRegistry {
21
21
  unregister(msg: string): void;
22
22
  get(msg: string): IndexerEventHandler | undefined;
23
23
  has(msg: string): boolean;
24
+ keys(): string[];
25
+ clear(): void;
24
26
  dispatch(activity: IndexerActivity, ctx: IndexerHandlerContext): Promise<void>;
25
27
  }
26
- export {};
@@ -21,6 +21,12 @@ class IndexerHandlerRegistry {
21
21
  has(msg) {
22
22
  return this.handlers.has(msg);
23
23
  }
24
+ keys() {
25
+ return [...this.handlers.keys()];
26
+ }
27
+ clear() {
28
+ this.handlers.clear();
29
+ }
24
30
  async dispatch(activity, ctx) {
25
31
  const h = this.handlers.get(activity.msg);
26
32
  if (!h) {
@@ -1 +1 @@
1
- {"version":3,"file":"IndexerHandlerRegistry.js","sourceRoot":"","sources":["../../../src/blockchain/handlers/IndexerHandlerRegistry.ts"],"names":[],"mappings":";;;AAgBA;;;GAGG;AACH,MAAa,sBAAsB;IAAnC;QACU,aAAQ,GAAG,IAAI,GAAG,EAA+B,CAAA;IA0B3D,CAAC;IAxBC,QAAQ,CAAC,OAA4B;QACnC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;IACzC,CAAC;IAED,UAAU,CAAC,GAAW;QACpB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IAC3B,CAAC;IAED,GAAG,CAAC,GAAW;QACb,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAC/B,CAAC;IAED,GAAG,CAAC,GAAW;QACb,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAC/B,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,QAAyB,EAAE,GAA0B;QAClE,MAAM,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;QACzC,IAAI,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,kCAAkC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAA;YAC/E,OAAM;QACR,CAAC;QACD,MAAM,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;IAC/B,CAAC;CACF;AA3BD,wDA2BC"}
1
+ {"version":3,"file":"IndexerHandlerRegistry.js","sourceRoot":"","sources":["../../../src/blockchain/handlers/IndexerHandlerRegistry.ts"],"names":[],"mappings":";;;AAgBA;;;GAGG;AACH,MAAa,sBAAsB;IAAnC;QACU,aAAQ,GAAG,IAAI,GAAG,EAA+B,CAAA;IAkC3D,CAAC;IAhCC,QAAQ,CAAC,OAA4B;QACnC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;IACzC,CAAC;IAED,UAAU,CAAC,GAAW;QACpB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IAC3B,CAAC;IAED,GAAG,CAAC,GAAW;QACb,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAC/B,CAAC;IAED,GAAG,CAAC,GAAW;QACb,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAC/B,CAAC;IAED,IAAI;QACF,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAA;IAClC,CAAC;IAED,KAAK;QACH,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAA;IACvB,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,QAAyB,EAAE,GAA0B;QAClE,MAAM,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;QACzC,IAAI,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,kCAAkC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAA;YAC/E,OAAM;QACR,CAAC;QACD,MAAM,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;IAC/B,CAAC;CACF;AAnCD,wDAmCC"}
@@ -0,0 +1,4 @@
1
+ import { AuthorizationService } from '../AuthorizationService';
2
+ import { IndexerHandlerRegistry } from './IndexerHandlerRegistry';
3
+ /** Call after the default registry is built and overridden so the originals are preserved. */
4
+ export declare function registerAuthorizationHandlers(registry: IndexerHandlerRegistry, authorizationService: AuthorizationService): void;
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.registerAuthorizationHandlers = registerAuthorizationHandlers;
4
+ // VSOA records change inside these pp msgs and, once https://github.com/verana-labs/verana-indexer/pull/324
5
+ // lands, the forwarded de keeper events.
6
+ const REFRESH_MSGS = [
7
+ 'StartParticipantOP',
8
+ 'SelfCreateParticipant',
9
+ 'CreateRootParticipant',
10
+ 'SetParticipantOPToValidated',
11
+ 'SetParticipantEffectiveUntil',
12
+ 'GrantVSOperatorAuthorization',
13
+ 'UpdateVSOperatorAuthorization',
14
+ 'GrantOperatorAuthorization',
15
+ 'RevokeOperatorAuthorization',
16
+ ];
17
+ // entity_id is the participant id on both the pp events and the de RevokeVSOperatorAuthorization event.
18
+ const REVOKE_MSGS = [
19
+ 'RevokeParticipant',
20
+ 'SlashParticipantTrustDeposit',
21
+ 'CancelParticipantOPLastRequest',
22
+ 'RevokeVSOperatorAuthorization',
23
+ ];
24
+ /** Call after the default registry is built and overridden so the originals are preserved. */
25
+ function registerAuthorizationHandlers(registry, authorizationService) {
26
+ const wrap = (msg, effect) => {
27
+ const original = registry.get(msg);
28
+ registry.register({
29
+ msg,
30
+ handle: async (activity, ctx) => {
31
+ if (original)
32
+ await original.handle(activity, ctx);
33
+ try {
34
+ await effect(activity);
35
+ }
36
+ catch (e) {
37
+ ctx.agent.config.logger.error(`[Authorization] cache refresh failed for ${msg}`, e);
38
+ }
39
+ },
40
+ });
41
+ };
42
+ for (const msg of REFRESH_MSGS) {
43
+ wrap(msg, () => authorizationService.refreshForOperator());
44
+ }
45
+ for (const msg of REVOKE_MSGS) {
46
+ wrap(msg, async (activity) => {
47
+ const participantId = Number(activity.entity_id);
48
+ if (Number.isFinite(participantId))
49
+ authorizationService.invalidateParticipant(participantId);
50
+ await authorizationService.refreshForOperator();
51
+ });
52
+ }
53
+ }
54
+ //# sourceMappingURL=authorizationHandlers.js.map
@@ -0,0 +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,6 +1,9 @@
1
1
  import { IndexerEventHandler, IndexerHandlerRegistry } from './IndexerHandlerRegistry';
2
2
  /**
3
- * Default handlers for indexer events emitted by the Verana blockchain.
3
+ * Default business reactions for indexer events emitted by the Verana blockchain.
4
+ *
5
+ * State-sync bookkeeping is handled separately by `applyStateMutation` and always runs, so these
6
+ * handlers can be overridden/disabled by application developers without breaking the sync state.
4
7
  */
5
8
  export declare const defaultHandlers: IndexerEventHandler[];
6
9
  export declare function buildDefaultIndexerHandlerRegistry(): IndexerHandlerRegistry;