@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
@@ -12,10 +12,14 @@ import { createSolanaRpc, createKeyPairSignerFromBytes, generateKeyPairSigner, p
12
12
  import { getSetComputeUnitLimitInstruction } from "@solana-program/compute-budget";
13
13
  import { readFileSync } from "node:fs";
14
14
  import { getInitializeVaultInstructionAsync } from "../generated/instructions/initializeVault.js";
15
- import { getRegisterAgentInstruction } from "../generated/instructions/registerAgent.js";
15
+ import { getRegisterAgentInstructionAsync } from "../generated/instructions/registerAgent.js";
16
+ import { getQueueAgentGrantInstructionAsync } from "../generated/instructions/queueAgentGrant.js";
17
+ import { getApplyAgentGrantInstructionAsync } from "../generated/instructions/applyAgentGrant.js";
16
18
  import { getDepositFundsInstructionAsync } from "../generated/instructions/depositFunds.js";
19
+ import { fetchPendingAgentGrant } from "../generated/accounts/pendingAgentGrant.js";
17
20
  import { inscribe } from "../inscribe.js";
18
21
  import { getAgentOverlayPDA, getTrackerPDA } from "../resolve-accounts.js";
22
+ import { computePolicyPreviewDigest } from "../policy/compute-policy-preview-digest.js";
19
23
  import { sendAndConfirmTransaction, BlockhashCache } from "../rpc-helpers.js";
20
24
  import { USDC_MINT_DEVNET, FULL_CAPABILITY, PROTOCOL_TREASURY, } from "../types.js";
21
25
  // ─── Rate Limiter (5 RPS against Helius 10 RPS limit) ──────────────────────
@@ -124,6 +128,156 @@ export async function ensureStablecoinBalance(rpcUrl, ownerSecretKey, mintAddres
124
128
  `If owner is not the mint authority, fund the ATA manually.`);
125
129
  }
126
130
  }
