mppx 0.7.0 → 0.8.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 (278) hide show
  1. package/CHANGELOG.md +33 -0
  2. package/README.md +20 -11
  3. package/dist/Challenge.d.ts.map +1 -1
  4. package/dist/Challenge.js +18 -6
  5. package/dist/Challenge.js.map +1 -1
  6. package/dist/Mcp.d.ts +3 -0
  7. package/dist/Mcp.d.ts.map +1 -1
  8. package/dist/Mcp.js +2 -0
  9. package/dist/Mcp.js.map +1 -1
  10. package/dist/PaymentRequest.d.ts +10 -10
  11. package/dist/PaymentRequest.js +8 -8
  12. package/dist/client/Mppx.js +2 -2
  13. package/dist/client/Mppx.js.map +1 -1
  14. package/dist/client/Transport.d.ts +11 -16
  15. package/dist/client/Transport.d.ts.map +1 -1
  16. package/dist/client/Transport.js +55 -75
  17. package/dist/client/Transport.js.map +1 -1
  18. package/dist/client/index.d.ts +3 -0
  19. package/dist/client/index.d.ts.map +1 -1
  20. package/dist/client/index.js +1 -0
  21. package/dist/client/index.js.map +1 -1
  22. package/dist/client/internal/Fetch.d.ts.map +1 -1
  23. package/dist/client/internal/Fetch.js +46 -7
  24. package/dist/client/internal/Fetch.js.map +1 -1
  25. package/dist/client/internal/protocols/Mcp.d.ts +7 -0
  26. package/dist/client/internal/protocols/Mcp.d.ts.map +1 -0
  27. package/dist/client/internal/protocols/Mcp.js +159 -0
  28. package/dist/client/internal/protocols/Mcp.js.map +1 -0
  29. package/dist/client/internal/protocols/Mpp.d.ts +4 -0
  30. package/dist/client/internal/protocols/Mpp.d.ts.map +1 -0
  31. package/dist/client/internal/protocols/Mpp.js +18 -0
  32. package/dist/client/internal/protocols/Mpp.js.map +1 -0
  33. package/dist/client/internal/protocols/Protocol.d.ts +10 -0
  34. package/dist/client/internal/protocols/Protocol.d.ts.map +1 -0
  35. package/dist/client/internal/protocols/Protocol.js +2 -0
  36. package/dist/client/internal/protocols/Protocol.js.map +1 -0
  37. package/dist/client/internal/protocols/Shared.d.ts +5 -0
  38. package/dist/client/internal/protocols/Shared.d.ts.map +1 -0
  39. package/dist/client/internal/protocols/Shared.js +20 -0
  40. package/dist/client/internal/protocols/Shared.js.map +1 -0
  41. package/dist/client/internal/protocols/X402.d.ts +8 -0
  42. package/dist/client/internal/protocols/X402.d.ts.map +1 -0
  43. package/dist/client/internal/protocols/X402.js +39 -0
  44. package/dist/client/internal/protocols/X402.js.map +1 -0
  45. package/dist/evm/client/index.d.ts +1 -0
  46. package/dist/evm/client/index.d.ts.map +1 -1
  47. package/dist/evm/client/index.js +1 -0
  48. package/dist/evm/client/index.js.map +1 -1
  49. package/dist/evm/index.d.ts +2 -0
  50. package/dist/evm/index.d.ts.map +1 -1
  51. package/dist/evm/index.js +2 -0
  52. package/dist/evm/index.js.map +1 -1
  53. package/dist/evm/server/index.d.ts +1 -0
  54. package/dist/evm/server/index.d.ts.map +1 -1
  55. package/dist/evm/server/index.js +1 -0
  56. package/dist/evm/server/index.js.map +1 -1
  57. package/dist/mcp/client/McpClient.d.ts +101 -0
  58. package/dist/mcp/client/McpClient.d.ts.map +1 -0
  59. package/dist/mcp/client/McpClient.js +162 -0
  60. package/dist/mcp/client/McpClient.js.map +1 -0
  61. package/dist/mcp/client/index.d.ts.map +1 -0
  62. package/dist/mcp/client/index.js.map +1 -0
  63. package/dist/mcp/server/Transport.d.ts.map +1 -0
  64. package/dist/mcp/server/Transport.js.map +1 -0
  65. package/dist/mcp/server/index.d.ts.map +1 -0
  66. package/dist/mcp/server/index.js.map +1 -0
  67. package/dist/server/Mppx.d.ts +1 -1
  68. package/dist/server/Mppx.d.ts.map +1 -1
  69. package/dist/server/Mppx.js +9 -0
  70. package/dist/server/Mppx.js.map +1 -1
  71. package/dist/server/Transport.d.ts +1 -1
  72. package/dist/server/Transport.d.ts.map +1 -1
  73. package/dist/server/Transport.js +1 -1
  74. package/dist/server/Transport.js.map +1 -1
  75. package/dist/stripe/server/internal/html.gen.d.ts +1 -1
  76. package/dist/stripe/server/internal/html.gen.d.ts.map +1 -1
  77. package/dist/stripe/server/internal/html.gen.js +1 -1
  78. package/dist/stripe/server/internal/html.gen.js.map +1 -1
  79. package/dist/tempo/Proof.d.ts +85 -1
  80. package/dist/tempo/Proof.d.ts.map +1 -1
  81. package/dist/tempo/Proof.js +35 -0
  82. package/dist/tempo/Proof.js.map +1 -1
  83. package/dist/tempo/client/Charge.d.ts +13 -1
  84. package/dist/tempo/client/Charge.d.ts.map +1 -1
  85. package/dist/tempo/client/Charge.js +38 -25
  86. package/dist/tempo/client/Charge.js.map +1 -1
  87. package/dist/tempo/client/Methods.d.ts +5 -3
  88. package/dist/tempo/client/Methods.d.ts.map +1 -1
  89. package/dist/tempo/client/Methods.js +4 -2
  90. package/dist/tempo/client/Methods.js.map +1 -1
  91. package/dist/tempo/client/ResolveAccount.d.ts +40 -0
  92. package/dist/tempo/client/ResolveAccount.d.ts.map +1 -0
  93. package/dist/tempo/client/ResolveAccount.js +2 -0
  94. package/dist/tempo/client/ResolveAccount.js.map +1 -0
  95. package/dist/tempo/internal/fee-payer.d.ts +9 -1
  96. package/dist/tempo/internal/fee-payer.d.ts.map +1 -1
  97. package/dist/tempo/internal/fee-payer.js +35 -6
  98. package/dist/tempo/internal/fee-payer.js.map +1 -1
  99. package/dist/tempo/internal/proof.d.ts +71 -5
  100. package/dist/tempo/internal/proof.d.ts.map +1 -1
  101. package/dist/tempo/internal/proof.js +42 -6
  102. package/dist/tempo/internal/proof.js.map +1 -1
  103. package/dist/tempo/legacy/client/SessionManager.d.ts.map +1 -1
  104. package/dist/tempo/legacy/client/SessionManager.js +10 -3
  105. package/dist/tempo/legacy/client/SessionManager.js.map +1 -1
  106. package/dist/tempo/server/Charge.d.ts.map +1 -1
  107. package/dist/tempo/server/Charge.js +42 -18
  108. package/dist/tempo/server/Charge.js.map +1 -1
  109. package/dist/tempo/server/Methods.d.ts +4 -2
  110. package/dist/tempo/server/Methods.d.ts.map +1 -1
  111. package/dist/tempo/server/Methods.js +4 -2
  112. package/dist/tempo/server/Methods.js.map +1 -1
  113. package/dist/tempo/server/Subscription.d.ts +10 -0
  114. package/dist/tempo/server/Subscription.d.ts.map +1 -1
  115. package/dist/tempo/server/Subscription.js +135 -23
  116. package/dist/tempo/server/Subscription.js.map +1 -1
  117. package/dist/tempo/server/internal/html.gen.d.ts +1 -1
  118. package/dist/tempo/server/internal/html.gen.d.ts.map +1 -1
  119. package/dist/tempo/server/internal/html.gen.js +1 -1
  120. package/dist/tempo/server/internal/html.gen.js.map +1 -1
  121. package/dist/tempo/session/client/ChannelOps.d.ts +2 -3
  122. package/dist/tempo/session/client/ChannelOps.d.ts.map +1 -1
  123. package/dist/tempo/session/client/ChannelOps.js +7 -10
  124. package/dist/tempo/session/client/ChannelOps.js.map +1 -1
  125. package/dist/tempo/session/client/ChannelStore.d.ts +51 -0
  126. package/dist/tempo/session/client/ChannelStore.d.ts.map +1 -0
  127. package/dist/tempo/session/client/ChannelStore.js +63 -0
  128. package/dist/tempo/session/client/ChannelStore.js.map +1 -0
  129. package/dist/tempo/session/client/CredentialState.d.ts +7 -24
  130. package/dist/tempo/session/client/CredentialState.d.ts.map +1 -1
  131. package/dist/tempo/session/client/CredentialState.js +51 -49
  132. package/dist/tempo/session/client/CredentialState.js.map +1 -1
  133. package/dist/tempo/session/client/Session.d.ts +8 -2
  134. package/dist/tempo/session/client/Session.d.ts.map +1 -1
  135. package/dist/tempo/session/client/Session.js +22 -8
  136. package/dist/tempo/session/client/Session.js.map +1 -1
  137. package/dist/tempo/session/client/SessionManager.d.ts +4 -40
  138. package/dist/tempo/session/client/SessionManager.d.ts.map +1 -1
  139. package/dist/tempo/session/client/SessionManager.js +124 -174
  140. package/dist/tempo/session/client/SessionManager.js.map +1 -1
  141. package/dist/tempo/session/client/index.d.ts +3 -4
  142. package/dist/tempo/session/client/index.d.ts.map +1 -1
  143. package/dist/tempo/session/client/index.js +1 -0
  144. package/dist/tempo/session/client/index.js.map +1 -1
  145. package/dist/tempo/session/precompile/Voucher.d.ts +3 -3
  146. package/dist/tempo/session/precompile/Voucher.d.ts.map +1 -1
  147. package/dist/tempo/session/precompile/Voucher.js +24 -25
  148. package/dist/tempo/session/precompile/Voucher.js.map +1 -1
  149. package/dist/tempo/session/server/Settlement.d.ts.map +1 -1
  150. package/dist/tempo/session/server/Settlement.js +4 -2
  151. package/dist/tempo/session/server/Settlement.js.map +1 -1
  152. package/dist/tempo/session/server/Sse.d.ts.map +1 -1
  153. package/dist/tempo/session/server/Sse.js.map +1 -1
  154. package/dist/tempo/session/server/Ws.d.ts.map +1 -1
  155. package/dist/tempo/session/server/Ws.js.map +1 -1
  156. package/dist/tempo/subscription/KeyAuthorization.d.ts +712 -1
  157. package/dist/tempo/subscription/KeyAuthorization.d.ts.map +1 -1
  158. package/dist/tempo/subscription/Store.d.ts +2 -0
  159. package/dist/tempo/subscription/Store.d.ts.map +1 -1
  160. package/dist/tempo/subscription/Store.js +16 -1
  161. package/dist/tempo/subscription/Store.js.map +1 -1
  162. package/dist/x402/index.d.ts +1 -0
  163. package/dist/x402/index.d.ts.map +1 -1
  164. package/dist/x402/index.js +1 -0
  165. package/dist/x402/index.js.map +1 -1
  166. package/package.json +21 -10
  167. package/src/Challenge.test.ts +40 -0
  168. package/src/Challenge.ts +19 -6
  169. package/src/Mcp.ts +4 -0
  170. package/src/PaymentRequest.ts +10 -10
  171. package/src/cli/cli.test.ts +15 -15
  172. package/src/client/Mppx.test-d.ts +21 -1
  173. package/src/client/Mppx.test.ts +1 -1
  174. package/src/client/Mppx.ts +2 -2
  175. package/src/client/Transport.test.ts +225 -178
  176. package/src/client/Transport.ts +77 -83
  177. package/src/client/index.ts +14 -0
  178. package/src/client/internal/Fetch.test.ts +207 -2
  179. package/src/client/internal/Fetch.ts +52 -6
  180. package/src/client/internal/protocols/Mcp.test.ts +220 -0
  181. package/src/client/internal/protocols/Mcp.ts +162 -0
  182. package/src/client/internal/protocols/Mpp.ts +21 -0
  183. package/src/client/internal/protocols/Protocol.ts +10 -0
  184. package/src/client/internal/protocols/Shared.ts +25 -0
  185. package/src/client/internal/protocols/X402.ts +42 -0
  186. package/src/discovery/OpenApi.test.ts +1 -1
  187. package/src/evm/PublicInterface.test-d.ts +1 -1
  188. package/src/evm/client/index.ts +1 -0
  189. package/src/evm/index.ts +2 -0
  190. package/src/evm/server/Charge.test.ts +1 -1
  191. package/src/evm/server/index.ts +1 -0
  192. package/src/{mcp-sdk → mcp}/client/McpClient.integration.test.ts +10 -4
  193. package/src/{mcp-sdk → mcp}/client/McpClient.test-d.ts +45 -18
  194. package/src/{mcp-sdk → mcp}/client/McpClient.test.ts +211 -5
  195. package/src/mcp/client/McpClient.ts +307 -0
  196. package/src/{mcp-sdk → mcp}/client/McpClient.unit.test.ts +9 -5
  197. package/src/middlewares/elysia.test.ts +1 -1
  198. package/src/middlewares/express.test.ts +1 -1
  199. package/src/middlewares/hono.test.ts +1 -1
  200. package/src/middlewares/internal/mppx.test.ts +1 -1
  201. package/src/middlewares/nextjs.test.ts +1 -1
  202. package/src/proxy/Proxy.test.ts +1 -1
  203. package/src/proxy/services/anthropic.test.ts +1 -1
  204. package/src/proxy/services/openai.test.ts +1 -1
  205. package/src/proxy/services/stripe.test.ts +1 -1
  206. package/src/server/Mppx.authorize.test.ts +1 -1
  207. package/src/server/Mppx.test-d.ts +1 -1
  208. package/src/server/Mppx.test.ts +20 -2
  209. package/src/server/Mppx.ts +14 -1
  210. package/src/server/Transport.test.ts +6 -6
  211. package/src/server/Transport.ts +1 -1
  212. package/src/stripe/Charge.integration.test.ts +1 -1
  213. package/src/stripe/client/Charge.test.ts +1 -1
  214. package/src/stripe/server/Charge.test.ts +1 -1
  215. package/src/stripe/server/internal/html/package.json +1 -1
  216. package/src/stripe/server/internal/html.gen.ts +1 -1
  217. package/src/tempo/Proof.conformance.test.ts +146 -0
  218. package/src/tempo/Proof.test-d.ts +15 -0
  219. package/src/tempo/Proof.ts +52 -1
  220. package/src/tempo/Subscription.integration.test.ts +1 -1
  221. package/src/tempo/client/Charge.test.ts +173 -0
  222. package/src/tempo/client/Charge.ts +65 -36
  223. package/src/tempo/client/Methods.ts +4 -2
  224. package/src/tempo/client/ResolveAccount.ts +46 -0
  225. package/src/tempo/internal/fee-payer.test.ts +65 -10
  226. package/src/tempo/internal/fee-payer.ts +42 -6
  227. package/src/tempo/internal/proof.test.ts +12 -4
  228. package/src/tempo/internal/proof.ts +55 -6
  229. package/src/tempo/legacy/client/SessionManager.ts +11 -3
  230. package/src/tempo/legacy/server/Session.test.ts +91 -26
  231. package/src/tempo/server/Charge.test.ts +388 -17
  232. package/src/tempo/server/Charge.ts +46 -24
  233. package/src/tempo/server/Methods.ts +4 -2
  234. package/src/tempo/server/Subscription.test.ts +465 -3
  235. package/src/tempo/server/Subscription.ts +174 -19
  236. package/src/tempo/server/internal/html/package.json +2 -2
  237. package/src/tempo/server/internal/html.gen.ts +1 -1
  238. package/src/tempo/session/client/ChannelOps.ts +5 -19
  239. package/src/tempo/session/client/ChannelStore.ts +111 -0
  240. package/src/tempo/session/client/CredentialState.test.ts +206 -62
  241. package/src/tempo/session/client/CredentialState.ts +58 -73
  242. package/src/tempo/session/client/Session.test.ts +41 -1
  243. package/src/tempo/session/client/Session.ts +36 -10
  244. package/src/tempo/session/client/SessionManager.test.ts +154 -65
  245. package/src/tempo/session/client/SessionManager.ts +141 -235
  246. package/src/tempo/session/client/index.ts +8 -5
  247. package/src/tempo/session/precompile/Voucher.test.ts +45 -7
  248. package/src/tempo/session/precompile/Voucher.ts +27 -25
  249. package/src/tempo/session/server/Session.test.ts +4 -4
  250. package/src/tempo/session/server/Settlement.test.ts +88 -1
  251. package/src/tempo/session/server/Settlement.ts +2 -1
  252. package/src/tempo/session/server/Sse.ts +0 -2
  253. package/src/tempo/session/server/Ws.ts +0 -4
  254. package/src/tempo/subscription/Store.ts +27 -9
  255. package/src/x402/Exact.e2e.test.ts +1 -1
  256. package/src/x402/PublicInterface.test-d.ts +1 -1
  257. package/src/x402/index.ts +1 -0
  258. package/dist/mcp-sdk/client/McpClient.d.ts +0 -85
  259. package/dist/mcp-sdk/client/McpClient.d.ts.map +0 -1
  260. package/dist/mcp-sdk/client/McpClient.js +0 -118
  261. package/dist/mcp-sdk/client/McpClient.js.map +0 -1
  262. package/dist/mcp-sdk/client/index.d.ts.map +0 -1
  263. package/dist/mcp-sdk/client/index.js.map +0 -1
  264. package/dist/mcp-sdk/server/Transport.d.ts.map +0 -1
  265. package/dist/mcp-sdk/server/Transport.js.map +0 -1
  266. package/dist/mcp-sdk/server/index.d.ts.map +0 -1
  267. package/dist/mcp-sdk/server/index.js.map +0 -1
  268. package/src/mcp-sdk/client/McpClient.ts +0 -228
  269. /package/dist/{mcp-sdk → mcp}/client/index.d.ts +0 -0
  270. /package/dist/{mcp-sdk → mcp}/client/index.js +0 -0
  271. /package/dist/{mcp-sdk → mcp}/server/Transport.d.ts +0 -0
  272. /package/dist/{mcp-sdk → mcp}/server/Transport.js +0 -0
  273. /package/dist/{mcp-sdk → mcp}/server/index.d.ts +0 -0
  274. /package/dist/{mcp-sdk → mcp}/server/index.js +0 -0
  275. /package/src/{mcp-sdk → mcp}/client/index.ts +0 -0
  276. /package/src/{mcp-sdk → mcp}/server/Transport.test.ts +0 -0
  277. /package/src/{mcp-sdk → mcp}/server/Transport.ts +0 -0
  278. /package/src/{mcp-sdk → mcp}/server/index.ts +0 -0
