mppx 0.8.15 → 0.8.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +91 -0
- package/README.md +15 -0
- package/dist/Challenge.js +61 -39
- package/dist/Constants.d.ts +17 -17
- package/dist/Errors.d.ts +3 -3
- package/dist/Method.d.ts +35 -5
- package/dist/Method.js +7 -22
- package/dist/Store.d.ts +19 -0
- package/dist/Store.js +43 -0
- package/dist/attestation/Client.d.ts +17 -0
- package/dist/attestation/Client.js +28 -0
- package/dist/attestation/Constants.d.ts +15 -0
- package/dist/attestation/Constants.js +15 -0
- package/dist/attestation/Server.d.ts +4 -0
- package/dist/attestation/Server.js +8 -0
- package/dist/attestation/Types.d.ts +76 -0
- package/dist/attestation/Types.js +2 -0
- package/dist/attestation/index.d.ts +6 -0
- package/dist/attestation/index.js +6 -0
- package/dist/attestation/internal/HttpMessageSignature.d.ts +73 -0
- package/dist/attestation/internal/HttpMessageSignature.js +320 -0
- package/dist/attestation/internal/SigningContext.d.ts +4 -0
- package/dist/attestation/internal/SigningContext.js +11 -0
- package/dist/bin.js +3 -3
- package/dist/cli/THIRD-PARTY-LICENSES.txt +328 -0
- package/dist/cli/account.d.ts +14 -14
- package/dist/cli/cli.d.ts +6 -6
- package/dist/cli/cli.js +253 -1504
- package/dist/cli/plugins/index.js +19 -5
- package/dist/cli/plugins/tempo.js +7 -3
- package/dist/cli/sessions/Manager.js +7 -4
- package/dist/cli/sessions/commands.d.ts +4 -4
- package/dist/cli/sessions/request.d.ts +2 -0
- package/dist/cli/sessions/request.js +18 -0
- package/dist/cli/sessions/store.js +28 -14
- package/dist/cli/utils.d.ts +1 -1
- package/dist/cli/validate/index.d.ts +3 -3
- package/dist/client/Mppx.d.ts +3 -0
- package/dist/client/Mppx.js +13 -5
- package/dist/client/Transport.d.ts +3 -5
- package/dist/client/Transport.js +1 -17
- package/dist/client/internal/Fetch.js +2 -6
- package/dist/discovery/Discovery.js +2 -1
- package/dist/discovery/OpenApi.d.ts +3 -5
- package/dist/discovery/OpenApi.js +13 -34
- package/dist/discovery/internal/Metadata.d.ts +20 -0
- package/dist/discovery/internal/Metadata.js +36 -0
- package/dist/evm/Methods.d.ts +11 -11
- package/dist/evm/Types.d.ts +17 -17
- package/dist/evm/client/Charge.d.ts +11 -11
- package/dist/evm/client/Charge.js +8 -0
- package/dist/evm/client/Methods.d.ts +11 -11
- package/dist/evm/server/Charge.d.ts +1 -1
- package/dist/evm/server/Charge.js +2 -0
- package/dist/evm/server/Methods.d.ts +11 -11
- package/dist/internal/HeaderCodec.d.ts +2 -2
- package/dist/internal/types.d.ts +6 -0
- package/dist/proxy/Proxy.d.ts +2 -0
- package/dist/proxy/Proxy.js +117 -9
- package/dist/proxy/Service.d.ts +36 -1
- package/dist/proxy/Service.js +9 -8
- package/dist/proxy/services/anthropic.js +1 -0
- package/dist/proxy/services/openai.js +1 -0
- package/dist/proxy/services/stripe.js +1 -0
- package/dist/server/Mppx.d.ts +75 -13
- package/dist/server/Mppx.js +201 -23
- package/dist/server/core.d.ts +9 -0
- package/dist/server/core.js +9 -0
- package/dist/server/internal/html/config.d.ts +9 -9
- package/dist/server/internal/html/constants.d.ts +17 -17
- package/dist/stripe/Methods.d.ts +10 -10
- package/dist/stripe/client/Charge.d.ts +10 -10
- package/dist/stripe/client/Methods.d.ts +10 -10
- package/dist/stripe/internal/constants.d.ts +1 -1
- package/dist/stripe/internal/constants.js +1 -1
- package/dist/stripe/internal/types.d.ts +1 -0
- package/dist/stripe/server/Charge.d.ts +11 -11
- package/dist/stripe/server/Charge.js +51 -5
- package/dist/stripe/server/Methods.d.ts +137 -48
- package/dist/stripe/server/Methods.js +265 -4
- package/dist/stripe/server/internal/deposit-address.d.ts +13 -0
- package/dist/stripe/server/internal/deposit-address.js +28 -0
- package/dist/stripe/server/internal/html.gen.d.ts +1 -1
- package/dist/stripe/server/internal/html.gen.js +1 -1
- package/dist/stripe/server/internal/record-payment.d.ts +15 -0
- package/dist/stripe/server/internal/record-payment.js +42 -0
- package/dist/stripe/server/internal/request.d.ts +25 -0
- package/dist/stripe/server/internal/request.js +29 -0
- package/dist/stripe/server/spt.d.ts +8 -0
- package/dist/stripe/server/spt.js +8 -0
- package/dist/tap/Constants.d.ts +28 -0
- package/dist/tap/Constants.js +32 -0
- package/dist/tap/Types.d.ts +11 -0
- package/dist/tap/Types.js +2 -0
- package/dist/tap/client/index.d.ts +26 -0
- package/dist/tap/client/index.js +33 -0
- package/dist/tap/index.d.ts +5 -0
- package/dist/tap/index.js +5 -0
- package/dist/tap/server/index.d.ts +20 -0
- package/dist/tap/server/index.js +36 -0
- package/dist/tempo/Attribution.d.ts +1 -1
- package/dist/tempo/Methods.d.ts +73 -60
- package/dist/tempo/Methods.js +14 -3
- package/dist/tempo/Proof.d.ts +16 -16
- package/dist/tempo/client/Charge.d.ts +22 -19
- package/dist/tempo/client/Charge.js +32 -16
- package/dist/tempo/client/Methods.d.ts +51 -38
- package/dist/tempo/client/Subscription.d.ts +23 -23
- package/dist/tempo/internal/address.d.ts +2 -1
- package/dist/tempo/internal/address.js +3 -1
- package/dist/tempo/internal/auto-swap.js +4 -19
- package/dist/tempo/internal/defaults.d.ts +17 -6
- package/dist/tempo/internal/defaults.js +11 -0
- package/dist/tempo/internal/fee-payer.d.ts +12 -12
- package/dist/tempo/internal/machine-token-charge.d.ts +51 -0
- package/dist/tempo/internal/machine-token-charge.js +113 -0
- package/dist/tempo/internal/machine-token-session.d.ts +88 -0
- package/dist/tempo/internal/machine-token-session.js +173 -0
- package/dist/tempo/internal/proof.d.ts +17 -17
- package/dist/tempo/internal/signature-envelope.d.ts +14 -0
- package/dist/tempo/internal/signature-envelope.js +28 -0
- package/dist/tempo/legacy/client/ChannelOps.d.ts +2 -2
- package/dist/tempo/legacy/client/ChannelOps.js +11 -5
- package/dist/tempo/legacy/client/Session.d.ts +33 -21
- package/dist/tempo/legacy/client/Session.js +3 -3
- package/dist/tempo/legacy/client/SessionManager.d.ts +3 -1
- package/dist/tempo/legacy/client/SessionManager.js +2 -0
- package/dist/tempo/legacy/index.d.ts +1 -3
- package/dist/tempo/legacy/index.js +1 -3
- package/dist/tempo/legacy/session/escrow.abi.d.ts +374 -374
- package/dist/tempo/server/Charge.d.ts +28 -11
- package/dist/tempo/server/Charge.js +101 -55
- package/dist/tempo/server/Methods.d.ts +58 -56
- package/dist/tempo/server/Methods.js +8 -18
- package/dist/tempo/server/Relay.d.ts +1 -1
- package/dist/tempo/server/Relay.js +2 -2
- package/dist/tempo/server/Subscription.d.ts +25 -25
- package/dist/tempo/server/Subscription.js +2 -0
- package/dist/tempo/server/index.d.ts +1 -1
- package/dist/tempo/server/index.js +1 -1
- package/dist/tempo/server/internal/html.gen.d.ts +1 -1
- package/dist/tempo/server/internal/html.gen.js +1 -1
- package/dist/tempo/server/internal/transport.d.ts +2 -0
- package/dist/tempo/server/internal/transport.js +9 -2
- package/dist/tempo/session/client/ChannelOps.d.ts +18 -3
- package/dist/tempo/session/client/ChannelOps.js +35 -6
- package/dist/tempo/session/client/ChannelStore.d.ts +0 -5
- package/dist/tempo/session/client/ChannelStore.js +2 -2
- package/dist/tempo/session/client/CredentialState.d.ts +18 -3
- package/dist/tempo/session/client/CredentialState.js +77 -76
- package/dist/tempo/session/client/Runtime.d.ts +4 -2
- package/dist/tempo/session/client/Runtime.js +21 -5
- package/dist/tempo/session/client/Session.d.ts +34 -22
- package/dist/tempo/session/client/Session.js +186 -63
- package/dist/tempo/session/client/SessionManager.d.ts +3 -1
- package/dist/tempo/session/client/SessionManager.js +35 -11
- package/dist/tempo/session/client/Transports.d.ts +2 -0
- package/dist/tempo/session/client/Transports.js +12 -2
- package/dist/tempo/session/precompile/Chain.d.ts +37 -2
- package/dist/tempo/session/precompile/Chain.js +116 -15
- package/dist/tempo/session/precompile/Protocol.d.ts +15 -0
- package/dist/tempo/session/precompile/Protocol.js +7 -0
- package/dist/tempo/session/precompile/Voucher.d.ts +7 -5
- package/dist/tempo/session/precompile/Voucher.js +6 -12
- package/dist/tempo/session/precompile/escrow.abi.d.ts +306 -306
- package/dist/tempo/session/server/ChannelStore.d.ts +15 -0
- package/dist/tempo/session/server/ChannelStore.js +27 -12
- package/dist/tempo/session/server/CredentialVerification.d.ts +39 -20
- package/dist/tempo/session/server/CredentialVerification.js +359 -89
- package/dist/tempo/session/server/MeteredStream.d.ts +4 -1
- package/dist/tempo/session/server/MeteredStream.js +8 -5
- package/dist/tempo/session/server/RequestState.d.ts +19 -0
- package/dist/tempo/session/server/RequestState.js +61 -15
- package/dist/tempo/session/server/Session.d.ts +46 -23
- package/dist/tempo/session/server/Session.js +150 -56
- package/dist/tempo/session/server/Settlement.d.ts +11 -4
- package/dist/tempo/session/server/Settlement.js +53 -21
- package/dist/tempo/session/server/Sse.d.ts +3 -1
- package/dist/tempo/session/server/Sse.js +2 -1
- package/dist/tempo/session/server/Transports.d.ts +1 -1
- package/dist/tempo/session/server/Transports.js +1 -0
- package/dist/tempo/session/server/Ws.d.ts +6 -1
- package/dist/tempo/session/server/Ws.js +1 -0
- package/dist/tempo/subscription/KeyAuthorization.d.ts +39 -39
- package/dist/web-bot-auth/Constants.d.ts +20 -0
- package/dist/web-bot-auth/Constants.js +24 -0
- package/dist/web-bot-auth/Types.d.ts +10 -0
- package/dist/web-bot-auth/Types.js +2 -0
- package/dist/web-bot-auth/client/index.d.ts +29 -0
- package/dist/web-bot-auth/client/index.js +64 -0
- package/dist/web-bot-auth/index.d.ts +7 -0
- package/dist/web-bot-auth/index.js +7 -0
- package/dist/web-bot-auth/internal/JwkThumbprint.d.ts +5 -0
- package/dist/web-bot-auth/internal/JwkThumbprint.js +20 -0
- package/dist/web-bot-auth/internal/SignatureAgent.d.ts +3 -0
- package/dist/web-bot-auth/internal/SignatureAgent.js +18 -0
- package/dist/web-bot-auth/server/index.d.ts +35 -0
- package/dist/web-bot-auth/server/index.js +88 -0
- package/dist/x402/Types.d.ts +6 -6
- package/dist/x402/client/Exact.d.ts +8 -0
- package/dist/x402/client/Exact.js +40 -10
- package/dist/x402/server/EvmCharge.d.ts +22 -0
- package/dist/x402/server/EvmCharge.js +54 -20
- package/package.json +28 -34
- package/dist/BodyDigest.d.ts.map +0 -1
- package/dist/BodyDigest.js.map +0 -1
- package/dist/Challenge.d.ts.map +0 -1
- package/dist/Challenge.js.map +0 -1
- package/dist/Constants.d.ts.map +0 -1
- package/dist/Constants.js.map +0 -1
- package/dist/Credential.d.ts.map +0 -1
- package/dist/Credential.js.map +0 -1
- package/dist/Errors.d.ts.map +0 -1
- package/dist/Errors.js.map +0 -1
- package/dist/Expires.d.ts.map +0 -1
- package/dist/Expires.js.map +0 -1
- package/dist/Html.d.ts.map +0 -1
- package/dist/Html.js.map +0 -1
- package/dist/Mcp.d.ts.map +0 -1
- package/dist/Mcp.js.map +0 -1
- package/dist/Method.d.ts.map +0 -1
- package/dist/Method.js.map +0 -1
- package/dist/PaymentRequest.d.ts.map +0 -1
- package/dist/PaymentRequest.js.map +0 -1
- package/dist/Receipt.d.ts.map +0 -1
- package/dist/Receipt.js.map +0 -1
- package/dist/Store.d.ts.map +0 -1
- package/dist/Store.js.map +0 -1
- package/dist/bin.d.ts.map +0 -1
- package/dist/bin.js.map +0 -1
- package/dist/cli/account.d.ts.map +0 -1
- package/dist/cli/account.js.map +0 -1
- package/dist/cli/cli.d.ts.map +0 -1
- package/dist/cli/cli.js.map +0 -1
- package/dist/cli/config.d.ts.map +0 -1
- package/dist/cli/config.js.map +0 -1
- package/dist/cli/internal.d.ts.map +0 -1
- package/dist/cli/internal.js.map +0 -1
- package/dist/cli/plugins/evm.d.ts.map +0 -1
- package/dist/cli/plugins/evm.js.map +0 -1
- package/dist/cli/plugins/index.d.ts.map +0 -1
- package/dist/cli/plugins/index.js.map +0 -1
- package/dist/cli/plugins/plugin.d.ts.map +0 -1
- package/dist/cli/plugins/plugin.js.map +0 -1
- package/dist/cli/plugins/stripe.d.ts.map +0 -1
- package/dist/cli/plugins/stripe.js.map +0 -1
- package/dist/cli/plugins/tempo.d.ts.map +0 -1
- package/dist/cli/plugins/tempo.js.map +0 -1
- package/dist/cli/sessions/Manager.d.ts.map +0 -1
- package/dist/cli/sessions/Manager.js.map +0 -1
- package/dist/cli/sessions/commands.d.ts.map +0 -1
- package/dist/cli/sessions/commands.js.map +0 -1
- package/dist/cli/sessions/request.d.ts.map +0 -1
- package/dist/cli/sessions/request.js.map +0 -1
- package/dist/cli/sessions/store.d.ts.map +0 -1
- package/dist/cli/sessions/store.js.map +0 -1
- package/dist/cli/utils.d.ts.map +0 -1
- package/dist/cli/utils.js.map +0 -1
- package/dist/cli/validate/challenge.d.ts.map +0 -1
- package/dist/cli/validate/challenge.js.map +0 -1
- package/dist/cli/validate/discovery.d.ts.map +0 -1
- package/dist/cli/validate/discovery.js.map +0 -1
- package/dist/cli/validate/helpers.d.ts.map +0 -1
- package/dist/cli/validate/helpers.js.map +0 -1
- package/dist/cli/validate/index.d.ts.map +0 -1
- package/dist/cli/validate/index.js.map +0 -1
- package/dist/cli/validate/messages.d.ts.map +0 -1
- package/dist/cli/validate/messages.js.map +0 -1
- package/dist/cli/validate/payment.d.ts.map +0 -1
- package/dist/cli/validate/payment.js.map +0 -1
- package/dist/client/Methods.d.ts.map +0 -1
- package/dist/client/Methods.js.map +0 -1
- package/dist/client/Mppx.d.ts.map +0 -1
- package/dist/client/Mppx.js.map +0 -1
- package/dist/client/Transport.d.ts.map +0 -1
- package/dist/client/Transport.js.map +0 -1
- package/dist/client/index.d.ts.map +0 -1
- package/dist/client/index.js.map +0 -1
- package/dist/client/internal/Fetch.d.ts.map +0 -1
- package/dist/client/internal/Fetch.js.map +0 -1
- package/dist/client/internal/MethodChallenge.d.ts.map +0 -1
- package/dist/client/internal/MethodChallenge.js.map +0 -1
- package/dist/client/internal/MethodResponse.d.ts.map +0 -1
- package/dist/client/internal/MethodResponse.js.map +0 -1
- package/dist/client/internal/protocols/Mcp.d.ts.map +0 -1
- package/dist/client/internal/protocols/Mcp.js.map +0 -1
- package/dist/client/internal/protocols/Mpp.d.ts.map +0 -1
- package/dist/client/internal/protocols/Mpp.js.map +0 -1
- package/dist/client/internal/protocols/Protocol.d.ts.map +0 -1
- package/dist/client/internal/protocols/Protocol.js.map +0 -1
- package/dist/client/internal/protocols/Shared.d.ts.map +0 -1
- package/dist/client/internal/protocols/Shared.js.map +0 -1
- package/dist/client/internal/protocols/X402.d.ts.map +0 -1
- package/dist/client/internal/protocols/X402.js.map +0 -1
- package/dist/client/node.d.ts.map +0 -1
- package/dist/client/node.js.map +0 -1
- package/dist/discovery/Discovery.d.ts.map +0 -1
- package/dist/discovery/Discovery.js.map +0 -1
- package/dist/discovery/OpenApi.d.ts.map +0 -1
- package/dist/discovery/OpenApi.js.map +0 -1
- package/dist/discovery/Validate.d.ts.map +0 -1
- package/dist/discovery/Validate.js.map +0 -1
- package/dist/discovery/index.d.ts.map +0 -1
- package/dist/discovery/index.js.map +0 -1
- package/dist/evm/Assets.d.ts.map +0 -1
- package/dist/evm/Assets.js.map +0 -1
- package/dist/evm/Chains.d.ts.map +0 -1
- package/dist/evm/Chains.js.map +0 -1
- package/dist/evm/Methods.d.ts.map +0 -1
- package/dist/evm/Methods.js.map +0 -1
- package/dist/evm/Types.d.ts.map +0 -1
- package/dist/evm/Types.js.map +0 -1
- package/dist/evm/client/Charge.d.ts.map +0 -1
- package/dist/evm/client/Charge.js.map +0 -1
- package/dist/evm/client/Methods.d.ts.map +0 -1
- package/dist/evm/client/Methods.js.map +0 -1
- package/dist/evm/client/index.d.ts.map +0 -1
- package/dist/evm/client/index.js.map +0 -1
- package/dist/evm/index.d.ts.map +0 -1
- package/dist/evm/index.js.map +0 -1
- package/dist/evm/server/Charge.d.ts.map +0 -1
- package/dist/evm/server/Charge.js.map +0 -1
- package/dist/evm/server/Methods.d.ts.map +0 -1
- package/dist/evm/server/Methods.js.map +0 -1
- package/dist/evm/server/index.d.ts.map +0 -1
- package/dist/evm/server/index.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/internal/AcceptPayment.d.ts.map +0 -1
- package/dist/internal/AcceptPayment.js.map +0 -1
- package/dist/internal/HeaderCodec.d.ts.map +0 -1
- package/dist/internal/HeaderCodec.js.map +0 -1
- package/dist/internal/constantTimeEqual.d.ts.map +0 -1
- package/dist/internal/constantTimeEqual.js.map +0 -1
- package/dist/internal/env.d.ts.map +0 -1
- package/dist/internal/env.js.map +0 -1
- package/dist/internal/types.d.ts.map +0 -1
- package/dist/internal/types.js.map +0 -1
- package/dist/mcp/client/McpClient.d.ts.map +0 -1
- package/dist/mcp/client/McpClient.js.map +0 -1
- package/dist/mcp/client/index.d.ts.map +0 -1
- package/dist/mcp/client/index.js.map +0 -1
- package/dist/mcp/server/Transport.d.ts.map +0 -1
- package/dist/mcp/server/Transport.js.map +0 -1
- package/dist/mcp/server/index.d.ts.map +0 -1
- package/dist/mcp/server/index.js.map +0 -1
- package/dist/middlewares/elysia.d.ts.map +0 -1
- package/dist/middlewares/elysia.js.map +0 -1
- package/dist/middlewares/express.d.ts.map +0 -1
- package/dist/middlewares/express.js.map +0 -1
- package/dist/middlewares/hono.d.ts.map +0 -1
- package/dist/middlewares/hono.js.map +0 -1
- package/dist/middlewares/internal/mppx.d.ts.map +0 -1
- package/dist/middlewares/internal/mppx.js.map +0 -1
- package/dist/middlewares/nextjs.d.ts.map +0 -1
- package/dist/middlewares/nextjs.js.map +0 -1
- package/dist/proxy/Proxy.d.ts.map +0 -1
- package/dist/proxy/Proxy.js.map +0 -1
- package/dist/proxy/Service.d.ts.map +0 -1
- package/dist/proxy/Service.js.map +0 -1
- package/dist/proxy/index.d.ts.map +0 -1
- package/dist/proxy/index.js.map +0 -1
- package/dist/proxy/internal/Headers.d.ts.map +0 -1
- package/dist/proxy/internal/Headers.js.map +0 -1
- package/dist/proxy/internal/Route.d.ts.map +0 -1
- package/dist/proxy/internal/Route.js.map +0 -1
- package/dist/proxy/services/anthropic.d.ts.map +0 -1
- package/dist/proxy/services/anthropic.js.map +0 -1
- package/dist/proxy/services/openai.d.ts.map +0 -1
- package/dist/proxy/services/openai.js.map +0 -1
- package/dist/proxy/services/stripe.d.ts.map +0 -1
- package/dist/proxy/services/stripe.js.map +0 -1
- package/dist/server/Methods.d.ts.map +0 -1
- package/dist/server/Methods.js.map +0 -1
- package/dist/server/Mppx.d.ts.map +0 -1
- package/dist/server/Mppx.js.map +0 -1
- package/dist/server/NodeListener.d.ts.map +0 -1
- package/dist/server/NodeListener.js.map +0 -1
- package/dist/server/Request.d.ts.map +0 -1
- package/dist/server/Request.js.map +0 -1
- package/dist/server/Response.d.ts.map +0 -1
- package/dist/server/Response.js.map +0 -1
- package/dist/server/Transport.d.ts.map +0 -1
- package/dist/server/Transport.js.map +0 -1
- package/dist/server/index.d.ts.map +0 -1
- package/dist/server/index.js.map +0 -1
- package/dist/server/internal/html/compose.main.gen.d.ts.map +0 -1
- package/dist/server/internal/html/compose.main.gen.js.map +0 -1
- package/dist/server/internal/html/config.d.ts.map +0 -1
- package/dist/server/internal/html/config.js.map +0 -1
- package/dist/server/internal/html/constants.d.ts.map +0 -1
- package/dist/server/internal/html/constants.js.map +0 -1
- package/dist/server/internal/html/serviceWorker.client.d.ts.map +0 -1
- package/dist/server/internal/html/serviceWorker.client.js.map +0 -1
- package/dist/server/internal/html/serviceWorker.gen.d.ts.map +0 -1
- package/dist/server/internal/html/serviceWorker.gen.js.map +0 -1
- package/dist/server/internal/scope.d.ts.map +0 -1
- package/dist/server/internal/scope.js.map +0 -1
- package/dist/stripe/Methods.d.ts.map +0 -1
- package/dist/stripe/Methods.js.map +0 -1
- package/dist/stripe/client/Charge.d.ts.map +0 -1
- package/dist/stripe/client/Charge.js.map +0 -1
- package/dist/stripe/client/Methods.d.ts.map +0 -1
- package/dist/stripe/client/Methods.js.map +0 -1
- package/dist/stripe/client/index.d.ts.map +0 -1
- package/dist/stripe/client/index.js.map +0 -1
- package/dist/stripe/index.d.ts.map +0 -1
- package/dist/stripe/index.js.map +0 -1
- package/dist/stripe/internal/constants.d.ts.map +0 -1
- package/dist/stripe/internal/constants.js.map +0 -1
- package/dist/stripe/internal/types.d.ts.map +0 -1
- package/dist/stripe/internal/types.js.map +0 -1
- package/dist/stripe/server/Charge.d.ts.map +0 -1
- package/dist/stripe/server/Charge.js.map +0 -1
- package/dist/stripe/server/Methods.d.ts.map +0 -1
- package/dist/stripe/server/Methods.js.map +0 -1
- package/dist/stripe/server/index.d.ts.map +0 -1
- package/dist/stripe/server/index.js.map +0 -1
- package/dist/stripe/server/internal/html/types.d.ts.map +0 -1
- package/dist/stripe/server/internal/html/types.js.map +0 -1
- package/dist/stripe/server/internal/html.gen.d.ts.map +0 -1
- package/dist/stripe/server/internal/html.gen.js.map +0 -1
- package/dist/tempo/Attribution.d.ts.map +0 -1
- package/dist/tempo/Attribution.js.map +0 -1
- package/dist/tempo/Methods.d.ts.map +0 -1
- package/dist/tempo/Methods.js.map +0 -1
- package/dist/tempo/Proof.d.ts.map +0 -1
- package/dist/tempo/Proof.js.map +0 -1
- package/dist/tempo/client/Charge.d.ts.map +0 -1
- package/dist/tempo/client/Charge.js.map +0 -1
- package/dist/tempo/client/Methods.d.ts.map +0 -1
- package/dist/tempo/client/Methods.js.map +0 -1
- package/dist/tempo/client/ResolveAccount.d.ts.map +0 -1
- package/dist/tempo/client/ResolveAccount.js.map +0 -1
- package/dist/tempo/client/Subscription.d.ts.map +0 -1
- package/dist/tempo/client/Subscription.js.map +0 -1
- package/dist/tempo/client/index.d.ts.map +0 -1
- package/dist/tempo/client/index.js.map +0 -1
- package/dist/tempo/index.d.ts.map +0 -1
- package/dist/tempo/index.js.map +0 -1
- package/dist/tempo/internal/account.d.ts.map +0 -1
- package/dist/tempo/internal/account.js.map +0 -1
- package/dist/tempo/internal/address.d.ts.map +0 -1
- package/dist/tempo/internal/address.js.map +0 -1
- package/dist/tempo/internal/auto-swap.d.ts.map +0 -1
- package/dist/tempo/internal/auto-swap.js.map +0 -1
- package/dist/tempo/internal/charge.d.ts.map +0 -1
- package/dist/tempo/internal/charge.js.map +0 -1
- package/dist/tempo/internal/defaults.d.ts.map +0 -1
- package/dist/tempo/internal/defaults.js.map +0 -1
- package/dist/tempo/internal/fee-payer.d.ts.map +0 -1
- package/dist/tempo/internal/fee-payer.js.map +0 -1
- package/dist/tempo/internal/fee-token.d.ts.map +0 -1
- package/dist/tempo/internal/fee-token.js.map +0 -1
- package/dist/tempo/internal/proof.d.ts.map +0 -1
- package/dist/tempo/internal/proof.js.map +0 -1
- package/dist/tempo/internal/selectors.d.ts.map +0 -1
- package/dist/tempo/internal/selectors.js.map +0 -1
- package/dist/tempo/internal/types.d.ts.map +0 -1
- package/dist/tempo/internal/types.js.map +0 -1
- package/dist/tempo/legacy/client/ChannelOps.d.ts.map +0 -1
- package/dist/tempo/legacy/client/ChannelOps.js.map +0 -1
- package/dist/tempo/legacy/client/Session.d.ts.map +0 -1
- package/dist/tempo/legacy/client/Session.js.map +0 -1
- package/dist/tempo/legacy/client/SessionManager.d.ts.map +0 -1
- package/dist/tempo/legacy/client/SessionManager.js.map +0 -1
- package/dist/tempo/legacy/client/index.d.ts.map +0 -1
- package/dist/tempo/legacy/client/index.js.map +0 -1
- package/dist/tempo/legacy/index.d.ts.map +0 -1
- package/dist/tempo/legacy/index.js.map +0 -1
- package/dist/tempo/legacy/server/Session.d.ts +0 -208
- package/dist/tempo/legacy/server/Session.d.ts.map +0 -1
- package/dist/tempo/legacy/server/Session.js +0 -698
- package/dist/tempo/legacy/server/Session.js.map +0 -1
- package/dist/tempo/legacy/server/index.d.ts +0 -5
- package/dist/tempo/legacy/server/index.d.ts.map +0 -1
- package/dist/tempo/legacy/server/index.js +0 -5
- package/dist/tempo/legacy/server/index.js.map +0 -1
- package/dist/tempo/legacy/session/Chain.d.ts.map +0 -1
- package/dist/tempo/legacy/session/Chain.js.map +0 -1
- package/dist/tempo/legacy/session/Channel.d.ts.map +0 -1
- package/dist/tempo/legacy/session/Channel.js.map +0 -1
- package/dist/tempo/legacy/session/ChannelStore.d.ts +0 -22
- package/dist/tempo/legacy/session/ChannelStore.d.ts.map +0 -1
- package/dist/tempo/legacy/session/ChannelStore.js +0 -6
- package/dist/tempo/legacy/session/ChannelStore.js.map +0 -1
- package/dist/tempo/legacy/session/Types.d.ts.map +0 -1
- package/dist/tempo/legacy/session/Types.js.map +0 -1
- package/dist/tempo/legacy/session/Voucher.d.ts.map +0 -1
- package/dist/tempo/legacy/session/Voucher.js.map +0 -1
- package/dist/tempo/legacy/session/escrow.abi.d.ts.map +0 -1
- package/dist/tempo/legacy/session/escrow.abi.js.map +0 -1
- package/dist/tempo/legacy/session/index.d.ts.map +0 -1
- package/dist/tempo/legacy/session/index.js.map +0 -1
- package/dist/tempo/server/Charge.d.ts.map +0 -1
- package/dist/tempo/server/Charge.js.map +0 -1
- package/dist/tempo/server/Methods.d.ts.map +0 -1
- package/dist/tempo/server/Methods.js.map +0 -1
- package/dist/tempo/server/Relay.d.ts.map +0 -1
- package/dist/tempo/server/Relay.js.map +0 -1
- package/dist/tempo/server/SponsorBudget.d.ts.map +0 -1
- package/dist/tempo/server/SponsorBudget.js.map +0 -1
- package/dist/tempo/server/Subscription.d.ts.map +0 -1
- package/dist/tempo/server/Subscription.js.map +0 -1
- package/dist/tempo/server/index.d.ts.map +0 -1
- package/dist/tempo/server/index.js.map +0 -1
- package/dist/tempo/server/internal/html.gen.d.ts.map +0 -1
- package/dist/tempo/server/internal/html.gen.js.map +0 -1
- package/dist/tempo/server/internal/request-body.d.ts.map +0 -1
- package/dist/tempo/server/internal/request-body.js.map +0 -1
- package/dist/tempo/server/internal/transport.d.ts.map +0 -1
- package/dist/tempo/server/internal/transport.js.map +0 -1
- package/dist/tempo/session/Snapshot.d.ts.map +0 -1
- package/dist/tempo/session/Snapshot.js.map +0 -1
- package/dist/tempo/session/client/ChannelOps.d.ts.map +0 -1
- package/dist/tempo/session/client/ChannelOps.js.map +0 -1
- package/dist/tempo/session/client/ChannelStore.d.ts.map +0 -1
- package/dist/tempo/session/client/ChannelStore.js.map +0 -1
- package/dist/tempo/session/client/CredentialState.d.ts.map +0 -1
- package/dist/tempo/session/client/CredentialState.js.map +0 -1
- package/dist/tempo/session/client/ReceiptCoordinator.d.ts.map +0 -1
- package/dist/tempo/session/client/ReceiptCoordinator.js.map +0 -1
- package/dist/tempo/session/client/Runtime.d.ts.map +0 -1
- package/dist/tempo/session/client/Runtime.js.map +0 -1
- package/dist/tempo/session/client/Session.d.ts.map +0 -1
- package/dist/tempo/session/client/Session.js.map +0 -1
- package/dist/tempo/session/client/SessionManager.d.ts.map +0 -1
- package/dist/tempo/session/client/SessionManager.js.map +0 -1
- package/dist/tempo/session/client/Transports.d.ts.map +0 -1
- package/dist/tempo/session/client/Transports.js.map +0 -1
- package/dist/tempo/session/client/index.d.ts.map +0 -1
- package/dist/tempo/session/client/index.js.map +0 -1
- package/dist/tempo/session/client/internal/SessionManager.d.ts.map +0 -1
- package/dist/tempo/session/client/internal/SessionManager.js.map +0 -1
- package/dist/tempo/session/index.d.ts.map +0 -1
- package/dist/tempo/session/index.js.map +0 -1
- package/dist/tempo/session/precompile/Chain.d.ts.map +0 -1
- package/dist/tempo/session/precompile/Chain.js.map +0 -1
- package/dist/tempo/session/precompile/Channel.d.ts.map +0 -1
- package/dist/tempo/session/precompile/Channel.js.map +0 -1
- package/dist/tempo/session/precompile/Protocol.d.ts.map +0 -1
- package/dist/tempo/session/precompile/Protocol.js.map +0 -1
- package/dist/tempo/session/precompile/Voucher.d.ts.map +0 -1
- package/dist/tempo/session/precompile/Voucher.js.map +0 -1
- package/dist/tempo/session/precompile/escrow.abi.d.ts.map +0 -1
- package/dist/tempo/session/precompile/escrow.abi.js.map +0 -1
- package/dist/tempo/session/precompile/index.d.ts.map +0 -1
- package/dist/tempo/session/precompile/index.js.map +0 -1
- package/dist/tempo/session/server/ChannelOps.d.ts.map +0 -1
- package/dist/tempo/session/server/ChannelOps.js.map +0 -1
- package/dist/tempo/session/server/ChannelStore.d.ts.map +0 -1
- package/dist/tempo/session/server/ChannelStore.js.map +0 -1
- package/dist/tempo/session/server/CredentialVerification.d.ts.map +0 -1
- package/dist/tempo/session/server/CredentialVerification.js.map +0 -1
- package/dist/tempo/session/server/MeteredStream.d.ts.map +0 -1
- package/dist/tempo/session/server/MeteredStream.js.map +0 -1
- package/dist/tempo/session/server/RequestState.d.ts.map +0 -1
- package/dist/tempo/session/server/RequestState.js.map +0 -1
- package/dist/tempo/session/server/Session.d.ts.map +0 -1
- package/dist/tempo/session/server/Session.js.map +0 -1
- package/dist/tempo/session/server/Settlement.d.ts.map +0 -1
- package/dist/tempo/session/server/Settlement.js.map +0 -1
- package/dist/tempo/session/server/Sse.d.ts.map +0 -1
- package/dist/tempo/session/server/Sse.js.map +0 -1
- package/dist/tempo/session/server/Transports.d.ts.map +0 -1
- package/dist/tempo/session/server/Transports.js.map +0 -1
- package/dist/tempo/session/server/Ws.d.ts.map +0 -1
- package/dist/tempo/session/server/Ws.js.map +0 -1
- package/dist/tempo/session/server/index.d.ts.map +0 -1
- package/dist/tempo/session/server/index.js.map +0 -1
- package/dist/tempo/subscription/KeyAuthorization.d.ts.map +0 -1
- package/dist/tempo/subscription/KeyAuthorization.js.map +0 -1
- package/dist/tempo/subscription/Receipt.d.ts.map +0 -1
- package/dist/tempo/subscription/Receipt.js.map +0 -1
- package/dist/tempo/subscription/Store.d.ts.map +0 -1
- package/dist/tempo/subscription/Store.js.map +0 -1
- package/dist/tempo/subscription/Types.d.ts.map +0 -1
- package/dist/tempo/subscription/Types.js.map +0 -1
- package/dist/tempo/subscription/index.d.ts.map +0 -1
- package/dist/tempo/subscription/index.js.map +0 -1
- package/dist/validation/core.d.ts.map +0 -1
- package/dist/validation/core.js.map +0 -1
- package/dist/validation/index.d.ts.map +0 -1
- package/dist/validation/index.js.map +0 -1
- package/dist/viem/Account.d.ts.map +0 -1
- package/dist/viem/Account.js.map +0 -1
- package/dist/viem/Client.d.ts.map +0 -1
- package/dist/viem/Client.js.map +0 -1
- package/dist/x402/Assets.d.ts.map +0 -1
- package/dist/x402/Assets.js.map +0 -1
- package/dist/x402/Header.d.ts.map +0 -1
- package/dist/x402/Header.js.map +0 -1
- package/dist/x402/Types.d.ts.map +0 -1
- package/dist/x402/Types.js.map +0 -1
- package/dist/x402/client/Exact.d.ts.map +0 -1
- package/dist/x402/client/Exact.js.map +0 -1
- package/dist/x402/index.d.ts.map +0 -1
- package/dist/x402/index.js.map +0 -1
- package/dist/x402/internal/ChallengeBrand.d.ts.map +0 -1
- package/dist/x402/internal/ChallengeBrand.js.map +0 -1
- package/dist/x402/internal/RouteBinding.d.ts.map +0 -1
- package/dist/x402/internal/RouteBinding.js.map +0 -1
- package/dist/x402/server/EvmCharge.d.ts.map +0 -1
- package/dist/x402/server/EvmCharge.js.map +0 -1
- package/dist/x402/server/Facilitator.d.ts.map +0 -1
- package/dist/x402/server/Facilitator.js.map +0 -1
- package/dist/zod.d.ts.map +0 -1
- package/dist/zod.js.map +0 -1
- package/src/BodyDigest.test.ts +0 -43
- package/src/BodyDigest.ts +0 -55
- package/src/Challenge.fuzz.test.ts +0 -121
- package/src/Challenge.test-d.ts +0 -82
- package/src/Challenge.test.ts +0 -995
- package/src/Challenge.ts +0 -683
- package/src/Constants.ts +0 -58
- package/src/Credential.fuzz.test.ts +0 -62
- package/src/Credential.test.ts +0 -378
- package/src/Credential.ts +0 -217
- package/src/Errors.test.ts +0 -520
- package/src/Errors.ts +0 -448
- package/src/Expires.test.ts +0 -112
- package/src/Expires.ts +0 -59
- package/src/Html.ts +0 -67
- package/src/Mcp.ts +0 -85
- package/src/Method.test.ts +0 -177
- package/src/Method.ts +0 -617
- package/src/PaymentRequest.test.ts +0 -147
- package/src/PaymentRequest.ts +0 -108
- package/src/Receipt.test.ts +0 -151
- package/src/Receipt.ts +0 -146
- package/src/Store.test-d.ts +0 -195
- package/src/Store.test.ts +0 -357
- package/src/Store.ts +0 -329
- package/src/bin.ts +0 -4
- package/src/cli/account.ts +0 -269
- package/src/cli/cli.test.ts +0 -2221
- package/src/cli/cli.ts +0 -1649
- package/src/cli/config.test.ts +0 -89
- package/src/cli/config.ts +0 -50
- package/src/cli/internal.ts +0 -114
- package/src/cli/mcp.test.ts +0 -262
- package/src/cli/plugins/evm.ts +0 -55
- package/src/cli/plugins/index.ts +0 -4
- package/src/cli/plugins/plugin.ts +0 -84
- package/src/cli/plugins/stripe.ts +0 -174
- package/src/cli/plugins/tempo.ts +0 -1102
- package/src/cli/sessions/Manager.test.ts +0 -249
- package/src/cli/sessions/Manager.ts +0 -93
- package/src/cli/sessions/commands.ts +0 -444
- package/src/cli/sessions/request.test.ts +0 -51
- package/src/cli/sessions/request.ts +0 -353
- package/src/cli/sessions/store.test.ts +0 -581
- package/src/cli/sessions/store.ts +0 -940
- package/src/cli/utils.test.ts +0 -156
- package/src/cli/utils.ts +0 -394
- package/src/cli/validate/challenge.ts +0 -565
- package/src/cli/validate/discovery.test.ts +0 -435
- package/src/cli/validate/discovery.ts +0 -221
- package/src/cli/validate/helpers.ts +0 -166
- package/src/cli/validate/index.ts +0 -229
- package/src/cli/validate/messages.ts +0 -7
- package/src/cli/validate/payment.ts +0 -774
- package/src/cli/validate.test.ts +0 -843
- package/src/client/Methods.ts +0 -8
- package/src/client/Mppx.test-d.ts +0 -270
- package/src/client/Mppx.test.ts +0 -1065
- package/src/client/Mppx.ts +0 -466
- package/src/client/Transport.test.ts +0 -619
- package/src/client/Transport.ts +0 -191
- package/src/client/index.ts +0 -29
- package/src/client/internal/Fetch.browser.test.ts +0 -197
- package/src/client/internal/Fetch.test-d.ts +0 -109
- package/src/client/internal/Fetch.test.ts +0 -2336
- package/src/client/internal/Fetch.ts +0 -1079
- package/src/client/internal/MethodChallenge.ts +0 -35
- package/src/client/internal/MethodResponse.ts +0 -67
- package/src/client/internal/protocols/Mcp.test.ts +0 -220
- package/src/client/internal/protocols/Mcp.ts +0 -186
- package/src/client/internal/protocols/Mpp.ts +0 -21
- package/src/client/internal/protocols/Protocol.ts +0 -10
- package/src/client/internal/protocols/Shared.ts +0 -25
- package/src/client/internal/protocols/X402.ts +0 -46
- package/src/client/node.test.ts +0 -115
- package/src/client/node.ts +0 -247
- package/src/discovery/Discovery.test.ts +0 -214
- package/src/discovery/Discovery.ts +0 -105
- package/src/discovery/OpenApi.test.ts +0 -453
- package/src/discovery/OpenApi.ts +0 -224
- package/src/discovery/Validate.test.ts +0 -305
- package/src/discovery/Validate.ts +0 -77
- package/src/discovery/index.ts +0 -3
- package/src/env.d.ts +0 -12
- package/src/evm/Assets.ts +0 -1
- package/src/evm/Chains.ts +0 -11
- package/src/evm/Methods.ts +0 -44
- package/src/evm/PublicInterface.test-d.ts +0 -134
- package/src/evm/Types.ts +0 -140
- package/src/evm/client/Charge.test.ts +0 -347
- package/src/evm/client/Charge.ts +0 -187
- package/src/evm/client/Methods.ts +0 -19
- package/src/evm/client/index.ts +0 -6
- package/src/evm/index.ts +0 -16
- package/src/evm/server/Charge.test.ts +0 -339
- package/src/evm/server/Charge.ts +0 -290
- package/src/evm/server/Methods.ts +0 -22
- package/src/evm/server/index.ts +0 -6
- package/src/index.ts +0 -14
- package/src/internal/AcceptPayment.test.ts +0 -343
- package/src/internal/AcceptPayment.ts +0 -366
- package/src/internal/HeaderCodec.ts +0 -36
- package/src/internal/changeset.test.ts +0 -106
- package/src/internal/constantTimeEqual.test.ts +0 -47
- package/src/internal/constantTimeEqual.ts +0 -10
- package/src/internal/env.test.ts +0 -42
- package/src/internal/env.ts +0 -49
- package/src/internal/types.test-d.ts +0 -21
- package/src/internal/types.ts +0 -470
- package/src/mcp/client/McpClient.integration.test.ts +0 -652
- package/src/mcp/client/McpClient.test-d.ts +0 -144
- package/src/mcp/client/McpClient.test.ts +0 -463
- package/src/mcp/client/McpClient.ts +0 -307
- package/src/mcp/client/McpClient.unit.test.ts +0 -135
- package/src/mcp/client/index.ts +0 -2
- package/src/mcp/server/Transport.test.ts +0 -191
- package/src/mcp/server/Transport.ts +0 -111
- package/src/mcp/server/index.ts +0 -1
- package/src/middlewares/elysia.test.ts +0 -295
- package/src/middlewares/elysia.ts +0 -116
- package/src/middlewares/express.test.ts +0 -371
- package/src/middlewares/express.ts +0 -140
- package/src/middlewares/hono.test.ts +0 -476
- package/src/middlewares/hono.ts +0 -153
- package/src/middlewares/internal/mppx.test.ts +0 -177
- package/src/middlewares/internal/mppx.ts +0 -67
- package/src/middlewares/nextjs.test.ts +0 -369
- package/src/middlewares/nextjs.ts +0 -107
- package/src/proxy/Proxy.test.ts +0 -1031
- package/src/proxy/Proxy.ts +0 -345
- package/src/proxy/Service.test.ts +0 -182
- package/src/proxy/Service.ts +0 -253
- package/src/proxy/index.ts +0 -6
- package/src/proxy/internal/Headers.test.ts +0 -139
- package/src/proxy/internal/Headers.ts +0 -66
- package/src/proxy/internal/Route.test.ts +0 -217
- package/src/proxy/internal/Route.ts +0 -64
- package/src/proxy/services/anthropic.test.ts +0 -132
- package/src/proxy/services/anthropic.ts +0 -52
- package/src/proxy/services/openai.test.ts +0 -157
- package/src/proxy/services/openai.ts +0 -59
- package/src/proxy/services/stripe.test.ts +0 -175
- package/src/proxy/services/stripe.ts +0 -58
- package/src/server/Methods.ts +0 -3
- package/src/server/Mppx.authorize.test.ts +0 -210
- package/src/server/Mppx.test-d.ts +0 -360
- package/src/server/Mppx.test.ts +0 -5813
- package/src/server/Mppx.ts +0 -2623
- package/src/server/NodeListener.test.ts +0 -293
- package/src/server/NodeListener.ts +0 -45
- package/src/server/Request.test.ts +0 -255
- package/src/server/Request.ts +0 -155
- package/src/server/Response.test.ts +0 -32
- package/src/server/Response.ts +0 -45
- package/src/server/Transport.test.ts +0 -598
- package/src/server/Transport.ts +0 -320
- package/src/server/index.ts +0 -9
- package/src/server/internal/html/compose.main.gen.ts +0 -2
- package/src/server/internal/html/compose.main.ts +0 -88
- package/src/server/internal/html/config.ts +0 -672
- package/src/server/internal/html/constants.ts +0 -28
- package/src/server/internal/html/serviceWorker.client.ts +0 -28
- package/src/server/internal/html/serviceWorker.gen.ts +0 -2
- package/src/server/internal/html/serviceWorker.ts +0 -27
- package/src/server/internal/html/tsconfig.compose.json +0 -8
- package/src/server/internal/html/tsconfig.worker.client.json +0 -8
- package/src/server/internal/html/tsconfig.worker.json +0 -8
- package/src/server/internal/scope.ts +0 -43
- package/src/stripe/Charge.integration.test.ts +0 -329
- package/src/stripe/Methods.test.ts +0 -62
- package/src/stripe/Methods.ts +0 -44
- package/src/stripe/client/Charge.test.ts +0 -205
- package/src/stripe/client/Charge.ts +0 -132
- package/src/stripe/client/Methods.ts +0 -37
- package/src/stripe/client/index.ts +0 -2
- package/src/stripe/index.ts +0 -1
- package/src/stripe/internal/constants.ts +0 -7
- package/src/stripe/internal/types.ts +0 -46
- package/src/stripe/server/Charge.test-d.ts +0 -66
- package/src/stripe/server/Charge.test.ts +0 -621
- package/src/stripe/server/Charge.ts +0 -434
- package/src/stripe/server/Methods.ts +0 -24
- package/src/stripe/server/index.ts +0 -2
- package/src/stripe/server/internal/html/main.ts +0 -165
- package/src/stripe/server/internal/html/node_modules/.bin/mppx +0 -22
- package/src/stripe/server/internal/html/node_modules/.bin/mppx.src +0 -22
- package/src/stripe/server/internal/html/package.json +0 -9
- package/src/stripe/server/internal/html/stripe-js-pure.d.ts +0 -7
- package/src/stripe/server/internal/html/tsconfig.json +0 -8
- package/src/stripe/server/internal/html/types.ts +0 -5
- package/src/stripe/server/internal/html.gen.ts +0 -2
- package/src/tempo/AccessKeyAuthorization.test.ts +0 -141
- package/src/tempo/Attribution.test.ts +0 -294
- package/src/tempo/Attribution.ts +0 -185
- package/src/tempo/Methods.test.ts +0 -425
- package/src/tempo/Methods.ts +0 -367
- package/src/tempo/Proof.conformance.test.ts +0 -146
- package/src/tempo/Proof.test-d.ts +0 -32
- package/src/tempo/Proof.test.ts +0 -40
- package/src/tempo/Proof.ts +0 -69
- package/src/tempo/PublicExports.test-d.ts +0 -130
- package/src/tempo/Subscription.integration.test.ts +0 -591
- package/src/tempo/client/Charge.test.ts +0 -501
- package/src/tempo/client/Charge.ts +0 -289
- package/src/tempo/client/Methods.ts +0 -45
- package/src/tempo/client/ResolveAccount.ts +0 -46
- package/src/tempo/client/Subscription.test.ts +0 -180
- package/src/tempo/client/Subscription.ts +0 -156
- package/src/tempo/client/index.ts +0 -17
- package/src/tempo/index.ts +0 -5
- package/src/tempo/internal/account.ts +0 -56
- package/src/tempo/internal/address.ts +0 -6
- package/src/tempo/internal/auto-swap.test.ts +0 -198
- package/src/tempo/internal/auto-swap.ts +0 -188
- package/src/tempo/internal/charge.test.ts +0 -66
- package/src/tempo/internal/charge.ts +0 -43
- package/src/tempo/internal/defaults.test.ts +0 -95
- package/src/tempo/internal/defaults.ts +0 -53
- package/src/tempo/internal/fee-payer.test.ts +0 -1177
- package/src/tempo/internal/fee-payer.ts +0 -808
- package/src/tempo/internal/fee-token.test.ts +0 -165
- package/src/tempo/internal/fee-token.ts +0 -72
- package/src/tempo/internal/proof.test.ts +0 -97
- package/src/tempo/internal/proof.ts +0 -87
- package/src/tempo/internal/selectors.ts +0 -10
- package/src/tempo/internal/types.ts +0 -19
- package/src/tempo/legacy/AccessKeyAuthorization.test.ts +0 -162
- package/src/tempo/legacy/README.md +0 -9
- package/src/tempo/legacy/client/ChannelOps.test.ts +0 -379
- package/src/tempo/legacy/client/ChannelOps.ts +0 -271
- package/src/tempo/legacy/client/Session.test.ts +0 -800
- package/src/tempo/legacy/client/Session.ts +0 -397
- package/src/tempo/legacy/client/SessionManager.test.ts +0 -468
- package/src/tempo/legacy/client/SessionManager.ts +0 -909
- package/src/tempo/legacy/client/index.ts +0 -6
- package/src/tempo/legacy/index.ts +0 -6
- package/src/tempo/legacy/server/Defaults.test-d.ts +0 -9
- package/src/tempo/legacy/server/Session.test.ts +0 -6370
- package/src/tempo/legacy/server/Session.ts +0 -1024
- package/src/tempo/legacy/server/index.ts +0 -4
- package/src/tempo/legacy/session/Chain.test.ts +0 -1349
- package/src/tempo/legacy/session/Chain.ts +0 -830
- package/src/tempo/legacy/session/Channel.test.ts +0 -109
- package/src/tempo/legacy/session/Channel.ts +0 -51
- package/src/tempo/legacy/session/ChannelStore.test.ts +0 -58
- package/src/tempo/legacy/session/ChannelStore.ts +0 -39
- package/src/tempo/legacy/session/Types.ts +0 -91
- package/src/tempo/legacy/session/Voucher.test.ts +0 -410
- package/src/tempo/legacy/session/Voucher.ts +0 -183
- package/src/tempo/legacy/session/escrow.abi.ts +0 -760
- package/src/tempo/legacy/session/index.ts +0 -8
- package/src/tempo/server/AtomicStore.test-d.ts +0 -50
- package/src/tempo/server/Charge.test.ts +0 -6121
- package/src/tempo/server/Charge.ts +0 -1351
- package/src/tempo/server/Methods.ts +0 -106
- package/src/tempo/server/Relay.test.ts +0 -677
- package/src/tempo/server/Relay.ts +0 -297
- package/src/tempo/server/SponsorBudget.test.ts +0 -154
- package/src/tempo/server/SponsorBudget.ts +0 -219
- package/src/tempo/server/Sse.test.ts +0 -321
- package/src/tempo/server/Subscription.test.ts +0 -1944
- package/src/tempo/server/Subscription.ts +0 -1333
- package/src/tempo/server/index.ts +0 -12
- package/src/tempo/server/internal/html/main.ts +0 -115
- package/src/tempo/server/internal/html/node_modules/.bin/mppx +0 -22
- package/src/tempo/server/internal/html/node_modules/.bin/mppx.src +0 -22
- package/src/tempo/server/internal/html/package.json +0 -10
- package/src/tempo/server/internal/html/tsconfig.json +0 -8
- package/src/tempo/server/internal/html.gen.ts +0 -2
- package/src/tempo/server/internal/request-body.test.ts +0 -210
- package/src/tempo/server/internal/request-body.ts +0 -61
- package/src/tempo/server/internal/transport.test.ts +0 -903
- package/src/tempo/server/internal/transport.ts +0 -310
- package/src/tempo/session/README.md +0 -208
- package/src/tempo/session/Snapshot.test.ts +0 -41
- package/src/tempo/session/Snapshot.ts +0 -95
- package/src/tempo/session/client/ChannelOps.test.ts +0 -218
- package/src/tempo/session/client/ChannelOps.ts +0 -348
- package/src/tempo/session/client/ChannelStore.ts +0 -111
- package/src/tempo/session/client/CredentialState.test.ts +0 -789
- package/src/tempo/session/client/CredentialState.ts +0 -942
- package/src/tempo/session/client/ReceiptCoordinator.ts +0 -95
- package/src/tempo/session/client/Runtime.test.ts +0 -1104
- package/src/tempo/session/client/Runtime.ts +0 -1008
- package/src/tempo/session/client/Session.test.ts +0 -1355
- package/src/tempo/session/client/Session.ts +0 -420
- package/src/tempo/session/client/SessionManager.test.ts +0 -1899
- package/src/tempo/session/client/SessionManager.ts +0 -996
- package/src/tempo/session/client/Transports.test.ts +0 -1141
- package/src/tempo/session/client/Transports.ts +0 -1534
- package/src/tempo/session/client/index.ts +0 -40
- package/src/tempo/session/client/internal/SessionManager.ts +0 -36
- package/src/tempo/session/index.ts +0 -7
- package/src/tempo/session/precompile/Chain.integration.test.ts +0 -339
- package/src/tempo/session/precompile/Chain.test.ts +0 -1641
- package/src/tempo/session/precompile/Chain.ts +0 -1149
- package/src/tempo/session/precompile/Channel.test.ts +0 -147
- package/src/tempo/session/precompile/Channel.ts +0 -108
- package/src/tempo/session/precompile/Protocol.test.ts +0 -358
- package/src/tempo/session/precompile/Protocol.ts +0 -520
- package/src/tempo/session/precompile/Voucher.test.ts +0 -354
- package/src/tempo/session/precompile/Voucher.ts +0 -162
- package/src/tempo/session/precompile/escrow.abi.ts +0 -226
- package/src/tempo/session/precompile/index.ts +0 -33
- package/src/tempo/session/server/ChannelOps.test.ts +0 -129
- package/src/tempo/session/server/ChannelOps.ts +0 -157
- package/src/tempo/session/server/ChannelStore.test.ts +0 -1093
- package/src/tempo/session/server/ChannelStore.ts +0 -835
- package/src/tempo/session/server/CredentialVerification.test.ts +0 -299
- package/src/tempo/session/server/CredentialVerification.ts +0 -775
- package/src/tempo/session/server/MeteredStream.ts +0 -95
- package/src/tempo/session/server/RequestState.test.ts +0 -574
- package/src/tempo/session/server/RequestState.ts +0 -507
- package/src/tempo/session/server/Session.integration.test.ts +0 -449
- package/src/tempo/session/server/Session.test.ts +0 -3862
- package/src/tempo/session/server/Session.ts +0 -570
- package/src/tempo/session/server/Settlement.test.ts +0 -345
- package/src/tempo/session/server/Settlement.ts +0 -527
- package/src/tempo/session/server/Sse.fuzz.test.ts +0 -138
- package/src/tempo/session/server/Sse.test.ts +0 -557
- package/src/tempo/session/server/Sse.ts +0 -254
- package/src/tempo/session/server/Transports.test.ts +0 -346
- package/src/tempo/session/server/Transports.ts +0 -255
- package/src/tempo/session/server/Ws.test.ts +0 -594
- package/src/tempo/session/server/Ws.ts +0 -385
- package/src/tempo/session/server/index.ts +0 -12
- package/src/tempo/subscription/KeyAuthorization.test.ts +0 -282
- package/src/tempo/subscription/KeyAuthorization.ts +0 -396
- package/src/tempo/subscription/Receipt.ts +0 -28
- package/src/tempo/subscription/Store.test.ts +0 -609
- package/src/tempo/subscription/Store.ts +0 -449
- package/src/tempo/subscription/Types.ts +0 -68
- package/src/tempo/subscription/index.ts +0 -23
- package/src/tsconfig.json +0 -10
- package/src/validation/core.ts +0 -386
- package/src/validation/index.ts +0 -11
- package/src/viem/Account.test.ts +0 -72
- package/src/viem/Account.ts +0 -30
- package/src/viem/Client.test.ts +0 -366
- package/src/viem/Client.ts +0 -93
- package/src/x402/Assets.test.ts +0 -253
- package/src/x402/Assets.ts +0 -221
- package/src/x402/Exact.e2e.test.ts +0 -448
- package/src/x402/Exact.localnet.test.ts +0 -475
- package/src/x402/Header.test.ts +0 -73
- package/src/x402/Header.ts +0 -79
- package/src/x402/PublicInterface.test-d.ts +0 -39
- package/src/x402/Types.ts +0 -248
- package/src/x402/client/Exact.test.ts +0 -309
- package/src/x402/client/Exact.ts +0 -186
- package/src/x402/index.ts +0 -6
- package/src/x402/internal/ChallengeBrand.ts +0 -14
- package/src/x402/internal/RouteBinding.ts +0 -18
- package/src/x402/server/EvmCharge.ts +0 -394
- package/src/x402/server/Facilitator.test.ts +0 -111
- package/src/x402/server/Facilitator.ts +0 -56
- package/src/zod.test.ts +0 -169
- package/src/zod.ts +0 -71
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import { decodeFunctionData, encodeFunctionData, isAddressEqual, } from 'viem';
|
|
2
|
+
import { call, readContract } from 'viem/actions';
|
|
3
|
+
import { Abis, Actions } from 'viem/tempo';
|
|
4
|
+
import * as defaults from './defaults.js';
|
|
5
|
+
const swapAbi = [
|
|
6
|
+
{
|
|
7
|
+
inputs: [
|
|
8
|
+
{ name: 'inputToken', type: 'address' },
|
|
9
|
+
{ name: 'amount', type: 'uint256' },
|
|
10
|
+
{ name: 'targetToken', type: 'address' },
|
|
11
|
+
{ name: 'recipient', type: 'address' },
|
|
12
|
+
{ name: 'memo', type: 'bytes32' },
|
|
13
|
+
],
|
|
14
|
+
name: 'swapTo',
|
|
15
|
+
outputs: [],
|
|
16
|
+
stateMutability: 'nonpayable',
|
|
17
|
+
type: 'function',
|
|
18
|
+
},
|
|
19
|
+
];
|
|
20
|
+
function getDeployment(chainId) {
|
|
21
|
+
if (chainId === undefined)
|
|
22
|
+
return undefined;
|
|
23
|
+
return defaults.machineToken[chainId];
|
|
24
|
+
}
|
|
25
|
+
/** Returns whether a first-party machine-token charge route is deployed on a chain. */
|
|
26
|
+
export function isSupported(chainId) {
|
|
27
|
+
return !!getDeployment(chainId);
|
|
28
|
+
}
|
|
29
|
+
/** Resolves the canonical first-party settlement route for a compatible charge. */
|
|
30
|
+
export function getRoute(parameters) {
|
|
31
|
+
const deployment = getDeployment(parameters.chainId);
|
|
32
|
+
const transfer = parameters.transfers.length === 1 ? parameters.transfers[0] : undefined;
|
|
33
|
+
if (!deployment || !transfer?.memo)
|
|
34
|
+
return undefined;
|
|
35
|
+
const amount = BigInt(transfer.amount);
|
|
36
|
+
const memo = transfer.memo;
|
|
37
|
+
return {
|
|
38
|
+
calls: [
|
|
39
|
+
{
|
|
40
|
+
data: encodeFunctionData({
|
|
41
|
+
abi: Abis.tip20,
|
|
42
|
+
functionName: 'approve',
|
|
43
|
+
args: [deployment.swap, amount],
|
|
44
|
+
}),
|
|
45
|
+
to: deployment.token,
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
data: encodeFunctionData({
|
|
49
|
+
abi: swapAbi,
|
|
50
|
+
functionName: 'swapTo',
|
|
51
|
+
args: [deployment.token, amount, parameters.currency, transfer.recipient, memo],
|
|
52
|
+
}),
|
|
53
|
+
to: deployment.swap,
|
|
54
|
+
},
|
|
55
|
+
],
|
|
56
|
+
settlementSender: deployment.swap,
|
|
57
|
+
transfers: [{ amount, memo, recipient: transfer.recipient }],
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
/** Builds and simulates the first-party settlement route. */
|
|
61
|
+
export async function findRoute(client, parameters) {
|
|
62
|
+
const route = getRoute(parameters);
|
|
63
|
+
if (!route)
|
|
64
|
+
return undefined;
|
|
65
|
+
try {
|
|
66
|
+
const balance = await readContract(client, Actions.token.getBalance.call(client, {
|
|
67
|
+
account: parameters.account,
|
|
68
|
+
token: route.calls[0].to,
|
|
69
|
+
}));
|
|
70
|
+
if (balance < route.transfers[0].amount)
|
|
71
|
+
return undefined;
|
|
72
|
+
await call(client, { account: parameters.account, calls: route.calls });
|
|
73
|
+
return route;
|
|
74
|
+
}
|
|
75
|
+
catch {
|
|
76
|
+
return undefined;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
/** Matches an exact first-party settlement route. */
|
|
80
|
+
export function matchRoute(parameters) {
|
|
81
|
+
const transfer = parameters.transfers.length === 1 ? parameters.transfers[0] : undefined;
|
|
82
|
+
const swap = parameters.calls[1];
|
|
83
|
+
if (!transfer || parameters.calls.length !== 2 || !swap?.data)
|
|
84
|
+
return undefined;
|
|
85
|
+
try {
|
|
86
|
+
const decoded = decodeFunctionData({ abi: swapAbi, data: swap.data });
|
|
87
|
+
const route = getRoute({
|
|
88
|
+
...parameters,
|
|
89
|
+
transfers: [{ ...transfer, memo: transfer.memo ?? decoded.args[4] }],
|
|
90
|
+
});
|
|
91
|
+
if (!route)
|
|
92
|
+
return undefined;
|
|
93
|
+
if (parameters.calls.some((call, index) => {
|
|
94
|
+
const expected = route.calls[index];
|
|
95
|
+
return (!call.data ||
|
|
96
|
+
!call.to ||
|
|
97
|
+
!expected ||
|
|
98
|
+
(call.value ?? 0n) !== 0n ||
|
|
99
|
+
!isAddressEqual(call.to, expected.to) ||
|
|
100
|
+
call.data.toLowerCase() !== expected.data.toLowerCase());
|
|
101
|
+
}))
|
|
102
|
+
return undefined;
|
|
103
|
+
return route;
|
|
104
|
+
}
|
|
105
|
+
catch {
|
|
106
|
+
return undefined;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
/** Returns the trusted sender that settles the configured charge route on a chain. */
|
|
110
|
+
export function getSettlementSender(chainId) {
|
|
111
|
+
return getDeployment(chainId)?.swap;
|
|
112
|
+
}
|
|
113
|
+
//# sourceMappingURL=machine-token-charge.js.map
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import type * as Hex from 'ox/Hex';
|
|
2
|
+
import { type Account, type Address, type Client } from 'viem';
|
|
3
|
+
import * as defaults from './defaults.js';
|
|
4
|
+
type Deployment = (typeof defaults.machineToken)[keyof typeof defaults.machineToken];
|
|
5
|
+
/** Verified machine-token session route. */
|
|
6
|
+
export type Route = {
|
|
7
|
+
operator: Address;
|
|
8
|
+
payee: Address;
|
|
9
|
+
token: Address;
|
|
10
|
+
};
|
|
11
|
+
type Authorization = {
|
|
12
|
+
channelId: Hex.Hex;
|
|
13
|
+
cumulativeAmount: bigint;
|
|
14
|
+
};
|
|
15
|
+
/** Returns whether a unified machine-token router is configured on a chain. */
|
|
16
|
+
export declare function isSupported(chainId: number | undefined): boolean;
|
|
17
|
+
/** Matches a session descriptor to the configured router and machine token. */
|
|
18
|
+
export declare function matchDeployment(parameters: {
|
|
19
|
+
chainId: number | undefined;
|
|
20
|
+
descriptor: {
|
|
21
|
+
operator: Address;
|
|
22
|
+
token: Address;
|
|
23
|
+
};
|
|
24
|
+
}): Deployment | undefined;
|
|
25
|
+
/** Returns whether an authenticated session challenge permits the machine-token rail. */
|
|
26
|
+
export declare function isEnabledChallenge(challenge: {
|
|
27
|
+
request: {
|
|
28
|
+
methodDetails?: unknown;
|
|
29
|
+
};
|
|
30
|
+
}): boolean;
|
|
31
|
+
/** Resolves the fee token from the payment token and an optional explicit override. */
|
|
32
|
+
export declare function resolveFeeToken(parameters: {
|
|
33
|
+
chainId: number | undefined;
|
|
34
|
+
override?: Address | undefined;
|
|
35
|
+
paymentToken: Address;
|
|
36
|
+
}): Address;
|
|
37
|
+
/**
|
|
38
|
+
* Resolves the fee tokens accepted for direct-rail sponsored transactions.
|
|
39
|
+
* Clients released before the fee-token advertisement always pay sponsored
|
|
40
|
+
* fees in the payment token, so it stays accepted alongside a configured
|
|
41
|
+
* override. Machine-rail routes post-date the advertisement and pin a single
|
|
42
|
+
* token via {@link resolveFeeToken}.
|
|
43
|
+
*/
|
|
44
|
+
export declare function allowedSponsoredFeeTokens(parameters: {
|
|
45
|
+
chainId: number | undefined;
|
|
46
|
+
override?: Address | undefined;
|
|
47
|
+
paymentToken: Address;
|
|
48
|
+
}): readonly Address[];
|
|
49
|
+
/** Returns whether an account has enough of a TIP-20 token for an operation. */
|
|
50
|
+
export declare function hasSufficientBalance(client: Client, parameters: {
|
|
51
|
+
account: Address;
|
|
52
|
+
amount: bigint;
|
|
53
|
+
token: Address;
|
|
54
|
+
}): Promise<boolean>;
|
|
55
|
+
/** Signs a cumulative amount in the router-specific authorization domain. */
|
|
56
|
+
export declare function signAuthorization(client: Client, account: Account, parameters: {
|
|
57
|
+
authorization: Authorization;
|
|
58
|
+
chainId: number;
|
|
59
|
+
router: Address;
|
|
60
|
+
}): Promise<Hex.Hex>;
|
|
61
|
+
/** Verifies a cumulative authorization in the router-specific domain. */
|
|
62
|
+
export declare function verifyAuthorization(parameters: {
|
|
63
|
+
authorization: Authorization;
|
|
64
|
+
chainId: number;
|
|
65
|
+
expectedSigner: Address;
|
|
66
|
+
router: Address;
|
|
67
|
+
signature: Hex.Hex;
|
|
68
|
+
}): boolean;
|
|
69
|
+
/** Resolves the active virtual payee and verifies its immutable reverse binding. */
|
|
70
|
+
export declare function resolveRoute(client: Client, parameters: {
|
|
71
|
+
chainId: number;
|
|
72
|
+
merchant: Address;
|
|
73
|
+
targetToken: Address;
|
|
74
|
+
}): Promise<Route | undefined>;
|
|
75
|
+
/** Verifies a descriptor against the trusted router and merchant payout binding. */
|
|
76
|
+
export declare function matchRoute(client: Client, parameters: {
|
|
77
|
+
active?: boolean | undefined;
|
|
78
|
+
chainId: number;
|
|
79
|
+
descriptor: {
|
|
80
|
+
operator: Address;
|
|
81
|
+
payee: Address;
|
|
82
|
+
token: Address;
|
|
83
|
+
};
|
|
84
|
+
merchant: Address;
|
|
85
|
+
targetToken: Address;
|
|
86
|
+
}): Promise<Route | undefined>;
|
|
87
|
+
export {};
|
|
88
|
+
//# sourceMappingURL=machine-token-session.d.ts.map
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
import { SignatureEnvelope } from 'ox/tempo';
|
|
2
|
+
import { hashTypedData, isAddressEqual, parseAbi, zeroAddress, } from 'viem';
|
|
3
|
+
import { readContract, signTypedData } from 'viem/actions';
|
|
4
|
+
import { Actions } from 'viem/tempo';
|
|
5
|
+
import { isAccessKeyAccount } from './account.js';
|
|
6
|
+
import * as defaults from './defaults.js';
|
|
7
|
+
import { parseCanonicalEnvelope, serializeCanonicalEnvelope } from './signature-envelope.js';
|
|
8
|
+
const sessionRouteAbi = parseAbi([
|
|
9
|
+
'function sessionRouteFor(address merchant,address targetToken) view returns (address routeAddress)',
|
|
10
|
+
'function sessionRoutes(address routeAddress) view returns (address merchant,address targetToken)',
|
|
11
|
+
]);
|
|
12
|
+
const authorizationTypes = {
|
|
13
|
+
SessionAuthorization: [
|
|
14
|
+
{ name: 'channelId', type: 'bytes32' },
|
|
15
|
+
{ name: 'cumulativeAmount', type: 'uint96' },
|
|
16
|
+
],
|
|
17
|
+
};
|
|
18
|
+
function getDeployment(chainId) {
|
|
19
|
+
if (chainId === undefined)
|
|
20
|
+
return undefined;
|
|
21
|
+
return defaults.machineToken[chainId];
|
|
22
|
+
}
|
|
23
|
+
/** Returns whether a unified machine-token router is configured on a chain. */
|
|
24
|
+
export function isSupported(chainId) {
|
|
25
|
+
return !!getDeployment(chainId);
|
|
26
|
+
}
|
|
27
|
+
/** Matches a session descriptor to the configured router and machine token. */
|
|
28
|
+
export function matchDeployment(parameters) {
|
|
29
|
+
const deployment = getDeployment(parameters.chainId);
|
|
30
|
+
return deployment &&
|
|
31
|
+
isAddressEqual(parameters.descriptor.operator, deployment.swap) &&
|
|
32
|
+
isAddressEqual(parameters.descriptor.token, deployment.token)
|
|
33
|
+
? deployment
|
|
34
|
+
: undefined;
|
|
35
|
+
}
|
|
36
|
+
/** Returns whether an authenticated session challenge permits the machine-token rail. */
|
|
37
|
+
export function isEnabledChallenge(challenge) {
|
|
38
|
+
return (challenge.request.methodDetails
|
|
39
|
+
?.machineTokenEnabled === true);
|
|
40
|
+
}
|
|
41
|
+
/** Resolves the fee token from the payment token and an optional explicit override. */
|
|
42
|
+
export function resolveFeeToken(parameters) {
|
|
43
|
+
if (parameters.override)
|
|
44
|
+
return parameters.override;
|
|
45
|
+
const deployment = getDeployment(parameters.chainId);
|
|
46
|
+
if (deployment && isAddressEqual(parameters.paymentToken, deployment.token))
|
|
47
|
+
return defaults.tokens.pathUsd;
|
|
48
|
+
return parameters.paymentToken;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Resolves the fee tokens accepted for direct-rail sponsored transactions.
|
|
52
|
+
* Clients released before the fee-token advertisement always pay sponsored
|
|
53
|
+
* fees in the payment token, so it stays accepted alongside a configured
|
|
54
|
+
* override. Machine-rail routes post-date the advertisement and pin a single
|
|
55
|
+
* token via {@link resolveFeeToken}.
|
|
56
|
+
*/
|
|
57
|
+
export function allowedSponsoredFeeTokens(parameters) {
|
|
58
|
+
const feeToken = resolveFeeToken(parameters);
|
|
59
|
+
if (isAddressEqual(feeToken, parameters.paymentToken))
|
|
60
|
+
return [feeToken];
|
|
61
|
+
return [feeToken, parameters.paymentToken];
|
|
62
|
+
}
|
|
63
|
+
/** Returns whether an account has enough of a TIP-20 token for an operation. */
|
|
64
|
+
export async function hasSufficientBalance(client, parameters) {
|
|
65
|
+
try {
|
|
66
|
+
const balance = await readContract(client, Actions.token.getBalance.call(client, {
|
|
67
|
+
account: parameters.account,
|
|
68
|
+
token: parameters.token,
|
|
69
|
+
}));
|
|
70
|
+
return balance >= parameters.amount;
|
|
71
|
+
}
|
|
72
|
+
catch {
|
|
73
|
+
return false;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
function authorizationDomain(router, chainId) {
|
|
77
|
+
return {
|
|
78
|
+
name: 'MachineUSD Session Router',
|
|
79
|
+
version: '1',
|
|
80
|
+
chainId,
|
|
81
|
+
verifyingContract: router,
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
function hashAuthorization(parameters) {
|
|
85
|
+
return hashTypedData({
|
|
86
|
+
domain: authorizationDomain(parameters.router, parameters.chainId),
|
|
87
|
+
types: authorizationTypes,
|
|
88
|
+
primaryType: 'SessionAuthorization',
|
|
89
|
+
message: parameters.authorization,
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
/** Signs a cumulative amount in the router-specific authorization domain. */
|
|
93
|
+
export async function signAuthorization(client, account, parameters) {
|
|
94
|
+
const signature = isAccessKeyAccount(account)
|
|
95
|
+
? await account.sign({
|
|
96
|
+
hash: hashAuthorization(parameters),
|
|
97
|
+
raw: true,
|
|
98
|
+
})
|
|
99
|
+
: await signTypedData(client, {
|
|
100
|
+
account,
|
|
101
|
+
domain: authorizationDomain(parameters.router, parameters.chainId),
|
|
102
|
+
types: authorizationTypes,
|
|
103
|
+
primaryType: 'SessionAuthorization',
|
|
104
|
+
message: parameters.authorization,
|
|
105
|
+
});
|
|
106
|
+
return serializeCanonicalEnvelope(signature, 'Machine-token session authorizations');
|
|
107
|
+
}
|
|
108
|
+
/** Verifies a cumulative authorization in the router-specific domain. */
|
|
109
|
+
export function verifyAuthorization(parameters) {
|
|
110
|
+
try {
|
|
111
|
+
const envelope = parseCanonicalEnvelope(parameters.signature);
|
|
112
|
+
if (!envelope)
|
|
113
|
+
return false;
|
|
114
|
+
const payload = hashAuthorization(parameters);
|
|
115
|
+
return SignatureEnvelope.verify(envelope, { address: parameters.expectedSigner, payload });
|
|
116
|
+
}
|
|
117
|
+
catch {
|
|
118
|
+
return false;
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
async function readRoute(client, deployment, parameters) {
|
|
122
|
+
const payee = parameters.payee ??
|
|
123
|
+
(await readContract(client, {
|
|
124
|
+
address: deployment.swap,
|
|
125
|
+
abi: sessionRouteAbi,
|
|
126
|
+
functionName: 'sessionRouteFor',
|
|
127
|
+
args: [parameters.merchant, parameters.targetToken],
|
|
128
|
+
}));
|
|
129
|
+
if (isAddressEqual(payee, zeroAddress))
|
|
130
|
+
return undefined;
|
|
131
|
+
const [binding, activePayee] = await Promise.all([
|
|
132
|
+
readContract(client, {
|
|
133
|
+
address: deployment.swap,
|
|
134
|
+
abi: sessionRouteAbi,
|
|
135
|
+
functionName: 'sessionRoutes',
|
|
136
|
+
args: [payee],
|
|
137
|
+
}),
|
|
138
|
+
parameters.active && parameters.payee
|
|
139
|
+
? readContract(client, {
|
|
140
|
+
address: deployment.swap,
|
|
141
|
+
abi: sessionRouteAbi,
|
|
142
|
+
functionName: 'sessionRouteFor',
|
|
143
|
+
args: [parameters.merchant, parameters.targetToken],
|
|
144
|
+
})
|
|
145
|
+
: payee,
|
|
146
|
+
]);
|
|
147
|
+
if (isAddressEqual(binding[0], zeroAddress) ||
|
|
148
|
+
isAddressEqual(binding[1], zeroAddress) ||
|
|
149
|
+
!isAddressEqual(binding[0], parameters.merchant) ||
|
|
150
|
+
!isAddressEqual(binding[1], parameters.targetToken) ||
|
|
151
|
+
!isAddressEqual(activePayee, payee))
|
|
152
|
+
return undefined;
|
|
153
|
+
return { operator: deployment.swap, payee, token: deployment.token };
|
|
154
|
+
}
|
|
155
|
+
/** Resolves the active virtual payee and verifies its immutable reverse binding. */
|
|
156
|
+
export async function resolveRoute(client, parameters) {
|
|
157
|
+
const deployment = getDeployment(parameters.chainId);
|
|
158
|
+
if (!deployment)
|
|
159
|
+
return undefined;
|
|
160
|
+
return readRoute(client, deployment, { ...parameters, active: true });
|
|
161
|
+
}
|
|
162
|
+
/** Verifies a descriptor against the trusted router and merchant payout binding. */
|
|
163
|
+
export async function matchRoute(client, parameters) {
|
|
164
|
+
const deployment = matchDeployment(parameters);
|
|
165
|
+
if (!deployment)
|
|
166
|
+
return undefined;
|
|
167
|
+
return readRoute(client, deployment, {
|
|
168
|
+
...parameters,
|
|
169
|
+
active: parameters.active !== false,
|
|
170
|
+
payee: parameters.descriptor.payee,
|
|
171
|
+
});
|
|
172
|
+
}
|
|
173
|
+
//# sourceMappingURL=machine-token-session.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type Address, type Hex } from 'viem';
|
|
2
2
|
/** EIP-712 primary type for proof credentials. */
|
|
3
|
-
export declare const primaryType:
|
|
3
|
+
export declare const primaryType: 'Proof';
|
|
4
4
|
/**
|
|
5
5
|
* EIP-712 typed-data field definitions for Tempo zero-amount proof credentials.
|
|
6
6
|
*
|
|
@@ -10,20 +10,20 @@ export declare const primaryType: "Proof";
|
|
|
10
10
|
*/
|
|
11
11
|
export declare const types: {
|
|
12
12
|
readonly Proof: readonly [{
|
|
13
|
-
readonly name:
|
|
14
|
-
readonly type:
|
|
13
|
+
readonly name: 'account';
|
|
14
|
+
readonly type: 'address';
|
|
15
15
|
}, {
|
|
16
|
-
readonly name:
|
|
17
|
-
readonly type:
|
|
16
|
+
readonly name: 'challengeId';
|
|
17
|
+
readonly type: 'string';
|
|
18
18
|
}, {
|
|
19
|
-
readonly name:
|
|
20
|
-
readonly type:
|
|
19
|
+
readonly name: 'realm';
|
|
20
|
+
readonly type: 'string';
|
|
21
21
|
}];
|
|
22
22
|
};
|
|
23
23
|
/** Constructs the EIP-712 domain for a proof credential. */
|
|
24
24
|
export declare function domain(chainId: number): {
|
|
25
|
-
readonly name:
|
|
26
|
-
readonly version:
|
|
25
|
+
readonly name: 'MPP';
|
|
26
|
+
readonly version: '3';
|
|
27
27
|
readonly chainId: number;
|
|
28
28
|
};
|
|
29
29
|
/**
|
|
@@ -56,20 +56,20 @@ export declare function typedData(parameters: {
|
|
|
56
56
|
realm: string;
|
|
57
57
|
}): {
|
|
58
58
|
readonly domain: {
|
|
59
|
-
readonly name:
|
|
60
|
-
readonly version:
|
|
59
|
+
readonly name: 'MPP';
|
|
60
|
+
readonly version: '3';
|
|
61
61
|
readonly chainId: number;
|
|
62
62
|
};
|
|
63
63
|
readonly types: {
|
|
64
64
|
readonly Proof: readonly [{
|
|
65
|
-
readonly name:
|
|
66
|
-
readonly type:
|
|
65
|
+
readonly name: 'account';
|
|
66
|
+
readonly type: 'address';
|
|
67
67
|
}, {
|
|
68
|
-
readonly name:
|
|
69
|
-
readonly type:
|
|
68
|
+
readonly name: 'challengeId';
|
|
69
|
+
readonly type: 'string';
|
|
70
70
|
}, {
|
|
71
|
-
readonly name:
|
|
72
|
-
readonly type:
|
|
71
|
+
readonly name: 'realm';
|
|
72
|
+
readonly type: 'string';
|
|
73
73
|
}];
|
|
74
74
|
};
|
|
75
75
|
readonly primaryType: "Proof";
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { SignatureEnvelope } from 'ox/tempo';
|
|
2
|
+
import type { Hex } from 'viem';
|
|
3
|
+
/**
|
|
4
|
+
* Canonicalizes a fresh TIP-1020 primitive signature for transport. Keychain
|
|
5
|
+
* wrappers, multisig signatures, and magic-suffixed encodings are rejected.
|
|
6
|
+
*/
|
|
7
|
+
export declare function serializeCanonicalEnvelope(signature: Hex, subject: string): Hex;
|
|
8
|
+
/**
|
|
9
|
+
* Parses an incoming signature into a canonical TIP-1020 primitive envelope.
|
|
10
|
+
* Returns `undefined` for wrapper envelopes and aliased (non-canonical)
|
|
11
|
+
* encodings, so verified signatures can be replayed on-chain byte-for-byte.
|
|
12
|
+
*/
|
|
13
|
+
export declare function parseCanonicalEnvelope(signature: Hex): SignatureEnvelope.SignatureEnvelope | undefined;
|
|
14
|
+
//# sourceMappingURL=signature-envelope.d.ts.map
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { SignatureEnvelope } from 'ox/tempo';
|
|
2
|
+
function isPrimitiveEnvelope(type) {
|
|
3
|
+
return type === 'secp256k1' || type === 'p256' || type === 'webAuthn';
|
|
4
|
+
}
|
|
5
|
+
/**
|
|
6
|
+
* Canonicalizes a fresh TIP-1020 primitive signature for transport. Keychain
|
|
7
|
+
* wrappers, multisig signatures, and magic-suffixed encodings are rejected.
|
|
8
|
+
*/
|
|
9
|
+
export function serializeCanonicalEnvelope(signature, subject) {
|
|
10
|
+
const envelope = SignatureEnvelope.from(signature);
|
|
11
|
+
if (!isPrimitiveEnvelope(envelope.type))
|
|
12
|
+
throw new Error(`${subject} require a TIP-1020 primitive signature; received "${envelope.type}".`);
|
|
13
|
+
return SignatureEnvelope.serialize(envelope);
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Parses an incoming signature into a canonical TIP-1020 primitive envelope.
|
|
17
|
+
* Returns `undefined` for wrapper envelopes and aliased (non-canonical)
|
|
18
|
+
* encodings, so verified signatures can be replayed on-chain byte-for-byte.
|
|
19
|
+
*/
|
|
20
|
+
export function parseCanonicalEnvelope(signature) {
|
|
21
|
+
const envelope = SignatureEnvelope.from(signature);
|
|
22
|
+
if (!isPrimitiveEnvelope(envelope.type))
|
|
23
|
+
return undefined;
|
|
24
|
+
if (SignatureEnvelope.serialize(envelope).toLowerCase() !== signature.toLowerCase())
|
|
25
|
+
return undefined;
|
|
26
|
+
return envelope;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=signature-envelope.js.map
|
|
@@ -29,12 +29,12 @@ export type ChannelEntry = {
|
|
|
29
29
|
};
|
|
30
30
|
/** Resolves the chain ID embedded in a legacy session challenge. */
|
|
31
31
|
export declare function resolveChainId(challenge: Challenge): number;
|
|
32
|
-
/** Resolves the
|
|
32
|
+
/** Resolves the server-advertised escrow against the client's trust policy. */
|
|
33
33
|
export declare function resolveEscrow(challenge: {
|
|
34
34
|
request: {
|
|
35
35
|
methodDetails?: unknown;
|
|
36
36
|
};
|
|
37
|
-
}, chainId: number, escrowContractOverride?: Address): Address;
|
|
37
|
+
}, chainId: number, escrowContractOverride?: Address, allowCustomEscrow?: boolean): Address;
|
|
38
38
|
/** Serializes a legacy session credential with a payer DID source. */
|
|
39
39
|
export declare function serializeCredential(challenge: Challenge, payload: LegacySessionCredentialPayload, chainId: number, account: viem_Account): string;
|
|
40
40
|
/** Creates a legacy cumulative voucher credential payload. */
|
|
@@ -24,15 +24,21 @@ export function resolveChainId(challenge) {
|
|
|
24
24
|
const md = challenge.request.methodDetails;
|
|
25
25
|
return md?.chainId ?? 0;
|
|
26
26
|
}
|
|
27
|
-
/** Resolves the
|
|
28
|
-
export function resolveEscrow(challenge, chainId, escrowContractOverride) {
|
|
27
|
+
/** Resolves the server-advertised escrow against the client's trust policy. */
|
|
28
|
+
export function resolveEscrow(challenge, chainId, escrowContractOverride, allowCustomEscrow = false) {
|
|
29
29
|
const challengeEscrow = challenge.request.methodDetails
|
|
30
30
|
?.escrowContract;
|
|
31
31
|
const escrow = escrowContractOverride ??
|
|
32
|
-
challengeEscrow ??
|
|
33
32
|
defaults.escrowContract[chainId];
|
|
34
|
-
if (!escrow)
|
|
35
|
-
throw new Error('No `escrowContract` available. Provide it in parameters or
|
|
33
|
+
if (!escrow && !(allowCustomEscrow && challengeEscrow))
|
|
34
|
+
throw new Error('No trusted `escrowContract` available. Provide it in client parameters or use a supported chain.');
|
|
35
|
+
if (challengeEscrow &&
|
|
36
|
+
escrow &&
|
|
37
|
+
challengeEscrow.toLowerCase() !== escrow.toLowerCase() &&
|
|
38
|
+
(!allowCustomEscrow || escrowContractOverride !== undefined))
|
|
39
|
+
throw new Error(`Tempo session escrow ${challengeEscrow} does not match client escrow ${escrow}.`);
|
|
40
|
+
if (challengeEscrow && (!escrow || challengeEscrow.toLowerCase() !== escrow.toLowerCase()))
|
|
41
|
+
return challengeEscrow;
|
|
36
42
|
return escrow;
|
|
37
43
|
}
|
|
38
44
|
/** Serializes a legacy session credential with a payer DID source. */
|
|
@@ -8,10 +8,10 @@ import { type ChannelEntry } from './ChannelOps.js';
|
|
|
8
8
|
export declare const sessionContextSchema: z.ZodMiniObject<{
|
|
9
9
|
account: z.ZodMiniOptional<z.ZodMiniCustom<`0x${string}` | Account.Account | undefined, `0x${string}` | Account.Account | undefined>>;
|
|
10
10
|
action: z.ZodMiniOptional<z.ZodMiniEnum<{
|
|
11
|
+
close: "close";
|
|
11
12
|
open: "open";
|
|
12
13
|
topUp: "topUp";
|
|
13
14
|
voucher: "voucher";
|
|
14
|
-
close: "close";
|
|
15
15
|
}>>;
|
|
16
16
|
channelId: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
17
17
|
cumulativeAmount: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
@@ -62,9 +62,10 @@ export declare function session(parameters?: session.Parameters): Method.Client<
|
|
|
62
62
|
readonly name: "tempo";
|
|
63
63
|
readonly intent: "session";
|
|
64
64
|
readonly schema: {
|
|
65
|
-
|
|
66
|
-
|
|
65
|
+
credential: {
|
|
66
|
+
payload: z.ZodMiniDiscriminatedUnion<[z.ZodMiniObject<{
|
|
67
67
|
action: z.ZodMiniLiteral<"open">;
|
|
68
|
+
authorizationSignature: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
68
69
|
authorizedSigner: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
69
70
|
channelId: z.ZodMiniString<string>;
|
|
70
71
|
cumulativeAmount: z.ZodMiniString<string>;
|
|
@@ -81,19 +82,22 @@ export declare function session(parameters?: session.Parameters): Method.Client<
|
|
|
81
82
|
type: z.ZodMiniLiteral<"transaction">;
|
|
82
83
|
}, z.core.$strip>, z.ZodMiniObject<{
|
|
83
84
|
action: z.ZodMiniLiteral<"voucher">;
|
|
85
|
+
authorizationSignature: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
84
86
|
channelId: z.ZodMiniString<string>;
|
|
85
87
|
cumulativeAmount: z.ZodMiniString<string>;
|
|
86
88
|
descriptor: z.ZodMiniOptional<z.ZodMiniCustom<import("../../session/precompile/Protocol.js").ChannelDescriptor, import("../../session/precompile/Protocol.js").ChannelDescriptor>>;
|
|
87
89
|
signature: z.ZodMiniString<string>;
|
|
88
90
|
}, z.core.$strip>, z.ZodMiniObject<{
|
|
89
91
|
action: z.ZodMiniLiteral<"close">;
|
|
92
|
+
authorizationSignature: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
90
93
|
channelId: z.ZodMiniString<string>;
|
|
91
94
|
cumulativeAmount: z.ZodMiniString<string>;
|
|
92
95
|
descriptor: z.ZodMiniOptional<z.ZodMiniCustom<import("../../session/precompile/Protocol.js").ChannelDescriptor, import("../../session/precompile/Protocol.js").ChannelDescriptor>>;
|
|
96
|
+
refundSignature: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
93
97
|
signature: z.ZodMiniString<string>;
|
|
94
98
|
}, z.core.$strip>], "action">;
|
|
95
99
|
};
|
|
96
|
-
|
|
100
|
+
request: z.ZodMiniPipe<z.ZodMiniObject<{
|
|
97
101
|
amount: z.ZodMiniString<string>;
|
|
98
102
|
chainId: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
|
|
99
103
|
channelId: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
@@ -101,6 +105,8 @@ export declare function session(parameters?: session.Parameters): Method.Client<
|
|
|
101
105
|
decimals: z.ZodMiniNumber<number>;
|
|
102
106
|
escrowContract: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
103
107
|
feePayer: z.ZodMiniOptional<z.ZodMiniPipe<z.ZodMiniUnion<readonly [z.ZodMiniBoolean<boolean>, z.ZodMiniCustom<viem_Account, viem_Account>]>, z.ZodMiniTransform<boolean, boolean | viem_Account>>>;
|
|
108
|
+
feeToken: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
109
|
+
machineTokenEnabled: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
|
|
104
110
|
minVoucherDelta: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
105
111
|
operator: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
106
112
|
recipient: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
@@ -112,45 +118,49 @@ export declare function session(parameters?: session.Parameters): Method.Client<
|
|
|
112
118
|
suggestedDeposit: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
113
119
|
unitType: z.ZodMiniString<string>;
|
|
114
120
|
}, z.core.$strip>, z.ZodMiniTransform<{
|
|
121
|
+
currency: string;
|
|
122
|
+
recipient?: string | undefined;
|
|
123
|
+
unitType: string;
|
|
124
|
+
amount: string;
|
|
125
|
+
suggestedDeposit?: string | undefined;
|
|
115
126
|
methodDetails: {
|
|
116
|
-
sessionSnapshot?: import("../../session/Snapshot.js").SessionSnapshot | undefined;
|
|
117
|
-
sessionProtocol?: "v1" | "v2" | undefined;
|
|
118
|
-
operator?: string | undefined;
|
|
119
|
-
feePayer?: boolean | undefined;
|
|
120
|
-
chainId?: number | undefined;
|
|
121
|
-
minVoucherDelta?: string | undefined;
|
|
122
|
-
channelId?: string | undefined;
|
|
123
127
|
escrowContract: string | undefined;
|
|
128
|
+
channelId?: string | undefined;
|
|
129
|
+
minVoucherDelta?: string | undefined;
|
|
130
|
+
chainId?: number | undefined;
|
|
131
|
+
feePayer?: boolean | undefined;
|
|
132
|
+
feeToken?: string | undefined;
|
|
133
|
+
machineTokenEnabled?: boolean | undefined;
|
|
134
|
+
operator?: string | undefined;
|
|
135
|
+
sessionProtocol?: "v1" | "v2" | undefined;
|
|
136
|
+
sessionSnapshot?: import("../../session/Snapshot.js").SessionSnapshot | undefined;
|
|
124
137
|
};
|
|
125
|
-
suggestedDeposit?: string | undefined;
|
|
126
|
-
amount: string;
|
|
127
|
-
currency: string;
|
|
128
|
-
unitType: string;
|
|
129
|
-
recipient?: string | undefined;
|
|
130
138
|
}, {
|
|
131
139
|
amount: string;
|
|
132
|
-
currency: string;
|
|
133
|
-
decimals: number;
|
|
134
|
-
unitType: string;
|
|
135
140
|
chainId?: number | undefined;
|
|
136
141
|
channelId?: string | undefined;
|
|
142
|
+
currency: string;
|
|
143
|
+
decimals: number;
|
|
137
144
|
escrowContract?: string | undefined;
|
|
138
145
|
feePayer?: boolean | undefined;
|
|
146
|
+
feeToken?: string | undefined;
|
|
147
|
+
machineTokenEnabled?: boolean | undefined;
|
|
139
148
|
minVoucherDelta?: string | undefined;
|
|
140
149
|
operator?: string | undefined;
|
|
141
150
|
recipient?: string | undefined;
|
|
142
151
|
sessionProtocol?: "v1" | "v2" | undefined;
|
|
143
152
|
sessionSnapshot?: import("../../session/Snapshot.js").SessionSnapshot | undefined;
|
|
144
153
|
suggestedDeposit?: string | undefined;
|
|
154
|
+
unitType: string;
|
|
145
155
|
}>>;
|
|
146
156
|
};
|
|
147
157
|
}, z.ZodMiniObject<{
|
|
148
158
|
account: z.ZodMiniOptional<z.ZodMiniCustom<`0x${string}` | Account.Account | undefined, `0x${string}` | Account.Account | undefined>>;
|
|
149
159
|
action: z.ZodMiniOptional<z.ZodMiniEnum<{
|
|
160
|
+
close: "close";
|
|
150
161
|
open: "open";
|
|
151
162
|
topUp: "topUp";
|
|
152
163
|
voucher: "voucher";
|
|
153
|
-
close: "close";
|
|
154
164
|
}>>;
|
|
155
165
|
channelId: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
156
166
|
cumulativeAmount: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
@@ -163,13 +173,15 @@ export declare function session(parameters?: session.Parameters): Method.Client<
|
|
|
163
173
|
/** Type helpers for the legacy low-level session client method. */
|
|
164
174
|
export declare namespace session {
|
|
165
175
|
type Parameters = Account.getResolver.Parameters & Client.getResolver.Parameters & {
|
|
176
|
+
/** Accept a noncanonical escrow contract advertised by the server. @default false */
|
|
177
|
+
allowCustomEscrow?: boolean | undefined;
|
|
166
178
|
/** Account that signs voucher digests. Defaults to `account`; access-key accounts sign raw vouchers as their access-key address. */
|
|
167
179
|
voucherSigner?: viem_Account | undefined;
|
|
168
180
|
/** Token decimals for parsing human-readable amounts (default: 6). */
|
|
169
181
|
decimals?: number | undefined;
|
|
170
182
|
/** Initial deposit amount in human-readable units (e.g. "10" for 10 tokens). When set, the method handles the full channel lifecycle (open, voucher, cumulative tracking) automatically. */
|
|
171
183
|
deposit?: string | undefined;
|
|
172
|
-
/**
|
|
184
|
+
/** Exact escrow contract address pin. Takes precedence over `allowCustomEscrow`. */
|
|
173
185
|
escrowContract?: Address | undefined;
|
|
174
186
|
/** Maximum deposit in human-readable units (e.g. "10"). Caps the server's `suggestedDeposit`. Enables auto-management like `deposit`. */
|
|
175
187
|
maxDeposit?: string | undefined;
|