Skip to content

Releases: ShellDAO/shell-sdk

shell-sdk v0.13.0

Choose a tag to compare

@LucienSong LucienSong released this 11 Jul 16:55
ae2e771

Highlights

  • Typed staking governance helpers: encodeSetValidatorStake and proposeSetValidatorStake.
  • Validator snapshots expose stakeDerivedWeights.
  • Finality tags, nullable terminal epochs, and session authorization hashing align with shell-chain v0.27.x.

Verification

  • TypeScript typecheck
  • 134 unit tests passed; testnet e2e remains opt-in
  • Package build and npm pack dry run passed

The npm package is intentionally not published by this release workflow; the maintainer will publish shell-sdk@0.13.0 manually.

shell-sdk v0.12.0

Choose a tag to compare

@LucienSong LucienSong released this 06 Jul 16:57
610da6b

Summary

  • Added typed wrappers and public types for shell-chain v0.25 RPCs.
  • Validated addresses, hashes, block numbers, quantities, and validator weights before wrapper requests.
  • Updated README/changelog compatibility notes for shell-chain v0.25.x.

Verification

  • npm run typecheck
  • npm test
  • npm run build
  • npm audit --omit=dev --audit-level=moderate
  • npm pack --dry-run

shell-sdk v0.11.1

Choose a tag to compare

@LucienSong LucienSong released this 29 Jun 15:56
60f880d

Summary

Patch release for RPC v2 fallback and contract receipt polling behavior.

Changes

  • Limit getTransactionsByAddressV2 legacy fallback to method not found responses from older nodes.
  • Reject ascending cursor history on legacy nodes instead of returning mislabeled descending data.
  • Clamp receipt polling intervals below 100ms to avoid tight RPC loops.

Verification

  • GitHub CI passed on PR #33.
  • Local npm run typecheck, npm test, and npm run build passed.

Shell SDK v0.11.0

Choose a tag to compare

@LucienSong LucienSong released this 29 Jun 09:58
8adad0f

Highlights

  • Adds public shell-sdk/contracts runtime helpers for smart contract deploy/read/write flows.
  • Adds Node-only shell-sdk/contracts/compiler Solidity artifact helpers.
  • Adds shell-sdk CLI contract commands: compile, deploy, write, read, and smoke.
  • Aligns contract APIs with Shell 32-byte address semantics while keeping Solidity address ABI selectors intact.
  • Keeps browser consumers free from bundling solc unless they import the Node compiler subpath.

Verification

  • npm run typecheck
  • npm test
  • npm run build
  • npm audit --omit=dev --audit-level=moderate

Published to npm as shell-sdk@0.11.0 after manual OTP confirmation. The tag workflow checks passed through build and failed only at the npm 2FA publish step.

shell-sdk v0.10.0

Choose a tag to compare

@LucienSong LucienSong released this 16 Jun 08:35

[0.10.0] — 2026-06-15

Added

  • PQ-HD wallet derivation helpers and canonical test vectors.
  • Session-key authorization helpers and exports for AA session flows.
  • Contract compile fixture support and PQVM contract integration fixtures.
  • Additional public exports for ./session and ./hdwallet.

Changed

  • Aligns SDK public API and documentation with shell-chain v0.24.x.
  • Keeps v0.9.x signing-hash compatibility while adding new PQ-HD/session
    functionality as a minor-version feature release.

shell-sdk v0.9.3 — Domain-Separated Signing, Security Hardening & Doc Fixes

Choose a tag to compare

@LucienSong LucienSong released this 30 May 17:47
0bb170e

What's Changed

Security

  • 16-byte domain separators on all signing hashes — Transaction, AA batch, paymaster, and session signing hash preimages now include a unique 16-byte domain prefix, preventing cross-context replay attacks. Rust compatibility vectors updated. (#23)
  • Real key-material erasure — KDF output and intermediate key bytes are now zeroed after use instead of being silently GC'd. (#22)
  • SSRF guard: IPv6 link-local and unique-local blockedvalidateRpcUrl previously only checked IPv4 private ranges; URLs like https://[fe80::1] passed through. Added isPrivateIpv6 covering ::1, fe80::/10, fc00::/7, and all IPv4-mapped ::ffff:* addresses. (#24)
  • BLAKE3 hash alignment — signing hash preimages aligned with shell-chain Rust implementation. (#21)
  • Input validation hardening — additional server-side input validation and memory clearing. (#22)

Bug Fixes

  • Algorithm ID comments correctedtypes.ts JSDoc wrongly labelled ML-DSA-65 as ID 0; correct values: Dilithium3=0, ML-DSA-65/MlDsa65=1. (#24)
  • SessionAuth auth_hash preimage corrected — domain is the 16-byte PQTX_SESSION_V1\0 prefix + 32-byte target (was documented as 0x81 + 20-byte), now matching shell-chain/crates/core/src/transaction.rs. (#24)

Tests

  • 55 tests pass (up from 51), covering new IPv6 SSRF cases and existing Rust compatibility vectors.

Upgrade Notes

The signing hash domain separator change is wire-compatible with shell-chain v0.24.1+ which introduced the same domain prefixes on the Rust side. If you are signing transactions for an older node, pin to v0.9.1.

Full Changelog: v0.9.1...v0.9.3

v0.9.1

Choose a tag to compare

@LucienSong LucienSong released this 24 May 16:53
a3e1d71

First published release with 0x hex address format (shell-chain >= v0.23.0). Breaking from 0.8.x: bech32m removed. 48/48 tests pass.

shell-sdk v0.8.2 — aligned with shell-chain v0.22.2

Choose a tag to compare

@LucienSong LucienSong released this 12 May 15:43
9f96004

What's Changed

Compatibility

  • Version bump aligned with shell-chain v0.22.2
  • No breaking API changes from v0.8.1

Full Changelog: v0.8.1...v0.8.2

shell-sdk v0.8.0

Choose a tag to compare

@LucienSong LucienSong released this 06 May 01:37
72466f7

shell-sdk v0.8.0 — Proof Input Decode Types

Aligned with shell-chain v0.22.0.

Added

  • ShellDecodedProofInput type: structured proof amendment payload decoded from starkReward settlement transactions (requires shell-chain v0.22+).
    Fields: layer, blockNumber, startBlock, endBlock, nSigs, compressedSize, originalSize, settlementTxHash.
  • ShellRpcTransaction.decodedInput?: ShellDecodedProofInput | null — filled by the node for starkReward system transactions; null/absent otherwise.
  • ShellDecodedProofInput exported from the package root.

Changed

  • Aligned with shell-chain v0.22.0 RPC surface.

npm install @shellprotocol/shell-sdk@0.8.0

shell-sdk v0.7.1

Choose a tag to compare

@LucienSong LucienSong released this 05 May 18:21
806be22

Added

  • Typed Shell RPC reward metadata for address-history and transaction-summary responses, including block gas rewards, STARK rewards, reward layers, source hashes, and compression accounting fields.

Changed

  • Preserve pq1-only compatibility from 0.7.0 while aligning the SDK type surface with shell-chain v0.21.1.