131
+ // ─── Transient-RPC retry (public-devnet 429 tolerance) ──────────────────────
132
+ /**
133
+ * Run an async RPC read with bounded exponential-backoff retry on transient
134
+ * RPC-availability errors (429 / Too Many Requests / generic HTTP error). The
135
+ * public devnet endpoint rate-limits read bursts the same way it does sends, so
136
+ * raw `getSlot` / `getBlockTime` calls in the provisioning + timelock-wait
137
+ * paths must tolerate the same flakiness as `sendKitTransaction`. Test-only.
138
+ */
139
+ async function rpcReadWithRetry(fn, maxAttempts = 6) {
140
+ let lastErr;
141
+ for (let attempt = 0; attempt < maxAttempts; attempt++) {
142
+ try {
143
+ return await fn();
144
+ }
145
+ catch (e) {
146
+ const transient = errorMentions(e, [
147
+ "429",
148
+ "Too Many Requests",
149
+ "HTTP error",
150
+ "fetch failed",
151
+ "ETIMEDOUT",
152
+ "ECONNRESET",
153
+ ]);
154
+ if (!transient || attempt === maxAttempts - 1)
155
+ throw e;
156
+ lastErr = e;
157
+ await new Promise((r) => setTimeout(r, 1000 * 2 ** attempt));
158
+ }
159
+ }
160
+ throw lastErr;
161
+ }
162
+ // ─── Operator-grant timelock (F-Q6) ─────────────────────────────────────────
163
+ /**
164
+ * Capability tier 2 = OPERATOR (= FULL_CAPABILITY). Mirrors
165
+ * `programs/sigil/src/state/mod.rs` `CAPABILITY_OPERATOR` and the
166
+ * agent-middleware `tests/helpers/devnet-setup.ts` constant.
167
+ */
168
+ export const CAPABILITY_OPERATOR = 2;
169
+ /**
170
+ * Poll the devnet CLUSTER clock (`getBlockTime`) until it reaches
171
+ * `deadlineUnix`, then return. On-chain timelocks gate on
172
+ * `Clock::unix_timestamp` — the stake-weighted cluster clock, which can skew
173
+ * from wall-time — so we poll it rather than sleeping a fixed wall duration.
174
+ * Mirrors `tests/helpers/devnet-setup.ts waitForClusterTime`. Bounded by a
175
+ * wall-clock cap (remaining cluster gap + 180s slack) so a stuck/null
176
+ * getBlockTime throws an explicit diagnostic instead of spinning until the
177
+ * mocha hook timeout.
178
+ */
179
+ async function waitForClusterTime(rpc, deadlineUnix, label = "deadline") {
180
+ const wallStart = Date.now();
181
+ let firstClusterTime = null;
182
+ let firstPass = true;
183
+ for (;;) {
184
+ const slot = await rpcReadWithRetry(() => rpc.getSlot({ commitment: "confirmed" }).send());
185
+ let clusterTime = null;
186
+ try {
187
+ clusterTime = Number(await rpcReadWithRetry(() => rpc.getBlockTime(slot).send()));
188
+ }
189
+ catch {
190
+ // getBlockTime can transiently fail for a just-produced slot (the slot
191
+ // has no recorded block time yet); treat as "not ready" and re-poll.
192
+ clusterTime = null;
193
+ }
194
+ if (clusterTime !== null && !Number.isNaN(clusterTime)) {
195
+ if (firstClusterTime === null)
196
+ firstClusterTime = clusterTime;
197
+ if (clusterTime >= deadlineUnix)
198
+ return;
199
+ }
200
+ const capMs = firstClusterTime !== null
201
+ ? (deadlineUnix - firstClusterTime + 180) * 1000
202
+ : 180_000;
203
+ if (Date.now() - wallStart > capMs) {
204
+ throw new Error(`waitForClusterTime(${label}): cluster clock never reached ` +
205
+ `${deadlineUnix} within wall cap (${Math.round(capMs / 1000)}s) — ` +
206
+ `getBlockTime degraded?`);
207
+ }
208
+ const remaining = clusterTime === null ? 10 : Math.max(deadlineUnix - clusterTime, 1);
209
+ // First pass sleeps the whole residual in one go; later passes verify in
210
+ // short steps (the cluster clock can lag wall-time by a few seconds).
211
+ await new Promise((r) => setTimeout(r, (firstPass ? remaining + 2 : Math.min(remaining + 1, 10)) * 1000));
212
+ firstPass = false;
213
+ }
214
+ }
215
+ /**
216
+ * Seat an OPERATOR-class agent (capability >= CAPABILITY_OPERATOR) via the
217
+ * lawful F-Q6 timelock path: `queue_agent_grant` → wait the on-chain
218
+ * single-key timelock floor → `apply_agent_grant`.
219
+ *
220
+ * A fresh single-key vault can NEVER seat an OPERATOR instantly —
221
+ * `register_agent` hard-rejects `capability >= CAPABILITY_OPERATOR` on a
222
+ * single-factor vault with `ErrOperatorGrantRequiresTimelock` (6107). The
223
+ * on-chain `SINGLE_KEY_OPERATOR_DELAY_FLOOR` is 600s (the missing 2nd factor);
224
+ * we read the EXACT `queued_at` + `min_delay_seconds` back from the on-chain
225
+ * `PendingAgentGrant` PDA (cluster truth, immune to local-clock skew) and wait
226
+ * out that window against `getBlockTime`, then apply.
227
+ *
228
+ * Mirrors `tests/helpers/devnet-setup.ts`
229
+ * `queueOperatorGrant`/`applyOperatorGrants`.
230
+ */
231
+ async function seatOperatorAgent(rpc, owner, vaultAddress, agentAddress, capability, spendingLimitUsd, overlayPDA) {
232
+ // 1. Queue. The builder auto-derives policy / pending / audit_success /
233
+ // slot_hashes / system_program from `vault`.
234
+ const queueIx = await getQueueAgentGrantInstructionAsync({
235
+ owner,
236
+ vault: vaultAddress,
237
+ agent: agentAddress,
238
+ capability,
239
+ spendingLimitUsd,
240
+ });
241
+ await sendKitTransaction(rpc, owner, [queueIx]);
242
+ // 2. Read the queue-time truth back from the on-chain pending PDA. The
243
+ // pending PDA address is the same one the queue builder derived; re-derive
244
+ // it the same way for the fetch.
245
+ const pendingAddr = queueIx
246
+ .accounts[3].address; // [owner, vault, policy, pending, ...]
247
+ const pending = await rpcReadWithRetry(() => fetchPendingAgentGrant(rpc, pendingAddr));
248
+ const queuedAt = Number(pending.data.queuedAt);
249
+ const minDelaySeconds = Number(pending.data.minDelaySeconds);
250
+ // 3. Wait out the on-chain timelock against the cluster clock. The on-chain
251
+ // check is `clock.unix_timestamp - queued_at >= min_delay_seconds`; add a
252
+ // few seconds of slack so the apply lands strictly after the boundary.
253
+ const deadline = queuedAt + minDelaySeconds + 3;
254
+ await waitForClusterTime(rpc, deadline, "operator-grant-timelock");
255
+ // 4. Apply. The builder auto-derives policy / pending / audit_success /
256
+ // slot_hashes from `vault`; only `agentSpendOverlay` must be supplied.
257
+ const applyIx = await getApplyAgentGrantInstructionAsync({
258
+ owner,
259
+ vault: vaultAddress,
260
+ agentSpendOverlay: overlayPDA,
261
+ });
262
+ await sendKitTransaction(rpc, owner, [applyIx]);
263
+ }
264
+ /**
265
+ * Does an error mention any of the given needles anywhere in its `.cause`
266
+ * chain? @solana/kit wraps program errors, so the on-chain code (e.g. "6071")
267
+ * is usually NOT on the top-level `.message` — it lives down the cause chain or
268
+ * in Kit's `.context.code`. Walk both at each level.
269
+ */
270
+ function errorMentions(err, needles) {
271
+ let cur = err;
272
+ for (let depth = 0; depth < 6 && cur != null; depth++) {
273
+ const c = cur;
274
+ const hay = `${String(c.message ?? "")} ${String(c.context?.code ?? "")} ${String(cur)}`;
275
+ if (needles.some((n) => hay.includes(n)))
276
+ return true;
277
+ cur = c.cause;
278
+ }
279
+ return false;
280
+ }
127
281
  /**
128
282
  * Provision a vault using Kit-native Codama builders.
129
283
  *
@@ -135,50 +289,144 @@ export async function ensureStablecoinBalance(rpcUrl, ownerSecretKey, mintAddres
135
289
  export async function provisionVault(rpc, owner, agent, mint = USDC_MINT_DEVNET, opts = {}) {
136
290
  const dailyCap = opts.dailySpendingCapUsd ?? 500000000n;
137
291
  const maxTx = opts.maxTransactionSizeUsd ?? 100000000n;
138
- const protocolMode = opts.protocolMode ?? 0; // allow all
292
+ // Phase 2 Option A: on-chain handler rejects protocolMode != 1 (ALLOWLIST).
293
+ // Devnet test default is now ALLOWLIST with empty protocols (no DeFi permitted
294
+ // by default — callers add protocols explicitly).
295
+ const protocolMode = opts.protocolMode ?? 1;
296
+ const protocols = opts.protocols ?? [];
139
297
  const permissions = opts.permissions ?? FULL_CAPABILITY;
140
298
  const spendingLimitUsd = opts.spendingLimitUsd ?? 0n;
141
- // 1. Derive PDAs via inscribe()
299
+ // Phase 2 TA-19: observe_only defaults to false unless caller opts in.
300
+ const observeOnly = opts.observeOnly ?? false;
301
+ // 1. Derive PDAs via inscribe() (auto-probes the next id unless one is given)
142
302
  const inscribeResult = await inscribe({
143
303
  rpc,
144
304
  network: "devnet",
145
305
  owner,
146
306
  agent,
307
+ vaultId: opts.vaultId,
147
308
  unsafeSkipTeeCheck: true,
148
309
  });
149
310
  const { vaultAddress, vaultId, policyAddress } = inscribeResult;
150
311
  const [overlayPDA] = await getAgentOverlayPDA(vaultAddress, 0);
151
- // 2. Build and send initializeVault
152
- const initIx = await getInitializeVaultInstructionAsync({
153
- owner,
154
- agentSpendOverlay: overlayPDA,
155
- feeDestination: PROTOCOL_TREASURY,
156
- vaultId,
157
- dailySpendingCapUsd: dailyCap,
158
- maxTransactionSizeUsd: maxTx,
159
- protocolMode,
160
- protocols: [],
161
- maxLeverageBps: 0,
162
- developerFeeRate: 0,
163
- maxSlippageBps: 500,
164
- timelockDuration: opts?.timelockDuration ?? 1800n, // MIN_TIMELOCK_DURATION (TOCTOU fix)
165
- allowedDestinations: [],
166
- protocolCaps: [],
167
- });
168
- await sendKitTransaction(rpc, owner, [
169
- getSetComputeUnitLimitInstruction({ units: 400_000 }),
170
- initIx,
171
- ]);
172
- // 3. Build and send registerAgent
173
- const registerIx = getRegisterAgentInstruction({
174
- owner,
175
- vault: vaultAddress,
176
- agentSpendOverlay: overlayPDA,
177
- agent: agent.address,
178
- capability: Number(permissions),
179
- spendingLimitUsd,
180
- });
181
- await sendKitTransaction(rpc, owner, [registerIx]);
312
+ // 2. Build and send initializeVault.
313
+ //
314
+ // PEN-CROSS-2: the on-chain handler captures Clock::get()?.slot at execution
315
+ // and require!s the owner-signed digest encode that EXACT slot
316
+ // (PolicyPreviewMismatch 6071 otherwise). The live devnet clock advances
317
+ // between getSlot() and landing — and `confirmed` LAGS the execution slot —
318
+ // so a single read mismatches every time. Bind to `processed + offset` and
319
+ // retry on 6071, fanning the offset out across attempts (mirrors the
320
+ // production SDK create-vault.ts + the agent-middleware sendInitVault).
321
+ const timelockDuration = opts?.timelockDuration ?? 1800n;
322
+ const seedOffsets = [2, 3, 4, 5, 6, 7, 8, 10, 12, 1, 9, 11, 14, 16, 18, 20];
323
+ let initLanded = false;
324
+ let lastInitErr;
325
+ for (let attempt = 0; attempt < 40 && !initLanded; attempt++) {
326
+ const base = await rpcReadWithRetry(() => rpc.getSlot({ commitment: "processed" }).send());
327
+ const createdAtSlot = base + BigInt(seedOffsets[attempt % seedOffsets.length]);
328
+ const previewDigest = computePolicyPreviewDigest({
329
+ dailySpendingCapUsd: dailyCap,
330
+ maxTransactionSizeUsd: maxTx,
331
+ maxSlippageBps: 500,
332
+ // PEN-CROSS-6: developer_fee_rate is bound by the digest.
333
+ developerFeeRate: 0,
334
+ protocolMode,
335
+ protocols,
336
+ destinationMode: 0,
337
+ allowedDestinations: [],
338
+ timelockDuration,
339
+ sessionExpirySeconds: 0n,
340
+ observeOnly,
341
+ hasPostAssertions: 0,
342
+ createdAtSlot,
343
+ operatingHours: 0x00ffffff,
344
+ autoPromoteGrays: false,
345
+ autoRevokeThreshold: 5,
346
+ // TA-12/14 (Phase 5): testing helper defaults — no floor, no per-recipient cap.
347
+ stableBalanceFloor: 0n,
348
+ perRecipientDailyCapUsd: 0n,
349
+ // G6 (audit 2026-05-18 cosign opt-in): testing helper default = false
350
+ // (low-friction). Tests can override via opts when exercising the
351
+ // cosign-required path explicitly.
352
+ cosignRequired: false,
353
+ });
354
+ const initIx = await getInitializeVaultInstructionAsync({
355
+ owner,
356
+ agentSpendOverlay: overlayPDA,
357
+ feeDestination: PROTOCOL_TREASURY,
358
+ vaultId,
359
+ dailySpendingCapUsd: dailyCap,
360
+ maxTransactionSizeUsd: maxTx,
361
+ protocolMode,
362
+ protocols,
363
+ developerFeeRate: 0,
364
+ maxSlippageBps: 500,
365
+ timelockDuration, // MIN_TIMELOCK_DURATION (TOCTOU fix)
366
+ allowedDestinations: [],
367
+ protocolCaps: [],
368
+ observeOnly,
369
+ operatingHours: 0x00ffffff,
370
+ autoPromoteGrays: false,
371
+ autoRevokeThreshold: 5,
372
+ stableBalanceFloor: 0n,
373
+ perRecipientDailyCapUsd: 0n,
374
+ // G6 (audit 2026-05-18 cosign opt-in): same default as the digest
375
+ // computation above — testing helper opts out of cosign by default.
376
+ cosignRequired: false,
377
+ previewDigest,
378
+ });
379
+ try {
380
+ // skipPreflight: the digest binds a FUTURE slot; a preflight sim at the
381
+ // current slot would always reject it (6071) before it can land.
382
+ await sendKitTransaction(rpc, owner, [
383
+ getSetComputeUnitLimitInstruction({ units: 400_000 }),
384
+ initIx,
385
+ ], { skipPreflight: true });
386
+ initLanded = true;
387
+ }
388
+ catch (e) {
389
+ // @solana/kit wraps the program error: the caught error's own .message is
390
+ // a generic preflight-failure string and the "Custom #6071" lives down the
391
+ // .cause chain — so walk the whole chain (message + context.code).
392
+ if (errorMentions(e, ["6071", "PolicyPreviewMismatch"])) {
393
+ lastInitErr = e;
394
+ continue; // slot advanced past the signed digest — re-read + retry
395
+ }
396
+ throw e;
397
+ }
398
+ }
399
+ if (!initLanded) {
400
+ throw new Error(`provisionVault: initialize_vault slot-bind failed after 40 attempts ` +
401
+ `(PolicyPreviewMismatch 6071). Last error: ${lastInitErr}`);
402
+ }
403
+ // 3. Seat the agent.
404
+ //
405
+ // F-Q6 (register_agent.rs:130-146): a single-key vault can NEVER seat an
406
+ // OPERATOR-class grant (capability >= CAPABILITY_OPERATOR) instantly —
407
+ // `register_agent` rejects it with `ErrOperatorGrantRequiresTimelock` (6107)
408
+ // because the time-delay IS the missing 2nd authorization factor. The lawful
409
+ // path is queue_agent_grant → wait the on-chain SINGLE_KEY_OPERATOR_DELAY_FLOOR
410
+ // (600s) → apply_agent_grant. Observer (1) / Disabled (0) grants cannot move
411
+ // funds and register instantly via the fast path.
412
+ const capabilityTier = Number(permissions);
413
+ if (capabilityTier >= CAPABILITY_OPERATOR) {
414
+ await seatOperatorAgent(rpc, owner, vaultAddress, agent.address, capabilityTier, spendingLimitUsd, overlayPDA);
415
+ }
416
+ else {
417
+ // PEN-CROSS-5 (Phase 4 absorption): policy account required for the
418
+ // policy_version bump on the instant register path.
419
+ const registerIx = await getRegisterAgentInstructionAsync({
420
+ owner,
421
+ vault: vaultAddress,
422
+ policy: policyAddress,
423
+ agentSpendOverlay: overlayPDA,
424
+ agent: agent.address,
425
+ capability: capabilityTier,
426
+ spendingLimitUsd,
427
+ });
428
+ await sendKitTransaction(rpc, owner, [registerIx]);
429
+ }
182
430
  // 4. Deposit funds (optional)
183
431
  if (!opts.skipDeposit) {
184
432
  const depositAmount = opts.depositAmount ?? 1000000000n;
@@ -205,17 +453,57 @@ const blockhashCache = new BlockhashCache(15_000);
205
453
  * Build, sign, and send a Kit-native transaction.
206
454
  *
207
455
  * Uses pipe() + signTransactionMessageWithSigners() + sendAndConfirmTransaction().
456
+ *
457
+ * The public devnet RPC (`api.devnet.solana.com`) aggressively rate-limits
458
+ * bursts and returns HTTP 429 on `sendTransaction` even under the SDK's 5-RPS
459
+ * throttle. `sendAndConfirmTransaction` (the shared production send path) does
460
+ * NOT retry the initial send by design — so this TEST-ONLY helper wraps the
461
+ * full build+send in a bounded exponential-backoff retry on transient RPC
462
+ * errors (429 / Too Many Requests / generic HTTP error). Each attempt rebuilds
463
+ * with a fresh blockhash so a stale lifetime never leaks into a retry. This
464
+ * keeps the hardening scoped to the devnet test harness and leaves the
465
+ * production helper untouched.
208
466
  */
