@origintrail-official/dkg-agent 10.0.19 → 10.0.20

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 (300) hide show
  1. package/dist/confirmed-graph-scoped-vm-resolver.d.ts +7 -1
  2. package/dist/confirmed-graph-scoped-vm-resolver.d.ts.map +1 -1
  3. package/dist/confirmed-graph-scoped-vm-resolver.js +5 -3
  4. package/dist/confirmed-graph-scoped-vm-resolver.js.map +1 -1
  5. package/dist/context-graph-authority-dependency.d.ts +11 -0
  6. package/dist/context-graph-authority-dependency.d.ts.map +1 -0
  7. package/dist/context-graph-authority-dependency.js +50 -0
  8. package/dist/context-graph-authority-dependency.js.map +1 -0
  9. package/dist/context-graph-binding-state.d.ts +6 -0
  10. package/dist/context-graph-binding-state.d.ts.map +1 -1
  11. package/dist/context-graph-binding-state.js +17 -10
  12. package/dist/context-graph-binding-state.js.map +1 -1
  13. package/dist/context-graph-claim-proof.d.ts +74 -0
  14. package/dist/context-graph-claim-proof.d.ts.map +1 -0
  15. package/dist/context-graph-claim-proof.js +137 -0
  16. package/dist/context-graph-claim-proof.js.map +1 -0
  17. package/dist/context-graph-member-proof.d.ts +20 -0
  18. package/dist/context-graph-member-proof.d.ts.map +1 -0
  19. package/dist/context-graph-member-proof.js +106 -0
  20. package/dist/context-graph-member-proof.js.map +1 -0
  21. package/dist/context-graph-meta-confirmation.d.ts +22 -2
  22. package/dist/context-graph-meta-confirmation.d.ts.map +1 -1
  23. package/dist/context-graph-meta-confirmation.js +54 -23
  24. package/dist/context-graph-meta-confirmation.js.map +1 -1
  25. package/dist/context-graph-metadata-relocation.d.ts +18 -30
  26. package/dist/context-graph-metadata-relocation.d.ts.map +1 -1
  27. package/dist/context-graph-metadata-relocation.js +32 -2
  28. package/dist/context-graph-metadata-relocation.js.map +1 -1
  29. package/dist/context-graph-private-meta-proof.d.ts +3 -9
  30. package/dist/context-graph-private-meta-proof.d.ts.map +1 -1
  31. package/dist/context-graph-private-meta-proof.js +2 -89
  32. package/dist/context-graph-private-meta-proof.js.map +1 -1
  33. package/dist/context-graph-public-meta-proof.d.ts +11 -1
  34. package/dist/context-graph-public-meta-proof.d.ts.map +1 -1
  35. package/dist/context-graph-public-meta-proof.js +23 -3
  36. package/dist/context-graph-public-meta-proof.js.map +1 -1
  37. package/dist/context-graph-read-authority.d.ts +17 -3
  38. package/dist/context-graph-read-authority.d.ts.map +1 -1
  39. package/dist/context-graph-read-authority.js +39 -15
  40. package/dist/context-graph-read-authority.js.map +1 -1
  41. package/dist/context-graph-storage-discovery.d.ts +3 -2
  42. package/dist/context-graph-storage-discovery.d.ts.map +1 -1
  43. package/dist/context-graph-storage-discovery.js +16 -5
  44. package/dist/context-graph-storage-discovery.js.map +1 -1
  45. package/dist/context-graph-subscription-authority-recovery.d.ts +7 -0
  46. package/dist/context-graph-subscription-authority-recovery.d.ts.map +1 -1
  47. package/dist/context-graph-subscription-authority-recovery.js +1 -0
  48. package/dist/context-graph-subscription-authority-recovery.js.map +1 -1
  49. package/dist/curator-meta-refresh.d.ts +16 -4
  50. package/dist/curator-meta-refresh.d.ts.map +1 -1
  51. package/dist/curator-meta-refresh.js +59 -14
  52. package/dist/curator-meta-refresh.js.map +1 -1
  53. package/dist/dkg-agent-agents-phonebook.d.ts +41 -0
  54. package/dist/dkg-agent-agents-phonebook.d.ts.map +1 -0
  55. package/dist/dkg-agent-agents-phonebook.js +155 -0
  56. package/dist/dkg-agent-agents-phonebook.js.map +1 -0
  57. package/dist/dkg-agent-base.d.ts +68 -2
  58. package/dist/dkg-agent-base.d.ts.map +1 -1
  59. package/dist/dkg-agent-base.js +78 -3
  60. package/dist/dkg-agent-base.js.map +1 -1
  61. package/dist/dkg-agent-cg-chain-observation.d.ts +6 -1
  62. package/dist/dkg-agent-cg-chain-observation.d.ts.map +1 -1
  63. package/dist/dkg-agent-cg-chain-observation.js +20 -5
  64. package/dist/dkg-agent-cg-chain-observation.js.map +1 -1
  65. package/dist/dkg-agent-cg-name-resolution.d.ts +38 -2
  66. package/dist/dkg-agent-cg-name-resolution.d.ts.map +1 -1
  67. package/dist/dkg-agent-cg-name-resolution.js +100 -8
  68. package/dist/dkg-agent-cg-name-resolution.js.map +1 -1
  69. package/dist/dkg-agent-cg-registry.d.ts +33 -3
  70. package/dist/dkg-agent-cg-registry.d.ts.map +1 -1
  71. package/dist/dkg-agent-cg-registry.js +91 -14
  72. package/dist/dkg-agent-cg-registry.js.map +1 -1
  73. package/dist/dkg-agent-cg-resolve.d.ts.map +1 -1
  74. package/dist/dkg-agent-cg-resolve.js +18 -2
  75. package/dist/dkg-agent-cg-resolve.js.map +1 -1
  76. package/dist/dkg-agent-constants.d.ts +6 -0
  77. package/dist/dkg-agent-constants.d.ts.map +1 -1
  78. package/dist/dkg-agent-constants.js +6 -0
  79. package/dist/dkg-agent-constants.js.map +1 -1
  80. package/dist/dkg-agent-context-graph.d.ts.map +1 -1
  81. package/dist/dkg-agent-context-graph.js +1 -5
  82. package/dist/dkg-agent-context-graph.js.map +1 -1
  83. package/dist/dkg-agent-crypto.d.ts +28 -1
  84. package/dist/dkg-agent-crypto.d.ts.map +1 -1
  85. package/dist/dkg-agent-crypto.js +176 -46
  86. package/dist/dkg-agent-crypto.js.map +1 -1
  87. package/dist/dkg-agent-diagnostics.d.ts.map +1 -1
  88. package/dist/dkg-agent-diagnostics.js +4 -3
  89. package/dist/dkg-agent-diagnostics.js.map +1 -1
  90. package/dist/dkg-agent-lifecycle.d.ts +76 -12
  91. package/dist/dkg-agent-lifecycle.d.ts.map +1 -1
  92. package/dist/dkg-agent-lifecycle.js +406 -108
  93. package/dist/dkg-agent-lifecycle.js.map +1 -1
  94. package/dist/dkg-agent-publish.d.ts.map +1 -1
  95. package/dist/dkg-agent-publish.js +9 -30
  96. package/dist/dkg-agent-publish.js.map +1 -1
  97. package/dist/dkg-agent-query.d.ts.map +1 -1
  98. package/dist/dkg-agent-query.js +31 -27
  99. package/dist/dkg-agent-query.js.map +1 -1
  100. package/dist/dkg-agent-rfc64-catalog.d.ts +31 -0
  101. package/dist/dkg-agent-rfc64-catalog.d.ts.map +1 -1
  102. package/dist/dkg-agent-rfc64-catalog.js +239 -33
  103. package/dist/dkg-agent-rfc64-catalog.js.map +1 -1
  104. package/dist/dkg-agent-rfc64-meta-bootstrap.d.ts +6 -1
  105. package/dist/dkg-agent-rfc64-meta-bootstrap.d.ts.map +1 -1
  106. package/dist/dkg-agent-rfc64-meta-bootstrap.js +29 -13
  107. package/dist/dkg-agent-rfc64-meta-bootstrap.js.map +1 -1
  108. package/dist/dkg-agent-rfc64-swm-catalog-projection-supervisor.d.ts +8 -0
  109. package/dist/dkg-agent-rfc64-swm-catalog-projection-supervisor.d.ts.map +1 -1
  110. package/dist/dkg-agent-rfc64-swm-catalog-projection-supervisor.js +249 -40
  111. package/dist/dkg-agent-rfc64-swm-catalog-projection-supervisor.js.map +1 -1
  112. package/dist/dkg-agent-rfc64-swm-catalog-projection.d.ts.map +1 -1
  113. package/dist/dkg-agent-rfc64-swm-catalog-projection.js +3 -2
  114. package/dist/dkg-agent-rfc64-swm-catalog-projection.js.map +1 -1
  115. package/dist/dkg-agent-swm-host.d.ts +174 -0
  116. package/dist/dkg-agent-swm-host.d.ts.map +1 -1
  117. package/dist/dkg-agent-swm-host.js +654 -24
  118. package/dist/dkg-agent-swm-host.js.map +1 -1
  119. package/dist/dkg-agent-swm-substrate.d.ts +47 -8
  120. package/dist/dkg-agent-swm-substrate.d.ts.map +1 -1
  121. package/dist/dkg-agent-swm-substrate.js +128 -12
  122. package/dist/dkg-agent-swm-substrate.js.map +1 -1
  123. package/dist/dkg-agent-types.d.ts +24 -1
  124. package/dist/dkg-agent-types.d.ts.map +1 -1
  125. package/dist/dkg-agent-vm-promotion.d.ts +2 -0
  126. package/dist/dkg-agent-vm-promotion.d.ts.map +1 -1
  127. package/dist/dkg-agent-vm-promotion.js +1 -0
  128. package/dist/dkg-agent-vm-promotion.js.map +1 -1
  129. package/dist/dkg-agent-vm-reconcile-scheduling.d.ts +7 -0
  130. package/dist/dkg-agent-vm-reconcile-scheduling.d.ts.map +1 -1
  131. package/dist/dkg-agent-vm-reconcile-scheduling.js +18 -0
  132. package/dist/dkg-agent-vm-reconcile-scheduling.js.map +1 -1
  133. package/dist/dkg-agent.d.ts +24 -2
  134. package/dist/dkg-agent.d.ts.map +1 -1
  135. package/dist/dkg-agent.js +114 -28
  136. package/dist/dkg-agent.js.map +1 -1
  137. package/dist/finalization-handler.d.ts +7 -4
  138. package/dist/finalization-handler.d.ts.map +1 -1
  139. package/dist/finalization-handler.js +15 -6
  140. package/dist/finalization-handler.js.map +1 -1
  141. package/dist/finalization-recovery-sqlite-displacement.d.ts +37 -0
  142. package/dist/finalization-recovery-sqlite-displacement.d.ts.map +1 -0
  143. package/dist/finalization-recovery-sqlite-displacement.js +102 -0
  144. package/dist/finalization-recovery-sqlite-displacement.js.map +1 -0
  145. package/dist/finalization-recovery-sqlite-policy.d.ts +20 -4
  146. package/dist/finalization-recovery-sqlite-policy.d.ts.map +1 -1
  147. package/dist/finalization-recovery-sqlite-policy.js +21 -5
  148. package/dist/finalization-recovery-sqlite-policy.js.map +1 -1
  149. package/dist/finalization-recovery-sqlite-rows.d.ts +53 -0
  150. package/dist/finalization-recovery-sqlite-rows.d.ts.map +1 -0
  151. package/dist/finalization-recovery-sqlite-rows.js +77 -0
  152. package/dist/finalization-recovery-sqlite-rows.js.map +1 -0
  153. package/dist/finalization-recovery-sqlite-store.d.ts +10 -4
  154. package/dist/finalization-recovery-sqlite-store.d.ts.map +1 -1
  155. package/dist/finalization-recovery-sqlite-store.js +49 -50
  156. package/dist/finalization-recovery-sqlite-store.js.map +1 -1
  157. package/dist/finalization-recovery-store.d.ts +18 -0
  158. package/dist/finalization-recovery-store.d.ts.map +1 -1
  159. package/dist/finalization-recovery-store.js +24 -0
  160. package/dist/finalization-recovery-store.js.map +1 -1
  161. package/dist/finalization-recovery.d.ts +2 -3
  162. package/dist/finalization-recovery.d.ts.map +1 -1
  163. package/dist/finalization-recovery.js +12 -9
  164. package/dist/finalization-recovery.js.map +1 -1
  165. package/dist/gossip-publish-handler.d.ts.map +1 -1
  166. package/dist/gossip-publish-handler.js +4 -2
  167. package/dist/gossip-publish-handler.js.map +1 -1
  168. package/dist/index.d.ts +1 -1
  169. package/dist/index.d.ts.map +1 -1
  170. package/dist/index.js.map +1 -1
  171. package/dist/internal/context-graph-authority/approved-member-acceptance.d.ts +61 -0
  172. package/dist/internal/context-graph-authority/approved-member-acceptance.d.ts.map +1 -0
  173. package/dist/internal/context-graph-authority/approved-member-acceptance.js +75 -0
  174. package/dist/internal/context-graph-authority/approved-member-acceptance.js.map +1 -0
  175. package/dist/internal/context-graph-authority/context-graph-authority.d.ts +1 -0
  176. package/dist/internal/context-graph-authority/context-graph-authority.d.ts.map +1 -1
  177. package/dist/internal/context-graph-authority/context-graph-authority.js +25 -0
  178. package/dist/internal/context-graph-authority/context-graph-authority.js.map +1 -1
  179. package/dist/internal/context-graph-authority/swm-transport-authority.d.ts +48 -0
  180. package/dist/internal/context-graph-authority/swm-transport-authority.d.ts.map +1 -0
  181. package/dist/internal/context-graph-authority/swm-transport-authority.js +58 -0
  182. package/dist/internal/context-graph-authority/swm-transport-authority.js.map +1 -0
  183. package/dist/internal/promote/assertion-promote-precommit.d.ts.map +1 -1
  184. package/dist/internal/promote/assertion-promote-precommit.js +6 -18
  185. package/dist/internal/promote/assertion-promote-precommit.js.map +1 -1
  186. package/dist/p2p/peer-connect.d.ts +10 -1
  187. package/dist/p2p/peer-connect.d.ts.map +1 -1
  188. package/dist/p2p/peer-connect.js +11 -2
  189. package/dist/p2p/peer-connect.js.map +1 -1
  190. package/dist/p2p/peer-selection.d.ts +8 -0
  191. package/dist/p2p/peer-selection.d.ts.map +1 -1
  192. package/dist/p2p/peer-selection.js +21 -12
  193. package/dist/p2p/peer-selection.js.map +1 -1
  194. package/dist/p2p/protocol-readiness.d.ts +3 -3
  195. package/dist/p2p/protocol-readiness.d.ts.map +1 -1
  196. package/dist/p2p/protocol-readiness.js +4 -3
  197. package/dist/p2p/protocol-readiness.js.map +1 -1
  198. package/dist/registered-context-graph-authority.d.ts +12 -0
  199. package/dist/registered-context-graph-authority.d.ts.map +1 -1
  200. package/dist/rfc64/applied-catalog-authority-transition-v1.d.ts.map +1 -1
  201. package/dist/rfc64/applied-catalog-authority-transition-v1.js +15 -17
  202. package/dist/rfc64/applied-catalog-authority-transition-v1.js.map +1 -1
  203. package/dist/rfc64/catalog-operational-applied-heads-v1.d.ts +6 -10
  204. package/dist/rfc64/catalog-operational-applied-heads-v1.d.ts.map +1 -1
  205. package/dist/rfc64/catalog-operational-applied-heads-v1.js +12 -50
  206. package/dist/rfc64/catalog-operational-applied-heads-v1.js.map +1 -1
  207. package/dist/rfc64/catalog-repair-diagnostics-v1.d.ts +28 -0
  208. package/dist/rfc64/catalog-repair-diagnostics-v1.d.ts.map +1 -0
  209. package/dist/rfc64/catalog-repair-diagnostics-v1.js +93 -0
  210. package/dist/rfc64/catalog-repair-diagnostics-v1.js.map +1 -0
  211. package/dist/rfc64/catalog-repair-retry-v1.d.ts +13 -0
  212. package/dist/rfc64/catalog-repair-retry-v1.d.ts.map +1 -0
  213. package/dist/rfc64/catalog-repair-retry-v1.js +39 -0
  214. package/dist/rfc64/catalog-repair-retry-v1.js.map +1 -0
  215. package/dist/rfc64/catalog-replay-recovery-runtime-v1.d.ts +50 -0
  216. package/dist/rfc64/catalog-replay-recovery-runtime-v1.d.ts.map +1 -1
  217. package/dist/rfc64/catalog-replay-recovery-runtime-v1.js +171 -8
  218. package/dist/rfc64/catalog-replay-recovery-runtime-v1.js.map +1 -1
  219. package/dist/rfc64/catalog-replay-snapshot-runtime-v1.d.ts +2 -8
  220. package/dist/rfc64/catalog-replay-snapshot-runtime-v1.d.ts.map +1 -1
  221. package/dist/rfc64/catalog-replay-snapshot-runtime-v1.js +10 -37
  222. package/dist/rfc64/catalog-replay-snapshot-runtime-v1.js.map +1 -1
  223. package/dist/rfc64/catalog-rollout-authority-v1.d.ts +13 -0
  224. package/dist/rfc64/catalog-rollout-authority-v1.d.ts.map +1 -1
  225. package/dist/rfc64/catalog-rollout-authority-v1.js +11 -0
  226. package/dist/rfc64/catalog-rollout-authority-v1.js.map +1 -1
  227. package/dist/rfc64/catalog-row-authorship.d.ts +12 -0
  228. package/dist/rfc64/catalog-row-authorship.d.ts.map +1 -1
  229. package/dist/rfc64/catalog-row-authorship.js +110 -57
  230. package/dist/rfc64/catalog-row-authorship.js.map +1 -1
  231. package/dist/rfc64/inventory-v1/candidate.d.ts +31 -10
  232. package/dist/rfc64/inventory-v1/candidate.d.ts.map +1 -1
  233. package/dist/rfc64/inventory-v1/candidate.js +51 -16
  234. package/dist/rfc64/inventory-v1/candidate.js.map +1 -1
  235. package/dist/rfc64/inventory-v1/index.d.ts +1 -1
  236. package/dist/rfc64/inventory-v1/index.d.ts.map +1 -1
  237. package/dist/rfc64/inventory-v1/index.js +1 -1
  238. package/dist/rfc64/inventory-v1/index.js.map +1 -1
  239. package/dist/rfc64/inventory-v1/open.d.ts.map +1 -1
  240. package/dist/rfc64/inventory-v1/open.js +7 -4
  241. package/dist/rfc64/inventory-v1/open.js.map +1 -1
  242. package/dist/rfc64/inventory-v1/swm-author-inventory-persistence.d.ts +3 -1
  243. package/dist/rfc64/inventory-v1/swm-author-inventory-persistence.d.ts.map +1 -1
  244. package/dist/rfc64/inventory-v1/swm-author-inventory-persistence.js +15 -0
  245. package/dist/rfc64/inventory-v1/swm-author-inventory-persistence.js.map +1 -1
  246. package/dist/rfc64/public-catalog-native-receiver-v1.d.ts.map +1 -1
  247. package/dist/rfc64/public-catalog-native-receiver-v1.js +26 -21
  248. package/dist/rfc64/public-catalog-native-receiver-v1.js.map +1 -1
  249. package/dist/rfc64/public-catalog-native-reconciler-v1.d.ts +17 -11
  250. package/dist/rfc64/public-catalog-native-reconciler-v1.d.ts.map +1 -1
  251. package/dist/rfc64/public-catalog-native-reconciler-v1.js +10 -8
  252. package/dist/rfc64/public-catalog-native-reconciler-v1.js.map +1 -1
  253. package/dist/rfc64/public-catalog-receiver-v1.d.ts +9 -0
  254. package/dist/rfc64/public-catalog-receiver-v1.d.ts.map +1 -1
  255. package/dist/rfc64/public-catalog-receiver-v1.js +11 -2
  256. package/dist/rfc64/public-catalog-receiver-v1.js.map +1 -1
  257. package/dist/rfc64/public-catalog-service-v1.d.ts.map +1 -1
  258. package/dist/rfc64/public-catalog-service-v1.js +21 -22
  259. package/dist/rfc64/public-catalog-service-v1.js.map +1 -1
  260. package/dist/rfc64/public-catalog-successor-producer-v1.d.ts.map +1 -1
  261. package/dist/rfc64/public-catalog-successor-producer-v1.js +5 -4
  262. package/dist/rfc64/public-catalog-successor-producer-v1.js.map +1 -1
  263. package/dist/rfc64/swm-catalog-durable-asset-resolver-v1.d.ts.map +1 -1
  264. package/dist/rfc64/swm-catalog-durable-asset-resolver-v1.js +60 -53
  265. package/dist/rfc64/swm-catalog-durable-asset-resolver-v1.js.map +1 -1
  266. package/dist/rfc64/swm-inventory-catalog-reconciler-v1.d.ts +2 -1
  267. package/dist/rfc64/swm-inventory-catalog-reconciler-v1.d.ts.map +1 -1
  268. package/dist/rfc64/swm-inventory-catalog-reconciler-v1.js +44 -4
  269. package/dist/rfc64/swm-inventory-catalog-reconciler-v1.js.map +1 -1
  270. package/dist/sync/exact-asset-fetch.d.ts +22 -0
  271. package/dist/sync/exact-asset-fetch.d.ts.map +1 -1
  272. package/dist/sync/exact-asset-fetch.js +30 -3
  273. package/dist/sync/exact-asset-fetch.js.map +1 -1
  274. package/dist/sync/on-connect/sync-on-connect.d.ts +1 -1
  275. package/dist/sync/on-connect/sync-on-connect.d.ts.map +1 -1
  276. package/dist/sync/on-connect/sync-on-connect.js +3 -3
  277. package/dist/sync/on-connect/sync-on-connect.js.map +1 -1
  278. package/dist/sync/on-demand-agents-phonebook.d.ts +162 -0
  279. package/dist/sync/on-demand-agents-phonebook.d.ts.map +1 -0
  280. package/dist/sync/on-demand-agents-phonebook.js +571 -0
  281. package/dist/sync/on-demand-agents-phonebook.js.map +1 -0
  282. package/dist/sync/requester/graph-scoped-materialization.js +3 -3
  283. package/dist/sync/requester/graph-scoped-materialization.js.map +1 -1
  284. package/dist/sync/responder/sync-handler.d.ts +8 -0
  285. package/dist/sync/responder/sync-handler.d.ts.map +1 -1
  286. package/dist/sync/responder/sync-handler.js +6 -1
  287. package/dist/sync/responder/sync-handler.js.map +1 -1
  288. package/dist/sync/system-context-graph-policy.d.ts +10 -0
  289. package/dist/sync/system-context-graph-policy.d.ts.map +1 -1
  290. package/dist/sync/system-context-graph-policy.js +11 -0
  291. package/dist/sync/system-context-graph-policy.js.map +1 -1
  292. package/dist/vm-publish-snapshot-preflight.d.ts +13 -0
  293. package/dist/vm-publish-snapshot-preflight.d.ts.map +1 -0
  294. package/dist/vm-publish-snapshot-preflight.js +94 -0
  295. package/dist/vm-publish-snapshot-preflight.js.map +1 -0
  296. package/dist/vm-refresh.d.ts +138 -0
  297. package/dist/vm-refresh.d.ts.map +1 -0
  298. package/dist/vm-refresh.js +201 -0
  299. package/dist/vm-refresh.js.map +1 -0
  300. package/package.json +10 -8
