@usesigil/kit 0.15.0 → 0.17.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 (627) hide show
  1. package/README.md +56 -0
  2. package/dist/advanced-analytics.d.ts +3 -2
  3. package/dist/advanced-analytics.d.ts.map +1 -1
  4. package/dist/advanced-analytics.js +9 -42
  5. package/dist/advanced-analytics.js.map +1 -1
  6. package/dist/agent-bootstrap.d.ts +117 -0
  7. package/dist/agent-bootstrap.d.ts.map +1 -0
  8. package/dist/agent-bootstrap.js +211 -0
  9. package/dist/agent-bootstrap.js.map +1 -0
  10. package/dist/agent-errors.d.ts +20 -4
  11. package/dist/agent-errors.d.ts.map +1 -1
  12. package/dist/agent-errors.js +947 -377
  13. package/dist/agent-errors.js.map +1 -1
  14. package/dist/audit-log.d.ts +101 -0
  15. package/dist/audit-log.d.ts.map +1 -0
  16. package/dist/audit-log.js +145 -0
  17. package/dist/audit-log.js.map +1 -0
  18. package/dist/build-unsigned.d.ts +152 -0
  19. package/dist/build-unsigned.d.ts.map +1 -0
  20. package/dist/build-unsigned.js +152 -0
  21. package/dist/build-unsigned.js.map +1 -0
  22. package/dist/caip2-network.d.ts +171 -0
  23. package/dist/caip2-network.d.ts.map +1 -0
  24. package/dist/caip2-network.js +202 -0
  25. package/dist/caip2-network.js.map +1 -0
  26. package/dist/canonical-encode.d.ts +59 -0
  27. package/dist/canonical-encode.d.ts.map +1 -0
  28. package/dist/canonical-encode.js +141 -0
  29. package/dist/canonical-encode.js.map +1 -0
  30. package/dist/cosign-helper.d.ts +264 -0
  31. package/dist/cosign-helper.d.ts.map +1 -0
  32. package/dist/cosign-helper.js +147 -0
  33. package/dist/cosign-helper.js.map +1 -0
  34. package/dist/create-vault.d.ts +102 -1
  35. package/dist/create-vault.d.ts.map +1 -1
  36. package/dist/create-vault.js +108 -9
  37. package/dist/create-vault.js.map +1 -1
  38. package/dist/dashboard/close-vault.d.ts +110 -0
  39. package/dist/dashboard/close-vault.d.ts.map +1 -0
  40. package/dist/dashboard/close-vault.js +165 -0
  41. package/dist/dashboard/close-vault.js.map +1 -0
  42. package/dist/dashboard/errors.d.ts +37 -0
  43. package/dist/dashboard/errors.d.ts.map +1 -1
  44. package/dist/dashboard/errors.js +81 -1
  45. package/dist/dashboard/errors.js.map +1 -1
  46. package/dist/dashboard/from-json.d.ts.map +1 -1
  47. package/dist/dashboard/from-json.js +1 -2
  48. package/dist/dashboard/from-json.js.map +1 -1
  49. package/dist/dashboard/index.d.ts +204 -31
  50. package/dist/dashboard/index.d.ts.map +1 -1
  51. package/dist/dashboard/index.js +290 -49
  52. package/dist/dashboard/index.js.map +1 -1
  53. package/dist/dashboard/mutations.d.ts +160 -10
  54. package/dist/dashboard/mutations.d.ts.map +1 -1
  55. package/dist/dashboard/mutations.js +584 -66
  56. package/dist/dashboard/mutations.js.map +1 -1
  57. package/dist/dashboard/post-assertion-validation.d.ts +88 -0
  58. package/dist/dashboard/post-assertion-validation.d.ts.map +1 -0
  59. package/dist/dashboard/post-assertion-validation.js +312 -0
  60. package/dist/dashboard/post-assertion-validation.js.map +1 -0
  61. package/dist/dashboard/reads.d.ts +92 -1
  62. package/dist/dashboard/reads.d.ts.map +1 -1
  63. package/dist/dashboard/reads.js +244 -26
  64. package/dist/dashboard/reads.js.map +1 -1
  65. package/dist/dashboard/types.d.ts +172 -21
  66. package/dist/dashboard/types.d.ts.map +1 -1
  67. package/dist/errors/agent-errors.generated.d.ts +21 -0
  68. package/dist/errors/agent-errors.generated.d.ts.map +1 -0
  69. package/dist/errors/agent-errors.generated.js +133 -0
  70. package/dist/errors/agent-errors.generated.js.map +1 -0
  71. package/dist/errors/codes.d.ts +21 -2
  72. package/dist/errors/codes.d.ts.map +1 -1
  73. package/dist/errors/codes.js +20 -1
  74. package/dist/errors/codes.js.map +1 -1
  75. package/dist/errors/context.d.ts +9 -1
  76. package/dist/errors/context.d.ts.map +1 -1
  77. package/dist/event-analytics.d.ts +1 -3
  78. package/dist/event-analytics.d.ts.map +1 -1
  79. package/dist/event-analytics.js +28 -81
  80. package/dist/event-analytics.js.map +1 -1
  81. package/dist/events.d.ts.map +1 -1
  82. package/dist/events.js +23 -13
  83. package/dist/events.js.map +1 -1
  84. package/dist/generated/accounts/agentSpendOverlay.d.ts +60 -0
  85. package/dist/generated/accounts/agentSpendOverlay.d.ts.map +1 -1
  86. package/dist/generated/accounts/agentSpendOverlay.js +6 -2
  87. package/dist/generated/accounts/agentSpendOverlay.js.map +1 -1
  88. package/dist/generated/accounts/agentVault.d.ts +168 -4
  89. package/dist/generated/accounts/agentVault.d.ts.map +1 -1
  90. package/dist/generated/accounts/agentVault.js +11 -3
  91. package/dist/generated/accounts/agentVault.js.map +1 -1
  92. package/dist/generated/accounts/auditLogRejected.d.ts +66 -0
  93. package/dist/generated/accounts/auditLogRejected.d.ts.map +1 -0
  94. package/dist/generated/accounts/auditLogRejected.js +68 -0
  95. package/dist/generated/accounts/auditLogRejected.js.map +1 -0
  96. package/dist/generated/accounts/auditLogSuccess.d.ts +78 -0
  97. package/dist/generated/accounts/auditLogSuccess.d.ts.map +1 -0
  98. package/dist/generated/accounts/auditLogSuccess.js +68 -0
  99. package/dist/generated/accounts/auditLogSuccess.js.map +1 -0
  100. package/dist/generated/accounts/index.d.ts +4 -4
  101. package/dist/generated/accounts/index.d.ts.map +1 -1
  102. package/dist/generated/accounts/index.js +4 -4
  103. package/dist/generated/accounts/index.js.map +1 -1
  104. package/dist/generated/accounts/pendingAgentGrant.d.ts +199 -0
  105. package/dist/generated/accounts/pendingAgentGrant.d.ts.map +1 -0
  106. package/dist/generated/accounts/pendingAgentGrant.js +75 -0
  107. package/dist/generated/accounts/pendingAgentGrant.js.map +1 -0
  108. package/dist/generated/accounts/pendingAgentPermissionsUpdate.d.ts +76 -0
  109. package/dist/generated/accounts/pendingAgentPermissionsUpdate.d.ts.map +1 -1
  110. package/dist/generated/accounts/pendingAgentPermissionsUpdate.js +9 -1
  111. package/dist/generated/accounts/pendingAgentPermissionsUpdate.js.map +1 -1
  112. package/dist/generated/accounts/pendingOwnershipTransfer.d.ts +131 -0
  113. package/dist/generated/accounts/pendingOwnershipTransfer.d.ts.map +1 -0
  114. package/dist/generated/accounts/pendingOwnershipTransfer.js +76 -0
  115. package/dist/generated/accounts/pendingOwnershipTransfer.js.map +1 -0
  116. package/dist/generated/accounts/pendingPolicyUpdate.d.ts +220 -4
  117. package/dist/generated/accounts/pendingPolicyUpdate.d.ts.map +1 -1
  118. package/dist/generated/accounts/pendingPolicyUpdate.js +25 -5
  119. package/dist/generated/accounts/pendingPolicyUpdate.js.map +1 -1
  120. package/dist/generated/accounts/policyConfig.d.ts +495 -34
  121. package/dist/generated/accounts/policyConfig.d.ts.map +1 -1
  122. package/dist/generated/accounts/policyConfig.js +34 -7
  123. package/dist/generated/accounts/policyConfig.js.map +1 -1
  124. package/dist/generated/accounts/postExecutionAssertions.d.ts +2 -2
  125. package/dist/generated/accounts/postExecutionAssertions.d.ts.map +1 -1
  126. package/dist/generated/accounts/postExecutionAssertions.js +3 -3
  127. package/dist/generated/accounts/sessionAuthority.d.ts +154 -12
  128. package/dist/generated/accounts/sessionAuthority.d.ts.map +1 -1
  129. package/dist/generated/accounts/sessionAuthority.js +12 -10
  130. package/dist/generated/accounts/sessionAuthority.js.map +1 -1
  131. package/dist/generated/accounts/spendTracker.d.ts +83 -3
  132. package/dist/generated/accounts/spendTracker.d.ts.map +1 -1
  133. package/dist/generated/accounts/spendTracker.js +14 -2
  134. package/dist/generated/accounts/spendTracker.js.map +1 -1
  135. package/dist/generated/errors/sigil.d.ts +160 -100
  136. package/dist/generated/errors/sigil.d.ts.map +1 -1
  137. package/dist/generated/errors/sigil.js +214 -124
  138. package/dist/generated/errors/sigil.js.map +1 -1
  139. package/dist/generated/event-discriminators.d.ts.map +1 -1
  140. package/dist/generated/event-discriminators.js +11 -13
  141. package/dist/generated/event-discriminators.js.map +1 -1
  142. package/dist/generated/instructions/acceptOwnershipTransfer.d.ts +142 -0
  143. package/dist/generated/instructions/acceptOwnershipTransfer.d.ts.map +1 -0
  144. package/dist/generated/instructions/acceptOwnershipTransfer.js +171 -0
  145. package/dist/generated/instructions/acceptOwnershipTransfer.js.map +1 -0
  146. package/dist/generated/instructions/acceptOwnershipTransferMultisig.d.ts +142 -0
  147. package/dist/generated/instructions/acceptOwnershipTransferMultisig.d.ts.map +1 -0
  148. package/dist/generated/instructions/acceptOwnershipTransferMultisig.js +171 -0
  149. package/dist/generated/instructions/acceptOwnershipTransferMultisig.js.map +1 -0
  150. package/dist/generated/instructions/applyAgentGrant.d.ts +100 -0
  151. package/dist/generated/instructions/applyAgentGrant.d.ts.map +1 -0
  152. package/dist/generated/instructions/{applyConstraintsUpdate.js → applyAgentGrant.js} +66 -42
  153. package/dist/generated/instructions/applyAgentGrant.js.map +1 -0
  154. package/dist/generated/instructions/applyAgentPermissionsUpdate.d.ts +31 -8
  155. package/dist/generated/instructions/applyAgentPermissionsUpdate.d.ts.map +1 -1
  156. package/dist/generated/instructions/applyAgentPermissionsUpdate.js +38 -2
  157. package/dist/generated/instructions/applyAgentPermissionsUpdate.js.map +1 -1
  158. package/dist/generated/instructions/applyPendingPolicy.d.ts +18 -7
  159. package/dist/generated/instructions/applyPendingPolicy.d.ts.map +1 -1
  160. package/dist/generated/instructions/applyPendingPolicy.js +38 -2
  161. package/dist/generated/instructions/applyPendingPolicy.js.map +1 -1
  162. package/dist/generated/instructions/cancelAgentGrant.d.ts +106 -0
  163. package/dist/generated/instructions/cancelAgentGrant.d.ts.map +1 -0
  164. package/dist/generated/instructions/{allocatePendingConstraintsPda.js → cancelAgentGrant.js} +54 -42
  165. package/dist/generated/instructions/cancelAgentGrant.js.map +1 -0
  166. package/dist/generated/instructions/cancelOwnershipTransfer.d.ts +121 -0
  167. package/dist/generated/instructions/cancelOwnershipTransfer.d.ts.map +1 -0
  168. package/dist/generated/instructions/{queueCloseConstraints.js → cancelOwnershipTransfer.js} +58 -44
  169. package/dist/generated/instructions/cancelOwnershipTransfer.js.map +1 -0
  170. package/dist/generated/instructions/closePostAssertions.d.ts +6 -1
  171. package/dist/generated/instructions/closePostAssertions.d.ts.map +1 -1
  172. package/dist/generated/instructions/closePostAssertions.js +11 -3
  173. package/dist/generated/instructions/closePostAssertions.js.map +1 -1
  174. package/dist/generated/instructions/closeVault.d.ts +40 -8
  175. package/dist/generated/instructions/closeVault.d.ts.map +1 -1
  176. package/dist/generated/instructions/closeVault.js +40 -2
  177. package/dist/generated/instructions/closeVault.js.map +1 -1
  178. package/dist/generated/instructions/createPostAssertions.d.ts +4 -0
  179. package/dist/generated/instructions/createPostAssertions.d.ts.map +1 -1
  180. package/dist/generated/instructions/createPostAssertions.js +2 -0
  181. package/dist/generated/instructions/createPostAssertions.js.map +1 -1
  182. package/dist/generated/instructions/depositFunds.d.ts +21 -10
  183. package/dist/generated/instructions/depositFunds.d.ts.map +1 -1
  184. package/dist/generated/instructions/depositFunds.js +37 -2
  185. package/dist/generated/instructions/depositFunds.js.map +1 -1
  186. package/dist/generated/instructions/finalizeSession.d.ts +49 -7
  187. package/dist/generated/instructions/finalizeSession.d.ts.map +1 -1
  188. package/dist/generated/instructions/finalizeSession.js +59 -2
  189. package/dist/generated/instructions/finalizeSession.js.map +1 -1
  190. package/dist/generated/instructions/freezeVault.d.ts +39 -5
  191. package/dist/generated/instructions/freezeVault.d.ts.map +1 -1
  192. package/dist/generated/instructions/freezeVault.js +77 -5
  193. package/dist/generated/instructions/freezeVault.js.map +1 -1
  194. package/dist/generated/instructions/index.d.ts +10 -14
  195. package/dist/generated/instructions/index.d.ts.map +1 -1
  196. package/dist/generated/instructions/index.js +10 -14
  197. package/dist/generated/instructions/index.js.map +1 -1
  198. package/dist/generated/instructions/initializeVault.d.ts +79 -13
  199. package/dist/generated/instructions/initializeVault.d.ts.map +1 -1
  200. package/dist/generated/instructions/initializeVault.js +57 -5
  201. package/dist/generated/instructions/initializeVault.js.map +1 -1
  202. package/dist/generated/instructions/initiateOwnershipTransfer.d.ts +106 -0
  203. package/dist/generated/instructions/initiateOwnershipTransfer.d.ts.map +1 -0
  204. package/dist/generated/instructions/initiateOwnershipTransfer.js +181 -0
  205. package/dist/generated/instructions/initiateOwnershipTransfer.js.map +1 -0
  206. package/dist/generated/instructions/pauseAgent.d.ts +49 -5
  207. package/dist/generated/instructions/pauseAgent.d.ts.map +1 -1
  208. package/dist/generated/instructions/pauseAgent.js +80 -5
  209. package/dist/generated/instructions/pauseAgent.js.map +1 -1
  210. package/dist/generated/instructions/promoteGraylistDestination.d.ts +56 -0
  211. package/dist/generated/instructions/promoteGraylistDestination.d.ts.map +1 -0
  212. package/dist/generated/instructions/{createInstructionConstraints.js → promoteGraylistDestination.js} +23 -40
  213. package/dist/generated/instructions/promoteGraylistDestination.js.map +1 -0
  214. package/dist/generated/instructions/queueAgentGrant.d.ts +113 -0
  215. package/dist/generated/instructions/queueAgentGrant.d.ts.map +1 -0
  216. package/dist/generated/instructions/queueAgentGrant.js +181 -0
  217. package/dist/generated/instructions/queueAgentGrant.js.map +1 -0
  218. package/dist/generated/instructions/queueAgentPermissionsUpdate.d.ts +8 -0
  219. package/dist/generated/instructions/queueAgentPermissionsUpdate.d.ts.map +1 -1
  220. package/dist/generated/instructions/queueAgentPermissionsUpdate.js +4 -0
  221. package/dist/generated/instructions/queueAgentPermissionsUpdate.js.map +1 -1
  222. package/dist/generated/instructions/queuePolicyUpdate.d.ts +40 -8
  223. package/dist/generated/instructions/queuePolicyUpdate.d.ts.map +1 -1
  224. package/dist/generated/instructions/queuePolicyUpdate.js +21 -5
  225. package/dist/generated/instructions/queuePolicyUpdate.js.map +1 -1
  226. package/dist/generated/instructions/reactivateVault.d.ts +71 -5
  227. package/dist/generated/instructions/reactivateVault.d.ts.map +1 -1
  228. package/dist/generated/instructions/reactivateVault.js +80 -5
  229. package/dist/generated/instructions/reactivateVault.js.map +1 -1
  230. package/dist/generated/instructions/recordAgentViolation.d.ts +89 -0
  231. package/dist/generated/instructions/recordAgentViolation.d.ts.map +1 -0
  232. package/dist/generated/instructions/recordAgentViolation.js +152 -0
  233. package/dist/generated/instructions/recordAgentViolation.js.map +1 -0
  234. package/dist/generated/instructions/registerAgent.d.ts +84 -6
  235. package/dist/generated/instructions/registerAgent.d.ts.map +1 -1
  236. package/dist/generated/instructions/registerAgent.js +81 -4
  237. package/dist/generated/instructions/registerAgent.js.map +1 -1
  238. package/dist/generated/instructions/revokeAgent.d.ts +49 -6
  239. package/dist/generated/instructions/revokeAgent.d.ts.map +1 -1
  240. package/dist/generated/instructions/revokeAgent.js +81 -4
  241. package/dist/generated/instructions/revokeAgent.js.map +1 -1
  242. package/dist/generated/instructions/setObserveOnly.d.ts +56 -0
  243. package/dist/generated/instructions/setObserveOnly.d.ts.map +1 -0
  244. package/dist/generated/instructions/setObserveOnly.js +111 -0
  245. package/dist/generated/instructions/setObserveOnly.js.map +1 -0
  246. package/dist/generated/instructions/unpauseAgent.d.ts +46 -5
  247. package/dist/generated/instructions/unpauseAgent.d.ts.map +1 -1
  248. package/dist/generated/instructions/unpauseAgent.js +80 -5
  249. package/dist/generated/instructions/unpauseAgent.js.map +1 -1
  250. package/dist/generated/instructions/validateAndAuthorize.d.ts +29 -0
  251. package/dist/generated/instructions/validateAndAuthorize.d.ts.map +1 -1
  252. package/dist/generated/instructions/validateAndAuthorize.js +4 -0
  253. package/dist/generated/instructions/validateAndAuthorize.js.map +1 -1
  254. package/dist/generated/instructions/withdrawFunds.d.ts +53 -11
  255. package/dist/generated/instructions/withdrawFunds.d.ts.map +1 -1
  256. package/dist/generated/instructions/withdrawFunds.js +51 -2
  257. package/dist/generated/instructions/withdrawFunds.js.map +1 -1
  258. package/dist/generated/programs/sigil.d.ts +79 -95
  259. package/dist/generated/programs/sigil.d.ts.map +1 -1
  260. package/dist/generated/programs/sigil.js +139 -187
  261. package/dist/generated/programs/sigil.js.map +1 -1
  262. package/dist/generated/types/actionAuthorized.d.ts +0 -2
  263. package/dist/generated/types/actionAuthorized.d.ts.map +1 -1
  264. package/dist/generated/types/actionAuthorized.js +0 -2
  265. package/dist/generated/types/actionAuthorized.js.map +1 -1
  266. package/dist/generated/types/agentAutoRevoked.d.ts +31 -0
  267. package/dist/generated/types/agentAutoRevoked.d.ts.map +1 -0
  268. package/dist/generated/types/{pdaAllocated.js → agentAutoRevoked.js} +12 -10
  269. package/dist/generated/types/agentAutoRevoked.js.map +1 -0
  270. package/dist/generated/types/agentEntry.d.ts +48 -0
  271. package/dist/generated/types/agentEntry.d.ts.map +1 -1
  272. package/dist/generated/types/agentEntry.js +4 -2
  273. package/dist/generated/types/agentEntry.js.map +1 -1
  274. package/dist/generated/types/agentGrantApplied.d.ts +38 -0
  275. package/dist/generated/types/agentGrantApplied.d.ts.map +1 -0
  276. package/dist/generated/types/agentGrantApplied.js +34 -0
  277. package/dist/generated/types/agentGrantApplied.js.map +1 -0
  278. package/dist/generated/types/agentGrantCancelled.d.ts +33 -0
  279. package/dist/generated/types/agentGrantCancelled.d.ts.map +1 -0
  280. package/dist/generated/types/agentGrantCancelled.js +28 -0
  281. package/dist/generated/types/agentGrantCancelled.js.map +1 -0
  282. package/dist/generated/types/agentGrantQueued.d.ts +38 -0
  283. package/dist/generated/types/agentGrantQueued.d.ts.map +1 -0
  284. package/dist/generated/types/agentGrantQueued.js +32 -0
  285. package/dist/generated/types/agentGrantQueued.js.map +1 -0
  286. package/dist/generated/types/auditEntry.d.ts +120 -0
  287. package/dist/generated/types/auditEntry.d.ts.map +1 -0
  288. package/dist/generated/types/auditEntry.js +34 -0
  289. package/dist/generated/types/auditEntry.js.map +1 -0
  290. package/dist/generated/types/destinationGraylistEntry.d.ts +32 -0
  291. package/dist/generated/types/destinationGraylistEntry.d.ts.map +1 -0
  292. package/dist/generated/types/destinationGraylistEntry.js +24 -0
  293. package/dist/generated/types/destinationGraylistEntry.js.map +1 -0
  294. package/dist/generated/types/graylistEntered.d.ts +31 -0
  295. package/dist/generated/types/graylistEntered.d.ts.map +1 -0
  296. package/dist/generated/types/graylistEntered.js +30 -0
  297. package/dist/generated/types/graylistEntered.js.map +1 -0
  298. package/dist/generated/types/graylistPromoted.d.ts +29 -0
  299. package/dist/generated/types/graylistPromoted.d.ts.map +1 -0
  300. package/dist/generated/types/graylistPromoted.js +28 -0
  301. package/dist/generated/types/graylistPromoted.js.map +1 -0
  302. package/dist/generated/types/index.d.ts +13 -21
  303. package/dist/generated/types/index.d.ts.map +1 -1
  304. package/dist/generated/types/index.js +13 -21
  305. package/dist/generated/types/index.js.map +1 -1
  306. package/dist/generated/types/observeOnlyChanged.d.ts +33 -0
  307. package/dist/generated/types/observeOnlyChanged.d.ts.map +1 -0
  308. package/dist/generated/types/observeOnlyChanged.js +32 -0
  309. package/dist/generated/types/observeOnlyChanged.js.map +1 -0
  310. package/dist/generated/types/ownershipTransferAccepted.d.ts +32 -0
  311. package/dist/generated/types/ownershipTransferAccepted.d.ts.map +1 -0
  312. package/dist/generated/types/ownershipTransferAccepted.js +30 -0
  313. package/dist/generated/types/ownershipTransferAccepted.js.map +1 -0
  314. package/dist/generated/types/ownershipTransferCancelled.d.ts +29 -0
  315. package/dist/generated/types/ownershipTransferCancelled.d.ts.map +1 -0
  316. package/dist/generated/types/ownershipTransferCancelled.js +28 -0
  317. package/dist/generated/types/ownershipTransferCancelled.js.map +1 -0
  318. package/dist/generated/types/ownershipTransferInitiated.d.ts +33 -0
  319. package/dist/generated/types/ownershipTransferInitiated.d.ts.map +1 -0
  320. package/dist/generated/types/ownershipTransferInitiated.js +30 -0
  321. package/dist/generated/types/ownershipTransferInitiated.js.map +1 -0
  322. package/dist/generated/types/perRecipientCounter.d.ts +61 -0
  323. package/dist/generated/types/perRecipientCounter.d.ts.map +1 -0
  324. package/dist/generated/types/perRecipientCounter.js +26 -0
  325. package/dist/generated/types/perRecipientCounter.js.map +1 -0
  326. package/dist/generated/types/postAssertionEntry.d.ts +14 -7
  327. package/dist/generated/types/postAssertionEntry.d.ts.map +1 -1
  328. package/dist/generated/types/postAssertionEntry.js +5 -7
  329. package/dist/generated/types/postAssertionEntry.js.map +1 -1
  330. package/dist/generated/types/postAssertionEntryZC.d.ts +53 -22
  331. package/dist/generated/types/postAssertionEntryZC.d.ts.map +1 -1
  332. package/dist/generated/types/postAssertionEntryZC.js +4 -6
  333. package/dist/generated/types/postAssertionEntryZC.js.map +1 -1
  334. package/dist/generated/types/sessionFinalized.d.ts +0 -4
  335. package/dist/generated/types/sessionFinalized.d.ts.map +1 -1
  336. package/dist/generated/types/sessionFinalized.js +0 -2
  337. package/dist/generated/types/sessionFinalized.js.map +1 -1
  338. package/dist/generated/types/vaultFrozen.d.ts +26 -0
  339. package/dist/generated/types/vaultFrozen.d.ts.map +1 -1
  340. package/dist/generated/types/vaultFrozen.js +5 -1
  341. package/dist/generated/types/vaultFrozen.js.map +1 -1
  342. package/dist/index.d.ts +35 -6
  343. package/dist/index.d.ts.map +1 -1
  344. package/dist/index.js +81 -7
  345. package/dist/index.js.map +1 -1
  346. package/dist/inscribe.d.ts +0 -4
  347. package/dist/inscribe.d.ts.map +1 -1
  348. package/dist/inscribe.js +0 -1
  349. package/dist/inscribe.js.map +1 -1
  350. package/dist/inspector.d.ts +0 -23
  351. package/dist/inspector.d.ts.map +1 -1
  352. package/dist/inspector.js +0 -52
  353. package/dist/inspector.js.map +1 -1
  354. package/dist/kit-adapter.d.ts +1 -1
  355. package/dist/kit-adapter.d.ts.map +1 -1
  356. package/dist/kit-adapter.js +1 -1
  357. package/dist/kit-adapter.js.map +1 -1
  358. package/dist/logger.d.ts +48 -0
  359. package/dist/logger.d.ts.map +1 -1
  360. package/dist/logger.js +36 -0
  361. package/dist/logger.js.map +1 -1
  362. package/dist/multisig-detection.d.ts +83 -0
  363. package/dist/multisig-detection.d.ts.map +1 -0
  364. package/dist/multisig-detection.js +128 -0
  365. package/dist/multisig-detection.js.map +1 -0
  366. package/dist/owner-transaction.d.ts +8 -0
  367. package/dist/owner-transaction.d.ts.map +1 -1
  368. package/dist/owner-transaction.js +1 -0
  369. package/dist/owner-transaction.js.map +1 -1
  370. package/dist/ownership-transfer.d.ts +79 -0
  371. package/dist/ownership-transfer.d.ts.map +1 -0
  372. package/dist/ownership-transfer.js +66 -0
  373. package/dist/ownership-transfer.js.map +1 -0
  374. package/dist/policy/compute-cosign-digest.d.ts +193 -0
  375. package/dist/policy/compute-cosign-digest.d.ts.map +1 -0
  376. package/dist/policy/compute-cosign-digest.js +318 -0
  377. package/dist/policy/compute-cosign-digest.js.map +1 -0
  378. package/dist/policy/compute-policy-preview-digest.d.ts +258 -0
  379. package/dist/policy/compute-policy-preview-digest.d.ts.map +1 -0
  380. package/dist/policy/compute-policy-preview-digest.js +351 -0
  381. package/dist/policy/compute-policy-preview-digest.js.map +1 -0
  382. package/dist/policy-attestation.d.ts +51 -0
  383. package/dist/policy-attestation.d.ts.map +1 -0
  384. package/dist/policy-attestation.js +43 -0
  385. package/dist/policy-attestation.js.map +1 -0
  386. package/dist/presets.d.ts +1 -7
  387. package/dist/presets.d.ts.map +1 -1
  388. package/dist/presets.js +0 -5
  389. package/dist/presets.js.map +1 -1
  390. package/dist/preview-create-vault.d.ts +280 -0
  391. package/dist/preview-create-vault.d.ts.map +1 -0
  392. package/dist/preview-create-vault.js +498 -0
  393. package/dist/preview-create-vault.js.map +1 -0
  394. package/dist/resolve-accounts.d.ts +75 -10
  395. package/dist/resolve-accounts.d.ts.map +1 -1
  396. package/dist/resolve-accounts.js +68 -32
  397. package/dist/resolve-accounts.js.map +1 -1
  398. package/dist/rpc-helpers.d.ts +29 -3
  399. package/dist/rpc-helpers.d.ts.map +1 -1
  400. package/dist/rpc-helpers.js +51 -12
  401. package/dist/rpc-helpers.js.map +1 -1
  402. package/dist/seal/intent-digest.d.ts +195 -0
  403. package/dist/seal/intent-digest.d.ts.map +1 -0
  404. package/dist/seal/intent-digest.js +372 -0
  405. package/dist/seal/intent-digest.js.map +1 -0
  406. package/dist/seal.d.ts +166 -3
  407. package/dist/seal.d.ts.map +1 -1
  408. package/dist/seal.js +428 -8
  409. package/dist/seal.js.map +1 -1
  410. package/dist/security-analytics.d.ts +3 -3
  411. package/dist/security-analytics.d.ts.map +1 -1
  412. package/dist/security-analytics.js +13 -128
  413. package/dist/security-analytics.js.map +1 -1
  414. package/dist/session-mint.d.ts +72 -0
  415. package/dist/session-mint.d.ts.map +1 -0
  416. package/dist/session-mint.js +59 -0
  417. package/dist/session-mint.js.map +1 -0
  418. package/dist/sigil.d.ts +0 -4
  419. package/dist/sigil.d.ts.map +1 -1
  420. package/dist/simulation.d.ts +19 -0
  421. package/dist/simulation.d.ts.map +1 -1
  422. package/dist/simulation.js +211 -138
  423. package/dist/simulation.js.map +1 -1
  424. package/dist/squads-detection.d.ts +135 -0
  425. package/dist/squads-detection.d.ts.map +1 -0
  426. package/dist/squads-detection.js +124 -0
  427. package/dist/squads-detection.js.map +1 -0
  428. package/dist/state-resolver.d.ts +0 -16
  429. package/dist/state-resolver.d.ts.map +1 -1
  430. package/dist/state-resolver.js +162 -97
  431. package/dist/state-resolver.js.map +1 -1
  432. package/dist/testing/devnet.d.ts +40 -1
  433. package/dist/testing/devnet.d.ts.map +1 -1
  434. package/dist/testing/devnet.js +333 -45
  435. package/dist/testing/devnet.js.map +1 -1
  436. package/dist/testing/errors/expect.d.ts +137 -0
  437. package/dist/testing/errors/expect.d.ts.map +1 -0
  438. package/dist/testing/errors/expect.js +372 -0
  439. package/dist/testing/errors/expect.js.map +1 -0
  440. package/dist/testing/errors/index.d.ts +3 -0
  441. package/dist/testing/errors/index.d.ts.map +1 -0
  442. package/dist/testing/errors/index.js +8 -0
  443. package/dist/testing/errors/index.js.map +1 -0
  444. package/dist/testing/errors/names.generated.d.ts +211 -0
  445. package/dist/testing/errors/names.generated.d.ts.map +1 -0
  446. package/dist/testing/errors/names.generated.js +206 -0
  447. package/dist/testing/errors/names.generated.js.map +1 -0
  448. package/dist/testing/index.d.ts +1 -0
  449. package/dist/testing/index.d.ts.map +1 -1
  450. package/dist/testing/index.js +8 -0
  451. package/dist/testing/index.js.map +1 -1
  452. package/dist/testing/mock-rpc.d.ts +16 -0
  453. package/dist/testing/mock-rpc.d.ts.map +1 -1
  454. package/dist/testing/mock-rpc.js +27 -0
  455. package/dist/testing/mock-rpc.js.map +1 -1
  456. package/dist/testing/mock-state.d.ts +2 -0
  457. package/dist/testing/mock-state.d.ts.map +1 -1
  458. package/dist/testing/mock-state.js +45 -6
  459. package/dist/testing/mock-state.js.map +1 -1
  460. package/dist/types.d.ts +5 -15
  461. package/dist/types.d.ts.map +1 -1
  462. package/dist/types.js +11 -69
  463. package/dist/types.js.map +1 -1
  464. package/dist/vault-analytics.d.ts +0 -2
  465. package/dist/vault-analytics.d.ts.map +1 -1
  466. package/dist/vault-analytics.js +1 -9
  467. package/dist/vault-analytics.js.map +1 -1
  468. package/package.json +12 -5
  469. package/dist/dashboard/constraint-reads.d.ts +0 -50
  470. package/dist/dashboard/constraint-reads.d.ts.map +0 -1
  471. package/dist/dashboard/constraint-reads.js +0 -119
  472. package/dist/dashboard/constraint-reads.js.map +0 -1
  473. package/dist/generated/accounts/escrowDeposit.d.ts +0 -50
  474. package/dist/generated/accounts/escrowDeposit.d.ts.map +0 -1
  475. package/dist/generated/accounts/escrowDeposit.js +0 -76
  476. package/dist/generated/accounts/escrowDeposit.js.map +0 -1
  477. package/dist/generated/accounts/instructionConstraints.d.ts +0 -46
  478. package/dist/generated/accounts/instructionConstraints.d.ts.map +0 -1
  479. package/dist/generated/accounts/instructionConstraints.js +0 -73
  480. package/dist/generated/accounts/instructionConstraints.js.map +0 -1
  481. package/dist/generated/accounts/pendingCloseConstraints.d.ts +0 -37
  482. package/dist/generated/accounts/pendingCloseConstraints.d.ts.map +0 -1
  483. package/dist/generated/accounts/pendingCloseConstraints.js +0 -66
  484. package/dist/generated/accounts/pendingCloseConstraints.js.map +0 -1
  485. package/dist/generated/accounts/pendingConstraintsUpdate.d.ts +0 -62
  486. package/dist/generated/accounts/pendingConstraintsUpdate.d.ts.map +0 -1
  487. package/dist/generated/accounts/pendingConstraintsUpdate.js +0 -75
  488. package/dist/generated/accounts/pendingConstraintsUpdate.js.map +0 -1
  489. package/dist/generated/instructions/allocateConstraintsPda.d.ts +0 -62
  490. package/dist/generated/instructions/allocateConstraintsPda.d.ts.map +0 -1
  491. package/dist/generated/instructions/allocateConstraintsPda.js +0 -134
  492. package/dist/generated/instructions/allocateConstraintsPda.js.map +0 -1
  493. package/dist/generated/instructions/allocatePendingConstraintsPda.d.ts +0 -66
  494. package/dist/generated/instructions/allocatePendingConstraintsPda.d.ts.map +0 -1
  495. package/dist/generated/instructions/allocatePendingConstraintsPda.js.map +0 -1
  496. package/dist/generated/instructions/applyCloseConstraints.d.ts +0 -59
  497. package/dist/generated/instructions/applyCloseConstraints.d.ts.map +0 -1
  498. package/dist/generated/instructions/applyCloseConstraints.js +0 -143
  499. package/dist/generated/instructions/applyCloseConstraints.js.map +0 -1
  500. package/dist/generated/instructions/applyConstraintsUpdate.d.ts +0 -62
  501. package/dist/generated/instructions/applyConstraintsUpdate.d.ts.map +0 -1
  502. package/dist/generated/instructions/applyConstraintsUpdate.js.map +0 -1
  503. package/dist/generated/instructions/cancelCloseConstraints.d.ts +0 -51
  504. package/dist/generated/instructions/cancelCloseConstraints.d.ts.map +0 -1
  505. package/dist/generated/instructions/cancelCloseConstraints.js +0 -115
  506. package/dist/generated/instructions/cancelCloseConstraints.js.map +0 -1
  507. package/dist/generated/instructions/cancelConstraintsUpdate.d.ts +0 -51
  508. package/dist/generated/instructions/cancelConstraintsUpdate.d.ts.map +0 -1
  509. package/dist/generated/instructions/cancelConstraintsUpdate.js +0 -115
  510. package/dist/generated/instructions/cancelConstraintsUpdate.js.map +0 -1
  511. package/dist/generated/instructions/closeSettledEscrow.d.ts +0 -72
  512. package/dist/generated/instructions/closeSettledEscrow.d.ts.map +0 -1
  513. package/dist/generated/instructions/closeSettledEscrow.js +0 -127
  514. package/dist/generated/instructions/closeSettledEscrow.js.map +0 -1
  515. package/dist/generated/instructions/createEscrow.d.ts +0 -131
  516. package/dist/generated/instructions/createEscrow.d.ts.map +0 -1
  517. package/dist/generated/instructions/createEscrow.js +0 -272
  518. package/dist/generated/instructions/createEscrow.js.map +0 -1
  519. package/dist/generated/instructions/createInstructionConstraints.d.ts +0 -68
  520. package/dist/generated/instructions/createInstructionConstraints.d.ts.map +0 -1
  521. package/dist/generated/instructions/createInstructionConstraints.js.map +0 -1
  522. package/dist/generated/instructions/extendPda.d.ts +0 -52
  523. package/dist/generated/instructions/extendPda.d.ts.map +0 -1
  524. package/dist/generated/instructions/extendPda.js +0 -86
  525. package/dist/generated/instructions/extendPda.js.map +0 -1
  526. package/dist/generated/instructions/queueCloseConstraints.d.ts +0 -66
  527. package/dist/generated/instructions/queueCloseConstraints.d.ts.map +0 -1
  528. package/dist/generated/instructions/queueCloseConstraints.js.map +0 -1
  529. package/dist/generated/instructions/queueConstraintsUpdate.d.ts +0 -75
  530. package/dist/generated/instructions/queueConstraintsUpdate.d.ts.map +0 -1
  531. package/dist/generated/instructions/queueConstraintsUpdate.js +0 -154
  532. package/dist/generated/instructions/queueConstraintsUpdate.js.map +0 -1
  533. package/dist/generated/instructions/refundEscrow.d.ts +0 -74
  534. package/dist/generated/instructions/refundEscrow.d.ts.map +0 -1
  535. package/dist/generated/instructions/refundEscrow.js +0 -142
  536. package/dist/generated/instructions/refundEscrow.js.map +0 -1
  537. package/dist/generated/instructions/settleEscrow.d.ts +0 -80
  538. package/dist/generated/instructions/settleEscrow.d.ts.map +0 -1
  539. package/dist/generated/instructions/settleEscrow.js +0 -173
  540. package/dist/generated/instructions/settleEscrow.js.map +0 -1
  541. package/dist/generated/types/accountConstraint.d.ts +0 -18
  542. package/dist/generated/types/accountConstraint.d.ts.map +0 -1
  543. package/dist/generated/types/accountConstraint.js +0 -24
  544. package/dist/generated/types/accountConstraint.js.map +0 -1
  545. package/dist/generated/types/accountConstraintZC.d.ts +0 -18
  546. package/dist/generated/types/accountConstraintZC.d.ts.map +0 -1
  547. package/dist/generated/types/accountConstraintZC.js +0 -26
  548. package/dist/generated/types/accountConstraintZC.js.map +0 -1
  549. package/dist/generated/types/closeConstraintsApplied.d.ts +0 -20
  550. package/dist/generated/types/closeConstraintsApplied.d.ts.map +0 -1
  551. package/dist/generated/types/closeConstraintsApplied.js +0 -24
  552. package/dist/generated/types/closeConstraintsApplied.js.map +0 -1
  553. package/dist/generated/types/closeConstraintsCancelled.d.ts +0 -16
  554. package/dist/generated/types/closeConstraintsCancelled.d.ts.map +0 -1
  555. package/dist/generated/types/closeConstraintsCancelled.js +0 -18
  556. package/dist/generated/types/closeConstraintsCancelled.js.map +0 -1
  557. package/dist/generated/types/closeConstraintsQueued.d.ts +0 -20
  558. package/dist/generated/types/closeConstraintsQueued.d.ts.map +0 -1
  559. package/dist/generated/types/closeConstraintsQueued.js +0 -24
  560. package/dist/generated/types/closeConstraintsQueued.js.map +0 -1
  561. package/dist/generated/types/constraintEntry.d.ts +0 -39
  562. package/dist/generated/types/constraintEntry.d.ts.map +0 -1
  563. package/dist/generated/types/constraintEntry.js +0 -31
  564. package/dist/generated/types/constraintEntry.js.map +0 -1
  565. package/dist/generated/types/constraintEntryZC.d.ts +0 -68
  566. package/dist/generated/types/constraintEntryZC.d.ts.map +0 -1
  567. package/dist/generated/types/constraintEntryZC.js +0 -49
  568. package/dist/generated/types/constraintEntryZC.js.map +0 -1
  569. package/dist/generated/types/constraintOperator.d.ts +0 -22
  570. package/dist/generated/types/constraintOperator.d.ts.map +0 -1
  571. package/dist/generated/types/constraintOperator.js +0 -28
  572. package/dist/generated/types/constraintOperator.js.map +0 -1
  573. package/dist/generated/types/constraintsChangeApplied.d.ts +0 -30
  574. package/dist/generated/types/constraintsChangeApplied.d.ts.map +0 -1
  575. package/dist/generated/types/constraintsChangeApplied.js +0 -32
  576. package/dist/generated/types/constraintsChangeApplied.js.map +0 -1
  577. package/dist/generated/types/constraintsChangeCancelled.d.ts +0 -16
  578. package/dist/generated/types/constraintsChangeCancelled.d.ts.map +0 -1
  579. package/dist/generated/types/constraintsChangeCancelled.js +0 -18
  580. package/dist/generated/types/constraintsChangeCancelled.js.map +0 -1
  581. package/dist/generated/types/constraintsChangeQueued.d.ts +0 -30
  582. package/dist/generated/types/constraintsChangeQueued.d.ts.map +0 -1
  583. package/dist/generated/types/constraintsChangeQueued.js +0 -32
  584. package/dist/generated/types/constraintsChangeQueued.js.map +0 -1
  585. package/dist/generated/types/dataConstraint.d.ts +0 -23
  586. package/dist/generated/types/dataConstraint.d.ts.map +0 -1
  587. package/dist/generated/types/dataConstraint.js +0 -27
  588. package/dist/generated/types/dataConstraint.js.map +0 -1
  589. package/dist/generated/types/dataConstraintZC.d.ts +0 -20
  590. package/dist/generated/types/dataConstraintZC.d.ts.map +0 -1
  591. package/dist/generated/types/dataConstraintZC.js +0 -30
  592. package/dist/generated/types/dataConstraintZC.js.map +0 -1
  593. package/dist/generated/types/discriminatorFormat.d.ts +0 -25
  594. package/dist/generated/types/discriminatorFormat.d.ts.map +0 -1
  595. package/dist/generated/types/discriminatorFormat.js +0 -31
  596. package/dist/generated/types/discriminatorFormat.js.map +0 -1
  597. package/dist/generated/types/escrowCreated.d.ts +0 -30
  598. package/dist/generated/types/escrowCreated.d.ts.map +0 -1
  599. package/dist/generated/types/escrowCreated.js +0 -34
  600. package/dist/generated/types/escrowCreated.js.map +0 -1
  601. package/dist/generated/types/escrowRefunded.d.ts +0 -26
  602. package/dist/generated/types/escrowRefunded.d.ts.map +0 -1
  603. package/dist/generated/types/escrowRefunded.js +0 -30
  604. package/dist/generated/types/escrowRefunded.js.map +0 -1
  605. package/dist/generated/types/escrowSettled.d.ts +0 -26
  606. package/dist/generated/types/escrowSettled.d.ts.map +0 -1
  607. package/dist/generated/types/escrowSettled.js +0 -30
  608. package/dist/generated/types/escrowSettled.js.map +0 -1
  609. package/dist/generated/types/escrowStatus.d.ts +0 -18
  610. package/dist/generated/types/escrowStatus.d.ts.map +0 -1
  611. package/dist/generated/types/escrowStatus.js +0 -24
  612. package/dist/generated/types/escrowStatus.js.map +0 -1
  613. package/dist/generated/types/instructionConstraintsCreated.d.ts +0 -34
  614. package/dist/generated/types/instructionConstraintsCreated.d.ts.map +0 -1
  615. package/dist/generated/types/instructionConstraintsCreated.js +0 -36
  616. package/dist/generated/types/instructionConstraintsCreated.js.map +0 -1
  617. package/dist/generated/types/pdaAllocated.d.ts +0 -24
  618. package/dist/generated/types/pdaAllocated.d.ts.map +0 -1
  619. package/dist/generated/types/pdaAllocated.js.map +0 -1
  620. package/dist/generated/types/pdaExtended.d.ts +0 -24
  621. package/dist/generated/types/pdaExtended.d.ts.map +0 -1
  622. package/dist/generated/types/pdaExtended.js +0 -28
  623. package/dist/generated/types/pdaExtended.js.map +0 -1
  624. package/dist/integrations/protocol-handler.d.ts +0 -59
  625. package/dist/integrations/protocol-handler.d.ts.map +0 -1
  626. package/dist/integrations/protocol-handler.js +0 -9
  627. package/dist/integrations/protocol-handler.js.map +0 -1
