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

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 (173) hide show
  1. package/README.md +0 -2
  2. package/build/adminApi/AdminApiError.d.ts +28 -0
  3. package/build/adminApi/AdminApiError.js +60 -0
  4. package/build/adminApi/AdminApiError.js.map +1 -0
  5. package/build/adminApi/didcommModules.d.ts +2 -0
  6. package/build/adminApi/didcommModules.js +8 -0
  7. package/build/adminApi/didcommModules.js.map +1 -0
  8. package/build/adminApi/index.d.ts +4 -0
  9. package/build/adminApi/index.js +21 -0
  10. package/build/adminApi/index.js.map +1 -0
  11. package/build/adminApi/moduleEndpoint.d.ts +8 -0
  12. package/build/adminApi/moduleEndpoint.js +28 -0
  13. package/build/adminApi/moduleEndpoint.js.map +1 -0
  14. package/build/adminApi/pagination/PageDto.d.ts +7 -0
  15. package/build/adminApi/pagination/PageDto.js +50 -0
  16. package/build/adminApi/pagination/PageDto.js.map +1 -0
  17. package/build/adminApi/pagination/PaginationQueryDto.d.ts +11 -0
  18. package/build/adminApi/pagination/PaginationQueryDto.js +46 -0
  19. package/build/adminApi/pagination/PaginationQueryDto.js.map +1 -0
  20. package/build/adminApi/pagination/cursor.d.ts +28 -0
  21. package/build/adminApi/pagination/cursor.js +64 -0
  22. package/build/adminApi/pagination/cursor.js.map +1 -0
  23. package/build/adminApi/pagination/index.d.ts +4 -0
  24. package/build/adminApi/pagination/index.js +21 -0
  25. package/build/adminApi/pagination/index.js.map +1 -0
  26. package/build/adminApi/pagination/paginate.d.ts +27 -0
  27. package/build/adminApi/pagination/paginate.js +77 -0
  28. package/build/adminApi/pagination/paginate.js.map +1 -0
  29. package/build/agent/VsAgent.d.ts +17 -34
  30. package/build/agent/VsAgent.js +75 -205
  31. package/build/agent/VsAgent.js.map +1 -1
  32. package/build/agent/createVsAgent.d.ts +5 -6
  33. package/build/agent/createVsAgent.js +3 -5
  34. package/build/agent/createVsAgent.js.map +1 -1
  35. package/build/blockchain/AnonCredsTrustService.d.ts +62 -0
  36. package/build/blockchain/AnonCredsTrustService.js +256 -0
  37. package/build/blockchain/AnonCredsTrustService.js.map +1 -0
  38. package/build/blockchain/AuthorizationService.d.ts +5 -3
  39. package/build/blockchain/AuthorizationService.js +17 -29
  40. package/build/blockchain/AuthorizationService.js.map +1 -1
  41. package/build/blockchain/IndexerWebSocketService.d.ts +7 -1
  42. package/build/blockchain/IndexerWebSocketService.js +68 -36
  43. package/build/blockchain/IndexerWebSocketService.js.map +1 -1
  44. package/build/blockchain/VeranaChainService.d.ts +26 -19
  45. package/build/blockchain/VeranaChainService.js +136 -152
  46. package/build/blockchain/VeranaChainService.js.map +1 -1
  47. package/build/blockchain/VeranaIndexerService.d.ts +14 -1
  48. package/build/blockchain/VeranaIndexerService.js +122 -8
  49. package/build/blockchain/VeranaIndexerService.js.map +1 -1
  50. package/build/blockchain/handlers/authorizationHandlers.js +2 -2
  51. package/build/blockchain/handlers/authorizationHandlers.js.map +1 -1
  52. package/build/blockchain/handlers/defaultHandlers.js +6 -1
  53. package/build/blockchain/handlers/defaultHandlers.js.map +1 -1
  54. package/build/blockchain/handlers/index.d.ts +1 -0
  55. package/build/blockchain/handlers/index.js +1 -0
  56. package/build/blockchain/handlers/index.js.map +1 -1
  57. package/build/blockchain/handlers/selfIssuanceHandlers.d.ts +13 -0
  58. package/build/blockchain/handlers/selfIssuanceHandlers.js +76 -0
  59. package/build/blockchain/handlers/selfIssuanceHandlers.js.map +1 -0
  60. package/build/blockchain/handlers/stateMutations.d.ts +26 -3
  61. package/build/blockchain/handlers/stateMutations.js +317 -41
  62. package/build/blockchain/handlers/stateMutations.js.map +1 -1
  63. package/build/blockchain/index.d.ts +2 -0
  64. package/build/blockchain/index.js +2 -0
  65. package/build/blockchain/index.js.map +1 -1
  66. package/build/blockchain/indexerMappers.d.ts +3 -0
  67. package/build/blockchain/indexerMappers.js +53 -0
  68. package/build/blockchain/indexerMappers.js.map +1 -0
  69. package/build/blockchain/types.d.ts +13 -69
  70. package/build/blockchain/types.js.map +1 -1
  71. package/build/bootstrap/EcsBootstrapService.d.ts +13 -3
  72. package/build/bootstrap/EcsBootstrapService.js +168 -79
  73. package/build/bootstrap/EcsBootstrapService.js.map +1 -1
  74. package/build/connections/ParentConnectionModule.d.ts +20 -0
  75. package/build/connections/ParentConnectionModule.js +56 -0
  76. package/build/connections/ParentConnectionModule.js.map +1 -0
  77. package/build/credentials/FullTailsFileService.d.ts +0 -1
  78. package/build/credentials/FullTailsFileService.js +0 -49
  79. package/build/credentials/FullTailsFileService.js.map +1 -1
  80. package/build/did/CachedDocumentLoader.d.ts +3 -0
  81. package/build/did/CachedDocumentLoader.js +7 -1
  82. package/build/did/CachedDocumentLoader.js.map +1 -1
  83. package/build/did/CachedWebDidResolver.d.ts +0 -4
  84. package/build/did/CachedWebDidResolver.js +1 -5
  85. package/build/did/CachedWebDidResolver.js.map +1 -1
  86. package/build/did/artifactServices.d.ts +12 -0
  87. package/build/did/artifactServices.js +48 -0
  88. package/build/did/artifactServices.js.map +1 -0
  89. package/build/did/legacyDidWeb.d.ts +6 -4
  90. package/build/did/legacyDidWeb.js +17 -14
  91. package/build/did/legacyDidWeb.js.map +1 -1
  92. package/build/did/publicDid.d.ts +4 -0
  93. package/build/did/publicDid.js +19 -0
  94. package/build/did/publicDid.js.map +1 -0
  95. package/build/events/BaseMessageEvents.js +139 -5
  96. package/build/events/BaseMessageEvents.js.map +1 -1
  97. package/build/events/ConnectionEvents.js +154 -86
  98. package/build/events/ConnectionEvents.js.map +1 -1
  99. package/build/events/VsAgentEvents.d.ts +11 -9
  100. package/build/events/VsAgentEvents.js +8 -1
  101. package/build/events/VsAgentEvents.js.map +1 -1
  102. package/build/events/VtFlowEvents.d.ts +1 -1
  103. package/build/events/VtFlowEvents.js +29 -17
  104. package/build/events/VtFlowEvents.js.map +1 -1
  105. package/build/index.d.ts +7 -1
  106. package/build/index.js +15 -2
  107. package/build/index.js.map +1 -1
  108. package/build/plugins/setupBaseDidComm.js +9 -12
  109. package/build/plugins/setupBaseDidComm.js.map +1 -1
  110. package/build/transports/VsAgentWsInboundTransport.d.ts +1 -1
  111. package/build/transports/VsAgentWsInboundTransport.js +20 -14
  112. package/build/transports/VsAgentWsInboundTransport.js.map +1 -1
  113. package/build/types.d.ts +14 -13
  114. package/build/types.js +1 -2
  115. package/build/types.js.map +1 -1
  116. package/build/utils/agent.d.ts +29 -4
  117. package/build/utils/agent.js +91 -22
  118. package/build/utils/agent.js.map +1 -1
  119. package/build/utils/boundedFetch.d.ts +13 -0
  120. package/build/utils/boundedFetch.js +47 -0
  121. package/build/utils/boundedFetch.js.map +1 -0
  122. package/build/utils/didReadiness.d.ts +9 -0
  123. package/build/utils/didReadiness.js +42 -0
  124. package/build/utils/didReadiness.js.map +1 -0
  125. package/build/utils/ecsClaims.d.ts +46 -0
  126. package/build/utils/ecsClaims.js +115 -0
  127. package/build/utils/ecsClaims.js.map +1 -0
  128. package/build/utils/ecsService.d.ts +8 -0
  129. package/build/utils/ecsService.js +23 -0
  130. package/build/utils/ecsService.js.map +1 -0
  131. package/build/utils/index.d.ts +6 -0
  132. package/build/utils/index.js +6 -0
  133. package/build/utils/index.js.map +1 -1
  134. package/build/utils/selfIssuedEcsCredential.d.ts +8 -0
  135. package/build/utils/selfIssuedEcsCredential.js +158 -0
  136. package/build/utils/selfIssuedEcsCredential.js.map +1 -0
  137. package/build/utils/setupSelfTr.d.ts +35 -74
  138. package/build/utils/setupSelfTr.js +93 -312
  139. package/build/utils/setupSelfTr.js.map +1 -1
  140. package/build/utils/trustCredentialStore.d.ts +78 -9
  141. package/build/utils/trustCredentialStore.js +319 -126
  142. package/build/utils/trustCredentialStore.js.map +1 -1
  143. package/build/utils/typeMetadata.d.ts +43 -0
  144. package/build/utils/typeMetadata.js +77 -0
  145. package/build/utils/typeMetadata.js.map +1 -0
  146. package/build/utils/util.d.ts +19 -0
  147. package/build/utils/util.js +24 -0
  148. package/build/utils/util.js.map +1 -1
  149. package/build/utils/vcdm2.d.ts +34 -0
  150. package/build/utils/vcdm2.js +60 -0
  151. package/build/utils/vcdm2.js.map +1 -0
  152. package/build/utils/vtjscResolver.d.ts +23 -0
  153. package/build/utils/vtjscResolver.js +54 -0
  154. package/build/utils/vtjscResolver.js.map +1 -0
  155. package/build/vtFlow/VtFlowOrchestrator.d.ts +107 -14
  156. package/build/vtFlow/VtFlowOrchestrator.js +734 -109
  157. package/build/vtFlow/VtFlowOrchestrator.js.map +1 -1
  158. package/build/vtFlow/assertVerifiableService.d.ts +1 -0
  159. package/build/vtFlow/assertVerifiableService.js +45 -5
  160. package/build/vtFlow/assertVerifiableService.js.map +1 -1
  161. package/build/vtFlow/ecsIssuanceExemption.d.ts +12 -0
  162. package/build/vtFlow/ecsIssuanceExemption.js +84 -0
  163. package/build/vtFlow/ecsIssuanceExemption.js.map +1 -0
  164. package/build/vtFlow/index.d.ts +1 -0
  165. package/build/vtFlow/index.js +1 -0
  166. package/build/vtFlow/index.js.map +1 -1
  167. package/package.json +18 -12
  168. package/build/did/migrateWebVhLog.d.ts +0 -34
  169. package/build/did/migrateWebVhLog.js +0 -230
  170. package/build/did/migrateWebVhLog.js.map +0 -1
  171. package/build/did/migrateWebVhVersionTime.d.ts +0 -9
  172. package/build/did/migrateWebVhVersionTime.js +0 -191
  173. package/build/did/migrateWebVhVersionTime.js.map +0 -1
