@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,58 @@
1
+ /**
2
+ * createVault() — Provision an on-chain Sigil vault.
3
+ *
4
+ * Returns instructions (not a signed transaction) so the caller controls
5
+ * transaction composition, signing, and sending.
6
+ */
7
+ import type { Address, Rpc, SolanaRpcApi, TransactionSigner } from "@solana/kit";
8
+ import type { Instruction } from "@solana/kit";
9
+ import type { SendAndConfirmOptions } from "./rpc-helpers.js";
10
+ export interface CreateVaultOptions {
11
+ rpc: Rpc<SolanaRpcApi>;
12
+ network: "devnet" | "mainnet";
13
+ owner: TransactionSigner;
14
+ agent: TransactionSigner;
15
+ permissions?: bigint;
16
+ spendingLimitUsd?: bigint;
17
+ dailySpendingCapUsd?: bigint;
18
+ maxTransactionSizeUsd?: bigint;
19
+ feeDestination?: Address;
20
+ developerFeeRate?: number;
21
+ protocols?: Address[];
22
+ protocolMode?: number;
23
+ maxLeverageBps?: number;
24
+ maxConcurrentPositions?: number;
25
+ maxSlippageBps?: number;
26
+ timelockDuration?: number;
27
+ allowedDestinations?: Address[];
28
+ vaultId?: bigint;
29
+ }
30
+ export interface CreateVaultResult {
31
+ vaultAddress: Address;
32
+ vaultId: bigint;
33
+ policyAddress: Address;
34
+ agentOverlayAddress: Address;
35
+ initializeVaultIx: Instruction;
36
+ registerAgentIx: Instruction;
37
+ }
38
+ export declare function createVault(options: CreateVaultOptions): Promise<CreateVaultResult>;
39
+ export interface CreateAndSendVaultOptions extends CreateVaultOptions {
40
+ /** Priority fee in microLamports per CU. Default: 0. */
41
+ priorityFeeMicroLamports?: number;
42
+ /** Override compute units. Default: CU_OWNER_ACTION (200,000). */
43
+ computeUnits?: number;
44
+ /** Confirmation options (timeout, poll interval, commitment). */
45
+ confirmOptions?: SendAndConfirmOptions;
46
+ }
47
+ export interface CreateAndSendVaultResult extends CreateVaultResult {
48
+ /** Confirmed transaction signature. */
49
+ signature: string;
50
+ }
51
+ /**
52
+ * One-call vault creation: build instructions, compose transaction, sign, send, and confirm.
53
+ *
54
+ * Equivalent to calling createVault() → buildOwnerTransaction() → signAndEncode()
55
+ * → sendAndConfirmTransaction() manually.
56
+ */
57
+ export declare function createAndSendVault(options: CreateAndSendVaultOptions): Promise<CreateAndSendVaultResult>;
58
+ //# sourceMappingURL=create-vault.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-vault.d.ts","sourceRoot":"","sources":["../src/create-vault.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACV,OAAO,EACP,GAAG,EACH,YAAY,EACZ,iBAAiB,EAClB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAa/C,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAI9D,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC;IACvB,OAAO,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC9B,KAAK,EAAE,iBAAiB,CAAC;IACzB,KAAK,EAAE,iBAAiB,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,mBAAmB,CAAC,EAAE,OAAO,EAAE,CAAC;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,iBAAiB;IAChC,YAAY,EAAE,OAAO,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,OAAO,CAAC;IACvB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,iBAAiB,EAAE,WAAW,CAAC;IAC/B,eAAe,EAAE,WAAW,CAAC;CAC9B;AAID,wBAAsB,WAAW,CAC/B,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,iBAAiB,CAAC,CAgE5B;AAID,MAAM,WAAW,yBAA0B,SAAQ,kBAAkB;IACnE,wDAAwD;IACxD,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,kEAAkE;IAClE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iEAAiE;IACjE,cAAc,CAAC,EAAE,qBAAqB,CAAC;CACxC;AAED,MAAM,WAAW,wBAAyB,SAAQ,iBAAiB;IACjE,uCAAuC;IACvC,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;;GAKG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,yBAAyB,GACjC,OAAO,CAAC,wBAAwB,CAAC,CAoBnC"}
@@ -0,0 +1,90 @@
1
+ /**
2
+ * createVault() — Provision an on-chain Sigil vault.
3
+ *
4
+ * Returns instructions (not a signed transaction) so the caller controls
5
+ * transaction composition, signing, and sending.
6
+ */
7
+ import { getInitializeVaultInstructionAsync } from "./generated/instructions/initializeVault.js";
8
+ import { getRegisterAgentInstruction } from "./generated/instructions/registerAgent.js";
9
+ import { getVaultPDA, getPolicyPDA, getAgentOverlayPDA, } from "./resolve-accounts.js";
10
+ import { findNextVaultId } from "./inscribe.js";
11
+ import { FULL_PERMISSIONS, toInstruction } from "./types.js";
12
+ import { buildOwnerTransaction } from "./owner-transaction.js";
13
+ import { signAndEncode, sendAndConfirmTransaction } from "./rpc-helpers.js";
14
+ // ─── createVault() ──────────────────────────────────────────────────────────
15
+ export async function createVault(options) {
16
+ // Validate owner ≠ agent
17
+ if (options.owner.address === options.agent.address) {
18
+ throw new Error("Owner and agent must be different keys. " +
19
+ "The owner has full vault authority; the agent has constrained execution only.");
20
+ }
21
+ // Step 1: Resolve vault ID
22
+ const vaultId = options.vaultId ??
23
+ (await findNextVaultId(options.rpc, options.owner.address));
24
+ // Step 2: Derive PDAs
25
+ const [vaultAddress] = await getVaultPDA(options.owner.address, vaultId);
26
+ const [policyAddress] = await getPolicyPDA(vaultAddress);
27
+ const [agentOverlayAddress] = await getAgentOverlayPDA(vaultAddress, 0);
28
+ // Step 3: Defaults
29
+ const dailySpendingCapUsd = options.dailySpendingCapUsd ?? 500000000n;
30
+ const maxTransactionSizeUsd = options.maxTransactionSizeUsd ?? dailySpendingCapUsd;
31
+ const feeDestination = options.feeDestination ?? options.owner.address;
32
+ const protocols = options.protocols ?? [];
33
+ const protocolMode = options.protocolMode ?? 0;
34
+ // Step 4: Build initializeVault instruction
35
+ const initializeVaultIx = await getInitializeVaultInstructionAsync({
36
+ owner: options.owner,
37
+ agentSpendOverlay: agentOverlayAddress,
38
+ feeDestination,
39
+ vaultId,
40
+ dailySpendingCapUsd,
41
+ maxTransactionSizeUsd,
42
+ protocolMode,
43
+ protocols,
44
+ maxLeverageBps: options.maxLeverageBps ?? 0,
45
+ maxConcurrentPositions: options.maxConcurrentPositions ?? 5,
46
+ developerFeeRate: options.developerFeeRate ?? 0,
47
+ maxSlippageBps: options.maxSlippageBps ?? 100,
48
+ timelockDuration: options.timelockDuration ?? 0,
49
+ allowedDestinations: options.allowedDestinations ?? [],
50
+ protocolCaps: protocols.map(() => 0n),
51
+ });
52
+ // Step 5: Build registerAgent instruction
53
+ const registerAgentIx = getRegisterAgentInstruction({
54
+ owner: options.owner,
55
+ vault: vaultAddress,
56
+ agentSpendOverlay: agentOverlayAddress,
57
+ agent: options.agent.address,
58
+ permissions: options.permissions ?? FULL_PERMISSIONS,
59
+ spendingLimitUsd: options.spendingLimitUsd ?? 0n,
60
+ });
61
+ return {
62
+ vaultAddress,
63
+ vaultId,
64
+ policyAddress,
65
+ agentOverlayAddress,
66
+ initializeVaultIx: toInstruction(initializeVaultIx),
67
+ registerAgentIx: toInstruction(registerAgentIx),
68
+ };
69
+ }
70
+ /**
71
+ * One-call vault creation: build instructions, compose transaction, sign, send, and confirm.
72
+ *
73
+ * Equivalent to calling createVault() → buildOwnerTransaction() → signAndEncode()
74
+ * → sendAndConfirmTransaction() manually.
75
+ */
76
+ export async function createAndSendVault(options) {
77
+ const result = await createVault(options);
78
+ const ownerTx = await buildOwnerTransaction({
79
+ rpc: options.rpc,
80
+ owner: options.owner,
81
+ instructions: [result.initializeVaultIx, result.registerAgentIx],
82
+ network: options.network,
83
+ computeUnits: options.computeUnits,
84
+ priorityFeeMicroLamports: options.priorityFeeMicroLamports,
85
+ });
86
+ const encoded = await signAndEncode(options.owner, ownerTx.transaction);
87
+ const signature = await sendAndConfirmTransaction(options.rpc, encoded, options.confirmOptions);
88
+ return { ...result, signature };
89
+ }
90
+ //# sourceMappingURL=create-vault.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-vault.js","sourceRoot":"","sources":["../src/create-vault.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,54 @@
1
+ /**
2
+ * CustodyAdapter — Kit-native interface for custody providers.
3
+ *
4
+ * Bridges third-party custody adapters (Turnkey, Fireblocks, Crossmint, etc.)
5
+ * to @solana/kit's TransactionSigner interface.
6
+ *
7
+ * This is the standardized 3-method contract that Phase 8 custody packages
8
+ * will implement. The bridge function converts any CustodyAdapter into a
9
+ * TransactionPartialSigner usable anywhere Kit expects a signer.
10
+ */
11
+ import type { Address, TransactionSigner } from "@solana/kit";
12
+ import type { AttestationResult } from "./tee/types.js";
13
+ /**
14
+ * Standardized interface for custody providers.
15
+ *
16
+ * Implementors:
17
+ * - `@usesigil/custody/turnkey` — TEE + Ed25519
18
+ * - `@usesigil/custody/crossmint` — API-verified TEE
19
+ * - `@usesigil/custody/privy` — Embedded wallets
20
+ *
21
+ * 3-method contract:
22
+ * - getPublicKey(): Address of the custody-managed signing key
23
+ * - sign(): Raw Ed25519 signature over arbitrary bytes
24
+ * - attestation() (optional): TEE attestation proof
25
+ */
26
+ export interface CustodyAdapter {
27
+ /** Get the public key (address) of the custody-managed signing key. */
28
+ getPublicKey(): Address;
29
+ /**
30
+ * Sign arbitrary bytes. Returns a 64-byte Ed25519 signature.
31
+ * The adapter handles key access (TEE, MPC, HSM, etc.) internally.
32
+ */
33
+ sign(bytes: Uint8Array): Promise<Uint8Array>;
34
+ /**
35
+ * Optional: Retrieve TEE attestation proof for the custody key.
36
+ * Returns null if the provider doesn't support attestation.
37
+ */
38
+ attestation?(): Promise<AttestationResult | null>;
39
+ }
40
+ /**
41
+ * Bridge a CustodyAdapter to Kit's TransactionSigner interface.
42
+ *
43
+ * Returns a TransactionPartialSigner — custody adapters do pure signing
44
+ * (no transaction modification).
45
+ *
46
+ * Usage:
47
+ * ```ts
48
+ * const adapter: CustodyAdapter = new TurnkeyCustodyAdapter(config);
49
+ * const signer = custodyAdapterToTransactionSigner(adapter);
50
+ * // signer is now usable anywhere Kit expects a TransactionSigner
51
+ * ```
52
+ */
53
+ export declare function custodyAdapterToTransactionSigner(adapter: CustodyAdapter): TransactionSigner;
54
+ //# sourceMappingURL=custody-adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"custody-adapter.d.ts","sourceRoot":"","sources":["../src/custody-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAIxD;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,cAAc;IAC7B,uEAAuE;IACvE,YAAY,IAAI,OAAO,CAAC;IAExB;;;OAGG;IACH,IAAI,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAE7C;;;OAGG;IACH,WAAW,CAAC,IAAI,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAC;CACnD;AAID;;;;;;;;;;;;GAYG;AACH,wBAAgB,iCAAiC,CAC/C,OAAO,EAAE,cAAc,GACtB,iBAAiB,CA4BnB"}
@@ -0,0 +1,45 @@
1
+ /**
2
+ * CustodyAdapter — Kit-native interface for custody providers.
3
+ *
4
+ * Bridges third-party custody adapters (Turnkey, Fireblocks, Crossmint, etc.)
5
+ * to @solana/kit's TransactionSigner interface.
6
+ *
7
+ * This is the standardized 3-method contract that Phase 8 custody packages
8
+ * will implement. The bridge function converts any CustodyAdapter into a
9
+ * TransactionPartialSigner usable anywhere Kit expects a signer.
10
+ */
11
+ // ─── Bridge ─────────────────────────────────────────────────────────────────
12
+ /**
13
+ * Bridge a CustodyAdapter to Kit's TransactionSigner interface.
14
+ *
15
+ * Returns a TransactionPartialSigner — custody adapters do pure signing
16
+ * (no transaction modification).
17
+ *
18
+ * Usage:
19
+ * ```ts
20
+ * const adapter: CustodyAdapter = new TurnkeyCustodyAdapter(config);
21
+ * const signer = custodyAdapterToTransactionSigner(adapter);
22
+ * // signer is now usable anywhere Kit expects a TransactionSigner
23
+ * ```
24
+ */
25
+ export function custodyAdapterToTransactionSigner(adapter) {
26
+ const address = adapter.getPublicKey();
27
+ return {
28
+ address,
29
+ async signTransactions(transactions) {
30
+ const results = [];
31
+ for (const tx of transactions) {
32
+ const sig = await adapter.sign(tx.messageBytes);
33
+ if (!(sig instanceof Uint8Array)) {
34
+ throw new Error(`Custody adapter signature must be Uint8Array, got ${typeof sig}`);
35
+ }
36
+ if (sig.length !== 64) {
37
+ throw new Error(`Custody adapter returned invalid signature: expected 64 bytes, got ${sig.length}`);
38
+ }
39
+ results.push({ [address]: sig });
40
+ }
41
+ return results;
42
+ },
43
+ };
44
+ }
45
+ //# sourceMappingURL=custody-adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"custody-adapter.js","sourceRoot":"","sources":["../src/custody-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAqCH,+EAA+E;AAE/E;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,iCAAiC,CAC/C,OAAuB;IAEvB,MAAM,OAAO,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAEvC,OAAO;QACL,OAAO;QACP,KAAK,CAAC,gBAAgB,CACpB,YAA0B;YAE1B,MAAM,OAAO,GAAiC,EAAE,CAAC;YAEjD,KAAK,MAAM,EAAE,IAAI,YAAY,EAAE,CAAC;gBAC9B,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC;gBAChD,IAAI,CAAC,CAAC,GAAG,YAAY,UAAU,CAAC,EAAE,CAAC;oBACjC,MAAM,IAAI,KAAK,CACb,qDAAqD,OAAO,GAAG,EAAE,CAClE,CAAC;gBACJ,CAAC;gBACD,IAAI,GAAG,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;oBACtB,MAAM,IAAI,KAAK,CACb,sEAAsE,GAAG,CAAC,MAAM,EAAE,CACnF,CAAC;gBACJ,CAAC;gBACD,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;YACnC,CAAC;YAED,OAAO,OAAO,CAAC;QACjB,CAAC;KACmB,CAAC;AACzB,CAAC"}
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Event analytics — activity feed, event categorization, human-readable descriptions.
3
+ *
4
+ * Transforms raw Anchor event logs into dashboard-ready activity items.
5
+ * The Activity tab is the second most-used dashboard feature after Overview.
6
+ */
7
+ import type { Address, Rpc, SolanaRpcApi } from "@solana/kit";
8
+ import type { DecodedSigilEvent, SigilEventName } from "./events.js";
9
+ import { type Network } from "./types.js";
10
+ export type EventCategory = "trade" | "deposit" | "withdrawal" | "policy" | "agent" | "escrow" | "security" | "fee";
11
+ export interface VaultActivityItem {
12
+ timestamp: number;
13
+ txSignature: string;
14
+ eventType: SigilEventName;
15
+ category: EventCategory;
16
+ agent: Address | null;
17
+ amount: bigint | null;
18
+ amountDisplay: string | null;
19
+ tokenMint: Address | null;
20
+ tokenSymbol: string | null;
21
+ actionType: string | null;
22
+ protocol: Address | null;
23
+ protocolName: string | null;
24
+ success: boolean;
25
+ description: string;
26
+ }
27
+ /** Categorize a decoded event into a high-level group. Defaults to "trade". */
28
+ export declare function categorizeEvent(eventName: string): EventCategory;
29
+ /**
30
+ * Generate a human-readable description for a decoded event.
31
+ * Uses fintech language — no raw error codes or program IDs.
32
+ */
33
+ export declare function describeEvent(decoded: DecodedSigilEvent, network?: Network): string;
34
+ /**
35
+ * Build a VaultActivityItem from a decoded event + transaction metadata.
36
+ * Main entry point for the activity feed.
37
+ */
38
+ export declare function buildActivityItem(decoded: DecodedSigilEvent, txSignature: string, blockTime: number, network?: Network): VaultActivityItem;
39
+ /**
40
+ * Fetch and build a complete activity feed for a vault.
41
+ * Uses getSignaturesForAddress + getTransaction (standard RPC).
42
+ * For better performance, use Helius Enhanced Transactions API in the dashboard.
43
+ */
44
+ export declare function getVaultActivity(rpc: Rpc<SolanaRpcApi>, vault: Address, limit?: number, network?: Network): Promise<VaultActivityItem[]>;
45
+ //# sourceMappingURL=event-analytics.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-analytics.d.ts","sourceRoot":"","sources":["../src/event-analytics.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAIrE,OAAO,EAAmB,KAAK,OAAO,EAAE,MAAM,YAAY,CAAC;AAK3D,MAAM,MAAM,aAAa,GACrB,OAAO,GACP,SAAS,GACT,YAAY,GACZ,QAAQ,GACR,OAAO,GACP,QAAQ,GACR,UAAU,GACV,KAAK,CAAC;AAEV,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,cAAc,CAAC;IAC1B,QAAQ,EAAE,aAAa,CAAC;IACxB,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;IACtB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,SAAS,EAAE,OAAO,GAAG,IAAI,CAAC;IAC1B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,QAAQ,EAAE,OAAO,GAAG,IAAI,CAAC;IACzB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;CACrB;AAsCD,+EAA+E;AAC/E,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,aAAa,CAEhE;AAID;;;GAGG;AACH,wBAAgB,aAAa,CAC3B,OAAO,EAAE,iBAAiB,EAC1B,OAAO,GAAE,OAAwB,GAChC,MAAM,CAkHR;AAID;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,iBAAiB,EAC1B,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,OAAwB,GAChC,iBAAiB,CA6CnB;AAID;;;;GAIG;AACH,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,GAAG,CAAC,YAAY,CAAC,EACtB,KAAK,EAAE,OAAO,EACd,KAAK,SAAK,EACV,OAAO,GAAE,OAAwB,GAChC,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAsC9B"}
@@ -0,0 +1,277 @@
1
+ /**
2
+ * Event analytics — activity feed, event categorization, human-readable descriptions.
3
+ *
4
+ * Transforms raw Anchor event logs into dashboard-ready activity items.
5
+ * The Activity tab is the second most-used dashboard feature after Overview.
6
+ */
7
+ import { parseAndDecodeSigilEvents } from "./events.js";
8
+ import { formatUsd, formatAddress, formatTokenAmount } from "./formatting.js";
9
+ import { resolveToken } from "./tokens.js";
10
+ import { parseActionType } from "./types.js";
11
+ import { resolveProtocolName } from "./protocol-names.js";
12
+ // ─── Event Category Map ──────────────────────────────────────────────────────
13
+ const EVENT_CATEGORY_MAP = {
14
+ ActionAuthorized: "trade",
15
+ SessionFinalized: "trade",
16
+ DelegationRevoked: "trade",
17
+ AgentTransferExecuted: "trade",
18
+ AgentSpendLimitChecked: "trade",
19
+ PositionsSynced: "trade",
20
+ FundsDeposited: "deposit",
21
+ FundsWithdrawn: "withdrawal",
22
+ PolicyUpdated: "policy",
23
+ PolicyChangeQueued: "policy",
24
+ PolicyChangeApplied: "policy",
25
+ PolicyChangeCancelled: "policy",
26
+ InstructionConstraintsCreated: "policy",
27
+ InstructionConstraintsUpdated: "policy",
28
+ InstructionConstraintsClosed: "policy",
29
+ ConstraintsChangeQueued: "policy",
30
+ ConstraintsChangeApplied: "policy",
31
+ ConstraintsChangeCancelled: "policy",
32
+ AgentRegistered: "agent",
33
+ AgentRevoked: "agent",
34
+ AgentPermissionsUpdated: "agent",
35
+ AgentUnpausedEvent: "agent",
36
+ VaultCreated: "security",
37
+ VaultFrozen: "security",
38
+ VaultReactivated: "security",
39
+ VaultClosed: "security",
40
+ AgentPausedEvent: "security",
41
+ FeesCollected: "fee",
42
+ EscrowCreated: "escrow",
43
+ EscrowSettled: "escrow",
44
+ EscrowRefunded: "escrow",
45
+ };
46
+ /** Categorize a decoded event into a high-level group. Defaults to "trade". */
47
+ export function categorizeEvent(eventName) {
48
+ return EVENT_CATEGORY_MAP[eventName] ?? "trade";
49
+ }
50
+ // ─── Event Description ───────────────────────────────────────────────────────
51
+ /**
52
+ * Generate a human-readable description for a decoded event.
53
+ * Uses fintech language — no raw error codes or program IDs.
54
+ */
55
+ export function describeEvent(decoded, network = "mainnet-beta") {
56
+ const f = decoded.fields;
57
+ if (!f)
58
+ return `${decoded.name} event (details unavailable)`;
59
+ switch (decoded.name) {
60
+ case "ActionAuthorized": {
61
+ const agent = formatAddress(f.agent);
62
+ const amount = f.usdAmount;
63
+ const actionObj = f.actionType;
64
+ const actionStr = actionObj?.__kind ?? "action";
65
+ return `Agent ${agent} authorized ${formatUsd(amount, 2)} ${actionStr} on ${resolveProtocolName(f.protocol)}`;
66
+ }
67
+ case "SessionFinalized": {
68
+ const agent = formatAddress(f.agent);
69
+ const success = f.success;
70
+ const isExpired = f.isExpired;
71
+ const spend = f.actualSpendUsd ?? 0n;
72
+ if (isExpired)
73
+ return `Session for agent ${agent} expired and was cleaned up`;
74
+ if (!success)
75
+ return `Agent ${agent} session finalized (action failed)`;
76
+ if (spend > 0n)
77
+ return `Agent ${agent} completed trade — ${formatUsd(spend, 2)} spent`;
78
+ return `Agent ${agent} completed action successfully`;
79
+ }
80
+ case "FundsDeposited": {
81
+ const amount = f.amount;
82
+ const mint = f.tokenMint;
83
+ const token = resolveTokenSafe(mint, network);
84
+ return `Owner deposited ${formatTokenDisplay(amount, token)}`;
85
+ }
86
+ case "FundsWithdrawn": {
87
+ const amount = f.amount;
88
+ const mint = f.tokenMint;
89
+ const token = resolveTokenSafe(mint, network);
90
+ return `Owner withdrew ${formatTokenDisplay(amount, token)}`;
91
+ }
92
+ case "AgentRegistered":
93
+ return `New agent ${formatAddress(f.agent)} registered with vault access`;
94
+ case "AgentRevoked":
95
+ return `Agent ${formatAddress(f.agent)} removed from vault (${f.remainingAgents} remaining)`;
96
+ case "AgentPermissionsUpdated": {
97
+ const permCount = countBits(f.newPermissions);
98
+ return `Agent ${formatAddress(f.agent)} permissions updated (${permCount} of 21 actions enabled)`;
99
+ }
100
+ case "VaultFrozen":
101
+ return "Vault paused — all agent activity stopped";
102
+ case "VaultReactivated":
103
+ return "Vault reactivated — agent activity resumed";
104
+ case "VaultClosed":
105
+ return "Vault permanently closed";
106
+ case "VaultCreated":
107
+ return "Vault created and ready for configuration";
108
+ case "AgentPausedEvent":
109
+ return `Agent ${formatAddress(f.agent)} paused — cannot execute actions`;
110
+ case "AgentUnpausedEvent":
111
+ return `Agent ${formatAddress(f.agent)} resumed — can execute actions`;
112
+ case "FeesCollected": {
113
+ const protocolFee = f.protocolFeeAmount;
114
+ const devFee = f.developerFeeAmount;
115
+ return `Fees collected: ${formatUsd(protocolFee + devFee, 2)} (${formatUsd(protocolFee, 2)} protocol + ${formatUsd(devFee, 2)} developer)`;
116
+ }
117
+ case "PolicyUpdated":
118
+ return "Vault policy updated — new spending rules active";
119
+ case "PolicyChangeQueued":
120
+ return "Policy change queued — waiting for timelock to expire";
121
+ case "PolicyChangeApplied":
122
+ return "Queued policy change applied";
123
+ case "PolicyChangeCancelled":
124
+ return "Queued policy change cancelled";
125
+ case "EscrowCreated":
126
+ return `Escrow created: ${formatUsd(f.amount, 2)} held for vault ${formatAddress(f.destinationVault)}`;
127
+ case "EscrowSettled":
128
+ return `Escrow settled — ${formatUsd(f.amount, 2)} released to destination`;
129
+ case "EscrowRefunded":
130
+ return `Escrow refunded — ${formatUsd(f.amount, 2)} returned to vault`;
131
+ case "AgentTransferExecuted":
132
+ return `Agent transferred ${formatUsd(f.amount, 2)} to ${formatAddress(f.destination)}`;
133
+ case "AgentSpendLimitChecked":
134
+ return `Agent ${formatAddress(f.agent)} spend check: ${formatUsd(f.agentRollingSpend, 2)} of ${formatUsd(f.spendingLimitUsd, 2)} daily limit used`;
135
+ case "DelegationRevoked":
136
+ return "Token delegation revoked after session completion";
137
+ case "PositionsSynced":
138
+ return `Position count synced: ${f.oldCount} → ${f.newCount}`;
139
+ case "InstructionConstraintsCreated":
140
+ return "Instruction constraints configured for this vault";
141
+ case "InstructionConstraintsUpdated":
142
+ return "Instruction constraints updated";
143
+ case "InstructionConstraintsClosed":
144
+ return "Instruction constraints removed";
145
+ case "ConstraintsChangeQueued":
146
+ return "Constraint change queued — waiting for timelock";
147
+ case "ConstraintsChangeApplied":
148
+ return "Queued constraint change applied";
149
+ case "ConstraintsChangeCancelled":
150
+ return "Queued constraint change cancelled";
151
+ default:
152
+ return `${decoded.name} event`;
153
+ }
154
+ }
155
+ // ─── Activity Item Builder ───────────────────────────────────────────────────
156
+ /**
157
+ * Build a VaultActivityItem from a decoded event + transaction metadata.
158
+ * Main entry point for the activity feed.
159
+ */
160
+ export function buildActivityItem(decoded, txSignature, blockTime, network = "mainnet-beta") {
161
+ const f = decoded.fields;
162
+ const category = categorizeEvent(decoded.name);
163
+ const agent = extractAddress(f, "agent");
164
+ const amount = extractBigInt(f, "amount") ?? extractBigInt(f, "usdAmount");
165
+ const tokenMint = extractAddress(f, "tokenMint") ?? extractAddress(f, "mint");
166
+ const protocol = extractAddress(f, "protocol");
167
+ const success = f?.success !== false;
168
+ const token = tokenMint ? resolveTokenSafe(tokenMint, network) : null;
169
+ const amountDisplay = amount !== null && token
170
+ ? formatTokenDisplay(amount, token)
171
+ : amount !== null
172
+ ? formatUsd(amount, 2)
173
+ : null;
174
+ // actionType has different shapes: Codama enum { __kind: "Swap" } vs u8 number
175
+ let actionType = null;
176
+ if (f?.actionType != null) {
177
+ const at = f.actionType;
178
+ if (typeof at === "object" && at !== null && "__kind" in at) {
179
+ actionType = at.__kind;
180
+ }
181
+ else if (typeof at === "number" || typeof at === "bigint") {
182
+ actionType = parseActionType(Number(at))?.toString() ?? null;
183
+ }
184
+ }
185
+ return {
186
+ timestamp: blockTime,
187
+ txSignature,
188
+ eventType: decoded.name,
189
+ category,
190
+ agent,
191
+ amount,
192
+ amountDisplay,
193
+ tokenMint,
194
+ tokenSymbol: token?.symbol ?? null,
195
+ actionType,
196
+ protocol,
197
+ protocolName: protocol ? resolveProtocolName(protocol) : null,
198
+ success,
199
+ description: describeEvent(decoded, network),
200
+ };
201
+ }
202
+ // ─── Activity Feed Fetcher ───────────────────────────────────────────────────
203
+ /**
204
+ * Fetch and build a complete activity feed for a vault.
205
+ * Uses getSignaturesForAddress + getTransaction (standard RPC).
206
+ * For better performance, use Helius Enhanced Transactions API in the dashboard.
207
+ */
208
+ export async function getVaultActivity(rpc, vault, limit = 20, network = "mainnet-beta") {
209
+ const signatures = await rpc
210
+ .getSignaturesForAddress(vault, { limit })
211
+ .send();
212
+ if (signatures.length === 0)
213
+ return [];
214
+ const items = [];
215
+ for (const sigInfo of signatures) {
216
+ try {
217
+ const tx = await rpc
218
+ .getTransaction(sigInfo.signature, {
219
+ encoding: "json",
220
+ maxSupportedTransactionVersion: 0,
221
+ })
222
+ .send();
223
+ if (!tx?.meta?.logMessages)
224
+ continue;
225
+ const decoded = parseAndDecodeSigilEvents([...tx.meta.logMessages]);
226
+ for (const event of decoded) {
227
+ items.push(buildActivityItem(event, sigInfo.signature, Number(sigInfo.blockTime ?? 0), network));
228
+ }
229
+ }
230
+ catch {
231
+ continue;
232
+ }
233
+ }
234
+ items.sort((a, b) => b.timestamp - a.timestamp);
235
+ return items;
236
+ }
237
+ // ─── Internal Helpers ────────────────────────────────────────────────────────
238
+ function extractAddress(fields, key) {
239
+ if (!fields || !(key in fields))
240
+ return null;
241
+ const val = fields[key];
242
+ if (typeof val === "string" && val.length > 0)
243
+ return val;
244
+ return null;
245
+ }
246
+ function extractBigInt(fields, key) {
247
+ if (!fields || !(key in fields))
248
+ return null;
249
+ const val = fields[key];
250
+ if (typeof val === "bigint")
251
+ return val;
252
+ return null;
253
+ }
254
+ function countBits(n) {
255
+ let count = 0;
256
+ let v = n;
257
+ while (v > 0n) {
258
+ count += Number(v & 1n);
259
+ v >>= 1n;
260
+ }
261
+ return count;
262
+ }
263
+ function resolveTokenSafe(mint, network) {
264
+ try {
265
+ return resolveToken(mint, network);
266
+ }
267
+ catch {
268
+ return null;
269
+ }
270
+ }
271
+ /** Format token amount for display — delegates to formatting.ts with 2-decimal truncation. */
272
+ function formatTokenDisplay(amount, token) {
273
+ if (!token)
274
+ return formatUsd(amount);
275
+ return formatTokenAmount(amount, token.decimals, token.symbol, 2);
276
+ }
277
+ //# sourceMappingURL=event-analytics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-analytics.js","sourceRoot":"","sources":["../src/event-analytics.ts"],"names":[],"mappings":"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"}