uvd-x402-sdk 2.103.0 → 2.104.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/README.md +2 -1
- package/dist/backend/index.d.mts +1 -1
- package/dist/backend/index.d.ts +1 -1
- package/dist/backend/index.js +132 -124
- package/dist/backend/index.js.map +1 -1
- package/dist/backend/index.mjs +132 -124
- package/dist/backend/index.mjs.map +1 -1
- package/dist/{index-CLlhFKbm.d.ts → escrow-contracts-C59jszp3.d.ts} +93 -30
- package/dist/{index-fImniLTl.d.mts → escrow-contracts-Dgcyu7Fh.d.mts} +93 -30
- package/dist/index.d.mts +56 -4
- package/dist/index.d.ts +56 -4
- package/dist/index.js +384 -31
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +381 -32
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
- package/src/backend/index.ts +8 -157
- package/src/escrow-contracts.ts +254 -0
- package/src/escrow-preauth.ts +376 -16
- package/src/index.ts +3 -0
package/README.md
CHANGED
|
@@ -675,6 +675,7 @@ import { buildEscrowPreAuth, EnvKeyAdapter } from 'uvd-x402-sdk';
|
|
|
675
675
|
// (e.g. Execution Market's GET /api/v1/h2a/payment-config).
|
|
676
676
|
const paymentAuth = await buildEscrowPreAuth(new EnvKeyAdapter(), {
|
|
677
677
|
networkConfig: config.escrow.networks.base,
|
|
678
|
+
network: 'base', // its chain_id must be the chain this SDK registers for it
|
|
678
679
|
payerWallet: '0xPublisher...',
|
|
679
680
|
workerWallet: '0xWorker...', // escrow receiver — committed by the nonce
|
|
680
681
|
bountyAtomic: '100000', // $0.10 in 6-decimal USDC
|
|
@@ -683,7 +684,7 @@ const paymentAuth = await buildEscrowPreAuth(new EnvKeyAdapter(), {
|
|
|
683
684
|
// Send as the X-Payment-Auth header (raw JSON, NOT base64).
|
|
684
685
|
```
|
|
685
686
|
|
|
686
|
-
Any `SigningWalletAdapter` works as the signer (only `signTypedData` is used); browser wallets can pass a minimal `{ signTypedData }` wrapper. Validation fails loud instead of falling back: incomplete network config, unknown tier, bounty outside the on-chain deposit limit ($100), or a `maxFeeBps` below the operator's 1300 bps all throw before anything is signed. `computeEscrowNonce` is exported to reproduce `AuthCaptureEscrow.getHash` externally.
|
|
687
|
+
Any `SigningWalletAdapter` works as the signer (only `signTypedData` is used); browser wallets can pass a minimal `{ signTypedData }` wrapper. Validation fails loud instead of falling back: incomplete network config, unknown tier, bounty outside the on-chain deposit limit ($100), or a `maxFeeBps` below the operator's 1300 bps all throw before anything is signed. What the config asserts is also checked against the SDK's own tables before signing, as in the Python SDK: the `chain_id` against the `network` you name (a registry name or `eip155:<id>`), the escrow, token collector and USDC against `ESCROW_CONTRACTS`, the operator against `ESCROW_OPERATORS`, and `maxFeeBps` against the chain's ceiling in `ESCROW_MAX_FEE_BPS`. A contradiction throws `INVALID_CONFIG`, and so do a `network` the SDK does not register and a chain without a row in each of the three tables, with or without `network`; name the network you expect to pay on, from your own code, never one read from the config. A server-published tier window must be an integer from 0 to its `ESCROW_TIER_WINDOW_MAX`, and `authorizationExpiry` at most `ESCROW_MAX_AUTHORIZATION_SEC` after now: past either, the SDK refuses, it never clamps. `computeEscrowNonce` is exported to reproduce `AuthCaptureEscrow.getHash` externally.
|
|
687
688
|
|
|
688
689
|
## Multi-Stablecoin (EVM)
|
|
689
690
|
|
package/dist/backend/index.d.mts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import '../wallet-T0NFUUkT.mjs';
|
|
2
2
|
export { a as FacilitatorReceipt, F as FetchReceiptResult, P as PaymentState, b as PurchaseContext, c as RECEIPT_ISSUER, R as ReceiptFetchOptions, d as ReceiptKeys, e as STACK_KEY_HEADER, S as StackKeyOptions, f as StackKeyRedirectError, g as canonicalReceiptJson, h as createPurchaseContext, i as fetchWithReceipt, j as getFacilitatorReceipt, m as mergeHeaderList, k as mergePaymentResponseHeaders, p as parseFacilitatorReceipt, l as paymentResponseHeaders, n as purchaseContextHeader, r as receiptCommitment, o as receiptFromErrorBody, q as receiptFromResponse, v as validatePurchaseContext, s as verifyFacilitatorReceipt } from '../receipts-COPJ_BY9.mjs';
|
|
3
3
|
import '../index-DagQ74ZQ.mjs';
|
|
4
|
-
export { A as AMBIGUOUS_LEASE_REASONS, a as AUTHORIZATION_ALREADY_SETTLED, b as AUTHORIZATION_IN_FLIGHT, c as AdmittedAuthorizationCode,
|
|
4
|
+
export { A as AMBIGUOUS_LEASE_REASONS, a as AUTHORIZATION_ALREADY_SETTLED, b as AUTHORIZATION_IN_FLIGHT, c as AdmittedAuthorizationCode, aG as AdvancedAuthorizationResult, aH as AdvancedEscrowClient, aI as AdvancedEscrowClientOptions, aJ as AdvancedEscrowContracts, aK as AdvancedEscrowTaskTier, aL as AdvancedPaymentInfo, aM as AdvancedTransactionResult, aN as AgentId, aO as AgentIdentity, aP as AgentRegistration, aQ as AgentRegistrationFile, aR as AgentService, aS as AtomStats, aT as BASE_MAINNET_CONTRACTS, B as BAZAAR_BODY_METHODS, d as BAZAAR_BODY_TYPES, e as BAZAAR_QUERY_METHODS, f as BazaarBodyEndpoint, g as BazaarBodyMethod, h as BazaarBodyType, aU as BazaarClient, aV as BazaarClientOptions, aW as BazaarDiscoverOptions, aX as BazaarDiscoverResponse, i as BazaarExtensionOptions, j as BazaarOutput, k as BazaarQueryEndpoint, l as BazaarQueryMethod, aY as BazaarRegisterOptions, aZ as BazaarResource, a_ as CreateEscrowOptions, D as DEFAULT_FACILITATOR_RETRIES, a$ as DEFAULT_MAX_SEARCH_LEN, n as DEFAULT_RETRY_AFTER_SECONDS, b0 as DEPOSIT_LIMIT_USDC, b1 as DiscoveryAccepts, b2 as DiscoveryCuration, b3 as DiscoveryHealth, b4 as DiscoveryHealthStatus, b5 as DiscoveryKind, b6 as DiscoveryListOptions, b7 as DiscoveryMethod, b8 as DiscoveryPagination, b9 as DiscoveryRegisterOptions, ba as DiscoveryResource, bb as DiscoveryResponse, bc as DiscoverySource, bd as DiscoveryStats, be as DiscoveryTier, bf as Dispute, bg as DisputeOutcome, bh as ERC8004_CONTRACTS, bi as ERC8004_EXTENSION_ID, bj as ESCROW_CONTRACTS, bk as ESCROW_NOTHING_TO_VOID, bl as ESCROW_OPERATOR_GENERATION, bm as ESCROW_OPERATOR_NOT_DEPLOYED, bn as ESCROW_TIMEOUT_MS, bo as ESCROW_UNSUPPORTED_ON_GENERATION, bp as ESCROW_VOID_AMOUNT_MISMATCH, bq as Erc8004Client, br as Erc8004ClientOptions, bs as Erc8004LookupError, bt as Erc8004Network, bu as EscrowClient, bv as EscrowClientOptions, bw as EscrowOperatorGeneration, bx as EscrowPayment, by as EscrowStateResponse, bz as EscrowStatus, F as FacilitatorCallOptions, p as FacilitatorClient, q as FacilitatorClientOptions, r as FacilitatorErrorInfo, s as FacilitatorFailureFields, t as FacilitatorFetchOptions, bA as FeedbackEntry, bB as FeedbackParams, bC as FeedbackRequest, bD as FeedbackResponse, u as FetchPaywall, v as FetchPaywallOptions, w as FetchRouteInput, bE as HEALTH_FILTERS, H as HonoMiddlewareOptions, I as IDEMPOTENCY_KEY_HEADER, x as IDEMPOTENT_REPLAYED_HEADER, bF as IdentityByOwnerResponse, bG as IdentityMetadataResponse, bH as IdentityTotalSupplyResponse, bI as KIND_FILTERS, bJ as LifecycleAuthOptions, R as MAX_RETRY_AFTER_SECONDS, bK as MAX_SEARCH_LEN, bL as METHOD_FILTERS, bM as MetadataEntryParam, bN as OPERATOR_ABI, bO as OPERATOR_ABI_CREATE3, bP as OPERATOR_ABI_V3, bQ as PAYMENT_INFO_TYPEHASH, S as ParsedFacilitatorErrorBody, T as PaymentAcceptance, U as PaymentConflictResponse, V as PaymentMiddlewareOptions, W as PaymentPayloadV2, bR as PaymentRequirementResolver, bS as PaymentRequirements, bT as PaymentRequirementsOptions, X as PaymentRequirementsV2, bU as PrepareRelayFeedbackRequest, bV as PrepareRelayFeedbackResponse, bW as PrepareRelayResponseRequest, bX as PrepareSolanaFeedbackRequest, bY as PrepareSolanaFeedbackResponse, bZ as ProofOfPayment, Y as RECEIPT_REQUEST_CONFLICT, b_ as RELAYED_FEEDBACK_NETWORKS, Z as REPLAYABLE_LEASE_REASONS, b$ as RefundRequest, c0 as RefundStatus, c1 as RegisterAgentRequest, c2 as RegisterAgentResponse, c3 as RegisterJobResponse, c4 as RegisterJobStatus, c5 as RegistrationPendingError, c6 as RelayAuthorizationParams, c7 as ReputationResponse, c8 as ReputationSummary, c9 as RequestRefundOptions, _ as ResourceInfoV2, $ as SETTLEMENT_UNCONFIRMED, ca as SOLANA_FEEDBACK_NETWORKS, cb as SettleRequest, a0 as SettleRequestV2, a1 as SettleResponse, cc as SettleResponseWithProof, cd as SubmitRelayFeedbackRequest, ce as SubmitRelayResponseRequest, cf as SubmitSolanaFeedbackRequest, cg as TIER_FILTERS, ch as TIER_TIMINGS, ci as USDC_DOMAIN_NAME, cj as UnavailableBody, ck as UnavailableResponse, a2 as VerifiedPaymentState, cl as VerifyRequest, a3 as VerifyRequestV2, a4 as VerifyResponse, a5 as WRITER_LEASE_REASONS, a7 as WriterLeaseReason, a8 as X402_CORS_HEADERS, a9 as X402_HEADER_NAMES, cm as ZERO_ADDRESS, aa as bazaarExtension, cn as buildErc8004PaymentRequirements, ad as buildPaymentConflictResponse, ae as buildPaymentRequirements, af as buildSettleRequest, ag as buildSettleRequestForVersion, ah as buildSettleRequestV2, co as buildUnavailableResponse, ai as buildVerifyRequest, aj as buildVerifyRequestForVersion, ak as buildVerifyRequestV2, cp as canRefundEscrow, cq as canReleaseEscrow, cr as carryFailureFields, al as create402Response, am as createFetchPaywall, an as createHonoMiddleware, ao as createIdempotencyKey, ap as createPaymentMiddleware, cs as epochToDate, ct as escrowTimeRemaining, aq as extractPaymentFromHeaders, ar as facilitatorFetch, as as getCorsHeaders, cu as getEscrowContractsByChainId, cv as getEscrowOperatorGeneration, cw as getEscrowSupportedChainIds, cx as isAlive, at as isAmbiguousLeaseReason, au as isAuthorizationAlreadyUsed, av as isAuthorizationInFlight, cy as isEscrowExpired, cz as isEscrowSupportedOnChain, cA as isRegisterJobTerminal, aw as isReplayableLeaseReason, ax as isSettlementUnconfirmed, az as parseFacilitatorErrorBody, cB as parsePaymentHeader, aA as parseRetryAfterSeconds, aB as readFacilitatorError, aC as resolveEnvelopeVersion, cC as supportsRelayedFeedback, cD as supportsSolanaFeedback, aD as toPaymentRequirementsV2, aE as toResourceInfoV2, cE as wireNetwork } from '../escrow-contracts-Dgcyu7Fh.mjs';
|
package/dist/backend/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import '../wallet-T0NFUUkT.js';
|
|
2
2
|
export { a as FacilitatorReceipt, F as FetchReceiptResult, P as PaymentState, b as PurchaseContext, c as RECEIPT_ISSUER, R as ReceiptFetchOptions, d as ReceiptKeys, e as STACK_KEY_HEADER, S as StackKeyOptions, f as StackKeyRedirectError, g as canonicalReceiptJson, h as createPurchaseContext, i as fetchWithReceipt, j as getFacilitatorReceipt, m as mergeHeaderList, k as mergePaymentResponseHeaders, p as parseFacilitatorReceipt, l as paymentResponseHeaders, n as purchaseContextHeader, r as receiptCommitment, o as receiptFromErrorBody, q as receiptFromResponse, v as validatePurchaseContext, s as verifyFacilitatorReceipt } from '../receipts-8XsMeo1y.js';
|
|
3
3
|
import '../index-DagQ74ZQ.js';
|
|
4
|
-
export { A as AMBIGUOUS_LEASE_REASONS, a as AUTHORIZATION_ALREADY_SETTLED, b as AUTHORIZATION_IN_FLIGHT, c as AdmittedAuthorizationCode,
|
|
4
|
+
export { A as AMBIGUOUS_LEASE_REASONS, a as AUTHORIZATION_ALREADY_SETTLED, b as AUTHORIZATION_IN_FLIGHT, c as AdmittedAuthorizationCode, aG as AdvancedAuthorizationResult, aH as AdvancedEscrowClient, aI as AdvancedEscrowClientOptions, aJ as AdvancedEscrowContracts, aK as AdvancedEscrowTaskTier, aL as AdvancedPaymentInfo, aM as AdvancedTransactionResult, aN as AgentId, aO as AgentIdentity, aP as AgentRegistration, aQ as AgentRegistrationFile, aR as AgentService, aS as AtomStats, aT as BASE_MAINNET_CONTRACTS, B as BAZAAR_BODY_METHODS, d as BAZAAR_BODY_TYPES, e as BAZAAR_QUERY_METHODS, f as BazaarBodyEndpoint, g as BazaarBodyMethod, h as BazaarBodyType, aU as BazaarClient, aV as BazaarClientOptions, aW as BazaarDiscoverOptions, aX as BazaarDiscoverResponse, i as BazaarExtensionOptions, j as BazaarOutput, k as BazaarQueryEndpoint, l as BazaarQueryMethod, aY as BazaarRegisterOptions, aZ as BazaarResource, a_ as CreateEscrowOptions, D as DEFAULT_FACILITATOR_RETRIES, a$ as DEFAULT_MAX_SEARCH_LEN, n as DEFAULT_RETRY_AFTER_SECONDS, b0 as DEPOSIT_LIMIT_USDC, b1 as DiscoveryAccepts, b2 as DiscoveryCuration, b3 as DiscoveryHealth, b4 as DiscoveryHealthStatus, b5 as DiscoveryKind, b6 as DiscoveryListOptions, b7 as DiscoveryMethod, b8 as DiscoveryPagination, b9 as DiscoveryRegisterOptions, ba as DiscoveryResource, bb as DiscoveryResponse, bc as DiscoverySource, bd as DiscoveryStats, be as DiscoveryTier, bf as Dispute, bg as DisputeOutcome, bh as ERC8004_CONTRACTS, bi as ERC8004_EXTENSION_ID, bj as ESCROW_CONTRACTS, bk as ESCROW_NOTHING_TO_VOID, bl as ESCROW_OPERATOR_GENERATION, bm as ESCROW_OPERATOR_NOT_DEPLOYED, bn as ESCROW_TIMEOUT_MS, bo as ESCROW_UNSUPPORTED_ON_GENERATION, bp as ESCROW_VOID_AMOUNT_MISMATCH, bq as Erc8004Client, br as Erc8004ClientOptions, bs as Erc8004LookupError, bt as Erc8004Network, bu as EscrowClient, bv as EscrowClientOptions, bw as EscrowOperatorGeneration, bx as EscrowPayment, by as EscrowStateResponse, bz as EscrowStatus, F as FacilitatorCallOptions, p as FacilitatorClient, q as FacilitatorClientOptions, r as FacilitatorErrorInfo, s as FacilitatorFailureFields, t as FacilitatorFetchOptions, bA as FeedbackEntry, bB as FeedbackParams, bC as FeedbackRequest, bD as FeedbackResponse, u as FetchPaywall, v as FetchPaywallOptions, w as FetchRouteInput, bE as HEALTH_FILTERS, H as HonoMiddlewareOptions, I as IDEMPOTENCY_KEY_HEADER, x as IDEMPOTENT_REPLAYED_HEADER, bF as IdentityByOwnerResponse, bG as IdentityMetadataResponse, bH as IdentityTotalSupplyResponse, bI as KIND_FILTERS, bJ as LifecycleAuthOptions, R as MAX_RETRY_AFTER_SECONDS, bK as MAX_SEARCH_LEN, bL as METHOD_FILTERS, bM as MetadataEntryParam, bN as OPERATOR_ABI, bO as OPERATOR_ABI_CREATE3, bP as OPERATOR_ABI_V3, bQ as PAYMENT_INFO_TYPEHASH, S as ParsedFacilitatorErrorBody, T as PaymentAcceptance, U as PaymentConflictResponse, V as PaymentMiddlewareOptions, W as PaymentPayloadV2, bR as PaymentRequirementResolver, bS as PaymentRequirements, bT as PaymentRequirementsOptions, X as PaymentRequirementsV2, bU as PrepareRelayFeedbackRequest, bV as PrepareRelayFeedbackResponse, bW as PrepareRelayResponseRequest, bX as PrepareSolanaFeedbackRequest, bY as PrepareSolanaFeedbackResponse, bZ as ProofOfPayment, Y as RECEIPT_REQUEST_CONFLICT, b_ as RELAYED_FEEDBACK_NETWORKS, Z as REPLAYABLE_LEASE_REASONS, b$ as RefundRequest, c0 as RefundStatus, c1 as RegisterAgentRequest, c2 as RegisterAgentResponse, c3 as RegisterJobResponse, c4 as RegisterJobStatus, c5 as RegistrationPendingError, c6 as RelayAuthorizationParams, c7 as ReputationResponse, c8 as ReputationSummary, c9 as RequestRefundOptions, _ as ResourceInfoV2, $ as SETTLEMENT_UNCONFIRMED, ca as SOLANA_FEEDBACK_NETWORKS, cb as SettleRequest, a0 as SettleRequestV2, a1 as SettleResponse, cc as SettleResponseWithProof, cd as SubmitRelayFeedbackRequest, ce as SubmitRelayResponseRequest, cf as SubmitSolanaFeedbackRequest, cg as TIER_FILTERS, ch as TIER_TIMINGS, ci as USDC_DOMAIN_NAME, cj as UnavailableBody, ck as UnavailableResponse, a2 as VerifiedPaymentState, cl as VerifyRequest, a3 as VerifyRequestV2, a4 as VerifyResponse, a5 as WRITER_LEASE_REASONS, a7 as WriterLeaseReason, a8 as X402_CORS_HEADERS, a9 as X402_HEADER_NAMES, cm as ZERO_ADDRESS, aa as bazaarExtension, cn as buildErc8004PaymentRequirements, ad as buildPaymentConflictResponse, ae as buildPaymentRequirements, af as buildSettleRequest, ag as buildSettleRequestForVersion, ah as buildSettleRequestV2, co as buildUnavailableResponse, ai as buildVerifyRequest, aj as buildVerifyRequestForVersion, ak as buildVerifyRequestV2, cp as canRefundEscrow, cq as canReleaseEscrow, cr as carryFailureFields, al as create402Response, am as createFetchPaywall, an as createHonoMiddleware, ao as createIdempotencyKey, ap as createPaymentMiddleware, cs as epochToDate, ct as escrowTimeRemaining, aq as extractPaymentFromHeaders, ar as facilitatorFetch, as as getCorsHeaders, cu as getEscrowContractsByChainId, cv as getEscrowOperatorGeneration, cw as getEscrowSupportedChainIds, cx as isAlive, at as isAmbiguousLeaseReason, au as isAuthorizationAlreadyUsed, av as isAuthorizationInFlight, cy as isEscrowExpired, cz as isEscrowSupportedOnChain, cA as isRegisterJobTerminal, aw as isReplayableLeaseReason, ax as isSettlementUnconfirmed, az as parseFacilitatorErrorBody, cB as parsePaymentHeader, aA as parseRetryAfterSeconds, aB as readFacilitatorError, aC as resolveEnvelopeVersion, cC as supportsRelayedFeedback, cD as supportsSolanaFeedback, aD as toPaymentRequirementsV2, aE as toResourceInfoV2, cE as wireNetwork } from '../escrow-contracts-C59jszp3.js';
|
package/dist/backend/index.js
CHANGED
|
@@ -1795,6 +1795,138 @@ function assertTypedDataIntegersExact(doc, where = "typed data", code = "INVALID
|
|
|
1795
1795
|
}
|
|
1796
1796
|
assertNoInexactNumber(message, `${where} message`, code);
|
|
1797
1797
|
}
|
|
1798
|
+
|
|
1799
|
+
// src/escrow-contracts.ts
|
|
1800
|
+
function arcUsdc(network) {
|
|
1801
|
+
const chain = getChainByName(network);
|
|
1802
|
+
if (!chain) throw new Error(`The chain registry has no '${network}'.`);
|
|
1803
|
+
return chain.usdc;
|
|
1804
|
+
}
|
|
1805
|
+
function freezeRows(rows) {
|
|
1806
|
+
for (const row of Object.values(rows)) Object.freeze(row);
|
|
1807
|
+
return Object.freeze(rows);
|
|
1808
|
+
}
|
|
1809
|
+
var ESCROW_CONTRACTS = freezeRows({
|
|
1810
|
+
// Base Sepolia (testnet, chain 84532)
|
|
1811
|
+
84532: {
|
|
1812
|
+
operator: "0x97d53e63A9CB97556c00BeFd325AF810c9b267B2",
|
|
1813
|
+
escrow: "0x29025c0E9D4239d438e169570818dB9FE0A80873",
|
|
1814
|
+
tokenCollector: "0x5cA789000070DF15b4663DB64a50AeF5D49c5Ee0",
|
|
1815
|
+
protocolFeeConfig: "0x8F96C493bAC365E41f0315cf45830069EBbDCaCe",
|
|
1816
|
+
refundRequest: "0x1C2Ab244aC8bDdDB74d43389FF34B118aF2E90F4",
|
|
1817
|
+
usdc: "0x036CbD53842c5426634e7929541eC2318f3dCF7e"
|
|
1818
|
+
},
|
|
1819
|
+
// Base Mainnet (chain 8453)
|
|
1820
|
+
8453: {
|
|
1821
|
+
operator: "0x3D0837fF8Ea36F417261577b9BA568400A840260",
|
|
1822
|
+
escrow: "0xb9488351E48b23D798f24e8174514F28B741Eb4f",
|
|
1823
|
+
tokenCollector: "0x48ADf6E37F9b31dC2AAD0462C5862B5422C736B8",
|
|
1824
|
+
protocolFeeConfig: "0x59314674BAbb1a24Eb2704468a9cCdD50668a1C6",
|
|
1825
|
+
refundRequest: "0x35fb2EFEfAc3Ee9f6E52A9AAE5C9655bC08dEc00",
|
|
1826
|
+
usdc: "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"
|
|
1827
|
+
},
|
|
1828
|
+
// Ethereum Sepolia (testnet, chain 11155111)
|
|
1829
|
+
11155111: {
|
|
1830
|
+
operator: "0x32d6AC59BCe8DFB3026F10BcaDB8D00AB218f5b6",
|
|
1831
|
+
escrow: "0x320a3c35F131E5D2Fb36af56345726B298936037",
|
|
1832
|
+
tokenCollector: "0x230fd3A171750FA45db2976121376b7F47Cba308",
|
|
1833
|
+
protocolFeeConfig: "0xD979dBfBdA5f4b16AAF60Eaab32A44f352076838",
|
|
1834
|
+
refundRequest: "0xc1256Bb30bd0cdDa07D8C8Cf67a59105f2EA1b98",
|
|
1835
|
+
usdc: "0x1c7D4B196Cb0C7B01d743Fbc6116a902379C7238"
|
|
1836
|
+
},
|
|
1837
|
+
// Ethereum Mainnet (chain 1) - Updated from Ali's redeploy (commit e6cf29d)
|
|
1838
|
+
1: {
|
|
1839
|
+
operator: "0x69B67962ffb7c5C7078ff348a87DF604dfA8001b",
|
|
1840
|
+
escrow: "0x9D4146EF898c8E60B3e865AE254ef438E7cEd2A0",
|
|
1841
|
+
tokenCollector: "0x206D4DbB6E7b876e4B5EFAAD2a04e7d7813FB6ba",
|
|
1842
|
+
protocolFeeConfig: "0x5b3e33791C1764cF7e2573Bf8116F1D361FD97Cd",
|
|
1843
|
+
refundRequest: "0xFa8C4Cb156053b867Ae7489220A29b5939E3Df70",
|
|
1844
|
+
usdc: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"
|
|
1845
|
+
},
|
|
1846
|
+
// Polygon (chain 137)
|
|
1847
|
+
137: {
|
|
1848
|
+
operator: "0xb33D6502EdBbC47201cd1E53C49d703EC0a660b8",
|
|
1849
|
+
escrow: "0x32d6AC59BCe8DFB3026F10BcaDB8D00AB218f5b6",
|
|
1850
|
+
tokenCollector: "0xc1256Bb30bd0cdDa07D8C8Cf67a59105f2EA1b98",
|
|
1851
|
+
protocolFeeConfig: "0xE78648e7af7B1BaDE717FF6E410B922F92adE80f",
|
|
1852
|
+
refundRequest: "0xed02d3E5167BCc9582D851885A89b050AB816a56",
|
|
1853
|
+
usdc: "0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359"
|
|
1854
|
+
},
|
|
1855
|
+
// Arbitrum (chain 42161)
|
|
1856
|
+
42161: {
|
|
1857
|
+
operator: "0x32d6AC59BCe8DFB3026F10BcaDB8D00AB218f5b6",
|
|
1858
|
+
escrow: "0x320a3c35F131E5D2Fb36af56345726B298936037",
|
|
1859
|
+
tokenCollector: "0x230fd3A171750FA45db2976121376b7F47Cba308",
|
|
1860
|
+
protocolFeeConfig: "0xD979dBfBdA5f4b16AAF60Eaab32A44f352076838",
|
|
1861
|
+
refundRequest: "0xc1256Bb30bd0cdDa07D8C8Cf67a59105f2EA1b98",
|
|
1862
|
+
usdc: "0xaf88d065e77c8cC2239327C5EDb3A432268e5831"
|
|
1863
|
+
},
|
|
1864
|
+
// Celo (chain 42220)
|
|
1865
|
+
42220: {
|
|
1866
|
+
operator: "0x32d6AC59BCe8DFB3026F10BcaDB8D00AB218f5b6",
|
|
1867
|
+
escrow: "0x320a3c35F131E5D2Fb36af56345726B298936037",
|
|
1868
|
+
tokenCollector: "0x230fd3A171750FA45db2976121376b7F47Cba308",
|
|
1869
|
+
protocolFeeConfig: "0xD979dBfBdA5f4b16AAF60Eaab32A44f352076838",
|
|
1870
|
+
refundRequest: "0xc1256Bb30bd0cdDa07D8C8Cf67a59105f2EA1b98",
|
|
1871
|
+
usdc: "0xcebA9300f2b948710d2653dD7B07f33A8B32118C"
|
|
1872
|
+
},
|
|
1873
|
+
// Monad (chain 143)
|
|
1874
|
+
143: {
|
|
1875
|
+
operator: "0x32d6AC59BCe8DFB3026F10BcaDB8D00AB218f5b6",
|
|
1876
|
+
escrow: "0x320a3c35F131E5D2Fb36af56345726B298936037",
|
|
1877
|
+
tokenCollector: "0x230fd3A171750FA45db2976121376b7F47Cba308",
|
|
1878
|
+
protocolFeeConfig: "0xD979dBfBdA5f4b16AAF60Eaab32A44f352076838",
|
|
1879
|
+
refundRequest: "0xc1256Bb30bd0cdDa07D8C8Cf67a59105f2EA1b98",
|
|
1880
|
+
usdc: "0x754704Bc059F8C67012fEd69BC8a327a5aafb603"
|
|
1881
|
+
},
|
|
1882
|
+
// Avalanche (chain 43114)
|
|
1883
|
+
43114: {
|
|
1884
|
+
operator: "0x32d6AC59BCe8DFB3026F10BcaDB8D00AB218f5b6",
|
|
1885
|
+
escrow: "0x320a3c35F131E5D2Fb36af56345726B298936037",
|
|
1886
|
+
tokenCollector: "0x230fd3A171750FA45db2976121376b7F47Cba308",
|
|
1887
|
+
protocolFeeConfig: "0xD979dBfBdA5f4b16AAF60Eaab32A44f352076838",
|
|
1888
|
+
refundRequest: "0xc1256Bb30bd0cdDa07D8C8Cf67a59105f2EA1b98",
|
|
1889
|
+
usdc: "0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E"
|
|
1890
|
+
},
|
|
1891
|
+
// Optimism (chain 10)
|
|
1892
|
+
10: {
|
|
1893
|
+
operator: "0x32d6AC59BCe8DFB3026F10BcaDB8D00AB218f5b6",
|
|
1894
|
+
escrow: "0x320a3c35F131E5D2Fb36af56345726B298936037",
|
|
1895
|
+
tokenCollector: "0x230fd3A171750FA45db2976121376b7F47Cba308",
|
|
1896
|
+
protocolFeeConfig: "0xD979dBfBdA5f4b16AAF60Eaab32A44f352076838",
|
|
1897
|
+
refundRequest: "0xc1256Bb30bd0cdDa07D8C8Cf67a59105f2EA1b98",
|
|
1898
|
+
usdc: "0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85"
|
|
1899
|
+
},
|
|
1900
|
+
// SKALE Base (chain 1187947933) - CREATE3 deployment, operator via factory
|
|
1901
|
+
1187947933: {
|
|
1902
|
+
operator: "0x28c23AE8f55aDe5Ea10a5353FC40418D0c1B3d33",
|
|
1903
|
+
escrow: "0xBC151792f80C0EB1973d56b0235e6bee2A60e245",
|
|
1904
|
+
tokenCollector: "0x9A12A116a44636F55c9e135189A1321Abcfe2f30",
|
|
1905
|
+
protocolFeeConfig: "0xf62788834C99B2E85a6891C0b46D1EB996f8f596",
|
|
1906
|
+
refundRequest: "0x69e9BF2b40Ed472b55E47e9D4205d93Ed673093F",
|
|
1907
|
+
usdc: "0x85889c8c714505E0c94b30fcfcF64fE3Ac8FCb20"
|
|
1908
|
+
},
|
|
1909
|
+
// Arc (chain 5042) - x402r canonical escrow, 'v3' operator
|
|
1910
|
+
5042: {
|
|
1911
|
+
operator: "0x0258472A1410Ac3Ad720f1BC83f22B3c0af1Fd9D",
|
|
1912
|
+
escrow: "0xBdEA0D1bcC5966192B070Fdf62aB4EF5b4420cff",
|
|
1913
|
+
tokenCollector: "0x0E3dF9510de65469C4518D7843919c0b8C7A7757",
|
|
1914
|
+
protocolFeeConfig: "0xBe2d24614F339a1eB103A399F93AA2a39Ca815Bc",
|
|
1915
|
+
refundRequest: "0xe971C674fD5c3462023f3F891dF6289DFbC9CEFC",
|
|
1916
|
+
usdc: arcUsdc("arc").address
|
|
1917
|
+
},
|
|
1918
|
+
// Arc Testnet (chain 5042002) - same canonical addresses as Arc
|
|
1919
|
+
5042002: {
|
|
1920
|
+
operator: "0x0258472A1410Ac3Ad720f1BC83f22B3c0af1Fd9D",
|
|
1921
|
+
escrow: "0xBdEA0D1bcC5966192B070Fdf62aB4EF5b4420cff",
|
|
1922
|
+
tokenCollector: "0x0E3dF9510de65469C4518D7843919c0b8C7A7757",
|
|
1923
|
+
protocolFeeConfig: "0xBe2d24614F339a1eB103A399F93AA2a39Ca815Bc",
|
|
1924
|
+
refundRequest: "0xe971C674fD5c3462023f3F891dF6289DFbC9CEFC",
|
|
1925
|
+
usdc: arcUsdc("arc-testnet").address
|
|
1926
|
+
}
|
|
1927
|
+
});
|
|
1928
|
+
|
|
1929
|
+
// src/escrow-preauth.ts
|
|
1798
1930
|
var OPERATOR_FEE_BPS = 1300;
|
|
1799
1931
|
var MAX_PROTOCOL_FEE_BPS = 500;
|
|
1800
1932
|
var DEFAULT_MIN_FEE_BPS = 0;
|
|
@@ -5610,11 +5742,6 @@ var ESCROW_TIMEOUT_MS = {
|
|
|
5610
5742
|
// Monad: 90s
|
|
5611
5743
|
};
|
|
5612
5744
|
var DEFAULT_ESCROW_TIMEOUT_MS = 3e4;
|
|
5613
|
-
function arcUsdc(network) {
|
|
5614
|
-
const chain = getChainByName(network);
|
|
5615
|
-
if (!chain) throw new Error(`The chain registry has no '${network}'.`);
|
|
5616
|
-
return chain.usdc;
|
|
5617
|
-
}
|
|
5618
5745
|
var USDC_DOMAIN_NAME = {
|
|
5619
5746
|
8453: "USD Coin",
|
|
5620
5747
|
// Base Mainnet
|
|
@@ -5639,125 +5766,6 @@ var USDC_DOMAIN_NAME = {
|
|
|
5639
5766
|
5042002: arcUsdc("arc-testnet").name
|
|
5640
5767
|
// Arc Testnet ('USDC', from src/chains)
|
|
5641
5768
|
};
|
|
5642
|
-
var ESCROW_CONTRACTS = {
|
|
5643
|
-
// Base Sepolia (testnet, chain 84532)
|
|
5644
|
-
84532: {
|
|
5645
|
-
operator: "0x97d53e63A9CB97556c00BeFd325AF810c9b267B2",
|
|
5646
|
-
escrow: "0x29025c0E9D4239d438e169570818dB9FE0A80873",
|
|
5647
|
-
tokenCollector: "0x5cA789000070DF15b4663DB64a50AeF5D49c5Ee0",
|
|
5648
|
-
protocolFeeConfig: "0x8F96C493bAC365E41f0315cf45830069EBbDCaCe",
|
|
5649
|
-
refundRequest: "0x1C2Ab244aC8bDdDB74d43389FF34B118aF2E90F4",
|
|
5650
|
-
usdc: "0x036CbD53842c5426634e7929541eC2318f3dCF7e"
|
|
5651
|
-
},
|
|
5652
|
-
// Base Mainnet (chain 8453)
|
|
5653
|
-
8453: {
|
|
5654
|
-
operator: "0x3D0837fF8Ea36F417261577b9BA568400A840260",
|
|
5655
|
-
escrow: "0xb9488351E48b23D798f24e8174514F28B741Eb4f",
|
|
5656
|
-
tokenCollector: "0x48ADf6E37F9b31dC2AAD0462C5862B5422C736B8",
|
|
5657
|
-
protocolFeeConfig: "0x59314674BAbb1a24Eb2704468a9cCdD50668a1C6",
|
|
5658
|
-
refundRequest: "0x35fb2EFEfAc3Ee9f6E52A9AAE5C9655bC08dEc00",
|
|
5659
|
-
usdc: "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"
|
|
5660
|
-
},
|
|
5661
|
-
// Ethereum Sepolia (testnet, chain 11155111)
|
|
5662
|
-
11155111: {
|
|
5663
|
-
operator: "0x32d6AC59BCe8DFB3026F10BcaDB8D00AB218f5b6",
|
|
5664
|
-
escrow: "0x320a3c35F131E5D2Fb36af56345726B298936037",
|
|
5665
|
-
tokenCollector: "0x230fd3A171750FA45db2976121376b7F47Cba308",
|
|
5666
|
-
protocolFeeConfig: "0xD979dBfBdA5f4b16AAF60Eaab32A44f352076838",
|
|
5667
|
-
refundRequest: "0xc1256Bb30bd0cdDa07D8C8Cf67a59105f2EA1b98",
|
|
5668
|
-
usdc: "0x1c7D4B196Cb0C7B01d743Fbc6116a902379C7238"
|
|
5669
|
-
},
|
|
5670
|
-
// Ethereum Mainnet (chain 1) - Updated from Ali's redeploy (commit e6cf29d)
|
|
5671
|
-
1: {
|
|
5672
|
-
operator: "0x69B67962ffb7c5C7078ff348a87DF604dfA8001b",
|
|
5673
|
-
escrow: "0x9D4146EF898c8E60B3e865AE254ef438E7cEd2A0",
|
|
5674
|
-
tokenCollector: "0x206D4DbB6E7b876e4B5EFAAD2a04e7d7813FB6ba",
|
|
5675
|
-
protocolFeeConfig: "0x5b3e33791C1764cF7e2573Bf8116F1D361FD97Cd",
|
|
5676
|
-
refundRequest: "0xFa8C4Cb156053b867Ae7489220A29b5939E3Df70",
|
|
5677
|
-
usdc: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"
|
|
5678
|
-
},
|
|
5679
|
-
// Polygon (chain 137)
|
|
5680
|
-
137: {
|
|
5681
|
-
operator: "0xb33D6502EdBbC47201cd1E53C49d703EC0a660b8",
|
|
5682
|
-
escrow: "0x32d6AC59BCe8DFB3026F10BcaDB8D00AB218f5b6",
|
|
5683
|
-
tokenCollector: "0xc1256Bb30bd0cdDa07D8C8Cf67a59105f2EA1b98",
|
|
5684
|
-
protocolFeeConfig: "0xE78648e7af7B1BaDE717FF6E410B922F92adE80f",
|
|
5685
|
-
refundRequest: "0xed02d3E5167BCc9582D851885A89b050AB816a56",
|
|
5686
|
-
usdc: "0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359"
|
|
5687
|
-
},
|
|
5688
|
-
// Arbitrum (chain 42161)
|
|
5689
|
-
42161: {
|
|
5690
|
-
operator: "0x32d6AC59BCe8DFB3026F10BcaDB8D00AB218f5b6",
|
|
5691
|
-
escrow: "0x320a3c35F131E5D2Fb36af56345726B298936037",
|
|
5692
|
-
tokenCollector: "0x230fd3A171750FA45db2976121376b7F47Cba308",
|
|
5693
|
-
protocolFeeConfig: "0xD979dBfBdA5f4b16AAF60Eaab32A44f352076838",
|
|
5694
|
-
refundRequest: "0xc1256Bb30bd0cdDa07D8C8Cf67a59105f2EA1b98",
|
|
5695
|
-
usdc: "0xaf88d065e77c8cC2239327C5EDb3A432268e5831"
|
|
5696
|
-
},
|
|
5697
|
-
// Celo (chain 42220)
|
|
5698
|
-
42220: {
|
|
5699
|
-
operator: "0x32d6AC59BCe8DFB3026F10BcaDB8D00AB218f5b6",
|
|
5700
|
-
escrow: "0x320a3c35F131E5D2Fb36af56345726B298936037",
|
|
5701
|
-
tokenCollector: "0x230fd3A171750FA45db2976121376b7F47Cba308",
|
|
5702
|
-
protocolFeeConfig: "0xD979dBfBdA5f4b16AAF60Eaab32A44f352076838",
|
|
5703
|
-
refundRequest: "0xc1256Bb30bd0cdDa07D8C8Cf67a59105f2EA1b98",
|
|
5704
|
-
usdc: "0xcebA9300f2b948710d2653dD7B07f33A8B32118C"
|
|
5705
|
-
},
|
|
5706
|
-
// Monad (chain 143)
|
|
5707
|
-
143: {
|
|
5708
|
-
operator: "0x32d6AC59BCe8DFB3026F10BcaDB8D00AB218f5b6",
|
|
5709
|
-
escrow: "0x320a3c35F131E5D2Fb36af56345726B298936037",
|
|
5710
|
-
tokenCollector: "0x230fd3A171750FA45db2976121376b7F47Cba308",
|
|
5711
|
-
protocolFeeConfig: "0xD979dBfBdA5f4b16AAF60Eaab32A44f352076838",
|
|
5712
|
-
refundRequest: "0xc1256Bb30bd0cdDa07D8C8Cf67a59105f2EA1b98",
|
|
5713
|
-
usdc: "0x754704Bc059F8C67012fEd69BC8a327a5aafb603"
|
|
5714
|
-
},
|
|
5715
|
-
// Avalanche (chain 43114)
|
|
5716
|
-
43114: {
|
|
5717
|
-
operator: "0x32d6AC59BCe8DFB3026F10BcaDB8D00AB218f5b6",
|
|
5718
|
-
escrow: "0x320a3c35F131E5D2Fb36af56345726B298936037",
|
|
5719
|
-
tokenCollector: "0x230fd3A171750FA45db2976121376b7F47Cba308",
|
|
5720
|
-
protocolFeeConfig: "0xD979dBfBdA5f4b16AAF60Eaab32A44f352076838",
|
|
5721
|
-
refundRequest: "0xc1256Bb30bd0cdDa07D8C8Cf67a59105f2EA1b98",
|
|
5722
|
-
usdc: "0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E"
|
|
5723
|
-
},
|
|
5724
|
-
// Optimism (chain 10)
|
|
5725
|
-
10: {
|
|
5726
|
-
operator: "0x32d6AC59BCe8DFB3026F10BcaDB8D00AB218f5b6",
|
|
5727
|
-
escrow: "0x320a3c35F131E5D2Fb36af56345726B298936037",
|
|
5728
|
-
tokenCollector: "0x230fd3A171750FA45db2976121376b7F47Cba308",
|
|
5729
|
-
protocolFeeConfig: "0xD979dBfBdA5f4b16AAF60Eaab32A44f352076838",
|
|
5730
|
-
refundRequest: "0xc1256Bb30bd0cdDa07D8C8Cf67a59105f2EA1b98",
|
|
5731
|
-
usdc: "0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85"
|
|
5732
|
-
},
|
|
5733
|
-
// SKALE Base (chain 1187947933) - CREATE3 deployment, operator via factory
|
|
5734
|
-
1187947933: {
|
|
5735
|
-
operator: "0x28c23AE8f55aDe5Ea10a5353FC40418D0c1B3d33",
|
|
5736
|
-
escrow: "0xBC151792f80C0EB1973d56b0235e6bee2A60e245",
|
|
5737
|
-
tokenCollector: "0x9A12A116a44636F55c9e135189A1321Abcfe2f30",
|
|
5738
|
-
protocolFeeConfig: "0xf62788834C99B2E85a6891C0b46D1EB996f8f596",
|
|
5739
|
-
refundRequest: "0x69e9BF2b40Ed472b55E47e9D4205d93Ed673093F",
|
|
5740
|
-
usdc: "0x85889c8c714505E0c94b30fcfcF64fE3Ac8FCb20"
|
|
5741
|
-
},
|
|
5742
|
-
// Arc (chain 5042) - x402r canonical escrow, 'v3' operator
|
|
5743
|
-
5042: {
|
|
5744
|
-
operator: "0x0258472A1410Ac3Ad720f1BC83f22B3c0af1Fd9D",
|
|
5745
|
-
escrow: "0xBdEA0D1bcC5966192B070Fdf62aB4EF5b4420cff",
|
|
5746
|
-
tokenCollector: "0x0E3dF9510de65469C4518D7843919c0b8C7A7757",
|
|
5747
|
-
protocolFeeConfig: "0xBe2d24614F339a1eB103A399F93AA2a39Ca815Bc",
|
|
5748
|
-
refundRequest: "0xe971C674fD5c3462023f3F891dF6289DFbC9CEFC",
|
|
5749
|
-
usdc: arcUsdc("arc").address
|
|
5750
|
-
},
|
|
5751
|
-
// Arc Testnet (chain 5042002) - same canonical addresses as Arc
|
|
5752
|
-
5042002: {
|
|
5753
|
-
operator: "0x0258472A1410Ac3Ad720f1BC83f22B3c0af1Fd9D",
|
|
5754
|
-
escrow: "0xBdEA0D1bcC5966192B070Fdf62aB4EF5b4420cff",
|
|
5755
|
-
tokenCollector: "0x0E3dF9510de65469C4518D7843919c0b8C7A7757",
|
|
5756
|
-
protocolFeeConfig: "0xBe2d24614F339a1eB103A399F93AA2a39Ca815Bc",
|
|
5757
|
-
refundRequest: "0xe971C674fD5c3462023f3F891dF6289DFbC9CEFC",
|
|
5758
|
-
usdc: arcUsdc("arc-testnet").address
|
|
5759
|
-
}
|
|
5760
|
-
};
|
|
5761
5769
|
var BASE_MAINNET_CONTRACTS = ESCROW_CONTRACTS[8453];
|
|
5762
5770
|
function getEscrowContractsByChainId(chainId) {
|
|
5763
5771
|
return ESCROW_CONTRACTS[chainId];
|