|
2 | 2 |
|
3 | 3 | ### Added |
4 | 4 |
|
5 | | -- **Delegate approval on the interface stack (SPL, Token-2022, light-token).** |
6 | | - - **Actions:** `approveInterface`, `revokeInterface` — send approve/revoke with the same multi-transaction pattern as transfers when cold/load batches are needed (parallel prefix via `sliceLast`, then final approve/revoke). |
7 | | - - **Instruction builders:** `createApproveInterfaceInstructions`, `createRevokeInterfaceInstructions` — return `TransactionInstruction[][]`; mirror `createTransferToAccountInterfaceInstructions` batching semantics. |
8 | | - - **Light-token primitives:** `createLightTokenApproveInstruction`, `createLightTokenRevokeInstruction` — exported from the package root alongside other light-token instruction helpers. |
9 | | -- **`InterfaceOptions` on approve/revoke** — the same `options?: InterfaceOptions` used by `transferInterface` (e.g. `splInterfaceInfos`) is accepted on approve/revoke actions and instruction builders and is passed through to `_buildLoadBatches` on light/wrap paths. |
| 5 | +- **Delegate approval and revocation** for SPL Token, Token-2022, and light-token, aligned with existing interface helpers: |
| 6 | + - **Actions:** `approveInterface`, `revokeInterface`. |
| 7 | + - **Instruction builders:** `createApproveInterfaceInstructions`, `createRevokeInterfaceInstructions` — each inner array is one transaction’s instructions (same batching style as other interface instruction builders). |
| 8 | + - **Program-level helpers:** `createLightTokenApproveInstruction`, `createLightTokenRevokeInstruction` |
| 9 | +- **Shared options:** approve/revoke accept optional `InterfaceOptions` (same type as `transferInterface`), including `splInterfaceInfos` when you need to supply SPL interface pool accounts explicitly. |
10 | 10 |
|
11 | 11 | ### Changed |
12 | 12 |
|
13 | | -- **`approveInterface` / `revokeInterface` (v3 actions):** Optional trailing parameters after `wrap`: `options?: InterfaceOptions`, `decimals?: number`. When `programId` is SPL or Token-2022 and `wrap` is `false`, **mint decimals are no longer fetched** via `getMintInterface` unless you pass `decimals` or the flow needs them for load/wrap. |
14 | | -- **`@lightprotocol/compressed-token/unified`:** `approveInterface`, `revokeInterface`, `createApproveInterfaceInstructions`, and `createRevokeInterfaceInstructions` forward optional `options` and `decimals` to the v3 implementations (still defaulting to unified `wrap: true` behavior). |
| 13 | +- **`approveInterface` / `revokeInterface`:** optional `options?: InterfaceOptions` and `decimals?: number` after `wrap`. For SPL or Token-2022 with `wrap: false`, the SDK skips an extra mint fetch used only for decimals on that path (you can still pass `decimals` when your flow requires it). |
| 14 | +- **`@lightprotocol/compressed-token/unified`:** approve/revoke APIs accept the same optional `options` and `decimals`; unified entrypoints keep their existing default wrapping behavior (`wrap: true`). |
15 | 15 |
|
16 | 16 | ## [0.23.0-beta.10] |
17 | 17 |
|
|
0 commit comments