@sip-protocol/sdk 0.7.3 → 0.8.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.
Files changed (263) hide show
  1. package/README.md +267 -0
  2. package/dist/{TransportWebUSB-TQ7WZ4LE.mjs → TransportWebUSB-YQMAGJAJ.mjs} +12 -9
  3. package/dist/browser.d.mts +10 -4
  4. package/dist/browser.d.ts +10 -4
  5. package/dist/browser.js +47556 -19603
  6. package/dist/browser.mjs +628 -48
  7. package/dist/chunk-4GRJ5MAW.mjs +152 -0
  8. package/dist/chunk-5D7A3L3W.mjs +717 -0
  9. package/dist/chunk-64AYA5F5.mjs +7834 -0
  10. package/dist/chunk-GMDGB22A.mjs +379 -0
  11. package/dist/chunk-I534WKN7.mjs +328 -0
  12. package/dist/chunk-IBZVA5Y7.mjs +1003 -0
  13. package/dist/chunk-PRRZAWJE.mjs +223 -0
  14. package/dist/{chunk-UJCSKKID.mjs → chunk-XGB3TDIC.mjs} +13 -1
  15. package/dist/{chunk-3M3HNQCW.mjs → chunk-YWGJ77A2.mjs} +28656 -13103
  16. package/dist/{chunk-6WGN57S2.mjs → chunk-Z3K7W5S3.mjs} +48 -0
  17. package/dist/constants-LHAAUC2T.mjs +51 -0
  18. package/dist/dist-2OGQ7FED.mjs +3957 -0
  19. package/dist/dist-IFHPYLDX.mjs +254 -0
  20. package/dist/fulfillment_proof-ANHVPKTB.mjs +21 -0
  21. package/dist/funding_proof-ICFZ5LHY.mjs +21 -0
  22. package/dist/{index-DIBZHOOQ.d.ts → index-DXh2IGkz.d.ts} +21239 -10304
  23. package/dist/{index-8MQz13eJ.d.mts → index-DeE1ZzA4.d.mts} +21239 -10304
  24. package/dist/index.d.mts +9 -3
  25. package/dist/index.d.ts +9 -3
  26. package/dist/index.js +48396 -19623
  27. package/dist/index.mjs +537 -19
  28. package/dist/interface-Bf7w1PLW.d.mts +679 -0
  29. package/dist/interface-Bf7w1PLW.d.ts +679 -0
  30. package/dist/{noir-DKfEzWy9.d.mts → noir-kzbLVTei.d.mts} +31 -21
  31. package/dist/{noir-DKfEzWy9.d.ts → noir-kzbLVTei.d.ts} +31 -21
  32. package/dist/proofs/halo2.d.mts +151 -0
  33. package/dist/proofs/halo2.d.ts +151 -0
  34. package/dist/proofs/halo2.js +350 -0
  35. package/dist/proofs/halo2.mjs +11 -0
  36. package/dist/proofs/kimchi.d.mts +160 -0
  37. package/dist/proofs/kimchi.d.ts +160 -0
  38. package/dist/proofs/kimchi.js +431 -0
  39. package/dist/proofs/kimchi.mjs +13 -0
  40. package/dist/proofs/noir.d.mts +1 -1
  41. package/dist/proofs/noir.d.ts +1 -1
  42. package/dist/proofs/noir.js +74 -18
  43. package/dist/proofs/noir.mjs +84 -24
  44. package/dist/solana-U3MEGU7W.mjs +280 -0
  45. package/dist/validity_proof-3POXLPNY.mjs +21 -0
  46. package/package.json +44 -11
  47. package/src/adapters/index.ts +41 -0
  48. package/src/adapters/jupiter.ts +571 -0
  49. package/src/adapters/near-intents.ts +135 -0
  50. package/src/advisor/advisor.ts +653 -0
  51. package/src/advisor/index.ts +54 -0
  52. package/src/advisor/tools.ts +303 -0
  53. package/src/advisor/types.ts +164 -0
  54. package/src/chains/ethereum/announcement.ts +536 -0
  55. package/src/chains/ethereum/bnb-optimizations.ts +474 -0
  56. package/src/chains/ethereum/commitment.ts +522 -0
  57. package/src/chains/ethereum/constants.ts +462 -0
  58. package/src/chains/ethereum/deployment.ts +596 -0
  59. package/src/chains/ethereum/gas-estimation.ts +538 -0
  60. package/src/chains/ethereum/index.ts +268 -0
  61. package/src/chains/ethereum/optimizations.ts +614 -0
  62. package/src/chains/ethereum/privacy-adapter.ts +855 -0
  63. package/src/chains/ethereum/registry.ts +584 -0
  64. package/src/chains/ethereum/rpc.ts +905 -0
  65. package/src/chains/ethereum/stealth.ts +491 -0
  66. package/src/chains/ethereum/token.ts +790 -0
  67. package/src/chains/ethereum/transfer.ts +637 -0
  68. package/src/chains/ethereum/types.ts +456 -0
  69. package/src/chains/ethereum/viewing-key.ts +455 -0
  70. package/src/chains/near/commitment.ts +608 -0
  71. package/src/chains/near/constants.ts +284 -0
  72. package/src/chains/near/function-call.ts +871 -0
  73. package/src/chains/near/history.ts +654 -0
  74. package/src/chains/near/implicit-account.ts +840 -0
  75. package/src/chains/near/index.ts +393 -0
  76. package/src/chains/near/native-transfer.ts +658 -0
  77. package/src/chains/near/nep141.ts +775 -0
  78. package/src/chains/near/privacy-adapter.ts +889 -0
  79. package/src/chains/near/resolver.ts +971 -0
  80. package/src/chains/near/rpc.ts +1016 -0
  81. package/src/chains/near/stealth.ts +419 -0
  82. package/src/chains/near/types.ts +317 -0
  83. package/src/chains/near/viewing-key.ts +876 -0
  84. package/src/chains/solana/anchor-transfer.ts +386 -0
  85. package/src/chains/solana/commitment.ts +577 -0
  86. package/src/chains/solana/constants.ts +126 -12
  87. package/src/chains/solana/ephemeral-keys.ts +543 -0
  88. package/src/chains/solana/index.ts +252 -1
  89. package/src/chains/solana/key-derivation.ts +418 -0
  90. package/src/chains/solana/kit-compat.ts +334 -0
  91. package/src/chains/solana/optimizations.ts +560 -0
  92. package/src/chains/solana/privacy-adapter.ts +605 -0
  93. package/src/chains/solana/providers/generic.ts +47 -6
  94. package/src/chains/solana/providers/helius-enhanced-types.ts +336 -0
  95. package/src/chains/solana/providers/helius-enhanced.ts +623 -0
  96. package/src/chains/solana/providers/helius.ts +186 -33
  97. package/src/chains/solana/providers/index.ts +31 -0
  98. package/src/chains/solana/providers/interface.ts +61 -18
  99. package/src/chains/solana/providers/quicknode.ts +409 -0
  100. package/src/chains/solana/providers/triton.ts +426 -0
  101. package/src/chains/solana/providers/webhook.ts +338 -67
  102. package/src/chains/solana/rpc-client.ts +1150 -0
  103. package/src/chains/solana/scan.ts +83 -66
  104. package/src/chains/solana/sol-transfer.ts +732 -0
  105. package/src/chains/solana/spl-transfer.ts +886 -0
  106. package/src/chains/solana/stealth-scanner.ts +703 -0
  107. package/src/chains/solana/sunspot-verifier.ts +453 -0
  108. package/src/chains/solana/transaction-builder.ts +755 -0
  109. package/src/chains/solana/transfer.ts +74 -5
  110. package/src/chains/solana/types.ts +57 -6
  111. package/src/chains/solana/utils.ts +110 -0
  112. package/src/chains/solana/viewing-key.ts +807 -0
  113. package/src/compliance/fireblocks.ts +921 -0
  114. package/src/compliance/index.ts +23 -0
  115. package/src/compliance/range-sas.ts +398 -33
  116. package/src/config/endpoints.ts +100 -0
  117. package/src/crypto.ts +11 -8
  118. package/src/errors.ts +82 -0
  119. package/src/evm/erc4337-relayer.ts +830 -0
  120. package/src/evm/index.ts +47 -0
  121. package/src/fees/calculator.ts +396 -0
  122. package/src/fees/index.ts +87 -0
  123. package/src/fees/near-contract.ts +429 -0
  124. package/src/fees/types.ts +268 -0
  125. package/src/index.ts +686 -1
  126. package/src/intent.ts +6 -3
  127. package/src/logger.ts +324 -0
  128. package/src/network/index.ts +80 -0
  129. package/src/network/proxy.ts +691 -0
  130. package/src/optimizations/index.ts +541 -0
  131. package/src/oracle/types.ts +1 -0
  132. package/src/privacy-backends/arcium-types.ts +727 -0
  133. package/src/privacy-backends/arcium.ts +719 -0
  134. package/src/privacy-backends/combined-privacy.ts +866 -0
  135. package/src/privacy-backends/cspl-token.ts +595 -0
  136. package/src/privacy-backends/cspl-types.ts +512 -0
  137. package/src/privacy-backends/cspl.ts +907 -0
  138. package/src/privacy-backends/health.ts +488 -0
  139. package/src/privacy-backends/inco-types.ts +323 -0
  140. package/src/privacy-backends/inco.ts +616 -0
  141. package/src/privacy-backends/index.ts +254 -4
  142. package/src/privacy-backends/interface.ts +649 -6
  143. package/src/privacy-backends/lru-cache.ts +343 -0
  144. package/src/privacy-backends/magicblock.ts +458 -0
  145. package/src/privacy-backends/mock.ts +258 -0
  146. package/src/privacy-backends/privacycash.ts +13 -17
  147. package/src/privacy-backends/private-swap.ts +570 -0
  148. package/src/privacy-backends/rate-limiter.ts +683 -0
  149. package/src/privacy-backends/registry.ts +414 -2
  150. package/src/privacy-backends/router.ts +283 -3
  151. package/src/privacy-backends/shadowwire.ts +449 -0
  152. package/src/privacy-backends/sip-native.ts +3 -0
  153. package/src/privacy-logger.ts +191 -0
  154. package/src/production-safety.ts +373 -0
  155. package/src/proofs/aggregator.ts +1029 -0
  156. package/src/proofs/browser-composer.ts +1150 -0
  157. package/src/proofs/browser.ts +113 -25
  158. package/src/proofs/cache/index.ts +127 -0
  159. package/src/proofs/cache/interface.ts +545 -0
  160. package/src/proofs/cache/key-generator.ts +188 -0
  161. package/src/proofs/cache/lru-cache.ts +481 -0
  162. package/src/proofs/cache/multi-tier-cache.ts +575 -0
  163. package/src/proofs/cache/persistent-cache.ts +788 -0
  164. package/src/proofs/compliance-proof.ts +872 -0
  165. package/src/proofs/composer/base.ts +923 -0
  166. package/src/proofs/composer/index.ts +25 -0
  167. package/src/proofs/composer/interface.ts +518 -0
  168. package/src/proofs/composer/types.ts +383 -0
  169. package/src/proofs/converters/halo2.ts +452 -0
  170. package/src/proofs/converters/index.ts +208 -0
  171. package/src/proofs/converters/interface.ts +363 -0
  172. package/src/proofs/converters/kimchi.ts +462 -0
  173. package/src/proofs/converters/noir.ts +451 -0
  174. package/src/proofs/fallback.ts +888 -0
  175. package/src/proofs/halo2.ts +42 -0
  176. package/src/proofs/index.ts +471 -0
  177. package/src/proofs/interface.ts +13 -0
  178. package/src/proofs/kimchi.ts +42 -0
  179. package/src/proofs/lazy.ts +1004 -0
  180. package/src/proofs/mock.ts +25 -1
  181. package/src/proofs/noir.ts +110 -29
  182. package/src/proofs/orchestrator.ts +960 -0
  183. package/src/proofs/parallel/concurrency.ts +297 -0
  184. package/src/proofs/parallel/dependency-graph.ts +602 -0
  185. package/src/proofs/parallel/executor.ts +420 -0
  186. package/src/proofs/parallel/index.ts +131 -0
  187. package/src/proofs/parallel/interface.ts +685 -0
  188. package/src/proofs/parallel/worker-pool.ts +644 -0
  189. package/src/proofs/providers/halo2.ts +560 -0
  190. package/src/proofs/providers/index.ts +34 -0
  191. package/src/proofs/providers/kimchi.ts +641 -0
  192. package/src/proofs/validator.ts +881 -0
  193. package/src/proofs/verifier.ts +867 -0
  194. package/src/quantum/index.ts +112 -0
  195. package/src/quantum/winternitz-vault.ts +639 -0
  196. package/src/quantum/wots.ts +611 -0
  197. package/src/settlement/backends/direct-chain.ts +1 -0
  198. package/src/settlement/index.ts +9 -0
  199. package/src/settlement/router.ts +732 -46
  200. package/src/solana/index.ts +72 -0
  201. package/src/solana/jito-relayer.ts +687 -0
  202. package/src/solana/noir-verifier-types.ts +430 -0
  203. package/src/solana/noir-verifier.ts +816 -0
  204. package/src/stealth/address-derivation.ts +193 -0
  205. package/src/stealth/ed25519.ts +431 -0
  206. package/src/stealth/index.ts +233 -0
  207. package/src/stealth/meta-address.ts +221 -0
  208. package/src/stealth/secp256k1.ts +368 -0
  209. package/src/stealth/utils.ts +194 -0
  210. package/src/stealth.ts +50 -1504
  211. package/src/sync/index.ts +106 -0
  212. package/src/sync/manager.ts +504 -0
  213. package/src/sync/mock-provider.ts +318 -0
  214. package/src/sync/oblivious.ts +625 -0
  215. package/src/tokens/index.ts +15 -0
  216. package/src/tokens/registry.ts +301 -0
  217. package/src/utils/deprecation.ts +94 -0
  218. package/src/utils/index.ts +9 -0
  219. package/src/wallet/ethereum/index.ts +68 -0
  220. package/src/wallet/ethereum/metamask-privacy.ts +420 -0
  221. package/src/wallet/ethereum/multi-wallet.ts +646 -0
  222. package/src/wallet/ethereum/privacy-adapter.ts +700 -0
  223. package/src/wallet/ethereum/types.ts +3 -1
  224. package/src/wallet/ethereum/walletconnect-adapter.ts +675 -0
  225. package/src/wallet/hardware/index.ts +10 -0
  226. package/src/wallet/hardware/ledger-privacy.ts +414 -0
  227. package/src/wallet/index.ts +71 -0
  228. package/src/wallet/near/adapter.ts +626 -0
  229. package/src/wallet/near/index.ts +86 -0
  230. package/src/wallet/near/meteor-wallet.ts +1153 -0
  231. package/src/wallet/near/my-near-wallet.ts +790 -0
  232. package/src/wallet/near/wallet-selector.ts +702 -0
  233. package/src/wallet/solana/adapter.ts +6 -4
  234. package/src/wallet/solana/index.ts +13 -0
  235. package/src/wallet/solana/privacy-adapter.ts +567 -0
  236. package/src/wallet/sui/types.ts +6 -4
  237. package/src/zcash/rpc-client.ts +13 -6
  238. package/dist/chunk-2XIVXWHA.mjs +0 -1930
  239. package/dist/chunk-3INS3PR5.mjs +0 -884
  240. package/dist/chunk-3OVABDRH.mjs +0 -17096
  241. package/dist/chunk-7RFRWDCW.mjs +0 -1504
  242. package/dist/chunk-DLDWZFYC.mjs +0 -1495
  243. package/dist/chunk-E6SZWREQ.mjs +0 -57
  244. package/dist/chunk-F6F73W35.mjs +0 -16166
  245. package/dist/chunk-G33LB27A.mjs +0 -16166
  246. package/dist/chunk-HGU6HZRC.mjs +0 -231
  247. package/dist/chunk-L2K34JCU.mjs +0 -1496
  248. package/dist/chunk-OFDBEIEK.mjs +0 -16166
  249. package/dist/chunk-SF7YSLF5.mjs +0 -1515
  250. package/dist/chunk-SN4ZDTVW.mjs +0 -16166
  251. package/dist/chunk-WWUSGOXE.mjs +0 -17129
  252. package/dist/constants-VOI7BSLK.mjs +0 -27
  253. package/dist/index-B71aXVzk.d.ts +0 -13264
  254. package/dist/index-BYZbDjal.d.ts +0 -11390
  255. package/dist/index-CHB3KuOB.d.mts +0 -11859
  256. package/dist/index-CzWPI6Le.d.ts +0 -11859
  257. package/dist/index-pOIIuwfV.d.mts +0 -13264
  258. package/dist/index-xbWjohNq.d.mts +0 -11390
  259. package/dist/solana-4O4K45VU.mjs +0 -46
  260. package/dist/solana-5EMCTPTS.mjs +0 -46
  261. package/dist/solana-NDABAZ6P.mjs +0 -56
  262. package/dist/solana-Q4NAVBTS.mjs +0 -46
  263. package/dist/solana-ZYO63LY5.mjs +0 -46
