PageSourceSearch

https://denar.ai/_next/static/chunks/8305.d66fd725dda8a04c.js

js denar.ai collected 2026-10-05 12:05:28 UTC 31,431 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8305],{68305:(e,t,n)=>{n.r(t),n.d(t,{AUTH_CAPTURE_ESCROW_ADDRESS:()=>m,AUTH_CAPTURE_SCHEME:()=>p,AuthCaptureEvmScheme:()=>b,BATCH_SETTLEMENT_ADDRESS:()=>D,BATCH_SETTLEMENT_DOMAIN:()=>P,BATCH_SETTLEMENT_SCHEME:()=>B,BUILDER_CODE_KEY:()=>G.Ud,BatchSettlementEvmScheme:()=>eC,DEFAULT_STABLECOINS:()=>eA,EIP3009_TOKEN_COLLECTOR_ADDRESS:()=>l,ERC3009_DEPOSIT_COLLECTOR_ADDRESS:()=>T,ExactEvmScheme:()=>eE.v,PERMIT2_ADDRESS:()=>r.x1,PERMIT2_TOKEN_COLLECTOR_ADDRESS:()=>c,UptoEvmScheme:()=>eI,appendDataSuffix:()=>G._Q,authorizationTypes:()=>r.bw,claimBatchTypes:()=>_,classifyErc6492Payer:()=>eT.XZ,createPermit2ApprovalTx:()=>eR.nw,eip3009ABI:()=>r.FM,erc20AllowanceAbi:()=>r.dm,getDefaultAsset:()=>eS,getERC7702DelegateAddress:()=>ez,getPermit2AllowanceReadParams:()=>eR.MS,isAuthCaptureExtra:()=>eM,isAuthCapturePayload:()=>eU,isBatchSettlementClaimPayload:()=>V,isBatchSettlementDepositPayload:()=>H,isBatchSettlementEnrichedRefundPayload:()=>Y,isBatchSettlementRefundPayload:()=>W,isBatchSettlementSettlePayload:()=>j,isBatchSettlementVoucherPayload:()=>O,isEIP3009Payload:()=>eB,isERC7702Delegation:()=>ek,isPermit2Payload:()=>ex,isUptoPermit2Payload:()=>eD,permit2WitnessTypes:()=>r.A$,refundTypes:()=>F,resolveDataSuffix:()=>G.W3,toClientEvmSigner:()=>eF,toFacilitatorEvmSigner:()=>e_,uptoPermit2WitnessTypes:()=>r.KA,verifyHashSignature:()=>eT.k,verifyHashSignatureWithCode:()=>eT.PA,verifyTypedDataSignature:()=>eT.cc,voucherTypes:()=>R,x402ExactPermit2ProxyABI:()=>r.Br,x402ExactPermit2ProxyAddress:()=>r.xm,x402UptoPermit2ProxyABI:()=>r.g3,x402UptoPermit2ProxyAddress:()=>r.CV});var r=n(86207),a=n(11820),i=n(38031),o=n(200),s=n(59937),u=n(13462),d=n(45115),p="auth-capture",m="0xBdEA0D1bcC5966192B070Fdf62aB4EF5b4420cff",l="0x0E3dF9510de65469C4518D7843919c0b8C7A7757",c="0x992476B9Ee81d52a5BdA0622C333938D0Af0aB26",y={ReceiveWithAuthorization:[{name:"from",type:"address"},{name:"to",type:"address"},{name:"value",type:"uint256"},{name:"validAfter",type:"uint256"},{name:"validBefore",type:"uint256"},{name:"nonce",type:"bytes32"}]},f={PermitTransferFrom:[{name:"permitted",type:"TokenPermissions"},{name:"spender",type:"address"},{name:"nonce",type:"uint256"},{name:"deadline",type:"uint256"}],TokenPermissions:[{name:"token",type:"address"},{name:"amount",type:"uint256"}]},h=(0,i.S)(new TextEncoder().encode("PaymentInfo(address operator,address payer,address receiver,address token,uint120 maxAmount,uint48 preApprovalExpiry,uint48 authorizationExpiry,uint48 refundExpiry,uint16 minFeeBps,uint16 maxFeeBps,address feeReceiver,uint256 salt)"));async function g(e,t,n,r,a){let i={name:n.name,version:n.version,chainId:a,verifyingContract:(0,u.b)(r)},o={from:(0,u.b)(t.from),to:(0,u.b)(t.to),value:BigInt(t.value),validAfter:BigInt(t.validAfter),validBefore:BigInt(t.validBefore),nonce:t.nonce};return e.signTypedData({domain:i,types:y,primaryType:"ReceiveWithAuthorization",message:o})}async function v(e,t,n){let a={name:"Permit2",chainId:n,verifyingContract:r.x1},i={permitted:{token:(0,u.b)(t.permitted.token),amount:BigInt(t.permitted.amount)},spender:(0,u.b)(t.spender),nonce:BigInt(t.nonce),deadline:BigInt(t.deadline)};return e.signTypedData({domain:a,types:f,primaryType:"PermitTransferFrom",message:i})}var b=class{constructor(e){this.signer=e,this.scheme=p}async createPaymentPayload(e,t,n){if(2!==e)throw Error(`Unsupported x402Version: ${e}. Only version 2 is supported.`);let r=t.extra;if(!r.name)throw Error(`EIP-712 domain parameter 'name' is required in payment requirements for asset ${t.asset}`);if(!r.version)throw Error(`EIP-712 domain parameter 'version' is required in payment requirements for asset ${t.asset}`);if(!r.captureAuthorizer)throw Error("'captureAuthorizer' is required in payment requirements extra");if(!r.feeRecipient)throw Error("'feeRecipient' is required in payment requirements extra");if("number"!=typeof r.captureDeadline)throw Error("'captureDeadline' is required in payment requirements extra");if("number"!=typeof r.refundDeadline)throw Error("'refundDeadline' is required in payment requirements extra");if("number"!=typeof r.minFeeBps)throw Error("'minFeeBps' is required in payment requirements extra");if("number"!=typeof r.maxFeeBps)throw Error("'maxFeeBps' is required in payment requirements extra");if("number"!=typeof t.maxTimeoutSeconds)throw Error("'maxTimeoutSeconds' is required in PaymentRequirements (used to derive preApprovalExpiry)");let u=function(e){let t=e.split(":");if(2!==t.length||"eip155"!==t[0])throw Error(`Invalid network format: ${e}
1. Expected 'eip155:<chainId>'`);let n=parseInt(t[1],10);if(isNaN(n))throw Error(`Invalid chainId in network: ${e}`);return n}(t.network),p=t.amount,y=Math.floor(Date.now()/1e3)+t.maxTimeoutSeconds,f=function(){let e=new Uint8Array(32);return crypto.getRandomValues(e),(0,d.nj)(e)}(),b=r.assetTransferMethod??"eip3009",w=function(e,t){let n=(0,o.h)([{name:"typehash",type:"bytes32"},{name:"operator",type:"address"},{name:"payer",type:"address"},{name:"receiver",type:"address"},{name:"token",type:"address"},{name:"maxAmount",type:"uint120"},{name:"preApprovalExpiry",type:"uint48"},{name:"authorizationExpiry",type:"uint48"},{name:"refundExpiry",type:"uint48"},{name:"minFeeBps",type:"uint16"},{name:"maxFeeBps",type:"uint16"},{name:"feeReceiver",type:"address"},{name:"salt",type:"uint256"}],[h,t.operator,s.X,t.receiver,t.token,BigInt(t.maxAmount),t.preApprovalExpiry,t.authorizationExpiry,t.refundExpiry,t.minFeeBps,t.maxFeeBps,t.feeReceiver,BigInt(t.salt)]),r=(0,i.S)(n),a=(0,o.h)([{name:"chainId",type:"uint256"},{name:"escrow",type:"address"},{name:"paymentInfoHash",type:"bytes32"}],[BigInt(e),m,r]);return(0,i.S)(a)}(u,{operator:r.captureAuthorizer,payer:this.signer.address,receiver:t.payTo,token:t.asset,maxAmount:p,preApprovalExpiry:y,authorizationExpiry:r.captureDeadline,refundExpiry:r.refundDeadline,minFeeBps:r.minFeeBps,maxFeeBps:r.maxFeeBps,feeReceiver:r.feeRecipient,salt:f});if("permit2"===b){let n={from:this.signer.address,permitted:{token:t.asset,amount:p},spender:c,nonce:(0,a.uU)(w).toString(),deadline:String(y)},r=await v(this.signer,n,u);return{x402Version:e,payload:{permit2Authorization:n,signature:r,salt:f}}}let C={from:this.signer.address,to:l,value:p,validAfter:"0",validBefore:String(y),nonce:w},E=await g(this.signer,C,r,t.asset,u);return{x402Version:e,payload:{authorization:C,signature:E,salt:f}}}},w=[{name:"payer",type:"address"},{name:"payerAuthorizer",type:"address"},{name:"receiver",type:"address"},{name:"receiverAuthorizer",type:"address"},{name:"token",type:"address"},{name:"withdrawDelay",type:"uint40"},{name:"salt",type:"bytes32"}],C=[{name:"voucher",type:"tuple",components:[{name:"channel",type:"tuple",components:w},{name:"maxClaimableAmount",type:"uint128"}]},{name:"signature",type:"bytes"},{name:"totalClaimed",type:"uint128"}],E=[{type:"function",name:"multicall",inputs:[{name:"data",type:"bytes[]"}],outputs:[{name:"results",type:"bytes[]"}],stateMutability:"nonpayable"},{type:"function",name:"deposit",inputs:[{name:"config",type:"tuple",components:w},{name:"amount",type:"uint128"},{name:"collector",type:"address"},{name:"collectorData",type:"bytes"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"claim",inputs:[{name:"voucherClaims",type:"tuple[]",components:C}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"claimWithSignature",inputs:[{name:"voucherClaims",type:"tuple[]",components:C},{name:"authorizerSignature",type:"bytes"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"settle",inputs:[{name:"receiver",type:"address"},{name:"token",type:"address"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"initiateWithdraw",inputs:[{name:"config",type:"tuple",components:w},{name:"amount",type:"uint128"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"finalizeWithdraw",inputs:[{name:"config",type:"tuple",components:w}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"refund",inputs:[{name:"config",type:"tuple",components:w},{name:"amount",type:"uint128"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"refundWithSignature",inputs:[{name:"config",type:"tuple",components:w},{name:"amount",type:"uint128"},{name:"nonce",type:"uint256"},{name:"receiverAuthorizerSignature",type:"bytes"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"getChannelId",inputs:[{name:"config",type:"tuple",components:w}],outputs:[{name:"",type:"bytes32"}],stateMutability:"view"},{type:"function",name:"CHANNEL_CONFIG_TYPEHASH",inputs:[],outputs:[{name:"",type:"bytes32"}],stateMutability:"view"},{type:"function",name:"channels",inputs:[{name:"channelId",type:"bytes32"}],outputs:[{name:"balance",type:"uint128"},{name:"totalClaimed",type:"uint128"}],stateMutability:"view"},{type:"function",name:"pendingWithdrawals",inputs:[{name:"channelId",type:"bytes32"}],outputs:[{name:"amount",type:"uint128"},{name:"initiatedAt",type:"uint40"}],stateMutability:"view"}
1,{type:"function",name:"receivers",inputs:[{name:"receiver",type:"address"},{name:"token",type:"address"}],outputs:[{name:"totalClaimed",type:"uint128"},{name:"totalSettled",type:"uint128"}],stateMutability:"view"},{type:"function",name:"getVoucherDigest",inputs:[{name:"channelId",type:"bytes32"},{name:"maxClaimableAmount",type:"uint128"}],outputs:[{name:"",type:"bytes32"}],stateMutability:"view"},{type:"function",name:"getRefundDigest",inputs:[{name:"channelId",type:"bytes32"},{name:"nonce",type:"uint256"},{name:"amount",type:"uint128"}],outputs:[{name:"",type:"bytes32"}],stateMutability:"view"},{type:"function",name:"refundNonce",inputs:[{name:"channelId",type:"bytes32"}],outputs:[{name:"",type:"uint256"}],stateMutability:"view"},{type:"function",name:"getClaimBatchDigest",inputs:[{name:"voucherClaims",type:"tuple[]",components:C}],outputs:[{name:"",type:"bytes32"}],stateMutability:"view"},{type:"event",name:"Settled",inputs:[{name:"receiver",type:"address",indexed:!0},{name:"token",type:"address",indexed:!0},{name:"sender",type:"address",indexed:!0},{name:"amount",type:"uint128",indexed:!1}],anonymous:!1}],A=n(28296),S=n(1525),x=n(79479),B="batch-settlement",D="0x4020074e9dF2ce1deE5A9C1b5c3f541D02a10003",T="0x4020806089470a89826cB9fB1f4059150b550004",P={name:"x402 Batch Settlement",version:"1"};(0,i.S)((0,S.ZJ)("ChannelConfig(address payer,address payerAuthorizer,address receiver,address receiverAuthorizer,address token,uint40 withdrawDelay,bytes32 salt)"));var I={ChannelConfig:[{name:"payer",type:"address"},{name:"payerAuthorizer",type:"address"},{name:"receiver",type:"address"},{name:"receiverAuthorizer",type:"address"},{name:"token",type:"address"},{name:"withdrawDelay",type:"uint40"},{name:"salt",type:"bytes32"}]},R={Voucher:[{name:"channelId",type:"bytes32"},{name:"maxClaimableAmount",type:"uint128"}]},F={Refund:[{name:"channelId",type:"bytes32"},{name:"nonce",type:"uint256"},{name:"amount",type:"uint128"}]},_={ClaimBatch:[{name:"claims",type:"ClaimEntry[]"}],ClaimEntry:[{name:"channelId",type:"bytes32"},{name:"maxClaimableAmount",type:"uint128"},{name:"totalClaimed",type:"uint128"}]},k={ReceiveWithAuthorization:[{name:"from",type:"address"},{name:"to",type:"address"},{name:"value",type:"uint256"},{name:"validAfter",type:"uint256"},{name:"validBefore",type:"uint256"},{name:"nonce",type:"bytes32"}]},z={PermitWitnessTransferFrom:[{name:"permitted",type:"TokenPermissions"},{name:"spender",type:"address"},{name:"nonce",type:"uint256"},{name:"deadline",type:"uint256"},{name:"witness",type:"DepositWitness"}],TokenPermissions:[{name:"token",type:"address"},{name:"amount",type:"uint256"}],DepositWitness:[{name:"channelId",type:"bytes32"}]},M=/^0x[0-9a-fA-F]{64}$/;function U(e){var t;if(!("string"==typeof(t=e)&&M.test(t)))throw Error("invalid_batch_settlement_evm_channel_id_invalid");return e.toLowerCase()}function q(e,t){let n="number"==typeof t?t:(0,A.Hd)(t);return(0,x.Zh)({domain:$(n),types:I,primaryType:"ChannelConfig",message:{payer:e.payer,payerAuthorizer:e.payerAuthorizer,receiver:e.receiver,receiverAuthorizer:e.receiverAuthorizer,token:e.token,withdrawDelay:e.withdrawDelay,salt:e.salt}})}function $(e){return{...P,chainId:e,verifyingContract:(0,u.b)(D)}}function N(e){return"object"==typeof e&&null!==e}function L(e){return N(e)&&"channelId"in e&&"maxClaimableAmount"in e&&"signature"in e}function H(e){return N(e)&&"deposit"===e.type&&"channelConfig"in e&&L(e.voucher)&&N(e.deposit)&&"string"==typeof e.deposit.amount&&N(e.deposit.authorization)}function O(e){return N(e)&&"voucher"===e.type&&"channelConfig"in e&&L(e.voucher)}function W(e){return N(e)&&"refund"===e.type&&"channelConfig"in e&&L(e.voucher)}function V(e){return N(e)&&"claim"===e.type&&"claims"in e}function j(e){return N(e)&&"settle"===e.type&&"receiver"in e&&"token"in e}function Y(e){return W(e)&&"amount"in e&&"refundNonce"in e&&"claims"in e}var G=n(25693),X=n(71869),K=n(20367);async function Q(e){let{domain:t,message:n,primaryType:r,signature:a,types:i}=e;return(0,K.x)({hash:(0,x.Zh)({domain:t,message:n,primaryType:r,types:i}),signature:a})}var Z=n(85212);async function J(e,t,n,r){let a=(0,A.Hd)(r),i=await e.signTypedData({domain:$(a),types:R,primaryType:"Voucher",message:{channelId:t,maxClaimableAmou
1nt:BigInt(n)}});return{channelId:t,maxClaimableAmount:n,signature:i}}async function ee(e,t,n,r,a,s,d){let p=(0,A.mE)(),m=Math.floor(Date.now()/1e3),l=(0,A.Hd)(n.network);if(!n.extra?.name||!n.extra?.version)throw Error(`EIP-712 domain parameters (name, version) are required in payment requirements for asset ${n.asset}`);let{name:c,version:y}=n.extra,f=q(r,n.network),h=(0,i.S)((0,o.h)([{type:"bytes32"},{type:"uint256"}],[f,BigInt(p)])),g=await e.signTypedData({domain:{name:c,version:y,chainId:l,verifyingContract:(0,u.b)(n.asset)},types:k,primaryType:"ReceiveWithAuthorization",message:{from:(0,u.b)(e.address),to:(0,u.b)(T),value:BigInt(a),validAfter:BigInt(0),validBefore:BigInt(m+n.maxTimeoutSeconds),nonce:h}}),v=d??e,b={type:"deposit",channelConfig:r,voucher:await J(v,f,s,n.network),deposit:{amount:a,authorization:{erc3009Authorization:{validAfter:"0",validBefore:(m+n.maxTimeoutSeconds).toString(),salt:p,signature:g}}}};return{x402Version:t,payload:b}}var et=class{constructor(){this.channels=new Map}async get(e){return this.channels.get(U(e))}async set(e,t){this.channels.set(U(e),t)}async delete(e){this.channels.delete(U(e))}},en="0x0000000000000000000000000000000000000000000000000000000000000000";function er(e){let t=e.channelState;if("object"==typeof t&&null!==t)return t}function ea(e,t){let n=t.extra,r=n?.receiverAuthorizer;if(!r||"0x0000000000000000000000000000000000000000"===(0,u.b)(r))throw Error("Payment requirements must include a non-zero extra.receiverAuthorizer");return{payer:e.signer.address,payerAuthorizer:(0,u.b)(e.payerAuthorizer??e.voucherSigner?.address??e.signer.address),receiver:t.payTo,receiverAuthorizer:(0,u.b)(r),token:t.asset,withdrawDelay:"number"==typeof n?.withdrawDelay?n.withdrawDelay:900,salt:e.salt}}async function ei(e,t){let n=er(t.extra??{});if(!n)return;let r=n.channelId.toLowerCase(),a={...await e.get(r)??{}};void 0!==n.chargedCumulativeAmount&&(a.chargedCumulativeAmount=String(n.chargedCumulativeAmount)),void 0!==n.balance&&(a.balance=String(n.balance)),void 0!==n.totalClaimed&&(a.totalClaimed=String(n.totalClaimed)),await e.set(r,a)}async function eo(e,t,n){let r=er(n);if(!r){await e.delete(t);return}let a=void 0!==r.balance?BigInt(String(r.balance)):void 0;if(void 0===a||a<=0n){await e.delete(t);return}let i={...await e.get(t)??{}};i.balance=a.toString(),void 0!==r.chargedCumulativeAmount&&(i.chargedCumulativeAmount=String(r.chargedCumulativeAmount)),void 0!==r.totalClaimed&&(i.totalClaimed=String(r.totalClaimed)),await e.set(t,i)}async function es(e,t){if(!e.signer.readContract)throw Error("recoverChannel requires ClientEvmSigner.readContract");let n=q(ea(e,t),t.network),[r,a]=await eu(e.signer,n),i={chargedCumulativeAmount:a.toString(),balance:r.toString(),totalClaimed:a.toString()};return await e.storage.set(n.toLowerCase(),i),i}async function eu(e,t){if(!e.readContract)throw Error("readChannelBalanceAndTotalClaimed requires ClientEvmSigner.readContract");return await e.readContract({address:D,abi:E,functionName:"channels",args:[t]})}async function ed(e,t){if("invalid_batch_settlement_evm_cumulative_amount_mismatch"!==t.error&&"invalid_batch_settlement_evm_cumulative_below_claimed"!==t.error)return!1;let n=t.accepts.find(e=>e.scheme===B);if(!n)return!1;let r=n.extra.channelState,a=n.extra.voucherState;return r?.chargedCumulativeAmount===void 0||a?.signedMaxClaimable===void 0||void 0===a.signature?em(e,n):ep(e,n,r,a)}async function ep(e,t,n,r){let a=n.chargedCumulativeAmount,i=r.signedMaxClaimable,o=r.signature,s=BigInt(String(a)),d=BigInt(String(i));if(s>d)return!1;let p=q(ea(e,t),t.network);if(!e.signer.readContract)return!1;let[m,l]=await eu(e.signer,p);if(s<l)return!1;let c=(0,A.Hd)(t.network),y=await Q({domain:$(c),types:R,primaryType:"Voucher",message:{channelId:p,maxClaimableAmount:d},signature:o}),f=(0,u.b)(e.payerAuthorizer??e.voucherSigner?.address??e.signer.address);if(y.toLowerCase()!==f.toLowerCase())return!1;let h={chargedCumulativeAmount:s.toString(),signedMaxClaimable:d.toString(),signature:o,balance:m.toString(),totalClaimed:l.toString()};return await e.storage.set(p.toLowerCase(),h),!0}async function em(e,t){if(!e.signer.readContract)return!1;let n=q(ea(e,t),t.network),[r,a]=await eu(e.signer,n),i={chargedCumulativeAmount:a.toString(),balance:r.toString(),totalClaimed:a.toString()};return await e.storage.set(n.toLowerCase(),i),!0}function el(e){return{onPaymentResponse:t=>ec(e,t)}}async function ec(e,t){if(t.settleResponse){if(W(t.paymentPayload.payload)){let n=t.settleResponse.extra??{},r=n.channelState,a="object"==typeof r&&null!==r&&"channelId"in r?r.channelId:void 0;"string"==typeof a&&a&&await eo(e.storage,a.toLowerCase(),n);return}await ei(e.storage,t.settleResponse);return}if(t.paymentRequired)return await ed(e,t.paymentRequired)?{recovered:!0}:void 0}var ey=new Set(["invalid_batch_settlement_evm_refund_no_balance","invali
1d_batch_settlement_evm_refund_amount_invalid"]);async function ef(e,t,n){let r=n?.fetch??globalThis.fetch;if(!r)throw Error("refund requires a fetch implementation (globalThis.fetch unavailable)");let a=function(e){if(void 0!==e){if(!/^\d+$/.test(e)||"0"===e)throw Error(`Invalid refund amount "${e}": must be a positive integer string`);return e}}(n?.amount),i=await eh(t,r);return eg(e,t,i,a,r)}async function eh(e,t){let n=await t(e,{method:"GET"});if(402!==n.status)throw Error(`Refund probe expected 402, got ${n.status}`);let r=n.headers.get("PAYMENT-REQUIRED");if(!r)throw Error("Refund probe response missing PAYMENT-REQUIRED header");let a=(0,X.FP)(r),i=a.accepts.find(e=>e.scheme===B);if(!i)throw Error(`No ${B} payment option at ${e}`);let o=i.extra;if(!o?.receiverAuthorizer)throw Error("Refund requires a configured receiverAuthorizer on the receiver");return{paymentRequired:a,requirements:i}}async function eg(e,t,n,r,a){let{paymentRequired:i,requirements:o}=n,s=function(e,t){let n=new Z.m().register(t.network,{scheme:B,schemeHooks:el(e),createPaymentPayload:async()=>{throw Error("Refund payloads are built by refundChannel")}});return new Z.U(n)}(e,o);for(let n=1;n<=2;n+=1){let u=await ev(e,i,o,r),d=s.encodePaymentSignatureHeader(u),p=await a(t,{method:"GET",headers:d});if(402===p.status){let e=function(e){let t=e.headers.get("PAYMENT-RESPONSE");if(t){var n=(0,X.VS)(t);let e=n.errorReason??"unknown_settlement_error",r=n.errorMessage;return r&&r!==e?`Refund failed: ${e}: ${r}`:`Refund failed: ${e}`}let r=eb(e).error;if(r&&ey.has(r))return`Refund failed: ${r}`}(p);if(e)throw Error(e)}let m=await s.processPaymentResult(u,e=>p.headers.get(e),p.status);if(402===p.status){if(m.recovered&&n<2)continue;if(m.recovered)throw Error(`Refund failed: server returned 402 after ${n} attempt(s)`);let e=eb(p);throw Error(`Refund failed: ${e.error??"unknown"}`)}if(!m.settleResponse)throw Error(`Refund response missing PAYMENT-RESPONSE header (status ${p.status})`);return m.settleResponse}throw Error("Refund failed: retry budget exhausted")}async function ev(e,t,n,r){let a=ea(e,n),i=q(a,n.network),o=i.toLowerCase(),s=await e.storage.get(o);if(void 0===s&&e.signer.readContract&&(s=await es(e,n)),void 0===s)throw Error("Refund requires an existing channel record; deposit first or call from a context with an EVM RPC");let u=s.chargedCumulativeAmount??"0";if(void 0!==s.balance&&BigInt(s.balance)<=BigInt(u))throw Error(`Refund failed: channel has no remaining balance (balance=${s.balance}, chargedCumulativeAmount=${u})`);let d=e.voucherSigner??e.signer,p={type:"refund",channelConfig:a,voucher:await J(d,i,u,n.network),...void 0!==r?{amount:r}:{}};return{x402Version:2,accepted:n,payload:p,...t.resource?{resource:t.resource}:{},...t.extensions?{extensions:t.extensions}:{}}}function eb(e){let t=e.headers.get("PAYMENT-REQUIRED");if(!t)throw Error("Refund 402 missing PAYMENT-REQUIRED header");return(0,X.FP)(t)}async function ew(e,t,n,a,i,o,s){let d=(0,A.Hd)(n.network),p=(0,A.Rb)(),m=Math.floor(Date.now()/1e3+n.maxTimeoutSeconds).toString(),l=q(a,n.network),c={from:e.address,permitted:{token:(0,u.b)(n.asset),amount:i},spender:(0,u.b)("0x4020425FAf3B746C082C2f942b4E5159887B0005"),nonce:p,deadline:m,witness:{channelId:l}},y=await e.signTypedData({domain:{name:"Permit2",chainId:d,verifyingContract:r.x1},types:z,primaryType:"PermitWitnessTransferFrom",message:{permitted:{token:c.permitted.token,amount:BigInt(c.permitted.amount)},spender:c.spender,nonce:BigInt(c.nonce),deadline:BigInt(c.deadline),witness:{channelId:l}}});return{x402Version:t,payload:{type:"deposit",channelConfig:a,voucher:await J(s??e,l,o,n.network),deposit:{amount:i,authorization:{permit2Authorization:{...c,signature:y}}}}}}var eC=class{constructor(e,t){this.signer=e,this.scheme=B;let{storage:n,depositPolicy:r,depositStrategy:a,salt:i,payerAuthorizer:o,voucherSigner:s,extensionRpcOptions:d}=function(e){return void 0===e?{storage:new et,salt:en}:void 0!==e&&"object"==typeof e&&("storage"in e||"depositPolicy"in e||"depositStrategy"in e||"salt"in e||"payerAuthorizer"in e||"rpcUrl"in e||"voucherSigner"in e)?{storage:e.storage??new et,depositPolicy:e.depositPolicy,depositStrategy:e.depositStrategy,salt:e.salt??en,payerAuthorizer:e.payerAuthorizer,voucherSigner:e.voucherSigner,extensionRpcOptions:e.rpcUrl?{rpcUrl:e.rpcUrl}:void 0}:{storage:new et,depositPolicy:e,salt:en}}(t);if(this.storage=n,this.depositPolicy=r,this.depositStrategy=a,this.salt=i,this.payerAuthorizer=o,this.voucherSigner=s,this.extensionRpcOptions=d,void 0!==o&&void 0!==s&&(0,u.b)(o)!==(0,u.b)(s.address))throw Error("payerAuthorizer address must match voucherSigner.address");!function(e){if(!e)return;let t=e.depositMultiplier;if(void 0!==t&&(!Number.isInteger(t)||t<3))throw Error("depositMultiplier must be an integer >= 3")}(r),this.schemeHooks=el(this.deps())}async createPaymentPayload(e,t,n){let r=this.deps(),a=ea(r,t),i=q(a,t.network),o=i.toLowerCase(),s=await this.storage.get(o);void 0===s&&this.signer.readContract&&(s=await es(r,t));let u=!(s=s??{}).balance||"0"===s.balance,d=BigInt(s.chargedCumulativeAmount??"0"),p=BigInt(t.amount),m=(d+p).toString(),l=BigInt(s.balance??"0"),c=!u&&BigInt(m)>l;if(u||c){var y;let r=(y=this.depositPolicy,(BigInt(y?.depositMultiplier??5)*p).toString()),o=BigInt(m)-l,u=await this.resolveDepositAmount({paymentRequirements:t,channelConfig:a,channelId:i,clientContext:s,requestAmount:p.toString(),maxClaimableAmou
1nt:m,currentBalance:l.toString(),minimumDepositAmount:o.toString(),depositAmount:r});if(!1===u)return this.createVoucherPayload(e,i,m,t.network,a);let d=t.extra?.assetTransferMethod??"eip3009";if("eip3009"===d)return ee(this.signer,e,t,a,u,m,this.voucherSigner);if("permit2"!==d)throw Error(`unsupported batch-settlement assetTransferMethod: ${d}`);let c=await ew(this.signer,e,t,a,u,m,this.voucherSigner),f=await (0,G.Uv)(this.signer,this.extensionRpcOptions,t,c,n,u);if(f)return{...c,extensions:f};let h=await (0,G.XX)(this.signer,this.extensionRpcOptions,t,n,u);return h?{...c,extensions:h}:c}return this.createVoucherPayload(e,i,m,t.network,a)}async refund(e,t){return ef(this.deps(),e,t)}async processSettleResponse(e){return ei(this.storage,e)}async processCorrectivePaymentRequired(e){return ed(this.deps(),e)}buildChannelConfig(e){return ea(this.deps(),e)}async resolveDepositAmount(e){let t=await this.depositStrategy?.(e);if(!1===t)return!1;if(void 0===t)return e.depositAmount;let n=this.normalizeStrategyDepositAmount(t);if(BigInt(n)<BigInt(e.minimumDepositAmount))throw Error(`depositStrategy returned ${n}, below required top-up ${e.minimumDepositAmount}`);return n}normalizeStrategyDepositAmount(e){if("bigint"==typeof e){if(e<=0n)throw Error("depositStrategy must return a positive integer deposit amount");return e.toString()}if(/^\d+$/.test(e)&&BigInt(e)>0n)return BigInt(e).toString();throw Error("depositStrategy must return a positive integer deposit amount")}async createVoucherPayload(e,t,n,r,a){let i=this.voucherSigner??this.signer;return{x402Version:e,payload:{type:"voucher",channelConfig:a,voucher:await J(i,t,n,r)}}}deps(){return{signer:this.signer,storage:this.storage,salt:this.salt,payerAuthorizer:this.payerAuthorizer,voucherSigner:this.voucherSigner}}},eE=n(86321),eA={"eip155:8453":{address:"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",name:"USD Coin",version:"2",decimals:6},"eip155:84532":{address:"0x036CbD53842c5426634e7929541eC2318f3dCF7e",name:"USDC",version:"2",decimals:6},"eip155:4326":{address:"0xFAfDdbb3FC7688494971a79cc65DCa3EF82079E7",name:"MegaUSD",version:"1",decimals:18,assetTransferMethod:"permit2",supportsEip2612:!0},"eip155:143":{address:"0x754704Bc059F8C67012fEd69BC8A327a5aafb603",name:"USD Coin",version:"2",decimals:6},"eip155:988":{address:"0x779Ded0c9e1022225f8E0630b35a9b54bE713736",name:"USDT0",version:"1",decimals:6},"eip155:2201":{address:"0x78Cf24370174180738C5B8E352B6D14c83a6c9A9",name:"USDT0",version:"1",decimals:6},"eip155:137":{address:"0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359",name:"USD Coin",version:"2",decimals:6},"eip155:42161":{address:"0xaf88d065e77c8cC2239327C5EDb3A432268e5831",name:"USD Coin",version:"2",decimals:6},"eip155:421614":{address:"0x75faf114eafb1BDbe2F0316DF893fd58CE46AA4d",name:"USD Coin",version:"2",decimals:6},"eip155:31612":{address:"0xdD468A1DDc392dcdbEf6db6e34E89AA338F9F186",name:"Mezo USD",version:"1",decimals:18,assetTransferMethod:"permit2",supportsEip2612:!0},"eip155:31611":{address:"0x118917a40FAF1CD7a13dB0Ef56C86De7973Ac503",name:"Mezo USD",version:"1",decimals:18,assetTransferMethod:"permit2",supportsEip2612:!0},"eip155:723487":{address:"0x33ad9e4BD16B69B5BFdED37D8B5D9fF9aba014Fb",name:"Stable Coin",version:"1",decimals:6,assetTransferMethod:"permit2",supportsEip2612:!0},"eip155:72344":{address:"0x33ad9e4BD16B69B5BFdED37D8B5D9fF9aba014Fb",name:"Stable Coin",version:"1",decimals:6,assetTransferMethod:"permit2",supportsEip2612:!0},"eip155:36900":{address:"0x9cb8142aEBBcdc60AF7c97Af897A67A8f3CA71C2",name:"USDC.e",version:"2",decimals:6},"eip155:190415":{address:"0x401eCb1D350407f13ba348573E5630B83638E30D",name:"Bridged USDC",version:"2",decimals:6},"eip155:181228":{address:"0x401eCb1D350407f13ba348573E5630B83638E30D",name:"Bridged USDC",version:"2",decimals:6},"eip155:50":{address:"0xfA2958CB79b0491CC627c1557F441eF849Ca8eb1",name:"USDC",version:"2",decimals:6},"eip155:51":{address:"0xb5AB69F7bBada22B28e79C8FFAECe55eF1c771D4",name:"USDC",version:"2",decimals:6},"eip155:38833":{address:"0xA5b8BF902b2844dA17d4506cc827F7F1681735E7",name:"USDC",version:"1",decimals:6,assetTransferMethod:"permit2"}};function eS(e){let t=eA[e];if(!t)throw Error(`No default asset configured for network ${e}`);return t}function ex(e){return"permit2Authorization"in e}function eB(e){return"authorization"in e}function eD(e){if("string"!=typeof e.signature||!("permit2Authorization"in e))return!1;let t=e.permit2Authorization;if("object"!=typeof t||null===t||"string"!=typeof t.from||"string"!=typeof t.spender||"string"!=typeof t.nonce||"string"!=typeof t.deadline)return!1;let n=t.permitted;if("object"!=typeof n||null===n||"string"!=typeof n.token||"string"!=typeof n.amount)return!1;let r=t.witness;return"object"==typeof r&&null!==r&&"string"==typeof r.facilitator&&"string"==typeof r.to&&"string"==typeof r.validAfter}n(21198);var eT=n(63698);async function eP(e,t,n){let a=n.extra?.facilitatorAddress;if(!a)throw Error("upto scheme requires facilitatorAddress in paymentRequirements.extra. Ensure the server is configured with an upto facilitator that provides getExtra().");let i=Math.floor(Date.now()/1e3),o=(0,A.Rb)(),s=(i+n.maxTimeoutSeconds).toString();if(BigInt(s)<=BigInt("0"))throw Error(`Invalid time window: deadline (${s}) must be after validAfter (0). Check that maxTimeoutSeconds (${n.maxTimeoutSeconds}) is positive.`);let d={from:e.address,permitted:{token:(0,u.b)(n.asset),amount:n.amount},spender:r.CV,nonce:o,deadline:s,witness:{to:(0,u.b)(n.payTo),facilitator:(0,u.b)(a),validAfter:"0"}},p=(0,A.Hd)(n.network);return{x402Version:t,payload:{signature:await e.signTypedData({domain:{name:"Permit2",chainId:p,verifyingContract:r.x1},types:r.KA,primaryType:"PermitWitnessTransferFrom",message:{permitted:{token:(0,u.b)(d.permitted.token),amount:BigInt(d.permitted.amount)},spender:(0,u.b)(d.spender),nonce:BigInt(d.nonce),deadline:BigInt(d.deadline),witness:{to:(0,u.b)(d.witness.to),facilitator:(0,u.b)(d.witness.facilitator),validAfter:BigInt(d.witness.validAfter)}}}),permit2Authorization:d}}}var eI=class{constructor(e,t){this.signer=e,this.options=t,this.scheme="upto"}async createPaymentPayload(e,t,n){let r=await eP(this.signer,e,t),a=await (0,G.Uv)(this.signer,this.options,t,r,n);if(a)return{...r,extensions:a};let i=await (0,G.XX)(this.signer,this.options,t,n);return i?{...r,extensions:i}:r}},eR=n(10291);function eF(e,t){let n=e.readContract??t?.readContract.bind(t),r={address:e.address,signTypedData:t=>e.signTypedData(t)};n&&(r.readContract=n);let a=e.signTransaction;a&&(r.signTransaction=e=>a(e));let i=e.getTransactionCount??t?.getTransactionCount?.bind(t);i&&(r.getTransactionCount=e=>i(e));let o=e.estimateFeesPerGas??t?.estimateFeesPerGas?.bind(t);return o&&(r.estimateFeesPerGas=()=>o()),r}function e_(e){return{...e,getAddresses:()=>[e.address]}}function ek(e){return!!e&&"0x"!==e&&48===e.length&&e.toLowerCase().startsWith("0xef0100")}function ez(e){return ek(e)?"0x"+e.slice(8).toLowerCase():null}function eM(e){return"object"==typeof e&&null!==e&&"string"==typeof e.captureAuthorizer&&"number"==typeof e.captureDeadline&&"number"==typeof e.refundDeadline&&"string"==typeof e.feeRecipient&&"number"==typeof e.minFeeBps&&"number"==typeof e.maxFeeBps&&"string"==typeof e.name&&"string"==typeof e.ver
1sion}function eU(e){return"object"==typeof e&&null!==e&&"authorization"in e&&"object"==typeof e.authorization&&null!==e.authorization&&"string"==typeof e.signature&&"string"==typeof e.salt||function(e){if("object"!=typeof e||null===e||"string"!=typeof e.signature||"string"!=typeof e.salt||"object"!=typeof e.permit2Authorization||null===e.permit2Authorization)return!1;let t=e.permit2Authorization;return"string"==typeof t.from&&"string"==typeof t.spender&&"string"==typeof t.nonce&&"string"==typeof t.deadline&&"object"==typeof t.permitted&&null!==t.permitted}(e)}n(25876),n(961)}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.