@moonpay/cli 1.19.0 → 1.19.1

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{f as it,g as lt,j as ut,m as ct,n as ot,o as at,p as pt}from"./chunk-W6QGH333.js";var n=class extends Error{constructor(r,i,u){super(r);this.status=i;this.toolName=u;this.name="MoonPayError"}},o=class extends n{constructor(t="Authentication required"){super(t,401),this.name="AuthError"}},a=class extends n{constructor(t="Rate limit exceeded"){super(t,429),this.name="RateLimitError"}},s=class extends n{constructor(t,r){super(t,400,r),this.name="ValidationError"}},l=class extends n{constructor(t){super(`Tool not found: ${t}`,404,t),this.name="ToolNotFoundError"}},p=class extends n{constructor(t,r){super(`Tool "${t}" has been renamed to "${r}"`,410,t),this.name="ToolRenamedError",this.newName=r}};var mt="https://agents.moonpay.com",ht=6e4,h=class{constructor(t={}){this.baseUrl=(t.baseUrl??mt).replace(/\/$/,""),this.auth=t.auth??{type:"none"},this.timeout=t.timeout??ht,this.headers=t.headers??{}}async _call(t,r){let i=`${this.baseUrl}/api/tools/${encodeURIComponent(t)}`,u=await this.buildHeaders(),c=await fetch(i,{method:"POST",headers:u,body:JSON.stringify(r),signal:AbortSignal.timeout(this.timeout)});if(c.status===401&&this.auth.type==="bearer"&&this.auth.refreshToken)try{let st=await this.auth.refreshToken();u.Authorization=`Bearer ${st}`,c=await fetch(i,{method:"POST",headers:u,body:JSON.stringify(r),signal:AbortSignal.timeout(this.timeout)})}catch{throw new o("Token refresh failed")}return this.handleResponse(c,t)}async buildHeaders(){let t={"Content-Type":"application/json",...this.headers};if(this.auth.type==="bearer"){let r=await this.auth.getToken();r&&(t.Authorization=`Bearer ${r}`)}return t}async handleResponse(t,r){if(t.ok)return t.json();let i;try{i=await t.json()}catch{i={error:t.statusText}}let u=i?.error??i?.message,c=typeof u=="string"?u:u?JSON.stringify(u):`Request failed with status ${t.status}`;switch(t.status){case 400:throw new s(c,r);case 401:throw new o(c);case 404:throw new l(r);case 410:throw new p(r,i?.newName??"unknown");case 429:throw new a(c);default:throw new n(c,t.status,r)}}};var _=class{constructor(t){this.client=t}list(t){return this.client._call("chain_list",t)}retrieve(t){return this.client._call("chain_retrieve",t)}},v=class{constructor(t){this.client=t}create(t){return this.client._call("cli_activation_create",t)}update(t){return this.client._call("cli_activation_update",t)}},O=class{constructor(t){this.client=t}get activation(){return new v(this.client)}},d=class{constructor(t){this.client=t}add(t){return this.client._call("commerce_cart_add",t)}remove(t){return this.client._call("commerce_cart_remove",t)}retrieve(t){return this.client._call("commerce_cart_retrieve",t)}update(t){return this.client._call("commerce_cart_update",t)}},k=class{constructor(t){this.client=t}pay(t){return this.client._call("commerce_checkout_pay",t)}start(t){return this.client._call("commerce_checkout_start",t)}},C=class{constructor(t){this.client=t}retrieve(t){return this.client._call("commerce_product_retrieve",t)}search(t){return this.client._call("commerce_product_search",t)}},I=class{constructor(t){this.client=t}list(t){return this.client._call("commerce_store_list",t)}retrieve(t){return this.client._call("commerce_store_retrieve",t)}},A=class{constructor(t){this.client=t}get cart(){return new d(this.client)}get checkout(){return new k(this.client)}get product(){return new C(this.client)}get store(){return new I(this.client)}},y=class{constructor(t){this.client=t}list(t){return this.client._call("deposit_transaction_list",t)}},g=class{constructor(t){this.client=t}get transaction(){return new y(this.client)}create(t){return this.client._call("deposit_create",t)}retrieve(t){return this.client._call("deposit_retrieve",t)}},f=class{constructor(t){this.client=t}create(t){return this.client._call("feedback_create",t)}},M=class{constructor(t){this.client=t}list(t){return this.client._call("prediction-market_activity_list",t)}},R=class{constructor(t){this.client=t}retrieve(t){return this.client._call("prediction-market_market_event_retrieve",t)}},T=class{constructor(t){this.client=t}list(t){return this.client._call("prediction-market_market_price_history_list",t)}},V=class{constructor(t){this.client=t}get history(){return new T(this.client)}retrieve(t){return this.client._call("prediction-market_market_price_retrieve",t)}},w=class{constructor(t){this.client=t}list(t){return this.client._call("prediction-market_market_tag_list",t)}},L=class{constructor(t){this.client=t}list(t){return this.client._call("prediction-market_market_trending_list",t)}},x=class{constructor(t){this.client=t}get event(){return new R(this.client)}get price(){return new V(this.client)}get tag(){return new w(this.client)}get trending(){return new L(this.client)}search(t){return this.client._call("prediction-market_market_search",t)}},S=class{constructor(t){this.client=t}retrieve(t){return this.client._call("prediction-market_pnl_retrieve",t)}},b=class{constructor(t){this.client=t}buy(t){return this.client._call("prediction-market_position_buy",t)}list(t){return this.client._call("prediction-market_position_list",t)}redeem(t){return this.client._call("prediction-market_position_redeem",t)}sell(t){return this.client._call("prediction-market_position_sell",t)}},B=class{constructor(t){this.client=t}list(t){return this.client._call("prediction-market_trade_list",t)}},U=class{constructor(t){this.client=t}create(t){return this.client._call("prediction-market_user_create",t)}},E=class{constructor(t){this.client=t}get activity(){return new M(this.client)}get market(){return new x(this.client)}get pnl(){return new S(this.client)}get position(){return new b(this.client)}get trade(){return new B(this.client)}get user(){return new U(this.client)}},D=class{constructor(t){this.client=t}build(t){return this.client._call("swaps_transaction_build",t)}},W=class{constructor(t){this.client=t}get transaction(){return new D(this.client)}},H=class{constructor(t){this.client=t}list(t){return this.client._call("token_balance_list",t)}},$=class{constructor(t){this.client=t}list(t){return this.client._call("token_holder_list",t)}},F=class{constructor(t){this.client=t}list(t){return this.client._call("token_trending_list",t)}},K=class{constructor(t){this.client=t}get balance(){return new H(this.client)}get holder(){return new $(this.client)}get trending(){return new F(this.client)}check(t){return this.client._call("token_check",t)}retrieve(t){return this.client._call("token_retrieve",t)}search(t){return this.client._call("token_search",t)}transfer(t){return this.client._call("token_transfer",t)}},j=class{constructor(t){this.client=t}list(t){return this.client._call("transaction_list",t)}prepare(t){return this.client._call("transaction_prepare",t)}register(t){return this.client._call("transaction_register",t)}retrieve(t){return this.client._call("transaction_retrieve",t)}send(t){return this.client._call("transaction_send",t)}},J=class{constructor(t){this.client=t}retrieve(t){return this.client._call("user_retrieve",t)}},q=class{constructor(t){this.client=t}accept(t){return this.client._call("virtual-account_agreement_accept",t)}list(t){return this.client._call("virtual-account_agreement_list",t)}},z=class{constructor(t){this.client=t}delete(t){return this.client._call("virtual-account_bank-account_delete",t)}list(t){return this.client._call("virtual-account_bank-account_list",t)}register(t){return this.client._call("virtual-account_bank-account_register",t)}retrieve(t){return this.client._call("virtual-account_bank-account_retrieve",t)}},G=class{constructor(t){this.client=t}continue(t){return this.client._call("virtual-account_kyc_continue",t)}restart(t){return this.client._call("virtual-account_kyc_restart",t)}},Q=class{constructor(t){this.client=t}cancel(t){return this.client._call("virtual-account_offramp_cancel",t)}create(t){return this.client._call("virtual-account_offramp_create",t)}initiate(t){return this.client._call("virtual-account_offramp_initiate",t)}list(t){return this.client._call("virtual-account_offramp_list",t)}retrieve(t){return this.client._call("virtual-account_offramp_retrieve",t)}update(t){return this.client._call("virtual-account_offramp_update",t)}},X=class{constructor(t){this.client=t}create(t){return this.client._call("virtual-account_onramp_payment_create",t)}retrieve(t){return this.client._call("virtual-account_onramp_payment_retrieve",t)}},Y=class{constructor(t){this.client=t}get payment(){return new X(this.client)}cancel(t){return this.client._call("virtual-account_onramp_cancel",t)}create(t){return this.client._call("virtual-account_onramp_create",t)}list(t){return this.client._call("virtual-account_onramp_list",t)}retrieve(t){return this.client._call("virtual-account_onramp_retrieve",t)}update(t){return this.client._call("virtual-account_onramp_update",t)}},Z=class{constructor(t){this.client=t}list(t){return this.client._call("virtual-account_transaction_list",t)}},N=class{constructor(t){this.client=t}list(t){return this.client._call("virtual-account_wallet_list",t)}register(t){return this.client._call("virtual-account_wallet_register",t)}},tt=class{constructor(t){this.client=t}get agreement(){return new q(this.client)}get bankAccount(){return new z(this.client)}get kyc(){return new G(this.client)}get offramp(){return new Q(this.client)}get onramp(){return new Y(this.client)}get transaction(){return new Z(this.client)}get wallet(){return new N(this.client)}create(t){return this.client._call("virtual-account_create",t)}retrieve(t){return this.client._call("virtual-account_retrieve",t)}},et=class{constructor(t){this.client=t}list(t){return this.client._call("wallet_activity_list",t)}},rt=class{constructor(t){this.client=t}retrieve(t){return this.client._call("wallet_pnl_retrieve",t)}},nt=class{constructor(t){this.client=t}get activity(){return new et(this.client)}get pnl(){return new rt(this.client)}discover(t){return this.client._call("wallet_discover",t)}},m=class extends h{constructor(t={}){super(t)}get chain(){return new _(this)}get cli(){return new O(this)}get commerce(){return new A(this)}get deposit(){return new g(this)}get feedback(){return new f(this)}get predictionMarket(){return new E(this)}get swaps(){return new W(this)}get token(){return new K(this)}get transaction(){return new j(this)}get user(){return new J(this)}get virtualAccount(){return new tt(this)}get wallet(){return new nt(this)}buy(t){return this._call("buy",t)}login(t){return this._call("login",t)}refresh(t){return this._call("refresh",t)}verify(t){return this._call("verify",t)}};pt();lt();var P=null;function Pt(){return P||(P=new m({baseUrl:ct(),auth:{type:"bearer",getToken:at,refreshToken:async()=>{let e=ut();if(!e?.refreshToken)throw new Error("No refresh token available");return(await ot(e)).accessToken}},headers:it()})),P}var Rt=new Proxy({},{get(e,t){return Reflect.get(Pt(),t)}});function Tt(){P=null}export{m as a,Rt as b,Tt as c};
2
+ import{f as it,g as lt,j as ut,m as ct,n as ot,o as at,p as pt}from"./chunk-GK5QL53M.js";var n=class extends Error{constructor(r,i,u){super(r);this.status=i;this.toolName=u;this.name="MoonPayError"}},o=class extends n{constructor(t="Authentication required"){super(t,401),this.name="AuthError"}},a=class extends n{constructor(t="Rate limit exceeded"){super(t,429),this.name="RateLimitError"}},s=class extends n{constructor(t,r){super(t,400,r),this.name="ValidationError"}},l=class extends n{constructor(t){super(`Tool not found: ${t}`,404,t),this.name="ToolNotFoundError"}},p=class extends n{constructor(t,r){super(`Tool "${t}" has been renamed to "${r}"`,410,t),this.name="ToolRenamedError",this.newName=r}};var mt="https://agents.moonpay.com",ht=6e4,h=class{constructor(t={}){this.baseUrl=(t.baseUrl??mt).replace(/\/$/,""),this.auth=t.auth??{type:"none"},this.timeout=t.timeout??ht,this.headers=t.headers??{}}async _call(t,r){let i=`${this.baseUrl}/api/tools/${encodeURIComponent(t)}`,u=await this.buildHeaders(),c=await fetch(i,{method:"POST",headers:u,body:JSON.stringify(r),signal:AbortSignal.timeout(this.timeout)});if(c.status===401&&this.auth.type==="bearer"&&this.auth.refreshToken)try{let st=await this.auth.refreshToken();u.Authorization=`Bearer ${st}`,c=await fetch(i,{method:"POST",headers:u,body:JSON.stringify(r),signal:AbortSignal.timeout(this.timeout)})}catch{throw new o("Token refresh failed")}return this.handleResponse(c,t)}async buildHeaders(){let t={"Content-Type":"application/json",...this.headers};if(this.auth.type==="bearer"){let r=await this.auth.getToken();r&&(t.Authorization=`Bearer ${r}`)}return t}async handleResponse(t,r){if(t.ok)return t.json();let i;try{i=await t.json()}catch{i={error:t.statusText}}let u=i?.error??i?.message,c=typeof u=="string"?u:u?JSON.stringify(u):`Request failed with status ${t.status}`;switch(t.status){case 400:throw new s(c,r);case 401:throw new o(c);case 404:throw new l(r);case 410:throw new p(r,i?.newName??"unknown");case 429:throw new a(c);default:throw new n(c,t.status,r)}}};var _=class{constructor(t){this.client=t}list(t){return this.client._call("chain_list",t)}retrieve(t){return this.client._call("chain_retrieve",t)}},v=class{constructor(t){this.client=t}create(t){return this.client._call("cli_activation_create",t)}update(t){return this.client._call("cli_activation_update",t)}},O=class{constructor(t){this.client=t}get activation(){return new v(this.client)}},d=class{constructor(t){this.client=t}add(t){return this.client._call("commerce_cart_add",t)}remove(t){return this.client._call("commerce_cart_remove",t)}retrieve(t){return this.client._call("commerce_cart_retrieve",t)}update(t){return this.client._call("commerce_cart_update",t)}},k=class{constructor(t){this.client=t}pay(t){return this.client._call("commerce_checkout_pay",t)}start(t){return this.client._call("commerce_checkout_start",t)}},C=class{constructor(t){this.client=t}retrieve(t){return this.client._call("commerce_product_retrieve",t)}search(t){return this.client._call("commerce_product_search",t)}},I=class{constructor(t){this.client=t}list(t){return this.client._call("commerce_store_list",t)}retrieve(t){return this.client._call("commerce_store_retrieve",t)}},A=class{constructor(t){this.client=t}get cart(){return new d(this.client)}get checkout(){return new k(this.client)}get product(){return new C(this.client)}get store(){return new I(this.client)}},y=class{constructor(t){this.client=t}list(t){return this.client._call("deposit_transaction_list",t)}},g=class{constructor(t){this.client=t}get transaction(){return new y(this.client)}create(t){return this.client._call("deposit_create",t)}retrieve(t){return this.client._call("deposit_retrieve",t)}},f=class{constructor(t){this.client=t}create(t){return this.client._call("feedback_create",t)}},M=class{constructor(t){this.client=t}list(t){return this.client._call("prediction-market_activity_list",t)}},R=class{constructor(t){this.client=t}retrieve(t){return this.client._call("prediction-market_market_event_retrieve",t)}},T=class{constructor(t){this.client=t}list(t){return this.client._call("prediction-market_market_price_history_list",t)}},V=class{constructor(t){this.client=t}get history(){return new T(this.client)}retrieve(t){return this.client._call("prediction-market_market_price_retrieve",t)}},w=class{constructor(t){this.client=t}list(t){return this.client._call("prediction-market_market_tag_list",t)}},L=class{constructor(t){this.client=t}list(t){return this.client._call("prediction-market_market_trending_list",t)}},x=class{constructor(t){this.client=t}get event(){return new R(this.client)}get price(){return new V(this.client)}get tag(){return new w(this.client)}get trending(){return new L(this.client)}search(t){return this.client._call("prediction-market_market_search",t)}},S=class{constructor(t){this.client=t}retrieve(t){return this.client._call("prediction-market_pnl_retrieve",t)}},b=class{constructor(t){this.client=t}buy(t){return this.client._call("prediction-market_position_buy",t)}list(t){return this.client._call("prediction-market_position_list",t)}redeem(t){return this.client._call("prediction-market_position_redeem",t)}sell(t){return this.client._call("prediction-market_position_sell",t)}},B=class{constructor(t){this.client=t}list(t){return this.client._call("prediction-market_trade_list",t)}},U=class{constructor(t){this.client=t}create(t){return this.client._call("prediction-market_user_create",t)}},E=class{constructor(t){this.client=t}get activity(){return new M(this.client)}get market(){return new x(this.client)}get pnl(){return new S(this.client)}get position(){return new b(this.client)}get trade(){return new B(this.client)}get user(){return new U(this.client)}},D=class{constructor(t){this.client=t}build(t){return this.client._call("swaps_transaction_build",t)}},W=class{constructor(t){this.client=t}get transaction(){return new D(this.client)}},H=class{constructor(t){this.client=t}list(t){return this.client._call("token_balance_list",t)}},$=class{constructor(t){this.client=t}list(t){return this.client._call("token_holder_list",t)}},F=class{constructor(t){this.client=t}list(t){return this.client._call("token_trending_list",t)}},K=class{constructor(t){this.client=t}get balance(){return new H(this.client)}get holder(){return new $(this.client)}get trending(){return new F(this.client)}check(t){return this.client._call("token_check",t)}retrieve(t){return this.client._call("token_retrieve",t)}search(t){return this.client._call("token_search",t)}transfer(t){return this.client._call("token_transfer",t)}},j=class{constructor(t){this.client=t}list(t){return this.client._call("transaction_list",t)}prepare(t){return this.client._call("transaction_prepare",t)}register(t){return this.client._call("transaction_register",t)}retrieve(t){return this.client._call("transaction_retrieve",t)}send(t){return this.client._call("transaction_send",t)}},J=class{constructor(t){this.client=t}retrieve(t){return this.client._call("user_retrieve",t)}},q=class{constructor(t){this.client=t}accept(t){return this.client._call("virtual-account_agreement_accept",t)}list(t){return this.client._call("virtual-account_agreement_list",t)}},z=class{constructor(t){this.client=t}delete(t){return this.client._call("virtual-account_bank-account_delete",t)}list(t){return this.client._call("virtual-account_bank-account_list",t)}register(t){return this.client._call("virtual-account_bank-account_register",t)}retrieve(t){return this.client._call("virtual-account_bank-account_retrieve",t)}},G=class{constructor(t){this.client=t}continue(t){return this.client._call("virtual-account_kyc_continue",t)}restart(t){return this.client._call("virtual-account_kyc_restart",t)}},Q=class{constructor(t){this.client=t}cancel(t){return this.client._call("virtual-account_offramp_cancel",t)}create(t){return this.client._call("virtual-account_offramp_create",t)}initiate(t){return this.client._call("virtual-account_offramp_initiate",t)}list(t){return this.client._call("virtual-account_offramp_list",t)}retrieve(t){return this.client._call("virtual-account_offramp_retrieve",t)}update(t){return this.client._call("virtual-account_offramp_update",t)}},X=class{constructor(t){this.client=t}create(t){return this.client._call("virtual-account_onramp_payment_create",t)}retrieve(t){return this.client._call("virtual-account_onramp_payment_retrieve",t)}},Y=class{constructor(t){this.client=t}get payment(){return new X(this.client)}cancel(t){return this.client._call("virtual-account_onramp_cancel",t)}create(t){return this.client._call("virtual-account_onramp_create",t)}list(t){return this.client._call("virtual-account_onramp_list",t)}retrieve(t){return this.client._call("virtual-account_onramp_retrieve",t)}update(t){return this.client._call("virtual-account_onramp_update",t)}},Z=class{constructor(t){this.client=t}list(t){return this.client._call("virtual-account_transaction_list",t)}},N=class{constructor(t){this.client=t}list(t){return this.client._call("virtual-account_wallet_list",t)}register(t){return this.client._call("virtual-account_wallet_register",t)}},tt=class{constructor(t){this.client=t}get agreement(){return new q(this.client)}get bankAccount(){return new z(this.client)}get kyc(){return new G(this.client)}get offramp(){return new Q(this.client)}get onramp(){return new Y(this.client)}get transaction(){return new Z(this.client)}get wallet(){return new N(this.client)}create(t){return this.client._call("virtual-account_create",t)}retrieve(t){return this.client._call("virtual-account_retrieve",t)}},et=class{constructor(t){this.client=t}list(t){return this.client._call("wallet_activity_list",t)}},rt=class{constructor(t){this.client=t}retrieve(t){return this.client._call("wallet_pnl_retrieve",t)}},nt=class{constructor(t){this.client=t}get activity(){return new et(this.client)}get pnl(){return new rt(this.client)}discover(t){return this.client._call("wallet_discover",t)}},m=class extends h{constructor(t={}){super(t)}get chain(){return new _(this)}get cli(){return new O(this)}get commerce(){return new A(this)}get deposit(){return new g(this)}get feedback(){return new f(this)}get predictionMarket(){return new E(this)}get swaps(){return new W(this)}get token(){return new K(this)}get transaction(){return new j(this)}get user(){return new J(this)}get virtualAccount(){return new tt(this)}get wallet(){return new nt(this)}buy(t){return this._call("buy",t)}login(t){return this._call("login",t)}refresh(t){return this._call("refresh",t)}verify(t){return this._call("verify",t)}};pt();lt();var P=null;function Pt(){return P||(P=new m({baseUrl:ct(),auth:{type:"bearer",getToken:at,refreshToken:async()=>{let e=ut();if(!e?.refreshToken)throw new Error("No refresh token available");return(await ot(e)).accessToken}},headers:it()})),P}var Rt=new Proxy({},{get(e,t){return Reflect.get(Pt(),t)}});function Tt(){P=null}export{m as a,Rt as b,Tt as c};
@@ -1,2 +1,2 @@
1
1
  process.noDeprecation = true; import { createRequire as __createRequire } from "module"; const require = __createRequire(import.meta.url);
