mppx 0.8.15 → 0.8.18
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.
- package/CHANGELOG.md +91 -0
- package/README.md +15 -0
- package/dist/Challenge.js +61 -39
- package/dist/Constants.d.ts +17 -17
- package/dist/Errors.d.ts +3 -3
- package/dist/Method.d.ts +35 -5
- package/dist/Method.js +7 -22
- package/dist/Store.d.ts +19 -0
- package/dist/Store.js +43 -0
- package/dist/attestation/Client.d.ts +17 -0
- package/dist/attestation/Client.js +28 -0
- package/dist/attestation/Constants.d.ts +15 -0
- package/dist/attestation/Constants.js +15 -0
- package/dist/attestation/Server.d.ts +4 -0
- package/dist/attestation/Server.js +8 -0
- package/dist/attestation/Types.d.ts +76 -0
- package/dist/attestation/Types.js +2 -0
- package/dist/attestation/index.d.ts +6 -0
- package/dist/attestation/index.js +6 -0
- package/dist/attestation/internal/HttpMessageSignature.d.ts +73 -0
- package/dist/attestation/internal/HttpMessageSignature.js +320 -0
- package/dist/attestation/internal/SigningContext.d.ts +4 -0
- package/dist/attestation/internal/SigningContext.js +11 -0
- package/dist/bin.js +3 -3
- package/dist/cli/THIRD-PARTY-LICENSES.txt +328 -0
- package/dist/cli/account.d.ts +14 -14
- package/dist/cli/cli.d.ts +6 -6
- package/dist/cli/cli.js +253 -1504
- package/dist/cli/plugins/index.js +19 -5
- package/dist/cli/plugins/tempo.js +7 -3
- package/dist/cli/sessions/Manager.js +7 -4
- package/dist/cli/sessions/commands.d.ts +4 -4
- package/dist/cli/sessions/request.d.ts +2 -0
- package/dist/cli/sessions/request.js +18 -0
- package/dist/cli/sessions/store.js +28 -14
- package/dist/cli/utils.d.ts +1 -1
- package/dist/cli/validate/index.d.ts +3 -3
- package/dist/client/Mppx.d.ts +3 -0
- package/dist/client/Mppx.js +13 -5
- package/dist/client/Transport.d.ts +3 -5
- package/dist/client/Transport.js +1 -17
- package/dist/client/internal/Fetch.js +2 -6
- package/dist/discovery/Discovery.js +2 -1
- package/dist/discovery/OpenApi.d.ts +3 -5
- package/dist/discovery/OpenApi.js +13 -34
- package/dist/discovery/internal/Metadata.d.ts +20 -0
- package/dist/discovery/internal/Metadata.js +36 -0
- package/dist/evm/Methods.d.ts +11 -11
- package/dist/evm/Types.d.ts +17 -17
- package/dist/evm/client/Charge.d.ts +11 -11
- package/dist/evm/client/Charge.js +8 -0
- package/dist/evm/client/Methods.d.ts +11 -11
- package/dist/evm/server/Charge.d.ts +1 -1
- package/dist/evm/server/Charge.js +2 -0
- package/dist/evm/server/Methods.d.ts +11 -11
- package/dist/internal/HeaderCodec.d.ts +2 -2
- package/dist/internal/types.d.ts +6 -0
- package/dist/proxy/Proxy.d.ts +2 -0
- package/dist/proxy/Proxy.js +117 -9
- package/dist/proxy/Service.d.ts +36 -1
- package/dist/proxy/Service.js +9 -8
- package/dist/proxy/services/anthropic.js +1 -0
- package/dist/proxy/services/openai.js +1 -0
- package/dist/proxy/services/stripe.js +1 -0
- package/dist/server/Mppx.d.ts +75 -13
- package/dist/server/Mppx.js +201 -23
- package/dist/server/core.d.ts +9 -0
- package/dist/server/core.js +9 -0
- package/dist/server/internal/html/config.d.ts +9 -9
- package/dist/server/internal/html/constants.d.ts +17 -17
- package/dist/stripe/Methods.d.ts +10 -10
- package/dist/stripe/client/Charge.d.ts +10 -10
- package/dist/stripe/client/Methods.d.ts +10 -10
- package/dist/stripe/internal/constants.d.ts +1 -1
- package/dist/stripe/internal/constants.js +1 -1
- package/dist/stripe/internal/types.d.ts +1 -0
- package/dist/stripe/server/Charge.d.ts +11 -11
- package/dist/stripe/server/Charge.js +51 -5
- package/dist/stripe/server/Methods.d.ts +137 -48
- package/dist/stripe/server/Methods.js +265 -4
- package/dist/stripe/server/internal/deposit-address.d.ts +13 -0
- package/dist/stripe/server/internal/deposit-address.js +28 -0
- package/dist/stripe/server/internal/html.gen.d.ts +1 -1
- package/dist/stripe/server/internal/html.gen.js +1 -1
- package/dist/stripe/server/internal/record-payment.d.ts +15 -0
- package/dist/stripe/server/internal/record-payment.js +42 -0
- package/dist/stripe/server/internal/request.d.ts +25 -0
- package/dist/stripe/server/internal/request.js +29 -0
- package/dist/stripe/server/spt.d.ts +8 -0
- package/dist/stripe/server/spt.js +8 -0
- package/dist/tap/Constants.d.ts +28 -0
- package/dist/tap/Constants.js +32 -0
- package/dist/tap/Types.d.ts +11 -0
- package/dist/tap/Types.js +2 -0
- package/dist/tap/client/index.d.ts +26 -0
- package/dist/tap/client/index.js +33 -0
- package/dist/tap/index.d.ts +5 -0
- package/dist/tap/index.js +5 -0
- package/dist/tap/server/index.d.ts +20 -0
- package/dist/tap/server/index.js +36 -0
- package/dist/tempo/Attribution.d.ts +1 -1
- package/dist/tempo/Methods.d.ts +73 -60
- package/dist/tempo/Methods.js +14 -3
- package/dist/tempo/Proof.d.ts +16 -16
- package/dist/tempo/client/Charge.d.ts +22 -19
- package/dist/tempo/client/Charge.js +32 -16
- package/dist/tempo/client/Methods.d.ts +51 -38
- package/dist/tempo/client/Subscription.d.ts +23 -23
- package/dist/tempo/internal/address.d.ts +2 -1
- package/dist/tempo/internal/address.js +3 -1
- package/dist/tempo/internal/auto-swap.js +4 -19
- package/dist/tempo/internal/defaults.d.ts +17 -6
- package/dist/tempo/internal/defaults.js +11 -0
- package/dist/tempo/internal/fee-payer.d.ts +12 -12
- package/dist/tempo/internal/machine-token-charge.d.ts +51 -0
- package/dist/tempo/internal/machine-token-charge.js +113 -0
- package/dist/tempo/internal/machine-token-session.d.ts +88 -0
- package/dist/tempo/internal/machine-token-session.js +173 -0
- package/dist/tempo/internal/proof.d.ts +17 -17
- package/dist/tempo/internal/signature-envelope.d.ts +14 -0
- package/dist/tempo/internal/signature-envelope.js +28 -0
- package/dist/tempo/legacy/client/ChannelOps.d.ts +2 -2
- package/dist/tempo/legacy/client/ChannelOps.js +11 -5
- package/dist/tempo/legacy/client/Session.d.ts +33 -21
- package/dist/tempo/legacy/client/Session.js +3 -3
- package/dist/tempo/legacy/client/SessionManager.d.ts +3 -1
- package/dist/tempo/legacy/client/SessionManager.js +2 -0
- package/dist/tempo/legacy/index.d.ts +1 -3
- package/dist/tempo/legacy/index.js +1 -3
- package/dist/tempo/legacy/session/escrow.abi.d.ts +374 -374
- package/dist/tempo/server/Charge.d.ts +28 -11
- package/dist/tempo/server/Charge.js +101 -55
- package/dist/tempo/server/Methods.d.ts +58 -56
- package/dist/tempo/server/Methods.js +8 -18
- package/dist/tempo/server/Relay.d.ts +1 -1
- package/dist/tempo/server/Relay.js +2 -2
- package/dist/tempo/server/Subscription.d.ts +25 -25
- package/dist/tempo/server/Subscription.js +2 -0
- package/dist/tempo/server/index.d.ts +1 -1
- package/dist/tempo/server/index.js +1 -1
- package/dist/tempo/server/internal/html.gen.d.ts +1 -1
- package/dist/tempo/server/internal/html.gen.js +1 -1
- package/dist/tempo/server/internal/transport.d.ts +2 -0
- package/dist/tempo/server/internal/transport.js +9 -2
- package/dist/tempo/session/client/ChannelOps.d.ts +18 -3
- package/dist/tempo/session/client/ChannelOps.js +35 -6
- package/dist/tempo/session/client/ChannelStore.d.ts +0 -5
- package/dist/tempo/session/client/ChannelStore.js +2 -2
- package/dist/tempo/session/client/CredentialState.d.ts +18 -3
- package/dist/tempo/session/client/CredentialState.js +77 -76
- package/dist/tempo/session/client/Runtime.d.ts +4 -2
- package/dist/tempo/session/client/Runtime.js +21 -5
- package/dist/tempo/session/client/Session.d.ts +34 -22
- package/dist/tempo/session/client/Session.js +186 -63
- package/dist/tempo/session/client/SessionManager.d.ts +3 -1
- package/dist/tempo/session/client/SessionManager.js +35 -11
- package/dist/tempo/session/client/Transports.d.ts +2 -0
- package/dist/tempo/session/client/Transports.js +12 -2
- package/dist/tempo/session/precompile/Chain.d.ts +37 -2
- package/dist/tempo/session/precompile/Chain.js +116 -15
- package/dist/tempo/session/precompile/Protocol.d.ts +15 -0
- package/dist/tempo/session/precompile/Protocol.js +7 -0
- package/dist/tempo/session/precompile/Voucher.d.ts +7 -5
- package/dist/tempo/session/precompile/Voucher.js +6 -12
- package/dist/tempo/session/precompile/escrow.abi.d.ts +306 -306
- package/dist/tempo/session/server/ChannelStore.d.ts +15 -0
- package/dist/tempo/session/server/ChannelStore.js +27 -12
- package/dist/tempo/session/server/CredentialVerification.d.ts +39 -20
- package/dist/tempo/session/server/CredentialVerification.js +359 -89
- package/dist/tempo/session/server/MeteredStream.d.ts +4 -1
- package/dist/tempo/session/server/MeteredStream.js +8 -5
- package/dist/tempo/session/server/RequestState.d.ts +19 -0
- package/dist/tempo/session/server/RequestState.js +61 -15
- package/dist/tempo/session/server/Session.d.ts +46 -23
- package/dist/tempo/session/server/Session.js +150 -56
- package/dist/tempo/session/server/Settlement.d.ts +11 -4
- package/dist/tempo/session/server/Settlement.js +53 -21
- package/dist/tempo/session/server/Sse.d.ts +3 -1
- package/dist/tempo/session/server/Sse.js +2 -1
- package/dist/tempo/session/server/Transports.d.ts +1 -1
- package/dist/tempo/session/server/Transports.js +1 -0
- package/dist/tempo/session/server/Ws.d.ts +6 -1
- package/dist/tempo/session/server/Ws.js +1 -0
- package/dist/tempo/subscription/KeyAuthorization.d.ts +39 -39
- package/dist/web-bot-auth/Constants.d.ts +20 -0
- package/dist/web-bot-auth/Constants.js +24 -0
- package/dist/web-bot-auth/Types.d.ts +10 -0
- package/dist/web-bot-auth/Types.js +2 -0
- package/dist/web-bot-auth/client/index.d.ts +29 -0
- package/dist/web-bot-auth/client/index.js +64 -0
- package/dist/web-bot-auth/index.d.ts +7 -0
- package/dist/web-bot-auth/index.js +7 -0
- package/dist/web-bot-auth/internal/JwkThumbprint.d.ts +5 -0
- package/dist/web-bot-auth/internal/JwkThumbprint.js +20 -0
- package/dist/web-bot-auth/internal/SignatureAgent.d.ts +3 -0
- package/dist/web-bot-auth/internal/SignatureAgent.js +18 -0
- package/dist/web-bot-auth/server/index.d.ts +35 -0
- package/dist/web-bot-auth/server/index.js +88 -0
- package/dist/x402/Types.d.ts +6 -6
- package/dist/x402/client/Exact.d.ts +8 -0
- package/dist/x402/client/Exact.js +40 -10
- package/dist/x402/server/EvmCharge.d.ts +22 -0
- package/dist/x402/server/EvmCharge.js +54 -20
- package/package.json +28 -34
- package/dist/BodyDigest.d.ts.map +0 -1
- package/dist/BodyDigest.js.map +0 -1
- package/dist/Challenge.d.ts.map +0 -1
- package/dist/Challenge.js.map +0 -1
- package/dist/Constants.d.ts.map +0 -1
- package/dist/Constants.js.map +0 -1
- package/dist/Credential.d.ts.map +0 -1
- package/dist/Credential.js.map +0 -1
- package/dist/Errors.d.ts.map +0 -1
- package/dist/Errors.js.map +0 -1
- package/dist/Expires.d.ts.map +0 -1
- package/dist/Expires.js.map +0 -1
- package/dist/Html.d.ts.map +0 -1
- package/dist/Html.js.map +0 -1
- package/dist/Mcp.d.ts.map +0 -1
- package/dist/Mcp.js.map +0 -1
- package/dist/Method.d.ts.map +0 -1
- package/dist/Method.js.map +0 -1
- package/dist/PaymentRequest.d.ts.map +0 -1
- package/dist/PaymentRequest.js.map +0 -1
- package/dist/Receipt.d.ts.map +0 -1
- package/dist/Receipt.js.map +0 -1
- package/dist/Store.d.ts.map +0 -1
- package/dist/Store.js.map +0 -1
- package/dist/bin.d.ts.map +0 -1
- package/dist/bin.js.map +0 -1
- package/dist/cli/account.d.ts.map +0 -1
- package/dist/cli/account.js.map +0 -1
- package/dist/cli/cli.d.ts.map +0 -1
- package/dist/cli/cli.js.map +0 -1
- package/dist/cli/config.d.ts.map +0 -1
- package/dist/cli/config.js.map +0 -1
- package/dist/cli/internal.d.ts.map +0 -1
- package/dist/cli/internal.js.map +0 -1
- package/dist/cli/plugins/evm.d.ts.map +0 -1
- package/dist/cli/plugins/evm.js.map +0 -1
- package/dist/cli/plugins/index.d.ts.map +0 -1
- package/dist/cli/plugins/index.js.map +0 -1
- package/dist/cli/plugins/plugin.d.ts.map +0 -1
- package/dist/cli/plugins/plugin.js.map +0 -1
- package/dist/cli/plugins/stripe.d.ts.map +0 -1
- package/dist/cli/plugins/stripe.js.map +0 -1
- package/dist/cli/plugins/tempo.d.ts.map +0 -1
- package/dist/cli/plugins/tempo.js.map +0 -1
- package/dist/cli/sessions/Manager.d.ts.map +0 -1
- package/dist/cli/sessions/Manager.js.map +0 -1
- package/dist/cli/sessions/commands.d.ts.map +0 -1
- package/dist/cli/sessions/commands.js.map +0 -1
- package/dist/cli/sessions/request.d.ts.map +0 -1
- package/dist/cli/sessions/request.js.map +0 -1
- package/dist/cli/sessions/store.d.ts.map +0 -1
- package/dist/cli/sessions/store.js.map +0 -1
- package/dist/cli/utils.d.ts.map +0 -1
- package/dist/cli/utils.js.map +0 -1
- package/dist/cli/validate/challenge.d.ts.map +0 -1
- package/dist/cli/validate/challenge.js.map +0 -1
- package/dist/cli/validate/discovery.d.ts.map +0 -1
- package/dist/cli/validate/discovery.js.map +0 -1
- package/dist/cli/validate/helpers.d.ts.map +0 -1
- package/dist/cli/validate/helpers.js.map +0 -1
- package/dist/cli/validate/index.d.ts.map +0 -1
- package/dist/cli/validate/index.js.map +0 -1
- package/dist/cli/validate/messages.d.ts.map +0 -1
- package/dist/cli/validate/messages.js.map +0 -1
- package/dist/cli/validate/payment.d.ts.map +0 -1
- package/dist/cli/validate/payment.js.map +0 -1
- package/dist/client/Methods.d.ts.map +0 -1
- package/dist/client/Methods.js.map +0 -1
- package/dist/client/Mppx.d.ts.map +0 -1
- package/dist/client/Mppx.js.map +0 -1
- package/dist/client/Transport.d.ts.map +0 -1
- package/dist/client/Transport.js.map +0 -1
- package/dist/client/index.d.ts.map +0 -1
- package/dist/client/index.js.map +0 -1
- package/dist/client/internal/Fetch.d.ts.map +0 -1
- package/dist/client/internal/Fetch.js.map +0 -1
- package/dist/client/internal/MethodChallenge.d.ts.map +0 -1
- package/dist/client/internal/MethodChallenge.js.map +0 -1
- package/dist/client/internal/MethodResponse.d.ts.map +0 -1
- package/dist/client/internal/MethodResponse.js.map +0 -1
- package/dist/client/internal/protocols/Mcp.d.ts.map +0 -1
- package/dist/client/internal/protocols/Mcp.js.map +0 -1
- package/dist/client/internal/protocols/Mpp.d.ts.map +0 -1
- package/dist/client/internal/protocols/Mpp.js.map +0 -1
- package/dist/client/internal/protocols/Protocol.d.ts.map +0 -1
- package/dist/client/internal/protocols/Protocol.js.map +0 -1
- package/dist/client/internal/protocols/Shared.d.ts.map +0 -1
- package/dist/client/internal/protocols/Shared.js.map +0 -1
- package/dist/client/internal/protocols/X402.d.ts.map +0 -1
- package/dist/client/internal/protocols/X402.js.map +0 -1
- package/dist/client/node.d.ts.map +0 -1
- package/dist/client/node.js.map +0 -1
- package/dist/discovery/Discovery.d.ts.map +0 -1
- package/dist/discovery/Discovery.js.map +0 -1
- package/dist/discovery/OpenApi.d.ts.map +0 -1
- package/dist/discovery/OpenApi.js.map +0 -1
- package/dist/discovery/Validate.d.ts.map +0 -1
- package/dist/discovery/Validate.js.map +0 -1
- package/dist/discovery/index.d.ts.map +0 -1
- package/dist/discovery/index.js.map +0 -1
- package/dist/evm/Assets.d.ts.map +0 -1
- package/dist/evm/Assets.js.map +0 -1
- package/dist/evm/Chains.d.ts.map +0 -1
- package/dist/evm/Chains.js.map +0 -1
- package/dist/evm/Methods.d.ts.map +0 -1
- package/dist/evm/Methods.js.map +0 -1
- package/dist/evm/Types.d.ts.map +0 -1
- package/dist/evm/Types.js.map +0 -1
- package/dist/evm/client/Charge.d.ts.map +0 -1
- package/dist/evm/client/Charge.js.map +0 -1
- package/dist/evm/client/Methods.d.ts.map +0 -1
- package/dist/evm/client/Methods.js.map +0 -1
- package/dist/evm/client/index.d.ts.map +0 -1
- package/dist/evm/client/index.js.map +0 -1
- package/dist/evm/index.d.ts.map +0 -1
- package/dist/evm/index.js.map +0 -1
- package/dist/evm/server/Charge.d.ts.map +0 -1
- package/dist/evm/server/Charge.js.map +0 -1
- package/dist/evm/server/Methods.d.ts.map +0 -1
- package/dist/evm/server/Methods.js.map +0 -1
- package/dist/evm/server/index.d.ts.map +0 -1
- package/dist/evm/server/index.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/internal/AcceptPayment.d.ts.map +0 -1
- package/dist/internal/AcceptPayment.js.map +0 -1
- package/dist/internal/HeaderCodec.d.ts.map +0 -1
- package/dist/internal/HeaderCodec.js.map +0 -1
- package/dist/internal/constantTimeEqual.d.ts.map +0 -1
- package/dist/internal/constantTimeEqual.js.map +0 -1
- package/dist/internal/env.d.ts.map +0 -1
- package/dist/internal/env.js.map +0 -1
- package/dist/internal/types.d.ts.map +0 -1
- package/dist/internal/types.js.map +0 -1
- package/dist/mcp/client/McpClient.d.ts.map +0 -1
- package/dist/mcp/client/McpClient.js.map +0 -1
- package/dist/mcp/client/index.d.ts.map +0 -1
- package/dist/mcp/client/index.js.map +0 -1
- package/dist/mcp/server/Transport.d.ts.map +0 -1
- package/dist/mcp/server/Transport.js.map +0 -1
- package/dist/mcp/server/index.d.ts.map +0 -1
- package/dist/mcp/server/index.js.map +0 -1
- package/dist/middlewares/elysia.d.ts.map +0 -1
- package/dist/middlewares/elysia.js.map +0 -1
- package/dist/middlewares/express.d.ts.map +0 -1
- package/dist/middlewares/express.js.map +0 -1
- package/dist/middlewares/hono.d.ts.map +0 -1
- package/dist/middlewares/hono.js.map +0 -1
- package/dist/middlewares/internal/mppx.d.ts.map +0 -1
- package/dist/middlewares/internal/mppx.js.map +0 -1
- package/dist/middlewares/nextjs.d.ts.map +0 -1
- package/dist/middlewares/nextjs.js.map +0 -1
- package/dist/proxy/Proxy.d.ts.map +0 -1
- package/dist/proxy/Proxy.js.map +0 -1
- package/dist/proxy/Service.d.ts.map +0 -1
- package/dist/proxy/Service.js.map +0 -1
- package/dist/proxy/index.d.ts.map +0 -1
- package/dist/proxy/index.js.map +0 -1
- package/dist/proxy/internal/Headers.d.ts.map +0 -1
- package/dist/proxy/internal/Headers.js.map +0 -1
- package/dist/proxy/internal/Route.d.ts.map +0 -1
- package/dist/proxy/internal/Route.js.map +0 -1
- package/dist/proxy/services/anthropic.d.ts.map +0 -1
- package/dist/proxy/services/anthropic.js.map +0 -1
- package/dist/proxy/services/openai.d.ts.map +0 -1
- package/dist/proxy/services/openai.js.map +0 -1
- package/dist/proxy/services/stripe.d.ts.map +0 -1
- package/dist/proxy/services/stripe.js.map +0 -1
- package/dist/server/Methods.d.ts.map +0 -1
- package/dist/server/Methods.js.map +0 -1
- package/dist/server/Mppx.d.ts.map +0 -1
- package/dist/server/Mppx.js.map +0 -1
- package/dist/server/NodeListener.d.ts.map +0 -1
- package/dist/server/NodeListener.js.map +0 -1
- package/dist/server/Request.d.ts.map +0 -1
- package/dist/server/Request.js.map +0 -1
- package/dist/server/Response.d.ts.map +0 -1
- package/dist/server/Response.js.map +0 -1
- package/dist/server/Transport.d.ts.map +0 -1
- package/dist/server/Transport.js.map +0 -1
- package/dist/server/index.d.ts.map +0 -1
- package/dist/server/index.js.map +0 -1
- package/dist/server/internal/html/compose.main.gen.d.ts.map +0 -1
- package/dist/server/internal/html/compose.main.gen.js.map +0 -1
- package/dist/server/internal/html/config.d.ts.map +0 -1
- package/dist/server/internal/html/config.js.map +0 -1
- package/dist/server/internal/html/constants.d.ts.map +0 -1
- package/dist/server/internal/html/constants.js.map +0 -1
- package/dist/server/internal/html/serviceWorker.client.d.ts.map +0 -1
- package/dist/server/internal/html/serviceWorker.client.js.map +0 -1
- package/dist/server/internal/html/serviceWorker.gen.d.ts.map +0 -1
- package/dist/server/internal/html/serviceWorker.gen.js.map +0 -1
- package/dist/server/internal/scope.d.ts.map +0 -1
- package/dist/server/internal/scope.js.map +0 -1
- package/dist/stripe/Methods.d.ts.map +0 -1
- package/dist/stripe/Methods.js.map +0 -1
- package/dist/stripe/client/Charge.d.ts.map +0 -1
- package/dist/stripe/client/Charge.js.map +0 -1
- package/dist/stripe/client/Methods.d.ts.map +0 -1
- package/dist/stripe/client/Methods.js.map +0 -1
- package/dist/stripe/client/index.d.ts.map +0 -1
- package/dist/stripe/client/index.js.map +0 -1
- package/dist/stripe/index.d.ts.map +0 -1
- package/dist/stripe/index.js.map +0 -1
- package/dist/stripe/internal/constants.d.ts.map +0 -1
- package/dist/stripe/internal/constants.js.map +0 -1
- package/dist/stripe/internal/types.d.ts.map +0 -1
- package/dist/stripe/internal/types.js.map +0 -1
- package/dist/stripe/server/Charge.d.ts.map +0 -1
- package/dist/stripe/server/Charge.js.map +0 -1
- package/dist/stripe/server/Methods.d.ts.map +0 -1
- package/dist/stripe/server/Methods.js.map +0 -1
- package/dist/stripe/server/index.d.ts.map +0 -1
- package/dist/stripe/server/index.js.map +0 -1
- package/dist/stripe/server/internal/html/types.d.ts.map +0 -1
- package/dist/stripe/server/internal/html/types.js.map +0 -1
- package/dist/stripe/server/internal/html.gen.d.ts.map +0 -1
- package/dist/stripe/server/internal/html.gen.js.map +0 -1
- package/dist/tempo/Attribution.d.ts.map +0 -1
- package/dist/tempo/Attribution.js.map +0 -1
- package/dist/tempo/Methods.d.ts.map +0 -1
- package/dist/tempo/Methods.js.map +0 -1
- package/dist/tempo/Proof.d.ts.map +0 -1
- package/dist/tempo/Proof.js.map +0 -1
- package/dist/tempo/client/Charge.d.ts.map +0 -1
- package/dist/tempo/client/Charge.js.map +0 -1
- package/dist/tempo/client/Methods.d.ts.map +0 -1
- package/dist/tempo/client/Methods.js.map +0 -1
- package/dist/tempo/client/ResolveAccount.d.ts.map +0 -1
- package/dist/tempo/client/ResolveAccount.js.map +0 -1
- package/dist/tempo/client/Subscription.d.ts.map +0 -1
- package/dist/tempo/client/Subscription.js.map +0 -1
- package/dist/tempo/client/index.d.ts.map +0 -1
- package/dist/tempo/client/index.js.map +0 -1
- package/dist/tempo/index.d.ts.map +0 -1
- package/dist/tempo/index.js.map +0 -1
- package/dist/tempo/internal/account.d.ts.map +0 -1
- package/dist/tempo/internal/account.js.map +0 -1
- package/dist/tempo/internal/address.d.ts.map +0 -1
- package/dist/tempo/internal/address.js.map +0 -1
- package/dist/tempo/internal/auto-swap.d.ts.map +0 -1
- package/dist/tempo/internal/auto-swap.js.map +0 -1
- package/dist/tempo/internal/charge.d.ts.map +0 -1
- package/dist/tempo/internal/charge.js.map +0 -1
- package/dist/tempo/internal/defaults.d.ts.map +0 -1
- package/dist/tempo/internal/defaults.js.map +0 -1
- package/dist/tempo/internal/fee-payer.d.ts.map +0 -1
- package/dist/tempo/internal/fee-payer.js.map +0 -1
- package/dist/tempo/internal/fee-token.d.ts.map +0 -1
- package/dist/tempo/internal/fee-token.js.map +0 -1
- package/dist/tempo/internal/proof.d.ts.map +0 -1
- package/dist/tempo/internal/proof.js.map +0 -1
- package/dist/tempo/internal/selectors.d.ts.map +0 -1
- package/dist/tempo/internal/selectors.js.map +0 -1
- package/dist/tempo/internal/types.d.ts.map +0 -1
- package/dist/tempo/internal/types.js.map +0 -1
- package/dist/tempo/legacy/client/ChannelOps.d.ts.map +0 -1
- package/dist/tempo/legacy/client/ChannelOps.js.map +0 -1
- package/dist/tempo/legacy/client/Session.d.ts.map +0 -1
- package/dist/tempo/legacy/client/Session.js.map +0 -1
- package/dist/tempo/legacy/client/SessionManager.d.ts.map +0 -1
- package/dist/tempo/legacy/client/SessionManager.js.map +0 -1
- package/dist/tempo/legacy/client/index.d.ts.map +0 -1
- package/dist/tempo/legacy/client/index.js.map +0 -1
- package/dist/tempo/legacy/index.d.ts.map +0 -1
- package/dist/tempo/legacy/index.js.map +0 -1
- package/dist/tempo/legacy/server/Session.d.ts +0 -208
- package/dist/tempo/legacy/server/Session.d.ts.map +0 -1
- package/dist/tempo/legacy/server/Session.js +0 -698
- package/dist/tempo/legacy/server/Session.js.map +0 -1
- package/dist/tempo/legacy/server/index.d.ts +0 -5
- package/dist/tempo/legacy/server/index.d.ts.map +0 -1
- package/dist/tempo/legacy/server/index.js +0 -5
- package/dist/tempo/legacy/server/index.js.map +0 -1
- package/dist/tempo/legacy/session/Chain.d.ts.map +0 -1
- package/dist/tempo/legacy/session/Chain.js.map +0 -1
- package/dist/tempo/legacy/session/Channel.d.ts.map +0 -1
- package/dist/tempo/legacy/session/Channel.js.map +0 -1
- package/dist/tempo/legacy/session/ChannelStore.d.ts +0 -22
- package/dist/tempo/legacy/session/ChannelStore.d.ts.map +0 -1
- package/dist/tempo/legacy/session/ChannelStore.js +0 -6
- package/dist/tempo/legacy/session/ChannelStore.js.map +0 -1
- package/dist/tempo/legacy/session/Types.d.ts.map +0 -1
- package/dist/tempo/legacy/session/Types.js.map +0 -1
- package/dist/tempo/legacy/session/Voucher.d.ts.map +0 -1
- package/dist/tempo/legacy/session/Voucher.js.map +0 -1
- package/dist/tempo/legacy/session/escrow.abi.d.ts.map +0 -1
- package/dist/tempo/legacy/session/escrow.abi.js.map +0 -1
- package/dist/tempo/legacy/session/index.d.ts.map +0 -1
- package/dist/tempo/legacy/session/index.js.map +0 -1
- package/dist/tempo/server/Charge.d.ts.map +0 -1
- package/dist/tempo/server/Charge.js.map +0 -1
- package/dist/tempo/server/Methods.d.ts.map +0 -1
- package/dist/tempo/server/Methods.js.map +0 -1
- package/dist/tempo/server/Relay.d.ts.map +0 -1
- package/dist/tempo/server/Relay.js.map +0 -1
- package/dist/tempo/server/SponsorBudget.d.ts.map +0 -1
- package/dist/tempo/server/SponsorBudget.js.map +0 -1
- package/dist/tempo/server/Subscription.d.ts.map +0 -1
- package/dist/tempo/server/Subscription.js.map +0 -1
- package/dist/tempo/server/index.d.ts.map +0 -1
- package/dist/tempo/server/index.js.map +0 -1
- package/dist/tempo/server/internal/html.gen.d.ts.map +0 -1
- package/dist/tempo/server/internal/html.gen.js.map +0 -1
- package/dist/tempo/server/internal/request-body.d.ts.map +0 -1
- package/dist/tempo/server/internal/request-body.js.map +0 -1
- package/dist/tempo/server/internal/transport.d.ts.map +0 -1
- package/dist/tempo/server/internal/transport.js.map +0 -1
- package/dist/tempo/session/Snapshot.d.ts.map +0 -1
- package/dist/tempo/session/Snapshot.js.map +0 -1
- package/dist/tempo/session/client/ChannelOps.d.ts.map +0 -1
- package/dist/tempo/session/client/ChannelOps.js.map +0 -1
- package/dist/tempo/session/client/ChannelStore.d.ts.map +0 -1
- package/dist/tempo/session/client/ChannelStore.js.map +0 -1
- package/dist/tempo/session/client/CredentialState.d.ts.map +0 -1
- package/dist/tempo/session/client/CredentialState.js.map +0 -1
- package/dist/tempo/session/client/ReceiptCoordinator.d.ts.map +0 -1
- package/dist/tempo/session/client/ReceiptCoordinator.js.map +0 -1
- package/dist/tempo/session/client/Runtime.d.ts.map +0 -1
- package/dist/tempo/session/client/Runtime.js.map +0 -1
- package/dist/tempo/session/client/Session.d.ts.map +0 -1
- package/dist/tempo/session/client/Session.js.map +0 -1
- package/dist/tempo/session/client/SessionManager.d.ts.map +0 -1
- package/dist/tempo/session/client/SessionManager.js.map +0 -1
- package/dist/tempo/session/client/Transports.d.ts.map +0 -1
- package/dist/tempo/session/client/Transports.js.map +0 -1
- package/dist/tempo/session/client/index.d.ts.map +0 -1
- package/dist/tempo/session/client/index.js.map +0 -1
- package/dist/tempo/session/client/internal/SessionManager.d.ts.map +0 -1
- package/dist/tempo/session/client/internal/SessionManager.js.map +0 -1
- package/dist/tempo/session/index.d.ts.map +0 -1
- package/dist/tempo/session/index.js.map +0 -1
- package/dist/tempo/session/precompile/Chain.d.ts.map +0 -1
- package/dist/tempo/session/precompile/Chain.js.map +0 -1
- package/dist/tempo/session/precompile/Channel.d.ts.map +0 -1
- package/dist/tempo/session/precompile/Channel.js.map +0 -1
- package/dist/tempo/session/precompile/Protocol.d.ts.map +0 -1
- package/dist/tempo/session/precompile/Protocol.js.map +0 -1
- package/dist/tempo/session/precompile/Voucher.d.ts.map +0 -1
- package/dist/tempo/session/precompile/Voucher.js.map +0 -1
- package/dist/tempo/session/precompile/escrow.abi.d.ts.map +0 -1
- package/dist/tempo/session/precompile/escrow.abi.js.map +0 -1
- package/dist/tempo/session/precompile/index.d.ts.map +0 -1
- package/dist/tempo/session/precompile/index.js.map +0 -1
- package/dist/tempo/session/server/ChannelOps.d.ts.map +0 -1
- package/dist/tempo/session/server/ChannelOps.js.map +0 -1
- package/dist/tempo/session/server/ChannelStore.d.ts.map +0 -1
- package/dist/tempo/session/server/ChannelStore.js.map +0 -1
- package/dist/tempo/session/server/CredentialVerification.d.ts.map +0 -1
- package/dist/tempo/session/server/CredentialVerification.js.map +0 -1
- package/dist/tempo/session/server/MeteredStream.d.ts.map +0 -1
- package/dist/tempo/session/server/MeteredStream.js.map +0 -1
- package/dist/tempo/session/server/RequestState.d.ts.map +0 -1
- package/dist/tempo/session/server/RequestState.js.map +0 -1
- package/dist/tempo/session/server/Session.d.ts.map +0 -1
- package/dist/tempo/session/server/Session.js.map +0 -1
- package/dist/tempo/session/server/Settlement.d.ts.map +0 -1
- package/dist/tempo/session/server/Settlement.js.map +0 -1
- package/dist/tempo/session/server/Sse.d.ts.map +0 -1
- package/dist/tempo/session/server/Sse.js.map +0 -1
- package/dist/tempo/session/server/Transports.d.ts.map +0 -1
- package/dist/tempo/session/server/Transports.js.map +0 -1
- package/dist/tempo/session/server/Ws.d.ts.map +0 -1
- package/dist/tempo/session/server/Ws.js.map +0 -1
- package/dist/tempo/session/server/index.d.ts.map +0 -1
- package/dist/tempo/session/server/index.js.map +0 -1
- package/dist/tempo/subscription/KeyAuthorization.d.ts.map +0 -1
- package/dist/tempo/subscription/KeyAuthorization.js.map +0 -1
- package/dist/tempo/subscription/Receipt.d.ts.map +0 -1
- package/dist/tempo/subscription/Receipt.js.map +0 -1
- package/dist/tempo/subscription/Store.d.ts.map +0 -1
- package/dist/tempo/subscription/Store.js.map +0 -1
- package/dist/tempo/subscription/Types.d.ts.map +0 -1
- package/dist/tempo/subscription/Types.js.map +0 -1
- package/dist/tempo/subscription/index.d.ts.map +0 -1
- package/dist/tempo/subscription/index.js.map +0 -1
- package/dist/validation/core.d.ts.map +0 -1
- package/dist/validation/core.js.map +0 -1
- package/dist/validation/index.d.ts.map +0 -1
- package/dist/validation/index.js.map +0 -1
- package/dist/viem/Account.d.ts.map +0 -1
- package/dist/viem/Account.js.map +0 -1
- package/dist/viem/Client.d.ts.map +0 -1
- package/dist/viem/Client.js.map +0 -1
- package/dist/x402/Assets.d.ts.map +0 -1
- package/dist/x402/Assets.js.map +0 -1
- package/dist/x402/Header.d.ts.map +0 -1
- package/dist/x402/Header.js.map +0 -1
- package/dist/x402/Types.d.ts.map +0 -1
- package/dist/x402/Types.js.map +0 -1
- package/dist/x402/client/Exact.d.ts.map +0 -1
- package/dist/x402/client/Exact.js.map +0 -1
- package/dist/x402/index.d.ts.map +0 -1
- package/dist/x402/index.js.map +0 -1
- package/dist/x402/internal/ChallengeBrand.d.ts.map +0 -1
- package/dist/x402/internal/ChallengeBrand.js.map +0 -1
- package/dist/x402/internal/RouteBinding.d.ts.map +0 -1
- package/dist/x402/internal/RouteBinding.js.map +0 -1
- package/dist/x402/server/EvmCharge.d.ts.map +0 -1
- package/dist/x402/server/EvmCharge.js.map +0 -1
- package/dist/x402/server/Facilitator.d.ts.map +0 -1
- package/dist/x402/server/Facilitator.js.map +0 -1
- package/dist/zod.d.ts.map +0 -1
- package/dist/zod.js.map +0 -1
- package/src/BodyDigest.test.ts +0 -43
- package/src/BodyDigest.ts +0 -55
- package/src/Challenge.fuzz.test.ts +0 -121
- package/src/Challenge.test-d.ts +0 -82
- package/src/Challenge.test.ts +0 -995
- package/src/Challenge.ts +0 -683
- package/src/Constants.ts +0 -58
- package/src/Credential.fuzz.test.ts +0 -62
- package/src/Credential.test.ts +0 -378
- package/src/Credential.ts +0 -217
- package/src/Errors.test.ts +0 -520
- package/src/Errors.ts +0 -448
- package/src/Expires.test.ts +0 -112
- package/src/Expires.ts +0 -59
- package/src/Html.ts +0 -67
- package/src/Mcp.ts +0 -85
- package/src/Method.test.ts +0 -177
- package/src/Method.ts +0 -617
- package/src/PaymentRequest.test.ts +0 -147
- package/src/PaymentRequest.ts +0 -108
- package/src/Receipt.test.ts +0 -151
- package/src/Receipt.ts +0 -146
- package/src/Store.test-d.ts +0 -195
- package/src/Store.test.ts +0 -357
- package/src/Store.ts +0 -329
- package/src/bin.ts +0 -4
- package/src/cli/account.ts +0 -269
- package/src/cli/cli.test.ts +0 -2221
- package/src/cli/cli.ts +0 -1649
- package/src/cli/config.test.ts +0 -89
- package/src/cli/config.ts +0 -50
- package/src/cli/internal.ts +0 -114
- package/src/cli/mcp.test.ts +0 -262
- package/src/cli/plugins/evm.ts +0 -55
- package/src/cli/plugins/index.ts +0 -4
- package/src/cli/plugins/plugin.ts +0 -84
- package/src/cli/plugins/stripe.ts +0 -174
- package/src/cli/plugins/tempo.ts +0 -1102
- package/src/cli/sessions/Manager.test.ts +0 -249
- package/src/cli/sessions/Manager.ts +0 -93
- package/src/cli/sessions/commands.ts +0 -444
- package/src/cli/sessions/request.test.ts +0 -51
- package/src/cli/sessions/request.ts +0 -353
- package/src/cli/sessions/store.test.ts +0 -581
- package/src/cli/sessions/store.ts +0 -940
- package/src/cli/utils.test.ts +0 -156
- package/src/cli/utils.ts +0 -394
- package/src/cli/validate/challenge.ts +0 -565
- package/src/cli/validate/discovery.test.ts +0 -435
- package/src/cli/validate/discovery.ts +0 -221
- package/src/cli/validate/helpers.ts +0 -166
- package/src/cli/validate/index.ts +0 -229
- package/src/cli/validate/messages.ts +0 -7
- package/src/cli/validate/payment.ts +0 -774
- package/src/cli/validate.test.ts +0 -843
- package/src/client/Methods.ts +0 -8
- package/src/client/Mppx.test-d.ts +0 -270
- package/src/client/Mppx.test.ts +0 -1065
- package/src/client/Mppx.ts +0 -466
- package/src/client/Transport.test.ts +0 -619
- package/src/client/Transport.ts +0 -191
- package/src/client/index.ts +0 -29
- package/src/client/internal/Fetch.browser.test.ts +0 -197
- package/src/client/internal/Fetch.test-d.ts +0 -109
- package/src/client/internal/Fetch.test.ts +0 -2336
- package/src/client/internal/Fetch.ts +0 -1079
- package/src/client/internal/MethodChallenge.ts +0 -35
- package/src/client/internal/MethodResponse.ts +0 -67
- package/src/client/internal/protocols/Mcp.test.ts +0 -220
- package/src/client/internal/protocols/Mcp.ts +0 -186
- package/src/client/internal/protocols/Mpp.ts +0 -21
- package/src/client/internal/protocols/Protocol.ts +0 -10
- package/src/client/internal/protocols/Shared.ts +0 -25
- package/src/client/internal/protocols/X402.ts +0 -46
- package/src/client/node.test.ts +0 -115
- package/src/client/node.ts +0 -247
- package/src/discovery/Discovery.test.ts +0 -214
- package/src/discovery/Discovery.ts +0 -105
- package/src/discovery/OpenApi.test.ts +0 -453
- package/src/discovery/OpenApi.ts +0 -224
- package/src/discovery/Validate.test.ts +0 -305
- package/src/discovery/Validate.ts +0 -77
- package/src/discovery/index.ts +0 -3
- package/src/env.d.ts +0 -12
- package/src/evm/Assets.ts +0 -1
- package/src/evm/Chains.ts +0 -11
- package/src/evm/Methods.ts +0 -44
- package/src/evm/PublicInterface.test-d.ts +0 -134
- package/src/evm/Types.ts +0 -140
- package/src/evm/client/Charge.test.ts +0 -347
- package/src/evm/client/Charge.ts +0 -187
- package/src/evm/client/Methods.ts +0 -19
- package/src/evm/client/index.ts +0 -6
- package/src/evm/index.ts +0 -16
- package/src/evm/server/Charge.test.ts +0 -339
- package/src/evm/server/Charge.ts +0 -290
- package/src/evm/server/Methods.ts +0 -22
- package/src/evm/server/index.ts +0 -6
- package/src/index.ts +0 -14
- package/src/internal/AcceptPayment.test.ts +0 -343
- package/src/internal/AcceptPayment.ts +0 -366
- package/src/internal/HeaderCodec.ts +0 -36
- package/src/internal/changeset.test.ts +0 -106
- package/src/internal/constantTimeEqual.test.ts +0 -47
- package/src/internal/constantTimeEqual.ts +0 -10
- package/src/internal/env.test.ts +0 -42
- package/src/internal/env.ts +0 -49
- package/src/internal/types.test-d.ts +0 -21
- package/src/internal/types.ts +0 -470
- package/src/mcp/client/McpClient.integration.test.ts +0 -652
- package/src/mcp/client/McpClient.test-d.ts +0 -144
- package/src/mcp/client/McpClient.test.ts +0 -463
- package/src/mcp/client/McpClient.ts +0 -307
- package/src/mcp/client/McpClient.unit.test.ts +0 -135
- package/src/mcp/client/index.ts +0 -2
- package/src/mcp/server/Transport.test.ts +0 -191
- package/src/mcp/server/Transport.ts +0 -111
- package/src/mcp/server/index.ts +0 -1
- package/src/middlewares/elysia.test.ts +0 -295
- package/src/middlewares/elysia.ts +0 -116
- package/src/middlewares/express.test.ts +0 -371
- package/src/middlewares/express.ts +0 -140
- package/src/middlewares/hono.test.ts +0 -476
- package/src/middlewares/hono.ts +0 -153
- package/src/middlewares/internal/mppx.test.ts +0 -177
- package/src/middlewares/internal/mppx.ts +0 -67
- package/src/middlewares/nextjs.test.ts +0 -369
- package/src/middlewares/nextjs.ts +0 -107
- package/src/proxy/Proxy.test.ts +0 -1031
- package/src/proxy/Proxy.ts +0 -345
- package/src/proxy/Service.test.ts +0 -182
- package/src/proxy/Service.ts +0 -253
- package/src/proxy/index.ts +0 -6
- package/src/proxy/internal/Headers.test.ts +0 -139
- package/src/proxy/internal/Headers.ts +0 -66
- package/src/proxy/internal/Route.test.ts +0 -217
- package/src/proxy/internal/Route.ts +0 -64
- package/src/proxy/services/anthropic.test.ts +0 -132
- package/src/proxy/services/anthropic.ts +0 -52
- package/src/proxy/services/openai.test.ts +0 -157
- package/src/proxy/services/openai.ts +0 -59
- package/src/proxy/services/stripe.test.ts +0 -175
- package/src/proxy/services/stripe.ts +0 -58
- package/src/server/Methods.ts +0 -3
- package/src/server/Mppx.authorize.test.ts +0 -210
- package/src/server/Mppx.test-d.ts +0 -360
- package/src/server/Mppx.test.ts +0 -5813
- package/src/server/Mppx.ts +0 -2623
- package/src/server/NodeListener.test.ts +0 -293
- package/src/server/NodeListener.ts +0 -45
- package/src/server/Request.test.ts +0 -255
- package/src/server/Request.ts +0 -155
- package/src/server/Response.test.ts +0 -32
- package/src/server/Response.ts +0 -45
- package/src/server/Transport.test.ts +0 -598
- package/src/server/Transport.ts +0 -320
- package/src/server/index.ts +0 -9
- package/src/server/internal/html/compose.main.gen.ts +0 -2
- package/src/server/internal/html/compose.main.ts +0 -88
- package/src/server/internal/html/config.ts +0 -672
- package/src/server/internal/html/constants.ts +0 -28
- package/src/server/internal/html/serviceWorker.client.ts +0 -28
- package/src/server/internal/html/serviceWorker.gen.ts +0 -2
- package/src/server/internal/html/serviceWorker.ts +0 -27
- package/src/server/internal/html/tsconfig.compose.json +0 -8
- package/src/server/internal/html/tsconfig.worker.client.json +0 -8
- package/src/server/internal/html/tsconfig.worker.json +0 -8
- package/src/server/internal/scope.ts +0 -43
- package/src/stripe/Charge.integration.test.ts +0 -329
- package/src/stripe/Methods.test.ts +0 -62
- package/src/stripe/Methods.ts +0 -44
- package/src/stripe/client/Charge.test.ts +0 -205
- package/src/stripe/client/Charge.ts +0 -132
- package/src/stripe/client/Methods.ts +0 -37
- package/src/stripe/client/index.ts +0 -2
- package/src/stripe/index.ts +0 -1
- package/src/stripe/internal/constants.ts +0 -7
- package/src/stripe/internal/types.ts +0 -46
- package/src/stripe/server/Charge.test-d.ts +0 -66
- package/src/stripe/server/Charge.test.ts +0 -621
- package/src/stripe/server/Charge.ts +0 -434
- package/src/stripe/server/Methods.ts +0 -24
- package/src/stripe/server/index.ts +0 -2
- package/src/stripe/server/internal/html/main.ts +0 -165
- package/src/stripe/server/internal/html/node_modules/.bin/mppx +0 -22
- package/src/stripe/server/internal/html/node_modules/.bin/mppx.src +0 -22
- package/src/stripe/server/internal/html/package.json +0 -9
- package/src/stripe/server/internal/html/stripe-js-pure.d.ts +0 -7
- package/src/stripe/server/internal/html/tsconfig.json +0 -8
- package/src/stripe/server/internal/html/types.ts +0 -5
- package/src/stripe/server/internal/html.gen.ts +0 -2
- package/src/tempo/AccessKeyAuthorization.test.ts +0 -141
- package/src/tempo/Attribution.test.ts +0 -294
- package/src/tempo/Attribution.ts +0 -185
- package/src/tempo/Methods.test.ts +0 -425
- package/src/tempo/Methods.ts +0 -367
- package/src/tempo/Proof.conformance.test.ts +0 -146
- package/src/tempo/Proof.test-d.ts +0 -32
- package/src/tempo/Proof.test.ts +0 -40
- package/src/tempo/Proof.ts +0 -69
- package/src/tempo/PublicExports.test-d.ts +0 -130
- package/src/tempo/Subscription.integration.test.ts +0 -591
- package/src/tempo/client/Charge.test.ts +0 -501
- package/src/tempo/client/Charge.ts +0 -289
- package/src/tempo/client/Methods.ts +0 -45
- package/src/tempo/client/ResolveAccount.ts +0 -46
- package/src/tempo/client/Subscription.test.ts +0 -180
- package/src/tempo/client/Subscription.ts +0 -156
- package/src/tempo/client/index.ts +0 -17
- package/src/tempo/index.ts +0 -5
- package/src/tempo/internal/account.ts +0 -56
- package/src/tempo/internal/address.ts +0 -6
- package/src/tempo/internal/auto-swap.test.ts +0 -198
- package/src/tempo/internal/auto-swap.ts +0 -188
- package/src/tempo/internal/charge.test.ts +0 -66
- package/src/tempo/internal/charge.ts +0 -43
- package/src/tempo/internal/defaults.test.ts +0 -95
- package/src/tempo/internal/defaults.ts +0 -53
- package/src/tempo/internal/fee-payer.test.ts +0 -1177
- package/src/tempo/internal/fee-payer.ts +0 -808
- package/src/tempo/internal/fee-token.test.ts +0 -165
- package/src/tempo/internal/fee-token.ts +0 -72
- package/src/tempo/internal/proof.test.ts +0 -97
- package/src/tempo/internal/proof.ts +0 -87
- package/src/tempo/internal/selectors.ts +0 -10
- package/src/tempo/internal/types.ts +0 -19
- package/src/tempo/legacy/AccessKeyAuthorization.test.ts +0 -162
- package/src/tempo/legacy/README.md +0 -9
- package/src/tempo/legacy/client/ChannelOps.test.ts +0 -379
- package/src/tempo/legacy/client/ChannelOps.ts +0 -271
- package/src/tempo/legacy/client/Session.test.ts +0 -800
- package/src/tempo/legacy/client/Session.ts +0 -397
- package/src/tempo/legacy/client/SessionManager.test.ts +0 -468
- package/src/tempo/legacy/client/SessionManager.ts +0 -909
- package/src/tempo/legacy/client/index.ts +0 -6
- package/src/tempo/legacy/index.ts +0 -6
- package/src/tempo/legacy/server/Defaults.test-d.ts +0 -9
- package/src/tempo/legacy/server/Session.test.ts +0 -6370
- package/src/tempo/legacy/server/Session.ts +0 -1024
- package/src/tempo/legacy/server/index.ts +0 -4
- package/src/tempo/legacy/session/Chain.test.ts +0 -1349
- package/src/tempo/legacy/session/Chain.ts +0 -830
- package/src/tempo/legacy/session/Channel.test.ts +0 -109
- package/src/tempo/legacy/session/Channel.ts +0 -51
- package/src/tempo/legacy/session/ChannelStore.test.ts +0 -58
- package/src/tempo/legacy/session/ChannelStore.ts +0 -39
- package/src/tempo/legacy/session/Types.ts +0 -91
- package/src/tempo/legacy/session/Voucher.test.ts +0 -410
- package/src/tempo/legacy/session/Voucher.ts +0 -183
- package/src/tempo/legacy/session/escrow.abi.ts +0 -760
- package/src/tempo/legacy/session/index.ts +0 -8
- package/src/tempo/server/AtomicStore.test-d.ts +0 -50
- package/src/tempo/server/Charge.test.ts +0 -6121
- package/src/tempo/server/Charge.ts +0 -1351
- package/src/tempo/server/Methods.ts +0 -106
- package/src/tempo/server/Relay.test.ts +0 -677
- package/src/tempo/server/Relay.ts +0 -297
- package/src/tempo/server/SponsorBudget.test.ts +0 -154
- package/src/tempo/server/SponsorBudget.ts +0 -219
- package/src/tempo/server/Sse.test.ts +0 -321
- package/src/tempo/server/Subscription.test.ts +0 -1944
- package/src/tempo/server/Subscription.ts +0 -1333
- package/src/tempo/server/index.ts +0 -12
- package/src/tempo/server/internal/html/main.ts +0 -115
- package/src/tempo/server/internal/html/node_modules/.bin/mppx +0 -22
- package/src/tempo/server/internal/html/node_modules/.bin/mppx.src +0 -22
- package/src/tempo/server/internal/html/package.json +0 -10
- package/src/tempo/server/internal/html/tsconfig.json +0 -8
- package/src/tempo/server/internal/html.gen.ts +0 -2
- package/src/tempo/server/internal/request-body.test.ts +0 -210
- package/src/tempo/server/internal/request-body.ts +0 -61
- package/src/tempo/server/internal/transport.test.ts +0 -903
- package/src/tempo/server/internal/transport.ts +0 -310
- package/src/tempo/session/README.md +0 -208
- package/src/tempo/session/Snapshot.test.ts +0 -41
- package/src/tempo/session/Snapshot.ts +0 -95
- package/src/tempo/session/client/ChannelOps.test.ts +0 -218
- package/src/tempo/session/client/ChannelOps.ts +0 -348
- package/src/tempo/session/client/ChannelStore.ts +0 -111
- package/src/tempo/session/client/CredentialState.test.ts +0 -789
- package/src/tempo/session/client/CredentialState.ts +0 -942
- package/src/tempo/session/client/ReceiptCoordinator.ts +0 -95
- package/src/tempo/session/client/Runtime.test.ts +0 -1104
- package/src/tempo/session/client/Runtime.ts +0 -1008
- package/src/tempo/session/client/Session.test.ts +0 -1355
- package/src/tempo/session/client/Session.ts +0 -420
- package/src/tempo/session/client/SessionManager.test.ts +0 -1899
- package/src/tempo/session/client/SessionManager.ts +0 -996
- package/src/tempo/session/client/Transports.test.ts +0 -1141
- package/src/tempo/session/client/Transports.ts +0 -1534
- package/src/tempo/session/client/index.ts +0 -40
- package/src/tempo/session/client/internal/SessionManager.ts +0 -36
- package/src/tempo/session/index.ts +0 -7
- package/src/tempo/session/precompile/Chain.integration.test.ts +0 -339
- package/src/tempo/session/precompile/Chain.test.ts +0 -1641
- package/src/tempo/session/precompile/Chain.ts +0 -1149
- package/src/tempo/session/precompile/Channel.test.ts +0 -147
- package/src/tempo/session/precompile/Channel.ts +0 -108
- package/src/tempo/session/precompile/Protocol.test.ts +0 -358
- package/src/tempo/session/precompile/Protocol.ts +0 -520
- package/src/tempo/session/precompile/Voucher.test.ts +0 -354
- package/src/tempo/session/precompile/Voucher.ts +0 -162
- package/src/tempo/session/precompile/escrow.abi.ts +0 -226
- package/src/tempo/session/precompile/index.ts +0 -33
- package/src/tempo/session/server/ChannelOps.test.ts +0 -129
- package/src/tempo/session/server/ChannelOps.ts +0 -157
- package/src/tempo/session/server/ChannelStore.test.ts +0 -1093
- package/src/tempo/session/server/ChannelStore.ts +0 -835
- package/src/tempo/session/server/CredentialVerification.test.ts +0 -299
- package/src/tempo/session/server/CredentialVerification.ts +0 -775
- package/src/tempo/session/server/MeteredStream.ts +0 -95
- package/src/tempo/session/server/RequestState.test.ts +0 -574
- package/src/tempo/session/server/RequestState.ts +0 -507
- package/src/tempo/session/server/Session.integration.test.ts +0 -449
- package/src/tempo/session/server/Session.test.ts +0 -3862
- package/src/tempo/session/server/Session.ts +0 -570
- package/src/tempo/session/server/Settlement.test.ts +0 -345
- package/src/tempo/session/server/Settlement.ts +0 -527
- package/src/tempo/session/server/Sse.fuzz.test.ts +0 -138
- package/src/tempo/session/server/Sse.test.ts +0 -557
- package/src/tempo/session/server/Sse.ts +0 -254
- package/src/tempo/session/server/Transports.test.ts +0 -346
- package/src/tempo/session/server/Transports.ts +0 -255
- package/src/tempo/session/server/Ws.test.ts +0 -594
- package/src/tempo/session/server/Ws.ts +0 -385
- package/src/tempo/session/server/index.ts +0 -12
- package/src/tempo/subscription/KeyAuthorization.test.ts +0 -282
- package/src/tempo/subscription/KeyAuthorization.ts +0 -396
- package/src/tempo/subscription/Receipt.ts +0 -28
- package/src/tempo/subscription/Store.test.ts +0 -609
- package/src/tempo/subscription/Store.ts +0 -449
- package/src/tempo/subscription/Types.ts +0 -68
- package/src/tempo/subscription/index.ts +0 -23
- package/src/tsconfig.json +0 -10
- package/src/validation/core.ts +0 -386
- package/src/validation/index.ts +0 -11
- package/src/viem/Account.test.ts +0 -72
- package/src/viem/Account.ts +0 -30
- package/src/viem/Client.test.ts +0 -366
- package/src/viem/Client.ts +0 -93
- package/src/x402/Assets.test.ts +0 -253
- package/src/x402/Assets.ts +0 -221
- package/src/x402/Exact.e2e.test.ts +0 -448
- package/src/x402/Exact.localnet.test.ts +0 -475
- package/src/x402/Header.test.ts +0 -73
- package/src/x402/Header.ts +0 -79
- package/src/x402/PublicInterface.test-d.ts +0 -39
- package/src/x402/Types.ts +0 -248
- package/src/x402/client/Exact.test.ts +0 -309
- package/src/x402/client/Exact.ts +0 -186
- package/src/x402/index.ts +0 -6
- package/src/x402/internal/ChallengeBrand.ts +0 -14
- package/src/x402/internal/RouteBinding.ts +0 -18
- package/src/x402/server/EvmCharge.ts +0 -394
- package/src/x402/server/Facilitator.test.ts +0 -111
- package/src/x402/server/Facilitator.ts +0 -56
- package/src/zod.test.ts +0 -169
- package/src/zod.ts +0 -71
|
@@ -440,6 +440,7 @@ export async function closeHttpSession(parameters) {
|
|
|
440
440
|
challengeId: closeChallenge.id,
|
|
441
441
|
channelId: parameters.target.channelId,
|
|
442
442
|
expectedCloseAmount: signedCloseAmount,
|
|
443
|
+
minimumSpent: parameters.getMinimumSpent?.() ?? 0n,
|
|
443
444
|
receipt,
|
|
444
445
|
}))
|
|
445
446
|
throw new Error('Session close response included a mismatched payment receipt.');
|
|
@@ -698,7 +699,10 @@ export function isExpectedSocketReceipt(parameters) {
|
|
|
698
699
|
export function validateSocketCloseReadyReceipt(parameters) {
|
|
699
700
|
if (!isExpectedSocketReceipt(parameters))
|
|
700
701
|
return 'received mismatched payment-close-ready frame';
|
|
701
|
-
|
|
702
|
+
const spent = Ws.parseUint96Amount(parameters.receipt.spent);
|
|
703
|
+
if (spent === undefined)
|
|
704
|
+
return 'received invalid payment-close-ready spend';
|
|
705
|
+
if (spent > parameters.cumulativeAmount) {
|
|
702
706
|
return 'received payment-close-ready beyond local voucher state';
|
|
703
707
|
}
|
|
704
708
|
return undefined;
|
|
@@ -710,7 +714,13 @@ export function validateSocketPaymentReceipt(parameters) {
|
|
|
710
714
|
return 'received mismatched payment-receipt frame';
|
|
711
715
|
if (expectedCloseAmount !== null &&
|
|
712
716
|
Boolean(receipt.txHash) &&
|
|
713
|
-
!isExpectedCloseReceipt({
|
|
717
|
+
!isExpectedCloseReceipt({
|
|
718
|
+
challengeId,
|
|
719
|
+
channelId,
|
|
720
|
+
expectedCloseAmount,
|
|
721
|
+
minimumSpent: BigInt(expectedCloseAmount),
|
|
722
|
+
receipt,
|
|
723
|
+
})) {
|
|
714
724
|
return 'received mismatched payment-close receipt frame';
|
|
715
725
|
}
|
|
716
726
|
return undefined;
|
|
@@ -177,17 +177,28 @@ export type ChannelTransactionOptions = {
|
|
|
177
177
|
account?: Account | undefined;
|
|
178
178
|
/** Candidate fee tokens used when resolving a fee token for fee-sponsored transactions. */
|
|
179
179
|
candidateFeeTokens?: readonly Address[] | undefined;
|
|
180
|
-
/** Fee-payer account
|
|
181
|
-
feePayer?: Account | undefined;
|
|
180
|
+
/** Fee-payer account, or `true` when the client transport uses a configured hosted fee-payer service. */
|
|
181
|
+
feePayer?: Account | true | undefined;
|
|
182
182
|
/** Optional fee-payer gas and total-fee limits enforced before co-signing. */
|
|
183
183
|
feePayerPolicy?: Partial<FeePayer.Policy> | undefined;
|
|
184
184
|
/** Explicit fee token for the transaction. */
|
|
185
185
|
feeToken?: Address | undefined;
|
|
186
186
|
};
|
|
187
|
+
/** Simulates an unsponsored client-signed session transaction without broadcasting it. */
|
|
188
|
+
export declare function simulateCredentialTransaction(parameters: {
|
|
189
|
+
/** viem client used for the read-only execution simulation. */
|
|
190
|
+
client: TransactionClient;
|
|
191
|
+
/** Fee-payer configuration for the eventual broadcast. Sponsored transactions are simulated after completion. */
|
|
192
|
+
feePayer?: Account | true | undefined;
|
|
193
|
+
/** Parsed client-signed Tempo transaction. */
|
|
194
|
+
transaction: ReturnType<(typeof Transaction)['deserialize']>;
|
|
195
|
+
}): Promise<void>;
|
|
187
196
|
/**
|
|
188
197
|
* Submit a settle transaction on-chain.
|
|
189
198
|
*/
|
|
190
199
|
export declare function settleOnChain(client: Client, descriptor: ChannelDescriptor, cumulativeAmount: bigint, signature: Hex, escrow?: Address, options?: ChannelTransactionOptions): Promise<Hex>;
|
|
200
|
+
/** Submit a settle transaction through the first-party machine-token session router. */
|
|
201
|
+
export declare function settleMachineSessionOnChain(client: Client, descriptor: ChannelDescriptor, cumulativeAmount: bigint, signature: Hex, authorizationSignature: Hex, router: Address, options?: ChannelTransactionOptions): Promise<Hex>;
|
|
191
202
|
/**
|
|
192
203
|
* Submit a top-up transaction on-chain.
|
|
193
204
|
*/
|
|
@@ -204,6 +215,8 @@ export declare function withdrawOnChain(client: Client, descriptor: ChannelDescr
|
|
|
204
215
|
* Submit a close transaction on-chain.
|
|
205
216
|
*/
|
|
206
217
|
export declare function closeOnChain(client: Client, descriptor: ChannelDescriptor, cumulativeAmount: bigint, captureAmount: bigint, signature: Hex, escrow?: Address, options?: ChannelTransactionOptions): Promise<Hex>;
|
|
218
|
+
/** Submit a cooperative close through the first-party machine-token session router. */
|
|
219
|
+
export declare function closeMachineSessionOnChain(client: Client, descriptor: ChannelDescriptor, cumulativeAmount: bigint, signature: Hex, authorizationSignature: Hex, refundSignature: Hex, router: Address, options?: ChannelTransactionOptions): Promise<Hex>;
|
|
207
220
|
/** Receipt event shape emitted by TIP20EscrowChannel precompile management calls. */
|
|
208
221
|
export type ChannelReceiptEvent = {
|
|
209
222
|
args: {
|
|
@@ -270,6 +283,8 @@ export type BroadcastOpenTransactionResult = {
|
|
|
270
283
|
};
|
|
271
284
|
/** Inputs for broadcasting and verifying a client-signed TIP-1034 open transaction. */
|
|
272
285
|
export type BroadcastOpenTransactionParameters = {
|
|
286
|
+
/** Fee tokens allowed when the server completes a sponsored transaction. Defaults to the channel currency. */
|
|
287
|
+
allowedFeeTokens?: readonly Address[] | undefined;
|
|
273
288
|
/** Hook invoked after calldata validation but before broadcasting. */
|
|
274
289
|
beforeBroadcast?: ((result: Omit<BroadcastOpenTransactionResult, 'txHash' | 'state'>) => Promise<void> | void) | undefined;
|
|
275
290
|
/** Challenge expiration propagated into fee-payer policy checks. */
|
|
@@ -301,6 +316,15 @@ export type BroadcastOpenTransactionParameters = {
|
|
|
301
316
|
/** Client-signed serialized open transaction. */
|
|
302
317
|
serializedTransaction: Hex;
|
|
303
318
|
};
|
|
319
|
+
/** Inputs for validating a client-signed TIP-1034 open transaction without broadcasting it. */
|
|
320
|
+
export type ValidateOpenCredentialTransactionParameters = Omit<BroadcastOpenTransactionParameters, 'beforeBroadcast' | 'client'>;
|
|
321
|
+
/** Validated fields recovered from a client-signed TIP-1034 open transaction. */
|
|
322
|
+
export type ValidatedOpenCredentialTransaction = Omit<BroadcastOpenTransactionResult, 'state' | 'txHash'> & {
|
|
323
|
+
/** Parsed client-signed transaction, reused by simulation and broadcast. */
|
|
324
|
+
transaction: ReturnType<(typeof Transaction)['deserialize']>;
|
|
325
|
+
};
|
|
326
|
+
/** Validates the immutable fields of a client-signed TIP-1034 open transaction. */
|
|
327
|
+
export declare function validateOpenCredentialTransaction(parameters: ValidateOpenCredentialTransactionParameters): ValidatedOpenCredentialTransaction;
|
|
304
328
|
/** Broadcast and validate a client-signed TIP-1034 open transaction. */
|
|
305
329
|
export declare function broadcastOpenTransaction(parameters: BroadcastOpenTransactionParameters): Promise<BroadcastOpenTransactionResult>;
|
|
306
330
|
/** Result returned after a TIP-1034 top-up transaction is broadcast and verified. */
|
|
@@ -316,6 +340,8 @@ export type BroadcastTopUpTransactionResult = {
|
|
|
316
340
|
export type BroadcastTopUpTransactionParameters = {
|
|
317
341
|
/** Additional deposit amount expected in the top-up calldata. */
|
|
318
342
|
additionalDeposit: bigint;
|
|
343
|
+
/** Fee tokens allowed when the server completes a sponsored transaction. Defaults to the channel currency. */
|
|
344
|
+
allowedFeeTokens?: readonly Address[] | undefined;
|
|
319
345
|
/** Challenge expiration propagated into fee-payer policy checks. */
|
|
320
346
|
challengeExpires?: string | undefined;
|
|
321
347
|
/** Chain ID used for fee-payer transaction signing. */
|
|
@@ -337,6 +363,15 @@ export type BroadcastTopUpTransactionParameters = {
|
|
|
337
363
|
/** Client-signed serialized top-up transaction. */
|
|
338
364
|
serializedTransaction: Hex;
|
|
339
365
|
};
|
|
366
|
+
/** Inputs for validating a client-signed TIP-1034 top-up transaction without broadcasting it. */
|
|
367
|
+
export type ValidateTopUpCredentialTransactionParameters = Omit<BroadcastTopUpTransactionParameters, 'client'>;
|
|
368
|
+
/** Validated fields recovered from a client-signed TIP-1034 top-up transaction. */
|
|
369
|
+
export type ValidatedTopUpCredentialTransaction = {
|
|
370
|
+
/** Parsed client-signed transaction, reused by simulation and broadcast. */
|
|
371
|
+
transaction: ReturnType<(typeof Transaction)['deserialize']>;
|
|
372
|
+
};
|
|
373
|
+
/** Validates the immutable fields of a client-signed TIP-1034 top-up transaction. */
|
|
374
|
+
export declare function validateTopUpCredentialTransaction(parameters: ValidateTopUpCredentialTransactionParameters): ValidatedTopUpCredentialTransaction;
|
|
340
375
|
/** Broadcast and validate a client-signed TIP-1034 top-up transaction. */
|
|
341
376
|
export declare function broadcastTopUpTransaction(parameters: BroadcastTopUpTransactionParameters): Promise<BroadcastTopUpTransactionResult>;
|
|
342
377
|
export {};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { decodeFunctionData, encodeFunctionData, isAddressEqual, parseEventLogs } from 'viem';
|
|
1
|
+
import { decodeFunctionData, encodeFunctionData, isAddressEqual, parseAbi, parseEventLogs, } from 'viem';
|
|
2
2
|
import { call, prepareTransactionRequest, readContract, sendRawTransaction, sendRawTransactionSync, sendTransaction as sendViemTransaction, signTransaction, waitForTransactionReceipt, } from 'viem/actions';
|
|
3
3
|
import { Abis, Addresses, Transaction } from 'viem/tempo';
|
|
4
4
|
import { BadRequestError, VerificationFailedError } from '../../../Errors.js';
|
|
@@ -8,6 +8,10 @@ import * as ChannelOps from '../server/ChannelOps.js';
|
|
|
8
8
|
import * as ChannelUtils from './Channel.js';
|
|
9
9
|
import { escrowAbi } from './escrow.abi.js';
|
|
10
10
|
import { tip20ChannelEscrow } from './Protocol.js';
|
|
11
|
+
const machineSessionAbi = parseAbi([
|
|
12
|
+
'function settleSession((address payer,address payee,address operator,address token,bytes32 salt,address authorizedSigner,bytes32 expiringNonceHash) descriptor,uint96 cumulativeAmount,bytes signature,bytes authorizationSignature)',
|
|
13
|
+
'function closeSession((address payer,address payee,address operator,address token,bytes32 salt,address authorizedSigner,bytes32 expiringNonceHash) descriptor,uint96 cumulativeAmount,bytes signature,bytes authorizationSignature,bytes refundSignature)',
|
|
14
|
+
]);
|
|
11
15
|
const uint96Max = 2n ** 96n - 1n;
|
|
12
16
|
function readBytes32(value, label) {
|
|
13
17
|
if (typeof value === 'string' && /^0x[0-9a-fA-F]{64}$/.test(value))
|
|
@@ -284,6 +288,29 @@ async function simulateTempoTransaction(client, request) {
|
|
|
284
288
|
// fee-payer fields together. Keep that compatibility cast in one place.
|
|
285
289
|
await call(client, request);
|
|
286
290
|
}
|
|
291
|
+
/** Simulates an unsponsored client-signed session transaction without broadcasting it. */
|
|
292
|
+
export async function simulateCredentialTransaction(parameters) {
|
|
293
|
+
if (parameters.feePayer)
|
|
294
|
+
return;
|
|
295
|
+
await simulateTempoTransaction(parameters.client, FeePayer.simulationTransaction(parameters.transaction, { feePayer: false }));
|
|
296
|
+
}
|
|
297
|
+
function validateCredentialSponsorship(parameters) {
|
|
298
|
+
const { allowedFeeTokens, challengeExpires, chainId, details, feePayer, feePayerPolicy, transaction, } = parameters;
|
|
299
|
+
if (!feePayer || feePayer === true)
|
|
300
|
+
return;
|
|
301
|
+
FeePayer.prepareSponsoredTransaction({
|
|
302
|
+
account: feePayer,
|
|
303
|
+
allowedFeeTokens,
|
|
304
|
+
challengeExpires,
|
|
305
|
+
chainId,
|
|
306
|
+
details,
|
|
307
|
+
policy: feePayerPolicy,
|
|
308
|
+
transaction: {
|
|
309
|
+
...transaction,
|
|
310
|
+
...(allowedFeeTokens[0] ? { feeToken: transaction.feeToken ?? allowedFeeTokens[0] } : {}),
|
|
311
|
+
},
|
|
312
|
+
});
|
|
313
|
+
}
|
|
287
314
|
async function signTempoTransaction(client, transaction) {
|
|
288
315
|
return (await signTransaction(client, transaction));
|
|
289
316
|
}
|
|
@@ -299,13 +326,14 @@ async function prepareFeePayerCallTransaction(client, parameters) {
|
|
|
299
326
|
});
|
|
300
327
|
}
|
|
301
328
|
function sendPrecompileContractCall(client, parameters) {
|
|
302
|
-
const { account, data, feeToken, to } = parameters;
|
|
329
|
+
const { account, data, feePayer, feeToken, to } = parameters;
|
|
303
330
|
// `feeToken` is Tempo-specific and not represented on viem's base
|
|
304
331
|
// transaction request type.
|
|
305
332
|
return sendViemTransaction(client, {
|
|
306
333
|
...(account ? { account } : {}),
|
|
307
334
|
to,
|
|
308
335
|
data,
|
|
336
|
+
...(feePayer ? { feePayer } : {}),
|
|
309
337
|
...(feeToken ? { feeToken } : {}),
|
|
310
338
|
});
|
|
311
339
|
}
|
|
@@ -317,6 +345,26 @@ export async function settleOnChain(client, descriptor, cumulativeAmount, signat
|
|
|
317
345
|
const args = [descriptorTuple(descriptor), cumulativeAmount, signature];
|
|
318
346
|
return sendPrecompileTransaction(client, escrow, encodeFunctionData({ abi: escrowAbi, functionName: 'settle', args }), 'settle', options);
|
|
319
347
|
}
|
|
348
|
+
function encodeMachineSessionCall(descriptor, cumulativeAmount, signature, authorizationSignature, refundSignature) {
|
|
349
|
+
assertUint96(cumulativeAmount);
|
|
350
|
+
const args = [
|
|
351
|
+
descriptorTuple(descriptor),
|
|
352
|
+
cumulativeAmount,
|
|
353
|
+
signature,
|
|
354
|
+
authorizationSignature,
|
|
355
|
+
];
|
|
356
|
+
return refundSignature === undefined
|
|
357
|
+
? encodeFunctionData({ abi: machineSessionAbi, functionName: 'settleSession', args })
|
|
358
|
+
: encodeFunctionData({
|
|
359
|
+
abi: machineSessionAbi,
|
|
360
|
+
functionName: 'closeSession',
|
|
361
|
+
args: [...args, refundSignature],
|
|
362
|
+
});
|
|
363
|
+
}
|
|
364
|
+
/** Submit a settle transaction through the first-party machine-token session router. */
|
|
365
|
+
export async function settleMachineSessionOnChain(client, descriptor, cumulativeAmount, signature, authorizationSignature, router, options) {
|
|
366
|
+
return sendPrecompileTransaction(client, router, encodeMachineSessionCall(descriptor, cumulativeAmount, signature, authorizationSignature), 'settle machine-token session', options);
|
|
367
|
+
}
|
|
320
368
|
/**
|
|
321
369
|
* Submit a top-up transaction on-chain.
|
|
322
370
|
*/
|
|
@@ -348,6 +396,10 @@ export async function closeOnChain(client, descriptor, cumulativeAmount, capture
|
|
|
348
396
|
const args = [descriptorTuple(descriptor), cumulativeAmount, captureAmount, signature];
|
|
349
397
|
return sendPrecompileTransaction(client, escrow, encodeFunctionData({ abi: escrowAbi, functionName: 'close', args }), 'close', options);
|
|
350
398
|
}
|
|
399
|
+
/** Submit a cooperative close through the first-party machine-token session router. */
|
|
400
|
+
export async function closeMachineSessionOnChain(client, descriptor, cumulativeAmount, signature, authorizationSignature, refundSignature, router, options) {
|
|
401
|
+
return sendPrecompileTransaction(client, router, encodeMachineSessionCall(descriptor, cumulativeAmount, signature, authorizationSignature, refundSignature), 'close machine-token session', options);
|
|
402
|
+
}
|
|
351
403
|
/**
|
|
352
404
|
* Asserts that a deserialized transaction has an existing sender signature.
|
|
353
405
|
*/
|
|
@@ -430,8 +482,8 @@ export async function sendCredentialTransaction(parameters) {
|
|
|
430
482
|
});
|
|
431
483
|
return receipt;
|
|
432
484
|
}
|
|
433
|
-
/**
|
|
434
|
-
export
|
|
485
|
+
/** Validates the immutable fields of a client-signed TIP-1034 open transaction. */
|
|
486
|
+
export function validateOpenCredentialTransaction(parameters) {
|
|
435
487
|
const { transaction, call, prefixCalls } = parsePrecompileCredentialTransaction({
|
|
436
488
|
escrowContract: parameters.escrowContract,
|
|
437
489
|
feePayer: parameters.feePayer,
|
|
@@ -464,6 +516,19 @@ export async function broadcastOpenTransaction(parameters) {
|
|
|
464
516
|
});
|
|
465
517
|
if (parameters.feePayer)
|
|
466
518
|
assertSenderSigned(transaction);
|
|
519
|
+
validateCredentialSponsorship({
|
|
520
|
+
allowedFeeTokens: parameters.allowedFeeTokens ?? [parameters.expectedCurrency],
|
|
521
|
+
challengeExpires: parameters.challengeExpires,
|
|
522
|
+
chainId: parameters.chainId,
|
|
523
|
+
details: {
|
|
524
|
+
channelId: parameters.expectedChannelId,
|
|
525
|
+
currency: parameters.expectedCurrency,
|
|
526
|
+
recipient: parameters.expectedPayee,
|
|
527
|
+
},
|
|
528
|
+
feePayer: parameters.feePayer,
|
|
529
|
+
feePayerPolicy: parameters.feePayerPolicy,
|
|
530
|
+
transaction,
|
|
531
|
+
});
|
|
467
532
|
const expiringNonceHash = ChannelUtils.computeExpiringNonceHash(ChannelUtils.transactionForExpiringNonceHash({
|
|
468
533
|
feePayer: parameters.feePayer,
|
|
469
534
|
transaction,
|
|
@@ -472,16 +537,21 @@ export async function broadcastOpenTransaction(parameters) {
|
|
|
472
537
|
throw new VerificationFailedError({
|
|
473
538
|
reason: 'credential expiringNonceHash does not match transaction',
|
|
474
539
|
});
|
|
540
|
+
return { descriptor, expiringNonceHash, openDeposit: open.deposit, transaction };
|
|
541
|
+
}
|
|
542
|
+
/** Broadcast and validate a client-signed TIP-1034 open transaction. */
|
|
543
|
+
export async function broadcastOpenTransaction(parameters) {
|
|
544
|
+
const { descriptor, expiringNonceHash, openDeposit, transaction } = validateOpenCredentialTransaction(parameters);
|
|
475
545
|
await parameters.beforeBroadcast?.({
|
|
476
546
|
descriptor,
|
|
477
547
|
expiringNonceHash,
|
|
478
|
-
openDeposit
|
|
548
|
+
openDeposit,
|
|
479
549
|
});
|
|
480
550
|
const receipt = await sendCredentialTransaction({
|
|
481
551
|
challengeExpires: parameters.challengeExpires,
|
|
482
552
|
chainId: parameters.chainId,
|
|
483
553
|
client: parameters.client,
|
|
484
|
-
allowedFeeTokens: [parameters.expectedCurrency],
|
|
554
|
+
allowedFeeTokens: parameters.allowedFeeTokens ?? [parameters.expectedCurrency],
|
|
485
555
|
details: {
|
|
486
556
|
channelId: parameters.expectedChannelId,
|
|
487
557
|
currency: parameters.expectedCurrency,
|
|
@@ -502,7 +572,7 @@ export async function broadcastOpenTransaction(parameters) {
|
|
|
502
572
|
emittedExpiringNonceHash: opened.expiringNonceHash,
|
|
503
573
|
escrow: parameters.escrowContract,
|
|
504
574
|
expectedChannelId: parameters.expectedChannelId,
|
|
505
|
-
openDeposit
|
|
575
|
+
openDeposit,
|
|
506
576
|
});
|
|
507
577
|
const chainChannel = await readbackWithRetry(() => getChannel(parameters.client, descriptor, parameters.escrowContract, receipt.blockNumber));
|
|
508
578
|
const state = chainChannel.state;
|
|
@@ -512,11 +582,11 @@ export async function broadcastOpenTransaction(parameters) {
|
|
|
512
582
|
descriptor,
|
|
513
583
|
state,
|
|
514
584
|
expiringNonceHash: opened.expiringNonceHash,
|
|
515
|
-
openDeposit
|
|
585
|
+
openDeposit,
|
|
516
586
|
};
|
|
517
587
|
}
|
|
518
|
-
/**
|
|
519
|
-
export
|
|
588
|
+
/** Validates the immutable fields of a client-signed TIP-1034 top-up transaction. */
|
|
589
|
+
export function validateTopUpCredentialTransaction(parameters) {
|
|
520
590
|
const { transaction, call, prefixCalls } = parsePrecompileCredentialTransaction({
|
|
521
591
|
escrowContract: parameters.escrowContract,
|
|
522
592
|
feePayer: parameters.feePayer,
|
|
@@ -536,11 +606,31 @@ export async function broadcastTopUpTransaction(parameters) {
|
|
|
536
606
|
label: 'topUp',
|
|
537
607
|
prefixCalls,
|
|
538
608
|
});
|
|
609
|
+
if (parameters.feePayer)
|
|
610
|
+
assertSenderSigned(transaction);
|
|
611
|
+
validateCredentialSponsorship({
|
|
612
|
+
allowedFeeTokens: parameters.allowedFeeTokens ?? [parameters.expectedCurrency],
|
|
613
|
+
challengeExpires: parameters.challengeExpires,
|
|
614
|
+
chainId: parameters.chainId,
|
|
615
|
+
details: {
|
|
616
|
+
additionalDeposit: parameters.additionalDeposit.toString(),
|
|
617
|
+
channelId: parameters.expectedChannelId,
|
|
618
|
+
currency: parameters.expectedCurrency,
|
|
619
|
+
},
|
|
620
|
+
feePayer: parameters.feePayer,
|
|
621
|
+
feePayerPolicy: parameters.feePayerPolicy,
|
|
622
|
+
transaction,
|
|
623
|
+
});
|
|
624
|
+
return { transaction };
|
|
625
|
+
}
|
|
626
|
+
/** Broadcast and validate a client-signed TIP-1034 top-up transaction. */
|
|
627
|
+
export async function broadcastTopUpTransaction(parameters) {
|
|
628
|
+
const { transaction } = validateTopUpCredentialTransaction(parameters);
|
|
539
629
|
const receipt = await sendCredentialTransaction({
|
|
540
630
|
challengeExpires: parameters.challengeExpires,
|
|
541
631
|
chainId: parameters.chainId,
|
|
542
632
|
client: parameters.client,
|
|
543
|
-
allowedFeeTokens: [parameters.expectedCurrency],
|
|
633
|
+
allowedFeeTokens: parameters.allowedFeeTokens ?? [parameters.expectedCurrency],
|
|
544
634
|
details: {
|
|
545
635
|
additionalDeposit: parameters.additionalDeposit.toString(),
|
|
546
636
|
channelId: parameters.expectedChannelId,
|
|
@@ -583,13 +673,24 @@ function descriptorTuple(descriptor) {
|
|
|
583
673
|
}
|
|
584
674
|
async function sendPrecompileTransaction(client, to, data, label, options) {
|
|
585
675
|
const account = options?.account ?? client.account;
|
|
586
|
-
const
|
|
587
|
-
|
|
676
|
+
const feePayer = options?.feePayer;
|
|
677
|
+
const selfSponsored = account && typeof feePayer === 'object' && isAddressEqual(account.address, feePayer.address);
|
|
678
|
+
if (feePayer === true) {
|
|
679
|
+
if (!account)
|
|
680
|
+
throw new Error(`Cannot ${label} precompile channel: no account available.`);
|
|
681
|
+
return sendPrecompileContractCall(client, {
|
|
682
|
+
account,
|
|
683
|
+
data,
|
|
684
|
+
feePayer: true,
|
|
685
|
+
to,
|
|
686
|
+
});
|
|
687
|
+
}
|
|
688
|
+
if (feePayer && !selfSponsored) {
|
|
588
689
|
if (!account)
|
|
589
690
|
throw new Error(`Cannot ${label} precompile channel: no account available.`);
|
|
590
691
|
const feeToken = options.feeToken ??
|
|
591
692
|
(await resolveFeeToken({
|
|
592
|
-
account:
|
|
693
|
+
account: feePayer.address,
|
|
593
694
|
candidateTokens: options.candidateFeeTokens,
|
|
594
695
|
client,
|
|
595
696
|
}));
|
|
@@ -603,7 +704,7 @@ async function sendPrecompileTransaction(client, to, data, label, options) {
|
|
|
603
704
|
const serialized = await signTempoTransaction(client, {
|
|
604
705
|
...prepared,
|
|
605
706
|
account,
|
|
606
|
-
feePayer
|
|
707
|
+
feePayer,
|
|
607
708
|
});
|
|
608
709
|
const receipt = await sendRawTransactionSync(client, {
|
|
609
710
|
serializedTransaction: serialized,
|
|
@@ -6,6 +6,8 @@ export type Uint96 = bigint;
|
|
|
6
6
|
export type RawAmountString = string;
|
|
7
7
|
/** Returns whether a bigint can be encoded as a TIP20EscrowChannel `uint96` amount. */
|
|
8
8
|
export declare function isUint96(value: bigint): value is Uint96;
|
|
9
|
+
/** Parses an unsigned decimal raw amount when it fits TIP-1034's `uint96` range. */
|
|
10
|
+
export declare function parseUint96Amount(value: RawAmountString): Uint96 | undefined;
|
|
9
11
|
/** Converts a bigint into a TIP20EscrowChannel `uint96` amount after validating bounds. */
|
|
10
12
|
export declare function uint96(value: bigint): Uint96;
|
|
11
13
|
/** Asserts that a bigint can be encoded as a TIP20EscrowChannel `uint96` amount. */
|
|
@@ -55,6 +57,8 @@ export type OpenCredentialPayload = {
|
|
|
55
57
|
transaction: Hex;
|
|
56
58
|
/** Voucher signature for `cumulativeAmount`. */
|
|
57
59
|
signature: Hex;
|
|
60
|
+
/** Machine-token-only router-domain guard for `cumulativeAmount`. */
|
|
61
|
+
authorizationSignature?: Hex | undefined;
|
|
58
62
|
/** Descriptor needed to recover and verify the channel. */
|
|
59
63
|
descriptor: ChannelDescriptor;
|
|
60
64
|
/** Initial cumulative spend authorized by the opening voucher, as raw units. */
|
|
@@ -90,6 +94,8 @@ export type VoucherCredentialPayload = {
|
|
|
90
94
|
cumulativeAmount: RawAmountString;
|
|
91
95
|
/** Voucher signature for `cumulativeAmount`. */
|
|
92
96
|
signature: Hex;
|
|
97
|
+
/** Machine-token-only router-domain guard for `cumulativeAmount`. */
|
|
98
|
+
authorizationSignature?: Hex | undefined;
|
|
93
99
|
};
|
|
94
100
|
/**
|
|
95
101
|
* Credential payload that cooperatively closes a channel at final cumulative spend.
|
|
@@ -104,6 +110,13 @@ export type CloseCredentialPayload = {
|
|
|
104
110
|
cumulativeAmount: RawAmountString;
|
|
105
111
|
/** Voucher signature for `cumulativeAmount`. */
|
|
106
112
|
signature: Hex;
|
|
113
|
+
/** Machine-token-only router-domain guard for `cumulativeAmount`. */
|
|
114
|
+
authorizationSignature?: Hex | undefined;
|
|
115
|
+
/**
|
|
116
|
+
* Machine-token-only signature for the full on-chain deposit. It lets the trusted router
|
|
117
|
+
* return policy-restricted principal without increasing the merchant's authorized capture.
|
|
118
|
+
*/
|
|
119
|
+
refundSignature?: Hex | undefined;
|
|
107
120
|
};
|
|
108
121
|
/**
|
|
109
122
|
* TIP20EscrowChannel precompile session credential payload (discriminated union).
|
|
@@ -122,6 +135,8 @@ export interface SessionVoucher {
|
|
|
122
135
|
*/
|
|
123
136
|
export interface SessionSignedVoucher extends SessionVoucher {
|
|
124
137
|
signature: Hex;
|
|
138
|
+
/** Router-domain guard retained for scheduled machine-token settlement. */
|
|
139
|
+
authorizationSignature?: Hex | undefined;
|
|
125
140
|
}
|
|
126
141
|
/**
|
|
127
142
|
* Management action names shared by session credential payloads.
|
|
@@ -4,6 +4,13 @@ const maxUint96 = (1n << 96n) - 1n;
|
|
|
4
4
|
export function isUint96(value) {
|
|
5
5
|
return value >= 0n && value <= maxUint96;
|
|
6
6
|
}
|
|
7
|
+
/** Parses an unsigned decimal raw amount when it fits TIP-1034's `uint96` range. */
|
|
8
|
+
export function parseUint96Amount(value) {
|
|
9
|
+
if (!/^\d{1,29}$/.test(value))
|
|
10
|
+
return undefined;
|
|
11
|
+
const amount = BigInt(value);
|
|
12
|
+
return isUint96(amount) ? amount : undefined;
|
|
13
|
+
}
|
|
7
14
|
/** Converts a bigint into a TIP20EscrowChannel `uint96` amount after validating bounds. */
|
|
8
15
|
export function uint96(value) {
|
|
9
16
|
assertUint96(value);
|
|
@@ -15,11 +15,11 @@ export declare function getVoucherDomain(escrowContract: Address, chainId: numbe
|
|
|
15
15
|
*/
|
|
16
16
|
export declare const voucherTypes: {
|
|
17
17
|
readonly Voucher: readonly [{
|
|
18
|
-
readonly name:
|
|
19
|
-
readonly type:
|
|
18
|
+
readonly name: 'channelId';
|
|
19
|
+
readonly type: 'bytes32';
|
|
20
20
|
}, {
|
|
21
|
-
readonly name:
|
|
22
|
-
readonly type:
|
|
21
|
+
readonly name: 'cumulativeAmount';
|
|
22
|
+
readonly type: 'uint96';
|
|
23
23
|
}];
|
|
24
24
|
};
|
|
25
25
|
/**
|
|
@@ -36,5 +36,7 @@ export declare function verifyVoucher(escrowContract: Address, chainId: number,
|
|
|
36
36
|
/**
|
|
37
37
|
* Parse a voucher from credential payload.
|
|
38
38
|
*/
|
|
39
|
-
export declare function parseVoucherFromPayload(channelId: Hex, cumulativeAmount: string, signature: Hex): SignedVoucher
|
|
39
|
+
export declare function parseVoucherFromPayload(channelId: Hex, cumulativeAmount: string, signature: Hex, authorizationSignature?: Hex | undefined): SignedVoucher & {
|
|
40
|
+
authorizationSignature?: Hex | undefined;
|
|
41
|
+
};
|
|
40
42
|
//# sourceMappingURL=Voucher.d.ts.map
|
|
@@ -3,6 +3,7 @@ import { hashTypedData } from 'viem';
|
|
|
3
3
|
import { signTypedData } from 'viem/actions';
|
|
4
4
|
import { Account as TempoAccount } from 'viem/tempo';
|
|
5
5
|
import * as TempoAddress from '../../internal/address.js';
|
|
6
|
+
import { parseCanonicalEnvelope, serializeCanonicalEnvelope, } from '../../internal/signature-envelope.js';
|
|
6
7
|
import { uint96 } from './Protocol.js';
|
|
7
8
|
/** Must match the on-chain TIP-20 channel reserve DOMAIN_SEPARATOR name. */
|
|
8
9
|
const DOMAIN_NAME = 'TIP20 Channel Reserve';
|
|
@@ -49,9 +50,6 @@ function getVoucherPayload(verifyingContract, chainId, voucher) {
|
|
|
49
50
|
},
|
|
50
51
|
});
|
|
51
52
|
}
|
|
52
|
-
function isPrimitiveEnvelope(type) {
|
|
53
|
-
return type === 'secp256k1' || type === 'p256' || type === 'webAuthn';
|
|
54
|
-
}
|
|
55
53
|
function signCanonicalTempoVoucher(account, parameters) {
|
|
56
54
|
// viem/tempo's canonical TIP-1034 voucher signer accepts Tempo account
|
|
57
55
|
// extensions that are wider than viem's base Account type. Keep that
|
|
@@ -85,10 +83,7 @@ export async function signVoucher(client, account, voucher, verifyingContract, c
|
|
|
85
83
|
message: voucher,
|
|
86
84
|
});
|
|
87
85
|
})();
|
|
88
|
-
|
|
89
|
-
if (!isPrimitiveEnvelope(envelope.type))
|
|
90
|
-
throw new Error(`TIP-1034 vouchers require a TIP-1020 primitive signature; received "${envelope.type}".`);
|
|
91
|
-
return SignatureEnvelope.serialize(envelope);
|
|
86
|
+
return serializeCanonicalEnvelope(signature, 'TIP-1034 vouchers');
|
|
92
87
|
}
|
|
93
88
|
/**
|
|
94
89
|
* Verify a voucher signature matches the expected signer.
|
|
@@ -98,10 +93,8 @@ export async function signVoucher(client, account, voucher, verifyingContract, c
|
|
|
98
93
|
*/
|
|
99
94
|
export function verifyVoucher(escrowContract, chainId, voucher, expectedSigner) {
|
|
100
95
|
try {
|
|
101
|
-
const envelope =
|
|
102
|
-
if (!
|
|
103
|
-
return false;
|
|
104
|
-
if (SignatureEnvelope.serialize(envelope).toLowerCase() !== voucher.signature.toLowerCase())
|
|
96
|
+
const envelope = parseCanonicalEnvelope(voucher.signature);
|
|
97
|
+
if (!envelope)
|
|
105
98
|
return false;
|
|
106
99
|
const payload = getVoucherPayload(escrowContract, chainId, voucher);
|
|
107
100
|
const signer = SignatureEnvelope.extractAddress({ payload, signature: envelope });
|
|
@@ -115,11 +108,12 @@ export function verifyVoucher(escrowContract, chainId, voucher, expectedSigner)
|
|
|
115
108
|
/**
|
|
116
109
|
* Parse a voucher from credential payload.
|
|
117
110
|
*/
|
|
118
|
-
export function parseVoucherFromPayload(channelId, cumulativeAmount, signature) {
|
|
111
|
+
export function parseVoucherFromPayload(channelId, cumulativeAmount, signature, authorizationSignature) {
|
|
119
112
|
return {
|
|
120
113
|
channelId,
|
|
121
114
|
cumulativeAmount: uint96(BigInt(cumulativeAmount)),
|
|
122
115
|
signature,
|
|
116
|
+
...(authorizationSignature ? { authorizationSignature } : {}),
|
|
123
117
|
};
|
|
124
118
|
}
|
|
125
119
|
//# sourceMappingURL=Voucher.js.map
|