@@ -1,5 +1,5 @@
1
1
  import * as SignatureEnvelope from 'ox/tempo/SignatureEnvelope';
2
- import { decodeFunctionData, formatUnits, hashTypedData, keccak256, parseEventLogs, } from 'viem';
2
+ import { decodeFunctionData, formatUnits, keccak256, parseEventLogs, } from 'viem';
3
3
  import { getTransactionReceipt, sendRawTransaction, sendRawTransactionSync, signTransaction, verifyTypedData, call as viem_call, } from 'viem/actions';
4
4
  import { Abis, Actions, Transaction } from 'viem/tempo';
5
5
  import { tempo as tempo_chain } from 'viem/tempo/chains';
@@ -226,11 +226,15 @@ export function charge(parameters = {}) {
226
226
  throw new MismatchError('Proof credential source is invalid.', {});
227
227
  }
228
228
  const valid = await verifyTypedData(client, {
229
+ // Bind verification to the claimed payer (`source.address`): the
230
+ // signer may be the payer itself or an access key authorized for it.
229
231
  address: source.address,
230
- domain: Proof.domain(resolvedChainId),
231
- types: Proof.types,
232
- primaryType: 'Proof',
233
- message: Proof.message(challenge.id, challenge.realm),
232
+ ...Proof.typedData({
233
+ account: source.address,
234
+ chainId: resolvedChainId,
235
+ challengeId: challenge.id,
236
+ realm: challenge.realm,
237
+ }),
234
238
  signature: payload.signature,
235
239
  });
