@verana-labs/vs-agent-sdk 1.12.0-dev.2 → 1.12.0-dev.21

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 (78) hide show
  1. package/README.md +35 -46
  2. package/build/agent/VsAgent.d.ts +6 -0
  3. package/build/agent/VsAgent.js +25 -13
  4. package/build/agent/VsAgent.js.map +1 -1
  5. package/build/agent/createVsAgent.d.ts +1 -0
  6. package/build/agent/createVsAgent.js +1 -0
  7. package/build/agent/createVsAgent.js.map +1 -1
  8. package/build/blockchain/IndexerWebSocketService.d.ts +15 -13
  9. package/build/blockchain/IndexerWebSocketService.js +207 -103
  10. package/build/blockchain/IndexerWebSocketService.js.map +1 -1
  11. package/build/blockchain/VeranaChainService.d.ts +33 -11
  12. package/build/blockchain/VeranaChainService.js +246 -55
  13. package/build/blockchain/VeranaChainService.js.map +1 -1
  14. package/build/blockchain/VeranaHelpers.js +3 -2
  15. package/build/blockchain/VeranaHelpers.js.map +1 -1
  16. package/build/blockchain/VeranaIndexerService.d.ts +9 -5
  17. package/build/blockchain/VeranaIndexerService.js +41 -23
  18. package/build/blockchain/VeranaIndexerService.js.map +1 -1
  19. package/build/blockchain/handlers/IndexerHandlerRegistry.d.ts +5 -3
  20. package/build/blockchain/handlers/IndexerHandlerRegistry.js +6 -0
  21. package/build/blockchain/handlers/IndexerHandlerRegistry.js.map +1 -1
  22. package/build/blockchain/handlers/defaultHandlers.d.ts +4 -1
  23. package/build/blockchain/handlers/defaultHandlers.js +76 -44
  24. package/build/blockchain/handlers/defaultHandlers.js.map +1 -1
  25. package/build/blockchain/handlers/stateMutations.d.ts +17 -4
  26. package/build/blockchain/handlers/stateMutations.js +229 -31
  27. package/build/blockchain/handlers/stateMutations.js.map +1 -1
  28. package/build/blockchain/indexerSync.d.ts +10 -0
  29. package/build/blockchain/indexerSync.js +34 -0
  30. package/build/blockchain/indexerSync.js.map +1 -0
  31. package/build/blockchain/types.d.ts +291 -49
  32. package/build/blockchain/types.js +27 -1
  33. package/build/blockchain/types.js.map +1 -1
  34. package/build/credentials/FullTailsFileService.d.ts +4 -4
  35. package/build/credentials/FullTailsFileService.js +78 -71
  36. package/build/credentials/FullTailsFileService.js.map +1 -1
  37. package/build/did/adminApiService.d.ts +2 -0
  38. package/build/did/adminApiService.js +17 -0
  39. package/build/did/adminApiService.js.map +1 -0
  40. package/build/did/migrateWebVhVersionTime.d.ts +9 -0
  41. package/build/did/migrateWebVhVersionTime.js +191 -0
  42. package/build/did/migrateWebVhVersionTime.js.map +1 -0
  43. package/build/events/VsAgentEvents.d.ts +16 -2
  44. package/build/events/VsAgentEvents.js +2 -0
  45. package/build/events/VsAgentEvents.js.map +1 -1
  46. package/build/events/VtFlowEvents.d.ts +3 -0
  47. package/build/events/VtFlowEvents.js +35 -0
  48. package/build/events/VtFlowEvents.js.map +1 -0
  49. package/build/events/index.d.ts +1 -0
  50. package/build/events/index.js +1 -0
  51. package/build/events/index.js.map +1 -1
  52. package/build/index.d.ts +4 -4
  53. package/build/index.js +9 -6
  54. package/build/index.js.map +1 -1
  55. package/build/plugins/setupBaseDidComm.d.ts +3 -1
  56. package/build/plugins/setupBaseDidComm.js +3 -1
  57. package/build/plugins/setupBaseDidComm.js.map +1 -1
  58. package/build/types.d.ts +2 -0
  59. package/build/types.js +3 -1
  60. package/build/types.js.map +1 -1
  61. package/build/utils/trustCredentialStore.js +2 -0
  62. package/build/utils/trustCredentialStore.js.map +1 -1
  63. package/build/utils/util.d.ts +5 -1
  64. package/build/utils/util.js +17 -5
  65. package/build/utils/util.js.map +1 -1
  66. package/build/vtFlow/VtFlowOrchestrator.d.ts +41 -0
  67. package/build/vtFlow/VtFlowOrchestrator.js +285 -0
  68. package/build/vtFlow/VtFlowOrchestrator.js.map +1 -0
  69. package/build/vtFlow/assertVerifiableService.d.ts +8 -0
  70. package/build/vtFlow/assertVerifiableService.js +28 -0
  71. package/build/vtFlow/assertVerifiableService.js.map +1 -0
  72. package/build/vtFlow/credentialDigest.d.ts +3 -0
  73. package/build/vtFlow/credentialDigest.js +23 -0
  74. package/build/vtFlow/credentialDigest.js.map +1 -0
  75. package/build/vtFlow/index.d.ts +2 -0
  76. package/build/vtFlow/index.js +19 -0
  77. package/build/vtFlow/index.js.map +1 -0
  78. package/package.json +16 -12
