@usesigil/kit 0.16.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 (629) 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 +1 -2
  7. package/dist/agent-bootstrap.d.ts.map +1 -1
  8. package/dist/agent-bootstrap.js.map +1 -1
  9. package/dist/agent-errors.d.ts +20 -4
  10. package/dist/agent-errors.d.ts.map +1 -1
  11. package/dist/agent-errors.js +854 -369
  12. package/dist/agent-errors.js.map +1 -1
  13. package/dist/audit-log.d.ts +101 -0
  14. package/dist/audit-log.d.ts.map +1 -0
  15. package/dist/audit-log.js +145 -0
  16. package/dist/audit-log.js.map +1 -0
  17. package/dist/caip2-network.d.ts +171 -0
  18. package/dist/caip2-network.d.ts.map +1 -0
  19. package/dist/caip2-network.js +202 -0
  20. package/dist/caip2-network.js.map +1 -0
  21. package/dist/canonical-encode.d.ts +59 -0
  22. package/dist/canonical-encode.d.ts.map +1 -0
  23. package/dist/canonical-encode.js +141 -0
  24. package/dist/canonical-encode.js.map +1 -0
  25. package/dist/cosign-helper.d.ts +264 -0
  26. package/dist/cosign-helper.d.ts.map +1 -0
  27. package/dist/cosign-helper.js +147 -0
  28. package/dist/cosign-helper.js.map +1 -0
  29. package/dist/create-vault.d.ts +92 -0
  30. package/dist/create-vault.d.ts.map +1 -1
  31. package/dist/create-vault.js +98 -7
  32. package/dist/create-vault.js.map +1 -1
  33. package/dist/dashboard/close-vault.d.ts +110 -0
  34. package/dist/dashboard/close-vault.d.ts.map +1 -0
  35. package/dist/dashboard/close-vault.js +165 -0
  36. package/dist/dashboard/close-vault.js.map +1 -0
  37. package/dist/dashboard/errors.d.ts +2 -2
  38. package/dist/dashboard/errors.d.ts.map +1 -1
  39. package/dist/dashboard/errors.js +11 -7
  40. package/dist/dashboard/errors.js.map +1 -1
  41. package/dist/dashboard/index.d.ts +181 -34
  42. package/dist/dashboard/index.d.ts.map +1 -1
  43. package/dist/dashboard/index.js +258 -52
  44. package/dist/dashboard/index.js.map +1 -1
  45. package/dist/dashboard/mutations.d.ts +117 -26
  46. package/dist/dashboard/mutations.d.ts.map +1 -1
  47. package/dist/dashboard/mutations.js +521 -110
  48. package/dist/dashboard/mutations.js.map +1 -1
  49. package/dist/dashboard/post-assertion-validation.d.ts +1 -1
  50. package/dist/dashboard/post-assertion-validation.d.ts.map +1 -1
  51. package/dist/dashboard/post-assertion-validation.js +169 -48
  52. package/dist/dashboard/post-assertion-validation.js.map +1 -1
  53. package/dist/dashboard/reads.d.ts +3 -4
  54. package/dist/dashboard/reads.d.ts.map +1 -1
  55. package/dist/dashboard/reads.js +11 -22
  56. package/dist/dashboard/reads.js.map +1 -1
  57. package/dist/dashboard/types.d.ts +32 -17
  58. package/dist/dashboard/types.d.ts.map +1 -1
  59. package/dist/errors/agent-errors.generated.d.ts +21 -0
  60. package/dist/errors/agent-errors.generated.d.ts.map +1 -0
  61. package/dist/errors/agent-errors.generated.js +133 -0
  62. package/dist/errors/agent-errors.generated.js.map +1 -0
  63. package/dist/errors/codes.d.ts +21 -2
  64. package/dist/errors/codes.d.ts.map +1 -1
  65. package/dist/errors/codes.js +19 -0
  66. package/dist/errors/codes.js.map +1 -1
  67. package/dist/errors/context.d.ts +9 -1
  68. package/dist/errors/context.d.ts.map +1 -1
  69. package/dist/event-analytics.d.ts +1 -3
  70. package/dist/event-analytics.d.ts.map +1 -1
  71. package/dist/event-analytics.js +28 -81
  72. package/dist/event-analytics.js.map +1 -1
  73. package/dist/events.d.ts.map +1 -1
  74. package/dist/events.js +23 -14
  75. package/dist/events.js.map +1 -1
  76. package/dist/generated/accounts/agentSpendOverlay.d.ts +60 -0
  77. package/dist/generated/accounts/agentSpendOverlay.d.ts.map +1 -1
  78. package/dist/generated/accounts/agentSpendOverlay.js +6 -2
  79. package/dist/generated/accounts/agentSpendOverlay.js.map +1 -1
  80. package/dist/generated/accounts/agentVault.d.ts +168 -4
  81. package/dist/generated/accounts/agentVault.d.ts.map +1 -1
  82. package/dist/generated/accounts/agentVault.js +11 -3
  83. package/dist/generated/accounts/agentVault.js.map +1 -1
  84. package/dist/generated/accounts/auditLogRejected.d.ts +66 -0
  85. package/dist/generated/accounts/auditLogRejected.d.ts.map +1 -0
  86. package/dist/generated/accounts/auditLogRejected.js +68 -0
  87. package/dist/generated/accounts/auditLogRejected.js.map +1 -0
  88. package/dist/generated/accounts/auditLogSuccess.d.ts +78 -0
  89. package/dist/generated/accounts/auditLogSuccess.d.ts.map +1 -0
  90. package/dist/generated/accounts/auditLogSuccess.js +68 -0
  91. package/dist/generated/accounts/auditLogSuccess.js.map +1 -0
  92. package/dist/generated/accounts/index.d.ts +4 -4
  93. package/dist/generated/accounts/index.d.ts.map +1 -1
  94. package/dist/generated/accounts/index.js +4 -4
  95. package/dist/generated/accounts/index.js.map +1 -1
  96. package/dist/generated/accounts/pendingAgentGrant.d.ts +199 -0
  97. package/dist/generated/accounts/pendingAgentGrant.d.ts.map +1 -0
  98. package/dist/generated/accounts/pendingAgentGrant.js +75 -0
  99. package/dist/generated/accounts/pendingAgentGrant.js.map +1 -0
  100. package/dist/generated/accounts/pendingAgentPermissionsUpdate.d.ts +64 -0
  101. package/dist/generated/accounts/pendingAgentPermissionsUpdate.d.ts.map +1 -1
  102. package/dist/generated/accounts/pendingAgentPermissionsUpdate.js +7 -1
  103. package/dist/generated/accounts/pendingAgentPermissionsUpdate.js.map +1 -1
  104. package/dist/generated/accounts/pendingOwnershipTransfer.d.ts +131 -0
  105. package/dist/generated/accounts/pendingOwnershipTransfer.d.ts.map +1 -0
  106. package/dist/generated/accounts/pendingOwnershipTransfer.js +76 -0
  107. package/dist/generated/accounts/pendingOwnershipTransfer.js.map +1 -0
  108. package/dist/generated/accounts/pendingPolicyUpdate.d.ts +200 -4
  109. package/dist/generated/accounts/pendingPolicyUpdate.d.ts.map +1 -1
  110. package/dist/generated/accounts/pendingPolicyUpdate.js +19 -1
  111. package/dist/generated/accounts/pendingPolicyUpdate.js.map +1 -1
  112. package/dist/generated/accounts/policyConfig.d.ts +479 -36
  113. package/dist/generated/accounts/policyConfig.d.ts.map +1 -1
  114. package/dist/generated/accounts/policyConfig.js +30 -3
  115. package/dist/generated/accounts/policyConfig.js.map +1 -1
  116. package/dist/generated/accounts/postExecutionAssertions.d.ts +2 -2
  117. package/dist/generated/accounts/postExecutionAssertions.d.ts.map +1 -1
  118. package/dist/generated/accounts/postExecutionAssertions.js +3 -3
  119. package/dist/generated/accounts/sessionAuthority.d.ts +140 -12
  120. package/dist/generated/accounts/sessionAuthority.d.ts.map +1 -1
  121. package/dist/generated/accounts/sessionAuthority.js +9 -7
  122. package/dist/generated/accounts/sessionAuthority.js.map +1 -1
  123. package/dist/generated/accounts/spendTracker.d.ts +83 -3
  124. package/dist/generated/accounts/spendTracker.d.ts.map +1 -1
  125. package/dist/generated/accounts/spendTracker.js +14 -2
  126. package/dist/generated/accounts/spendTracker.js.map +1 -1
  127. package/dist/generated/errors/sigil.d.ts +129 -83
  128. package/dist/generated/errors/sigil.d.ts.map +1 -1
  129. package/dist/generated/errors/sigil.js +175 -106
  130. package/dist/generated/errors/sigil.js.map +1 -1
  131. package/dist/generated/event-discriminators.d.ts.map +1 -1
  132. package/dist/generated/event-discriminators.js +11 -14
  133. package/dist/generated/event-discriminators.js.map +1 -1
  134. package/dist/generated/instructions/acceptOwnershipTransfer.d.ts +142 -0
  135. package/dist/generated/instructions/acceptOwnershipTransfer.d.ts.map +1 -0
  136. package/dist/generated/instructions/acceptOwnershipTransfer.js +171 -0
  137. package/dist/generated/instructions/acceptOwnershipTransfer.js.map +1 -0
  138. package/dist/generated/instructions/acceptOwnershipTransferMultisig.d.ts +142 -0
  139. package/dist/generated/instructions/acceptOwnershipTransferMultisig.d.ts.map +1 -0
  140. package/dist/generated/instructions/acceptOwnershipTransferMultisig.js +171 -0
  141. package/dist/generated/instructions/acceptOwnershipTransferMultisig.js.map +1 -0
  142. package/dist/generated/instructions/applyAgentGrant.d.ts +100 -0
  143. package/dist/generated/instructions/applyAgentGrant.d.ts.map +1 -0
  144. package/dist/generated/instructions/{applyConstraintsUpdate.js → applyAgentGrant.js} +66 -42
  145. package/dist/generated/instructions/applyAgentGrant.js.map +1 -0
  146. package/dist/generated/instructions/applyAgentPermissionsUpdate.d.ts +31 -8
  147. package/dist/generated/instructions/applyAgentPermissionsUpdate.d.ts.map +1 -1
  148. package/dist/generated/instructions/applyAgentPermissionsUpdate.js +38 -2
  149. package/dist/generated/instructions/applyAgentPermissionsUpdate.js.map +1 -1
  150. package/dist/generated/instructions/applyPendingPolicy.d.ts +18 -7
  151. package/dist/generated/instructions/applyPendingPolicy.d.ts.map +1 -1
  152. package/dist/generated/instructions/applyPendingPolicy.js +38 -2
  153. package/dist/generated/instructions/applyPendingPolicy.js.map +1 -1
  154. package/dist/generated/instructions/cancelAgentGrant.d.ts +106 -0
  155. package/dist/generated/instructions/cancelAgentGrant.d.ts.map +1 -0
  156. package/dist/generated/instructions/{allocatePendingConstraintsPda.js → cancelAgentGrant.js} +54 -42
  157. package/dist/generated/instructions/cancelAgentGrant.js.map +1 -0
  158. package/dist/generated/instructions/cancelOwnershipTransfer.d.ts +121 -0
  159. package/dist/generated/instructions/cancelOwnershipTransfer.d.ts.map +1 -0
  160. package/dist/generated/instructions/{queueCloseConstraints.js → cancelOwnershipTransfer.js} +58 -44
  161. package/dist/generated/instructions/cancelOwnershipTransfer.js.map +1 -0
  162. package/dist/generated/instructions/closePostAssertions.d.ts +6 -1
  163. package/dist/generated/instructions/closePostAssertions.d.ts.map +1 -1
  164. package/dist/generated/instructions/closePostAssertions.js +11 -3
  165. package/dist/generated/instructions/closePostAssertions.js.map +1 -1
  166. package/dist/generated/instructions/closeVault.d.ts +40 -8
  167. package/dist/generated/instructions/closeVault.d.ts.map +1 -1
  168. package/dist/generated/instructions/closeVault.js +40 -2
  169. package/dist/generated/instructions/closeVault.js.map +1 -1
  170. package/dist/generated/instructions/createPostAssertions.d.ts +4 -0
  171. package/dist/generated/instructions/createPostAssertions.d.ts.map +1 -1
  172. package/dist/generated/instructions/createPostAssertions.js +2 -0
  173. package/dist/generated/instructions/createPostAssertions.js.map +1 -1
  174. package/dist/generated/instructions/depositFunds.d.ts +21 -10
  175. package/dist/generated/instructions/depositFunds.d.ts.map +1 -1
  176. package/dist/generated/instructions/depositFunds.js +37 -2
  177. package/dist/generated/instructions/depositFunds.js.map +1 -1
  178. package/dist/generated/instructions/finalizeSession.d.ts +49 -7
  179. package/dist/generated/instructions/finalizeSession.d.ts.map +1 -1
  180. package/dist/generated/instructions/finalizeSession.js +59 -2
  181. package/dist/generated/instructions/finalizeSession.js.map +1 -1
  182. package/dist/generated/instructions/freezeVault.d.ts +36 -5
  183. package/dist/generated/instructions/freezeVault.d.ts.map +1 -1
  184. package/dist/generated/instructions/freezeVault.js +65 -4
  185. package/dist/generated/instructions/freezeVault.js.map +1 -1
  186. package/dist/generated/instructions/index.d.ts +10 -15
  187. package/dist/generated/instructions/index.d.ts.map +1 -1
  188. package/dist/generated/instructions/index.js +10 -15
  189. package/dist/generated/instructions/index.js.map +1 -1
  190. package/dist/generated/instructions/initializeVault.d.ts +79 -9
  191. package/dist/generated/instructions/initializeVault.d.ts.map +1 -1
  192. package/dist/generated/instructions/initializeVault.js +57 -3
  193. package/dist/generated/instructions/initializeVault.js.map +1 -1
  194. package/dist/generated/instructions/initiateOwnershipTransfer.d.ts +106 -0
  195. package/dist/generated/instructions/initiateOwnershipTransfer.d.ts.map +1 -0
  196. package/dist/generated/instructions/initiateOwnershipTransfer.js +181 -0
  197. package/dist/generated/instructions/initiateOwnershipTransfer.js.map +1 -0
  198. package/dist/generated/instructions/pauseAgent.d.ts +49 -5
  199. package/dist/generated/instructions/pauseAgent.d.ts.map +1 -1
  200. package/dist/generated/instructions/pauseAgent.js +80 -5
  201. package/dist/generated/instructions/pauseAgent.js.map +1 -1
  202. package/dist/generated/instructions/promoteGraylistDestination.d.ts +56 -0
  203. package/dist/generated/instructions/promoteGraylistDestination.d.ts.map +1 -0
  204. package/dist/generated/instructions/{createInstructionConstraints.js → promoteGraylistDestination.js} +23 -40
  205. package/dist/generated/instructions/promoteGraylistDestination.js.map +1 -0
  206. package/dist/generated/instructions/queueAgentGrant.d.ts +113 -0
  207. package/dist/generated/instructions/queueAgentGrant.d.ts.map +1 -0
  208. package/dist/generated/instructions/queueAgentGrant.js +181 -0
  209. package/dist/generated/instructions/queueAgentGrant.js.map +1 -0
  210. package/dist/generated/instructions/queueAgentPermissionsUpdate.d.ts +8 -0
  211. package/dist/generated/instructions/queueAgentPermissionsUpdate.d.ts.map +1 -1
  212. package/dist/generated/instructions/queueAgentPermissionsUpdate.js +4 -0
  213. package/dist/generated/instructions/queueAgentPermissionsUpdate.js.map +1 -1
  214. package/dist/generated/instructions/queuePolicyUpdate.d.ts +32 -0
  215. package/dist/generated/instructions/queuePolicyUpdate.d.ts.map +1 -1
  216. package/dist/generated/instructions/queuePolicyUpdate.js +17 -1
  217. package/dist/generated/instructions/queuePolicyUpdate.js.map +1 -1
  218. package/dist/generated/instructions/reactivateVault.d.ts +71 -5
  219. package/dist/generated/instructions/reactivateVault.d.ts.map +1 -1
  220. package/dist/generated/instructions/reactivateVault.js +80 -5
  221. package/dist/generated/instructions/reactivateVault.js.map +1 -1
  222. package/dist/generated/instructions/recordAgentViolation.d.ts +89 -0
  223. package/dist/generated/instructions/recordAgentViolation.d.ts.map +1 -0
  224. package/dist/generated/instructions/recordAgentViolation.js +152 -0
  225. package/dist/generated/instructions/recordAgentViolation.js.map +1 -0
  226. package/dist/generated/instructions/registerAgent.d.ts +84 -6
  227. package/dist/generated/instructions/registerAgent.d.ts.map +1 -1
  228. package/dist/generated/instructions/registerAgent.js +81 -4
  229. package/dist/generated/instructions/registerAgent.js.map +1 -1
  230. package/dist/generated/instructions/revokeAgent.d.ts +49 -6
  231. package/dist/generated/instructions/revokeAgent.d.ts.map +1 -1
  232. package/dist/generated/instructions/revokeAgent.js +81 -4
  233. package/dist/generated/instructions/revokeAgent.js.map +1 -1
  234. package/dist/generated/instructions/setObserveOnly.d.ts +56 -0
  235. package/dist/generated/instructions/setObserveOnly.d.ts.map +1 -0
  236. package/dist/generated/instructions/setObserveOnly.js +111 -0
  237. package/dist/generated/instructions/setObserveOnly.js.map +1 -0
  238. package/dist/generated/instructions/unpauseAgent.d.ts +46 -5
  239. package/dist/generated/instructions/unpauseAgent.d.ts.map +1 -1
  240. package/dist/generated/instructions/unpauseAgent.js +80 -5
  241. package/dist/generated/instructions/unpauseAgent.js.map +1 -1
  242. package/dist/generated/instructions/validateAndAuthorize.d.ts +29 -0
  243. package/dist/generated/instructions/validateAndAuthorize.d.ts.map +1 -1
  244. package/dist/generated/instructions/validateAndAuthorize.js +4 -0
  245. package/dist/generated/instructions/validateAndAuthorize.js.map +1 -1
  246. package/dist/generated/instructions/withdrawFunds.d.ts +53 -11
  247. package/dist/generated/instructions/withdrawFunds.d.ts.map +1 -1
  248. package/dist/generated/instructions/withdrawFunds.js +51 -2
  249. package/dist/generated/instructions/withdrawFunds.js.map +1 -1
  250. package/dist/generated/programs/sigil.d.ts +79 -99
  251. package/dist/generated/programs/sigil.d.ts.map +1 -1
  252. package/dist/generated/programs/sigil.js +139 -199
  253. package/dist/generated/programs/sigil.js.map +1 -1
  254. package/dist/generated/types/actionAuthorized.d.ts +0 -2
  255. package/dist/generated/types/actionAuthorized.d.ts.map +1 -1
  256. package/dist/generated/types/actionAuthorized.js +0 -2
  257. package/dist/generated/types/actionAuthorized.js.map +1 -1
  258. package/dist/generated/types/agentAutoRevoked.d.ts +31 -0
  259. package/dist/generated/types/agentAutoRevoked.d.ts.map +1 -0
  260. package/dist/generated/types/{orphanConstraintsPdaCleaned.js → agentAutoRevoked.js} +12 -8
  261. package/dist/generated/types/agentAutoRevoked.js.map +1 -0
  262. package/dist/generated/types/agentEntry.d.ts +48 -0
  263. package/dist/generated/types/agentEntry.d.ts.map +1 -1
  264. package/dist/generated/types/agentEntry.js +4 -2
  265. package/dist/generated/types/agentEntry.js.map +1 -1
  266. package/dist/generated/types/agentGrantApplied.d.ts +38 -0
  267. package/dist/generated/types/agentGrantApplied.d.ts.map +1 -0
  268. package/dist/generated/types/agentGrantApplied.js +34 -0
  269. package/dist/generated/types/agentGrantApplied.js.map +1 -0
  270. package/dist/generated/types/agentGrantCancelled.d.ts +33 -0
  271. package/dist/generated/types/agentGrantCancelled.d.ts.map +1 -0
  272. package/dist/generated/types/agentGrantCancelled.js +28 -0
  273. package/dist/generated/types/agentGrantCancelled.js.map +1 -0
  274. package/dist/generated/types/agentGrantQueued.d.ts +38 -0
  275. package/dist/generated/types/agentGrantQueued.d.ts.map +1 -0
  276. package/dist/generated/types/agentGrantQueued.js +32 -0
  277. package/dist/generated/types/agentGrantQueued.js.map +1 -0
  278. package/dist/generated/types/auditEntry.d.ts +120 -0
  279. package/dist/generated/types/auditEntry.d.ts.map +1 -0
  280. package/dist/generated/types/auditEntry.js +34 -0
  281. package/dist/generated/types/auditEntry.js.map +1 -0
  282. package/dist/generated/types/destinationGraylistEntry.d.ts +32 -0
  283. package/dist/generated/types/destinationGraylistEntry.d.ts.map +1 -0
  284. package/dist/generated/types/destinationGraylistEntry.js +24 -0
  285. package/dist/generated/types/destinationGraylistEntry.js.map +1 -0
  286. package/dist/generated/types/graylistEntered.d.ts +31 -0
  287. package/dist/generated/types/graylistEntered.d.ts.map +1 -0
  288. package/dist/generated/types/graylistEntered.js +30 -0
  289. package/dist/generated/types/graylistEntered.js.map +1 -0
  290. package/dist/generated/types/graylistPromoted.d.ts +29 -0
  291. package/dist/generated/types/graylistPromoted.d.ts.map +1 -0
  292. package/dist/generated/types/graylistPromoted.js +28 -0
  293. package/dist/generated/types/graylistPromoted.js.map +1 -0
  294. package/dist/generated/types/index.d.ts +13 -22
  295. package/dist/generated/types/index.d.ts.map +1 -1
  296. package/dist/generated/types/index.js +13 -22
  297. package/dist/generated/types/index.js.map +1 -1
  298. package/dist/generated/types/observeOnlyChanged.d.ts +33 -0
  299. package/dist/generated/types/observeOnlyChanged.d.ts.map +1 -0
  300. package/dist/generated/types/observeOnlyChanged.js +32 -0
  301. package/dist/generated/types/observeOnlyChanged.js.map +1 -0
  302. package/dist/generated/types/ownershipTransferAccepted.d.ts +32 -0
  303. package/dist/generated/types/ownershipTransferAccepted.d.ts.map +1 -0
  304. package/dist/generated/types/ownershipTransferAccepted.js +30 -0
  305. package/dist/generated/types/ownershipTransferAccepted.js.map +1 -0
  306. package/dist/generated/types/ownershipTransferCancelled.d.ts +29 -0
  307. package/dist/generated/types/ownershipTransferCancelled.d.ts.map +1 -0
  308. package/dist/generated/types/ownershipTransferCancelled.js +28 -0
  309. package/dist/generated/types/ownershipTransferCancelled.js.map +1 -0
  310. package/dist/generated/types/ownershipTransferInitiated.d.ts +33 -0
  311. package/dist/generated/types/ownershipTransferInitiated.d.ts.map +1 -0
  312. package/dist/generated/types/ownershipTransferInitiated.js +30 -0
  313. package/dist/generated/types/ownershipTransferInitiated.js.map +1 -0
  314. package/dist/generated/types/perRecipientCounter.d.ts +61 -0
  315. package/dist/generated/types/perRecipientCounter.d.ts.map +1 -0
  316. package/dist/generated/types/perRecipientCounter.js +26 -0
  317. package/dist/generated/types/perRecipientCounter.js.map +1 -0
  318. package/dist/generated/types/postAssertionEntry.d.ts +14 -7
  319. package/dist/generated/types/postAssertionEntry.d.ts.map +1 -1
  320. package/dist/generated/types/postAssertionEntry.js +5 -7
  321. package/dist/generated/types/postAssertionEntry.js.map +1 -1
  322. package/dist/generated/types/postAssertionEntryZC.d.ts +53 -22
  323. package/dist/generated/types/postAssertionEntryZC.d.ts.map +1 -1
  324. package/dist/generated/types/postAssertionEntryZC.js +4 -6
  325. package/dist/generated/types/postAssertionEntryZC.js.map +1 -1
  326. package/dist/generated/types/sessionFinalized.d.ts +0 -4
  327. package/dist/generated/types/sessionFinalized.d.ts.map +1 -1
  328. package/dist/generated/types/sessionFinalized.js +0 -2
  329. package/dist/generated/types/sessionFinalized.js.map +1 -1
  330. package/dist/generated/types/vaultFrozen.d.ts +14 -0
  331. package/dist/generated/types/vaultFrozen.d.ts.map +1 -1
  332. package/dist/generated/types/vaultFrozen.js +2 -0
  333. package/dist/generated/types/vaultFrozen.js.map +1 -1
  334. package/dist/index.d.ts +28 -9
  335. package/dist/index.d.ts.map +1 -1
  336. package/dist/index.js +64 -11
  337. package/dist/index.js.map +1 -1
  338. package/dist/inspector.d.ts +0 -23
  339. package/dist/inspector.d.ts.map +1 -1
  340. package/dist/inspector.js +0 -52
  341. package/dist/inspector.js.map +1 -1
  342. package/dist/kit-adapter.d.ts +1 -1
  343. package/dist/kit-adapter.d.ts.map +1 -1
  344. package/dist/kit-adapter.js +1 -1
  345. package/dist/kit-adapter.js.map +1 -1
  346. package/dist/multisig-detection.d.ts +83 -0
  347. package/dist/multisig-detection.d.ts.map +1 -0
  348. package/dist/multisig-detection.js +128 -0
  349. package/dist/multisig-detection.js.map +1 -0
  350. package/dist/ownership-transfer.d.ts +79 -0
  351. package/dist/ownership-transfer.d.ts.map +1 -0
  352. package/dist/ownership-transfer.js +66 -0
  353. package/dist/ownership-transfer.js.map +1 -0
  354. package/dist/policy/compute-cosign-digest.d.ts +193 -0
  355. package/dist/policy/compute-cosign-digest.d.ts.map +1 -0
  356. package/dist/policy/compute-cosign-digest.js +318 -0
  357. package/dist/policy/compute-cosign-digest.js.map +1 -0
  358. package/dist/policy/compute-policy-preview-digest.d.ts +258 -0
  359. package/dist/policy/compute-policy-preview-digest.d.ts.map +1 -0
  360. package/dist/policy/compute-policy-preview-digest.js +351 -0
  361. package/dist/policy/compute-policy-preview-digest.js.map +1 -0
  362. package/dist/policy-attestation.d.ts +51 -0
  363. package/dist/policy-attestation.d.ts.map +1 -0
  364. package/dist/policy-attestation.js +43 -0
  365. package/dist/policy-attestation.js.map +1 -0
  366. package/dist/preview-create-vault.d.ts.map +1 -1
  367. package/dist/preview-create-vault.js +37 -16
  368. package/dist/preview-create-vault.js.map +1 -1
  369. package/dist/resolve-accounts.d.ts +75 -10
  370. package/dist/resolve-accounts.d.ts.map +1 -1
  371. package/dist/resolve-accounts.js +68 -32
  372. package/dist/resolve-accounts.js.map +1 -1
  373. package/dist/rpc-helpers.d.ts +29 -3
  374. package/dist/rpc-helpers.d.ts.map +1 -1
  375. package/dist/rpc-helpers.js +51 -12
  376. package/dist/rpc-helpers.js.map +1 -1
  377. package/dist/seal/intent-digest.d.ts +195 -0
  378. package/dist/seal/intent-digest.d.ts.map +1 -0
  379. package/dist/seal/intent-digest.js +372 -0
  380. package/dist/seal/intent-digest.js.map +1 -0
  381. package/dist/seal.d.ts +166 -3
  382. package/dist/seal.d.ts.map +1 -1
  383. package/dist/seal.js +428 -32
  384. package/dist/seal.js.map +1 -1
  385. package/dist/security-analytics.d.ts +3 -3
  386. package/dist/security-analytics.d.ts.map +1 -1
  387. package/dist/security-analytics.js +13 -128
  388. package/dist/security-analytics.js.map +1 -1
  389. package/dist/session-mint.d.ts +72 -0
  390. package/dist/session-mint.d.ts.map +1 -0
  391. package/dist/session-mint.js +59 -0
  392. package/dist/session-mint.js.map +1 -0
  393. package/dist/simulation.d.ts +19 -0
  394. package/dist/simulation.d.ts.map +1 -1
  395. package/dist/simulation.js +187 -95
  396. package/dist/simulation.js.map +1 -1
  397. package/dist/squads-detection.d.ts +135 -0
  398. package/dist/squads-detection.d.ts.map +1 -0
  399. package/dist/squads-detection.js +124 -0
  400. package/dist/squads-detection.js.map +1 -0
  401. package/dist/state-resolver.d.ts +0 -16
  402. package/dist/state-resolver.d.ts.map +1 -1
  403. package/dist/state-resolver.js +162 -97
  404. package/dist/state-resolver.js.map +1 -1
  405. package/dist/testing/devnet.d.ts +40 -1
  406. package/dist/testing/devnet.d.ts.map +1 -1
  407. package/dist/testing/devnet.js +333 -44
  408. package/dist/testing/devnet.js.map +1 -1
  409. package/dist/testing/errors/expect.d.ts +1 -1
  410. package/dist/testing/errors/expect.js +1 -1
  411. package/dist/testing/errors/names.generated.d.ts +81 -58
  412. package/dist/testing/errors/names.generated.d.ts.map +1 -1
  413. package/dist/testing/errors/names.generated.js +82 -59
  414. package/dist/testing/errors/names.generated.js.map +1 -1
  415. package/dist/testing/mock-rpc.d.ts +8 -0
  416. package/dist/testing/mock-rpc.d.ts.map +1 -1
  417. package/dist/testing/mock-rpc.js +13 -0
  418. package/dist/testing/mock-rpc.js.map +1 -1
  419. package/dist/testing/mock-state.d.ts +2 -0
  420. package/dist/testing/mock-state.d.ts.map +1 -1
  421. package/dist/testing/mock-state.js +43 -4
  422. package/dist/testing/mock-state.js.map +1 -1
  423. package/dist/types.d.ts +5 -15
  424. package/dist/types.d.ts.map +1 -1
  425. package/dist/types.js +11 -69
  426. package/dist/types.js.map +1 -1
  427. package/dist/vault-analytics.d.ts +0 -2
  428. package/dist/vault-analytics.d.ts.map +1 -1
  429. package/dist/vault-analytics.js +1 -9
  430. package/dist/vault-analytics.js.map +1 -1
  431. package/package.json +7 -12
  432. package/dist/constraints/index.d.ts +0 -23
  433. package/dist/constraints/index.d.ts.map +0 -1
  434. package/dist/constraints/index.js +0 -24
  435. package/dist/constraints/index.js.map +0 -1
  436. package/dist/dashboard/constraint-builders.d.ts +0 -82
  437. package/dist/dashboard/constraint-builders.d.ts.map +0 -1
  438. package/dist/dashboard/constraint-builders.js +0 -204
  439. package/dist/dashboard/constraint-builders.js.map +0 -1
  440. package/dist/dashboard/constraint-reads.d.ts +0 -50
  441. package/dist/dashboard/constraint-reads.d.ts.map +0 -1
  442. package/dist/dashboard/constraint-reads.js +0 -119
  443. package/dist/dashboard/constraint-reads.js.map +0 -1
  444. package/dist/generated/accounts/escrowDeposit.d.ts +0 -50
  445. package/dist/generated/accounts/escrowDeposit.d.ts.map +0 -1
  446. package/dist/generated/accounts/escrowDeposit.js +0 -76
  447. package/dist/generated/accounts/escrowDeposit.js.map +0 -1
  448. package/dist/generated/accounts/instructionConstraints.d.ts +0 -46
  449. package/dist/generated/accounts/instructionConstraints.d.ts.map +0 -1
  450. package/dist/generated/accounts/instructionConstraints.js +0 -73
  451. package/dist/generated/accounts/instructionConstraints.js.map +0 -1
  452. package/dist/generated/accounts/pendingCloseConstraints.d.ts +0 -49
  453. package/dist/generated/accounts/pendingCloseConstraints.d.ts.map +0 -1
  454. package/dist/generated/accounts/pendingCloseConstraints.js +0 -68
  455. package/dist/generated/accounts/pendingCloseConstraints.js.map +0 -1
  456. package/dist/generated/accounts/pendingConstraintsUpdate.d.ts +0 -76
  457. package/dist/generated/accounts/pendingConstraintsUpdate.d.ts.map +0 -1
  458. package/dist/generated/accounts/pendingConstraintsUpdate.js +0 -77
  459. package/dist/generated/accounts/pendingConstraintsUpdate.js.map +0 -1
  460. package/dist/generated/instructions/allocateConstraintsPda.d.ts +0 -62
  461. package/dist/generated/instructions/allocateConstraintsPda.d.ts.map +0 -1
  462. package/dist/generated/instructions/allocateConstraintsPda.js +0 -134
  463. package/dist/generated/instructions/allocateConstraintsPda.js.map +0 -1
  464. package/dist/generated/instructions/allocatePendingConstraintsPda.d.ts +0 -66
  465. package/dist/generated/instructions/allocatePendingConstraintsPda.d.ts.map +0 -1
  466. package/dist/generated/instructions/allocatePendingConstraintsPda.js.map +0 -1
  467. package/dist/generated/instructions/applyCloseConstraints.d.ts +0 -59
  468. package/dist/generated/instructions/applyCloseConstraints.d.ts.map +0 -1
  469. package/dist/generated/instructions/applyCloseConstraints.js +0 -143
  470. package/dist/generated/instructions/applyCloseConstraints.js.map +0 -1
  471. package/dist/generated/instructions/applyConstraintsUpdate.d.ts +0 -62
  472. package/dist/generated/instructions/applyConstraintsUpdate.d.ts.map +0 -1
  473. package/dist/generated/instructions/applyConstraintsUpdate.js.map +0 -1
  474. package/dist/generated/instructions/cancelCloseConstraints.d.ts +0 -51
  475. package/dist/generated/instructions/cancelCloseConstraints.d.ts.map +0 -1
  476. package/dist/generated/instructions/cancelCloseConstraints.js +0 -115
  477. package/dist/generated/instructions/cancelCloseConstraints.js.map +0 -1
  478. package/dist/generated/instructions/cancelConstraintsUpdate.d.ts +0 -51
  479. package/dist/generated/instructions/cancelConstraintsUpdate.d.ts.map +0 -1
  480. package/dist/generated/instructions/cancelConstraintsUpdate.js +0 -115
  481. package/dist/generated/instructions/cancelConstraintsUpdate.js.map +0 -1
  482. package/dist/generated/instructions/cleanupOrphanConstraintsPda.d.ts +0 -67
  483. package/dist/generated/instructions/cleanupOrphanConstraintsPda.d.ts.map +0 -1
  484. package/dist/generated/instructions/cleanupOrphanConstraintsPda.js +0 -120
  485. package/dist/generated/instructions/cleanupOrphanConstraintsPda.js.map +0 -1
  486. package/dist/generated/instructions/closeSettledEscrow.d.ts +0 -72
  487. package/dist/generated/instructions/closeSettledEscrow.d.ts.map +0 -1
  488. package/dist/generated/instructions/closeSettledEscrow.js +0 -127
  489. package/dist/generated/instructions/closeSettledEscrow.js.map +0 -1
  490. package/dist/generated/instructions/createEscrow.d.ts +0 -131
  491. package/dist/generated/instructions/createEscrow.d.ts.map +0 -1
  492. package/dist/generated/instructions/createEscrow.js +0 -272
  493. package/dist/generated/instructions/createEscrow.js.map +0 -1
  494. package/dist/generated/instructions/createInstructionConstraints.d.ts +0 -68
  495. package/dist/generated/instructions/createInstructionConstraints.d.ts.map +0 -1
  496. package/dist/generated/instructions/createInstructionConstraints.js.map +0 -1
  497. package/dist/generated/instructions/extendPda.d.ts +0 -52
  498. package/dist/generated/instructions/extendPda.d.ts.map +0 -1
  499. package/dist/generated/instructions/extendPda.js +0 -86
  500. package/dist/generated/instructions/extendPda.js.map +0 -1
  501. package/dist/generated/instructions/queueCloseConstraints.d.ts +0 -66
  502. package/dist/generated/instructions/queueCloseConstraints.d.ts.map +0 -1
  503. package/dist/generated/instructions/queueCloseConstraints.js.map +0 -1
  504. package/dist/generated/instructions/queueConstraintsUpdate.d.ts +0 -75
  505. package/dist/generated/instructions/queueConstraintsUpdate.d.ts.map +0 -1
  506. package/dist/generated/instructions/queueConstraintsUpdate.js +0 -154
  507. package/dist/generated/instructions/queueConstraintsUpdate.js.map +0 -1
  508. package/dist/generated/instructions/refundEscrow.d.ts +0 -74
  509. package/dist/generated/instructions/refundEscrow.d.ts.map +0 -1
  510. package/dist/generated/instructions/refundEscrow.js +0 -142
  511. package/dist/generated/instructions/refundEscrow.js.map +0 -1
  512. package/dist/generated/instructions/settleEscrow.d.ts +0 -80
  513. package/dist/generated/instructions/settleEscrow.d.ts.map +0 -1
  514. package/dist/generated/instructions/settleEscrow.js +0 -173
  515. package/dist/generated/instructions/settleEscrow.js.map +0 -1
  516. package/dist/generated/types/accountConstraint.d.ts +0 -33
  517. package/dist/generated/types/accountConstraint.d.ts.map +0 -1
  518. package/dist/generated/types/accountConstraint.js +0 -26
  519. package/dist/generated/types/accountConstraint.js.map +0 -1
  520. package/dist/generated/types/accountConstraintZC.d.ts +0 -25
  521. package/dist/generated/types/accountConstraintZC.d.ts.map +0 -1
  522. package/dist/generated/types/accountConstraintZC.js +0 -28
  523. package/dist/generated/types/accountConstraintZC.js.map +0 -1
  524. package/dist/generated/types/closeConstraintsApplied.d.ts +0 -20
  525. package/dist/generated/types/closeConstraintsApplied.d.ts.map +0 -1
  526. package/dist/generated/types/closeConstraintsApplied.js +0 -24
  527. package/dist/generated/types/closeConstraintsApplied.js.map +0 -1
  528. package/dist/generated/types/closeConstraintsCancelled.d.ts +0 -16
  529. package/dist/generated/types/closeConstraintsCancelled.d.ts.map +0 -1
  530. package/dist/generated/types/closeConstraintsCancelled.js +0 -18
  531. package/dist/generated/types/closeConstraintsCancelled.js.map +0 -1
  532. package/dist/generated/types/closeConstraintsQueued.d.ts +0 -20
  533. package/dist/generated/types/closeConstraintsQueued.d.ts.map +0 -1
  534. package/dist/generated/types/closeConstraintsQueued.js +0 -24
  535. package/dist/generated/types/closeConstraintsQueued.js.map +0 -1
  536. package/dist/generated/types/constraintEntry.d.ts +0 -35
  537. package/dist/generated/types/constraintEntry.d.ts.map +0 -1
  538. package/dist/generated/types/constraintEntry.js +0 -29
  539. package/dist/generated/types/constraintEntry.js.map +0 -1
  540. package/dist/generated/types/constraintEntryZC.d.ts +0 -73
  541. package/dist/generated/types/constraintEntryZC.d.ts.map +0 -1
  542. package/dist/generated/types/constraintEntryZC.js +0 -49
  543. package/dist/generated/types/constraintEntryZC.js.map +0 -1
  544. package/dist/generated/types/constraintOperator.d.ts +0 -22
  545. package/dist/generated/types/constraintOperator.d.ts.map +0 -1
  546. package/dist/generated/types/constraintOperator.js +0 -28
  547. package/dist/generated/types/constraintOperator.js.map +0 -1
  548. package/dist/generated/types/constraintsChangeApplied.d.ts +0 -30
  549. package/dist/generated/types/constraintsChangeApplied.d.ts.map +0 -1
  550. package/dist/generated/types/constraintsChangeApplied.js +0 -32
  551. package/dist/generated/types/constraintsChangeApplied.js.map +0 -1
  552. package/dist/generated/types/constraintsChangeCancelled.d.ts +0 -16
  553. package/dist/generated/types/constraintsChangeCancelled.d.ts.map +0 -1
  554. package/dist/generated/types/constraintsChangeCancelled.js +0 -18
  555. package/dist/generated/types/constraintsChangeCancelled.js.map +0 -1
  556. package/dist/generated/types/constraintsChangeQueued.d.ts +0 -30
  557. package/dist/generated/types/constraintsChangeQueued.d.ts.map +0 -1
  558. package/dist/generated/types/constraintsChangeQueued.js +0 -32
  559. package/dist/generated/types/constraintsChangeQueued.js.map +0 -1
  560. package/dist/generated/types/dataConstraint.d.ts +0 -23
  561. package/dist/generated/types/dataConstraint.d.ts.map +0 -1
  562. package/dist/generated/types/dataConstraint.js +0 -27
  563. package/dist/generated/types/dataConstraint.js.map +0 -1
  564. package/dist/generated/types/dataConstraintZC.d.ts +0 -20
  565. package/dist/generated/types/dataConstraintZC.d.ts.map +0 -1
  566. package/dist/generated/types/dataConstraintZC.js +0 -30
  567. package/dist/generated/types/dataConstraintZC.js.map +0 -1
  568. package/dist/generated/types/discriminatorFormat.d.ts +0 -25
  569. package/dist/generated/types/discriminatorFormat.d.ts.map +0 -1
  570. package/dist/generated/types/discriminatorFormat.js +0 -31
  571. package/dist/generated/types/discriminatorFormat.js.map +0 -1
  572. package/dist/generated/types/escrowCreated.d.ts +0 -30
  573. package/dist/generated/types/escrowCreated.d.ts.map +0 -1
  574. package/dist/generated/types/escrowCreated.js +0 -34
  575. package/dist/generated/types/escrowCreated.js.map +0 -1
  576. package/dist/generated/types/escrowRefunded.d.ts +0 -26
  577. package/dist/generated/types/escrowRefunded.d.ts.map +0 -1
  578. package/dist/generated/types/escrowRefunded.js +0 -30
  579. package/dist/generated/types/escrowRefunded.js.map +0 -1
  580. package/dist/generated/types/escrowSettled.d.ts +0 -26
  581. package/dist/generated/types/escrowSettled.d.ts.map +0 -1
  582. package/dist/generated/types/escrowSettled.js +0 -30
  583. package/dist/generated/types/escrowSettled.js.map +0 -1
  584. package/dist/generated/types/escrowStatus.d.ts +0 -18
  585. package/dist/generated/types/escrowStatus.d.ts.map +0 -1
  586. package/dist/generated/types/escrowStatus.js +0 -24
  587. package/dist/generated/types/escrowStatus.js.map +0 -1
  588. package/dist/generated/types/instructionConstraintsCreated.d.ts +0 -34
  589. package/dist/generated/types/instructionConstraintsCreated.d.ts.map +0 -1
  590. package/dist/generated/types/instructionConstraintsCreated.js +0 -36
  591. package/dist/generated/types/instructionConstraintsCreated.js.map +0 -1
  592. package/dist/generated/types/orphanConstraintsPdaCleaned.d.ts +0 -22
  593. package/dist/generated/types/orphanConstraintsPdaCleaned.d.ts.map +0 -1
  594. package/dist/generated/types/orphanConstraintsPdaCleaned.js.map +0 -1
  595. package/dist/generated/types/pdaAllocated.d.ts +0 -24
  596. package/dist/generated/types/pdaAllocated.d.ts.map +0 -1
  597. package/dist/generated/types/pdaAllocated.js +0 -28
  598. package/dist/generated/types/pdaAllocated.js.map +0 -1
  599. package/dist/generated/types/pdaExtended.d.ts +0 -24
  600. package/dist/generated/types/pdaExtended.d.ts.map +0 -1
  601. package/dist/generated/types/pdaExtended.js +0 -28
  602. package/dist/generated/types/pdaExtended.js.map +0 -1
  603. package/dist/post-assertions/cross-field-lte.d.ts +0 -134
  604. package/dist/post-assertions/cross-field-lte.d.ts.map +0 -1
  605. package/dist/post-assertions/cross-field-lte.js +0 -129
  606. package/dist/post-assertions/cross-field-lte.js.map +0 -1
  607. package/dist/post-assertions/index.d.ts +0 -28
  608. package/dist/post-assertions/index.d.ts.map +0 -1
  609. package/dist/post-assertions/index.js +0 -28
  610. package/dist/post-assertions/index.js.map +0 -1
  611. package/dist/post-assertions/presets/flash-trade.d.ts +0 -139
  612. package/dist/post-assertions/presets/flash-trade.d.ts.map +0 -1
  613. package/dist/post-assertions/presets/flash-trade.js +0 -154
  614. package/dist/post-assertions/presets/flash-trade.js.map +0 -1
  615. package/dist/protocol-registry/annotations/drift.json +0 -7
  616. package/dist/protocol-registry/annotations/flash-trade.json +0 -7
  617. package/dist/protocol-registry/annotations/jupiter-borrow.json +0 -7
  618. package/dist/protocol-registry/annotations/jupiter-earn.json +0 -7
  619. package/dist/protocol-registry/annotations/jupiter-lend.json +0 -7
  620. package/dist/protocol-registry/annotations/jupiter.json +0 -7
  621. package/dist/protocol-registry/annotations/kamino.json +0 -7
  622. package/dist/protocol-registry/index.d.ts +0 -45
  623. package/dist/protocol-registry/index.d.ts.map +0 -1
  624. package/dist/protocol-registry/index.js +0 -76
  625. package/dist/protocol-registry/index.js.map +0 -1
  626. package/dist/protocol-tier.d.ts +0 -157
  627. package/dist/protocol-tier.d.ts.map +0 -1
  628. package/dist/protocol-tier.js +0 -104
  629. package/dist/protocol-tier.js.map +0 -1
