Skip to content

Fix issues 394, 395, 396, 397: Core SDK Validation, Health, and Cache#406

Open
wowamaxe-glitch wants to merge 1 commit into
Stellar-split:mainfrom
wowamaxe-glitch:fix-issues-394-397
Open

Fix issues 394, 395, 396, 397: Core SDK Validation, Health, and Cache#406
wowamaxe-glitch wants to merge 1 commit into
Stellar-split:mainfrom
wowamaxe-glitch:fix-issues-394-397

Conversation

@wowamaxe-glitch

Copy link
Copy Markdown

This Pull Request implements fixes and enhancements for several core functionalities in the SDK:

  1. Address Validation Utilities (Closes Add Stellar address validation and formatting utility functions #394):

    • Implemented isValidStellarAddress using StrKey.isValidEd25519PublicKey.
    • Added addressesEqual, toMuxedAddress and fromMuxedAddress.
  2. Client Health Check (Closes Add SDK health check method with RPC connectivity report #395):

    • Added healthCheck() method to StellarSplitClient.
    • Uses getContractWasmByContractId to verify contract existence.
    • Enforces a 5-second timeout with HealthCheckTimeoutError.
  3. Configuration Validation on Instantiation (Closes Validate SDK configuration at instantiation and surface clear errors #396):

    • Renamed generic error to InvalidConfigError.
    • SDK client now throws InvalidConfigError synchronously during instantiation.
  4. Simple LRU Cache Eviction Policy (Closes Implement LRU eviction policy for the SDK in-memory cache #397):

    • Upgraded SimpleCache to use an LRU eviction policy.
    • Cache automatically ejects least recently used entries when maxEntries limit is exceeded.

Unit tests were added and updated.

@drips-wave

drips-wave Bot commented Jun 29, 2026

Copy link
Copy Markdown

@wowamaxe-glitch 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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

1 participant