209
- export async function sendKitTransaction(rpc, signer, instructions) {
210
- const blockhash = await blockhashCache.get(rpc);
211
- const txMessage = pipe(createTransactionMessage({ version: 0 }), (tx) => setTransactionMessageFeePayer(signer.address, tx), (tx) => setTransactionMessageLifetimeUsingBlockhash(blockhash, tx), (tx) => appendTransactionMessageInstructions(instructions, tx));
212
- // Attach fee payer signer so signTransactionMessageWithSigners can sign it
213
- const txWithSigners = addSignersToTransactionMessage([signer], txMessage);
214
- const signedTx = await signTransactionMessageWithSigners(txWithSigners);
215
- const wireBase64 = getBase64EncodedWireTransaction(signedTx);
216
- return sendAndConfirmTransaction(rpc, wireBase64, {
217
- timeoutMs: 60_000,
218
- commitment: "confirmed",
219
- });
467
+ export async function sendKitTransaction(rpc, signer, instructions, opts) {
468
+ const MAX_ATTEMPTS = 6;
469
+ let lastErr;
470
+ for (let attempt = 0; attempt < MAX_ATTEMPTS; attempt++) {
471
+ // Fresh blockhash per attempt — the cache TTL keeps this cheap while
472
+ // guaranteeing a retry never sends with an expired lifetime.
473
+ const blockhash = await blockhashCache.get(rpc);
474
+ const txMessage = pipe(createTransactionMessage({ version: 0 }), (tx) => setTransactionMessageFeePayer(signer.address, tx), (tx) => setTransactionMessageLifetimeUsingBlockhash(blockhash, tx), (tx) => appendTransactionMessageInstructions(instructions, tx));
475
+ // Attach fee payer signer so signTransactionMessageWithSigners can sign it
476
+ const txWithSigners = addSignersToTransactionMessage([signer], txMessage);
477
+ const signedTx = await signTransactionMessageWithSigners(txWithSigners);
478
+ const wireBase64 = getBase64EncodedWireTransaction(signedTx);
479
+ try {
480
+ return await sendAndConfirmTransaction(rpc, wireBase64, {
481
+ timeoutMs: 60_000,
482
+ commitment: "confirmed",
483
+ skipPreflight: opts?.skipPreflight ?? false,
484
+ });
485
+ }
486
+ catch (e) {
487
+ // Retry only transient RPC-availability errors. On-chain program errors
488
+ // (Custom #NNNN) and confirmed tx failures are deterministic — surface
489
+ // them immediately rather than masking with retries.
490
+ const transient = errorMentions(e, [
491
+ "429",
492
+ "Too Many Requests",
493
+ "HTTP error",
494
+ "fetch failed",
495
+ "ETIMEDOUT",
496
+ "ECONNRESET",
497
+ ]);
498
+ if (!transient || attempt === MAX_ATTEMPTS - 1)
499
+ throw e;
500
+ lastErr = e;
501
+ // Exponential backoff: 1s, 2s, 4s, 8s, 16s — generous because the
502
+ // public-devnet rate-limit window is measured in seconds, not ms.
503
+ await new Promise((r) => setTimeout(r, 1000 * 2 ** attempt));
504
+ }
505
+ }
506
+ // Unreachable (loop either returns or throws), but satisfies the type checker.
507
+ throw lastErr;
220
508
  }
221
509
  //# sourceMappingURL=devnet.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"devnet.js","sourceRoot":"","sources":["../../src/testing/devnet.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"devnet.js","sourceRoot":"","sources":["../../src/testing/devnet.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,137 @@
1
+ /**
2
+ * Strict error-assertion helpers for Sigil tests.
3
+ *
4
+ * Replaces the legacy `expectError(err, ...keywords)` and variadic
5
+ * `expectSigilError(errString, ...names)` helpers.
6
+ *
7
+ * Council decision: 7-0 STRICT (2026-04-20). See:
8
+ * MEMORY/WORK/20260420-201121_test-assertion-precision-council/COUNCIL_DECISION.md
9
+ *
10
+ * Design tenets:
11
+ * 1. Coupled {name, code} pairs via IDL-generated types.
12
+ * A typo on the name fails tsc.
13
+ * 2. No substring matching on error names. Match against structured
14
+ * Anchor error log formats.
15
+ * 3. CPI-origin guard (MIKE G-1): assertions never pass for Anchor errors
16
+ * thrown by CPI callees (e.g., Jupiter) that happen to share a code
17
+ * number with a Sigil error. Extract origin from the Solana runtime's
18
+ * `Program <id> invoke|failed` log lines (NOT the Anchor error line —
19
+ * those do not carry program id per anchor-lang-0.32.1/src/error.rs).
20
+ * 4. @solana/kit log-fetch awareness (MIKE G-2): SendTransactionError
21
+ * from kit simulation has `logs === undefined` until `.getLogs()` is
22
+ * awaited. Diagnostic output calls this out explicitly.
23
+ * 5. Diagnostic failure messages. When an assertion fails, the message
24
+ * says exactly what was expected, what was received, and where to
25
+ * look for the logs.
26
+ */
27
+ import { type AnchorFrameworkCodeFor, type AnchorFrameworkName, type SigilErrorCodeFor, type SigilErrorName } from "./names.generated.js";
28
+ export declare const SIGIL_PROGRAM_ID_BASE58 = "7FtAXUcrann7P5HoLG7vnWcVpozwj9nqcNm6bPwA1wuK";
29
+ interface ParsedAnchorError {
30
+ /** Numeric error code (6000+ for Sigil, 2000-5999 for Anchor framework). */
31
+ code: number;
32
+ /** Error name as declared in Rust `#[error_code]` or Anchor framework. */
33
+ name: string;
34
+ /**
35
+ * Base58 program ID that emitted the error, extracted from the
36
+ * Solana runtime's `Program <id> failed` log line (NOT the Anchor
37
+ * error log, which does not carry program id per Anchor 0.32.1).
38
+ * `undefined` means we could not resolve the origin — treat as
39
+ * unverified.
40
+ */
41
+ originProgramId?: string;
42
+ /** Raw log lines (best-effort; may be empty). */
43
+ logs: string[];
44
+ }
45
+ /**
46
+ * Extract structured {code, name, originProgramId} from a thrown error
47
+ * or error-string. Returns null if the error is not parseable as an
48
+ * Anchor/Sigil error.
49
+ *
50
+ * Safe to call with any thrown value — string, Error, SendTransactionError,
51
+ * AnchorError, unknown. Never throws.
52
+ */
53
+ export declare function parseAnchorError(err: unknown): ParsedAnchorError | null;
54
+ /**
55
+ * Assert that `err` is a Sigil program error matching the given name
56
+ * (and optionally code).
57
+ *
58
+ * @param err The thrown error — any shape. Raw Error, AnchorError,
59
+ * SendTransactionError, string, unknown.
60
+ * @param expected.name Sigil error name. Typed — typos fail tsc.
61
+ * @param expected.code Optional numeric code. If passed, must match
62
+ * the name's canonical code. Lets authors document intent;
63
+ * CI drift-check ensures name↔code coupling.
64
+ *
65
+ * Throws {@link SigilAssertionError} if:
66
+ * - error is unparseable as an Anchor/Sigil error
67
+ * - error name does not match
68
+ * - error code does not match (when provided)
69
+ * - error was thrown by a CPI callee (not Sigil program) — G-1 guard
70
+ */
71
+ export declare function expectSigilError<N extends SigilErrorName>(err: unknown, expected: {
72
+ name: N;
73
+ code?: SigilErrorCodeFor<N>;
74
+ }): void;
75
+ /**
76
+ * Assert that `err` is an Anchor framework error (2000-5999) matching
77
+ * the given name, and was thrown by the Sigil program (not a CPI callee).
78
+ *
79
+ * Only for tests that *intentionally* verify framework-layer behavior —
80
+ * seed derivation, account init, has_one constraints, etc. If the test
81
+ * is about Sigil business logic, use {@link expectSigilError} instead.
82
+ */
83
+ export declare function expectAnchorError<N extends AnchorFrameworkName>(err: unknown, expected: {
84
+ name: N;
85
+ code?: AnchorFrameworkCodeFor<N>;
86
+ }): void;
87
+ /**
88
+ * Assert that `err` is ONE of a tight set of Sigil errors.
89
+ *
90
+ * Tuple-typed at ≤3 elements (YULIA amendment). Use only for tests where
91
+ * the error path is legitimately multi-valued AND both outcomes are
92
+ * equally valid specifications — e.g., a race condition between two
93
+ * independent checks where either firing first is acceptable.
94
+ *
95
+ * If you find yourself reaching for this helper on a single code path,
96
+ * the underlying code has a non-determinism smell. Split the test.
97
+ */
98
+ export type OneOfSigilErrors = readonly [SigilErrorName] | readonly [SigilErrorName, SigilErrorName] | readonly [SigilErrorName, SigilErrorName, SigilErrorName];
99
+ export declare function expectOneOfSigilErrors(err: unknown, names: OneOfSigilErrors): void;
100
+ /**
101
+ * Assert that `err` is ONE of a tight set of Anchor framework errors,
102
+ * thrown by the Sigil program (not a CPI callee).
103
+ *
104
+ * Tuple-typed at ≤3 elements, symmetric with {@link expectOneOfSigilErrors}.
105
+ * Use only for tests where Anchor's check-order can legitimately produce
106
+ * more than one constraint failure — e.g., "non-owner cannot X" tests
107
+ * where either `ConstraintSeeds` (PDA derivation) or `ConstraintHasOne`
108
+ * (`has_one = owner`) fires first depending on account ordering.
109
+ *
110
+ * If both constraints fire deterministically on one path, prefer the
111
+ * specific {@link expectAnchorError} — this helper is for the genuine
112
+ * multi-valued case.
113
+ */
114
+ export type OneOfAnchorErrors = readonly [AnchorFrameworkName] | readonly [AnchorFrameworkName, AnchorFrameworkName] | readonly [AnchorFrameworkName, AnchorFrameworkName, AnchorFrameworkName];
115
+ export declare function expectOneOfAnchorErrors(err: unknown, names: OneOfAnchorErrors): void;
116
+ /**
117
+ * Assert that `err` is a raw Solana/system-program error with the given
118
+ * numeric code. For cases where no Anchor wrapper is involved — system
119
+ * program, SPL Token, ComputeBudget, or explicit `custom program error:
120
+ * 0x...` patterns.
121
+ *
122
+ * Matches against structured parse first (hex code or Anchor-parsed
123
+ * numeric code). Only falls back to WORD-BOUNDED decimal/hex match in
124
+ * the raw message, never to substring match — to avoid `code 1` matching
125
+ * `instruction 1` or `index 1`.
126
+ */
127
+ export declare function expectSystemError(err: unknown, code: number): void;
128
+ /**
129
+ * Thrown by the `expect*Error` helpers when an assertion fails.
130
+ * A distinct class so test runners can format it specially if desired.
131
+ * Preserves `cause` with the original error for root-cause triage.
132
+ */
133
+ export declare class SigilAssertionError extends Error {
134
+ constructor(message: string, cause?: unknown);
135
+ }
136
+ export {};
137
+ //# sourceMappingURL=expect.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expect.d.ts","sourceRoot":"","sources":["../../../src/testing/errors/expect.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,EAGL,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACpB,MAAM,sBAAsB,CAAC;AAO9B,eAAO,MAAM,uBAAuB,iDACY,CAAC;AAMjD,UAAU,iBAAiB;IACzB,4EAA4E;IAC5E,IAAI,EAAE,MAAM,CAAC;IACb,0EAA0E;IAC1E,IAAI,EAAE,MAAM,CAAC;IACb;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,iDAAiD;IACjD,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AA2CD;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,OAAO,GAAG,iBAAiB,GAAG,IAAI,CAkFvE;AA+CD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,cAAc,EACvD,GAAG,EAAE,OAAO,EACZ,QAAQ,EAAE;IAAE,IAAI,EAAE,CAAC,CAAC;IAAC,IAAI,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAA;CAAE,GACjD,IAAI,CAkCN;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,mBAAmB,EAC7D,GAAG,EAAE,OAAO,EACZ,QAAQ,EAAE;IAAE,IAAI,EAAE,CAAC,CAAC;IAAC,IAAI,CAAC,EAAE,sBAAsB,CAAC,CAAC,CAAC,CAAA;CAAE,GACtD,IAAI,CAoCN;AAED;;;;;;;;;;GAUG;AACH,MAAM,MAAM,gBAAgB,GACxB,SAAS,CAAC,cAAc,CAAC,GACzB,SAAS,CAAC,cAAc,EAAE,cAAc,CAAC,GACzC,SAAS,CAAC,cAAc,EAAE,cAAc,EAAE,cAAc,CAAC,CAAC;AAE9D,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,OAAO,EACZ,KAAK,EAAE,gBAAgB,GACtB,IAAI,CAoBN;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,iBAAiB,GACzB,SAAS,CAAC,mBAAmB,CAAC,GAC9B,SAAS,CAAC,mBAAmB,EAAE,mBAAmB,CAAC,GACnD,SAAS,CAAC,mBAAmB,EAAE,mBAAmB,EAAE,mBAAmB,CAAC,CAAC;AAE7E,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,OAAO,EACZ,KAAK,EAAE,iBAAiB,GACvB,IAAI,CA6BN;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAiBlE;AAMD;;;;GAIG;AACH,qBAAa,mBAAoB,SAAQ,KAAK;gBAChC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO;CAa7C"}