236
240
  if (!valid) {
@@ -311,6 +315,9 @@ export function charge(parameters = {}) {
311
315
  const allowedFeeTokens = FeePayer.defaultAllowedFeeTokens(chainId);
312
316
  if (isFeePayerTx)
313
317
  FeePayer.assertAllowedFeeToken(transaction, allowedFeeTokens);
318
+ // Request for the pre-broadcast simulation; for sponsored payments
319
+ // this is overwritten below with the co-signed shape.
320
+ let simulationRequest = FeePayer.simulationTransaction(transaction, { feePayer: isFeePayerTx });
314
321
  const serializedTransaction_final = await (async () => {
315
322
  if (feePayerAccount && methodDetails?.feePayer !== false) {
316
323
  const sponsored = FeePayer.prepareSponsoredTransaction({
@@ -325,18 +332,41 @@ export function charge(parameters = {}) {
325
332
  feeToken: transaction.feeToken ?? defaults.tokens.pathUsd,
326
333
  },
327
334
  });
335
+ // `account` is the sender (eth_call `from`); `feePayer` is the
336
+ // sponsor that pays gas.
337
+ simulationRequest = {
338
+ ...sponsored,
339
+ account: transaction.from,
340
+ feePayer: feePayerAccount.address,
341
+ feePayerSignature: undefined,
342
+ signature: undefined,
343
+ };
328
344
  return signTransaction(client, sponsored);
329
345
  }
330
- if (feePayerUrl && isFeePayerTx)
331
- return FeePayer.fillHostedFeePayerTransaction({
346
+ if (feePayerUrl && isFeePayerTx) {
347
+ const hosted = await FeePayer.fillHostedFeePayerTransaction({
332
348
  allowedFeeTokens,
333
349
  transaction,
334
350
  url: feePayerUrl,
335
351
  });
352
+ // Simulate the co-signed envelope (concrete fee payer + chosen
353
+ // fee token), mirroring the local-sponsor path.
354
+ simulationRequest = {
355
+ ...transaction,
356
+ account: transaction.from,
357
+ feePayer: hosted.feePayer,
358
+ feePayerSignature: undefined,
359
+ feeToken: hosted.feeToken,
360
+ signature: undefined,
361
+ };
362
+ return hosted.serializedTransaction;
363
+ }
336
364
  return serializedTransaction;
337
365
  })();
366
+ // Pre-broadcast simulation: fail closed before broadcast so the
367
+ // sponsor never pays gas for a transaction that would revert.
368
+ await viem_call(client, simulationRequest);
338
369
  if (waitForConfirmation) {
339
- await viem_call(client, FeePayer.simulationTransaction(transaction, { feePayer: isFeePayerTx }));
340
370
  const receipt = await sendRawTransactionSync(client, {
341
371
  serializedTransaction: serializedTransaction_final,
342
372
  });
@@ -363,10 +393,9 @@ export function charge(parameters = {}) {
363
393
  releaseReservation = false;
364
394
  return toReceipt(receipt);
365
395
  }
366
- // Optimistic path: simulate to catch obvious reverts, then broadcast
367
- // without waiting for on-chain confirmation. The returned receipt
368
- // assumes success — callers opt into this risk via waitForConfirmation: false.
369
- await viem_call(client, FeePayer.simulationTransaction(transaction, { feePayer: isFeePayerTx }));
396
+ // Optimistic path: broadcast without waiting for confirmation
397
+ // (simulation above already ran). The returned receipt assumes
398
+ // success — callers opt in via waitForConfirmation: false.
370
399
  const reference = await sendRawTransaction(client, {
371
400
  serializedTransaction: serializedTransaction_final,
372
401
  });
@@ -690,12 +719,7 @@ function recoverAuthorizedProofSigner(parameters) {
690
719
  const { chainId, challengeId, realm, signature, sourceAddress } = parameters;
691
720
  try {
692
721
  const envelope = SignatureEnvelope.from(signature);
693
- const proofHash = hashTypedData({
694
- domain: Proof.domain(chainId),
695
- types: Proof.types,
696
- primaryType: 'Proof',
697
- message: Proof.message(challengeId, realm),
698
- });
722
+ const proofHash = Proof.hash({ account: sourceAddress, chainId, challengeId, realm });
699
723
  if (envelope.type === 'keychain') {
700
724
  if (!TempoAddress.isEqual(envelope.userAddress, sourceAddress))
701
725
  return null;
@@ -1 +1 @@
1
- {"version":3,"file":"Charge.js","sourceRoot":"","sources":["../../../src/tempo/server/Charge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Charge.js","sourceRoot":"","sources":["../../../src/tempo/server/Charge.ts"],"names":[],"mappings":"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"}
@@ -12,14 +12,14 @@ export declare const sessionLegacy: typeof createSessionLegacyMethod & {
12
12
  /** Settles a legacy contract-backed Tempo session channel. */
13
13
  export declare const settleLegacy: typeof settleLegacy_;
14
14
  /**
15
- * Creates both Tempo `charge` and `session` methods from shared parameters.
15
+ * Creates the common Tempo `charge` and `session` methods from shared parameters.
16
16
  *
17
17
  * @example
18
18
  * ```ts
19
19
  * import { Mppx, tempo } from 'mppx/server'
20
20
  *
21
21
  * const mppx = Mppx.create({
22
- * methods: [tempo({ currency: '0x...', recipient: '0x...' })],
22
+ * methods: [tempo.common({ currency: '0x...', recipient: '0x...' })],
23
23
  * })
24
24
  * ```
25
25
  */
@@ -204,6 +204,8 @@ export declare namespace tempo {
204
204
  type Parameters = charge_.Parameters & session_.Parameters;
205
205
  /** Creates a Tempo `charge` method for one-time TIP-20 token transfers. */
206
206
  const charge: typeof charge_;
207
+ /** Creates the common Tempo `charge` and `session` methods from shared parameters. */
208
+ const common: typeof tempo;
207
209
  /** Creates a TIP-1034 Tempo `session` method for session-based TIP-20 token payments. */
208
210
  const session: typeof session_ & {
209
211
  charge: typeof sessionCharge_;
@@ -1 +1 @@
1
- {"version":3,"file":"Methods.d.ts","sourceRoot":"","sources":["../../../src/tempo/server/Methods.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,IAAI,aAAa,EAAE,MAAM,2BAA2B,CAAA;AAC9F,OAAO,EACL,MAAM,IAAI,cAAc,EACxB,OAAO,IAAI,QAAQ,EACnB,MAAM,IAAI,OAAO,EACjB,WAAW,IAAI,YAAY,EAC5B,MAAM,8BAA8B,CAAA;AACrC,OAAO,KAAK,GAAG,MAAM,yBAAyB,CAAA;AAC9C,OAAO,EAAE,MAAM,IAAI,OAAO,EAAE,MAAM,aAAa,CAAA;AAC/C,OAAO,EAAE,KAAK,IAAI,kBAAkB,EAAE,YAAY,IAAI,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAQ9F,iBAAS,yBAAyB,CAChC,KAAK,CAAC,UAAU,SAAS,WAAW,CAAC,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,EAC1E,UAAU,CAAC,EAAE,UAAU,SAExB;AAOD,sEAAsE;AACtE,eAAO,MAAM,aAAa;;;CAAsB,CAAA;AAEhD,8DAA8D;AAC9D,eAAO,MAAM,YAAY,sBAAgB,CAAA;AAkBzC;;;;;;;;;;;GAWG;AACH,wBAAgB,KAAK,CAAC,KAAK,CAAC,UAAU,SAAS,KAAK,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6LAEvF;AAED,yBAAiB,KAAK,CAAC;IACrB,KAAY,UAAU,GAAG,OAAO,CAAC,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAA;IAEjE,2EAA2E;IACpE,MAAM,MAAM,gBAAU,CAAA;IAC7B,yFAAyF;IAClF,MAAM,OAAO;;;;KAAgB,CAAA;IACpC,gFAAgF;IACzE,MAAM,aAAa;;;KAAsB,CAAA;IAChD,iFAAiF;IAC1E,MAAM,YAAY,sBAAgB,CAAA;IACzC,6EAA6E;IACtE,MAAM,iBAAiB,2BAAqB,CAAA;IACnD,gFAAgF;IACzE,MAAM,MAAM,gBAAU,CAAA;IAC7B,uDAAuD;IAChD,MAAM,WAAW,qBAAe,CAAA;IACvC,yDAAyD;IAClD,MAAM,EAAE,YAAM,CAAA;CACtB"}
1
+ {"version":3,"file":"Methods.d.ts","sourceRoot":"","sources":["../../../src/tempo/server/Methods.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,IAAI,aAAa,EAAE,MAAM,2BAA2B,CAAA;AAC9F,OAAO,EACL,MAAM,IAAI,cAAc,EACxB,OAAO,IAAI,QAAQ,EACnB,MAAM,IAAI,OAAO,EACjB,WAAW,IAAI,YAAY,EAC5B,MAAM,8BAA8B,CAAA;AACrC,OAAO,KAAK,GAAG,MAAM,yBAAyB,CAAA;AAC9C,OAAO,EAAE,MAAM,IAAI,OAAO,EAAE,MAAM,aAAa,CAAA;AAC/C,OAAO,EAAE,KAAK,IAAI,kBAAkB,EAAE,YAAY,IAAI,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAQ9F,iBAAS,yBAAyB,CAChC,KAAK,CAAC,UAAU,SAAS,WAAW,CAAC,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,EAC1E,UAAU,CAAC,EAAE,UAAU,SAExB;AAOD,sEAAsE;AACtE,eAAO,MAAM,aAAa;;;CAAsB,CAAA;AAEhD,8DAA8D;AAC9D,eAAO,MAAM,YAAY,sBAAgB,CAAA;AAkBzC;;;;;;;;;;;GAWG;AACH,wBAAgB,KAAK,CAAC,KAAK,CAAC,UAAU,SAAS,KAAK,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6LAEvF;AAED,yBAAiB,KAAK,CAAC;IACrB,KAAY,UAAU,GAAG,OAAO,CAAC,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAA;IAEjE,2EAA2E;IACpE,MAAM,MAAM,gBAAU,CAAA;IAC7B,sFAAsF;IAC/E,MAAM,MAAM,cAAQ,CAAA;IAC3B,yFAAyF;IAClF,MAAM,OAAO;;;;KAAgB,CAAA;IACpC,gFAAgF;IACzE,MAAM,aAAa;;;KAAsB,CAAA;IAChD,iFAAiF;IAC1E,MAAM,YAAY,sBAAgB,CAAA;IACzC,6EAA6E;IACtE,MAAM,iBAAiB,2BAAqB,CAAA;IACnD,gFAAgF;IACzE,MAAM,MAAM,gBAAU,CAAA;IAC7B,uDAAuD;IAChD,MAAM,WAAW,qBAAe,CAAA;IACvC,yDAAyD;IAClD,MAAM,EAAE,YAAM,CAAA;CACtB"}
@@ -30,14 +30,14 @@ function createSessionMethod(parameters) {
30
30
  return sessionServer(parameters);
31
31
  }
32
32
  /**
33
- * Creates both Tempo `charge` and `session` methods from shared parameters.
33
+ * Creates the common Tempo `charge` and `session` methods from shared parameters.
34
34
  *
35
35
  * @example
36
36
  * ```ts
37
37
  * import { Mppx, tempo } from 'mppx/server'
38
38
  *
39
39
  * const mppx = Mppx.create({
40
- * methods: [tempo({ currency: '0x...', recipient: '0x...' })],
40
+ * methods: [tempo.common({ currency: '0x...', recipient: '0x...' })],
41
41
  * })
42
42
  * ```
43
43
  */
@@ -47,6 +47,8 @@ export function tempo(parameters) {
47
47
  (function (tempo) {
48
48
  /** Creates a Tempo `charge` method for one-time TIP-20 token transfers. */
49
49
  tempo.charge = charge_;
50
+ /** Creates the common Tempo `charge` and `session` methods from shared parameters. */
51
+ tempo.common = tempo;
50
52
  /** Creates a TIP-1034 Tempo `session` method for session-based TIP-20 token payments. */
51
53
  tempo.session = sessionServer;
52
54
  /** @deprecated Use `tempo.session()` for the TIP-1034 session server method. */
@@ -1 +1 @@
1
- {"version":3,"file":"Methods.js","sourceRoot":"","sources":["../../../src/tempo/server/Methods.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,IAAI,aAAa,EAAE,MAAM,2BAA2B,CAAA;AAC9F,OAAO,EACL,MAAM,IAAI,cAAc,EACxB,OAAO,IAAI,QAAQ,EACnB,MAAM,IAAI,OAAO,EACjB,WAAW,IAAI,YAAY,GAC5B,MAAM,8BAA8B,CAAA;AACrC,OAAO,KAAK,GAAG,MAAM,yBAAyB,CAAA;AAC9C,OAAO,EAAE,MAAM,IAAI,OAAO,EAAE,MAAM,aAAa,CAAA;AAC/C,OAAO,EAAE,KAAK,IAAI,kBAAkB,EAAE,YAAY,IAAI,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAE9F,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE;IAC5C,MAAM,EAAE,cAAc;IACtB,MAAM,EAAE,OAAO;IACf,WAAW,EAAE,YAAY;CAC1B,CAAC,CAAA;AAEF,SAAS,yBAAyB,CAEhC,UAAuB;IACvB,OAAO,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,UAAmB,CAAC,EAAE,EAAE,KAAK,EAAE,eAAwB,EAAE,CAAC,CAAA;AAChG,CAAC;AAED,MAAM,mBAAmB,GAAG,MAAM,CAAC,MAAM,CAAC,yBAAyB,EAAE;IACnE,MAAM,EAAE,aAAa;IACrB,EAAE,EAAE,GAAG;CACR,CAAC,CAAA;AAEF,sEAAsE;AACtE,MAAM,CAAC,MAAM,aAAa,GAAG,mBAAmB,CAAA;AAEhD,8DAA8D;AAC9D,MAAM,CAAC,MAAM,YAAY,GAAG,aAAa,CAAA;AAEzC,SAAS,kBAAkB,CACzB,UAAkC;IAElC,wEAAwE;IACxE,4EAA4E;IAC5E,uCAAuC;IACvC,OAAO,KAAK,CAAC,MAAM,CAAC,UAAgC,CAAC,CAAA;AACvD,CAAC;AAED,SAAS,mBAAmB,CAC1B,UAAkC;IAElC,8EAA8E;IAC9E,OAAO,aAAa,CAAC,UAAiC,CAAC,CAAA;AACzD,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,KAAK,CAA4C,UAAuB;IACtF,OAAO,CAAC,kBAAkB,CAAC,UAAU,CAAC,EAAE,mBAAmB,CAAC,UAAU,CAAC,CAAU,CAAA;AACnF,CAAC;AAED,WAAiB,KAAK;IAGpB,2EAA2E;IAC9D,YAAM,GAAG,OAAO,CAAA;IAC7B,yFAAyF;IAC5E,aAAO,GAAG,aAAa,CAAA;IACpC,gFAAgF;IACnE,mBAAa,GAAG,mBAAmB,CAAA;IAChD,iFAAiF;IACpE,kBAAY,GAAG,aAAa,CAAA;IACzC,6EAA6E;IAChE,uBAAiB,GAAG,kBAAkB,CAAA;IACnD,gFAAgF;IACnE,YAAM,GAAG,OAAO,CAAA;IAC7B,uDAAuD;IAC1C,iBAAW,GAAG,YAAY,CAAA;IACvC,yDAAyD;IAC5C,QAAE,GAAG,GAAG,CAAA;AACvB,CAAC,EAnBgB,KAAK,KAAL,KAAK,QAmBrB"}
1
+ {"version":3,"file":"Methods.js","sourceRoot":"","sources":["../../../src/tempo/server/Methods.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,IAAI,aAAa,EAAE,MAAM,2BAA2B,CAAA;AAC9F,OAAO,EACL,MAAM,IAAI,cAAc,EACxB,OAAO,IAAI,QAAQ,EACnB,MAAM,IAAI,OAAO,EACjB,WAAW,IAAI,YAAY,GAC5B,MAAM,8BAA8B,CAAA;AACrC,OAAO,KAAK,GAAG,MAAM,yBAAyB,CAAA;AAC9C,OAAO,EAAE,MAAM,IAAI,OAAO,EAAE,MAAM,aAAa,CAAA;AAC/C,OAAO,EAAE,KAAK,IAAI,kBAAkB,EAAE,YAAY,IAAI,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAE9F,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE;IAC5C,MAAM,EAAE,cAAc;IACtB,MAAM,EAAE,OAAO;IACf,WAAW,EAAE,YAAY;CAC1B,CAAC,CAAA;AAEF,SAAS,yBAAyB,CAEhC,UAAuB;IACvB,OAAO,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,UAAmB,CAAC,EAAE,EAAE,KAAK,EAAE,eAAwB,EAAE,CAAC,CAAA;AAChG,CAAC;AAED,MAAM,mBAAmB,GAAG,MAAM,CAAC,MAAM,CAAC,yBAAyB,EAAE;IACnE,MAAM,EAAE,aAAa;IACrB,EAAE,EAAE,GAAG;CACR,CAAC,CAAA;AAEF,sEAAsE;AACtE,MAAM,CAAC,MAAM,aAAa,GAAG,mBAAmB,CAAA;AAEhD,8DAA8D;AAC9D,MAAM,CAAC,MAAM,YAAY,GAAG,aAAa,CAAA;AAEzC,SAAS,kBAAkB,CACzB,UAAkC;IAElC,wEAAwE;IACxE,4EAA4E;IAC5E,uCAAuC;IACvC,OAAO,KAAK,CAAC,MAAM,CAAC,UAAgC,CAAC,CAAA;AACvD,CAAC;AAED,SAAS,mBAAmB,CAC1B,UAAkC;IAElC,8EAA8E;IAC9E,OAAO,aAAa,CAAC,UAAiC,CAAC,CAAA;AACzD,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,KAAK,CAA4C,UAAuB;IACtF,OAAO,CAAC,kBAAkB,CAAC,UAAU,CAAC,EAAE,mBAAmB,CAAC,UAAU,CAAC,CAAU,CAAA;AACnF,CAAC;AAED,WAAiB,KAAK;IAGpB,2EAA2E;IAC9D,YAAM,GAAG,OAAO,CAAA;IAC7B,sFAAsF;IACzE,YAAM,GAAG,KAAK,CAAA;IAC3B,yFAAyF;IAC5E,aAAO,GAAG,aAAa,CAAA;IACpC,gFAAgF;IACnE,mBAAa,GAAG,mBAAmB,CAAA;IAChD,iFAAiF;IACpE,kBAAY,GAAG,aAAa,CAAA;IACzC,6EAA6E;IAChE,uBAAiB,GAAG,kBAAkB,CAAA;IACnD,gFAAgF;IACnE,YAAM,GAAG,OAAO,CAAA;IAC7B,uDAAuD;IAC1C,iBAAW,GAAG,YAAY,CAAA;IACvC,yDAAyD;IAC5C,QAAE,GAAG,GAAG,CAAA;AACvB,CAAC,EArBgB,KAAK,KAAL,KAAK,QAqBrB"}
@@ -181,6 +181,11 @@ export declare namespace subscription {
181
181
  * Keeps concurrent renewal safe while allowing recovery from abandoned attempts.
182
182
  */
183
183
  renewalTimeoutMs?: number | undefined;
184
+ /**
185
+ * Requires a fresh subscription Credential even when a subscription is active.
186
+ * This binds access reuse to the stored payer instead of trusting request metadata alone.
187
+ */
188
+ requireCredential?: boolean | undefined;
184
189
  /**
185
190
  * Override the fee-payer policy for sponsored subscription payments.
186
191
  * Useful when the access key + key authorization tx requires more gas
@@ -223,6 +228,11 @@ export declare namespace subscription {
223
228
  resolve: (parameters: {
224
229
  input: Request;
225
230
  request: SubscriptionRequest;
231
+ /** Verified payer identity recovered from a signed subscription credential. */
232
+ source?: {
233
+ address: Address;
234
+ chainId: number;
235
+ } | undefined;
226
236
  }) => MaybePromise<ResolvedSubscription | null>;
227
237
  renew?: (parameters: {
228
238
  /** Stable idempotency/reconciliation reference persisted before the renewal hook runs. */
@@ -1 +1 @@
1
- {"version":3,"file":"Subscription.d.ts","sourceRoot":"","sources":["../../../src/tempo/server/Subscription.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Subscription.d.ts","sourceRoot":"","sources":["../../../src/tempo/server/Subscription.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { Base64 } from 'ox';
2
2
  import { KeyAuthorization } from 'ox/tempo';
3
- import { encodeFunctionData, isAddressEqual } from 'viem';
3
+ import { encodeFunctionData, isAddressEqual, parseEventLogs, } from 'viem';
4
4
  import { call as viem_call, prepareTransactionRequest, sendRawTransaction, sendRawTransactionSync, signTransaction, } from 'viem/actions';
5
5
  import { Abis, Account as TempoAccount, Transaction } from 'viem/tempo';
6
6
  import { tempo as tempo_chain } from 'viem/tempo/chains';
@@ -64,6 +64,8 @@ export function subscription(p) {
64
64
  }),
65
65
  },
66
66
  async authorize({ input, request }) {
67
+ if (parameters.requireCredential)
68
+ return undefined;
67
69
  const resolved = await parameters.resolve({ input, request });
68
70
  if (!resolved)
69
71
  return undefined;
@@ -132,15 +134,19 @@ export function subscription(p) {
132
134
  const input = requestFromCaptured(capturedRequest);
133
135
  const resolved = await parameters.resolve({ input, request: parsedRequest });
134
136
  const existing = resolved ? await store.getByKey(resolved.key) : null;
135
- const accessKey = resolved && !credential
136
- ? await resolveChallengeAccessKey({
137
- existing,
138
- input,
139
- parameters,
140
- request: parsedRequest,
141
- resolved,
142
- store,
143
- })
137
+ const accessKey = !credential
138
+ ? resolved
139
+ ? await resolveChallengeAccessKey({
140
+ existing,
141
+ input,
142
+ parameters,
143
+ request: parsedRequest,
144
+ resolved,
145
+ store,
146
+ })
147
+ : parameters.requireCredential && !parameters.activate
148
+ ? await createUnboundChallengeAccessKey({ store })
149
+ : undefined
144
150
  : (credentialRequest?.methodDetails?.accessKey ?? parsedRequest.methodDetails?.accessKey);
145
151
  if (!accessKey) {
146
152
  throw new VerificationFailedError({ reason: 'subscription accessKey is missing' });
@@ -164,14 +170,16 @@ export function subscription(p) {
164
170
  challengeExpires: credential.challenge.expires,
165
171
  request: parsedRequest,
166
172
  });
167
- const resolved = await parameters.resolve({ input, request: parsedRequest });
168
- if (!resolved) {
169
- throw new VerificationFailedError({ reason: 'subscription could not be resolved' });
170
- }
171
173
  const challengeRequest = credential.challenge.request;
172
- const accessKey = challengeRequest.methodDetails?.accessKey ??
173
- parsedRequest.methodDetails?.accessKey ??
174
- (await resolveAccessKey({ input, parameters, request: parsedRequest, resolved }));
174
+ let resolved = null;
175
+ let accessKey = challengeRequest.methodDetails?.accessKey ?? parsedRequest.methodDetails?.accessKey;
176
+ if (!accessKey) {
177
+ resolved = await parameters.resolve({ input, request: parsedRequest });
178
+ if (!resolved) {
179
+ throw new VerificationFailedError({ reason: 'subscription could not be resolved' });
180
+ }
181
+ accessKey = await resolveAccessKey({ input, parameters, request: parsedRequest, resolved });
182
+ }
175
183
  if (!accessKey) {
176
184
  throw new VerificationFailedError({ reason: 'subscription accessKey is missing' });
177
185
  }
@@ -189,9 +197,17 @@ export function subscription(p) {
189
197
  reason: 'credential source does not match signature',
190
198
  });
191
199
  }
200
+ resolved =
201
+ (await parameters.resolve({ input, request: parsedRequest, source: verified.source })) ??
202
+ resolved;
203
+ if (!resolved) {
204
+ throw new VerificationFailedError({ reason: 'subscription could not be resolved' });
205
+ }
192
206
  const activation = await store.activate({
193
207
  challengeId: credential.challenge.id,
194
- isReusable: (subscription) => isReusableSubscription(subscription, parsedRequest),
208
+ isReusable: (subscription) => parameters.requireCredential
209
+ ? isActiveSubscriptionForRequest(subscription, parsedRequest)
210
+ : isReusableSubscription(subscription, parsedRequest),
195
211
  lookupKey: resolved.key,
196
212
  async create() {
197
213
  const activation = withSubscriptionAccessKey(await activateSubscription({
@@ -235,7 +251,46 @@ export function subscription(p) {
235
251
  throw new VerificationFailedError({ reason: 'subscription activation claim mismatch' });
236
252
  }
237
253
  if (activation.status === 'existing') {
238
- return SubscriptionReceipt.fromRecord(activation.subscription);
254
+ const subscription = activation.subscription;
255
+ assertSubscriptionPayer(subscription, verified.source, {
256
+ required: parameters.requireCredential,
257
+ });
258
+ const periodIndex = getPeriodIndex(subscription);
259
+ if (periodIndex > subscription.lastChargedPeriod) {
260
+ const renew = resolveRenewalHandler({
261
+ feePayer,
262
+ feePayerPolicy,
263
+ getClient,
264
+ parameters,
265
+ store,
266
+ subscription,
267
+ waitForConfirmation,
268
+ });
269
+ if (!renew) {
270
+ throw new VerificationFailedError({ reason: 'subscription renewal is required' });
271
+ }
272
+ const renewal = await settleRenewal({
273
+ expectedLookupKey: resolved.key,
274
+ periodIndex,
275
+ renew,
276
+ request: parsedRequest,
277
+ store,
278
+ subscription,
279
+ });
280
+ if (!renewal) {
281
+ throw new VerificationFailedError({ reason: 'subscription renewal failed' });
282
+ }
283
+ if (renewal.status === 'charged' || renewal.status === 'inFlight') {
284
+ return renewal.receipt;
285
+ }
286
+ await parameters.hooks?.renewed?.({
287
+ periodIndex,
288
+ receipt: renewal.result.receipt,
289
+ subscription: renewal.result.subscription,
290
+ });
291
+ return renewal.result.receipt;
292
+ }
293
+ return SubscriptionReceipt.fromRecord(subscription);
239
294
  }
240
295
  await parameters.hooks?.activated?.({
241
296
  receipt: activation.result.receipt,
@@ -285,6 +340,13 @@ async function resolveChallengeAccessKey(parameters) {
285
340
  return ((await resolveAccessKey({ input, parameters: subscriptionParameters, request, resolved })) ??
286
341
  (existing && isActive(existing) ? existing.accessKey : undefined));
287
342
  }
343
+ async function createUnboundChallengeAccessKey(parameters) {
344
+ const accessKey = await parameters.store.getOrCreateAccessKey(`challenge:${createSubscriptionId()}`);
345
+ return {
346
+ accessKeyAddress: accessKey.accessKeyAddress,
347
+ keyType: accessKey.keyType,
348
+ };
349
+ }
288
350
  async function activateSubscription(parameters) {
289
351
  const { accessKey, auto, credential, input, parameters: subscriptionParameters, request, resolved, source, } = parameters;
290
352
  if (subscriptionParameters.activate) {
@@ -414,16 +476,30 @@ function isActive(subscription) {
414
476
  return false;
415
477
  return new Date(subscription.subscriptionExpires).getTime() > Date.now();
416
478
  }
479
+ function isActiveSubscriptionForRequest(subscription, request) {
480
+ return isActive(subscription) && subscriptionMatchesRequest(subscription, request);
481
+ }
417
482
  function isReusableSubscription(subscription, request) {
418
- return (isActive(subscription) &&
419
- getPeriodIndex(subscription) <= subscription.lastChargedPeriod &&
420
- subscriptionMatchesRequest(subscription, request));
483
+ return (isActiveSubscriptionForRequest(subscription, request) &&
484
+ getPeriodIndex(subscription) <= subscription.lastChargedPeriod);
421
485
  }
422
486
  function subscriptionMatchesRequest(subscription, request) {
423
487
  const actual = comparableSubscriptionBinding(subscription);
424
488
  const expected = comparableSubscriptionBinding(request);
425
489
  return Object.keys(expected).every((key) => actual[key] === expected[key]);
426
490
  }
491
+ function assertSubscriptionPayer(subscription, source, options) {
492
+ if (!subscription.payer) {
493
+ if (options?.required) {
494
+ throw new VerificationFailedError({ reason: 'subscription payer is missing' });
495
+ }
496
+ return;
497
+ }
498
+ if (subscription.payer.chainId !== source.chainId ||
499
+ !isAddressEqual(subscription.payer.address, source.address)) {
500
+ throw new VerificationFailedError({ reason: 'subscription payer mismatch' });
501
+ }
502
+ }
427
503
  function comparableSubscriptionBinding(value) {
428
504
  const chainId = 'chainId' in value ? value.chainId : value.methodDetails?.chainId;
429
505
  return {
@@ -558,7 +634,8 @@ function resolveRenewalHandler(parameters) {
558
634
  }
559
635
  async function submitSubscriptionPayment(parameters) {
560
636
  const { accessKey, feePayer, feePayerPolicy, getClient, keyAuthorization, lookupKey, request, settlementReference, source, store, waitForConfirmation, } = parameters;
561
- const stored = await store.getAccessKey(lookupKey);
637
+ const stored = (await store.getAccessKey(lookupKey)) ??
638
+ (await store.getAccessKeyByAddress(accessKey.accessKeyAddress));
562
639
  if (!stored) {
563
640
  throw new VerificationFailedError({ reason: 'subscription access key is missing' });
564
641
  }
@@ -633,6 +710,8 @@ async function submitSubscriptionPayment(parameters) {
633
710
  feePayerSignature: undefined,
634
711
  });
635
712
  if (!waitForConfirmation) {
713
+ // Optimistic mode has no receipt to inspect, so it cannot detect a T6
714
+ // (TIP-1028) held transfer. Use `waitForConfirmation: true` for T6-safe proof.
636
715
  return sendRawTransaction(client, {
637
716
  serializedTransaction: serializedTransaction,
638
717
  });
@@ -645,8 +724,41 @@ async function submitSubscriptionPayment(parameters) {
645
724
  reason: `subscription transaction reverted: ${receipt.transactionHash}`,
646
725
  });
647
726
  }
727
+ assertSubscriptionTransfer(receipt, {
728
+ amount: BigInt(request.amount),
729
+ currency: request.currency,
730
+ memo,
731
+ recipient: request.recipient,
732
+ });
648
733
  return receipt.transactionHash;
649
734
  }
735
+ /**
736
+ * Asserts a confirmed subscription payment credited the recipient.
737
+ *
738
+ * Transaction success alone is not proof: under Tempo T6 (TIP-1028) a recipient
739
+ * receive policy can hold the funds in `ReceivePolicyGuard` while the tx still
740
+ * succeeds. Settlement always emits one `transferWithMemo(recipient, amount,
741
+ * memo)`, so this requires a matching `TransferWithMemo` log on the expected
742
+ * token. A held transfer fails because its `to` is the guard, and the memo
743
+ * binding excludes unrelated transfer effects in the same receipt.
744
+ */
745
+ function assertSubscriptionTransfer(receipt, parameters) {
746
+ const { amount, currency, memo, recipient } = parameters;
747
+ const credited = parseEventLogs({
748
+ abi: Abis.tip20,
749
+ eventName: 'TransferWithMemo',
750
+ logs: receipt.logs,
751
+ }).some((log) => isAddressEqual(log.address, currency) &&
752
+ isAddressEqual(log.args.to, recipient) &&
753
+ log.args.amount === amount &&
754
+ log.args.memo.toLowerCase() === memo.toLowerCase());
755
+ if (!credited) {
756
+ throw new VerificationFailedError({
757
+ reason: `subscription transfer was not credited to the recipient ` +
758
+ `(funds may have been held by a receive policy): ${receipt.transactionHash}`,
759
+ });
760
+ }
761
+ }
650
762
  function createSubscriptionId() {
651
763
  const bytes = new Uint8Array(18);
652
764
  globalThis.crypto.getRandomValues(bytes);