@@ -0,0 +1,202 @@
1
+ /**
2
+ * CAIP-2 Solana chain identifiers + AL4 isMainnet derivation.
3
+ * Phase 9 Batch J (ISC-77..80, 147).
4
+ *
5
+ * Per the CAIP-2 spec (https://chainagnostic.org/CAIPs/caip-2), Solana
6
+ * networks are identified by a `solana:<genesis-hash-prefix>` string. The
7
+ * canonical IDs are registered at
8
+ * https://github.com/ChainAgnostic/namespaces/blob/main/solana/caip2.md.
9
+ *
10
+ * Sigil SDK V2 ships AL4 as a CAIP-2 chain id PLUS a derived `isMainnet`
11
+ * boolean. Per Council ISC-147, exposing the full CAIP-2 string (not just
12
+ * the boolean) preserves the future ability to bind testnet / localnet
13
+ * intents without changing the SealResult shape — collapsing 4 networks
14
+ * into 2 was flagged as a "footgun in waiting".
15
+ */
16
+ import { SigilSdkDomainError } from "./errors/sdk.js";
17
+ import { SIGIL_ERROR__SDK__INVALID_NETWORK } from "./errors/codes.js";
18
+ /** CAIP-2 namespace for Solana. */
19
+ export const CAIP2_NAMESPACE_SOLANA = "solana";
20
+ /** Mainnet-beta CAIP-2 chain id. */
21
+ export const CAIP2_SOLANA_MAINNET = "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp";
22
+ /** Devnet CAIP-2 chain id. */
23
+ export const CAIP2_SOLANA_DEVNET = "solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1";
24
+ /** Testnet CAIP-2 chain id (declared for completeness; not currently produced by `toCaip2`). */
25
+ export const CAIP2_SOLANA_TESTNET = "solana:4uhcVJyU9pJkvQyS88uRDiswHXSCkY3z";
26
+ /**
27
+ * Convert the SDK's internal `"devnet" | "mainnet"` network discriminant
28
+ * to its canonical CAIP-2 chain id.
29
+ *
30
+ * @throws if `network` is not one of the two supported values. (Type
31
+ * narrowing prevents this at compile time; the runtime check catches
32
+ * misuse from JS callers or `any`-cast bypasses.)
33
+ */
34
+ export function toCaip2(network) {
35
+ if (network === "mainnet")
36
+ return CAIP2_SOLANA_MAINNET;
37
+ if (network === "devnet")
38
+ return CAIP2_SOLANA_DEVNET;
39
+ throw new SigilSdkDomainError(SIGIL_ERROR__SDK__INVALID_NETWORK, `toCaip2: network must be 'devnet' or 'mainnet', got ${String(network)}`, {
40
+ context: {
41
+ operation: "toCaip2",
42
+ received: String(network),
43
+ },
44
+ });
45
+ }
46
+ /**
47
+ * Derive the AL4 `isMainnet` boolean from a CAIP-2 chain id.
48
+ *
49
+ * `isMainnet === true` ONLY when the chain id matches the canonical
50
+ * mainnet-beta value. Devnet, testnet, localnet — anything else — all
51
+ * return false. This is intentional: `isMainnet` is a SECURITY signal
52
+ * (gate destructive defaults behind it); fuzzy matching would be a
53
+ * footgun.
54
+ */
55
+ export function isMainnetCaip2(chain) {
56
+ return chain === CAIP2_SOLANA_MAINNET;
57
+ }
58
+ /**
59
+ * Convenience: combine `toCaip2` + `isMainnetCaip2` from a `"devnet" | "mainnet"`
60
+ * input. Used by `seal()` to populate `SealResult.network` and
61
+ * `SealResult.isMainnet` in a single call.
62
+ */
63
+ export function deriveNetworkIdentity(network) {
64
+ const chain = toCaip2(network);
65
+ return { network: chain, isMainnet: isMainnetCaip2(chain) };
66
+ }
67
+ /**
68
+ * Convert a Sigil CAIP-2 string to a Wallet Standard chain identifier.
69
+ *
70
+ * Wallet Standard (https://github.com/wallet-standard/wallet-standard) uses
71
+ * `solana:<network-id>` per the SIWS / Solana Mobile spec, which is the
72
+ * exact same shape as Sigil's CAIP-2 strings (per the ChainAgnostic CAIP-2
73
+ * registry — https://chainagnostic.org/CAIPs/caip-2). The conversion is
74
+ * therefore identity at the value level — but the explicit helper
75
+ * documents the boundary so that future wallet-standard surface changes
76
+ * (e.g. an extra cluster discriminant, a versioning suffix) localize to
77
+ * this one function rather than spreading raw CAIP-2 casts across SIWS,
78
+ * connector adapters, and the seal() result shape.
79
+ *
80
+ * The return type is the wider template-literal `\`solana:${string}\`` to
81
+ * keep the helper assignable to Wallet Standard `IdentifierString` /
82
+ * `WalletWithSolanaFeatures` chain fields without consumers needing to
83
+ * narrow back through `SigilCaip2Chain`.
84
+ *
85
+ * @param caip2 — a CAIP-2 chain id produced by {@link toCaip2} or one of
86
+ * the `CAIP2_SOLANA_*` constants. The argument MUST already be in the
87
+ * `solana:<id>` form; this helper does not validate.
88
+ */
89
+ export function toWalletStandardChain(caip2) {
90
+ return caip2;
91
+ }
92
+ /**
93
+ * Canonical Solana genesis hashes, keyed by network. Values are the full
94
+ * 44-character base58 hashes returned by `rpc.getGenesisHash()`.
95
+ *
96
+ * mainnet-beta: 5eykt4UsFv8P8NJdTREpY1vzqKqZKvdpKuc147dw2N9d
97
+ * devnet: EtWTRABZaYq6iMfeYKouRu166VU2xqa1wcaWoxPkrZBG
98
+ * testnet: 4uhcVJyU9pJkvQyS88uRDiswHXSCkY3zQawwpjk2NsNY
99
+ *
100
+ * Source: Solana Foundation Cluster RPC documentation
101
+ * (https://solana.com/docs/core/clusters). Hardcoded here so the
102
+ * verification path is offline-deterministic — a malicious RPC cannot
103
+ * substitute its own "canonical" hash.
104
+ */
105
+ export const SOLANA_GENESIS_HASHES = {
106
+ mainnet: "5eykt4UsFv8P8NJdTREpY1vzqKqZKvdpKuc147dw2N9d",
107
+ devnet: "EtWTRABZaYq6iMfeYKouRu166VU2xqa1wcaWoxPkrZBG",
108
+ testnet: "4uhcVJyU9pJkvQyS88uRDiswHXSCkY3zQawwpjk2NsNY",
109
+ };
110
+ /**
111
+ * Verify that an RPC actually serves the cluster a caller claims it does.
112
+ *
113
+ * **Opt-in, non-throwing diagnostic.** Unlike `assertGenesisHash` in
114
+ * seal.ts (which is called inside `createSigilClientAsync` and throws on
115
+ * mismatch), this helper returns a structured result so callers can
116
+ * branch on it without `try/catch`. Use it in preflight checks, in
117
+ * `mainnetConfirmed` confirmation flows that want to surface the
118
+ * mismatch to the operator, or anywhere raw-tx-building code paths
119
+ * bypass the client factory.
120
+ *
121
+ * **Does NOT change `seal()` default behaviour.** The existing seal
122
+ * factory still calls `assertGenesisHash` (which throws) — that's the
123
+ * load-bearing safety gate. `verifyNetworkIdentity` is purely additive.
124
+ *
125
+ * @example
126
+ * ```ts
127
+ * const result = await verifyNetworkIdentity({
128
+ * rpc,
129
+ * claimedNetwork: "mainnet",
130
+ * });
131
+ * if (!result.verified) {
132
+ * console.error(
133
+ * `Refusing to submit mainnet tx — RPC reports ${result.actualNetwork} ` +
134
+ * `(genesis ${result.observedGenesisHash}); ` +
135
+ * `expected mainnet (${result.expectedGenesisHash}).`,
136
+ * );
137
+ * throw new Error("Network mismatch");
138
+ * }
139
+ * ```
140
+ */
141
+ export async function verifyNetworkIdentity(input) {
142
+ const { rpc, claimedNetwork } = input;
143
+ if (claimedNetwork !== "devnet" && claimedNetwork !== "mainnet") {
144
+ // Defensive: JS callers or `any`-cast bypasses. Returned as
145
+ // unverified rather than throwing so the helper stays "diagnostic".
146
+ return {
147
+ verified: false,
148
+ actualNetwork: "unknown",
149
+ expectedGenesisHash: "",
150
+ reason: `claimedNetwork must be 'devnet' or 'mainnet', got ${String(claimedNetwork)}`,
151
+ };
152
+ }
153
+ const expectedGenesisHash = claimedNetwork === "mainnet"
154
+ ? SOLANA_GENESIS_HASHES.mainnet
155
+ : SOLANA_GENESIS_HASHES.devnet;
156
+ let observed;
157
+ try {
158
+ observed = await rpc.getGenesisHash().send();
159
+ }
160
+ catch (err) {
161
+ return {
162
+ verified: false,
163
+ actualNetwork: "unknown",
164
+ expectedGenesisHash,
165
+ reason: `getGenesisHash() failed: ${err instanceof Error ? err.message : String(err)}`,
166
+ };
167
+ }
168
+ if (typeof observed !== "string" || observed.length < 32) {
169
+ return {
170
+ verified: false,
171
+ actualNetwork: "unknown",
172
+ expectedGenesisHash,
173
+ observedGenesisHash: observed == null ? undefined : String(observed),
174
+ reason: "getGenesisHash() returned a malformed response — expected a 44-char base58 string",
175
+ };
176
+ }
177
+ // Identify the actual cluster the RPC serves.
178
+ let actualNetwork = "unknown";
179
+ for (const [name, hash] of Object.entries(SOLANA_GENESIS_HASHES)) {
180
+ if (observed === hash) {
181
+ actualNetwork = name;
182
+ break;
183
+ }
184
+ }
185
+ if (observed === expectedGenesisHash) {
186
+ return {
187
+ verified: true,
188
+ actualNetwork,
189
+ expectedGenesisHash,
190
+ observedGenesisHash: observed,
191
+ };
192
+ }
193
+ return {
194
+ verified: false,
195
+ actualNetwork,
196
+ expectedGenesisHash,
197
+ observedGenesisHash: observed,
198
+ reason: `Cluster mismatch — RPC reports ${actualNetwork} (genesis ${observed}) ` +
199
+ `but caller claimed ${claimedNetwork} (expected ${expectedGenesisHash}).`,
200
+ };
201
+ }
202
+ //# sourceMappingURL=caip2-network.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"caip2-network.js","sourceRoot":"","sources":["../src/caip2-network.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,iCAAiC,EAAE,MAAM,mBAAmB,CAAC;AAEtE,mCAAmC;AACnC,MAAM,CAAC,MAAM,sBAAsB,GAAG,QAAiB,CAAC;AAExD,oCAAoC;AACpC,MAAM,CAAC,MAAM,oBAAoB,GAC/B,yCAAkD,CAAC;AAErD,8BAA8B;AAC9B,MAAM,CAAC,MAAM,mBAAmB,GAC9B,yCAAkD,CAAC;AAErD,gGAAgG;AAChG,MAAM,CAAC,MAAM,oBAAoB,GAC/B,yCAAkD,CAAC;AAUrD;;;;;;;GAOG;AACH,MAAM,UAAU,OAAO,CAAC,OAA6B;IACnD,IAAI,OAAO,KAAK,SAAS;QAAE,OAAO,oBAAoB,CAAC;IACvD,IAAI,OAAO,KAAK,QAAQ;QAAE,OAAO,mBAAmB,CAAC;IACrD,MAAM,IAAI,mBAAmB,CAC3B,iCAAiC,EACjC,uDAAuD,MAAM,CAAC,OAAO,CAAC,EAAE,EACxE;QACE,OAAO,EAAE;YACP,SAAS,EAAE,SAAS;YACpB,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC;SACjB;KACX,CACF,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,cAAc,CAAC,KAAa;IAC1C,OAAO,KAAK,KAAK,oBAAoB,CAAC;AACxC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CAAC,OAA6B;IAIjE,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/B,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;AAC9D,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,qBAAqB,CACnC,KAAsB;IAEtB,OAAO,KAAK,CAAC;AACf,CAAC;AA0BD;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,OAAO,EAAE,8CAA8C;IACvD,MAAM,EAAE,8CAA8C;IACtD,OAAO,EAAE,8CAA8C;CAC/C,CAAC;AAmCX;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,KAG3C;IACC,MAAM,EAAE,GAAG,EAAE,cAAc,EAAE,GAAG,KAAK,CAAC;IACtC,IAAI,cAAc,KAAK,QAAQ,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;QAChE,4DAA4D;QAC5D,oEAAoE;QACpE,OAAO;YACL,QAAQ,EAAE,KAAK;YACf,aAAa,EAAE,SAAS;YACxB,mBAAmB,EAAE,EAAE;YACvB,MAAM,EAAE,qDAAqD,MAAM,CAAC,cAAc,CAAC,EAAE;SACtF,CAAC;IACJ,CAAC;IACD,MAAM,mBAAmB,GACvB,cAAc,KAAK,SAAS;QAC1B,CAAC,CAAC,qBAAqB,CAAC,OAAO;QAC/B,CAAC,CAAC,qBAAqB,CAAC,MAAM,CAAC;IAEnC,IAAI,QAAgB,CAAC;IACrB,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,GAAG,CAAC,cAAc,EAAE,CAAC,IAAI,EAAE,CAAC;IAC/C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO;YACL,QAAQ,EAAE,KAAK;YACf,aAAa,EAAE,SAAS;YACxB,mBAAmB;YACnB,MAAM,EAAE,4BAA4B,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;SACvF,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;QACzD,OAAO;YACL,QAAQ,EAAE,KAAK;YACf,aAAa,EAAE,SAAS;YACxB,mBAAmB;YACnB,mBAAmB,EAAE,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;YACpE,MAAM,EACJ,mFAAmF;SACtF,CAAC;IACJ,CAAC;IAED,8CAA8C;IAC9C,IAAI,aAAa,GAAuB,SAAS,CAAC;IAClD,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,qBAAqB,CAG5D,EAAE,CAAC;QACJ,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YACtB,aAAa,GAAG,IAAI,CAAC;YACrB,MAAM;QACR,CAAC;IACH,CAAC;IAED,IAAI,QAAQ,KAAK,mBAAmB,EAAE,CAAC;QACrC,OAAO;YACL,QAAQ,EAAE,IAAI;YACd,aAAa;YACb,mBAAmB;YACnB,mBAAmB,EAAE,QAAQ;SAC9B,CAAC;IACJ,CAAC;IACD,OAAO;QACL,QAAQ,EAAE,KAAK;QACf,aAAa;QACb,mBAAmB;QACnB,mBAAmB,EAAE,QAAQ;QAC7B,MAAM,EACJ,kCAAkC,aAAa,aAAa,QAAQ,IAAI;YACxE,sBAAsB,cAAc,cAAc,mBAAmB,IAAI;KAC5E,CAAC;AACJ,CAAC"}
@@ -0,0 +1,59 @@
1
+ /**
2
+ * Canonical Borsh-style encoder primitives — shared utilities.
3
+ *
4
+ * APPEND-ONLY DISCIPLINE. The TA-19 policy preview digest
5
+ * (`policy/compute-policy-preview-digest.ts`) and the AL3 SealInput intent
6
+ * digest (`seal/intent-digest.ts`, Phase 9 Batch I) both depend on these
7
+ * primitives being byte-stable across SDK versions. Adding a new primitive
8
+ * is fine; CHANGING the byte layout of an existing one would break every
9
+ * downstream cross-impl Rust↔TS hash and silently invalidate every
10
+ * previously-signed policy preview digest.
11
+ *
12
+ * Mirrors the Rust-side conventions used by `solana_program::hash::hash`
13
+ * over Borsh-encoded structs:
14
+ * - Little-endian for all multi-byte integers (u16/u32/u64).
15
+ * - Vec<T> = u32 LE length prefix ++ flat element bytes (no per-element
16
+ * framing).
17
+ * - bool encoded as u8 (0 or 1; the canonical Borsh wire format).
18
+ * - Pubkey = raw 32 bytes (base58 decoded).
19
+ * - SHA-256 over the canonical-encoded byte string.
20
+ *
21
+ * Primitives are deliberately small, stateless, and side-effect-free so
22
+ * they can be unit-tested in isolation and reused without surprises.
23
+ */
24
+ /**
25
+ * Decode a Solana base58 pubkey to its 32-byte raw form. Throws on any
26
+ * input that doesn't decode to exactly 32 bytes (catches malformed
27
+ * pubkeys before they corrupt the canonical encoding).
28
+ *
29
+ * @throws Error if `s` is empty, contains an invalid base58 character,
30
+ * or decodes to a byte length other than 32.
31
+ */
32
+ export declare function base58Decode32(s: string): Uint8Array;
33
+ /** Write u8 (single byte). Returns new offset. */
34
+ export declare function writeU8(view: DataView, offset: number, v: number): number;
35
+ /** Write u16 little-endian. Returns new offset. */
36
+ export declare function writeU16Le(view: DataView, offset: number, v: number): number;
37
+ /** Write u32 little-endian. Returns new offset. */
38
+ export declare function writeU32Le(view: DataView, offset: number, v: number): number;
39
+ /** Write u64 little-endian. Returns new offset. */
40
+ export declare function writeU64Le(view: DataView, offset: number, v: bigint): number;
41
+ /** Write a bool as a single 0/1 byte. Returns new offset. */
42
+ export declare function writeBool(view: DataView, offset: number, v: boolean): number;
43
+ /**
44
+ * SHA-256 over the input bytes. Backed by `@noble/hashes/sha256` — pure
45
+ * JS, browser- and Bun-compatible, byte-identical to Node's `node:crypto`
46
+ * for the same input (TA-19 cross-impl fixture suite verifies this).
47
+ *
48
+ * Phase 9 Batch I switched the backend from `node:crypto` to noble so AL3
49
+ * intent-digest can ship the same primitive across Node, Bun, and the
50
+ * browser without runtime-conditional imports.
51
+ */
52
+ export declare function sha256(input: Uint8Array): Uint8Array;
53
+ /**
54
+ * Constant-time digest comparison (true if `a` and `b` are byte-equal).
55
+ * Uses XOR-accumulate with no early exit so timing leaks don't reveal
56
+ * which prefix matched. Used by cosign + policy-digest verification.
57
+ */
58
+ export declare function digestsEqual(a: Uint8Array, b: Uint8Array): boolean;
59
+ //# sourceMappingURL=canonical-encode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"canonical-encode.d.ts","sourceRoot":"","sources":["../src/canonical-encode.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAqBH;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,MAAM,GAAG,UAAU,CAsCpD;AAQD,kDAAkD;AAClD,wBAAgB,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAGzE;AAED,mDAAmD;AACnD,wBAAgB,UAAU,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAG5E;AAED,mDAAmD;AACnD,wBAAgB,UAAU,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAG5E;AAED,mDAAmD;AACnD,wBAAgB,UAAU,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAG5E;AAED,6DAA6D;AAC7D,wBAAgB,SAAS,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,GAAG,MAAM,CAG5E;AAID;;;;;;;;GAQG;AACH,wBAAgB,MAAM,CAAC,KAAK,EAAE,UAAU,GAAG,UAAU,CAEpD;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,GAAG,OAAO,CAOlE"}
@@ -0,0 +1,141 @@
1
+ /**
2
+ * Canonical Borsh-style encoder primitives — shared utilities.
3
+ *
4
+ * APPEND-ONLY DISCIPLINE. The TA-19 policy preview digest
5
+ * (`policy/compute-policy-preview-digest.ts`) and the AL3 SealInput intent
6
+ * digest (`seal/intent-digest.ts`, Phase 9 Batch I) both depend on these
7
+ * primitives being byte-stable across SDK versions. Adding a new primitive
8
+ * is fine; CHANGING the byte layout of an existing one would break every
9
+ * downstream cross-impl Rust↔TS hash and silently invalidate every
10
+ * previously-signed policy preview digest.
11
+ *
12
+ * Mirrors the Rust-side conventions used by `solana_program::hash::hash`
13
+ * over Borsh-encoded structs:
14
+ * - Little-endian for all multi-byte integers (u16/u32/u64).
15
+ * - Vec<T> = u32 LE length prefix ++ flat element bytes (no per-element
16
+ * framing).
17
+ * - bool encoded as u8 (0 or 1; the canonical Borsh wire format).
18
+ * - Pubkey = raw 32 bytes (base58 decoded).
19
+ * - SHA-256 over the canonical-encoded byte string.
20
+ *
21
+ * Primitives are deliberately small, stateless, and side-effect-free so
22
+ * they can be unit-tested in isolation and reused without surprises.
23
+ */
24
+ import { sha256 as nobleSha256 } from "@noble/hashes/sha2";
25
+ // ── Base58 decode (no external dep) ─────────────────────────────────────────
26
+ //
27
+ // Solana pubkeys are base58 strings; we need the raw 32 bytes. The SDK has
28
+ // many base58 helpers downstream but importing from `kit-adapter` here would
29
+ // create a cycle (kit-adapter imports from `core/` which is consumed by
30
+ // digest helpers). Inline a small standard-Bitcoin-alphabet decoder.
31
+ const BASE58_ALPHABET = "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";
32
+ const BASE58_INDEX = (() => {
33
+ const r = Object.create(null);
34
+ for (let i = 0; i < BASE58_ALPHABET.length; i++) {
35
+ r[BASE58_ALPHABET[i]] = i;
36
+ }
37
+ return r;
38
+ })();
39
+ /**
40
+ * Decode a Solana base58 pubkey to its 32-byte raw form. Throws on any
41
+ * input that doesn't decode to exactly 32 bytes (catches malformed
42
+ * pubkeys before they corrupt the canonical encoding).
43
+ *
44
+ * @throws Error if `s` is empty, contains an invalid base58 character,
45
+ * or decodes to a byte length other than 32.
46
+ */
47
+ export function base58Decode32(s) {
48
+ if (s.length === 0) {
49
+ throw new Error("base58Decode32: empty input");
50
+ }
51
+ let leadingZeros = 0;
52
+ while (leadingZeros < s.length && s[leadingZeros] === "1") {
53
+ leadingZeros++;
54
+ }
55
+ // Big integer mode: walk digits, base-256 carry.
56
+ const bytes = [];
57
+ for (let i = 0; i < s.length; i++) {
58
+ const c = s[i];
59
+ const v = BASE58_INDEX[c];
60
+ if (v === undefined) {
61
+ throw new Error(`base58Decode32: invalid char '${c}'`);
62
+ }
63
+ let carry = v;
64
+ for (let j = 0; j < bytes.length; j++) {
65
+ carry += bytes[j] * 58;
66
+ bytes[j] = carry & 0xff;
67
+ carry >>>= 8;
68
+ }
69
+ while (carry > 0) {
70
+ bytes.push(carry & 0xff);
71
+ carry >>>= 8;
72
+ }
73
+ }
74
+ // bytes is little-endian; reverse and prepend leading zeros.
75
+ const out = new Uint8Array(leadingZeros + bytes.length);
76
+ for (let i = 0; i < bytes.length; i++) {
77
+ out[leadingZeros + (bytes.length - 1 - i)] = bytes[i];
78
+ }
79
+ if (out.length !== 32) {
80
+ throw new Error(`base58Decode32: expected 32-byte pubkey, got ${out.length} bytes`);
81
+ }
82
+ return out;
83
+ }
84
+ // ── Cursor writers ──────────────────────────────────────────────────────────
85
+ //
86
+ // Each writer takes a DataView + offset and returns the new offset. The
87
+ // `DataView` interface is browser- and Node-portable. All multi-byte integers
88
+ // are little-endian (matching `solana_program` + Borsh canonical encoding).
89
+ /** Write u8 (single byte). Returns new offset. */
90
+ export function writeU8(view, offset, v) {
91
+ view.setUint8(offset, v & 0xff);
92
+ return offset + 1;
93
+ }
94
+ /** Write u16 little-endian. Returns new offset. */
95
+ export function writeU16Le(view, offset, v) {
96
+ view.setUint16(offset, v, true);
97
+ return offset + 2;
98
+ }
99
+ /** Write u32 little-endian. Returns new offset. */
100
+ export function writeU32Le(view, offset, v) {
101
+ view.setUint32(offset, v, true);
102
+ return offset + 4;
103
+ }
104
+ /** Write u64 little-endian. Returns new offset. */
105
+ export function writeU64Le(view, offset, v) {
106
+ view.setBigUint64(offset, v, true);
107
+ return offset + 8;
108
+ }
109
+ /** Write a bool as a single 0/1 byte. Returns new offset. */
110
+ export function writeBool(view, offset, v) {
111
+ view.setUint8(offset, v ? 1 : 0);
112
+ return offset + 1;
113
+ }
114
+ // ── SHA-256 hasher ──────────────────────────────────────────────────────────
115
+ /**
116
+ * SHA-256 over the input bytes. Backed by `@noble/hashes/sha256` — pure
117
+ * JS, browser- and Bun-compatible, byte-identical to Node's `node:crypto`
118
+ * for the same input (TA-19 cross-impl fixture suite verifies this).
119
+ *
120
+ * Phase 9 Batch I switched the backend from `node:crypto` to noble so AL3
121
+ * intent-digest can ship the same primitive across Node, Bun, and the
122
+ * browser without runtime-conditional imports.
123
+ */
124
+ export function sha256(input) {
125
+ return nobleSha256(input);
126
+ }
127
+ /**
128
+ * Constant-time digest comparison (true if `a` and `b` are byte-equal).
129
+ * Uses XOR-accumulate with no early exit so timing leaks don't reveal
130
+ * which prefix matched. Used by cosign + policy-digest verification.
131
+ */
132
+ export function digestsEqual(a, b) {
133
+ if (a.length !== b.length)
134
+ return false;
135
+ let acc = 0;
136
+ for (let i = 0; i < a.length; i++) {
137
+ acc |= (a[i] ^ b[i]) & 0xff;
138
+ }
139
+ return acc === 0;
140
+ }
141
+ //# sourceMappingURL=canonical-encode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"canonical-encode.js","sourceRoot":"","sources":["../src/canonical-encode.ts"],"names":[],"mappings":"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"}