@verana-labs/vs-agent-sdk 1.12.0-dev.11 → 1.12.0-dev.13

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.
@@ -5,6 +5,7 @@ const core_1 = require("@credo-ts/core");
5
5
  const didwebvh_ts_1 = require("didwebvh-ts");
6
6
  const adminApiService_1 = require("../did/adminApiService");
7
7
  const migrateWebVhLog_1 = require("../did/migrateWebVhLog");
8
+ const migrateWebVhVersionTime_1 = require("../did/migrateWebVhVersionTime");
8
9
  const BaseMessageEvents_1 = require("../events/BaseMessageEvents");
9
10
  const ConnectionEvents_1 = require("../events/ConnectionEvents");
10
11
  const MANAGED_DIDCOMM_SERVICE_TYPES = [core_1.DidCommV1Service.type, core_1.NewDidCommV2Service.type];
@@ -101,13 +102,13 @@ class VsAgent extends core_1.Agent {
101
102
  }
102
103
  return;
103
104
  }
104
- // If this is a did:webvh record, ensure the stored log is resolvable under the
105
- // current didwebvh-ts version. Logs created with didwebvh-ts <2.7.4 used the
106
- // SCID placeholder when computing the entry hash for entries beyond #1, which
107
- // newer resolvers (correctly) reject as a broken hash chain. We rebuild the
108
- // log in-place, preserving entry #1 (and therefore the SCID and the public DID).
105
+ // Ensure the stored did:webvh log is resolvable under the current didwebvh-ts version:
106
+ // <2.7.4 wrote broken entry hashes (SCID placeholder), and >=2.8.0 rejects the
107
+ // same-second versionTimes the old create+update-at-init flow produced. Both migrations
108
+ // rebuild the log in-place, preserving entry #1 (and therefore the SCID and public DID).
109
109
  if (parsedDid.method === 'webvh') {
110
110
  try {
111
+ await (0, migrateWebVhVersionTime_1.migrateWebVhVersionTimeIfBroken)(this.agentContext, existingRecord, this.logger);
111
112
  await (0, migrateWebVhLog_1.migrateWebVhLogIfBroken)(this.agentContext, existingRecord, this.logger);
112
113
  }
113
114
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"VsAgent.js","sourceRoot":"","sources":["../../src/agent/VsAgent.ts"],"names":[],"mappings":";;;AAQA,yCAmBuB;AAYvB,6CAAgE;AAGhE,4DAAkE;AAClE,4DAAgE;AAChE,mEAA+D;AAC/D,iEAA6D;AAE7D,MAAM,6BAA6B,GAAsB,CAAC,uBAAgB,CAAC,IAAI,EAAE,0BAAmB,CAAC,IAAI,CAAC,CAAA;AAoC1G,MAAa,OAA8D,SAAQ,YAAe;IAUhG,YACE,OASC;QAED,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAA;QACtB,IAAI,CAAC,uBAAuB,GAAG,OAAO,CAAC,uBAAuB,CAAA;QAC9D,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAA;QAChD,IAAI,CAAC,uBAAuB,GAAG,OAAO,CAAC,uBAAuB,CAAA;QAC9D,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAA;QAClD,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAA;QAC1B,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAA;QACtC,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAA;IAClD,CAAC;IAED,IAAY,cAAc;QACxB,OAAO,aAAa,IAAI,IAAI,CAAC,OAAO,CAAA;IACtC,CAAC;IAEM,KAAK,CAAC,UAAU;;QACrB,MAAM,KAAK,CAAC,UAAU,EAAE,CAAA;QAExB,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,kFAAkF;YAClF,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAA;YACvC,MAAM,cAAc,GAAG,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;YAE1F,8DAA8D;YAC9D,MAAO,IAAI,CAAC,OAAe,CAAC,WAAW,CAAC,qBAAqB,CAAC;gBAC5D,WAAW,EAAE,IAAI,CAAC,KAAK;gBACvB,cAAc;aACf,CAAC,CAAA,CAAC,0CAA0C;QAC/C,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAA,eAAQ,EAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;QACtD,IAAI,SAAS,EAAE,CAAC;YACd,kGAAkG;YAClG,qFAAqF;YACrF,iFAAiF;YACjF,MAAM,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAA;YAErF,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAA;YAE3D,4CAA4C;YAC5C,IAAI,CAAC,cAAc,EAAE,CAAC;gBACpB,IAAI,SAAS,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;oBAC/B,MAAM,WAAW,GAAG,IAAI,kBAAW,CAAC,EAAE,EAAE,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,CAAA;oBAC1D,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,kCAAkC,CAAC,WAAW,CAAC,CAAA;oBAE7E,cAAc;oBACd,MAAM,IAAI,CAAC,4BAA4B,CAAC,WAAW,CAAC,CAAA;oBAEpD,yBAAyB;oBACzB,MAAM,IAAI,CAAC,6BAA6B,CAAC,WAAW,CAAC,CAAA;oBAErD,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAA;oBAEtC,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;wBACrB,MAAM,EAAE,KAAK;wBACb,MAAM;wBACN,WAAW;wBACX,IAAI,EAAE,CAAC,UAAU,CAAC;qBACnB,CAAC,CAAA;oBACF,IAAI,CAAC,GAAG,GAAG,SAAS,CAAC,GAAG,CAAA;gBAC1B,CAAC;qBAAM,IAAI,SAAS,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;oBACxC,yEAAyE;oBACzE,0EAA0E;oBAC1E,4EAA4E;oBAC5E,aAAa;oBACb,MAAM,aAAa,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,oBAAa,CAAC,CAAA;oBACnE,MAAM,oBAAoB,GAAG,MAAM,aAAa,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,MAAM,EAAE,CAAC,CAAA;oBAClG,IAAI,oBAAoB,EAAE,CAAC;wBACzB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAA;wBACzE,MAAM,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAA;oBAChE,CAAC;oBAED,MAAM,EACJ,QAAQ,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,WAAW,EAAE,GAC1C,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAA;oBACvD,IAAI,CAAC,SAAS,IAAI,CAAC,WAAW,EAAE,CAAC;wBAC/B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAA;wBACtD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;oBACjB,CAAC;oBAED,gCAAgC;oBAChC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,kCAAkC,CAAC,WAAW,CAAC,CAAA;oBAE7E,yBAAyB;oBACzB,MAAM,IAAI,CAAC,4BAA4B,CAAC,WAAW,CAAC,CAAA;oBAEpD,wBAAwB;oBACxB,MAAM,IAAI,CAAC,iCAAiC,CAAC,WAAW,CAAC,CAAA;oBAEzD,WAAW,CAAC,WAAW,GAAG,CAAC,WAAW,MAAM,EAAE,CAAC,CAAA;oBAE/C,2EAA2E;oBAC3E,sEAAsE;oBACtE,MAAM,IAAI,CAAC,qBAAqB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAA;oBAEvD,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAA;oBAEtC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC,CAAA;oBACtE,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;wBACzC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAqB,SAAS,EAAE,CAAC,CAAA;wBACnD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;oBACjB,CAAC;oBACD,MAAA,IAAI,CAAC,MAAM,0CAAE,KAAK,CAAC,iCAAiC,CAAC,CAAA;oBACrD,IAAI,CAAC,GAAG,GAAG,SAAS,CAAA;gBACtB,CAAC;qBAAM,CAAC;oBACN,MAAM,IAAI,iBAAU,CAAC,mCAAmC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAA;gBAC7E,CAAC;gBAED,OAAM;YACR,CAAC;YAED,+EAA+E;YAC/E,6EAA6E;YAC7E,8EAA8E;YAC9E,4EAA4E;YAC5E,iFAAiF;YACjF,IAAI,SAAS,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;gBACjC,IAAI,CAAC;oBACH,MAAM,IAAA,yCAAuB,EAAC,IAAI,CAAC,YAAY,EAAE,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;gBAC/E,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,uCAAuC,cAAc,CAAC,GAAG,KACvD,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CACvD,EAAE,CACH,CAAA;oBACD,MAAM,KAAK,CAAA;gBACb,CAAC;YACH,CAAC;YAED,yFAAyF;YACzF,uBAAuB;YACvB,IACE,SAAS,CAAC,MAAM,KAAK,OAAO;gBAC5B,CAAC,CAAA,MAAC,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,MAAM,CAAC,iBAAiB,CAAc,0CAAE,QAAQ,CAAC,WAAW,MAAM,EAAE,CAAC,CAAA,EACvF,CAAC;gBACD,MAAA,IAAI,CAAC,MAAM,0CAAE,KAAK,CAAC,2CAA2C,CAAC,CAAA;gBAE/D,cAAc,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC,WAAW,MAAM,EAAE,CAAC,CAAC,CAAA;gBAC/D,MAAM,aAAa,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,oBAAa,CAAC,CAAA;gBACnE,MAAM,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,cAAc,CAAC,CAAA;YAC/D,CAAC;YACD,mHAAmH;YACnH,qFAAqF;YACrF,MAAM,WAAW,GAAG,cAAc,CAAC,WAAY,CAAA;YAC/C,MAAM,gBAAgB,GAAG,CAAC,MAAA,WAAW,CAAC,kBAAkB,mCAAI,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CACxE,CAAC,4BAA4B,EAAE,2BAA2B,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,CAC9E,CAAA;YACD,MAAM,2BAA2B,GAAG,IAAI,CAAC,+BAA+B,CAAC,WAAW,CAAC,CAAA;YACrF,MAAM,eAAe,GACnB,CAAC,2BAA2B;gBAC5B,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,eAAe,CAAC;oBACzC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,EAAE,EAAE,2BAA2B,CAAC,CAAC,CAAA;YACxF,mFAAmF;YACnF,0EAA0E;YAC1E,MAAM,gBAAgB,GACpB,SAAS,CAAC,MAAM,KAAK,OAAO;gBAC5B,CAAC,CAAC,2BAA2B;gBAC7B,CAAC,MAAA,WAAW,CAAC,cAAc,mCAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;oBAC1C,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;oBAC3C,OAAO,EAAE,KAAK,2BAA2B,CAAA;gBAC3C,CAAC,CAAC,CAAA;YACJ,MAAM,iBAAiB,GAAG,CAAC,MAAA,WAAW,CAAC,OAAO,mCAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,iBAAiB,CAAC,CAAA;YAC7F,MAAM,iBAAiB,GAAG,CAAA,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,eAAe,MAAK,IAAI,CAAC,uBAAuB,CAAA;YAC7F,IAAI,gBAAgB,IAAI,eAAe,IAAI,gBAAgB,IAAI,iBAAiB,EAAE,CAAC;gBACjF,IAAI,eAAe,IAAI,2BAA2B,EAAE,CAAC;oBACnD,WAAW,CAAC,OAAO,GAAG;wBACpB,GAAG,CAAC,WAAW,CAAC,OAAO;4BACrB,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,6BAA6B,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;4BAC9F,CAAC,CAAC,EAAE,CAAC;wBACP,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,EAAE,EAAE,2BAA2B,CAAC;qBACxE,CAAA;gBACH,CAAC;gBACD,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAA;gBACtC,MAAM,OAAO,GAAqB,EAAE,CAAA;gBACpC,IAAI,gBAAgB,EAAE,CAAC;oBACrB,OAAO,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,kCAAkC,CAAC,WAAW,CAAC,CAAC,CAAA;gBAC1E,CAAC;gBAED,IAAI,gBAAgB;oBAAE,WAAW,CAAC,cAAc,GAAG,CAAC,2BAA4B,CAAC,CAAA;gBAEjF,IAAI,OAAO,CAAC,MAAM,IAAI,SAAS,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;oBACnD,0EAA0E;oBAC1E,KAAK,MAAM,GAAG,IAAI,OAAO;wBAAE,MAAM,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,EAAE,EAAE,GAAG,CAAC,CAAA;gBAClF,CAAC;gBAED,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,iBACpB,GAAG,EAAE,WAAW,CAAC,EAAE,EACnB,WAAW,IACR,CAAC,OAAO,CAAC,MAAM,IAAI,SAAS,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAC1E,CAAA;gBACF,MAAA,IAAI,CAAC,MAAM,0CAAE,KAAK,CAAC,2BAA2B,CAAC,CAAA;YACjD,CAAC;iBAAM,CAAC;gBACN,MAAA,IAAI,CAAC,MAAM,0CAAE,KAAK,CAAC,uCAAuC,CAAC,CAAA;YAC7D,CAAC;YACD,IAAI,CAAC,GAAG,GAAG,cAAc,CAAC,GAAG,CAAA;QAC/B,CAAC;QAED,oBAAoB;QACpB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAoB,CAAA;QAC/C,MAAM,IAAA,mCAAgB,EAAC,IAAI,EAAE,EAAE,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,EAAE,MAAM,EAAE,CAAC,CAAA;QACjF,MAAM,IAAA,qCAAiB,EAAC,IAAe,EAAE,MAAM,CAAC,CAAA;IAClD,CAAC;IAEO,KAAK,CAAC,cAAc,CAAC,SAAoB;QAC/C,MAAM,aAAa,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,oBAAa,CAAC,CAAA;QAEnE,qGAAqG;QACrG,IAAI,SAAS,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;YACjC,MAAM,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAA;YACrF,OAAO,MAAM,aAAa,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAA;QACzF,CAAC;QAED,OAAO,MAAM,aAAa,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,GAAG,CAAC,CAAA;IACxE,CAAC;IAED,+FAA+F;IACvF,+BAA+B,CAAC,WAAwB;;QAC9D,MAAM,GAAG,GAAG,MAAA,WAAW,CAAC,kBAAkB,mCAAI,EAAE,CAAA;QAChD,MAAM,SAAS,GAAG,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,KAAK,4BAA4B,CAAC,CAAA;QAC1E,IAAI,SAAS;YAAE,OAAO,SAAS,CAAC,EAAE,CAAA;QAClC,MAAM,QAAQ,GAAG,GAAG,CAAC,IAAI,CACvB,EAAE,CAAC,EAAE,CACH,EAAE,CAAC,IAAI,KAAK,4BAA4B;YACxC,CAAC,EAAE,CAAC,IAAI,KAAK,UAAU;gBACrB,OAAO,EAAE,CAAC,kBAAkB,KAAK,QAAQ;gBACzC,EAAE,CAAC,kBAAkB,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAC9C,CAAA;QACD,OAAO,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,EAAE,CAAA;IACrB,CAAC;IAEO,kBAAkB,CAAC,SAAiB,EAAE,2BAAmC;QAC/E,MAAM,eAAe,GAAG,IAAI,CAAC,OAAQ,CAAC,MAAM,CAAC,eAAe,CAAA;QAC5D,MAAM,SAAS,GAAG,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;QAChD,MAAM,SAAS,GAAG,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;QAChD,MAAM,QAAQ,GAA+C,EAAE,CAAA;QAE/D,IAAI,CAAC,OAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE;YACzD,IAAI,SAAS,EAAE,CAAC;gBACd,QAAQ,CAAC,IAAI,CACX,IAAI,uBAAgB,CAAC;oBACnB,EAAE,EAAE,GAAG,SAAS,oBAAoB;oBACpC,eAAe,EAAE,QAAQ;oBACzB,QAAQ,EAAE,KAAK;oBACf,WAAW,EAAE,EAAE,EAAE,0BAA0B;oBAC3C,aAAa,EAAE,CAAC,2BAA2B,CAAC;oBAC5C,MAAM,EAAE,CAAC,wBAAwB,CAAC;iBACnC,CAAC,CACH,CAAA;YACH,CAAC;YACD,IAAI,SAAS,EAAE,CAAC;gBACd,QAAQ,CAAC,IAAI,CACX,IAAI,0BAAmB,CAAC;oBACtB,EAAE,EAAE,GAAG,SAAS,sBAAsB,KAAK,EAAE;oBAC7C,eAAe,EAAE,IAAI,kCAA2B,CAAC;wBAC/C,GAAG,EAAE,QAAQ;wBACb,MAAM,EAAE,CAAC,YAAY,CAAC;qBACvB,CAAC;iBACH,CAAC,CACH,CAAA;YACH,CAAC;QACH,CAAC,CAAC,CAAA;QAEF,OAAO,QAAQ,CAAA;IACjB,CAAC;IAEO,KAAK,CAAC,qBAAqB,CAAC,GAAW,EAAE,GAAmB;;QAClE,MAAM,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,oBAAa,CAAC,CAAA;QAC9D,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,GAAG,EAAE,CAAC,CAAA;QAC5E,IAAI,CAAC,MAAM;YAAE,OAAM;QACnB,MAAM,QAAQ,GAAG,MAAA,MAAM,CAAC,IAAI,mCAAI,EAAE,CAAA;QAClC,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,wBAAwB,KAAK,GAAG,CAAC,wBAAwB,CAAC;YAAE,OAAM;QAC3F,MAAM,CAAC,IAAI,GAAG,CAAC,GAAG,QAAQ,EAAE,GAAG,CAAC,CAAA;QAChC,MAAM,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,CAAA;IACvD,CAAC;IAEO,KAAK,CAAC,kCAAkC,CAAC,WAAwB;;QACvE,MAAM,SAAS,GAAG,WAAW,CAAC,EAAE,CAAA;QAEhC,MAAM,OAAO,GAAG;YACd,uCAAuC;YACvC,kDAAkD;YAClD,iDAAiD;SAClD,CAAA;QACD,MAAM,cAAc,GAAG,GAAG,SAAS,kBAAkB,CAAA;QACrD,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,UAAG,CAAC,gBAAgB,CAAC,CAAA;QAE3D,sBAAsB;QACtB,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,CAAA;QACzE,MAAM,cAAc,GAAG,UAAG,CAAC,SAAS,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,SAAS,CAAA;QACrF,MAAM,kBAAkB,GAAG,IAAA,6BAAe,EACxC,IAAI,UAAU,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,cAAc,CAAC,CAAC,EAC/C,+BAAiB,CAAC,UAAU,CAC7B,CAAA;QACD,MAAM,cAAc,GAAmB;YACrC,QAAQ,EAAE,GAAG,CAAC,KAAK;YACnB,wBAAwB,EAAE,IAAI,kBAAkB,EAAE;SACnD,CAAA;QACD,MAAM,oBAAoB,GAAG,GAAG,SAAS,IAAI,kBAAkB,EAAE,CAAA;QACjE,MAAM,eAAe,GAAG,IAAA,+BAAwB,EAAC,cAAc,CAAC,CAAA;QAChE,MAAM,SAAS,GAAG,UAAG,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC,CAAA;QAExG,yBAAyB;QACzB,MAAM,cAAc,GAAG,CAAC,kDAAkD,CAAC,CAAA;QAC3E,MAAM,YAAY,GAAG,MAAA,CAAC,MAAA,WAAW,CAAC,kBAAkB,mCAAI,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CACpE,CAAC,4BAA4B,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,CACjD,0CAAE,EAAE,CAAA;QACL,IAAI,YAAY,EAAE,CAAC;YACjB,WAAW,CAAC,cAAc,GAAG,CAAC,MAAA,WAAW,CAAC,cAAc,mCAAI,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,YAAY,CAAC,CAAA;YACjG,WAAW,CAAC,eAAe,GAAG,CAAC,MAAA,WAAW,CAAC,eAAe,mCAAI,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,YAAY,CAAC,CAAA;QACrG,CAAC;QACD,MAAM,eAAe,GAAG,CAAC,MAAA,WAAW,CAAC,kBAAkB,mCAAI,EAAE,CAAC,CAAC,MAAM,CACnE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,4BAA4B,EAAE,2BAA2B,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,CACrF,CAAA;QAED,MAAM,mBAAmB,GAAG;YAC1B;gBACE,UAAU,EAAE,SAAS;gBACrB,EAAE,EAAE,oBAAoB;gBACxB,kBAAkB;gBAClB,IAAI,EAAE,4BAA4B;aACnC;YACD;gBACE,UAAU,EAAE,SAAS;gBACrB,EAAE,EAAE,cAAc;gBAClB,kBAAkB,EAAE,SAAS,CAAC,WAAW;gBACzC,IAAI,EAAE,UAAU;aACjB;SACF,CAAA;QAED,MAAM,cAAc,GAAG,oBAAoB,CAAA;QAC3C,MAAM,eAAe,GAAG,oBAAoB,CAAA;QAC5C,MAAM,YAAY,GAAG,cAAc,CAAA;QAEnC,MAAM,eAAe,GAAG,IAAI,CAAC,kBAAkB,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAA;QAEhF,MAAM,eAAe,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC;YACxD,CAAC,CAAC,WAAW,CAAC,OAAO;YACrB,CAAC,CAAC,WAAW,CAAC,OAAO;gBACnB,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC;gBACvB,CAAC,CAAC,EAAE,CAAA;QACR,WAAW,CAAC,OAAO,GAAG;YACpB,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,CAAC;SAC1F,CAAA;QACD,WAAW,CAAC,kBAAkB,GAAG,CAAC,GAAG,eAAe,EAAE,GAAG,mBAAmB,CAAC,CAAA;QAC7E,8EAA8E;QAC9E,sEAAsE;QACtE,WAAW,CAAC,cAAc,GAAG,CAAC,cAAc,CAAC,CAAA;QAC7C,WAAW,CAAC,eAAe,GAAG,CAAC,eAAe,CAAC,CAAA;QAC/C,WAAW,CAAC,YAAY,GAAG,CAAC,YAAY,CAAC,CAAA;QACzC,WAAW,CAAC,OAAO,GAAG;YACpB,GAAG,CAAC,WAAW,CAAC,OAAO;gBACrB,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,6BAA6B,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAC9F,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,eAAe;SACnB,CAAA;QAED,OAAO,cAAc,CAAA;IACvB,CAAC;IAEO,KAAK,CAAC,4BAA4B,CAAC,WAAwB;;QACjE,MAAM,SAAS,GAAG,WAAW,CAAC,EAAE,CAAA;QAChC,WAAW,CAAC,OAAO,GAAG;YACpB,GAAG,CAAC,MAAA,WAAW,CAAC,OAAO,mCAAI,EAAE,CAAC;YAC9B,GAAG;gBACD,IAAI,yBAAkB,CAAC;oBACrB,EAAE,EAAE,GAAG,SAAS,uBAAuB;oBACvC,eAAe,EAAE,GAAG,IAAI,CAAC,gBAAgB,2BAA2B;oBACpE,IAAI,EAAE,8BAA8B;iBACrC,CAAC;gBACF,IAAI,yBAAkB,CAAC;oBACrB,EAAE,EAAE,GAAG,SAAS,mBAAmB;oBACnC,eAAe,EAAE,GAAG,IAAI,CAAC,gBAAgB,uBAAuB;oBAChE,IAAI,EAAE,8BAA8B;iBACrC,CAAC;aACH;SACF,CAAA;QAED,WAAW,CAAC,OAAO,GAAG;YACpB,GAAG,CAAC,MAAA,WAAW,CAAC,OAAO,mCAAI,EAAE,CAAC;YAC9B,mDAAmD;SACpD,CAAA;IACH,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,iCAAiC,CAAC,WAAwB;;QACtE,MAAM,SAAS,GAAG,WAAW,CAAC,EAAE,CAAA;QAChC,WAAW,CAAC,OAAO,GAAG;YACpB,GAAG,CAAC,MAAA,WAAW,CAAC,OAAO,mCAAI,EAAE,CAAC;YAC9B,GAAG;gBACD,IAAI,yBAAkB,CAAC;oBACrB,EAAE,EAAE,GAAG,SAAS,QAAQ;oBACxB,eAAe,EAAE,GAAG,IAAI,CAAC,gBAAgB,2BAA2B;oBACpE,IAAI,EAAE,8BAA8B;iBACrC,CAAC;gBACF,IAAI,yBAAkB,CAAC;oBACrB,EAAE,EAAE,GAAG,SAAS,QAAQ;oBACxB,eAAe,EAAE,GAAG,IAAI,CAAC,gBAAgB,EAAE;oBAC3C,IAAI,EAAE,aAAa;iBACpB,CAAC;aACH;SACF,CAAA;IACH,CAAC;IAEO,KAAK,CAAC,6BAA6B,CAAC,WAAwB;;QAClE,MAAM,SAAS,GAAG,WAAW,CAAC,EAAE,CAAA;QAChC,WAAW,CAAC,OAAO,GAAG;YACpB,GAAG,CAAC,MAAA,WAAW,CAAC,OAAO,mCAAI,EAAE,CAAC;YAC9B,IAAI,yBAAkB,CAAC;gBACrB,EAAE,EAAE,GAAG,SAAS,YAAY;gBAC5B,eAAe,EAAE,GAAG,IAAI,CAAC,gBAAgB,eAAe;gBACxD,IAAI,EAAE,mBAAmB;aAC1B,CAAC;SACH,CAAA;IACH,CAAC;IAEO,oBAAoB,CAAC,WAAwB;QACnD,IAAA,2CAAyB,EAAC,WAAW,EAAE,IAAI,CAAC,uBAAuB,CAAC,CAAA;IACtE,CAAC;CACF;AA3bD,0BA2bC"}
1
+ {"version":3,"file":"VsAgent.js","sourceRoot":"","sources":["../../src/agent/VsAgent.ts"],"names":[],"mappings":"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"}
@@ -4,32 +4,37 @@ export interface IndexerWebSocketServiceOptions {
4
4
  indexerUrl: string;
5
5
  agent: VsAgent;
6
6
  handlerRegistry?: IndexerHandlerRegistry;
7
+ corporationId?: number;
7
8
  }