2
- import{b as a,c as b}from"./chunk-IG3ZSEID.js";import"./chunk-W6QGH333.js";import"./chunk-LMDE72OE.js";export{a as moonpay,b as resetClient};
2
+ import{b as a,c as b}from"./chunk-RCUZV376.js";import"./chunk-GK5QL53M.js";import"./chunk-LMDE72OE.js";export{a as moonpay,b as resetClient};
@@ -0,0 +1,2 @@
1
+ process.noDeprecation = true; import { createRequire as __createRequire } from "module"; const require = __createRequire(import.meta.url);
2
+ import{Da as D,Gl as st,a as G,b as j,c as K,cd as L,d as H,e as f,f as q,fa as ct,g as C,h as b,i as J,j as Y,k as Z,l as P,m as k,n as I,o as X,p as Q,q as $,r as tt,s as et,t as nt,u as rt,v as ot,w as T,x as at}from"./chunk-AT2QGHZK.js";import"./chunk-LMDE72OE.js";function ut(t){return JSON.parse(Ft(t),(e,n)=>Kt(n)?jt(n):n)}function Ft(t){let e=[],n=!1;for(let r=0;r<t.length;r++){let o=!1;if(t[r]==="\\"&&(e.push(t[r++]),o=!o),t[r]==='"'){e.push(t[r]),o||(n=!n);continue}if(!n){let a=Vt(t,r);if(a?.length){r+=a.length-1,a.match(/\.|[eE]-/)?e.push(a):e.push(Gt(a));continue}}e.push(t[r])}return e.join("")}function Vt(t,e){let n=/^-?(?:0|[1-9]\d*)(?:\.\d+)?(?:[eE][+-]?\d+)?/;if(!t[e]?.match(/[-\d]/))return null;let r=t.slice(e).match(n);return r?r[0]:null}function Gt(t){return`{"$n":"${t}"}`}function jt({$n:t}){if(t.match(/[eE]/)){let[e,n]=t.split(/[eE]/);return BigInt(e)*BigInt(10)**BigInt(n)}return BigInt(t)}function Kt(t){return!!t&&typeof t=="object"&&"$n"in t&&typeof t.$n=="string"}var it=0n;function Ht(){let t=it;return it++,t.toString()}function dt(t){return{id:Ht(),jsonrpc:"2.0",method:t.methodName,params:t.params}}function lt(t,e){return Jt(JSON.stringify(t,(n,r)=>typeof r=="bigint"?qt(r):r,e))}function qt(t){return{$n:`${t}`}}function Jt(t){return t.replace(/\{\s*"\$n"\s*:\s*"(-?\d+)"\s*\}/g,"$1")}function mt(t){return Yt(t)}function Yt(t){return new Proxy(t.api,{defineProperty(){return!1},deleteProperty(){return!1},get(e,n,r){if(n!=="then")return function(...o){let a=n.toString(),s=Reflect.get(e,a,r);if(!s)throw new f(H,{method:a,params:o});let u=s(...o);return Zt(t,u)}}})}function Zt({transport:t},e){return{async send(n){return await e.execute({signal:n?.abortSignal,transport:t})}}}function gt(t){return new Proxy({},{defineProperty(){return!1},deleteProperty(){return!1},get(...e){let[n,r]=e,o=r.toString();return function(...a){let s=Object.freeze({methodName:o,params:a}),u=t?.requestTransformer?t?.requestTransformer(s):s;return Object.freeze({execute:async({signal:i,transport:l})=>{let m=dt(u),d=await l({payload:m,signal:i});return t?.responseTransformer?t.responseTransformer(d,u):d}})}}})}function h(t){return t==null||typeof t!="object"||Array.isArray(t)?!1:"jsonrpc"in t&&t.jsonrpc==="2.0"&&"method"in t&&typeof t.method=="string"&&"params"in t}function Xt(t){return typeof t=="bigint"?Number(t):t}var c={};function At(t){return function e(n,r){if(Array.isArray(n))return n.map((o,a)=>{let s={...r,keyPath:[...r.keyPath,a]};return e(o,s)});if(typeof n=="object"&&n!==null){let o={};for(let a in n){if(!Object.prototype.hasOwnProperty.call(n,a))continue;let s={...r,keyPath:[...r.keyPath,a]};o[a]=e(n[a],s)}return o}else return t.reduce((o,a)=>a(o,r),n)}}function ft(t,e){return n=>{let r=At(t);return Object.freeze({...n,params:r(n.params,e)})}}function It(t,e){return n=>At(t)(n,e)}function Qt(){return ft([Xt],{keyPath:[]})}function $t({commitmentPropertyName:t,params:e,optionsObjectPositionInParams:n,overrideCommitment:r}){let o=e[n];if(o===void 0||o&&typeof o=="object"&&!Array.isArray(o)){if(o&&t in o){if(!o[t]||o[t]==="finalized"){let a=[...e],{[t]:s,...u}=o;return Object.keys(u).length>0?a[n]=u:n===a.length-1?a.length--:a[n]=void 0,a}}else if(r!=="finalized"){let a=[...e];return a[n]={...o,[t]:r},a}}return e}function te({defaultCommitment:t,optionsObjectPositionByMethod:e}){return n=>{let{params:r,methodName:o}=n;if(!Array.isArray(r))return n;let a=e[o];return a==null?n:Object.freeze({methodName:o,params:$t({commitmentPropertyName:o==="sendTransaction"?"preflightCommitment":"commitment",optionsObjectPositionInParams:a,overrideCommitment:t,params:r})})}}function ee(t){return(e,{keyPath:n})=>(typeof e=="bigint"&&t&&(e>Number.MAX_SAFE_INTEGER||e<-Number.MAX_SAFE_INTEGER)&&t(n,e),e)}function ne(t){return e=>ft([ee((...r)=>t(e,...r))],{keyPath:[]})(e)}var re={accountNotifications:1,blockNotifications:1,getAccountInfo:1,getBalance:1,getBlock:1,getBlockHeight:0,getBlockProduction:0,getBlocks:2,getBlocksWithLimit:2,getEpochInfo:0,getFeeForMessage:1,getInflationGovernor:0,getInflationReward:1,getLargestAccounts:0,getLatestBlockhash:0,getLeaderSchedule:1,getMinimumBalanceForRentExemption:1,getMultipleAccounts:1,getProgramAccounts:1,getSignaturesForAddress:1,getSlot:0,getSlotLeader:0,getStakeMinimumDelegation:0,getSupply:0,getTokenAccountBalance:1,getTokenAccountsByDelegate:2,getTokenAccountsByOwner:2,getTokenLargestAccounts:1,getTokenSupply:1,getTransaction:1,getTransactionCount:0,getVoteAccounts:0,isBlockhashValid:1,logsNotifications:1,programNotifications:1,requestAirdrop:2,sendTransaction:1,signatureNotifications:1,simulateTransaction:1};function pt(t){let e=t?.onIntegerOverflow;return n=>I(n,e?ne(e):r=>r,Qt(),te({defaultCommitment:t?.defaultCommitment,optionsObjectPositionByMethod:re}))}function Tt(t){return function(n,{keyPath:r}){return typeof n=="number"&&Number.isInteger(n)||typeof n=="bigint"?oe(r,t)?Number(n):BigInt(n):n}}function oe(t,e){return e.some(n=>{if(n.length!==t.length)return!1;for(let r=t.length-1;r>=0;r--){let o=t[r],a=n[r];if(a!==o&&(a!==c||typeof o!="number"))return!1}return!0})}function ae(t){return It([Tt(t)],{keyPath:[]})}function ce(){return t=>t.result}var v=[["data","parsed","info","tokenAmount","decimals"],["data","parsed","info","tokenAmount","uiAmount"],["data","parsed","info","rentExemptReserve","decimals"],["data","parsed","info","rentExemptReserve","uiAmount"],["data","parsed","info","delegatedAmount","decimals"],["data","parsed","info","delegatedAmount","uiAmount"],["data","parsed","info","extensions",c,"state","olderTransferFee","transferFeeBasisPoints"],["data","parsed","info","extensions",c,"state","newerTransferFee","transferFeeBasisPoints"],["data","parsed","info","extensions",c,"state","preUpdateAverageRate"],["data","parsed","info","extensions",c,"state","currentRate"]],p=[...v,["data","parsed","info","lastExtendedSlotStartIndex"],["data","parsed","info","slashPenalty"],["data","parsed","info","warmupCooldownRate"],["data","parsed","info","decimals"],["data","parsed","info","numRequiredSigners"],["data","parsed","info","numValidSigners"],["data","parsed","info","stake","delegation","warmupCooldownRate"],["data","parsed","info","exemptionThreshold"],["data","parsed","info","burnPercent"],["data","parsed","info","commission"],["data","parsed","info","votes",c,"confirmationCount"]],E=[["index"],["instructions",c,"accounts",c],["instructions",c,"programIdIndex"],["instructions",c,"stackHeight"]],z=[["addressTableLookups",c,"writableIndexes",c],["addressTableLookups",c,"readonlyIndexes",c],["header","numReadonlySignedAccounts"],["header","numReadonlyUnsignedAccounts"],["header","numRequiredSignatures"],["instructions",c,"accounts",c],["instructions",c,"programIdIndex"],["instructions",c,"stackHeight"]];function se(){return[["loadedAccountsDataSize"],...p.map(t=>["accounts",c,...t]),...E.map(t=>["innerInstructions",c,...t])]}function ie(){return(t,e)=>{let n=t;if("error"in n){let{error:r}=n;if(r&&typeof r=="object"&&"code"in r&&(r.code===-32002||r.code===-32002n)&&"data"in r&&r.data){let s=It([Tt(se())],{keyPath:[]})(r.data,e),u={...r,data:s};throw C(u)}throw C(n.error)}return n}}function Et(t){return(e,n)=>{let r=n.methodName,o=t?.allowedNumericKeyPaths&&r?t.allowedNumericKeyPaths[r]:void 0;return I(e,a=>ie()(a,n),a=>ce()(a,n),a=>ae(o??[])(a,n))}}function Rt(t){return gt({requestTransformer:pt(t),responseTransformer:Et({allowedNumericKeyPaths:ue()})})}var U;function ue(){return U||(U={getAccountInfo:p.map(t=>["value",...t]),getBlock:[["transactions",c,"meta","preTokenBalances",c,"accountIndex"],["transactions",c,"meta","preTokenBalances",c,"uiTokenAmount","decimals"],["transactions",c,"meta","postTokenBalances",c,"accountIndex"],["transactions",c,"meta","postTokenBalances",c,"uiTokenAmount","decimals"],["transactions",c,"meta","rewards",c,"commission"],...E.map(t=>["transactions",c,"meta","innerInstructions",c,...t]),...z.map(t=>["transactions",c,"transaction","message",...t]),["rewards",c,"commission"]],getClusterNodes:[[c,"featureSet"],[c,"shredVersion"]],getInflationGovernor:[["initial"],["foundation"],["foundationTerm"],["taper"],["terminal"]],getInflationRate:[["foundation"],["total"],["validator"]],getInflationReward:[[c,"commission"]],getMultipleAccounts:p.map(t=>["value",c,...t]),getProgramAccounts:p.flatMap(t=>[["value",c,"account",...t],[c,"account",...t]]),getRecentPerformanceSamples:[[c,"samplePeriodSecs"]],getTokenAccountBalance:[["value","decimals"],["value","uiAmount"]],getTokenAccountsByDelegate:v.map(t=>["value",c,"account",...t]),getTokenAccountsByOwner:v.map(t=>["value",c,"account",...t]),getTokenLargestAccounts:[["value",c,"decimals"],["value",c,"uiAmount"]],getTokenSupply:[["value","decimals"],["value","uiAmount"]],getTransaction:[["meta","preTokenBalances",c,"accountIndex"],["meta","preTokenBalances",c,"uiTokenAmount","decimals"],["meta","postTokenBalances",c,"accountIndex"],["meta","postTokenBalances",c,"uiTokenAmount","decimals"],["meta","rewards",c,"commission"],...E.map(t=>["meta","innerInstructions",c,...t]),...z.map(t=>["transaction","message",...t])],getVersion:[["feature-set"]],getVoteAccounts:[["current",c,"commission"],["delinquent",c,"commission"]],simulateTransaction:[["value","loadedAccountsDataSize"],...p.map(t=>["value","accounts",c,...t]),...E.map(t=>["value","innerInstructions",c,...t])]}),U}var de={accept:!0,"content-length":!0,"content-type":!0},le=Object.assign({"accept-charset":!0,"access-control-request-headers":!0,"access-control-request-method":!0,connection:!0,"content-length":!0,cookie:!0,date:!0,dnt:!0,expect:!0,host:!0,"keep-alive":!0,"permissions-policy":!0,referer:!0,te:!0,trailer:!0,"transfer-encoding":!0,upgrade:!0,via:!0},void 0,void 0);function me(t){let e=Object.keys(t).filter(n=>{let r=n.toLowerCase();return de[n.toLowerCase()]===!0||le[n.toLowerCase()]===!0||r.startsWith("proxy-")||r.startsWith("sec-")});if(e.length>0)throw new f(j,{headers:e})}function ge(t){let e={};for(let n in t)e[n.toLowerCase()]=t[n];return e}function Ae(t){process.env.NODE_ENV;let{fromJson:e,headers:n,toJson:r,url:o}=t;process.env.NODE_ENV!=="production"&&n&&me(n);let a;"dispatcher_NODE_ONLY"in t&&(a={dispatcher:t.dispatcher_NODE_ONLY});let s=n&&ge(n);return async function({payload:i,signal:l}){let m=r?r(i):JSON.stringify(i),d={...a,body:m,headers:{...s,accept:"application/json","content-length":m.length.toString(),"content-type":"application/json; charset=utf-8"},method:"POST",signal:l},g=await fetch(o,d);if(!g.ok)throw new f(K,{headers:g.headers,message:g.statusText,statusCode:g.status});return e?e(await g.text(),i):await g.json()}}var fe=["getAccountInfo","getBalance","getBlock","getBlockCommitment","getBlockHeight","getBlockProduction","getBlocks","getBlocksWithLimit","getBlockTime","getClusterNodes","getEpochInfo","getEpochSchedule","getFeeForMessage","getFirstAvailableBlock","getGenesisHash","getHealth","getHighestSnapshotSlot","getIdentity","getInflationGovernor","getInflationRate","getInflationReward","getLargestAccounts","getLatestBlockhash","getLeaderSchedule","getMaxRetransmitSlot","getMaxShredInsertSlot","getMinimumBalanceForRentExemption","getMultipleAccounts","getProgramAccounts","getRecentPerformanceSamples","getRecentPrioritizationFees","getSignaturesForAddress","getSignatureStatuses","getSlot","getSlotLeader","getSlotLeaders","getStakeMinimumDelegation","getSupply","getTokenAccountBalance","getTokenAccountsByDelegate","getTokenAccountsByOwner","getTokenLargestAccounts","getTokenSupply","getTransaction","getTransactionCount","getVersion","getVoteAccounts","index","isBlockhashValid","minimumLedgerSlot","requestAirdrop","sendTransaction","simulateTransaction"];function St(t){return h(t)&&fe.includes(t.method)}function _t(t){return Ae({...t,fromJson:(e,n)=>St(n)?ut(e):JSON.parse(e),toJson:e=>St(e)?lt(e):JSON.stringify(e)})}import{setMaxListeners as Te}from"events";var Ie=Object.prototype.toString,pe=Object.keys||function(t){let e=[];for(let n in t)e.push(n);return e};function R(t,e){let n,r,o,a,s,u,i;if(t===!0)return"true";if(t===!1)return"false";switch(typeof t){case"object":if(t===null)return null;if("toJSON"in t&&typeof t.toJSON=="function")return R(t.toJSON(),e);if(i=Ie.call(t),i==="[object Array]"){for(o="[",r=t.length-1,n=0;n<r;n++)o+=R(t[n],!0)+",";return r>-1&&(o+=R(t[n],!0)),o+"]"}else if(i==="[object Object]"){for(a=pe(t).sort(),r=a.length,o="",n=0;n<r;)s=a[n],u=R(t[s],!1),u!==void 0&&(o&&(o+=","),o+=JSON.stringify(s)+":"+u),n++;return"{"+o+"}"}else return JSON.stringify(t);case"function":case"undefined":return e?null:void 0;case"bigint":return`${t.toString()}n`;case"string":return JSON.stringify(t);default:return isFinite(t)?t:null}}function Nt(t){let e=R(t,!1);if(e!==void 0)return""+e}function vt(t,e,n){let r="";if(typeof e[0]=="number"){let s=e[0]+1,u=s%10,i=s%100;u==1&&i!=11?r=s+"st":u==2&&i!=12?r=s+"nd":u==3&&i!=13?r=s+"rd":r=s+"th"}else r=`\`${e[0].toString()}\``;let o=e.length>1?e.slice(1).map(s=>typeof s=="number"?`[${s}]`:s).join("."):void 0,a=new f(G,{argumentLabel:r,keyPath:e,methodName:t,optionalPathLabel:o?` at path \`${o}\``:"",value:n,...o!==void 0?{path:o}:void 0});return q(a,vt),a}var Ee={defaultCommitment:"confirmed",onIntegerOverflow(t,e,n){throw vt(t.methodName,e,n)}},Re=class extends globalThis.AbortController{constructor(...t){super(...t),Te(Number.MAX_SAFE_INTEGER,this.signal)}},Dt;function ht(){return process.env.NODE_ENV!=="production"?{EXPLICIT_ABORT_TOKEN:"This object is thrown from the request that underlies a series of coalesced requests when the last request in that series aborts"}:{}}function Se(t,e){let n;return async function(o){let{payload:a,signal:s}=o,u=e(a);if(u===void 0)return await t(o);if(n||(queueMicrotask(()=>{n=void 0}),n={}),n[u]==null){let l=new Re,m=(async()=>{try{return await t({...o,signal:l.signal})}catch(d){if(d===(Dt||=ht()))return;throw d}})();n[u]={abortController:l,numConsumers:0,responsePromise:m}}let i=n[u];if(i.numConsumers++,s){let l=i.responsePromise;return await new Promise((m,d)=>{let g=M=>{s.removeEventListener("abort",g),i.numConsumers-=1,queueMicrotask(()=>{i.numConsumers===0&&i.abortController.abort(Dt||=ht())}),d(M.target.reason)};s.addEventListener("abort",g),l.then(m).catch(d).finally(()=>{s.removeEventListener("abort",g)})})}else return await i.responsePromise}}function _e(t){return h(t)?Nt([t.method,t.params]):void 0}function Ne(t){let e={};for(let n in t)e[n.toLowerCase()]=t[n];return e}function De(t){return I(_t({...t,headers:{"accept-encoding":"br,gzip,deflate",...t.headers?Ne(t.headers):void 0,"solana-client":"js/5.5.1"}}),e=>Se(e,_e))}function w(t,e){return he(De({url:t,...e}))}function he(t){return mt({api:Rt(Ee),transport:t})}var y="TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA";var ve=0,we;process.env.NODE_ENV!=="production"&&(we={[ve]:"Associated token account owner does not match address derivation"});var ye=0,Oe=1,Me=2,Ce=3,be=4,Pe=5,ke=6,Le=7,ze=8,Ue=9,xe=10,Be=11,We=12,Fe=13,Ve=14,Ge=15,je=16,Ke=17,He=18,qe=19,Je;process.env.NODE_ENV!=="production"&&(Je={[Ke]:"Account is frozen",[ke]:"Already in use",[Ge]:"Account does not support specified authority type",[Pe]:"Fixed supply",[Oe]:"Insufficient funds",[We]:"Invalid instruction",[Me]:"Invalid Mint",[Le]:"Invalid number of provided signers",[ze]:"Invalid number of required signers",[Fe]:"State is invalid for requested operation",[je]:"This token mint cannot freeze accounts",[He]:"The provided decimals value different from the Mint decimals",[Ce]:"Account not associated with this Mint",[xe]:"Instruction does not support native tokens",[Be]:"Non-native account can only be closed if its balance is zero",[qe]:"Instruction does not support non-native tokens",[ye]:"Lamport balance below rent-exempt threshold",[Ve]:"Operation overflowed",[be]:"Owner does not match",[Ue]:"State is unititialized"});process.env.NODE_ENV;var Ye="TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA",Ze="TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb",Xe="ComputeBudget111111111111111111111111111111",x="MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr",Qe="L2TExMFKdjpN9kozasaurPirfHy9P8sbXoAN1qA3S95",wt="https://api.devnet.solana.com",yt="https://api.testnet.solana.com",Ot="https://api.mainnet-beta.solana.com",$e="wss://api.devnet.solana.com",tn="wss://api.testnet.solana.com",en="wss://api.mainnet-beta.solana.com",Mt="EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",Ct="4zMMC9srt5Ri5X14GAgXhaHii3GnPAEERYPJgZJDncDU",bt="4zMMC9srt5Ri5X14GAgXhaHii3GnPAEERYPJgZJDncDU",B=1,nn=5e6,W=2e4,F=12e4,Pt=/^[1-9A-HJ-NP-Za-km-z]{32,44}$/,S="solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",_="solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1",N="solana:4uhcVJyU9pJkvQyS88uRDiswHXSCkY3z",kt={solana:S,"solana-devnet":_,"solana-testnet":N};function V(t){if(t.includes(":")){if(![S,_,N].includes(t))throw new Error(`Unsupported SVM network: ${t}`);return t}let e=kt[t];if(!e)throw new Error(`Unsupported SVM network: ${t}`);return e}function rn(t){return Pt.test(t)}function Lt(t){try{let n=J().encode(t.transaction);return ot().decode(n)}catch(e){throw console.error("Error decoding transaction:",e),new Error("invalid_exact_svm_payload_transaction")}}function on(t){let e=Q().decode(t.messageBytes),n=e.staticAccounts??[],r=e.instructions??[];for(let o of r){let a=o.programAddressIndex,s=n[a].toString();if(s===y.toString()||s===D.toString()){let u=o.accountIndices??[];if(u.length>=4){let i=u[3],l=n[i].toString();if(l)return l}}}return""}function O(t,e){switch(V(t)){case _:return w(e||wt);case N:return w(e||yt);case S:return w(e||Ot);default:throw new Error(`Unsupported network: ${t}`)}}function an(t){switch(V(t)){case S:return Mt;case _:return Ct;case N:return bt;default:throw new Error(`No USDC address configured for network: ${t}`)}}function cn(t,e){let n=parseFloat(t);if(isNaN(n))throw new Error(`Invalid amount: ${t}`);let[r,o=""]=String(n).split("."),a=o.padEnd(e,"0").slice(0,e);return(r+a).replace(/^0+/,"")||"0"}var zt="ComputeBudget111111111111111111111111111111";var sn=2;function un(){return b(k([["discriminator",P()],["units",Y()]]),t=>({...t,discriminator:sn}))}function Ut(t,e){let n=e?.programAddress??zt,r={...t};return Object.freeze({data:un().encode(r),programAddress:n})}var dn=3;function ln(){return b(k([["discriminator",P()],["microLamports",Z()]]),t=>({...t,discriminator:dn}))}function mn(t,e){let n=e?.programAddress??zt,r={...t};return Object.freeze({data:ln().encode(r),programAddress:n})}function xt(t,e){return et(mn({microLamports:t}),e)}var gn=class{constructor(t,e){this.signer=t,this.config=e,this.scheme="exact"}async createPaymentPayload(t,e){let n=O(e.network,this.config?.rpcUrl),r=await ct(n,e.asset),o=r.programAddress;if(o.toString()!==y.toString()&&o.toString()!==D.toString())throw new Error("Asset was not created by a known token program");let[a]=await L({mint:e.asset,owner:this.signer.address,tokenProgram:o}),[s]=await L({mint:e.asset,owner:e.payTo,tokenProgram:o}),u=st({source:a,mint:e.asset,destination:s,authority:this.signer,amount:BigInt(e.amount),decimals:r.data.decimals},{programAddress:o}),i=e.extra?.feePayer;if(!i)throw new Error("feePayer is required in paymentRequirements.extra for SVM transactions");let{value:l}=await n.getLatestBlockhash().send(),m=crypto.getRandomValues(new Uint8Array(16)),d={programAddress:x,accounts:[],data:new TextEncoder().encode(Array.from(m).map(A=>A.toString(16).padStart(2,"0")).join(""))},g=I($({version:0}),A=>xt(B,A),A=>tt(i,A),A=>rt(Ut({units:W}),A),A=>nt([u,d],A),A=>X(l,A)),M=await at(g),Wt={transaction:T(M)};return{x402Version:t,payload:Wt}}};var An=class{constructor(){this.entries=new Map}isDuplicate(t){return this.prune(),this.entries.has(t)?!0:(this.entries.set(t,Date.now()),!1)}prune(){let t=Date.now()-F;for(let[e,n]of this.entries)if(n<t)this.entries.delete(e);else break}};function Nr(t){return t}function fn(t){return{getBalance:async e=>(await t.getBalance(e).send()).value,getTokenAccountBalance:async e=>{let n=await t.getAccountInfo(e,{encoding:"jsonParsed"}).send();if(!n.value)throw new Error(`Token account not found: ${e}`);let r=n.value.data;return BigInt(r.parsed.info.tokenAmount.amount)},getLatestBlockhash:async()=>{let e=await t.getLatestBlockhash().send();return{blockhash:e.value.blockhash,lastValidBlockHeight:e.value.lastValidBlockHeight}},simulateTransaction:async(e,n)=>await t.simulateTransaction(e,n).send(),sendTransaction:async e=>await t.sendTransaction(e,{encoding:"base64"}).send(),confirmTransaction:async e=>{let n=!1,r=0,o=30;for(;!n&&r<o;){let a=await t.getSignatureStatuses([e]).send();if(a.value[0]?.confirmationStatus==="confirmed"||a.value[0]?.confirmationStatus==="finalized")return n=!0,a.value[0];await new Promise(s=>setTimeout(s,1e3)),r++}throw new Error("Transaction confirmation timeout")},fetchMint:async e=>{let{fetchMint:n}=await import("./src-X7XKGWIB.js");return await n(t,e)}}}function Dr(t,e){let n={},r;e&&("defaultRpcUrl"in e&&typeof e.defaultRpcUrl=="string"?r=e.defaultRpcUrl:"getBalance"in e||"getSlot"in e?n["*"]=e:n=e);let o=a=>n[a]?n[a]:n["*"]?n["*"]:O(a,r);return{getAddresses:()=>[t.address],signTransaction:async(a,s,u)=>{if(s!==t.address)throw new Error(`No signer for feePayer ${s}. Available: ${t.address}`);let i=Lt({transaction:a}),l={content:i.messageBytes,signatures:i.signatures},[m]=await t.signMessages([l]),d={...i,signatures:{...i.signatures,...m}};return T(d)},simulateTransaction:async(a,s)=>{let i=await o(s).simulateTransaction(a,{sigVerify:!0,replaceRecentBlockhash:!1,commitment:"confirmed",encoding:"base64"}).send();if(i.value.err){let l=JSON.stringify(i.value.err,(m,d)=>typeof d=="bigint"?d.toString():d);throw new Error(`Simulation failed: ${l}`)}},sendTransaction:async(a,s)=>await o(s).sendTransaction(a,{encoding:"base64"}).send(),confirmTransaction:async(a,s)=>{let u=o(s);await fn(u).confirmTransaction(a)}}}export{Xe as COMPUTE_BUDGET_PROGRAM_ADDRESS,W as DEFAULT_COMPUTE_UNIT_LIMIT,B as DEFAULT_COMPUTE_UNIT_PRICE_MICROLAMPORTS,wt as DEVNET_RPC_URL,$e as DEVNET_WS_URL,gn as ExactSvmScheme,Qe as LIGHTHOUSE_PROGRAM_ADDRESS,Ot as MAINNET_RPC_URL,en as MAINNET_WS_URL,nn as MAX_COMPUTE_UNIT_PRICE_MICROLAMPORTS,x as MEMO_PROGRAM_ADDRESS,F as SETTLEMENT_TTL_MS,_ as SOLANA_DEVNET_CAIP2,S as SOLANA_MAINNET_CAIP2,N as SOLANA_TESTNET_CAIP2,Pt as SVM_ADDRESS_REGEX,An as SettlementCache,yt as TESTNET_RPC_URL,tn as TESTNET_WS_URL,Ze as TOKEN_2022_PROGRAM_ADDRESS,Ye as TOKEN_PROGRAM_ADDRESS,Ct as USDC_DEVNET_ADDRESS,Mt as USDC_MAINNET_ADDRESS,bt as USDC_TESTNET_ADDRESS,kt as V1_TO_V2_NETWORK_MAP,cn as convertToTokenAmount,O as createRpcClient,Lt as decodeTransactionFromPayload,on as getTokenPayerFromTransaction,an as getUsdcAddress,V as normalizeNetwork,Nr as toClientSvmSigner,Dr as toFacilitatorSvmSigner,rn as validateSvmAddress};
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  process.noDeprecation = true; import { createRequire as __createRequire } from "module"; const require = __createRequire(import.meta.url);
3
- import{a as j,b as J,c as R,d as O}from"./chunk-5CEUSMVB.js";import{b as C}from"./chunk-IG3ZSEID.js";import{m as v}from"./chunk-LUM42VRQ.js";import{e as S,g as U}from"./chunk-W6QGH333.js";import"./chunk-LMDE72OE.js";import{Command as ee}from"commander";var q=!process.env.NO_COLOR&&process.stdout.isTTY===!0;function w(e){return t=>q?`${e}${t}\x1B[0m`:t}var p={bold:w("\x1B[1m"),dim:w("\x1B[2m"),green:w("\x1B[32m"),yellow:w("\x1B[33m"),cyan:w("\x1B[36m"),red:w("\x1B[31m")};function k(e){if(e==null)return!0;let t=typeof e;return t==="string"||t==="number"||t==="boolean"}function $(e){return e==null?"-":String(e)}function N(e,t=0){let n=" ".repeat(t);return k(e)?`${n}${$(e)}`:Array.isArray(e)?e.length===0?`${n}${p.dim("(empty)")}`:e.every(k)?e.map(o=>`${n}- ${$(o)}`).join(`
3
+ import{a as j,b as J,c as R,d as O}from"./chunk-JLPRMAAY.js";import{b as C}from"./chunk-RCUZV376.js";import{m as v}from"./chunk-5TWTVW4R.js";import{e as S,g as U}from"./chunk-GK5QL53M.js";import"./chunk-LMDE72OE.js";import{Command as ee}from"commander";var q=!process.env.NO_COLOR&&process.stdout.isTTY===!0;function w(e){return t=>q?`${e}${t}\x1B[0m`:t}var p={bold:w("\x1B[1m"),dim:w("\x1B[2m"),green:w("\x1B[32m"),yellow:w("\x1B[33m"),cyan:w("\x1B[36m"),red:w("\x1B[31m")};function k(e){if(e==null)return!0;let t=typeof e;return t==="string"||t==="number"||t==="boolean"}function $(e){return e==null?"-":String(e)}function N(e,t=0){let n=" ".repeat(t);return k(e)?`${n}${$(e)}`:Array.isArray(e)?e.length===0?`${n}${p.dim("(empty)")}`:e.every(k)?e.map(o=>`${n}- ${$(o)}`).join(`
4
4
  `):e.map(o=>{if(typeof o!="object"||o===null)return`${n}- ${$(o)}`;let s=Object.entries(o),a=[],[c,l]=s[0];k(l)?a.push(`${n}- ${p.bold(c)}: ${$(l)}`):(a.push(`${n}- ${p.bold(c)}:`),a.push(N(l,t+2)));for(let[u,y]of s.slice(1))k(y)?a.push(`${n} ${p.bold(u)}: ${$(y)}`):(a.push(`${n} ${p.bold(u)}:`),a.push(N(y,t+2)));return a.join(`
5
5
  `)}).join(`
6
6
 
@@ -14,5 +14,5 @@ ${N(a,t+1)}`).join(`
14
14
 
15
15
  Run \`mp skill install\` to install AI skills for Claude Code.
16
16
 
17
- `+J).version(S).option("--json","Output as JSON instead of YAML");function te(){return h.opts().json?"json":"yaml"}function D(e){console.log(A(e,te()))}function L(){let e=ne();e&&process.stderr.write(e)}h.command("mcp").description("Start MCP server over stdio (for Claude Desktop, Claude Code, etc.)").action(async()=>{let{startMcpServer:e}=await import("./mcp-TM2OBUB3.js");await e()});function I(e,t){let n=e;for(let o of t){let s=n.commands.find(a=>a.name()===o);s||(s=n.command(o)),n=s}return n}function Z(e,t=""){let n=[];for(let[o,s]of Object.entries(e)){let a=t?`${t}-${o}`:o,c=s;for(;c._def.typeName==="ZodEffects";)c=c._def.schema;let l=c;l._def.typeName==="ZodNullable"&&(l=l._def.innerType),l._def.typeName==="ZodObject"&&l.shape?n.push(...Z(l.shape,a)):n.push({flatKey:a,field:s,path:a.split("-")})}return n}function re(e,t){let n={};for(let{flatKey:o,path:s}of t){let a=o.replace(/-([a-z])/g,(l,u)=>u.toUpperCase()),c=a in e?e[a]:e[o];if(s.length===1)n[s[0]]=c;else{let l=n;for(let u=0;u<s.length-1;u++)(!l[s[u]]||typeof l[s[u]]!="object")&&(l[s[u]]={}),l=l[s[u]];l[s[s.length-1]]=c}}return n}function oe(e,t){for(let n of t){let o=n.schema.name.split("_"),s=o.pop(),c=I(e,o).command(s).description(n.schema.description),l=n.schema.input.shape??{},u=Z(l),y=[],b=[],_=[];for(let{flatKey:f,field:i}of u){let r=i.description??f,m=i;for(;m._def.typeName==="ZodEffects";)m=m._def.schema;let g=m._def.typeName,d=m;d._def.typeName==="ZodNullable"&&(d=d._def.innerType),d._def.typeName==="ZodNumber"&&b.push(f),d._def.typeName==="ZodRecord"&&_.push(f),g==="ZodBoolean"?c.option(`--${f}`,r,!1):g==="ZodNullable"?(c.option(`--${f} <${f}>`,r),y.push(f)):c.requiredOption(`--${f} <${f}>`,r)}c.action(async f=>{n.schema.name.startsWith("consent_")||await R.handler({});for(let r of y){let m=r.replace(/-([a-z])/g,(g,d)=>d.toUpperCase());f[m]===void 0&&(f[m]=null)}for(let r of b){let m=r.replace(/-([a-z])/g,(g,d)=>d.toUpperCase());f[m]!=null&&typeof f[m]=="string"&&(f[m]=Number(f[m]))}for(let r of _){let m=r.replace(/-([a-z])/g,(g,d)=>d.toUpperCase());if(typeof f[m]=="string")try{f[m]=JSON.parse(f[m])}catch{console.error(`Invalid JSON for --${r}`),process.exit(1)}}let i=re(f,u);try{let r=await n.handler(i);D(r)}catch(r){console.error(r instanceof Error?r.message:String(r)),process.exit(1)}})}}function se(e){if(e.$ref&&e.definitions){let t=e.$ref.replace("#/definitions/","");return e.definitions[t]}return e}function ie(e){return Array.isArray(e.type)?e.type.includes("null"):e.anyOf?e.anyOf.some(t=>t.type==="null"):!1}function ae(e){return Array.isArray(e.type)?e.type.includes("object"):e.anyOf?e.anyOf.some(t=>t.type==="object"):e.type==="object"}function ce(e){return Array.isArray(e.type)?e.type.some(t=>t==="number"||t==="integer"):e.anyOf?e.anyOf.some(t=>t.type==="number"||t.type==="integer"):e.type==="number"||e.type==="integer"}async function le(e){let t=e.wallet,n=e.chain;if(typeof t!="string"||typeof n!="string")return;let o=v(t);if(!o)return;let s;try{s=(await C.chain.retrieve({chain:n})).keyFamily}catch{return}let a=o.addresses[s];a&&(e.wallet=a)}var M=new Set(["swaps_transaction_build","token_transfer","transaction_register","virtual-account_offramp_initiate","prediction-market_position_buy","prediction-market_position_sell","prediction-market_position_redeem","commerce_cart_update","commerce_checkout_start","commerce_checkout_pay"]);function fe(e,t){for(let n of t){if(M.has(n.name))continue;let o=n.name.split("_"),s=o.pop(),a=I(e,o);if(a.commands.find(i=>i.name()===s))continue;let c=a.command(s).description(n.description),l=se(n.inputSchema),u=l.properties??{},y=new Set(l.required??[]),b=[],_=[],f=[];for(let[i,r]of Object.entries(u)){let m=r.description??i,g=ie(r),d=ae(r);ce(r)&&_.push(i),d?(f.push(i),y.has(i)&&!g?c.requiredOption(`--${i} <json>`,`${m} (as JSON)`):(c.option(`--${i} <json>`,`${m} (as JSON)`),b.push(i))):g||!y.has(i)?(c.option(`--${i} <${i}>`,m),b.push(i)):c.requiredOption(`--${i} <${i}>`,m)}c.action(async i=>{await R.handler({});for(let r of b)i[r]===void 0&&(i[r]=null);for(let r of _)i[r]!=null&&typeof i[r]=="string"&&(i[r]=Number(i[r]));for(let r of f)if(typeof i[r]=="string")try{i[r]=JSON.parse(i[r])}catch{console.error(`Invalid JSON for --${r}`),process.exit(1)}try{await le(i);let r=await C._call(n.name,i);D(r),L()}catch(r){console.error(r instanceof Error?r.message:String(r)),process.exit(1)}})}}oe(h,O);fe(h,j);h.command("tools").description("List available tools").action(()=>{let e=[...O.map(n=>({name:n.schema.name,description:n.schema.description})),...j.filter(n=>!O.some(o=>o.schema.name===n.name)&&!M.has(n.name)).map(n=>({name:n.name,description:n.description}))].sort((n,o)=>n.name.localeCompare(o.name)),t=[];for(let n of e){let o=n.name.replace(/_/g," ");t.push(` ${p.green(o.padEnd(28))} ${p.dim(n.description)}`)}t.push(""),t.push(p.dim(`${e.length} tools`)),console.log(t.join(`
17
+ `+J).version(S).option("--json","Output as JSON instead of YAML");function te(){return h.opts().json?"json":"yaml"}function D(e){console.log(A(e,te()))}function L(){let e=ne();e&&process.stderr.write(e)}h.command("mcp").description("Start MCP server over stdio (for Claude Desktop, Claude Code, etc.)").action(async()=>{let{startMcpServer:e}=await import("./mcp-CVHWRED2.js");await e()});function I(e,t){let n=e;for(let o of t){let s=n.commands.find(a=>a.name()===o);s||(s=n.command(o)),n=s}return n}function Z(e,t=""){let n=[];for(let[o,s]of Object.entries(e)){let a=t?`${t}-${o}`:o,c=s;for(;c._def.typeName==="ZodEffects";)c=c._def.schema;let l=c;l._def.typeName==="ZodNullable"&&(l=l._def.innerType),l._def.typeName==="ZodObject"&&l.shape?n.push(...Z(l.shape,a)):n.push({flatKey:a,field:s,path:a.split("-")})}return n}function re(e,t){let n={};for(let{flatKey:o,path:s}of t){let a=o.replace(/-([a-z])/g,(l,u)=>u.toUpperCase()),c=a in e?e[a]:e[o];if(s.length===1)n[s[0]]=c;else{let l=n;for(let u=0;u<s.length-1;u++)(!l[s[u]]||typeof l[s[u]]!="object")&&(l[s[u]]={}),l=l[s[u]];l[s[s.length-1]]=c}}return n}function oe(e,t){for(let n of t){let o=n.schema.name.split("_"),s=o.pop(),c=I(e,o).command(s).description(n.schema.description),l=n.schema.input.shape??{},u=Z(l),y=[],b=[],_=[];for(let{flatKey:f,field:i}of u){let r=i.description??f,m=i;for(;m._def.typeName==="ZodEffects";)m=m._def.schema;let g=m._def.typeName,d=m;d._def.typeName==="ZodNullable"&&(d=d._def.innerType),d._def.typeName==="ZodNumber"&&b.push(f),d._def.typeName==="ZodRecord"&&_.push(f),g==="ZodBoolean"?c.option(`--${f}`,r,!1):g==="ZodNullable"?(c.option(`--${f} <${f}>`,r),y.push(f)):c.requiredOption(`--${f} <${f}>`,r)}c.action(async f=>{n.schema.name.startsWith("consent_")||await R.handler({});for(let r of y){let m=r.replace(/-([a-z])/g,(g,d)=>d.toUpperCase());f[m]===void 0&&(f[m]=null)}for(let r of b){let m=r.replace(/-([a-z])/g,(g,d)=>d.toUpperCase());f[m]!=null&&typeof f[m]=="string"&&(f[m]=Number(f[m]))}for(let r of _){let m=r.replace(/-([a-z])/g,(g,d)=>d.toUpperCase());if(typeof f[m]=="string")try{f[m]=JSON.parse(f[m])}catch{console.error(`Invalid JSON for --${r}`),process.exit(1)}}let i=re(f,u);try{let r=await n.handler(i);D(r)}catch(r){console.error(r instanceof Error?r.message:String(r)),process.exit(1)}})}}function se(e){if(e.$ref&&e.definitions){let t=e.$ref.replace("#/definitions/","");return e.definitions[t]}return e}function ie(e){return Array.isArray(e.type)?e.type.includes("null"):e.anyOf?e.anyOf.some(t=>t.type==="null"):!1}function ae(e){return Array.isArray(e.type)?e.type.includes("object"):e.anyOf?e.anyOf.some(t=>t.type==="object"):e.type==="object"}function ce(e){return Array.isArray(e.type)?e.type.some(t=>t==="number"||t==="integer"):e.anyOf?e.anyOf.some(t=>t.type==="number"||t.type==="integer"):e.type==="number"||e.type==="integer"}async function le(e){let t=e.wallet,n=e.chain;if(typeof t!="string"||typeof n!="string")return;let o=v(t);if(!o)return;let s;try{s=(await C.chain.retrieve({chain:n})).keyFamily}catch{return}let a=o.addresses[s];a&&(e.wallet=a)}var M=new Set(["swaps_transaction_build","token_transfer","transaction_register","virtual-account_offramp_initiate","prediction-market_position_buy","prediction-market_position_sell","prediction-market_position_redeem","commerce_cart_update","commerce_checkout_start","commerce_checkout_pay"]);function fe(e,t){for(let n of t){if(M.has(n.name))continue;let o=n.name.split("_"),s=o.pop(),a=I(e,o);if(a.commands.find(i=>i.name()===s))continue;let c=a.command(s).description(n.description),l=se(n.inputSchema),u=l.properties??{},y=new Set(l.required??[]),b=[],_=[],f=[];for(let[i,r]of Object.entries(u)){let m=r.description??i,g=ie(r),d=ae(r);ce(r)&&_.push(i),d?(f.push(i),y.has(i)&&!g?c.requiredOption(`--${i} <json>`,`${m} (as JSON)`):(c.option(`--${i} <json>`,`${m} (as JSON)`),b.push(i))):g||!y.has(i)?(c.option(`--${i} <${i}>`,m),b.push(i)):c.requiredOption(`--${i} <${i}>`,m)}c.action(async i=>{await R.handler({});for(let r of b)i[r]===void 0&&(i[r]=null);for(let r of _)i[r]!=null&&typeof i[r]=="string"&&(i[r]=Number(i[r]));for(let r of f)if(typeof i[r]=="string")try{i[r]=JSON.parse(i[r])}catch{console.error(`Invalid JSON for --${r}`),process.exit(1)}try{await le(i);let r=await C._call(n.name,i);D(r),L()}catch(r){console.error(r instanceof Error?r.message:String(r)),process.exit(1)}})}}oe(h,O);fe(h,j);h.command("tools").description("List available tools").action(()=>{let e=[...O.map(n=>({name:n.schema.name,description:n.schema.description})),...j.filter(n=>!O.some(o=>o.schema.name===n.name)&&!M.has(n.name)).map(n=>({name:n.name,description:n.description}))].sort((n,o)=>n.name.localeCompare(o.name)),t=[];for(let n of e){let o=n.name.replace(/_/g," ");t.push(` ${p.green(o.padEnd(28))} ${p.dim(n.description)}`)}t.push(""),t.push(p.dim(`${e.length} tools`)),console.log(t.join(`
18
18
  `)),L()});h.parse();
@@ -7,6 +7,6 @@ Run: npm i -g @moonpay/cli --include=optional`;function y(){try{let e=S("@ledger
7
7
  `),p}async function U(){if(!p)return null;try{let e=y(),i=f().getDeviceSessionState({sessionId:p}),s=await e.firstValueFrom(i.pipe(e.take(1),e.timeout(3e3)));return s.sessionStateType>=1?s.currentApp?.name??null:null}catch{return null}}var M={evm:"Ethereum",solana:"Solana"};function _(e){let n=String(e);return n.includes("6807")||n.includes("6a15")||n.includes("UnknownDeviceExchangeError")}async function C(e){process.stderr.write(`Installing ${e} app on your Ledger...
8
8
  `);let{OpenAppWithDependenciesDeviceAction:n}=y(),i=new n({input:{appName:e}}),t=f().executeDeviceAction({sessionId:E(),deviceAction:i});await m(t,`Install ${e}`,18e4),process.stderr.write(`Installed ${e} app
9
9
  `)}async function R(e){let n=M[e];if(!n||await U()===n)return;process.stderr.write(`Opening ${n} app on your Ledger...
10
- `);let{OpenAppDeviceAction:s}=y(),t=new s({input:{appName:n}}),u=f().executeDeviceAction({sessionId:E(),deviceAction:t});try{await m(u,`Open ${n}`)}catch(c){if(_(c)){await D(),await C(n),await D();return}if(!String(c).includes("isconnect"))throw c}await D()}async function D(){try{await f().disconnect({sessionId:p})}catch{}p=null,await new Promise(e=>setTimeout(e,500)),await P()}function $(e,n=0){switch(e){case"evm":return`44'/60'/${n}'/0/0`;case"solana":return`44'/501'/${n}'/0'`;default:throw new Error(`${e} derivation via Ledger is not supported.`)}}function k(e){return e.startsWith("0x")?e.slice(2):e}function T(e){return e.startsWith("0x")?e:`0x${e}`}async function x(e){let{moonpay:n}=await import("./client-3AYLPR6U.js"),s=(await n.chain.retrieve({chain:e})).keyFamily;if(s==="bitcoin")throw new Error("Bitcoin address derivation via Ledger is not yet supported.");if(s==="tron")throw new Error("Tron address derivation via Ledger is not supported. The Ethereum signer cannot interact with the Tron Ledger app.");await R(s);let t=$(s),a=E(),u=f();switch(s){case"evm":{let{SignerEthBuilder:c}=I(),l=new c({dmk:u,sessionId:a}).build().getAddress(t,{skipOpenApp:!1});return(await m(l,"Get Ethereum address")).address}case"solana":{let{SignerSolanaBuilder:c}=L(),l=new c({dmk:u,sessionId:a}).build().getAddress(t,{skipOpenApp:!1});return await m(l,"Get Solana address")}default:throw new Error(`Ledger address derivation not supported for ${s}`)}}async function F(){let e={};try{e.ethereum=await x("ethereum")}catch(n){process.stderr.write(`Failed to get Ethereum address: ${n}
10
+ `);let{OpenAppDeviceAction:s}=y(),t=new s({input:{appName:n}}),u=f().executeDeviceAction({sessionId:E(),deviceAction:t});try{await m(u,`Open ${n}`)}catch(c){if(_(c)){await D(),await C(n),await D();return}if(!String(c).includes("isconnect"))throw c}await D()}async function D(){try{await f().disconnect({sessionId:p})}catch{}p=null,await new Promise(e=>setTimeout(e,500)),await P()}function $(e,n=0){switch(e){case"evm":return`44'/60'/${n}'/0/0`;case"solana":return`44'/501'/${n}'/0'`;default:throw new Error(`${e} derivation via Ledger is not supported.`)}}function k(e){return e.startsWith("0x")?e.slice(2):e}function T(e){return e.startsWith("0x")?e:`0x${e}`}async function x(e){let{moonpay:n}=await import("./client-WDFYGAXX.js"),s=(await n.chain.retrieve({chain:e})).keyFamily;if(s==="bitcoin")throw new Error("Bitcoin address derivation via Ledger is not yet supported.");if(s==="tron")throw new Error("Tron address derivation via Ledger is not supported. The Ethereum signer cannot interact with the Tron Ledger app.");await R(s);let t=$(s),a=E(),u=f();switch(s){case"evm":{let{SignerEthBuilder:c}=I(),l=new c({dmk:u,sessionId:a}).build().getAddress(t,{skipOpenApp:!1});return(await m(l,"Get Ethereum address")).address}case"solana":{let{SignerSolanaBuilder:c}=L(),l=new c({dmk:u,sessionId:a}).build().getAddress(t,{skipOpenApp:!1});return await m(l,"Get Solana address")}default:throw new Error(`Ledger address derivation not supported for ${s}`)}}async function F(){let e={};try{e.ethereum=await x("ethereum")}catch(n){process.stderr.write(`Failed to get Ethereum address: ${n}
11
11
  `)}try{e.solana=await x("solana")}catch(n){process.stderr.write(`Failed to get Solana address: ${n}
12
- `)}if(!e.ethereum&&!e.solana)throw new Error("Could not derive any addresses from Ledger device");return e}async function H(e,n){let{moonpay:i}=await import("./client-3AYLPR6U.js"),t=(await i.chain.retrieve({chain:e})).keyFamily;if(t==="bitcoin")throw new Error("Bitcoin transaction signing via Ledger is not yet supported. Use a software wallet for Bitcoin transactions.");if(t==="tron")throw new Error("Tron transaction signing via Ledger is not supported. Use a software wallet for Tron transactions.");await R(t);let a=$(t),u=E(),c=f();switch(t){case"evm":{let{SignerEthBuilder:d}=I(),l=new d({dmk:c,sessionId:u}).build(),w=T(n.startsWith("0x")?n:Buffer.from(n,"base64").toString("hex")),o=Uint8Array.from(Buffer.from(k(w),"hex")),r=l.signTransaction(a,o,{skipOpenApp:!1}),g=await m(r,"Sign transaction"),{parseTransaction:v,serializeTransaction:A}=await import("viem"),B=v(w);return{transaction:A(B,{r:T(k(g.r)),s:T(k(g.s)),v:BigInt(g.v)})}}case"solana":{let{SignerSolanaBuilder:d}=L(),l=new d({dmk:c,sessionId:u}).build(),{VersionedTransaction:w}=await import("@solana/web3.js"),o=Uint8Array.from(Buffer.from(n,"base64")),r=w.deserialize(o),g=r.message.serialize(),v=l.signTransaction(a,g,{skipOpenApp:!1}),A=await m(v,"Sign Solana transaction");return r.signatures[0]=A,{transaction:Buffer.from(r.serialize()).toString("base64")}}default:throw new Error(`Ledger transaction signing not supported for ${t}`)}}async function V(e,n){let{moonpay:i}=await import("./client-3AYLPR6U.js"),t=(await i.chain.retrieve({chain:e})).keyFamily;if(t==="bitcoin")throw new Error("Bitcoin message signing via Ledger is not yet supported. Use a software wallet for Bitcoin message signing.");if(t==="tron")throw new Error("Tron message signing via Ledger is not supported. Use a software wallet for Tron message signing.");await R(t);let a=$(t),u=E(),c=f();switch(t){case"evm":{let{SignerEthBuilder:d}=I(),w=new d({dmk:c,sessionId:u}).build().signMessage(a,n,{skipOpenApp:!1}),o=await m(w,"Sign message"),r=k(o.r),g=k(o.s),v=o.v.toString(16).padStart(2,"0");return{signature:`0x${r}${g}${v}`}}case"solana":{let{SignerSolanaBuilder:d}=L(),l=new d({dmk:c,sessionId:u}).build(),w=Buffer.from(n,"utf8").toString("hex"),o=l.signMessage(a,w,{skipOpenApp:!1}),r=await m(o,"Sign Solana message");return{signature:(await import("bs58")).default.encode(r)}}default:throw new Error(`Ledger message signing not supported for ${t}`)}}async function q(){if(p){try{await f().disconnect({sessionId:p})}catch{}p=null}if(h){try{h.close()}catch{}h=null}}export{P as connectLedger,q as disconnectLedger,x as ledgerGetAddress,F as ledgerGetAllAddresses,V as ledgerSignMessage,H as ledgerSignTransaction};
12
+ `)}if(!e.ethereum&&!e.solana)throw new Error("Could not derive any addresses from Ledger device");return e}async function H(e,n){let{moonpay:i}=await import("./client-WDFYGAXX.js"),t=(await i.chain.retrieve({chain:e})).keyFamily;if(t==="bitcoin")throw new Error("Bitcoin transaction signing via Ledger is not yet supported. Use a software wallet for Bitcoin transactions.");if(t==="tron")throw new Error("Tron transaction signing via Ledger is not supported. Use a software wallet for Tron transactions.");await R(t);let a=$(t),u=E(),c=f();switch(t){case"evm":{let{SignerEthBuilder:d}=I(),l=new d({dmk:c,sessionId:u}).build(),w=T(n.startsWith("0x")?n:Buffer.from(n,"base64").toString("hex")),o=Uint8Array.from(Buffer.from(k(w),"hex")),r=l.signTransaction(a,o,{skipOpenApp:!1}),g=await m(r,"Sign transaction"),{parseTransaction:v,serializeTransaction:A}=await import("viem"),B=v(w);return{transaction:A(B,{r:T(k(g.r)),s:T(k(g.s)),v:BigInt(g.v)})}}case"solana":{let{SignerSolanaBuilder:d}=L(),l=new d({dmk:c,sessionId:u}).build(),{VersionedTransaction:w}=await import("@solana/web3.js"),o=Uint8Array.from(Buffer.from(n,"base64")),r=w.deserialize(o),g=r.message.serialize(),v=l.signTransaction(a,g,{skipOpenApp:!1}),A=await m(v,"Sign Solana transaction");return r.signatures[0]=A,{transaction:Buffer.from(r.serialize()).toString("base64")}}default:throw new Error(`Ledger transaction signing not supported for ${t}`)}}async function V(e,n){let{moonpay:i}=await import("./client-WDFYGAXX.js"),t=(await i.chain.retrieve({chain:e})).keyFamily;if(t==="bitcoin")throw new Error("Bitcoin message signing via Ledger is not yet supported. Use a software wallet for Bitcoin message signing.");if(t==="tron")throw new Error("Tron message signing via Ledger is not supported. Use a software wallet for Tron message signing.");await R(t);let a=$(t),u=E(),c=f();switch(t){case"evm":{let{SignerEthBuilder:d}=I(),w=new d({dmk:c,sessionId:u}).build().signMessage(a,n,{skipOpenApp:!1}),o=await m(w,"Sign message"),r=k(o.r),g=k(o.s),v=o.v.toString(16).padStart(2,"0");return{signature:`0x${r}${g}${v}`}}case"solana":{let{SignerSolanaBuilder:d}=L(),l=new d({dmk:c,sessionId:u}).build(),w=Buffer.from(n,"utf8").toString("hex"),o=l.signMessage(a,w,{skipOpenApp:!1}),r=await m(o,"Sign Solana message");return{signature:(await import("bs58")).default.encode(r)}}default:throw new Error(`Ledger message signing not supported for ${t}`)}}async function q(){if(p){try{await f().disconnect({sessionId:p})}catch{}p=null}if(h){try{h.close()}catch{}h=null}}export{P as connectLedger,q as disconnectLedger,x as ledgerGetAddress,F as ledgerGetAllAddresses,V as ledgerSignMessage,H as ledgerSignTransaction};
@@ -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 f,d as u}from"./chunk-5CEUSMVB.js";import{b as d}from"./chunk-IG3ZSEID.js";import"./chunk-LUM42VRQ.js";import{e as l,g as R}from"./chunk-W6QGH333.js";import"./chunk-LMDE72OE.js";import{Server as N}from"@modelcontextprotocol/sdk/server/index.js";import{StdioServerTransport as O}from"@modelcontextprotocol/sdk/server/stdio.js";import{CallToolRequestSchema as T,ListToolsRequestSchema as x}from"@modelcontextprotocol/sdk/types.js";import{zodToJsonSchema as k}from"zod-to-json-schema";R();var y=new Map(u.map(s=>[s.schema.name,s]));function q(s){let n=s.inputSchema;if(n.$ref&&n.definitions){let c=n.$ref.replace("#/definitions/","");return n.definitions[c]??n}return n}async function P(){let s=new N({name:"moonpay",version:l},{capabilities:{tools:{listChanged:!0}}}),n=u.map(e=>({name:e.schema.name,description:e.schema.description,inputSchema:k(e.schema.input)})),c=new Map;for(let e of f){if(y.has(e.name))continue;let t=q(e);c.set(e.name,t.properties??{}),n.push({name:e.name,description:e.description,inputSchema:{type:"object",properties:t.properties??{},...t.required?{required:t.required}:{},...t.additionalProperties!==void 0?{additionalProperties:t.additionalProperties}:{}}})}let h=new Map(n.map(e=>[e.name,e]));s.setRequestHandler(x,async()=>({tools:n.map(e=>({name:e.name,description:e.description,inputSchema:e.inputSchema}))})),s.setRequestHandler(T,async e=>{let{name:t,arguments:o={}}=e.params;if(!h.has(t))return{content:[{type:"text",text:`Unknown tool: ${t}`}],isError:!0};try{let i=y.get(t);if(i){let p=i.schema.input.shape??{};for(let[m,a]of Object.entries(p))o[m]===void 0&&a._def.typeName==="ZodNullable"&&(o[m]=null);let r=await i.handler(o);return{content:[{type:"text",text:JSON.stringify(r,null,2)}]}}let S=c.get(t)??{};for(let[p,r]of Object.entries(S))o[p]===void 0&&(Array.isArray(r.type)?r.type.includes("null"):r.anyOf?.some(w=>w.type==="null"))&&(o[p]=null),(r.type==="number"||r.type==="integer"||Array.isArray(r.type)&&r.type.some(a=>a==="number"||a==="integer")||r.anyOf?.some(a=>a.type==="number"||a.type==="integer"))&&typeof o[p]=="string"&&(o[p]=Number(o[p]));let b=await d._call(t,o);return{content:[{type:"text",text:JSON.stringify(b,null,2)}]}}catch(i){return{content:[{type:"text",text:i instanceof Error?i.message:String(i)}],isError:!0}}});let g=new O;await s.connect(g)}export{P as startMcpServer};
2
+ import{a as f,d as u}from"./chunk-JLPRMAAY.js";import{b as d}from"./chunk-RCUZV376.js";import"./chunk-5TWTVW4R.js";import{e as l,g as R}from"./chunk-GK5QL53M.js";import"./chunk-LMDE72OE.js";import{Server as N}from"@modelcontextprotocol/sdk/server/index.js";import{StdioServerTransport as O}from"@modelcontextprotocol/sdk/server/stdio.js";import{CallToolRequestSchema as T,ListToolsRequestSchema as x}from"@modelcontextprotocol/sdk/types.js";import{zodToJsonSchema as k}from"zod-to-json-schema";R();var y=new Map(u.map(s=>[s.schema.name,s]));function q(s){let n=s.inputSchema;if(n.$ref&&n.definitions){let c=n.$ref.replace("#/definitions/","");return n.definitions[c]??n}return n}async function P(){let s=new N({name:"moonpay",version:l},{capabilities:{tools:{listChanged:!0}}}),n=u.map(e=>({name:e.schema.name,description:e.schema.description,inputSchema:k(e.schema.input)})),c=new Map;for(let e of f){if(y.has(e.name))continue;let t=q(e);c.set(e.name,t.properties??{}),n.push({name:e.name,description:e.description,inputSchema:{type:"object",properties:t.properties??{},...t.required?{required:t.required}:{},...t.additionalProperties!==void 0?{additionalProperties:t.additionalProperties}:{}}})}let h=new Map(n.map(e=>[e.name,e]));s.setRequestHandler(x,async()=>({tools:n.map(e=>({name:e.name,description:e.description,inputSchema:e.inputSchema}))})),s.setRequestHandler(T,async e=>{let{name:t,arguments:o={}}=e.params;if(!h.has(t))return{content:[{type:"text",text:`Unknown tool: ${t}`}],isError:!0};try{let i=y.get(t);if(i){let p=i.schema.input.shape??{};for(let[m,a]of Object.entries(p))o[m]===void 0&&a._def.typeName==="ZodNullable"&&(o[m]=null);let r=await i.handler(o);return{content:[{type:"text",text:JSON.stringify(r,null,2)}]}}let S=c.get(t)??{};for(let[p,r]of Object.entries(S))o[p]===void 0&&(Array.isArray(r.type)?r.type.includes("null"):r.anyOf?.some(w=>w.type==="null"))&&(o[p]=null),(r.type==="number"||r.type==="integer"||Array.isArray(r.type)&&r.type.some(a=>a==="number"||a==="integer")||r.anyOf?.some(a=>a.type==="number"||a.type==="integer"))&&typeof o[p]=="string"&&(o[p]=Number(o[p]));let b=await d._call(t,o);return{content:[{type:"text",text:JSON.stringify(b,null,2)}]}}catch(i){return{content:[{type:"text",text:i instanceof Error?i.message:String(i)}],isError:!0}}});let g=new O;await s.connect(g)}export{P as startMcpServer};
@@ -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 v,B as w,f as a,g as b,h as c,i as d,j as e,k as f,l as g,m as h,n as i,o as j,p as k,q as l,r as m,s as n,t as o,u as p,v as q,w as r,x as s,y as t,z as u}from"./chunk-LUM42VRQ.js";import"./chunk-W6QGH333.js";import"./chunk-LMDE72OE.js";export{m as addHardwareWallet,u as addWallet,d as createWallet,j as deleteWallet,l as exportSecret,h as findWallet,i as findWalletOrThrow,a as getVaultPath,e as importMnemonic,f as importPrivateKey,g as listWallets,s as loadWallets,c as migrateWallets,w as mutateWallets,p as owsSignMessage,o as owsSignTransaction,q as owsSignTypedData,n as refreshHardwareAddresses,t as removeWallet,k as renameWallet,b as requireMigrationCheck,r as resolveSigningKey,v as saveWallets};
2
+ import{A as v,B as w,f as a,g as b,h as c,i as d,j as e,k as f,l as g,m as h,n as i,o as j,p as k,q as l,r as m,s as n,t as o,u as p,v as q,w as r,x as s,y as t,z as u}from"./chunk-5TWTVW4R.js";import"./chunk-GK5QL53M.js";import"./chunk-LMDE72OE.js";export{m as addHardwareWallet,u as addWallet,d as createWallet,j as deleteWallet,l as exportSecret,h as findWallet,i as findWalletOrThrow,a as getVaultPath,e as importMnemonic,f as importPrivateKey,g as listWallets,s as loadWallets,c as migrateWallets,w as mutateWallets,p as owsSignMessage,o as owsSignTransaction,q as owsSignTypedData,n as refreshHardwareAddresses,t as removeWallet,k as renameWallet,b as requireMigrationCheck,r as resolveSigningKey,v as saveWallets};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@moonpay/cli",
3
- "version": "1.19.0",
3
+ "version": "1.19.1",
4
4
  "description": "MoonPay CLI — how agents move money",
5
5
  "homepage": "https://agents.moonpay.com",
6
6
  "publishConfig": {
@@ -54,7 +54,7 @@
54
54
  "@x402/axios": "2.4.0",
55
55
  "@x402/core": "2.4.0",
56
56
  "@x402/evm": "2.4.0",
57
- "@x402/svm": "2.4.0"
57
+ "@x402/svm": "2.6.0"
58
58
  },
59
59
  "engines": {
60
60
  "node": ">=18.0.0"
@@ -1,2 +0,0 @@
1
- process.noDeprecation = true; import { createRequire as __createRequire } from "module"; const require = __createRequire(import.meta.url);
2
- import{Da as D,Gl as ct,a as V,b as G,c as j,cd as z,d as K,e as f,f as H,fa as at,g as C,h as b,i as q,j as J,k as Y,l as P,m as k,n as I,o as Z,p as X,q as Q,r as $,s as tt,t as et,u as nt,v as rt,w as T,x as ot}from"./chunk-AT2QGHZK.js";import"./chunk-LMDE72OE.js";function it(t){return JSON.parse(Wt(t),(e,n)=>jt(n)?Gt(n):n)}function Wt(t){let e=[],n=!1;for(let r=0;r<t.length;r++){let o=!1;if(t[r]==="\\"&&(e.push(t[r++]),o=!o),t[r]==='"'){e.push(t[r]),o||(n=!n);continue}if(!n){let a=Ft(t,r);if(a?.length){r+=a.length-1,a.match(/\.|[eE]-/)?e.push(a):e.push(Vt(a));continue}}e.push(t[r])}return e.join("")}function Ft(t,e){let n=/^-?(?:0|[1-9]\d*)(?:\.\d+)?(?:[eE][+-]?\d+)?/;if(!t[e]?.match(/[-\d]/))return null;let r=t.slice(e).match(n);return r?r[0]:null}function Vt(t){return`{"$n":"${t}"}`}function Gt({$n:t}){if(t.match(/[eE]/)){let[e,n]=t.split(/[eE]/);return BigInt(e)*BigInt(10)**BigInt(n)}return BigInt(t)}function jt(t){return!!t&&typeof t=="object"&&"$n"in t&&typeof t.$n=="string"}var st=0n;function Kt(){let t=st;return st++,t.toString()}function ut(t){return{id:Kt(),jsonrpc:"2.0",method:t.methodName,params:t.params}}function dt(t,e){return qt(JSON.stringify(t,(n,r)=>typeof r=="bigint"?Ht(r):r,e))}function Ht(t){return{$n:`${t}`}}function qt(t){return t.replace(/\{\s*"\$n"\s*:\s*"(-?\d+)"\s*\}/g,"$1")}function lt(t){return Jt(t)}function Jt(t){return new Proxy(t.api,{defineProperty(){return!1},deleteProperty(){return!1},get(e,n,r){if(n!=="then")return function(...o){let a=n.toString(),s=Reflect.get(e,a,r);if(!s)throw new f(K,{method:a,params:o});let u=s(...o);return Yt(t,u)}}})}function Yt({transport:t},e){return{async send(n){return await e.execute({signal:n?.abortSignal,transport:t})}}}function mt(t){return new Proxy({},{defineProperty(){return!1},deleteProperty(){return!1},get(...e){let[n,r]=e,o=r.toString();return function(...a){let s=Object.freeze({methodName:o,params:a}),u=t?.requestTransformer?t?.requestTransformer(s):s;return Object.freeze({execute:async({signal:i,transport:l})=>{let m=ut(u),d=await l({payload:m,signal:i});return t?.responseTransformer?t.responseTransformer(d,u):d}})}}})}function h(t){return t==null||typeof t!="object"||Array.isArray(t)?!1:"jsonrpc"in t&&t.jsonrpc==="2.0"&&"method"in t&&typeof t.method=="string"&&"params"in t}function Zt(t){return typeof t=="bigint"?Number(t):t}var c={};function gt(t){return function e(n,r){if(Array.isArray(n))return n.map((o,a)=>{let s={...r,keyPath:[...r.keyPath,a]};return e(o,s)});if(typeof n=="object"&&n!==null){let o={};for(let a in n){if(!Object.prototype.hasOwnProperty.call(n,a))continue;let s={...r,keyPath:[...r.keyPath,a]};o[a]=e(n[a],s)}return o}else return t.reduce((o,a)=>a(o,r),n)}}function At(t,e){return n=>{let r=gt(t);return Object.freeze({...n,params:r(n.params,e)})}}function ft(t,e){return n=>gt(t)(n,e)}function Xt(){return At([Zt],{keyPath:[]})}function Qt({commitmentPropertyName:t,params:e,optionsObjectPositionInParams:n,overrideCommitment:r}){let o=e[n];if(o===void 0||o&&typeof o=="object"&&!Array.isArray(o)){if(o&&t in o){if(!o[t]||o[t]==="finalized"){let a=[...e],{[t]:s,...u}=o;return Object.keys(u).length>0?a[n]=u:n===a.length-1?a.length--:a[n]=void 0,a}}else if(r!=="finalized"){let a=[...e];return a[n]={...o,[t]:r},a}}return e}function $t({defaultCommitment:t,optionsObjectPositionByMethod:e}){return n=>{let{params:r,methodName:o}=n;if(!Array.isArray(r))return n;let a=e[o];return a==null?n:Object.freeze({methodName:o,params:Qt({commitmentPropertyName:o==="sendTransaction"?"preflightCommitment":"commitment",optionsObjectPositionInParams:a,overrideCommitment:t,params:r})})}}function te(t){return(e,{keyPath:n})=>(typeof e=="bigint"&&t&&(e>Number.MAX_SAFE_INTEGER||e<-Number.MAX_SAFE_INTEGER)&&t(n,e),e)}function ee(t){return e=>At([te((...r)=>t(e,...r))],{keyPath:[]})(e)}var ne={accountNotifications:1,blockNotifications:1,getAccountInfo:1,getBalance:1,getBlock:1,getBlockHeight:0,getBlockProduction:0,getBlocks:2,getBlocksWithLimit:2,getEpochInfo:0,getFeeForMessage:1,getInflationGovernor:0,getInflationReward:1,getLargestAccounts:0,getLatestBlockhash:0,getLeaderSchedule:1,getMinimumBalanceForRentExemption:1,getMultipleAccounts:1,getProgramAccounts:1,getSignaturesForAddress:1,getSlot:0,getSlotLeader:0,getStakeMinimumDelegation:0,getSupply:0,getTokenAccountBalance:1,getTokenAccountsByDelegate:2,getTokenAccountsByOwner:2,getTokenLargestAccounts:1,getTokenSupply:1,getTransaction:1,getTransactionCount:0,getVoteAccounts:0,isBlockhashValid:1,logsNotifications:1,programNotifications:1,requestAirdrop:2,sendTransaction:1,signatureNotifications:1,simulateTransaction:1};function It(t){let e=t?.onIntegerOverflow;return n=>I(n,e?ee(e):r=>r,Xt(),$t({defaultCommitment:t?.defaultCommitment,optionsObjectPositionByMethod:ne}))}function pt(t){return function(n,{keyPath:r}){return typeof n=="number"&&Number.isInteger(n)||typeof n=="bigint"?re(r,t)?Number(n):BigInt(n):n}}function re(t,e){return e.some(n=>{if(n.length!==t.length)return!1;for(let r=t.length-1;r>=0;r--){let o=t[r],a=n[r];if(a!==o&&(a!==c||typeof o!="number"))return!1}return!0})}function oe(t){return ft([pt(t)],{keyPath:[]})}function ae(){return t=>t.result}var v=[["data","parsed","info","tokenAmount","decimals"],["data","parsed","info","tokenAmount","uiAmount"],["data","parsed","info","rentExemptReserve","decimals"],["data","parsed","info","rentExemptReserve","uiAmount"],["data","parsed","info","delegatedAmount","decimals"],["data","parsed","info","delegatedAmount","uiAmount"],["data","parsed","info","extensions",c,"state","olderTransferFee","transferFeeBasisPoints"],["data","parsed","info","extensions",c,"state","newerTransferFee","transferFeeBasisPoints"],["data","parsed","info","extensions",c,"state","preUpdateAverageRate"],["data","parsed","info","extensions",c,"state","currentRate"]],p=[...v,["data","parsed","info","lastExtendedSlotStartIndex"],["data","parsed","info","slashPenalty"],["data","parsed","info","warmupCooldownRate"],["data","parsed","info","decimals"],["data","parsed","info","numRequiredSigners"],["data","parsed","info","numValidSigners"],["data","parsed","info","stake","delegation","warmupCooldownRate"],["data","parsed","info","exemptionThreshold"],["data","parsed","info","burnPercent"],["data","parsed","info","commission"],["data","parsed","info","votes",c,"confirmationCount"]],E=[["index"],["instructions",c,"accounts",c],["instructions",c,"programIdIndex"],["instructions",c,"stackHeight"]],U=[["addressTableLookups",c,"writableIndexes",c],["addressTableLookups",c,"readonlyIndexes",c],["header","numReadonlySignedAccounts"],["header","numReadonlyUnsignedAccounts"],["header","numRequiredSignatures"],["instructions",c,"accounts",c],["instructions",c,"programIdIndex"],["instructions",c,"stackHeight"]];function ce(){return[["loadedAccountsDataSize"],...p.map(t=>["accounts",c,...t]),...E.map(t=>["innerInstructions",c,...t])]}function se(){return(t,e)=>{let n=t;if("error"in n){let{error:r}=n;if(r&&typeof r=="object"&&"code"in r&&(r.code===-32002||r.code===-32002n)&&"data"in r&&r.data){let s=ft([pt(ce())],{keyPath:[]})(r.data,e),u={...r,data:s};throw C(u)}throw C(n.error)}return n}}function Tt(t){return(e,n)=>{let r=n.methodName,o=t?.allowedNumericKeyPaths&&r?t.allowedNumericKeyPaths[r]:void 0;return I(e,a=>se()(a,n),a=>ae()(a,n),a=>oe(o??[])(a,n))}}function Et(t){return mt({requestTransformer:It(t),responseTransformer:Tt({allowedNumericKeyPaths:ie()})})}var L;function ie(){return L||(L={getAccountInfo:p.map(t=>["value",...t]),getBlock:[["transactions",c,"meta","preTokenBalances",c,"accountIndex"],["transactions",c,"meta","preTokenBalances",c,"uiTokenAmount","decimals"],["transactions",c,"meta","postTokenBalances",c,"accountIndex"],["transactions",c,"meta","postTokenBalances",c,"uiTokenAmount","decimals"],["transactions",c,"meta","rewards",c,"commission"],...E.map(t=>["transactions",c,"meta","innerInstructions",c,...t]),...U.map(t=>["transactions",c,"transaction","message",...t]),["rewards",c,"commission"]],getClusterNodes:[[c,"featureSet"],[c,"shredVersion"]],getInflationGovernor:[["initial"],["foundation"],["foundationTerm"],["taper"],["terminal"]],getInflationRate:[["foundation"],["total"],["validator"]],getInflationReward:[[c,"commission"]],getMultipleAccounts:p.map(t=>["value",c,...t]),getProgramAccounts:p.flatMap(t=>[["value",c,"account",...t],[c,"account",...t]]),getRecentPerformanceSamples:[[c,"samplePeriodSecs"]],getTokenAccountBalance:[["value","decimals"],["value","uiAmount"]],getTokenAccountsByDelegate:v.map(t=>["value",c,"account",...t]),getTokenAccountsByOwner:v.map(t=>["value",c,"account",...t]),getTokenLargestAccounts:[["value",c,"decimals"],["value",c,"uiAmount"]],getTokenSupply:[["value","decimals"],["value","uiAmount"]],getTransaction:[["meta","preTokenBalances",c,"accountIndex"],["meta","preTokenBalances",c,"uiTokenAmount","decimals"],["meta","postTokenBalances",c,"accountIndex"],["meta","postTokenBalances",c,"uiTokenAmount","decimals"],["meta","rewards",c,"commission"],...E.map(t=>["meta","innerInstructions",c,...t]),...U.map(t=>["transaction","message",...t])],getVersion:[["feature-set"]],getVoteAccounts:[["current",c,"commission"],["delinquent",c,"commission"]],simulateTransaction:[["value","loadedAccountsDataSize"],...p.map(t=>["value","accounts",c,...t]),...E.map(t=>["value","innerInstructions",c,...t])]}),L}var ue={accept:!0,"content-length":!0,"content-type":!0},de=Object.assign({"accept-charset":!0,"access-control-request-headers":!0,"access-control-request-method":!0,connection:!0,"content-length":!0,cookie:!0,date:!0,dnt:!0,expect:!0,host:!0,"keep-alive":!0,"permissions-policy":!0,referer:!0,te:!0,trailer:!0,"transfer-encoding":!0,upgrade:!0,via:!0},void 0,void 0);function le(t){let e=Object.keys(t).filter(n=>{let r=n.toLowerCase();return ue[n.toLowerCase()]===!0||de[n.toLowerCase()]===!0||r.startsWith("proxy-")||r.startsWith("sec-")});if(e.length>0)throw new f(G,{headers:e})}function me(t){let e={};for(let n in t)e[n.toLowerCase()]=t[n];return e}function ge(t){process.env.NODE_ENV;let{fromJson:e,headers:n,toJson:r,url:o}=t;process.env.NODE_ENV!=="production"&&n&&le(n);let a;"dispatcher_NODE_ONLY"in t&&(a={dispatcher:t.dispatcher_NODE_ONLY});let s=n&&me(n);return async function({payload:i,signal:l}){let m=r?r(i):JSON.stringify(i),d={...a,body:m,headers:{...s,accept:"application/json","content-length":m.length.toString(),"content-type":"application/json; charset=utf-8"},method:"POST",signal:l},g=await fetch(o,d);if(!g.ok)throw new f(j,{headers:g.headers,message:g.statusText,statusCode:g.status});return e?e(await g.text(),i):await g.json()}}var Ae=["getAccountInfo","getBalance","getBlock","getBlockCommitment","getBlockHeight","getBlockProduction","getBlocks","getBlocksWithLimit","getBlockTime","getClusterNodes","getEpochInfo","getEpochSchedule","getFeeForMessage","getFirstAvailableBlock","getGenesisHash","getHealth","getHighestSnapshotSlot","getIdentity","getInflationGovernor","getInflationRate","getInflationReward","getLargestAccounts","getLatestBlockhash","getLeaderSchedule","getMaxRetransmitSlot","getMaxShredInsertSlot","getMinimumBalanceForRentExemption","getMultipleAccounts","getProgramAccounts","getRecentPerformanceSamples","getRecentPrioritizationFees","getSignaturesForAddress","getSignatureStatuses","getSlot","getSlotLeader","getSlotLeaders","getStakeMinimumDelegation","getSupply","getTokenAccountBalance","getTokenAccountsByDelegate","getTokenAccountsByOwner","getTokenLargestAccounts","getTokenSupply","getTransaction","getTransactionCount","getVersion","getVoteAccounts","index","isBlockhashValid","minimumLedgerSlot","requestAirdrop","sendTransaction","simulateTransaction"];function Rt(t){return h(t)&&Ae.includes(t.method)}function St(t){return ge({...t,fromJson:(e,n)=>Rt(n)?it(e):JSON.parse(e),toJson:e=>Rt(e)?dt(e):JSON.stringify(e)})}import{setMaxListeners as pe}from"events";var fe=Object.prototype.toString,Ie=Object.keys||function(t){let e=[];for(let n in t)e.push(n);return e};function R(t,e){let n,r,o,a,s,u,i;if(t===!0)return"true";if(t===!1)return"false";switch(typeof t){case"object":if(t===null)return null;if("toJSON"in t&&typeof t.toJSON=="function")return R(t.toJSON(),e);if(i=fe.call(t),i==="[object Array]"){for(o="[",r=t.length-1,n=0;n<r;n++)o+=R(t[n],!0)+",";return r>-1&&(o+=R(t[n],!0)),o+"]"}else if(i==="[object Object]"){for(a=Ie(t).sort(),r=a.length,o="",n=0;n<r;)s=a[n],u=R(t[s],!1),u!==void 0&&(o&&(o+=","),o+=JSON.stringify(s)+":"+u),n++;return"{"+o+"}"}else return JSON.stringify(t);case"function":case"undefined":return e?null:void 0;case"bigint":return`${t.toString()}n`;case"string":return JSON.stringify(t);default:return isFinite(t)?t:null}}function _t(t){let e=R(t,!1);if(e!==void 0)return""+e}function ht(t,e,n){let r="";if(typeof e[0]=="number"){let s=e[0]+1,u=s%10,i=s%100;u==1&&i!=11?r=s+"st":u==2&&i!=12?r=s+"nd":u==3&&i!=13?r=s+"rd":r=s+"th"}else r=`\`${e[0].toString()}\``;let o=e.length>1?e.slice(1).map(s=>typeof s=="number"?`[${s}]`:s).join("."):void 0,a=new f(V,{argumentLabel:r,keyPath:e,methodName:t,optionalPathLabel:o?` at path \`${o}\``:"",value:n,...o!==void 0?{path:o}:void 0});return H(a,ht),a}var Te={defaultCommitment:"confirmed",onIntegerOverflow(t,e,n){throw ht(t.methodName,e,n)}},Ee=class extends globalThis.AbortController{constructor(...t){super(...t),pe(Number.MAX_SAFE_INTEGER,this.signal)}},Nt;function Dt(){return process.env.NODE_ENV!=="production"?{EXPLICIT_ABORT_TOKEN:"This object is thrown from the request that underlies a series of coalesced requests when the last request in that series aborts"}:{}}function Re(t,e){let n;return async function(o){let{payload:a,signal:s}=o,u=e(a);if(u===void 0)return await t(o);if(n||(queueMicrotask(()=>{n=void 0}),n={}),n[u]==null){let l=new Ee,m=(async()=>{try{return await t({...o,signal:l.signal})}catch(d){if(d===(Nt||=Dt()))return;throw d}})();n[u]={abortController:l,numConsumers:0,responsePromise:m}}let i=n[u];if(i.numConsumers++,s){let l=i.responsePromise;return await new Promise((m,d)=>{let g=M=>{s.removeEventListener("abort",g),i.numConsumers-=1,queueMicrotask(()=>{i.numConsumers===0&&i.abortController.abort(Nt||=Dt())}),d(M.target.reason)};s.addEventListener("abort",g),l.then(m).catch(d).finally(()=>{s.removeEventListener("abort",g)})})}else return await i.responsePromise}}function Se(t){return h(t)?_t([t.method,t.params]):void 0}function _e(t){let e={};for(let n in t)e[n.toLowerCase()]=t[n];return e}function Ne(t){return I(St({...t,headers:{"accept-encoding":"br,gzip,deflate",...t.headers?_e(t.headers):void 0,"solana-client":"js/5.5.1"}}),e=>Re(e,Se))}function w(t,e){return De(Ne({url:t,...e}))}function De(t){return lt({api:Et(Te),transport:t})}var y="TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA";var he=0,ve;process.env.NODE_ENV!=="production"&&(ve={[he]:"Associated token account owner does not match address derivation"});var we=0,ye=1,Oe=2,Me=3,Ce=4,be=5,Pe=6,ke=7,ze=8,Ue=9,Le=10,xe=11,Be=12,We=13,Fe=14,Ve=15,Ge=16,je=17,Ke=18,He=19,qe;process.env.NODE_ENV!=="production"&&(qe={[je]:"Account is frozen",[Pe]:"Already in use",[Ve]:"Account does not support specified authority type",[be]:"Fixed supply",[ye]:"Insufficient funds",[Be]:"Invalid instruction",[Oe]:"Invalid Mint",[ke]:"Invalid number of provided signers",[ze]:"Invalid number of required signers",[We]:"State is invalid for requested operation",[Ge]:"This token mint cannot freeze accounts",[Ke]:"The provided decimals value different from the Mint decimals",[Me]:"Account not associated with this Mint",[Le]:"Instruction does not support native tokens",[xe]:"Non-native account can only be closed if its balance is zero",[He]:"Instruction does not support non-native tokens",[we]:"Lamport balance below rent-exempt threshold",[Fe]:"Operation overflowed",[Ce]:"Owner does not match",[Ue]:"State is unititialized"});process.env.NODE_ENV;var Je="TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA",Ye="TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb",Ze="ComputeBudget111111111111111111111111111111",x="MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr",Xe="L2TExMFKdjpN9kozasaurPirfHy9P8sbXoAN1qA3S95",vt="https://api.devnet.solana.com",wt="https://api.testnet.solana.com",yt="https://api.mainnet-beta.solana.com",Qe="wss://api.devnet.solana.com",$e="wss://api.testnet.solana.com",tn="wss://api.mainnet-beta.solana.com",Ot="EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",Mt="4zMMC9srt5Ri5X14GAgXhaHii3GnPAEERYPJgZJDncDU",Ct="4zMMC9srt5Ri5X14GAgXhaHii3GnPAEERYPJgZJDncDU",B=1,en=5e6,W=2e4,bt=/^[1-9A-HJ-NP-Za-km-z]{32,44}$/,S="solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",_="solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1",N="solana:4uhcVJyU9pJkvQyS88uRDiswHXSCkY3z",Pt={solana:S,"solana-devnet":_,"solana-testnet":N};function F(t){if(t.includes(":")){if(![S,_,N].includes(t))throw new Error(`Unsupported SVM network: ${t}`);return t}let e=Pt[t];if(!e)throw new Error(`Unsupported SVM network: ${t}`);return e}function nn(t){return bt.test(t)}function kt(t){try{let n=q().encode(t.transaction);return rt().decode(n)}catch(e){throw console.error("Error decoding transaction:",e),new Error("invalid_exact_svm_payload_transaction")}}function rn(t){let e=X().decode(t.messageBytes),n=e.staticAccounts??[],r=e.instructions??[];for(let o of r){let a=o.programAddressIndex,s=n[a].toString();if(s===y.toString()||s===D.toString()){let u=o.accountIndices??[];if(u.length>=4){let i=u[3],l=n[i].toString();if(l)return l}}}return""}function O(t,e){switch(F(t)){case _:return w(e||vt);case N:return w(e||wt);case S:return w(e||yt);default:throw new Error(`Unsupported network: ${t}`)}}function on(t){switch(F(t)){case S:return Ot;case _:return Mt;case N:return Ct;default:throw new Error(`No USDC address configured for network: ${t}`)}}function an(t,e){let n=parseFloat(t);if(isNaN(n))throw new Error(`Invalid amount: ${t}`);let[r,o=""]=String(n).split("."),a=o.padEnd(e,"0").slice(0,e);return(r+a).replace(/^0+/,"")||"0"}var zt="ComputeBudget111111111111111111111111111111";var cn=2;function sn(){return b(k([["discriminator",P()],["units",J()]]),t=>({...t,discriminator:cn}))}function Ut(t,e){let n=e?.programAddress??zt,r={...t};return Object.freeze({data:sn().encode(r),programAddress:n})}var un=3;function dn(){return b(k([["discriminator",P()],["microLamports",Y()]]),t=>({...t,discriminator:un}))}function ln(t,e){let n=e?.programAddress??zt,r={...t};return Object.freeze({data:dn().encode(r),programAddress:n})}function Lt(t,e){return tt(ln({microLamports:t}),e)}var mn=class{constructor(t,e){this.signer=t,this.config=e,this.scheme="exact"}async createPaymentPayload(t,e){let n=O(e.network,this.config?.rpcUrl),r=await at(n,e.asset),o=r.programAddress;if(o.toString()!==y.toString()&&o.toString()!==D.toString())throw new Error("Asset was not created by a known token program");let[a]=await z({mint:e.asset,owner:this.signer.address,tokenProgram:o}),[s]=await z({mint:e.asset,owner:e.payTo,tokenProgram:o}),u=ct({source:a,mint:e.asset,destination:s,authority:this.signer,amount:BigInt(e.amount),decimals:r.data.decimals},{programAddress:o}),i=e.extra?.feePayer;if(!i)throw new Error("feePayer is required in paymentRequirements.extra for SVM transactions");let{value:l}=await n.getLatestBlockhash().send(),m=crypto.getRandomValues(new Uint8Array(16)),d={programAddress:x,accounts:[],data:new TextEncoder().encode(Array.from(m).map(A=>A.toString(16).padStart(2,"0")).join(""))},g=I(Q({version:0}),A=>Lt(B,A),A=>$(i,A),A=>nt(Ut({units:W}),A),A=>et([u,d],A),A=>Z(l,A)),M=await ot(g),Bt={transaction:T(M)};return{x402Version:t,payload:Bt}}};function pr(t){return t}function gn(t){return{getBalance:async e=>(await t.getBalance(e).send()).value,getTokenAccountBalance:async e=>{let n=await t.getAccountInfo(e,{encoding:"jsonParsed"}).send();if(!n.value)throw new Error(`Token account not found: ${e}`);let r=n.value.data;return BigInt(r.parsed.info.tokenAmount.amount)},getLatestBlockhash:async()=>{let e=await t.getLatestBlockhash().send();return{blockhash:e.value.blockhash,lastValidBlockHeight:e.value.lastValidBlockHeight}},simulateTransaction:async(e,n)=>await t.simulateTransaction(e,n).send(),sendTransaction:async e=>await t.sendTransaction(e,{encoding:"base64"}).send(),confirmTransaction:async e=>{let n=!1,r=0,o=30;for(;!n&&r<o;){let a=await t.getSignatureStatuses([e]).send();if(a.value[0]?.confirmationStatus==="confirmed"||a.value[0]?.confirmationStatus==="finalized")return n=!0,a.value[0];await new Promise(s=>setTimeout(s,1e3)),r++}throw new Error("Transaction confirmation timeout")},fetchMint:async e=>{let{fetchMint:n}=await import("./src-X7XKGWIB.js");return await n(t,e)}}}function Tr(t,e){let n={},r;e&&("defaultRpcUrl"in e&&typeof e.defaultRpcUrl=="string"?r=e.defaultRpcUrl:"getBalance"in e||"getSlot"in e?n["*"]=e:n=e);let o=a=>n[a]?n[a]:n["*"]?n["*"]:O(a,r);return{getAddresses:()=>[t.address],signTransaction:async(a,s,u)=>{if(s!==t.address)throw new Error(`No signer for feePayer ${s}. Available: ${t.address}`);let i=kt({transaction:a}),l={content:i.messageBytes,signatures:i.signatures},[m]=await t.signMessages([l]),d={...i,signatures:{...i.signatures,...m}};return T(d)},simulateTransaction:async(a,s)=>{let i=await o(s).simulateTransaction(a,{sigVerify:!0,replaceRecentBlockhash:!1,commitment:"confirmed",encoding:"base64"}).send();if(i.value.err){let l=JSON.stringify(i.value.err,(m,d)=>typeof d=="bigint"?d.toString():d);throw new Error(`Simulation failed: ${l}`)}},sendTransaction:async(a,s)=>await o(s).sendTransaction(a,{encoding:"base64"}).send(),confirmTransaction:async(a,s)=>{let u=o(s);await gn(u).confirmTransaction(a)}}}export{Ze as COMPUTE_BUDGET_PROGRAM_ADDRESS,W as DEFAULT_COMPUTE_UNIT_LIMIT,B as DEFAULT_COMPUTE_UNIT_PRICE_MICROLAMPORTS,vt as DEVNET_RPC_URL,Qe as DEVNET_WS_URL,mn as ExactSvmScheme,Xe as LIGHTHOUSE_PROGRAM_ADDRESS,yt as MAINNET_RPC_URL,tn as MAINNET_WS_URL,en as MAX_COMPUTE_UNIT_PRICE_MICROLAMPORTS,x as MEMO_PROGRAM_ADDRESS,_ as SOLANA_DEVNET_CAIP2,S as SOLANA_MAINNET_CAIP2,N as SOLANA_TESTNET_CAIP2,bt as SVM_ADDRESS_REGEX,wt as TESTNET_RPC_URL,$e as TESTNET_WS_URL,Ye as TOKEN_2022_PROGRAM_ADDRESS,Je as TOKEN_PROGRAM_ADDRESS,Mt as USDC_DEVNET_ADDRESS,Ot as USDC_MAINNET_ADDRESS,Ct as USDC_TESTNET_ADDRESS,Pt as V1_TO_V2_NETWORK_MAP,an as convertToTokenAmount,O as createRpcClient,kt as decodeTransactionFromPayload,rn as getTokenPayerFromTransaction,on as getUsdcAddress,F as normalizeNetwork,pr as toClientSvmSigner,Tr as toFacilitatorSvmSigner,nn as validateSvmAddress};