@usesigil/kit 0.1.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 (631) hide show
  1. package/LICENSE +191 -0
  2. package/README.md +190 -0
  3. package/dist/advanced-analytics.d.ts +118 -0
  4. package/dist/advanced-analytics.d.ts.map +1 -0
  5. package/dist/advanced-analytics.js +341 -0
  6. package/dist/advanced-analytics.js.map +1 -0
  7. package/dist/agent-analytics.d.ts +76 -0
  8. package/dist/agent-analytics.d.ts.map +1 -0
  9. package/dist/agent-analytics.js +179 -0
  10. package/dist/agent-analytics.js.map +1 -0
  11. package/dist/agent-errors.d.ts +151 -0
  12. package/dist/agent-errors.d.ts.map +1 -0
  13. package/dist/agent-errors.js +2001 -0
  14. package/dist/agent-errors.js.map +1 -0
  15. package/dist/alt-config.d.ts +43 -0
  16. package/dist/alt-config.d.ts.map +1 -0
  17. package/dist/alt-config.js +78 -0
  18. package/dist/alt-config.js.map +1 -0
  19. package/dist/alt-loader.d.ts +47 -0
  20. package/dist/alt-loader.d.ts.map +1 -0
  21. package/dist/alt-loader.js +143 -0
  22. package/dist/alt-loader.js.map +1 -0
  23. package/dist/balance-tracker.d.ts +87 -0
  24. package/dist/balance-tracker.d.ts.map +1 -0
  25. package/dist/balance-tracker.js +181 -0
  26. package/dist/balance-tracker.js.map +1 -0
  27. package/dist/composer.d.ts +56 -0
  28. package/dist/composer.d.ts.map +1 -0
  29. package/dist/composer.js +77 -0
  30. package/dist/composer.js.map +1 -0
  31. package/dist/core/engine.d.ts +17 -0
  32. package/dist/core/engine.d.ts.map +1 -0
  33. package/dist/core/engine.js +177 -0
  34. package/dist/core/engine.js.map +1 -0
  35. package/dist/core/errors.d.ts +24 -0
  36. package/dist/core/errors.d.ts.map +1 -0
  37. package/dist/core/errors.js +16 -0
  38. package/dist/core/errors.js.map +1 -0
  39. package/dist/core/index.d.ts +9 -0
  40. package/dist/core/index.d.ts.map +1 -0
  41. package/dist/core/index.js +10 -0
  42. package/dist/core/index.js.map +1 -0
  43. package/dist/core/policies.d.ts +75 -0
  44. package/dist/core/policies.d.ts.map +1 -0
  45. package/dist/core/policies.js +126 -0
  46. package/dist/core/policies.js.map +1 -0
  47. package/dist/core/registry.d.ts +29 -0
  48. package/dist/core/registry.d.ts.map +1 -0
  49. package/dist/core/registry.js +125 -0
  50. package/dist/core/registry.js.map +1 -0
  51. package/dist/core/state.d.ts +71 -0
  52. package/dist/core/state.d.ts.map +1 -0
  53. package/dist/core/state.js +169 -0
  54. package/dist/core/state.js.map +1 -0
  55. package/dist/create-vault.d.ts +58 -0
  56. package/dist/create-vault.d.ts.map +1 -0
  57. package/dist/create-vault.js +90 -0
  58. package/dist/create-vault.js.map +1 -0
  59. package/dist/custody-adapter.d.ts +54 -0
  60. package/dist/custody-adapter.d.ts.map +1 -0
  61. package/dist/custody-adapter.js +45 -0
  62. package/dist/custody-adapter.js.map +1 -0
  63. package/dist/event-analytics.d.ts +45 -0
  64. package/dist/event-analytics.d.ts.map +1 -0
  65. package/dist/event-analytics.js +277 -0
  66. package/dist/event-analytics.js.map +1 -0
  67. package/dist/events.d.ts +56 -0
  68. package/dist/events.d.ts.map +1 -0
  69. package/dist/events.js +151 -0
  70. package/dist/events.js.map +1 -0
  71. package/dist/formatting.d.ts +103 -0
  72. package/dist/formatting.d.ts.map +1 -0
  73. package/dist/formatting.js +244 -0
  74. package/dist/formatting.js.map +1 -0
  75. package/dist/generated/accounts/agentSpendOverlay.d.ts +54 -0
  76. package/dist/generated/accounts/agentSpendOverlay.d.ts.map +1 -0
  77. package/dist/generated/accounts/agentSpendOverlay.js +74 -0
  78. package/dist/generated/accounts/agentSpendOverlay.js.map +1 -0
  79. package/dist/generated/accounts/agentVault.d.ts +95 -0
  80. package/dist/generated/accounts/agentVault.d.ts.map +1 -0
  81. package/dist/generated/accounts/agentVault.js +83 -0
  82. package/dist/generated/accounts/agentVault.js.map +1 -0
  83. package/dist/generated/accounts/escrowDeposit.d.ts +50 -0
  84. package/dist/generated/accounts/escrowDeposit.d.ts.map +1 -0
  85. package/dist/generated/accounts/escrowDeposit.js +76 -0
  86. package/dist/generated/accounts/escrowDeposit.js.map +1 -0
  87. package/dist/generated/accounts/index.d.ts +17 -0
  88. package/dist/generated/accounts/index.d.ts.map +1 -0
  89. package/dist/generated/accounts/index.js +17 -0
  90. package/dist/generated/accounts/index.js.map +1 -0
  91. package/dist/generated/accounts/instructionConstraints.d.ts +37 -0
  92. package/dist/generated/accounts/instructionConstraints.d.ts.map +1 -0
  93. package/dist/generated/accounts/instructionConstraints.js +64 -0
  94. package/dist/generated/accounts/instructionConstraints.js.map +1 -0
  95. package/dist/generated/accounts/pendingConstraintsUpdate.d.ts +53 -0
  96. package/dist/generated/accounts/pendingConstraintsUpdate.d.ts.map +1 -0
  97. package/dist/generated/accounts/pendingConstraintsUpdate.js +68 -0
  98. package/dist/generated/accounts/pendingConstraintsUpdate.js.map +1 -0
  99. package/dist/generated/accounts/pendingPolicyUpdate.d.ts +72 -0
  100. package/dist/generated/accounts/pendingPolicyUpdate.d.ts.map +1 -0
  101. package/dist/generated/accounts/pendingPolicyUpdate.js +97 -0
  102. package/dist/generated/accounts/pendingPolicyUpdate.js.map +1 -0
  103. package/dist/generated/accounts/policyConfig.d.ts +180 -0
  104. package/dist/generated/accounts/policyConfig.d.ts.map +1 -0
  105. package/dist/generated/accounts/policyConfig.js +88 -0
  106. package/dist/generated/accounts/policyConfig.js.map +1 -0
  107. package/dist/generated/accounts/sessionAuthority.d.ts +104 -0
  108. package/dist/generated/accounts/sessionAuthority.d.ts.map +1 -0
  109. package/dist/generated/accounts/sessionAuthority.js +86 -0
  110. package/dist/generated/accounts/sessionAuthority.js.map +1 -0
  111. package/dist/generated/accounts/spendTracker.d.ts +60 -0
  112. package/dist/generated/accounts/spendTracker.d.ts.map +1 -0
  113. package/dist/generated/accounts/spendTracker.js +74 -0
  114. package/dist/generated/accounts/spendTracker.js.map +1 -0
  115. package/dist/generated/errors/index.d.ts +9 -0
  116. package/dist/generated/errors/index.d.ts.map +1 -0
  117. package/dist/generated/errors/index.js +9 -0
  118. package/dist/generated/errors/index.js.map +1 -0
  119. package/dist/generated/errors/sigil.d.ts +162 -0
  120. package/dist/generated/errors/sigil.d.ts.map +1 -0
  121. package/dist/generated/errors/sigil.js +237 -0
  122. package/dist/generated/errors/sigil.js.map +1 -0
  123. package/dist/generated/event-discriminators.d.ts +2 -0
  124. package/dist/generated/event-discriminators.d.ts.map +1 -0
  125. package/dist/generated/event-discriminators.js +39 -0
  126. package/dist/generated/event-discriminators.js.map +1 -0
  127. package/dist/generated/index.d.ts +13 -0
  128. package/dist/generated/index.d.ts.map +1 -0
  129. package/dist/generated/index.js +13 -0
  130. package/dist/generated/index.js.map +1 -0
  131. package/dist/generated/instructions/agentTransfer.d.ts +109 -0
  132. package/dist/generated/instructions/agentTransfer.d.ts.map +1 -0
  133. package/dist/generated/instructions/agentTransfer.js +211 -0
  134. package/dist/generated/instructions/agentTransfer.js.map +1 -0
  135. package/dist/generated/instructions/applyConstraintsUpdate.d.ts +55 -0
  136. package/dist/generated/instructions/applyConstraintsUpdate.d.ts.map +1 -0
  137. package/dist/generated/instructions/applyConstraintsUpdate.js +129 -0
  138. package/dist/generated/instructions/applyConstraintsUpdate.js.map +1 -0
  139. package/dist/generated/instructions/applyPendingPolicy.d.ts +55 -0
  140. package/dist/generated/instructions/applyPendingPolicy.d.ts.map +1 -0
  141. package/dist/generated/instructions/applyPendingPolicy.js +122 -0
  142. package/dist/generated/instructions/applyPendingPolicy.js.map +1 -0
  143. package/dist/generated/instructions/cancelConstraintsUpdate.d.ts +51 -0
  144. package/dist/generated/instructions/cancelConstraintsUpdate.d.ts.map +1 -0
  145. package/dist/generated/instructions/cancelConstraintsUpdate.js +115 -0
  146. package/dist/generated/instructions/cancelConstraintsUpdate.js.map +1 -0
  147. package/dist/generated/instructions/cancelPendingPolicy.d.ts +55 -0
  148. package/dist/generated/instructions/cancelPendingPolicy.d.ts.map +1 -0
  149. package/dist/generated/instructions/cancelPendingPolicy.js +122 -0
  150. package/dist/generated/instructions/cancelPendingPolicy.js.map +1 -0
  151. package/dist/generated/instructions/closeInstructionConstraints.d.ts +55 -0
  152. package/dist/generated/instructions/closeInstructionConstraints.d.ts.map +1 -0
  153. package/dist/generated/instructions/closeInstructionConstraints.js +120 -0
  154. package/dist/generated/instructions/closeInstructionConstraints.js.map +1 -0
  155. package/dist/generated/instructions/closeSettledEscrow.d.ts +72 -0
  156. package/dist/generated/instructions/closeSettledEscrow.d.ts.map +1 -0
  157. package/dist/generated/instructions/closeSettledEscrow.js +127 -0
  158. package/dist/generated/instructions/closeSettledEscrow.js.map +1 -0
  159. package/dist/generated/instructions/closeVault.d.ts +69 -0
  160. package/dist/generated/instructions/closeVault.d.ts.map +1 -0
  161. package/dist/generated/instructions/closeVault.js +142 -0
  162. package/dist/generated/instructions/closeVault.js.map +1 -0
  163. package/dist/generated/instructions/createEscrow.d.ts +131 -0
  164. package/dist/generated/instructions/createEscrow.d.ts.map +1 -0
  165. package/dist/generated/instructions/createEscrow.js +272 -0
  166. package/dist/generated/instructions/createEscrow.js.map +1 -0
  167. package/dist/generated/instructions/createInstructionConstraints.d.ts +69 -0
  168. package/dist/generated/instructions/createInstructionConstraints.d.ts.map +1 -0
  169. package/dist/generated/instructions/createInstructionConstraints.js +145 -0
  170. package/dist/generated/instructions/createInstructionConstraints.js.map +1 -0
  171. package/dist/generated/instructions/depositFunds.d.ts +82 -0
  172. package/dist/generated/instructions/depositFunds.d.ts.map +1 -0
  173. package/dist/generated/instructions/depositFunds.js +198 -0
  174. package/dist/generated/instructions/depositFunds.js.map +1 -0
  175. package/dist/generated/instructions/finalizeSession.d.ts +126 -0
  176. package/dist/generated/instructions/finalizeSession.d.ts.map +1 -0
  177. package/dist/generated/instructions/finalizeSession.js +218 -0
  178. package/dist/generated/instructions/finalizeSession.js.map +1 -0
  179. package/dist/generated/instructions/freezeVault.d.ts +40 -0
  180. package/dist/generated/instructions/freezeVault.d.ts.map +1 -0
  181. package/dist/generated/instructions/freezeVault.js +66 -0
  182. package/dist/generated/instructions/freezeVault.js.map +1 -0
  183. package/dist/generated/instructions/index.d.ts +37 -0
  184. package/dist/generated/instructions/index.d.ts.map +1 -0
  185. package/dist/generated/instructions/index.js +37 -0
  186. package/dist/generated/instructions/index.js.map +1 -0
  187. package/dist/generated/instructions/initializeVault.d.ts +122 -0
  188. package/dist/generated/instructions/initializeVault.d.ts.map +1 -0
  189. package/dist/generated/instructions/initializeVault.js +187 -0
  190. package/dist/generated/instructions/initializeVault.js.map +1 -0
  191. package/dist/generated/instructions/pauseAgent.d.ts +44 -0
  192. package/dist/generated/instructions/pauseAgent.d.ts.map +1 -0
  193. package/dist/generated/instructions/pauseAgent.js +72 -0
  194. package/dist/generated/instructions/pauseAgent.js.map +1 -0
  195. package/dist/generated/instructions/queueConstraintsUpdate.d.ts +73 -0
  196. package/dist/generated/instructions/queueConstraintsUpdate.d.ts.map +1 -0
  197. package/dist/generated/instructions/queueConstraintsUpdate.js +168 -0
  198. package/dist/generated/instructions/queueConstraintsUpdate.js.map +1 -0
  199. package/dist/generated/instructions/queuePolicyUpdate.d.ts +116 -0
  200. package/dist/generated/instructions/queuePolicyUpdate.d.ts.map +1 -0
  201. package/dist/generated/instructions/queuePolicyUpdate.js +173 -0
  202. package/dist/generated/instructions/queuePolicyUpdate.js.map +1 -0
  203. package/dist/generated/instructions/reactivateVault.d.ts +47 -0
  204. package/dist/generated/instructions/reactivateVault.d.ts.map +1 -0
  205. package/dist/generated/instructions/reactivateVault.js +74 -0
  206. package/dist/generated/instructions/reactivateVault.js.map +1 -0
  207. package/dist/generated/instructions/refundEscrow.d.ts +74 -0
  208. package/dist/generated/instructions/refundEscrow.d.ts.map +1 -0
  209. package/dist/generated/instructions/refundEscrow.js +142 -0
  210. package/dist/generated/instructions/refundEscrow.js.map +1 -0
  211. package/dist/generated/instructions/registerAgent.d.ts +55 -0
  212. package/dist/generated/instructions/registerAgent.d.ts.map +1 -0
  213. package/dist/generated/instructions/registerAgent.js +85 -0
  214. package/dist/generated/instructions/registerAgent.js.map +1 -0
  215. package/dist/generated/instructions/revokeAgent.d.ts +49 -0
  216. package/dist/generated/instructions/revokeAgent.d.ts.map +1 -0
  217. package/dist/generated/instructions/revokeAgent.js +81 -0
  218. package/dist/generated/instructions/revokeAgent.js.map +1 -0
  219. package/dist/generated/instructions/settleEscrow.d.ts +80 -0
  220. package/dist/generated/instructions/settleEscrow.d.ts.map +1 -0
  221. package/dist/generated/instructions/settleEscrow.js +173 -0
  222. package/dist/generated/instructions/settleEscrow.js.map +1 -0
  223. package/dist/generated/instructions/syncPositions.d.ts +44 -0
  224. package/dist/generated/instructions/syncPositions.d.ts.map +1 -0
  225. package/dist/generated/instructions/syncPositions.js +72 -0
  226. package/dist/generated/instructions/syncPositions.js.map +1 -0
  227. package/dist/generated/instructions/unpauseAgent.d.ts +44 -0
  228. package/dist/generated/instructions/unpauseAgent.d.ts.map +1 -0
  229. package/dist/generated/instructions/unpauseAgent.js +72 -0
  230. package/dist/generated/instructions/unpauseAgent.js.map +1 -0
  231. package/dist/generated/instructions/updateAgentPermissions.d.ts +68 -0
  232. package/dist/generated/instructions/updateAgentPermissions.d.ts.map +1 -0
  233. package/dist/generated/instructions/updateAgentPermissions.js +139 -0
  234. package/dist/generated/instructions/updateAgentPermissions.js.map +1 -0
  235. package/dist/generated/instructions/updateInstructionConstraints.d.ts +65 -0
  236. package/dist/generated/instructions/updateInstructionConstraints.d.ts.map +1 -0
  237. package/dist/generated/instructions/updateInstructionConstraints.js +131 -0
  238. package/dist/generated/instructions/updateInstructionConstraints.js.map +1 -0
  239. package/dist/generated/instructions/updatePolicy.d.ts +108 -0
  240. package/dist/generated/instructions/updatePolicy.d.ts.map +1 -0
  241. package/dist/generated/instructions/updatePolicy.js +143 -0
  242. package/dist/generated/instructions/updatePolicy.js.map +1 -0
  243. package/dist/generated/instructions/validateAndAuthorize.d.ts +171 -0
  244. package/dist/generated/instructions/validateAndAuthorize.d.ts.map +1 -0
  245. package/dist/generated/instructions/validateAndAuthorize.js +271 -0
  246. package/dist/generated/instructions/validateAndAuthorize.js.map +1 -0
  247. package/dist/generated/instructions/withdrawFunds.d.ts +74 -0
  248. package/dist/generated/instructions/withdrawFunds.d.ts.map +1 -0
  249. package/dist/generated/instructions/withdrawFunds.js +166 -0
  250. package/dist/generated/instructions/withdrawFunds.js.map +1 -0
  251. package/dist/generated/programs/index.d.ts +9 -0
  252. package/dist/generated/programs/index.d.ts.map +1 -0
  253. package/dist/generated/programs/index.js +9 -0
  254. package/dist/generated/programs/index.js.map +1 -0
  255. package/dist/generated/programs/sigil.d.ts +173 -0
  256. package/dist/generated/programs/sigil.d.ts.map +1 -0
  257. package/dist/generated/programs/sigil.js +443 -0
  258. package/dist/generated/programs/sigil.js.map +1 -0
  259. package/dist/generated/types/accountConstraint.d.ts +18 -0
  260. package/dist/generated/types/accountConstraint.d.ts.map +1 -0
  261. package/dist/generated/types/accountConstraint.js +24 -0
  262. package/dist/generated/types/accountConstraint.js.map +1 -0
  263. package/dist/generated/types/actionAuthorized.d.ts +39 -0
  264. package/dist/generated/types/actionAuthorized.d.ts.map +1 -0
  265. package/dist/generated/types/actionAuthorized.js +43 -0
  266. package/dist/generated/types/actionAuthorized.js.map +1 -0
  267. package/dist/generated/types/actionType.d.ts +37 -0
  268. package/dist/generated/types/actionType.d.ts.map +1 -0
  269. package/dist/generated/types/actionType.js +43 -0
  270. package/dist/generated/types/actionType.js.map +1 -0
  271. package/dist/generated/types/agentContributionEntry.d.ts +49 -0
  272. package/dist/generated/types/agentContributionEntry.d.ts.map +1 -0
  273. package/dist/generated/types/agentContributionEntry.js +26 -0
  274. package/dist/generated/types/agentContributionEntry.js.map +1 -0
  275. package/dist/generated/types/agentEntry.d.ts +24 -0
  276. package/dist/generated/types/agentEntry.d.ts.map +1 -0
  277. package/dist/generated/types/agentEntry.js +28 -0
  278. package/dist/generated/types/agentEntry.js.map +1 -0
  279. package/dist/generated/types/agentPausedEvent.d.ts +22 -0
  280. package/dist/generated/types/agentPausedEvent.d.ts.map +1 -0
  281. package/dist/generated/types/agentPausedEvent.js +26 -0
  282. package/dist/generated/types/agentPausedEvent.js.map +1 -0
  283. package/dist/generated/types/agentPermissionsUpdated.d.ts +24 -0
  284. package/dist/generated/types/agentPermissionsUpdated.d.ts.map +1 -0
  285. package/dist/generated/types/agentPermissionsUpdated.js +28 -0
  286. package/dist/generated/types/agentPermissionsUpdated.js.map +1 -0
  287. package/dist/generated/types/agentRegistered.d.ts +26 -0
  288. package/dist/generated/types/agentRegistered.d.ts.map +1 -0
  289. package/dist/generated/types/agentRegistered.js +30 -0
  290. package/dist/generated/types/agentRegistered.js.map +1 -0
  291. package/dist/generated/types/agentRevoked.d.ts +24 -0
  292. package/dist/generated/types/agentRevoked.d.ts.map +1 -0
  293. package/dist/generated/types/agentRevoked.js +28 -0
  294. package/dist/generated/types/agentRevoked.js.map +1 -0
  295. package/dist/generated/types/agentSpendLimitChecked.d.ts +28 -0
  296. package/dist/generated/types/agentSpendLimitChecked.d.ts.map +1 -0
  297. package/dist/generated/types/agentSpendLimitChecked.js +32 -0
  298. package/dist/generated/types/agentSpendLimitChecked.js.map +1 -0
  299. package/dist/generated/types/agentTransferExecuted.d.ts +24 -0
  300. package/dist/generated/types/agentTransferExecuted.d.ts.map +1 -0
  301. package/dist/generated/types/agentTransferExecuted.js +28 -0
  302. package/dist/generated/types/agentTransferExecuted.js.map +1 -0
  303. package/dist/generated/types/agentUnpausedEvent.d.ts +22 -0
  304. package/dist/generated/types/agentUnpausedEvent.d.ts.map +1 -0
  305. package/dist/generated/types/agentUnpausedEvent.js +26 -0
  306. package/dist/generated/types/agentUnpausedEvent.js.map +1 -0
  307. package/dist/generated/types/constraintEntry.d.ts +23 -0
  308. package/dist/generated/types/constraintEntry.d.ts.map +1 -0
  309. package/dist/generated/types/constraintEntry.js +27 -0
  310. package/dist/generated/types/constraintEntry.js.map +1 -0
  311. package/dist/generated/types/constraintOperator.d.ts +22 -0
  312. package/dist/generated/types/constraintOperator.d.ts.map +1 -0
  313. package/dist/generated/types/constraintOperator.js +28 -0
  314. package/dist/generated/types/constraintOperator.js.map +1 -0
  315. package/dist/generated/types/constraintsChangeApplied.d.ts +20 -0
  316. package/dist/generated/types/constraintsChangeApplied.d.ts.map +1 -0
  317. package/dist/generated/types/constraintsChangeApplied.js +24 -0
  318. package/dist/generated/types/constraintsChangeApplied.js.map +1 -0
  319. package/dist/generated/types/constraintsChangeCancelled.d.ts +16 -0
  320. package/dist/generated/types/constraintsChangeCancelled.d.ts.map +1 -0
  321. package/dist/generated/types/constraintsChangeCancelled.js +18 -0
  322. package/dist/generated/types/constraintsChangeCancelled.js.map +1 -0
  323. package/dist/generated/types/constraintsChangeQueued.d.ts +20 -0
  324. package/dist/generated/types/constraintsChangeQueued.d.ts.map +1 -0
  325. package/dist/generated/types/constraintsChangeQueued.js +24 -0
  326. package/dist/generated/types/constraintsChangeQueued.js.map +1 -0
  327. package/dist/generated/types/dataConstraint.d.ts +23 -0
  328. package/dist/generated/types/dataConstraint.d.ts.map +1 -0
  329. package/dist/generated/types/dataConstraint.js +27 -0
  330. package/dist/generated/types/dataConstraint.js.map +1 -0
  331. package/dist/generated/types/delegationRevoked.d.ts +22 -0
  332. package/dist/generated/types/delegationRevoked.d.ts.map +1 -0
  333. package/dist/generated/types/delegationRevoked.js +26 -0
  334. package/dist/generated/types/delegationRevoked.js.map +1 -0
  335. package/dist/generated/types/epochBucket.d.ts +28 -0
  336. package/dist/generated/types/epochBucket.d.ts.map +1 -0
  337. package/dist/generated/types/epochBucket.js +24 -0
  338. package/dist/generated/types/epochBucket.js.map +1 -0
  339. package/dist/generated/types/escrowCreated.d.ts +30 -0
  340. package/dist/generated/types/escrowCreated.d.ts.map +1 -0
  341. package/dist/generated/types/escrowCreated.js +34 -0
  342. package/dist/generated/types/escrowCreated.js.map +1 -0
  343. package/dist/generated/types/escrowRefunded.d.ts +26 -0
  344. package/dist/generated/types/escrowRefunded.d.ts.map +1 -0
  345. package/dist/generated/types/escrowRefunded.js +30 -0
  346. package/dist/generated/types/escrowRefunded.js.map +1 -0
  347. package/dist/generated/types/escrowSettled.d.ts +26 -0
  348. package/dist/generated/types/escrowSettled.d.ts.map +1 -0
  349. package/dist/generated/types/escrowSettled.js +30 -0
  350. package/dist/generated/types/escrowSettled.js.map +1 -0
  351. package/dist/generated/types/escrowStatus.d.ts +18 -0
  352. package/dist/generated/types/escrowStatus.d.ts.map +1 -0
  353. package/dist/generated/types/escrowStatus.js +24 -0
  354. package/dist/generated/types/escrowStatus.js.map +1 -0
  355. package/dist/generated/types/feesCollected.d.ts +38 -0
  356. package/dist/generated/types/feesCollected.d.ts.map +1 -0
  357. package/dist/generated/types/feesCollected.js +42 -0
  358. package/dist/generated/types/feesCollected.js.map +1 -0
  359. package/dist/generated/types/fundsDeposited.d.ts +24 -0
  360. package/dist/generated/types/fundsDeposited.d.ts.map +1 -0
  361. package/dist/generated/types/fundsDeposited.js +28 -0
  362. package/dist/generated/types/fundsDeposited.js.map +1 -0
  363. package/dist/generated/types/fundsWithdrawn.d.ts +26 -0
  364. package/dist/generated/types/fundsWithdrawn.d.ts.map +1 -0
  365. package/dist/generated/types/fundsWithdrawn.js +30 -0
  366. package/dist/generated/types/fundsWithdrawn.js.map +1 -0
  367. package/dist/generated/types/index.d.ts +50 -0
  368. package/dist/generated/types/index.d.ts.map +1 -0
  369. package/dist/generated/types/index.js +50 -0
  370. package/dist/generated/types/index.js.map +1 -0
  371. package/dist/generated/types/instructionConstraintsClosed.d.ts +20 -0
  372. package/dist/generated/types/instructionConstraintsClosed.d.ts.map +1 -0
  373. package/dist/generated/types/instructionConstraintsClosed.js +24 -0
  374. package/dist/generated/types/instructionConstraintsClosed.js.map +1 -0
  375. package/dist/generated/types/instructionConstraintsCreated.d.ts +24 -0
  376. package/dist/generated/types/instructionConstraintsCreated.d.ts.map +1 -0
  377. package/dist/generated/types/instructionConstraintsCreated.js +28 -0
  378. package/dist/generated/types/instructionConstraintsCreated.js.map +1 -0
  379. package/dist/generated/types/instructionConstraintsUpdated.d.ts +24 -0
  380. package/dist/generated/types/instructionConstraintsUpdated.d.ts.map +1 -0
  381. package/dist/generated/types/instructionConstraintsUpdated.js +28 -0
  382. package/dist/generated/types/instructionConstraintsUpdated.js.map +1 -0
  383. package/dist/generated/types/policyChangeApplied.d.ts +20 -0
  384. package/dist/generated/types/policyChangeApplied.d.ts.map +1 -0
  385. package/dist/generated/types/policyChangeApplied.js +24 -0
  386. package/dist/generated/types/policyChangeApplied.js.map +1 -0
  387. package/dist/generated/types/policyChangeCancelled.d.ts +16 -0
  388. package/dist/generated/types/policyChangeCancelled.d.ts.map +1 -0
  389. package/dist/generated/types/policyChangeCancelled.js +18 -0
  390. package/dist/generated/types/policyChangeCancelled.js.map +1 -0
  391. package/dist/generated/types/policyChangeQueued.d.ts +20 -0
  392. package/dist/generated/types/policyChangeQueued.d.ts.map +1 -0
  393. package/dist/generated/types/policyChangeQueued.js +24 -0
  394. package/dist/generated/types/policyChangeQueued.js.map +1 -0
  395. package/dist/generated/types/policyUpdated.d.ts +34 -0
  396. package/dist/generated/types/policyUpdated.d.ts.map +1 -0
  397. package/dist/generated/types/policyUpdated.js +38 -0
  398. package/dist/generated/types/policyUpdated.js.map +1 -0
  399. package/dist/generated/types/positionsSynced.d.ts +24 -0
  400. package/dist/generated/types/positionsSynced.d.ts.map +1 -0
  401. package/dist/generated/types/positionsSynced.js +28 -0
  402. package/dist/generated/types/positionsSynced.js.map +1 -0
  403. package/dist/generated/types/protocolSpendCounter.d.ts +33 -0
  404. package/dist/generated/types/protocolSpendCounter.d.ts.map +1 -0
  405. package/dist/generated/types/protocolSpendCounter.js +26 -0
  406. package/dist/generated/types/protocolSpendCounter.js.map +1 -0
  407. package/dist/generated/types/sessionFinalized.d.ts +32 -0
  408. package/dist/generated/types/sessionFinalized.d.ts.map +1 -0
  409. package/dist/generated/types/sessionFinalized.js +36 -0
  410. package/dist/generated/types/sessionFinalized.js.map +1 -0
  411. package/dist/generated/types/vaultClosed.d.ts +22 -0
  412. package/dist/generated/types/vaultClosed.d.ts.map +1 -0
  413. package/dist/generated/types/vaultClosed.js +26 -0
  414. package/dist/generated/types/vaultClosed.js.map +1 -0
  415. package/dist/generated/types/vaultCreated.d.ts +24 -0
  416. package/dist/generated/types/vaultCreated.d.ts.map +1 -0
  417. package/dist/generated/types/vaultCreated.js +28 -0
  418. package/dist/generated/types/vaultCreated.js.map +1 -0
  419. package/dist/generated/types/vaultFrozen.d.ts +24 -0
  420. package/dist/generated/types/vaultFrozen.d.ts.map +1 -0
  421. package/dist/generated/types/vaultFrozen.js +28 -0
  422. package/dist/generated/types/vaultFrozen.js.map +1 -0
  423. package/dist/generated/types/vaultReactivated.d.ts +24 -0
  424. package/dist/generated/types/vaultReactivated.d.ts.map +1 -0
  425. package/dist/generated/types/vaultReactivated.js +28 -0
  426. package/dist/generated/types/vaultReactivated.js.map +1 -0
  427. package/dist/generated/types/vaultStatus.d.ts +19 -0
  428. package/dist/generated/types/vaultStatus.d.ts.map +1 -0
  429. package/dist/generated/types/vaultStatus.js +25 -0
  430. package/dist/generated/types/vaultStatus.js.map +1 -0
  431. package/dist/index.d.ts +74 -0
  432. package/dist/index.d.ts.map +1 -0
  433. package/dist/index.js +113 -0
  434. package/dist/index.js.map +1 -0
  435. package/dist/inscribe.d.ts +134 -0
  436. package/dist/inscribe.d.ts.map +1 -0
  437. package/dist/inscribe.js +149 -0
  438. package/dist/inscribe.js.map +1 -0
  439. package/dist/inspector.d.ts +85 -0
  440. package/dist/inspector.d.ts.map +1 -0
  441. package/dist/inspector.js +188 -0
  442. package/dist/inspector.js.map +1 -0
  443. package/dist/math-utils.d.ts +15 -0
  444. package/dist/math-utils.d.ts.map +1 -0
  445. package/dist/math-utils.js +29 -0
  446. package/dist/math-utils.js.map +1 -0
  447. package/dist/owner-transaction.d.ts +42 -0
  448. package/dist/owner-transaction.d.ts.map +1 -0
  449. package/dist/owner-transaction.js +71 -0
  450. package/dist/owner-transaction.js.map +1 -0
  451. package/dist/policies.d.ts +70 -0
  452. package/dist/policies.d.ts.map +1 -0
  453. package/dist/policies.js +87 -0
  454. package/dist/policies.js.map +1 -0
  455. package/dist/portfolio-analytics.d.ts +82 -0
  456. package/dist/portfolio-analytics.d.ts.map +1 -0
  457. package/dist/portfolio-analytics.js +232 -0
  458. package/dist/portfolio-analytics.js.map +1 -0
  459. package/dist/presets.d.ts +108 -0
  460. package/dist/presets.d.ts.map +1 -0
  461. package/dist/presets.js +110 -0
  462. package/dist/presets.js.map +1 -0
  463. package/dist/priority-fees.d.ts +49 -0
  464. package/dist/priority-fees.d.ts.map +1 -0
  465. package/dist/priority-fees.js +175 -0
  466. package/dist/priority-fees.js.map +1 -0
  467. package/dist/protocol-analytics.d.ts +35 -0
  468. package/dist/protocol-analytics.d.ts.map +1 -0
  469. package/dist/protocol-analytics.js +64 -0
  470. package/dist/protocol-analytics.js.map +1 -0
  471. package/dist/protocol-names.d.ts +9 -0
  472. package/dist/protocol-names.d.ts.map +1 -0
  473. package/dist/protocol-names.js +18 -0
  474. package/dist/protocol-names.js.map +1 -0
  475. package/dist/protocol-resolver.d.ts +54 -0
  476. package/dist/protocol-resolver.d.ts.map +1 -0
  477. package/dist/protocol-resolver.js +123 -0
  478. package/dist/protocol-resolver.js.map +1 -0
  479. package/dist/resolve-accounts.d.ts +38 -0
  480. package/dist/resolve-accounts.d.ts.map +1 -0
  481. package/dist/resolve-accounts.js +120 -0
  482. package/dist/resolve-accounts.js.map +1 -0
  483. package/dist/rpc-helpers.d.ts +50 -0
  484. package/dist/rpc-helpers.d.ts.map +1 -0
  485. package/dist/rpc-helpers.js +119 -0
  486. package/dist/rpc-helpers.js.map +1 -0
  487. package/dist/seal.d.ts +211 -0
  488. package/dist/seal.d.ts.map +1 -0
  489. package/dist/seal.js +569 -0
  490. package/dist/seal.js.map +1 -0
  491. package/dist/security-analytics.d.ts +85 -0
  492. package/dist/security-analytics.d.ts.map +1 -0
  493. package/dist/security-analytics.js +510 -0
  494. package/dist/security-analytics.js.map +1 -0
  495. package/dist/shield.d.ts +235 -0
  496. package/dist/shield.d.ts.map +1 -0
  497. package/dist/shield.js +701 -0
  498. package/dist/shield.js.map +1 -0
  499. package/dist/simulation.d.ts +111 -0
  500. package/dist/simulation.d.ts.map +1 -0
  501. package/dist/simulation.js +514 -0
  502. package/dist/simulation.js.map +1 -0
  503. package/dist/spending-analytics.d.ts +91 -0
  504. package/dist/spending-analytics.d.ts.map +1 -0
  505. package/dist/spending-analytics.js +217 -0
  506. package/dist/spending-analytics.js.map +1 -0
  507. package/dist/state-resolver.d.ts +173 -0
  508. package/dist/state-resolver.d.ts.map +1 -0
  509. package/dist/state-resolver.js +660 -0
  510. package/dist/state-resolver.js.map +1 -0
  511. package/dist/tee/cache.d.ts +28 -0
  512. package/dist/tee/cache.d.ts.map +1 -0
  513. package/dist/tee/cache.js +75 -0
  514. package/dist/tee/cache.js.map +1 -0
  515. package/dist/tee/index.d.ts +9 -0
  516. package/dist/tee/index.d.ts.map +1 -0
  517. package/dist/tee/index.js +9 -0
  518. package/dist/tee/index.js.map +1 -0
  519. package/dist/tee/nitro-root.d.ts +11 -0
  520. package/dist/tee/nitro-root.d.ts.map +1 -0
  521. package/dist/tee/nitro-root.js +24 -0
  522. package/dist/tee/nitro-root.js.map +1 -0
  523. package/dist/tee/providers/crossmint.d.ts +12 -0
  524. package/dist/tee/providers/crossmint.d.ts.map +1 -0
  525. package/dist/tee/providers/crossmint.js +73 -0
  526. package/dist/tee/providers/crossmint.js.map +1 -0
  527. package/dist/tee/providers/privy.d.ts +12 -0
  528. package/dist/tee/providers/privy.d.ts.map +1 -0
  529. package/dist/tee/providers/privy.js +73 -0
  530. package/dist/tee/providers/privy.js.map +1 -0
  531. package/dist/tee/providers/turnkey.d.ts +34 -0
  532. package/dist/tee/providers/turnkey.d.ts.map +1 -0
  533. package/dist/tee/providers/turnkey.js +401 -0
  534. package/dist/tee/providers/turnkey.js.map +1 -0
  535. package/dist/tee/types.d.ts +124 -0
  536. package/dist/tee/types.d.ts.map +1 -0
  537. package/dist/tee/types.js +51 -0
  538. package/dist/tee/types.js.map +1 -0
  539. package/dist/tee/verify.d.ts +34 -0
  540. package/dist/tee/verify.d.ts.map +1 -0
  541. package/dist/tee/verify.js +177 -0
  542. package/dist/tee/verify.js.map +1 -0
  543. package/dist/tee/wallet-types.d.ts +61 -0
  544. package/dist/tee/wallet-types.d.ts.map +1 -0
  545. package/dist/tee/wallet-types.js +42 -0
  546. package/dist/tee/wallet-types.js.map +1 -0
  547. package/dist/testing/devnet.d.ts +64 -0
  548. package/dist/testing/devnet.d.ts.map +1 -0
  549. package/dist/testing/devnet.js +222 -0
  550. package/dist/testing/devnet.js.map +1 -0
  551. package/dist/testing/index.d.ts +3 -0
  552. package/dist/testing/index.d.ts.map +1 -0
  553. package/dist/testing/index.js +9 -0
  554. package/dist/testing/index.js.map +1 -0
  555. package/dist/testing/mock-rpc.d.ts +31 -0
  556. package/dist/testing/mock-rpc.d.ts.map +1 -0
  557. package/dist/testing/mock-rpc.js +50 -0
  558. package/dist/testing/mock-rpc.js.map +1 -0
  559. package/dist/testing/mock-state.d.ts +35 -0
  560. package/dist/testing/mock-state.d.ts.map +1 -0
  561. package/dist/testing/mock-state.js +86 -0
  562. package/dist/testing/mock-state.js.map +1 -0
  563. package/dist/tokens.d.ts +35 -0
  564. package/dist/tokens.d.ts.map +1 -0
  565. package/dist/tokens.js +157 -0
  566. package/dist/tokens.js.map +1 -0
  567. package/dist/transaction-executor.d.ts +116 -0
  568. package/dist/transaction-executor.d.ts.map +1 -0
  569. package/dist/transaction-executor.js +165 -0
  570. package/dist/transaction-executor.js.map +1 -0
  571. package/dist/types.d.ts +102 -0
  572. package/dist/types.d.ts.map +1 -0
  573. package/dist/types.js +216 -0
  574. package/dist/types.js.map +1 -0
  575. package/dist/vault-analytics.d.ts +83 -0
  576. package/dist/vault-analytics.d.ts.map +1 -0
  577. package/dist/vault-analytics.js +175 -0
  578. package/dist/vault-analytics.js.map +1 -0
  579. package/dist/velocity-tracker.d.ts +79 -0
  580. package/dist/velocity-tracker.d.ts.map +1 -0
  581. package/dist/velocity-tracker.js +183 -0
  582. package/dist/velocity-tracker.js.map +1 -0
  583. package/dist/x402/amount-guard.d.ts +26 -0
  584. package/dist/x402/amount-guard.d.ts.map +1 -0
  585. package/dist/x402/amount-guard.js +80 -0
  586. package/dist/x402/amount-guard.js.map +1 -0
  587. package/dist/x402/audit-trail.d.ts +26 -0
  588. package/dist/x402/audit-trail.d.ts.map +1 -0
  589. package/dist/x402/audit-trail.js +32 -0
  590. package/dist/x402/audit-trail.js.map +1 -0
  591. package/dist/x402/codec.d.ts +26 -0
  592. package/dist/x402/codec.d.ts.map +1 -0
  593. package/dist/x402/codec.js +95 -0
  594. package/dist/x402/codec.js.map +1 -0
  595. package/dist/x402/errors.d.ts +34 -0
  596. package/dist/x402/errors.d.ts.map +1 -0
  597. package/dist/x402/errors.js +53 -0
  598. package/dist/x402/errors.js.map +1 -0
  599. package/dist/x402/facilitator-verify.d.ts +24 -0
  600. package/dist/x402/facilitator-verify.d.ts.map +1 -0
  601. package/dist/x402/facilitator-verify.js +74 -0
  602. package/dist/x402/facilitator-verify.js.map +1 -0
  603. package/dist/x402/index.d.ts +14 -0
  604. package/dist/x402/index.d.ts.map +1 -0
  605. package/dist/x402/index.js +23 -0
  606. package/dist/x402/index.js.map +1 -0
  607. package/dist/x402/nonce-tracker.d.ts +65 -0
  608. package/dist/x402/nonce-tracker.d.ts.map +1 -0
  609. package/dist/x402/nonce-tracker.js +123 -0
  610. package/dist/x402/nonce-tracker.js.map +1 -0
  611. package/dist/x402/payment-selector.d.ts +20 -0
  612. package/dist/x402/payment-selector.d.ts.map +1 -0
  613. package/dist/x402/payment-selector.js +49 -0
  614. package/dist/x402/payment-selector.js.map +1 -0
  615. package/dist/x402/policy-bridge.d.ts +23 -0
  616. package/dist/x402/policy-bridge.d.ts.map +1 -0
  617. package/dist/x402/policy-bridge.js +67 -0
  618. package/dist/x402/policy-bridge.js.map +1 -0
  619. package/dist/x402/shielded-fetch.d.ts +46 -0
  620. package/dist/x402/shielded-fetch.d.ts.map +1 -0
  621. package/dist/x402/shielded-fetch.js +342 -0
  622. package/dist/x402/shielded-fetch.js.map +1 -0
  623. package/dist/x402/transfer-builder.d.ts +43 -0
  624. package/dist/x402/transfer-builder.d.ts.map +1 -0
  625. package/dist/x402/transfer-builder.js +126 -0
  626. package/dist/x402/transfer-builder.js.map +1 -0
  627. package/dist/x402/types.d.ts +109 -0
  628. package/dist/x402/types.d.ts.map +1 -0
  629. package/dist/x402/types.js +8 -0
  630. package/dist/x402/types.js.map +1 -0
  631. package/package.json +98 -0
