Skip to content

feat(registry-service): implement contract registry microservice#377

Merged
Mkalbani merged 1 commit into
MindFlowInteractive:mainfrom
mijinummi:feat/microservices/contract-registry-355
Jun 25, 2026
Merged

feat(registry-service): implement contract registry microservice#377
Mkalbani merged 1 commit into
MindFlowInteractive:mainfrom
mijinummi:feat/microservices/contract-registry-355

Conversation

@mijinummi

Copy link
Copy Markdown
Contributor

Description

Closes #355

This PR introduces the standalone contract-registry-service microservice under the microservices/ directory. This service acts as an independent system of record for all deployed Soroban smart contracts across Harvest Finance networks, handling cryptographically secure source code verification, upgrade logging, deprecation warnings, and third-party security audit tracking.

Changes Introduced

🏢 Architecture & Service Setup

  • NestJS Architecture: Scaffolded a robust, modular NestJS microservice designed to run in complete isolation.
  • Relational Schema Modeling: Introduced three tracking entities (SmartContract, ContractVersion, and SecurityAudit) backed by relational mappings to track ongoing contract lifecycles.
  • Independent Runtime Infrastructure: Configured multi-stage production Dockerfile environments to limit build footprints.

🔐 Blockchain Interactivity & Bytecode Verification

  • Stellar RPC Integration: Connected the engine to live ledger states via the @stellar/stellar-sdk RPC server handlers.
  • Cryptographic Match Engine: Programmed a secure SHA256 byte matcher that pulls down active compiled WASM binaries directly from network storage keys and compares them block-for-block against developer source uploads.
  • Deprecation Warning Pipelines: Exposed status administration update hooks enabling operators to tag vulnerability notices or deprecation vectors (ContractStatus.DEPRECATED).

Acceptance Criteria Verified

  • Service spins up, establishes schema pools, and accepts data streams independently of other microservices.
  • Contract entries capture release tags, compilation histories, and third-party security auditing reports.
  • Bytecode validation correctly flips status indicators to verified on identical SHA256 signatures and flags falsified inputs.
  • Target deprecation warnings propagate changes seamlessly across persistent storage tracking fields.

How to Test Locallly

  1. Change into the microservice directory:
    cd microservices/contract-registry-service

@drips-wave

drips-wave Bot commented Jun 24, 2026

Copy link
Copy Markdown

@mijinummi Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

@Mkalbani Mkalbani merged commit 2bc3fd3 into MindFlowInteractive:main Jun 25, 2026
5 of 13 checks passed
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.

Smart Contract Registry and Verification Service Setup

2 participants