@verana-labs/vs-agent-sdk 2.0.0-dev.50 → 2.0.0-dev.52
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.
- package/build/agent/VsAgent.d.ts +2 -2
- package/build/blockchain/AnonCredsTrustService.d.ts +5 -0
- package/build/blockchain/AnonCredsTrustService.js +16 -3
- package/build/blockchain/AnonCredsTrustService.js.map +1 -1
- package/build/blockchain/AuthorizationService.d.ts +5 -1
- package/build/blockchain/AuthorizationService.js +17 -11
- package/build/blockchain/AuthorizationService.js.map +1 -1
- package/build/blockchain/VeranaChainService.d.ts +1 -15
- package/build/blockchain/VeranaChainService.js +1 -143
- package/build/blockchain/VeranaChainService.js.map +1 -1
- package/build/blockchain/VeranaIndexerService.d.ts +8 -1
- package/build/blockchain/VeranaIndexerService.js +102 -0
- package/build/blockchain/VeranaIndexerService.js.map +1 -1
- package/build/blockchain/handlers/authorizationHandlers.js +2 -2
- package/build/blockchain/handlers/authorizationHandlers.js.map +1 -1
- package/build/blockchain/handlers/stateMutations.js +10 -10
- package/build/blockchain/handlers/stateMutations.js.map +1 -1
- package/build/blockchain/index.d.ts +1 -0
- package/build/blockchain/index.js +1 -0
- package/build/blockchain/index.js.map +1 -1
- package/build/blockchain/indexerMappers.d.ts +3 -0
- package/build/blockchain/indexerMappers.js +53 -0
- package/build/blockchain/indexerMappers.js.map +1 -0
- package/build/blockchain/types.d.ts +0 -70
- package/build/bootstrap/EcsBootstrapService.js +7 -3
- package/build/bootstrap/EcsBootstrapService.js.map +1 -1
- package/build/did/CachedDocumentLoader.d.ts +3 -0
- package/build/did/CachedDocumentLoader.js +7 -1
- package/build/did/CachedDocumentLoader.js.map +1 -1
- package/build/plugins/setupBaseDidComm.js +1 -1
- package/build/plugins/setupBaseDidComm.js.map +1 -1
- package/build/utils/index.d.ts +1 -0
- package/build/utils/index.js +1 -0
- package/build/utils/index.js.map +1 -1
- package/build/utils/selfIssuedEcsCredential.d.ts +5 -1
- package/build/utils/selfIssuedEcsCredential.js +20 -14
- package/build/utils/selfIssuedEcsCredential.js.map +1 -1
- package/build/utils/setupSelfTr.d.ts +24 -9
- package/build/utils/setupSelfTr.js +37 -35
- package/build/utils/setupSelfTr.js.map +1 -1
- package/build/utils/trustCredentialStore.d.ts +34 -4
- package/build/utils/trustCredentialStore.js +119 -34
- package/build/utils/trustCredentialStore.js.map +1 -1
- package/build/utils/vcdm2.d.ts +34 -0
- package/build/utils/vcdm2.js +62 -0
- package/build/utils/vcdm2.js.map +1 -0
- package/build/vtFlow/VtFlowOrchestrator.d.ts +13 -6
- package/build/vtFlow/VtFlowOrchestrator.js +38 -37
- package/build/vtFlow/VtFlowOrchestrator.js.map +1 -1
- package/package.json +11 -11
package/build/agent/VsAgent.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { AnonCredsDidCommCredentialFormatService, AnonCredsModule, AnonCredsDidCommProofFormatService, LegacyIndyDidCommCredentialFormatService, LegacyIndyDidCommProofFormatService } from '@credo-ts/anoncreds';
|
|
2
2
|
import { AskarModule, AskarModuleConfigStoreOptions } from '@credo-ts/askar';
|
|
3
3
|
import { Agent, AgentDependencies, DidsModule, InitConfig, W3cCredentialsModule } from '@credo-ts/core';
|
|
4
|
-
import { DidCommCredentialsModuleConfigOptions, DidCommCredentialV2Protocol,
|
|
4
|
+
import { DidCommCredentialsModuleConfigOptions, DidCommCredentialV2Protocol, DidCommDataIntegrityCredentialFormatService, DidCommFeatureQueryOptions, DidCommModule, DidCommModuleConfigOptions, DidCommProofsModuleConfigOptions, DidCommProofV2Protocol } from '@credo-ts/didcomm';
|
|
5
5
|
import { VtFlowModule } from '@verana-labs/credo-ts-didcomm-vt-flow';
|
|
6
6
|
import { AnonCredsTrustService } from '../blockchain/AnonCredsTrustService';
|
|
7
7
|
import { AuthorizationService } from '../blockchain/AuthorizationService';
|
|
@@ -13,7 +13,7 @@ type VsAgentDidCommModule = DidCommModule<DidCommModuleConfigOptions & {
|
|
|
13
13
|
DidCommCredentialV2Protocol<[
|
|
14
14
|
LegacyIndyDidCommCredentialFormatService,
|
|
15
15
|
AnonCredsDidCommCredentialFormatService,
|
|
16
|
-
|
|
16
|
+
DidCommDataIntegrityCredentialFormatService
|
|
17
17
|
]>
|
|
18
18
|
]>;
|
|
19
19
|
proofs: DidCommProofsModuleConfigOptions<[
|
|
@@ -49,5 +49,10 @@ export declare class AnonCredsTrustService {
|
|
|
49
49
|
private resolveAnonCredsObject;
|
|
50
50
|
private resolveCredentialSchemaLink;
|
|
51
51
|
private requireFromIndexer;
|
|
52
|
+
/**
|
|
53
|
+
* A VTJSC is a data model 2.0 credential secured with a DataIntegrityProof, as
|
|
54
|
+
* [VT-JSON-SCHEMA-CRED-W3C] requires; one an ecosystem still publishes as data model 1.1 with a
|
|
55
|
+
* linked data proof is verified through the 1.1 API, as verre accepts both.
|
|
56
|
+
*/
|
|
52
57
|
private verifyVtjscProof;
|
|
53
58
|
}
|
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.AnonCredsTrustService = exports.AnonCredsTrustError = exports.AnonCredsTrustErrorReason = exports.AnonCredsTrustProblemCode = exports.REQUESTED_CREDENTIAL_SCHEMAS_METADATA = void 0;
|
|
4
4
|
const core_1 = require("@credo-ts/core");
|
|
5
5
|
const util_1 = require("../utils/util");
|
|
6
|
+
const vcdm2_1 = require("../utils/vcdm2");
|
|
6
7
|
const types_1 = require("./types");
|
|
7
8
|
const VTJSC_FETCH_TIMEOUT_MS = 30000;
|
|
8
9
|
const CREDENTIAL_SCHEMA_REFERENCE = /^vpr:verana:([^:/]+):cs:(\d+)$/;
|
|
@@ -212,17 +213,29 @@ class AnonCredsTrustService {
|
|
|
212
213
|
throw notDerivable(`the VPR holds no ${describe}`);
|
|
213
214
|
return value;
|
|
214
215
|
}
|
|
216
|
+
/**
|
|
217
|
+
* A VTJSC is a data model 2.0 credential secured with a DataIntegrityProof, as
|
|
218
|
+
* [VT-JSON-SCHEMA-CRED-W3C] requires; one an ecosystem still publishes as data model 1.1 with a
|
|
219
|
+
* linked data proof is verified through the 1.1 API, as verre accepts both.
|
|
220
|
+
*/
|
|
215
221
|
async verifyVtjscProof(jsonSchemaCredentialId, document) {
|
|
216
222
|
var _a;
|
|
217
|
-
let
|
|
223
|
+
let verify;
|
|
218
224
|
try {
|
|
219
|
-
|
|
225
|
+
if ((0, vcdm2_1.isVcdm2Credential)(document)) {
|
|
226
|
+
const credential = core_1.W3cV2DataIntegrityVerifiableCredential.fromObject(document);
|
|
227
|
+
verify = () => this.agent.w3cV2Credentials.verifyCredential({ credential });
|
|
228
|
+
}
|
|
229
|
+
else {
|
|
230
|
+
const credential = core_1.JsonTransformer.fromJSON(document, core_1.W3cJsonLdVerifiableCredential);
|
|
231
|
+
verify = () => this.agent.w3cCredentials.verifyCredential({ credential });
|
|
232
|
+
}
|
|
220
233
|
}
|
|
221
234
|
catch (error) {
|
|
222
235
|
throw notDerivable(`the document at "${jsonSchemaCredentialId}" is no verifiable credential: ${error}`);
|
|
223
236
|
}
|
|
224
237
|
try {
|
|
225
|
-
const result = await
|
|
238
|
+
const result = await verify();
|
|
226
239
|
if (result.isValid)
|
|
227
240
|
return;
|
|
228
241
|
throw notDerivable(`the proof of the VTJSC "${jsonSchemaCredentialId}" is invalid: ${(_a = result.error) !== null && _a !== void 0 ? _a : 'the verification failed'}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AnonCredsTrustService.js","sourceRoot":"","sources":["../../src/blockchain/AnonCredsTrustService.ts"],"names":[],"mappings":";;;AAEA,
|
|
1
|
+
{"version":3,"file":"AnonCredsTrustService.js","sourceRoot":"","sources":["../../src/blockchain/AnonCredsTrustService.ts"],"names":[],"mappings":";;;AAEA,yCAKuB;AAEvB,wCAAyC;AACzC,0CAAkD;AAElD,mCAA2E;AAE3E,MAAM,sBAAsB,GAAG,KAAM,CAAA;AAErC,MAAM,2BAA2B,GAAG,gCAAgC,CAAA;AAEpE,MAAM,qCAAqC,GAAG,+BAA+B,CAAA;AAEhE,QAAA,qCAAqC,GAAG,kCAAkC,CAAA;AAEvF,IAAY,yBAGX;AAHD,WAAY,yBAAyB;IACnC,8EAAiD,CAAA;IACjD,4FAA+D,CAAA;AACjE,CAAC,EAHW,yBAAyB,yCAAzB,yBAAyB,QAGpC;AAED,IAAY,yBAIX;AAJD,WAAY,yBAAyB;IACnC,2DAA8B,CAAA;IAC9B,6DAAgC,CAAA;IAChC,wDAA2B,CAAA;AAC7B,CAAC,EAJW,yBAAyB,yCAAzB,yBAAyB,QAIpC;AAED,MAAa,mBAAoB,SAAQ,KAAK;IAC5C,YACkB,MAAiC,EACjD,OAAe;QAEf,KAAK,CAAC,OAAO,CAAC,CAAA;QAHE,WAAM,GAAN,MAAM,CAA2B;QAIjD,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAA;IACnC,CAAC;CACF;AARD,kDAQC;AAsCD,SAAS,YAAY,CAAC,OAAe;IACnC,OAAO,IAAI,mBAAmB,CAAC,yBAAyB,CAAC,YAAY,EAAE,OAAO,CAAC,CAAA;AACjF,CAAC;AAED,SAAS,aAAa,CAAC,OAAe;IACpC,OAAO,IAAI,mBAAmB,CAAC,yBAAyB,CAAC,aAAa,EAAE,OAAO,CAAC,CAAA;AAClF,CAAC;AAED,SAAS,WAAW,CAAC,OAAe;IAClC,OAAO,IAAI,mBAAmB,CAAC,yBAAyB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;AAChF,CAAC;AAED,SAAS,+BAA+B,CAAC,QAAiC;IACxE,MAAM,KAAK,GAAG,QAAQ,CAAC,qCAAqC,CAAC,CAAA;IAC7D,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAA;AAC1E,CAAC;AAED,MAAa,qBAAqB;IAIhC,YAAoC,KAAgC;QAAhC,UAAK,GAAL,KAAK,CAA2B;QAHnD,gBAAW,GAAG,IAAI,GAAG,EAAmC,CAAA;QACxD,0BAAqB,GAAG,IAAI,GAAG,EAAgC,CAAA;IAET,CAAC;IAEjE,KAAK,CAAC,sBAAsB,CAAC,SAAmC;QACrE,MAAM,GAAG,GACP,wBAAwB,IAAI,SAAS;YACnC,CAAC,CAAC,wBAAwB,SAAS,CAAC,sBAAsB,EAAE;YAC5D,CAAC,CAAC,UAAU,SAAS,CAAC,QAAQ,EAAE,CAAA;QAEpC,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACxC,IAAI,MAAM;YAAE,OAAO,MAAM,CAAA;QAEzB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAA;QAC3D,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,2BAA2B,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAA;QAElF,MAAM,OAAO,GAA4B;YACvC,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;YAC3C,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,sBAAsB,EAAE,MAAM,CAAC,sBAAsB;YACrD,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;YAC3C,QAAQ,EAAE,MAAM,CAAC,QAAQ;SAC1B,CAAA;QAED,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;QAClC,OAAO,OAAO,CAAA;IAChB,CAAC;IAEM,KAAK,CAAC,gBAAgB,CAAC,OAI7B;QACC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,kBAAkB,EAAE,GAAG,OAAO,CAAA;QAEjD,IAAI,YAA8B,CAAA;QAClC,IAAI,CAAC;YACH,YAAY,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC;gBACvD,GAAG;gBACH,IAAI;gBACJ,QAAQ,EAAE,kBAAkB;gBAC5B,gBAAgB,EAAE,wBAAgB,CAAC,MAAM;aAC1C,CAAC,CAAA;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,WAAW,CACf,qDAAqD,GAAG,8BAA8B,kBAAkB,KAAK,KAAK,EAAE,CACrH,CAAA;QACH,CAAC;QAED,MAAM,UAAU,GAAG,CAAC,YAAY,aAAZ,YAAY,cAAZ,YAAY,GAAI,EAAE,CAAC,CAAC,IAAI,CAC1C,WAAW,CAAC,EAAE,CACZ,WAAW,CAAC,GAAG,KAAK,GAAG;YACvB,WAAW,CAAC,IAAI,KAAK,IAAI;YACzB,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,KAAK,kBAAkB;YACpD,WAAW,CAAC,iBAAiB,KAAK,wBAAgB,CAAC,MAAM,CAC5D,CAAA;QAED,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,aAAa,CACjB,IAAI,GAAG,qBAAqB,IAAI,yCAAyC,kBAAkB,EAAE,CAC9F,CAAA;QACH,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,sBAAsB,CAAC,OAGnC;QACC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;YACpB,MAAM,WAAW,CAAC,2EAA2E,CAAC,CAAA;QAChG,CAAC;QAED,MAAM,IAAI,CAAC,gBAAgB,iBAAG,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,IAAK,OAAO,EAAG,CAAA;IAClE,CAAC;IAEM,KAAK,CAAC,oBAAoB,CAC/B,IAAc,EACd,IAAqB,EACrB,kBAA0B;QAE1B,MAAM,YAAY,GAAa,EAAE,CAAA;QACjC,MAAM,SAAS,GAAa,EAAE,CAAA;QAE9B,KAAK,MAAM,GAAG,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAChC,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,gBAAgB,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC,CAAA;YAChE,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,CAAC,KAAK,YAAY,mBAAmB,CAAC;oBAAE,MAAM,KAAK,CAAA;gBACxD,IAAI,KAAK,CAAC,MAAM,KAAK,yBAAyB,CAAC,WAAW;oBAAE,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;;oBAC1E,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YAC7B,CAAC;QACH,CAAC;QAED,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,CAAA;IACpC,CAAC;IAEO,KAAK,CAAC,sBAAsB,CAClC,SAAmC;;QAEnC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAA;QAE9C,IAAI,wBAAwB,IAAI,SAAS,EAAE,CAAC;YAC1C,MAAM,EAAE,sBAAsB,EAAE,GAAG,SAAS,CAAA;YAE5C,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,SAAS,CAAC,+BAA+B,CAAC,EAAE,sBAAsB,EAAE,CAAC,CAAA;YAC5F,MAAM,OAAO,GAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,CAAC,qCAAqC,CAAC,CAAA;YACrE,IAAI,MAAM,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAChE,OAAO;oBACL,sBAAsB,EAAE,OAAO;oBAC/B,iBAAiB,EAAE,MAAM,CAAC,oBAAoB,CAAC,QAAQ;oBACvD,QAAQ,EAAE,MAAM,CAAC,oBAAoB,CAAC,QAAQ;iBAC/C,CAAA;YACH,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,uBAAuB,CAAC,sBAAsB,EAAE;gBAC7E,cAAc,EAAE,KAAK;aACtB,CAAC,CAAA;YACF,IAAI,CAAC,MAAM,CAAC,oBAAoB,EAAE,CAAC;gBACjC,MAAM,WAAW,CACf,uDAAuD,sBAAsB,MAAM,MAAA,MAAM,CAAC,kBAAkB,CAAC,OAAO,mCAAI,MAAM,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAC1J,CAAA;YACH,CAAC;YAED,MAAM,sBAAsB,GAAG,+BAA+B,CAAC,MAAM,CAAC,4BAA4B,CAAC,CAAA;YACnG,IAAI,CAAC,sBAAsB,EAAE,CAAC;gBAC5B,MAAM,YAAY,CAChB,8BAA8B,sBAAsB,gFAAgF,CACrI,CAAA;YACH,CAAC;YAED,OAAO;gBACL,sBAAsB;gBACtB,iBAAiB,EAAE,MAAM,CAAC,oBAAoB,CAAC,QAAQ;gBACvD,QAAQ,EAAE,MAAM,CAAC,oBAAoB,CAAC,QAAQ;aAC/C,CAAA;QACH,CAAC;QAED,MAAM,EAAE,QAAQ,EAAE,GAAG,SAAS,CAAA;QAE9B,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,SAAS,CAAC,iBAAiB,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAA;QAChE,MAAM,OAAO,GAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,CAAC,qCAAqC,CAAC,CAAA;QACrE,IAAI,MAAM,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChE,OAAO,EAAE,sBAAsB,EAAE,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,CAAA;QACzE,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAA;QAC7E,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACnB,MAAM,WAAW,CACf,kDAAkD,QAAQ,MAAM,MAAA,MAAM,CAAC,kBAAkB,CAAC,OAAO,mCAAI,MAAM,CAAC,kBAAkB,CAAC,KAAK,EAAE,CACvI,CAAA;QACH,CAAC;QAED,MAAM,sBAAsB,GAAG,+BAA+B,CAAC,MAAM,CAAC,cAAc,CAAC,CAAA;QACrF,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAC5B,MAAM,YAAY,CAChB,yBAAyB,QAAQ,gFAAgF,CAClH,CAAA;QACH,CAAC;QAED,OAAO,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,QAAQ,EAAE,CAAA;IAChE,CAAC;IAEO,KAAK,CAAC,2BAA2B,CAAC,sBAA8B;;QACtE,MAAM,MAAM,GAAG,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAA;QACrE,IAAI,MAAM;YAAE,OAAO,MAAM,CAAA;QAEzB,IAAI,QAAuB,CAAA;QAC3B,IAAI,CAAC;YACH,QAAQ,GAAG,MAAM,IAAA,gBAAS,EAAgB,sBAAsB,EAAE,sBAAsB,CAAC,CAAA;QAC3F,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,WAAW,CAAC,oCAAoC,sBAAsB,MAAM,KAAK,EAAE,CAAC,CAAA;QAC5F,CAAC;QAED,MAAM,IAAI,CAAC,gBAAgB,CAAC,sBAAsB,EAAE,QAAQ,CAAC,CAAA;QAE7D,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC;YACvD,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC;YAC/B,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAA;QAC9B,MAAM,eAAe,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,UAAU,0CAAE,IAAI,CAAA;QACjD,MAAM,MAAM,GAAG,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,KAAK,CAAC,2BAA2B,CAAC,CAAA;QAClE,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,YAAY,CAChB,cAAc,sBAAsB,YAAY,eAAe,aAAf,eAAe,cAAf,eAAe,GAAI,IAAI,4FAA4F,CACpK,CAAA;QACH,CAAC;QAED,MAAM,OAAO,GAAG,MAAA,IAAI,CAAC,KAAK,CAAC,WAAW,0CAAE,UAAU,CAAA;QAClD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,WAAW,CACf,oFAAoF,sBAAsB,GAAG,CAC9G,CAAA;QACH,CAAC;QACD,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE,CAAC;YAC1B,MAAM,YAAY,CAChB,cAAc,sBAAsB,sBAAsB,MAAM,CAAC,CAAC,CAAC,6BAA6B,OAAO,GAAG,CAC3G,CAAA;QACH,CAAC;QAED,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;QAE5C,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,kBAAkB,CACpD,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,mBAAmB,CAAC,kBAAkB,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EACzF,oBAAoB,kBAAkB,sBAAsB,sBAAsB,SAAS,CAC5F,CAAA;QAED,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAC7C,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,gBAAgB,CAAC,YAAY,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAC7F,aAAa,gBAAgB,CAAC,YAAY,gCAAgC,kBAAkB,QAAQ,CACrG,CAAA;QAED,MAAM,YAAY,GAAG,SAAS,CAAC,GAAG,CAAA;QAClC,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,YAAY,CAAC,yCAAyC,kBAAkB,iBAAiB,CAAC,CAAA;QAClG,CAAC;QAED,MAAM,MAAM,GAAG,OAAO,QAAQ,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,MAAA,QAAQ,CAAC,MAAM,0CAAE,EAAE,CAAA;QAC1F,IAAI,MAAM,KAAK,YAAY,EAAE,CAAC;YAC5B,MAAM,YAAY,CAChB,cAAc,sBAAsB,yBAAyB,MAAM,gDAAgD,kBAAkB,QAAQ,YAAY,GAAG,CAC7J,CAAA;QACH,CAAC;QAED,MAAM,IAAI,GAAG,EAAE,kBAAkB,EAAE,YAAY,EAAE,CAAA;QACjD,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,sBAAsB,EAAE,IAAI,CAAC,CAAA;QAC5D,OAAO,IAAI,CAAA;IACb,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAAI,IAAkC,EAAE,QAAgB;QACtF,IAAI,KAAoB,CAAA;QACxB,IAAI,CAAC;YACH,KAAK,GAAG,MAAM,IAAI,EAAE,CAAA;QACtB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,WAAW,CAAC,6BAA6B,QAAQ,KAAK,KAAK,EAAE,CAAC,CAAA;QACtE,CAAC;QAED,IAAI,CAAC,KAAK;YAAE,MAAM,YAAY,CAAC,oBAAoB,QAAQ,EAAE,CAAC,CAAA;QAC9D,OAAO,KAAK,CAAA;IACd,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,gBAAgB,CAAC,sBAA8B,EAAE,QAAuB;;QACpF,IAAI,MAA0D,CAAA;QAC9D,IAAI,CAAC;YACH,IAAI,IAAA,yBAAiB,EAAC,QAAQ,CAAC,EAAE,CAAC;gBAChC,MAAM,UAAU,GAAG,6CAAsC,CAAC,UAAU,CAClE,QAA0D,CAC3D,CAAA;gBACD,MAAM,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,EAAE,UAAU,EAAE,CAAC,CAAA;YAC7E,CAAC;iBAAM,CAAC;gBACN,MAAM,UAAU,GAAG,sBAAe,CAAC,QAAQ,CAAC,QAAQ,EAAE,oCAA6B,CAAC,CAAA;gBACpF,MAAM,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,gBAAgB,CAAC,EAAE,UAAU,EAAE,CAAC,CAAA;YAC3E,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,YAAY,CAAC,oBAAoB,sBAAsB,kCAAkC,KAAK,EAAE,CAAC,CAAA;QACzG,CAAC;QAED,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,MAAM,EAAE,CAAA;YAC7B,IAAI,MAAM,CAAC,OAAO;gBAAE,OAAM;YAE1B,MAAM,YAAY,CAChB,2BAA2B,sBAAsB,iBAAiB,MAAA,MAAM,CAAC,KAAK,mCAAI,yBAAyB,EAAE,CAC9G,CAAA;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,mBAAmB;gBAAE,MAAM,KAAK,CAAA;YAErD,MAAM,WAAW,CACf,mDAAmD,sBAAsB,MAAM,KAAK,EAAE,CACvF,CAAA;QACH,CAAC;IACH,CAAC;CACF;AArRD,sDAqRC"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { BaseLogger } from '@credo-ts/core';
|
|
2
2
|
import { VeranaChainService } from './VeranaChainService';
|
|
3
|
+
import { VeranaIndexerService } from './VeranaIndexerService';
|
|
3
4
|
import { CachedVsOperatorAuthorizationRecord } from './types';
|
|
4
5
|
export interface AuthorizationServiceConfig {
|
|
5
6
|
chain: VeranaChainService;
|
|
7
|
+
indexer: VeranaIndexerService;
|
|
6
8
|
logger: BaseLogger;
|
|
7
9
|
corporationId?: number;
|
|
8
10
|
minRefreshIntervalMs?: number;
|
|
@@ -11,13 +13,15 @@ export interface AuthorizationServiceConfig {
|
|
|
11
13
|
export declare class AuthorizationService {
|
|
12
14
|
private vsoaByParticipant;
|
|
13
15
|
private lastRefreshAt;
|
|
16
|
+
private lastRefreshAtBlock;
|
|
14
17
|
private readonly chain;
|
|
18
|
+
private readonly indexer;
|
|
15
19
|
private readonly logger;
|
|
16
20
|
private readonly corporationId?;
|
|
17
21
|
private readonly minRefreshIntervalMs;
|
|
18
22
|
constructor(config: AuthorizationServiceConfig);
|
|
19
23
|
private inScope;
|
|
20
|
-
refreshForOperator(): Promise<void>;
|
|
24
|
+
refreshForOperator(minBlock?: number): Promise<void>;
|
|
21
25
|
invalidateParticipant(participantId: number): void;
|
|
22
26
|
canSign(participantId: number, msgType: string): boolean;
|
|
23
27
|
getVsOperatorAuthorizationRecord(participantId: number): CachedVsOperatorAuthorizationRecord | undefined;
|
|
@@ -7,19 +7,19 @@ function renews(period) {
|
|
|
7
7
|
var _a;
|
|
8
8
|
return period != null && (period.seconds > 0 || ((_a = period.nanos) !== null && _a !== void 0 ? _a : 0) > 0);
|
|
9
9
|
}
|
|
10
|
-
|
|
10
|
+
// An unset expiration means the grant never expires (AUTHZ-CHECK-3 step 4, AUTHZ-CHECK-1 step 2).
|
|
11
|
+
function isAuthorizationActive(expiration, period) {
|
|
11
12
|
return expiration === undefined || expiration.getTime() > Date.now() || renews(period);
|
|
12
13
|
}
|
|
13
|
-
function isVsoaRecordActive(expiration, period) {
|
|
14
|
-
return expiration != null && (expiration.getTime() > Date.now() || renews(period));
|
|
15
|
-
}
|
|
16
14
|
/** VS operator authorization records cached for the admin API (https://github.com/verana-labs/vs-agent/issues/472); operator authorizations are queried on demand. */
|
|
17
15
|
class AuthorizationService {
|
|
18
16
|
constructor(config) {
|
|
19
17
|
var _a;
|
|
20
18
|
this.vsoaByParticipant = new Map();
|
|
21
19
|
this.lastRefreshAt = 0;
|
|
20
|
+
this.lastRefreshAtBlock = 0;
|
|
22
21
|
this.chain = config.chain;
|
|
22
|
+
this.indexer = config.indexer;
|
|
23
23
|
this.logger = config.logger;
|
|
24
24
|
this.corporationId = config.corporationId;
|
|
25
25
|
this.minRefreshIntervalMs = (_a = config.minRefreshIntervalMs) !== null && _a !== void 0 ? _a : 2000;
|
|
@@ -27,12 +27,18 @@ class AuthorizationService {
|
|
|
27
27
|
inScope(corporationId) {
|
|
28
28
|
return this.corporationId === undefined || corporationId === this.corporationId;
|
|
29
29
|
}
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
30
|
+
// `minBlock` is the block of the indexer event that triggered the refresh. The delegation
|
|
31
|
+
// projection has its own checkpoint, so without it a read can still answer with pre-event state.
|
|
32
|
+
async refreshForOperator(minBlock) {
|
|
33
|
+
// Catch-up replays hit the same current chain state, so back-to-back refreshes are skipped,
|
|
34
|
+
// unless the caller needs a block this cache has not covered yet.
|
|
35
|
+
const staleForBlock = minBlock !== undefined && minBlock > this.lastRefreshAtBlock;
|
|
36
|
+
if (!staleForBlock && Date.now() - this.lastRefreshAt < this.minRefreshIntervalMs)
|
|
33
37
|
return;
|
|
34
|
-
const vsoas = await this.
|
|
38
|
+
const vsoas = await this.indexer.listVsOperatorAuthorizations(this.chain.address, minBlock);
|
|
35
39
|
this.lastRefreshAt = Date.now();
|
|
40
|
+
if (minBlock !== undefined)
|
|
41
|
+
this.lastRefreshAtBlock = minBlock;
|
|
36
42
|
const rebuilt = new Map();
|
|
37
43
|
for (const vsoa of vsoas) {
|
|
38
44
|
if (!this.inScope(vsoa.corporationId))
|
|
@@ -51,7 +57,7 @@ class AuthorizationService {
|
|
|
51
57
|
}
|
|
52
58
|
canSign(participantId, msgType) {
|
|
53
59
|
const record = this.vsoaByParticipant.get(participantId);
|
|
54
|
-
return (!!record && record.msgTypes.includes(msgType) &&
|
|
60
|
+
return (!!record && record.msgTypes.includes(msgType) && isAuthorizationActive(record.expiration, record.period));
|
|
55
61
|
}
|
|
56
62
|
getVsOperatorAuthorizationRecord(participantId) {
|
|
57
63
|
return this.vsoaByParticipant.get(participantId);
|
|
@@ -72,10 +78,10 @@ class AuthorizationService {
|
|
|
72
78
|
async callerHoldsOperatorGrant(account, msgType) {
|
|
73
79
|
if (!account.trim())
|
|
74
80
|
return false;
|
|
75
|
-
const auths = await this.
|
|
81
|
+
const auths = await this.indexer.listOperatorAuthorizations(account);
|
|
76
82
|
return auths.some(a => this.inScope(a.corporationId) &&
|
|
77
83
|
a.msgTypes.includes(msgType) &&
|
|
78
|
-
|
|
84
|
+
isAuthorizationActive(a.expiration, a.period));
|
|
79
85
|
}
|
|
80
86
|
}
|
|
81
87
|
exports.AuthorizationService = AuthorizationService;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AuthorizationService.js","sourceRoot":"","sources":["../../src/blockchain/AuthorizationService.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"AuthorizationService.js","sourceRoot":"","sources":["../../src/blockchain/AuthorizationService.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type DeliverTxResponse } from '@cosmjs/stargate';
|
|
2
|
-
import { Coin, CreateOrUpdateParticipantSessionParams,
|
|
2
|
+
import { Coin, CreateOrUpdateParticipantSessionParams, SelfCreateParticipantParams, SetParticipantOPToValidatedParams, StartParticipantOPParams, VeranaChainConfig } from './types';
|
|
3
3
|
export declare class VeranaChainService {
|
|
4
4
|
private readonly config;
|
|
5
5
|
private signingClient;
|
|
@@ -7,25 +7,13 @@ export declare class VeranaChainService {
|
|
|
7
7
|
private chainId;
|
|
8
8
|
private corporationAddress;
|
|
9
9
|
private gasAdjustment;
|
|
10
|
-
private ppQuery;
|
|
11
|
-
private deQuery;
|
|
12
|
-
private ecQuery;
|
|
13
|
-
private csQuery;
|
|
14
|
-
private diQuery;
|
|
15
10
|
constructor(config: VeranaChainConfig);
|
|
16
11
|
get address(): string;
|
|
17
12
|
get getChainId(): string;
|
|
18
13
|
get corporation(): string;
|
|
19
14
|
get autoTriggerResolverEnabled(): boolean;
|
|
20
15
|
start(): Promise<void>;
|
|
21
|
-
getParticipant(id: number): Promise<Participant | undefined>;
|
|
22
16
|
getBalance(denom?: string): Promise<Coin>;
|
|
23
|
-
hasVsOperatorAuthorization(): Promise<boolean>;
|
|
24
|
-
listOperatorAuthorizations(operator?: string): Promise<OperatorAuthorization[]>;
|
|
25
|
-
listVsOperatorAuthorizations(vsOperator?: string): Promise<VsOperatorAuthorization[]>;
|
|
26
|
-
getEcosystem(id: number): Promise<Ecosystem | undefined>;
|
|
27
|
-
getCredentialSchema(id: number): Promise<CredentialSchema | undefined>;
|
|
28
|
-
getDigest(digest: string): Promise<StoredDigest | undefined>;
|
|
29
17
|
startParticipantOP(params: StartParticipantOPParams): Promise<{
|
|
30
18
|
participantId: number;
|
|
31
19
|
txHash: string;
|
|
@@ -46,8 +34,6 @@ export declare class VeranaChainService {
|
|
|
46
34
|
createOrUpdateParticipantSession(params: CreateOrUpdateParticipantSessionParams): Promise<{
|
|
47
35
|
txHash: string;
|
|
48
36
|
}>;
|
|
49
|
-
findActiveHolderParticipantIdByDid(did: string): Promise<number | undefined>;
|
|
50
|
-
findActiveIssuerParticipantId(did: string, schemaId: number): Promise<number | undefined>;
|
|
51
37
|
triggerResolver(participantId: number): Promise<{
|
|
52
38
|
txHash: string;
|
|
53
39
|
}>;
|
|
@@ -7,42 +7,11 @@ 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: 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: DiQueryClientImpl } = require('@verana-labs/verana-types/codec/verana/di/v1/query');
|
|
13
|
-
const { QueryClientImpl: EcQueryClientImpl, QueryGetEcosystemRequest, } = require('@verana-labs/verana-types/codec/verana/ec/v1/query');
|
|
14
|
-
const { QueryClientImpl: PpQueryClientImpl, QueryListParticipantsRequest, } = require('@verana-labs/verana-types/codec/verana/pp/v1/query');
|
|
15
10
|
const { MsgSetParticipantOPToValidated, MsgCreateOrUpdateParticipantSession, MsgTriggerResolver, MsgStartParticipantOP, MsgStartParticipantOPResponse, MsgRenewParticipantOP, MsgCancelParticipantOPLastRequest, MsgSelfCreateParticipant, MsgSelfCreateParticipantResponse, } = require('@verana-labs/verana-types/codec/verana/pp/v1/tx');
|
|
16
|
-
// ParticipantRole.HOLDER (x/pp/types); the only role whose vs_operator may send TriggerResolver (chain Path 1).
|
|
17
|
-
const PARTICIPANT_ROLE_HOLDER = 6;
|
|
18
|
-
const PARTICIPANT_ROLE_ISSUER = 1;
|
|
19
|
-
// QueryListParticipantsRequest.response_max_size caps at 1024 and defaults to 64. The node applies
|
|
20
|
-
// the other filters loosely, so ask for the largest page and match the fields again here.
|
|
21
|
-
const PARTICIPANT_QUERY_MAX_SIZE = 1024;
|
|
22
11
|
// A simulation signs with an empty signature and runs against the state of the moment, so it
|
|
23
12
|
// reports less gas than the delivery consumes. Cosmos SDK 0.47 made the difference larger (see
|
|
24
13
|
// cosmos-sdk#16020), and cosmjs answers it with a default multiplier of 1.4. Not always enough.
|
|
25
14
|
const DEFAULT_GAS_ADJUSTMENT = 1.5;
|
|
26
|
-
// the chain answers a query for an unknown record with a NotFound error, not with an empty result
|
|
27
|
-
function isNotFoundError(error) {
|
|
28
|
-
var _a;
|
|
29
|
-
return /not found|NotFound|key not found/i.test((_a = error === null || error === void 0 ? void 0 : error.message) !== null && _a !== void 0 ? _a : '');
|
|
30
|
-
}
|
|
31
|
-
function mapParticipant(p) {
|
|
32
|
-
var _a;
|
|
33
|
-
return {
|
|
34
|
-
id: p.id,
|
|
35
|
-
schemaId: p.schemaId,
|
|
36
|
-
role: p.role,
|
|
37
|
-
did: p.did,
|
|
38
|
-
corporation: p.corporationId != null ? String(p.corporationId) : '',
|
|
39
|
-
validatorParticipantId: p.validatorParticipantId,
|
|
40
|
-
opState: p.opState,
|
|
41
|
-
opSummaryDigest: (_a = p.opSummaryDigest) !== null && _a !== void 0 ? _a : '',
|
|
42
|
-
revoked: p.revoked,
|
|
43
|
-
slashed: p.slashed,
|
|
44
|
-
};
|
|
45
|
-
}
|
|
46
15
|
class VeranaChainService {
|
|
47
16
|
constructor(config) {
|
|
48
17
|
this.config = config;
|
|
@@ -81,94 +50,11 @@ class VeranaChainService {
|
|
|
81
50
|
throw new Error(`[VeranaChain] Chain ID mismatch: expected "${chainId}", got "${this.chainId}"`);
|
|
82
51
|
}
|
|
83
52
|
logger.info(`[VeranaChain] Connected to chain: ${this.chainId}`);
|
|
84
|
-
const queryClient = new stargate_1.QueryClient(cometClient);
|
|
85
|
-
const rpc = (0, stargate_1.createProtobufRpcClient)(queryClient);
|
|
86
|
-
this.ppQuery = new PpQueryClientImpl(rpc);
|
|
87
|
-
this.deQuery = new DeQueryClientImpl(rpc);
|
|
88
|
-
this.ecQuery = new EcQueryClientImpl(rpc);
|
|
89
|
-
this.csQuery = new CsQueryClientImpl(rpc);
|
|
90
|
-
this.diQuery = new DiQueryClientImpl(rpc);
|
|
91
|
-
}
|
|
92
|
-
// Query API (unsigned)
|
|
93
|
-
async getParticipant(id) {
|
|
94
|
-
const result = await this.ppQuery.GetParticipant({ id });
|
|
95
|
-
return result.participant ? mapParticipant(result.participant) : undefined;
|
|
96
53
|
}
|
|
54
|
+
// [VSA-VPR-QRY]: the one read left on the ledger, the indexer serves no account balance.
|
|
97
55
|
async getBalance(denom = 'uvna') {
|
|
98
56
|
return this.signingClient.getBalance(this.operatorAddress, denom);
|
|
99
57
|
}
|
|
100
|
-
async hasVsOperatorAuthorization() {
|
|
101
|
-
return (await this.listVsOperatorAuthorizations()).length > 0;
|
|
102
|
-
}
|
|
103
|
-
async listOperatorAuthorizations(operator) {
|
|
104
|
-
const result = await this.deQuery.ListOperatorAuthorizations({
|
|
105
|
-
corporationId: 0,
|
|
106
|
-
operator: operator !== null && operator !== void 0 ? operator : this.operatorAddress,
|
|
107
|
-
responseMaxSize: 64,
|
|
108
|
-
});
|
|
109
|
-
return result.operatorAuthorizations.map(a => ({
|
|
110
|
-
id: a.id,
|
|
111
|
-
corporationId: a.corporationId,
|
|
112
|
-
operator: a.operator,
|
|
113
|
-
msgTypes: a.msgTypes,
|
|
114
|
-
expiration: a.expiration,
|
|
115
|
-
period: a.period,
|
|
116
|
-
}));
|
|
117
|
-
}
|
|
118
|
-
async listVsOperatorAuthorizations(vsOperator) {
|
|
119
|
-
const result = await this.deQuery.ListVSOperatorAuthorizations({
|
|
120
|
-
corporationId: 0,
|
|
121
|
-
vsOperator: vsOperator !== null && vsOperator !== void 0 ? vsOperator : this.operatorAddress,
|
|
122
|
-
responseMaxSize: 64,
|
|
123
|
-
});
|
|
124
|
-
return result.vsOperatorAuthorizations.map(a => ({
|
|
125
|
-
id: a.id,
|
|
126
|
-
corporationId: a.corporationId,
|
|
127
|
-
vsOperator: a.vsOperator,
|
|
128
|
-
records: a.records.map(r => ({
|
|
129
|
-
participantId: r.participantId,
|
|
130
|
-
msgTypes: r.msgTypes,
|
|
131
|
-
withFeegrant: r.withFeegrant,
|
|
132
|
-
expiration: r.expiration,
|
|
133
|
-
period: r.period,
|
|
134
|
-
})),
|
|
135
|
-
}));
|
|
136
|
-
}
|
|
137
|
-
async getEcosystem(id) {
|
|
138
|
-
// fromPartial fills the unused request fields with defaults so the request encodes correctly.
|
|
139
|
-
const result = await this.ecQuery.GetEcosystem(QueryGetEcosystemRequest.fromPartial({ id }));
|
|
140
|
-
if (!result.ecosystem)
|
|
141
|
-
return undefined;
|
|
142
|
-
const { id: ecosystemId, did, corporationId, archived, activeVersion } = result.ecosystem;
|
|
143
|
-
return { id: ecosystemId, did, corporationId, archived, activeVersion };
|
|
144
|
-
}
|
|
145
|
-
async getCredentialSchema(id) {
|
|
146
|
-
const result = await this.csQuery.GetCredentialSchema({ id });
|
|
147
|
-
if (!result.schema)
|
|
148
|
-
return undefined;
|
|
149
|
-
const s = result.schema;
|
|
150
|
-
return {
|
|
151
|
-
id: s.id,
|
|
152
|
-
ecosystemId: s.ecosystemId,
|
|
153
|
-
jsonSchema: s.jsonSchema,
|
|
154
|
-
digestAlgorithm: s.digestAlgorithm,
|
|
155
|
-
issuerOnboardingMode: s.issuerOnboardingMode,
|
|
156
|
-
verifierOnboardingMode: s.verifierOnboardingMode,
|
|
157
|
-
holderOnboardingMode: s.holderOnboardingMode,
|
|
158
|
-
archived: s.archived,
|
|
159
|
-
};
|
|
160
|
-
}
|
|
161
|
-
async getDigest(digest) {
|
|
162
|
-
try {
|
|
163
|
-
const result = await this.diQuery.GetDigest({ digest });
|
|
164
|
-
return result.digest;
|
|
165
|
-
}
|
|
166
|
-
catch (error) {
|
|
167
|
-
if (isNotFoundError(error))
|
|
168
|
-
return undefined;
|
|
169
|
-
throw error;
|
|
170
|
-
}
|
|
171
|
-
}
|
|
172
58
|
// Transaction API (signed)
|
|
173
59
|
async startParticipantOP(params) {
|
|
174
60
|
var _a, _b;
|
|
@@ -266,34 +152,6 @@ class VeranaChainService {
|
|
|
266
152
|
});
|
|
267
153
|
return { txHash: result.transactionHash };
|
|
268
154
|
}
|
|
269
|
-
async findActiveHolderParticipantIdByDid(did) {
|
|
270
|
-
var _a;
|
|
271
|
-
// fromPartial fills the unused fields with defaults so the request encodes correctly.
|
|
272
|
-
const request = QueryListParticipantsRequest.fromPartial({
|
|
273
|
-
did,
|
|
274
|
-
role: PARTICIPANT_ROLE_HOLDER,
|
|
275
|
-
responseMaxSize: PARTICIPANT_QUERY_MAX_SIZE,
|
|
276
|
-
});
|
|
277
|
-
const { participants } = await this.ppQuery.ListParticipants(request);
|
|
278
|
-
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;
|
|
279
|
-
}
|
|
280
|
-
async findActiveIssuerParticipantId(did, schemaId) {
|
|
281
|
-
var _a;
|
|
282
|
-
const request = QueryListParticipantsRequest.fromPartial({
|
|
283
|
-
did,
|
|
284
|
-
schemaId,
|
|
285
|
-
role: PARTICIPANT_ROLE_ISSUER,
|
|
286
|
-
grantee: this.operatorAddress,
|
|
287
|
-
responseMaxSize: PARTICIPANT_QUERY_MAX_SIZE,
|
|
288
|
-
});
|
|
289
|
-
const { participants } = await this.ppQuery.ListParticipants(request);
|
|
290
|
-
return (_a = participants.find(p => p.did === did &&
|
|
291
|
-
p.role === PARTICIPANT_ROLE_ISSUER &&
|
|
292
|
-
p.schemaId === schemaId &&
|
|
293
|
-
p.vsOperator === this.operatorAddress &&
|
|
294
|
-
!p.revoked &&
|
|
295
|
-
!p.slashed)) === null || _a === void 0 ? void 0 : _a.id;
|
|
296
|
-
}
|
|
297
155
|
async triggerResolver(participantId) {
|
|
298
156
|
const value = MsgTriggerResolver.fromPartial({
|
|
299
157
|
corporation: this.corporationAddress,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VeranaChainService.js","sourceRoot":"","sources":["../../src/blockchain/VeranaChainService.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"VeranaChainService.js","sourceRoot":"","sources":["../../src/blockchain/VeranaChainService.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { CorporationDto, CredentialSchemaDto, DigestDto, EcosystemDto, ParticipantRole, ParticipantState, IndexerEventsResponse, ParticipantDto, ParticipantSessionDto, VeranaIdxConfig } from './types';
|
|
1
|
+
import { CorporationDto, Participant, OperatorAuthorization, CredentialSchemaDto, DigestDto, EcosystemDto, ParticipantRole, ParticipantState, IndexerEventsResponse, ParticipantDto, ParticipantSessionDto, VeranaIdxConfig, VsOperatorAuthorization } from './types';
|
|
2
2
|
export declare class VeranaIndexerService {
|
|
3
3
|
private readonly config;
|
|
4
4
|
private readonly baseUrl;
|
|
@@ -23,5 +23,12 @@ export declare class VeranaIndexerService {
|
|
|
23
23
|
did?: string;
|
|
24
24
|
participantState?: ParticipantState;
|
|
25
25
|
}): Promise<ParticipantDto[]>;
|
|
26
|
+
findParticipant(id: string | number): Promise<Participant | undefined>;
|
|
27
|
+
findActiveHolderParticipantIdByDid(did: string): Promise<number | undefined>;
|
|
28
|
+
findActiveIssuerParticipantId(did: string, schemaId: number, vsOperator: string): Promise<number | undefined>;
|
|
29
|
+
private delegationPage;
|
|
30
|
+
listOperatorAuthorizations(operator: string, minBlock?: number): Promise<OperatorAuthorization[]>;
|
|
31
|
+
listVsOperatorAuthorizations(vsOperator: string, minBlock?: number): Promise<VsOperatorAuthorization[]>;
|
|
32
|
+
waitForDigest(digest: string): Promise<void>;
|
|
26
33
|
getDigest(digest: string): Promise<DigestDto | undefined>;
|
|
27
34
|
}
|
|
@@ -2,8 +2,26 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.VeranaIndexerService = void 0;
|
|
4
4
|
const util_1 = require("../utils/util");
|
|
5
|
+
const indexerMappers_1 = require("./indexerMappers");
|
|
6
|
+
const types_1 = require("./types");
|
|
5
7
|
// Timeout so one stuck request cannot block the whole sync queue.
|
|
6
8
|
const REQUEST_TIMEOUT_MS = 30000;
|
|
9
|
+
// The delegation projection runs on its own bull job, so it can trail the event stream that told the
|
|
10
|
+
// agent to refresh. `atBlock` is that job's checkpoint: waiting for it closes the read-after-write gap.
|
|
11
|
+
const DELEGATION_CATCHUP_TIMEOUT_MS = 15000;
|
|
12
|
+
const CATCHUP_INTERVAL_MS = 500;
|
|
13
|
+
const DIGEST_CATCHUP_TIMEOUT_MS = 15000;
|
|
14
|
+
function toDuration(raw) {
|
|
15
|
+
var _a;
|
|
16
|
+
if (raw == null)
|
|
17
|
+
return undefined;
|
|
18
|
+
if (typeof raw === 'string') {
|
|
19
|
+
const seconds = Number.parseFloat(raw.endsWith('s') ? raw.slice(0, -1) : raw);
|
|
20
|
+
return Number.isFinite(seconds) ? { seconds: Math.trunc(seconds) } : undefined;
|
|
21
|
+
}
|
|
22
|
+
return { seconds: Number((_a = raw.seconds) !== null && _a !== void 0 ? _a : 0), nanos: raw.nanos };
|
|
23
|
+
}
|
|
24
|
+
const active = (p) => !p.revoked && !p.slashed;
|
|
7
25
|
class VeranaIndexerService {
|
|
8
26
|
constructor(config) {
|
|
9
27
|
this.config = config;
|
|
@@ -77,6 +95,90 @@ class VeranaIndexerService {
|
|
|
77
95
|
const data = await (0, util_1.fetchJson)(`${this.baseUrl}/v4/participant/list?${params.toString()}`, REQUEST_TIMEOUT_MS);
|
|
78
96
|
return data.participants;
|
|
79
97
|
}
|
|
98
|
+
async findParticipant(id) {
|
|
99
|
+
this.config.logger.debug(`[VeranaIndexer] findParticipant id=${id}`);
|
|
100
|
+
const data = await (0, util_1.fetchJson)(`${this.baseUrl}/v4/participant/get/${encodeURIComponent(id)}`, { timeoutMs: REQUEST_TIMEOUT_MS, allowNotFound: true });
|
|
101
|
+
return (data === null || data === void 0 ? void 0 : data.participant) ? (0, indexerMappers_1.toParticipant)(data.participant) : undefined;
|
|
102
|
+
}
|
|
103
|
+
async findActiveHolderParticipantIdByDid(did) {
|
|
104
|
+
var _a;
|
|
105
|
+
const participants = await this.listParticipants({ did, role: types_1.ParticipantRole.Holder });
|
|
106
|
+
return (_a = participants.find(p => p.did === did && p.role === types_1.ParticipantRole.Holder && active(p))) === null || _a === void 0 ? void 0 : _a.id;
|
|
107
|
+
}
|
|
108
|
+
async findActiveIssuerParticipantId(did, schemaId, vsOperator) {
|
|
109
|
+
var _a;
|
|
110
|
+
const participants = await this.listParticipants({ did, schemaId, role: types_1.ParticipantRole.Issuer });
|
|
111
|
+
return (_a = participants.find(p => p.did === did &&
|
|
112
|
+
p.role === types_1.ParticipantRole.Issuer &&
|
|
113
|
+
p.schema_id === schemaId &&
|
|
114
|
+
p.vs_operator === vsOperator &&
|
|
115
|
+
active(p))) === null || _a === void 0 ? void 0 : _a.id;
|
|
116
|
+
}
|
|
117
|
+
async delegationPage(path, minBlock) {
|
|
118
|
+
var _a, _b;
|
|
119
|
+
const deadline = Date.now() + DELEGATION_CATCHUP_TIMEOUT_MS;
|
|
120
|
+
for (;;) {
|
|
121
|
+
const data = await (0, util_1.fetchJson)(`${this.baseUrl}${path}`, REQUEST_TIMEOUT_MS);
|
|
122
|
+
const atBlock = (_a = data.atBlock) !== null && _a !== void 0 ? _a : 0;
|
|
123
|
+
if (minBlock === undefined || atBlock >= minBlock)
|
|
124
|
+
return (_b = data.authorizations) !== null && _b !== void 0 ? _b : [];
|
|
125
|
+
if (Date.now() >= deadline) {
|
|
126
|
+
throw new Error(`[VeranaIndexer] delegation checkpoint ${atBlock} never reached block ${minBlock} for ${path}`);
|
|
127
|
+
}
|
|
128
|
+
await new Promise(resolve => setTimeout(resolve, CATCHUP_INTERVAL_MS));
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
async listOperatorAuthorizations(operator, minBlock) {
|
|
132
|
+
this.config.logger.debug(`[VeranaIndexer] listOperatorAuthorizations operator=${operator}`);
|
|
133
|
+
const rows = await this.delegationPage(`/v4/delegation/operator-authorizations?operator=${encodeURIComponent(operator)}`, minBlock);
|
|
134
|
+
return rows.map(a => {
|
|
135
|
+
var _a;
|
|
136
|
+
return ({
|
|
137
|
+
id: a.id,
|
|
138
|
+
corporationId: a.corporation_id,
|
|
139
|
+
operator: a.operator,
|
|
140
|
+
msgTypes: (_a = a.msg_types) !== null && _a !== void 0 ? _a : [],
|
|
141
|
+
expiration: a.expiration ? new Date(a.expiration) : undefined,
|
|
142
|
+
period: toDuration(a.period),
|
|
143
|
+
});
|
|
144
|
+
});
|
|
145
|
+
}
|
|
146
|
+
async listVsOperatorAuthorizations(vsOperator, minBlock) {
|
|
147
|
+
this.config.logger.debug(`[VeranaIndexer] listVsOperatorAuthorizations vs_operator=${vsOperator}`);
|
|
148
|
+
const rows = await this.delegationPage(`/v4/delegation/vs-operator-authorizations?vs_operator=${encodeURIComponent(vsOperator)}`, minBlock);
|
|
149
|
+
return rows.map(a => {
|
|
150
|
+
var _a;
|
|
151
|
+
return ({
|
|
152
|
+
id: a.id,
|
|
153
|
+
corporationId: a.corporation_id,
|
|
154
|
+
vsOperator: a.vs_operator,
|
|
155
|
+
records: ((_a = a.records) !== null && _a !== void 0 ? _a : []).map(r => {
|
|
156
|
+
var _a;
|
|
157
|
+
return ({
|
|
158
|
+
participantId: r.participant_id,
|
|
159
|
+
msgTypes: (_a = r.msg_types) !== null && _a !== void 0 ? _a : [],
|
|
160
|
+
withFeegrant: Boolean(r.with_feegrant),
|
|
161
|
+
expiration: r.expiration ? new Date(r.expiration) : undefined,
|
|
162
|
+
period: toDuration(r.period),
|
|
163
|
+
});
|
|
164
|
+
}),
|
|
165
|
+
});
|
|
166
|
+
});
|
|
167
|
+
}
|
|
168
|
+
// Anchoring is a write this agent reads back on its next run, so the redundant-transaction check
|
|
169
|
+
// only holds if the indexer has caught up first. A timeout costs one extra anchoring, not a boot.
|
|
170
|
+
async waitForDigest(digest) {
|
|
171
|
+
const deadline = Date.now() + DIGEST_CATCHUP_TIMEOUT_MS;
|
|
172
|
+
for (;;) {
|
|
173
|
+
if (await this.getDigest(digest))
|
|
174
|
+
return;
|
|
175
|
+
if (Date.now() >= deadline) {
|
|
176
|
+
this.config.logger.warn(`[VeranaIndexer] digest ${digest} was not indexed before the deadline`);
|
|
177
|
+
return;
|
|
178
|
+
}
|
|
179
|
+
await new Promise(resolve => setTimeout(resolve, CATCHUP_INTERVAL_MS));
|
|
180
|
+
}
|
|
181
|
+
}
|
|
80
182
|
async getDigest(digest) {
|
|
81
183
|
this.config.logger.debug(`[VeranaIndexer] getDigest digest=${digest}`);
|
|
82
184
|
const data = await (0, util_1.fetchJson)(`${this.baseUrl}/v4/di/get/${encodeURIComponent(digest)}`, { timeoutMs: REQUEST_TIMEOUT_MS, allowNotFound: true });
|