@cascade-fyi/compression-kit 0.2.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md ADDED
@@ -0,0 +1,112 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project will be documented in this file.
4
+
5
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
+ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
+
8
+ ## [0.3.0] - 2026-02-20
9
+
10
+ ### Changed
11
+
12
+ - **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.
13
+ - `localTestActiveStateTreeInfos()` and `getDefaultAddressTreeInfo()` now accept a `version` parameter instead of reading global `featureFlags`
14
+ - Fee constants split into `STATE_MERKLE_TREE_ROLLOVER_FEE_V1` (300) and `STATE_MERKLE_TREE_ROLLOVER_FEE_V2` (1)
15
+
16
+ ### Deprecated
17
+
18
+ - `featureFlags` global - use `VERSION` enum passed to constructors/functions instead
19
+ - `versionedEndpoint()` global - use `PhotonRpc` constructor's `version` parameter instead
20
+ - `STATE_MERKLE_TREE_ROLLOVER_FEE` - use the V1/V2 specific constants instead
21
+
22
+ ## [0.2.1] - 2026-02-12
23
+
24
+ ### Fixed
25
+
26
+ - `MemcmpFilter` now works with Photon RPC - filters are transformed to the correct wire format (`{ memcmp: { offset, bytes } }` with base58-encoded bytes)
27
+ - `getCompressedAccountsByOwner` properly passes memcmp filters to Photon for server-side filtering (previously filters were passed through raw and ignored)
28
+
29
+ ### Changed
30
+
31
+ - Removed unused `encoding` field from `MemcmpFilter` interface (was documented as "not yet supported")
32
+ - Updated `MemcmpFilter.bytes` type docs to reflect actual usage (base58 string or Uint8Array)
33
+
34
+ ## [0.2.0] - 2025-01-04
35
+
36
+ ### Added
37
+
38
+ - **Web Crypto Utilities**
39
+ - `importEd25519PublicKey()` - Import Ed25519 public keys using Web Crypto API for signature verification
40
+
41
+ - **RPC Types**
42
+ - `MemcmpFilter` - Interface for memory comparison filtering in Photon RPC queries
43
+
44
+ ### Changed
45
+
46
+ - Upgraded TypeScript target to ES2022 with ES2023 lib for better performance
47
+ - Added DOM type definitions for Web Crypto API compatibility
48
+ - Improved npm package metadata and publishing configuration
49
+
50
+ ## [0.1.0] - 2024-12-29
51
+
52
+ ### Added
53
+
54
+ - Initial release of `@cascade-fyi/compression-kit`
55
+ - **Photon RPC Client**
56
+ - `createPhotonRpc()` - Create RPC client for Light Protocol indexer
57
+ - `getCompressedAccount()` - Fetch compressed account by hash
58
+ - `getCompressedAccountsByOwner()` - Fetch all compressed accounts for owner
59
+ - `getCompressedTokenAccountsByOwner()` - Fetch token accounts
60
+ - `getCompressedTokenBalancesByOwner()` - Fetch token balances
61
+ - `getValidityProof()` - Get validity proofs for accounts/addresses
62
+ - `getMultipleCompressedAccounts()` - Batch fetch accounts
63
+ - `getCompressionSignaturesForOwner()` - Get transaction signatures
64
+ - `getLatestCompressionSignatures()` - Get recent signatures
65
+ - `getIndexerHealth()` / `getIndexerSlot()` - Health checks
66
+
67
+ - **Address Derivation**
68
+ - `deriveAddressSeed()` / `deriveAddress()` - V1 address derivation
69
+ - `deriveAddressSeedV2()` / `deriveAddressV2()` - V2 address derivation
70
+ - `packNewAddressParams()` - Pack address params for instructions
71
+ - `addressToBytes()` / `bytesToAddress()` - Address conversions
72
+
73
+ - **BN254 Field Operations**
74
+ - `createBN254()` - Create field element from bigint
75
+ - `bn254FromBytes()` / `bn254ToBytes()` - Byte conversions
76
+ - `bn254Add()` / `bn254Sub()` / `bn254Mul()` - Field arithmetic
77
+ - `isSmallerThanFieldSize()` - Field size validation
78
+ - `encodeBN254toBase58()` / `encodeBN254toHex()` - Encoding utilities
79
+
80
+ - **Instruction Building**
81
+ - `PackedAccounts` - Helper class for building instruction accounts
82
+ - `getLightSystemAccountMetas()` - Get Light system account metas (V1)
83
+ - `getLightSystemAccountMetasV2()` - Get Light system account metas (V2)
84
+ - `createSystemAccountConfig()` - Create system account configuration
85
+ - `getCpiSignerPda()` - Derive CPI signer PDA
86
+
87
+ - **Conversion Utilities**
88
+ - `hashToBn254FieldSizeBe()` - Hash to BN254 field
89
+ - `hexToBytes()` / `bytesToHex()` - Hex conversions
90
+ - `mergeBytes()` / `padBytes()` - Byte manipulation
91
+ - `bytesEqual()` - Byte comparison
92
+
93
+ - **Constants**
94
+ - Program IDs: `LIGHT_SYSTEM_PROGRAM`, `ACCOUNT_COMPRESSION_PROGRAM`, `COMPRESSED_TOKEN_PROGRAM`
95
+ - Tree addresses for mainnet and devnet
96
+ - Fee constants and configuration values
97
+
98
+ - **Error Handling**
99
+ - Typed error codes for different domains (RPC, Proof, BN254, etc.)
100
+ - Error factory functions for consistent error creation
101
+
102
+ ### Notes
103
+
104
+ - This package is a Solana Kit native implementation of Light Protocol's `@lightprotocol/stateless.js`
105
+ - Uses native `bigint` instead of BN.js for better performance
106
+ - Uses `Address` type from `@solana/kit` instead of `PublicKey`
107
+ - Compatible with edge runtimes (Cloudflare Workers, Deno, browsers)
108
+
109
+ [0.3.0]: https://github.com/cascade-protocol/sati/compare/@cascade-fyi/compression-kit@0.2.1...@cascade-fyi/compression-kit@0.3.0
110
+ [0.2.1]: https://github.com/cascade-protocol/sati/compare/@cascade-fyi/compression-kit@0.2.0...@cascade-fyi/compression-kit@0.2.1
111
+ [0.2.0]: https://github.com/cascade-protocol/sati/compare/@cascade-fyi/compression-kit@0.1.0...@cascade-fyi/compression-kit@0.2.0
112
+ [0.1.0]: https://github.com/cascade-protocol/sati/releases/tag/@cascade-fyi/compression-kit@0.1.0
package/README.md CHANGED
@@ -57,6 +57,15 @@ const rpc = createPhotonRpc('https://mainnet.helius-rpc.com/?api-key=YOUR_KEY');
57
57
  // Get all compressed accounts for an owner