8
9
  export declare class IndexerWebSocketService {
9
10
  private readonly options;
10
11
  private ws;
11
12
  private reconnectAttempt;
13
+ private reconnectTimer;
14
+ private watchdog;
12
15
  private stopped;
13
16
  private syncing;
14
- private IndexerEventRecords;
17
+ private generation;
18
+ private chain;
19
+ private syncBuffer;
15
20
  private readonly indexer;
16
21
  private readonly handlerRegistry;
17
22
  constructor(options: IndexerWebSocketServiceOptions);
18
23
  start(): Promise<void>;
19
24
  stop(): void;
20
25
  private get logger();
21
- /**
22
- * Connects to the indexer WebSocket, performs an initial sync via REST (use /events endpoint because it returns historical events in a single request)
23
- * Finally, processes pending events received during the initial sync.
24
- */
25
26
  private connect;
26
27
  private openWebSocket;
28
+ private handleMessage;
27
29
  private syncRest;
28
- private drainIndexerEventRecords;
29
- private processBlock;
30
+ private drainSyncBuffer;
31
+ private enqueueLive;
32
+ private runExclusive;
33
+ private applyEvent;
30
34
  private fetchActivity;
31
35
  private fetchEntity;
32
- private applyChanges;
36
+ private armWatchdog;
37
+ private clearWatchdog;
38
+ private forceReconnect;
33
39
  private scheduleReconnect;
34
- private fetchInitialEvents;
35
40
  }
