@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,26 @@
1
+ /**
2
+ * x402 Codec — Kit-native
3
+ *
4
+ * Base64 encode/decode and header parse/encode with schema validation.
5
+ * Zero external dependencies.
6
+ */
7
+ import type { PaymentRequired, PaymentPayload, SettleResponse } from "./types.js";
8
+ /** Base64 encode a JSON/ASCII string. Platform-agnostic (no Buffer dependency). */
9
+ export declare function base64Encode(data: string): string;
10
+ /** Base64 decode to a JSON/ASCII string. Platform-agnostic (no Buffer dependency). */
11
+ export declare function base64Decode(encoded: string): string;
12
+ /**
13
+ * Decode a base64-encoded PAYMENT-REQUIRED header value.
14
+ * Validates schema: x402Version is number, accepts is non-empty array,
15
+ * each entry has required fields.
16
+ */
17
+ export declare function decodePaymentRequiredHeader(header: string): PaymentRequired;
18
+ /**
19
+ * Encode a PaymentPayload as a base64 string for PAYMENT-SIGNATURE header.
20
+ */
21
+ export declare function encodePaymentSignatureHeader(payload: PaymentPayload): string;
22
+ /**
23
+ * Decode a base64-encoded PAYMENT-RESPONSE header value.
24
+ */
25
+ export declare function decodePaymentResponseHeader(header: string): SettleResponse;
26
+ //# sourceMappingURL=codec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codec.d.ts","sourceRoot":"","sources":["../../src/x402/codec.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACd,cAAc,EACf,MAAM,YAAY,CAAC;AAMpB,mFAAmF;AACnF,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEjD;AAED,sFAAsF;AACtF,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEpD;AAID;;;;GAIG;AACH,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,MAAM,GAAG,eAAe,CA+D3E;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,cAAc,GAAG,MAAM,CAE5E;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc,CAS1E"}
@@ -0,0 +1,95 @@
1
+ /**
2
+ * x402 Codec — Kit-native
3
+ *
4
+ * Base64 encode/decode and header parse/encode with schema validation.
5
+ * Zero external dependencies.
6
+ */
7
+ import { X402ParseError } from "./errors.js";
8
+ import { U64_MAX } from "../types.js";
9
+ // ─── Base64 Helpers ─────────────────────────────────────────────────────────
10
+ /** Base64 encode a JSON/ASCII string. Platform-agnostic (no Buffer dependency). */
11
+ export function base64Encode(data) {
12
+ return btoa(data);
13
+ }
14
+ /** Base64 decode to a JSON/ASCII string. Platform-agnostic (no Buffer dependency). */
15
+ export function base64Decode(encoded) {
16
+ return atob(encoded);
17
+ }
18
+ // ─── Header Decode/Encode ───────────────────────────────────────────────────
19
+ /**
20
+ * Decode a base64-encoded PAYMENT-REQUIRED header value.
21
+ * Validates schema: x402Version is number, accepts is non-empty array,
22
+ * each entry has required fields.
23
+ */
24
+ export function decodePaymentRequiredHeader(header) {
25
+ let parsed;
26
+ try {
27
+ const json = base64Decode(header);
28
+ parsed = JSON.parse(json);
29
+ }
30
+ catch (err) {
31
+ const msg = err instanceof Error ? err.message : String(err);
32
+ throw new X402ParseError(`Failed to decode PAYMENT-REQUIRED header: ${msg}`);
33
+ }
34
+ const obj = parsed;
35
+ // Schema validation
36
+ if (typeof obj.x402Version !== "number") {
37
+ throw new X402ParseError("x402Version must be a number");
38
+ }
39
+ if (!Array.isArray(obj.accepts) || obj.accepts.length === 0) {
40
+ throw new X402ParseError("accepts must be a non-empty array");
41
+ }
42
+ for (let i = 0; i < obj.accepts.length; i++) {
43
+ const entry = obj.accepts[i];
44
+ if (typeof entry.scheme !== "string") {
45
+ throw new X402ParseError(`accepts[${i}].scheme must be a string`);
46
+ }
47
+ if (typeof entry.network !== "string") {
48
+ throw new X402ParseError(`accepts[${i}].network must be a string`);
49
+ }
50
+ if (typeof entry.asset !== "string") {
51
+ throw new X402ParseError(`accepts[${i}].asset must be a string`);
52
+ }
53
+ if (typeof entry.amount !== "string" || entry.amount.length === 0) {
54
+ throw new X402ParseError(`accepts[${i}].amount must be a non-empty string`);
55
+ }
56
+ // Validate amount is a valid non-negative integer string (BUG-7/BUG-15: use BigInt to avoid precision loss)
57
+ try {
58
+ const parsed = BigInt(entry.amount);
59
+ if (parsed < 0n) {
60
+ throw new X402ParseError(`accepts[${i}].amount must be non-negative (got: "${entry.amount}")`);
61
+ }
62
+ if (parsed > U64_MAX) {
63
+ throw new X402ParseError(`accepts[${i}].amount exceeds u64 max (got: "${entry.amount}")`);
64
+ }
65
+ }
66
+ catch (e) {
67
+ if (e instanceof X402ParseError)
68
+ throw e;
69
+ throw new X402ParseError(`accepts[${i}].amount must be a valid integer string (got: "${entry.amount}")`);
70
+ }
71
+ if (typeof entry.payTo !== "string") {
72
+ throw new X402ParseError(`accepts[${i}].payTo must be a string`);
73
+ }
74
+ }
75
+ return parsed;
76
+ }
77
+ /**
78
+ * Encode a PaymentPayload as a base64 string for PAYMENT-SIGNATURE header.
79
+ */
80
+ export function encodePaymentSignatureHeader(payload) {
81
+ return base64Encode(JSON.stringify(payload));
82
+ }
83
+ /**
84
+ * Decode a base64-encoded PAYMENT-RESPONSE header value.
85
+ */
86
+ export function decodePaymentResponseHeader(header) {
87
+ try {
88
+ return JSON.parse(base64Decode(header));
89
+ }
90
+ catch (err) {
91
+ const msg = err instanceof Error ? err.message : String(err);
92
+ throw new X402ParseError(`Failed to decode PAYMENT-RESPONSE header: ${msg}`);
93
+ }
94
+ }
95
+ //# sourceMappingURL=codec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codec.js","sourceRoot":"","sources":["../../src/x402/codec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * x402 Error Classes — Kit-native
3
+ *
4
+ * Five distinct error types for x402 payment handling.
5
+ * Each maps to a specific SDK error code (7024-7030).
6
+ */
7
+ /** Malformed PAYMENT-REQUIRED header (code 7024). */
8
+ export declare class X402ParseError extends Error {
9
+ readonly code = 7024;
10
+ constructor(message: string);
11
+ }
12
+ /** General x402 payment failure (code 7025). */
13
+ export declare class X402PaymentError extends Error {
14
+ readonly code = 7025;
15
+ constructor(message: string);
16
+ }
17
+ /** No compatible Solana payment option (code 7026). */
18
+ export declare class X402UnsupportedError extends Error {
19
+ readonly code = 7026;
20
+ constructor(message: string);
21
+ }
22
+ /** payTo address not in destination allowlist (code 7027). */
23
+ export declare class X402DestinationBlockedError extends Error {
24
+ readonly payTo: string;
25
+ readonly code = 7027;
26
+ constructor(payTo: string, message?: string);
27
+ }
28
+ /** Duplicate payment detected within replay window (code 7028). */
29
+ export declare class X402ReplayError extends Error {
30
+ readonly nonceKey: string;
31
+ readonly code = 7028;
32
+ constructor(nonceKey: string, message?: string);
33
+ }
34
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/x402/errors.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,qDAAqD;AACrD,qBAAa,cAAe,SAAQ,KAAK;IACvC,QAAQ,CAAC,IAAI,QAAQ;gBACT,OAAO,EAAE,MAAM;CAI5B;AAED,gDAAgD;AAChD,qBAAa,gBAAiB,SAAQ,KAAK;IACzC,QAAQ,CAAC,IAAI,QAAQ;gBACT,OAAO,EAAE,MAAM;CAI5B;AAED,uDAAuD;AACvD,qBAAa,oBAAqB,SAAQ,KAAK;IAC7C,QAAQ,CAAC,IAAI,QAAQ;gBACT,OAAO,EAAE,MAAM;CAI5B;AAED,8DAA8D;AAC9D,qBAAa,2BAA4B,SAAQ,KAAK;aAGlC,KAAK,EAAE,MAAM;IAF/B,QAAQ,CAAC,IAAI,QAAQ;gBAEH,KAAK,EAAE,MAAM,EAC7B,OAAO,CAAC,EAAE,MAAM;CAQnB;AAED,mEAAmE;AACnE,qBAAa,eAAgB,SAAQ,KAAK;aAGtB,QAAQ,EAAE,MAAM;IAFlC,QAAQ,CAAC,IAAI,QAAQ;gBAEH,QAAQ,EAAE,MAAM,EAChC,OAAO,CAAC,EAAE,MAAM;CAQnB"}
@@ -0,0 +1,53 @@
1
+ /**
2
+ * x402 Error Classes — Kit-native
3
+ *
4
+ * Five distinct error types for x402 payment handling.
5
+ * Each maps to a specific SDK error code (7024-7030).
6
+ */
7
+ /** Malformed PAYMENT-REQUIRED header (code 7024). */
8
+ export class X402ParseError extends Error {
9
+ code = 7024;
10
+ constructor(message) {
11
+ super(`x402 parse error: ${message}`);
12
+ this.name = "X402ParseError";
13
+ }
14
+ }
15
+ /** General x402 payment failure (code 7025). */
16
+ export class X402PaymentError extends Error {
17
+ code = 7025;
18
+ constructor(message) {
19
+ super(`x402 payment error: ${message}`);
20
+ this.name = "X402PaymentError";
21
+ }
22
+ }
23
+ /** No compatible Solana payment option (code 7026). */
24
+ export class X402UnsupportedError extends Error {
25
+ code = 7026;
26
+ constructor(message) {
27
+ super(`x402 unsupported: ${message}`);
28
+ this.name = "X402UnsupportedError";
29
+ }
30
+ }
31
+ /** payTo address not in destination allowlist (code 7027). */
32
+ export class X402DestinationBlockedError extends Error {
33
+ payTo;
34
+ code = 7027;
35
+ constructor(payTo, message) {
36
+ super(message ??
37
+ `x402 destination blocked: payTo ${payTo} is not in the allowed destinations list`);
38
+ this.payTo = payTo;
39
+ this.name = "X402DestinationBlockedError";
40
+ }
41
+ }
42
+ /** Duplicate payment detected within replay window (code 7028). */
43
+ export class X402ReplayError extends Error {
44
+ nonceKey;
45
+ code = 7028;
46
+ constructor(nonceKey, message) {
47
+ super(message ??
48
+ `x402 replay detected: duplicate payment for nonce ${nonceKey}`);
49
+ this.nonceKey = nonceKey;
50
+ this.name = "X402ReplayError";
51
+ }
52
+ }
53
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/x402/errors.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,qDAAqD;AACrD,MAAM,OAAO,cAAe,SAAQ,KAAK;IAC9B,IAAI,GAAG,IAAI,CAAC;IACrB,YAAY,OAAe;QACzB,KAAK,CAAC,qBAAqB,OAAO,EAAE,CAAC,CAAC;QACtC,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;IAC/B,CAAC;CACF;AAED,gDAAgD;AAChD,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IAChC,IAAI,GAAG,IAAI,CAAC;IACrB,YAAY,OAAe;QACzB,KAAK,CAAC,uBAAuB,OAAO,EAAE,CAAC,CAAC;QACxC,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;IACjC,CAAC;CACF;AAED,uDAAuD;AACvD,MAAM,OAAO,oBAAqB,SAAQ,KAAK;IACpC,IAAI,GAAG,IAAI,CAAC;IACrB,YAAY,OAAe;QACzB,KAAK,CAAC,qBAAqB,OAAO,EAAE,CAAC,CAAC;QACtC,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;IACrC,CAAC;CACF;AAED,8DAA8D;AAC9D,MAAM,OAAO,2BAA4B,SAAQ,KAAK;IAGlC;IAFT,IAAI,GAAG,IAAI,CAAC;IACrB,YACkB,KAAa,EAC7B,OAAgB;QAEhB,KAAK,CACH,OAAO;YACL,mCAAmC,KAAK,0CAA0C,CACrF,CAAC;QANc,UAAK,GAAL,KAAK,CAAQ;QAO7B,IAAI,CAAC,IAAI,GAAG,6BAA6B,CAAC;IAC5C,CAAC;CACF;AAED,mEAAmE;AACnE,MAAM,OAAO,eAAgB,SAAQ,KAAK;IAGtB;IAFT,IAAI,GAAG,IAAI,CAAC;IACrB,YACkB,QAAgB,EAChC,OAAgB;QAEhB,KAAK,CACH,OAAO;YACL,qDAAqD,QAAQ,EAAE,CAClE,CAAC;QANc,aAAQ,GAAR,QAAQ,CAAQ;QAOhC,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAChC,CAAC;CACF"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * x402 Facilitator Verification — Kit-native
3
+ *
4
+ * Validates settlement responses from x402 facilitators.
5
+ * Non-fatal — logs warnings on suspicious responses.
6
+ */
7
+ import type { Rpc, SolanaRpcApi } from "@solana/kit";
8
+ import type { SettleResponse } from "./types.js";
9
+ export interface FacilitatorVerifyResult {
10
+ valid: boolean;
11
+ warnings: string[];
12
+ }
13
+ /**
14
+ * Validate a settlement response from the x402 facilitator.
15
+ *
16
+ * Checks:
17
+ * 1. success: true must include a transaction signature
18
+ * 2. Transaction signature must be valid base58 (64-88 chars)
19
+ * 3. Network field matches expected (if provided)
20
+ * 4. Failed settlement
21
+ * 5. On-chain confirmation (when rpc provided)
22
+ */
23
+ export declare function validateSettlement(settlement: SettleResponse, expectedNetwork?: string, rpc?: Rpc<SolanaRpcApi>, timeoutMs?: number): Promise<FacilitatorVerifyResult>;
24
+ //# sourceMappingURL=facilitator-verify.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"facilitator-verify.d.ts","sourceRoot":"","sources":["../../src/x402/facilitator-verify.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAKjD,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;;;;;;;;GASG;AACH,wBAAsB,kBAAkB,CACtC,UAAU,EAAE,cAAc,EAC1B,eAAe,CAAC,EAAE,MAAM,EACxB,GAAG,CAAC,EAAE,GAAG,CAAC,YAAY,CAAC,EACvB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,uBAAuB,CAAC,CA2DlC"}
@@ -0,0 +1,74 @@
1
+ /**
2
+ * x402 Facilitator Verification — Kit-native
3
+ *
4
+ * Validates settlement responses from x402 facilitators.
5
+ * Non-fatal — logs warnings on suspicious responses.
6
+ */
7
+ /** Base58 character set for validation */
8
+ const BASE58_REGEX = /^[1-9A-HJ-NP-Za-km-z]{64,88}$/;
9
+ /**
10
+ * Validate a settlement response from the x402 facilitator.
11
+ *
12
+ * Checks:
13
+ * 1. success: true must include a transaction signature
14
+ * 2. Transaction signature must be valid base58 (64-88 chars)
15
+ * 3. Network field matches expected (if provided)
16
+ * 4. Failed settlement
17
+ * 5. On-chain confirmation (when rpc provided)
18
+ */
19
+ export async function validateSettlement(settlement, expectedNetwork, rpc, timeoutMs) {
20
+ const warnings = [];
21
+ // 1. Successful settlement must include tx signature
22
+ if (settlement.success && !settlement.transaction) {
23
+ warnings.push("Settlement reports success but has no transaction signature");
24
+ return { valid: false, warnings };
25
+ }
26
+ // 2. Validate tx signature format (base58, 64-88 chars)
27
+ if (settlement.transaction && !BASE58_REGEX.test(settlement.transaction)) {
28
+ warnings.push(`Settlement transaction signature has invalid format: "${settlement.transaction.slice(0, 20)}..."`);
29
+ return { valid: false, warnings };
30
+ }
31
+ // 3. Network mismatch check
32
+ if (expectedNetwork &&
33
+ settlement.network &&
34
+ settlement.network !== expectedNetwork) {
35
+ warnings.push(`Settlement network "${settlement.network}" does not match expected "${expectedNetwork}"`);
36
+ }
37
+ // 4. Failed settlement
38
+ if (!settlement.success) {
39
+ warnings.push(`Settlement failed: ${settlement.errorReason ?? "unknown reason"}`);
40
+ return { valid: false, warnings };
41
+ }
42
+ // 5. On-chain confirmation (when rpc provided and transaction exists)
43
+ if (rpc && settlement.transaction) {
44
+ try {
45
+ const confirmed = await pollSignatureStatus(rpc, settlement.transaction, timeoutMs ?? 10_000);
46
+ if (!confirmed) {
47
+ warnings.push(`Settlement TX ${settlement.transaction.slice(0, 12)}... not confirmed on-chain within ${timeoutMs ?? 10_000}ms`);
48
+ }
49
+ }
50
+ catch {
51
+ warnings.push(`Failed to verify settlement TX on-chain: ${settlement.transaction.slice(0, 12)}...`);
52
+ }
53
+ }
54
+ return { valid: true, warnings };
55
+ }
56
+ async function pollSignatureStatus(rpc, signature, timeoutMs) {
57
+ const deadline = Date.now() + timeoutMs;
58
+ let delay = 500;
59
+ while (Date.now() < deadline) {
60
+ const result = await rpc.getSignatureStatuses([signature]).send();
61
+ const statuses = result.value;
62
+ if (statuses?.[0]) {
63
+ if (statuses[0].err)
64
+ return false;
65
+ const level = statuses[0].confirmationStatus;
66
+ if (level === "confirmed" || level === "finalized")
67
+ return true;
68
+ }
69
+ await new Promise(r => setTimeout(r, delay));
70
+ delay = Math.min(delay * 1.5, 2_000);
71
+ }
72
+ return false;
73
+ }
74
+ //# sourceMappingURL=facilitator-verify.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"facilitator-verify.js","sourceRoot":"","sources":["../../src/x402/facilitator-verify.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ export type { PaymentRequired, PaymentRequirements, ResourceInfo, PaymentPayload, SettleResponse, X402Config, ShieldedFetchOptions, ShieldedFetchResponse, X402PaymentResult, X402PaymentEvent, } from "./types.js";
2
+ export { X402ParseError, X402PaymentError, X402UnsupportedError, X402DestinationBlockedError, X402ReplayError, } from "./errors.js";
3
+ export { decodePaymentRequiredHeader, encodePaymentSignatureHeader, decodePaymentResponseHeader, base64Encode, base64Decode, } from "./codec.js";
4
+ export { selectPaymentOption } from "./payment-selector.js";
5
+ export { buildX402TransferInstruction, deriveAta, transferToInspectable, TOKEN_PROGRAM_ID as X402_TOKEN_PROGRAM_ID, ATA_PROGRAM_ID as X402_ATA_PROGRAM_ID, } from "./transfer-builder.js";
6
+ export { NonceTracker } from "./nonce-tracker.js";
7
+ export type { NonceStorage } from "./nonce-tracker.js";
8
+ export { validatePaymentAmount, recordPaymentAmount, resetPaymentHistory, } from "./amount-guard.js";
9
+ export { evaluateX402Payment, recordX402Spend } from "./policy-bridge.js";
10
+ export { validateSettlement } from "./facilitator-verify.js";
11
+ export type { FacilitatorVerifyResult } from "./facilitator-verify.js";
12
+ export { emitPaymentEvent, createPaymentEvent } from "./audit-trail.js";
13
+ export { shieldedFetch, createShieldedFetch } from "./shielded-fetch.js";
14
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/x402/index.ts"],"names":[],"mappings":"AAIA,YAAY,EACV,eAAe,EACf,mBAAmB,EACnB,YAAY,EACZ,cAAc,EACd,cAAc,EACd,UAAU,EACV,oBAAoB,EACpB,qBAAqB,EACrB,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,oBAAoB,EACpB,2BAA2B,EAC3B,eAAe,GAChB,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,2BAA2B,EAC3B,4BAA4B,EAC5B,2BAA2B,EAC3B,YAAY,EACZ,YAAY,GACb,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAG5D,OAAO,EACL,4BAA4B,EAC5B,SAAS,EACT,qBAAqB,EACrB,gBAAgB,IAAI,qBAAqB,EACzC,cAAc,IAAI,mBAAmB,GACtC,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,YAAY,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGvD,OAAO,EACL,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAG1E,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,YAAY,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAGvE,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAGxE,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,23 @@
1
+ // x402 — Kit-native HTTP 402 Payment Required support
2
+ // Barrel exports
3
+ // Errors
4
+ export { X402ParseError, X402PaymentError, X402UnsupportedError, X402DestinationBlockedError, X402ReplayError, } from "./errors.js";
5
+ // Codec
6
+ export { decodePaymentRequiredHeader, encodePaymentSignatureHeader, decodePaymentResponseHeader, base64Encode, base64Decode, } from "./codec.js";
7
+ // Payment Selector
8
+ export { selectPaymentOption } from "./payment-selector.js";
9
+ // Transfer Builder
10
+ export { buildX402TransferInstruction, deriveAta, transferToInspectable, TOKEN_PROGRAM_ID as X402_TOKEN_PROGRAM_ID, ATA_PROGRAM_ID as X402_ATA_PROGRAM_ID, } from "./transfer-builder.js";
11
+ // Nonce Tracker
12
+ export { NonceTracker } from "./nonce-tracker.js";
13
+ // Amount Guard
14
+ export { validatePaymentAmount, recordPaymentAmount, resetPaymentHistory, } from "./amount-guard.js";
15
+ // Policy Bridge
16
+ export { evaluateX402Payment, recordX402Spend } from "./policy-bridge.js";
17
+ // Facilitator Verification
18
+ export { validateSettlement } from "./facilitator-verify.js";
19
+ // Audit Trail
20
+ export { emitPaymentEvent, createPaymentEvent } from "./audit-trail.js";
21
+ // Core: shieldedFetch
22
+ export { shieldedFetch, createShieldedFetch } from "./shielded-fetch.js";
23
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/x402/index.ts"],"names":[],"mappings":"AAAA,sDAAsD;AACtD,iBAAiB;AAgBjB,SAAS;AACT,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,oBAAoB,EACpB,2BAA2B,EAC3B,eAAe,GAChB,MAAM,aAAa,CAAC;AAErB,QAAQ;AACR,OAAO,EACL,2BAA2B,EAC3B,4BAA4B,EAC5B,2BAA2B,EAC3B,YAAY,EACZ,YAAY,GACb,MAAM,YAAY,CAAC;AAEpB,mBAAmB;AACnB,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,mBAAmB;AACnB,OAAO,EACL,4BAA4B,EAC5B,SAAS,EACT,qBAAqB,EACrB,gBAAgB,IAAI,qBAAqB,EACzC,cAAc,IAAI,mBAAmB,GACtC,MAAM,uBAAuB,CAAC;AAE/B,gBAAgB;AAChB,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGlD,eAAe;AACf,OAAO,EACL,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,mBAAmB,CAAC;AAE3B,gBAAgB;AAChB,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAE1E,2BAA2B;AAC3B,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAG7D,cAAc;AACd,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAExE,sBAAsB;AACtB,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,65 @@
1
+ /**
2
+ * x402 Nonce Tracker — Kit-native
3
+ *
4
+ * Replay prevention via resource+payTo+amount deduplication.
5
+ * Simple string-key dedup with configurable TTL, no crypto dependencies.
6
+ */
7
+ /**
8
+ * Pluggable storage backend for NonceTracker persistence.
9
+ * Default: in-memory Map (lost on restart).
10
+ * Production: implement with Redis, SQLite, or file-based storage.
11
+ */
12
+ export interface NonceStorage {
13
+ has(key: string): Promise<boolean> | boolean;
14
+ set(key: string, expiresAt: number): Promise<void> | void;
15
+ delete(key: string): Promise<void> | void;
16
+ }
17
+ /**
18
+ * Tracks x402 payment nonces to prevent duplicate payments.
19
+ *
20
+ * Dedup key: `url|payTo|amount` — same payment to same destination
21
+ * for same resource within window = replay.
22
+ *
23
+ * Pass a `NonceStorage` implementation for persistence across restarts.
24
+ * Without it, replay protection is lost on process restart.
25
+ */
26
+ export declare class NonceTracker {
27
+ private readonly storage;
28
+ private readonly externalStorage;
29
+ private readonly ttlMs;
30
+ constructor(options?: {
31
+ ttlMs?: number;
32
+ storage?: NonceStorage;
33
+ });
34
+ /**
35
+ * Build the dedup key from payment parameters.
36
+ */
37
+ static buildKey(url: string, payTo: string, amount: string): string;
38
+ /**
39
+ * Check if a payment is a duplicate.
40
+ * Does NOT record — call record() after successful payment.
41
+ */
42
+ isDuplicate(url: string, payTo: string, amount: string): Promise<boolean>;
43
+ /**
44
+ * Check and throw if duplicate.
45
+ * @throws X402ReplayError if the payment was already seen
46
+ */
47
+ checkOrThrow(url: string, payTo: string, amount: string): Promise<void>;
48
+ /**
49
+ * Record a successful payment to prevent replays.
50
+ */
51
+ record(url: string, payTo: string, amount: string): Promise<void>;
52
+ /**
53
+ * Number of active (non-expired) in-memory entries.
54
+ */
55
+ get size(): number;
56
+ /**
57
+ * Clear all in-memory entries.
58
+ */
59
+ clear(): void;
60
+ /**
61
+ * Garbage collect expired in-memory entries.
62
+ */
63
+ private gc;
64
+ }
65
+ //# sourceMappingURL=nonce-tracker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nonce-tracker.d.ts","sourceRoot":"","sources":["../../src/x402/nonce-tracker.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAWH;;;;GAIG;AACH,MAAM,WAAW,YAAY;IAC3B,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;IAC7C,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC1D,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CAC3C;AAgCD;;;;;;;;GAQG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAuB;IAC/C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAsB;IACtD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;gBAEnB,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,YAAY,CAAA;KAAE;IAMhE;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM;IAYnE;;;OAGG;IACG,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAQ/E;;;OAGG;IACG,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAM7E;;OAEG;IACG,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOvE;;OAEG;IACH,IAAI,IAAI,IAAI,MAAM,CAGjB;IAED;;OAEG;IACH,KAAK,IAAI,IAAI;IAIb;;OAEG;IACH,OAAO,CAAC,EAAE;CAQX"}
@@ -0,0 +1,123 @@
1
+ /**
2
+ * x402 Nonce Tracker — Kit-native
3
+ *
4
+ * Replay prevention via resource+payTo+amount deduplication.
5
+ * Simple string-key dedup with configurable TTL, no crypto dependencies.
6
+ */
7
+ import { X402ReplayError } from "./errors.js";
8
+ /** Default nonce window: 5 minutes */
9
+ const DEFAULT_TTL_MS = 5 * 60 * 1000;
10
+ /** Default in-memory storage — no persistence across restarts. */
11
+ class InMemoryNonceStorage {
12
+ entries = new Map();
13
+ has(key) {
14
+ return this.entries.has(key);
15
+ }
16
+ set(key, expiresAt) {
17
+ this.entries.set(key, { timestamp: expiresAt });
18
+ }
19
+ delete(key) {
20
+ this.entries.delete(key);
21
+ }
22
+ /** Expose entries for GC iteration */
23
+ [Symbol.iterator]() {
24
+ return this.entries[Symbol.iterator]();
25
+ }
26
+ get size() {
27
+ return this.entries.size;
28
+ }
29
+ clear() {
30
+ this.entries.clear();
31
+ }
32
+ }
33
+ /**
34
+ * Tracks x402 payment nonces to prevent duplicate payments.
35
+ *
36
+ * Dedup key: `url|payTo|amount` — same payment to same destination
37
+ * for same resource within window = replay.
38
+ *
39
+ * Pass a `NonceStorage` implementation for persistence across restarts.
40
+ * Without it, replay protection is lost on process restart.
41
+ */
42
+ export class NonceTracker {
43
+ storage;
44
+ externalStorage;
45
+ ttlMs;
46
+ constructor(options) {
47
+ this.ttlMs = options?.ttlMs ?? DEFAULT_TTL_MS;
48
+ this.storage = new InMemoryNonceStorage();
49
+ this.externalStorage = options?.storage ?? null;
50
+ }
51
+ /**
52
+ * Build the dedup key from payment parameters.
53
+ */
54
+ static buildKey(url, payTo, amount) {
55
+ let normalizedUrl;
56
+ try {
57
+ const parsed = new URL(url);
58
+ parsed.search = "";
59
+ normalizedUrl = parsed.toString().replace(/\/$/, "");
60
+ }
61
+ catch {
62
+ normalizedUrl = url;
63
+ }
64
+ return `${normalizedUrl}|${payTo}|${amount}`;
65
+ }
66
+ /**
67
+ * Check if a payment is a duplicate.
68
+ * Does NOT record — call record() after successful payment.
69
+ */
70
+ async isDuplicate(url, payTo, amount) {
71
+ this.gc();
72
+ const key = NonceTracker.buildKey(url, payTo, amount);
73
+ if (this.storage.has(key))
74
+ return true;
75
+ if (this.externalStorage)
76
+ return this.externalStorage.has(key);
77
+ return false;
78
+ }
79
+ /**
80
+ * Check and throw if duplicate.
81
+ * @throws X402ReplayError if the payment was already seen
82
+ */
83
+ async checkOrThrow(url, payTo, amount) {
84
+ if (await this.isDuplicate(url, payTo, amount)) {
85
+ throw new X402ReplayError(NonceTracker.buildKey(url, payTo, amount));
86
+ }
87
+ }
88
+ /**
89
+ * Record a successful payment to prevent replays.
90
+ */
91
+ async record(url, payTo, amount) {
92
+ const key = NonceTracker.buildKey(url, payTo, amount);
93
+ const expiresAt = Date.now() + this.ttlMs;
94
+ this.storage.set(key, expiresAt);
95
+ if (this.externalStorage)
96
+ await this.externalStorage.set(key, expiresAt);
97
+ }
98
+ /**
99
+ * Number of active (non-expired) in-memory entries.
100
+ */
101
+ get size() {
102
+ this.gc();
103
+ return this.storage.size;
104
+ }
105
+ /**
106
+ * Clear all in-memory entries.
107
+ */
108
+ clear() {
109
+ this.storage.clear();
110
+ }
111
+ /**
112
+ * Garbage collect expired in-memory entries.
113
+ */
114
+ gc() {
115
+ const cutoff = Date.now();
116
+ for (const [key, entry] of this.storage) {
117
+ if (entry.timestamp < cutoff) {
118
+ this.storage.delete(key);
119
+ }
120
+ }
121
+ }
122
+ }
123
+ //# sourceMappingURL=nonce-tracker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nonce-tracker.js","sourceRoot":"","sources":["../../src/x402/nonce-tracker.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * x402 Payment Option Selector — Kit-native
3
+ *
4
+ * Selects a Solana-compatible payment option from the accepts array.
5
+ * Includes SECURITY-CRITICAL payTo destination allowlisting.
6
+ */
7
+ import type { PaymentRequired, PaymentRequirements, X402Config } from "./types.js";
8
+ /**
9
+ * Select a Solana-compatible payment option from the accepts array.
10
+ *
11
+ * Filtering order:
12
+ * 1. Network: must start with "solana:" (CAIP-2 format)
13
+ * 2. Token allowlist: asset must be in config.allowedTokens (if set)
14
+ * 3. payTo allowlist: destination must be in config.allowedDestinations (if set) — SECURITY-CRITICAL
15
+ *
16
+ * @throws X402DestinationBlockedError if Solana options exist but all destinations are blocked
17
+ * @throws X402UnsupportedError if no compatible Solana option found
18
+ */
19
+ export declare function selectPaymentOption(paymentRequired: PaymentRequired, config?: X402Config): PaymentRequirements;
20
+ //# sourceMappingURL=payment-selector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"payment-selector.d.ts","sourceRoot":"","sources":["../../src/x402/payment-selector.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EACV,eAAe,EACf,mBAAmB,EACnB,UAAU,EACX,MAAM,YAAY,CAAC;AAGpB;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CACjC,eAAe,EAAE,eAAe,EAChC,MAAM,CAAC,EAAE,UAAU,GAClB,mBAAmB,CA6CrB"}