@verana-labs/vs-agent-sdk 1.12.0-dev.3 → 1.12.0-dev.30
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +35 -27
- package/build/agent/VsAgent.d.ts +16 -0
- package/build/agent/VsAgent.js +78 -14
- package/build/agent/VsAgent.js.map +1 -1
- package/build/agent/createVsAgent.d.ts +3 -0
- package/build/agent/createVsAgent.js +2 -0
- package/build/agent/createVsAgent.js.map +1 -1
- package/build/blockchain/AuthorizationService.d.ts +26 -0
- package/build/blockchain/AuthorizationService.js +82 -0
- package/build/blockchain/AuthorizationService.js.map +1 -0
- package/build/blockchain/IndexerWebSocketService.d.ts +15 -9
- package/build/blockchain/IndexerWebSocketService.js +201 -97
- package/build/blockchain/IndexerWebSocketService.js.map +1 -1
- package/build/blockchain/VeranaChainService.d.ts +29 -3
- package/build/blockchain/VeranaChainService.js +164 -27
- package/build/blockchain/VeranaChainService.js.map +1 -1
- package/build/blockchain/VeranaHelpers.js +1 -0
- package/build/blockchain/VeranaHelpers.js.map +1 -1
- package/build/blockchain/VeranaIndexerService.d.ts +13 -2
- package/build/blockchain/VeranaIndexerService.js +49 -6
- package/build/blockchain/VeranaIndexerService.js.map +1 -1
- package/build/blockchain/handlers/IndexerHandlerRegistry.d.ts +4 -3
- package/build/blockchain/handlers/IndexerHandlerRegistry.js +6 -0
- package/build/blockchain/handlers/IndexerHandlerRegistry.js.map +1 -1
- package/build/blockchain/handlers/authorizationHandlers.d.ts +4 -0
- package/build/blockchain/handlers/authorizationHandlers.js +54 -0
- package/build/blockchain/handlers/authorizationHandlers.js.map +1 -0
- package/build/blockchain/handlers/defaultHandlers.d.ts +4 -1
- package/build/blockchain/handlers/defaultHandlers.js +62 -35
- package/build/blockchain/handlers/defaultHandlers.js.map +1 -1
- package/build/blockchain/handlers/index.d.ts +1 -0
- package/build/blockchain/handlers/index.js +1 -0
- package/build/blockchain/handlers/index.js.map +1 -1
- package/build/blockchain/handlers/stateMutations.d.ts +6 -1
- package/build/blockchain/handlers/stateMutations.js +146 -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/indexerSync.d.ts +10 -0
- package/build/blockchain/indexerSync.js +34 -0
- package/build/blockchain/indexerSync.js.map +1 -0
- package/build/blockchain/types.d.ts +123 -11
- package/build/blockchain/types.js +20 -1
- package/build/blockchain/types.js.map +1 -1
- package/build/bootstrap/EcsBootstrapService.d.ts +30 -0
- package/build/bootstrap/EcsBootstrapService.js +300 -0
- package/build/bootstrap/EcsBootstrapService.js.map +1 -0
- package/build/bootstrap/index.d.ts +1 -0
- package/build/bootstrap/index.js +18 -0
- package/build/bootstrap/index.js.map +1 -0
- package/build/credentials/FullTailsFileService.d.ts +4 -4
- package/build/credentials/FullTailsFileService.js +76 -65
- package/build/credentials/FullTailsFileService.js.map +1 -1
- package/build/did/adminApiService.d.ts +2 -0
- package/build/did/adminApiService.js +17 -0
- package/build/did/adminApiService.js.map +1 -0
- package/build/did/migrateWebVhVersionTime.d.ts +9 -0
- package/build/did/migrateWebVhVersionTime.js +191 -0
- package/build/did/migrateWebVhVersionTime.js.map +1 -0
- package/build/events/VsAgentEvents.d.ts +16 -2
- package/build/events/VsAgentEvents.js +2 -0
- package/build/events/VsAgentEvents.js.map +1 -1
- package/build/events/VtFlowEvents.d.ts +3 -0
- package/build/events/VtFlowEvents.js +35 -0
- package/build/events/VtFlowEvents.js.map +1 -0
- package/build/events/index.d.ts +1 -0
- package/build/events/index.js +1 -0
- package/build/events/index.js.map +1 -1
- package/build/index.d.ts +3 -1
- package/build/index.js +8 -4
- package/build/index.js.map +1 -1
- package/build/plugins/setupBaseDidComm.js +1 -1
- package/build/plugins/setupBaseDidComm.js.map +1 -1
- package/build/types.d.ts +4 -0
- package/build/types.js +5 -1
- package/build/types.js.map +1 -1
- package/build/utils/trustCredentialStore.d.ts +2 -0
- package/build/utils/trustCredentialStore.js +49 -2
- package/build/utils/trustCredentialStore.js.map +1 -1
- package/build/utils/util.d.ts +5 -1
- package/build/utils/util.js +17 -5
- package/build/utils/util.js.map +1 -1
- package/build/vtFlow/VtFlowOrchestrator.d.ts +16 -1
- package/build/vtFlow/VtFlowOrchestrator.js +215 -87
- package/build/vtFlow/VtFlowOrchestrator.js.map +1 -1
- package/build/vtFlow/assertVerifiableService.d.ts +8 -0
- package/build/vtFlow/assertVerifiableService.js +28 -0
- package/build/vtFlow/assertVerifiableService.js.map +1 -0
- package/build/vtFlow/index.d.ts +1 -0
- package/build/vtFlow/index.js +1 -0
- package/build/vtFlow/index.js.map +1 -1
- package/package.json +12 -11
|
@@ -5,121 +5,148 @@ exports.buildDefaultIndexerHandlerRegistry = buildDefaultIndexerHandlerRegistry;
|
|
|
5
5
|
const IndexerHandlerRegistry_1 = require("./IndexerHandlerRegistry");
|
|
6
6
|
const stateMutations_1 = require("./stateMutations");
|
|
7
7
|
/**
|
|
8
|
-
* Default
|
|
8
|
+
* Default business reactions for indexer events emitted by the Verana blockchain.
|
|
9
|
+
*
|
|
10
|
+
* State-sync bookkeeping is handled separately by `applyStateMutation` and always runs, so these
|
|
11
|
+
* handlers can be overridden/disabled by application developers without breaking the sync state.
|
|
9
12
|
*/
|
|
10
13
|
exports.defaultHandlers = [
|
|
11
14
|
{
|
|
12
15
|
msg: 'CreateNewEcosystem',
|
|
13
16
|
handle: async (activity, ctx) => {
|
|
14
|
-
(
|
|
15
|
-
ctx.agent.config.logger.info(`[IndexerWS] CreateNewEcosystem entity=${activity.entity_id} block=${ctx.block_height}`);
|
|
17
|
+
ctx.agent.config.logger.info(`[IndexerWS] CreateNewEcosystem entity=${activity.entity_id} block=${ctx.blockHeight}`);
|
|
16
18
|
},
|
|
17
19
|
},
|
|
18
20
|
{
|
|
19
21
|
msg: 'UpdateEcosystem',
|
|
20
22
|
handle: async (activity, ctx) => {
|
|
21
|
-
(
|
|
22
|
-
ctx.agent.config.logger.info(`[IndexerWS] UpdateEcosystem entity=${activity.entity_id} block=${ctx.block_height}`);
|
|
23
|
+
ctx.agent.config.logger.info(`[IndexerWS] UpdateEcosystem entity=${activity.entity_id} block=${ctx.blockHeight}`);
|
|
23
24
|
},
|
|
24
25
|
},
|
|
25
26
|
{
|
|
26
27
|
msg: 'AddGovernanceFrameworkDocument',
|
|
27
28
|
handle: async (activity, ctx) => {
|
|
28
|
-
(
|
|
29
|
-
ctx.agent.config.logger.info(`[IndexerWS] AddGovernanceFrameworkDocument entity=${activity.entity_id} block=${ctx.block_height}`);
|
|
29
|
+
ctx.agent.config.logger.info(`[IndexerWS] AddGovernanceFrameworkDocument entity=${activity.entity_id} block=${ctx.blockHeight}`);
|
|
30
30
|
},
|
|
31
31
|
},
|
|
32
32
|
{
|
|
33
33
|
msg: 'IncreaseActiveGFVersion',
|
|
34
34
|
handle: async (activity, ctx) => {
|
|
35
|
-
(
|
|
36
|
-
ctx.agent.config.logger.info(`[IndexerWS] IncreaseActiveGFVersion entity=${activity.entity_id} block=${ctx.block_height}`);
|
|
35
|
+
ctx.agent.config.logger.info(`[IndexerWS] IncreaseActiveGFVersion entity=${activity.entity_id} block=${ctx.blockHeight}`);
|
|
37
36
|
},
|
|
38
37
|
},
|
|
39
38
|
{
|
|
40
39
|
msg: 'CreateNewCredentialSchema',
|
|
41
40
|
handle: async (activity, ctx) => {
|
|
42
|
-
(
|
|
43
|
-
ctx.agent.config.logger.info(`[IndexerWS] CreateNewCredentialSchema entity=${activity.entity_id} block=${ctx.block_height}`);
|
|
41
|
+
ctx.agent.config.logger.info(`[IndexerWS] CreateNewCredentialSchema entity=${activity.entity_id} block=${ctx.blockHeight}`);
|
|
44
42
|
await (0, stateMutations_1.publishVtjscIfOwner)(ctx.state, ctx.agent, String(activity.entity_id));
|
|
45
43
|
},
|
|
46
44
|
},
|
|
47
45
|
{
|
|
48
46
|
msg: 'UpdateCredentialSchema',
|
|
49
47
|
handle: async (activity, ctx) => {
|
|
50
|
-
(
|
|
51
|
-
ctx.agent.config.logger.info(`[IndexerWS] UpdateCredentialSchema entity=${activity.entity_id} block=${ctx.block_height}`);
|
|
48
|
+
ctx.agent.config.logger.info(`[IndexerWS] UpdateCredentialSchema entity=${activity.entity_id} block=${ctx.blockHeight}`);
|
|
52
49
|
},
|
|
53
50
|
},
|
|
54
51
|
{
|
|
55
52
|
msg: 'ArchiveCredentialSchema',
|
|
56
53
|
handle: async (activity, ctx) => {
|
|
57
|
-
(
|
|
58
|
-
ctx.agent.config.logger.info(`[IndexerWS] ArchiveCredentialSchema entity=${activity.entity_id} block=${ctx.block_height}`);
|
|
54
|
+
ctx.agent.config.logger.info(`[IndexerWS] ArchiveCredentialSchema entity=${activity.entity_id} block=${ctx.blockHeight}`);
|
|
59
55
|
},
|
|
60
56
|
},
|
|
61
57
|
{
|
|
62
58
|
msg: 'StartParticipantOP',
|
|
63
59
|
handle: async (activity, ctx) => {
|
|
64
|
-
|
|
65
|
-
ctx.agent.config.logger.info(`[IndexerWS] StartParticipantOP entity=${activity.entity_id} block=${ctx.block_height}`);
|
|
60
|
+
ctx.agent.config.logger.info(`[IndexerWS] StartParticipantOP entity=${activity.entity_id} block=${ctx.blockHeight}`);
|
|
66
61
|
await (0, stateMutations_1.startParticipantOPAutoFlow)(ctx.agent, activity);
|
|
67
62
|
},
|
|
68
63
|
},
|
|
69
64
|
{
|
|
70
65
|
msg: 'RenewParticipantOP',
|
|
71
66
|
handle: async (activity, ctx) => {
|
|
72
|
-
|
|
73
|
-
|
|
67
|
+
ctx.agent.config.logger.info(`[IndexerWS] RenewParticipantOP entity=${activity.entity_id} block=${ctx.blockHeight}`);
|
|
68
|
+
await (0, stateMutations_1.startParticipantOPAutoFlow)(ctx.agent, activity);
|
|
74
69
|
},
|
|
75
70
|
},
|
|
76
71
|
{
|
|
77
72
|
msg: 'SetParticipantOPToValidated',
|
|
78
73
|
handle: async (activity, ctx) => {
|
|
79
|
-
|
|
80
|
-
ctx.agent.config.logger.info(`[IndexerWS] SetParticipantOPToValidated participant=${activity.entity_id} block=${ctx.block_height}`);
|
|
74
|
+
ctx.agent.config.logger.info(`[IndexerWS] SetParticipantOPToValidated participant=${activity.entity_id} block=${ctx.blockHeight}`);
|
|
81
75
|
await (0, stateMutations_1.markVtFlowRecordsValidated)(ctx.agent, String(activity.entity_id));
|
|
82
76
|
},
|
|
83
77
|
},
|
|
84
78
|
{
|
|
85
79
|
msg: 'SetParticipantEffectiveUntil',
|
|
86
80
|
handle: async (activity, ctx) => {
|
|
87
|
-
|
|
88
|
-
(0, stateMutations_1.upsertParticipant)(ctx.state, activity, {
|
|
89
|
-
effectiveUntil: String((_a = activity.changes['effective_until']) !== null && _a !== void 0 ? _a : ''),
|
|
90
|
-
});
|
|
91
|
-
ctx.agent.config.logger.info(`[IndexerWS] SetParticipantEffectiveUntil entity=${activity.entity_id} block=${ctx.block_height}`);
|
|
81
|
+
ctx.agent.config.logger.info(`[IndexerWS] SetParticipantEffectiveUntil entity=${activity.entity_id} block=${ctx.blockHeight}`);
|
|
92
82
|
},
|
|
93
83
|
},
|
|
94
84
|
{
|
|
95
85
|
msg: 'RevokeParticipant',
|
|
96
86
|
handle: async (activity, ctx) => {
|
|
97
|
-
|
|
98
|
-
ctx.agent
|
|
87
|
+
ctx.agent.config.logger.info(`[IndexerWS] RevokeParticipant entity=${activity.entity_id} block=${ctx.blockHeight}`);
|
|
88
|
+
await (0, stateMutations_1.removeHolderTrustCredentialIfRevoked)(ctx.agent, String(activity.entity_id));
|
|
99
89
|
await (0, stateMutations_1.setVtFlowRecordsParticipantRevoked)(ctx.agent, String(activity.entity_id));
|
|
100
90
|
},
|
|
101
91
|
},
|
|
102
92
|
{
|
|
103
93
|
msg: 'SlashParticipantTrustDeposit',
|
|
104
94
|
handle: async (activity, ctx) => {
|
|
105
|
-
|
|
106
|
-
ctx.agent
|
|
95
|
+
ctx.agent.config.logger.info(`[IndexerWS] SlashParticipantTrustDeposit participant=${activity.entity_id} block=${ctx.blockHeight}`);
|
|
96
|
+
await (0, stateMutations_1.removeHolderTrustCredentialIfRevoked)(ctx.agent, String(activity.entity_id));
|
|
107
97
|
await (0, stateMutations_1.setVtFlowRecordsParticipantSlashed)(ctx.agent, String(activity.entity_id));
|
|
108
98
|
},
|
|
109
99
|
},
|
|
110
100
|
{
|
|
111
101
|
msg: 'RepayParticipantSlashedTrustDeposit',
|
|
112
102
|
handle: async (activity, ctx) => {
|
|
113
|
-
|
|
114
|
-
ctx.agent.config.logger.info(`[IndexerWS] RepayParticipantSlashedTrustDeposit entity=${activity.entity_id} block=${ctx.block_height}`);
|
|
103
|
+
ctx.agent.config.logger.info(`[IndexerWS] RepayParticipantSlashedTrustDeposit entity=${activity.entity_id} block=${ctx.blockHeight}`);
|
|
115
104
|
},
|
|
116
105
|
},
|
|
117
106
|
{
|
|
118
107
|
msg: 'CancelParticipantOPLastRequest',
|
|
119
108
|
handle: async (activity, ctx) => {
|
|
120
|
-
|
|
121
|
-
ctx.agent
|
|
122
|
-
|
|
109
|
+
ctx.agent.config.logger.info(`[IndexerWS] CancelParticipantOPLastRequest participant=${activity.entity_id} block=${ctx.blockHeight}`);
|
|
110
|
+
await (0, stateMutations_1.reconcileVtFlowRecordsOnCancel)(ctx.agent, String(activity.entity_id));
|
|
111
|
+
},
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
msg: 'CreateNewCorporation',
|
|
115
|
+
handle: async (activity, ctx) => {
|
|
116
|
+
ctx.agent.config.logger.info(`[IndexerWS] CreateNewCorporation entity=${activity.entity_id} block=${ctx.blockHeight}`);
|
|
117
|
+
},
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
msg: 'UpdateCorporation',
|
|
121
|
+
handle: async (activity, ctx) => {
|
|
122
|
+
ctx.agent.config.logger.info(`[IndexerWS] UpdateCorporation entity=${activity.entity_id} block=${ctx.blockHeight}`);
|
|
123
|
+
if (activity.changes['did'] != null) {
|
|
124
|
+
ctx.agent.config.logger.warn(`[IndexerWS] Corporation ${activity.entity_id} was updated; if its DID rotated, per-DID indexer subscriptions may need to be re-established`);
|
|
125
|
+
}
|
|
126
|
+
},
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
msg: 'ArchiveEcosystem',
|
|
130
|
+
handle: async (activity, ctx) => {
|
|
131
|
+
ctx.agent.config.logger.info(`[IndexerWS] ArchiveEcosystem entity=${activity.entity_id} block=${ctx.blockHeight}`);
|
|
132
|
+
},
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
msg: 'CreateRootParticipant',
|
|
136
|
+
handle: async (activity, ctx) => {
|
|
137
|
+
ctx.agent.config.logger.info(`[IndexerWS] CreateRootParticipant entity=${activity.entity_id} block=${ctx.blockHeight}`);
|
|
138
|
+
},
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
msg: 'SelfCreateParticipant',
|
|
142
|
+
handle: async (activity, ctx) => {
|
|
143
|
+
ctx.agent.config.logger.info(`[IndexerWS] SelfCreateParticipant participant=${activity.entity_id} block=${ctx.blockHeight}`);
|
|
144
|
+
},
|
|
145
|
+
},
|
|
146
|
+
{
|
|
147
|
+
msg: 'TriggerResolver',
|
|
148
|
+
handle: async (activity, ctx) => {
|
|
149
|
+
ctx.agent.config.logger.info(`[IndexerWS] TriggerResolver participant=${activity.entity_id} block=${ctx.blockHeight}`);
|
|
123
150
|
},
|
|
124
151
|
},
|
|
125
152
|
];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaultHandlers.js","sourceRoot":"","sources":["../../../src/blockchain/handlers/defaultHandlers.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"defaultHandlers.js","sourceRoot":"","sources":["../../../src/blockchain/handlers/defaultHandlers.ts"],"names":[],"mappings":";;;AA0MA,gFAIC;AA9MD,qEAAsF;AACtF,qDAQyB;AAEzB;;;;;GAKG;AACU,QAAA,eAAe,GAA0B;IACpD;QACE,GAAG,EAAE,oBAAoB;QACzB,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE;YAC9B,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAC1B,yCAAyC,QAAQ,CAAC,SAAS,UAAU,GAAG,CAAC,WAAW,EAAE,CACvF,CAAA;QACH,CAAC;KACF;IACD;QACE,GAAG,EAAE,iBAAiB;QACtB,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE;YAC9B,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAC1B,sCAAsC,QAAQ,CAAC,SAAS,UAAU,GAAG,CAAC,WAAW,EAAE,CACpF,CAAA;QACH,CAAC;KACF;IACD;QACE,GAAG,EAAE,gCAAgC;QACrC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE;YAC9B,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAC1B,qDAAqD,QAAQ,CAAC,SAAS,UAAU,GAAG,CAAC,WAAW,EAAE,CACnG,CAAA;QACH,CAAC;KACF;IACD;QACE,GAAG,EAAE,yBAAyB;QAC9B,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE;YAC9B,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAC1B,8CAA8C,QAAQ,CAAC,SAAS,UAAU,GAAG,CAAC,WAAW,EAAE,CAC5F,CAAA;QACH,CAAC;KACF;IACD;QACE,GAAG,EAAE,2BAA2B;QAChC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE;YAC9B,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAC1B,gDAAgD,QAAQ,CAAC,SAAS,UAAU,GAAG,CAAC,WAAW,EAAE,CAC9F,CAAA;YACD,MAAM,IAAA,oCAAmB,EAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAA;QAC7E,CAAC;KACF;IACD;QACE,GAAG,EAAE,wBAAwB;QAC7B,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE;YAC9B,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAC1B,6CAA6C,QAAQ,CAAC,SAAS,UAAU,GAAG,CAAC,WAAW,EAAE,CAC3F,CAAA;QACH,CAAC;KACF;IACD;QACE,GAAG,EAAE,yBAAyB;QAC9B,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE;YAC9B,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAC1B,8CAA8C,QAAQ,CAAC,SAAS,UAAU,GAAG,CAAC,WAAW,EAAE,CAC5F,CAAA;QACH,CAAC;KACF;IACD;QACE,GAAG,EAAE,oBAAoB;QACzB,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE;YAC9B,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAC1B,yCAAyC,QAAQ,CAAC,SAAS,UAAU,GAAG,CAAC,WAAW,EAAE,CACvF,CAAA;YACD,MAAM,IAAA,2CAA0B,EAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;QACvD,CAAC;KACF;IACD;QACE,GAAG,EAAE,oBAAoB;QACzB,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE;YAC9B,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAC1B,yCAAyC,QAAQ,CAAC,SAAS,UAAU,GAAG,CAAC,WAAW,EAAE,CACvF,CAAA;YACD,MAAM,IAAA,2CAA0B,EAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;QACvD,CAAC;KACF;IACD;QACE,GAAG,EAAE,6BAA6B;QAClC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE;YAC9B,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAC1B,uDAAuD,QAAQ,CAAC,SAAS,UAAU,GAAG,CAAC,WAAW,EAAE,CACrG,CAAA;YACD,MAAM,IAAA,2CAA0B,EAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAA;QACzE,CAAC;KACF;IACD;QACE,GAAG,EAAE,8BAA8B;QACnC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE;YAC9B,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAC1B,mDAAmD,QAAQ,CAAC,SAAS,UAAU,GAAG,CAAC,WAAW,EAAE,CACjG,CAAA;QACH,CAAC;KACF;IACD;QACE,GAAG,EAAE,mBAAmB;QACxB,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE;YAC9B,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAC1B,wCAAwC,QAAQ,CAAC,SAAS,UAAU,GAAG,CAAC,WAAW,EAAE,CACtF,CAAA;YACD,MAAM,IAAA,qDAAoC,EAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAA;YACjF,MAAM,IAAA,mDAAkC,EAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAA;QACjF,CAAC;KACF;IACD;QACE,GAAG,EAAE,8BAA8B;QACnC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE;YAC9B,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAC1B,wDAAwD,QAAQ,CAAC,SAAS,UAAU,GAAG,CAAC,WAAW,EAAE,CACtG,CAAA;YACD,MAAM,IAAA,qDAAoC,EAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAA;YACjF,MAAM,IAAA,mDAAkC,EAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAA;QACjF,CAAC;KACF;IACD;QACE,GAAG,EAAE,qCAAqC;QAC1C,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE;YAC9B,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAC1B,0DAA0D,QAAQ,CAAC,SAAS,UAAU,GAAG,CAAC,WAAW,EAAE,CACxG,CAAA;QACH,CAAC;KACF;IACD;QACE,GAAG,EAAE,gCAAgC;QACrC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE;YAC9B,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAC1B,0DAA0D,QAAQ,CAAC,SAAS,UAAU,GAAG,CAAC,WAAW,EAAE,CACxG,CAAA;YACD,MAAM,IAAA,+CAA8B,EAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAA;QAC7E,CAAC;KACF;IACD;QACE,GAAG,EAAE,sBAAsB;QAC3B,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE;YAC9B,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAC1B,2CAA2C,QAAQ,CAAC,SAAS,UAAU,GAAG,CAAC,WAAW,EAAE,CACzF,CAAA;QACH,CAAC;KACF;IACD;QACE,GAAG,EAAE,mBAAmB;QACxB,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE;YAC9B,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAC1B,wCAAwC,QAAQ,CAAC,SAAS,UAAU,GAAG,CAAC,WAAW,EAAE,CACtF,CAAA;YACD,IAAI,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC;gBACpC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAC1B,2BAA2B,QAAQ,CAAC,SAAS,+FAA+F,CAC7I,CAAA;YACH,CAAC;QACH,CAAC;KACF;IACD;QACE,GAAG,EAAE,kBAAkB;QACvB,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE;YAC9B,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAC1B,uCAAuC,QAAQ,CAAC,SAAS,UAAU,GAAG,CAAC,WAAW,EAAE,CACrF,CAAA;QACH,CAAC;KACF;IACD;QACE,GAAG,EAAE,uBAAuB;QAC5B,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE;YAC9B,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAC1B,4CAA4C,QAAQ,CAAC,SAAS,UAAU,GAAG,CAAC,WAAW,EAAE,CAC1F,CAAA;QACH,CAAC;KACF;IACD;QACE,GAAG,EAAE,uBAAuB;QAC5B,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE;YAC9B,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAC1B,iDAAiD,QAAQ,CAAC,SAAS,UAAU,GAAG,CAAC,WAAW,EAAE,CAC/F,CAAA;QACH,CAAC;KACF;IACD;QACE,GAAG,EAAE,iBAAiB;QACtB,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE;YAC9B,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAC1B,2CAA2C,QAAQ,CAAC,SAAS,UAAU,GAAG,CAAC,WAAW,EAAE,CACzF,CAAA;QACH,CAAC;KACF;CACF,CAAA;AAED,SAAgB,kCAAkC;IAChD,MAAM,CAAC,GAAG,IAAI,+CAAsB,EAAE,CAAA;IACtC,uBAAe,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;IAC3C,OAAO,CAAC,CAAA;AACV,CAAC"}
|
|
@@ -14,6 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./authorizationHandlers"), exports);
|
|
17
18
|
__exportStar(require("./defaultHandlers"), exports);
|
|
18
19
|
__exportStar(require("./IndexerHandlerRegistry"), exports);
|
|
19
20
|
__exportStar(require("./stateMutations"), exports);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/blockchain/handlers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oDAAiC;AACjC,2DAAwC;AACxC,mDAAgC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/blockchain/handlers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0DAAuC;AACvC,oDAAiC;AACjC,2DAAwC;AACxC,mDAAgC"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { AgentContext } from '@credo-ts/core';
|
|
2
2
|
import { VtFlowRecord, VtFlowService } from '@verana-labs/credo-ts-didcomm-vt-flow';
|
|
3
3
|
import { VsAgent } from '../../agent/VsAgent';
|
|
4
|
+
import { VeranaIndexerService } from '../VeranaIndexerService';
|
|
4
5
|
import { IndexerActivity, VeranaSyncState } from '../types';
|
|
6
|
+
export declare function applyStateMutation(state: VeranaSyncState, activity: IndexerActivity): void;
|
|
5
7
|
export declare function upsertEcosystem(state: VeranaSyncState, activity: IndexerActivity): void;
|
|
6
8
|
export declare function bumpActiveVersion(state: VeranaSyncState, activity: IndexerActivity): void;
|
|
7
9
|
export declare function upsertCredentialSchema(state: VeranaSyncState, activity: IndexerActivity): void;
|
|
@@ -15,6 +17,9 @@ export declare function reconcileVtFlowRecordsForParticipant(agent: VsAgent, par
|
|
|
15
17
|
export declare function markVtFlowRecordsValidated(agent: VsAgent, participantId: string): Promise<void>;
|
|
16
18
|
export declare function setVtFlowRecordsParticipantRevoked(agent: VsAgent, participantId: string): Promise<void>;
|
|
17
19
|
export declare function setVtFlowRecordsParticipantSlashed(agent: VsAgent, participantId: string): Promise<void>;
|
|
18
|
-
|
|
20
|
+
/** VSA-VTI-FLOW-OP-REVOKE: a revoked/slashed HOLDER's credential is gone; drop its linked VP and stored VTC. */
|
|
21
|
+
export declare function removeHolderTrustCredentialIfRevoked(agent: VsAgent, participantId: string): Promise<void>;
|
|
22
|
+
export declare function reconcileVtFlowRecordsOnCancel(agent: VsAgent, participantId: string): Promise<void>;
|
|
19
23
|
export declare function startParticipantOPAutoFlow(agent: VsAgent, activity: IndexerActivity): Promise<void>;
|
|
24
|
+
export declare function reconcileVtjscPublications(agent: VsAgent, indexer: VeranaIndexerService, corporationId: number): Promise<void>;
|
|
20
25
|
export declare function publishVtjscIfOwner(state: VeranaSyncState, agent: VsAgent, schemaEntityId: string): Promise<void>;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.applyStateMutation = applyStateMutation;
|
|
3
4
|
exports.upsertEcosystem = upsertEcosystem;
|
|
4
5
|
exports.bumpActiveVersion = bumpActiveVersion;
|
|
5
6
|
exports.upsertCredentialSchema = upsertCredentialSchema;
|
|
@@ -8,26 +9,79 @@ exports.reconcileVtFlowRecordsForParticipant = reconcileVtFlowRecordsForParticip
|
|
|
8
9
|
exports.markVtFlowRecordsValidated = markVtFlowRecordsValidated;
|
|
9
10
|
exports.setVtFlowRecordsParticipantRevoked = setVtFlowRecordsParticipantRevoked;
|
|
10
11
|
exports.setVtFlowRecordsParticipantSlashed = setVtFlowRecordsParticipantSlashed;
|
|
11
|
-
exports.
|
|
12
|
+
exports.removeHolderTrustCredentialIfRevoked = removeHolderTrustCredentialIfRevoked;
|
|
13
|
+
exports.reconcileVtFlowRecordsOnCancel = reconcileVtFlowRecordsOnCancel;
|
|
12
14
|
exports.startParticipantOPAutoFlow = startParticipantOPAutoFlow;
|
|
15
|
+
exports.reconcileVtjscPublications = reconcileVtjscPublications;
|
|
13
16
|
exports.publishVtjscIfOwner = publishVtjscIfOwner;
|
|
14
17
|
const credo_ts_didcomm_vt_flow_1 = require("@verana-labs/credo-ts-didcomm-vt-flow");
|
|
15
18
|
const vs_agent_model_1 = require("@verana-labs/vs-agent-model");
|
|
16
19
|
const data_1 = require("../../utils/data");
|
|
17
20
|
const trustCredentialStore_1 = require("../../utils/trustCredentialStore");
|
|
18
21
|
const vtFlow_1 = require("../../vtFlow");
|
|
22
|
+
const types_1 = require("../types");
|
|
19
23
|
const DEFAULT_CHAIN_ID = 'vna-testnet-1';
|
|
24
|
+
const PARTICIPANT_ROLE_HOLDER = 6;
|
|
25
|
+
function applyStateMutation(state, activity) {
|
|
26
|
+
var _a;
|
|
27
|
+
switch (activity.msg) {
|
|
28
|
+
case 'CreateNewEcosystem':
|
|
29
|
+
case 'UpdateEcosystem':
|
|
30
|
+
case 'ArchiveEcosystem':
|
|
31
|
+
case 'AddGovernanceFrameworkDocument':
|
|
32
|
+
upsertEcosystem(state, activity);
|
|
33
|
+
break;
|
|
34
|
+
case 'IncreaseActiveGFVersion':
|
|
35
|
+
bumpActiveVersion(state, activity);
|
|
36
|
+
break;
|
|
37
|
+
case 'CreateNewCredentialSchema':
|
|
38
|
+
case 'UpdateCredentialSchema':
|
|
39
|
+
case 'ArchiveCredentialSchema':
|
|
40
|
+
upsertCredentialSchema(state, activity);
|
|
41
|
+
break;
|
|
42
|
+
case 'StartParticipantOP':
|
|
43
|
+
case 'RenewParticipantOP':
|
|
44
|
+
upsertParticipant(state, activity, { opState: 'PENDING' });
|
|
45
|
+
break;
|
|
46
|
+
case 'CreateRootParticipant':
|
|
47
|
+
case 'SelfCreateParticipant':
|
|
48
|
+
upsertParticipant(state, activity, {});
|
|
49
|
+
break;
|
|
50
|
+
case 'SetParticipantOPToValidated':
|
|
51
|
+
upsertParticipant(state, activity, { opState: 'VALIDATED' });
|
|
52
|
+
break;
|
|
53
|
+
case 'SetParticipantEffectiveUntil':
|
|
54
|
+
upsertParticipant(state, activity, {
|
|
55
|
+
effectiveUntil: String((_a = activity.changes['effective_until']) !== null && _a !== void 0 ? _a : ''),
|
|
56
|
+
});
|
|
57
|
+
break;
|
|
58
|
+
case 'RevokeParticipant':
|
|
59
|
+
upsertParticipant(state, activity, { revoked: true });
|
|
60
|
+
break;
|
|
61
|
+
case 'SlashParticipantTrustDeposit':
|
|
62
|
+
upsertParticipant(state, activity, { slashed: true });
|
|
63
|
+
break;
|
|
64
|
+
case 'RepayParticipantSlashedTrustDeposit':
|
|
65
|
+
upsertParticipant(state, activity, { slashed: false });
|
|
66
|
+
break;
|
|
67
|
+
case 'CancelParticipantOPLastRequest':
|
|
68
|
+
upsertParticipant(state, activity, {});
|
|
69
|
+
break;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
20
72
|
function upsertEcosystem(state, activity) {
|
|
21
|
-
var _a, _b, _c, _d, _e
|
|
73
|
+
var _a, _b, _c, _d, _e;
|
|
22
74
|
const block = Number(activity.block_height) || 0;
|
|
23
75
|
const id = String(activity.entity_id);
|
|
24
76
|
const c = activity.changes;
|
|
25
77
|
const existing = state.ecosystems[id];
|
|
78
|
+
const archivedRaw = c['archived'];
|
|
79
|
+
const archived = archivedRaw !== undefined ? archivedRaw !== null && archivedRaw !== false : ((_a = existing === null || existing === void 0 ? void 0 : existing.archived) !== null && _a !== void 0 ? _a : false);
|
|
26
80
|
state.ecosystems[id] = {
|
|
27
81
|
id: Number(id),
|
|
28
|
-
did: String((
|
|
29
|
-
corporationId: Number((
|
|
30
|
-
archived
|
|
82
|
+
did: String((_c = (_b = c['did']) !== null && _b !== void 0 ? _b : existing === null || existing === void 0 ? void 0 : existing.did) !== null && _c !== void 0 ? _c : ''),
|
|
83
|
+
corporationId: Number((_e = (_d = c['corporation_id']) !== null && _d !== void 0 ? _d : existing === null || existing === void 0 ? void 0 : existing.corporationId) !== null && _e !== void 0 ? _e : 0),
|
|
84
|
+
archived,
|
|
31
85
|
activeVersion: existing === null || existing === void 0 ? void 0 : existing.activeVersion,
|
|
32
86
|
lastModifiedBlock: block,
|
|
33
87
|
};
|
|
@@ -115,7 +169,12 @@ async function setVtFlowRecordsParticipantRevoked(agent, participantId) {
|
|
|
115
169
|
record.state === credo_ts_didcomm_vt_flow_1.VtFlowState.ParticipantSlashed) {
|
|
116
170
|
return null;
|
|
117
171
|
}
|
|
118
|
-
await
|
|
172
|
+
await agentContext.dependencyManager.resolve(credo_ts_didcomm_vt_flow_1.VtFlowApi).terminateByChainEvent({
|
|
173
|
+
vtFlowRecordId: record.id,
|
|
174
|
+
code: credo_ts_didcomm_vt_flow_1.VtFlowErrorCode.ParticipantRevoked,
|
|
175
|
+
state: credo_ts_didcomm_vt_flow_1.VtFlowState.ParticipantRevoked,
|
|
176
|
+
enDescription: `Participant ${participantId} has been revoked on-chain`,
|
|
177
|
+
});
|
|
119
178
|
return 'PARTICIPANT_REVOKED';
|
|
120
179
|
}, 'Failed to set PARTICIPANT_REVOKED');
|
|
121
180
|
}
|
|
@@ -125,15 +184,56 @@ async function setVtFlowRecordsParticipantSlashed(agent, participantId) {
|
|
|
125
184
|
record.state === credo_ts_didcomm_vt_flow_1.VtFlowState.ParticipantRevoked) {
|
|
126
185
|
return null;
|
|
127
186
|
}
|
|
128
|
-
await
|
|
187
|
+
await agentContext.dependencyManager.resolve(credo_ts_didcomm_vt_flow_1.VtFlowApi).terminateByChainEvent({
|
|
188
|
+
vtFlowRecordId: record.id,
|
|
189
|
+
code: credo_ts_didcomm_vt_flow_1.VtFlowErrorCode.ParticipantSlashed,
|
|
190
|
+
state: credo_ts_didcomm_vt_flow_1.VtFlowState.ParticipantSlashed,
|
|
191
|
+
enDescription: `Participant ${participantId} trust deposit has been slashed on-chain`,
|
|
192
|
+
});
|
|
129
193
|
return 'PARTICIPANT_SLASHED';
|
|
130
194
|
}, 'Failed to set PARTICIPANT_SLASHED');
|
|
131
195
|
}
|
|
132
|
-
|
|
196
|
+
/** VSA-VTI-FLOW-OP-REVOKE: a revoked/slashed HOLDER's credential is gone; drop its linked VP and stored VTC. */
|
|
197
|
+
async function removeHolderTrustCredentialIfRevoked(agent, participantId) {
|
|
198
|
+
var _a;
|
|
199
|
+
const participant = await ((_a = agent.veranaChain) === null || _a === void 0 ? void 0 : _a.getParticipant(Number(participantId)).catch(() => undefined));
|
|
200
|
+
if ((participant === null || participant === void 0 ? void 0 : participant.role) !== PARTICIPANT_ROLE_HOLDER || participant.did !== agent.did)
|
|
201
|
+
return;
|
|
202
|
+
if (!agent.publicApiBaseUrl)
|
|
203
|
+
return;
|
|
204
|
+
const agentContext = agent.context;
|
|
205
|
+
const service = agentContext.dependencyManager.resolve(credo_ts_didcomm_vt_flow_1.VtFlowService);
|
|
206
|
+
const records = await service.findAllByQuery(agentContext, { participantId });
|
|
207
|
+
for (const record of records) {
|
|
208
|
+
if (record.role !== credo_ts_didcomm_vt_flow_1.VtFlowRole.Applicant || !record.credentialExchangeRecordId)
|
|
209
|
+
continue;
|
|
210
|
+
try {
|
|
211
|
+
const credentialId = await (0, trustCredentialStore_1.removeStoredTrustCredential)(agent, agent.publicApiBaseUrl, record.credentialExchangeRecordId);
|
|
212
|
+
if (credentialId) {
|
|
213
|
+
agent.config.logger.info(`[IndexerWS] Removed linked VP and stored credential ${credentialId} (participant=${participantId})`);
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
catch (e) {
|
|
217
|
+
agent.config.logger.error(`[IndexerWS] Failed to remove credential for revoked HOLDER participant ${participantId}`, e);
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
async function reconcileVtFlowRecordsOnCancel(agent, participantId) {
|
|
222
|
+
var _a;
|
|
223
|
+
const participant = await ((_a = agent.veranaChain) === null || _a === void 0 ? void 0 : _a.getParticipant(Number(participantId)).catch(() => undefined));
|
|
224
|
+
const stillValidated = Number(participant === null || participant === void 0 ? void 0 : participant.opState) === types_1.ValidationState.VALIDATED;
|
|
133
225
|
await reconcileVtFlowRecordsForParticipant(agent, participantId, async (record, service, agentContext) => {
|
|
226
|
+
if ((0, credo_ts_didcomm_vt_flow_1.isVtFlowTerminalState)(record.state))
|
|
227
|
+
return null;
|
|
228
|
+
if (stillValidated && record.credentialExchangeRecordId) {
|
|
229
|
+
if (record.state === credo_ts_didcomm_vt_flow_1.VtFlowState.Completed)
|
|
230
|
+
return null;
|
|
231
|
+
await service.updateState(agentContext, record, credo_ts_didcomm_vt_flow_1.VtFlowState.Completed);
|
|
232
|
+
return 'COMPLETED';
|
|
233
|
+
}
|
|
134
234
|
await service.updateState(agentContext, record, credo_ts_didcomm_vt_flow_1.VtFlowState.TerminatedByApplicant);
|
|
135
235
|
return 'TERMINATED_BY_APPLICANT';
|
|
136
|
-
}, 'Failed to
|
|
236
|
+
}, 'Failed to reconcile record after cancel');
|
|
137
237
|
}
|
|
138
238
|
async function startParticipantOPAutoFlow(agent, activity) {
|
|
139
239
|
const chain = agent.veranaChain;
|
|
@@ -153,6 +253,42 @@ async function startParticipantOPAutoFlow(agent, activity) {
|
|
|
153
253
|
agent.config.logger.error(`[IndexerWS] StartParticipantOP auto-flow failed: ${err.message}\n${err.stack}`);
|
|
154
254
|
}
|
|
155
255
|
}
|
|
256
|
+
async function reconcileVtjscPublications(agent, indexer, corporationId) {
|
|
257
|
+
var _a, _b, _c;
|
|
258
|
+
if (!agent.did || !agent.publicApiBaseUrl)
|
|
259
|
+
return;
|
|
260
|
+
const chainId = (_b = (_a = agent.veranaChain) === null || _a === void 0 ? void 0 : _a.getChainId) !== null && _b !== void 0 ? _b : DEFAULT_CHAIN_ID;
|
|
261
|
+
const ecosystems = await indexer.listEcosystems();
|
|
262
|
+
for (const ecosystem of ecosystems.filter(entry => Number(entry.corporation_id) === corporationId)) {
|
|
263
|
+
for (const schema of await indexer.listCredentialSchemas(ecosystem.id)) {
|
|
264
|
+
const [didRecord] = await agent.dids.getCreatedDids({ did: agent.did });
|
|
265
|
+
if (!didRecord)
|
|
266
|
+
return;
|
|
267
|
+
const schemaRef = `vpr:verana:${chainId}:cs:${schema.id}`;
|
|
268
|
+
if ((0, trustCredentialStore_1.findMetadataEntry)(didRecord, '_vt/jsc', '', schemaRef))
|
|
269
|
+
continue;
|
|
270
|
+
try {
|
|
271
|
+
const legacyRef = `vpr:verana:${chainId}/cs/v1/js/${schema.id}`;
|
|
272
|
+
const legacyEntry = (0, trustCredentialStore_1.findMetadataEntry)(didRecord, '_vt/jsc', '', legacyRef);
|
|
273
|
+
if (legacyEntry) {
|
|
274
|
+
if (legacyEntry.didDocumentServiceId && ((_c = didRecord.didDocument) === null || _c === void 0 ? void 0 : _c.service)) {
|
|
275
|
+
didRecord.didDocument.service = didRecord.didDocument.service.filter(service => service.id !== legacyEntry.didDocumentServiceId);
|
|
276
|
+
}
|
|
277
|
+
await (0, trustCredentialStore_1.deleteMetadataEntry)(agent, legacyRef, didRecord, '_vt/jsc', agent.publicApiBaseUrl);
|
|
278
|
+
}
|
|
279
|
+
await (0, trustCredentialStore_1.createJsc)(agent, agent.publicApiBaseUrl, (0, data_1.getEcsSchemas)(agent.publicApiBaseUrl), {
|
|
280
|
+
schemaBaseId: String(schema.id),
|
|
281
|
+
jsonSchemaRef: schemaRef,
|
|
282
|
+
precomputedDigestSRI: await (0, vs_agent_model_1.computeSchemaDigest)(JSON.parse(schema.json_schema)),
|
|
283
|
+
});
|
|
284
|
+
agent.config.logger.info(`[VTJSC] Reconciled VTJSC for schema ${schema.id} (ecosystem ${ecosystem.id})`);
|
|
285
|
+
}
|
|
286
|
+
catch (e) {
|
|
287
|
+
agent.config.logger.error(`[VTJSC] Failed to reconcile VTJSC for schema ${schema.id}`, e);
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
}
|
|
156
292
|
async function publishVtjscIfOwner(state, agent, schemaEntityId) {
|
|
157
293
|
var _a, _b;
|
|
158
294
|
const schema = state.credentialSchemas[schemaEntityId];
|
|
@@ -164,7 +300,7 @@ async function publishVtjscIfOwner(state, agent, schemaEntityId) {
|
|
|
164
300
|
agent.config.logger.warn(`[VTJSC] Ecosystem ${schema.ecosystemId} not found in state`);
|
|
165
301
|
}
|
|
166
302
|
const chainId = (_b = (_a = agent.veranaChain) === null || _a === void 0 ? void 0 : _a.getChainId) !== null && _b !== void 0 ? _b : DEFAULT_CHAIN_ID;
|
|
167
|
-
const jsonSchemaRef = `vpr:verana:${chainId}
|
|
303
|
+
const jsonSchemaRef = `vpr:verana:${chainId}:cs:${schema.id}`;
|
|
168
304
|
let digestSRI;
|
|
169
305
|
try {
|
|
170
306
|
digestSRI = await (0, vs_agent_model_1.computeSchemaDigest)(JSON.parse(schema.jsonSchema));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stateMutations.js","sourceRoot":"","sources":["../../../src/blockchain/handlers/stateMutations.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"stateMutations.js","sourceRoot":"","sources":["../../../src/blockchain/handlers/stateMutations.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,6 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./AuthorizationService"), exports);
|
|
17
18
|
__exportStar(require("./IndexerWebSocketService"), exports);
|
|
18
19
|
__exportStar(require("./VeranaHelpers"), exports);
|
|
19
20
|
__exportStar(require("./VeranaChainService"), exports);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/blockchain/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4DAAyC;AACzC,kDAA+B;AAC/B,uDAAoC;AACpC,yDAAsC;AACtC,0CAAuB;AACvB,6CAA0B"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/blockchain/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yDAAsC;AACtC,4DAAyC;AACzC,kDAA+B;AAC/B,uDAAoC;AACpC,yDAAsC;AACtC,0CAAuB;AACvB,6CAA0B"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { IndexerEventRecord } from './types';
|
|
2
|
+
export declare function eventKey(event: IndexerEventRecord): string;
|
|
3
|
+
export declare function isProcessableEvent(event: IndexerEventRecord): boolean;
|
|
4
|
+
export declare function sortEventsByPosition(events: IndexerEventRecord[]): IndexerEventRecord[];
|
|
5
|
+
export interface RestCursorResult {
|
|
6
|
+
done: boolean;
|
|
7
|
+
cursor: number;
|
|
8
|
+
blockExceedsPage: boolean;
|
|
9
|
+
}
|
|
10
|
+
export declare function nextRestCursor(events: IndexerEventRecord[], currentCursor: number, pageLimit: number): RestCursorResult;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.eventKey = eventKey;
|
|
4
|
+
exports.isProcessableEvent = isProcessableEvent;
|
|
5
|
+
exports.sortEventsByPosition = sortEventsByPosition;
|
|
6
|
+
exports.nextRestCursor = nextRestCursor;
|
|
7
|
+
function eventKey(event) {
|
|
8
|
+
return `${event.tx_hash}:${event.payload.message_index}:${event.event_type}`;
|
|
9
|
+
}
|
|
10
|
+
function isProcessableEvent(event) {
|
|
11
|
+
var _a;
|
|
12
|
+
return event.type === 'indexer-event' && event.block_height > 0 && Boolean((_a = event.payload) === null || _a === void 0 ? void 0 : _a.sender);
|
|
13
|
+
}
|
|
14
|
+
function sortEventsByPosition(events) {
|
|
15
|
+
return [...events].sort((a, b) => {
|
|
16
|
+
if (a.block_height !== b.block_height)
|
|
17
|
+
return a.block_height - b.block_height;
|
|
18
|
+
if (a.payload.tx_index !== b.payload.tx_index)
|
|
19
|
+
return a.payload.tx_index - b.payload.tx_index;
|
|
20
|
+
return a.payload.message_index - b.payload.message_index;
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
// A full page can stop partway through a block, so step back one block and let dedup skip the
|
|
24
|
+
// repeats. If one block fills the whole page, move past it.
|
|
25
|
+
function nextRestCursor(events, currentCursor, pageLimit) {
|
|
26
|
+
if (events.length < pageLimit)
|
|
27
|
+
return { done: true, cursor: currentCursor, blockExceedsPage: false };
|
|
28
|
+
const maxBlock = events.reduce((max, e) => (e.block_height > max ? e.block_height : max), currentCursor);
|
|
29
|
+
const rewound = maxBlock - 1;
|
|
30
|
+
if (rewound > currentCursor)
|
|
31
|
+
return { done: false, cursor: rewound, blockExceedsPage: false };
|
|
32
|
+
return { done: false, cursor: maxBlock, blockExceedsPage: true };
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=indexerSync.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"indexerSync.js","sourceRoot":"","sources":["../../src/blockchain/indexerSync.ts"],"names":[],"mappings":";;AAEA,4BAEC;AAED,gDAEC;AAED,oDAMC;AAUD,wCAUC;AAlCD,SAAgB,QAAQ,CAAC,KAAyB;IAChD,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,IAAI,KAAK,CAAC,UAAU,EAAE,CAAA;AAC9E,CAAC;AAED,SAAgB,kBAAkB,CAAC,KAAyB;;IAC1D,OAAO,KAAK,CAAC,IAAI,KAAK,eAAe,IAAI,KAAK,CAAC,YAAY,GAAG,CAAC,IAAI,OAAO,CAAC,MAAA,KAAK,CAAC,OAAO,0CAAE,MAAM,CAAC,CAAA;AACnG,CAAC;AAED,SAAgB,oBAAoB,CAAC,MAA4B;IAC/D,OAAO,CAAC,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QAC/B,IAAI,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,YAAY;YAAE,OAAO,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,YAAY,CAAA;QAC7E,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,KAAK,CAAC,CAAC,OAAO,CAAC,QAAQ;YAAE,OAAO,CAAC,CAAC,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAA;QAC7F,OAAO,CAAC,CAAC,OAAO,CAAC,aAAa,GAAG,CAAC,CAAC,OAAO,CAAC,aAAa,CAAA;IAC1D,CAAC,CAAC,CAAA;AACJ,CAAC;AAQD,8FAA8F;AAC9F,4DAA4D;AAC5D,SAAgB,cAAc,CAC5B,MAA4B,EAC5B,aAAqB,EACrB,SAAiB;IAEjB,IAAI,MAAM,CAAC,MAAM,GAAG,SAAS;QAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAA;IACpG,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,aAAa,CAAC,CAAA;IACxG,MAAM,OAAO,GAAG,QAAQ,GAAG,CAAC,CAAA;IAC5B,IAAI,OAAO,GAAG,aAAa;QAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAA;IAC7F,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAA;AAClE,CAAC"}
|