@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,56 @@
1
+ /**
2
+ * Anchor CPI event log parser for Sigil.
3
+ *
4
+ * Parses "Program data: " log lines from transaction logs to extract
5
+ * Anchor events. Uses the IDL-provided event discriminators (first 8 bytes
6
+ * of SHA256 of "event:<EventName>").
7
+ *
8
+ * The discriminator map is auto-generated by codama.mjs from the IDL.
9
+ * Run `pnpm run codama` after any Rust event changes.
10
+ */
11
+ import { EVENT_DISCRIMINATOR_MAP } from "./generated/event-discriminators.js";
12
+ /** All known Sigil event names */
13
+ export type SigilEventName = (typeof EVENT_DISCRIMINATOR_MAP)[string];
14
+ /** Parsed event from transaction logs */
15
+ export interface SigilEvent {
16
+ /** Event name (e.g. "VaultCreated", "ActionAuthorized") */
17
+ name: SigilEventName;
18
+ /** Raw event data bytes (after discriminator) */
19
+ data: Uint8Array;
20
+ }
21
+ /**
22
+ * Parse Sigil Anchor events from transaction logs.
23
+ *
24
+ * Anchor emits events as "Program data: <base64>" log lines.
25
+ * The first 8 bytes are the event discriminator (SHA256 prefix).
26
+ *
27
+ * @param logs - Array of log strings from a transaction
28
+ * @returns Array of parsed events with name and raw data
29
+ */
30
+ export declare function parseSigilEvents(logs: string[]): SigilEvent[];
31
+ /**
32
+ * Extract events of a specific type from transaction logs.
33
+ */
34
+ export declare function filterEvents(logs: string[], eventName: SigilEventName): SigilEvent[];
35
+ /** Get all known event names */
36
+ export declare function getEventNames(): SigilEventName[];
37
+ /** Decoded event with typed fields */
38
+ export interface DecodedSigilEvent {
39
+ name: SigilEventName;
40
+ /** Raw bytes preserved for debugging */
41
+ data: Uint8Array;
42
+ /** Decoded fields, or null if decoding fails */
43
+ fields: Record<string, unknown> | null;
44
+ }
45
+ /**
46
+ * Decode a parsed Sigil event's raw bytes into typed fields.
47
+ *
48
+ * Returns `fields: null` if the event name is unknown or decoding fails
49
+ * (e.g. events from older program versions with different layouts).
50
+ */
51
+ export declare function decodeSigilEvent(event: SigilEvent): DecodedSigilEvent;
52
+ /**
53
+ * Parse and decode Sigil events from transaction logs in one step.
54
+ */
55
+ export declare function parseAndDecodeSigilEvents(logs: string[]): DecodedSigilEvent[];
56
+ //# sourceMappingURL=events.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAmC9E,kCAAkC;AAClC,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,uBAAuB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEtE,yCAAyC;AACzC,MAAM,WAAW,UAAU;IACzB,2DAA2D;IAC3D,IAAI,EAAE,cAAc,CAAC;IACrB,iDAAiD;IACjD,IAAI,EAAE,UAAU,CAAC;CAClB;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,CAgC7D;AAED;;GAEG;AACH,wBAAgB,YAAY,CAC1B,IAAI,EAAE,MAAM,EAAE,EACd,SAAS,EAAE,cAAc,GACxB,UAAU,EAAE,CAEd;AAED,gCAAgC;AAChC,wBAAgB,aAAa,IAAI,cAAc,EAAE,CAEhD;AA8ED,sCAAsC;AACtC,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,cAAc,CAAC;IACrB,wCAAwC;IACxC,IAAI,EAAE,UAAU,CAAC;IACjB,gDAAgD;IAChD,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;CACxC;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,UAAU,GAAG,iBAAiB,CAWrE;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,iBAAiB,EAAE,CAE7E"}
package/dist/events.js ADDED
@@ -0,0 +1,151 @@
1
+ /**
2
+ * Anchor CPI event log parser for Sigil.
3
+ *
4
+ * Parses "Program data: " log lines from transaction logs to extract
5
+ * Anchor events. Uses the IDL-provided event discriminators (first 8 bytes
6
+ * of SHA256 of "event:<EventName>").
7
+ *
8
+ * The discriminator map is auto-generated by codama.mjs from the IDL.
9
+ * Run `pnpm run codama` after any Rust event changes.
10
+ */
11
+ import { EVENT_DISCRIMINATOR_MAP } from "./generated/event-discriminators.js";
12
+ import { getActionAuthorizedDecoder, getSessionFinalizedDecoder, getFeesCollectedDecoder, getFundsDepositedDecoder, getFundsWithdrawnDecoder, getAgentTransferExecutedDecoder, getVaultCreatedDecoder, getVaultFrozenDecoder, getVaultReactivatedDecoder, getVaultClosedDecoder, getAgentRegisteredDecoder, getAgentRevokedDecoder, getAgentPausedEventDecoder, getAgentUnpausedEventDecoder, getAgentPermissionsUpdatedDecoder, getAgentSpendLimitCheckedDecoder, getEscrowCreatedDecoder, getEscrowSettledDecoder, getEscrowRefundedDecoder, getPolicyUpdatedDecoder, getPolicyChangeQueuedDecoder, getPolicyChangeAppliedDecoder, getPolicyChangeCancelledDecoder, getConstraintsChangeQueuedDecoder, getConstraintsChangeAppliedDecoder, getConstraintsChangeCancelledDecoder, getInstructionConstraintsCreatedDecoder, getInstructionConstraintsUpdatedDecoder, getInstructionConstraintsClosedDecoder, getDelegationRevokedDecoder, getPositionsSyncedDecoder, } from "./generated/types/index.js";
13
+ /**
14
+ * Parse Sigil Anchor events from transaction logs.
15
+ *
16
+ * Anchor emits events as "Program data: <base64>" log lines.
17
+ * The first 8 bytes are the event discriminator (SHA256 prefix).
18
+ *
19
+ * @param logs - Array of log strings from a transaction
20
+ * @returns Array of parsed events with name and raw data
21
+ */
22
+ export function parseSigilEvents(logs) {
23
+ const events = [];
24
+ const PROGRAM_DATA_PREFIX = "Program data: ";
25
+ for (const log of logs) {
26
+ if (!log.includes(PROGRAM_DATA_PREFIX))
27
+ continue;
28
+ const dataStart = log.indexOf(PROGRAM_DATA_PREFIX);
29
+ if (dataStart === -1)
30
+ continue;
31
+ const base64Data = log.slice(dataStart + PROGRAM_DATA_PREFIX.length);
32
+ try {
33
+ const bytes = base64ToBytes(base64Data);
34
+ if (bytes.length < 8)
35
+ continue;
36
+ // First 8 bytes = discriminator
37
+ const discHex = bytesToHex(bytes.slice(0, 8));
38
+ const eventName = EVENT_DISCRIMINATOR_MAP[discHex];
39
+ if (eventName) {
40
+ events.push({
41
+ name: eventName,
42
+ data: bytes.slice(8),
43
+ });
44
+ }
45
+ }
46
+ catch {
47
+ // Skip unparseable log lines
48
+ }
49
+ }
50
+ return events;
51
+ }
52
+ /**
53
+ * Extract events of a specific type from transaction logs.
54
+ */
55
+ export function filterEvents(logs, eventName) {
56
+ return parseSigilEvents(logs).filter((e) => e.name === eventName);
57
+ }
58
+ /** Get all known event names */
59
+ export function getEventNames() {
60
+ return Object.values(EVENT_DISCRIMINATOR_MAP);
61
+ }
62
+ // ─── Helpers ──────────────────────────────────────────────────────────────────
63
+ function base64ToBytes(base64) {
64
+ const binaryString = atob(base64);
65
+ const bytes = new Uint8Array(binaryString.length);
66
+ for (let i = 0; i < binaryString.length; i++) {
67
+ bytes[i] = binaryString.charCodeAt(i);
68
+ }
69
+ return bytes;
70
+ }
71
+ function bytesToHex(bytes) {
72
+ return Array.from(bytes)
73
+ .map((b) => b.toString(16).padStart(2, "0"))
74
+ .join("");
75
+ }
76
+ // ─── Event Decoder Map ──────────────────────────────────────────────────────
77
+ // Decoders cached at module level — avoids re-creating struct decoders on every call
78
+ const EVENT_DECODER_MAP = {
79
+ ActionAuthorized: getActionAuthorizedDecoder(),
80
+ SessionFinalized: getSessionFinalizedDecoder(),
81
+ FeesCollected: getFeesCollectedDecoder(),
82
+ FundsDeposited: getFundsDepositedDecoder(),
83
+ FundsWithdrawn: getFundsWithdrawnDecoder(),
84
+ AgentTransferExecuted: getAgentTransferExecutedDecoder(),
85
+ VaultCreated: getVaultCreatedDecoder(),
86
+ VaultFrozen: getVaultFrozenDecoder(),
87
+ VaultReactivated: getVaultReactivatedDecoder(),
88
+ VaultClosed: getVaultClosedDecoder(),
89
+ AgentRegistered: getAgentRegisteredDecoder(),
90
+ AgentRevoked: getAgentRevokedDecoder(),
91
+ AgentPausedEvent: getAgentPausedEventDecoder(),
92
+ AgentUnpausedEvent: getAgentUnpausedEventDecoder(),
93
+ AgentPermissionsUpdated: getAgentPermissionsUpdatedDecoder(),
94
+ AgentSpendLimitChecked: getAgentSpendLimitCheckedDecoder(),
95
+ EscrowCreated: getEscrowCreatedDecoder(),
96
+ EscrowSettled: getEscrowSettledDecoder(),
97
+ EscrowRefunded: getEscrowRefundedDecoder(),
98
+ PolicyUpdated: getPolicyUpdatedDecoder(),
99
+ PolicyChangeQueued: getPolicyChangeQueuedDecoder(),
100
+ PolicyChangeApplied: getPolicyChangeAppliedDecoder(),
101
+ PolicyChangeCancelled: getPolicyChangeCancelledDecoder(),
102
+ ConstraintsChangeQueued: getConstraintsChangeQueuedDecoder(),
103
+ ConstraintsChangeApplied: getConstraintsChangeAppliedDecoder(),
104
+ ConstraintsChangeCancelled: getConstraintsChangeCancelledDecoder(),
105
+ InstructionConstraintsCreated: getInstructionConstraintsCreatedDecoder(),
106
+ InstructionConstraintsUpdated: getInstructionConstraintsUpdatedDecoder(),
107
+ InstructionConstraintsClosed: getInstructionConstraintsClosedDecoder(),
108
+ DelegationRevoked: getDelegationRevokedDecoder(),
109
+ PositionsSynced: getPositionsSyncedDecoder(),
110
+ };
111
+ // Validate decoder map completeness at module init — catches drift when events are added/removed
112
+ const discriminatorEventNames = new Set(Object.values(EVENT_DISCRIMINATOR_MAP));
113
+ const decoderEventNames = new Set(Object.keys(EVENT_DECODER_MAP));
114
+ for (const name of discriminatorEventNames) {
115
+ if (!decoderEventNames.has(name)) {
116
+ throw new Error(`EVENT_DECODER_MAP missing entry for "${name}". ` +
117
+ `Update EVENT_DECODER_MAP in events.ts after adding new events.`);
118
+ }
119
+ }
120
+ for (const name of decoderEventNames) {
121
+ if (!discriminatorEventNames.has(name)) {
122
+ throw new Error(`EVENT_DECODER_MAP has stale entry "${name}" not in EVENT_DISCRIMINATOR_MAP. ` +
123
+ `Remove it from EVENT_DECODER_MAP in events.ts.`);
124
+ }
125
+ }
126
+ /**
127
+ * Decode a parsed Sigil event's raw bytes into typed fields.
128
+ *
129
+ * Returns `fields: null` if the event name is unknown or decoding fails
130
+ * (e.g. events from older program versions with different layouts).
131
+ */
132
+ export function decodeSigilEvent(event) {
133
+ const decoder = EVENT_DECODER_MAP[event.name];
134
+ if (!decoder) {
135
+ return { name: event.name, data: event.data, fields: null };
136
+ }
137
+ try {
138
+ const fields = decoder.decode(event.data);
139
+ return { name: event.name, data: event.data, fields };
140
+ }
141
+ catch {
142
+ return { name: event.name, data: event.data, fields: null };
143
+ }
144
+ }
145
+ /**
146
+ * Parse and decode Sigil events from transaction logs in one step.
147
+ */
148
+ export function parseAndDecodeSigilEvents(logs) {
149
+ return parseSigilEvents(logs).map(decodeSigilEvent);
150
+ }
151
+ //# sourceMappingURL=events.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,103 @@
1
+ /**
2
+ * Display formatting functions for USD, percentages, time, addresses, and token amounts.
3
+ *
4
+ * Design decisions:
5
+ * - All USD formatting takes bigint (6-decimal stablecoin base units) and converts to display.
6
+ * - Never use Number() on raw bigint amounts > 2^53 — precision loss. The division by 10^6
7
+ * is safe because the result fits in Number range (< $18.4 trillion).
8
+ * - Locale: en-US hardcoded. International formatting is a future concern.
9
+ *
10
+ * This module is Phase 6 P0 from ANALYTICS-DATA-LAYER-PLAN, pulled forward into Step 5.5
11
+ * to eliminate overlap. Every other analytics module depends on these formatters.
12
+ */
13
+ /**
14
+ * Format a stablecoin base-unit amount as a USD string.
15
+ *
16
+ * Default: full stablecoin precision (6 decimals). UI can truncate by passing decimals=2.
17
+ *
18
+ * @param amount - Raw amount in stablecoin base units (6 decimals). e.g., 500_000_000n = $500.000000
19
+ * @param decimals - Display decimal places (default 6 = full precision). Use 2 for display, 0 for KPI cards.
20
+ * @returns Formatted string like "$1,234.567890" (default) or "$1,234.57" (decimals=2)
21
+ */
22
+ export declare function formatUsd(amount: bigint, decimals?: number): string;
23
+ /**
24
+ * Format USD amount in compact notation for KPI cards and small spaces.
25
+ *
26
+ * @param amount - Raw amount in stablecoin base units (6 decimals)
27
+ * @returns Compact string like "$1.2K", "$3.5M", "$0.00"
28
+ */
29
+ export declare function formatUsdCompact(amount: bigint): string;
30
+ /**
31
+ * Format USD with explicit sign for P&L display.
32
+ *
33
+ * @param amount - Raw amount in stablecoin base units (can be negative for losses)
34
+ * @param decimals - Display decimal places (default 6 = full precision). Use 2 for display.
35
+ * @returns "+$234.560000" for gains, "-$89.120000" for losses, "$0.000000" for zero
36
+ */
37
+ export declare function formatUsdSigned(amount: bigint, decimals?: number): string;
38
+ /**
39
+ * Format a number as a percentage string.
40
+ *
41
+ * @param value - Percentage value (e.g., 24.7 for 24.7%)
42
+ * @param decimals - Decimal places (default 1)
43
+ * @returns "24.7%" or "0.0%"
44
+ */
45
+ export declare function formatPercent(value: number, decimals?: number): string;
46
+ /**
47
+ * Format percentage with explicit sign for P&L display.
48
+ *
49
+ * @param value - Percentage value (positive = gain, negative = loss)
50
+ * @returns "+24.7%" or "-5.2%" or "0.0%"
51
+ */
52
+ export declare function formatPercentSigned(value: number, decimals?: number): string;
53
+ /**
54
+ * Format a duration in seconds as a human-readable string.
55
+ *
56
+ * @param seconds - Duration in seconds (positive)
57
+ * @returns "2h 15m", "45m", "3d 12h", "< 1m"
58
+ */
59
+ export declare function formatDuration(seconds: number): string;
60
+ /**
61
+ * Format a Unix timestamp as a relative time string.
62
+ *
63
+ * @param timestamp - Unix timestamp in seconds
64
+ * @returns "just now", "2m ago", "3h ago", "2d ago"
65
+ */
66
+ export declare function formatRelativeTime(timestamp: number): string;
67
+ /**
68
+ * Format a Unix timestamp as time-until string.
69
+ *
70
+ * @param timestamp - Future Unix timestamp in seconds
71
+ * @returns "in 2h 15m", "in 45m", "expired"
72
+ */
73
+ export declare function formatTimeUntil(timestamp: number): string;
74
+ /**
75
+ * Truncate a Solana address for display.
76
+ *
77
+ * @param address - Full base58 address
78
+ * @param chars - Characters to show on each side (default 4)
79
+ * @returns "7Kp3...xQ2m"
80
+ */
81
+ export declare function formatAddress(address: string, chars?: number): string;
82
+ /**
83
+ * Format a token amount with symbol at full token precision.
84
+ *
85
+ * Default: full decimals for the token (6 for USDC, 9 for SOL). UI can truncate.
86
+ *
87
+ * @param amount - Raw amount in base units
88
+ * @param decimals - Token decimals (6 for USDC, 9 for SOL)
89
+ * @param symbol - Token symbol ("USDC", "SOL")
90
+ * @param displayDecimals - Override display precision (default: full token decimals)
91
+ * @returns "1,234.560000 USDC" or "0.123456789 SOL"
92
+ */
93
+ export declare function formatTokenAmount(amount: bigint, decimals: number, symbol: string, displayDecimals?: number): string;
94
+ /**
95
+ * Format token amount in compact notation.
96
+ *
97
+ * @param amount - Raw amount in base units
98
+ * @param decimals - Token decimals
99
+ * @param symbol - Token symbol
100
+ * @returns "1.2K USDC", "3.5M SOL"
101
+ */
102
+ export declare function formatTokenAmountCompact(amount: bigint, decimals: number, symbol: string): string;
103
+ //# sourceMappingURL=formatting.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formatting.d.ts","sourceRoot":"","sources":["../src/formatting.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAqDH;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,SAAI,GAAG,MAAM,CAsB9D;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAOvD;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,SAAI,GAAG,MAAM,CAIpE;AAID;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,SAAI,GAAG,MAAM,CAEjE;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,SAAI,GAAG,MAAM,CAMvE;AAID;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAetD;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAS5D;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAMzD;AAID;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,SAAI,GAAG,MAAM,CAGhE;AAID;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,eAAe,CAAC,EAAE,MAAM,GACvB,MAAM,CAkBR;AAED;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,GACb,MAAM,CAOR"}
@@ -0,0 +1,244 @@
1
+ /**
2
+ * Display formatting functions for USD, percentages, time, addresses, and token amounts.
3
+ *
4
+ * Design decisions:
5
+ * - All USD formatting takes bigint (6-decimal stablecoin base units) and converts to display.
6
+ * - Never use Number() on raw bigint amounts > 2^53 — precision loss. The division by 10^6
7
+ * is safe because the result fits in Number range (< $18.4 trillion).
8
+ * - Locale: en-US hardcoded. International formatting is a future concern.
9
+ *
10
+ * This module is Phase 6 P0 from ANALYTICS-DATA-LAYER-PLAN, pulled forward into Step 5.5
11
+ * to eliminate overlap. Every other analytics module depends on these formatters.
12
+ */
13
+ import { STABLECOIN_USD_FACTOR } from "./types.js";
14
+ // ─── Cached Intl Formatters ─────────────────────────────────────────────────
15
+ /** Full stablecoin precision (6 decimals = 1 micro-dollar). Default for SDK output. */
16
+ const usdFormatter6 = new Intl.NumberFormat("en-US", {
17
+ style: "currency",
18
+ currency: "USD",
19
+ minimumFractionDigits: 6,
20
+ maximumFractionDigits: 6,
21
+ });
22
+ const usdFormatter2 = new Intl.NumberFormat("en-US", {
23
+ style: "currency",
24
+ currency: "USD",
25
+ minimumFractionDigits: 2,
26
+ maximumFractionDigits: 2,
27
+ });
28
+ const usdFormatter0 = new Intl.NumberFormat("en-US", {
29
+ style: "currency",
30
+ currency: "USD",
31
+ minimumFractionDigits: 0,
32
+ maximumFractionDigits: 0,
33
+ });
34
+ const usdFormatterCompact = new Intl.NumberFormat("en-US", {
35
+ style: "currency",
36
+ currency: "USD",
37
+ notation: "compact",
38
+ maximumFractionDigits: 1,
39
+ });
40
+ const numberFormatter = new Intl.NumberFormat("en-US");
41
+ const numberFormatterCompact = new Intl.NumberFormat("en-US", {
42
+ notation: "compact",
43
+ maximumFractionDigits: 1,
44
+ });
45
+ /** Convert stablecoin base units (6 decimals) to a Number in dollars. Safe for < $18.4T. */
46
+ function usdToNumber(absAmount) {
47
+ return (Number(absAmount / STABLECOIN_USD_FACTOR) +
48
+ Number(absAmount % STABLECOIN_USD_FACTOR) / 1_000_000);
49
+ }
50
+ // ─── USD Formatting ──────────────────────────────────────────────────────────
51
+ /**
52
+ * Format a stablecoin base-unit amount as a USD string.
53
+ *
54
+ * Default: full stablecoin precision (6 decimals). UI can truncate by passing decimals=2.
55
+ *
56
+ * @param amount - Raw amount in stablecoin base units (6 decimals). e.g., 500_000_000n = $500.000000
57
+ * @param decimals - Display decimal places (default 6 = full precision). Use 2 for display, 0 for KPI cards.
58
+ * @returns Formatted string like "$1,234.567890" (default) or "$1,234.57" (decimals=2)
59
+ */
60
+ export function formatUsd(amount, decimals = 6) {
61
+ const isNegative = amount < 0n;
62
+ const absAmount = isNegative ? -amount : amount;
63
+ const dollarValue = usdToNumber(absAmount);
64
+ // Use cached formatter for common decimal counts, dynamic for others
65
+ const formatter = decimals === 6
66
+ ? usdFormatter6
67
+ : decimals === 2
68
+ ? usdFormatter2
69
+ : decimals === 0
70
+ ? usdFormatter0
71
+ : new Intl.NumberFormat("en-US", {
72
+ style: "currency",
73
+ currency: "USD",
74
+ minimumFractionDigits: decimals,
75
+ maximumFractionDigits: decimals,
76
+ });
77
+ const formatted = formatter.format(dollarValue);
78
+ return isNegative ? `-${formatted}` : formatted;
79
+ }
80
+ /**
81
+ * Format USD amount in compact notation for KPI cards and small spaces.
82
+ *
83
+ * @param amount - Raw amount in stablecoin base units (6 decimals)
84
+ * @returns Compact string like "$1.2K", "$3.5M", "$0.00"
85
+ */
86
+ export function formatUsdCompact(amount) {
87
+ const isNegative = amount < 0n;
88
+ const absAmount = isNegative ? -amount : amount;
89
+ const dollarValue = usdToNumber(absAmount);
90
+ const formatted = usdFormatterCompact.format(dollarValue);
91
+ return isNegative ? `-${formatted}` : formatted;
92
+ }
93
+ /**
94
+ * Format USD with explicit sign for P&L display.
95
+ *
96
+ * @param amount - Raw amount in stablecoin base units (can be negative for losses)
97
+ * @param decimals - Display decimal places (default 6 = full precision). Use 2 for display.
98
+ * @returns "+$234.560000" for gains, "-$89.120000" for losses, "$0.000000" for zero
99
+ */
100
+ export function formatUsdSigned(amount, decimals = 6) {
101
+ if (amount === 0n)
102
+ return formatUsd(0n, decimals);
103
+ if (amount > 0n)
104
+ return `+${formatUsd(amount, decimals)}`;
105
+ return formatUsd(amount, decimals); // formatUsd already handles negative
106
+ }
107
+ // ─── Percentage Formatting ───────────────────────────────────────────────────
108
+ /**
109
+ * Format a number as a percentage string.
110
+ *
111
+ * @param value - Percentage value (e.g., 24.7 for 24.7%)
112
+ * @param decimals - Decimal places (default 1)
113
+ * @returns "24.7%" or "0.0%"
114
+ */
115
+ export function formatPercent(value, decimals = 1) {
116
+ return `${value.toFixed(decimals)}%`;
117
+ }
118
+ /**
119
+ * Format percentage with explicit sign for P&L display.
120
+ *
121
+ * @param value - Percentage value (positive = gain, negative = loss)
122
+ * @returns "+24.7%" or "-5.2%" or "0.0%"
123
+ */
124
+ export function formatPercentSigned(value, decimals = 1) {
125
+ // Scale threshold to match display precision: 0.05 for 1 dec, 0.005 for 2 dec, etc.
126
+ const threshold = 0.5 * Math.pow(10, -decimals);
127
+ if (Math.abs(value) < threshold)
128
+ return `0.${"0".repeat(decimals)}%`;
129
+ if (value > 0)
130
+ return `+${value.toFixed(decimals)}%`;
131
+ return `${value.toFixed(decimals)}%`;
132
+ }
133
+ // ─── Time Formatting ─────────────────────────────────────────────────────────
134
+ /**
135
+ * Format a duration in seconds as a human-readable string.
136
+ *
137
+ * @param seconds - Duration in seconds (positive)
138
+ * @returns "2h 15m", "45m", "3d 12h", "< 1m"
139
+ */
140
+ export function formatDuration(seconds) {
141
+ if (seconds < 0)
142
+ return "0m";
143
+ if (seconds < 60)
144
+ return "< 1m";
145
+ const days = Math.floor(seconds / 86400);
146
+ const hours = Math.floor((seconds % 86400) / 3600);
147
+ const minutes = Math.floor((seconds % 3600) / 60);
148
+ if (days > 0) {
149
+ return hours > 0 ? `${days}d ${hours}h` : `${days}d`;
150
+ }
151
+ if (hours > 0) {
152
+ return minutes > 0 ? `${hours}h ${minutes}m` : `${hours}h`;
153
+ }
154
+ return `${minutes}m`;
155
+ }
156
+ /**
157
+ * Format a Unix timestamp as a relative time string.
158
+ *
159
+ * @param timestamp - Unix timestamp in seconds
160
+ * @returns "just now", "2m ago", "3h ago", "2d ago"
161
+ */
162
+ export function formatRelativeTime(timestamp) {
163
+ const now = Math.floor(Date.now() / 1000);
164
+ const diff = now - timestamp;
165
+ if (diff < 60)
166
+ return "just now";
167
+ if (diff < 3600)
168
+ return `${Math.floor(diff / 60)}m ago`;
169
+ if (diff < 86400)
170
+ return `${Math.floor(diff / 3600)}h ago`;
171
+ if (diff < 2592000)
172
+ return `${Math.floor(diff / 86400)}d ago`;
173
+ return `${Math.floor(diff / 2592000)}mo ago`;
174
+ }
175
+ /**
176
+ * Format a Unix timestamp as time-until string.
177
+ *
178
+ * @param timestamp - Future Unix timestamp in seconds
179
+ * @returns "in 2h 15m", "in 45m", "expired"
180
+ */
181
+ export function formatTimeUntil(timestamp) {
182
+ const now = Math.floor(Date.now() / 1000);
183
+ const diff = timestamp - now;
184
+ if (diff <= 0)
185
+ return "expired";
186
+ return `in ${formatDuration(diff)}`;
187
+ }
188
+ // ─── Address Formatting ──────────────────────────────────────────────────────
189
+ /**
190
+ * Truncate a Solana address for display.
191
+ *
192
+ * @param address - Full base58 address
193
+ * @param chars - Characters to show on each side (default 4)
194
+ * @returns "7Kp3...xQ2m"
195
+ */
196
+ export function formatAddress(address, chars = 4) {
197
+ if (address.length <= chars * 2 + 3)
198
+ return address;
199
+ return `${address.slice(0, chars)}...${address.slice(-chars)}`;
200
+ }
201
+ // ─── Token Amount Formatting ─────────────────────────────────────────────────
202
+ /**
203
+ * Format a token amount with symbol at full token precision.
204
+ *
205
+ * Default: full decimals for the token (6 for USDC, 9 for SOL). UI can truncate.
206
+ *
207
+ * @param amount - Raw amount in base units
208
+ * @param decimals - Token decimals (6 for USDC, 9 for SOL)
209
+ * @param symbol - Token symbol ("USDC", "SOL")
210
+ * @param displayDecimals - Override display precision (default: full token decimals)
211
+ * @returns "1,234.560000 USDC" or "0.123456789 SOL"
212
+ */
213
+ export function formatTokenAmount(amount, decimals, symbol, displayDecimals) {
214
+ const isNegative = amount < 0n;
215
+ const absAmount = isNegative ? -amount : amount;
216
+ const factor = 10n ** BigInt(decimals);
217
+ const whole = absAmount / factor;
218
+ const frac = absAmount % factor;
219
+ const fracDigits = displayDecimals ?? decimals;
220
+ const fracStr = frac
221
+ .toString()
222
+ .padStart(decimals, "0")
223
+ .slice(0, fracDigits);
224
+ const wholeFormatted = numberFormatter.format(Number(whole));
225
+ const result = fracDigits > 0
226
+ ? `${wholeFormatted}.${fracStr} ${symbol}`
227
+ : `${wholeFormatted} ${symbol}`;
228
+ return isNegative ? `-${result}` : result;
229
+ }
230
+ /**
231
+ * Format token amount in compact notation.
232
+ *
233
+ * @param amount - Raw amount in base units
234
+ * @param decimals - Token decimals
235
+ * @param symbol - Token symbol
236
+ * @returns "1.2K USDC", "3.5M SOL"
237
+ */
238
+ export function formatTokenAmountCompact(amount, decimals, symbol) {
239
+ const factor = 10n ** BigInt(decimals);
240
+ const value = Number(amount / factor) + Number(amount % factor) / Number(factor);
241
+ const formatted = numberFormatterCompact.format(value);
242
+ return `${formatted} ${symbol}`;
243
+ }
244
+ //# sourceMappingURL=formatting.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formatting.js","sourceRoot":"","sources":["../src/formatting.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,54 @@
1
+ /**
2
+ * This code was AUTOGENERATED using the Codama library.
3
+ * Please DO NOT EDIT THIS FILE, instead use visitors
4
+ * to add features, then rerun Codama to update it.
5
+ *
6
+ * @see https://github.com/codama-idl/codama
7
+ */
8
+ import { fetchEncodedAccount, fetchEncodedAccounts, type Account, type Address, type EncodedAccount, type FetchAccountConfig, type FetchAccountsConfig, type FixedSizeCodec, type FixedSizeDecoder, type FixedSizeEncoder, type MaybeAccount, type MaybeEncodedAccount, type ReadonlyUint8Array } from "@solana/kit";
9
+ import { type AgentContributionEntry, type AgentContributionEntryArgs } from "../types/index.js";
10
+ export declare const AGENT_SPEND_OVERLAY_DISCRIMINATOR: Uint8Array<ArrayBuffer>;
11
+ export declare function getAgentSpendOverlayDiscriminatorBytes(): ReadonlyUint8Array<ArrayBuffer>;
12
+ export type AgentSpendOverlay = {
13
+ discriminator: ReadonlyUint8Array;
14
+ /** Associated vault pubkey */
15
+ vault: Address;
16
+ /** Agent contribution entries (up to MAX_OVERLAY_ENTRIES agents) */
17
+ entries: Array<AgentContributionEntry>;
18
+ /** Bump seed for PDA */
19
+ bump: number;
20
+ /** Padding for 8-byte alignment */
21
+ padding: ReadonlyUint8Array;
22
+ /** Per-agent cumulative spend in USD base units */
23
+ lifetimeSpend: Array<bigint>;
24
+ /** Per-agent cumulative transaction count */
25
+ lifetimeTxCount: Array<bigint>;
26
+ };
27
+ export type AgentSpendOverlayArgs = {
28
+ /** Associated vault pubkey */
29
+ vault: Address;
30
+ /** Agent contribution entries (up to MAX_OVERLAY_ENTRIES agents) */
31
+ entries: Array<AgentContributionEntryArgs>;
32
+ /** Bump seed for PDA */
33
+ bump: number;
34
+ /** Padding for 8-byte alignment */
35
+ padding: ReadonlyUint8Array;
36
+ /** Per-agent cumulative spend in USD base units */
37
+ lifetimeSpend: Array<number | bigint>;
38
+ /** Per-agent cumulative transaction count */
39
+ lifetimeTxCount: Array<number | bigint>;
40
+ };
41
+ /** Gets the encoder for {@link AgentSpendOverlayArgs} account data. */
42
+ export declare function getAgentSpendOverlayEncoder(): FixedSizeEncoder<AgentSpendOverlayArgs>;
43
+ /** Gets the decoder for {@link AgentSpendOverlay} account data. */
44
+ export declare function getAgentSpendOverlayDecoder(): FixedSizeDecoder<AgentSpendOverlay>;
45
+ /** Gets the codec for {@link AgentSpendOverlay} account data. */
46
+ export declare function getAgentSpendOverlayCodec(): FixedSizeCodec<AgentSpendOverlayArgs, AgentSpendOverlay>;
47
+ export declare function decodeAgentSpendOverlay<TAddress extends string = string>(encodedAccount: EncodedAccount<TAddress>): Account<AgentSpendOverlay, TAddress>;
48
+ export declare function decodeAgentSpendOverlay<TAddress extends string = string>(encodedAccount: MaybeEncodedAccount<TAddress>): MaybeAccount<AgentSpendOverlay, TAddress>;
49
+ export declare function fetchAgentSpendOverlay<TAddress extends string = string>(rpc: Parameters<typeof fetchEncodedAccount>[0], address: Address<TAddress>, config?: FetchAccountConfig): Promise<Account<AgentSpendOverlay, TAddress>>;
50
+ export declare function fetchMaybeAgentSpendOverlay<TAddress extends string = string>(rpc: Parameters<typeof fetchEncodedAccount>[0], address: Address<TAddress>, config?: FetchAccountConfig): Promise<MaybeAccount<AgentSpendOverlay, TAddress>>;
51
+ export declare function fetchAllAgentSpendOverlay(rpc: Parameters<typeof fetchEncodedAccounts>[0], addresses: Array<Address>, config?: FetchAccountsConfig): Promise<Account<AgentSpendOverlay>[]>;
52
+ export declare function fetchAllMaybeAgentSpendOverlay(rpc: Parameters<typeof fetchEncodedAccounts>[0], addresses: Array<Address>, config?: FetchAccountsConfig): Promise<MaybeAccount<AgentSpendOverlay>[]>;
53
+ export declare function getAgentSpendOverlaySize(): number;
54
+ //# sourceMappingURL=agentSpendOverlay.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agentSpendOverlay.d.ts","sourceRoot":"","sources":["../../../src/generated/accounts/agentSpendOverlay.ts"],"names":[],"mappings":"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"}