mppx 0.8.13 → 0.8.15

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 (156) hide show
  1. package/CHANGELOG.md +37 -0
  2. package/dist/Errors.d.ts +10 -0
  3. package/dist/Errors.d.ts.map +1 -1
  4. package/dist/Errors.js +11 -2
  5. package/dist/Errors.js.map +1 -1
  6. package/dist/Method.d.ts +105 -3
  7. package/dist/Method.d.ts.map +1 -1
  8. package/dist/Method.js +102 -2
  9. package/dist/Method.js.map +1 -1
  10. package/dist/cli/validate/payment.d.ts.map +1 -1
  11. package/dist/cli/validate/payment.js +18 -4
  12. package/dist/cli/validate/payment.js.map +1 -1
  13. package/dist/client/internal/Fetch.d.ts.map +1 -1
  14. package/dist/client/internal/Fetch.js +98 -5
  15. package/dist/client/internal/Fetch.js.map +1 -1
  16. package/dist/client/internal/MethodChallenge.d.ts +19 -0
  17. package/dist/client/internal/MethodChallenge.d.ts.map +1 -0
  18. package/dist/client/internal/MethodChallenge.js +15 -0
  19. package/dist/client/internal/MethodChallenge.js.map +1 -0
  20. package/dist/client/internal/MethodResponse.d.ts +15 -0
  21. package/dist/client/internal/MethodResponse.d.ts.map +1 -1
  22. package/dist/client/internal/MethodResponse.js +10 -0
  23. package/dist/client/internal/MethodResponse.js.map +1 -1
  24. package/dist/server/Mppx.d.ts +23 -4
  25. package/dist/server/Mppx.d.ts.map +1 -1
  26. package/dist/server/Mppx.js +91 -82
  27. package/dist/server/Mppx.js.map +1 -1
  28. package/dist/stripe/server/internal/html.gen.d.ts +1 -1
  29. package/dist/stripe/server/internal/html.gen.d.ts.map +1 -1
  30. package/dist/stripe/server/internal/html.gen.js +1 -1
  31. package/dist/stripe/server/internal/html.gen.js.map +1 -1
  32. package/dist/tempo/client/Methods.d.ts +1 -0
  33. package/dist/tempo/client/Methods.d.ts.map +1 -1
  34. package/dist/tempo/internal/fee-payer.d.ts +1 -0
  35. package/dist/tempo/internal/fee-payer.d.ts.map +1 -1
  36. package/dist/tempo/internal/fee-payer.js +7 -2
  37. package/dist/tempo/internal/fee-payer.js.map +1 -1
  38. package/dist/tempo/legacy/client/ChannelOps.d.ts.map +1 -1
  39. package/dist/tempo/legacy/client/ChannelOps.js +2 -1
  40. package/dist/tempo/legacy/client/ChannelOps.js.map +1 -1
  41. package/dist/tempo/server/Charge.d.ts +46 -77
  42. package/dist/tempo/server/Charge.d.ts.map +1 -1
  43. package/dist/tempo/server/Charge.js +289 -209
  44. package/dist/tempo/server/Charge.js.map +1 -1
  45. package/dist/tempo/server/Methods.d.ts +12 -1
  46. package/dist/tempo/server/Methods.d.ts.map +1 -1
  47. package/dist/tempo/server/Methods.js +4 -0
  48. package/dist/tempo/server/Methods.js.map +1 -1
  49. package/dist/tempo/server/Relay.d.ts +57 -0
  50. package/dist/tempo/server/Relay.d.ts.map +1 -0
  51. package/dist/tempo/server/Relay.js +179 -0
  52. package/dist/tempo/server/Relay.js.map +1 -0
  53. package/dist/tempo/server/SponsorBudget.d.ts +59 -0
  54. package/dist/tempo/server/SponsorBudget.d.ts.map +1 -0
  55. package/dist/tempo/server/SponsorBudget.js +150 -0
  56. package/dist/tempo/server/SponsorBudget.js.map +1 -0
  57. package/dist/tempo/server/internal/html.gen.d.ts +1 -1
  58. package/dist/tempo/server/internal/html.gen.d.ts.map +1 -1
  59. package/dist/tempo/server/internal/html.gen.js +1 -1
  60. package/dist/tempo/server/internal/html.gen.js.map +1 -1
  61. package/dist/tempo/session/client/ChannelOps.d.ts +7 -1
  62. package/dist/tempo/session/client/ChannelOps.d.ts.map +1 -1
  63. package/dist/tempo/session/client/ChannelOps.js +9 -4
  64. package/dist/tempo/session/client/ChannelOps.js.map +1 -1
  65. package/dist/tempo/session/client/CredentialState.d.ts +5 -1
  66. package/dist/tempo/session/client/CredentialState.d.ts.map +1 -1
  67. package/dist/tempo/session/client/CredentialState.js +37 -19
  68. package/dist/tempo/session/client/CredentialState.js.map +1 -1
  69. package/dist/tempo/session/client/Runtime.d.ts +8 -0
  70. package/dist/tempo/session/client/Runtime.d.ts.map +1 -1
  71. package/dist/tempo/session/client/Runtime.js +17 -0
  72. package/dist/tempo/session/client/Runtime.js.map +1 -1
  73. package/dist/tempo/session/client/Session.d.ts +15 -5
  74. package/dist/tempo/session/client/Session.d.ts.map +1 -1
  75. package/dist/tempo/session/client/Session.js +216 -45
  76. package/dist/tempo/session/client/Session.js.map +1 -1
  77. package/dist/tempo/session/client/SessionManager.d.ts +8 -1
  78. package/dist/tempo/session/client/SessionManager.d.ts.map +1 -1
  79. package/dist/tempo/session/client/SessionManager.js +114 -44
  80. package/dist/tempo/session/client/SessionManager.js.map +1 -1
  81. package/dist/tempo/session/client/Transports.d.ts +16 -6
  82. package/dist/tempo/session/client/Transports.d.ts.map +1 -1
  83. package/dist/tempo/session/client/Transports.js +84 -37
  84. package/dist/tempo/session/client/Transports.js.map +1 -1
  85. package/dist/tempo/session/precompile/Chain.d.ts.map +1 -1
  86. package/dist/tempo/session/precompile/Chain.js +96 -8
  87. package/dist/tempo/session/precompile/Chain.js.map +1 -1
  88. package/dist/tempo/session/precompile/Channel.d.ts +2 -0
  89. package/dist/tempo/session/precompile/Channel.d.ts.map +1 -1
  90. package/dist/tempo/session/precompile/Channel.js +4 -0
  91. package/dist/tempo/session/precompile/Channel.js.map +1 -1
  92. package/dist/tempo/session/server/RequestState.js +3 -1
  93. package/dist/tempo/session/server/RequestState.js.map +1 -1
  94. package/dist/tempo/session/server/Ws.d.ts.map +1 -1
  95. package/dist/tempo/session/server/Ws.js +3 -0
  96. package/dist/tempo/session/server/Ws.js.map +1 -1
  97. package/dist/tempo/subscription/KeyAuthorization.d.ts +1 -829
  98. package/dist/tempo/subscription/KeyAuthorization.d.ts.map +1 -1
  99. package/dist/tempo/subscription/KeyAuthorization.js +14 -3
  100. package/dist/tempo/subscription/KeyAuthorization.js.map +1 -1
  101. package/dist/viem/Client.d.ts.map +1 -1
  102. package/dist/viem/Client.js +6 -1
  103. package/dist/viem/Client.js.map +1 -1
  104. package/package.json +2 -2
  105. package/src/Errors.test.ts +23 -0
  106. package/src/Errors.ts +21 -2
  107. package/src/Method.test.ts +102 -1
  108. package/src/Method.ts +241 -5
  109. package/src/cli/validate/payment.ts +18 -4
  110. package/src/cli/validate.test.ts +16 -0
  111. package/src/client/Mppx.test-d.ts +3 -3
  112. package/src/client/internal/Fetch.test.ts +77 -0
  113. package/src/client/internal/Fetch.ts +122 -11
  114. package/src/client/internal/MethodChallenge.ts +35 -0
  115. package/src/client/internal/MethodResponse.ts +28 -0
  116. package/src/server/Mppx.test-d.ts +2 -0
  117. package/src/server/Mppx.test.ts +205 -0
  118. package/src/server/Mppx.ts +167 -103
  119. package/src/stripe/server/internal/html.gen.ts +1 -1
  120. package/src/tempo/PublicExports.test-d.ts +20 -0
  121. package/src/tempo/internal/fee-payer.ts +7 -3
  122. package/src/tempo/legacy/client/ChannelOps.test.ts +7 -0
  123. package/src/tempo/legacy/client/ChannelOps.ts +2 -1
  124. package/src/tempo/server/Charge.test.ts +337 -63
  125. package/src/tempo/server/Charge.ts +443 -267
  126. package/src/tempo/server/Methods.ts +11 -0
  127. package/src/tempo/server/Relay.test.ts +677 -0
  128. package/src/tempo/server/Relay.ts +297 -0
  129. package/src/tempo/server/SponsorBudget.test.ts +154 -0
  130. package/src/tempo/server/SponsorBudget.ts +219 -0
  131. package/src/tempo/server/internal/html.gen.ts +1 -1
  132. package/src/tempo/session/README.md +7 -0
  133. package/src/tempo/session/client/ChannelOps.test.ts +17 -2
  134. package/src/tempo/session/client/ChannelOps.ts +12 -4
  135. package/src/tempo/session/client/CredentialState.ts +61 -20
  136. package/src/tempo/session/client/Runtime.test.ts +12 -0
  137. package/src/tempo/session/client/Runtime.ts +22 -0
  138. package/src/tempo/session/client/Session.test.ts +506 -7
  139. package/src/tempo/session/client/Session.ts +279 -54
  140. package/src/tempo/session/client/SessionManager.test.ts +318 -13
  141. package/src/tempo/session/client/SessionManager.ts +132 -42
  142. package/src/tempo/session/client/Transports.test.ts +54 -1
  143. package/src/tempo/session/client/Transports.ts +137 -57
  144. package/src/tempo/session/precompile/Chain.integration.test.ts +19 -1
  145. package/src/tempo/session/precompile/Chain.test.ts +197 -10
  146. package/src/tempo/session/precompile/Chain.ts +102 -8
  147. package/src/tempo/session/precompile/Channel.test.ts +9 -0
  148. package/src/tempo/session/precompile/Channel.ts +5 -0
  149. package/src/tempo/session/server/RequestState.test.ts +8 -1
  150. package/src/tempo/session/server/RequestState.ts +2 -2
  151. package/src/tempo/session/server/Session.test.ts +66 -4
  152. package/src/tempo/session/server/Ws.ts +3 -0
  153. package/src/tempo/subscription/KeyAuthorization.test.ts +70 -1
  154. package/src/tempo/subscription/KeyAuthorization.ts +14 -3
  155. package/src/viem/Client.test.ts +18 -1
  156. package/src/viem/Client.ts +7 -1