@@ -0,0 +1,336 @@
1
+ /**
2
+ * Helius Enhanced Transactions API Types
3
+ *
4
+ * Types for the Enhanced Transactions API which provides human-readable
5
+ * transaction data with token metadata enrichment.
6
+ *
7
+ * @see https://docs.helius.dev/solana-apis/enhanced-transactions
8
+ */
9
+
10
+ /**
11
+ * Transaction types supported by Helius Enhanced Transactions API
12
+ *
13
+ * This is a subset of the most common types. The full list includes
14
+ * 200+ types covering DeFi, NFTs, and protocol-specific operations.
15
+ */
16
+ export type EnhancedTransactionType =
17
+ // Common transaction types
18
+ | 'TRANSFER'
19
+ | 'SWAP'
20
+ | 'BURN'
21
+ | 'MINT'
22
+ // NFT operations
23
+ | 'NFT_SALE'
24
+ | 'NFT_LISTING'
25
+ | 'NFT_CANCEL_LISTING'
26
+ | 'NFT_BID'
27
+ | 'NFT_MINT'
28
+ | 'NFT_BURN'
29
+ | 'COMPRESSED_NFT_MINT'
30
+ | 'COMPRESSED_NFT_TRANSFER'
31
+ | 'COMPRESSED_NFT_BURN'
32
+ // DeFi operations
33
+ | 'ADD_LIQUIDITY'
34
+ | 'REMOVE_LIQUIDITY'
35
+ | 'STAKE'
36
+ | 'UNSTAKE'
37
+ | 'BORROW'
38
+ | 'REPAY'
39
+ | 'CLAIM_REWARDS'
40
+ // Governance
41
+ | 'VOTE'
42
+ | 'CREATE_PROPOSAL'
43
+ // Generic
44
+ | 'UNKNOWN'
45
+ | string // Allow for new types not yet defined
46
+
47
+ /**
48
+ * Native SOL transfer details
49
+ */
50
+ export interface NativeTransfer {
51
+ /** Sender address */
52
+ fromUserAccount: string
53
+ /** Recipient address */
54
+ toUserAccount: string
55
+ /** Amount in lamports */
56
+ amount: number
57
+ }
58
+
59
+ /**
60
+ * SPL token transfer details
61
+ */
62
+ export interface TokenTransfer {
63
+ /** Sender address */
64
+ fromUserAccount: string
65
+ /** Recipient address */
66
+ toUserAccount: string
67
+ /** Sender's token account */
68
+ fromTokenAccount: string
69
+ /** Recipient's token account */
70
+ toTokenAccount: string
71
+ /** Token mint address */
72
+ mint: string
73
+ /** Amount in smallest units */
74
+ tokenAmount: number
75
+ /** Token symbol (e.g., 'USDC') */
76
+ tokenSymbol?: string
77
+ /** Token name (e.g., 'USD Coin') */
78
+ tokenName?: string
79
+ /** Token decimals */
80
+ decimals?: number
81
+ }
82
+
83
+ /**
84
+ * NFT transfer details
85
+ */
86
+ export interface NftTransfer {
87
+ /** NFT mint address */
88
+ mint: string
89
+ /** NFT name */
90
+ name?: string
91
+ /** NFT image URL */
92
+ imageUrl?: string
93
+ /** Collection name */
94
+ collectionName?: string
95
+ /** Sender address */
96
+ fromUserAccount: string
97
+ /** Recipient address */
98
+ toUserAccount: string
99
+ }
100
+
101
+ /**
102
+ * Swap event details
103
+ */
104
+ export interface SwapEvent {
105
+ /** Native SOL involved in swap */
106
+ nativeInput?: {
107
+ account: string
108
+ amount: number
109
+ }
110
+ nativeOutput?: {
111
+ account: string
112
+ amount: number
113
+ }
114
+ /** Token inputs */
115
+ tokenInputs: Array<{
116
+ userAccount: string
117
+ tokenAccount: string
118
+ mint: string
119
+ rawTokenAmount: {
120
+ tokenAmount: string
121
+ decimals: number
122
+ }
123
+ }>
124
+ /** Token outputs */
125
+ tokenOutputs: Array<{
126
+ userAccount: string
127
+ tokenAccount: string
128
+ mint: string
129
+ rawTokenAmount: {
130
+ tokenAmount: string
131
+ decimals: number
132
+ }
133
+ }>
134
+ /** Program that executed the swap */
135
+ innerSwaps?: Array<{
136
+ programInfo: {
137
+ source: string
138
+ account: string
139
+ programName: string
140
+ instructionName: string
141
+ }
142
+ tokenInputs: Array<{
143
+ mint: string
144
+ rawTokenAmount: {
145
+ tokenAmount: string
146
+ decimals: number
147
+ }
148
+ }>
149
+ tokenOutputs: Array<{
150
+ mint: string
151
+ rawTokenAmount: {
152
+ tokenAmount: string
153
+ decimals: number
154
+ }
155
+ }>
156
+ }>
157
+ }
158
+
159
+ /**
160
+ * Enhanced transaction event data
161
+ */
162
+ export interface EnhancedTransactionEvents {
163
+ /** Swap events */
164
+ swap?: SwapEvent
165
+ /** NFT-specific events */
166
+ nft?: {
167
+ seller?: string
168
+ buyer?: string
169
+ nfts?: Array<{
170
+ mint: string
171
+ name?: string
172
+ imageUrl?: string
173
+ }>
174
+ saleType?: string
175
+ amount?: number
176
+ }
177
+ /** Compressed NFT events */
178
+ compressed?: Array<{
179
+ type: string
180
+ treeId: string
181
+ leafIndex: number
182
+ assetId: string
183
+ newLeafOwner?: string
184
+ oldLeafOwner?: string
185
+ }>
186
+ }
187
+
188
+ /**
189
+ * Account data from enhanced transaction
190
+ */
191
+ export interface EnhancedAccountData {
192
+ /** Account address */
193
+ account: string
194
+ /** Native SOL change in lamports */
195
+ nativeBalanceChange: number
196
+ /** Token balance changes */
197
+ tokenBalanceChanges: Array<{
198
+ mint: string
199
+ rawTokenAmount: {
200
+ tokenAmount: string
201
+ decimals: number
202
+ }
203
+ userAccount: string
204
+ tokenAccount: string
205
+ }>
206
+ }
207
+
208
+ /**
209
+ * Enhanced transaction returned by parseTransaction API
210
+ */
211
+ export interface EnhancedTransaction {
212
+ /** Transaction signature */
213
+ signature: string
214
+ /** Human-readable description */
215
+ description: string
216
+ /** Transaction type */
217
+ type: EnhancedTransactionType
218
+ /** Source of the transaction (program/protocol name) */
219
+ source: string
220
+ /** Fee in lamports */
221
+ fee: number
222
+ /** Fee payer address */
223
+ feePayer: string
224
+ /** Slot number */
225
+ slot: number
226
+ /** Block timestamp (Unix seconds) */
227
+ timestamp: number
228
+ /** Native SOL transfers */
229
+ nativeTransfers: NativeTransfer[]
230
+ /** SPL token transfers */
231
+ tokenTransfers: TokenTransfer[]
232
+ /** Account data with balance changes */
233
+ accountData: EnhancedAccountData[]
234
+ /** Transaction-specific events */
235
+ events?: EnhancedTransactionEvents
236
+ /** Transaction error if failed */
237
+ transactionError?: {
238
+ error: string
239
+ } | null
240
+ }
241
+
242
+ /**
243
+ * Options for parsing transactions
244
+ */
245
+ export interface ParseTransactionsOptions {
246
+ /** Transaction signatures to parse */
247
+ signatures: string[]
248
+ }
249
+
250
+ /**
251
+ * Options for getting transaction history
252
+ */
253
+ export interface GetTransactionHistoryOptions {
254
+ /** Filter by transaction type */
255
+ type?: EnhancedTransactionType
256
+ /** Limit number of results (default: 100, max: 100) */
257
+ limit?: number
258
+ /** Pagination cursor for next page */
259
+ before?: string
260
+ }
261
+
262
+ /**
263
+ * SIP-specific transaction metadata
264
+ *
265
+ * Extracted from memo program instructions in SIP transactions.
266
+ * Used for privacy-preserving display to viewing key holders.
267
+ */
268
+ export interface SIPTransactionMetadata {
269
+ /** Whether this is a SIP shielded transaction */
270
+ isSIPTransaction: boolean
271
+ /** Ephemeral public key for stealth address derivation */
272
+ ephemeralPubKey?: string
273
+ /** View tag for fast scanning (1 byte) */
274
+ viewTag?: number
275
+ /** Encrypted amount (for viewing key holders only) */
276
+ encryptedAmount?: string
277
+ /** Stealth address recipient */
278
+ stealthAddress?: string
279
+ /** Token mint involved */
280
+ tokenMint?: string
281
+ /** Raw memo data */
282
+ rawMemo?: string
283
+ }
284
+
285
+ /**
286
+ * Enhanced transaction with SIP-specific metadata
287
+ */
288
+ export interface SIPEnhancedTransaction extends EnhancedTransaction {
289
+ /** SIP-specific metadata extracted from transaction */
290
+ sipMetadata: SIPTransactionMetadata
291
+ }
292
+
293
+ /**
294
+ * Privacy-preserving display options
295
+ */
296
+ export interface PrivacyDisplayOptions {
297
+ /** Viewing private key for decryption (hex) */
298
+ viewingPrivateKey?: string
299
+ /** Show amounts only to authorized viewers */
300
+ hideAmountsForUnauthorized?: boolean
301
+ /** Mask addresses for unauthorized viewers */
302
+ maskAddresses?: boolean
303
+ }
304
+
305
+ /**
306
+ * Human-readable transaction summary
307
+ *
308
+ * Provides a clean summary for UI display while respecting privacy.
309
+ */
310
+ export interface TransactionSummary {
311
+ /** Transaction signature */
312
+ signature: string
313
+ /** Human-readable title */
314
+ title: string
315
+ /** Detailed description */
316
+ description: string
317
+ /** Transaction type for categorization */
318
+ type: EnhancedTransactionType
319
+ /** Timestamp */
320
+ timestamp: Date
321
+ /** Fee in SOL */
322
+ feeInSol: number
323
+ /** Whether viewer is authorized to see full details */
324
+ isAuthorizedViewer: boolean
325
+ /** Tokens involved (with amounts if authorized) */
326
+ tokens: Array<{
327
+ symbol: string
328
+ name?: string
329
+ amount?: string // Formatted amount (hidden if not authorized)
330
+ direction: 'in' | 'out'
331
+ }>
332
+ /** Status */
333
+ status: 'success' | 'failed'
334
+ /** Explorer URL */
335
+ explorerUrl?: string
336
+ }