Skip to content

Releases: cascade-protocol/sati

@cascade-fyi/sati-sdk@0.15.1

05 Mar 18:19
bf70916

Choose a tag to compare

Fixed

  • getReputationSummary now queries both schemas (FeedbackPublicV1 + FeedbackV1) - was only querying one, causing blind feedback to be excluded from reputation calculations

@cascade-fyi/sati-sdk@0.15.0

05 Mar 17:23
b2b8426

Choose a tag to compare

Added

  • outcome filter on FeedbackSearchOptions - filter feedback by Positive/Negative/Neutral

Changed

  • listAllAgents() uses batched loadAgents() internally instead of N+1 individual calls

Fixed

  • listAllAgents() with large limits no longer hits rate limits on default hosted proxy

Dashboard REST API

  • GET /api/feedback (global) - feedback across all agents without specifying a mint
  • GET /api/agents: offset pagination, endpointTypes filter, totalAgents count, nonTransferable field
  • GET /api/feedback/:mint: added message, createdAt, compressedAddress, schema, outcome filter

@cascade-fyi/sati-sdk@0.14.0

05 Mar 16:48
19de9cf

Choose a tag to compare

Changed

  • Default RPC URLs now route through hosted Helius-backed proxy at sati.cascade.fyi/api/rpc/:network for zero-config mainnet access without 429 rate limits
  • nonTransferable default documented as false (opt-in soulbound)

@cascade-fyi/sati-sdk@0.13.0

05 Mar 15:00
fae9801

Choose a tag to compare

Added

  • searchAllFeedback() - search feedback across all deployed schemas (FeedbackV1 + FeedbackPublicV1), merging results
  • listAllFeedbacks() - async generator for bulk feedback pagination across all schemas
  • feedbackCacheTtlMs option - configurable feedback cache TTL on SATIClientOptions (default 30s, 0 to disable)

Changed

  • Removed @coral-xyz/anchor from peer dependencies (not needed by SDK consumers)
  • Extracted shared feedback search logic into internal helper

@cascade-fyi/sati-sdk@0.12.0

21 Feb 22:52
0c9c2c7

Choose a tag to compare

Added

  • TransactionConfig interface - new optional transactionConfig field on SATIClientOptions to configure priorityFeeMicroLamports, computeUnitLimit, and maxRetries
  • Priority fee support - all transactions now include a compute unit price instruction; defaults to 50,000 microlamports on mainnet, 0 on devnet/localnet
  • Automatic retry on blockhash expiry - buildAndSendTransaction retries with a fresh blockhash up to maxRetries times (default: 2) when a transaction fails due to blockhash expiration

Changed

  • Blockhash fetched at confirmed commitment - reduces stale blockhash errors on congested networks
  • Consolidated transaction sending - removed internal sendSingleTransaction; all paths go through buildAndSendTransaction with consistent compute budget and retry logic
  • Compute budget uses updateOrAppend* helpers - prevents duplicate compute budget instructions when building complex transactions

@cascade-fyi/sati-sdk@0.11.0

20 Feb 01:17
aa8e2f5

Choose a tag to compare

Changed

  • Migrated to Light Protocol V2 batched trees - all compressed attestation operations now use V2 state and address trees with lower rollover fees
  • Updated deployed configs for all networks (localnet, devnet, mainnet) with new lookup tables and reputation score schema addresses
  • Requires @cascade-fyi/compression-kit >= 0.3.0

@cascade-fyi/compression-kit@0.3.0

20 Feb 01:17
aa8e2f5

Choose a tag to compare

Changed

  • Light Protocol V2 support - PhotonRpc constructor and createPhotonRpc() now accept a version parameter (VERSION.V1 or VERSION.V2) for protocol-aware endpoint naming and response parsing. Defaults to VERSION.V1 for backward compatibility.
  • localTestActiveStateTreeInfos() and getDefaultAddressTreeInfo() now accept a version parameter instead of reading global featureFlags
  • Fee constants split into STATE_MERKLE_TREE_ROLLOVER_FEE_V1 (300) and STATE_MERKLE_TREE_ROLLOVER_FEE_V2 (1)

Deprecated

  • featureFlags global - use VERSION enum passed to constructors/functions instead
  • versionedEndpoint() global - use PhotonRpc constructor's version parameter instead
  • STATE_MERKLE_TREE_ROLLOVER_FEE - use the V1/V2 specific constants instead

@cascade-fyi/sati-sdk@0.10.1

17 Feb 20:23
f091243

Choose a tag to compare

Fixed

  • listAllAgents input validation - offset and limit are now clamped to non-negative integers, preventing BigInt errors on fractional inputs and out-of-range member numbers on negative offsets
  • searchValidations duplicate slot fetch - eliminated redundant getSlot RPC call; now fetches slot once with graceful failure handling (consistent with listValidations)
  • isSatiAgentRegistry false positives - now verifies the registry address matches the SATI program ID, not just the Solana chain prefix

@cascade-fyi/sati-sdk@0.10.0

17 Feb 13:45
84a84b5

Choose a tag to compare

Breaking Changes

  • Endpoint renamed to ServiceDefinition - deprecated Endpoint re-export kept for backward compatibility
  • setEndpoint/removeEndpoint renamed to setService/removeService on AgentBuilder
  • listAllAgents return type changed from AgentIdentity[] to { agents: AgentIdentity[]; totalAgents: bigint } - callers must destructure
  • listAllAgents offset changed from 1-based bigint to 0-based number for simpler pagination
  • AgentSearchOptions.offset changed from bigint to number

Added

  • ERC-8004 validation and parsing - exported Zod schemas (RegistrationFileSchema, ServiceDefinitionSchema, etc.), validateRegistrationFile(), parseRegistrationFile(), normalizeRegistrationFile()
  • CAIP validation helpers - isValidAgentRegistry(), isSatiAgentRegistry()
  • buildSatiRegistrationEntry() - network-aware helper with devnet support
  • ERC8004_TYPE, VALID_TRUST_MODELS, SATI_CHAIN_IDS constants
  • Strict mode for fetchRegistrationFile() - validates against ERC-8004 schema when strict: true
  • Approximate createdAt timestamps on ParsedAttestation, ParsedFeedbackAttestation, and ParsedValidationAttestation - derived from slot numbers, no more manual slot-to-time conversion needed
  • listAllAgents order parameter - "newest" (default) or "oldest" sort order
  • buildFeedbackContent() helper - builds typed ERC-8004 feedback content bytes from friendly params
  • hexToBytes() / bytesToHex() utilities - hex conversion exported from SDK
  • Typed getters reputationScoreSchema and credential on the Sati class
  • reviewer, feedbackURI, feedbackHash fields added to FeedbackContent type

Fixed

  • listFeedbacks / listValidations now automatically fetch current slot and compute createdAt timestamps

@cascade-fyi/sati-agent0-sdk@0.7.1

17 Feb 20:23
f091243

Choose a tag to compare

Changed

  • ValidationResult.createdAt now optional - reflects upstream sati-sdk fix where slot fetch may be unavailable

Dependencies

  • @cascade-fyi/sati-sdk 0.10.1