58
58
  const accounts = await rpc.getCompressedAccountsByOwner(ownerAddress);
59
59
 
60
+ // With server-side memcmp filtering (up to 5 filters, AND logic)
61
+ const filtered = await rpc.getCompressedAccountsByOwner(ownerAddress, {
62
+ filters: [
63
+ { offset: 8, bytes: schemaAddress }, // base58 string
64
+ { offset: 40, bytes: agentMintBytes }, // or Uint8Array
65
+ ],
66
+ limit: 50,
67
+ });
68
+
60
69
  // Get compressed token accounts
61
70
  const tokenAccounts = await rpc.getCompressedTokenAccountsByOwner(ownerAddress, {
62
71
  mint: mintAddress,
@@ -241,6 +250,10 @@ import {
241
250
  - Node.js >= 20.18.0
242
251
  - TypeScript >= 5.0 (for type definitions)
243
252
 
253
+ ## Changelog
254
+
255
+ See [CHANGELOG.md](https://github.com/cascade-protocol/sati/blob/main/packages/compression-kit/CHANGELOG.md) for version history.
256
+
244
257
  ## Related Packages
245
258
 
246
259
  - [`@solana/kit`](https://www.npmjs.com/package/@solana/kit) - Solana Kit for modern Solana development
package/dist/index.cjs CHANGED
@@ -62,6 +62,7 @@ let VERSION = /* @__PURE__ */ function(VERSION$1) {
62
62
  }({});
63
63
  /**
64
64
  * Feature flags for protocol versioning.
65
+ * @deprecated Use `VERSION` enum directly and pass to functions/constructors instead.
65
66
  * @internal
66
67
  */
67
68
  const featureFlags = {
@@ -70,7 +71,7 @@ const featureFlags = {
70
71
  };
71
72
  /**
72
73
  * Returns versioned endpoint name.
73
- * @example versionedEndpoint('getCompressedAccount') -> 'getCompressedAccountV2' (if V2)
74
+ * @deprecated Use `PhotonRpc` constructor's `version` parameter instead.
74
75
  */
75
76
  const versionedEndpoint = (base) => featureFlags.isV2() ? `${base}V2` : base;
76
77
  /**
@@ -195,8 +196,15 @@ const UTXO_MERGE_THRESHOLD = 20;
195
196
  const UTXO_MERGE_MAXIMUM = 10;
196
197
  /** Tree rollover threshold (95% capacity) */
197
198
  const TRANSACTION_MERKLE_TREE_ROLLOVER_THRESHOLD = BigInt(Math.floor(2 ** DEFAULT_MERKLE_TREE_HEIGHT * .95));
198
- /** Fee per output compressed account (for tree rollover) */
199
- const STATE_MERKLE_TREE_ROLLOVER_FEE = featureFlags.isV2() ? 1n : 300n;
199
+ /** Fee per output compressed account (V1 tree rollover) */
200
+ const STATE_MERKLE_TREE_ROLLOVER_FEE_V1 = 300n;
201
+ /** Fee per output compressed account (V2 batched tree rollover) */
202
+ const STATE_MERKLE_TREE_ROLLOVER_FEE_V2 = 1n;
203
+ /**
204
+ * @deprecated Use `STATE_MERKLE_TREE_ROLLOVER_FEE_V1` or `STATE_MERKLE_TREE_ROLLOVER_FEE_V2` instead.
205
+ * Defaults to V1 fee for backward compatibility.
206
+ */
207
+ const STATE_MERKLE_TREE_ROLLOVER_FEE = STATE_MERKLE_TREE_ROLLOVER_FEE_V1;
200
208
  /** Fee per new address (for address tree rollover) */
201
209
  const ADDRESS_QUEUE_ROLLOVER_FEE = 392n;
202
210
  /** Network fee for nullifying compressed accounts */
@@ -247,9 +255,10 @@ function defaultTestStateTreeAccounts() {
247
255
  }
248
256
  /**
249
257
  * Returns active state tree infos for localnet testing.
258
+ * @param version - Protocol version. Defaults to V1 for backward compatibility.
250
259
  * @internal
251
260
  */
252
- function localTestActiveStateTreeInfos() {
261
+ function localTestActiveStateTreeInfos(version = VERSION.V1) {
253
262
  const v1Trees = [{
254
263
  tree: MERKLE_TREE_PUBKEY,
255
264
  queue: NULLIFIER_QUEUE_PUBKEY,
@@ -263,7 +272,7 @@ function localTestActiveStateTreeInfos() {
263
272
  treeType: TreeType.StateV1,
264
273
  nextTreeInfo: null
265
274
  }];
266
- if (!featureFlags.isV2()) return v1Trees;
275
+ if (version !== VERSION.V2) return v1Trees;
267
276
  return [
268
277
  ...v1Trees,
269
278
  {
@@ -290,9 +299,10 @@ function localTestActiveStateTreeInfos() {
290
299
  }
291
300
  /**
292
301
  * Returns default address tree info.
302
+ * @param version - Protocol version. Defaults to V1 for backward compatibility.
293
303
  */
294
- function getDefaultAddressTreeInfo() {
295
- if (featureFlags.isV2()) return {
304
+ function getDefaultAddressTreeInfo(version = VERSION.V1) {
305
+ if (version === VERSION.V2) return {
296
306
  tree: BATCH_ADDRESS_TREE,
297
307
  queue: BATCH_ADDRESS_TREE,
298
308
  treeType: TreeType.AddressV2,
@@ -1182,15 +1192,20 @@ let requestId = 0n;
1182
1192
  */
1183
1193
  var PhotonRpc = class {
1184
1194
  endpoint;
1195
+ version;
1185
1196
  headers;
1186
- constructor(endpoint, headers) {
1197
+ constructor(endpoint, headers, version) {
1187
1198
  this.endpoint = endpoint;
1199
+ this.version = version ?? VERSION.V1;
1188
1200
  this.headers = {
1189
1201
  "Content-Type": "application/json",
1190
1202
  Accept: "application/json",
1191
1203
  ...headers
1192
1204
  };
1193
1205
  }
1206
+ versionedEndpoint(base) {
1207
+ return this.version === VERSION.V2 ? `${base}V2` : base;
1208
+ }
1194
1209
  /**
1195
1210
  * Make a JSON-RPC request to the Photon indexer.
1196
1211
  */
@@ -1233,39 +1248,42 @@ var PhotonRpc = class {
1233
1248
  * Get a single compressed account by address or hash.
1234
1249
  */
1235
1250
  async getCompressedAccount(addressOrHash) {
1236
- const method = versionedEndpoint("getCompressedAccount");
1251
+ const method = this.versionedEndpoint("getCompressedAccount");
1237
1252
  const params = {};
1238
1253
  if (addressOrHash.address) params.address = addressOrHash.address;
1239
1254
  if (addressOrHash.hash !== void 0) params.hash = encodeBN254(addressOrHash.hash);
1240
1255
  const result = await this.requestWithContext(method, params);
1241
1256
  if (!result.value) return null;
1242
- return parseCompressedAccount(result.value);
1257
+ return parseCompressedAccount(result.value, this.version);
1243
1258
  }
1244
1259
  /**
1245
1260
  * Get multiple compressed accounts by hashes.
1246
1261
  */
1247
1262
  async getMultipleCompressedAccounts(hashes) {
1248
- const method = versionedEndpoint("getMultipleCompressedAccounts");
1263
+ const method = this.versionedEndpoint("getMultipleCompressedAccounts");
1249
1264
  const params = { hashes: hashes.map(encodeBN254) };
1250
- return (await this.requestWithContext(method, params)).value.items.map(parseCompressedAccount);
1265
+ return (await this.requestWithContext(method, params)).value.items.map((item) => parseCompressedAccount(item, this.version));
1251
1266
  }
1252
1267
  /**
1253
1268
  * Get compressed accounts by owner.
1254
1269
  *
1255
- * NOTE: `filters` parameter is prepared for when Photon RPC supports memcmp filters.
1256
- * Currently filters are passed through but may be ignored by the server.
1270
+ * Supports up to 5 memcmp filters for server-side filtering (AND logic).
1257
1271
  */
1258
1272
  async getCompressedAccountsByOwner(owner, config) {
1259
- const method = versionedEndpoint("getCompressedAccountsByOwner");
1273
+ const method = this.versionedEndpoint("getCompressedAccountsByOwner");
1274
+ const photonFilters = config?.filters?.map((f) => ({ memcmp: {
1275
+ offset: f.offset,
1276
+ bytes: f.bytes instanceof Uint8Array ? bs58.default.encode(f.bytes) : f.bytes
1277
+ } }));
1260
1278
  const params = {
1261
1279
  owner,
1262
1280
  cursor: config?.cursor,
1263
1281
  limit: config?.limit,
1264
- filters: config?.filters
1282
+ filters: photonFilters
1265
1283
  };
1266
1284
  const result = await this.requestWithContext(method, params);
1267
1285
  return {
1268
- items: result.value.items.map(parseCompressedAccount),
1286
+ items: result.value.items.map((item) => parseCompressedAccount(item, this.version)),
1269
1287
  cursor: result.value.cursor
1270
1288
  };
1271
1289
  }
@@ -1273,7 +1291,7 @@ var PhotonRpc = class {
1273
1291
  * Get compressed SOL balance by owner.
1274
1292
  */
1275
1293
  async getCompressedBalanceByOwner(owner) {
1276
- const method = versionedEndpoint("getCompressedBalanceByOwner");
1294
+ const method = this.versionedEndpoint("getCompressedBalanceByOwner");
1277
1295
  const result = await this.requestWithContext(method, { owner });
1278
1296
  return BigInt(result.value);
1279
1297
  }
@@ -1281,17 +1299,17 @@ var PhotonRpc = class {
1281
1299
  * Get merkle proof for a compressed account.
1282
1300
  */
1283
1301
  async getCompressedAccountProof(hash) {
1284
- const method = versionedEndpoint("getCompressedAccountProof");
1302
+ const method = this.versionedEndpoint("getCompressedAccountProof");
1285
1303
  const params = { hash: encodeBN254(hash) };
1286
- return parseMerkleProof((await this.requestWithContext(method, params)).value);
1304
+ return parseMerkleProof((await this.requestWithContext(method, params)).value, this.version);
1287
1305
  }
1288
1306
  /**
1289
1307
  * Get merkle proofs for multiple compressed accounts.
1290
1308
  */
1291
1309
  async getMultipleCompressedAccountProofs(hashes) {
1292
- const method = versionedEndpoint("getMultipleCompressedAccountProofs");
1310
+ const method = this.versionedEndpoint("getMultipleCompressedAccountProofs");
1293
1311
  const params = { hashes: hashes.map(encodeBN254) };
1294
- return (await this.requestWithContext(method, params)).value.map(parseMerkleProof);
1312
+ return (await this.requestWithContext(method, params)).value.map((item) => parseMerkleProof(item, this.version));
1295
1313
  }
1296
1314
  /**
1297
1315
  * Get validity proof for compressed accounts and/or new addresses.
@@ -1304,7 +1322,7 @@ var PhotonRpc = class {
1304
1322
  * - `newAddressesWithTrees`: array of { address: string, tree: string }
1305
1323
  */
1306
1324
  async getValidityProof(hashes, newAddresses) {
1307
- const method = versionedEndpoint("getValidityProof");
1325
+ const method = this.versionedEndpoint("getValidityProof");
1308
1326
  const params = {
1309
1327
  hashes: hashes.map((h) => encodeBN254(h.hash)),
1310
1328
  newAddressesWithTrees: newAddresses.map((a) => ({
@@ -1318,7 +1336,7 @@ var PhotonRpc = class {
1318
1336
  * Get compressed token accounts by owner.
1319
1337
  */
1320
1338
  async getCompressedTokenAccountsByOwner(owner, config) {
1321
- const method = versionedEndpoint("getCompressedTokenAccountsByOwner");
1339
+ const method = this.versionedEndpoint("getCompressedTokenAccountsByOwner");
1322
1340
  const params = {
1323
1341
  owner,
1324
1342
  mint: config?.mint,
@@ -1327,7 +1345,7 @@ var PhotonRpc = class {
1327
1345
  };
1328
1346
  const result = await this.requestWithContext(method, params);
1329
1347
  return {
1330
- items: result.value.items.map(parseTokenAccount),
1348
+ items: result.value.items.map((item) => parseTokenAccount(item, this.version)),
1331
1349
  cursor: result.value.cursor
1332
1350
  };
1333
1351
  }
@@ -1335,7 +1353,7 @@ var PhotonRpc = class {
1335
1353
  * Get compressed token balances by owner.
1336
1354
  */
1337
1355
  async getCompressedTokenBalancesByOwner(owner, config) {
1338
- const method = versionedEndpoint("getCompressedTokenBalancesByOwner");
1356
+ const method = this.versionedEndpoint("getCompressedTokenBalancesByOwner");
1339
1357
  const params = {
1340
1358
  owner,
1341
1359
  mint: config?.mint,
@@ -1419,8 +1437,8 @@ function encodeBN254(value) {
1419
1437
  }
1420
1438
  return bs58.default.encode(bytes);
1421
1439
  }
1422
- function parseCompressedAccount(raw) {
1423
- const treeInfo = parseTreeInfo(raw);
1440
+ function parseCompressedAccount(raw, version) {
1441
+ const treeInfo = parseTreeInfo(raw, version);
1424
1442
  return {
1425
1443
  owner: (0, _solana_kit.address)(raw.owner),
1426
1444
  lamports: BigInt(raw.lamports),
@@ -1438,8 +1456,8 @@ function parseCompressedAccount(raw) {
1438
1456
  slotCreated: BigInt(raw.slotCreated)
1439
1457
  };
1440
1458
  }
1441
- function parseTreeInfo(raw) {
1442
- if (featureFlags.isV2() && "merkleContext" in raw && raw.merkleContext) {
1459
+ function parseTreeInfo(raw, version) {
1460
+ if (version === VERSION.V2 && "merkleContext" in raw && raw.merkleContext) {
1443
1461
  const ctx = raw.merkleContext;
1444
1462
  return {
1445
1463
  tree: (0, _solana_kit.address)(ctx.tree),
@@ -1479,9 +1497,9 @@ function parseTreeInfo(raw) {
1479
1497
  nextTreeInfo: null
1480
1498
  };
1481
1499
  }
1482
- function parseMerkleProof(raw) {
1500
+ function parseMerkleProof(raw, version) {
1483
1501
  return {
1484
- treeInfo: parseTreeInfo(raw),
1502
+ treeInfo: parseTreeInfo(raw, version),
1485
1503
  hash: createBN254(raw.hash, "base58"),
1486
1504
  leafIndex: raw.leafIndex,
1487
1505
  proveByIndex: raw.proveByIndex ?? false,
@@ -1536,9 +1554,9 @@ function parseValidityProof(raw) {
1536
1554
  proveByIndices: raw.leafIndices.map(() => false)
1537
1555
  };
1538
1556
  }
1539
- function parseTokenAccount(raw) {
1557
+ function parseTokenAccount(raw, version) {
1540
1558
  return {
1541
- compressedAccount: parseCompressedAccount(raw.account),
1559
+ compressedAccount: parseCompressedAccount(raw.account, version),
1542
1560
  parsed: {
1543
1561
  mint: (0, _solana_kit.address)(raw.tokenData.mint),
1544
1562
  owner: (0, _solana_kit.address)(raw.tokenData.owner),
@@ -1598,18 +1616,19 @@ function base58ToBytesLE(value, size) {
1598
1616
  *
1599
1617
  * @param endpoint - Photon indexer URL (e.g., "https://zk-testnet.helius.dev:8784")
1600
1618
  * @param headers - Optional additional headers
1619
+ * @param version - Protocol version for endpoint naming and response parsing (defaults to V1)
1601
1620
  * @returns PhotonRpc instance
1602
1621
  *
1603
1622
  * @example
1604
1623
  * ```typescript
1605
- * import { createPhotonRpc } from '@cascade-fyi/compression-kit';
1624
+ * import { createPhotonRpc, VERSION } from '@cascade-fyi/compression-kit';
1606
1625
  *
1607
- * const rpc = createPhotonRpc('https://mainnet.helius-rpc.com/?api-key=YOUR_KEY');
1626
+ * const rpc = createPhotonRpc('https://mainnet.helius-rpc.com/?api-key=YOUR_KEY', undefined, VERSION.V2);
1608
1627
  * const accounts = await rpc.getCompressedAccountsByOwner(ownerAddress);
1609
1628
  * ```
1610
1629
  */
1611
- function createPhotonRpc(endpoint, headers) {
1612
- return new PhotonRpc(endpoint, headers);
1630
+ function createPhotonRpc(endpoint, headers, version) {
1631
+ return new PhotonRpc(endpoint, headers, version);
1613
1632
  }
1614
1633
 
1615
1634
  //#endregion
@@ -1666,6 +1685,8 @@ exports.RpcError = RpcError;
1666
1685
  exports.RpcErrorCode = RpcErrorCode;
1667
1686
  exports.STATE_MERKLE_TREE_NETWORK_FEE = STATE_MERKLE_TREE_NETWORK_FEE;
1668
1687
  exports.STATE_MERKLE_TREE_ROLLOVER_FEE = STATE_MERKLE_TREE_ROLLOVER_FEE;
1688
+ exports.STATE_MERKLE_TREE_ROLLOVER_FEE_V1 = STATE_MERKLE_TREE_ROLLOVER_FEE_V1;
1689
+ exports.STATE_MERKLE_TREE_ROLLOVER_FEE_V2 = STATE_MERKLE_TREE_ROLLOVER_FEE_V2;
1669
1690
  exports.STATE_TREE_LOOKUP_TABLE_DEVNET = STATE_TREE_LOOKUP_TABLE_DEVNET;
1670
1691
  exports.STATE_TREE_LOOKUP_TABLE_MAINNET = STATE_TREE_LOOKUP_TABLE_MAINNET;
1671
1692
  exports.SelectInUtxosError = SelectInUtxosError;
package/dist/index.d.cts CHANGED
@@ -370,6 +370,7 @@ declare enum VERSION {
370
370
  }
371
371
  /**
372
372
  * Feature flags for protocol versioning.
373
+ * @deprecated Use `VERSION` enum directly and pass to functions/constructors instead.
373
374
  * @internal
374
375
  */
375
376
  declare const featureFlags: {
@@ -378,7 +379,7 @@ declare const featureFlags: {
378
379
  };
379
380
  /**
380
381
  * Returns versioned endpoint name.
381
- * @example versionedEndpoint('getCompressedAccount') -> 'getCompressedAccountV2' (if V2)
382
+ * @deprecated Use `PhotonRpc` constructor's `version` parameter instead.
382
383
  */
383
384
  declare const versionedEndpoint: (base: string) => string;
384
385
  /**
@@ -448,8 +449,15 @@ declare const UTXO_MERGE_THRESHOLD = 20;
448
449
  declare const UTXO_MERGE_MAXIMUM = 10;
449
450
  /** Tree rollover threshold (95% capacity) */
450
451
  declare const TRANSACTION_MERKLE_TREE_ROLLOVER_THRESHOLD: bigint;
451
- /** Fee per output compressed account (for tree rollover) */
452
- declare const STATE_MERKLE_TREE_ROLLOVER_FEE: bigint;
452
+ /** Fee per output compressed account (V1 tree rollover) */
453
+ declare const STATE_MERKLE_TREE_ROLLOVER_FEE_V1 = 300n;
454
+ /** Fee per output compressed account (V2 batched tree rollover) */
455
+ declare const STATE_MERKLE_TREE_ROLLOVER_FEE_V2 = 1n;
456
+ /**
457
+ * @deprecated Use `STATE_MERKLE_TREE_ROLLOVER_FEE_V1` or `STATE_MERKLE_TREE_ROLLOVER_FEE_V2` instead.
458
+ * Defaults to V1 fee for backward compatibility.
459
+ */
460
+ declare const STATE_MERKLE_TREE_ROLLOVER_FEE = 300n;
453
461
  /** Fee per new address (for address tree rollover) */
454
462
  declare const ADDRESS_QUEUE_ROLLOVER_FEE = 392n;
455
463
  /** Network fee for nullifying compressed accounts */
@@ -483,13 +491,15 @@ declare function defaultTestStateTreeAccounts(): {
483
491
  };
484
492
  /**
485
493
  * Returns active state tree infos for localnet testing.
494
+ * @param version - Protocol version. Defaults to V1 for backward compatibility.
486
495
  * @internal
487
496
  */
488
- declare function localTestActiveStateTreeInfos(): TreeInfo[];
497
+ declare function localTestActiveStateTreeInfos(version?: VERSION): TreeInfo[];
489
498
  /**
490
499
  * Returns default address tree info.
500
+ * @param version - Protocol version. Defaults to V1 for backward compatibility.
491
501
  */
492
- declare function getDefaultAddressTreeInfo(): TreeInfo;
502
+ declare function getDefaultAddressTreeInfo(version?: VERSION): TreeInfo;
493
503
  //#endregion
494
504
  //#region src/errors.d.ts
495
505
  /**
@@ -913,17 +923,14 @@ interface PaginatedOptions {
913
923
  /**
914
924
  * Memcmp filter for compressed account queries.
915
925
  *
916
- * NOTE: Photon RPC (Light Protocol indexer) does not yet support memcmp filters.
917
- * This interface is prepared for when support is added.
918
- * Track: https://github.com/Lightprotocol/light-protocol/issues
926
+ * Photon RPC supports up to 5 memcmp filters per request (AND logic).
927
+ * Bytes are compared against raw account data at the given offset.
919
928
  */
920
929
  interface MemcmpFilter {
921
930
  /** Byte offset into account data to start comparison */
922
931
  offset: number;
923
- /** Bytes to compare (base58 or base64 encoded, or raw Uint8Array) */
932
+ /** Bytes to compare - base58 string or raw Uint8Array */
924
933
  bytes: string | Uint8Array;
925
- /** Encoding of bytes string ("base58" or "base64"), ignored if bytes is Uint8Array */
926
- encoding?: "base58" | "base64";
927
934
  }
928
935
  /**
929
936
  * Options for getCompressedAccountsByOwner.
@@ -931,12 +938,7 @@ interface MemcmpFilter {
931
938
  interface GetCompressedAccountsByOwnerConfig {
932
939
  cursor?: string;
933
940
  limit?: number;
934
- /**
935
- * Memcmp filters for server-side filtering.
936
- *
937
- * NOTE: Not yet supported by Photon RPC. Filters are passed through but
938
- * will be ignored until Light Protocol adds support.
939
- */
941
+ /** Memcmp filters for server-side filtering (up to 5, AND logic). */
940
942
  filters?: MemcmpFilter[];
941
943
  }
942
944
  /**
@@ -984,8 +986,10 @@ interface TokenBalance {
984
986
  */
985
987
  declare class PhotonRpc {
986
988
  readonly endpoint: string;
989
+ readonly version: VERSION;
987
990
  private readonly headers;
988
- constructor(endpoint: string, headers?: Record<string, string>);
991
+ constructor(endpoint: string, headers?: Record<string, string>, version?: VERSION);
992
+ private versionedEndpoint;
989
993
  /**
990
994
  * Make a JSON-RPC request to the Photon indexer.
991
995
  */
@@ -1016,8 +1020,7 @@ declare class PhotonRpc {
1016
1020
  /**
1017
1021
  * Get compressed accounts by owner.
1018
1022
  *
1019
- * NOTE: `filters` parameter is prepared for when Photon RPC supports memcmp filters.
1020
- * Currently filters are passed through but may be ignored by the server.
1023
+ * Supports up to 5 memcmp filters for server-side filtering (AND logic).
1021
1024
  */
1022
1025
  getCompressedAccountsByOwner(owner: Address, config?: GetCompressedAccountsByOwnerConfig): Promise<WithCursor<CompressedAccount[]>>;
1023
1026
  /**
@@ -1073,17 +1076,18 @@ declare class PhotonRpc {
1073
1076
  *
1074
1077
  * @param endpoint - Photon indexer URL (e.g., "https://zk-testnet.helius.dev:8784")
1075
1078
  * @param headers - Optional additional headers
1079
+ * @param version - Protocol version for endpoint naming and response parsing (defaults to V1)
1076
1080
  * @returns PhotonRpc instance
1077
1081
  *
1078
1082
  * @example
1079
1083
  * ```typescript
1080
- * import { createPhotonRpc } from '@cascade-fyi/compression-kit';
1084
+ * import { createPhotonRpc, VERSION } from '@cascade-fyi/compression-kit';
1081
1085
  *
1082
- * const rpc = createPhotonRpc('https://mainnet.helius-rpc.com/?api-key=YOUR_KEY');
1086
+ * const rpc = createPhotonRpc('https://mainnet.helius-rpc.com/?api-key=YOUR_KEY', undefined, VERSION.V2);
1083
1087
  * const accounts = await rpc.getCompressedAccountsByOwner(ownerAddress);
1084
1088
  * ```
1085
1089
  */
1086
- declare function createPhotonRpc(endpoint: string, headers?: Record<string, string>): PhotonRpc;
1090
+ declare function createPhotonRpc(endpoint: string, headers?: Record<string, string>, version?: VERSION): PhotonRpc;
1087
1091
  //#endregion
1088
- export { ACCOUNT_COMPRESSION_PROGRAM, ADDRESS_QUEUE, ADDRESS_QUEUE_ROLLOVER_FEE, ADDRESS_TREE, ADDRESS_TREE_NETWORK_FEE_V1, ADDRESS_TREE_NETWORK_FEE_V2, type AccountProofInput, type AddressTreeInfo, type AddressWithTreeInfo, BATCH_ADDRESS_TREE, BATCH_CPI_CONTEXT_1, BATCH_CPI_CONTEXT_2, BATCH_MERKLE_TREE_1, BATCH_MERKLE_TREE_2, BATCH_QUEUE_1, BATCH_QUEUE_2, type BN254, BN254Error, BN254ErrorCode, COMPRESSED_TOKEN_PROGRAM, COMPUTE_BUDGET_PATTERN, CPI_CONTEXT_2_PUBKEY, CPI_CONTEXT_PUBKEY, type CompressedAccount, type CompressedAccountData, type CompressedAccountMeta, type CompressedCpiContext, CreateUtxoError, CreateUtxoErrorCode, DEFAULT_MERKLE_TREE_HEIGHT, DEFAULT_MERKLE_TREE_ROOTS, FIELD_SIZE, type GetCompressedAccountsByOwnerConfig, type GetCompressedTokenAccountsConfig, HIGHEST_ADDRESS_PLUS_ONE, HashError, HashErrorCode, type HashWithTreeInfo, INSERT_INTO_QUEUES_DISCRIMINATOR, INVOKE_CPI_DISCRIMINATOR, INVOKE_CPI_WITH_ACCOUNT_INFO_DISCRIMINATOR, INVOKE_CPI_WITH_READ_ONLY_DISCRIMINATOR, INVOKE_DISCRIMINATOR, LIGHT_SYSTEM_PROGRAM, LookupTableError, LookupTableErrorCode, MERKLE_TREE_2_PUBKEY, MERKLE_TREE_PUBKEY, type MemcmpFilter, type MerkleContext, type MerkleContextWithProof, MerkleTreeError, MerkleTreeErrorCode, NOOP_PROGRAM, NULLIFIED_STATE_TREE_LOOKUP_TABLE_DEVNET, NULLIFIED_STATE_TREE_LOOKUP_TABLE_MAINNET, NULLIFIER_QUEUE_2_PUBKEY, NULLIFIER_QUEUE_PUBKEY, type NewAddressParams, type NewAddressParamsPacked, type NewAddressProofInput, PackedAccounts, type PackedAddressTreeInfo, type PackedMerkleContext, type PackedStateTreeInfo, type PaginatedOptions, type ParsedTokenAccount, PhotonRpc, ProofError, ProofErrorCode, REGISTERED_PROGRAM_PDA, RpcError, RpcErrorCode, STATE_MERKLE_TREE_NETWORK_FEE, STATE_MERKLE_TREE_ROLLOVER_FEE, STATE_TREE_LOOKUP_TABLE_DEVNET, STATE_TREE_LOOKUP_TABLE_MAINNET, SelectInUtxosError, SelectInUtxosErrorCode, type SignatureWithMetadata, type StateTreeInfo, type StateTreeLUTPair, type SystemAccountMetaConfig, TEST_BATCH_ADDRESS_TREE, TRANSACTION_MERKLE_TREE_ROLLOVER_THRESHOLD, type TokenBalance, type TokenData, type TreeInfo, TreeType, UTXO_MERGE_MAXIMUM, UTXO_MERGE_THRESHOLD, UtilsError, UtilsErrorCode, UtxoError, UtxoErrorCode, VERSION, type ValidityProof, type ValidityProofWithContext, type WithContext, type WithCursor, addressToBytes, assertIsBN254, assertValidBN254Hash, bigIntToBytesBE, bigIntToBytesLE, bn254Add, bn254FromBytes, bn254Mul, bn254Sub, bn254ToBytes, bn254ToDecimalString, bytesEqual, bytesToAddress, bytesToBigIntBE, bytesToBigIntLE, bytesToDecimalString, bytesToHex, createBN254, createBN254Error, createPhotonRpc, createProofError, createRpcError, createSystemAccountConfig, createSystemAccountConfigWithCpi, createUtxoError, defaultStateTreeLookupTables, defaultStaticAccounts, defaultTestStateTreeAccounts, deriveAddress, deriveAddressSeed, deriveAddressSeedV2, deriveAddressV2, encodeBN254toBase58, encodeBN254toHex, featureFlags, getAccountCompressionAuthority, getAccountCompressionAuthority$1 as getCompressionAuthority, getCpiSignerPda, getDefaultAddressTreeInfo, getIndexOrAdd, getLightSystemAccountMetas, getLightSystemAccountMetasV2, getSystemProgram, hashToBn254FieldSizeBe, hashvToBn254FieldSizeBe, hashvToBn254FieldSizeBeWithBump, hexToBytes, importEd25519PublicKey, isBN254, isLocalTest, isSmallerThanFieldSize, localTestActiveStateTreeInfos, mergeBytes, packNewAddressParams, padBytes, pushUniqueItems, toArray, toHex, validateBN254Hash, versionedEndpoint };
1092
+ export { ACCOUNT_COMPRESSION_PROGRAM, ADDRESS_QUEUE, ADDRESS_QUEUE_ROLLOVER_FEE, ADDRESS_TREE, ADDRESS_TREE_NETWORK_FEE_V1, ADDRESS_TREE_NETWORK_FEE_V2, type AccountProofInput, type AddressTreeInfo, type AddressWithTreeInfo, BATCH_ADDRESS_TREE, BATCH_CPI_CONTEXT_1, BATCH_CPI_CONTEXT_2, BATCH_MERKLE_TREE_1, BATCH_MERKLE_TREE_2, BATCH_QUEUE_1, BATCH_QUEUE_2, type BN254, BN254Error, BN254ErrorCode, COMPRESSED_TOKEN_PROGRAM, COMPUTE_BUDGET_PATTERN, CPI_CONTEXT_2_PUBKEY, CPI_CONTEXT_PUBKEY, type CompressedAccount, type CompressedAccountData, type CompressedAccountMeta, type CompressedCpiContext, CreateUtxoError, CreateUtxoErrorCode, DEFAULT_MERKLE_TREE_HEIGHT, DEFAULT_MERKLE_TREE_ROOTS, FIELD_SIZE, type GetCompressedAccountsByOwnerConfig, type GetCompressedTokenAccountsConfig, HIGHEST_ADDRESS_PLUS_ONE, HashError, HashErrorCode, type HashWithTreeInfo, INSERT_INTO_QUEUES_DISCRIMINATOR, INVOKE_CPI_DISCRIMINATOR, INVOKE_CPI_WITH_ACCOUNT_INFO_DISCRIMINATOR, INVOKE_CPI_WITH_READ_ONLY_DISCRIMINATOR, INVOKE_DISCRIMINATOR, LIGHT_SYSTEM_PROGRAM, LookupTableError, LookupTableErrorCode, MERKLE_TREE_2_PUBKEY, MERKLE_TREE_PUBKEY, type MemcmpFilter, type MerkleContext, type MerkleContextWithProof, MerkleTreeError, MerkleTreeErrorCode, NOOP_PROGRAM, NULLIFIED_STATE_TREE_LOOKUP_TABLE_DEVNET, NULLIFIED_STATE_TREE_LOOKUP_TABLE_MAINNET, NULLIFIER_QUEUE_2_PUBKEY, NULLIFIER_QUEUE_PUBKEY, type NewAddressParams, type NewAddressParamsPacked, type NewAddressProofInput, PackedAccounts, type PackedAddressTreeInfo, type PackedMerkleContext, type PackedStateTreeInfo, type PaginatedOptions, type ParsedTokenAccount, PhotonRpc, ProofError, ProofErrorCode, REGISTERED_PROGRAM_PDA, RpcError, RpcErrorCode, STATE_MERKLE_TREE_NETWORK_FEE, STATE_MERKLE_TREE_ROLLOVER_FEE, STATE_MERKLE_TREE_ROLLOVER_FEE_V1, STATE_MERKLE_TREE_ROLLOVER_FEE_V2, STATE_TREE_LOOKUP_TABLE_DEVNET, STATE_TREE_LOOKUP_TABLE_MAINNET, SelectInUtxosError, SelectInUtxosErrorCode, type SignatureWithMetadata, type StateTreeInfo, type StateTreeLUTPair, type SystemAccountMetaConfig, TEST_BATCH_ADDRESS_TREE, TRANSACTION_MERKLE_TREE_ROLLOVER_THRESHOLD, type TokenBalance, type TokenData, type TreeInfo, TreeType, UTXO_MERGE_MAXIMUM, UTXO_MERGE_THRESHOLD, UtilsError, UtilsErrorCode, UtxoError, UtxoErrorCode, VERSION, type ValidityProof, type ValidityProofWithContext, type WithContext, type WithCursor, addressToBytes, assertIsBN254, assertValidBN254Hash, bigIntToBytesBE, bigIntToBytesLE, bn254Add, bn254FromBytes, bn254Mul, bn254Sub, bn254ToBytes, bn254ToDecimalString, bytesEqual, bytesToAddress, bytesToBigIntBE, bytesToBigIntLE, bytesToDecimalString, bytesToHex, createBN254, createBN254Error, createPhotonRpc, createProofError, createRpcError, createSystemAccountConfig, createSystemAccountConfigWithCpi, createUtxoError, defaultStateTreeLookupTables, defaultStaticAccounts, defaultTestStateTreeAccounts, deriveAddress, deriveAddressSeed, deriveAddressSeedV2, deriveAddressV2, encodeBN254toBase58, encodeBN254toHex, featureFlags, getAccountCompressionAuthority, getAccountCompressionAuthority$1 as getCompressionAuthority, getCpiSignerPda, getDefaultAddressTreeInfo, getIndexOrAdd, getLightSystemAccountMetas, getLightSystemAccountMetasV2, getSystemProgram, hashToBn254FieldSizeBe, hashvToBn254FieldSizeBe, hashvToBn254FieldSizeBeWithBump, hexToBytes, importEd25519PublicKey, isBN254, isLocalTest, isSmallerThanFieldSize, localTestActiveStateTreeInfos, mergeBytes, packNewAddressParams, padBytes, pushUniqueItems, toArray, toHex, validateBN254Hash, versionedEndpoint };
1089
1093
  //# sourceMappingURL=index.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.cts","names":[],"sources":["../src/state/types.ts","../src/state/bn254.ts","../src/constants.ts","../src/errors.ts","../src/utils/conversion.ts","../src/utils/address.ts","../src/utils/instruction.ts","../src/utils/crypto.ts","../src/rpc.ts"],"sourcesContent":[],"mappings":"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oBF+LD,EE/LqB,UF+LrB,CE/LqB,WF+LrB,CAAA;AAIL,cEjMM,wBFiMN,EEjM8B,UFiM9B,CEjM8B,WFiM9B,CAAA;AAAU,cE/LJ,uCF+LI,EE/LmC,UF+LnC,CE/LmC,WF+LnC,CAAA;AAMA,cEnMJ,0CFuMH,EEvM6C,UFuMpC,CEvMoC,WFuMpC,CAAA;AAUF,cE/MJ,gCF+MwB,EE/MQ,UF+MR,CE/MQ,WF+MR,CAAA;AAYpB,cEzNJ,sBFyNoB,EEzNE,UFyNF,CEzNE,WFyNF,CAAA;;AAMN,cExNd,+BFwNc,EExNiB,OFwNjB,CAAA,8CAAA,CAAA;;AAEE,cEvNhB,yCFuNgB,EEvNyB,OFuNzB,CAAA,8CAAA,CAAA;AAM7B;cE1Na,gCAA8B;;cAG9B,0CAAwC;ADxEzC,UC0EK,gBAAA,CD1EA;EASD,oBAAO,ECkEC,ODlED;EAQP,kBAAa,EC2DP,OD3DO;AA2B7B;AAqCA;AAcA;AAQA;AAOgB,iBC5BA,4BAAA,CAAA,CD4BsC,EAAA;EAOtC,OAAA,EClCL,gBDkCyB,EAAA;EAWpB,MAAA,EC5CN,gBD4CqB,EAAA;AAW/B,CAAA;AAWgB,cC3CH,kBD2CmD,EC3CjC,OD2C2C,CAAA,6CAAA,CAAA;AAa1D,cCvDH,sBDuDmD,ECvD7B,ODuDuC,CAAA,6CAAA,CAAA;AAiB1D,cCvEH,kBDuEW,ECvEO,ODuEP,CAAA,6CAAA,CAAA;AAAI,cCrEf,oBDqEe,ECrEK,ODqEL,CAAA,6CAAA,CAAA;AAAU,cCpEzB,wBDoEyB,ECpED,ODoEC,CAAA,6CAAA,CAAA;AAAQ,cCnEjC,oBDmEiC,ECnEb,ODmEa,CAAA,6CAAA,CAAA;AAAK,cChEtC,YDgEsC,EChE1B,ODgE0B,CAAA,6CAAA,CAAA;AAOnC,cCtEH,aDsEW,ECtEE,ODsEF,CAAA,6CAAA,CAAA;AAAI,cCnEf,mBDmEe,ECnEI,ODmEJ,CAAA,6CAAA,CAAA;AAAU,cClEzB,aDkEyB,EClEZ,ODkEY,CAAA,6CAAA,CAAA;AAAQ,cCjEjC,mBDiEiC,ECjEd,ODiEc,CAAA,6CAAA,CAAA;AAAK,cC/DtC,mBD+DsC,EC/DnB,OD+DmB,CAAA,6CAAA,CAAA;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"}
1
+ {"version":3,"file":"index.d.cts","names":[],"sources":["../src/state/types.ts","../src/state/bn254.ts","../src/constants.ts","../src/errors.ts","../src/utils/conversion.ts","../src/utils/address.ts","../src/utils/instruction.ts","../src/utils/crypto.ts","../src/rpc.ts"],"sourcesContent":[],"mappings":"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ML,EEjM6B,OFiM7B,CAAA,6CAAA,CAAA;;AAMI,cEpMC,sBFoMD,EEpMuB,OFoMvB,CAAA,8CAAA,CAAA;AAIL,cElMM,oBFkMN,EElM0B,UFkM1B,CElM0B,WFkM1B,CAAA;AAAU,cEhMJ,wBFgMI,EEhMoB,UFgMpB,CEhMoB,WFgMpB,CAAA;AAMA,cEpMJ,uCFwMH,EExM0C,UFwMjC,CExMiC,WFwMjC,CAAA;AAUF,cEhNJ,0CFgNwB,EEhNkB,UFgNlB,CEhNkB,WFgNlB,CAAA;AAYpB,cE1NJ,gCF0NoB,EE1NY,UF0NZ,CE1NY,WF0NZ,CAAA;AAEzB,cE1NK,sBF0NL,EE1N2B,UF0N3B,CE1N2B,WF0N3B,CAAA;;AAMc,cEzNT,+BFyNS,EEzNsB,OFyNtB,CAAA,8CAAA,CAAA;;AAML,cE5NJ,yCF8NK,EE9NoC,OF8NpC,CAAA,8CAAA,CAAA;;cE3NL,gCAA8B;;ADtE/B,cCyEC,wCDzEI,ECyEoC,ODzEpC,CAAA,8CAAA,CAAA;AASD,UCkEC,gBAAA,CDlEM;EAQP,oBAAa,EC2DL,OD3DuC;EA2B/C,kBAAW,ECiCL,ODhCc;AAoCpC;AAcA;AAQA;AAOA;AAOgB,iBClCA,4BAAA,CAAA,CDkCiC,EAAA;EAWjC,OAAA,EC5CL,gBD4CoB,EAAA;EAWf,MAAA,ECtDN,gBDsDqB,EAAA;AAW/B,CAAA;AAagB,cCvDH,kBDuDmD,ECvDjC,ODuD2C,CAAA,6CAAA,CAAA;AAiB1D,cCvEH,sBDuEW,ECvEW,ODuEX,CAAA,6CAAA,CAAA;AAAI,cCtEf,kBDsEe,ECtEG,ODsEH,CAAA,6CAAA,CAAA;AAAU,cCpEzB,oBDoEyB,ECpEL,ODoEK,CAAA,6CAAA,CAAA;AAAQ,cCnEjC,wBDmEiC,ECnET,ODmES,CAAA,6CAAA,CAAA;AAAK,cClEtC,oBDkEsC,EClElB,ODkEkB,CAAA,6CAAA,CAAA;AAOnC,cCtEH,YDsEW,ECtEC,ODsED,CAAA,6CAAA,CAAA;AAAI,cCrEf,aDqEe,ECrEF,ODqEE,CAAA,6CAAA,CAAA;AAAU,cClEzB,mBDkEyB,EClEN,ODkEM,CAAA,6CAAA,CAAA;AAAQ,cCjEjC,aDiEiC,E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"}