uvd-x402-sdk 2.76.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
@@ -1636,6 +1636,12 @@ async function anchorEvidence(body, opts) {
1636
1636
  // `sealed` -> it hosts and derives the pointer; `pointer` alone -> it uses
1637
1637
  // yours; neither -> error (x402-rs `dx402/service.rs`).
1638
1638
  ...pointer !== void 0 ? { pointer } : { sealed: toBase64(blob) },
1639
+ // Declared, not measured. Since x402-rs 2.3.0 the facilitator records
1640
+ // the store that ACTUALLY took the bytes and returns that, so a response
1641
+ // may name a different backend than the request did -- `ipfs` where you
1642
+ // said `s3`, because a deployment whose primary is Pinata wrote there.
1643
+ // That is the facilitator correcting the record, not a mismatch to
1644
+ // assert on.
1639
1645
  backend: opts.backend ?? (pointer !== void 0 ? backendForPointer(pointer) : "s3"),
1640
1646
  contentHash: hash,
1641
1647
  keyAlg: opts.payerKey.length === 32 ? "ECIES-X25519" : "ECIES-secp256k1",
@@ -3937,6 +3943,54 @@ function buildSettleRequest(paymentHeader, requirements) {
3937
3943
  paymentRequirements: requirements
3938
3944
  };
3939
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
+ }
3940
3994
  var X402_CORS_HEADERS = {
3941
3995
  "Access-Control-Allow-Headers": "Content-Type, X-PAYMENT, PAYMENT-SIGNATURE, Authorization",
3942
3996
  "Access-Control-Expose-Headers": "X-PAYMENT-RESPONSE, PAYMENT-RESPONSE, PAYMENT-REQUIRED",
@@ -3960,11 +4014,13 @@ var FacilitatorClient = class {
3960
4014
  timeout;
3961
4015
  explicitTimeout;
3962
4016
  retries;
4017
+ x402Version;
3963
4018
  constructor(options = {}) {
3964
4019
  this.baseUrl = options.baseUrl || "https://facilitator.ultravioletadao.xyz";
3965
4020
  this.explicitTimeout = options.timeout !== void 0;
3966
4021
  this.timeout = options.timeout || 3e4;
3967
4022
  this.retries = options.retries;
4023
+ this.x402Version = options.x402Version ?? "auto";
3968
4024
  }
3969
4025
  /**
3970
4026
  * Get timeout for a specific network, using per-chain defaults when no explicit timeout was set.
@@ -3990,7 +4046,11 @@ var FacilitatorClient = class {
3990
4046
  * @returns Verification result
3991
4047
  */
3992
4048
  async verify(paymentHeader, requirements) {
3993
- const body = buildVerifyRequest(paymentHeader, requirements);
4049
+ const body = buildVerifyRequestForVersion(
4050
+ paymentHeader,
4051
+ requirements,
4052
+ resolveEnvelopeVersion(paymentHeader, requirements, this.x402Version)
4053
+ );
3994
4054
  try {
3995
4055
  const { response, error } = await facilitatorFetch(
3996
4056
  `${this.baseUrl}/verify`,
@@ -4029,7 +4089,11 @@ var FacilitatorClient = class {
4029
4089
  * @returns Settlement result with transaction hash
4030
4090
  */
4031
4091
  async settle(paymentHeader, requirements) {
4032
- const body = buildSettleRequest(paymentHeader, requirements);
4092
+ const body = buildSettleRequestForVersion(
4093
+ paymentHeader,
4094
+ requirements,
4095
+ resolveEnvelopeVersion(paymentHeader, requirements, this.x402Version)
4096
+ );
4033
4097
  const settleTimeout = this.getTimeout(requirements.network);
4034
4098
  try {
4035
4099
  const { response, error } = await facilitatorFetch(
@@ -4694,6 +4758,6 @@ var ESCROW_TIMEOUT_MS = {
4694
4758
  // Monad: 90s
4695
4759
  };
4696
4760
 
4697
- 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 };
4698
4762
  //# sourceMappingURL=index.mjs.map
4699
4763
  //# sourceMappingURL=index.mjs.map