mppx 0.8.9 → 0.8.12

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 (124) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/dist/cli/validate/challenge.d.ts +2 -0
  3. package/dist/cli/validate/challenge.d.ts.map +1 -1
  4. package/dist/cli/validate/challenge.js +21 -9
  5. package/dist/cli/validate/challenge.js.map +1 -1
  6. package/dist/cli/validate/discovery.d.ts.map +1 -1
  7. package/dist/cli/validate/discovery.js +50 -19
  8. package/dist/cli/validate/discovery.js.map +1 -1
  9. package/dist/cli/validate/helpers.d.ts +1 -0
  10. package/dist/cli/validate/helpers.d.ts.map +1 -1
  11. package/dist/cli/validate/helpers.js +11 -0
  12. package/dist/cli/validate/helpers.js.map +1 -1
  13. package/dist/cli/validate/index.d.ts +1 -0
  14. package/dist/cli/validate/index.d.ts.map +1 -1
  15. package/dist/cli/validate/index.js +4 -0
  16. package/dist/cli/validate/index.js.map +1 -1
  17. package/dist/cli/validate/payment.d.ts +1 -0
  18. package/dist/cli/validate/payment.d.ts.map +1 -1
  19. package/dist/cli/validate/payment.js +2 -2
  20. package/dist/cli/validate/payment.js.map +1 -1
  21. package/dist/client/internal/Fetch.d.ts.map +1 -1
  22. package/dist/client/internal/Fetch.js +35 -6
  23. package/dist/client/internal/Fetch.js.map +1 -1
  24. package/dist/client/internal/MethodResponse.d.ts +23 -0
  25. package/dist/client/internal/MethodResponse.d.ts.map +1 -0
  26. package/dist/client/internal/MethodResponse.js +15 -0
  27. package/dist/client/internal/MethodResponse.js.map +1 -0
  28. package/dist/tempo/internal/fee-payer.d.ts +39 -2
  29. package/dist/tempo/internal/fee-payer.d.ts.map +1 -1
  30. package/dist/tempo/internal/fee-payer.js +45 -1
  31. package/dist/tempo/internal/fee-payer.js.map +1 -1
  32. package/dist/tempo/internal/fee-token.d.ts +8 -0
  33. package/dist/tempo/internal/fee-token.d.ts.map +1 -1
  34. package/dist/tempo/internal/fee-token.js +19 -6
  35. package/dist/tempo/internal/fee-token.js.map +1 -1
  36. package/dist/tempo/legacy/client/ChannelOps.d.ts +2 -0
  37. package/dist/tempo/legacy/client/ChannelOps.d.ts.map +1 -1
  38. package/dist/tempo/legacy/client/ChannelOps.js +4 -0
  39. package/dist/tempo/legacy/client/ChannelOps.js.map +1 -1
  40. package/dist/tempo/legacy/client/Session.d.ts.map +1 -1
  41. package/dist/tempo/legacy/client/Session.js +7 -0
  42. package/dist/tempo/legacy/client/Session.js.map +1 -1
  43. package/dist/tempo/legacy/session/Chain.d.ts.map +1 -1
  44. package/dist/tempo/legacy/session/Chain.js +53 -50
  45. package/dist/tempo/legacy/session/Chain.js.map +1 -1
  46. package/dist/tempo/server/Charge.d.ts +8 -0
  47. package/dist/tempo/server/Charge.d.ts.map +1 -1
  48. package/dist/tempo/server/Charge.js +49 -45
  49. package/dist/tempo/server/Charge.js.map +1 -1
  50. package/dist/tempo/server/Methods.d.ts +7 -0
  51. package/dist/tempo/server/Methods.d.ts.map +1 -1
  52. package/dist/tempo/server/Methods.js.map +1 -1
  53. package/dist/tempo/server/Subscription.d.ts.map +1 -1
  54. package/dist/tempo/server/Subscription.js +24 -16
  55. package/dist/tempo/server/Subscription.js.map +1 -1
  56. package/dist/tempo/server/internal/html.gen.d.ts +1 -1
  57. package/dist/tempo/server/internal/html.gen.d.ts.map +1 -1
  58. package/dist/tempo/server/internal/html.gen.js +1 -1
  59. package/dist/tempo/server/internal/html.gen.js.map +1 -1
  60. package/dist/tempo/session/client/Session.d.ts.map +1 -1
  61. package/dist/tempo/session/client/Session.js +53 -1
  62. package/dist/tempo/session/client/Session.js.map +1 -1
  63. package/dist/tempo/session/client/SessionManager.d.ts +3 -0
  64. package/dist/tempo/session/client/SessionManager.d.ts.map +1 -1
  65. package/dist/tempo/session/client/SessionManager.js +3 -0
  66. package/dist/tempo/session/client/SessionManager.js.map +1 -1
  67. package/dist/tempo/session/client/Transports.d.ts +30 -0
  68. package/dist/tempo/session/client/Transports.d.ts.map +1 -1
  69. package/dist/tempo/session/client/Transports.js +118 -19
  70. package/dist/tempo/session/client/Transports.js.map +1 -1
  71. package/dist/tempo/session/precompile/Chain.d.ts.map +1 -1
  72. package/dist/tempo/session/precompile/Chain.js +25 -19
  73. package/dist/tempo/session/precompile/Chain.js.map +1 -1
  74. package/dist/tempo/session/server/index.d.ts +2 -0
  75. package/dist/tempo/session/server/index.d.ts.map +1 -1
  76. package/dist/tempo/session/server/index.js +2 -0
  77. package/dist/tempo/session/server/index.js.map +1 -1
  78. package/dist/validation/core.d.ts +1 -0
  79. package/dist/validation/core.d.ts.map +1 -1
  80. package/dist/validation/core.js +5 -0
  81. package/dist/validation/core.js.map +1 -1
  82. package/dist/x402/Header.js +1 -1
  83. package/dist/x402/Header.js.map +1 -1
  84. package/package.json +1 -1
  85. package/src/cli/validate/challenge.ts +20 -8
  86. package/src/cli/validate/discovery.test.ts +128 -0
  87. package/src/cli/validate/discovery.ts +50 -15
  88. package/src/cli/validate/helpers.ts +10 -0
  89. package/src/cli/validate/index.ts +4 -0
  90. package/src/cli/validate/payment.ts +4 -1
  91. package/src/cli/validate.test.ts +23 -2
  92. package/src/client/Mppx.test-d.ts +3 -1
  93. package/src/client/internal/Fetch.test.ts +29 -0
  94. package/src/client/internal/Fetch.ts +51 -6
  95. package/src/client/internal/MethodResponse.ts +39 -0
  96. package/src/tempo/PublicExports.test-d.ts +5 -0
  97. package/src/tempo/internal/fee-payer.test.ts +93 -0
  98. package/src/tempo/internal/fee-payer.ts +64 -2
  99. package/src/tempo/internal/fee-token.test.ts +37 -0
  100. package/src/tempo/internal/fee-token.ts +26 -5
  101. package/src/tempo/legacy/client/ChannelOps.test.ts +21 -0
  102. package/src/tempo/legacy/client/ChannelOps.ts +7 -0
  103. package/src/tempo/legacy/client/Session.test.ts +102 -1
  104. package/src/tempo/legacy/client/Session.ts +10 -0
  105. package/src/tempo/legacy/session/Chain.test.ts +78 -2
  106. package/src/tempo/legacy/session/Chain.ts +56 -52
  107. package/src/tempo/server/Charge.test.ts +121 -6
  108. package/src/tempo/server/Charge.ts +61 -48
  109. package/src/tempo/server/Methods.ts +6 -0
  110. package/src/tempo/server/Subscription.test.ts +79 -4
  111. package/src/tempo/server/Subscription.ts +24 -16
  112. package/src/tempo/server/internal/html.gen.ts +1 -1
  113. package/src/tempo/session/client/Session.test.ts +83 -1
  114. package/src/tempo/session/client/Session.ts +73 -1
  115. package/src/tempo/session/client/SessionManager.test.ts +12 -1
  116. package/src/tempo/session/client/SessionManager.ts +5 -0
  117. package/src/tempo/session/client/Transports.test.ts +109 -0
  118. package/src/tempo/session/client/Transports.ts +153 -29
  119. package/src/tempo/session/precompile/Chain.test.ts +9 -0
  120. package/src/tempo/session/precompile/Chain.ts +28 -20
  121. package/src/tempo/session/server/Session.test.ts +23 -3
  122. package/src/tempo/session/server/index.ts +2 -0
  123. package/src/validation/core.ts +6 -0
  124. package/src/x402/Header.ts +1 -1