@@ -0,0 +1,177 @@
1
+ /**
2
+ * TEE Attestation Dispatcher
3
+ *
4
+ * Main entry point for TEE attestation verification.
5
+ * Detects the provider from the wallet, routes to the appropriate verifier,
6
+ * manages caching, and enforces requireAttestation + minAttestationLevel.
7
+ */
8
+ import { isTeeWallet } from "./wallet-types.js";
9
+ import { TeeAttestationError } from "./wallet-types.js";
10
+ import { AttestationCache, DEFAULT_CACHE_TTL_MS } from "./cache.js";
11
+ import { AttestationStatus, } from "./types.js";
12
+ import { verifyCrossmint } from "./providers/crossmint.js";
13
+ import { verifyPrivy } from "./providers/privy.js";
14
+ import { verifyTurnkey } from "./providers/turnkey.js";
15
+ /** Module-level singleton cache. */
16
+ const globalCache = new AttestationCache(DEFAULT_CACHE_TTL_MS);
17
+ /** Detect the TEE provider from a wallet. */
18
+ function detectProvider(wallet) {
19
+ if (!isTeeWallet(wallet))
20
+ return null;
21
+ const provider = wallet.provider.toLowerCase();
22
+ if (provider === "crossmint" ||
23
+ provider === "turnkey" ||
24
+ provider === "privy") {
25
+ return provider;
26
+ }
27
+ return null;
28
+ }
29
+ /** Check if an attestation status meets the minimum required level. */
30
+ function attestationStatusMeetsLevel(status, level) {
31
+ const levelOrder = {
32
+ provider_trusted: 0,
33
+ provider_verified: 1,
34
+ cryptographic: 2,
35
+ };
36
+ const statusToLevel = {
37
+ [AttestationStatus.ProviderTrusted]: 0,
38
+ [AttestationStatus.ProviderVerified]: 1,
39
+ [AttestationStatus.CryptographicallyVerified]: 2,
40
+ };
41
+ const statusLevel = statusToLevel[status];
42
+ if (statusLevel === undefined)
43
+ return false; // Failed/Unavailable never meet any level
44
+ return statusLevel >= levelOrder[level];
45
+ }
46
+ /**
47
+ * Verify TEE attestation for a wallet.
48
+ *
49
+ * Flow:
50
+ * 1. Check cache (unless cacheTtlMs === 0)
51
+ * 2. Detect provider from wallet
52
+ * 3. Route to provider-specific verifier
53
+ * 4. Cache result
54
+ * 5. Fire onVerified callback on success
55
+ * 6. If requireAttestation is true and verification failed, throw
56
+ * 7. If minAttestationLevel is set and not met, throw
57
+ */
58
+ export async function verifyTeeAttestation(wallet, config) {
59
+ // Kit Address is already base58 — no conversion needed
60
+ const publicKey = wallet.publicKey;
61
+ const cacheTtlMs = config?.cacheTtlMs ?? DEFAULT_CACHE_TTL_MS;
62
+ const useCache = Number.isFinite(cacheTtlMs) && cacheTtlMs > 0;
63
+ // H3: Include config-sensitive params in cache key so different configs
64
+ // don't share results (e.g., different expectedPcr3 values).
65
+ const cacheKey = config?.expectedPcr3
66
+ ? `${publicKey}:pcr3=${config.expectedPcr3}`
67
+ : publicKey;
68
+ // Step 1: Cache check
69
+ let result;
70
+ if (useCache) {
71
+ result = globalCache.get(cacheKey);
72
+ }
73
+ // Step 2-3: Verify if not cached
74
+ if (!result) {
75
+ const provider = detectProvider(wallet);
76
+ if (!provider) {
77
+ // TeeProvider is required by AttestationResult — "crossmint" used as
78
+ // placeholder for unrecognized wallets. Status is Unavailable so the
79
+ // provider value is informational only and not acted upon.
80
+ result = {
81
+ status: AttestationStatus.Unavailable,
82
+ provider: "crossmint",
83
+ publicKey,
84
+ metadata: {
85
+ provider: "crossmint",
86
+ verifiedAt: Date.now(),
87
+ },
88
+ message: "Wallet does not expose a recognized TEE provider.",
89
+ };
90
+ }
91
+ else {
92
+ switch (provider) {
93
+ case "crossmint":
94
+ result = await verifyCrossmint(wallet, config);
95
+ break;
96
+ case "privy":
97
+ result = await verifyPrivy(wallet, config);
98
+ break;
99
+ case "turnkey":
100
+ result = await verifyTurnkey(wallet, config);
101
+ break;
102
+ default:
103
+ result = {
104
+ status: AttestationStatus.Unavailable,
105
+ provider,
106
+ publicKey,
107
+ metadata: { provider, verifiedAt: Date.now() },
108
+ message: `Unknown provider: ${provider}`,
109
+ };
110
+ }
111
+ }
112
+ // M6: Only cache successful results — failed/unavailable should allow retry.
113
+ // Also skip caching ProviderTrusted results from API failures (custodyCheckFailed)
114
+ // so the next call can retry the custody API and potentially get ProviderVerified.
115
+ const isCustodyFallback = result.metadata.rawAttestation &&
116
+ typeof result.metadata.rawAttestation === "object" &&
117
+ result.metadata.rawAttestation
118
+ .custodyCheckFailed === true;
119
+ if (useCache &&
120
+ !isCustodyFallback &&
121
+ (result.status === AttestationStatus.CryptographicallyVerified ||
122
+ result.status === AttestationStatus.ProviderVerified ||
123
+ result.status === AttestationStatus.ProviderTrusted)) {
124
+ globalCache.set(cacheKey, result, cacheTtlMs);
125
+ }
126
+ }
127
+ // Step 5: onVerified callback
128
+ // H5: Wrap in try-catch to prevent user callback errors from aborting vault creation
129
+ if (result.status === AttestationStatus.CryptographicallyVerified ||
130
+ result.status === AttestationStatus.ProviderVerified ||
131
+ result.status === AttestationStatus.ProviderTrusted) {
132
+ try {
133
+ config?.onVerified?.(result);
134
+ }
135
+ catch {
136
+ // Attestation succeeded — callback errors are non-fatal
137
+ }
138
+ }
139
+ // C3: Enforce requireAttestation ALWAYS — including on cache hits.
140
+ // Previously, the early cache return bypassed this check entirely.
141
+ if (config?.requireAttestation) {
142
+ if (result.status !== AttestationStatus.CryptographicallyVerified &&
143
+ result.status !== AttestationStatus.ProviderVerified &&
144
+ result.status !== AttestationStatus.ProviderTrusted) {
145
+ throw new TeeAttestationError(`TEE attestation required but verification ${result.status}: ${result.message}`);
146
+ }
147
+ }
148
+ // Enforce minAttestationLevel — defaults to ProviderVerified when requireAttestation
149
+ // is true but no explicit level is set (prevents ProviderTrusted from passing silently)
150
+ const effectiveMinLevel = config?.minAttestationLevel ??
151
+ (config?.requireAttestation ? AttestationStatus.ProviderVerified : undefined);
152
+ if (effectiveMinLevel) {
153
+ if (!attestationStatusMeetsLevel(result.status, effectiveMinLevel)) {
154
+ throw new TeeAttestationError(`Attestation level ${result.status} does not meet minimum required level: ${effectiveMinLevel}`);
155
+ }
156
+ }
157
+ return result;
158
+ }
159
+ /** Clear the global attestation cache (useful for testing). */
160
+ export function clearAttestationCache() {
161
+ globalCache.clear();
162
+ }
163
+ /** Delete a single entry from the global cache. */
164
+ /** Delete all cache entries for a wallet (including PCR3-suffixed variants). */
165
+ export function deleteFromAttestationCache(publicKey) {
166
+ const directDeleted = globalCache.delete(publicKey);
167
+ const prefixDeleted = globalCache.deleteByPrefix(`${publicKey}:`);
168
+ return directDeleted || prefixDeleted > 0;
169
+ }
170
+ /**
171
+ * Get the global attestation cache instance (for testing/inspection only).
172
+ * @internal
173
+ */
174
+ export function getGlobalCache() {
175
+ return globalCache;
176
+ }
177
+ //# sourceMappingURL=verify.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verify.js","sourceRoot":"","sources":["../../src/tee/verify.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * Wallet interface types for TEE attestation — Kit-native.
3
+ *
4
+ * Uses Kit's `Address` (branded base58 string) for public keys.
5
+ * Zero dependency on @solana/web3.js.
6
+ */
7
+ import type { Address } from "@solana/kit";
8
+ /**
9
+ * A wallet-like object with a Kit Address public key.
10
+ *
11
+ * Kit `Address` is a branded string (`string & { __brand: ... }`), so
12
+ * `wallet.publicKey` is ALREADY base58 — no `.toBase58()` needed.
13
+ */
14
+ export interface WalletLike {
15
+ /** Base58-encoded public key as a Kit `Address`. */
16
+ readonly publicKey: Address;
17
+ /** Optional: sign a transaction. Generic — callers cast to specific type. */
18
+ signTransaction?(tx: unknown): Promise<unknown>;
19
+ }
20
+ /**
21
+ * A TEE-backed wallet with provider identification.
22
+ *
23
+ * Providers: "crossmint" (Intel TDX), "turnkey" (AWS Nitro), "privy" (AWS Nitro).
24
+ */
25
+ export interface TeeWallet extends WalletLike {
26
+ /** Provider name: "crossmint" | "turnkey" | "privy". */
27
+ readonly provider: string;
28
+ /**
29
+ * API-based custody verification.
30
+ *
31
+ * Returns `true` if the provider API confirms this address is
32
+ * managed by their TEE infrastructure.
33
+ */
34
+ verifyProviderCustody?(): Promise<boolean>;
35
+ /**
36
+ * Retrieve a cryptographic attestation bundle.
37
+ *
38
+ * Used by Turnkey provider for COSE_Sign1 boot proof + P-256 app proof.
39
+ */
40
+ getAttestation?(): Promise<unknown>;
41
+ }
42
+ /** Known TEE wallet providers. */
43
+ export declare const VALID_TEE_PROVIDERS: Set<string>;
44
+ /** Type guard to detect TEE-backed wallets. */
45
+ export declare function isTeeWallet(wallet: WalletLike): wallet is TeeWallet;
46
+ /** Error class for TEE attestation failures. */
47
+ export declare class TeeAttestationError extends Error {
48
+ constructor(message: string);
49
+ }
50
+ /** Error class for certificate chain validation failures. */
51
+ export declare class AttestationCertChainError extends TeeAttestationError {
52
+ constructor(message: string);
53
+ }
54
+ /** Error class for PCR value mismatch. */
55
+ export declare class AttestationPcrMismatchError extends TeeAttestationError {
56
+ readonly pcrIndex: number;
57
+ readonly expected: string;
58
+ readonly actual: string;
59
+ constructor(pcrIndex: number, expected: string, actual: string);
60
+ }
61
+ //# sourceMappingURL=wallet-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wallet-types.d.ts","sourceRoot":"","sources":["../../src/tee/wallet-types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAE3C;;;;;GAKG;AACH,MAAM,WAAW,UAAU;IACzB,oDAAoD;IACpD,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,6EAA6E;IAC7E,eAAe,CAAC,CAAC,EAAE,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACjD;AAED;;;;GAIG;AACH,MAAM,WAAW,SAAU,SAAQ,UAAU;IAC3C,wDAAwD;IACxD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B;;;;;OAKG;IACH,qBAAqB,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3C;;;;OAIG;IACH,cAAc,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;CACrC;AAED,kCAAkC;AAClC,eAAO,MAAM,mBAAmB,aAA6C,CAAC;AAE9E,+CAA+C;AAC/C,wBAAgB,WAAW,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,IAAI,SAAS,CAQnE;AAED,gDAAgD;AAChD,qBAAa,mBAAoB,SAAQ,KAAK;gBAChC,OAAO,EAAE,MAAM;CAI5B;AAED,6DAA6D;AAC7D,qBAAa,yBAA0B,SAAQ,mBAAmB;gBACpD,OAAO,EAAE,MAAM;CAI5B;AAED,0CAA0C;AAC1C,qBAAa,2BAA4B,SAAQ,mBAAmB;IAClE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;gBAEZ,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;CAO/D"}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * Wallet interface types for TEE attestation — Kit-native.
3
+ *
4
+ * Uses Kit's `Address` (branded base58 string) for public keys.
5
+ * Zero dependency on @solana/web3.js.
6
+ */
7
+ /** Known TEE wallet providers. */
8
+ export const VALID_TEE_PROVIDERS = new Set(["crossmint", "privy", "turnkey"]);
9
+ /** Type guard to detect TEE-backed wallets. */
10
+ export function isTeeWallet(wallet) {
11
+ return ("provider" in wallet &&
12
+ typeof wallet.provider === "string" &&
13
+ VALID_TEE_PROVIDERS.has(wallet.provider));
14
+ }
15
+ /** Error class for TEE attestation failures. */
16
+ export class TeeAttestationError extends Error {
17
+ constructor(message) {
18
+ super(message);
19
+ this.name = "TeeAttestationError";
20
+ }
21
+ }
22
+ /** Error class for certificate chain validation failures. */
23
+ export class AttestationCertChainError extends TeeAttestationError {
24
+ constructor(message) {
25
+ super(message);
26
+ this.name = "AttestationCertChainError";
27
+ }
28
+ }
29
+ /** Error class for PCR value mismatch. */
30
+ export class AttestationPcrMismatchError extends TeeAttestationError {
31
+ pcrIndex;
32
+ expected;
33
+ actual;
34
+ constructor(pcrIndex, expected, actual) {
35
+ super(`PCR${pcrIndex} mismatch: expected ${expected}, got ${actual}`);
36
+ this.name = "AttestationPcrMismatchError";
37
+ this.pcrIndex = pcrIndex;
38
+ this.expected = expected;
39
+ this.actual = actual;
40
+ }
41
+ }
42
+ //# sourceMappingURL=wallet-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wallet-types.js","sourceRoot":"","sources":["../../src/tee/wallet-types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAwCH,kCAAkC;AAClC,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;AAE9E,+CAA+C;AAC/C,MAAM,UAAU,WAAW,CAAC,MAAkB;IAC5C,OAAO,CACL,UAAU,IAAI,MAAM;QACpB,OAAQ,MAAkC,CAAC,QAAQ,KAAK,QAAQ;QAChE,mBAAmB,CAAC,GAAG,CACpB,MAAkC,CAAC,QAAkB,CACvD,CACF,CAAC;AACJ,CAAC;AAED,gDAAgD;AAChD,MAAM,OAAO,mBAAoB,SAAQ,KAAK;IAC5C,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;IACpC,CAAC;CACF;AAED,6DAA6D;AAC7D,MAAM,OAAO,yBAA0B,SAAQ,mBAAmB;IAChE,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,2BAA2B,CAAC;IAC1C,CAAC;CACF;AAED,0CAA0C;AAC1C,MAAM,OAAO,2BAA4B,SAAQ,mBAAmB;IACzD,QAAQ,CAAS;IACjB,QAAQ,CAAS;IACjB,MAAM,CAAS;IAExB,YAAY,QAAgB,EAAE,QAAgB,EAAE,MAAc;QAC5D,KAAK,CAAC,MAAM,QAAQ,uBAAuB,QAAQ,SAAS,MAAM,EAAE,CAAC,CAAC;QACtE,IAAI,CAAC,IAAI,GAAG,6BAA6B,CAAC;QAC1C,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;CACF"}
@@ -0,0 +1,64 @@
1
+ /**
2
+ * Kit-native Devnet Test Helpers
3
+ *
4
+ * Pure @solana/kit for RPC, signers, and vault operations.
5
+ * Uses @solana/spl-token + @solana/web3.js for stablecoin mint setup only.
6
+ *
7
+ * NOTE: This module imports node:fs and @solana/web3.js — do NOT re-export
8
+ * from the barrel (index.ts) to avoid breaking browser bundlers.
9
+ * Import directly: import { ... } from "@usesigil/kit/testing/devnet"
10
+ */
11
+ import { type Address, type Instruction, type KeyPairSigner, type Rpc, type SolanaRpcApi } from "@solana/kit";
12
+ /**
13
+ * Create a Kit-native Rpc with throttled fetch.
14
+ */
15
+ export declare function createDevnetRpc(): Rpc<SolanaRpcApi>;
16
+ /**
17
+ * Load the owner keypair from ANCHOR_WALLET (same file as Anchor CLI).
18
+ */
19
+ export declare function loadOwnerSigner(): Promise<{
20
+ signer: KeyPairSigner;
21
+ bytes: Uint8Array;
22
+ }>;
23
+ /**
24
+ * Create a funded agent keypair (transfers SOL from owner).
25
+ * Uses a manual SystemProgram transfer instruction to avoid @solana-program/system dep.
26
+ */
27
+ export declare function createFundedAgent(rpc: Rpc<SolanaRpcApi>, owner: KeyPairSigner, lamports?: number): Promise<KeyPairSigner>;
28
+ /**
29
+ * Ensure the owner has stablecoin tokens for vault deposit.
30
+ * Uses @solana/spl-token + @solana/web3.js for mint setup only.
31
+ */
32
+ export declare function ensureStablecoinBalance(rpcUrl: string, ownerSecretKey: Uint8Array, mintAddress: string, amount: number): Promise<void>;
33
+ export interface ProvisionVaultOpts {
34
+ dailySpendingCapUsd?: bigint;
35
+ maxTransactionSizeUsd?: bigint;
36
+ protocolMode?: number;
37
+ depositAmount?: bigint;
38
+ permissions?: bigint;
39
+ spendingLimitUsd?: bigint;
40
+ skipDeposit?: boolean;
41
+ }
42
+ export interface ProvisionVaultResult {
43
+ vaultAddress: Address;
44
+ policyAddress: Address;
45
+ trackerPDA: Address;
46
+ vaultId: bigint;
47
+ overlayPDA: Address;
48
+ }
49
+ /**
50
+ * Provision a vault using Kit-native Codama builders.
51
+ *
52
+ * 1. Call inscribe() for PDA derivation + vault ID probing
53
+ * 2. Build + send initializeVault IX via Codama
54
+ * 3. Build + send registerAgent IX via Codama
55
+ * 4. Build + send depositFunds IX via Codama (optional)
56
+ */
57
+ export declare function provisionVault(rpc: Rpc<SolanaRpcApi>, owner: KeyPairSigner, agent: KeyPairSigner, mint?: Address, opts?: ProvisionVaultOpts): Promise<ProvisionVaultResult>;
58
+ /**
59
+ * Build, sign, and send a Kit-native transaction.
60
+ *
61
+ * Uses pipe() + signTransactionMessageWithSigners() + sendAndConfirmTransaction().
62
+ */
63
+ export declare function sendKitTransaction(rpc: Rpc<SolanaRpcApi>, signer: KeyPairSigner, instructions: Instruction[]): Promise<string>;
64
+ //# sourceMappingURL=devnet.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"devnet.d.ts","sourceRoot":"","sources":["../../src/testing/devnet.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAaL,KAAK,OAAO,EACZ,KAAK,WAAW,EAChB,KAAK,aAAa,EAClB,KAAK,GAAG,EACR,KAAK,YAAY,EAClB,MAAM,aAAa,CAAC;AA6DrB;;GAEG;AACH,wBAAgB,eAAe,IAAI,GAAG,CAAC,YAAY,CAAC,CAInD;AAID;;GAEG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC;IAAE,MAAM,EAAE,aAAa,CAAC;IAAC,KAAK,EAAE,UAAU,CAAA;CAAE,CAAC,CAO7F;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,GAAG,CAAC,YAAY,CAAC,EACtB,KAAK,EAAE,aAAa,EACpB,QAAQ,GAAE,MAAoB,GAC7B,OAAO,CAAC,aAAa,CAAC,CAQxB;AA4BD;;;GAGG;AACH,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,UAAU,EAC1B,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC,CAgDf;AAID,MAAM,WAAW,kBAAkB;IACjC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,oBAAoB;IACnC,YAAY,EAAE,OAAO,CAAC;IACtB,aAAa,EAAE,OAAO,CAAC;IACvB,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,OAAO,CAAC;CACrB;AAED;;;;;;;GAOG;AACH,wBAAsB,cAAc,CAClC,GAAG,EAAE,GAAG,CAAC,YAAY,CAAC,EACtB,KAAK,EAAE,aAAa,EACpB,KAAK,EAAE,aAAa,EACpB,IAAI,GAAE,OAA0B,EAChC,IAAI,GAAE,kBAAuB,GAC5B,OAAO,CAAC,oBAAoB,CAAC,CA6E/B;AAMD;;;;GAIG;AACH,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,GAAG,CAAC,YAAY,CAAC,EACtB,MAAM,EAAE,aAAa,EACrB,YAAY,EAAE,WAAW,EAAE,GAC1B,OAAO,CAAC,MAAM,CAAC,CAuBjB"}
@@ -0,0 +1,222 @@
1
+ /**
2
+ * Kit-native Devnet Test Helpers
3
+ *
4
+ * Pure @solana/kit for RPC, signers, and vault operations.
5
+ * Uses @solana/spl-token + @solana/web3.js for stablecoin mint setup only.
6
+ *
7
+ * NOTE: This module imports node:fs and @solana/web3.js — do NOT re-export
8
+ * from the barrel (index.ts) to avoid breaking browser bundlers.
9
+ * Import directly: import { ... } from "@usesigil/kit/testing/devnet"
10
+ */
11
+ import { createSolanaRpc, createKeyPairSignerFromBytes, generateKeyPairSigner, pipe, createTransactionMessage, setTransactionMessageFeePayer, appendTransactionMessageInstructions, setTransactionMessageLifetimeUsingBlockhash, getBase64EncodedWireTransaction, signTransactionMessageWithSigners, addSignersToTransactionMessage, } from "@solana/kit";
12
+ import { getSetComputeUnitLimitInstruction, } from "@solana-program/compute-budget";
13
+ import { readFileSync } from "node:fs";
14
+ import { getInitializeVaultInstructionAsync, } from "../generated/instructions/initializeVault.js";
15
+ import { getRegisterAgentInstruction, } from "../generated/instructions/registerAgent.js";
16
+ import { getDepositFundsInstructionAsync, } from "../generated/instructions/depositFunds.js";
17
+ import { inscribe, } from "../inscribe.js";
18
+ import { getAgentOverlayPDA, getTrackerPDA, } from "../resolve-accounts.js";
19
+ import { sendAndConfirmTransaction, BlockhashCache, } from "../rpc-helpers.js";
20
+ import { USDC_MINT_DEVNET, FULL_PERMISSIONS, PROTOCOL_TREASURY, } from "../types.js";
21
+ // ─── Rate Limiter (5 RPS against Helius 10 RPS limit) ──────────────────────
22
+ const RPC_MAX_RPS = 5;
23
+ const RPC_MIN_GAP_MS = Math.ceil(1000 / RPC_MAX_RPS);
24
+ // Shared state — all throttled fetch instances coordinate on one counter
25
+ const sharedLimiter = { nextSlot: 0 };
26
+ function createThrottledFetch() {
27
+ const original = globalThis.fetch.bind(globalThis);
28
+ return async function throttledFetch(...args) {
29
+ const now = Date.now();
30
+ const mySlot = Math.max(now, sharedLimiter.nextSlot);
31
+ sharedLimiter.nextSlot = mySlot + RPC_MIN_GAP_MS;
32
+ const wait = mySlot - now;
33
+ if (wait > 0) {
34
+ await new Promise((r) => setTimeout(r, wait));
35
+ }
36
+ return original(...args);
37
+ };
38
+ }
39
+ // ─── RPC ────────────────────────────────────────────────────────────────────
40
+ /**
41
+ * Create a Kit-native Rpc with throttled fetch.
42
+ */
43
+ export function createDevnetRpc() {
44
+ const url = process.env.ANCHOR_PROVIDER_URL || "https://api.devnet.solana.com";
45
+ // Cast config to bypass missing 'fetch' in TS types (works at runtime)
46
+ return createSolanaRpc(url, { fetch: createThrottledFetch() });
47
+ }
48
+ // ─── Signers ────────────────────────────────────────────────────────────────
49
+ /**
50
+ * Load the owner keypair from ANCHOR_WALLET (same file as Anchor CLI).
51
+ */
52
+ export async function loadOwnerSigner() {
53
+ const walletPath = process.env.ANCHOR_WALLET || `${process.env.HOME}/.config/solana/id.json`;
54
+ const raw = JSON.parse(readFileSync(walletPath, "utf-8"));
55
+ const bytes = new Uint8Array(raw);
56
+ const signer = await createKeyPairSignerFromBytes(bytes);
57
+ return { signer, bytes };
58
+ }
59
+ /**
60
+ * Create a funded agent keypair (transfers SOL from owner).
61
+ * Uses a manual SystemProgram transfer instruction to avoid @solana-program/system dep.
62
+ */
63
+ export async function createFundedAgent(rpc, owner, lamports = 100_000_000) {
64
+ const agent = await generateKeyPairSigner();
65
+ // Manual SystemProgram transfer (program 11111111..., instruction index 2)
66
+ const transferIx = buildSystemTransferIx(owner.address, agent.address, BigInt(lamports));
67
+ await sendKitTransaction(rpc, owner, [transferIx]);
68
+ return agent;
69
+ }
70
+ /**
71
+ * Build a SystemProgram Transfer instruction (index=2) without @solana-program/system.
72
+ * Layout: u32le(2) + u64le(lamports) = 12 bytes
73
+ */
74
+ function buildSystemTransferIx(from, to, lamports) {
75
+ const data = new Uint8Array(12);
76
+ const view = new DataView(data.buffer);
77
+ view.setUint32(0, 2, true); // Transfer instruction index
78
+ view.setBigUint64(4, lamports, true);
79
+ return {
80
+ programAddress: "11111111111111111111111111111111",
81
+ accounts: [
82
+ { address: from, role: 3 }, // writable signer
83
+ { address: to, role: 1 }, // writable
84
+ ],
85
+ data,
86
+ };
87
+ }
88
+ // ─── Stablecoin Setup (uses @solana/spl-token — test setup only) ────────────
89
+ /**
90
+ * Ensure the owner has stablecoin tokens for vault deposit.
91
+ * Uses @solana/spl-token + @solana/web3.js for mint setup only.
92
+ */
93
+ export async function ensureStablecoinBalance(rpcUrl, ownerSecretKey, mintAddress, amount) {
94
+ // Dynamic import to keep these as optional deps
95
+ const { Connection, Keypair, PublicKey } = await import("@solana/web3.js");
96
+ const { getOrCreateAssociatedTokenAccount, mintTo, } = await import("@solana/spl-token");
97
+ const connection = new Connection(rpcUrl, {
98
+ commitment: "confirmed",
99
+ fetch: createThrottledFetch(),
100
+ });
101
+ const payer = Keypair.fromSecretKey(ownerSecretKey);
102
+ const mint = new PublicKey(mintAddress);
103
+ // Check if the mint exists (for devnet test mints controlled by owner)
104
+ const mintInfo = await connection.getAccountInfo(mint);
105
+ if (!mintInfo) {
106
+ // This is a test-controlled mint — create it at the deterministic address
107
+ // Only works if the mint keypair matches USDC_MINT_DEVNET
108
+ // For real devnet USDC, the mint already exists
109
+ throw new Error(`Mint ${mintAddress} does not exist on devnet. ` +
110
+ `Use a mint that already exists or create it first.`);
111
+ }
112
+ // Create/get owner ATA
113
+ const ata = await getOrCreateAssociatedTokenAccount(connection, payer, mint, payer.publicKey);
114
+ // Check if we already have sufficient balance
115
+ if (Number(ata.amount) >= amount)
116
+ return;
117
+ // Try to mint (works only if owner is mint authority — devnet test mints)
118
+ try {
119
+ await mintTo(connection, payer, mint, ata.address, payer.publicKey, amount);
120
+ }
121
+ catch (mintError) {
122
+ const msg = mintError instanceof Error ? mintError.message : String(mintError);
123
+ throw new Error(`Cannot mint tokens for ${mintAddress}: ${msg}. ` +
124
+ `If owner is not the mint authority, fund the ATA manually.`);
125
+ }
126
+ }
127
+ /**
128
+ * Provision a vault using Kit-native Codama builders.
129
+ *
130
+ * 1. Call inscribe() for PDA derivation + vault ID probing
131
+ * 2. Build + send initializeVault IX via Codama
132
+ * 3. Build + send registerAgent IX via Codama
133
+ * 4. Build + send depositFunds IX via Codama (optional)
134
+ */
135
+ export async function provisionVault(rpc, owner, agent, mint = USDC_MINT_DEVNET, opts = {}) {
136
+ const dailyCap = opts.dailySpendingCapUsd ?? 500000000n;
137
+ const maxTx = opts.maxTransactionSizeUsd ?? 100000000n;
138
+ const protocolMode = opts.protocolMode ?? 0; // allow all
139
+ const permissions = opts.permissions ?? FULL_PERMISSIONS;
140
+ const spendingLimitUsd = opts.spendingLimitUsd ?? 0n;
141
+ // 1. Derive PDAs via inscribe()
142
+ const inscribeResult = await inscribe({
143
+ rpc,
144
+ network: "devnet",
145
+ owner,
146
+ agent,
147
+ unsafeSkipTeeCheck: true,
148
+ });
149
+ const { vaultAddress, vaultId, policyAddress } = inscribeResult;
150
+ 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
+ maxConcurrentPositions: 5,
163
+ developerFeeRate: 0,
164
+ maxSlippageBps: 500,
165
+ timelockDuration: 0n,
166
+ allowedDestinations: [],
167
+ protocolCaps: [],
168
+ });
169
+ await sendKitTransaction(rpc, owner, [
170
+ getSetComputeUnitLimitInstruction({ units: 400_000 }),
171
+ initIx,
172
+ ]);
173
+ // 3. Build and send registerAgent
174
+ const registerIx = getRegisterAgentInstruction({
175
+ owner,
176
+ vault: vaultAddress,
177
+ agentSpendOverlay: overlayPDA,
178
+ agent: agent.address,
179
+ permissions,
180
+ spendingLimitUsd,
181
+ });
182
+ await sendKitTransaction(rpc, owner, [registerIx]);
183
+ // 4. Deposit funds (optional)
184
+ if (!opts.skipDeposit) {
185
+ const depositAmount = opts.depositAmount ?? 1000000000n;
186
+ const depositIx = await getDepositFundsInstructionAsync({
187
+ owner,
188
+ vault: vaultAddress,
189
+ mint,
190
+ amount: depositAmount,
191
+ });
192
+ await sendKitTransaction(rpc, owner, [depositIx]);
193
+ }
194
+ const [trackerPDA] = await getTrackerPDA(vaultAddress);
195
+ return {
196
+ vaultAddress,
197
+ policyAddress,
198
+ trackerPDA,
199
+ vaultId,
200
+ overlayPDA,
201
+ };
202
+ }
203
+ // ─── Transaction Helper ─────────────────────────────────────────────────────
204
+ const blockhashCache = new BlockhashCache(15_000);
205
+ /**
206
+ * Build, sign, and send a Kit-native transaction.
207
+ *
208
+ * Uses pipe() + signTransactionMessageWithSigners() + sendAndConfirmTransaction().
209
+ */
210
+ export async function sendKitTransaction(rpc, signer, instructions) {
211
+ const blockhash = await blockhashCache.get(rpc);
212
+ const txMessage = pipe(createTransactionMessage({ version: 0 }), (tx) => setTransactionMessageFeePayer(signer.address, tx), (tx) => setTransactionMessageLifetimeUsingBlockhash(blockhash, tx), (tx) => appendTransactionMessageInstructions(instructions, tx));
213
+ // Attach fee payer signer so signTransactionMessageWithSigners can sign it
214
+ const txWithSigners = addSignersToTransactionMessage([signer], txMessage);
215
+ const signedTx = await signTransactionMessageWithSigners(txWithSigners);
216
+ const wireBase64 = getBase64EncodedWireTransaction(signedTx);
217
+ return sendAndConfirmTransaction(rpc, wireBase64, {
218
+ timeoutMs: 60_000,
219
+ commitment: "confirmed",
220
+ });
221
+ }
222
+ //# sourceMappingURL=devnet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"devnet.js","sourceRoot":"","sources":["../../src/testing/devnet.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export { MOCK_VAULT, MOCK_AGENT, MOCK_OWNER, MOCK_POLICY, MOCK_SIGNATURE, MOCK_BLOCKHASH, USDC_MINT, SOL_MINT, createMockRpc, createMockAgent, type MockRpcOverrides, } from "./mock-rpc.js";
2
+ export { createMockVaultState, type MockVaultStateOverrides, } from "./mock-state.js";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/testing/index.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,UAAU,EACV,UAAU,EACV,UAAU,EACV,WAAW,EACX,cAAc,EACd,cAAc,EACd,SAAS,EACT,QAAQ,EACR,aAAa,EACb,eAAe,EACf,KAAK,gBAAgB,GACtB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,oBAAoB,EACpB,KAAK,uBAAuB,GAC7B,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,9 @@
1
+ // @usesigil/kit/testing — Test utilities for consumers of the Sigil SDK.
2
+ //
3
+ // Mock utilities (unit tests — no network)
4
+ export { MOCK_VAULT, MOCK_AGENT, MOCK_OWNER, MOCK_POLICY, MOCK_SIGNATURE, MOCK_BLOCKHASH, USDC_MINT, SOL_MINT, createMockRpc, createMockAgent, } from "./mock-rpc.js";
5
+ export { createMockVaultState, } from "./mock-state.js";
6
+ // NOTE: Devnet utilities intentionally NOT re-exported here.
7
+ // devnet.ts imports node:fs + @solana/web3.js — breaks browser bundlers.
8
+ // Import directly: import { ... } from "@usesigil/kit/testing/devnet"
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/testing/index.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,EAAE;AACF,2CAA2C;AAE3C,OAAO,EACL,UAAU,EACV,UAAU,EACV,UAAU,EACV,WAAW,EACX,cAAc,EACd,cAAc,EACd,SAAS,EACT,QAAQ,EACR,aAAa,EACb,eAAe,GAEhB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,oBAAoB,GAErB,MAAM,iBAAiB,CAAC;AAEzB,6DAA6D;AAC7D,yEAAyE;AACzE,sEAAsE"}