mppx 0.8.12 → 0.8.14

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 (266) hide show
  1. package/CHANGELOG.md +34 -0
  2. package/README.md +16 -1
  3. package/dist/Errors.d.ts +10 -0
  4. package/dist/Errors.d.ts.map +1 -1
  5. package/dist/Errors.js +11 -2
  6. package/dist/Errors.js.map +1 -1
  7. package/dist/Method.d.ts +105 -3
  8. package/dist/Method.d.ts.map +1 -1
  9. package/dist/Method.js +102 -2
  10. package/dist/Method.js.map +1 -1
  11. package/dist/cli/account.d.ts +88 -0
  12. package/dist/cli/account.d.ts.map +1 -1
  13. package/dist/cli/account.js +39 -9
  14. package/dist/cli/account.js.map +1 -1
  15. package/dist/cli/cli.d.ts +2 -1
  16. package/dist/cli/cli.d.ts.map +1 -1
  17. package/dist/cli/cli.js +59 -2
  18. package/dist/cli/cli.js.map +1 -1
  19. package/dist/cli/sessions/Manager.d.ts +31 -0
  20. package/dist/cli/sessions/Manager.d.ts.map +1 -0
  21. package/dist/cli/sessions/Manager.js +56 -0
  22. package/dist/cli/sessions/Manager.js.map +1 -0
  23. package/dist/cli/sessions/commands.d.ts +36 -0
  24. package/dist/cli/sessions/commands.d.ts.map +1 -0
  25. package/dist/cli/sessions/commands.js +407 -0
  26. package/dist/cli/sessions/commands.js.map +1 -0
  27. package/dist/cli/sessions/request.d.ts +35 -0
  28. package/dist/cli/sessions/request.d.ts.map +1 -0
  29. package/dist/cli/sessions/request.js +271 -0
  30. package/dist/cli/sessions/request.js.map +1 -0
  31. package/dist/cli/sessions/store.d.ts +134 -0
  32. package/dist/cli/sessions/store.d.ts.map +1 -0
  33. package/dist/cli/sessions/store.js +723 -0
  34. package/dist/cli/sessions/store.js.map +1 -0
  35. package/dist/cli/utils.d.ts +2 -0
  36. package/dist/cli/utils.d.ts.map +1 -1
  37. package/dist/cli/utils.js +12 -0
  38. package/dist/cli/utils.js.map +1 -1
  39. package/dist/cli/validate/index.d.ts.map +1 -1
  40. package/dist/cli/validate/index.js +12 -6
  41. package/dist/cli/validate/index.js.map +1 -1
  42. package/dist/cli/validate/messages.d.ts +2 -0
  43. package/dist/cli/validate/messages.d.ts.map +1 -0
  44. package/dist/cli/validate/messages.js +8 -0
  45. package/dist/cli/validate/messages.js.map +1 -0
  46. package/dist/client/internal/Fetch.d.ts.map +1 -1
  47. package/dist/client/internal/Fetch.js +12 -2
  48. package/dist/client/internal/Fetch.js.map +1 -1
  49. package/dist/client/internal/MethodChallenge.d.ts +17 -0
  50. package/dist/client/internal/MethodChallenge.d.ts.map +1 -0
  51. package/dist/client/internal/MethodChallenge.js +11 -0
  52. package/dist/client/internal/MethodChallenge.js.map +1 -0
  53. package/dist/client/node.d.ts +29 -0
  54. package/dist/client/node.d.ts.map +1 -0
  55. package/dist/client/node.js +177 -0
  56. package/dist/client/node.js.map +1 -0
  57. package/dist/internal/types.d.ts +24 -0
  58. package/dist/internal/types.d.ts.map +1 -1
  59. package/dist/server/Mppx.d.ts +23 -4
  60. package/dist/server/Mppx.d.ts.map +1 -1
  61. package/dist/server/Mppx.js +91 -82
  62. package/dist/server/Mppx.js.map +1 -1
  63. package/dist/stripe/server/Charge.d.ts +8 -4
  64. package/dist/stripe/server/Charge.d.ts.map +1 -1
  65. package/dist/stripe/server/Charge.js.map +1 -1
  66. package/dist/stripe/server/internal/html.gen.d.ts +1 -1
  67. package/dist/stripe/server/internal/html.gen.d.ts.map +1 -1
  68. package/dist/stripe/server/internal/html.gen.js +1 -1
  69. package/dist/stripe/server/internal/html.gen.js.map +1 -1
  70. package/dist/tempo/client/Methods.d.ts +2 -1
  71. package/dist/tempo/client/Methods.d.ts.map +1 -1
  72. package/dist/tempo/internal/fee-payer.d.ts +1 -0
  73. package/dist/tempo/internal/fee-payer.d.ts.map +1 -1
  74. package/dist/tempo/internal/fee-payer.js +7 -2
  75. package/dist/tempo/internal/fee-payer.js.map +1 -1
  76. package/dist/tempo/internal/types.d.ts +10 -1
  77. package/dist/tempo/internal/types.d.ts.map +1 -1
  78. package/dist/tempo/legacy/client/ChannelOps.d.ts.map +1 -1
  79. package/dist/tempo/legacy/client/ChannelOps.js +2 -1
  80. package/dist/tempo/legacy/client/ChannelOps.js.map +1 -1
  81. package/dist/tempo/legacy/client/Session.d.ts +2 -2
  82. package/dist/tempo/legacy/server/Session.d.ts +3 -3
  83. package/dist/tempo/legacy/server/Session.d.ts.map +1 -1
  84. package/dist/tempo/legacy/server/Session.js.map +1 -1
  85. package/dist/tempo/server/Charge.d.ts +40 -78
  86. package/dist/tempo/server/Charge.d.ts.map +1 -1
  87. package/dist/tempo/server/Charge.js +289 -209
  88. package/dist/tempo/server/Charge.js.map +1 -1
  89. package/dist/tempo/server/Methods.d.ts +13 -23
  90. package/dist/tempo/server/Methods.d.ts.map +1 -1
  91. package/dist/tempo/server/Methods.js +6 -2
  92. package/dist/tempo/server/Methods.js.map +1 -1
  93. package/dist/tempo/server/Relay.d.ts +48 -0
  94. package/dist/tempo/server/Relay.d.ts.map +1 -0
  95. package/dist/tempo/server/Relay.js +177 -0
  96. package/dist/tempo/server/Relay.js.map +1 -0
  97. package/dist/tempo/server/SponsorBudget.d.ts +59 -0
  98. package/dist/tempo/server/SponsorBudget.d.ts.map +1 -0
  99. package/dist/tempo/server/SponsorBudget.js +144 -0
  100. package/dist/tempo/server/SponsorBudget.js.map +1 -0
  101. package/dist/tempo/server/Subscription.d.ts +3 -2
  102. package/dist/tempo/server/Subscription.d.ts.map +1 -1
  103. package/dist/tempo/server/Subscription.js.map +1 -1
  104. package/dist/tempo/server/index.d.ts +1 -1
  105. package/dist/tempo/server/index.d.ts.map +1 -1
  106. package/dist/tempo/server/index.js.map +1 -1
  107. package/dist/tempo/server/internal/html.gen.d.ts +1 -1
  108. package/dist/tempo/server/internal/html.gen.d.ts.map +1 -1
  109. package/dist/tempo/server/internal/html.gen.js +1 -1
  110. package/dist/tempo/server/internal/html.gen.js.map +1 -1
  111. package/dist/tempo/session/Snapshot.d.ts +9 -0
  112. package/dist/tempo/session/Snapshot.d.ts.map +1 -1
  113. package/dist/tempo/session/Snapshot.js +6 -0
  114. package/dist/tempo/session/Snapshot.js.map +1 -1
  115. package/dist/tempo/session/client/ChannelOps.d.ts +7 -1
  116. package/dist/tempo/session/client/ChannelOps.d.ts.map +1 -1
  117. package/dist/tempo/session/client/ChannelOps.js +17 -3
  118. package/dist/tempo/session/client/ChannelOps.js.map +1 -1
  119. package/dist/tempo/session/client/CredentialState.d.ts +26 -2
  120. package/dist/tempo/session/client/CredentialState.d.ts.map +1 -1
  121. package/dist/tempo/session/client/CredentialState.js +99 -16
  122. package/dist/tempo/session/client/CredentialState.js.map +1 -1
  123. package/dist/tempo/session/client/Runtime.d.ts +8 -0
  124. package/dist/tempo/session/client/Runtime.d.ts.map +1 -1
  125. package/dist/tempo/session/client/Runtime.js +17 -0
  126. package/dist/tempo/session/client/Runtime.js.map +1 -1
  127. package/dist/tempo/session/client/Session.d.ts +16 -6
  128. package/dist/tempo/session/client/Session.d.ts.map +1 -1
  129. package/dist/tempo/session/client/Session.js +93 -36
  130. package/dist/tempo/session/client/Session.js.map +1 -1
  131. package/dist/tempo/session/client/SessionManager.d.ts +10 -3
  132. package/dist/tempo/session/client/SessionManager.d.ts.map +1 -1
  133. package/dist/tempo/session/client/SessionManager.js +176 -50
  134. package/dist/tempo/session/client/SessionManager.js.map +1 -1
  135. package/dist/tempo/session/client/Transports.d.ts +18 -7
  136. package/dist/tempo/session/client/Transports.d.ts.map +1 -1
  137. package/dist/tempo/session/client/Transports.js +81 -33
  138. package/dist/tempo/session/client/Transports.js.map +1 -1
  139. package/dist/tempo/session/client/internal/SessionManager.d.ts +19 -0
  140. package/dist/tempo/session/client/internal/SessionManager.d.ts.map +1 -0
  141. package/dist/tempo/session/client/internal/SessionManager.js +13 -0
  142. package/dist/tempo/session/client/internal/SessionManager.js.map +1 -0
  143. package/dist/tempo/session/precompile/Chain.d.ts.map +1 -1
  144. package/dist/tempo/session/precompile/Chain.js +109 -12
  145. package/dist/tempo/session/precompile/Chain.js.map +1 -1
  146. package/dist/tempo/session/precompile/Channel.d.ts +2 -0
  147. package/dist/tempo/session/precompile/Channel.d.ts.map +1 -1
  148. package/dist/tempo/session/precompile/Channel.js +4 -0
  149. package/dist/tempo/session/precompile/Channel.js.map +1 -1
  150. package/dist/tempo/session/server/CredentialVerification.d.ts +3 -0
  151. package/dist/tempo/session/server/CredentialVerification.d.ts.map +1 -1
  152. package/dist/tempo/session/server/CredentialVerification.js +14 -0
  153. package/dist/tempo/session/server/CredentialVerification.js.map +1 -1
  154. package/dist/tempo/session/server/MeteredStream.d.ts +7 -1
  155. package/dist/tempo/session/server/MeteredStream.d.ts.map +1 -1
  156. package/dist/tempo/session/server/MeteredStream.js +5 -4
  157. package/dist/tempo/session/server/MeteredStream.js.map +1 -1
  158. package/dist/tempo/session/server/RequestState.d.ts +5 -1
  159. package/dist/tempo/session/server/RequestState.d.ts.map +1 -1
  160. package/dist/tempo/session/server/RequestState.js +13 -5
  161. package/dist/tempo/session/server/RequestState.js.map +1 -1
  162. package/dist/tempo/session/server/Session.d.ts +21 -6
  163. package/dist/tempo/session/server/Session.d.ts.map +1 -1
  164. package/dist/tempo/session/server/Session.js +4 -1
  165. package/dist/tempo/session/server/Session.js.map +1 -1
  166. package/dist/tempo/session/server/Settlement.d.ts +20 -0
  167. package/dist/tempo/session/server/Settlement.d.ts.map +1 -1
  168. package/dist/tempo/session/server/Settlement.js +20 -0
  169. package/dist/tempo/session/server/Settlement.js.map +1 -1
  170. package/dist/tempo/session/server/Ws.d.ts +2 -0
  171. package/dist/tempo/session/server/Ws.d.ts.map +1 -1
  172. package/dist/tempo/session/server/Ws.js.map +1 -1
  173. package/dist/tempo/session/server/index.d.ts +1 -1
  174. package/dist/tempo/session/server/index.d.ts.map +1 -1
  175. package/dist/tempo/subscription/KeyAuthorization.d.ts +21 -21
  176. package/dist/validation/core.d.ts.map +1 -1
  177. package/dist/validation/core.js +6 -2
  178. package/dist/validation/core.js.map +1 -1
  179. package/dist/viem/Client.d.ts.map +1 -1
  180. package/dist/viem/Client.js +24 -17
  181. package/dist/viem/Client.js.map +1 -1
  182. package/package.json +6 -1
  183. package/src/Errors.test.ts +23 -0
  184. package/src/Errors.ts +21 -2
  185. package/src/Method.test.ts +102 -1
  186. package/src/Method.ts +241 -5
  187. package/src/cli/account.ts +45 -10
  188. package/src/cli/cli.test.ts +165 -70
  189. package/src/cli/cli.ts +67 -2
  190. package/src/cli/mcp.test.ts +11 -0
  191. package/src/cli/sessions/Manager.test.ts +249 -0
  192. package/src/cli/sessions/Manager.ts +93 -0
  193. package/src/cli/sessions/commands.ts +444 -0
  194. package/src/cli/sessions/request.test.ts +51 -0
  195. package/src/cli/sessions/request.ts +353 -0
  196. package/src/cli/sessions/store.test.ts +581 -0
  197. package/src/cli/sessions/store.ts +940 -0
  198. package/src/cli/utils.test.ts +23 -0
  199. package/src/cli/utils.ts +10 -0
  200. package/src/cli/validate/index.ts +12 -14
  201. package/src/cli/validate/messages.ts +7 -0
  202. package/src/cli/validate.test.ts +38 -5
  203. package/src/client/Mppx.test-d.ts +3 -3
  204. package/src/client/internal/Fetch.ts +16 -7
  205. package/src/client/internal/MethodChallenge.ts +30 -0
  206. package/src/client/node.test.ts +115 -0
  207. package/src/client/node.ts +247 -0
  208. package/src/internal/types.test-d.ts +21 -0
  209. package/src/internal/types.ts +33 -0
  210. package/src/server/Mppx.test-d.ts +44 -0
  211. package/src/server/Mppx.test.ts +205 -0
  212. package/src/server/Mppx.ts +167 -103
  213. package/src/stripe/Methods.test.ts +10 -0
  214. package/src/stripe/server/Charge.test-d.ts +66 -0
  215. package/src/stripe/server/Charge.ts +8 -5
  216. package/src/stripe/server/internal/html.gen.ts +1 -1
  217. package/src/tempo/PublicExports.test-d.ts +20 -0
  218. package/src/tempo/internal/fee-payer.ts +7 -3
  219. package/src/tempo/internal/types.ts +13 -2
  220. package/src/tempo/legacy/client/ChannelOps.test.ts +7 -0
  221. package/src/tempo/legacy/client/ChannelOps.ts +2 -1
  222. package/src/tempo/legacy/server/Defaults.test-d.ts +9 -0
  223. package/src/tempo/legacy/server/Session.ts +6 -5
  224. package/src/tempo/server/Charge.test.ts +337 -63
  225. package/src/tempo/server/Charge.ts +440 -270
  226. package/src/tempo/server/Methods.ts +16 -4
  227. package/src/tempo/server/Relay.test.ts +523 -0
  228. package/src/tempo/server/Relay.ts +288 -0
  229. package/src/tempo/server/SponsorBudget.test.ts +125 -0
  230. package/src/tempo/server/SponsorBudget.ts +213 -0
  231. package/src/tempo/server/Subscription.ts +6 -4
  232. package/src/tempo/server/index.ts +5 -1
  233. package/src/tempo/server/internal/html.gen.ts +1 -1
  234. package/src/tempo/session/README.md +201 -0
  235. package/src/tempo/session/Snapshot.ts +21 -0
  236. package/src/tempo/session/client/ChannelOps.test.ts +55 -0
  237. package/src/tempo/session/client/ChannelOps.ts +21 -3
  238. package/src/tempo/session/client/CredentialState.test.ts +2 -2
  239. package/src/tempo/session/client/CredentialState.ts +159 -16
  240. package/src/tempo/session/client/Runtime.test.ts +12 -0
  241. package/src/tempo/session/client/Runtime.ts +22 -0
  242. package/src/tempo/session/client/Session.test.ts +238 -5
  243. package/src/tempo/session/client/Session.ts +130 -41
  244. package/src/tempo/session/client/SessionManager.test.ts +239 -8
  245. package/src/tempo/session/client/SessionManager.ts +204 -54
  246. package/src/tempo/session/client/Transports.test.ts +181 -8
  247. package/src/tempo/session/client/Transports.ts +127 -45
  248. package/src/tempo/session/client/internal/SessionManager.ts +36 -0
  249. package/src/tempo/session/precompile/Chain.integration.test.ts +19 -1
  250. package/src/tempo/session/precompile/Chain.test.ts +223 -10
  251. package/src/tempo/session/precompile/Chain.ts +119 -12
  252. package/src/tempo/session/precompile/Channel.test.ts +9 -0
  253. package/src/tempo/session/precompile/Channel.ts +5 -0
  254. package/src/tempo/session/server/CredentialVerification.ts +18 -1
  255. package/src/tempo/session/server/MeteredStream.ts +12 -5
  256. package/src/tempo/session/server/RequestState.test.ts +47 -4
  257. package/src/tempo/session/server/RequestState.ts +15 -8
  258. package/src/tempo/session/server/Session.test.ts +461 -0
  259. package/src/tempo/session/server/Session.ts +31 -8
  260. package/src/tempo/session/server/Settlement.ts +45 -0
  261. package/src/tempo/session/server/Ws.test.ts +113 -0
  262. package/src/tempo/session/server/Ws.ts +2 -0
  263. package/src/tempo/session/server/index.ts +2 -0
  264. package/src/validation/core.ts +7 -1
  265. package/src/viem/Client.test.ts +44 -1
  266. package/src/viem/Client.ts +31 -17
