@oobe-protocol-labs/synapse-sap-sdk 0.13.0 → 0.14.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 (654) hide show
  1. package/dist/cjs/accounts/index.js +286 -0
  2. package/dist/cjs/accounts/index.js.map +1 -0
  3. package/dist/cjs/client.js +108 -0
  4. package/dist/cjs/client.js.map +1 -0
  5. package/dist/cjs/constants.js +59 -0
  6. package/dist/cjs/constants.js.map +1 -0
  7. package/dist/cjs/errors.js +250 -0
  8. package/dist/cjs/errors.js.map +1 -0
  9. package/dist/cjs/events/index.js +38 -130
  10. package/dist/cjs/events/index.js.map +1 -1
  11. package/dist/cjs/idlTypes.js +4 -0
  12. package/dist/cjs/idlTypes.js.map +1 -0
  13. package/dist/cjs/index.js +75 -241
  14. package/dist/cjs/index.js.map +1 -1
  15. package/dist/cjs/instructions/agent.js +89 -0
  16. package/dist/cjs/instructions/agent.js.map +1 -0
  17. package/dist/cjs/instructions/attestation.js +112 -0
  18. package/dist/cjs/instructions/attestation.js.map +1 -0
  19. package/dist/cjs/instructions/digest.js +28 -0
  20. package/dist/cjs/instructions/digest.js.map +1 -0
  21. package/dist/cjs/instructions/dispute.js +116 -0
  22. package/dist/cjs/instructions/dispute.js.map +1 -0
  23. package/dist/cjs/instructions/escrow.js +101 -0
  24. package/dist/cjs/instructions/escrow.js.map +1 -0
  25. package/dist/cjs/instructions/global.js +28 -0
  26. package/dist/cjs/instructions/global.js.map +1 -0
  27. package/dist/cjs/instructions/index.js +31 -0
  28. package/dist/cjs/instructions/index.js.map +1 -0
  29. package/dist/cjs/instructions/indexing.js +221 -0
  30. package/dist/cjs/instructions/indexing.js.map +1 -0
  31. package/dist/cjs/instructions/misc.js +73 -0
  32. package/dist/cjs/instructions/misc.js.map +1 -0
  33. package/dist/cjs/instructions/session.js +89 -0
  34. package/dist/cjs/instructions/session.js.map +1 -0
  35. package/dist/cjs/instructions/staking.js +132 -0
  36. package/dist/cjs/instructions/staking.js.map +1 -0
  37. package/dist/cjs/instructions/subscription.js +80 -0
  38. package/dist/cjs/instructions/subscription.js.map +1 -0
  39. package/dist/cjs/instructions/tools.js +109 -0
  40. package/dist/cjs/instructions/tools.js.map +1 -0
  41. package/dist/cjs/instructions/vault.js +106 -0
  42. package/dist/cjs/instructions/vault.js.map +1 -0
  43. package/dist/cjs/pdas/index.js +120 -0
  44. package/dist/cjs/pdas/index.js.map +1 -0
  45. package/dist/cjs/types.js +42 -0
  46. package/dist/cjs/types.js.map +1 -0
  47. package/dist/cjs/utils/index.js +29 -86
  48. package/dist/cjs/utils/index.js.map +1 -1
  49. package/dist/cjs/utils/validate.js +236 -0
  50. package/dist/cjs/utils/validate.js.map +1 -0
  51. package/dist/esm/accounts/index.d.ts +11 -0
  52. package/dist/esm/accounts/index.d.ts.map +1 -0
  53. package/dist/esm/accounts/index.js +273 -0
  54. package/dist/esm/accounts/index.js.map +1 -0
  55. package/dist/esm/client.d.ts +55 -0
  56. package/dist/esm/client.d.ts.map +1 -0
  57. package/dist/esm/client.js +70 -0
  58. package/dist/esm/client.js.map +1 -0
  59. package/dist/esm/constants.d.ts +52 -0
  60. package/dist/esm/constants.d.ts.map +1 -0
  61. package/dist/esm/constants.js +56 -0
  62. package/dist/esm/constants.js.map +1 -0
  63. package/dist/esm/errors.d.ts +111 -0
  64. package/dist/esm/errors.d.ts.map +1 -0
  65. package/dist/esm/errors.js +244 -0
  66. package/dist/esm/errors.js.map +1 -0
  67. package/dist/esm/events/index.d.ts +13 -0
  68. package/dist/esm/events/index.d.ts.map +1 -0
  69. package/dist/esm/events/index.js +36 -128
  70. package/dist/esm/events/index.js.map +1 -1
  71. package/dist/esm/idlTypes.d.ts +925 -0
  72. package/dist/esm/idlTypes.d.ts.map +1 -0
  73. package/dist/esm/idlTypes.js +3 -0
  74. package/dist/esm/idlTypes.js.map +1 -0
  75. package/dist/esm/index.d.ts +12 -0
  76. package/dist/esm/index.d.ts.map +1 -0
  77. package/dist/esm/index.js +15 -88
  78. package/dist/esm/index.js.map +1 -1
  79. package/dist/esm/instructions/agent.d.ts +71 -0
  80. package/dist/esm/instructions/agent.d.ts.map +1 -0
  81. package/dist/esm/instructions/agent.js +85 -0
  82. package/dist/esm/instructions/agent.js.map +1 -0
  83. package/dist/esm/instructions/attestation.d.ts +76 -0
  84. package/dist/esm/instructions/attestation.d.ts.map +1 -0
  85. package/dist/esm/instructions/attestation.js +108 -0
  86. package/dist/esm/instructions/attestation.js.map +1 -0
  87. package/dist/esm/instructions/digest.d.ts +20 -0
  88. package/dist/esm/instructions/digest.d.ts.map +1 -0
  89. package/dist/esm/instructions/digest.js +24 -0
  90. package/dist/esm/instructions/digest.js.map +1 -0
  91. package/dist/esm/instructions/dispute.d.ts +81 -0
  92. package/dist/esm/instructions/dispute.d.ts.map +1 -0
  93. package/dist/esm/instructions/dispute.js +112 -0
  94. package/dist/esm/instructions/dispute.js.map +1 -0
  95. package/dist/esm/instructions/escrow.d.ts +79 -0
  96. package/dist/esm/instructions/escrow.d.ts.map +1 -0
  97. package/dist/esm/instructions/escrow.js +97 -0
  98. package/dist/esm/instructions/escrow.js.map +1 -0
  99. package/dist/esm/instructions/global.d.ts +14 -0
  100. package/dist/esm/instructions/global.d.ts.map +1 -0
  101. package/dist/esm/instructions/global.js +24 -0
  102. package/dist/esm/instructions/global.js.map +1 -0
  103. package/dist/esm/instructions/index.d.ts +14 -0
  104. package/dist/esm/instructions/index.d.ts.map +1 -0
  105. package/dist/esm/instructions/index.js +15 -0
  106. package/dist/esm/instructions/index.js.map +1 -0
  107. package/dist/esm/instructions/indexing.d.ts +150 -0
  108. package/dist/esm/instructions/indexing.d.ts.map +1 -0
  109. package/dist/esm/instructions/indexing.js +217 -0
  110. package/dist/esm/instructions/indexing.js.map +1 -0
  111. package/dist/esm/instructions/memory.d.ts +8 -0
  112. package/dist/esm/instructions/memory.d.ts.map +1 -0
  113. package/dist/esm/instructions/memory.js +234 -0
  114. package/dist/esm/instructions/memory.js.map +1 -0
  115. package/dist/esm/instructions/misc.d.ts +50 -0
  116. package/dist/esm/instructions/misc.d.ts.map +1 -0
  117. package/dist/esm/instructions/misc.js +69 -0
  118. package/dist/esm/instructions/misc.js.map +1 -0
  119. package/dist/esm/instructions/session.d.ts +57 -0
  120. package/dist/esm/instructions/session.d.ts.map +1 -0
  121. package/dist/esm/instructions/session.js +85 -0
  122. package/dist/esm/instructions/session.js.map +1 -0
  123. package/dist/esm/instructions/staking.d.ts +85 -0
  124. package/dist/esm/instructions/staking.d.ts.map +1 -0
  125. package/dist/esm/instructions/staking.js +128 -0
  126. package/dist/esm/instructions/staking.js.map +1 -0
  127. package/dist/esm/instructions/subscription.d.ts +50 -0
  128. package/dist/esm/instructions/subscription.d.ts.map +1 -0
  129. package/dist/esm/instructions/subscription.js +76 -0
  130. package/dist/esm/instructions/subscription.js.map +1 -0
  131. package/dist/esm/instructions/tools.d.ts +88 -0
  132. package/dist/esm/instructions/tools.d.ts.map +1 -0
  133. package/dist/esm/instructions/tools.js +105 -0
  134. package/dist/esm/instructions/tools.js.map +1 -0
  135. package/dist/esm/instructions/vault.d.ts +84 -0
  136. package/dist/esm/instructions/vault.d.ts.map +1 -0
  137. package/dist/esm/instructions/vault.js +102 -0
  138. package/dist/esm/instructions/vault.js.map +1 -0
  139. package/dist/esm/pdas/index.d.ts +37 -0
  140. package/dist/esm/pdas/index.d.ts.map +1 -0
  141. package/dist/esm/pdas/index.js +101 -0
  142. package/dist/esm/pdas/index.js.map +1 -0
  143. package/dist/esm/types.d.ts +208 -0
  144. package/dist/esm/types.d.ts.map +1 -0
  145. package/dist/esm/types.js +39 -0
  146. package/dist/esm/types.js.map +1 -0
  147. package/dist/esm/utils/index.d.ts +4 -0
  148. package/dist/esm/utils/index.d.ts.map +1 -0
  149. package/dist/esm/utils/index.js +13 -33
  150. package/dist/esm/utils/index.js.map +1 -1
  151. package/dist/esm/utils/validate.d.ts +66 -0
  152. package/dist/esm/utils/validate.d.ts.map +1 -0
  153. package/dist/esm/utils/validate.js +221 -0
  154. package/dist/esm/utils/validate.js.map +1 -0
  155. package/package.json +59 -183
  156. package/LICENSE +0 -21
  157. package/README.md +0 -986
  158. package/dist/cjs/constants/addresses.js +0 -143
  159. package/dist/cjs/constants/addresses.js.map +0 -1
  160. package/dist/cjs/constants/index.js +0 -64
  161. package/dist/cjs/constants/index.js.map +0 -1
  162. package/dist/cjs/constants/limits.js +0 -161
  163. package/dist/cjs/constants/limits.js.map +0 -1
  164. package/dist/cjs/constants/network.js +0 -81
  165. package/dist/cjs/constants/network.js.map +0 -1
  166. package/dist/cjs/constants/payments.js +0 -137
  167. package/dist/cjs/constants/payments.js.map +0 -1
  168. package/dist/cjs/constants/programs.js +0 -78
  169. package/dist/cjs/constants/programs.js.map +0 -1
  170. package/dist/cjs/constants/seeds.js +0 -76
  171. package/dist/cjs/constants/seeds.js.map +0 -1
  172. package/dist/cjs/core/client.js +0 -546
  173. package/dist/cjs/core/client.js.map +0 -1
  174. package/dist/cjs/core/connection.js +0 -350
  175. package/dist/cjs/core/connection.js.map +0 -1
  176. package/dist/cjs/core/index.js +0 -25
  177. package/dist/cjs/core/index.js.map +0 -1
  178. package/dist/cjs/errors/index.js +0 -334
  179. package/dist/cjs/errors/index.js.map +0 -1
  180. package/dist/cjs/events/geyser.js +0 -295
  181. package/dist/cjs/events/geyser.js.map +0 -1
  182. package/dist/cjs/idl/index.js +0 -63
  183. package/dist/cjs/idl/index.js.map +0 -1
  184. package/dist/cjs/idl/synapse_agent_sap.json +0 -14595
  185. package/dist/cjs/modules/agent.js +0 -272
  186. package/dist/cjs/modules/agent.js.map +0 -1
  187. package/dist/cjs/modules/attestation.js +0 -147
  188. package/dist/cjs/modules/attestation.js.map +0 -1
  189. package/dist/cjs/modules/base.js +0 -189
  190. package/dist/cjs/modules/base.js.map +0 -1
  191. package/dist/cjs/modules/escrow-v2.js +0 -607
  192. package/dist/cjs/modules/escrow-v2.js.map +0 -1
  193. package/dist/cjs/modules/escrow.js +0 -336
  194. package/dist/cjs/modules/escrow.js.map +0 -1
  195. package/dist/cjs/modules/feedback.js +0 -166
  196. package/dist/cjs/modules/feedback.js.map +0 -1
  197. package/dist/cjs/modules/index.js +0 -43
  198. package/dist/cjs/modules/index.js.map +0 -1
  199. package/dist/cjs/modules/indexing.js +0 -375
  200. package/dist/cjs/modules/indexing.js.map +0 -1
  201. package/dist/cjs/modules/ledger.js +0 -234
  202. package/dist/cjs/modules/ledger.js.map +0 -1
  203. package/dist/cjs/modules/receipt.js +0 -148
  204. package/dist/cjs/modules/receipt.js.map +0 -1
  205. package/dist/cjs/modules/staking.js +0 -159
  206. package/dist/cjs/modules/staking.js.map +0 -1
  207. package/dist/cjs/modules/subscription.js +0 -96
  208. package/dist/cjs/modules/subscription.js.map +0 -1
  209. package/dist/cjs/modules/tools.js +0 -345
  210. package/dist/cjs/modules/tools.js.map +0 -1
  211. package/dist/cjs/modules/vault.js +0 -427
  212. package/dist/cjs/modules/vault.js.map +0 -1
  213. package/dist/cjs/parser/client.js +0 -146
  214. package/dist/cjs/parser/client.js.map +0 -1
  215. package/dist/cjs/parser/complete.js +0 -177
  216. package/dist/cjs/parser/complete.js.map +0 -1
  217. package/dist/cjs/parser/index.js +0 -57
  218. package/dist/cjs/parser/index.js.map +0 -1
  219. package/dist/cjs/parser/inner.js +0 -185
  220. package/dist/cjs/parser/inner.js.map +0 -1
  221. package/dist/cjs/parser/instructions.js +0 -114
  222. package/dist/cjs/parser/instructions.js.map +0 -1
  223. package/dist/cjs/parser/transaction.js +0 -153
  224. package/dist/cjs/parser/transaction.js.map +0 -1
  225. package/dist/cjs/parser/types.js +0 -14
  226. package/dist/cjs/parser/types.js.map +0 -1
  227. package/dist/cjs/pda/index.js +0 -672
  228. package/dist/cjs/pda/index.js.map +0 -1
  229. package/dist/cjs/plugin/index.js +0 -952
  230. package/dist/cjs/plugin/index.js.map +0 -1
  231. package/dist/cjs/plugin/protocols.js +0 -282
  232. package/dist/cjs/plugin/protocols.js.map +0 -1
  233. package/dist/cjs/plugin/schemas.js +0 -863
  234. package/dist/cjs/plugin/schemas.js.map +0 -1
  235. package/dist/cjs/postgres/adapter.js +0 -715
  236. package/dist/cjs/postgres/adapter.js.map +0 -1
  237. package/dist/cjs/postgres/index.js +0 -50
  238. package/dist/cjs/postgres/index.js.map +0 -1
  239. package/dist/cjs/postgres/serializers.js +0 -381
  240. package/dist/cjs/postgres/serializers.js.map +0 -1
  241. package/dist/cjs/postgres/sync.js +0 -289
  242. package/dist/cjs/postgres/sync.js.map +0 -1
  243. package/dist/cjs/postgres/types.js +0 -44
  244. package/dist/cjs/postgres/types.js.map +0 -1
  245. package/dist/cjs/registries/builder.js +0 -414
  246. package/dist/cjs/registries/builder.js.map +0 -1
  247. package/dist/cjs/registries/discovery.js +0 -362
  248. package/dist/cjs/registries/discovery.js.map +0 -1
  249. package/dist/cjs/registries/fairscale.js +0 -639
  250. package/dist/cjs/registries/fairscale.js.map +0 -1
  251. package/dist/cjs/registries/index.js +0 -58
  252. package/dist/cjs/registries/index.js.map +0 -1
  253. package/dist/cjs/registries/metaplex-bridge.js +0 -743
  254. package/dist/cjs/registries/metaplex-bridge.js.map +0 -1
  255. package/dist/cjs/registries/session.js +0 -433
  256. package/dist/cjs/registries/session.js.map +0 -1
  257. package/dist/cjs/registries/x402.js +0 -668
  258. package/dist/cjs/registries/x402.js.map +0 -1
  259. package/dist/cjs/types/accounts.js +0 -13
  260. package/dist/cjs/types/accounts.js.map +0 -1
  261. package/dist/cjs/types/common.js +0 -13
  262. package/dist/cjs/types/common.js.map +0 -1
  263. package/dist/cjs/types/endpoint.js +0 -15
  264. package/dist/cjs/types/endpoint.js.map +0 -1
  265. package/dist/cjs/types/enums.js +0 -269
  266. package/dist/cjs/types/enums.js.map +0 -1
  267. package/dist/cjs/types/index.js +0 -41
  268. package/dist/cjs/types/index.js.map +0 -1
  269. package/dist/cjs/types/instructions.js +0 -92
  270. package/dist/cjs/types/instructions.js.map +0 -1
  271. package/dist/cjs/utils/anchor-errors.js +0 -453
  272. package/dist/cjs/utils/anchor-errors.js.map +0 -1
  273. package/dist/cjs/utils/endpoint-validator.js +0 -232
  274. package/dist/cjs/utils/endpoint-validator.js.map +0 -1
  275. package/dist/cjs/utils/escrow-validation.js +0 -219
  276. package/dist/cjs/utils/escrow-validation.js.map +0 -1
  277. package/dist/cjs/utils/hash.js +0 -109
  278. package/dist/cjs/utils/hash.js.map +0 -1
  279. package/dist/cjs/utils/merchant-validator.js +0 -246
  280. package/dist/cjs/utils/merchant-validator.js.map +0 -1
  281. package/dist/cjs/utils/network-normalizer.js +0 -236
  282. package/dist/cjs/utils/network-normalizer.js.map +0 -1
  283. package/dist/cjs/utils/priority-fee.js +0 -215
  284. package/dist/cjs/utils/priority-fee.js.map +0 -1
  285. package/dist/cjs/utils/rpc-strategy.js +0 -239
  286. package/dist/cjs/utils/rpc-strategy.js.map +0 -1
  287. package/dist/cjs/utils/schemas.js +0 -331
  288. package/dist/cjs/utils/schemas.js.map +0 -1
  289. package/dist/cjs/utils/serialization.js +0 -105
  290. package/dist/cjs/utils/serialization.js.map +0 -1
  291. package/dist/cjs/utils/validation.js +0 -36
  292. package/dist/cjs/utils/validation.js.map +0 -1
  293. package/dist/cjs/utils/volume-curve.js +0 -117
  294. package/dist/cjs/utils/volume-curve.js.map +0 -1
  295. package/dist/cjs/utils/x402-direct.js +0 -231
  296. package/dist/cjs/utils/x402-direct.js.map +0 -1
  297. package/dist/esm/constants/addresses.js +0 -140
  298. package/dist/esm/constants/addresses.js.map +0 -1
  299. package/dist/esm/constants/index.js +0 -35
  300. package/dist/esm/constants/index.js.map +0 -1
  301. package/dist/esm/constants/limits.js +0 -158
  302. package/dist/esm/constants/limits.js.map +0 -1
  303. package/dist/esm/constants/network.js +0 -78
  304. package/dist/esm/constants/network.js.map +0 -1
  305. package/dist/esm/constants/payments.js +0 -131
  306. package/dist/esm/constants/payments.js.map +0 -1
  307. package/dist/esm/constants/programs.js +0 -75
  308. package/dist/esm/constants/programs.js.map +0 -1
  309. package/dist/esm/constants/seeds.js +0 -73
  310. package/dist/esm/constants/seeds.js.map +0 -1
  311. package/dist/esm/core/client.js +0 -539
  312. package/dist/esm/core/client.js.map +0 -1
  313. package/dist/esm/core/connection.js +0 -345
  314. package/dist/esm/core/connection.js.map +0 -1
  315. package/dist/esm/core/index.js +0 -19
  316. package/dist/esm/core/index.js.map +0 -1
  317. package/dist/esm/errors/index.js +0 -325
  318. package/dist/esm/errors/index.js.map +0 -1
  319. package/dist/esm/events/geyser.js +0 -258
  320. package/dist/esm/events/geyser.js.map +0 -1
  321. package/dist/esm/idl/index.js +0 -57
  322. package/dist/esm/idl/index.js.map +0 -1
  323. package/dist/esm/idl/synapse_agent_sap.json +0 -14595
  324. package/dist/esm/modules/agent.js +0 -268
  325. package/dist/esm/modules/agent.js.map +0 -1
  326. package/dist/esm/modules/attestation.js +0 -143
  327. package/dist/esm/modules/attestation.js.map +0 -1
  328. package/dist/esm/modules/base.js +0 -185
  329. package/dist/esm/modules/base.js.map +0 -1
  330. package/dist/esm/modules/escrow-v2.js +0 -603
  331. package/dist/esm/modules/escrow-v2.js.map +0 -1
  332. package/dist/esm/modules/escrow.js +0 -332
  333. package/dist/esm/modules/escrow.js.map +0 -1
  334. package/dist/esm/modules/feedback.js +0 -162
  335. package/dist/esm/modules/feedback.js.map +0 -1
  336. package/dist/esm/modules/index.js +0 -27
  337. package/dist/esm/modules/index.js.map +0 -1
  338. package/dist/esm/modules/indexing.js +0 -371
  339. package/dist/esm/modules/indexing.js.map +0 -1
  340. package/dist/esm/modules/ledger.js +0 -230
  341. package/dist/esm/modules/ledger.js.map +0 -1
  342. package/dist/esm/modules/receipt.js +0 -144
  343. package/dist/esm/modules/receipt.js.map +0 -1
  344. package/dist/esm/modules/staking.js +0 -155
  345. package/dist/esm/modules/staking.js.map +0 -1
  346. package/dist/esm/modules/subscription.js +0 -92
  347. package/dist/esm/modules/subscription.js.map +0 -1
  348. package/dist/esm/modules/tools.js +0 -341
  349. package/dist/esm/modules/tools.js.map +0 -1
  350. package/dist/esm/modules/vault.js +0 -423
  351. package/dist/esm/modules/vault.js.map +0 -1
  352. package/dist/esm/parser/client.js +0 -142
  353. package/dist/esm/parser/client.js.map +0 -1
  354. package/dist/esm/parser/complete.js +0 -173
  355. package/dist/esm/parser/complete.js.map +0 -1
  356. package/dist/esm/parser/index.js +0 -43
  357. package/dist/esm/parser/index.js.map +0 -1
  358. package/dist/esm/parser/inner.js +0 -180
  359. package/dist/esm/parser/inner.js.map +0 -1
  360. package/dist/esm/parser/instructions.js +0 -109
  361. package/dist/esm/parser/instructions.js.map +0 -1
  362. package/dist/esm/parser/transaction.js +0 -149
  363. package/dist/esm/parser/transaction.js.map +0 -1
  364. package/dist/esm/parser/types.js +0 -13
  365. package/dist/esm/parser/types.js.map +0 -1
  366. package/dist/esm/pda/index.js +0 -638
  367. package/dist/esm/pda/index.js.map +0 -1
  368. package/dist/esm/plugin/index.js +0 -945
  369. package/dist/esm/plugin/index.js.map +0 -1
  370. package/dist/esm/plugin/protocols.js +0 -279
  371. package/dist/esm/plugin/protocols.js.map +0 -1
  372. package/dist/esm/plugin/schemas.js +0 -860
  373. package/dist/esm/plugin/schemas.js.map +0 -1
  374. package/dist/esm/postgres/adapter.js +0 -678
  375. package/dist/esm/postgres/adapter.js.map +0 -1
  376. package/dist/esm/postgres/index.js +0 -27
  377. package/dist/esm/postgres/index.js.map +0 -1
  378. package/dist/esm/postgres/serializers.js +0 -362
  379. package/dist/esm/postgres/serializers.js.map +0 -1
  380. package/dist/esm/postgres/sync.js +0 -285
  381. package/dist/esm/postgres/sync.js.map +0 -1
  382. package/dist/esm/postgres/types.js +0 -41
  383. package/dist/esm/postgres/types.js.map +0 -1
  384. package/dist/esm/registries/builder.js +0 -410
  385. package/dist/esm/registries/builder.js.map +0 -1
  386. package/dist/esm/registries/discovery.js +0 -358
  387. package/dist/esm/registries/discovery.js.map +0 -1
  388. package/dist/esm/registries/fairscale.js +0 -633
  389. package/dist/esm/registries/fairscale.js.map +0 -1
  390. package/dist/esm/registries/index.js +0 -46
  391. package/dist/esm/registries/index.js.map +0 -1
  392. package/dist/esm/registries/metaplex-bridge.js +0 -706
  393. package/dist/esm/registries/metaplex-bridge.js.map +0 -1
  394. package/dist/esm/registries/session.js +0 -429
  395. package/dist/esm/registries/session.js.map +0 -1
  396. package/dist/esm/registries/x402.js +0 -664
  397. package/dist/esm/registries/x402.js.map +0 -1
  398. package/dist/esm/types/accounts.js +0 -12
  399. package/dist/esm/types/accounts.js.map +0 -1
  400. package/dist/esm/types/common.js +0 -12
  401. package/dist/esm/types/common.js.map +0 -1
  402. package/dist/esm/types/endpoint.js +0 -14
  403. package/dist/esm/types/endpoint.js.map +0 -1
  404. package/dist/esm/types/enums.js +0 -266
  405. package/dist/esm/types/enums.js.map +0 -1
  406. package/dist/esm/types/index.js +0 -25
  407. package/dist/esm/types/index.js.map +0 -1
  408. package/dist/esm/types/instructions.js +0 -89
  409. package/dist/esm/types/instructions.js.map +0 -1
  410. package/dist/esm/utils/anchor-errors.js +0 -447
  411. package/dist/esm/utils/anchor-errors.js.map +0 -1
  412. package/dist/esm/utils/endpoint-validator.js +0 -226
  413. package/dist/esm/utils/endpoint-validator.js.map +0 -1
  414. package/dist/esm/utils/escrow-validation.js +0 -212
  415. package/dist/esm/utils/escrow-validation.js.map +0 -1
  416. package/dist/esm/utils/hash.js +0 -103
  417. package/dist/esm/utils/hash.js.map +0 -1
  418. package/dist/esm/utils/merchant-validator.js +0 -241
  419. package/dist/esm/utils/merchant-validator.js.map +0 -1
  420. package/dist/esm/utils/network-normalizer.js +0 -229
  421. package/dist/esm/utils/network-normalizer.js.map +0 -1
  422. package/dist/esm/utils/priority-fee.js +0 -209
  423. package/dist/esm/utils/priority-fee.js.map +0 -1
  424. package/dist/esm/utils/rpc-strategy.js +0 -231
  425. package/dist/esm/utils/rpc-strategy.js.map +0 -1
  426. package/dist/esm/utils/schemas.js +0 -320
  427. package/dist/esm/utils/schemas.js.map +0 -1
  428. package/dist/esm/utils/serialization.js +0 -98
  429. package/dist/esm/utils/serialization.js.map +0 -1
  430. package/dist/esm/utils/validation.js +0 -33
  431. package/dist/esm/utils/validation.js.map +0 -1
  432. package/dist/esm/utils/volume-curve.js +0 -114
  433. package/dist/esm/utils/volume-curve.js.map +0 -1
  434. package/dist/esm/utils/x402-direct.js +0 -228
  435. package/dist/esm/utils/x402-direct.js.map +0 -1
  436. package/dist/types/constants/addresses.d.ts +0 -117
  437. package/dist/types/constants/addresses.d.ts.map +0 -1
  438. package/dist/types/constants/index.d.ts +0 -31
  439. package/dist/types/constants/index.d.ts.map +0 -1
  440. package/dist/types/constants/limits.d.ts +0 -149
  441. package/dist/types/constants/limits.d.ts.map +0 -1
  442. package/dist/types/constants/network.d.ts +0 -81
  443. package/dist/types/constants/network.d.ts.map +0 -1
  444. package/dist/types/constants/payments.d.ts +0 -121
  445. package/dist/types/constants/payments.d.ts.map +0 -1
  446. package/dist/types/constants/programs.d.ts +0 -69
  447. package/dist/types/constants/programs.d.ts.map +0 -1
  448. package/dist/types/constants/seeds.d.ts +0 -80
  449. package/dist/types/constants/seeds.d.ts.map +0 -1
  450. package/dist/types/core/client.d.ts +0 -452
  451. package/dist/types/core/client.d.ts.map +0 -1
  452. package/dist/types/core/connection.d.ts +0 -305
  453. package/dist/types/core/connection.d.ts.map +0 -1
  454. package/dist/types/core/index.d.ts +0 -20
  455. package/dist/types/core/index.d.ts.map +0 -1
  456. package/dist/types/errors/index.d.ts +0 -276
  457. package/dist/types/errors/index.d.ts.map +0 -1
  458. package/dist/types/events/geyser.d.ts +0 -150
  459. package/dist/types/events/geyser.d.ts.map +0 -1
  460. package/dist/types/events/index.d.ts +0 -248
  461. package/dist/types/events/index.d.ts.map +0 -1
  462. package/dist/types/idl/index.d.ts +0 -70
  463. package/dist/types/idl/index.d.ts.map +0 -1
  464. package/dist/types/index.d.ts +0 -85
  465. package/dist/types/index.d.ts.map +0 -1
  466. package/dist/types/modules/agent.d.ts +0 -166
  467. package/dist/types/modules/agent.d.ts.map +0 -1
  468. package/dist/types/modules/attestation.d.ts +0 -96
  469. package/dist/types/modules/attestation.d.ts.map +0 -1
  470. package/dist/types/modules/base.d.ts +0 -161
  471. package/dist/types/modules/base.d.ts.map +0 -1
  472. package/dist/types/modules/escrow-v2.d.ts +0 -169
  473. package/dist/types/modules/escrow-v2.d.ts.map +0 -1
  474. package/dist/types/modules/escrow.d.ts +0 -168
  475. package/dist/types/modules/escrow.d.ts.map +0 -1
  476. package/dist/types/modules/feedback.d.ts +0 -105
  477. package/dist/types/modules/feedback.d.ts.map +0 -1
  478. package/dist/types/modules/index.d.ts +0 -28
  479. package/dist/types/modules/index.d.ts.map +0 -1
  480. package/dist/types/modules/indexing.d.ts +0 -200
  481. package/dist/types/modules/indexing.d.ts.map +0 -1
  482. package/dist/types/modules/ledger.d.ts +0 -150
  483. package/dist/types/modules/ledger.d.ts.map +0 -1
  484. package/dist/types/modules/receipt.d.ts +0 -77
  485. package/dist/types/modules/receipt.d.ts.map +0 -1
  486. package/dist/types/modules/staking.d.ts +0 -51
  487. package/dist/types/modules/staking.d.ts.map +0 -1
  488. package/dist/types/modules/subscription.d.ts +0 -33
  489. package/dist/types/modules/subscription.d.ts.map +0 -1
  490. package/dist/types/modules/tools.d.ts +0 -182
  491. package/dist/types/modules/tools.d.ts.map +0 -1
  492. package/dist/types/modules/vault.d.ts +0 -240
  493. package/dist/types/modules/vault.d.ts.map +0 -1
  494. package/dist/types/parser/client.d.ts +0 -123
  495. package/dist/types/parser/client.d.ts.map +0 -1
  496. package/dist/types/parser/complete.d.ts +0 -90
  497. package/dist/types/parser/complete.d.ts.map +0 -1
  498. package/dist/types/parser/index.d.ts +0 -40
  499. package/dist/types/parser/index.d.ts.map +0 -1
  500. package/dist/types/parser/inner.d.ts +0 -114
  501. package/dist/types/parser/inner.d.ts.map +0 -1
  502. package/dist/types/parser/instructions.d.ts +0 -76
  503. package/dist/types/parser/instructions.d.ts.map +0 -1
  504. package/dist/types/parser/transaction.d.ts +0 -77
  505. package/dist/types/parser/transaction.d.ts.map +0 -1
  506. package/dist/types/parser/types.d.ts +0 -154
  507. package/dist/types/parser/types.d.ts.map +0 -1
  508. package/dist/types/pda/index.d.ts +0 -510
  509. package/dist/types/pda/index.d.ts.map +0 -1
  510. package/dist/types/plugin/index.d.ts +0 -171
  511. package/dist/types/plugin/index.d.ts.map +0 -1
  512. package/dist/types/plugin/protocols.d.ts +0 -152
  513. package/dist/types/plugin/protocols.d.ts.map +0 -1
  514. package/dist/types/plugin/schemas.d.ts +0 -829
  515. package/dist/types/plugin/schemas.d.ts.map +0 -1
  516. package/dist/types/postgres/adapter.d.ts +0 -355
  517. package/dist/types/postgres/adapter.d.ts.map +0 -1
  518. package/dist/types/postgres/index.d.ts +0 -24
  519. package/dist/types/postgres/index.d.ts.map +0 -1
  520. package/dist/types/postgres/serializers.d.ts +0 -30
  521. package/dist/types/postgres/serializers.d.ts.map +0 -1
  522. package/dist/types/postgres/sync.d.ts +0 -156
  523. package/dist/types/postgres/sync.d.ts.map +0 -1
  524. package/dist/types/postgres/types.d.ts +0 -167
  525. package/dist/types/postgres/types.d.ts.map +0 -1
  526. package/dist/types/registries/builder.d.ts +0 -340
  527. package/dist/types/registries/builder.d.ts.map +0 -1
  528. package/dist/types/registries/discovery.d.ts +0 -333
  529. package/dist/types/registries/discovery.d.ts.map +0 -1
  530. package/dist/types/registries/fairscale.d.ts +0 -680
  531. package/dist/types/registries/fairscale.d.ts.map +0 -1
  532. package/dist/types/registries/index.d.ts +0 -52
  533. package/dist/types/registries/index.d.ts.map +0 -1
  534. package/dist/types/registries/metaplex-bridge.d.ts +0 -488
  535. package/dist/types/registries/metaplex-bridge.d.ts.map +0 -1
  536. package/dist/types/registries/session.d.ts +0 -323
  537. package/dist/types/registries/session.d.ts.map +0 -1
  538. package/dist/types/registries/x402.d.ts +0 -530
  539. package/dist/types/registries/x402.d.ts.map +0 -1
  540. package/dist/types/types/accounts.d.ts +0 -765
  541. package/dist/types/types/accounts.d.ts.map +0 -1
  542. package/dist/types/types/common.d.ts +0 -166
  543. package/dist/types/types/common.d.ts.map +0 -1
  544. package/dist/types/types/endpoint.d.ts +0 -161
  545. package/dist/types/types/endpoint.d.ts.map +0 -1
  546. package/dist/types/types/enums.d.ts +0 -353
  547. package/dist/types/types/enums.d.ts.map +0 -1
  548. package/dist/types/types/index.d.ts +0 -29
  549. package/dist/types/types/index.d.ts.map +0 -1
  550. package/dist/types/types/instructions.d.ts +0 -400
  551. package/dist/types/types/instructions.d.ts.map +0 -1
  552. package/dist/types/utils/anchor-errors.d.ts +0 -61
  553. package/dist/types/utils/anchor-errors.d.ts.map +0 -1
  554. package/dist/types/utils/endpoint-validator.d.ts +0 -110
  555. package/dist/types/utils/endpoint-validator.d.ts.map +0 -1
  556. package/dist/types/utils/escrow-validation.d.ts +0 -145
  557. package/dist/types/utils/escrow-validation.d.ts.map +0 -1
  558. package/dist/types/utils/hash.d.ts +0 -75
  559. package/dist/types/utils/hash.d.ts.map +0 -1
  560. package/dist/types/utils/index.d.ts +0 -36
  561. package/dist/types/utils/index.d.ts.map +0 -1
  562. package/dist/types/utils/merchant-validator.d.ts +0 -176
  563. package/dist/types/utils/merchant-validator.d.ts.map +0 -1
  564. package/dist/types/utils/network-normalizer.d.ts +0 -120
  565. package/dist/types/utils/network-normalizer.d.ts.map +0 -1
  566. package/dist/types/utils/priority-fee.d.ts +0 -205
  567. package/dist/types/utils/priority-fee.d.ts.map +0 -1
  568. package/dist/types/utils/rpc-strategy.d.ts +0 -172
  569. package/dist/types/utils/rpc-strategy.d.ts.map +0 -1
  570. package/dist/types/utils/schemas.d.ts +0 -351
  571. package/dist/types/utils/schemas.d.ts.map +0 -1
  572. package/dist/types/utils/serialization.d.ts +0 -69
  573. package/dist/types/utils/serialization.d.ts.map +0 -1
  574. package/dist/types/utils/validation.d.ts +0 -29
  575. package/dist/types/utils/validation.d.ts.map +0 -1
  576. package/dist/types/utils/volume-curve.d.ts +0 -60
  577. package/dist/types/utils/volume-curve.d.ts.map +0 -1
  578. package/dist/types/utils/x402-direct.d.ts +0 -114
  579. package/dist/types/utils/x402-direct.d.ts.map +0 -1
  580. package/src/constants/addresses.ts +0 -162
  581. package/src/constants/index.ts +0 -69
  582. package/src/constants/limits.ts +0 -165
  583. package/src/constants/network.ts +0 -89
  584. package/src/constants/payments.ts +0 -145
  585. package/src/constants/programs.ts +0 -83
  586. package/src/constants/seeds.ts +0 -85
  587. package/src/core/client.ts +0 -583
  588. package/src/core/connection.ts +0 -461
  589. package/src/core/index.ts +0 -20
  590. package/src/errors/index.ts +0 -346
  591. package/src/events/geyser.ts +0 -384
  592. package/src/events/index.ts +0 -335
  593. package/src/events/yellowstone.d.ts +0 -7
  594. package/src/idl/index.ts +0 -76
  595. package/src/idl/synapse_agent_sap.json +0 -14595
  596. package/src/index.ts +0 -421
  597. package/src/modules/agent.ts +0 -319
  598. package/src/modules/attestation.ts +0 -168
  599. package/src/modules/base.ts +0 -247
  600. package/src/modules/escrow-v2.ts +0 -871
  601. package/src/modules/escrow.ts +0 -439
  602. package/src/modules/feedback.ts +0 -186
  603. package/src/modules/index.ts +0 -28
  604. package/src/modules/indexing.ts +0 -444
  605. package/src/modules/ledger.ts +0 -262
  606. package/src/modules/receipt.ts +0 -212
  607. package/src/modules/staking.ts +0 -223
  608. package/src/modules/subscription.ts +0 -147
  609. package/src/modules/tools.ts +0 -454
  610. package/src/modules/vault.ts +0 -558
  611. package/src/parser/client.ts +0 -211
  612. package/src/parser/complete.ts +0 -232
  613. package/src/parser/index.ts +0 -71
  614. package/src/parser/inner.ts +0 -255
  615. package/src/parser/instructions.ts +0 -135
  616. package/src/parser/transaction.ts +0 -200
  617. package/src/parser/types.ts +0 -182
  618. package/src/pda/index.ts +0 -919
  619. package/src/plugin/index.ts +0 -1224
  620. package/src/plugin/protocols.ts +0 -404
  621. package/src/plugin/schemas.ts +0 -941
  622. package/src/postgres/adapter.ts +0 -904
  623. package/src/postgres/index.ts +0 -59
  624. package/src/postgres/schema.sql +0 -683
  625. package/src/postgres/serializers.ts +0 -485
  626. package/src/postgres/sync.ts +0 -340
  627. package/src/postgres/types.ts +0 -245
  628. package/src/registries/builder.ts +0 -607
  629. package/src/registries/discovery.ts +0 -572
  630. package/src/registries/fairscale.ts +0 -1278
  631. package/src/registries/index.ts +0 -143
  632. package/src/registries/metaplex-bridge.ts +0 -1199
  633. package/src/registries/session.ts +0 -613
  634. package/src/registries/x402.ts +0 -1048
  635. package/src/types/accounts.ts +0 -858
  636. package/src/types/common.ts +0 -187
  637. package/src/types/endpoint.ts +0 -181
  638. package/src/types/enums.ts +0 -333
  639. package/src/types/index.ts +0 -121
  640. package/src/types/instructions.ts +0 -453
  641. package/src/utils/anchor-errors.ts +0 -461
  642. package/src/utils/endpoint-validator.ts +0 -300
  643. package/src/utils/escrow-validation.ts +0 -301
  644. package/src/utils/hash.ts +0 -113
  645. package/src/utils/index.ts +0 -118
  646. package/src/utils/merchant-validator.ts +0 -359
  647. package/src/utils/network-normalizer.ts +0 -240
  648. package/src/utils/priority-fee.ts +0 -325
  649. package/src/utils/rpc-strategy.ts +0 -322
  650. package/src/utils/schemas.ts +0 -359
  651. package/src/utils/serialization.ts +0 -98
  652. package/src/utils/validation.ts +0 -36
  653. package/src/utils/volume-curve.ts +0 -131
  654. package/src/utils/x402-direct.ts +0 -370