@@ -24,13 +24,66 @@ function seedU64Le(value) {
24
24
  function seedU8(value) {
25
25
  return new Uint8Array([value]);
26
26
  }
27
- export async function getVaultPDA(owner, vaultId, programAddress = SIGIL_PROGRAM_ADDRESS) {
27
+ /**
28
+ * Derive the AgentVault PDA from its on-chain seeds.
29
+ *
30
+ * **Important — post Phase 8 LBL-01:** the on-chain seed is
31
+ * `vault.vault_authority`, not the current `vault.owner`. The two are
32
+ * IDENTICAL at `initialize_vault` time (the handler writes
33
+ * `vault.vault_authority = owner.key()`), so at vault creation a caller
34
+ * may legitimately pass the initial owner here. After an
35
+ * `accept_ownership_transfer` the two diverge: `vault.owner` becomes the
36
+ * new owner while `vault.vault_authority` stays pinned to the original
37
+ * owner — and the on-chain PDA address is unchanged.
38
+ *
39
+ * If you are deriving a PDA for a vault that has (or might have) been
40
+ * ownership-transferred, prefer {@link getVaultPdaFromState} which reads
41
+ * `vault_authority` directly from on-chain state. Passing the current
42
+ * `owner` here for a transferred vault produces the WRONG address and
43
+ * silently returns a PDA that does not exist on-chain.
44
+ *
45
+ * @param vaultAuthority — the immutable seed-key. At `initialize_vault`
46
+ * time this is the same as `owner`; thereafter callers must read it
47
+ * from `AgentVault.vault_authority`.
48
+ * @param vaultId — the same `u64` passed to `initialize_vault`.
49
+ * @param programAddress — defaults to the canonical Sigil program id.
50
+ *
51
+ * @deprecated NH-4 close (Bucket 2 re-audit 2026-05-21): the parameter
52
+ * was renamed `owner → vaultAuthority` in 0.16.0 to make the LBL-01
53
+ * contract explicit at the type level. Direct callers that historically
54
+ * passed `vault.owner` will now silently derive the WRONG PDA for any
55
+ * ownership-transferred vault. Use {@link getVaultPdaFromState} which
56
+ * takes a `{ vaultAuthority, vaultId }` shape — the field name forces
57
+ * the caller to read the immutable seed from on-chain state rather
58
+ * than assume `owner == vault_authority`. This function stays for
59
+ * pre-LBL-01 backward compatibility (init-time call sites where the
60
+ * two are equal by construction) and will be removed in v0.18.
61
+ */
62
+ export async function getVaultPDA(vaultAuthority, vaultId, programAddress = SIGIL_PROGRAM_ADDRESS) {
28
63
  const [pda, bump] = await getProgramDerivedAddress({
29
64
  programAddress,
30
- seeds: [seedString("vault"), seedAddress(owner), seedU64Le(vaultId)],
65
+ seeds: [
66
+ seedString("vault"),
67
+ seedAddress(vaultAuthority),
68
+ seedU64Le(vaultId),
69
+ ],
31
70
  });
32
71
  return [pda, bump];
33
72
  }
73
+ /**
74
+ * Derive the AgentVault PDA from on-chain state.
75
+ *
76
+ * **Use this AFTER an ownership transfer.** Reads `vault.vault_authority`
77
+ * (the immutable Phase 8 LBL-01 seed-key) instead of the current
78
+ * `vault.owner`, which would resolve to the wrong PDA once
79
+ * `accept_ownership_transfer` has run.
80
+ *
81
+ * Equivalent to calling `getVaultPDA(vault.vaultAuthority, vault.vaultId)`,
82
+ * but the dedicated name documents the intent at the call site.
83
+ */
84
+ export async function getVaultPdaFromState(vault, programAddress = SIGIL_PROGRAM_ADDRESS) {
85
+ return getVaultPDA(vault.vaultAuthority, vault.vaultId, programAddress);
86
+ }
34
87
  export async function getPolicyPDA(vault, programAddress = SIGIL_PROGRAM_ADDRESS) {
35
88
  const [pda, bump] = await getProgramDerivedAddress({
36
89
  programAddress,
@@ -64,18 +117,7 @@ export async function getPendingPolicyPDA(vault, programAddress = SIGIL_PROGRAM_
64
117
  });
65
118
  return [pda, bump];
66
119
  }
67
- export async function getEscrowPDA(sourceVault, destinationVault, escrowId, programAddress = SIGIL_PROGRAM_ADDRESS) {
68
- const [pda, bump] = await getProgramDerivedAddress({
69
- programAddress,
70
- seeds: [
71
- seedString("escrow"),
72
- seedAddress(sourceVault),
73
- seedAddress(destinationVault),
74
- seedU64Le(escrowId),
75
- ],
76
- });
77
- return [pda, bump];
78
- }
120
+ // getEscrowPDA REMOVED in v2 revamp Stage 1 (escrow feature deleted).
79
121
  export async function getAgentOverlayPDA(vault, shardIndex = 0, programAddress = SIGIL_PROGRAM_ADDRESS) {
80
122
  const [pda, bump] = await getProgramDerivedAddress({
81
123
  programAddress,
@@ -83,29 +125,27 @@ export async function getAgentOverlayPDA(vault, shardIndex = 0, programAddress =
83
125
  });
84
126
  return [pda, bump];
85
127
  }
86
- export async function getConstraintsPDA(vault, programAddress = SIGIL_PROGRAM_ADDRESS) {
87
- const [pda, bump] = await getProgramDerivedAddress({
88
- programAddress,
89
- seeds: [seedString("constraints"), seedAddress(vault)],
90
- });
91
- return [pda, bump];
92
- }
93
- export async function getPendingConstraintsPDA(vault, programAddress = SIGIL_PROGRAM_ADDRESS) {
128
+ /**
129
+ * Phase 7 — derive PDA for `AuditLogSuccess` at `[b"audit_success", vault]`.
130
+ * Allocated at vault creation, written by every mutating instruction that
131
+ * lands on the success path. Closed at `close_vault`.
132
+ */
133
+ export async function getAuditLogSuccessPDA(vault, programAddress = SIGIL_PROGRAM_ADDRESS) {
94
134
  const [pda, bump] = await getProgramDerivedAddress({
95
135
  programAddress,
96
- seeds: [seedString("pending_constraints"), seedAddress(vault)],
136
+ seeds: [seedString("audit_success"), seedAddress(vault)],
97
137
  });
98
138
  return [pda, bump];
99
139
  }
100
140
  /**
101
- * Derive PDA for pending CLOSE constraints (queue_close_constraints).
102
- * Seed: "pending_close_constraints" NOT the same as "pending_constraints" (which is for updates).
103
- * See close_vault.rs:127.
141
+ * Phase 7 — derive PDA for `AuditLogRejected` at `[b"audit_rejected", vault]`.
142
+ * Audit #2 F-19 split: keeps rejected-finalize bursts out of the success
143
+ * buffer's blast radius.
104
144
  */
105
- export async function getPendingCloseConstraintsPDA(vault, programAddress = SIGIL_PROGRAM_ADDRESS) {
145
+ export async function getAuditLogRejectedPDA(vault, programAddress = SIGIL_PROGRAM_ADDRESS) {
106
146
  const [pda, bump] = await getProgramDerivedAddress({
107
147
  programAddress,
108
- seeds: [seedString("pending_close_constraints"), seedAddress(vault)],
148
+ seeds: [seedString("audit_rejected"), seedAddress(vault)],
109
149
  });
110
150
  return [pda, bump];
111
151
  }
@@ -123,10 +163,6 @@ export async function resolveAccounts(input, programAddress = SIGIL_PROGRAM_ADDR
123
163
  trackerPda,
124
164
  sessionPda,
125
165
  };
126
- if (input.hasConstraints) {
127
- const [constraintsPda] = await getConstraintsPDA(input.vault, programAddress);
128
- result.constraintsPda = constraintsPda;
129
- }
130
166
  return result;
131
167
  }
132
168
  //# sourceMappingURL=resolve-accounts.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"resolve-accounts.js","sourceRoot":"","sources":["../src/resolve-accounts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resolve-accounts.js","sourceRoot":"","sources":["../src/resolve-accounts.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,14 @@ export interface SendAndConfirmOptions {
17
17
  pollIntervalMs?: number;
18
18
  /** Confirmation commitment. Default: "confirmed" */
19
19
  commitment?: Commitment;
20
+ /**
21
+ * Skip preflight simulation. Default: false. Required for slot-bound
22
+ * transactions (e.g. initialize_vault's PEN-CROSS-2 digest): preflight
23
+ * simulates at the CURRENT slot, which mismatches a digest bound to a FUTURE
24
+ * execution slot and rejects with PolicyPreviewMismatch before the tx ever
25
+ * lands. Sending unsimulated lets it execute at the bound slot.
26
+ */
27
+ skipPreflight?: boolean;
20
28
  }
21
29
  /**
22
30
  * Get (or create) the blockhash cache scoped to a specific RPC client.
@@ -57,10 +65,28 @@ export declare class BlockhashCache {
57
65
  private refresh;
58
66
  }
59
67
  /**
60
- * Sign a compiled transaction and encode to base64 wire format.
68
+ * Sign a COMPILED transaction and encode it to base64 wire format.
69
+ *
70
+ * `signer` may be either kind of Kit transaction signer, and the two kinds
71
+ * have DIFFERENT return contracts:
72
+ *
73
+ * - A `TransactionModifyingSigner` (`modifyAndSignTransactions`) returns the
74
+ * fully-formed signed transaction object directly.
75
+ * - A `TransactionPartialSigner` — which includes every `@solana/kit`
76
+ * `KeyPairSigner` — returns a `SignatureDictionary`
77
+ * (`Record<Address, SignatureBytes>`), NOT a transaction. That dictionary
78
+ * must be MERGED into the compiled transaction's `signatures` map to yield
79
+ * a sendable transaction.
61
80
  *
62
- * Handles Kit's TransactionSigner interface which may expose
63
- * `modifyAndSignTransactions` or `signTransactions` (both accept/return arrays).
81
+ * The previous implementation called `signTransactions([tx])` and fed
82
+ * `results[0]` straight to `getBase64EncodedWireTransaction`. For a partial
83
+ * signer that `results[0]` is a signature dictionary with no `messageBytes`,
84
+ * so the encoder threw `Cannot read properties of undefined (reading
85
+ * 'length')`. Delegating to Kit's `signTransactionWithSigners` fixes this: it
86
+ * categorizes the signer, applies modifying signers then partial signers
87
+ * (merging their `SignatureDictionary` into `transaction.signatures`), and
88
+ * asserts the result is fully signed — returning a `SendableTransaction` that
89
+ * still carries `messageBytes` for the encoder.
64
90
  *
65
91
  * @returns Base64-encoded wire transaction ready for sendTransaction RPC.
66
92
  */
@@ -1 +1 @@
1
- {"version":3,"file":"rpc-helpers.d.ts","sourceRoot":"","sources":["../src/rpc-helpers.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EACV,GAAG,EACH,YAAY,EACZ,UAAU,EACV,4BAA4B,EAC5B,iBAAiB,EAClB,MAAM,kBAAkB,CAAC;AAoB1B,MAAM,WAAW,SAAS;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,oBAAoB,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,qBAAqB;IACpC,8DAA8D;IAC9D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yCAAyC;IACzC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,oDAAoD;IACpD,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB;AAsBD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,GAAG,CAAC,YAAY,CAAC,GAAG,cAAc,CAOxE;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAA0B;IACxC,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;gBAEnB,KAAK,CAAC,EAAE,MAAM;IAI1B;;OAEG;IACG,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,YAAY,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC;IAQrD;;OAEG;IACH,UAAU,IAAI,IAAI;YAKJ,OAAO;CAgBtB;AAID;;;;;;;GAOG;AACH,wBAAsB,aAAa,CACjC,MAAM,EAAE,iBAAiB,EACzB,UAAU,EAAE,OAAO,GAClB,OAAO,CAAC,4BAA4B,CAAC,CA0BvC;AAID;;;GAGG;AACH,wBAAsB,yBAAyB,CAC7C,GAAG,EAAE,GAAG,CAAC,YAAY,CAAC,EACtB,kBAAkB,EAAE,4BAA4B,EAChD,OAAO,CAAC,EAAE,qBAAqB,GAC9B,OAAO,CAAC,MAAM,CAAC,CA2DjB"}
1
+ {"version":3,"file":"rpc-helpers.d.ts","sourceRoot":"","sources":["../src/rpc-helpers.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EACV,GAAG,EACH,YAAY,EACZ,UAAU,EACV,4BAA4B,EAC5B,iBAAiB,EAClB,MAAM,kBAAkB,CAAC;AAuB1B,MAAM,WAAW,SAAS;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,oBAAoB,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,qBAAqB;IACpC,8DAA8D;IAC9D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yCAAyC;IACzC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,oDAAoD;IACpD,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAsBD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,GAAG,CAAC,YAAY,CAAC,GAAG,cAAc,CAOxE;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAA0B;IACxC,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;gBAEnB,KAAK,CAAC,EAAE,MAAM;IAI1B;;OAEG;IACG,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,YAAY,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC;IAQrD;;OAEG;IACH,UAAU,IAAI,IAAI;YAKJ,OAAO;CAgBtB;AAID;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAsB,aAAa,CACjC,MAAM,EAAE,iBAAiB,EACzB,UAAU,EAAE,OAAO,GAClB,OAAO,CAAC,4BAA4B,CAAC,CAiDvC;AAID;;;GAGG;AACH,wBAAsB,yBAAyB,CAC7C,GAAG,EAAE,GAAG,CAAC,YAAY,CAAC,EACtB,kBAAkB,EAAE,4BAA4B,EAChD,OAAO,CAAC,EAAE,qBAAqB,GAC9B,OAAO,CAAC,MAAM,CAAC,CAiEjB"}
@@ -5,7 +5,7 @@
5
5
  * - signAndEncode: Sign a compiled TX + encode to base64 wire format
6
6
  * - sendAndConfirmTransaction: Send + poll getSignatureStatuses
7
7
  */
8
- import { getBase64EncodedWireTransaction } from "./kit-adapter.js";
8
+ import { getBase64EncodedWireTransaction, signTransactionWithSigners, } from "./kit-adapter.js";
9
9
  import { SigilSdkDomainError } from "./errors/sdk.js";
10
10
  import { SigilRpcError } from "./errors/rpc.js";
11
11
  import { SIGIL_ERROR__SDK__SIGNER_INVALID, SIGIL_ERROR__SDK__SIGNATURE_INVALID, SIGIL_ERROR__RPC__TX_FAILED, SIGIL_ERROR__RPC__CONFIRMATION_TIMEOUT, } from "./errors/codes.js";
@@ -95,24 +95,59 @@ export class BlockhashCache {
95
95
  }
96
96
  // ─── signAndEncode ───────────────────────────────────────────────────────────
97
97
  /**
98
- * Sign a compiled transaction and encode to base64 wire format.
98
+ * Sign a COMPILED transaction and encode it to base64 wire format.
99
99
  *
100
- * Handles Kit's TransactionSigner interface which may expose
101
- * `modifyAndSignTransactions` or `signTransactions` (both accept/return arrays).
100
+ * `signer` may be either kind of Kit transaction signer, and the two kinds
101
+ * have DIFFERENT return contracts:
102
+ *
103
+ * - A `TransactionModifyingSigner` (`modifyAndSignTransactions`) returns the
104
+ * fully-formed signed transaction object directly.
105
+ * - A `TransactionPartialSigner` — which includes every `@solana/kit`
106
+ * `KeyPairSigner` — returns a `SignatureDictionary`
107
+ * (`Record<Address, SignatureBytes>`), NOT a transaction. That dictionary
108
+ * must be MERGED into the compiled transaction's `signatures` map to yield
109
+ * a sendable transaction.
110
+ *
111
+ * The previous implementation called `signTransactions([tx])` and fed
112
+ * `results[0]` straight to `getBase64EncodedWireTransaction`. For a partial
113
+ * signer that `results[0]` is a signature dictionary with no `messageBytes`,
114
+ * so the encoder threw `Cannot read properties of undefined (reading
115
+ * 'length')`. Delegating to Kit's `signTransactionWithSigners` fixes this: it
116
+ * categorizes the signer, applies modifying signers then partial signers
117
+ * (merging their `SignatureDictionary` into `transaction.signatures`), and
118
+ * asserts the result is fully signed — returning a `SendableTransaction` that
119
+ * still carries `messageBytes` for the encoder.
102
120
  *
103
121
  * @returns Base64-encoded wire transaction ready for sendTransaction RPC.
104
122
  */
105
123
  export async function signAndEncode(signer, compiledTx) {
124
+ // Preserve the prior interface guard: a signer that implements NEITHER
125
+ // partial- nor modifying-signing is rejected up front with the same domain
126
+ // error/code as before (rather than surfacing as a raw Kit SolanaError from
127
+ // inside signTransactionWithSigners, which would filter the signer out and
128
+ // fail later on a missing-signatures assertion).
106
129
  const signerTyped = signer;
107
- const signFn = signerTyped.modifyAndSignTransactions ?? signerTyped.signTransactions;
108
- if (typeof signFn !== "function") {
130
+ const hasSignMethod = typeof signerTyped.modifyAndSignTransactions === "function" ||
131
+ typeof signerTyped.signTransactions === "function";
132
+ if (!hasSignMethod) {
109
133
  throw new SigilSdkDomainError(SIGIL_ERROR__SDK__SIGNER_INVALID, "Signer must implement signTransactions() or modifyAndSignTransactions()", { context: { reason: "missing-sign-method" } });
110
134
  }
111
- const results = await signFn.call(signerTyped, [compiledTx]);
112
- if (!Array.isArray(results) || results.length === 0) {
113
- throw new SigilSdkDomainError(SIGIL_ERROR__SDK__SIGNATURE_INVALID, "signTransactions returned invalid result: expected non-empty array", { context: { reason: "empty-or-non-array" } });
135
+ let signedTx;
136
+ try {
137
+ // Handles BOTH signer kinds: modifying signers transform the tx, partial
138
+ // signers (KeyPairSigner) get their SignatureDictionary merged into
139
+ // `compiledTx.signatures`. Asserts full-signedness before returning.
140
+ // `signer` is the broad `TransactionSigner` union; the guard above already
141
+ // confirmed it is a partial- or modifying-signer (the only kinds
142
+ // signTransactionWithSigners accepts), so narrow it for the call.
143
+ signedTx = await signTransactionWithSigners([signer], compiledTx);
144
+ }
145
+ catch (err) {
146
+ // A signer that produced no/partial signatures (e.g. wrong signer for this
147
+ // fee payer) surfaces here as a Kit signatures-missing assertion. Map it to
148
+ // the established domain error/code so callers' error handling is unchanged.
149
+ throw new SigilSdkDomainError(SIGIL_ERROR__SDK__SIGNATURE_INVALID, `signAndEncode: failed to produce a fully-signed transaction: ${err instanceof Error ? err.message : String(err)}`, { context: { reason: "sign-failed" } });
114
150
  }
115
- const [signedTx] = results;
116
151
  return getBase64EncodedWireTransaction(signedTx);
117
152
  }
118
153
  // ─── sendAndConfirmTransaction ──────────────────────────────────────────────
@@ -128,7 +163,7 @@ export async function sendAndConfirmTransaction(rpc, encodedTransaction, options
128
163
  const signature = await rpc
129
164
  .sendTransaction(encodedTransaction, {
130
165
  encoding: "base64",
131
- skipPreflight: false,
166
+ skipPreflight: options?.skipPreflight ?? false,
132
167
  preflightCommitment: commitment,
133
168
  })
134
169
  .send();
@@ -142,7 +177,11 @@ export async function sendAndConfirmTransaction(rpc, encodedTransaction, options
142
177
  const status = statuses[0];
143
178
  // Check for error
144
179
  if (status.err) {
145
- throw new SigilRpcError(SIGIL_ERROR__RPC__TX_FAILED, `Transaction ${signature} failed: ${JSON.stringify(status.err)}`, { context: { signature: signature } });
180
+ // status.err carries Kit's BigInt-typed fields (e.g. u64 indices), so a
181
+ // plain JSON.stringify throws "Do not know how to serialize a BigInt"
182
+ // and MASKS the real on-chain error. Serialize BigInts as strings.
183
+ const errJson = JSON.stringify(status.err, (_k, v) => typeof v === "bigint" ? v.toString() : v);
184
+ throw new SigilRpcError(SIGIL_ERROR__RPC__TX_FAILED, `Transaction ${signature} failed: ${errJson}`, { context: { signature: signature } });
146
185
  }
147
186
  // Check for sufficient confirmation
148
187
  const level = status.confirmationStatus;
@@ -1 +1 @@
1
- {"version":3,"file":"rpc-helpers.js","sourceRoot":"","sources":["../src/rpc-helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rpc-helpers.js","sourceRoot":"","sources":["../src/rpc-helpers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,195 @@
1
+ /**
2
+ * AL3 — `computeSealInputDigest()` per-call intent digest.
3
+ * Phase 9 Batch I (ISC-69..76, 143, 148, 150, 153, 155).
4
+ *
5
+ * SHA-256 over a canonical Borsh-style encoding of the SealInput envelope
6
+ * (vault, agent identity, mint, amount, target protocol, network, sealed
7
+ * instructions). Mirrors the discipline of TA-19's `policy_preview_digest`
8
+ * (`sdk/kit/src/policy/compute-policy-preview-digest.ts`) — same primitive
9
+ * (SHA-256 via the shared `canonical-encode.ts` helper), same APPEND-ONLY
10
+ * field ordering, same byte-equal cross-runtime test fixture pattern.
11
+ *
12
+ * **What this defends against**
13
+ * TA-19 binds the POLICY STATE the owner approved (allowlists, caps,
14
+ * cosign flag, agent set hash). It does NOT bind the specific call the
15
+ * agent is making — a compromised agent can still propose a transfer to
16
+ * an attacker-controlled but still-allowlisted recipient, or reorder
17
+ * instruction account metas to swap a destination, and the policy
18
+ * checks all pass. AL3 closes that gap: the owner approves a SPECIFIC
19
+ * intent (recipient, amount, mint, ix shape) in the preview UI, the SDK
20
+ * hashes that intent into a 32-byte digest, and `executeSeal` rejects
21
+ * if the bundle assembled at submit time produces a different digest.
22
+ *
23
+ * **Canonical encoding (FIXED — DO NOT REORDER)**
24
+ *
25
+ * 1. intent_version: u8 = 1 (1 byte, reserved
26
+ * for future format
27
+ * evolution per
28
+ * Council ISC-155)
29
+ * 2. network_id: u8 (1 byte; 0=devnet,
30
+ * 1=mainnet — binds
31
+ * AL4 isMainnet so
32
+ * a mainnet bundle
33
+ * can't be replayed
34
+ * through a devnet
35
+ * preview)
36
+ * 3. vault: Pubkey (32 bytes)
37
+ * 4. agent: Pubkey (32 bytes —
38
+ * agent IDENTITY,
39
+ * not signer)
40
+ * 5. token_mint: Pubkey (32 bytes)
41
+ * 6. amount: u64 LE (8 bytes)
42
+ * 7. target_protocol: Pubkey (32 bytes; system
43
+ * program if the
44
+ * caller omitted
45
+ * targetProtocol)
46
+ * 8. instructions: Vec<Ix> (u32 LE length ++
47
+ * each ix below)
48
+ *
49
+ * Each ix:
50
+ * a. program_address: Pubkey (32 bytes)
51
+ * b. accounts: Vec<(address: Pubkey, role: u8)> (u32 LE length ++
52
+ * each 33-byte
53
+ * entry)
54
+ * c. data: Vec<u8> (u32 LE length ++
55
+ * data bytes)
56
+ *
57
+ * **Discipline guardrails**
58
+ *
59
+ * - NEVER `JSON.stringify` the input. Object property iteration order is
60
+ * not stable across engines and silent reorderings would invalidate
61
+ * the digest invariant. The canonical encoder walks fields explicitly.
62
+ * - 32-byte pubkey comparisons use `Buffer.compare` on raw bytes (NOT
63
+ * base58 lexicographic) so the byte ordering matches Solana's
64
+ * `Pubkey::cmp` exactly. Council ISC-150 flagged this as a critical
65
+ * bug class — base58 lex doesn't preserve the canonical byte ordering
66
+ * when leading-zero counts differ.
67
+ * - Account meta order is preserved as supplied. Reordering metas — even
68
+ * identical pubkeys — produces a different digest. This is the load-
69
+ * bearing protection against "swap recipient slots" attacks.
70
+ * - `intent_version: u8 = 1` at position 1 reserves the discriminant
71
+ * for future format upgrades. A v2 SealInput format would write
72
+ * `intent_version: 2` and the on-chain verifier could route to the
73
+ * correct decoder by reading the first byte.
74
+ *
75
+ * **Canonical input contract (load-bearing)**
76
+ *
77
+ * `seal()` hashes the **pre-rewrite, post-filter** DeFi instructions:
78
+ *
79
+ * 1. ComputeBudget program ixs are NOT in the input (wallet adapters
80
+ * may prepend their own; the user-approved intent shouldn't pin
81
+ * a specific budget). `seal()` filters these out via
82
+ * `params.instructions.filter(ix => ix.programAddress !== COMPUTE_BUDGET_PROGRAM)`
83
+ * before computing the digest.
84
+ * 2. Top-level System program ixs are NOT in the input (`isProtocolAllowed`
85
+ * would reject them anyway; `seal()` strips them in the same filter).
86
+ * 3. Agent-ATA → vault-ATA rewrites happen AFTER the digest is
87
+ * computed. The digest reflects what the USER APPROVED (agent
88
+ * ATAs), not what the SDK SUBMITTED (vault ATAs). Any future
89
+ * on-chain verifier MUST receive the pre-rewrite projection as
90
+ * an explicit argument; re-deriving from the submitted tx bytes
91
+ * is impossible.
92
+ * 4. `outputStablecoinAccount` and `additionalAtaReplacements` from
93
+ * `SealParams` are NOT bound by the digest in 0.16.x — they are
94
+ * caller-supplied overrides that materially change downstream
95
+ * ATA flow. Phase 9 Batch M §RP flagged this as a HIGH gap. A
96
+ * preview UI that wants tight intent binding MUST refuse any
97
+ * `SealParams` carrying these overrides until 0.16.1 hashes them
98
+ * into the canonical encoding.
99
+ *
100
+ * Any re-implementation that wants to verify a digest produced by
101
+ * `seal()` MUST apply the same filter + use the pre-rewrite ix list.
102
+ */
103
+ import type { Address, Instruction } from "../kit-adapter.js";
104
+ /**
105
+ * Network discriminant used at canonical position 2. Devnet and mainnet
106
+ * are the two values bound by the digest; testnet and localnet are
107
+ * coerced to devnet for digest purposes (the cap/allowlist contract is
108
+ * the same on all non-mainnet networks).
109
+ *
110
+ * @internal The numeric discriminants are an encoding detail of the
111
+ * canonical digest layout. Callers should pass `network: "devnet" |
112
+ * "mainnet"` to {@link computeSealInputDigest} and let the encoder map
113
+ * to the wire value. Consumers wanting a CAIP-2 string for cross-system
114
+ * binding should use `CAIP2_SOLANA_*` from `../caip2-network.js`.
115
+ */
116
+ export declare const NETWORK_ID_DEVNET: 0;
117
+ /** @internal See {@link NETWORK_ID_DEVNET}. */
118
+ export declare const NETWORK_ID_MAINNET: 1;
119
+ /**
120
+ * Inputs to {@link computeSealInputDigest}. A narrower projection of
121
+ * `SealParams` containing only the binding fields.
122
+ *
123
+ * `targetProtocol` is optional; when omitted, the system program ID
124
+ * (`11111111111111111111111111111111`) is encoded at canonical position
125
+ * 7. The on-chain verifier MUST mirror this default to keep the digest
126
+ * stable.
127
+ */
128
+ export interface SealIntentInput {
129
+ vault: Address | string;
130
+ /**
131
+ * Agent identity pubkey. In V2 (Phase 9) the agent identity IS the
132
+ * signer address — `params.agent.address` from `seal()`. If a future
133
+ * V3 multi-sig flow ever separates signer from identity, this field
134
+ * MUST carry the IDENTITY (the address that was registered in the
135
+ * vault's agent list), not the signer.
136
+ */
137
+ agent: Address | string;
138
+ tokenMint: Address | string;
139
+ amount: bigint;
140
+ targetProtocol?: Address | string;
141
+ network: "devnet" | "mainnet";
142
+ instructions: readonly Pick<Instruction, "programAddress" | "accounts" | "data">[];
143
+ }
144
+ /**
145
+ * Compute the canonical AL3 intent digest over a `SealIntentInput`.
146
+ *
147
+ * @returns 32-byte SHA-256 digest. Stable across Node, Bun, and the
148
+ * browser (Phase 9 Batch L hex fixtures lock this down).
149
+ *
150
+ * @throws if any pubkey doesn't base58-decode to exactly 32 bytes, if
151
+ * `amount` is negative, or if `network` isn't `"devnet"` or `"mainnet"`.
152
+ */
153
+ export declare function computeSealInputDigest(input: SealIntentInput): Uint8Array;
154
+ /**
155
+ * Inputs to {@link computeScalarIntentDigest} — the on-chain-verifiable
156
+ * SCALAR subset of {@link SealIntentInput}.
157
+ *
158
+ * Drops the `instructions` array because the on-chain verifier does not
159
+ * (yet) recompute the full ix-bound digest — that requires the ATA-rewrite
160
+ * mapping table to cross the seal()/validate_and_authorize boundary, which
161
+ * is v0.17+ work. The scalar subset binds the recipient/amount/mint/protocol
162
+ * fields the user approves in the preview UI; ix-data tamper is still
163
+ * gated by R-1..R-4 + TA-12 + TA-14 post-execution invariants.
164
+ */
165
+ export interface ScalarIntentInput {
166
+ vault: Address | string;
167
+ agent: Address | string;
168
+ tokenMint: Address | string;
169
+ amount: bigint;
170
+ targetProtocol?: Address | string;
171
+ network: "devnet" | "mainnet";
172
+ }
173
+ /**
174
+ * Compute the canonical scalar AL3 intent digest (D-1 + D-6 close, Bucket
175
+ * 2 2026-05-21).
176
+ *
177
+ * SHA-256 over: `b"SIG1" || u8(2) || u8(network_id) || vault || agent ||
178
+ * token_mint || u64_le(amount) || target_protocol`. Total 142 bytes.
179
+ *
180
+ * The on-chain verifier at `programs/sigil/src/utils/intent_digest.rs`
181
+ * recomputes this same digest from `validate_and_authorize`'s typed
182
+ * arguments and rejects bundle execution on byte-equal mismatch
183
+ * (`ErrIntentDigestMismatch` code 6102). Network discriminant is derived
184
+ * on-chain from the program's build feature; the caller does NOT pin it
185
+ * — the encoder here just writes the byte the caller's wallet computed,
186
+ * and Rust verifies the byte matches its own network. Wrong-network
187
+ * digests fail by construction.
188
+ *
189
+ * @returns 32-byte SHA-256 digest, byte-equal to the Rust verifier output.
190
+ *
191
+ * @throws if any pubkey doesn't base58-decode to 32 bytes, if `amount`
192
+ * is negative, or if `network` isn't `"devnet"` or `"mainnet"`.
193
+ */
194
+ export declare function computeScalarIntentDigest(input: ScalarIntentInput): Uint8Array;
195
+ //# sourceMappingURL=intent-digest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"intent-digest.d.ts","sourceRoot":"","sources":["../../src/seal/intent-digest.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqGG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAe9D;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,iBAAiB,EAAG,CAAU,CAAC;AAC5C,+CAA+C;AAC/C,eAAO,MAAM,kBAAkB,EAAG,CAAU,CAAC;AAE7C;;;;;;;;GAQG;AACH,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC;IACxB;;;;;;OAMG;IACH,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC;IACxB,SAAS,EAAE,OAAO,GAAG,MAAM,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAClC,OAAO,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC9B,YAAY,EAAE,SAAS,IAAI,CACzB,WAAW,EACX,gBAAgB,GAAG,UAAU,GAAG,MAAM,CACvC,EAAE,CAAC;CACL;AAqBD;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,eAAe,GAAG,UAAU,CA8LzE;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC;IACxB,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC;IACxB,SAAS,EAAE,OAAO,GAAG,MAAM,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAClC,OAAO,EAAE,QAAQ,GAAG,SAAS,CAAC;CAC/B;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,iBAAiB,GACvB,UAAU,CA4EZ"}