@@ -1,42 +1,60 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.VeranaChainService = void 0;
4
+ exports.feeAllowanceOf = feeAllowanceOf;
4
5
  /* eslint-disable @typescript-eslint/no-var-requires */
6
+ const amino_1 = require("@cosmjs/amino");
5
7
  const proto_signing_1 = require("@cosmjs/proto-signing");
6
8
  const stargate_1 = require("@cosmjs/stargate");
9
+ const feegrant_1 = require("cosmjs-types/cosmos/feegrant/v1beta1/feegrant");
10
+ const signing_1 = require("cosmjs-types/cosmos/tx/signing/v1beta1/signing");
11
+ const service_1 = require("cosmjs-types/cosmos/tx/v1beta1/service");
12
+ const tx_1 = require("cosmjs-types/cosmos/tx/v1beta1/tx");
7
13
  const tendermint_rpc_1 = require("@cosmjs/tendermint-rpc");
8
14
  const verana_types_1 = require("@verana-labs/verana-types");
9
15
  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, QueryFindParticipantsWithDIDRequest, } = require('@verana-labs/verana-types/codec/verana/pp/v1/query');
15
16
  const { MsgSetParticipantOPToValidated, MsgCreateOrUpdateParticipantSession, MsgTriggerResolver, MsgStartParticipantOP, MsgStartParticipantOPResponse, MsgRenewParticipantOP, MsgCancelParticipantOPLastRequest, MsgSelfCreateParticipant, MsgSelfCreateParticipantResponse, } = require('@verana-labs/verana-types/codec/verana/pp/v1/tx');
