Skip to content

Feature: Sharable References#7

Merged
sephynox merged 3 commits into
mainfrom
feat/add-missing-kyc-endpoints
Jul 9, 2026
Merged

Feature: Sharable References#7
sephynox merged 3 commits into
mainfrom
feat/add-missing-kyc-endpoints

Conversation

@sephynox

@sephynox sephynox commented Jul 8, 2026

Copy link
Copy Markdown
Collaborator

Summary

Adds sharable external attributes support.

Related Issues

Changes Made

  • Adds ExternalReferences
  • Updates SharableCertificateAttributes
  • Renames "Account" to "PublicKeyString"

Testing

  • make test -- passes

Breaking Changes

  • Renames Account.Address to Account.PublicKeyString

@sephynox sephynox self-assigned this Jul 8, 2026
@sephynox sephynox added the enhancement New feature or request label Jul 8, 2026
@sephynox sephynox requested a review from wezrule July 8, 2026 22:45

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds support for sharable certificate attributes that can carry external blob references, including helper APIs to discover/fetch referenced blobs and interop tests to validate C# ↔ TypeScript behavior.

Changes:

  • Introduces external reference discovery/fetching and bundle accessors (ExternalReferences, KycCertificate.GetExternalReferences, SharableCertificateAttributes.GetReferenceBlob, and wasm interop plumbing).
  • Extends the Node harness to revive JSON-encoded builder values and to serve/open sharables for reference-fetch interop tests.
  • Renames Account.Address / AccountFactory.FromAccount usage sites to PublicKeyString / FromPublicKeyString, and expands DI registrations to expose factory surfaces directly.

Reviewed changes

Copilot reviewed 26 out of 26 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
tests/node-harness/src/values.ts Adds shared JSON “revival” logic for Date/Buffer marker objects used in harness requests.
tests/node-harness/src/sharable.ts Adds harness commands for serving blobs over HTTP and opening sharables while resolving $blob references.
tests/node-harness/src/kyc.ts Removes local revive logic and centralizes revival via values.ts.
tests/KeetaNet.Anchor.Tests/LifecycleTests.cs Updates lifecycle assertions to use PublicKeyString instead of Address.
tests/KeetaNet.Anchor.Tests/DependencyInjectionTests.cs Updates account identity assertions and adds a test ensuring factories are registered for DI.
tests/KeetaNet.Anchor.Tests/CryptoTests.cs Updates crypto tests to the renamed account identity API (PublicKeyString / FromPublicKeyString).
tests/KeetaNet.Anchor.Tests/ConcurrencyTests.cs Updates concurrency tests to compare stable public identity via PublicKeyString.
tests/KeetaNet.Anchor.Tests/AssetModelTests.cs Updates asset client creation to pass PublicKeyString.
tests/KeetaNet.Anchor.E2eTests/SharableReferenceTests.cs Adds end-to-end interop tests for external blob references (fetch/unwrapping/data URLs).
tests/KeetaNet.Anchor.E2eTests/NodeFlowTests.cs Updates node flow tests to use FromPublicKeyString / PublicKeyString.
tests/KeetaNet.Anchor.E2eTests/KycFlowTests.cs Updates KYC flow tests to use FromPublicKeyString / PublicKeyString.
tests/KeetaNet.Anchor.E2eTests/AssetSession.cs Exposes the runtime to support new test flows and updates signer identity usage.
tests/KeetaNet.Anchor.E2eTests/AssetFlowTests.cs Adjusts provider lookup test to use an Account built from a public-key string.
src/KeetaNet.Anchor/Services/Node/NodeClient.cs Switches node API calls from Address to PublicKeyString and updates representative/token parsing accordingly.
src/KeetaNet.Anchor/Services/AssetMovement/AssetMovementClient.cs Updates account-based provider lookup to use PublicKeyString.
src/KeetaNet.Anchor/Interop/WasmRuntime.Sharable.cs Adds wasm entry points for building sharables with pre-fetched blobs and retrieving inlined reference blobs.
src/KeetaNet.Anchor/Interop/WasmRuntime.Crypto.cs Adds an 8-argument wasm invoke overload used by new sharable APIs.
src/KeetaNet.Anchor/Crypto/SharableCertificateAttributesFactory.cs Adds overloads for building sharables with caller-supplied blobs and a convenience overload that discovers + fetches blobs.
src/KeetaNet.Anchor/Crypto/SharableCertificateAttributes.cs Adds GetReferenceBlob accessor for digest-verified inlined reference payloads.
src/KeetaNet.Anchor/Crypto/KycCertificate.cs Adds AttributeReference record + GetExternalReferences to discover external blob references in decoded values.
src/KeetaNet.Anchor/Crypto/ExternalReferences.cs Adds HTTP/data URL blob fetching + wrapper unwrapping helper for external references.
src/KeetaNet.Anchor/Crypto/AccountFactory.cs Renames read-only account creation API to FromPublicKeyString.
src/KeetaNet.Anchor/Crypto/Account.cs Renames public identity accessor to PublicKeyString.
src/KeetaNet.Anchor.Extensions.DependencyInjection/KeetaNetAnchorServiceCollectionExtensions.cs Registers runtime factory surfaces (Accounts/Certificates/etc.) for direct injection.
scripts/pins.env Bumps pinned wasm core crate version and checksum.
README.md Updates usage examples and prose to the PublicKeyString / FromPublicKeyString terminology.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/KeetaNet.Anchor/Crypto/Account.cs
Comment thread src/KeetaNet.Anchor/Crypto/AccountFactory.cs
Comment thread src/KeetaNet.Anchor/Crypto/ExternalReferences.cs
Comment thread src/KeetaNet.Anchor/Crypto/ExternalReferences.cs
@sonarqubecloud

sonarqubecloud Bot commented Jul 9, 2026

Copy link
Copy Markdown

@sephynox sephynox merged commit 7ef1547 into main Jul 9, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants