Skip to content

[PoI]: Add Proof of Inclusion support - #305

Draft
itsyaasir wants to merge 56 commits into
mainfrom
feat/poi-implementation
Draft

[PoI]: Add Proof of Inclusion support#305
itsyaasir wants to merge 56 commits into
mainfrom
feat/poi-implementation

Conversation

@itsyaasir

@itsyaasir itsyaasir commented Jul 3, 2026

Copy link
Copy Markdown
Contributor

Description of change

Links to any relevant issues

Type of change

  • Bug fix (a non-breaking change which fixes an issue)
  • Enhancement (a non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Documentation Fix

How the change has been tested

Change checklist

  • I have followed the contribution guidelines for this project
  • I have performed a self-review of my own code
  • 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 that new and existing unit tests pass locally with my changes
  • I have updated the CHANGELOG.md, if my changes are significant enough

@itsyaasir itsyaasir self-assigned this Jul 3, 2026
@itsyaasir itsyaasir linked an issue Jul 3, 2026 that may be closed by this pull request
itsyaasir added 26 commits July 7, 2026 06:23
[PoI]: Define proof envelope and API surface
[PoI]: Add verifier dispatch and transaction verification
…ruction

feat: Add gRPC client support for Proof of Inclusion and enhance error handling
…port

feat: Add support for object proofs
feat: Add support for event proofs in source and enhance related error handling
…tion

feat: Implement committee resolution
itsyaasir added 28 commits July 16, 2026 15:37
- Added `clap` dependency for command-line argument parsing with derive feature.
- Introduced a new binary `iota-poi` for creating and verifying IOTA Proof of Inclusion proofs.
- Implemented command-line interface with subcommands for creating and verifying proofs, including detailed help messages.
- Updated `ProofBuilder` to accept object IDs instead of object references, improving clarity and functionality.
- Enhanced error handling in `Source` and `Proof` modules to better manage object and event verification.
- Added tests for new functionality, ensuring robust handling of object and event targets in proofs.
- Updated dependencies in `Cargo.toml` for improved functionality and security.
feat: Enhance Proof of Inclusion CLI and underlying logic
- Implement tests for NodePoiSource to validate BCS evidence retrieval.
- Create WASM source tests to ensure transaction evidence handling.
- Introduce TypeScript configuration for building WASM bindings.
- Update Rust dependencies and features for native gRPC support.
- Refactor source trait to return decoded transaction and checkpoint evidence.
- Enhance proof builder to handle stacked targets and deduplicate requests.
- Added LedgerSource class to handle ledger reads required by Proof of Inclusion.
- Introduced PoiClient class for creating Proof of Inclusion builders backed by IOTA ledger endpoints.
- Created source-types.ts to define interfaces for transaction and checkpoint evidence.
- Updated TypeScript configuration for the new structure.
- Implemented tests for LedgerSource and PoiClient to ensure functionality.
- Refactored existing code to integrate new classes and improve modularity.
…N files

- Deleted outdated JSON fixture files: committee.json, event.json, object.json, transaction.json.
- Updated test cases in golden.rs to reference new fixture paths under "fixtures/current".
- Adjusted proof builder tests to accommodate changes in the iota_sdk_types module.
- Modified utility functions to use new types and structures from iota_sdk_types.
- Ensured compatibility with the latest changes in the IOTA SDK and proof verification logic.
…mittee

feat: update the committee anchored walking with the latest changes.
…at/poi/nodejs-implementation

# Conflicts:
#	poi-rs/Cargo.toml
#	poi-rs/src/builder.rs
#	poi-rs/src/source.rs
#	poi-rs/tests/proof_builder.rs
- Introduced `ProofTarget` enum to represent different proof requests (Transaction, Object, Event).
- Updated `ProofBuilder` to utilize `ProofTarget` instead of the previous `SourceTarget`.
- Enhanced error handling in `ProofBuilderError` to provide more specific error types related to proof construction failures.
- Modified `SourceError` to streamline error reporting and removed unnecessary complexity.
- Adjusted tests to align with the new error handling and proof target structure.
…placing CommitteeResolver with trustedNodeVerifier and anchoredVerifier methods
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.

[PoI]: Add Proof of Inclusion support

1 participant