@@ -8,17 +8,26 @@ const ws_1 = __importDefault(require("ws"));
8
8
  const VeranaHelpers_1 = require("./VeranaHelpers");
9
9
  const VeranaIndexerService_1 = require("./VeranaIndexerService");
10
10
  const handlers_1 = require("./handlers");
11
+ const indexerSync_1 = require("./indexerSync");
11
12
  const MAX_RECONNECT_DELAY_MS = 300000;
12
13
  const WS_PATHNAME = 'v4/indexer/subscribe';
14
+ const REST_PAGE_LIMIT = 500;
15
+ const MAX_SYNC_BUFFER = 10000;
16
+ // The indexer pings every 30 seconds, so a longer gap means the socket is dead.
17
+ const LIVENESS_TIMEOUT_MS = 90000;
13
18
  class IndexerWebSocketService {
14
19
  constructor(options) {
15
20
  var _a;
16
21
  this.options = options;
17
22
  this.ws = null;
18
23
  this.reconnectAttempt = 0;
24
+ this.reconnectTimer = null;
25
+ this.watchdog = null;
19
26
  this.stopped = false;
20
27
  this.syncing = false;
21
- this.IndexerEventRecords = [];
28
+ this.generation = 0;
29
+ this.chain = Promise.resolve();
30
+ this.syncBuffer = [];
22
31
  this.indexer = new VeranaIndexerService_1.VeranaIndexerService({
23
32
  baseUrl: options.indexerUrl,
24
33
  logger: options.agent.config.logger,
@@ -32,23 +41,37 @@ class IndexerWebSocketService {
32
41
  stop() {
33
42
  var _a;
34
43
  this.stopped = true;
44
+ this.clearWatchdog();
45
+ if (this.reconnectTimer) {
46
+ clearTimeout(this.reconnectTimer);
47
+ this.reconnectTimer = null;
48
+ }
35
49
  (_a = this.ws) === null || _a === void 0 ? void 0 : _a.close();
36
50
  this.ws = null;
37
51
  }
38
52
  get logger() {
39
53
  return this.options.agent.config.logger;
40
54
  }
41
- /**
42
- * Connects to the indexer WebSocket, performs an initial sync via REST (use /events endpoint because it returns historical events in a single request)
43
- * Finally, processes pending events received during the initial sync.
44
- */
45
55
  async connect() {
56
+ if (this.stopped)
57
+ return;
58
+ const generation = ++this.generation;
46
59
  this.syncing = true;
47
- this.IndexerEventRecords = [];
60
+ this.syncBuffer = [];
48
61
  this.openWebSocket();
49
- await this.syncRest();
62
+ try {
63
+ await this.syncRest(generation);
64
+ }
65
+ catch (error) {
66
+ this.logger.error(`[IndexerWS] Catch-up failed, will reconnect: ${error.message}`);
67
+ if (generation === this.generation)
68
+ this.forceReconnect('catch-up failed');
69
+ return;
70
+ }
71
+ if (this.stopped || generation !== this.generation)
72
+ return;
50
73
  this.syncing = false;
51
- await this.drainIndexerEventRecords();
74
+ this.drainSyncBuffer(generation);
52
75
  }
53
76
  openWebSocket() {
54
77
  const url = new URL(this.options.indexerUrl);
@@ -59,44 +82,25 @@ class IndexerWebSocketService {
59
82
  this.logger.info(`[IndexerWS] Connecting to ${wsUrl}`);
60
83
  const ws = new ws_1.default(wsUrl);
61
84
  this.ws = ws;
85
+ this.armWatchdog();
62
86
  ws.on('open', () => {
63
- this.logger.info(`[IndexerWS] Connected to indexer`);
64
- this.reconnectAttempt = 0;
87
+ if (ws === this.ws)
88
+ this.logger.info(`[IndexerWS] Connected to indexer`);
89
+ });
90
+ ws.on('ping', () => {
91
+ if (ws === this.ws)
92
+ this.armWatchdog();
65
93
  });
66
94
  ws.on('message', (data) => {
67
- var _a;
68
- try {
69
- const message = JSON.parse(data.toString());
70
- if (message.type === 'ready') {
71
- const subscribe = {
72
- action: 'subscribe',
73
- dids: this.options.agent.did ? [this.options.agent.did] : undefined,
74
- };
75
- ws.send(JSON.stringify(subscribe));
76
- return;
77
- }
78
- if (message.type !== 'block')
79
- return;
80
- for (const event of message.events) {
81
- if (event.type !== 'indexer-event')
82
- continue;
83
- if (event.block_height <= 0)
84
- continue;
85
- if (!((_a = event.payload) === null || _a === void 0 ? void 0 : _a.sender))
86
- continue;
87
- if (this.syncing) {
88
- this.IndexerEventRecords.push(event);
89
- }
90
- else {
91
- this.processBlock(event).catch(err => this.logger.error(`[IndexerWS] Handler error: ${err.message}`));
92
- }
93
- }
94
- }
95
- catch (_b) {
96
- this.logger.warn(`[IndexerWS] Failed to parse message: ${data}`);
97
- }
95
+ if (ws !== this.ws)
96
+ return;
97
+ this.armWatchdog();
98
+ this.handleMessage(ws, data);
98
99
  });
99
100
  ws.on('close', () => {
101
+ if (ws !== this.ws)
102
+ return;
103
+ this.clearWatchdog();
100
104
  if (!this.stopped)
101
105
  this.scheduleReconnect();
102
106
  });
@@ -104,55 +108,123 @@ class IndexerWebSocketService {
104
108
  this.logger.error(`[IndexerWS] Error: ${error.message}`);
105
109
  });
106
110
  }
107
- async syncRest() {
108
- this.logger.info(`[IndexerWS] Starting REST initial sync`);
111
+ handleMessage(ws, data) {
112
+ let message;
109
113
  try {
110
- const { lastBlockHeight } = await (0, VeranaHelpers_1.loadSyncState)(this.options.agent);
111
- const data = await this.fetchInitialEvents(lastBlockHeight);
112
- for (const event of data.events) {
113
- await this.processBlock(event);
114
- }
115
- this.logger.info(`[IndexerWS] Initial sync complete: ${data.events.length} event(s)`);
114
+ message = JSON.parse(data.toString());
116
115
  }
117
- catch (error) {
118
- this.logger.error(`[IndexerWS] REST initial sync failed: ${error.message}`);
116
+ catch (_a) {
117
+ this.logger.warn(`[IndexerWS] Failed to parse message: ${data}`);
118
+ return;
119
+ }
120
+ if (message.type === 'ready') {
121
+ this.reconnectAttempt = 0;
122
+ const subscribe = this.options.corporationId != null
123
+ ? { action: 'subscribe', corporationId: this.options.corporationId }
124
+ : { action: 'subscribe', dids: this.options.agent.did ? [this.options.agent.did] : undefined };
125
+ ws.send(JSON.stringify(subscribe));
126
+ return;
127
+ }
128
+ if (message.type !== 'block')
129
+ return;
130
+ const generation = this.generation;
131
+ for (const event of message.events) {
132
+ if (!(0, indexerSync_1.isProcessableEvent)(event))
133
+ continue;
134
+ if (!this.syncing) {
135
+ this.enqueueLive(event, generation);
136
+ }
137
+ else if (this.syncBuffer.length < MAX_SYNC_BUFFER) {
138
+ this.syncBuffer.push(event);
139
+ }
140
+ else {
141
+ this.forceReconnect('sync buffer overflow');
142
+ return;
143
+ }
119
144
  }
120
145
  }
121
- async drainIndexerEventRecords() {
146
+ async syncRest(generation) {
147
+ if (!this.options.agent.did)
148
+ throw new Error('Agent does not have any defined public DID');
149
+ const did = this.options.agent.did;
122
150
  const { lastBlockHeight } = await (0, VeranaHelpers_1.loadSyncState)(this.options.agent);
123
- const events = this.IndexerEventRecords.splice(0);
124
- let processed = 0;
125
- let skipped = 0;
126
- for (const event of events) {
127
- if (event.block_height <= lastBlockHeight) {
128
- skipped++;
129
- continue;
151
+ let cursor = lastBlockHeight;
152
+ for (;;) {
153
+ if (this.stopped || generation !== this.generation)
154
+ return;
155
+ const page = await this.indexer.getEvents(did, cursor, REST_PAGE_LIMIT, this.options.corporationId);
156
+ for (const event of (0, indexerSync_1.sortEventsByPosition)(page.events.filter(indexerSync_1.isProcessableEvent))) {
157
+ if (this.stopped || generation !== this.generation)
158
+ return;
159
+ await this.runExclusive(() => this.applyEvent(event, generation));
130
160
  }
131
- await this.processBlock(event);
132
- processed++;
161
+ const next = (0, indexerSync_1.nextRestCursor)(page.events, cursor, REST_PAGE_LIMIT);
162
+ if (next.done)
163
+ return;
164
+ if (next.blockExceedsPage) {
165
+ this.logger.warn(`[IndexerWS] Block ${next.cursor} fills a full page; the events API cannot page within a block`);
166
+ }
167
+ cursor = next.cursor;
133
168
  }
134
- if (skipped + processed > 0) {
135
- this.logger.info(`[IndexerWS] Drained: ${processed} processed, ${skipped} skipped`);
169
+ }
170
+ drainSyncBuffer(generation) {
171
+ const events = this.syncBuffer.splice(0);
172
+ for (const event of (0, indexerSync_1.sortEventsByPosition)(events)) {
173
+ this.enqueueLive(event, generation);
136
174
  }
137
175
  }
138
- async processBlock(event) {
139
- try {
140
- const activity = await this.fetchActivity(event);
141
- if (activity) {
142
- await this.applyChanges(event, activity);
143
- }
176
+ enqueueLive(event, generation) {
177
+ this.runExclusive(() => this.applyEvent(event, generation)).catch(error => {
178
+ this.logger.error(`[IndexerWS] Live event ${event.event_type} failed at block ${event.block_height}: ${error.message}`);
179
+ if (generation === this.generation)
180
+ this.forceReconnect('live event processing failed');
181
+ });
182
+ }
183
+ runExclusive(task) {
184
+ const result = this.chain.then(task);
185
+ this.chain = result.then(() => undefined, () => undefined);
186
+ return result;
187
+ }
188
+ async applyEvent(event, generation) {
189
+ var _a;
190
+ if (this.stopped || generation !== this.generation)
191
+ return;
192
+ const key = (0, indexerSync_1.eventKey)(event);
193
+ const block = event.block_height;
194
+ const state = await (0, VeranaHelpers_1.loadSyncState)(this.options.agent);
195
+ if (block <= state.lastBlockHeight)
196
+ return;
197
+ const partialKeys = (_a = state.partialKeys) !== null && _a !== void 0 ? _a : [];
198
+ if (block === state.partialBlock && partialKeys.includes(key))
199
+ return;
200
+ const activity = await this.fetchActivity(event);
201
+ if (this.stopped || generation !== this.generation)
202
+ return;
203
+ if (activity) {
204
+ await this.handlerRegistry.dispatch(activity, {
205
+ agent: this.options.agent,
206
+ block_height: block,
207
+ operatorAddress: event.payload.sender,
208
+ state,
209
+ txHash: event.tx_hash,
210
+ });
144
211
  }
145
- catch (error) {
146
- this.logger.error(`[IndexerWS] Failed to process event ${event.event_type} block=${event.block_height}: ${error.message}`);
212
+ if (state.partialBlock === undefined || block > state.partialBlock) {
213
+ state.partialBlock = block;
214
+ state.partialKeys = [key];
215
+ }
216
+ else {
217
+ state.partialKeys = [...partialKeys, key];
147
218
  }
219
+ // A block counts as done only when a later block arrives, so the saved height stays one behind.
220
+ state.lastBlockHeight = Math.max(state.lastBlockHeight, block - 1);
221
+ await (0, VeranaHelpers_1.saveSyncState)(this.options.agent, state);
148
222
  }
149
223
  async fetchActivity(event) {
150
224
  var _a;
151
225
  const entity_id = event.payload.entity_id;
152
- if (!entity_id) {
153
- this.logger.warn(`[IndexerWS] No entity_id for event ${event.event_type} — skipping`);
226
+ if (!entity_id)
154
227
  return undefined;
155
- }
156
228
  const changes = await this.fetchEntity(event.payload.entity_type, entity_id);
157
229
  return {
158
230
  timestamp: event.timestamp,
@@ -176,42 +248,45 @@ class IndexerWebSocketService {
176
248
  return {};
177
249
  }
178
250
  }
179
- async applyChanges(event, activity) {
180
- const state = await (0, VeranaHelpers_1.loadSyncState)(this.options.agent);
181
- const { block_height } = event;
251
+ armWatchdog() {
252
+ this.clearWatchdog();
253
+ if (this.stopped)
254
+ return;
255
+ this.watchdog = setTimeout(() => this.forceReconnect('liveness timeout'), LIVENESS_TIMEOUT_MS);
256
+ }
257
+ clearWatchdog() {
258
+ if (this.watchdog) {
259
+ clearTimeout(this.watchdog);
260
+ this.watchdog = null;
261
+ }
262
+ }
263
+ forceReconnect(reason) {
264
+ if (this.stopped)
265
+ return;
266
+ this.logger.warn(`[IndexerWS] Forcing reconnect: ${reason}`);
267
+ this.generation++; // stops queued work so it cannot move the height past the failed event
268
+ this.clearWatchdog();
269
+ const ws = this.ws;
270
+ this.ws = null;
182
271
  try {
183
- await this.handlerRegistry.dispatch(activity, {
184
- agent: this.options.agent,
185
- block_height,
186
- operatorAddress: event.payload.sender,
187
- state,
188
- txHash: event.tx_hash,
189
- });
272
+ ws === null || ws === void 0 ? void 0 : ws.terminate();
190
273
  }
191
- catch (err) {
192
- this.logger.error(`[IndexerWS] Handler ${event.event_type} failed at block ${event.block_height}: ${err.message}`);
274
+ finally {
275
+ this.scheduleReconnect();
193
276
  }
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
277
  }
198
278
  scheduleReconnect() {
279
+ if (this.reconnectTimer || this.stopped)
280
+ return;
199
281
  const delay = Math.min(1000 * 2 ** this.reconnectAttempt, MAX_RECONNECT_DELAY_MS);
200
282
  this.reconnectAttempt++;
201
283
  this.logger.info(`[IndexerWS] Reconnecting in ${delay}ms (attempt ${this.reconnectAttempt})`);
202
- setTimeout(() => {
284
+ this.reconnectTimer = setTimeout(() => {
285
+ this.reconnectTimer = null;
203
286
  if (!this.stopped)
204
287
  this.connect();
205
288
  }, delay);
206
289
  }
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
290
  }
216
291
  exports.IndexerWebSocketService = IndexerWebSocketService;
217
292
  //# 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,5 +1,5 @@
1
1
  import { type DeliverTxResponse } from '@cosmjs/stargate';
2
- import { CreateOrUpdateParticipantSessionParams, Participant, SetParticipantOPToValidatedParams, VeranaChainConfig } from './types';
2
+ import { Coin, CreateOrUpdateParticipantSessionParams, Participant, SetParticipantOPToValidatedParams, VeranaChainConfig } from './types';
3
3
  export declare class VeranaChainService {
4
4
  private readonly config;
5
5
  private signingClient;
@@ -7,6 +7,7 @@ export declare class VeranaChainService {
7
7
  private chainId;
8
8
  private corporationAddress;
9
9
  private ppQuery;
10
+ private deQuery;
10
11
  private sessionSigningClient?;
11
12
  private sessionOperatorAddress?;
12
13
  constructor(config: VeranaChainConfig);
@@ -16,6 +17,8 @@ export declare class VeranaChainService {
16
17
  get autoTriggerResolverEnabled(): boolean;
17
18
  start(): Promise<void>;
18
19
  getParticipant(id: number): Promise<Participant | undefined>;
20
+ getBalance(denom?: string): Promise<Coin>;
21
+ hasVsOperatorAuthorization(): Promise<boolean>;
19
22
  setParticipantOPToValidated(params: SetParticipantOPToValidatedParams): Promise<{
20
23
  txHash: string;
21
24
  }>;
@@ -7,6 +7,7 @@ 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: DeQueryClientImpl } = require('@verana-labs/verana-types/codec/verana/de/v1/query');
10
11
  const { QueryClientImpl: PpQueryClientImpl, QueryFindParticipantsWithDIDRequest, } = require('@verana-labs/verana-types/codec/verana/pp/v1/query');
11
12
  const { MsgSetParticipantOPToValidated, MsgCreateOrUpdateParticipantSession, MsgTriggerResolver, } = require('@verana-labs/verana-types/codec/verana/pp/v1/tx');
12
13
  // ParticipantRole.HOLDER (x/pp/types); the only role whose vs_operator may send TriggerResolver (chain Path 1).
@@ -82,12 +83,24 @@ class VeranaChainService {
82
83
  const queryClient = new stargate_1.QueryClient(cometClient);
83
84
  const rpc = (0, stargate_1.createProtobufRpcClient)(queryClient);
84
85
  this.ppQuery = new PpQueryClientImpl(rpc);
86
+ this.deQuery = new DeQueryClientImpl(rpc);
85
87
  }
86
88
  // Query API (unsigned)
87
89
  async getParticipant(id) {
88
90
  const result = await this.ppQuery.GetParticipant({ id });
89
91
  return result.participant ? mapParticipant(result.participant) : undefined;
90
92
  }
93
+ async getBalance(denom = 'uvna') {
94
+ return this.signingClient.getBalance(this.operatorAddress, denom);
95
+ }
96
+ async hasVsOperatorAuthorization() {
97
+ const result = await this.deQuery.ListVSOperatorAuthorizations({
98
+ corporationId: 0,
99
+ vsOperator: this.operatorAddress,
100
+ responseMaxSize: 64,
101
+ });
102
+ return result.vsOperatorAuthorizations.length > 0;
103
+ }
91
104
  // Transaction API (signed)
92
105
  async setParticipantOPToValidated(params) {
93
106
  var _a, _b, _c, _d, _e;