@@ -4,22 +4,32 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.IndexerWebSocketService = void 0;
7
+ const vs_agent_model_1 = require("@verana-labs/vs-agent-model");
7
8
  const ws_1 = __importDefault(require("ws"));
9
+ const events_1 = require("../events");
8
10
  const VeranaHelpers_1 = require("./VeranaHelpers");
9
11
  const VeranaIndexerService_1 = require("./VeranaIndexerService");
10
12
  const handlers_1 = require("./handlers");
13
+ const indexerSync_1 = require("./indexerSync");
11
14
  const MAX_RECONNECT_DELAY_MS = 300000;
12
- const WS_PATHNAME = 'verana/indexer/v1/events';
13
- const CREATES_WITHOUT_ID = new Set(['CreateNewTrustRegistry', 'CreateNewCredentialSchema']);
15
+ const WS_PATHNAME = 'v4/indexer/subscribe';
16
+ const REST_PAGE_LIMIT = 500;
17
+ const MAX_SYNC_BUFFER = 10000;
18
+ // The indexer pings every 30 seconds, so a longer gap means the socket is dead.
19
+ const LIVENESS_TIMEOUT_MS = 90000;
14
20
  class IndexerWebSocketService {
15
21
  constructor(options) {
16
22
  var _a;
17
23
  this.options = options;
18
24
  this.ws = null;
19
25
  this.reconnectAttempt = 0;
26
+ this.reconnectTimer = null;
27
+ this.watchdog = null;
20
28
  this.stopped = false;
21
29
  this.syncing = false;
22
- this.IndexerEventRecords = [];
30
+ this.generation = 0;
31
+ this.chain = Promise.resolve();
32
+ this.syncBuffer = [];
23
33
  this.indexer = new VeranaIndexerService_1.VeranaIndexerService({
24
34
  baseUrl: options.indexerUrl,
25
35
  logger: options.agent.config.logger,
@@ -33,59 +43,66 @@ class IndexerWebSocketService {
33
43
  stop() {
34
44
  var _a;
35
45
  this.stopped = true;
46
+ this.clearWatchdog();
47
+ if (this.reconnectTimer) {
48
+ clearTimeout(this.reconnectTimer);
49
+ this.reconnectTimer = null;
50
+ }
36
51
  (_a = this.ws) === null || _a === void 0 ? void 0 : _a.close();
37
52
  this.ws = null;
38
53
  }
39
54
  get logger() {
40
55
  return this.options.agent.config.logger;
41
56
  }
42
- /**
43
- * Connects to the indexer WebSocket, performs an initial sync via REST (use /events endpoint because it returns historical events in a single request)
44
- * Finally, processes pending events received during the initial sync.
45
- */
46
57
  async connect() {
58
+ if (this.stopped)
59
+ return;
60
+ const generation = ++this.generation;
47
61
  this.syncing = true;
48
- this.IndexerEventRecords = [];
62
+ this.syncBuffer = [];
49
63
  this.openWebSocket();
50
- await this.syncRest();
64
+ try {
65
+ await this.syncRest(generation);
66
+ }
67
+ catch (error) {
68
+ this.logger.error(`[IndexerWS] Catch-up failed, will reconnect: ${error.message}`);
69
+ if (generation === this.generation)
70
+ this.forceReconnect('catch-up failed');
71
+ return;
72
+ }
73
+ if (this.stopped || generation !== this.generation)
74
+ return;
51
75
  this.syncing = false;
52
- await this.drainIndexerEventRecords();
76
+ this.drainSyncBuffer(generation);
53
77
  }
54
78
  openWebSocket() {
55
79
  const url = new URL(this.options.indexerUrl);
56
80
  const wsProto = url.protocol === 'https:' ? 'wss:' : 'ws:';
57
81
  if (!this.options.agent.did)
58
82
  throw new Error('Agent does not have any defined public DID');
59
- const wsUrl = `${wsProto}//${url.host}/${WS_PATHNAME}?did=${encodeURIComponent(this.options.agent.did)}`;
83
+ const wsUrl = `${wsProto}//${url.host}/${WS_PATHNAME}`;
60
84
  this.logger.info(`[IndexerWS] Connecting to ${wsUrl}`);
61
85
  const ws = new ws_1.default(wsUrl);
62
86
  this.ws = ws;
87
+ this.armWatchdog();
63
88
  ws.on('open', () => {
64
- this.logger.info(`[IndexerWS] Connected to indexer`);
65
- this.reconnectAttempt = 0;
89
+ if (ws === this.ws)
90
+ this.logger.info(`[IndexerWS] Connected to indexer`);
91
+ });
92
+ ws.on('ping', () => {
93
+ if (ws === this.ws)
94
+ this.armWatchdog();
66
95
  });
67
96
  ws.on('message', (data) => {
68
- var _a;
69
- try {
70
- const event = JSON.parse(data.toString());
71
- if (event.type !== 'indexer-event')
72
- return;
73
- if (event.block_height <= 0)
74
- return;
75
- if (!((_a = event.payload) === null || _a === void 0 ? void 0 : _a.sender))
76
- return;
77
- if (this.syncing) {
78
- this.IndexerEventRecords.push(event);
79
- }
80
- else {
81
- this.processBlock(event).catch(err => this.logger.error(`[IndexerWS] Handler error: ${err.message}`));
82
- }
83
- }
84
- catch (_b) {
85
- this.logger.warn(`[IndexerWS] Failed to parse message: ${data}`);
86
- }
97
+ if (ws !== this.ws)
98
+ return;
99
+ this.armWatchdog();
100
+ this.handleMessage(ws, data);
87
101
  });
88
102
  ws.on('close', () => {
103
+ if (ws !== this.ws)
104
+ return;
105
+ this.clearWatchdog();
89
106
  if (!this.stopped)
90
107
  this.scheduleReconnect();
91
108
  });
@@ -93,67 +110,147 @@ class IndexerWebSocketService {
93
110
  this.logger.error(`[IndexerWS] Error: ${error.message}`);
94
111
  });
95
112
  }
96
- async syncRest() {
97
- this.logger.info(`[IndexerWS] Starting REST initial sync`);
113
+ handleMessage(ws, data) {
114
+ let message;
98
115
  try {
99
- const { lastBlockHeight } = await (0, VeranaHelpers_1.loadSyncState)(this.options.agent);
100
- const data = await this.fetchInitialEvents(lastBlockHeight);
101
- for (const event of data.events) {
102
- await this.processBlock(event);
103
- }
104
- this.logger.info(`[IndexerWS] Initial sync complete: ${data.events.length} event(s)`);
116
+ message = JSON.parse(data.toString());
105
117
  }
106
- catch (error) {
107
- this.logger.error(`[IndexerWS] REST initial sync failed: ${error.message}`);
118
+ catch (_a) {
119
+ this.logger.warn(`[IndexerWS] Failed to parse message: ${data}`);
120
+ return;
121
+ }
122
+ if (message.type === 'ready') {
123
+ this.reconnectAttempt = 0;
124
+ const subscribe = this.options.corporationId != null
125
+ ? { action: 'subscribe', corporationId: this.options.corporationId }
126
+ : { action: 'subscribe', dids: this.options.agent.did ? [this.options.agent.did] : undefined };
127
+ ws.send(JSON.stringify(subscribe));
128
+ return;
129
+ }
130
+ if (message.type !== 'block')
131
+ return;
132
+ const generation = this.generation;
133
+ for (const event of message.events) {
134
+ if (!(0, indexerSync_1.isProcessableEvent)(event))
135
+ continue;
136
+ if (!this.syncing) {
137
+ this.enqueueLive(event, generation);
138
+ }
139
+ else if (this.syncBuffer.length < MAX_SYNC_BUFFER) {
140
+ this.syncBuffer.push(event);
141
+ }
142
+ else {
143
+ this.forceReconnect('sync buffer overflow');
144
+ return;
145
+ }
108
146
  }
109
147
  }
110
- async drainIndexerEventRecords() {
148
+ async syncRest(generation) {
149
+ if (!this.options.agent.did)
150
+ throw new Error('Agent does not have any defined public DID');
151
+ const did = this.options.agent.did;
111
152
  const { lastBlockHeight } = await (0, VeranaHelpers_1.loadSyncState)(this.options.agent);
112
- const events = this.IndexerEventRecords.splice(0);
113
- let processed = 0;
114
- let skipped = 0;
115
- for (const event of events) {
116
- if (event.block_height <= lastBlockHeight) {
117
- skipped++;
118
- continue;
153
+ let cursor = lastBlockHeight;
154
+ for (;;) {
155
+ if (this.stopped || generation !== this.generation)
156
+ return;
157
+ const page = await this.indexer.getEvents(did, cursor, REST_PAGE_LIMIT, this.options.corporationId);
158
+ for (const event of (0, indexerSync_1.sortEventsByPosition)(page.events.filter(indexerSync_1.isProcessableEvent))) {
159
+ if (this.stopped || generation !== this.generation)
160
+ return;
161
+ await this.runExclusive(() => this.applyEvent(event, generation));
119
162
  }
120
- await this.processBlock(event);
121
- processed++;
163
+ const next = (0, indexerSync_1.nextRestCursor)(page.events, cursor, REST_PAGE_LIMIT);
164
+ if (next.done)
165
+ return;
166
+ if (next.blockExceedsPage) {
167
+ this.logger.warn(`[IndexerWS] Block ${next.cursor} fills a full page; the events API cannot page within a block`);
168
+ }
169
+ cursor = next.cursor;
122
170
  }
123
- if (skipped + processed > 0) {
124
- this.logger.info(`[IndexerWS] Drained: ${processed} processed, ${skipped} skipped`);
171
+ }
172
+ drainSyncBuffer(generation) {
173
+ const events = this.syncBuffer.splice(0);
174
+ for (const event of (0, indexerSync_1.sortEventsByPosition)(events)) {
175
+ this.enqueueLive(event, generation);
125
176
  }
126
177
  }
127
- async processBlock(event) {
128
- try {
129
- const activity = CREATES_WITHOUT_ID.has(event.event_type)
130
- ? await this.resolveCreateActivity(event)
131
- : await this.fetchActivity(event);
132
- if (activity) {
133
- await this.applyChanges(event, activity);
134
- }
178
+ enqueueLive(event, generation) {
179
+ this.runExclusive(() => this.applyEvent(event, generation)).catch(error => {
180
+ this.logger.error(`[IndexerWS] Live event ${event.event_type} failed at block ${event.block_height}: ${error.message}`);
181
+ if (generation === this.generation)
182
+ this.forceReconnect('live event processing failed');
183
+ });
184
+ }
185
+ runExclusive(task) {
186
+ const result = this.chain.then(task);
187
+ this.chain = result.then(() => undefined, () => undefined);
188
+ return result;
189
+ }
190
+ async applyEvent(event, generation) {
191
+ var _a;
192
+ if (this.stopped || generation !== this.generation)
193
+ return;
194
+ const key = (0, indexerSync_1.eventKey)(event);
195
+ const block = event.block_height;
196
+ const state = await (0, VeranaHelpers_1.loadSyncState)(this.options.agent);
197
+ if (block <= state.lastBlockHeight)
198
+ return;
199
+ const partialKeys = (_a = state.partialKeys) !== null && _a !== void 0 ? _a : [];
200
+ if (block === state.partialBlock && partialKeys.includes(key))
201
+ return;
202
+ const activity = await this.fetchActivity(event);
203
+ if (this.stopped || generation !== this.generation)
204
+ return;
205
+ if (activity)
206
+ await this.applyChanges(event, activity, state);
207
+ if (state.partialBlock === undefined || block > state.partialBlock) {
208
+ state.partialBlock = block;
209
+ state.partialKeys = [key];
135
210
  }
136
- catch (error) {
137
- this.logger.error(`[IndexerWS] Failed to process event ${event.event_type} block=${event.block_height}: ${error.message}`);
211
+ else {
212
+ state.partialKeys = [...partialKeys, key];
138
213
  }
214
+ // A block counts as done only when a later block arrives, so the saved height stays one behind.
215
+ state.lastBlockHeight = Math.max(state.lastBlockHeight, block - 1);
216
+ await (0, VeranaHelpers_1.saveSyncState)(this.options.agent, state);
139
217
  }
140
- /**
141
- * TODO: Once the indexer emits consistent event_id for create events, we can remove this workaround
142
- */
143
- async resolveCreateActivity(event) {
144
- const changes = await this.indexer.getChanges(event.block_height);
145
- const expectedType = event.payload.entity_type;
146
- const expectedAccount = event.payload.sender;
147
- const matches = changes.activity.filter(a => a.entity_type === expectedType && a.account === expectedAccount);
148
- return matches.length > 0 ? Object.assign(Object.assign({}, matches[0]), { msg: event.event_type }) : undefined;
218
+ async applyChanges(event, activity, state) {
219
+ const syncState = state !== null && state !== void 0 ? state : (await (0, VeranaHelpers_1.loadSyncState)(this.options.agent));
220
+ const block = event.block_height;
221
+ (0, handlers_1.applyStateMutation)(syncState, activity);
222
+ await this.handlerRegistry.dispatch(activity, {
223
+ agent: this.options.agent,
224
+ blockHeight: block,
225
+ operatorAddress: event.payload.sender,
226
+ state: syncState,
227
+ txHash: event.tx_hash,
228
+ });
229
+ if (!state) {
230
+ syncState.lastBlockHeight = Math.max(syncState.lastBlockHeight, block);
231
+ await (0, VeranaHelpers_1.saveSyncState)(this.options.agent, syncState);
232
+ }
233
+ try {
234
+ (0, events_1.emitVsAgentEvent)(this.options.agent, events_1.VsAgentEventTypes.IndexerNotification, new vs_agent_model_1.IndexerNotification({
235
+ msg: activity.msg,
236
+ entityType: String(activity.entity_type),
237
+ entityId: String(activity.entity_id),
238
+ changes: activity.changes,
239
+ blockHeight: block,
240
+ txHash: event.tx_hash,
241
+ operatorAddress: event.payload.sender,
242
+ timestamp: new Date(event.timestamp),
243
+ }));
244
+ }
245
+ catch (err) {
246
+ this.logger.error(`[IndexerWS] Failed to emit indexer notification: ${err.message}`);
247
+ }
149
248
  }
150
249
  async fetchActivity(event) {
151
250
  var _a;
152
251
  const entity_id = event.payload.entity_id;
153
- if (!entity_id) {
154
- this.logger.warn(`[IndexerWS] No entity_id for event ${event.event_type} — skipping`);
252
+ if (!entity_id)
155
253
  return undefined;
156
- }
157
254
  const changes = await this.fetchEntity(event.payload.entity_type, entity_id);
158
255
  return {
159
256
  timestamp: event.timestamp,
@@ -166,52 +263,59 @@ class IndexerWebSocketService {
166
263
  };
167
264
  }
168
265
  async fetchEntity(entityType, id) {
266
+ var _a;
169
267
  switch (entityType) {
170
- case 'TrustRegistry':
171
- return (await this.indexer.getTrustRegistry(id));
268
+ case 'Ecosystem':
269
+ return (await this.indexer.getEcosystem(id));
172
270
  case 'CredentialSchema':
173
271
  return (await this.indexer.getCredentialSchema(id));
174
- case 'Permission':
175
- return (await this.indexer.getPermission(id));
272
+ case 'Participant':
273
+ return (await this.indexer.getParticipant(id));
274
+ case 'Corporation':
275
+ return ((_a = (await this.indexer.getCorporation(id))) !== null && _a !== void 0 ? _a : {});
176
276
  default:
177
277
  return {};
178
278
  }
179
279
  }
180
- async applyChanges(event, activity) {
181
- const state = await (0, VeranaHelpers_1.loadSyncState)(this.options.agent);
182
- const { block_height } = event;
280
+ armWatchdog() {
281
+ this.clearWatchdog();
282
+ if (this.stopped)
283
+ return;
284
+ this.watchdog = setTimeout(() => this.forceReconnect('liveness timeout'), LIVENESS_TIMEOUT_MS);
285
+ }
286
+ clearWatchdog() {
287
+ if (this.watchdog) {
288
+ clearTimeout(this.watchdog);
289
+ this.watchdog = null;
290
+ }
291
+ }
292
+ forceReconnect(reason) {
293
+ if (this.stopped)
294
+ return;
295
+ this.logger.warn(`[IndexerWS] Forcing reconnect: ${reason}`);
296
+ this.generation++; // stops queued work so it cannot move the height past the failed event
297
+ this.clearWatchdog();
298
+ const ws = this.ws;
299
+ this.ws = null;
183
300
  try {
184
- await this.handlerRegistry.dispatch(activity, {
185
- agent: this.options.agent,
186
- block_height,
187
- operatorAddress: event.payload.sender,
188
- state,
189
- });
301
+ ws === null || ws === void 0 ? void 0 : ws.terminate();
190
302
  }
191
- catch (err) {
192
- this.logger.error(`[IndexerWS] Handler ${event.event_type} failed at block ${event.block_height}: ${err.message}`);
303
+ finally {
304
+ this.scheduleReconnect();
193
305
  }
194
- state.lastBlockHeight = Math.max(state.lastBlockHeight, event.block_height);
195
- await (0, VeranaHelpers_1.saveSyncState)(this.options.agent, state);
196
- this.logger.debug(`[IndexerWS] Block ${event.block_height}: applied ${event.event_type}`);
197
306
  }
198
307
  scheduleReconnect() {
308
+ if (this.reconnectTimer || this.stopped)
309
+ return;
199
310
  const delay = Math.min(1000 * 2 ** this.reconnectAttempt, MAX_RECONNECT_DELAY_MS);
200
311
  this.reconnectAttempt++;
201
312
  this.logger.info(`[IndexerWS] Reconnecting in ${delay}ms (attempt ${this.reconnectAttempt})`);
202
- setTimeout(() => {
313
+ this.reconnectTimer = setTimeout(() => {
314
+ this.reconnectTimer = null;
203
315
  if (!this.stopped)
204
316
  this.connect();
205
317
  }, delay);
206
318
  }
207
- async fetchInitialEvents(afterBlockHeight) {
208
- this.logger.info(`[IndexerWS] Fetching initial events after block ${afterBlockHeight}`);
209
- if (!this.options.agent.did)
210
- throw new Error('Agent does not have any defined public DID');
211
- const response = await this.indexer.getEvents(this.options.agent.did, afterBlockHeight);
212
- this.logger.info(`[IndexerWS] Fetched: count=${response.count}, after_block_height=${response.after_block_height}`);
213
- return response;
214
- }
215
319
  }
216
320
  exports.IndexerWebSocketService = IndexerWebSocketService;
217
321
  //# sourceMappingURL=IndexerWebSocketService.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"IndexerWebSocketService.js","sourceRoot":"","sources":["../../src/blockchain/IndexerWebSocketService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"IndexerWebSocketService.js","sourceRoot":"","sources":["../../src/blockchain/IndexerWebSocketService.ts"],"names":[],"mappings":"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"}
@@ -1,32 +1,54 @@
1
- import Long from 'long';
2
- import { CreateOrUpdatePermissionSessionParams, SetPermissionVPToValidatedParams, StartPermissionVPParams, VeranaChainConfig } from './types';
1
+ import { type DeliverTxResponse } from '@cosmjs/stargate';
2
+ import { Coin, CreateOrUpdateParticipantSessionParams, CredentialSchema, Ecosystem, OperatorAuthorization, Participant, SelfCreateParticipantParams, SetParticipantOPToValidatedParams, StartParticipantOPParams, VeranaChainConfig, VsOperatorAuthorization } from './types';
3
3
  export declare class VeranaChainService {
4
4
  private readonly config;
5
5
  private signingClient;
6
+ private sessionSigningClient?;
6
7
  private operatorAddress;
8
+ private sessionOperatorAddress?;
7
9
  private chainId;
8
- private permQuery;
10
+ private corporationAddress;
11
+ private ppQuery;
12
+ private deQuery;
13
+ private ecQuery;
14
+ private csQuery;
9
15
  constructor(config: VeranaChainConfig);
10
16
  get address(): string;
11
17
  get getChainId(): string;
18
+ get corporation(): string;
19
+ get autoTriggerResolverEnabled(): boolean;
12
20
  start(): Promise<void>;
13
- getPermission(id: Long): Promise<unknown>;
14
- findPermissionsWithDID(params: object): Promise<unknown[]>;
15
- getPermissionSession(uuid: string): Promise<unknown>;
16
- startPermissionVP(params: StartPermissionVPParams): Promise<{
21
+ getParticipant(id: number): Promise<Participant | undefined>;
22
+ getBalance(denom?: string): Promise<Coin>;
23
+ hasVsOperatorAuthorization(): Promise<boolean>;
24
+ listOperatorAuthorizations(): Promise<OperatorAuthorization[]>;
25
+ listVsOperatorAuthorizations(): Promise<VsOperatorAuthorization[]>;
26
+ getEcosystem(id: number): Promise<Ecosystem | undefined>;
27
+ getCredentialSchema(id: number): Promise<CredentialSchema | undefined>;
28
+ startParticipantOP(params: StartParticipantOPParams): Promise<{
29
+ participantId: number;
17
30
  txHash: string;
18
31
  }>;
19
- renewPermissionVP(id: Long): Promise<{
32
+ renewParticipantOP(id: number): Promise<{
20
33
  txHash: string;
21
34
  }>;
22
- setPermissionVPToValidated(params: SetPermissionVPToValidatedParams): Promise<{
35
+ cancelParticipantOPLastRequest(id: number): Promise<{
23
36
  txHash: string;
24
37
  }>;
25
- cancelPermissionVPLastRequest(id: Long): Promise<{
38
+ selfCreateParticipant(params: SelfCreateParticipantParams): Promise<{
39
+ participantId: number;
26
40
  txHash: string;
27
41
  }>;
28
- createOrUpdatePermissionSession(params: CreateOrUpdatePermissionSessionParams): Promise<{
42
+ setParticipantOPToValidated(params: SetParticipantOPToValidatedParams): Promise<{
43
+ txHash: string;
44
+ }>;
45
+ createOrUpdateParticipantSession(params: CreateOrUpdateParticipantSessionParams): Promise<{
46
+ txHash: string;
47
+ }>;
48
+ findActiveHolderParticipantIdByDid(did: string): Promise<number | undefined>;
49
+ triggerResolver(participantId: number): Promise<{
29
50
  txHash: string;
30
51
  }>;
31
52
  private broadcastMsg;
53
+ extractIdFromEvent(txHashOrResult: string | DeliverTxResponse, eventType: string, attrKey: string): Promise<number>;
32
54
  }