Skip to content

Conversation

@patextreme
Copy link
Contributor

@patextreme patextreme commented Dec 24, 2025

Description

This PR adds support for NeoPRISM as an alternative DID node backend, allowing the cloud-agent to work with either NeoPRISM or the existing Prism Node based on runtime configuration. The implementation maintains backward compatibility with existing deployments while providing the flexibility to choose the appropriate backend for different use cases. CI/CD workflows have been updated to run with the NeoPRISM backend, and integration tests now include a new configuration option to test against NeoPRISM.

Checklist

  • My PR follows the contribution guidelines of this project
  • My PR is free of third-party dependencies that don't comply with the Allowlist
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • I have added tests that prove my fix is effective or that my feature works
  • I have checked the PR title to follow the conventional commit specification

@patextreme patextreme requested a review from a team as a code owner December 24, 2025 11:29
Signed-off-by: Pat Losoponkul <pat.losoponkul@iohk.io>
Signed-off-by: Pat Losoponkul <pat.losoponkul@iohk.io>
Signed-off-by: Pat Losoponkul <pat.losoponkul@iohk.io>
Signed-off-by: Pat Losoponkul <pat.losoponkul@iohk.io>
Signed-off-by: Pat Losoponkul <pat.losoponkul@iohk.io>
…erns

Signed-off-by: Pat Losoponkul <pat.losoponkul@iohk.io>
Signed-off-by: Pat Losoponkul <pat.losoponkul@iohk.io>
Signed-off-by: Pat Losoponkul <pat.losoponkul@iohk.io>
Signed-off-by: Pat Losoponkul <pat.losoponkul@iohk.io>
Signed-off-by: Pat Losoponkul <pat.losoponkul@iohk.io>
Signed-off-by: Pat Losoponkul <pat.losoponkul@iohk.io>
Signed-off-by: Pat Losoponkul <pat.losoponkul@iohk.io>
Signed-off-by: Pat Losoponkul <pat.losoponkul@iohk.io>
Signed-off-by: Pat Losoponkul <pat.losoponkul@iohk.io>
Signed-off-by: Pat Losoponkul <pat.losoponkul@iohk.io>
Signed-off-by: Pat Losoponkul <pat.losoponkul@iohk.io>
@patextreme patextreme changed the title feat: support neoprism as a vdr node backend feat: support neoprism as node backend Dec 24, 2025
@patextreme patextreme changed the title feat: support neoprism as node backend feat: support NeoPrism as node backend Dec 24, 2025
@patextreme patextreme changed the title feat: support NeoPrism as node backend feat: support NeoPRISM as node backend Dec 24, 2025
@github-actions
Copy link
Contributor

github-actions bot commented Dec 24, 2025

Unit Test Results

106 files  ±0  106 suites  ±0   22m 32s ⏱️ +47s
899 tests ±0  891 ✅ ±0  8 💤 ±0  0 ❌ ±0 
906 runs  ±0  898 ✅ ±0  8 💤 ±0  0 ❌ ±0 

Results for commit e85070d. ± Comparison against base commit bff14dc.

