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
|
@@ -177,8 +177,8 @@ 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. */
|
|
@@ -197,6 +197,8 @@ export declare function simulateCredentialTransaction(parameters: {
|
|
|
197
197
|
* Submit a settle transaction on-chain.
|
|
198
198
|
*/
|
|
199
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>;
|
|
200
202
|
/**
|
|
201
203
|
* Submit a top-up transaction on-chain.
|
|
202
204
|
*/
|
|
@@ -213,6 +215,8 @@ export declare function withdrawOnChain(client: Client, descriptor: ChannelDescr
|
|
|
213
215
|
* Submit a close transaction on-chain.
|
|
214
216
|
*/
|
|
215
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>;
|
|
216
220
|
/** Receipt event shape emitted by TIP20EscrowChannel precompile management calls. */
|
|
217
221
|
export type ChannelReceiptEvent = {
|
|
218
222
|
args: {
|
|
@@ -279,6 +283,8 @@ export type BroadcastOpenTransactionResult = {
|
|
|
279
283
|
};
|
|
280
284
|
/** Inputs for broadcasting and verifying a client-signed TIP-1034 open transaction. */
|
|
281
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;
|
|
282
288
|
/** Hook invoked after calldata validation but before broadcasting. */
|
|
283
289
|
beforeBroadcast?: ((result: Omit<BroadcastOpenTransactionResult, 'txHash' | 'state'>) => Promise<void> | void) | undefined;
|
|
284
290
|
/** Challenge expiration propagated into fee-payer policy checks. */
|
|
@@ -334,6 +340,8 @@ export type BroadcastTopUpTransactionResult = {
|
|
|
334
340
|
export type BroadcastTopUpTransactionParameters = {
|
|
335
341
|
/** Additional deposit amount expected in the top-up calldata. */
|
|
336
342
|
additionalDeposit: bigint;
|
|
343
|
+
/** Fee tokens allowed when the server completes a sponsored transaction. Defaults to the channel currency. */
|
|
344
|
+
allowedFeeTokens?: readonly Address[] | undefined;
|
|
337
345
|
/** Challenge expiration propagated into fee-payer policy checks. */
|
|
338
346
|
challengeExpires?: string | undefined;
|
|
339
347
|
/** Chain ID used for fee-payer transaction signing. */
|
|
@@ -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))
|
|
@@ -322,13 +326,14 @@ async function prepareFeePayerCallTransaction(client, parameters) {
|
|
|
322
326
|
});
|
|
323
327
|
}
|
|
324
328
|
function sendPrecompileContractCall(client, parameters) {
|
|
325
|
-
const { account, data, feeToken, to } = parameters;
|
|
329
|
+
const { account, data, feePayer, feeToken, to } = parameters;
|
|
326
330
|
// `feeToken` is Tempo-specific and not represented on viem's base
|
|
327
331
|
// transaction request type.
|
|
328
332
|
return sendViemTransaction(client, {
|
|
329
333
|
...(account ? { account } : {}),
|
|
330
334
|
to,
|
|
331
335
|
data,
|
|
336
|
+
...(feePayer ? { feePayer } : {}),
|
|
332
337
|
...(feeToken ? { feeToken } : {}),
|
|
333
338
|
});
|
|
334
339
|
}
|
|
@@ -340,6 +345,26 @@ export async function settleOnChain(client, descriptor, cumulativeAmount, signat
|
|
|
340
345
|
const args = [descriptorTuple(descriptor), cumulativeAmount, signature];
|
|
341
346
|
return sendPrecompileTransaction(client, escrow, encodeFunctionData({ abi: escrowAbi, functionName: 'settle', args }), 'settle', options);
|
|
342
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
|
+
}
|
|
343
368
|
/**
|
|
344
369
|
* Submit a top-up transaction on-chain.
|
|
345
370
|
*/
|
|
@@ -371,6 +396,10 @@ export async function closeOnChain(client, descriptor, cumulativeAmount, capture
|
|
|
371
396
|
const args = [descriptorTuple(descriptor), cumulativeAmount, captureAmount, signature];
|
|
372
397
|
return sendPrecompileTransaction(client, escrow, encodeFunctionData({ abi: escrowAbi, functionName: 'close', args }), 'close', options);
|
|
373
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
|
+
}
|
|
374
403
|
/**
|
|
375
404
|
* Asserts that a deserialized transaction has an existing sender signature.
|
|
376
405
|
*/
|
|
@@ -488,7 +517,7 @@ export function validateOpenCredentialTransaction(parameters) {
|
|
|
488
517
|
if (parameters.feePayer)
|
|
489
518
|
assertSenderSigned(transaction);
|
|
490
519
|
validateCredentialSponsorship({
|
|
491
|
-
allowedFeeTokens: [parameters.expectedCurrency],
|
|
520
|
+
allowedFeeTokens: parameters.allowedFeeTokens ?? [parameters.expectedCurrency],
|
|
492
521
|
challengeExpires: parameters.challengeExpires,
|
|
493
522
|
chainId: parameters.chainId,
|
|
494
523
|
details: {
|
|
@@ -522,7 +551,7 @@ export async function broadcastOpenTransaction(parameters) {
|
|
|
522
551
|
challengeExpires: parameters.challengeExpires,
|
|
523
552
|
chainId: parameters.chainId,
|
|
524
553
|
client: parameters.client,
|
|
525
|
-
allowedFeeTokens: [parameters.expectedCurrency],
|
|
554
|
+
allowedFeeTokens: parameters.allowedFeeTokens ?? [parameters.expectedCurrency],
|
|
526
555
|
details: {
|
|
527
556
|
channelId: parameters.expectedChannelId,
|
|
528
557
|
currency: parameters.expectedCurrency,
|
|
@@ -580,7 +609,7 @@ export function validateTopUpCredentialTransaction(parameters) {
|
|
|
580
609
|
if (parameters.feePayer)
|
|
581
610
|
assertSenderSigned(transaction);
|
|
582
611
|
validateCredentialSponsorship({
|
|
583
|
-
allowedFeeTokens: [parameters.expectedCurrency],
|
|
612
|
+
allowedFeeTokens: parameters.allowedFeeTokens ?? [parameters.expectedCurrency],
|
|
584
613
|
challengeExpires: parameters.challengeExpires,
|
|
585
614
|
chainId: parameters.chainId,
|
|
586
615
|
details: {
|
|
@@ -601,7 +630,7 @@ export async function broadcastTopUpTransaction(parameters) {
|
|
|
601
630
|
challengeExpires: parameters.challengeExpires,
|
|
602
631
|
chainId: parameters.chainId,
|
|
603
632
|
client: parameters.client,
|
|
604
|
-
allowedFeeTokens: [parameters.expectedCurrency],
|
|
633
|
+
allowedFeeTokens: parameters.allowedFeeTokens ?? [parameters.expectedCurrency],
|
|
605
634
|
details: {
|
|
606
635
|
additionalDeposit: parameters.additionalDeposit.toString(),
|
|
607
636
|
channelId: parameters.expectedChannelId,
|
|
@@ -644,13 +673,25 @@ function descriptorTuple(descriptor) {
|
|
|
644
673
|
}
|
|
645
674
|
async function sendPrecompileTransaction(client, to, data, label, options) {
|
|
646
675
|
const account = options?.account ?? client.account;
|
|
647
|
-
const
|
|
648
|
-
|
|
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
|
+
feeToken: options.feeToken,
|
|
686
|
+
to,
|
|
687
|
+
});
|
|
688
|
+
}
|
|
689
|
+
if (feePayer && !selfSponsored) {
|
|
649
690
|
if (!account)
|
|
650
691
|
throw new Error(`Cannot ${label} precompile channel: no account available.`);
|
|
651
692
|
const feeToken = options.feeToken ??
|
|
652
693
|
(await resolveFeeToken({
|
|
653
|
-
account:
|
|
694
|
+
account: feePayer.address,
|
|
654
695
|
candidateTokens: options.candidateFeeTokens,
|
|
655
696
|
client,
|
|
656
697
|
}));
|
|
@@ -664,7 +705,7 @@ async function sendPrecompileTransaction(client, to, data, label, options) {
|
|
|
664
705
|
const serialized = await signTempoTransaction(client, {
|
|
665
706
|
...prepared,
|
|
666
707
|
account,
|
|
667
|
-
feePayer
|
|
708
|
+
feePayer,
|
|
668
709
|
});
|
|
669
710
|
const receipt = await sendRawTransactionSync(client, {
|
|
670
711
|
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);
|
|
@@ -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
|
|
@@ -54,6 +54,8 @@ export type HighestVoucherParameters = {
|
|
|
54
54
|
cumulativeAmount: bigint;
|
|
55
55
|
/** Candidate voucher signature. */
|
|
56
56
|
signature: Hex;
|
|
57
|
+
/** Optional router-domain authorization retained for machine-token settlement. */
|
|
58
|
+
authorizationSignature?: Hex | undefined;
|
|
57
59
|
};
|
|
58
60
|
/** Highest accepted voucher amount plus signed voucher payload. */
|
|
59
61
|
export type HighestVoucher = {
|
|
@@ -93,6 +95,8 @@ export type OpenChannelStateParameters = {
|
|
|
93
95
|
cumulativeAmount: bigint;
|
|
94
96
|
/** Voucher signature for `cumulativeAmount`. */
|
|
95
97
|
signature: Hex;
|
|
98
|
+
/** Optional router-domain authorization for the initial machine-token voucher. */
|
|
99
|
+
authorizationSignature?: Hex | undefined;
|
|
96
100
|
/** Latest on-chain channel state read after open. */
|
|
97
101
|
state: Chain.ChannelState;
|
|
98
102
|
};
|
|
@@ -134,6 +138,8 @@ export type PendingCloseUpdate = {
|
|
|
134
138
|
};
|
|
135
139
|
/** Inputs for finalizing local state after a successful close transaction. */
|
|
136
140
|
export type FinalizeClosedChannelParameters = {
|
|
141
|
+
/** Router authorization paired with the close voucher on machine channels. */
|
|
142
|
+
authorizationSignature?: Hex | undefined;
|
|
137
143
|
/** Amount captured to payee during close. */
|
|
138
144
|
captureAmount: bigint;
|
|
139
145
|
/** Normalized channel ID. */
|
|
@@ -25,7 +25,7 @@ export function mergeActiveOnChainState(current, state) {
|
|
|
25
25
|
}
|
|
26
26
|
/** Keeps the existing higher voucher, otherwise stores the supplied candidate voucher. */
|
|
27
27
|
export function resolveHighestVoucher(parameters) {
|
|
28
|
-
const { channelId, current, cumulativeAmount, signature } = parameters;
|
|
28
|
+
const { authorizationSignature, channelId, current, cumulativeAmount, signature } = parameters;
|
|
29
29
|
if (current?.highestVoucherAmount && current.highestVoucherAmount > cumulativeAmount) {
|
|
30
30
|
return {
|
|
31
31
|
highestVoucherAmount: current.highestVoucherAmount,
|
|
@@ -34,7 +34,12 @@ export function resolveHighestVoucher(parameters) {
|
|
|
34
34
|
}
|
|
35
35
|
return {
|
|
36
36
|
highestVoucherAmount: cumulativeAmount,
|
|
37
|
-
highestVoucher: {
|
|
37
|
+
highestVoucher: {
|
|
38
|
+
channelId,
|
|
39
|
+
cumulativeAmount,
|
|
40
|
+
signature,
|
|
41
|
+
...(authorizationSignature ? { authorizationSignature } : {}),
|
|
42
|
+
},
|
|
38
43
|
};
|
|
39
44
|
}
|
|
40
45
|
/** Derives persisted identity fields from a verified precompile channel descriptor. */
|
|
@@ -59,8 +64,9 @@ export function resolvePrecompileChannelIdentity(parameters) {
|
|
|
59
64
|
export function openChannelState(parameters) {
|
|
60
65
|
const { authorizedSigner, chainId, channelId, current, descriptor, escrow, expiringNonceHash } = parameters;
|
|
61
66
|
const { state } = parameters;
|
|
62
|
-
const { cumulativeAmount, signature } = parameters;
|
|
67
|
+
const { authorizationSignature, cumulativeAmount, signature } = parameters;
|
|
63
68
|
const highestVoucher = resolveHighestVoucher({
|
|
69
|
+
authorizationSignature,
|
|
64
70
|
channelId,
|
|
65
71
|
current,
|
|
66
72
|
cumulativeAmount,
|
|
@@ -164,10 +170,11 @@ export function markPendingClose(parameters) {
|
|
|
164
170
|
}
|
|
165
171
|
/** Finalizes local channel state after a successful close transaction. */
|
|
166
172
|
export function finalizeClosedChannelState(parameters) {
|
|
167
|
-
const { captureAmount, channelId, cumulativeAmount, current, signature } = parameters;
|
|
173
|
+
const { authorizationSignature, captureAmount, channelId, cumulativeAmount, current, signature } = parameters;
|
|
168
174
|
if (!current)
|
|
169
175
|
return current;
|
|
170
176
|
const highestVoucher = resolveHighestVoucher({
|
|
177
|
+
authorizationSignature,
|
|
171
178
|
channelId,
|
|
172
179
|
current,
|
|
173
180
|
cumulativeAmount,
|
|
@@ -5,21 +5,22 @@ import * as Chain from '../precompile/Chain.js';
|
|
|
5
5
|
import * as Channel from '../precompile/Channel.js';
|
|
6
6
|
import { type SessionCredentialPayload, type SessionReceipt } from '../precompile/Protocol.js';
|
|
7
7
|
import * as ChannelStore from './ChannelStore.js';
|
|
8
|
+
import { type ChallengePaymentFields } from './RequestState.js';
|
|
8
9
|
import { type OnSessionSettlement } from './Settlement.js';
|
|
9
10
|
/** Returns the effective voucher signer for a TIP-1034 descriptor. */
|
|
10
11
|
export declare function authorizedSigner(descriptor: Channel.ChannelDescriptor): Address;
|
|
11
|
-
/** Asserts that a credential payload includes a TIP-1034 descriptor. */
|
|
12
|
-
export declare function assertDescriptor(payload: {
|
|
13
|
-
descriptor?: Channel.ChannelDescriptor | undefined;
|
|
14
|
-
}): asserts payload is {
|
|
15
|
-
descriptor: Channel.ChannelDescriptor;
|
|
16
|
-
};
|
|
17
12
|
/** Asserts that two TIP-1034 descriptors identify the same channel. */
|
|
18
13
|
export declare function assertSameDescriptor(a: Channel.ChannelDescriptor, b: Channel.ChannelDescriptor): void;
|
|
19
14
|
/**
|
|
20
15
|
* Validates a TIP-1034 descriptor against channel ID, server destination, and token.
|
|
21
16
|
*/
|
|
22
17
|
export declare function validateChannelDescriptor(descriptor: Channel.ChannelDescriptor, channelId: Address | `0x${string}`, chainId: number, escrow: Address, recipient: Address, currency: Address, expectedOperator?: Address | undefined): void;
|
|
18
|
+
type ResolvedCredentialRoute = {
|
|
19
|
+
allowedFeeTokens: readonly Address[];
|
|
20
|
+
expectedOperator: Address;
|
|
21
|
+
machineRouter?: Address | undefined;
|
|
22
|
+
payment: ChallengePaymentFields;
|
|
23
|
+
};
|
|
23
24
|
/** Validates on-chain channel state before accepting or charging a credential. */
|
|
24
25
|
export declare function validateChannelState(state: Chain.ChannelState, amount?: bigint): void;
|
|
25
26
|
/** Asserts that an opening channel covers the route's requested payment. */
|
|
@@ -69,7 +70,7 @@ export type BroadcastCredentialPayloadParameters = {
|
|
|
69
70
|
feePayer?: viem_Account | true | undefined;
|
|
70
71
|
/** Optional policy for fee-sponsored close/open/top-up transactions. */
|
|
71
72
|
feePayerPolicy?: Partial<FeePayer.Policy> | undefined;
|
|
72
|
-
/** Optional fee token override for
|
|
73
|
+
/** Optional fee token override for sponsored management and settlement transactions. */
|
|
73
74
|
feeToken?: Address | undefined;
|
|
74
75
|
/** Last successful on-chain refresh timestamp per channel ID. */
|
|
75
76
|
lastOnChainVerified: Map<Hex, number>;
|
|
@@ -85,7 +86,7 @@ export type BroadcastCredentialPayloadParameters = {
|
|
|
85
86
|
/** @deprecated Use {@link BroadcastCredentialPayloadParameters}. */
|
|
86
87
|
export type VerifyCredentialPayloadParameters = BroadcastCredentialPayloadParameters;
|
|
87
88
|
/** Narrows shared credential broadcast inputs to one payload action. */
|
|
88
|
-
export type BroadcastCredentialActionParameters<action extends SessionCredentialPayload['action']> = Omit<BroadcastCredentialPayloadParameters, 'payload'> & {
|
|
89
|
+
export type BroadcastCredentialActionParameters<action extends SessionCredentialPayload['action']> = Omit<BroadcastCredentialPayloadParameters, 'payload'> & ResolvedCredentialRoute & {
|
|
89
90
|
/** Credential payload for the selected action. */
|
|
90
91
|
payload: Extract<SessionCredentialPayload, {
|
|
91
92
|
action: action;
|
|
@@ -102,7 +103,7 @@ export type VoucherCredentialActionParameters = BroadcastCredentialActionParamet
|
|
|
102
103
|
/** Inputs for broadcasting and settling a cooperative close credential. */
|
|
103
104
|
export type CloseCredentialActionParameters = BroadcastCredentialActionParameters<'close'>;
|
|
104
105
|
/** Inputs for validating a session credential without applying its state transition. */
|
|
105
|
-
export type ValidateCredentialPayloadParameters = Pick<BroadcastCredentialPayloadParameters, 'account' | 'channelStateTtl' | 'chainId' | 'client' | 'credentialSource' | 'escrow' | 'expectedOperator' | 'feePayer' | 'feePayerPolicy' | 'lastOnChainVerified' | 'minVoucherDelta' | 'payload' | 'store' | 'challenge'>;
|
|
106
|
+
export type ValidateCredentialPayloadParameters = Pick<BroadcastCredentialPayloadParameters, 'account' | 'channelStateTtl' | 'chainId' | 'client' | 'credentialSource' | 'escrow' | 'expectedOperator' | 'feePayer' | 'feePayerPolicy' | 'feeToken' | 'lastOnChainVerified' | 'minVoucherDelta' | 'payload' | 'store' | 'challenge'>;
|
|
106
107
|
/** Non-mutating result produced by session credential validation. */
|
|
107
108
|
export type CredentialPayloadValidation = {
|
|
108
109
|
/** Session action validated from the credential. */
|
|
@@ -116,4 +117,5 @@ export declare function validateCredentialPayload(parameters: ValidateCredential
|
|
|
116
117
|
export declare function broadcastCredentialPayload(context: BroadcastCredentialPayloadParameters): Promise<SessionReceipt>;
|
|
117
118
|
/** @deprecated Use {@link broadcastCredentialPayload}. */
|
|
118
119
|
export declare function verifyCredentialPayload(context: VerifyCredentialPayloadParameters): Promise<SessionReceipt>;
|
|
120
|
+
export {};
|
|
119
121
|
//# sourceMappingURL=CredentialVerification.d.ts.map
|