@cascade-fyi/compression-kit 0.1.0 → 0.2.1

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,97 @@
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.2.1] - 2026-02-12
9
+
10
+ ### Fixed
11
+
12
+ - `MemcmpFilter` now works with Photon RPC - filters are transformed to the correct wire format (`{ memcmp: { offset, bytes } }` with base58-encoded bytes)
13
+ - `getCompressedAccountsByOwner` properly passes memcmp filters to Photon for server-side filtering (previously filters were passed through raw and ignored)
14
+
15
+ ### Changed
16
+
17
+ - Removed unused `encoding` field from `MemcmpFilter` interface (was documented as "not yet supported")
18
+ - Updated `MemcmpFilter.bytes` type docs to reflect actual usage (base58 string or Uint8Array)
19
+
20
+ ## [0.2.0] - 2025-01-04
21
+
22
+ ### Added
23
+
24
+ - **Web Crypto Utilities**
25
+ - `importEd25519PublicKey()` - Import Ed25519 public keys using Web Crypto API for signature verification
26
+
27
+ - **RPC Types**
28
+ - `MemcmpFilter` - Interface for memory comparison filtering in Photon RPC queries
29
+
30
+ ### Changed
31
+
32
+ - Upgraded TypeScript target to ES2022 with ES2023 lib for better performance
33
+ - Added DOM type definitions for Web Crypto API compatibility
34
+ - Improved npm package metadata and publishing configuration
35
+
36
+ ## [0.1.0] - 2024-12-29
37
+
38
+ ### Added
39
+
40
+ - Initial release of `@cascade-fyi/compression-kit`
41
+ - **Photon RPC Client**
42
+ - `createPhotonRpc()` - Create RPC client for Light Protocol indexer
43
+ - `getCompressedAccount()` - Fetch compressed account by hash
44
+ - `getCompressedAccountsByOwner()` - Fetch all compressed accounts for owner
45
+ - `getCompressedTokenAccountsByOwner()` - Fetch token accounts
46
+ - `getCompressedTokenBalancesByOwner()` - Fetch token balances
47
+ - `getValidityProof()` - Get validity proofs for accounts/addresses
48
+ - `getMultipleCompressedAccounts()` - Batch fetch accounts
49
+ - `getCompressionSignaturesForOwner()` - Get transaction signatures
50
+ - `getLatestCompressionSignatures()` - Get recent signatures
51
+ - `getIndexerHealth()` / `getIndexerSlot()` - Health checks
52
+
53
+ - **Address Derivation**
54
+ - `deriveAddressSeed()` / `deriveAddress()` - V1 address derivation
55
+ - `deriveAddressSeedV2()` / `deriveAddressV2()` - V2 address derivation
56
+ - `packNewAddressParams()` - Pack address params for instructions
57
+ - `addressToBytes()` / `bytesToAddress()` - Address conversions
58
+
59
+ - **BN254 Field Operations**
60
+ - `createBN254()` - Create field element from bigint
61
+ - `bn254FromBytes()` / `bn254ToBytes()` - Byte conversions
62
+ - `bn254Add()` / `bn254Sub()` / `bn254Mul()` - Field arithmetic
63
+ - `isSmallerThanFieldSize()` - Field size validation
64
+ - `encodeBN254toBase58()` / `encodeBN254toHex()` - Encoding utilities
65
+
66
+ - **Instruction Building**
67
+ - `PackedAccounts` - Helper class for building instruction accounts
68
+ - `getLightSystemAccountMetas()` - Get Light system account metas (V1)
69
+ - `getLightSystemAccountMetasV2()` - Get Light system account metas (V2)
70
+ - `createSystemAccountConfig()` - Create system account configuration
71
+ - `getCpiSignerPda()` - Derive CPI signer PDA
72
+
73
+ - **Conversion Utilities**
74
+ - `hashToBn254FieldSizeBe()` - Hash to BN254 field
75
+ - `hexToBytes()` / `bytesToHex()` - Hex conversions
76
+ - `mergeBytes()` / `padBytes()` - Byte manipulation
77
+ - `bytesEqual()` - Byte comparison
78
+
79
+ - **Constants**
80
+ - Program IDs: `LIGHT_SYSTEM_PROGRAM`, `ACCOUNT_COMPRESSION_PROGRAM`, `COMPRESSED_TOKEN_PROGRAM`
81
+ - Tree addresses for mainnet and devnet
82
+ - Fee constants and configuration values
83
+
84
+ - **Error Handling**
85
+ - Typed error codes for different domains (RPC, Proof, BN254, etc.)
86
+ - Error factory functions for consistent error creation
87
+
88
+ ### Notes
89
+
90
+ - This package is a Solana Kit native implementation of Light Protocol's `@lightprotocol/stateless.js`
91
+ - Uses native `bigint` instead of BN.js for better performance
92
+ - Uses `Address` type from `@solana/kit` instead of `PublicKey`
93
+ - Compatible with edge runtimes (Cloudflare Workers, Deno, browsers)
94
+
95
+ [0.2.1]: https://github.com/cascade-protocol/sati/compare/@cascade-fyi/compression-kit@0.2.0...@cascade-fyi/compression-kit@0.2.1
96
+ [0.2.0]: https://github.com/cascade-protocol/sati/compare/@cascade-fyi/compression-kit@0.1.0...@cascade-fyi/compression-kit@0.2.0
97
+ [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,
@@ -155,6 +164,20 @@ if (isSmallerThanFieldSize(someBytes)) {
155
164
  }
156
165
  ```
157
166
 
167
+ ### Web Crypto Utilities
168
+
169
+ ```typescript
170
+ import { importEd25519PublicKey } from '@cascade-fyi/compression-kit';
171
+ import { verifySignature, signatureBytes } from '@solana/kit';
172
+
173
+ // Import Ed25519 public key for signature verification
174
+ const pubkeyBytes = new Uint8Array(32); // your public key
175
+ const cryptoKey = await importEd25519PublicKey(pubkeyBytes);
176
+
177
+ // Use with Web Crypto API
178
+ const isValid = await verifySignature(cryptoKey, signatureBytes(sig), message);
179
+ ```
180
+
158
181
  ## Configuration
159
182
 
160
183
  ### RPC Endpoints
@@ -196,6 +219,12 @@ import {
196
219
  | `getIndexerHealth()` | Check indexer health status |
197
220
  | `getIndexerSlot()` | Get current indexer slot |
198
221
 
222
+ ### Crypto Utilities
223
+
224
+ | Function | Description |
225
+ |----------|-------------|
226
+ | `importEd25519PublicKey(bytes)` | Import Ed25519 public key for Web Crypto verification |
227
+
199
228
  ### Types
200
229
 
201
230
  | Type | Description |
@@ -205,6 +234,7 @@ import {
205
234
  | `ValidityProof` | ZK validity proof |
206
235
  | `BN254` | BN254 field element (branded bigint) |
207
236
  | `PackedAccounts` | Helper for building instruction accounts |
237
+ | `MemcmpFilter` | Memory comparison filter for RPC queries |
208
238
 
209
239
  ### Constants
210
240
 
@@ -220,6 +250,10 @@ import {
220
250
  - Node.js >= 20.18.0
221
251
  - TypeScript >= 5.0 (for type definitions)
222
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
+
223
257
  ## Related Packages
224
258
 
225
259
  - [`@solana/kit`](https://www.npmjs.com/package/@solana/kit) - Solana Kit for modern Solana development
package/dist/index.cjs CHANGED
@@ -378,6 +378,9 @@ let BN254ErrorCode = /* @__PURE__ */ function(BN254ErrorCode$1) {
378
378
  * Base error class for Light Protocol errors.
379
379
  */
380
380
  var LightError = class extends Error {
381
+ code;
382
+ functionName;
383
+ codeMessage;
381
384
  constructor(code, functionName, codeMessage) {
382
385
  super(`${code}: ${codeMessage ?? ""}`);
383
386
  this.name = this.constructor.name;
@@ -1016,12 +1019,10 @@ async function getLightSystemAccountMetasV2(config) {
1016
1019
  * 3. Packed accounts: Dynamic accounts indexed by pubkey
1017
1020
  */
1018
1021
  var PackedAccounts = class PackedAccounts {
1019
- constructor() {
1020
- this.preAccounts = [];
1021
- this.systemAccounts = [];
1022
- this.nextIndex = 0;
1023
- this.accountMap = /* @__PURE__ */ new Map();
1024
- }
1022
+ preAccounts = [];
1023
+ systemAccounts = [];
1024
+ nextIndex = 0;
1025
+ accountMap = /* @__PURE__ */ new Map();
1025
1026
  /**
1026
1027
  * Create a new PackedAccounts with system accounts (V1 layout).
1027
1028
  */
@@ -1141,6 +1142,35 @@ var PackedAccounts = class PackedAccounts {
1141
1142
  }
1142
1143
  };
1143
1144
 
1145
+ //#endregion
1146
+ //#region src/utils/crypto.ts
1147
+ /**
1148
+ * Web Crypto utilities for Ed25519 operations.
1149
+ *
1150
+ * Edge-compatible helpers for importing keys and verifying signatures
1151
+ * using the Web Crypto API.
1152
+ */
1153
+ /**
1154
+ * Import Ed25519 public key bytes as a CryptoKey for Web Crypto verification.
1155
+ *
1156
+ * @param bytes - 32-byte Ed25519 public key
1157
+ * @returns CryptoKey suitable for signature verification
1158
+ *
1159
+ * @example
1160
+ * ```typescript
1161
+ * import { importEd25519PublicKey } from "@cascade-fyi/compression-kit";
1162
+ * import { verifySignature, signatureBytes } from "@solana/kit";
1163
+ *
1164
+ * const pubkeyBytes = new Uint8Array(32); // your public key
1165
+ * const key = await importEd25519PublicKey(pubkeyBytes);
1166
+ * const valid = await verifySignature(key, signatureBytes(sig), message);
1167
+ * ```
1168
+ */
1169
+ async function importEd25519PublicKey(bytes) {
1170
+ if (bytes.length !== 32) throw new Error(`Invalid Ed25519 public key length: ${bytes.length}, expected 32`);
1171
+ return crypto.subtle.importKey("raw", bytes, { name: "Ed25519" }, true, ["verify"]);
1172
+ }
1173
+
1144
1174
  //#endregion
1145
1175
  //#region src/rpc.ts
1146
1176
  let requestId = 0n;
@@ -1151,6 +1181,8 @@ let requestId = 0n;
1151
1181
  * and other indexer operations.
1152
1182
  */
1153
1183
  var PhotonRpc = class {
1184
+ endpoint;
1185
+ headers;
1154
1186
  constructor(endpoint, headers) {
1155
1187
  this.endpoint = endpoint;
1156
1188
  this.headers = {
@@ -1219,13 +1251,20 @@ var PhotonRpc = class {
1219
1251
  }
1220
1252
  /**
1221
1253
  * Get compressed accounts by owner.
1254
+ *
1255
+ * Supports up to 5 memcmp filters for server-side filtering (AND logic).
1222
1256
  */
1223
1257
  async getCompressedAccountsByOwner(owner, config) {
1224
1258
  const method = versionedEndpoint("getCompressedAccountsByOwner");
1259
+ const photonFilters = config?.filters?.map((f) => ({ memcmp: {
1260
+ offset: f.offset,
1261
+ bytes: f.bytes instanceof Uint8Array ? bs58.default.encode(f.bytes) : f.bytes
1262
+ } }));
1225
1263
  const params = {
1226
1264
  owner,
1227
1265
  cursor: config?.cursor,
1228
- limit: config?.limit
1266
+ limit: config?.limit,
1267
+ filters: photonFilters
1229
1268
  };
1230
1269
  const result = await this.requestWithContext(method, params);
1231
1270
  return {
@@ -1262,19 +1301,18 @@ var PhotonRpc = class {
1262
1301
  *
1263
1302
  * This is the main method for obtaining ZK proofs needed to use
1264
1303
  * compressed accounts in transactions.
1304
+ *
1305
+ * Note: The Photon API expects:
1306
+ * - `hashes`: array of base58 strings (account hashes)
1307
+ * - `newAddressesWithTrees`: array of { address: string, tree: string }
1265
1308
  */
1266
1309
  async getValidityProof(hashes, newAddresses) {
1267
1310
  const method = versionedEndpoint("getValidityProof");
1268
1311
  const params = {
1269
- hashes: hashes.map((h) => ({
1270
- hash: encodeBN254(h.hash),
1271
- tree: h.stateTreeInfo.tree,
1272
- queue: h.stateTreeInfo.queue
1273
- })),
1274
- newAddresses: newAddresses.map((a) => ({
1312
+ hashes: hashes.map((h) => encodeBN254(h.hash)),
1313
+ newAddressesWithTrees: newAddresses.map((a) => ({
1275
1314
  address: encodeBN254(a.address),
1276
- tree: a.addressTreeInfo.tree,
1277
- queue: a.addressTreeInfo.queue
1315
+ tree: a.addressTreeInfo.tree
1278
1316
  }))
1279
1317
  };
1280
1318
  return parseValidityProof((await this.requestWithContext(method, params)).value);
@@ -1391,15 +1429,16 @@ function parseCompressedAccount(raw) {
1391
1429
  lamports: BigInt(raw.lamports),
1392
1430
  address: raw.address ? base58ToBytes(raw.address) : null,
1393
1431
  data: raw.data ? {
1394
- discriminator: hexToBytes$1(raw.data.discriminator),
1432
+ discriminator: discriminatorToBytes(raw.data.discriminator),
1395
1433
  data: base64ToBytes(raw.data.data),
1396
- dataHash: base58ToBytes(raw.data.dataHash)
1434
+ dataHash: base58ToBytesLE(raw.data.dataHash, 32)
1397
1435
  } : null,
1398
1436
  treeInfo,
1399
1437
  hash: createBN254(raw.hash, "base58"),
1400
1438
  leafIndex: raw.leafIndex,
1401
1439
  proveByIndex: raw.proveByIndex ?? false,
1402
- readOnly: false
1440
+ readOnly: false,
1441
+ slotCreated: BigInt(raw.slotCreated)
1403
1442
  };
1404
1443
  }
1405
1444
  function parseTreeInfo(raw) {
@@ -1410,7 +1449,13 @@ function parseTreeInfo(raw) {
1410
1449
  queue: (0, _solana_kit.address)(ctx.queue),
1411
1450
  treeType: ctx.treeType,
1412
1451
  cpiContext: ctx.cpiContext ? (0, _solana_kit.address)(ctx.cpiContext) : void 0,
1413
- nextTreeInfo: null
1452
+ nextTreeInfo: ctx.nextTreeContext ? {
1453
+ tree: (0, _solana_kit.address)(ctx.nextTreeContext.tree),
1454
+ queue: (0, _solana_kit.address)(ctx.nextTreeContext.queue),
1455
+ treeType: ctx.nextTreeContext.treeType,
1456
+ cpiContext: ctx.nextTreeContext.cpiContext ? (0, _solana_kit.address)(ctx.nextTreeContext.cpiContext) : void 0,
1457
+ nextTreeInfo: null
1458
+ } : null
1414
1459
  };
1415
1460
  }
1416
1461
  if ("treeContext" in raw && raw.treeContext) {
@@ -1420,7 +1465,13 @@ function parseTreeInfo(raw) {
1420
1465
  queue: (0, _solana_kit.address)(ctx.queue),
1421
1466
  treeType: ctx.treeType,
1422
1467
  cpiContext: ctx.cpiContext ? (0, _solana_kit.address)(ctx.cpiContext) : void 0,
1423
- nextTreeInfo: null
1468
+ nextTreeInfo: ctx.nextTreeContext ? {
1469
+ tree: (0, _solana_kit.address)(ctx.nextTreeContext.tree),
1470
+ queue: (0, _solana_kit.address)(ctx.nextTreeContext.queue),
1471
+ treeType: ctx.nextTreeContext.treeType,
1472
+ cpiContext: ctx.nextTreeContext.cpiContext ? (0, _solana_kit.address)(ctx.nextTreeContext.cpiContext) : void 0,
1473
+ nextTreeInfo: null
1474
+ } : null
1424
1475
  };
1425
1476
  }
1426
1477
  const tree = "tree" in raw && raw.tree ? raw.tree : "merkleTree" in raw ? raw.merkleTree ?? "" : "";
@@ -1448,20 +1499,31 @@ function parseValidityProof(raw) {
1448
1499
  b: new Uint8Array(raw.compressedProof.b),
1449
1500
  c: new Uint8Array(raw.compressedProof.c)
1450
1501
  } : null;
1451
- if (raw.accounts) return {
1452
- compressedProof: proof,
1453
- roots: raw.accounts.map((a) => createBN254(a.root, "base58")),
1454
- rootIndices: raw.accounts.map((a) => a.rootIndex.rootIndex),
1455
- leafIndices: raw.accounts.map((a) => a.leafIndex),
1456
- leaves: raw.accounts.map((a) => createBN254(a.hash, "base58")),
1457
- treeInfos: raw.accounts.map((a) => ({
1458
- tree: (0, _solana_kit.address)(a.merkleContext.tree),
1459
- queue: (0, _solana_kit.address)(a.merkleContext.queue),
1460
- treeType: a.merkleContext.treeType,
1461
- nextTreeInfo: null
1462
- })),
1463
- proveByIndices: raw.accounts.map((a) => a.rootIndex.proveByIndex)
1464
- };
1502
+ if (raw.accounts || raw.addresses) {
1503
+ const accounts = raw.accounts ?? [];
1504
+ const addresses = raw.addresses ?? [];
1505
+ return {
1506
+ compressedProof: proof,
1507
+ roots: accounts.map((a) => createBN254(a.root, "base58")).concat(addresses.map((a) => createBN254(a.root, "base58"))),
1508
+ rootIndices: accounts.map((a) => a.rootIndex.rootIndex).concat(addresses.map((a) => a.rootIndex)),
1509
+ leafIndices: accounts.map((a) => a.leafIndex).concat(addresses.map(() => 0)),
1510
+ leaves: accounts.map((a) => createBN254(a.hash, "base58")).concat(addresses.map((a) => createBN254(a.address, "base58"))),
1511
+ treeInfos: accounts.map((a) => ({
1512
+ tree: (0, _solana_kit.address)(a.merkleContext.tree),
1513
+ queue: (0, _solana_kit.address)(a.merkleContext.queue),
1514
+ treeType: a.merkleContext.treeType,
1515
+ cpiContext: a.merkleContext.cpiContext ? (0, _solana_kit.address)(a.merkleContext.cpiContext) : void 0,
1516
+ nextTreeInfo: null
1517
+ })).concat(addresses.map((a) => ({
1518
+ tree: (0, _solana_kit.address)(a.merkleContext.tree),
1519
+ queue: (0, _solana_kit.address)(a.merkleContext.queue),
1520
+ treeType: a.merkleContext.treeType,
1521
+ cpiContext: a.merkleContext.cpiContext ? (0, _solana_kit.address)(a.merkleContext.cpiContext) : void 0,
1522
+ nextTreeInfo: null
1523
+ }))),
1524
+ proveByIndices: accounts.map((a) => a.rootIndex.proveByIndex).concat(addresses.map(() => false))
1525
+ };
1526
+ }
1465
1527
  return {
1466
1528
  compressedProof: proof,
1467
1529
  roots: raw.roots.map((r) => createBN254(r, "base58")),
@@ -1485,7 +1547,11 @@ function parseTokenAccount(raw) {
1485
1547
  owner: (0, _solana_kit.address)(raw.tokenData.owner),
1486
1548
  amount: BigInt(raw.tokenData.amount),
1487
1549
  delegate: raw.tokenData.delegate ? (0, _solana_kit.address)(raw.tokenData.delegate) : null,
1488
- state: raw.tokenData.state === "initialized" ? 1 : 0,
1550
+ state: [
1551
+ "uninitialized",
1552
+ "initialized",
1553
+ "frozen"
1554
+ ].indexOf(raw.tokenData.state),
1489
1555
  tlv: null
1490
1556
  }
1491
1557
  };
@@ -1499,10 +1565,35 @@ function base64ToBytes(value) {
1499
1565
  for (let i = 0; i < binary.length; i++) bytes[i] = binary.charCodeAt(i);
1500
1566
  return bytes;
1501
1567
  }
1502
- function hexToBytes$1(hex) {
1503
- const cleanHex = hex.startsWith("0x") ? hex.slice(2) : hex;
1504
- const bytes = new Uint8Array(cleanHex.length / 2);
1505
- for (let i = 0; i < bytes.length; i++) bytes[i] = parseInt(cleanHex.slice(i * 2, i * 2 + 2), 16);
1568
+ /**
1569
+ * Convert u64 discriminator (as string or number) to 8-byte little-endian array.
1570
+ * Photon API returns discriminator as a decimal string/number representing a u64.
1571
+ */
1572
+ function discriminatorToBytes(value) {
1573
+ const bigintValue = typeof value === "string" ? BigInt(value) : BigInt(value);
1574
+ const bytes = new Uint8Array(8);
1575
+ let v = bigintValue;
1576
+ for (let i = 0; i < 8; i++) {
1577
+ bytes[i] = Number(v & 255n);
1578
+ v >>= 8n;
1579
+ }
1580
+ return bytes;
1581
+ }
1582
+ /**
1583
+ * Convert base58 string to little-endian byte array.
1584
+ * Used for dataHash which Light Protocol stores as little-endian.
1585
+ * Light Protocol: base58 → BN → .toArray('le', size)
1586
+ */
1587
+ function base58ToBytesLE(value, size) {
1588
+ const decoded = bs58.default.decode(value);
1589
+ let bigintValue = 0n;
1590
+ for (let i = 0; i < decoded.length; i++) bigintValue = bigintValue << 8n | BigInt(decoded[i]);
1591
+ const bytes = new Uint8Array(size);
1592
+ let v = bigintValue;
1593
+ for (let i = 0; i < size; i++) {
1594
+ bytes[i] = Number(v & 255n);
1595
+ v >>= 8n;
1596
+ }
1506
1597
  return bytes;
1507
1598
  }
1508
1599
  /**
@@ -1639,6 +1730,7 @@ exports.hashToBn254FieldSizeBe = hashToBn254FieldSizeBe;
1639
1730
  exports.hashvToBn254FieldSizeBe = hashvToBn254FieldSizeBe;
1640
1731
  exports.hashvToBn254FieldSizeBeWithBump = hashvToBn254FieldSizeBeWithBump;
1641
1732
  exports.hexToBytes = hexToBytes;
1733
+ exports.importEd25519PublicKey = importEd25519PublicKey;
1642
1734
  exports.isBN254 = isBN254;
1643
1735
  exports.isLocalTest = isLocalTest;
1644
1736
  exports.isSmallerThanFieldSize = isSmallerThanFieldSize;
package/dist/index.d.cts CHANGED
@@ -132,6 +132,8 @@ interface CompressedAccount extends MerkleContext {
132
132
  data: CompressedAccountData | null;
133
133
  /** Whether this account is read-only in the transaction */
134
134
  readOnly: boolean;
135
+ /** Slot when this account was created */
136
+ slotCreated: bigint;
135
137
  }
136
138
  /**
137
139
  * Compressed account meta for instruction data.
@@ -859,6 +861,31 @@ declare class PackedAccounts {
859
861
  };
860
862
  }
861
863
  //#endregion
864
+ //#region src/utils/crypto.d.ts
865
+ /**
866
+ * Web Crypto utilities for Ed25519 operations.
867
+ *
868
+ * Edge-compatible helpers for importing keys and verifying signatures
869
+ * using the Web Crypto API.
870
+ */
871
+ /**
872
+ * Import Ed25519 public key bytes as a CryptoKey for Web Crypto verification.
873
+ *
874
+ * @param bytes - 32-byte Ed25519 public key
875
+ * @returns CryptoKey suitable for signature verification
876
+ *
877
+ * @example
878
+ * ```typescript
879
+ * import { importEd25519PublicKey } from "@cascade-fyi/compression-kit";
880
+ * import { verifySignature, signatureBytes } from "@solana/kit";
881
+ *
882
+ * const pubkeyBytes = new Uint8Array(32); // your public key
883
+ * const key = await importEd25519PublicKey(pubkeyBytes);
884
+ * const valid = await verifySignature(key, signatureBytes(sig), message);
885
+ * ```
886
+ */
887
+ declare function importEd25519PublicKey(bytes: Uint8Array): Promise<CryptoKey>;
888
+ //#endregion
862
889
  //#region src/rpc.d.ts
863
890
  /**
864
891
  * Context wrapper for RPC responses.
@@ -883,12 +910,26 @@ interface PaginatedOptions {
883
910
  cursor?: string;
884
911
  limit?: number;
885
912
  }
913
+ /**
914
+ * Memcmp filter for compressed account queries.
915
+ *
916
+ * Photon RPC supports up to 5 memcmp filters per request (AND logic).
917
+ * Bytes are compared against raw account data at the given offset.
918
+ */
919
+ interface MemcmpFilter {
920
+ /** Byte offset into account data to start comparison */
921
+ offset: number;
922
+ /** Bytes to compare - base58 string or raw Uint8Array */
923
+ bytes: string | Uint8Array;
924
+ }
886
925
  /**
887
926
  * Options for getCompressedAccountsByOwner.
888
927
  */
889
928
  interface GetCompressedAccountsByOwnerConfig {
890
929
  cursor?: string;
891
930
  limit?: number;
931
+ /** Memcmp filters for server-side filtering (up to 5, AND logic). */
932
+ filters?: MemcmpFilter[];
892
933
  }
893
934
  /**
894
935
  * Options for getCompressedTokenAccountsByOwner.
@@ -966,6 +1007,8 @@ declare class PhotonRpc {
966
1007
  getMultipleCompressedAccounts(hashes: BN254[]): Promise<CompressedAccount[]>;
967
1008
  /**
968
1009
  * Get compressed accounts by owner.
1010
+ *
1011
+ * Supports up to 5 memcmp filters for server-side filtering (AND logic).
969
1012
  */
970
1013
  getCompressedAccountsByOwner(owner: Address, config?: GetCompressedAccountsByOwnerConfig): Promise<WithCursor<CompressedAccount[]>>;
971
1014
  /**
@@ -985,6 +1028,10 @@ declare class PhotonRpc {
985
1028
  *
986
1029
  * This is the main method for obtaining ZK proofs needed to use
987
1030
  * compressed accounts in transactions.
1031
+ *
1032
+ * Note: The Photon API expects:
1033
+ * - `hashes`: array of base58 strings (account hashes)
1034
+ * - `newAddressesWithTrees`: array of { address: string, tree: string }
988
1035
  */
989
1036
  getValidityProof(hashes: HashWithTreeInfo[], newAddresses: AddressWithTreeInfo[]): Promise<ValidityProofWithContext>;
990
1037
  /**
@@ -1029,5 +1076,5 @@ declare class PhotonRpc {
1029
1076
  */
1030
1077
  declare function createPhotonRpc(endpoint: string, headers?: Record<string, string>): PhotonRpc;
1031
1078
  //#endregion
1032
- 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 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, isBN254, isLocalTest, isSmallerThanFieldSize, localTestActiveStateTreeInfos, mergeBytes, packNewAddressParams, padBytes, pushUniqueItems, toArray, toHex, validateBN254Hash, versionedEndpoint };
1079
+ 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 };
1033
1080
  //# 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/rpc.ts"],"sourcesContent":[],"mappings":"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AAIjB,cE/LI,sBF+LJ,EE/L0B,OF+L1B,CAAA,8CAAA,CAAA;AAIG,cE7LC,oBF6LD,EE7LqB,UF6LrB,CE7LqB,WF6LrB,CAAA;AAIL,cE/LM,wBF+LN,EE/L8B,UF+L9B,CE/L8B,WF+L9B,CAAA;AAAU,cE7LJ,uCF6LI,EE7LmC,UF6LnC,CE7LmC,WF6LnC,CAAA;AAMA,cEjMJ,0CFqMH,EErM6C,UFqMpC,CErMoC,WFqMpC,CAAA;AAUF,cE7MJ,gCF6MwB,EE7MQ,UF6MR,CE7MQ,WF6MR,CAAA;AAYpB,cEvNJ,sBFuNoB,EEvNE,UFuNF,CEvNE,WFuNF,CAAA;;AAMN,cEtNd,+BFsNc,EEtNiB,OFsNjB,CAAA,8CAAA,CAAA;;AAEE,cErNhB,yCFqNgB,EErNyB,OFqNzB,CAAA,8CAAA,CAAA;AAM7B;cExNa,gCAA8B;;cAG9B,0CAAwC;ADxEzC,UC0EK,gBAAA,CD1EA;EASD,oBAAO,ECkEC,ODlED;EAQP,kBAAa,EC2DP,OD3DyC;AA2B/D;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,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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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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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"}