@@ -10,7 +10,13 @@ export interface ConfirmedGraphScopedVmResolutionInput {
10
10
  batchId: bigint;
11
11
  subGraphName?: string;
12
12
  }
13
- export type ConfirmedGraphScopedVmInvalidReason = 'metadata' | 'identity' | 'content-count' | 'content-merkle';
13
+ /**
14
+ * Why a stored confirmed copy does not answer the request. `not-current` is
15
+ * the one expected in normal operation: the copy is intact and names the same
16
+ * KA, but at another version or root than the one asked for (typically an
17
+ * older version after an on-chain update).
18
+ */
19
+ export type ConfirmedGraphScopedVmInvalidReason = 'metadata' | 'identity' | 'not-current' | 'content-count' | 'content-merkle';
14
20
  export type ConfirmedGraphScopedVmResolution = {
15
21
  status: 'absent';
16
22
  } | {
@@ -1 +1 @@
1
- {"version":3,"file":"confirmed-graph-scoped-vm-resolver.d.ts","sourceRoot":"","sources":["../src/confirmed-graph-scoped-vm-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,8BAA8B,EAAE,MAAM,gCAAgC,CAAC;AAChF,OAAO,EAGL,KAAK,4CAA4C,EAClD,MAAM,qCAAqC,CAAC;AAC7C,OAAO,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAG3E,MAAM,WAAW,qCAAqC;IACpD,cAAc,EAAE,MAAM,CAAC;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,UAAU,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,MAAM,mCAAmC,GAC3C,UAAU,GACV,UAAU,GACV,eAAe,GACf,gBAAgB,CAAC;AAErB,MAAM,MAAM,gCAAgC,GACxC;IAAE,MAAM,EAAE,QAAQ,CAAA;CAAE,GACpB;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,mCAAmC,CAAA;CAAE,GAClE;IACE,MAAM,EAAE,UAAU,CAAC;IACnB,QAAQ,EAAE,4CAA4C,CAAC;IACvD,KAAK,EAAE,UAAU,CAAC,OAAO,8BAA8B,CAAC,CAAC;IACzD,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,iBAAiB,EAAE,MAAM,CAAC;CAC3B,CAAC;AAON;;;;GAIG;AACH,wBAAsB,6BAA6B,CACjD,KAAK,EAAE,WAAW,EAClB,KAAK,EAAE,qCAAqC,GAC3C,OAAO,CAAC,gCAAgC,CAAC,CAE3C;AAED;;;;;GAKG;AACH,wBAAsB,oCAAoC,CACxD,KAAK,EAAE,WAAW,EAClB,KAAK,EAAE,IAAI,CAAC,qCAAqC,EAAE,YAAY,CAAC,GAC/D,OAAO,CAAC,gCAAgC,CAAC,CAE3C"}
1
+ {"version":3,"file":"confirmed-graph-scoped-vm-resolver.d.ts","sourceRoot":"","sources":["../src/confirmed-graph-scoped-vm-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,8BAA8B,EAAE,MAAM,gCAAgC,CAAC;AAChF,OAAO,EAGL,KAAK,4CAA4C,EAClD,MAAM,qCAAqC,CAAC;AAC7C,OAAO,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAG3E,MAAM,WAAW,qCAAqC;IACpD,cAAc,EAAE,MAAM,CAAC;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,UAAU,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;;GAKG;AACH,MAAM,MAAM,mCAAmC,GAC3C,UAAU,GACV,UAAU,GACV,aAAa,GACb,eAAe,GACf,gBAAgB,CAAC;AAErB,MAAM,MAAM,gCAAgC,GACxC;IAAE,MAAM,EAAE,QAAQ,CAAA;CAAE,GACpB;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,mCAAmC,CAAA;CAAE,GAClE;IACE,MAAM,EAAE,UAAU,CAAC;IACnB,QAAQ,EAAE,4CAA4C,CAAC;IACvD,KAAK,EAAE,UAAU,CAAC,OAAO,8BAA8B,CAAC,CAAC;IACzD,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,iBAAiB,EAAE,MAAM,CAAC;CAC3B,CAAC;AAON;;;;GAIG;AACH,wBAAsB,6BAA6B,CACjD,KAAK,EAAE,WAAW,EAClB,KAAK,EAAE,qCAAqC,GAC3C,OAAO,CAAC,gCAAgC,CAAC,CAE3C;AAED;;;;;GAKG;AACH,wBAAsB,oCAAoC,CACxD,KAAK,EAAE,WAAW,EAClB,KAAK,EAAE,IAAI,CAAC,qCAAqC,EAAE,YAAY,CAAC,GAC/D,OAAO,CAAC,gCAAgC,CAAC,CAE3C"}
@@ -44,12 +44,14 @@ async function resolveConfirmedGraphScopedVmAgainst(store, input, chainMerkleRoo
44
44
  if (scope.ual !== input.ual
45
45
  || packedKaId !== input.kaId
46
46
  || envelope.batchId !== input.batchId
47
- || (input.assertionVersion !== undefined
48
- && BigInt(envelope.assertionVersion) !== input.assertionVersion)
49
- || (chainMerkleRoot !== undefined && !equalBytes(envelope.merkleRoot, chainMerkleRoot))
50
47
  || input.subGraphName !== envelope.subGraphName) {
51
48
  return { status: 'invalid', reason: 'identity' };
52
49
  }
50
+ if ((input.assertionVersion !== undefined
51
+ && BigInt(envelope.assertionVersion) !== input.assertionVersion)
52
+ || (chainMerkleRoot !== undefined && !equalBytes(envelope.merkleRoot, chainMerkleRoot))) {
53
+ return { status: 'invalid', reason: 'not-current' };
54
+ }
53
55
  const content = await verifyExactGraphContent(store, {
54
56
  graphUri: envelope.assertionGraph,
55
57
  publicTripleCount: envelope.publicTripleCount,
@@ -1 +1 @@
1
- {"version":3,"file":"confirmed-graph-scoped-vm-resolver.js","sourceRoot":"","sources":["../src/confirmed-graph-scoped-vm-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,8BAA8B,EAAE,MAAM,gCAAgC,CAAC;AAChF,OAAO,EACL,gDAAgD,EAChD,0BAA0B,GAE3B,MAAM,qCAAqC,CAAC;AAE7C,OAAO,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AA6B5E,SAAS,UAAU,CAAC,IAAgB,EAAE,KAAiB;IACrD,OAAO,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM;WAC9B,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,KAAK,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;AAC1D,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,6BAA6B,CACjD,KAAkB,EAClB,KAA4C;IAE5C,OAAO,oCAAoC,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;AAC9E,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,oCAAoC,CACxD,KAAkB,EAClB,KAAgE;IAEhE,OAAO,oCAAoC,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;AACvE,CAAC;AAED,KAAK,UAAU,oCAAoC,CACjD,KAAkB,EAClB,KAAgE,EAChE,eAAuC;IAEvC,MAAM,MAAM,GAAG,MAAM,gDAAgD,CAAC,KAAK,EAAE;QAC3E,cAAc,EAAE,KAAK,CAAC,cAAc;QACpC,GAAG,EAAE,KAAK,CAAC,GAAG;KACf,CAAC,CAAC;IACH,IAAI,MAAM,CAAC,KAAK,KAAK,QAAQ;QAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;IAC3D,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAC/B,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;IACnD,CAAC;IAED,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;IAC5B,IAAI,KAAwD,CAAC;IAC7D,IAAI,CAAC;QACH,KAAK,GAAG,8BAA8B,CAAC,KAAK,CAAC,GAAG,EAAE,QAAQ,CAAC,gBAAgB,CAAC,CAAC;IAC/E,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;IACnD,CAAC;IACD,MAAM,UAAU,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAChF,IACE,KAAK,CAAC,GAAG,KAAK,KAAK,CAAC,GAAG;WACpB,UAAU,KAAK,KAAK,CAAC,IAAI;WACzB,QAAQ,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO;WAClC,CAAC,KAAK,CAAC,gBAAgB,KAAK,SAAS;eACnC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,KAAK,KAAK,CAAC,gBAAgB,CAAC;WAC/D,CAAC,eAAe,KAAK,SAAS,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;WACpF,KAAK,CAAC,YAAY,KAAK,QAAQ,CAAC,YAAY,EAC/C,CAAC;QACD,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;IACnD,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,uBAAuB,CAAC,KAAK,EAAE;QACnD,QAAQ,EAAE,QAAQ,CAAC,cAAc;QACjC,iBAAiB,EAAE,QAAQ,CAAC,iBAAiB;QAC7C,GAAG,CAAC,QAAQ,CAAC,iBAAiB;YAC5B,CAAC,CAAC,EAAE,iBAAiB,EAAE,QAAQ,CAAC,iBAAiB,EAAE;YACnD,CAAC,CAAC,EAAE,CAAC;QACP,kBAAkB,EAAE,eAAe,IAAI,QAAQ,CAAC,UAAU;QAC1D,MAAM,EAAE,kDAAkD;KAC3D,CAAC,CAAC;IACH,IAAI,OAAO,CAAC,MAAM,KAAK,gBAAgB,EAAE,CAAC;QACxC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC;IACxD,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;QAClC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC;IACzD,CAAC;IACD,OAAO;QACL,MAAM,EAAE,UAAU;QAClB,QAAQ;QACR,KAAK;QACL,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,iBAAiB,EAAE,0BAA0B,CAAC,OAAO,CAAC,KAAK,CAAC;KAC7D,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"confirmed-graph-scoped-vm-resolver.js","sourceRoot":"","sources":["../src/confirmed-graph-scoped-vm-resolver.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import type { ContextGraphReadAuthorityDependency, RegisteredContextGraphAuthorityUnavailable } from './registered-context-graph-authority.js';
2
+ export type { ContextGraphReadAuthorityDependency } from './registered-context-graph-authority.js';
3
+ /**
4
+ * The dependency a caught authority-source error belongs to, read from the
5
+ * stable codes of it and its `cause` chain: store deadlines, recovery and
6
+ * admission shedding, or chain RPC transport failures.
7
+ */
8
+ export declare function contextGraphReadAuthorityDependencyOf(error: unknown): ContextGraphReadAuthorityDependency;
9
+ /** Which dependency an unavailable registered authority names: the one its producer classified, or its reason's. */
10
+ export declare function registeredContextGraphAuthorityUnavailableDependency(unavailable: RegisteredContextGraphAuthorityUnavailable): ContextGraphReadAuthorityDependency;
11
+ //# sourceMappingURL=context-graph-authority-dependency.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-graph-authority-dependency.d.ts","sourceRoot":"","sources":["../src/context-graph-authority-dependency.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,mCAAmC,EACnC,0CAA0C,EAE3C,MAAM,yCAAyC,CAAC;AAEjD,YAAY,EAAE,mCAAmC,EAAE,MAAM,yCAAyC,CAAC;AAEnG;;;;GAIG;AACH,wBAAgB,qCAAqC,CAAC,KAAK,EAAE,OAAO,GAAG,mCAAmC,CAYzG;AAwBD,oHAAoH;AACpH,wBAAgB,oDAAoD,CAClE,WAAW,EAAE,0CAA0C,GACtD,mCAAmC,CAIrC"}
@@ -0,0 +1,50 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ import { isChainRpcTransportError } from '@origintrail-official/dkg-chain';
3
+ import { isStoreOperationTimeoutError, isStoreSchedulerBusyError } from '@origintrail-official/dkg-storage';
4
+ /**
5
+ * The dependency a caught authority-source error belongs to, read from the
6
+ * stable codes of it and its `cause` chain: store deadlines, recovery and
7
+ * admission shedding, or chain RPC transport failures.
8
+ */
9
+ export function contextGraphReadAuthorityDependencyOf(error) {
10
+ try {
11
+ let current = error;
12
+ for (let depth = 0; depth < 4 && typeof current === 'object' && current !== null; depth += 1) {
13
+ if (isStoreOperationTimeoutError(current) || isStoreSchedulerBusyError(current))
14
+ return 'store';
15
+ if (isChainRpcTransportError(current))
16
+ return 'chain';
17
+ current = current.cause;
18
+ }
19
+ }
20
+ catch {
21
+ // A hostile error shape says nothing about its dependency.
22
+ }
23
+ return 'unknown';
24
+ }
25
+ /**
26
+ * The dependency behind each typed unavailable reason. Only a local chain
27
+ * binding lookup can fail on either the store or the chain, so its producers
28
+ * record the classified dependency of their error; every other reason names
29
+ * one fixed dependency.
30
+ */
31
+ const REGISTERED_AUTHORITY_UNAVAILABLE_DEPENDENCY = {
32
+ 'chain-access-policy-timeout': 'chain',
33
+ 'chain-access-policy-unknown': 'chain',
34
+ 'chain-access-policy-unavailable': 'chain',
35
+ 'chain-name-binding-unavailable': 'chain',
36
+ 'chain-participant-authority-unsupported': 'chain',
37
+ 'chain-participant-authority-unavailable': 'chain',
38
+ 'chain-participant-authority-invalid': 'chain',
39
+ 'finalized-name-absence-unaccepted': 'chain',
40
+ 'authority-circuit-open': 'chain',
41
+ 'local-existence-unavailable': 'store',
42
+ 'local-chain-binding-unavailable': 'local-state',
43
+ };
44
+ /** Which dependency an unavailable registered authority names: the one its producer classified, or its reason's. */
45
+ export function registeredContextGraphAuthorityUnavailableDependency(unavailable) {
46
+ return unavailable.dependency
47
+ ?? REGISTERED_AUTHORITY_UNAVAILABLE_DEPENDENCY[unavailable.reason]
48
+ ?? 'unknown';
49
+ }
50
+ //# sourceMappingURL=context-graph-authority-dependency.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-graph-authority-dependency.js","sourceRoot":"","sources":["../src/context-graph-authority-dependency.ts"],"names":[],"mappings":"AAAA,sCAAsC;AAEtC,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,EAAE,4BAA4B,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAS5G;;;;GAIG;AACH,MAAM,UAAU,qCAAqC,CAAC,KAAc;IAClE,IAAI,CAAC;QACH,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;YAC7F,IAAI,4BAA4B,CAAC,OAAO,CAAC,IAAI,yBAAyB,CAAC,OAAO,CAAC;gBAAE,OAAO,OAAO,CAAC;YAChG,IAAI,wBAAwB,CAAC,OAAO,CAAC;gBAAE,OAAO,OAAO,CAAC;YACtD,OAAO,GAAI,OAA+B,CAAC,KAAK,CAAC;QACnD,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,2DAA2D;IAC7D,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;GAKG;AACH,MAAM,2CAA2C,GAE7C;IACF,6BAA6B,EAAE,OAAO;IACtC,6BAA6B,EAAE,OAAO;IACtC,iCAAiC,EAAE,OAAO;IAC1C,gCAAgC,EAAE,OAAO;IACzC,yCAAyC,EAAE,OAAO;IAClD,yCAAyC,EAAE,OAAO;IAClD,qCAAqC,EAAE,OAAO;IAC9C,mCAAmC,EAAE,OAAO;IAC5C,wBAAwB,EAAE,OAAO;IACjC,6BAA6B,EAAE,OAAO;IACtC,iCAAiC,EAAE,aAAa;CACjD,CAAC;AAEF,oHAAoH;AACpH,MAAM,UAAU,oDAAoD,CAClE,WAAuD;IAEvD,OAAO,WAAW,CAAC,UAAU;WACxB,2CAA2C,CAAC,WAAW,CAAC,MAAM,CAAC;WAC/D,SAAS,CAAC;AACjB,CAAC"}
@@ -39,6 +39,12 @@ export type ContextGraphBindingSubscriptionFacts = {
39
39
  export declare function isCanonicalPositiveContextGraphId(value: unknown): value is string;
40
40
  /** Canonical positive decimal that is representable by an EVM uint256 slot. */
41
41
  export declare function isCanonicalAuthoritativeContextGraphId(value: unknown): value is string;
42
+ /**
43
+ * The committed name hashes that name a local Context Graph id, lowercase:
44
+ * its commitment keccak256(utf8(id)), and for a host-wire row (keyed by its
45
+ * own committed hash) that hash too. None for an id that is not valid UTF-16.
46
+ */
47
+ export declare function committedNameHashesNaming(localCgId: string, isWireIdKeyedSubscription: (localId: string) => boolean): readonly string[];
42
48
  /** Shared cleartext-or-host-wire identity proof for one committed name hash. */
43
49
  export declare function localContextGraphIdMatchesCommittedNameHash(localCgId: string, committedNameHash: string, isWireIdKeyedSubscription: (localId: string) => boolean): boolean;
44
50
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"context-graph-binding-state.d.ts","sourceRoot":"","sources":["../src/context-graph-binding-state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context-graph-binding-state.d.ts","sourceRoot":"","sources":["../src/context-graph-binding-state.ts"],"names":[],"mappings":"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"}
@@ -16,20 +16,27 @@ export function isCanonicalAuthoritativeContextGraphId(value) {
16
16
  && value.length <= 78
17
17
  && BigInt(value) <= ethers.MaxUint256;
18
18
  }
19
- /** Shared cleartext-or-host-wire identity proof for one committed name hash. */
20
- export function localContextGraphIdMatchesCommittedNameHash(localCgId, committedNameHash, isWireIdKeyedSubscription) {
21
- const normalizedCommitment = committedNameHash.toLowerCase();
19
+ /**
20
+ * The committed name hashes that name a local Context Graph id, lowercase:
21
+ * its commitment keccak256(utf8(id)), and for a host-wire row (keyed by its
22
+ * own committed hash) that hash too. None for an id that is not valid UTF-16.
23
+ */
24
+ export function committedNameHashesNaming(localCgId, isWireIdKeyedSubscription) {
25
+ let commitment;
22
26
  try {
23
- if (ethers.keccak256(ethers.toUtf8Bytes(localCgId)).toLowerCase()
24
- === normalizedCommitment)
25
- return true;
27
+ commitment = ethers.keccak256(ethers.toUtf8Bytes(localCgId)).toLowerCase();
26
28
  }
27
29
  catch {
28
- return false;
30
+ return [];
29
31
  }
30
- return /^0x[0-9a-fA-F]{64}$/.test(localCgId)
31
- && isWireIdKeyedSubscription(localCgId)
32
- && localCgId.toLowerCase() === normalizedCommitment;
32
+ return /^0x[0-9a-fA-F]{64}$/.test(localCgId) && isWireIdKeyedSubscription(localCgId)
33
+ ? [commitment, localCgId.toLowerCase()]
34
+ : [commitment];
35
+ }
36
+ /** Shared cleartext-or-host-wire identity proof for one committed name hash. */
37
+ export function localContextGraphIdMatchesCommittedNameHash(localCgId, committedNameHash, isWireIdKeyedSubscription) {
38
+ return committedNameHashesNaming(localCgId, isWireIdKeyedSubscription)
39
+ .includes(committedNameHash.toLowerCase());
33
40
  }
34
41
  function requireCanonicalAuthoritativeContextGraphId(value) {
35
42
  if (!isCanonicalAuthoritativeContextGraphId(value)) {
@@ -1 +1 @@
1
- {"version":3,"file":"context-graph-binding-state.js","sourceRoot":"","sources":["../src/context-graph-binding-state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context-graph-binding-state.js","sourceRoot":"","sources":["../src/context-graph-binding-state.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,74 @@
1
+ /** bytes32(0): the name hash of a slot whose curator opted out of committing one. */
2
+ export declare const NO_NAME_COMMITMENT: string;
3
+ /** Whether a hash-shaped local id is a row keyed by its own wire id. */
4
+ export type IsWireIdKeyedRow = (localId: string) => boolean;
5
+ /** A binding this chain proves: the slot, and the name hash it commits. */
6
+ export interface ProvenOnChainBinding {
7
+ readonly onChainId: string;
8
+ readonly onChainHash: string;
9
+ }
10
+ /** The slot facts this module reads: what each on-chain id commits. */
11
+ export interface CommittedNameHashes {
12
+ get(onChainId: string): {
13
+ readonly nameHash: string | null;
14
+ } | undefined;
15
+ /** The on-chain ids whose committed name hash is `nameHash`. */
16
+ onChainIdsCommitting(nameHash: string): Iterable<string>;
17
+ }
18
+ /**
19
+ * The name hash a slot commits, lowercase, or null when it commits none:
20
+ * absent, malformed, or bytes32(0).
21
+ */
22
+ export declare function committedNameHashOf(value: unknown): string | null;
23
+ /**
24
+ * Per-slot chain facts keyed by on-chain id, also indexed by committed name
25
+ * hash, so the slots that commit one name are found without a scan. A slot
26
+ * that commits no name is not indexed.
27
+ */
28
+ export declare class SlotFactsIndex<F extends {
29
+ readonly nameHash: string | null;
30
+ }> extends Map<string, F> implements CommittedNameHashes {
31
+ private readonly byNameHash;
32
+ set(onChainId: string, facts: F): this;
33
+ delete(onChainId: string): boolean;
34
+ clear(): void;
35
+ onChainIdsCommitting(nameHash: string): string[];
36
+ private unindex;
37
+ }
38
+ /**
39
+ * The binding a claim names when slot `claimedOnChainId`, committing
40
+ * `committedNameHash`, proves `contextGraphId`; otherwise null.
41
+ */
42
+ export declare function proveOnChainIdClaim(contextGraphId: string, claimedOnChainId: string, committedNameHash: string | null | undefined, isWireIdKeyedRow: IsWireIdKeyedRow): ProvenOnChainBinding | null;
43
+ /**
44
+ * Every on-chain id whose committed name hash proves `contextGraphId`:
45
+ * usually one, none when the chain has no such graph or this node has not
46
+ * read it yet. The candidates are the slots committing a hash that names the
47
+ * id (`committedNameHashesNaming`, the set the proof accepts), and
48
+ * `proveOnChainIdClaim` decides each. A malformed id proves nothing.
49
+ */
50
+ export declare function provenOnChainIdsFor(contextGraphId: string, facts: CommittedNameHashes, isWireIdKeyedRow: IsWireIdKeyedRow): string[];
51
+ /**
52
+ * Whether slot `onChainId`, committing `committedNameHash`, refutes the
53
+ * binding of the row keyed `localId`. A slot that commits no name refutes
54
+ * nothing. Rows with their own lifecycle are never refuted here: a name-hash
55
+ * row (the slot's placeholder, or any row keyed by the committed hash
56
+ * itself), a row recording that commitment, and a row keyed by the bare
57
+ * number (a `dkg subscribe N` row, which the on-chain id resolver retires as
58
+ * a whole while it is still bound to N).
59
+ */
60
+ export declare function refutesOnChainBinding(localId: string, row: {
61
+ readonly onChainId?: string;
62
+ readonly onChainHash?: string;
63
+ }, onChainId: string, committedNameHash: string, isWireIdKeyedRow: IsWireIdKeyedRow): boolean;
64
+ /**
65
+ * Whether the row keyed `localId` is the slot's name-hash row that never
66
+ * recorded its hash: keyed by exactly the committed hash, bound to the slot,
67
+ * with no `onChainHash`. Earlier versions minted such a row for
68
+ * `dkg subscribe <hash>` when the hash resolved to nothing.
69
+ */
70
+ export declare function isUnrecordedNameHashRow(localId: string, row: {
71
+ readonly onChainId?: string;
72
+ readonly onChainHash?: string;
73
+ }, onChainId: string, committedNameHash: string): boolean;
74
+ //# sourceMappingURL=context-graph-claim-proof.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-graph-claim-proof.d.ts","sourceRoot":"","sources":["../src/context-graph-claim-proof.ts"],"names":[],"mappings":"AA4BA,qFAAqF;AACrF,eAAO,MAAM,kBAAkB,QAAwB,CAAC;AAExD,wEAAwE;AACxE,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC;AAE5D,2EAA2E;AAC3E,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED,uEAAuE;AACvE,MAAM,WAAW,mBAAmB;IAClC,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG;QAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GAAG,SAAS,CAAC;IACzE,gEAAgE;IAChE,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;CAC1D;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAGjE;AAED;;;;GAIG;AACH,qBAAa,cAAc,CAAC,CAAC,SAAS;IAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CACxE,SAAQ,GAAG,CAAC,MAAM,EAAE,CAAC,CACrB,YAAW,mBAAmB;IAC9B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAkC;IAEpD,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI;IAYtC,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAKlC,KAAK,IAAI,IAAI;IAKtB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE;IAKhD,OAAO,CAAC,OAAO;CAOhB;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,cAAc,EAAE,MAAM,EACtB,gBAAgB,EAAE,MAAM,EACxB,iBAAiB,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAC5C,gBAAgB,EAAE,gBAAgB,GACjC,oBAAoB,GAAG,IAAI,CAO7B;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,cAAc,EAAE,MAAM,EACtB,KAAK,EAAE,mBAAmB,EAC1B,gBAAgB,EAAE,gBAAgB,GACjC,MAAM,EAAE,CAWV;AAED;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,MAAM,EACf,GAAG,EAAE;IAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,EACnE,SAAS,EAAE,MAAM,EACjB,iBAAiB,EAAE,MAAM,EACzB,gBAAgB,EAAE,gBAAgB,GACjC,OAAO,CAMT;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,MAAM,EACf,GAAG,EAAE;IAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,EACnE,SAAS,EAAE,MAAM,EACjB,iBAAiB,EAAE,MAAM,GACxB,OAAO,CAMT"}
@@ -0,0 +1,137 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ /**
3
+ * When an off-chain on-chain-id claim holds.
4
+ *
5
+ * A `dkg:ContextGraphOnChainId` row says "Context Graph id X is on-chain id
6
+ * N". The `ontology` system graph is shared by every network and deployment,
7
+ * and `_meta` receives what earlier builds left there, so such a row is a
8
+ * claim, never a binding. A claim holds only when slot N on this node's own
9
+ * chain commits X's name commitment, keccak256(utf8(X)): the rule the policy
10
+ * read and random sampling already apply to a local binding
11
+ * (`localContextGraphIdMatchesCommittedNameHash`). The committed hash is the
12
+ * one this node read from its chain (enumeration, the live event tail, or the
13
+ * enumeration checkpoint). A slot with no committed hash, including one whose
14
+ * curator opted out with bytes32(0), proves nothing and refutes nothing.
15
+ *
16
+ * This module owns that rule. The agent mixins pass in their state (the
17
+ * per-slot chain facts and the wire-keyed row test) and keep only the
18
+ * stateful wiring.
19
+ */
20
+ import { committedNameHashesNaming, isCanonicalAuthoritativeContextGraphId, localContextGraphIdMatchesCommittedNameHash, } from './context-graph-binding-state.js';
21
+ import { normalizeContextGraphNameHash } from './context-graph-name-candidate.js';
22
+ /** bytes32(0): the name hash of a slot whose curator opted out of committing one. */
23
+ export const NO_NAME_COMMITMENT = `0x${'0'.repeat(64)}`;
24
+ /**
25
+ * The name hash a slot commits, lowercase, or null when it commits none:
26
+ * absent, malformed, or bytes32(0).
27
+ */
28
+ export function committedNameHashOf(value) {
29
+ const hash = normalizeContextGraphNameHash(value);
30
+ return hash === NO_NAME_COMMITMENT ? null : hash;
31
+ }
32
+ /**
33
+ * Per-slot chain facts keyed by on-chain id, also indexed by committed name
34
+ * hash, so the slots that commit one name are found without a scan. A slot
35
+ * that commits no name is not indexed.
36
+ */
37
+ export class SlotFactsIndex extends Map {
38
+ byNameHash = new Map();
39
+ set(onChainId, facts) {
40
+ this.unindex(onChainId);
41
+ super.set(onChainId, facts);
42
+ const hash = committedNameHashOf(facts.nameHash);
43
+ if (hash !== null) {
44
+ const onChainIds = this.byNameHash.get(hash) ?? new Set();
45
+ onChainIds.add(onChainId);
46
+ this.byNameHash.set(hash, onChainIds);
47
+ }
48
+ return this;
49
+ }
50
+ delete(onChainId) {
51
+ this.unindex(onChainId);
52
+ return super.delete(onChainId);
53
+ }
54
+ clear() {
55
+ this.byNameHash.clear();
56
+ super.clear();
57
+ }
58
+ onChainIdsCommitting(nameHash) {
59
+ const hash = committedNameHashOf(nameHash);
60
+ return hash === null ? [] : [...(this.byNameHash.get(hash) ?? [])];
61
+ }
62
+ unindex(onChainId) {
63
+ const hash = committedNameHashOf(super.get(onChainId)?.nameHash);
64
+ const onChainIds = hash === null ? undefined : this.byNameHash.get(hash);
65
+ if (hash === null || onChainIds === undefined)
66
+ return;
67
+ onChainIds.delete(onChainId);
68
+ if (onChainIds.size === 0)
69
+ this.byNameHash.delete(hash);
70
+ }
71
+ }
72
+ /**
73
+ * The binding a claim names when slot `claimedOnChainId`, committing
74
+ * `committedNameHash`, proves `contextGraphId`; otherwise null.
75
+ */
76
+ export function proveOnChainIdClaim(contextGraphId, claimedOnChainId, committedNameHash, isWireIdKeyedRow) {
77
+ if (!isCanonicalAuthoritativeContextGraphId(claimedOnChainId))
78
+ return null;
79
+ const committed = committedNameHashOf(committedNameHash);
80
+ if (committed === null)
81
+ return null;
82
+ return localContextGraphIdMatchesCommittedNameHash(contextGraphId, committed, isWireIdKeyedRow)
83
+ ? { onChainId: claimedOnChainId, onChainHash: committed }
84
+ : null;
85
+ }
86
+ /**
87
+ * Every on-chain id whose committed name hash proves `contextGraphId`:
88
+ * usually one, none when the chain has no such graph or this node has not
89
+ * read it yet. The candidates are the slots committing a hash that names the
90
+ * id (`committedNameHashesNaming`, the set the proof accepts), and
91
+ * `proveOnChainIdClaim` decides each. A malformed id proves nothing.
92
+ */
93
+ export function provenOnChainIdsFor(contextGraphId, facts, isWireIdKeyedRow) {
94
+ const proven = [];
95
+ for (const nameHash of committedNameHashesNaming(contextGraphId, isWireIdKeyedRow)) {
96
+ for (const onChainId of facts.onChainIdsCommitting(nameHash)) {
97
+ const committed = facts.get(onChainId)?.nameHash;
98
+ if (proveOnChainIdClaim(contextGraphId, onChainId, committed, isWireIdKeyedRow) !== null) {
99
+ proven.push(onChainId);
100
+ }
101
+ }
102
+ }
103
+ return proven;
104
+ }
105
+ /**
106
+ * Whether slot `onChainId`, committing `committedNameHash`, refutes the
107
+ * binding of the row keyed `localId`. A slot that commits no name refutes
108
+ * nothing. Rows with their own lifecycle are never refuted here: a name-hash
109
+ * row (the slot's placeholder, or any row keyed by the committed hash
110
+ * itself), a row recording that commitment, and a row keyed by the bare
111
+ * number (a `dkg subscribe N` row, which the on-chain id resolver retires as
112
+ * a whole while it is still bound to N).
113
+ */
114
+ export function refutesOnChainBinding(localId, row, onChainId, committedNameHash, isWireIdKeyedRow) {
115
+ const committed = committedNameHashOf(committedNameHash);
116
+ if (committed === null || row.onChainId !== onChainId || localId === onChainId)
117
+ return false;
118
+ if (localId.toLowerCase() === committed || isWireIdKeyedRow(localId))
119
+ return false;
120
+ if (normalizeContextGraphNameHash(row.onChainHash) === committed)
121
+ return false;
122
+ return proveOnChainIdClaim(localId, onChainId, committed, isWireIdKeyedRow) === null;
123
+ }
124
+ /**
125
+ * Whether the row keyed `localId` is the slot's name-hash row that never
126
+ * recorded its hash: keyed by exactly the committed hash, bound to the slot,
127
+ * with no `onChainHash`. Earlier versions minted such a row for
128
+ * `dkg subscribe <hash>` when the hash resolved to nothing.
129
+ */
130
+ export function isUnrecordedNameHashRow(localId, row, onChainId, committedNameHash) {
131
+ const committed = committedNameHashOf(committedNameHash);
132
+ return committed !== null
133
+ && localId === committed
134
+ && row.onChainHash === undefined
135
+ && row.onChainId === onChainId;
136
+ }
137
+ //# sourceMappingURL=context-graph-claim-proof.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-graph-claim-proof.js","sourceRoot":"","sources":["../src/context-graph-claim-proof.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import type { Quad } from '@origintrail-official/dkg-storage';
2
+ export interface ApprovedMemberProof {
3
+ /** The locally-approved agent whose usable membership must be present. */
4
+ approvedAgentAddress: string;
5
+ /** Current node credentials; at least one must match the active delegation. */
6
+ expectedDelegateePeerId?: string;
7
+ expectedDelegateeOpKey?: string;
8
+ /** Injectable wall clock for parity tests. Defaults to Date.now(). */
9
+ nowMs?: number;
10
+ }
11
+ /**
12
+ * Whether a fetched root `_meta` snapshot proves the approved member: it is in
13
+ * `allowedAgent`, not revoked, and holds an active delegation bound to this
14
+ * node's peer id or op-key. Shared by the private definition and by a public
15
+ * definition accepted after a join approval.
16
+ */
17
+ export declare function hasActiveApprovedMemberDelegation(contextGraphId: string, quads: readonly Quad[], rawProof: ApprovedMemberProof): boolean;
18
+ /** The store-side ASK fragment for the same proof. */
19
+ export declare function renderApprovedMemberProofSparql(contextGraphId: string, contextGraphUri: string, rawProof: ApprovedMemberProof): string;
20
+ //# sourceMappingURL=context-graph-member-proof.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-graph-member-proof.d.ts","sourceRoot":"","sources":["../src/context-graph-member-proof.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mCAAmC,CAAC;AAa9D,MAAM,WAAW,mBAAmB;IAClC,0EAA0E;IAC1E,oBAAoB,EAAE,MAAM,CAAC;IAC7B,+EAA+E;IAC/E,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,sEAAsE;IACtE,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAqCD;;;;;GAKG;AACH,wBAAgB,iCAAiC,CAC/C,cAAc,EAAE,MAAM,EACtB,KAAK,EAAE,SAAS,IAAI,EAAE,EACtB,QAAQ,EAAE,mBAAmB,GAC5B,OAAO,CA6CT;AAED,sDAAsD;AACtD,wBAAgB,+BAA+B,CAC7C,cAAc,EAAE,MAAM,EACtB,eAAe,EAAE,MAAM,EACvB,QAAQ,EAAE,mBAAmB,GAC5B,MAAM,CAsCR"}
@@ -0,0 +1,106 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ import { DKG_ONTOLOGY, assertSafeIri, contextGraphDataGraphUri, sparqlString, } from '@origintrail-official/dkg-core';
3
+ import { stripLiteral } from './dkg-agent-utils.js';
4
+ /**
5
+ * Proof that a join-approved member is usable in a curator's root `_meta`
6
+ * snapshot: listed, not revoked, and holding an active delegation bound to
7
+ * this node. It is policy-neutral: the private definition requires it, and a
8
+ * public definition requires it after a join approval. Both the in-memory
9
+ * check and the store ASK fragment are built from this one model.
10
+ */
11
+ const EVM_ADDRESS_RE = /^0x[0-9a-f]{40}$/i;
12
+ function normalizeMemberProof(proof) {
13
+ const approvedAgentAddress = proof.approvedAgentAddress.trim().toLowerCase();
14
+ const expectedDelegateePeerId = proof.expectedDelegateePeerId?.trim() || undefined;
15
+ const expectedDelegateeOpKey = proof.expectedDelegateeOpKey?.trim().toLowerCase() || undefined;
16
+ const nowMs = proof.nowMs ?? Date.now();
17
+ if (!EVM_ADDRESS_RE.test(approvedAgentAddress) ||
18
+ (expectedDelegateeOpKey !== undefined && !EVM_ADDRESS_RE.test(expectedDelegateeOpKey)) ||
19
+ (!expectedDelegateePeerId && !expectedDelegateeOpKey) ||
20
+ !Number.isSafeInteger(nowMs) ||
21
+ nowMs < 0) {
22
+ return undefined;
23
+ }
24
+ return {
25
+ approvedAgentAddress,
26
+ expectedDelegateePeerId,
27
+ expectedDelegateeOpKey,
28
+ nowMs,
29
+ };
30
+ }
31
+ function literalEqualsIgnoreCase(value, expected) {
32
+ return value.startsWith('"') && stripLiteral(value).trim().toLowerCase() === expected;
33
+ }
34
+ /**
35
+ * Whether a fetched root `_meta` snapshot proves the approved member: it is in
36
+ * `allowedAgent`, not revoked, and holds an active delegation bound to this
37
+ * node's peer id or op-key. Shared by the private definition and by a public
38
+ * definition accepted after a join approval.
39
+ */
40
+ export function hasActiveApprovedMemberDelegation(contextGraphId, quads, rawProof) {
41
+ const proof = normalizeMemberProof(rawProof);
42
+ if (!proof)
43
+ return false;
44
+ const contextGraphUri = contextGraphDataGraphUri(contextGraphId);
45
+ const delegationSubject = `did:dkg:agent-delegation:${contextGraphId}:${proof.approvedAgentAddress}`;
46
+ const allowed = quads.some((quad) => (quad.subject === contextGraphUri &&
47
+ quad.predicate === DKG_ONTOLOGY.DKG_ALLOWED_AGENT &&
48
+ literalEqualsIgnoreCase(quad.object, proof.approvedAgentAddress)));
49
+ const revoked = quads.some((quad) => (quad.subject === contextGraphUri &&
50
+ quad.predicate === DKG_ONTOLOGY.DKG_REVOKED_AGENT &&
51
+ literalEqualsIgnoreCase(quad.object, proof.approvedAgentAddress)));
52
+ if (!allowed || revoked)
53
+ return false;
54
+ const delegationQuads = quads.filter((quad) => quad.subject === delegationSubject);
55
+ const namesApprovedAgent = delegationQuads.some((quad) => (quad.predicate === DKG_ONTOLOGY.DKG_DELEGATION_AGENT &&
56
+ literalEqualsIgnoreCase(quad.object, proof.approvedAgentAddress)));
57
+ const issuedAtIsActive = delegationQuads.some((quad) => {
58
+ if (quad.predicate !== DKG_ONTOLOGY.DKG_DELEGATION_ISSUED_AT)
59
+ return false;
60
+ const issuedAt = Number(stripLiteral(quad.object));
61
+ return Number.isSafeInteger(issuedAt) && issuedAt >= 0 && issuedAt <= proof.nowMs;
62
+ });
63
+ const expiryRows = delegationQuads.filter((quad) => quad.predicate === DKG_ONTOLOGY.DKG_DELEGATION_EXPIRES_AT);
64
+ const expiryIsActive = expiryRows.length === 0 || expiryRows.some((quad) => {
65
+ const expiresAt = Number(stripLiteral(quad.object));
66
+ return Number.isSafeInteger(expiresAt) && expiresAt > proof.nowMs;
67
+ });
68
+ const peerMatches = proof.expectedDelegateePeerId !== undefined && delegationQuads.some((quad) => (quad.predicate === DKG_ONTOLOGY.DKG_ALLOWED_DELEGATEE_PEER &&
69
+ quad.object.startsWith('"') &&
70
+ stripLiteral(quad.object) === proof.expectedDelegateePeerId));
71
+ const keyMatches = proof.expectedDelegateeOpKey !== undefined && delegationQuads.some((quad) => (quad.predicate === DKG_ONTOLOGY.DKG_ALLOWED_DELEGATEE_KEY &&
72
+ literalEqualsIgnoreCase(quad.object, proof.expectedDelegateeOpKey)));
73
+ return namesApprovedAgent && issuedAtIsActive && expiryIsActive && (peerMatches || keyMatches);
74
+ }
75
+ /** The store-side ASK fragment for the same proof. */
76
+ export function renderApprovedMemberProofSparql(contextGraphId, contextGraphUri, rawProof) {
77
+ const proof = normalizeMemberProof(rawProof);
78
+ if (!proof)
79
+ throw new Error('Invalid approved-member proof');
80
+ const delegationSubject = assertSafeIri(`did:dkg:agent-delegation:${contextGraphId}:${proof.approvedAgentAddress}`);
81
+ const credentialPatterns = [];
82
+ const credentialFilters = [];
83
+ if (proof.expectedDelegateePeerId) {
84
+ credentialPatterns.push(`OPTIONAL { <${delegationSubject}> <${DKG_ONTOLOGY.DKG_ALLOWED_DELEGATEE_PEER}> ?approvedDelegateePeer . }`);
85
+ credentialFilters.push(`(BOUND(?approvedDelegateePeer) && isLiteral(?approvedDelegateePeer) && STR(?approvedDelegateePeer) = ${sparqlString(proof.expectedDelegateePeerId)})`);
86
+ }
87
+ if (proof.expectedDelegateeOpKey) {
88
+ credentialPatterns.push(`OPTIONAL { <${delegationSubject}> <${DKG_ONTOLOGY.DKG_ALLOWED_DELEGATEE_KEY}> ?approvedDelegateeKey . }`);
89
+ credentialFilters.push(`(BOUND(?approvedDelegateeKey) && isLiteral(?approvedDelegateeKey) && LCASE(STR(?approvedDelegateeKey)) = ${sparqlString(proof.expectedDelegateeOpKey)})`);
90
+ }
91
+ return ` <${assertSafeIri(contextGraphUri)}> <${DKG_ONTOLOGY.DKG_ALLOWED_AGENT}> ?approvedAgent .
92
+ FILTER(isLiteral(?approvedAgent) && LCASE(STR(?approvedAgent)) = ${sparqlString(proof.approvedAgentAddress)})
93
+ FILTER NOT EXISTS {
94
+ <${assertSafeIri(contextGraphUri)}> <${DKG_ONTOLOGY.DKG_REVOKED_AGENT}> ?revokedApprovedAgent .
95
+ FILTER(isLiteral(?revokedApprovedAgent) && LCASE(STR(?revokedApprovedAgent)) = ${sparqlString(proof.approvedAgentAddress)})
96
+ }
97
+ <${delegationSubject}> <${DKG_ONTOLOGY.DKG_DELEGATION_AGENT}> ?delegatedApprovedAgent ;
98
+ <${DKG_ONTOLOGY.DKG_DELEGATION_ISSUED_AT}> ?delegationIssuedAt .
99
+ FILTER(isLiteral(?delegatedApprovedAgent) && LCASE(STR(?delegatedApprovedAgent)) = ${sparqlString(proof.approvedAgentAddress)})
100
+ FILTER(REGEX(STR(?delegationIssuedAt), "^[0-9]+$") && xsd:integer(STR(?delegationIssuedAt)) <= ${proof.nowMs})
101
+ OPTIONAL { <${delegationSubject}> <${DKG_ONTOLOGY.DKG_DELEGATION_EXPIRES_AT}> ?delegationExpiresAt . }
102
+ FILTER(!BOUND(?delegationExpiresAt) || (REGEX(STR(?delegationExpiresAt), "^[0-9]+$") && xsd:integer(STR(?delegationExpiresAt)) > ${proof.nowMs}))
103
+ ${credentialPatterns.join('\n ')}
104
+ FILTER(${credentialFilters.join(' || ')})`;
105
+ }
106
+ //# sourceMappingURL=context-graph-member-proof.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-graph-member-proof.js","sourceRoot":"","sources":["../src/context-graph-member-proof.ts"],"names":[],"mappings":"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"}