uvd-x402-sdk 2.77.0 → 2.78.0

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/dist/index.mjs CHANGED
@@ -3943,6 +3943,54 @@ function buildSettleRequest(paymentHeader, requirements) {
3943
3943
  paymentRequirements: requirements
3944
3944
  };
3945
3945
  }
3946
+ function isCaip2Network(network) {
3947
+ return network.includes(":");
3948
+ }
3949
+ function toResourceInfoV2(requirements) {
3950
+ return {
3951
+ url: requirements.resource,
3952
+ description: requirements.description ?? DEFAULT_PAYMENT_DESCRIPTION,
3953
+ mimeType: requirements.mimeType ?? DEFAULT_PAYMENT_MIME_TYPE
3954
+ };
3955
+ }
3956
+ function toPaymentRequirementsV2(requirements) {
3957
+ return {
3958
+ scheme: requirements.scheme,
3959
+ network: isCaip2Network(requirements.network) ? requirements.network : chainToCAIP2(requirements.network),
3960
+ asset: requirements.asset,
3961
+ amount: requirements.maxAmountRequired,
3962
+ payTo: requirements.payTo,
3963
+ // Required by the facilitator: omitting it is a 400, measured the same day.
3964
+ maxTimeoutSeconds: requirements.maxTimeoutSeconds ?? DEFAULT_PAYMENT_TIMEOUT_SECONDS,
3965
+ ...requirements.extra !== void 0 ? { extra: requirements.extra } : {}
3966
+ };
3967
+ }
3968
+ function resolveEnvelopeVersion(paymentHeader, requirements, requested = "auto") {
3969
+ if (requested !== "auto") {
3970
+ return requested;
3971
+ }
3972
+ return isCaip2Network(paymentHeader.network) || isCaip2Network(requirements.network) ? 2 : 1;
3973
+ }
3974
+ function buildVerifyRequestForVersion(paymentHeader, requirements, version) {
3975
+ if (version === 2) {
3976
+ return buildVerifyRequestV2(
3977
+ paymentHeader.payload,
3978
+ toResourceInfoV2(requirements),
3979
+ toPaymentRequirementsV2(requirements)
3980
+ );
3981
+ }
3982
+ return buildVerifyRequest(paymentHeader, requirements);
3983
+ }
3984
+ function buildSettleRequestForVersion(paymentHeader, requirements, version) {
3985
+ if (version === 2) {
3986
+ return buildSettleRequestV2(
3987
+ paymentHeader.payload,
3988
+ toResourceInfoV2(requirements),
3989
+ toPaymentRequirementsV2(requirements)
3990
+ );
3991
+ }
3992
+ return buildSettleRequest(paymentHeader, requirements);
3993
+ }
3946
3994
  var X402_CORS_HEADERS = {
3947
3995
  "Access-Control-Allow-Headers": "Content-Type, X-PAYMENT, PAYMENT-SIGNATURE, Authorization",
3948
3996
  "Access-Control-Expose-Headers": "X-PAYMENT-RESPONSE, PAYMENT-RESPONSE, PAYMENT-REQUIRED",
@@ -3966,11 +4014,13 @@ var FacilitatorClient = class {
3966
4014
  timeout;
3967
4015
  explicitTimeout;
3968
4016
  retries;
4017
+ x402Version;
3969
4018
  constructor(options = {}) {
3970
4019
  this.baseUrl = options.baseUrl || "https://facilitator.ultravioletadao.xyz";
3971
4020
  this.explicitTimeout = options.timeout !== void 0;
3972
4021
  this.timeout = options.timeout || 3e4;
3973
4022
  this.retries = options.retries;
4023
+ this.x402Version = options.x402Version ?? "auto";
3974
4024
  }
3975
4025
  /**
3976
4026
  * Get timeout for a specific network, using per-chain defaults when no explicit timeout was set.
@@ -3996,7 +4046,11 @@ var FacilitatorClient = class {
3996
4046
  * @returns Verification result
3997
4047
  */
3998
4048
  async verify(paymentHeader, requirements) {
3999
- const body = buildVerifyRequest(paymentHeader, requirements);
4049
+ const body = buildVerifyRequestForVersion(
4050
+ paymentHeader,
4051
+ requirements,
4052
+ resolveEnvelopeVersion(paymentHeader, requirements, this.x402Version)
4053
+ );
4000
4054
  try {
4001
4055
  const { response, error } = await facilitatorFetch(
4002
4056
  `${this.baseUrl}/verify`,
@@ -4035,7 +4089,11 @@ var FacilitatorClient = class {
4035
4089
  * @returns Settlement result with transaction hash
4036
4090
  */
4037
4091
  async settle(paymentHeader, requirements) {
4038
- const body = buildSettleRequest(paymentHeader, requirements);
4092
+ const body = buildSettleRequestForVersion(
4093
+ paymentHeader,
4094
+ requirements,
4095
+ resolveEnvelopeVersion(paymentHeader, requirements, this.x402Version)
4096
+ );
4039
4097
  const settleTimeout = this.getTimeout(requirements.network);
4040
4098
  try {
4041
4099
  const { response, error } = await facilitatorFetch(
@@ -4700,6 +4758,6 @@ var ESCROW_TIMEOUT_MS = {
4700
4758
  // Monad: 90s
4701
4759
  };
4702
4760
 
4703
- export { AMBIGUOUS_LEASE_REASONS, ANCHOR_MAX_REQUEST_BYTES, CAIP2_IDENTIFIERS, CAIP2_TO_CHAIN, ContentHashMismatch, DEFAULT_CHAIN, DEFAULT_CONFIG, DEFAULT_FACILITATOR_RETRIES, DEFAULT_FACILITATOR_URL, DEFAULT_PAYMENT_HEADER, DEFAULT_RETRY_AFTER_SECONDS, DELEGATE_PREFIX, DX402Error, ESCROW_DEPOSIT_LIMIT_USD, ESCROW_TIER_WINDOWS, EVENT_KINDS, EVIDENCE_HEADER, EnvKeyAdapter, EvidenceSkipped, FACILITATOR_ADDRESSES, FacilitatorClient, KEEPALIVE_INTERVAL_MS, MAX_RETRY_AFTER_SECONDS, OPERATOR_FEE_BPS, OWSWalletAdapter, PAYMENT_HEADER_NAMES, REPLAYABLE_LEASE_REASONS, SMA_WRAP_TARGETS, SSEParser, SUPPORTED_CHAINS, TrafficStreamError, WRITER_LEASE_REASONS, X402Client, X402Error, X402_CORS_HEADERS, X402_HEADER_NAMES, ZERO_ADDRESS, anchorDigest, anchorEvidence, availableBackends, buildEscrowPreAuth, buildPaymentRequirements, buildSettleRequest, buildSettleRequestV2, buildSignatureBase, buildSignatureParams, buildTokenMetadata, buildVerifyRequest, buildVerifyRequestV2, caip2ToChain, chainToCAIP2, computeEscrowNonce, contentHash, convertX402Header, create402Response, createHonoMiddleware, createPaymentHeaders, createPaymentMiddleware, createSignedFetch, createX402Header, createX402V1Header, createX402V2Header, decodeBase64Utf8, decodeX402Header, delegateTarget, dereferencePointer, detectX402Version, paymentId as dx402PaymentId, ed25519ToX25519, encodeBase64Json, encodeBase64Utf8, encodeX402Header, evidenceFromHeaders, evidenceHeader, extractPaymentFromHeaders, facilitatorFetch, fetchNonce, generatePaymentOptions, getAlgorandChains, getChainById, getChainByName, getChainsByNetworkType, getChainsByToken, getCorsHeaders, getEVMChainIds, getEnabledChains, getExplorerAddressUrl, getExplorerTxUrl, getFacilitatorAddress, getNetworkType, getPaymentHeader, getSVMChains, getSuiChains, getSupportedTokens, getTokenByAddress, getTokenConfig, getXRPLChains, isAlgorandChain, isAmbiguousLeaseReason, isCAIP2Format, isChainSupported, isDelegated, isEndToEnd, isReplayableLeaseReason, isSVMChain, isSuiChain, isTokenSupported, isXRPLChain, matchesFilters, needsAccountWrap, parseEvidenceHeader, parseNetworkIdentifier, parseRetryAfterSeconds, parseSealed, parseTrafficEvent, payerKeyFromEvmSignature, payerKeyFromSolanaAddress, paymentChallengeFrom, readFacilitatorError, recoverEvidence, replaySafeTypedData, resolveDelegation, rpcDelegationResolver, sealEvidence, sealEvidenceTo, sealedRoles, sellerDigestFor, signAnchorEd25519, signAnchorEvm, signRequest, signRequestWithSigner, signRequestWithWallet, streamTrafficEvents, unseal, validateAmount, validateRecipient, wrapSignature };
4761
+ export { AMBIGUOUS_LEASE_REASONS, ANCHOR_MAX_REQUEST_BYTES, CAIP2_IDENTIFIERS, CAIP2_TO_CHAIN, ContentHashMismatch, DEFAULT_CHAIN, DEFAULT_CONFIG, DEFAULT_FACILITATOR_RETRIES, DEFAULT_FACILITATOR_URL, DEFAULT_PAYMENT_HEADER, DEFAULT_RETRY_AFTER_SECONDS, DELEGATE_PREFIX, DX402Error, ESCROW_DEPOSIT_LIMIT_USD, ESCROW_TIER_WINDOWS, EVENT_KINDS, EVIDENCE_HEADER, EnvKeyAdapter, EvidenceSkipped, FACILITATOR_ADDRESSES, FacilitatorClient, KEEPALIVE_INTERVAL_MS, MAX_RETRY_AFTER_SECONDS, OPERATOR_FEE_BPS, OWSWalletAdapter, PAYMENT_HEADER_NAMES, REPLAYABLE_LEASE_REASONS, SMA_WRAP_TARGETS, SSEParser, SUPPORTED_CHAINS, TrafficStreamError, WRITER_LEASE_REASONS, X402Client, X402Error, X402_CORS_HEADERS, X402_HEADER_NAMES, ZERO_ADDRESS, anchorDigest, anchorEvidence, availableBackends, buildEscrowPreAuth, buildPaymentRequirements, buildSettleRequest, buildSettleRequestForVersion, buildSettleRequestV2, buildSignatureBase, buildSignatureParams, buildTokenMetadata, buildVerifyRequest, buildVerifyRequestForVersion, buildVerifyRequestV2, caip2ToChain, chainToCAIP2, computeEscrowNonce, contentHash, convertX402Header, create402Response, createHonoMiddleware, createPaymentHeaders, createPaymentMiddleware, createSignedFetch, createX402Header, createX402V1Header, createX402V2Header, decodeBase64Utf8, decodeX402Header, delegateTarget, dereferencePointer, detectX402Version, paymentId as dx402PaymentId, ed25519ToX25519, encodeBase64Json, encodeBase64Utf8, encodeX402Header, evidenceFromHeaders, evidenceHeader, extractPaymentFromHeaders, facilitatorFetch, fetchNonce, generatePaymentOptions, getAlgorandChains, getChainById, getChainByName, getChainsByNetworkType, getChainsByToken, getCorsHeaders, getEVMChainIds, getEnabledChains, getExplorerAddressUrl, getExplorerTxUrl, getFacilitatorAddress, getNetworkType, getPaymentHeader, getSVMChains, getSuiChains, getSupportedTokens, getTokenByAddress, getTokenConfig, getXRPLChains, isAlgorandChain, isAmbiguousLeaseReason, isCAIP2Format, isChainSupported, isDelegated, isEndToEnd, isReplayableLeaseReason, isSVMChain, isSuiChain, isTokenSupported, isXRPLChain, matchesFilters, needsAccountWrap, parseEvidenceHeader, parseNetworkIdentifier, parseRetryAfterSeconds, parseSealed, parseTrafficEvent, payerKeyFromEvmSignature, payerKeyFromSolanaAddress, paymentChallengeFrom, readFacilitatorError, recoverEvidence, replaySafeTypedData, resolveDelegation, resolveEnvelopeVersion, rpcDelegationResolver, sealEvidence, sealEvidenceTo, sealedRoles, sellerDigestFor, signAnchorEd25519, signAnchorEvm, signRequest, signRequestWithSigner, signRequestWithWallet, streamTrafficEvents, toPaymentRequirementsV2, toResourceInfoV2, unseal, validateAmount, validateRecipient, wrapSignature };
4704
4762
  //# sourceMappingURL=index.mjs.map
4705
4763
  //# sourceMappingURL=index.mjs.map