package/src/pda/index.ts DELETED
@@ -1,919 +0,0 @@
1
- /**
2
- * @module pda
3
- * @description Deterministic PDA derivation for every SAP v2 account.
4
- *
5
- * Each function returns `[PublicKey, bump]` and is pure — no network
6
- * calls. All results are memoizable by the caller.
7
- *
8
- * Seeds mirror the Rust `#[account(seeds = [...])]` definitions exactly.
9
- *
10
- * @category PDA
11
- * @since v0.1.0
12
- *
13
- * @example
14
- * ```ts
15
- * import { deriveAgent, deriveEscrow } from "@synapse-sap/sdk/pda";
16
- *
17
- * const [agentPda, bump] = deriveAgent(walletPublicKey);
18
- * const [escrowPda] = deriveEscrow(agentPda, depositor);
19
- * ```
20
- */
21
-
22
- import { PublicKey } from "@solana/web3.js";
23
- import { SAP_PROGRAM_ID, SEEDS } from "../constants";
24
-
25
- /**
26
- * Tuple returned by all PDA derivation functions.
27
- *
28
- * @name PdaResult
29
- * @description A readonly tuple of `[pda, bump]` where `pda` is the derived
30
- * `PublicKey` and `bump` is the canonical bump seed (`u8`).
31
- * @category PDA
32
- * @since v0.1.0
33
- */
34
- type PdaResult = readonly [pda: PublicKey, bump: number];
35
-
36
- // ── Helpers ──────────────────────────────────────────────────────
37
-
38
- /**
39
- * Thin wrapper around `PublicKey.findProgramAddressSync`.
40
- *
41
- * @name findPda
42
- * @description Derives a PDA from the given seed buffers and program ID.
43
- * @param seeds - Array of seed `Buffer`s / `Uint8Array`s.
44
- * @param programId - The program to derive against (defaults to {@link SAP_PROGRAM_ID}).
45
- * @returns {PdaResult} The derived `[pda, bump]` tuple.
46
- * @category PDA
47
- * @since v0.1.0
48
- */
49
- const findPda = (
50
- seeds: Array<Buffer | Uint8Array>,
51
- programId: PublicKey = SAP_PROGRAM_ID,
52
- ): PdaResult => PublicKey.findProgramAddressSync(seeds, programId);
53
-
54
- /**
55
- * Encode a seed string as a UTF-8 `Buffer`.
56
- *
57
- * @name toSeedBuf
58
- * @description Converts a string seed prefix to a `Buffer` suitable for PDA derivation.
59
- * @param s - The seed string to encode.
60
- * @returns {Buffer} UTF-8 encoded buffer.
61
- * @category PDA
62
- * @since v0.1.0
63
- */
64
- const toSeedBuf = (s: string): Buffer => Buffer.from(s);
65
-
66
- /**
67
- * Encode an unsigned 32-bit integer as a little-endian `Buffer`.
68
- *
69
- * @name u32le
70
- * @description Produces a 4-byte LE buffer for numeric PDA seed segments (e.g., epoch index, page index).
71
- * @param n - The number to encode.
72
- * @returns {Buffer} 4-byte little-endian buffer.
73
- * @category PDA
74
- * @since v0.1.0
75
- */
76
- const u32le = (n: number): Buffer => {
77
- const buf = Buffer.alloc(4);
78
- buf.writeUInt32LE(n, 0);
79
- return buf;
80
- };
81
-
82
- /**
83
- * Encode an unsigned 64-bit integer as a little-endian `Buffer`.
84
- *
85
- * @name u64le
86
- * @description Produces an 8-byte LE buffer for u64 PDA seed segments (e.g., escrow nonce, sub_id).
87
- * @param n - The number or bigint to encode.
88
- * @returns {Buffer} 8-byte little-endian buffer.
89
- * @category PDA
90
- * @since v0.5.0
91
- */
92
- const u64le = (n: number | bigint): Buffer => {
93
- const buf = Buffer.alloc(8);
94
- buf.writeBigUInt64LE(BigInt(n), 0);
95
- return buf;
96
- };
97
-
98
- // ═════════════════════════════════════════════
99
- // Core PDAs
100
- // ═════════════════════════════════════════════
101
-
102
- /**
103
- * Derive the **GlobalRegistry** PDA.
104
- *
105
- * Seeds: `["sap_global"]`
106
- *
107
- * @name deriveGlobalRegistry
108
- * @description Returns the singleton global registry address used by the SAP program.
109
- * @param programId - Override program ID (defaults to {@link SAP_PROGRAM_ID}).
110
- * @returns {PdaResult} `[pda, bump]` tuple.
111
- * @category PDA
112
- * @since v0.1.0
113
- * @see GlobalRegistry account type
114
- */
115
- export const deriveGlobalRegistry = (
116
- programId = SAP_PROGRAM_ID,
117
- ): PdaResult =>
118
- findPda([toSeedBuf(SEEDS.GLOBAL)], programId);
119
-
120
- /**
121
- * Derive the **AgentAccount** PDA for a given wallet.
122
- *
123
- * Seeds: `["sap_agent", wallet]`
124
- *
125
- * @name deriveAgent
126
- * @description Computes the unique agent PDA owned by `wallet`.
127
- * @param wallet - The agent owner’s wallet `PublicKey`.
128
- * @param programId - Override program ID (defaults to {@link SAP_PROGRAM_ID}).
129
- * @returns {PdaResult} `[pda, bump]` tuple.
130
- * @category PDA
131
- * @since v0.1.0
132
- * @see AgentAccount
133
- */
134
- export const deriveAgent = (
135
- wallet: PublicKey,
136
- programId = SAP_PROGRAM_ID,
137
- ): PdaResult =>
138
- findPda([toSeedBuf(SEEDS.AGENT), wallet.toBuffer()], programId);
139
-
140
- /**
141
- * Derive the **AgentStats** PDA for a given agent.
142
- *
143
- * Seeds: `["sap_stats", agent_pda]`
144
- *
145
- * @name deriveAgentStats
146
- * @description Computes the stats account PDA associated with an agent.
147
- * @param agentPda - The agent’s on-chain PDA.
148
- * @param programId - Override program ID (defaults to {@link SAP_PROGRAM_ID}).
149
- * @returns {PdaResult} `[pda, bump]` tuple.
150
- * @category PDA
151
- * @since v0.1.0
152
- * @see AgentStats
153
- */
154
- export const deriveAgentStats = (
155
- agentPda: PublicKey,
156
- programId = SAP_PROGRAM_ID,
157
- ): PdaResult =>
158
- findPda([toSeedBuf(SEEDS.STATS), agentPda.toBuffer()], programId);
159
-
160
- // ═════════════════════════════════════════════
161
- // Feedback
162
- // ═════════════════════════════════════════════
163
-
164
- /**
165
- * Derive the **Feedback** PDA for a reviewer on a specific agent.
166
- *
167
- * Seeds: `["sap_feedback", agent_pda, reviewer_wallet]`
168
- *
169
- * @name deriveFeedback
170
- * @description Computes the feedback account PDA scoped to a reviewer–agent pair.
171
- * @param agentPda - The target agent’s PDA.
172
- * @param reviewer - The reviewer’s wallet `PublicKey`.
173
- * @param programId - Override program ID (defaults to {@link SAP_PROGRAM_ID}).
174
- * @returns {PdaResult} `[pda, bump]` tuple.
175
- * @category PDA
176
- * @since v0.1.0
177
- * @see FeedbackAccount
178
- */
179
- export const deriveFeedback = (
180
- agentPda: PublicKey,
181
- reviewer: PublicKey,
182
- programId = SAP_PROGRAM_ID,
183
- ): PdaResult =>
184
- findPda(
185
- [toSeedBuf(SEEDS.FEEDBACK), agentPda.toBuffer(), reviewer.toBuffer()],
186
- programId,
187
- );
188
-
189
- // ═════════════════════════════════════════════
190
- // Indexing
191
- // ═════════════════════════════════════════════
192
-
193
- /**
194
- * Derive the **CapabilityIndex** PDA for a hashed capability string.
195
- *
196
- * Seeds: `["sap_cap_idx", capability_hash]`
197
- *
198
- * @name deriveCapabilityIndex
199
- * @description Computes the capability index PDA used to look up agents by capability.
200
- * @param capabilityHash - SHA-256 hash of the capability string (32 bytes).
201
- * @param programId - Override program ID (defaults to {@link SAP_PROGRAM_ID}).
202
- * @returns {PdaResult} `[pda, bump]` tuple.
203
- * @category PDA
204
- * @since v0.1.0
205
- * @see CapabilityIndex
206
- */
207
- export const deriveCapabilityIndex = (
208
- capabilityHash: Uint8Array,
209
- programId = SAP_PROGRAM_ID,
210
- ): PdaResult =>
211
- findPda(
212
- [toSeedBuf(SEEDS.CAPABILITY_INDEX), Buffer.from(capabilityHash)],
213
- programId,
214
- );
215
-
216
- /**
217
- * Derive the **ProtocolIndex** PDA for a hashed protocol string.
218
- *
219
- * Seeds: `["sap_proto_idx", protocol_hash]`
220
- *
221
- * @name deriveProtocolIndex
222
- * @description Computes the protocol index PDA used to look up agents by protocol.
223
- * @param protocolHash - SHA-256 hash of the protocol string (32 bytes).
224
- * @param programId - Override program ID (defaults to {@link SAP_PROGRAM_ID}).
225
- * @returns {PdaResult} `[pda, bump]` tuple.
226
- * @category PDA
227
- * @since v0.1.0
228
- * @see ProtocolIndex
229
- */
230
- export const deriveProtocolIndex = (
231
- protocolHash: Uint8Array,
232
- programId = SAP_PROGRAM_ID,
233
- ): PdaResult =>
234
- findPda(
235
- [toSeedBuf(SEEDS.PROTOCOL_INDEX), Buffer.from(protocolHash)],
236
- programId,
237
- );
238
-
239
- /**
240
- * Derive the **ToolCategoryIndex** PDA for a tool category discriminant.
241
- *
242
- * Seeds: `["sap_tool_cat", category_u8]`
243
- *
244
- * @name deriveToolCategoryIndex
245
- * @description Computes the tool category index PDA used to look up tools by category.
246
- * @param category - The `u8` category discriminant (see {@link TOOL_CATEGORY_VALUES}).
247
- * @param programId - Override program ID (defaults to {@link SAP_PROGRAM_ID}).
248
- * @returns {PdaResult} `[pda, bump]` tuple.
249
- * @category PDA
250
- * @since v0.1.0
251
- * @see ToolCategoryIndex
252
- */
253
- export const deriveToolCategoryIndex = (
254
- category: number,
255
- programId = SAP_PROGRAM_ID,
256
- ): PdaResult =>
257
- findPda(
258
- [toSeedBuf(SEEDS.TOOL_CATEGORY), Buffer.from([category])],
259
- programId,
260
- );
261
-
262
- // ═════════════════════════════════════════════
263
- // Memory Vault
264
- // ═════════════════════════════════════════════
265
-
266
- /**
267
- * Derive the **MemoryVault** PDA for a given agent.
268
- *
269
- * Seeds: `["sap_vault", agent_pda]`
270
- *
271
- * @name deriveVault
272
- * @description Computes the memory vault PDA owned by the specified agent.
273
- * @param agentPda - The agent’s on-chain PDA.
274
- * @param programId - Override program ID (defaults to {@link SAP_PROGRAM_ID}).
275
- * @returns {PdaResult} `[pda, bump]` tuple.
276
- * @category PDA
277
- * @since v0.1.0
278
- * @see MemoryVault
279
- */
280
- export const deriveVault = (
281
- agentPda: PublicKey,
282
- programId = SAP_PROGRAM_ID,
283
- ): PdaResult =>
284
- findPda([toSeedBuf(SEEDS.VAULT), agentPda.toBuffer()], programId);
285
-
286
- /**
287
- * Derive the **Session** PDA for a vault and session hash.
288
- *
289
- * Seeds: `["sap_session", vault_pda, session_hash]`
290
- *
291
- * @name deriveSession
292
- * @description Computes the session PDA scoped to a vault and unique session identifier.
293
- * @param vaultPda - The parent vault’s PDA.
294
- * @param sessionHash - SHA-256 hash identifying the session (32 bytes).
295
- * @param programId - Override program ID (defaults to {@link SAP_PROGRAM_ID}).
296
- * @returns {PdaResult} `[pda, bump]` tuple.
297
- * @category PDA
298
- * @since v0.1.0
299
- * @see SessionAccount
300
- */
301
- export const deriveSession = (
302
- vaultPda: PublicKey,
303
- sessionHash: Uint8Array,
304
- programId = SAP_PROGRAM_ID,
305
- ): PdaResult =>
306
- findPda(
307
- [
308
- toSeedBuf(SEEDS.SESSION),
309
- vaultPda.toBuffer(),
310
- Buffer.from(sessionHash),
311
- ],
312
- programId,
313
- );
314
-
315
- /**
316
- * Derive the **EpochPage** PDA for a session at a given epoch index.
317
- *
318
- * Seeds: `["sap_epoch", session_pda, epoch_index_u32_le]`
319
- *
320
- * @name deriveEpochPage
321
- * @description Computes the epoch page PDA for paginated memory inscriptions.
322
- * @param sessionPda - The parent session’s PDA.
323
- * @param epochIndex - Zero-based epoch page index.
324
- * @param programId - Override program ID (defaults to {@link SAP_PROGRAM_ID}).
325
- * @returns {PdaResult} `[pda, bump]` tuple.
326
- * @category PDA
327
- * @since v0.1.0
328
- * @see EpochPage
329
- */
330
- export const deriveEpochPage = (
331
- sessionPda: PublicKey,
332
- epochIndex: number,
333
- programId = SAP_PROGRAM_ID,
334
- ): PdaResult =>
335
- findPda(
336
- [toSeedBuf(SEEDS.EPOCH), sessionPda.toBuffer(), u32le(epochIndex)],
337
- programId,
338
- );
339
-
340
- /**
341
- * Derive the **VaultDelegate** PDA for a delegate on a vault.
342
- *
343
- * Seeds: `["sap_delegate", vault_pda, delegate_pubkey]`
344
- *
345
- * @name deriveVaultDelegate
346
- * @description Computes the delegate authorization PDA granting a wallet write access to a vault.
347
- * @param vaultPda - The parent vault’s PDA.
348
- * @param delegate - The delegate’s wallet `PublicKey`.
349
- * @param programId - Override program ID (defaults to {@link SAP_PROGRAM_ID}).
350
- * @returns {PdaResult} `[pda, bump]` tuple.
351
- * @category PDA
352
- * @since v0.1.0
353
- * @see VaultDelegate
354
- */
355
- export const deriveVaultDelegate = (
356
- vaultPda: PublicKey,
357
- delegate: PublicKey,
358
- programId = SAP_PROGRAM_ID,
359
- ): PdaResult =>
360
- findPda(
361
- [toSeedBuf(SEEDS.DELEGATE), vaultPda.toBuffer(), delegate.toBuffer()],
362
- programId,
363
- );
364
-
365
- /**
366
- * Derive the **Checkpoint** PDA for a session at a given checkpoint index.
367
- *
368
- * Seeds: `["sap_checkpoint", session_pda, checkpoint_index_u32_le]`
369
- *
370
- * @name deriveCheckpoint
371
- * @description Computes the checkpoint PDA storing a Merkle snapshot of session state.
372
- * @param sessionPda - The parent session’s PDA.
373
- * @param checkpointIndex - Zero-based checkpoint index.
374
- * @param programId - Override program ID (defaults to {@link SAP_PROGRAM_ID}).
375
- * @returns {PdaResult} `[pda, bump]` tuple.
376
- * @category PDA
377
- * @since v0.1.0
378
- * @see Checkpoint
379
- */
380
- export const deriveCheckpoint = (
381
- sessionPda: PublicKey,
382
- checkpointIndex: number,
383
- programId = SAP_PROGRAM_ID,
384
- ): PdaResult =>
385
- findPda(
386
- [
387
- toSeedBuf(SEEDS.CHECKPOINT),
388
- sessionPda.toBuffer(),
389
- u32le(checkpointIndex),
390
- ],
391
- programId,
392
- );
393
-
394
- // ═════════════════════════════════════════════
395
- // Tools
396
- // ═════════════════════════════════════════════
397
-
398
- /**
399
- * Derive the **Tool** PDA for an agent and tool name hash.
400
- *
401
- * Seeds: `["sap_tool", agent_pda, tool_name_hash]`
402
- *
403
- * @name deriveTool
404
- * @description Computes the tool registration PDA scoped to an agent and tool identifier.
405
- * @param agentPda - The owning agent’s PDA.
406
- * @param toolNameHash - SHA-256 hash of the tool name (32 bytes).
407
- * @param programId - Override program ID (defaults to {@link SAP_PROGRAM_ID}).
408
- * @returns {PdaResult} `[pda, bump]` tuple.
409
- * @category PDA
410
- * @since v0.1.0
411
- * @see ToolAccount
412
- */
413
- export const deriveTool = (
414
- agentPda: PublicKey,
415
- toolNameHash: Uint8Array,
416
- programId = SAP_PROGRAM_ID,
417
- ): PdaResult =>
418
- findPda(
419
- [toSeedBuf(SEEDS.TOOL), agentPda.toBuffer(), Buffer.from(toolNameHash)],
420
- programId,
421
- );
422
-
423
- // ═════════════════════════════════════════════
424
- // Escrow
425
- // ═════════════════════════════════════════════
426
-
427
- /**
428
- * Derive the **Escrow** PDA for an agent–depositor pair.
429
- *
430
- * Seeds: `["sap_escrow", agent_pda, depositor_wallet]`
431
- *
432
- * @name deriveEscrow
433
- * @description Computes the escrow PDA holding deposited funds for service payments.
434
- * @param agentPda - The service-providing agent’s PDA.
435
- * @param depositor - The depositor’s wallet `PublicKey`.
436
- * @param programId - Override program ID (defaults to {@link SAP_PROGRAM_ID}).
437
- * @returns {PdaResult} `[pda, bump]` tuple.
438
- * @category PDA
439
- * @since v0.1.0
440
- * @deprecated Since v0.7.0 — Use {@link deriveEscrowV2} for V2 escrows with nonce support.
441
- * @see EscrowAccount
442
- */
443
- export const deriveEscrow = (
444
- agentPda: PublicKey,
445
- depositor: PublicKey,
446
- programId = SAP_PROGRAM_ID,
447
- ): PdaResult =>
448
- findPda(
449
- [toSeedBuf(SEEDS.ESCROW), agentPda.toBuffer(), depositor.toBuffer()],
450
- programId,
451
- );
452
-
453
- // ═════════════════════════════════════════════
454
- // Attestation
455
- // ═════════════════════════════════════════════
456
-
457
- /**
458
- * Derive the **Attestation** PDA for an attester on a specific agent.
459
- *
460
- * Seeds: `["sap_attest", agent_pda, attester_wallet]`
461
- *
462
- * @name deriveAttestation
463
- * @description Computes the attestation PDA recording a third-party’s trust assertion.
464
- * @param agentPda - The attested agent’s PDA.
465
- * @param attester - The attester’s wallet `PublicKey`.
466
- * @param programId - Override program ID (defaults to {@link SAP_PROGRAM_ID}).
467
- * @returns {PdaResult} `[pda, bump]` tuple.
468
- * @category PDA
469
- * @since v0.1.0
470
- * @see AttestationAccount
471
- */
472
- export const deriveAttestation = (
473
- agentPda: PublicKey,
474
- attester: PublicKey,
475
- programId = SAP_PROGRAM_ID,
476
- ): PdaResult =>
477
- findPda(
478
- [toSeedBuf(SEEDS.ATTESTATION), agentPda.toBuffer(), attester.toBuffer()],
479
- programId,
480
- );
481
-
482
- // ═════════════════════════════════════════════
483
- // Memory Ledger
484
- // ═════════════════════════════════════════════
485
-
486
- /**
487
- * Derive the **MemoryLedger** PDA for a session.
488
- *
489
- * Seeds: `["sap_ledger", session_pda]`
490
- *
491
- * @name deriveLedger
492
- * @description Computes the ledger PDA that tracks append-only entries for a session.
493
- * @param sessionPda - The parent session’s PDA.
494
- * @param programId - Override program ID (defaults to {@link SAP_PROGRAM_ID}).
495
- * @returns {PdaResult} `[pda, bump]` tuple.
496
- * @category PDA
497
- * @since v0.1.0
498
- * @see MemoryLedger
499
- */
500
- export const deriveLedger = (
501
- sessionPda: PublicKey,
502
- programId = SAP_PROGRAM_ID,
503
- ): PdaResult =>
504
- findPda([toSeedBuf(SEEDS.LEDGER), sessionPda.toBuffer()], programId);
505
-
506
- /**
507
- * Derive the **LedgerPage** PDA for a ledger at a given page index.
508
- *
509
- * Seeds: `["sap_page", ledger_pda, page_index_u32_le]`
510
- *
511
- * @name deriveLedgerPage
512
- * @description Computes the ledger page PDA for paginated ledger data storage.
513
- * @param ledgerPda - The parent ledger’s PDA.
514
- * @param pageIndex - Zero-based page index.
515
- * @param programId - Override program ID (defaults to {@link SAP_PROGRAM_ID}).
516
- * @returns {PdaResult} `[pda, bump]` tuple.
517
- * @category PDA
518
- * @since v0.1.0
519
- * @see LedgerPage
520
- */
521
- export const deriveLedgerPage = (
522
- ledgerPda: PublicKey,
523
- pageIndex: number,
524
- programId = SAP_PROGRAM_ID,
525
- ): PdaResult =>
526
- findPda(
527
- [toSeedBuf(SEEDS.LEDGER_PAGE), ledgerPda.toBuffer(), u32le(pageIndex)],
528
- programId,
529
- );
530
-
531
- // ═════════════════════════════════════════════
532
- // Memory Buffer (legacy)
533
- // ═════════════════════════════════════════════
534
-
535
- /**
536
- * Derive the **MemoryBuffer** PDA for a session at a given page index.
537
- *
538
- * Seeds: `["sap_buffer", session_pda, page_index_u32_le]`
539
- *
540
- * @name deriveBuffer
541
- * @description Computes the buffer page PDA for chunked memory writes within a session.
542
- * @param sessionPda - The parent session's PDA.
543
- * @param pageIndex - Zero-based page index.
544
- * @param programId - Override program ID (defaults to {@link SAP_PROGRAM_ID}).
545
- * @returns {PdaResult} `[pda, bump]` tuple.
546
- * @category PDA
547
- * @since v0.3.1
548
- * @see MemoryBuffer
549
- */
550
- export const deriveBuffer = (
551
- sessionPda: PublicKey,
552
- pageIndex: number,
553
- programId = SAP_PROGRAM_ID,
554
- ): PdaResult =>
555
- findPda(
556
- [toSeedBuf(SEEDS.BUFFER), sessionPda.toBuffer(), u32le(pageIndex)],
557
- programId,
558
- );
559
-
560
- // ═════════════════════════════════════════════
561
- // Session Digest
562
- // ═════════════════════════════════════════════
563
-
564
- /**
565
- * Derive the **SessionDigest** PDA for a session.
566
- *
567
- * Seeds: `["sap_digest", session_pda]`
568
- *
569
- * @name deriveDigest
570
- * @description Computes the digest PDA that stores a compact hash summary of a session.
571
- * @param sessionPda - The parent session's PDA.
572
- * @param programId - Override program ID (defaults to {@link SAP_PROGRAM_ID}).
573
- * @returns {PdaResult} `[pda, bump]` tuple.
574
- * @category PDA
575
- * @since v0.3.1
576
- * @see SessionDigest
577
- */
578
- export const deriveDigest = (
579
- sessionPda: PublicKey,
580
- programId = SAP_PROGRAM_ID,
581
- ): PdaResult =>
582
- findPda([toSeedBuf(SEEDS.DIGEST), sessionPda.toBuffer()], programId);
583
-
584
- // ═════════════════════════════════════════════
585
- // Plugin
586
- // ═════════════════════════════════════════════
587
-
588
- /**
589
- * Derive the **PluginConfig** PDA for an agent and plugin type.
590
- *
591
- * Seeds: `["sap_plugin", agent_pda, plugin_type_u8]`
592
- *
593
- * @name derivePlugin
594
- * @description Computes the plugin configuration PDA scoped to an agent and plugin type.
595
- * @param agentPda - The owning agent's PDA.
596
- * @param pluginType - The `u8` plugin type discriminant.
597
- * @param programId - Override program ID (defaults to {@link SAP_PROGRAM_ID}).
598
- * @returns {PdaResult} `[pda, bump]` tuple.
599
- * @category PDA
600
- * @since v0.3.1
601
- * @see PluginConfig
602
- */
603
- export const derivePlugin = (
604
- agentPda: PublicKey,
605
- pluginType: number,
606
- programId = SAP_PROGRAM_ID,
607
- ): PdaResult =>
608
- findPda(
609
- [toSeedBuf(SEEDS.PLUGIN), agentPda.toBuffer(), Buffer.from([pluginType])],
610
- programId,
611
- );
612
-
613
- // ═════════════════════════════════════════════
614
- // Legacy Memory (entry + chunk)
615
- // ═════════════════════════════════════════════
616
-
617
- /**
618
- * Derive the **MemoryEntry** PDA for an agent and entry hash.
619
- *
620
- * Seeds: `["sap_memory", agent_pda, entry_hash]`
621
- *
622
- * @name deriveMemoryEntry
623
- * @description Computes the memory entry PDA for legacy key-value memory storage.
624
- * @param agentPda - The owning agent's PDA.
625
- * @param entryHash - SHA-256 hash of the entry key (32 bytes).
626
- * @param programId - Override program ID (defaults to {@link SAP_PROGRAM_ID}).
627
- * @returns {PdaResult} `[pda, bump]` tuple.
628
- * @category PDA
629
- * @since v0.3.1
630
- * @see MemoryEntry
631
- */
632
- export const deriveMemoryEntry = (
633
- agentPda: PublicKey,
634
- entryHash: Uint8Array,
635
- programId = SAP_PROGRAM_ID,
636
- ): PdaResult =>
637
- findPda(
638
- [toSeedBuf(SEEDS.MEMORY), agentPda.toBuffer(), Buffer.from(entryHash)],
639
- programId,
640
- );
641
-
642
- /**
643
- * Derive the **MemoryChunk** PDA for a memory entry at a given chunk index.
644
- *
645
- * Seeds: `["sap_mem_chunk", memory_entry_pda, chunk_index_u8]`
646
- *
647
- * @name deriveMemoryChunk
648
- * @description Computes the chunk PDA for fragmented memory entry data.
649
- * @param memoryEntryPda - The parent memory entry's PDA.
650
- * @param chunkIndex - Zero-based chunk index (0–255).
651
- * @param programId - Override program ID (defaults to {@link SAP_PROGRAM_ID}).
652
- * @returns {PdaResult} `[pda, bump]` tuple.
653
- * @category PDA
654
- * @since v0.3.1
655
- * @see MemoryChunk
656
- */
657
- export const deriveMemoryChunk = (
658
- memoryEntryPda: PublicKey,
659
- chunkIndex: number,
660
- programId = SAP_PROGRAM_ID,
661
- ): PdaResult =>
662
- findPda(
663
- [
664
- toSeedBuf(SEEDS.MEMORY_CHUNK),
665
- memoryEntryPda.toBuffer(),
666
- Buffer.from([chunkIndex]),
667
- ],
668
- programId,
669
- );
670
-
671
- // ═════════════════════════════════════════════
672
- // Escrow V2
673
- // ═════════════════════════════════════════════
674
-
675
- /**
676
- * Derive the **EscrowAccountV2** PDA.
677
- *
678
- * Seeds: `["sap_escrow_v2", agent_pda, depositor_wallet, nonce_u64_le]`
679
- *
680
- * @name deriveEscrowV2
681
- * @description Computes the V2 escrow PDA supporting nonce-based multi-escrow.
682
- * @param agentPda - The agent's PDA.
683
- * @param depositor - The depositor's wallet.
684
- * @param nonce - Escrow nonce (u64) allowing multiple escrows per pair.
685
- * @param programId - Override program ID.
686
- * @returns {PdaResult} `[pda, bump]` tuple.
687
- * @category PDA
688
- * @since v0.5.0
689
- */
690
- export const deriveEscrowV2 = (
691
- agentPda: PublicKey,
692
- depositor: PublicKey,
693
- nonce: number | bigint = 0,
694
- programId = SAP_PROGRAM_ID,
695
- ): PdaResult =>
696
- findPda(
697
- [
698
- toSeedBuf(SEEDS.ESCROW_V2),
699
- agentPda.toBuffer(),
700
- depositor.toBuffer(),
701
- u64le(nonce),
702
- ],
703
- programId,
704
- );
705
-
706
- /**
707
- * Derive the **PendingSettlement** PDA.
708
- *
709
- * Seeds: `["sap_pending", escrow_v2_pda, settlement_index_u64_le]`
710
- *
711
- * @name derivePendingSettlement
712
- * @param escrowV2Pda - The parent V2 escrow PDA.
713
- * @param settlementIndex - The monotonic settlement index (u64).
714
- * @param programId - Override program ID.
715
- * @returns {PdaResult} `[pda, bump]` tuple.
716
- * @category PDA
717
- * @since v0.5.0
718
- */
719
- export const derivePendingSettlement = (
720
- escrowV2Pda: PublicKey,
721
- settlementIndex: number | bigint,
722
- programId = SAP_PROGRAM_ID,
723
- ): PdaResult =>
724
- findPda(
725
- [
726
- toSeedBuf(SEEDS.PENDING),
727
- escrowV2Pda.toBuffer(),
728
- u64le(settlementIndex),
729
- ],
730
- programId,
731
- );
732
-
733
- /**
734
- * Derive the **DisputeRecord** PDA.
735
- *
736
- * Seeds: `["sap_dispute", pending_settlement_pda]`
737
- *
738
- * @name deriveDispute
739
- * @param pendingSettlementPda - The parent pending settlement PDA.
740
- * @param programId - Override program ID.
741
- * @returns {PdaResult} `[pda, bump]` tuple.
742
- * @category PDA
743
- * @since v0.5.0
744
- */
745
- export const deriveDispute = (
746
- pendingSettlementPda: PublicKey,
747
- programId = SAP_PROGRAM_ID,
748
- ): PdaResult =>
749
- findPda(
750
- [toSeedBuf(SEEDS.DISPUTE), pendingSettlementPda.toBuffer()],
751
- programId,
752
- );
753
-
754
- /**
755
- * Derive the **AgentStake** PDA.
756
- *
757
- * Seeds: `["sap_stake", agent_pda]`
758
- *
759
- * @name deriveStake
760
- * @param agentPda - The agent's PDA.
761
- * @param programId - Override program ID.
762
- * @returns {PdaResult} `[pda, bump]` tuple.
763
- * @category PDA
764
- * @since v0.5.0
765
- */
766
- export const deriveStake = (
767
- agentPda: PublicKey,
768
- programId = SAP_PROGRAM_ID,
769
- ): PdaResult =>
770
- findPda([toSeedBuf(SEEDS.STAKE), agentPda.toBuffer()], programId);
771
-
772
- /**
773
- * Derive the **Subscription** PDA.
774
- *
775
- * Seeds: `["sap_sub", agent_pda, subscriber_wallet, sub_id_u64_le]`
776
- *
777
- * @name deriveSubscription
778
- * @param agentPda - The agent's PDA.
779
- * @param subscriber - The subscriber's wallet.
780
- * @param subId - Subscription ID (u64).
781
- * @param programId - Override program ID.
782
- * @returns {PdaResult} `[pda, bump]` tuple.
783
- * @category PDA
784
- * @since v0.5.0
785
- */
786
- export const deriveSubscription = (
787
- agentPda: PublicKey,
788
- subscriber: PublicKey,
789
- subId: number | bigint = 0,
790
- programId = SAP_PROGRAM_ID,
791
- ): PdaResult =>
792
- findPda(
793
- [
794
- toSeedBuf(SEEDS.SUBSCRIPTION),
795
- agentPda.toBuffer(),
796
- subscriber.toBuffer(),
797
- u64le(subId),
798
- ],
799
- programId,
800
- );
801
-
802
- /**
803
- * Derive the **CounterShard** PDA.
804
- *
805
- * Seeds: `["sap_shard", shard_index_u8]`
806
- *
807
- * @name deriveShard
808
- * @param shardIndex - The shard index (0–7).
809
- * @param programId - Override program ID.
810
- * @returns {PdaResult} `[pda, bump]` tuple.
811
- * @category PDA
812
- * @since v0.5.0
813
- */
814
- export const deriveShard = (
815
- shardIndex: number,
816
- programId = SAP_PROGRAM_ID,
817
- ): PdaResult =>
818
- findPda(
819
- [toSeedBuf(SEEDS.SHARD), Buffer.from([shardIndex])],
820
- programId,
821
- );
822
-
823
- /**
824
- * Derive the **IndexPage** PDA.
825
- *
826
- * Seeds: `["sap_idx_page", parent_index_pda, page_index_u8]`
827
- *
828
- * @name deriveIndexPage
829
- * @param parentIndexPda - The parent index PDA (CapabilityIndex, ProtocolIndex, etc.).
830
- * @param pageIndex - The page index (0–255).
831
- * @param programId - Override program ID.
832
- * @returns {PdaResult} `[pda, bump]` tuple.
833
- * @category PDA
834
- * @since v0.5.0
835
- */
836
- export const deriveIndexPage = (
837
- parentIndexPda: PublicKey,
838
- pageIndex: number,
839
- programId = SAP_PROGRAM_ID,
840
- ): PdaResult =>
841
- findPda(
842
- [
843
- toSeedBuf(SEEDS.INDEX_PAGE),
844
- parentIndexPda.toBuffer(),
845
- Buffer.from([pageIndex]),
846
- ],
847
- programId,
848
- );
849
-
850
- // ═════════════════════════════════════════════
851
- // Receipt Batch (v0.7)
852
- // ═════════════════════════════════════════════
853
-
854
- /**
855
- * Derive the **ReceiptBatch** PDA.
856
- *
857
- * Seeds: `["sap_receipt", escrow_v2_pda, batch_index_u32_le]`
858
- *
859
- * @name deriveReceiptBatch
860
- * @description Computes the receipt batch PDA storing a merkle root of call receipts.
861
- * @param escrowV2Pda - The parent V2 escrow PDA.
862
- * @param batchIndex - Zero-based batch index (u32).
863
- * @param programId - Override program ID.
864
- * @returns {PdaResult} `[pda, bump]` tuple.
865
- * @category PDA
866
- * @since v0.7.0
867
- */
868
- export const deriveReceiptBatch = (
869
- escrowV2Pda: PublicKey,
870
- batchIndex: number,
871
- programId = SAP_PROGRAM_ID,
872
- ): PdaResult =>
873
- findPda(
874
- [
875
- toSeedBuf(SEEDS.RECEIPT),
876
- escrowV2Pda.toBuffer(),
877
- u32le(batchIndex),
878
- ],
879
- programId,
880
- );
881
-
882
- /**
883
- * Derive the **SettlementReceipt** PDA (v0.10.0 anti-replay).
884
- *
885
- * Seeds: `["sap_recv", escrow_pda, service_hash_or_batch_root]`
886
- *
887
- * Created via `init` on every `settle_calls`, `settle_batch`, and
888
- * `settle_calls_v2`. The PDA's existence after the first call blocks
889
- * any future replay of the same `service_hash` (or `batch_root`)
890
- * against the same escrow.
891
- *
892
- * @name deriveSettlementReceipt
893
- * @description Compute the receipt PDA that gates settlement replay.
894
- * @param escrowPda - Parent escrow PDA (V1 `EscrowAccount` or V2 `EscrowAccountV2`).
895
- * @param receiptKey - 32-byte `service_hash` (single settle / V2 settle)
896
- * or `batch_root = sha256(s_0 || ... || s_{N-1})` (settle_batch).
897
- * @param programId - Override program ID.
898
- * @returns {PdaResult} `[pda, bump]` tuple.
899
- * @category PDA
900
- * @since v0.10.0
901
- */
902
- export const deriveSettlementReceipt = (
903
- escrowPda: PublicKey,
904
- receiptKey: Uint8Array | number[] | Buffer,
905
- programId = SAP_PROGRAM_ID,
906
- ): PdaResult => {
907
- const buf = Buffer.isBuffer(receiptKey)
908
- ? receiptKey
909
- : Buffer.from(receiptKey as Uint8Array);
910
- if (buf.length !== 32) {
911
- throw new Error(
912
- `deriveSettlementReceipt: receiptKey must be 32 bytes, got ${buf.length}`,
913
- );
914
- }
915
- return findPda(
916
- [toSeedBuf(SEEDS.SETTLEMENT_RECEIPT), escrowPda.toBuffer(), buf],
917
- programId,
918
- );
919
- };