@@ -965,28 +965,36 @@ async function submitSubscriptionPayment(parameters: {
965
965
  const userTransaction = Transaction.deserialize(
966
966
  userSerialized as Transaction.TransactionSerializedTempo,
967
967
  )
968
- const sponsored = FeePayer.prepareSponsoredTransaction({
969
- account: feePayer,
970
- chainId: chainId ?? client.chain!.id,
971
- details: {
972
- amount: String(request.amount),
973
- currency: String(request.currency),
974
- recipient: String(request.recipient),
968
+ const completed = await FeePayer.preflightSponsorship({
969
+ transaction: userTransaction,
970
+ simulate: (request) => viem_call(client, request as never),
971
+ async complete() {
972
+ const sponsored = FeePayer.prepareSponsoredTransaction({
973
+ account: feePayer,
974
+ chainId: chainId ?? client.chain!.id,
975
+ details: {
976
+ amount: String(request.amount),
977
+ currency: String(request.currency),
978
+ recipient: String(request.recipient),
979
+ },
980
+ ...(feePayerPolicy ? { policy: feePayerPolicy } : {}),
981
+ transaction: userTransaction as never,
982
+ })
983
+ return { feePayer: feePayer.address, transaction: sponsored }
975
984
  },
976
- ...(feePayerPolicy ? { policy: feePayerPolicy } : {}),
977
- transaction: userTransaction as never,
978
985
  })
979
- return await signTransaction(client, sponsored as never)
986
+ return await signTransaction(client, completed.transaction as never)
980
987
  })()
981
988
  const transaction = Transaction.deserialize(
982
989
  serializedTransaction as Transaction.TransactionSerializedTempo,
983
990
  )
984
- await viem_call(client, {
985
- ...transaction,
986
- account: transaction.from,
987
- calls: transaction.calls,
988
- feePayerSignature: undefined,
989
- } as never)
991
+ if (!feePayer)
992
+ await viem_call(client, {
993
+ ...transaction,
994
+ account: transaction.from,
995
+ calls: transaction.calls,
996
+ feePayerSignature: undefined,
997
+ } as never)
990
998
 
991
999
  if (!waitForConfirmation) {
992
1000
  // Optimistic mode has no receipt to inspect, so it cannot detect a T6