@@ -1 +1 @@
1
- {"version":3,"file":"html.gen.js","sourceRoot":"","sources":["../../../../src/tempo/server/internal/html.gen.ts"],"names":[],"mappings":"AAAA,2BAA2B;AAC3B,MAAM,CAAC,MAAM,IAAI,GAAG,802pBAA802pB,CAAA"}
1
+ {"version":3,"file":"html.gen.js","sourceRoot":"","sources":["../../../../src/tempo/server/internal/html.gen.ts"],"names":[],"mappings":"AAAA,2BAA2B;AAC3B,MAAM,CAAC,MAAM,IAAI,GAAG,07qqBAA07qqB,CAAA"}
@@ -18,6 +18,15 @@ export type SessionSnapshot = {
18
18
  escrow: Address;
19
19
  /** Minimum cumulative authorization needed for the challenged request or stream continuation. */
20
20
  requiredCumulative: RawAmountString;
21
+ /** Highest client-signed voucher accepted by the server. */
22
+ highestVoucher?: {
23
+ /** Channel identifier bound into the voucher signature. */
24
+ channelId: Hex;
25
+ /** Cumulative authorization bound into the voucher signature. */
26
+ cumulativeAmount: RawAmountString;
27
+ /** Original client signature proving the accepted cumulative authorization. */
28
+ signature: Hex;
29
+ } | undefined;
21
30
  /** Amount already settled on-chain. */
22
31
  settled: RawAmountString;
23
32
  /** Amount consumed by delivered content according to server accounting. */
@@ -1 +1 @@
1
- {"version":3,"file":"Snapshot.d.ts","sourceRoot":"","sources":["../../../src/tempo/session/Snapshot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,MAAM,CAAA;AAIxD,OAAO,KAAK,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAElF,iFAAiF;AACjF,MAAM,MAAM,eAAe,GAAG;IAC5B,kFAAkF;IAClF,kBAAkB,EAAE,eAAe,CAAA;IACnC,uEAAuE;IACvE,OAAO,EAAE,MAAM,CAAA;IACf,iFAAiF;IACjF,SAAS,EAAE,GAAG,CAAA;IACd,kFAAkF;IAClF,gBAAgB,CAAC,EAAE,eAAe,GAAG,SAAS,CAAA;IAC9C,6EAA6E;IAC7E,OAAO,EAAE,eAAe,CAAA;IACxB,qFAAqF;IACrF,UAAU,EAAE,iBAAiB,CAAA;IAC7B,+DAA+D;IAC/D,MAAM,EAAE,OAAO,CAAA;IACf,iGAAiG;IACjG,kBAAkB,EAAE,eAAe,CAAA;IACnC,uCAAuC;IACvC,OAAO,EAAE,eAAe,CAAA;IACxB,2EAA2E;IAC3E,KAAK,EAAE,eAAe,CAAA;IACtB,2EAA2E;IAC3E,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAC3B,CAAA;AAmCD,+EAA+E;AAC/E,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,eAAe,GAAG,MAAM,CAEnE;AAED,kFAAkF;AAClF,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,eAAe,CAElE"}
1
+ {"version":3,"file":"Snapshot.d.ts","sourceRoot":"","sources":["../../../src/tempo/session/Snapshot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,MAAM,CAAA;AAIxD,OAAO,KAAK,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAElF,iFAAiF;AACjF,MAAM,MAAM,eAAe,GAAG;IAC5B,kFAAkF;IAClF,kBAAkB,EAAE,eAAe,CAAA;IACnC,uEAAuE;IACvE,OAAO,EAAE,MAAM,CAAA;IACf,iFAAiF;IACjF,SAAS,EAAE,GAAG,CAAA;IACd,kFAAkF;IAClF,gBAAgB,CAAC,EAAE,eAAe,GAAG,SAAS,CAAA;IAC9C,6EAA6E;IAC7E,OAAO,EAAE,eAAe,CAAA;IACxB,qFAAqF;IACrF,UAAU,EAAE,iBAAiB,CAAA;IAC7B,+DAA+D;IAC/D,MAAM,EAAE,OAAO,CAAA;IACf,iGAAiG;IACjG,kBAAkB,EAAE,eAAe,CAAA;IACnC,4DAA4D;IAC5D,cAAc,CAAC,EACX;QACE,2DAA2D;QAC3D,SAAS,EAAE,GAAG,CAAA;QACd,iEAAiE;QACjE,gBAAgB,EAAE,eAAe,CAAA;QACjC,+EAA+E;QAC/E,SAAS,EAAE,GAAG,CAAA;KACf,GACD,SAAS,CAAA;IACb,uCAAuC;IACvC,OAAO,EAAE,eAAe,CAAA;IACxB,2EAA2E;IAC3E,KAAK,EAAE,eAAe,CAAA;IACtB,2EAA2E;IAC3E,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAC3B,CAAA;AA6CD,+EAA+E;AAC/E,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,eAAe,GAAG,MAAM,CAEnE;AAED,kFAAkF;AAClF,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,eAAe,CAElE"}
@@ -3,6 +3,7 @@ import * as HeaderCodec from '../../internal/HeaderCodec.js';
3
3
  import * as z from '../../zod.js';
4
4
  const addressSchema = z.custom((value) => typeof value === 'string' && isAddress(value, { strict: false }));
5
5
  const hashSchema = z.custom((value) => typeof value === 'string' && /^0x[0-9a-fA-F]{64}$/.test(value));
6
+ const hexSchema = z.custom((value) => typeof value === 'string' && /^0x[0-9a-fA-F]+$/.test(value));
6
7
  const channelDescriptorSchema = z.object({
7
8
  authorizedSigner: addressSchema,
8
9
  expiringNonceHash: hashSchema,
@@ -20,6 +21,11 @@ const sessionSnapshotSchema = z.object({
20
21
  deposit: z.string(),
21
22
  descriptor: channelDescriptorSchema,
22
23
  escrow: addressSchema,
24
+ highestVoucher: z.optional(z.object({
25
+ channelId: hashSchema,
26
+ cumulativeAmount: z.string(),
27
+ signature: hexSchema,
28
+ })),
23
29
  requiredCumulative: z.string(),
24
30
  settled: z.string(),
25
31
  spent: z.string(),
@@ -1 +1 @@
1
- {"version":3,"file":"Snapshot.js","sourceRoot":"","sources":["../../../src/tempo/session/Snapshot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAA0B,MAAM,MAAM,CAAA;AAExD,OAAO,KAAK,WAAW,MAAM,+BAA+B,CAAA;AAC5D,OAAO,KAAK,CAAC,MAAM,cAAc,CAAA;AA6BjC,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAC5B,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,SAAS,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAC5E,CAAA;AACD,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,CACzB,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,CAC1E,CAAA;AAED,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,gBAAgB,EAAE,aAAa;IAC/B,iBAAiB,EAAE,UAAU;IAC7B,QAAQ,EAAE,aAAa;IACvB,KAAK,EAAE,aAAa;IACpB,KAAK,EAAE,aAAa;IACpB,IAAI,EAAE,UAAU;IAChB,KAAK,EAAE,aAAa;CACrB,CAAC,CAAA;AAEF,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE;IAC9B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,SAAS,EAAE,UAAU;IACrB,gBAAgB,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACxC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,UAAU,EAAE,uBAAuB;IACnC,MAAM,EAAE,aAAa;IACrB,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE;IAC9B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;CAC9B,CAAC,CAAA;AAEF,MAAM,qBAAqB,GAAG,WAAW,CAAC,UAAU,CAAC,qBAAqB,CAAC,CAAA;AAE3E,+EAA+E;AAC/E,MAAM,UAAU,iBAAiB,CAAC,QAAyB;IACzD,OAAO,qBAAqB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;AAC/C,CAAC;AAED,kFAAkF;AAClF,MAAM,UAAU,mBAAmB,CAAC,KAAa;IAC/C,OAAO,qBAAqB,CAAC,MAAM,CAAC,KAAK,CAAoB,CAAA;AAC/D,CAAC"}
1
+ {"version":3,"file":"Snapshot.js","sourceRoot":"","sources":["../../../src/tempo/session/Snapshot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAA0B,MAAM,MAAM,CAAA;AAExD,OAAO,KAAK,WAAW,MAAM,+BAA+B,CAAA;AAC5D,OAAO,KAAK,CAAC,MAAM,cAAc,CAAA;AAwCjC,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAC5B,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,SAAS,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAC5E,CAAA;AACD,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,CACzB,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,CAC1E,CAAA;AACD,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,CACxB,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CACvE,CAAA;AAED,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,gBAAgB,EAAE,aAAa;IAC/B,iBAAiB,EAAE,UAAU;IAC7B,QAAQ,EAAE,aAAa;IACvB,KAAK,EAAE,aAAa;IACpB,KAAK,EAAE,aAAa;IACpB,IAAI,EAAE,UAAU;IAChB,KAAK,EAAE,aAAa;CACrB,CAAC,CAAA;AAEF,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE;IAC9B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,SAAS,EAAE,UAAU;IACrB,gBAAgB,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACxC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,UAAU,EAAE,uBAAuB;IACnC,MAAM,EAAE,aAAa;IACrB,cAAc,EAAE,CAAC,CAAC,QAAQ,CACxB,CAAC,CAAC,MAAM,CAAC;QACP,SAAS,EAAE,UAAU;QACrB,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE;QAC5B,SAAS,EAAE,SAAS;KACrB,CAAC,CACH;IACD,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE;IAC9B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;CAC9B,CAAC,CAAA;AAEF,MAAM,qBAAqB,GAAG,WAAW,CAAC,UAAU,CAAC,qBAAqB,CAAC,CAAA;AAE3E,+EAA+E;AAC/E,MAAM,UAAU,iBAAiB,CAAC,QAAyB;IACzD,OAAO,qBAAqB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;AAC/C,CAAC;AAED,kFAAkF;AAClF,MAAM,UAAU,mBAAmB,CAAC,KAAa;IAC/C,OAAO,qBAAqB,CAAC,MAAM,CAAC,KAAK,CAAoB,CAAA;AAC/D,CAAC"}
@@ -13,6 +13,10 @@ import { type Account, type Address, type Client } from 'viem';
13
13
  import type { Challenge } from '../../../Challenge.js';
14
14
  import * as Channel from '../precompile/Channel.js';
15
15
  import type { CloseCredentialPayload, OpenCredentialPayload, SessionCredentialPayload, TopUpCredentialPayload, VoucherCredentialPayload } from '../precompile/Protocol.js';
16
+ export type TempoChannelCall = {
17
+ to: Address;
18
+ data: Hex.Hex;
19
+ };
16
20
  /** Client-side cached channel metadata used for automatic voucher management. */
17
21
  export type ChannelEntry = {
18
22
  /** TIP-1034 channel ID derived from descriptor, escrow, and chain ID. */
@@ -70,6 +74,8 @@ export declare function createOpenPayload(client: Client, account: Account, para
70
74
  initialAmount: bigint;
71
75
  operator?: Address | undefined;
72
76
  payee: Address;
77
+ /** Calls executed atomically before the channel is opened. */
78
+ prefixCalls?: readonly TempoChannelCall[] | undefined;
73
79
  token: Address;
74
80
  }): Promise<OpenCredentialPayload>;
75
81
  /**
@@ -77,5 +83,5 @@ export declare function createOpenPayload(client: Client, account: Account, para
77
83
  *
78
84
  * @see https://tips.sh/1034-1#execution-semantics
79
85
  */
80
- export declare function createTopUpPayload(client: Client, account: Account, descriptor: Channel.ChannelDescriptor, additionalDeposit: bigint, chainId: number, feePayer?: boolean | undefined, escrow?: Address): Promise<TopUpCredentialPayload>;
86
+ export declare function createTopUpPayload(client: Client, account: Account, descriptor: Channel.ChannelDescriptor, additionalDeposit: bigint, chainId: number, feePayer?: boolean | undefined, escrow?: Address, prefixCalls?: readonly TempoChannelCall[]): Promise<TopUpCredentialPayload>;
81
87
  //# sourceMappingURL=ChannelOps.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChannelOps.d.ts","sourceRoot":"","sources":["../../../../src/tempo/session/client/ChannelOps.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ChannelOps.d.ts","sourceRoot":"","sources":["../../../../src/tempo/session/client/ChannelOps.ts"],"names":[],"mappings":"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"}
@@ -27,20 +27,32 @@ function readOptionalAddress(value) {
27
27
  function readAccessKeyAddress(account) {
28
28
  return readOptionalAddress(account.accessKeyAddress);
29
29
  }
30
+ /** Returns random past seconds to distinguish otherwise-identical expiring transactions. */
31
+ function randomValidAfter() {
32
+ const now = BigInt(Math.floor(Date.now() / 1_000));
33
+ const latest = now - 60n;
34
+ if (latest <= 0n)
35
+ return 0;
36
+ return Number(BigInt(Hex.random(8)) % latest);
37
+ }
30
38
  /** Resolves the voucher authority address for a client account. */
31
39
  export function resolveAuthorizedSigner(account) {
32
40
  return readAccessKeyAddress(account) ?? account.address;
33
41
  }
34
42
  async function prepareTempoChannelTransaction(client, parameters) {
35
- const { account, calls, feePayer, feeToken } = parameters;
43
+ const { account, calls, feePayer, feeToken, validAfter } = parameters;
44
+ // Session management transactions are independent and short-lived, so they
45
+ // always use TIP-1009 expiring nonces. `feePayer` controls sponsorship only.
36
46
  // viem's stable transaction request type does not yet expose Tempo's
37
47
  // `calls`, `feePayer`, and `feeToken` fields together. Keep the cast at
38
48
  // this boundary so session credential builders stay typed.
39
49
  return prepareTransactionRequest(client, {
40
50
  account,
41
51
  calls,
52
+ nonceKey: 'expiring',
42
53
  ...(feePayer ? { feePayer: true } : {}),
43
54
  feeToken,
55
+ ...(validAfter !== undefined ? { validAfter } : {}),
44
56
  });
45
57
  }
46
58
  async function signPreparedTempoTransaction(client, prepared) {
@@ -125,7 +137,7 @@ export async function createOpenPayload(client, account, parameters) {
125
137
  });
126
138
  const prepared = await prepareTempoChannelTransaction(client, {
127
139
  account,
128
- calls: [{ to: escrow, data: openData }],
140
+ calls: [...(parameters.prefixCalls ?? []), { to: escrow, data: openData }],
129
141
  feePayer: parameters.feePayer,
130
142
  feeToken: parameters.token,
131
143
  });
@@ -166,7 +178,7 @@ export async function createOpenPayload(client, account, parameters) {
166
178
  *
167
179
  * @see https://tips.sh/1034-1#execution-semantics
168
180
  */
169
- export async function createTopUpPayload(client, account, descriptor, additionalDeposit, chainId, feePayer, escrow = tip20ChannelEscrow) {
181
+ export async function createTopUpPayload(client, account, descriptor, additionalDeposit, chainId, feePayer, escrow = tip20ChannelEscrow, prefixCalls = []) {
170
182
  const channelId = Channel.computeId({
171
183
  ...descriptor,
172
184
  chainId,
@@ -176,6 +188,7 @@ export async function createTopUpPayload(client, account, descriptor, additional
176
188
  const prepared = await prepareTempoChannelTransaction(client, {
177
189
  account,
178
190
  calls: [
191
+ ...prefixCalls,
179
192
  {
180
193
  to: escrow,
181
194
  data: encodeFunctionData({
@@ -187,6 +200,7 @@ export async function createTopUpPayload(client, account, descriptor, additional
187
200
  ],
188
201
  feePayer,
189
202
  feeToken: descriptor.token,
203
+ validAfter: randomValidAfter(),
190
204
  });
191
205
  const transaction = await signPreparedTempoTransaction(client, prepared);
192
206
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"ChannelOps.js","sourceRoot":"","sources":["../../../../src/tempo/session/client/ChannelOps.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ChannelOps.js","sourceRoot":"","sources":["../../../../src/tempo/session/client/ChannelOps.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import { type Account as ViemAccount, type Address, type Client, type Hex } from
2
2
  import type * as Challenge from '../../../Challenge.js';
3
3
  import * as Account from '../../../viem/Account.js';
4
4
  import * as z from '../../../zod.js';
5
+ import * as AutoSwap from '../../internal/auto-swap.js';
5
6
  import * as Chain from '../precompile/Chain.js';
6
7
  import * as Channel from '../precompile/Channel.js';
7
8
  import type { SessionCredentialPayload } from '../precompile/Protocol.js';
@@ -19,11 +20,12 @@ export declare function readCredentialCumulativeAmount(payload: SessionCredentia
19
20
  /** Runtime schema for low-level TIP-1034 session credential context. */
20
21
  export declare const sessionContextSchema: z.ZodMiniObject<{
21
22
  account: z.ZodMiniOptional<z.ZodMiniCustom<`0x${string}` | Account.Account | undefined, `0x${string}` | Account.Account | undefined>>;
23
+ autoSwap: z.ZodMiniOptional<z.ZodMiniCustom<AutoSwap.resolve.Value, AutoSwap.resolve.Value>>;
22
24
  action: z.ZodMiniOptional<z.ZodMiniEnum<{
23
- close: "close";
24
25
  open: "open";
25
26
  topUp: "topUp";
26
27
  voucher: "voucher";
28
+ close: "close";
27
29
  }>>;
28
30
  channelId: z.ZodMiniOptional<z.ZodMiniCustom<`0x${string}`, `0x${string}`>>;
29
31
  cumulativeAmount: z.ZodMiniOptional<z.ZodMiniString<string>>;
@@ -38,6 +40,8 @@ export declare const sessionContextSchema: z.ZodMiniObject<{
38
40
  export type SessionContext = {
39
41
  /** Optional account override used for this credential only. */
40
42
  account?: Account.getResolver.Parameters['account'] | undefined;
43
+ /** Automatically acquire the session currency from fallback stablecoins before open/top-up. */
44
+ autoSwap?: AutoSwap.resolve.Value | undefined;
41
45
  /** Manual credential action. Omit for automatic open/recover/voucher management. */
42
46
  action?: 'open' | 'topUp' | 'voucher' | 'close' | undefined;
43
47
  /** Channel ID being reused or manually operated on. */
@@ -193,6 +197,24 @@ export type ResolveRecoveredCumulativeParameters = {
193
197
  /** On-chain settled amount used when no local/server accounting is available. */
194
198
  settled: bigint;
195
199
  };
200
+ /** Inputs used to validate and hydrate a server-provided session snapshot. */
201
+ export type HydrateSessionSnapshotParameters = {
202
+ /** Account expected to own the channel and its voucher authority. */
203
+ account: ViemAccount;
204
+ /** Viem client used to read authoritative TIP-1034 channel state. */
205
+ client: Client;
206
+ /** Snapshot returned by an MPP server bootstrap. */
207
+ snapshot: SessionSnapshot;
208
+ /** Optional state reader for deterministic tests. */
209
+ readChannelState?: ReadReusableChannelState | undefined;
210
+ };
211
+ /** Validated client channel state reconstructed without local persistence. */
212
+ export type HydratedSessionSnapshot = {
213
+ /** Reusable channel entry safe to cache locally. */
214
+ entry: ChannelEntry;
215
+ /** Server-accounted delivered spend at bootstrap time. */
216
+ spent: bigint;
217
+ };
196
218
  /** Data-first description of the next credential operation the client should execute. */
197
219
  export type CredentialPlan =
198
220
  /** No reusable channel is available, so create an open transaction and initial voucher. */
@@ -236,10 +258,12 @@ export declare function resolveReusableChannel(parameters: ResolveReusableChanne
236
258
  export declare function resolveRecoverContext(parameters: ResolveRecoverContextParameters): DescriptorSessionContext | undefined;
237
259
  /** Resolves a voucher boundary that can satisfy the resumed request. */
238
260
  export declare function resolveRecoveredCumulative(parameters: ResolveRecoveredCumulativeParameters): bigint;
261
+ /** Checks a server snapshot against its signed voucher and current TIP-1034 state. */
262
+ export declare function hydrateSessionSnapshot(parameters: HydrateSessionSnapshotParameters): Promise<HydratedSessionSnapshot>;
239
263
  /** Returns whether `account` can satisfy the descriptor's voucher authority. */
240
264
  export declare function canSignDescriptor(account: ViemAccount, descriptor: Channel.ChannelDescriptor): boolean;
241
265
  /** Chooses the next credential plan from local channel cache and optional caller context. */
242
266
  export declare function planCredential(parameters: PlanCredentialParameters): CredentialPlan;
243
267
  /** Executes a credential plan and returns the concrete session credential payload. */
244
- export declare function executeCredentialPlan(plan: CredentialPlan, sink: ChannelSink): Promise<SessionCredentialPayload>;
268
+ export declare function executeCredentialPlan(plan: CredentialPlan, sink: ChannelSink, autoSwap?: AutoSwap.resolve.Resolved | false): Promise<SessionCredentialPayload>;
245
269
  //# sourceMappingURL=CredentialState.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CredentialState.d.ts","sourceRoot":"","sources":["../../../../src/tempo/session/client/CredentialState.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CredentialState.d.ts","sourceRoot":"","sources":["../../../../src/tempo/session/client/CredentialState.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,10 @@
1
1
  import { isAddress, parseUnits, } from 'viem';
2
2
  import * as Constants from '../../../Constants.js';
3
3
  import * as z from '../../../zod.js';
4
+ import * as AutoSwap from '../../internal/auto-swap.js';
4
5
  import * as Chain from '../precompile/Chain.js';
5
6
  import * as Channel from '../precompile/Channel.js';
7
+ import * as Voucher from '../precompile/Voucher.js';
6
8
  import { createClosePayload, createOpenPayload, createTopUpPayload, createVoucherPayload, isSameAddress, resolveAuthorizedSigner, resolveEscrow, } from './ChannelOps.js';
7
9
  import { channelKey, entryKey } from './ChannelStore.js';
8
10
  import { assertWithinMaxDeposit, resolveOpeningDeposit } from './Runtime.js';
@@ -49,6 +51,7 @@ const hashSchema = z.custom((value) => typeof value === 'string' && /^0x[0-9a-fA
49
51
  /** Runtime schema for low-level TIP-1034 session credential context. */
50
52
  export const sessionContextSchema = z.object({
51
53
  account: z.optional(z.custom()),
54
+ autoSwap: z.optional(z.custom()),
52
55
  action: z.optional(z.enum(['open', 'topUp', 'voucher', 'close'])),
53
56
  channelId: z.optional(hashSchema),
54
57
  cumulativeAmount: z.optional(z.amount()),
@@ -180,7 +183,7 @@ function assertReusableChannelDescriptor(parameters) {
180
183
  throw new Error('context descriptor token does not match challenge');
181
184
  if (!isSameAddress(descriptor.payer, payer))
182
185
  throw new Error('context descriptor payer does not match account');
183
- if (!isSameAddress(descriptor.authorizedSigner, authorizedSigner))
186
+ if (!isSameAddress(Channel.resolveAuthorizedSigner(descriptor), authorizedSigner))
184
187
  throw new Error('context descriptor authorizedSigner does not match account');
185
188
  }
186
189
  /** Resolves descriptor-based recovery data, preferring caller context over server hints. */
@@ -199,22 +202,80 @@ export function resolveRecoverContext(parameters) {
199
202
  export function resolveRecoveredCumulative(parameters) {
200
203
  const { context, decimals, requestAmount, snapshot, settled } = parameters;
201
204
  if (snapshot) {
202
- return BigInt(snapshot.spent) + requestAmount;
205
+ return [
206
+ BigInt(snapshot.acceptedCumulative),
207
+ BigInt(snapshot.requiredCumulative),
208
+ BigInt(snapshot.spent) + requestAmount,
209
+ settled,
210
+ ].reduce((highest, value) => (value > highest ? value : highest), 0n);
203
211
  }
204
212
  const contextCumulative = parseOptionalContextAmount(context, decimals, 'cumulativeAmount');
205
213
  if (contextCumulative !== undefined)
206
214
  return contextCumulative + requestAmount;
207
215
  return settled + requestAmount;
208
216
  }
217
+ /** Checks a server snapshot against its signed voucher and current TIP-1034 state. */
218
+ export async function hydrateSessionSnapshot(parameters) {
219
+ const { account, client, readChannelState, snapshot } = parameters;
220
+ const signed = snapshot.highestVoucher;
221
+ if (!signed)
222
+ throw new Error('session snapshot is missing its highest signed voucher');
223
+ if (signed.channelId.toLowerCase() !== snapshot.channelId.toLowerCase())
224
+ throw new Error('session snapshot voucher channelId does not match snapshot channelId');
225
+ const acceptedCumulative = BigInt(snapshot.acceptedCumulative);
226
+ const voucherCumulative = BigInt(signed.cumulativeAmount);
227
+ const requiredCumulative = BigInt(snapshot.requiredCumulative);
228
+ const snapshotDeposit = BigInt(snapshot.deposit);
229
+ const snapshotSettled = BigInt(snapshot.settled);
230
+ const spent = BigInt(snapshot.spent);
231
+ if (voucherCumulative !== acceptedCumulative)
232
+ throw new Error('session snapshot voucher amount does not match acceptedCumulative');
233
+ if (spent > acceptedCumulative)
234
+ throw new Error('session snapshot spent exceeds acceptedCumulative');
235
+ if (snapshotSettled > snapshotDeposit)
236
+ throw new Error('session snapshot settled amount exceeds deposit');
237
+ if (!Voucher.verifyVoucher(snapshot.escrow, snapshot.chainId, {
238
+ channelId: signed.channelId,
239
+ cumulativeAmount: voucherCumulative,
240
+ signature: signed.signature,
241
+ }, Channel.resolveAuthorizedSigner(snapshot.descriptor)))
242
+ throw new Error('session snapshot highest voucher signature is invalid');
243
+ const reusable = await resolveReusableChannel({
244
+ channelId: snapshot.channelId,
245
+ client,
246
+ descriptor: snapshot.descriptor,
247
+ expected: {
248
+ chainId: snapshot.chainId,
249
+ escrow: snapshot.escrow,
250
+ payee: snapshot.descriptor.payee,
251
+ payer: account.address,
252
+ authorizedSigner: resolveAuthorizedSigner(account),
253
+ token: snapshot.descriptor.token,
254
+ },
255
+ readChannelState,
256
+ });
257
+ const cumulativeAmount = [acceptedCumulative, requiredCumulative, reusable.state.settled].reduce((highest, value) => (value > highest ? value : highest), 0n);
258
+ if (cumulativeAmount > reusable.state.deposit)
259
+ throw new Error('recovered session cumulative amount exceeds on-chain channel deposit');
260
+ return {
261
+ entry: {
262
+ channelId: reusable.channelId,
263
+ cumulativeAmount,
264
+ deposit: reusable.state.deposit,
265
+ descriptor: snapshot.descriptor,
266
+ escrow: snapshot.escrow,
267
+ chainId: snapshot.chainId,
268
+ opened: true,
269
+ },
270
+ spent,
271
+ };
272
+ }
209
273
  /** Returns whether `account` can satisfy the descriptor's voucher authority. */
210
274
  export function canSignDescriptor(account, descriptor) {
211
275
  // Only the payer can deposit into and voucher against its own channel.
212
276
  if (!isSameAddress(account.address, descriptor.payer))
213
277
  return false;
214
- const authority = descriptor.authorizedSigner;
215
- if (BigInt(authority) === 0n || isSameAddress(authority, descriptor.payer))
216
- return true;
217
- return isSameAddress(resolveAuthorizedSigner(account), authority);
278
+ return isSameAddress(resolveAuthorizedSigner(account), Channel.resolveAuthorizedSigner(descriptor));
218
279
  }
219
280
  /** Chooses the next credential plan from local channel cache and optional caller context. */
220
281
  export function planCredential(parameters) {
@@ -248,19 +309,30 @@ export function planCredential(parameters) {
248
309
  return { type: 'open', account, context, maxDeposit, resolved };
249
310
  }
250
311
  /** Executes a credential plan and returns the concrete session credential payload. */
251
- export async function executeCredentialPlan(plan, sink) {
312
+ export async function executeCredentialPlan(plan, sink, autoSwap = false) {
252
313
  switch (plan.type) {
253
314
  case 'open':
254
- return open(plan, sink);
315
+ return open(plan, sink, autoSwap);
255
316
  case 'recover':
256
317
  return recover(plan, sink);
257
318
  case 'voucher':
258
319
  return voucher(plan, sink);
259
320
  case 'manual':
260
- return manual(plan, sink);
321
+ return manual(plan, sink, autoSwap);
261
322
  }
262
323
  }
263
- async function open(plan, sink) {
324
+ async function resolveAutoSwapCalls(autoSwap, parameters) {
325
+ if (!autoSwap)
326
+ return undefined;
327
+ return (await AutoSwap.findCalls(parameters.client, {
328
+ account: parameters.account,
329
+ amountOut: parameters.amountOut,
330
+ tokenOut: parameters.tokenOut,
331
+ tokenIn: autoSwap.tokenIn,
332
+ slippage: autoSwap.slippage,
333
+ }));
334
+ }
335
+ async function open(plan, sink, autoSwap) {
264
336
  const { account, resolved } = plan;
265
337
  const deposit = resolveOpeningDeposit({
266
338
  contextDepositRaw: plan.context?.depositRaw,
@@ -276,6 +348,12 @@ async function open(plan, sink) {
276
348
  initialAmount: resolved.amount,
277
349
  operator: resolved.operator,
278
350
  payee: resolved.payee,
351
+ prefixCalls: await resolveAutoSwapCalls(autoSwap, {
352
+ account: account.address,
353
+ amountOut: deposit,
354
+ client: resolved.client,
355
+ tokenOut: resolved.token,
356
+ }),
279
357
  token: resolved.token,
280
358
  });
281
359
  await storeChannelEntry(sink, {
@@ -336,7 +414,7 @@ async function voucher(plan, sink) {
336
414
  await storeChannelEntry(sink, entry);
337
415
  return payload;
338
416
  }
339
- async function manual(plan, sink) {
417
+ async function manual(plan, sink, autoSwap) {
340
418
  const { account, context, decimals, resolved } = plan;
341
419
  const { descriptor } = context;
342
420
  const channelId = Channel.computeId({
@@ -360,16 +438,16 @@ async function manual(plan, sink) {
360
438
  decimals,
361
439
  descriptor,
362
440
  resolved,
363
- });
441
+ }, autoSwap);
364
442
  await applyCumulative(sink, resolved.key, payload);
365
443
  return payload;
366
444
  }
367
- async function executeManualCredential(parameters) {
445
+ async function executeManualCredential(parameters, autoSwap) {
368
446
  switch (parameters.context.action) {
369
447
  case 'open':
370
448
  return manualOpen(parameters);
371
449
  case 'topUp':
372
- return manualTopUp(parameters);
450
+ return manualTopUp(parameters, autoSwap);
373
451
  case 'voucher':
374
452
  return manualVoucher(parameters);
375
453
  case 'close':
@@ -393,7 +471,7 @@ async function manualOpen(parameters) {
393
471
  authorizedSigner: descriptor.authorizedSigner,
394
472
  };
395
473
  }
396
- async function manualTopUp(parameters) {
474
+ async function manualTopUp(parameters, autoSwap) {
397
475
  const { account, channelId, context, decimals, descriptor, resolved } = parameters;
398
476
  const additionalDeposit = requireContextAmount(context, decimals, 'additionalDeposit', 'topUp');
399
477
  if (context.transaction) {
@@ -406,7 +484,12 @@ async function manualTopUp(parameters) {
406
484
  additionalDeposit: additionalDeposit.toString(),
407
485
  };
408
486
  }
409
- return createTopUpPayload(resolved.client, account, descriptor, additionalDeposit, resolved.chainId, resolved.feePayer, resolved.escrow);
487
+ return createTopUpPayload(resolved.client, account, descriptor, additionalDeposit, resolved.chainId, resolved.feePayer, resolved.escrow, await resolveAutoSwapCalls(autoSwap, {
488
+ account: account.address,
489
+ amountOut: additionalDeposit,
490
+ client: resolved.client,
491
+ tokenOut: resolved.token,
492
+ }));
410
493
  }
411
494
  function manualVoucher(parameters) {
412
495
  const { account, context, decimals, descriptor, resolved } = parameters;
@@ -1 +1 @@
1
- {"version":3,"file":"CredentialState.js","sourceRoot":"","sources":["../../../../src/tempo/session/client/CredentialState.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CredentialState.js","sourceRoot":"","sources":["../../../../src/tempo/session/client/CredentialState.ts"],"names":[],"mappings":"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"}
@@ -263,6 +263,14 @@ export declare function nextSpentFromReceipt(parameters: NextReceiptSpendParamet
263
263
  export declare function parseManagerAmount(amount: string | bigint, decimals: number): bigint;
264
264
  /** Resolves the opening deposit from explicit context, server hint, request amount, and local cap. */
265
265
  export declare function resolveOpeningDeposit(parameters: ResolveOpeningDepositParameters): bigint;
266
+ /** Resolves a bounded automatic refill, preferring explicit policy over server headroom. */
267
+ export declare function resolveAutomaticTopUp(parameters: {
268
+ deposit: bigint;
269
+ maxDeposit?: bigint | null | undefined;
270
+ requiredCumulative: bigint;
271
+ suggestedDeposit?: bigint | undefined;
272
+ topUpAmount?: bigint | null | undefined;
273
+ }): bigint;
266
274
  /** Enforces the optional client-side maximum cumulative voucher authorization. */
267
275
  export declare function assertWithinMaxDeposit(cumulativeAmount: bigint, maxDeposit: bigint | undefined): void;
268
276
  /** Predicate used when waiting for a specific session receipt. */