@@ -17,6 +17,7 @@ export const WebSocketReadyState = {
17
17
  // Keep protocol/policy close codes on the server side and use an app-defined code here.
18
18
  /** Client-side close code used for payment protocol errors. */
19
19
  export const ClientWebSocketProtocolErrorCloseCode = 3008;
20
+ const webSocketChallengeRefreshWindowMs = 5_000;
20
21
  /** Wraps a raw WebSocket so protocol frames can be handled before user listeners see messages. */
21
22
  export function createManagedSocket(socket) {
22
23
  const listeners = new Map();
@@ -174,23 +175,24 @@ export function resolveManualTopUp(parameters) {
174
175
  /**
175
176
  * Applies local deposit and state bookkeeping for a top-up response.
176
177
  *
177
- * `deposit` is updated from the top-up amount. Receipt cumulative values only
178
- * update accepted spend authorization; they do not replace deposit.
178
+ * Deposit advances from the highest known baseline. Receipt cumulative values
179
+ * only update accepted spend authorization; they do not replace deposit.
179
180
  */
180
181
  export function applyTopUpResult(parameters) {
181
- const { additionalDeposit, channel, channelId, challengeId, currentState, receipt, spent } = parameters;
182
+ const { additionalDeposit, channel, channelId, challengeId, currentState, knownDeposit, receipt, spent, } = parameters;
182
183
  if (channel?.channelId !== channelId)
183
184
  return undefined;
184
- channel.deposit += additionalDeposit;
185
+ const baseline = knownDeposit !== undefined && knownDeposit > channel.deposit ? knownDeposit : channel.deposit;
186
+ const updated = { ...channel, deposit: baseline + additionalDeposit };
185
187
  if (receipt)
186
- return { channel, state: activeStateFromReceipt(receipt, channel) };
188
+ return { channel: updated, state: activeStateFromReceipt(receipt, updated) };
187
189
  if (!challengeId)
188
- return { channel };
190
+ return { channel: updated };
189
191
  return {
190
- channel,
192
+ channel: updated,
191
193
  state: activeStateFromChannel({
192
194
  challengeId,
193
- entry: channel,
195
+ entry: updated,
194
196
  spent: spent.toString(),
195
197
  units: currentState.status === 'active' ? currentState.units : 0,
196
198
  }),
@@ -234,6 +236,11 @@ export async function resolveNeedVoucherContext(parameters) {
234
236
  export function isTempoSessionChallenge(challenge) {
235
237
  return (challenge.method === Constants.Methods.tempo && challenge.intent === Constants.Intents.session);
236
238
  }
239
+ /** Returns true when a challenge selects the TIP-1034 session protocol. */
240
+ export function isTip1034SessionChallenge(challenge) {
241
+ return (isTempoSessionChallenge(challenge) &&
242
+ Constants.getMethodDetail(challenge.request.methodDetails, Constants.MethodDetailKeys.sessionProtocol) === Constants.SessionProtocols.v2);
243
+ }
237
244
  /** Reads a server-provided session snapshot from challenge method details. */
238
245
  export function getSessionSnapshot(challenge) {
239
246
  return Constants.getMethodDetail(challenge.request.methodDetails, Constants.MethodDetailKeys.sessionSnapshot);
@@ -296,21 +303,37 @@ export async function postTopUp(parameters) {
296
303
  if (!channel?.descriptor || channel.channelId !== channelId) {
297
304
  throw new Error('Cannot top up session: no local channel descriptor available.');
298
305
  }
299
- const credential = await parameters.createSessionCredential(parameters.challenge, {
300
- action: 'topUp',
301
- channelId,
302
- descriptor: channel.descriptor,
303
- additionalDepositRaw: parameters.additionalDeposit.toString(),
304
- });
305
- const response = await parameters.fetch(managementInput(parameters.input), {
306
- method: 'POST',
307
- headers: { [Constants.Headers.authorization]: credential },
306
+ const response = await postManagementCredential({
307
+ challenge: parameters.challenge,
308
+ context: {
309
+ action: 'topUp',
310
+ channelId,
311
+ descriptor: channel.descriptor,
312
+ additionalDepositRaw: parameters.additionalDeposit.toString(),
313
+ },
314
+ createSessionCredential: parameters.createSessionCredential,
315
+ fetch: parameters.fetch,
316
+ input: parameters.input,
308
317
  });
309
318
  if (!response.ok)
310
319
  throw new Error(`Top-up POST failed with status ${response.status}`);
311
320
  const receiptHeader = response.headers.get(Constants.Headers.paymentReceipt);
312
321
  return receiptHeader ? deserializeSessionReceipt(receiptHeader) : undefined;
313
322
  }
323
+ /** Posts a management credential and retries once with a refreshed TIP-1034 challenge. */
324
+ async function postManagementCredential(parameters) {
325
+ const post = async (challenge) => parameters.fetch(managementInput(parameters.input), {
326
+ method: 'POST',
327
+ headers: {
328
+ [Constants.Headers.authorization]: await parameters.createSessionCredential(challenge, parameters.context),
329
+ },
330
+ });
331
+ const response = await post(parameters.challenge);
332
+ if (response.status !== 402)
333
+ return response;
334
+ const challenge = Challenge.fromResponseList(response).find(isTip1034SessionChallenge);
335
+ return challenge ? post(challenge) : response;
336
+ }
314
337
  /** Retries an HTTP 402 when the server snapshot asks for more voucher headroom. */
315
338
  export async function retryHttpPaymentRequired(parameters) {
316
339
  const context = resolveRetryHttpPaymentContext({
@@ -337,21 +360,29 @@ export async function retryHttpPaymentRequired(parameters) {
337
360
  const cumulativeAmount = currentChannel.cumulativeAmount > requiredCumulative
338
361
  ? currentChannel.cumulativeAmount
339
362
  : requiredCumulative;
340
- const credential = await parameters.createSessionCredential(challenge, {
341
- action: 'voucher',
342
- channelId: snapshot.channelId,
343
- descriptor: currentChannel.descriptor,
344
- cumulativeAmountRaw: cumulativeAmount.toString(),
345
- });
346
- const retry = await parameters.fetch(parameters.input, requestInitWithAuthorization(parameters.input, parameters.init, credential));
363
+ const restore = () => parameters.restoreCumulative(snapshot.channelId, cumulativeBeforeVoucher);
364
+ let retry;
365
+ try {
366
+ const credential = await parameters.createSessionCredential(challenge, {
367
+ action: 'voucher',
368
+ channelId: snapshot.channelId,
369
+ descriptor: currentChannel.descriptor,
370
+ cumulativeAmountRaw: cumulativeAmount.toString(),
371
+ });
372
+ retry = await parameters.fetch(parameters.input, requestInitWithAuthorization(parameters.input, parameters.init, credential));
373
+ }
374
+ catch (error) {
375
+ await restore();
376
+ throw error;
377
+ }
347
378
  if (!retry.ok && !retry.headers.get(Constants.Headers.paymentReceipt)) {
348
- parameters.restoreCumulative(snapshot.channelId, cumulativeBeforeVoucher);
379
+ await restore();
349
380
  }
350
381
  return retry;
351
382
  }
352
383
  /** Resolves whether a 402 response can be handled by an automatic session voucher retry. */
353
384
  export function resolveRetryHttpPaymentContext(parameters) {
354
- const challenge = Challenge.fromResponseList(parameters.response).find(isTempoSessionChallenge);
385
+ const challenge = Challenge.fromResponseList(parameters.response).find(isTip1034SessionChallenge);
355
386
  if (!challenge)
356
387
  return undefined;
357
388
  const snapshot = getSessionSnapshot(challenge);
@@ -387,7 +418,7 @@ export async function closeHttpSession(parameters) {
387
418
  };
388
419
  let response = await postClose(parameters.target.challenge);
389
420
  if (response.status === 402) {
390
- const challenge = Challenge.fromResponseList(response).find(isTempoSessionChallenge);
421
+ const challenge = Challenge.fromResponseList(response).find(isTip1034SessionChallenge);
391
422
  if (challenge) {
392
423
  parameters.setChallenge?.(challenge);
393
424
  response = await postClose(challenge, true);
@@ -604,17 +635,19 @@ export async function handleSseNeedVoucher(parameters, event) {
604
635
  });
605
636
  if (resolution.status !== 'ready')
606
637
  return;
607
- const credential = await parameters.driver.createSessionCredential(parameters.challenge, resolution.context);
608
- const voucherResponse = await parameters.driver.fetch(parameters.driver.managementInput(parameters.input), {
609
- method: 'POST',
610
- headers: { [Constants.Headers.authorization]: credential },
638
+ const voucherResponse = await postManagementCredential({
639
+ challenge: parameters.challenge,
640
+ context: resolution.context,
641
+ createSessionCredential: parameters.driver.createSessionCredential,
642
+ fetch: parameters.driver.fetch,
643
+ input: parameters.input,
611
644
  });
612
645
  if (!voucherResponse.ok) {
613
646
  throw new Error(`Voucher POST failed with status ${voucherResponse.status}`);
614
647
  }
615
648
  }
616
- /** Probes a WebSocket endpoint over HTTP and creates the opening credential. */
617
- export async function prepareWebSocketSession(parameters) {
649
+ /** Probes a WebSocket endpoint over HTTP and returns its current session challenge. */
650
+ export async function probeWebSocketSession(parameters) {
618
651
  const wsUrl = new URL(parameters.input.toString());
619
652
  const httpUrl = webSocketProbeUrl(wsUrl);
620
653
  parameters.onProbeUrl?.(httpUrl);
@@ -625,17 +658,24 @@ export async function prepareWebSocketSession(parameters) {
625
658
  if (probe.status !== 402) {
626
659
  throw new Error(`Expected a 402 payment challenge from ${httpUrl}, received ${probe.status} instead.`);
627
660
  }
628
- const challenge = Challenge.fromResponseList(probe).find(isTempoSessionChallenge);
661
+ const challenge = Challenge.fromResponseList(probe).find(isTip1034SessionChallenge);
629
662
  if (!challenge) {
630
663
  throw new Error('No payment challenge received from HTTP endpoint for this WebSocket URL. The server may not require payment or did not advertise a challenge.');
631
664
  }
632
665
  return {
633
666
  challenge,
634
- credential: await parameters.createSessionCredential(challenge, {}),
635
667
  httpUrl,
636
668
  wsUrl,
637
669
  };
638
670
  }
671
+ /** Probes a WebSocket endpoint over HTTP and creates the opening credential. */
672
+ export async function prepareWebSocketSession(parameters) {
673
+ const probed = await probeWebSocketSession(parameters);
674
+ return {
675
+ ...probed,
676
+ credential: await parameters.createSessionCredential(probed.challenge, {}),
677
+ };
678
+ }
639
679
  /** Creates the initial runtime state for a paid WebSocket from its opening credential. */
640
680
  export function createActiveSocketSession(parameters) {
641
681
  const { challenge, credential, socket } = parameters;
@@ -804,9 +844,16 @@ function handleCloseReady(parameters, receipt) {
804
844
  }
805
845
  async function handleNeedVoucher(parameters, event) {
806
846
  try {
847
+ let challenge = parameters.driver.challenge;
848
+ if (challenge.expires &&
849
+ new Date(challenge.expires).getTime() <= Date.now() + webSocketChallengeRefreshWindowMs) {
850
+ challenge = await parameters.driver.refreshChallenge();
851
+ parameters.driver.challenge = challenge;
852
+ parameters.socketState.challenge = challenge;
853
+ }
807
854
  const resolution = await resolveNeedVoucherContext({
808
855
  assertVoucherWithinLocalLimit: parameters.driver.assertVoucherWithinLocalLimit,
809
- challenge: parameters.driver.challenge,
856
+ challenge,
810
857
  event,
811
858
  expectedChannelId: parameters.socketState.channelId,
812
859
  getChannel: parameters.driver.getChannel,
@@ -819,7 +866,7 @@ async function handleNeedVoucher(parameters, event) {
819
866
  : 'cannot create voucher: no active channel');
820
867
  return;
821
868
  }
822
- const voucher = await parameters.driver.createSessionCredential(parameters.driver.challenge, resolution.context);
869
+ const voucher = await parameters.driver.createSessionCredential(challenge, resolution.context);
823
870
  parameters.rawSocket.send(Ws.formatAuthorizationMessage(voucher));
824
871
  }
825
872
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"Transports.js","sourceRoot":"","sources":["../../../../src/tempo/session/client/Transports.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Transports.js","sourceRoot":"","sources":["../../../../src/tempo/session/client/Transports.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Chain.d.ts","sourceRoot":"","sources":["../../../../src/tempo/session/precompile/Chain.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Chain.d.ts","sourceRoot":"","sources":["../../../../src/tempo/session/precompile/Chain.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import { encodeFunctionData, isAddressEqual, parseEventLogs } from 'viem';
1
+ import { decodeFunctionData, encodeFunctionData, isAddressEqual, parseEventLogs } from 'viem';
2
2
  import { call, prepareTransactionRequest, readContract, sendRawTransaction, sendRawTransactionSync, sendTransaction as sendViemTransaction, signTransaction, waitForTransactionReceipt, } from 'viem/actions';
3
- import { Transaction } from 'viem/tempo';
3
+ import { Abis, Addresses, Transaction } from 'viem/tempo';
4
4
  import { BadRequestError, VerificationFailedError } from '../../../Errors.js';
5
5
  import * as FeePayer from '../../internal/fee-payer.js';
6
6
  import { resolveFeeToken } from '../../internal/fee-token.js';
@@ -188,11 +188,11 @@ function parsePrecompileCredentialTransaction(parameters) {
188
188
  throw new BadRequestError({ reason: 'Only Tempo (0x76/0x78) transactions are supported' });
189
189
  const transaction = Transaction.deserialize(serializedTransaction);
190
190
  const calls = transaction.calls;
191
- if (calls.length !== 1)
191
+ if (calls.length !== 1 && calls.length !== 3)
192
192
  throw new VerificationFailedError({
193
- reason: `TIP-1034 ${label} transaction must contain exactly one call`,
193
+ reason: `TIP-1034 ${label} transaction must contain one management call, optionally preceded by an auto-swap`,
194
194
  });
195
- const call = calls[0];
195
+ const call = calls[calls.length - 1];
196
196
  if (!call.to || !isAddressEqual(call.to, escrowContract))
197
197
  throw new VerificationFailedError({
198
198
  reason: `TIP-1034 ${label} transaction targets the wrong address`,
@@ -201,7 +201,83 @@ function parsePrecompileCredentialTransaction(parameters) {
201
201
  throw new VerificationFailedError({
202
202
  reason: `TIP-1034 ${label} transaction is missing calldata`,
203
203
  });
204
- return { transaction, call: { ...call, data: call.data, to: call.to } };
204
+ return {
205
+ transaction,
206
+ call: { ...call, data: call.data, to: call.to },
207
+ prefixCalls: calls.slice(0, -1),
208
+ };
209
+ }
210
+ function validateAutoSwapPrefix(parameters) {
211
+ const { amountOut, currency, label, prefixCalls } = parameters;
212
+ if (prefixCalls.length === 0)
213
+ return;
214
+ const fail = (reason) => {
215
+ throw new VerificationFailedError({ reason: `TIP-1034 ${label} auto-swap ${reason}` });
216
+ };
217
+ if (prefixCalls.length !== 2)
218
+ fail('must contain exactly approve and swap calls');
219
+ const approveCall = prefixCalls[0];
220
+ const swapCall = prefixCalls[1];
221
+ const approveTo = approveCall.to;
222
+ const approveData = approveCall.data;
223
+ const swapTo = swapCall.to;
224
+ const swapData = swapCall.data;
225
+ if (!approveTo || !approveData || !swapTo || !swapData)
226
+ fail('call is missing a target or calldata');
227
+ const checkedApproveTo = approveTo;
228
+ const checkedApproveData = approveData;
229
+ const checkedSwapTo = swapTo;
230
+ const checkedSwapData = swapData;
231
+ if ((approveCall.value ?? 0n) !== 0n || (swapCall.value ?? 0n) !== 0n)
232
+ fail('calls must not transfer native value');
233
+ if (!isAddressEqual(checkedSwapTo, Addresses.stablecoinDex))
234
+ fail('targets the wrong DEX');
235
+ const approve = (() => {
236
+ try {
237
+ return decodeFunctionData({ abi: Abis.tip20, data: checkedApproveData });
238
+ }
239
+ catch {
240
+ return fail('approval calldata is invalid');
241
+ }
242
+ })();
243
+ const swap = (() => {
244
+ try {
245
+ return decodeFunctionData({ abi: Abis.stablecoinDex, data: checkedSwapData });
246
+ }
247
+ catch {
248
+ return fail('swap calldata is invalid');
249
+ }
250
+ })();
251
+ if (approve.functionName !== 'approve' || swap.functionName !== 'swapExactAmountOut')
252
+ fail('must contain approve followed by swapExactAmountOut');
253
+ const [spender, approvedAmount] = approve.args;
254
+ const [tokenIn, tokenOut, swapAmountOut, maxAmountIn] = swap.args;
255
+ if (!isAddressEqual(checkedApproveTo, tokenIn))
256
+ fail('approval token does not match swap input');
257
+ if (!isAddressEqual(spender, Addresses.stablecoinDex))
258
+ fail('approval spender is not the DEX');
259
+ if (approvedAmount !== maxAmountIn)
260
+ fail('approval amount does not match swap maximum input');
261
+ if (!isAddressEqual(tokenOut, currency))
262
+ fail('output token does not match channel currency');
263
+ if (swapAmountOut !== amountOut)
264
+ fail('output amount does not match channel deposit');
265
+ if (isAddressEqual(tokenIn, tokenOut))
266
+ fail('input and output tokens must differ');
267
+ const canonicalApprove = encodeFunctionData({
268
+ abi: Abis.tip20,
269
+ functionName: 'approve',
270
+ args: [spender, approvedAmount],
271
+ });
272
+ const canonicalSwap = encodeFunctionData({
273
+ abi: Abis.stablecoinDex,
274
+ functionName: 'swapExactAmountOut',
275
+ args: [tokenIn, tokenOut, swapAmountOut, maxAmountIn],
276
+ });
277
+ if (checkedApproveData.toLowerCase() !== canonicalApprove.toLowerCase())
278
+ fail('approval calldata is not canonical');
279
+ if (checkedSwapData.toLowerCase() !== canonicalSwap.toLowerCase())
280
+ fail('swap calldata is not canonical');
205
281
  }
206
282
  async function simulateTempoTransaction(client, request) {
207
283
  // viem's public `call` type does not yet model Tempo's multi-call and
@@ -356,7 +432,7 @@ export async function sendCredentialTransaction(parameters) {
356
432
  }
357
433
  /** Broadcast and validate a client-signed TIP-1034 open transaction. */
358
434
  export async function broadcastOpenTransaction(parameters) {
359
- const { transaction, call } = parsePrecompileCredentialTransaction({
435
+ const { transaction, call, prefixCalls } = parsePrecompileCredentialTransaction({
360
436
  escrowContract: parameters.escrowContract,
361
437
  feePayer: parameters.feePayer,
362
438
  label: 'open',
@@ -372,6 +448,12 @@ export async function broadcastOpenTransaction(parameters) {
372
448
  authorizedSigner: parameters.expectedAuthorizedSigner,
373
449
  },
374
450
  });
451
+ validateAutoSwapPrefix({
452
+ amountOut: open.deposit,
453
+ currency: parameters.expectedCurrency,
454
+ label: 'open',
455
+ prefixCalls,
456
+ });
375
457
  const descriptor = ChannelOps.descriptorFromOpen({
376
458
  chainId: parameters.chainId,
377
459
  escrow: parameters.escrowContract,
@@ -435,7 +517,7 @@ export async function broadcastOpenTransaction(parameters) {
435
517
  }
436
518
  /** Broadcast and validate a client-signed TIP-1034 top-up transaction. */
437
519
  export async function broadcastTopUpTransaction(parameters) {
438
- const { transaction, call } = parsePrecompileCredentialTransaction({
520
+ const { transaction, call, prefixCalls } = parsePrecompileCredentialTransaction({
439
521
  escrowContract: parameters.escrowContract,
440
522
  feePayer: parameters.feePayer,
441
523
  label: 'topUp',
@@ -448,6 +530,12 @@ export async function broadcastTopUpTransaction(parameters) {
448
530
  additionalDeposit: parameters.additionalDeposit,
449
531
  },
450
532
  });
533
+ validateAutoSwapPrefix({
534
+ amountOut: parameters.additionalDeposit,
535
+ currency: parameters.expectedCurrency,
536
+ label: 'topUp',
537
+ prefixCalls,
538
+ });
451
539
  const receipt = await sendCredentialTransaction({
452
540
  challengeExpires: parameters.challengeExpires,
453
541
  chainId: parameters.chainId,