16
- const { MsgStoreDigest } = require('@verana-labs/verana-types/codec/verana/di/v1/tx');
17
- // ParticipantRole.HOLDER (x/pp/types); the only role whose vs_operator may send TriggerResolver (chain Path 1).
18
- const PARTICIPANT_ROLE_HOLDER = 6;
19
- const PARTICIPANT_ROLE_ISSUER = 1;
20
- // the chain answers a query for an unknown record with a NotFound error, not with an empty result
21
- function isNotFoundError(error) {
22
- var _a;
23
- return /not found|NotFound|key not found/i.test((_a = error === null || error === void 0 ? void 0 : error.message) !== null && _a !== void 0 ? _a : '');
17
+ const ALLOWED_MSG_ALLOWANCE = '/cosmos.feegrant.v1beta1.AllowedMsgAllowance';
18
+ const BASIC_ALLOWANCE = '/cosmos.feegrant.v1beta1.BasicAllowance';
19
+ const PERIODIC_ALLOWANCE = '/cosmos.feegrant.v1beta1.PeriodicAllowance';
20
+ function hasPassed(timestamp, now) {
21
+ return timestamp !== undefined && Number(timestamp.seconds) * 1000 <= now;
24
22
  }
25
- function mapParticipant(p) {
26
- var _a;
27
- return {
28
- id: p.id,
29
- schemaId: p.schemaId,
30
- role: p.role,
31
- did: p.did,
32
- corporation: p.corporationId != null ? String(p.corporationId) : '',
33
- validatorParticipantId: p.validatorParticipantId,
34
- opState: p.opState,
35
- opSummaryDigest: (_a = p.opSummaryDigest) !== null && _a !== void 0 ? _a : '',
36
- revoked: p.revoked,
37
- slashed: p.slashed,
38
- };
23
+ function amountOf(coins, denom) {
24
+ var _a, _b;
25
+ return BigInt((_b = (_a = coins.find(coin => coin.denom === denom)) === null || _a === void 0 ? void 0 : _a.amount) !== null && _b !== void 0 ? _b : '0');
39
26
  }
27
+ // An empty spend_limit on a BasicAllowance means no limit, while an empty period_can_spend on a
28
+ // PeriodicAllowance means nothing left. verana-node v0.10.1 grants a BasicAllowance, the VPR of
29
+ // 2026-09-16 (MOD-DE-MSG-5-5) a PeriodicAllowance, so both are read.
30
+ function feeAllowanceOf(allowance, denom, now = Date.now()) {
31
+ var _a, _b, _c;
32
+ const granted = (allowance === null || allowance === void 0 ? void 0 : allowance.typeUrl) === ALLOWED_MSG_ALLOWANCE
33
+ ? feegrant_1.AllowedMsgAllowance.decode(allowance.value).allowance
34
+ : allowance;
35
+ if ((granted === null || granted === void 0 ? void 0 : granted.typeUrl) === BASIC_ALLOWANCE) {
36
+ const basic = feegrant_1.BasicAllowance.decode(granted.value);
37
+ if (hasPassed(basic.expiration, now))
38
+ return undefined;
39
+ return basic.spendLimit.length === 0
40
+ ? { unlimited: true }
41
+ : { unlimited: false, remaining: amountOf(basic.spendLimit, denom) };
42
+ }
43
+ if ((granted === null || granted === void 0 ? void 0 : granted.typeUrl) === PERIODIC_ALLOWANCE) {
44
+ const periodic = feegrant_1.PeriodicAllowance.decode(granted.value);
45
+ if (hasPassed((_a = periodic.basic) === null || _a === void 0 ? void 0 : _a.expiration, now))
46
+ return undefined;
47
+ const inPeriod = amountOf(hasPassed(periodic.periodReset, now) ? periodic.periodSpendLimit : periodic.periodCanSpend, denom);
48
+ const overall = (_c = (_b = periodic.basic) === null || _b === void 0 ? void 0 : _b.spendLimit) !== null && _c !== void 0 ? _c : [];
49
+ const remaining = overall.length === 0 ? inPeriod : [inPeriod, amountOf(overall, denom)].reduce((a, b) => (a < b ? a : b));
50
+ return { unlimited: false, remaining };
51
+ }
52
+ return undefined;
53
+ }
54
+ // A simulation signs with an empty signature and runs against the state of the moment, so it
55
+ // reports less gas than the delivery consumes. Cosmos SDK 0.47 made the difference larger (see
56
+ // cosmos-sdk#16020), and cosmjs answers it with a default multiplier of 1.4. Not always enough.
57
+ const DEFAULT_GAS_ADJUSTMENT = 1.5;
40
58
  class VeranaChainService {
41
59
  constructor(config) {
42
60
  this.config = config;
@@ -54,114 +72,35 @@ class VeranaChainService {
54
72
  return this.config.autoTriggerResolver !== false;
55
73
  }
56
74
  async start() {
57
- var _a;
75
+ var _a, _b;
58
76
  const { rpcUrl, mnemonic, chainId, logger, gasPrice } = this.config;
59
77
  const wallet = await proto_signing_1.DirectSecp256k1HdWallet.fromMnemonic(mnemonic, {
60
78
  prefix: types_1.VERANA_BECH32_PREFIX,
61
79
  });
62
80
  const [account] = await wallet.getAccounts();
63
81
  this.operatorAddress = account.address;
82
+ this.operatorPubkey = account.pubkey;
64
83
  this.corporationAddress = (_a = this.config.corporationAddress) !== null && _a !== void 0 ? _a : account.address;
65
84
  logger.info(`[VeranaChain] vs_operator address: ${this.operatorAddress} (fund this address with VNA to enable on-chain operations)`);
85
+ this.gasAdjustment = (_b = this.config.gasAdjustment) !== null && _b !== void 0 ? _b : DEFAULT_GAS_ADJUSTMENT;
86
+ this.gasPrice = stargate_1.GasPrice.fromString(gasPrice !== null && gasPrice !== void 0 ? gasPrice : '1uvna');
66
87
  const cometClient = await (0, tendermint_rpc_1.connectComet)(rpcUrl);
67
88
  this.signingClient = await stargate_1.SigningStargateClient.createWithSigner(cometClient, wallet, {
68
89
  registry: (0, verana_types_1.createVeranaRegistry)(),
69
90
  aminoTypes: (0, verana_types_1.createVeranaAminoTypes)(),
70
- gasPrice: stargate_1.GasPrice.fromString(gasPrice !== null && gasPrice !== void 0 ? gasPrice : '1uvna'),
91
+ gasPrice: this.gasPrice,
71
92
  });
93
+ this.queryClient = stargate_1.QueryClient.withExtensions(cometClient, stargate_1.setupFeegrantExtension);
72
94
  this.chainId = await this.signingClient.getChainId();
73
95
  if (chainId && this.chainId !== chainId) {
74
96
  throw new Error(`[VeranaChain] Chain ID mismatch: expected "${chainId}", got "${this.chainId}"`);
75
97
  }
76
98
  logger.info(`[VeranaChain] Connected to chain: ${this.chainId}`);
77
- const queryClient = new stargate_1.QueryClient(cometClient);
78
- const rpc = (0, stargate_1.createProtobufRpcClient)(queryClient);
79
- this.ppQuery = new PpQueryClientImpl(rpc);
80
- this.deQuery = new DeQueryClientImpl(rpc);
81
- this.ecQuery = new EcQueryClientImpl(rpc);
82
- this.csQuery = new CsQueryClientImpl(rpc);
83
- this.diQuery = new DiQueryClientImpl(rpc);
84
- }
85
- // Query API (unsigned)
86
- async getParticipant(id) {
87
- const result = await this.ppQuery.GetParticipant({ id });
88
- return result.participant ? mapParticipant(result.participant) : undefined;
89
99
  }
100
+ // [VSA-VPR-QRY]: the one read left on the ledger, the indexer serves no account balance.
90
101
  async getBalance(denom = 'uvna') {
91
102
  return this.signingClient.getBalance(this.operatorAddress, denom);
92
103
  }
93
- async hasVsOperatorAuthorization() {
94
- return (await this.listVsOperatorAuthorizations()).length > 0;
95
- }
96
- async listOperatorAuthorizations(operator) {
97
- const result = await this.deQuery.ListOperatorAuthorizations({
98
- corporationId: 0,
99
- operator: operator !== null && operator !== void 0 ? operator : this.operatorAddress,
100
- responseMaxSize: 64,
101
- });
102
- return result.operatorAuthorizations.map(a => ({
103
- id: a.id,
104
- corporationId: a.corporationId,
105
- operator: a.operator,
106
- msgTypes: a.msgTypes,
107
- expiration: a.expiration,
108
- period: a.period,
109
- }));
110
- }
111
- async listVsOperatorAuthorizations(vsOperator) {
112
- const result = await this.deQuery.ListVSOperatorAuthorizations({
113
- corporationId: 0,
114
- vsOperator: vsOperator !== null && vsOperator !== void 0 ? vsOperator : this.operatorAddress,
115
- responseMaxSize: 64,
116
- });
117
- return result.vsOperatorAuthorizations.map(a => ({
118
- id: a.id,
119
- corporationId: a.corporationId,
120
- vsOperator: a.vsOperator,
121
- records: a.records.map(r => ({
122
- participantId: r.participantId,
123
- msgTypes: r.msgTypes,
124
- withFeegrant: r.withFeegrant,
125
- expiration: r.expiration,
126
- period: r.period,
127
- })),
128
- }));
129
- }
130
- async getEcosystem(id) {
131
- // fromPartial fills the unused request fields with defaults so the request encodes correctly.
132
- const result = await this.ecQuery.GetEcosystem(QueryGetEcosystemRequest.fromPartial({ id }));
133
- if (!result.ecosystem)
134
- return undefined;
135
- const { id: ecosystemId, did, corporationId, archived, activeVersion } = result.ecosystem;
136
- return { id: ecosystemId, did, corporationId, archived, activeVersion };
137
- }
138
- async getCredentialSchema(id) {
139
- const result = await this.csQuery.GetCredentialSchema({ id });
140
- if (!result.schema)
141
- return undefined;
142
- const s = result.schema;
143
- return {
144
- id: s.id,
145
- ecosystemId: s.ecosystemId,
146
- jsonSchema: s.jsonSchema,
147
- digestAlgorithm: s.digestAlgorithm,
148
- issuerOnboardingMode: s.issuerOnboardingMode,
149
- verifierOnboardingMode: s.verifierOnboardingMode,
150
- holderOnboardingMode: s.holderOnboardingMode,
151
- archived: s.archived,
152
- };
153
- }
154
- async getDigest(digest) {
155
- try {
156
- const result = await this.diQuery.GetDigest({ digest });
157
- return result.digest;
158
- }
159
- catch (error) {
160
- if (isNotFoundError(error))
161
- return undefined;
162
- throw error;
163
- }
164
- }
165
104
  // Transaction API (signed)
166
105
  async startParticipantOP(params) {
167
106
  var _a, _b;
@@ -225,14 +164,74 @@ class VeranaChainService {
225
164
  const participantId = Number(MsgSelfCreateParticipantResponse.decode(result.msgResponses[0].value).id);
226
165
  return { participantId, txHash: result.transactionHash };
227
166
  }
228
- async storeDigest(digest) {
229
- const value = MsgStoreDigest.fromPartial({
230
- authority: this.corporationAddress,
231
- operator: this.operatorAddress,
232
- digest,
167
+ setParticipantOPToValidatedMsg(params) {
168
+ var _a, _b, _c, _d, _e;
169
+ return {
170
+ typeUrl: verana_types_1.veranaTypeUrls.MsgSetParticipantOPToValidated,
171
+ value: MsgSetParticipantOPToValidated.fromPartial({
172
+ corporation: this.corporationAddress,
173
+ operator: this.operatorAddress,
174
+ id: params.id,
175
+ effectiveUntil: params.effectiveUntil,
176
+ validationFees: (_a = params.validationFees) !== null && _a !== void 0 ? _a : 0,
177
+ issuanceFees: (_b = params.issuanceFees) !== null && _b !== void 0 ? _b : 0,
178
+ verificationFees: (_c = params.verificationFees) !== null && _c !== void 0 ? _c : 0,
179
+ opSummaryDigest: params.opSummaryDigest,
180
+ issuanceFeeDiscount: (_d = params.issuanceFeeDiscount) !== null && _d !== void 0 ? _d : 0,
181
+ verificationFeeDiscount: (_e = params.verificationFeeDiscount) !== null && _e !== void 0 ? _e : 0,
182
+ }),
183
+ };
184
+ }
185
+ // The simulation carries the granter too: a Corporation-paid fee also rewrites its allowance at
186
+ // delivery, and that write is gas a simulation without the granter never counts.
187
+ async estimateFee(messages, granter) {
188
+ var _a, _b;
189
+ const { sequence } = await this.signingClient.getSequence(this.operatorAddress);
190
+ const tx = tx_1.Tx.fromPartial({
191
+ authInfo: tx_1.AuthInfo.fromPartial({
192
+ fee: tx_1.Fee.fromPartial({ granter }),
193
+ signerInfos: [
194
+ {
195
+ publicKey: (0, proto_signing_1.encodePubkey)((0, amino_1.encodeSecp256k1Pubkey)(this.operatorPubkey)),
196
+ sequence: BigInt(sequence),
197
+ modeInfo: { single: { mode: signing_1.SignMode.SIGN_MODE_UNSPECIFIED } },
198
+ },
199
+ ],
200
+ }),
201
+ body: tx_1.TxBody.fromPartial({
202
+ messages: messages.map(message => this.signingClient.registry.encodeAsAny(message)),
203
+ }),
204
+ signatures: [new Uint8Array()],
233
205
  });
234
- const result = await this.broadcastMsg({ typeUrl: verana_types_1.veranaTypeUrls.MsgStoreDigest, value });
235
- return { txHash: result.transactionHash };
206
+ const request = service_1.SimulateRequest.encode(service_1.SimulateRequest.fromPartial({ txBytes: tx_1.Tx.encode(tx).finish() })).finish();
207
+ const response = await this.queryClient.queryAbci('/cosmos.tx.v1beta1.Service/Simulate', request);
208
+ const gas = Number((_b = (_a = service_1.SimulateResponse.decode(response.value).gasInfo) === null || _a === void 0 ? void 0 : _a.gasUsed) !== null && _b !== void 0 ? _b : 0);
209
+ const fee = (0, stargate_1.calculateFee)(Math.ceil(gas * this.gasAdjustment), this.gasPrice);
210
+ return granter ? Object.assign(Object.assign({}, fee), { granter }) : fee;
211
+ }
212
+ // Returns once the node accepted the transaction into its mempool, without waiting for a block.
213
+ async broadcastWithoutWaiting(messages, fee) {
214
+ return this.signingClient.signAndBroadcastSync(this.operatorAddress, messages, fee);
215
+ }
216
+ async findTx(hash) {
217
+ const tx = await this.signingClient.getTx(hash);
218
+ return tx ? { code: tx.code, height: tx.height, rawLog: tx.rawLog } : undefined;
219
+ }
220
+ async getAccountBalance(address, denom = 'uvna') {
221
+ return this.signingClient.getBalance(address, denom);
222
+ }
223
+ // The aggregate VS operator allowance of MOD-DE-MSG-5-5.
224
+ async feeAllowance(granter, denom = 'uvna') {
225
+ var _a;
226
+ const response = await this.queryClient.feegrant
227
+ .allowance(granter, this.operatorAddress)
228
+ .catch((error) => {
229
+ // verana-node v0.10.1 answers a missing grant with "fee-grant not found".
230
+ if (error instanceof Error && error.message.includes('fee-grant not found'))
231
+ return undefined;
232
+ throw error;
233
+ });
234
+ return feeAllowanceOf((_a = response === null || response === void 0 ? void 0 : response.allowance) === null || _a === void 0 ? void 0 : _a.allowance, denom);
236
235
  }
237
236
  async setParticipantOPToValidated(params) {
238
237
  var _a, _b, _c, _d, _e;
@@ -251,39 +250,24 @@ class VeranaChainService {
251
250
  const result = await this.broadcastMsg({ typeUrl: verana_types_1.veranaTypeUrls.MsgSetParticipantOPToValidated, value });
252
251
  return { txHash: result.transactionHash };
253
252
  }
254
- async createOrUpdateParticipantSession(params) {
255
- const value = MsgCreateOrUpdateParticipantSession.fromPartial({
256
- corporation: this.corporationAddress,
257
- operator: this.operatorAddress,
258
- id: params.id,
259
- issuerParticipantId: params.issuerParticipantId,
260
- verifierParticipantId: params.verifierParticipantId,
261
- agentParticipantId: params.agentParticipantId,
262
- walletAgentParticipantId: params.walletAgentParticipantId,
263
- digest: params.digest,
264
- });
265
- const result = await this.broadcastMsg({
253
+ createOrUpdateParticipantSessionMsg(params) {
254
+ return {
266
255
  typeUrl: verana_types_1.veranaTypeUrls.MsgCreateOrUpdateParticipantSession,
267
- value,
268
- });
269
- return { txHash: result.transactionHash };
270
- }
271
- async findActiveHolderParticipantIdByDid(did) {
272
- var _a;
273
- // fromPartial fills the unused fields with defaults so the request encodes correctly.
274
- const request = QueryFindParticipantsWithDIDRequest.fromPartial({ did });
275
- const { participants } = await this.ppQuery.FindParticipantsWithDID(request);
276
- 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;
256
+ value: MsgCreateOrUpdateParticipantSession.fromPartial({
257
+ corporation: this.corporationAddress,
258
+ operator: this.operatorAddress,
259
+ id: params.id,
260
+ issuerParticipantId: params.issuerParticipantId,
261
+ verifierParticipantId: params.verifierParticipantId,
262
+ agentParticipantId: params.agentParticipantId,
263
+ walletAgentParticipantId: params.walletAgentParticipantId,
264
+ digest: params.digest,
265
+ }),
266
+ };
277
267
  }
278
- async findActiveIssuerParticipantId(did, schemaId) {
279
- var _a;
280
- const request = QueryFindParticipantsWithDIDRequest.fromPartial({ did });
281
- const { participants } = await this.ppQuery.FindParticipantsWithDID(request);
282
- return (_a = participants.find(p => p.did === did &&
283
- p.role === PARTICIPANT_ROLE_ISSUER &&
284
- p.schemaId === schemaId &&
285
- !p.revoked &&
286
- !p.slashed)) === null || _a === void 0 ? void 0 : _a.id;
268
+ async createOrUpdateParticipantSession(params) {
269
+ const result = await this.broadcastMsg(this.createOrUpdateParticipantSessionMsg(params));
270
+ return { txHash: result.transactionHash };
287
271
  }
288
272
  async triggerResolver(participantId) {
289
273
  const value = MsgTriggerResolver.fromPartial({
@@ -298,7 +282,7 @@ class VeranaChainService {
298
282
  const { typeUrl, value } = options;
299
283
  const msg = { typeUrl, value };
300
284
  this.config.logger.debug(`[VeranaChain] Broadcasting ${typeUrl} as ${this.operatorAddress}`);
301
- const result = await this.signingClient.signAndBroadcast(this.operatorAddress, [msg], 'auto');
285
+ const result = await this.signingClient.signAndBroadcast(this.operatorAddress, [msg], this.gasAdjustment);
302
286
  (0, stargate_1.assertIsDeliverTxSuccess)(result);
303
287
  this.config.logger.info(`[VeranaChain] Tx success: ${result.transactionHash}`);
304
288
  return result;
@@ -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,13 +1,19 @@
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;
5
5
  constructor(config: VeranaIdxConfig);
6
6
  getEvents(agentDid: string, afterBlockHeight?: number, limit?: number, corporationId?: number): Promise<IndexerEventsResponse>;
7
7
  getEcosystem(id: string | number): Promise<EcosystemDto>;
8
+ getEcosystem(id: string | number, options: {
9
+ allowNotFound: true;
10
+ }): Promise<EcosystemDto | undefined>;
8
11
  listEcosystems(): Promise<EcosystemDto[]>;
9
12
  listCredentialSchemas(ecosystemId: number): Promise<CredentialSchemaDto[]>;
10
13
  getCredentialSchema(id: string | number): Promise<CredentialSchemaDto>;
14
+ getCredentialSchema(id: string | number, options: {
15
+ allowNotFound: true;
16
+ }): Promise<CredentialSchemaDto | undefined>;
11
17
  getParticipant(id: string | number): Promise<ParticipantDto>;
12
18
  getCorporation(id: string | number): Promise<CorporationDto | undefined>;
13
19
  getParticipantSession(id: string): Promise<ParticipantSessionDto | undefined>;
@@ -17,5 +23,12 @@ export declare class VeranaIndexerService {
17
23
  did?: string;
18
24
  participantState?: ParticipantState;
19
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>;
20
33
  getDigest(digest: string): Promise<DigestDto | undefined>;
21
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;
@@ -15,10 +33,16 @@ class VeranaIndexerService {
15
33
  const url = `${this.baseUrl}/v4/indexer/events?${scope}&after_block_height=${afterBlockHeight}&limit=${limit}`;
16
34
  return (0, util_1.fetchJson)(url, REQUEST_TIMEOUT_MS);
17
35
  }
18
- async getEcosystem(id) {
36
+ async getEcosystem(id, options) {
19
37
  this.config.logger.debug(`[VeranaIndexer] getEcosystem id=${id}`);
20
- const data = await (0, util_1.fetchJson)(`${this.baseUrl}/v4/ecosystem/get/${id}`, REQUEST_TIMEOUT_MS);
21
- return data.ecosystem;
38
+ const url = `${this.baseUrl}/v4/ecosystem/get/${encodeURIComponent(id)}`;
39
+ const data = (options === null || options === void 0 ? void 0 : options.allowNotFound)
40
+ ? await (0, util_1.fetchJson)(url, {
41
+ timeoutMs: REQUEST_TIMEOUT_MS,
42
+ allowNotFound: true,
43
+ })
44
+ : await (0, util_1.fetchJson)(url, REQUEST_TIMEOUT_MS);
45
+ return data === null || data === void 0 ? void 0 : data.ecosystem;
22
46
  }
23
47
  async listEcosystems() {
24
48
  var _a;
@@ -31,19 +55,25 @@ class VeranaIndexerService {
31
55
  const data = await (0, util_1.fetchJson)(`${this.baseUrl}/v4/credential-schema/list?ecosystem_id=${ecosystemId}`, REQUEST_TIMEOUT_MS);
32
56
  return data.schemas;
33
57
  }
34
- async getCredentialSchema(id) {
58
+ async getCredentialSchema(id, options) {
35
59
  this.config.logger.debug(`[VeranaIndexer] getCredentialSchema id=${id}`);
36
- const data = await (0, util_1.fetchJson)(`${this.baseUrl}/v4/credential-schema/get/${id}`, REQUEST_TIMEOUT_MS);
37
- return data.schema;
60
+ const url = `${this.baseUrl}/v4/credential-schema/get/${encodeURIComponent(id)}`;
61
+ const data = (options === null || options === void 0 ? void 0 : options.allowNotFound)
62
+ ? await (0, util_1.fetchJson)(url, {
63
+ timeoutMs: REQUEST_TIMEOUT_MS,
64
+ allowNotFound: true,
65
+ })
66
+ : await (0, util_1.fetchJson)(url, REQUEST_TIMEOUT_MS);
67
+ return data === null || data === void 0 ? void 0 : data.schema;
38
68
  }
39
69
  async getParticipant(id) {
40
70
  this.config.logger.debug(`[VeranaIndexer] getParticipant id=${id}`);
41
- const data = await (0, util_1.fetchJson)(`${this.baseUrl}/v4/participant/get/${id}`, REQUEST_TIMEOUT_MS);
71
+ const data = await (0, util_1.fetchJson)(`${this.baseUrl}/v4/participant/get/${encodeURIComponent(id)}`, REQUEST_TIMEOUT_MS);
42
72
  return data.participant;
43
73
  }
44
74
  async getCorporation(id) {
45
75
  this.config.logger.debug(`[VeranaIndexer] getCorporation id=${id}`);
46
- const data = await (0, util_1.fetchJson)(`${this.baseUrl}/v4/corporation/get/${id}`, { timeoutMs: REQUEST_TIMEOUT_MS, allowNotFound: true });
76
+ const data = await (0, util_1.fetchJson)(`${this.baseUrl}/v4/corporation/get/${encodeURIComponent(id)}`, { timeoutMs: REQUEST_TIMEOUT_MS, allowNotFound: true });
47
77
  return data === null || data === void 0 ? void 0 : data.corporation;
48
78
  }
49
79
  async getParticipantSession(id) {
@@ -65,6 +95,90 @@ class VeranaIndexerService {
65
95
  const data = await (0, util_1.fetchJson)(`${this.baseUrl}/v4/participant/list?${params.toString()}`, REQUEST_TIMEOUT_MS);
66
96
  return data.participants;
67
97
  }
98
+ async findParticipant(id) {
99
+ this.config.logger.debug(`[VeranaIndexer] findParticipant id=${id}`);
100
+ const data = await (0, util_1.fetchJson)(`${this.baseUrl}/v4/participant/get/${encodeURIComponent(id)}`, { timeoutMs: REQUEST_TIMEOUT_MS, allowNotFound: true });
101
+ return (data === null || data === void 0 ? void 0 : data.participant) ? (0, indexerMappers_1.toParticipant)(data.participant) : undefined;
102
+ }
103
+ async findActiveHolderParticipantIdByDid(did) {
104
+ var _a;
105
+ const participants = await this.listParticipants({ did, role: types_1.ParticipantRole.Holder });
106
+ return (_a = participants.find(p => p.did === did && p.role === types_1.ParticipantRole.Holder && active(p))) === null || _a === void 0 ? void 0 : _a.id;
107
+ }
108
+ async findActiveIssuerParticipantId(did, schemaId, vsOperator) {
109
+ var _a;
110
+ const participants = await this.listParticipants({ did, schemaId, role: types_1.ParticipantRole.Issuer });
111
+ return (_a = participants.find(p => p.did === did &&
112
+ p.role === types_1.ParticipantRole.Issuer &&
113
+ p.schema_id === schemaId &&
114
+ p.vs_operator === vsOperator &&
115
+ active(p))) === null || _a === void 0 ? void 0 : _a.id;
116
+ }
117
+ async delegationPage(path, minBlock) {
118
+ var _a, _b;
119
+ const deadline = Date.now() + DELEGATION_CATCHUP_TIMEOUT_MS;
120
+ for (;;) {
121
+ const data = await (0, util_1.fetchJson)(`${this.baseUrl}${path}`, REQUEST_TIMEOUT_MS);
122
+ const atBlock = (_a = data.atBlock) !== null && _a !== void 0 ? _a : 0;
123
+ if (minBlock === undefined || atBlock >= minBlock)
124
+ return (_b = data.authorizations) !== null && _b !== void 0 ? _b : [];
125
+ if (Date.now() >= deadline) {
126
+ throw new Error(`[VeranaIndexer] delegation checkpoint ${atBlock} never reached block ${minBlock} for ${path}`);
127
+ }
128
+ await new Promise(resolve => setTimeout(resolve, CATCHUP_INTERVAL_MS));
129
+ }
130
+ }
131
+ async listOperatorAuthorizations(operator, minBlock) {
132
+ this.config.logger.debug(`[VeranaIndexer] listOperatorAuthorizations operator=${operator}`);
133
+ const rows = await this.delegationPage(`/v4/delegation/operator-authorizations?operator=${encodeURIComponent(operator)}`, minBlock);
134
+ return rows.map(a => {
135
+ var _a;
136
+ return ({
137
+ id: a.id,
138
+ corporationId: a.corporation_id,
139
+ operator: a.operator,
140
+ msgTypes: (_a = a.msg_types) !== null && _a !== void 0 ? _a : [],
141
+ expiration: a.expiration ? new Date(a.expiration) : undefined,
142
+ period: toDuration(a.period),
143
+ });
144
+ });
145
+ }
146
+ async listVsOperatorAuthorizations(vsOperator, minBlock) {
147
+ this.config.logger.debug(`[VeranaIndexer] listVsOperatorAuthorizations vs_operator=${vsOperator}`);
148
+ const rows = await this.delegationPage(`/v4/delegation/vs-operator-authorizations?vs_operator=${encodeURIComponent(vsOperator)}`, minBlock);
149
+ return rows.map(a => {
150
+ var _a;
151
+ return ({
152
+ id: a.id,
153
+ corporationId: a.corporation_id,
154
+ vsOperator: a.vs_operator,
155
+ records: ((_a = a.records) !== null && _a !== void 0 ? _a : []).map(r => {
156
+ var _a;
157
+ return ({
158
+ participantId: r.participant_id,
159
+ msgTypes: (_a = r.msg_types) !== null && _a !== void 0 ? _a : [],
160
+ withFeegrant: Boolean(r.with_feegrant),
161
+ expiration: r.expiration ? new Date(r.expiration) : undefined,
162
+ period: toDuration(r.period),
163
+ });
164
+ }),
165
+ });
166
+ });
167
+ }
168
+ // Anchoring is a write this agent reads back on its next run, so the redundant-transaction check
169
+ // only holds if the indexer has caught up first. A timeout costs one extra anchoring, not a boot.
170
+ async waitForDigest(digest) {
171
+ const deadline = Date.now() + DIGEST_CATCHUP_TIMEOUT_MS;
172
+ for (;;) {
173
+ if (await this.getDigest(digest))
174
+ return;
175
+ if (Date.now() >= deadline) {
176
+ this.config.logger.warn(`[VeranaIndexer] digest ${digest} was not indexed before the deadline`);
177
+ return;
178
+ }
179
+ await new Promise(resolve => setTimeout(resolve, CATCHUP_INTERVAL_MS));
180
+ }
181
+ }
68
182
  async getDigest(digest) {
69
183
  this.config.logger.debug(`[VeranaIndexer] getDigest digest=${digest}`);
70
184
  const data = await (0, util_1.fetchJson)(`${this.baseUrl}/v4/di/get/${encodeURIComponent(digest)}`, { timeoutMs: REQUEST_TIMEOUT_MS, allowNotFound: true });