@moonpay/cli 0.12.6 → 0.12.8

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.
@@ -1,2 +1,2 @@
1
1
  process.noDeprecation = true; import { createRequire as __createRequire } from "module"; const require = __createRequire(import.meta.url);
2
- import{a as h,b as l,c as m}from"./chunk-BRQEVLM4.js";var k=class f{constructor(e){this.registeredClientSchemes=new Map,this.policies=[],this.registeredExtensions=new Map,this.beforePaymentCreationHooks=[],this.afterPaymentCreationHooks=[],this.onPaymentCreationFailureHooks=[],this.paymentRequirementsSelector=e||((r,t)=>t[0])}static fromConfig(e){let r=new f(e.paymentRequirementsSelector);return e.schemes.forEach(t=>{t.x402Version===1?r.registerV1(t.network,t.client):r.register(t.network,t.client)}),e.policies?.forEach(t=>{r.registerPolicy(t)}),r}register(e,r){return this._registerScheme(h,e,r)}registerV1(e,r){return this._registerScheme(1,e,r)}registerPolicy(e){return this.policies.push(e),this}registerExtension(e){return this.registeredExtensions.set(e.key,e),this}onBeforePaymentCreation(e){return this.beforePaymentCreationHooks.push(e),this}onAfterPaymentCreation(e){return this.afterPaymentCreationHooks.push(e),this}onPaymentCreationFailure(e){return this.onPaymentCreationFailureHooks.push(e),this}async createPaymentPayload(e){let r=this.registeredClientSchemes.get(e.x402Version);if(!r)throw new Error(`No client registered for x402 version: ${e.x402Version}`);let t=this.selectPaymentRequirements(e.x402Version,e.accepts),i={paymentRequired:e,selectedRequirements:t};for(let s of this.beforePaymentCreationHooks){let o=await s(i);if(o&&"abort"in o&&o.abort)throw new Error(`Payment creation aborted: ${o.reason}`)}try{let s=m(r,t.scheme,t.network);if(!s)throw new Error(`No client registered for scheme: ${t.scheme} and network: ${t.network}`);let o=await s.createPaymentPayload(e.x402Version,t,{extensions:e.extensions}),n;if(o.x402Version==1)n=o;else{let c=this.mergeExtensions(e.extensions,o.extensions);n={x402Version:o.x402Version,payload:o.payload,extensions:c,resource:e.resource,accepted:t}}n=await this.enrichPaymentPayloadWithExtensions(n,e);let a={...i,paymentPayload:n};for(let c of this.afterPaymentCreationHooks)await c(a);return n}catch(s){let o={...i,error:s};for(let n of this.onPaymentCreationFailureHooks){let a=await n(o);if(a&&"recovered"in a&&a.recovered)return a.payload}throw s}}mergeExtensions(e,r){if(!r)return e;if(!e)return r;let t={...e};for(let[i,s]of Object.entries(r)){let o=t[i];o&&typeof o=="object"&&s&&typeof s=="object"?t[i]={...o,...s}:t[i]=s}return t}async enrichPaymentPayloadWithExtensions(e,r){if(!r.extensions||this.registeredExtensions.size===0)return e;let t=e;for(let[i,s]of this.registeredExtensions)i in r.extensions&&s.enrichPaymentPayload&&(t=await s.enrichPaymentPayload(t,r));return t}selectPaymentRequirements(e,r){let t=this.registeredClientSchemes.get(e);if(!t)throw new Error(`No client registered for x402 version: ${e}`);let i=r.filter(o=>{let n=l(t,o.network);return n?n.has(o.scheme):!1});if(i.length===0)throw new Error(`No network/scheme registered for x402 version: ${e} which comply with the payment requirements. ${JSON.stringify({x402Version:e,paymentRequirements:r,x402Versions:Array.from(this.registeredClientSchemes.keys()),networks:Array.from(t.keys()),schemes:Array.from(t.values()).map(o=>Array.from(o.keys())).flat()})}`);let s=i;for(let o of this.policies)if(s=o(e,s),s.length===0)throw new Error(`All payment requirements were filtered out by policies for x402 version: ${e}`);return this.paymentRequirementsSelector(e,s)}_registerScheme(e,r,t){this.registeredClientSchemes.has(e)||this.registeredClientSchemes.set(e,new Map);let i=this.registeredClientSchemes.get(e);i.has(r)||i.set(r,new Map);let s=i.get(r);return s.has(t.scheme)||s.set(t.scheme,t),this}};export{k as a};
2
+ import{a as h,b as l,c as m}from"./chunk-JLT4XDAY.js";var k=class f{constructor(e){this.registeredClientSchemes=new Map,this.policies=[],this.registeredExtensions=new Map,this.beforePaymentCreationHooks=[],this.afterPaymentCreationHooks=[],this.onPaymentCreationFailureHooks=[],this.paymentRequirementsSelector=e||((r,t)=>t[0])}static fromConfig(e){let r=new f(e.paymentRequirementsSelector);return e.schemes.forEach(t=>{t.x402Version===1?r.registerV1(t.network,t.client):r.register(t.network,t.client)}),e.policies?.forEach(t=>{r.registerPolicy(t)}),r}register(e,r){return this._registerScheme(h,e,r)}registerV1(e,r){return this._registerScheme(1,e,r)}registerPolicy(e){return this.policies.push(e),this}registerExtension(e){return this.registeredExtensions.set(e.key,e),this}onBeforePaymentCreation(e){return this.beforePaymentCreationHooks.push(e),this}onAfterPaymentCreation(e){return this.afterPaymentCreationHooks.push(e),this}onPaymentCreationFailure(e){return this.onPaymentCreationFailureHooks.push(e),this}async createPaymentPayload(e){let r=this.registeredClientSchemes.get(e.x402Version);if(!r)throw new Error(`No client registered for x402 version: ${e.x402Version}`);let t=this.selectPaymentRequirements(e.x402Version,e.accepts),i={paymentRequired:e,selectedRequirements:t};for(let s of this.beforePaymentCreationHooks){let o=await s(i);if(o&&"abort"in o&&o.abort)throw new Error(`Payment creation aborted: ${o.reason}`)}try{let s=m(r,t.scheme,t.network);if(!s)throw new Error(`No client registered for scheme: ${t.scheme} and network: ${t.network}`);let o=await s.createPaymentPayload(e.x402Version,t,{extensions:e.extensions}),n;if(o.x402Version==1)n=o;else{let c=this.mergeExtensions(e.extensions,o.extensions);n={x402Version:o.x402Version,payload:o.payload,extensions:c,resource:e.resource,accepted:t}}n=await this.enrichPaymentPayloadWithExtensions(n,e);let a={...i,paymentPayload:n};for(let c of this.afterPaymentCreationHooks)await c(a);return n}catch(s){let o={...i,error:s};for(let n of this.onPaymentCreationFailureHooks){let a=await n(o);if(a&&"recovered"in a&&a.recovered)return a.payload}throw s}}mergeExtensions(e,r){if(!r)return e;if(!e)return r;let t={...e};for(let[i,s]of Object.entries(r)){let o=t[i];o&&typeof o=="object"&&s&&typeof s=="object"?t[i]={...o,...s}:t[i]=s}return t}async enrichPaymentPayloadWithExtensions(e,r){if(!r.extensions||this.registeredExtensions.size===0)return e;let t=e;for(let[i,s]of this.registeredExtensions)i in r.extensions&&s.enrichPaymentPayload&&(t=await s.enrichPaymentPayload(t,r));return t}selectPaymentRequirements(e,r){let t=this.registeredClientSchemes.get(e);if(!t)throw new Error(`No client registered for x402 version: ${e}`);let i=r.filter(o=>{let n=l(t,o.network);return n?n.has(o.scheme):!1});if(i.length===0)throw new Error(`No network/scheme registered for x402 version: ${e} which comply with the payment requirements. ${JSON.stringify({x402Version:e,paymentRequirements:r,x402Versions:Array.from(this.registeredClientSchemes.keys()),networks:Array.from(t.keys()),schemes:Array.from(t.values()).map(o=>Array.from(o.keys())).flat()})}`);let s=i;for(let o of this.policies)if(s=o(e,s),s.length===0)throw new Error(`All payment requirements were filtered out by policies for x402 version: ${e}`);return this.paymentRequirementsSelector(e,s)}_registerScheme(e,r,t){this.registeredClientSchemes.has(e)||this.registeredClientSchemes.set(e,new Map);let i=this.registeredClientSchemes.get(e);i.has(r)||i.set(r,new Map);let s=i.get(r);return s.has(t.scheme)||s.set(t.scheme,t),this}};export{k as a};