mppx 0.8.17 → 0.8.19
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 +61 -0
- package/README.md +15 -0
- package/dist/Challenge.js +21 -4
- package/dist/bin.js +3 -3
- package/dist/cli/THIRD-PARTY-LICENSES.txt +328 -0
- package/dist/cli/cli.js +253 -1505
- 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/request.d.ts +2 -0
- package/dist/cli/sessions/request.js +18 -0
- package/dist/cli/sessions/store.js +28 -14
- package/dist/discovery/Discovery.js +2 -1
- package/dist/evm/client/Charge.js +8 -0
- package/dist/server/core.d.ts +9 -0
- package/dist/server/core.js +9 -0
- package/dist/stripe/server/Charge.js +2 -4
- package/dist/stripe/server/Methods.d.ts +2 -2
- package/dist/stripe/server/Methods.js +17 -11
- 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/spt.d.ts +8 -0
- package/dist/stripe/server/spt.js +8 -0
- package/dist/tempo/Methods.d.ts +13 -0
- package/dist/tempo/Methods.js +14 -3
- package/dist/tempo/client/Charge.d.ts +3 -0
- package/dist/tempo/client/Charge.js +31 -9
- package/dist/tempo/client/Methods.d.ts +13 -0
- package/dist/tempo/internal/defaults.d.ts +11 -0
- package/dist/tempo/internal/defaults.js +11 -0
- 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/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 +13 -1
- 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/server/Charge.d.ts +3 -0
- package/dist/tempo/server/Charge.js +58 -17
- package/dist/tempo/server/Methods.d.ts +21 -4
- package/dist/tempo/server/Methods.js +8 -4
- package/dist/tempo/server/internal/html.gen.d.ts +1 -1
- package/dist/tempo/server/internal/html.gen.js +1 -1
- 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 +17 -2
- 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 +15 -3
- 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 +10 -2
- package/dist/tempo/session/precompile/Chain.js +51 -10
- 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 +3 -1
- package/dist/tempo/session/precompile/Voucher.js +6 -12
- package/dist/tempo/session/server/ChannelStore.d.ts +6 -0
- package/dist/tempo/session/server/ChannelStore.js +11 -4
- package/dist/tempo/session/server/CredentialVerification.d.ts +11 -9
- package/dist/tempo/session/server/CredentialVerification.js +185 -109
- package/dist/tempo/session/server/MeteredStream.d.ts +1 -1
- package/dist/tempo/session/server/MeteredStream.js +5 -4
- 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 +14 -2
- package/dist/tempo/session/server/Session.js +37 -6
- package/dist/tempo/session/server/Settlement.d.ts +11 -4
- package/dist/tempo/session/server/Settlement.js +53 -21
- 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 +23 -1
- package/package.json +15 -37
- 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/attestation/Client.d.ts.map +0 -1
- package/dist/attestation/Client.js.map +0 -1
- package/dist/attestation/Constants.d.ts.map +0 -1
- package/dist/attestation/Constants.js.map +0 -1
- package/dist/attestation/Server.d.ts.map +0 -1
- package/dist/attestation/Server.js.map +0 -1
- package/dist/attestation/Types.d.ts.map +0 -1
- package/dist/attestation/Types.js.map +0 -1
- package/dist/attestation/index.d.ts.map +0 -1
- package/dist/attestation/index.js.map +0 -1
- package/dist/attestation/internal/HttpMessageSignature.d.ts.map +0 -1
- package/dist/attestation/internal/HttpMessageSignature.js.map +0 -1
- package/dist/attestation/internal/SigningContext.d.ts.map +0 -1
- package/dist/attestation/internal/SigningContext.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/discovery/internal/Metadata.d.ts.map +0 -1
- package/dist/discovery/internal/Metadata.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/deposit-address.d.ts.map +0 -1
- package/dist/stripe/server/internal/deposit-address.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/stripe/server/internal/record-payment.d.ts.map +0 -1
- package/dist/stripe/server/internal/record-payment.js.map +0 -1
- package/dist/stripe/server/internal/request.d.ts.map +0 -1
- package/dist/stripe/server/internal/request.js.map +0 -1
- package/dist/tap/Constants.d.ts.map +0 -1
- package/dist/tap/Constants.js.map +0 -1
- package/dist/tap/Types.d.ts.map +0 -1
- package/dist/tap/Types.js.map +0 -1
- package/dist/tap/client/index.d.ts.map +0 -1
- package/dist/tap/client/index.js.map +0 -1
- package/dist/tap/index.d.ts.map +0 -1
- package/dist/tap/index.js.map +0 -1
- package/dist/tap/server/index.d.ts.map +0 -1
- package/dist/tap/server/index.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/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/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/web-bot-auth/Constants.d.ts.map +0 -1
- package/dist/web-bot-auth/Constants.js.map +0 -1
- package/dist/web-bot-auth/Types.d.ts.map +0 -1
- package/dist/web-bot-auth/Types.js.map +0 -1
- package/dist/web-bot-auth/client/index.d.ts.map +0 -1
- package/dist/web-bot-auth/client/index.js.map +0 -1
- package/dist/web-bot-auth/index.d.ts.map +0 -1
- package/dist/web-bot-auth/index.js.map +0 -1
- package/dist/web-bot-auth/internal/JwkThumbprint.d.ts.map +0 -1
- package/dist/web-bot-auth/internal/JwkThumbprint.js.map +0 -1
- package/dist/web-bot-auth/internal/SignatureAgent.d.ts.map +0 -1
- package/dist/web-bot-auth/internal/SignatureAgent.js.map +0 -1
- package/dist/web-bot-auth/server/index.d.ts.map +0 -1
- package/dist/web-bot-auth/server/index.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 -154
- package/src/Challenge.test-d.ts +0 -82
- package/src/Challenge.test.ts +0 -1060
- package/src/Challenge.ts +0 -687
- 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 -631
- 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 -211
- package/src/Store.test.ts +0 -407
- package/src/Store.ts +0 -397
- package/src/attestation/Attestation.integration.test.ts +0 -208
- package/src/attestation/Client.test.ts +0 -83
- package/src/attestation/Client.ts +0 -34
- package/src/attestation/Constants.ts +0 -15
- package/src/attestation/Server.test.ts +0 -60
- package/src/attestation/Server.ts +0 -12
- package/src/attestation/Types.test-d.ts +0 -54
- package/src/attestation/Types.ts +0 -77
- package/src/attestation/index.ts +0 -5
- package/src/attestation/internal/HttpMessageSignature.test.ts +0 -101
- package/src/attestation/internal/HttpMessageSignature.ts +0 -429
- package/src/attestation/internal/SigningContext.ts +0 -13
- package/src/bin.js +0 -2
- 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 -1650
- 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 -287
- package/src/client/Mppx.test.ts +0 -1065
- package/src/client/Mppx.ts +0 -487
- package/src/client/Transport.test.ts +0 -586
- package/src/client/Transport.ts +0 -170
- 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 -1075
- 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 -623
- package/src/discovery/OpenApi.ts +0 -192
- package/src/discovery/Validate.test.ts +0 -305
- package/src/discovery/Validate.ts +0 -77
- package/src/discovery/index.ts +0 -3
- package/src/discovery/internal/Metadata.ts +0 -51
- 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 -295
- 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 -347
- 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 -479
- package/src/mcp/client/McpClient.integration.test.ts +0 -639
- 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 -285
- package/src/middlewares/elysia.ts +0 -116
- package/src/middlewares/express.test.ts +0 -361
- package/src/middlewares/express.ts +0 -140
- package/src/middlewares/hono.test.ts +0 -473
- 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 -359
- package/src/middlewares/nextjs.ts +0 -107
- package/src/proxy/Proxy.test.ts +0 -1038
- package/src/proxy/Proxy.ts +0 -483
- package/src/proxy/Proxy.upstreamError.test.ts +0 -364
- package/src/proxy/Service.test.ts +0 -252
- package/src/proxy/Service.ts +0 -280
- 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 -53
- package/src/proxy/services/hooks.test-d.ts +0 -14
- package/src/proxy/services/hooks.test.ts +0 -44
- package/src/proxy/services/openai.test.ts +0 -157
- package/src/proxy/services/openai.ts +0 -60
- package/src/proxy/services/stripe.test.ts +0 -175
- package/src/proxy/services/stripe.ts +0 -59
- package/src/server/Methods.test-d.ts +0 -88
- package/src/server/Methods.test.ts +0 -69
- package/src/server/Methods.ts +0 -3
- package/src/server/Mppx.authorize.test.ts +0 -210
- package/src/server/Mppx.test-d.ts +0 -494
- package/src/server/Mppx.test.ts +0 -6711
- package/src/server/Mppx.ts +0 -2919
- 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 -47
- package/src/stripe/server/Charge.test-d.ts +0 -81
- package/src/stripe/server/Charge.test.ts +0 -700
- package/src/stripe/server/Charge.ts +0 -487
- package/src/stripe/server/Methods.test-d.ts +0 -157
- package/src/stripe/server/Methods.test.ts +0 -403
- package/src/stripe/server/Methods.ts +0 -441
- package/src/stripe/server/index.ts +0 -2
- package/src/stripe/server/internal/deposit-address.ts +0 -57
- 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/stripe/server/internal/record-payment.ts +0 -66
- package/src/stripe/server/internal/request.ts +0 -49
- package/src/tap/Constants.ts +0 -32
- package/src/tap/Tap.test.ts +0 -125
- package/src/tap/Types.ts +0 -11
- package/src/tap/client/index.ts +0 -54
- package/src/tap/index.ts +0 -4
- package/src/tap/server/index.ts +0 -48
- 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 -271
- 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.test.ts +0 -42
- 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 -145
- 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 -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/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 -63
- package/src/tempo/server/Charge.test.ts +0 -6056
- package/src/tempo/server/Charge.ts +0 -1379
- package/src/tempo/server/Methods.ts +0 -86
- 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 -1336
- 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 -922
- package/src/tempo/server/internal/transport.ts +0 -322
- package/src/tempo/session/README.md +0 -320
- 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 -1269
- 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 -856
- package/src/tempo/session/server/CredentialVerification.test.ts +0 -299
- package/src/tempo/session/server/CredentialVerification.ts +0 -1087
- package/src/tempo/session/server/MeteredStream.ts +0 -99
- 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 -4247
- package/src/tempo/session/server/Session.ts +0 -669
- 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 -634
- package/src/tempo/session/server/Sse.ts +0 -261
- package/src/tempo/session/server/Transports.test.ts +0 -346
- package/src/tempo/session/server/Transports.ts +0 -256
- package/src/tempo/session/server/Ws.test.ts +0 -765
- package/src/tempo/session/server/Ws.ts +0 -391
- 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/web-bot-auth/Constants.ts +0 -24
- package/src/web-bot-auth/Types.ts +0 -9
- package/src/web-bot-auth/WebBotAuth.test.ts +0 -182
- package/src/web-bot-auth/client/index.ts +0 -84
- package/src/web-bot-auth/index.ts +0 -6
- package/src/web-bot-auth/internal/JwkThumbprint.ts +0 -21
- package/src/web-bot-auth/internal/SignatureAgent.ts +0 -18
- package/src/web-bot-auth/server/index.ts +0 -113
- package/src/x402/Assets.test.ts +0 -253
- package/src/x402/Assets.ts +0 -221
- package/src/x402/Exact.e2e.test.ts +0 -488
- 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 -410
- 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
|
@@ -33,19 +33,33 @@ export type ChannelEntry = {
|
|
|
33
33
|
chainId: number;
|
|
34
34
|
/** Whether the client considers the channel reusable for new vouchers. */
|
|
35
35
|
opened: boolean;
|
|
36
|
+
/** Logical merchant payment scope when it differs from the on-chain descriptor. */
|
|
37
|
+
paymentScope?: {
|
|
38
|
+
payee: Address;
|
|
39
|
+
token: Address;
|
|
40
|
+
} | undefined;
|
|
36
41
|
};
|
|
37
42
|
/** Resolves the voucher authority address for a client account. */
|
|
38
43
|
export declare function resolveAuthorizedSigner(account: Account): Address;
|
|
39
|
-
/** Resolves the escrow
|
|
44
|
+
/** Resolves the server-advertised escrow against the client's trust policy. */
|
|
40
45
|
export declare function resolveEscrow(challenge: {
|
|
41
46
|
request: {
|
|
42
47
|
methodDetails?: unknown;
|
|
43
48
|
};
|
|
44
|
-
}, escrowOverride?: Address | undefined): Address;
|
|
49
|
+
}, escrowOverride?: Address | undefined, allowCustomEscrow?: boolean): Address;
|
|
45
50
|
/** Serializes a session credential with a DID source bound to the payer account. */
|
|
46
51
|
export declare function serializeCredential(challenge: Challenge, payload: SessionCredentialPayload, chainId: number, account: Account): string;
|
|
47
52
|
/** Case-insensitive EVM address equality. */
|
|
48
53
|
export declare function isSameAddress(a: Address, b: Address): boolean;
|
|
54
|
+
/** Returns whether a stored entry funds a machine-token session channel. */
|
|
55
|
+
export declare function isMachineChannel(entry: Pick<ChannelEntry, 'chainId' | 'descriptor' | 'escrow'>): boolean;
|
|
56
|
+
/**
|
|
57
|
+
* Returns whether a stored entry's logical payment scope differs from its
|
|
58
|
+
* on-chain descriptor. Such entries cannot be re-derived from a challenge, so
|
|
59
|
+
* their descriptor is the only local copy — even when the deployment table no
|
|
60
|
+
* longer recognizes the route (for example after a rotation).
|
|
61
|
+
*/
|
|
62
|
+
export declare function hasRewrittenScope(entry: Pick<ChannelEntry, 'descriptor' | 'paymentScope'>): boolean;
|
|
49
63
|
/**
|
|
50
64
|
* Signs and creates a TIP-1034 voucher credential payload for an existing channel.
|
|
51
65
|
*
|
|
@@ -71,6 +85,7 @@ export declare function createOpenPayload(client: Client, account: Account, para
|
|
|
71
85
|
deposit: bigint;
|
|
72
86
|
escrow?: Address | undefined;
|
|
73
87
|
feePayer?: boolean | undefined;
|
|
88
|
+
feeToken?: Address | undefined;
|
|
74
89
|
initialAmount: bigint;
|
|
75
90
|
operator?: Address | undefined;
|
|
76
91
|
payee: Address;
|
|
@@ -83,5 +98,5 @@ export declare function createOpenPayload(client: Client, account: Account, para
|
|
|
83
98
|
*
|
|
84
99
|
* @see https://tips.sh/1034-1#execution-semantics
|
|
85
100
|
*/
|
|
86
|
-
export declare function createTopUpPayload(client: Client, account: Account, descriptor: Channel.ChannelDescriptor, additionalDeposit: bigint, chainId: number, feePayer?: boolean | undefined, escrow?: Address, prefixCalls?: readonly TempoChannelCall[]): Promise<TopUpCredentialPayload>;
|
|
101
|
+
export declare function createTopUpPayload(client: Client, account: Account, descriptor: Channel.ChannelDescriptor, additionalDeposit: bigint, chainId: number, feePayer?: boolean | undefined, escrow?: Address, prefixCalls?: readonly TempoChannelCall[], feeToken?: Address): Promise<TopUpCredentialPayload>;
|
|
87
102
|
//# sourceMappingURL=ChannelOps.d.ts.map
|
|
@@ -13,6 +13,7 @@ import { encodeFunctionData, isAddress } from 'viem';
|
|
|
13
13
|
import { prepareTransactionRequest, signTransaction } from 'viem/actions';
|
|
14
14
|
import { Transaction } from 'viem/tempo';
|
|
15
15
|
import * as Credential from '../../../Credential.js';
|
|
16
|
+
import * as MachineTokenSession from '../../internal/machine-token-session.js';
|
|
16
17
|
import * as Channel from '../precompile/Channel.js';
|
|
17
18
|
import { escrowAbi } from '../precompile/escrow.abi.js';
|
|
18
19
|
import { tip20ChannelEscrow } from '../precompile/Protocol.js';
|
|
@@ -58,14 +59,21 @@ async function prepareTempoChannelTransaction(client, parameters) {
|
|
|
58
59
|
async function signPreparedTempoTransaction(client, prepared) {
|
|
59
60
|
return (await signTransaction(client, prepared));
|
|
60
61
|
}
|
|
61
|
-
/** Resolves the escrow
|
|
62
|
-
export function resolveEscrow(challenge, escrowOverride) {
|
|
62
|
+
/** Resolves the server-advertised escrow against the client's trust policy. */
|
|
63
|
+
export function resolveEscrow(challenge, escrowOverride, allowCustomEscrow = false) {
|
|
63
64
|
const methodDetails = challenge.request.methodDetails;
|
|
64
65
|
const challengeEscrow = isObject(methodDetails)
|
|
65
66
|
? (readOptionalAddress(methodDetails.escrowContract) ??
|
|
66
67
|
readOptionalAddress(methodDetails.escrow))
|
|
67
68
|
: undefined;
|
|
68
|
-
|
|
69
|
+
const expectedEscrow = escrowOverride ?? tip20ChannelEscrow;
|
|
70
|
+
if (challengeEscrow &&
|
|
71
|
+
!isSameAddress(challengeEscrow, expectedEscrow) &&
|
|
72
|
+
(!allowCustomEscrow || escrowOverride !== undefined))
|
|
73
|
+
throw new Error(`Tempo session escrow ${challengeEscrow} does not match client escrow ${expectedEscrow}.`);
|
|
74
|
+
if (challengeEscrow && !isSameAddress(challengeEscrow, expectedEscrow))
|
|
75
|
+
return challengeEscrow;
|
|
76
|
+
return expectedEscrow;
|
|
69
77
|
}
|
|
70
78
|
/** Serializes a session credential with a DID source bound to the payer account. */
|
|
71
79
|
export function serializeCredential(challenge, payload, chainId, account) {
|
|
@@ -79,6 +87,27 @@ export function serializeCredential(challenge, payload, chainId, account) {
|
|
|
79
87
|
export function isSameAddress(a, b) {
|
|
80
88
|
return a.toLowerCase() === b.toLowerCase();
|
|
81
89
|
}
|
|
90
|
+
/** Returns whether a stored entry funds a machine-token session channel. */
|
|
91
|
+
export function isMachineChannel(entry) {
|
|
92
|
+
return (isSameAddress(entry.escrow, tip20ChannelEscrow) &&
|
|
93
|
+
MachineTokenSession.matchDeployment({
|
|
94
|
+
chainId: entry.chainId,
|
|
95
|
+
descriptor: entry.descriptor,
|
|
96
|
+
}) !== undefined);
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Returns whether a stored entry's logical payment scope differs from its
|
|
100
|
+
* on-chain descriptor. Such entries cannot be re-derived from a challenge, so
|
|
101
|
+
* their descriptor is the only local copy — even when the deployment table no
|
|
102
|
+
* longer recognizes the route (for example after a rotation).
|
|
103
|
+
*/
|
|
104
|
+
export function hasRewrittenScope(entry) {
|
|
105
|
+
const scope = entry.paymentScope;
|
|
106
|
+
if (!scope)
|
|
107
|
+
return false;
|
|
108
|
+
return (!isSameAddress(scope.payee, entry.descriptor.payee) ||
|
|
109
|
+
!isSameAddress(scope.token, entry.descriptor.token));
|
|
110
|
+
}
|
|
82
111
|
/**
|
|
83
112
|
* Signs and creates a TIP-1034 voucher credential payload for an existing channel.
|
|
84
113
|
*
|
|
@@ -139,7 +168,7 @@ export async function createOpenPayload(client, account, parameters) {
|
|
|
139
168
|
account,
|
|
140
169
|
calls: [...(parameters.prefixCalls ?? []), { to: escrow, data: openData }],
|
|
141
170
|
feePayer: parameters.feePayer,
|
|
142
|
-
feeToken: parameters.token,
|
|
171
|
+
feeToken: parameters.feeToken ?? parameters.token,
|
|
143
172
|
});
|
|
144
173
|
const transaction = await signPreparedTempoTransaction(client, prepared);
|
|
145
174
|
const signed = Transaction.deserialize(transaction);
|
|
@@ -178,7 +207,7 @@ export async function createOpenPayload(client, account, parameters) {
|
|
|
178
207
|
*
|
|
179
208
|
* @see https://tips.sh/1034-1#execution-semantics
|
|
180
209
|
*/
|
|
181
|
-
export async function createTopUpPayload(client, account, descriptor, additionalDeposit, chainId, feePayer, escrow = tip20ChannelEscrow, prefixCalls = []) {
|
|
210
|
+
export async function createTopUpPayload(client, account, descriptor, additionalDeposit, chainId, feePayer, escrow = tip20ChannelEscrow, prefixCalls = [], feeToken = descriptor.token) {
|
|
182
211
|
const channelId = Channel.computeId({
|
|
183
212
|
...descriptor,
|
|
184
213
|
chainId,
|
|
@@ -199,7 +228,7 @@ export async function createTopUpPayload(client, account, descriptor, additional
|
|
|
199
228
|
},
|
|
200
229
|
],
|
|
201
230
|
feePayer,
|
|
202
|
-
feeToken
|
|
231
|
+
feeToken,
|
|
203
232
|
validAfter: randomValidAfter(),
|
|
204
233
|
});
|
|
205
234
|
const transaction = await signPreparedTempoTransaction(client, prepared);
|
|
@@ -10,11 +10,6 @@ export type ChannelStore = {
|
|
|
10
10
|
/** Removes the channel cached for `key`. */
|
|
11
11
|
delete(key: string): MaybePromise<void>;
|
|
12
12
|
};
|
|
13
|
-
/** Channel persistence and update notification for credential results. */
|
|
14
|
-
export type ChannelSink = {
|
|
15
|
-
store: ChannelStore;
|
|
16
|
-
notifyUpdate: (entry: ChannelEntry) => void;
|
|
17
|
-
};
|
|
18
13
|
/** Returns the scope key for a reusable payer session channel. */
|
|
19
14
|
export declare function channelKey(scope: {
|
|
20
15
|
payee: Address;
|
|
@@ -6,8 +6,8 @@ export function channelKey(scope) {
|
|
|
6
6
|
/** Returns the scope key for a stored channel entry. */
|
|
7
7
|
export function entryKey(entry) {
|
|
8
8
|
return channelKey({
|
|
9
|
-
payee: entry.descriptor.payee,
|
|
10
|
-
token: entry.descriptor.token,
|
|
9
|
+
payee: entry.paymentScope?.payee ?? entry.descriptor.payee,
|
|
10
|
+
token: entry.paymentScope?.token ?? entry.descriptor.token,
|
|
11
11
|
escrow: entry.escrow,
|
|
12
12
|
chainId: entry.chainId,
|
|
13
13
|
});
|
|
@@ -8,7 +8,6 @@ import * as Channel from '../precompile/Channel.js';
|
|
|
8
8
|
import type { SessionCredentialPayload } from '../precompile/Protocol.js';
|
|
9
9
|
import type { SessionSnapshot } from '../Snapshot.js';
|
|
10
10
|
import { type ChannelEntry } from './ChannelOps.js';
|
|
11
|
-
import { type ChannelSink } from './ChannelStore.js';
|
|
12
11
|
/** Credential payload variants that carry cumulative voucher authorization. */
|
|
13
12
|
export type CumulativeCredentialPayload = Extract<SessionCredentialPayload, {
|
|
14
13
|
cumulativeAmount: string;
|
|
@@ -98,6 +97,8 @@ export type ClientSessionMethodDetails = {
|
|
|
98
97
|
escrow?: Address | undefined;
|
|
99
98
|
/** Whether the challenge allows fee-sponsored open/top-up transactions. */
|
|
100
99
|
feePayer?: boolean | undefined;
|
|
100
|
+
/** Fee token selected by the server for open/top-up transactions. */
|
|
101
|
+
feeToken?: Address | undefined;
|
|
101
102
|
/** Channel operator address advertised by the server. */
|
|
102
103
|
operator?: Address | undefined;
|
|
103
104
|
/** Server bootstrap snapshot for a reusable session channel. */
|
|
@@ -105,6 +106,8 @@ export type ClientSessionMethodDetails = {
|
|
|
105
106
|
};
|
|
106
107
|
/** Dependencies used to resolve a challenge into typed credential-planning data. */
|
|
107
108
|
export type ResolveChallengeContextParameters = {
|
|
109
|
+
/** Whether to accept a noncanonical escrow advertised by the server. @default false */
|
|
110
|
+
allowCustomEscrow?: boolean | undefined;
|
|
108
111
|
/** Challenge received from the 402 response. */
|
|
109
112
|
challenge: Challenge.Challenge;
|
|
110
113
|
/** Optional local escrow override. */
|
|
@@ -159,9 +162,15 @@ export type ChallengeContext = {
|
|
|
159
162
|
client: Client;
|
|
160
163
|
escrow: Address;
|
|
161
164
|
feePayer?: boolean | undefined;
|
|
165
|
+
feeToken?: Address | undefined;
|
|
162
166
|
key: string;
|
|
163
167
|
operator?: Address | undefined;
|
|
164
168
|
payee: Address;
|
|
169
|
+
/** Logical merchant scope when the channel uses an indirect payment route. */
|
|
170
|
+
paymentScope?: {
|
|
171
|
+
payee: Address;
|
|
172
|
+
token: Address;
|
|
173
|
+
} | undefined;
|
|
165
174
|
snapshot?: SessionSnapshot | undefined;
|
|
166
175
|
/** Server-provided raw deposit hint for opening a channel, before local maxDeposit capping. */
|
|
167
176
|
suggestedDepositRaw?: string | undefined;
|
|
@@ -248,8 +257,14 @@ export type CredentialPlan =
|
|
|
248
257
|
account: ViemAccount;
|
|
249
258
|
context: ManualSessionDescriptorContext;
|
|
250
259
|
decimals: number;
|
|
260
|
+
entry?: ChannelEntry | undefined;
|
|
251
261
|
resolved: ChallengeContext;
|
|
252
262
|
};
|
|
263
|
+
/** Signed credential plus the channel state to commit after all signing succeeds. */
|
|
264
|
+
export type CredentialResult = {
|
|
265
|
+
payload: SessionCredentialPayload;
|
|
266
|
+
entry?: ChannelEntry | undefined;
|
|
267
|
+
};
|
|
253
268
|
/** Resolves raw challenge fields into the typed data required by client credential planning. */
|
|
254
269
|
export declare function resolveChallengeContext(parameters: ResolveChallengeContextParameters): Promise<ChallengeContext>;
|
|
255
270
|
/** Validates descriptor identity and reads open channel state for client-side recovery. */
|
|
@@ -265,5 +280,5 @@ export declare function canSignDescriptor(account: ViemAccount, descriptor: Chan
|
|
|
265
280
|
/** Chooses the next credential plan from local channel cache and optional caller context. */
|
|
266
281
|
export declare function planCredential(parameters: PlanCredentialParameters): CredentialPlan;
|
|
267
282
|
/** Executes a credential plan and returns the concrete session credential payload. */
|
|
268
|
-
export declare function executeCredentialPlan(plan: CredentialPlan,
|
|
283
|
+
export declare function executeCredentialPlan(plan: CredentialPlan, autoSwap?: AutoSwap.resolve.Resolved | false, feeToken?: Address | undefined): Promise<CredentialResult>;
|
|
269
284
|
//# sourceMappingURL=CredentialState.d.ts.map
|
|
@@ -6,7 +6,7 @@ import * as Chain from '../precompile/Chain.js';
|
|
|
6
6
|
import * as Channel from '../precompile/Channel.js';
|
|
7
7
|
import * as Voucher from '../precompile/Voucher.js';
|
|
8
8
|
import { createClosePayload, createOpenPayload, createTopUpPayload, createVoucherPayload, isSameAddress, resolveAuthorizedSigner, resolveEscrow, } from './ChannelOps.js';
|
|
9
|
-
import { channelKey
|
|
9
|
+
import { channelKey } from './ChannelStore.js';
|
|
10
10
|
import { assertWithinMaxDeposit, resolveOpeningDeposit } from './Runtime.js';
|
|
11
11
|
/** Returns whether a credential payload carries cumulative voucher authorization. */
|
|
12
12
|
export function hasCredentialCumulativeAmount(payload) {
|
|
@@ -18,33 +18,18 @@ export function readCredentialCumulativeAmount(payload) {
|
|
|
18
18
|
return undefined;
|
|
19
19
|
return BigInt(payload.cumulativeAmount);
|
|
20
20
|
}
|
|
21
|
-
/**
|
|
22
|
-
|
|
23
|
-
* channels are removed from the store but still reported to observers so callers
|
|
24
|
-
* can react to the close.
|
|
25
|
-
*/
|
|
26
|
-
async function storeChannelEntry(sink, entry) {
|
|
27
|
-
if (entry.opened)
|
|
28
|
-
await sink.store.set(entry);
|
|
29
|
-
else
|
|
30
|
-
await sink.store.delete(entryKey(entry));
|
|
31
|
-
sink.notifyUpdate(entry);
|
|
32
|
-
}
|
|
33
|
-
/** Applies a credential payload's cumulative amount to the stored channel at `key`. */
|
|
34
|
-
async function applyCumulative(sink, key, payload) {
|
|
21
|
+
/** Applies a credential payload to a matching cached channel without persisting it. */
|
|
22
|
+
function applyCredential(entry, payload) {
|
|
35
23
|
const cumulativeAmount = readCredentialCumulativeAmount(payload);
|
|
36
|
-
if (cumulativeAmount === undefined
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
if (payload.action === 'close')
|
|
46
|
-
entry.opened = false;
|
|
47
|
-
await storeChannelEntry(sink, entry);
|
|
24
|
+
if (cumulativeAmount === undefined ||
|
|
25
|
+
!entry ||
|
|
26
|
+
entry.channelId.toLowerCase() !== payload.channelId.toLowerCase())
|
|
27
|
+
return undefined;
|
|
28
|
+
return {
|
|
29
|
+
...entry,
|
|
30
|
+
cumulativeAmount: entry.cumulativeAmount > cumulativeAmount ? entry.cumulativeAmount : cumulativeAmount,
|
|
31
|
+
opened: payload.action === 'close' ? false : entry.opened,
|
|
32
|
+
};
|
|
48
33
|
}
|
|
49
34
|
const hexSchema = z.custom((value) => typeof value === 'string' && /^0x[0-9a-fA-F]*$/.test(value));
|
|
50
35
|
const hashSchema = z.custom((value) => typeof value === 'string' && /^0x[0-9a-fA-F]{64}$/.test(value));
|
|
@@ -106,6 +91,7 @@ function readMethodDetails(challenge) {
|
|
|
106
91
|
escrowContract: readOptionalAddress(methodDetails.escrowContract),
|
|
107
92
|
escrow: readOptionalAddress(methodDetails.escrow),
|
|
108
93
|
feePayer: typeof methodDetails.feePayer === 'boolean' ? methodDetails.feePayer : undefined,
|
|
94
|
+
feeToken: readOptionalAddress(methodDetails.feeToken),
|
|
109
95
|
operator: readOptionalAddress(methodDetails.operator),
|
|
110
96
|
sessionSnapshot: Constants.getMethodDetail(methodDetails, Constants.MethodDetailKeys.sessionSnapshot),
|
|
111
97
|
};
|
|
@@ -125,13 +111,13 @@ function readSuggestedDeposit(value) {
|
|
|
125
111
|
}
|
|
126
112
|
/** Resolves raw challenge fields into the typed data required by client credential planning. */
|
|
127
113
|
export async function resolveChallengeContext(parameters) {
|
|
128
|
-
const { challenge, escrowOverride, getClient } = parameters;
|
|
114
|
+
const { allowCustomEscrow, challenge, escrowOverride, getClient } = parameters;
|
|
129
115
|
const methodDetails = readMethodDetails(challenge);
|
|
130
116
|
const client = await getClient({ chainId: methodDetails.chainId });
|
|
131
117
|
const chainId = methodDetails.chainId ?? client.chain?.id;
|
|
132
118
|
if (!chainId)
|
|
133
119
|
throw new Error('No chainId configured for TIP-1034 session challenge.');
|
|
134
|
-
const escrow = resolveEscrow(challenge, escrowOverride);
|
|
120
|
+
const escrow = resolveEscrow(challenge, escrowOverride, allowCustomEscrow);
|
|
135
121
|
const payee = readAddress(challenge.request.recipient, 'recipient');
|
|
136
122
|
const token = readAddress(challenge.request.currency, 'currency');
|
|
137
123
|
return {
|
|
@@ -141,6 +127,7 @@ export async function resolveChallengeContext(parameters) {
|
|
|
141
127
|
client,
|
|
142
128
|
escrow,
|
|
143
129
|
feePayer: methodDetails.feePayer,
|
|
130
|
+
feeToken: methodDetails.feeToken,
|
|
144
131
|
key: channelKey({ payee, token, escrow, chainId }),
|
|
145
132
|
operator: methodDetails.operator,
|
|
146
133
|
payee,
|
|
@@ -288,6 +275,7 @@ export function planCredential(parameters) {
|
|
|
288
275
|
account,
|
|
289
276
|
context,
|
|
290
277
|
decimals,
|
|
278
|
+
entry,
|
|
291
279
|
resolved,
|
|
292
280
|
};
|
|
293
281
|
}
|
|
@@ -295,30 +283,39 @@ export function planCredential(parameters) {
|
|
|
295
283
|
throw new Error('descriptor required to reuse TIP-1034 channel');
|
|
296
284
|
const recoverContext = resolveRecoverContext({ context, snapshot: resolved.snapshot });
|
|
297
285
|
if (!entry && recoverContext && canSignDescriptor(account, recoverContext.descriptor)) {
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
resolved
|
|
305
|
-
|
|
286
|
+
// A server snapshot may describe another rail's channel (e.g. a
|
|
287
|
+
// machine-token descriptor advertised to a direct-rail client); ignore
|
|
288
|
+
// hints that do not match this challenge instead of failing recovery on
|
|
289
|
+
// every attempt. Explicit caller descriptors keep failing loudly in
|
|
290
|
+
// recovery validation.
|
|
291
|
+
const recoverable = context?.descriptor !== undefined ||
|
|
292
|
+
(isSameAddress(recoverContext.descriptor.payee, resolved.payee) &&
|
|
293
|
+
isSameAddress(recoverContext.descriptor.token, resolved.token));
|
|
294
|
+
if (recoverable)
|
|
295
|
+
return {
|
|
296
|
+
type: 'recover',
|
|
297
|
+
account,
|
|
298
|
+
context: recoverContext,
|
|
299
|
+
decimals,
|
|
300
|
+
maxDeposit,
|
|
301
|
+
resolved,
|
|
302
|
+
};
|
|
306
303
|
}
|
|
307
304
|
if (entry?.opened && canSignDescriptor(account, entry.descriptor))
|
|
308
305
|
return { type: 'voucher', account, entry, maxDeposit, resolved };
|
|
309
306
|
return { type: 'open', account, context, maxDeposit, resolved };
|
|
310
307
|
}
|
|
311
308
|
/** Executes a credential plan and returns the concrete session credential payload. */
|
|
312
|
-
export async function executeCredentialPlan(plan,
|
|
309
|
+
export async function executeCredentialPlan(plan, autoSwap = false, feeToken) {
|
|
313
310
|
switch (plan.type) {
|
|
314
311
|
case 'open':
|
|
315
|
-
return open(plan,
|
|
312
|
+
return open(plan, autoSwap, feeToken);
|
|
316
313
|
case 'recover':
|
|
317
|
-
return recover(plan
|
|
314
|
+
return recover(plan);
|
|
318
315
|
case 'voucher':
|
|
319
|
-
return voucher(plan
|
|
316
|
+
return voucher(plan);
|
|
320
317
|
case 'manual':
|
|
321
|
-
return manual(plan,
|
|
318
|
+
return manual(plan, autoSwap, feeToken);
|
|
322
319
|
}
|
|
323
320
|
}
|
|
324
321
|
async function resolveAutoSwapCalls(autoSwap, parameters) {
|
|
@@ -332,7 +329,7 @@ async function resolveAutoSwapCalls(autoSwap, parameters) {
|
|
|
332
329
|
slippage: autoSwap.slippage,
|
|
333
330
|
}));
|
|
334
331
|
}
|
|
335
|
-
async function open(plan,
|
|
332
|
+
async function open(plan, autoSwap, feeToken) {
|
|
336
333
|
const { account, resolved } = plan;
|
|
337
334
|
const deposit = resolveOpeningDeposit({
|
|
338
335
|
contextDepositRaw: plan.context?.depositRaw,
|
|
@@ -345,6 +342,7 @@ async function open(plan, sink, autoSwap) {
|
|
|
345
342
|
deposit,
|
|
346
343
|
escrow: resolved.escrow,
|
|
347
344
|
feePayer: resolved.feePayer,
|
|
345
|
+
feeToken,
|
|
348
346
|
initialAmount: resolved.amount,
|
|
349
347
|
operator: resolved.operator,
|
|
350
348
|
payee: resolved.payee,
|
|
@@ -356,18 +354,21 @@ async function open(plan, sink, autoSwap) {
|
|
|
356
354
|
}),
|
|
357
355
|
token: resolved.token,
|
|
358
356
|
});
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
357
|
+
return {
|
|
358
|
+
payload,
|
|
359
|
+
entry: {
|
|
360
|
+
channelId: payload.channelId,
|
|
361
|
+
cumulativeAmount: resolved.amount,
|
|
362
|
+
deposit,
|
|
363
|
+
descriptor: payload.descriptor,
|
|
364
|
+
escrow: resolved.escrow,
|
|
365
|
+
chainId: resolved.chainId,
|
|
366
|
+
opened: true,
|
|
367
|
+
...(resolved.paymentScope && { paymentScope: resolved.paymentScope }),
|
|
368
|
+
},
|
|
369
|
+
};
|
|
369
370
|
}
|
|
370
|
-
async function recover(plan
|
|
371
|
+
async function recover(plan) {
|
|
371
372
|
const { account, context, decimals, maxDeposit, resolved } = plan;
|
|
372
373
|
const { descriptor } = context;
|
|
373
374
|
const reusable = await resolveReusableChannel({
|
|
@@ -394,27 +395,28 @@ async function recover(plan, sink) {
|
|
|
394
395
|
throw new Error('recovered voucher amount exceeds on-chain channel deposit');
|
|
395
396
|
assertWithinMaxDeposit(cumulativeAmount, maxDeposit);
|
|
396
397
|
const payload = await createVoucherPayload(resolved.client, account, descriptor, cumulativeAmount, resolved.chainId, resolved.escrow);
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
398
|
+
return {
|
|
399
|
+
payload,
|
|
400
|
+
entry: {
|
|
401
|
+
channelId: reusable.channelId,
|
|
402
|
+
cumulativeAmount,
|
|
403
|
+
deposit: reusable.state.deposit,
|
|
404
|
+
descriptor,
|
|
405
|
+
escrow: resolved.escrow,
|
|
406
|
+
chainId: resolved.chainId,
|
|
407
|
+
opened: true,
|
|
408
|
+
...(resolved.paymentScope && { paymentScope: resolved.paymentScope }),
|
|
409
|
+
},
|
|
410
|
+
};
|
|
407
411
|
}
|
|
408
|
-
async function voucher(plan
|
|
412
|
+
async function voucher(plan) {
|
|
409
413
|
const { account, entry, resolved } = plan;
|
|
410
414
|
const cumulativeAmount = entry.cumulativeAmount + resolved.amount;
|
|
411
415
|
assertWithinMaxDeposit(cumulativeAmount, plan.maxDeposit);
|
|
412
416
|
const payload = await createVoucherPayload(resolved.client, account, entry.descriptor, cumulativeAmount, resolved.chainId, resolved.escrow);
|
|
413
|
-
entry
|
|
414
|
-
await storeChannelEntry(sink, entry);
|
|
415
|
-
return payload;
|
|
417
|
+
return { payload, entry: { ...entry, cumulativeAmount } };
|
|
416
418
|
}
|
|
417
|
-
async function manual(plan,
|
|
419
|
+
async function manual(plan, autoSwap, feeToken) {
|
|
418
420
|
const { account, context, decimals, resolved } = plan;
|
|
419
421
|
const { descriptor } = context;
|
|
420
422
|
const channelId = Channel.computeId({
|
|
@@ -438,16 +440,15 @@ async function manual(plan, sink, autoSwap) {
|
|
|
438
440
|
decimals,
|
|
439
441
|
descriptor,
|
|
440
442
|
resolved,
|
|
441
|
-
}, autoSwap);
|
|
442
|
-
|
|
443
|
-
return payload;
|
|
443
|
+
}, autoSwap, feeToken);
|
|
444
|
+
return { payload, entry: applyCredential(plan.entry, payload) };
|
|
444
445
|
}
|
|
445
|
-
async function executeManualCredential(parameters, autoSwap) {
|
|
446
|
+
async function executeManualCredential(parameters, autoSwap, feeToken) {
|
|
446
447
|
switch (parameters.context.action) {
|
|
447
448
|
case 'open':
|
|
448
449
|
return manualOpen(parameters);
|
|
449
450
|
case 'topUp':
|
|
450
|
-
return manualTopUp(parameters, autoSwap);
|
|
451
|
+
return manualTopUp(parameters, autoSwap, feeToken);
|
|
451
452
|
case 'voucher':
|
|
452
453
|
return manualVoucher(parameters);
|
|
453
454
|
case 'close':
|
|
@@ -471,7 +472,7 @@ async function manualOpen(parameters) {
|
|
|
471
472
|
authorizedSigner: descriptor.authorizedSigner,
|
|
472
473
|
};
|
|
473
474
|
}
|
|
474
|
-
async function manualTopUp(parameters, autoSwap) {
|
|
475
|
+
async function manualTopUp(parameters, autoSwap, feeToken) {
|
|
475
476
|
const { account, channelId, context, decimals, descriptor, resolved } = parameters;
|
|
476
477
|
const additionalDeposit = requireContextAmount(context, decimals, 'additionalDeposit', 'topUp');
|
|
477
478
|
if (context.transaction) {
|
|
@@ -489,7 +490,7 @@ async function manualTopUp(parameters, autoSwap) {
|
|
|
489
490
|
amountOut: additionalDeposit,
|
|
490
491
|
client: resolved.client,
|
|
491
492
|
tokenOut: resolved.token,
|
|
492
|
-
}));
|
|
493
|
+
}), feeToken);
|
|
493
494
|
}
|
|
494
495
|
function manualVoucher(parameters) {
|
|
495
496
|
const { account, context, decimals, descriptor, resolved } = parameters;
|
|
@@ -308,8 +308,10 @@ export type ExpectedCloseReceiptParameters = {
|
|
|
308
308
|
challengeId: string;
|
|
309
309
|
/** Channel ID being closed. */
|
|
310
310
|
channelId: Hex;
|
|
311
|
-
/** Expected final cumulative
|
|
311
|
+
/** Expected final cumulative authorization. */
|
|
312
312
|
expectedCloseAmount: string;
|
|
313
|
+
/** Lowest cumulative spend already confirmed by the client. */
|
|
314
|
+
minimumSpent?: bigint | undefined;
|
|
313
315
|
/** Receipt to test. */
|
|
314
316
|
receipt: SessionReceipt;
|
|
315
317
|
};
|
|
@@ -434,7 +436,7 @@ export declare function closedStateFromReceipt(receipt: SessionReceipt, entry: C
|
|
|
434
436
|
* Priority:
|
|
435
437
|
* 1. Matching close-ready receipt spend.
|
|
436
438
|
* 2. Matching socket delivery estimate (`deliveredChunks * tickCost`) clamped by cumulative.
|
|
437
|
-
* 3.
|
|
439
|
+
* 3. Local cumulative authorization high-water mark for HTTP/SSE.
|
|
438
440
|
*/
|
|
439
441
|
export declare function computeFallbackCloseAmount(parameters: FallbackCloseAmountParameters): bigint;
|
|
440
442
|
/**
|
|
@@ -319,18 +319,27 @@ export function localCloseSpendLimit(parameters) {
|
|
|
319
319
|
/** Throws when a close-ready receipt asks the client to sign beyond local state. */
|
|
320
320
|
export function assertCloseReadyWithinLocalState(parameters) {
|
|
321
321
|
const { cumulativeAmount, readySpent, spent } = parameters;
|
|
322
|
+
if (!Ws.isUint96(readySpent))
|
|
323
|
+
throw new Error('close-ready spent is not a uint96 amount');
|
|
324
|
+
if (readySpent < spent)
|
|
325
|
+
throw new Error('close-ready spent is below locally confirmed spend');
|
|
322
326
|
if (readySpent > localCloseSpendLimit({ cumulativeAmount, spent })) {
|
|
323
327
|
throw new Error('close-ready spent exceeds local voucher state');
|
|
324
328
|
}
|
|
325
329
|
}
|
|
326
330
|
/** Returns whether a receipt is the expected final close settlement receipt. */
|
|
327
331
|
export function isExpectedCloseReceipt(parameters) {
|
|
328
|
-
const { challengeId, channelId, expectedCloseAmount, receipt } = parameters;
|
|
332
|
+
const { challengeId, channelId, expectedCloseAmount, minimumSpent = 0n, receipt } = parameters;
|
|
333
|
+
const expected = Ws.parseUint96Amount(expectedCloseAmount);
|
|
334
|
+
const receiptSpent = Ws.parseUint96Amount(receipt.spent);
|
|
335
|
+
if (expected === undefined || receiptSpent === undefined || !Ws.isUint96(minimumSpent))
|
|
336
|
+
return false;
|
|
329
337
|
return (Boolean(receipt.txHash) &&
|
|
330
338
|
receipt.challengeId === challengeId &&
|
|
331
339
|
receipt.channelId === channelId &&
|
|
332
340
|
receipt.acceptedCumulative === expectedCloseAmount &&
|
|
333
|
-
|
|
341
|
+
receiptSpent >= minimumSpent &&
|
|
342
|
+
receiptSpent <= expected);
|
|
334
343
|
}
|
|
335
344
|
/** Projects cached channel data into an active state-machine state. */
|
|
336
345
|
export function activeStateFromChannel(parameters) {
|
|
@@ -402,21 +411,27 @@ export function closedStateFromReceipt(receipt, entry) {
|
|
|
402
411
|
* Priority:
|
|
403
412
|
* 1. Matching close-ready receipt spend.
|
|
404
413
|
* 2. Matching socket delivery estimate (`deliveredChunks * tickCost`) clamped by cumulative.
|
|
405
|
-
* 3.
|
|
414
|
+
* 3. Local cumulative authorization high-water mark for HTTP/SSE.
|
|
406
415
|
*/
|
|
407
416
|
export function computeFallbackCloseAmount(parameters) {
|
|
408
417
|
const { challengeId, channelId, closeReadyReceipt, cumulativeAmount, deliveredChunks = 0n, socketChallengeId, socketChannelId, spent, tickCost = 0n, } = parameters;
|
|
418
|
+
if (spent > cumulativeAmount) {
|
|
419
|
+
throw new Error('locally confirmed spend exceeds local voucher state');
|
|
420
|
+
}
|
|
409
421
|
if (closeReadyReceipt &&
|
|
410
422
|
closeReadyReceipt.challengeId === challengeId &&
|
|
411
423
|
closeReadyReceipt.channelId === channelId) {
|
|
412
|
-
|
|
424
|
+
const closeReadySpent = Ws.parseUint96Amount(closeReadyReceipt.spent);
|
|
425
|
+
if (closeReadySpent === undefined)
|
|
426
|
+
throw new Error('close-ready spent is not a uint96 amount');
|
|
427
|
+
return closeReadySpent > spent ? closeReadySpent : spent;
|
|
413
428
|
}
|
|
414
429
|
if (socketChallengeId === challengeId && socketChannelId === channelId && tickCost > 0n) {
|
|
415
430
|
const deliveryEstimate = deliveredChunks * tickCost;
|
|
416
431
|
const bestSpent = spent > deliveryEstimate ? spent : deliveryEstimate;
|
|
417
432
|
return bestSpent > cumulativeAmount ? cumulativeAmount : bestSpent;
|
|
418
433
|
}
|
|
419
|
-
return
|
|
434
|
+
return cumulativeAmount;
|
|
420
435
|
}
|
|
421
436
|
/**
|
|
422
437
|
* Restores a channel's cumulative voucher boundary and returns the refreshed active state.
|
|
@@ -501,6 +516,7 @@ export async function closeSocketSession(parameters) {
|
|
|
501
516
|
challengeId: target.challenge.id,
|
|
502
517
|
channelId: target.channelId,
|
|
503
518
|
expectedCloseAmount,
|
|
519
|
+
minimumSpent: readySpent,
|
|
504
520
|
receipt,
|
|
505
521
|
}));
|
|
506
522
|
activeSocket.send(Ws.formatAuthorizationMessage(credential));
|