This pull request removes 14 and adds 14 tests. Note that renamed tests count towards both.
org.hyperledger.identus.castor.core.model.ProtoModelHelperSpec ‑ ProtoModelHelper - filterRevokedKeysAndServices - filter keys if revokedOn timestamp has passed
org.hyperledger.identus.castor.core.model.ProtoModelHelperSpec ‑ ProtoModelHelper - filterRevokedKeysAndServices - filter keys if revokedOn timestamp is exactly now
org.hyperledger.identus.castor.core.model.ProtoModelHelperSpec ‑ ProtoModelHelper - filterRevokedKeysAndServices - filter services if deletedOn timestamp has passed
org.hyperledger.identus.castor.core.model.ProtoModelHelperSpec ‑ ProtoModelHelper - filterRevokedKeysAndServices - filter services if deletedOn timestamp is exactly now
org.hyperledger.identus.castor.core.model.ProtoModelHelperSpec ‑ ProtoModelHelper - filterRevokedKeysAndServices - not filter keys if revokedOn is empty
org.hyperledger.identus.castor.core.model.ProtoModelHelperSpec ‑ ProtoModelHelper - filterRevokedKeysAndServices - not filter keys if revokedOn timestamp has not passed
org.hyperledger.identus.castor.core.model.ProtoModelHelperSpec ‑ ProtoModelHelper - filterRevokedKeysAndServices - not filter services if deletedOn is empty
org.hyperledger.identus.castor.core.model.ProtoModelHelperSpec ‑ ProtoModelHelper - filterRevokedKeysAndServices - not filter services if deletedOn timestamp has not passed
org.hyperledger.identus.castor.core.service.DIDServiceSpec ‑ DIDServiceImpl - resolveDID - long-form unpublished DID cannot be resolved if encoded state is invalid
org.hyperledger.identus.castor.core.service.DIDServiceSpec ‑ DIDServiceImpl - resolveDID - long-form unpublished DID returns content in encoded state
…
org.hyperledger.identus.castor.core.model.ProtoModelHelperSpec ‑ ProtoModelHelper - filterRevokedEntries - filter keys if revokedOn timestamp has passed
org.hyperledger.identus.castor.core.model.ProtoModelHelperSpec ‑ ProtoModelHelper - filterRevokedEntries - filter keys if revokedOn timestamp is exactly now
org.hyperledger.identus.castor.core.model.ProtoModelHelperSpec ‑ ProtoModelHelper - filterRevokedEntries - filter services if deletedOn timestamp has passed
org.hyperledger.identus.castor.core.model.ProtoModelHelperSpec ‑ ProtoModelHelper - filterRevokedEntries - filter services if deletedOn timestamp is exactly now
org.hyperledger.identus.castor.core.model.ProtoModelHelperSpec ‑ ProtoModelHelper - filterRevokedEntries - not filter keys if revokedOn is empty
org.hyperledger.identus.castor.core.model.ProtoModelHelperSpec ‑ ProtoModelHelper - filterRevokedEntries - not filter keys if revokedOn timestamp has not passed
org.hyperledger.identus.castor.core.model.ProtoModelHelperSpec ‑ ProtoModelHelper - filterRevokedEntries - not filter services if deletedOn is empty
org.hyperledger.identus.castor.core.model.ProtoModelHelperSpec ‑ ProtoModelHelper - filterRevokedEntries - not filter services if deletedOn timestamp has not passed
org.hyperledger.identus.castor.core.service.DIDServiceSpec ‑ PrismNodeDIDService - resolveDID - long-form unpublished DID cannot be resolved if encoded state is invalid
org.hyperledger.identus.castor.core.service.DIDServiceSpec ‑ PrismNodeDIDService - resolveDID - long-form unpublished DID returns content in encoded state
…

♻️ This comment has been updated with latest results.

@github-actions
Copy link
Contributor

github-actions bot commented Dec 24, 2025

Integration Test Results

 24 files  ±0   24 suites  ±0   3s ⏱️ ±0s
 61 tests ±0   61 ✅ ±0  0 💤 ±0  0 ❌ ±0 
113 runs  ±0  113 ✅ ±0  0 💤 ±0  0 ❌ ±0 

Results for commit e85070d. ± Comparison against base commit bff14dc.

♻️ This comment has been updated with latest results.

Signed-off-by: Pat Losoponkul <pat.losoponkul@iohk.io>
Signed-off-by: Pat Losoponkul <pat.losoponkul@iohk.io>
@coveralls
Copy link

coveralls commented Jan 6, 2026

Coverage Status

coverage: 47.096% (-0.6%) from 47.657%
when pulling e85070d on neoprism-backend
into bff14dc on main.

@yshyn-iohk
Copy link
Contributor

Well done, @patextreme!
Let's merge this PR into the main branch and coordinate with @amagyar-iohk on integrating this solution into the e2e test suites in the integration project.

Signed-off-by: Pat Losoponkul <pat.losoponkul@iohk.io>
@patextreme patextreme enabled auto-merge (squash) January 6, 2026 10:50
@sonarqubecloud
Copy link

sonarqubecloud bot commented Jan 6, 2026

@patextreme patextreme merged commit e1a5af2 into main Jan 6, 2026
13 checks passed
@patextreme patextreme deleted the neoprism-backend branch January 6, 2026 11:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants