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/backend/index.d.mts +85 -2
- package/dist/backend/index.d.ts +85 -2
- package/dist/backend/index.js +65 -2
- package/dist/backend/index.js.map +1 -1
- package/dist/backend/index.mjs +61 -3
- package/dist/backend/index.mjs.map +1 -1
- package/dist/index.d.mts +1 -3
- package/dist/index.d.ts +1 -3
- package/dist/index.js +71 -2
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +67 -3
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
- package/src/backend/index.ts +187 -2
- package/src/dx402.ts +7 -2
- package/src/index.ts +7 -0
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 =
|
|
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 =
|
|
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
|