@moonpay/cli 1.14.0 → 1.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,2 @@
1
+ process.noDeprecation = true; import { createRequire as __createRequire } from "module"; const require = __createRequire(import.meta.url);
2
+ import{b as v,d as C}from"./chunk-LMDE72OE.js";var F={};C(F,{decrypt:()=>W,encrypt:()=>E,encryptedFileSchema:()=>b});import{randomBytes as s,scryptSync as u,createCipheriv as A,createDecipheriv as z}from"crypto";import{z as n}from"zod";function E(t,o){let a=s(32),c=u(o,a,d,{N:h,r:f,p:y,maxmem:g}),i=s(12),r=A("aes-256-gcm",c,i),p=Buffer.concat([r.update(t,"utf8"),r.final()]);return{encryption:{cipher:"aes-256-gcm",kdf:"scrypt",kdfparams:{n:h,r:f,p:y},salt:a.toString("base64"),iv:i.toString("base64"),tag:r.getAuthTag().toString("base64")},data:p.toString("base64")}}function W(t,o){let{salt:a,iv:c,tag:i,kdfparams:r}=t.encryption,p=u(o,Buffer.from(a,"base64"),d,{N:r.n,r:r.r,p:r.p,maxmem:g}),m=z("aes-256-gcm",p,Buffer.from(c,"base64"),{authTagLength:16});return m.setAuthTag(Buffer.from(i,"base64")),Buffer.concat([m.update(Buffer.from(t.data,"base64")),m.final()]).toString("utf8")}var h,f,y,d,g,b,S=v(()=>{"use strict";h=2**18,f=8,y=1,d=32,g=512*1024*1024,b=n.object({encryption:n.object({cipher:n.literal("aes-256-gcm"),kdf:n.literal("scrypt"),kdfparams:n.object({n:n.number(),r:n.number(),p:n.number()}),salt:n.string(),iv:n.string(),tag:n.string()}),data:n.string()})});S();import{z as e}from"zod";var P=e.enum(["solana","ethereum","base","arbitrum","polygon","optimism","bnb","avalanche","bitcoin","tron","ton","filecoin","tempo","tempo-moderato","ethereum-sepolia","base-sepolia","arbitrum-sepolia","polygon-amoy","solana-devnet"]),K=e.enum(["solana","ethereum","bitcoin","tron","ton","filecoin"]),Y={solana:"solana",ethereum:"ethereum",base:"ethereum",arbitrum:"ethereum",polygon:"ethereum",optimism:"ethereum",bnb:"ethereum",avalanche:"ethereum",bitcoin:"bitcoin",tron:"tron",ton:"ton",filecoin:"filecoin",tempo:"ethereum","tempo-moderato":"ethereum","ethereum-sepolia":"ethereum","base-sepolia":"ethereum","arbitrum-sepolia":"ethereum","polygon-amoy":"ethereum","solana-devnet":"solana"},B={"eip155:1":"ethereum","solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp":"solana","bip122:000000000019d6689c085ae165831e93":"bitcoin","tron:mainnet":"tron","ton:mainnet":"ton","fil:mainnet":"filecoin"},l=e.object({solana:e.string().optional(),ethereum:e.string().optional(),bitcoin:e.string().optional(),tron:e.string().optional(),ton:e.string().optional(),filecoin:e.string().optional()}),w=["base","arbitrum","polygon","optimism","bnb","avalanche","tempo","tempo-moderato","ethereum-sepolia","base-sepolia","arbitrum-sepolia","polygon-amoy"];function H(t){let o={};if(t.solana&&(o.solana=t.solana,o["solana-devnet"]=t.solana),t.ethereum){o.ethereum=t.ethereum;for(let a of w)o[a]=t.ethereum}return t.bitcoin&&(o.bitcoin=t.bitcoin),t.tron&&(o.tron=t.tron),t.ton&&(o.ton=t.ton),t.filecoin&&(o.filecoin=t.filecoin),o}var R=e.object({name:e.string(),type:e.literal("hd"),mnemonic:e.string().optional(),addresses:l,createdAt:e.string()}),T=e.object({name:e.string(),type:e.literal("imported"),chain:K.optional(),privateKey:e.string().optional(),addresses:l,createdAt:e.string()}),x=e.enum(["ledger"]),_=e.object({name:e.string(),type:e.literal("hardware"),device:x,addresses:l,createdAt:e.string()}),M=e.discriminatedUnion("type",[R,T,_]),q=e.object({name:e.string(),type:e.enum(["hd","imported","hardware"]),device:x.optional(),addresses:e.record(e.string(),e.string()),createdAt:e.string()});export{b as a,E as b,W as c,F as d,S as e,P as f,Y as g,B as h,l as i,H as j,x as k,_ as l,q as m};
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 A,b as S,c as J,d as j,e as O}from"./chunk-6QFEQO6H.js";import{a as C,c as q,u as v}from"./chunk-AZXPV72Q.js";import{g as R}from"./chunk-3IJSRFO6.js";import"./chunk-LMDE72OE.js";import{Command as ne}from"commander";var Y=!process.env.NO_COLOR&&process.stdout.isTTY===!0;function _(e){return t=>Y?`${e}${t}\x1B[0m`:t}var p={bold:_("\x1B[1m"),dim:_("\x1B[2m"),green:_("\x1B[32m"),yellow:_("\x1B[33m"),cyan:_("\x1B[36m"),red:_("\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(r=>`${n}- ${$(r)}`).join(`
3
+ import{a as A,b as S,c as J,d as j,e as O}from"./chunk-L3F6PS4T.js";import{a as C,c as q,u as v}from"./chunk-E4QQ5IS6.js";import{g as R}from"./chunk-TPAYGT4L.js";import"./chunk-LMDE72OE.js";import{Command as ne}from"commander";var Y=!process.env.NO_COLOR&&process.stdout.isTTY===!0;function _(e){return t=>Y?`${e}${t}\x1B[0m`:t}var p={bold:_("\x1B[1m"),dim:_("\x1B[2m"),green:_("\x1B[32m"),yellow:_("\x1B[33m"),cyan:_("\x1B[36m"),red:_("\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(r=>`${n}- ${$(r)}`).join(`
4
4
  `):e.map(r=>{if(typeof r!="object"||r===null)return`${n}- ${$(r)}`;let s=Object.entries(r),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(C).option("--json","Output as JSON instead of YAML");function oe(){return h.opts().json?"json":"yaml"}function L(e){console.log(T(e,oe()))}function D(){let e=te();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-GZ6TFM4X.js");await e()});function M(e,t){let n=e;for(let r of t){let s=n.commands.find(a=>a.name()===r);s||(s=n.command(r)),n=s}return n}function Z(e,t=""){let n=[];for(let[r,s]of Object.entries(e)){let a=t?`${t}-${r}`:r,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:r,path:s}of t){let a=r.replace(/-([a-z])/g,(l,u)=>u.toUpperCase()),c=a in e?e[a]:e[r];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 se(e,t){for(let n of t){let r=n.schema.name.split("_"),s=r.pop(),c=M(e,r).command(s).description(n.schema.description),l=n.schema.input.shape??{},u=Z(l),y=[],b=[],w=[];for(let{flatKey:f,field:i}of u){let o=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"&&w.push(f),g==="ZodBoolean"?c.option(`--${f}`,o,!1):g==="ZodNullable"?(c.option(`--${f} <${f}>`,o),y.push(f)):c.requiredOption(`--${f} <${f}>`,o)}c.action(async f=>{n.schema.name.startsWith("consent_")||await j.handler({});for(let o of y){let m=o.replace(/-([a-z])/g,(g,d)=>d.toUpperCase());f[m]===void 0&&(f[m]=null)}for(let o of b){let m=o.replace(/-([a-z])/g,(g,d)=>d.toUpperCase());f[m]!=null&&typeof f[m]=="string"&&(f[m]=Number(f[m]))}for(let o of w){let m=o.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 --${o}`),process.exit(1)}}let i=re(f,u);try{let o=await n.handler(i);L(o)}catch(o){console.error(o instanceof Error?o.message:String(o)),process.exit(1)}})}}function ie(e){if(e.$ref&&e.definitions){let t=e.$ref.replace("#/definitions/","");return e.definitions[t]}return e}function ae(e){return Array.isArray(e.type)?e.type.includes("null"):e.anyOf?e.anyOf.some(t=>t.type==="null"):!1}function ce(e){return Array.isArray(e.type)?e.type.includes("object"):e.anyOf?e.anyOf.some(t=>t.type==="object"):e.type==="object"}function le(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"}function fe(e){let t=e.wallet,n=e.chain;if(typeof t!="string"||typeof n!="string")return;let r=v(t);if(!r)return;let s=R[n];if(!s)return;let a=r.addresses[s];a&&(e.wallet=a)}var U=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 me(e,t){for(let n of t){if(U.has(n.name))continue;let r=n.name.split("_"),s=r.pop(),a=M(e,r);if(a.commands.find(i=>i.name()===s))continue;let c=a.command(s).description(n.description),l=ie(n.inputSchema),u=l.properties??{},y=new Set(l.required??[]),b=[],w=[],f=[];for(let[i,o]of Object.entries(u)){let m=o.description??i,g=ae(o),d=ce(o);le(o)&&w.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 j.handler({});for(let o of b)i[o]===void 0&&(i[o]=null);for(let o of w)i[o]!=null&&typeof i[o]=="string"&&(i[o]=Number(i[o]));for(let o of f)if(typeof i[o]=="string")try{i[o]=JSON.parse(i[o])}catch{console.error(`Invalid JSON for --${o}`),process.exit(1)}try{fe(i);let o=await A._call(n.name,i);L(o),D()}catch(o){console.error(o instanceof Error?o.message:String(o)),process.exit(1)}})}}se(h,O);me(h,S);h.command("tools").description("List available tools").action(()=>{let e=[...O.map(n=>({name:n.schema.name,description:n.schema.description})),...S.filter(n=>!O.some(r=>r.schema.name===n.name)&&!U.has(n.name)).map(n=>({name:n.name,description:n.description}))].sort((n,r)=>n.name.localeCompare(r.name)),t=[];for(let n of e){let r=n.name.replace(/_/g," ");t.push(` ${p.green(r.padEnd(28))} ${p.dim(n.description)}`)}t.push(""),t.push(p.dim(`${e.length} tools`)),console.log(t.join(`
17
+ `+J).version(C).option("--json","Output as JSON instead of YAML");function oe(){return h.opts().json?"json":"yaml"}function L(e){console.log(T(e,oe()))}function D(){let e=te();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-IK5PQBSO.js");await e()});function M(e,t){let n=e;for(let r of t){let s=n.commands.find(a=>a.name()===r);s||(s=n.command(r)),n=s}return n}function Z(e,t=""){let n=[];for(let[r,s]of Object.entries(e)){let a=t?`${t}-${r}`:r,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:r,path:s}of t){let a=r.replace(/-([a-z])/g,(l,u)=>u.toUpperCase()),c=a in e?e[a]:e[r];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 se(e,t){for(let n of t){let r=n.schema.name.split("_"),s=r.pop(),c=M(e,r).command(s).description(n.schema.description),l=n.schema.input.shape??{},u=Z(l),y=[],b=[],w=[];for(let{flatKey:f,field:i}of u){let o=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"&&w.push(f),g==="ZodBoolean"?c.option(`--${f}`,o,!1):g==="ZodNullable"?(c.option(`--${f} <${f}>`,o),y.push(f)):c.requiredOption(`--${f} <${f}>`,o)}c.action(async f=>{n.schema.name.startsWith("consent_")||await j.handler({});for(let o of y){let m=o.replace(/-([a-z])/g,(g,d)=>d.toUpperCase());f[m]===void 0&&(f[m]=null)}for(let o of b){let m=o.replace(/-([a-z])/g,(g,d)=>d.toUpperCase());f[m]!=null&&typeof f[m]=="string"&&(f[m]=Number(f[m]))}for(let o of w){let m=o.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 --${o}`),process.exit(1)}}let i=re(f,u);try{let o=await n.handler(i);L(o)}catch(o){console.error(o instanceof Error?o.message:String(o)),process.exit(1)}})}}function ie(e){if(e.$ref&&e.definitions){let t=e.$ref.replace("#/definitions/","");return e.definitions[t]}return e}function ae(e){return Array.isArray(e.type)?e.type.includes("null"):e.anyOf?e.anyOf.some(t=>t.type==="null"):!1}function ce(e){return Array.isArray(e.type)?e.type.includes("object"):e.anyOf?e.anyOf.some(t=>t.type==="object"):e.type==="object"}function le(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"}function fe(e){let t=e.wallet,n=e.chain;if(typeof t!="string"||typeof n!="string")return;let r=v(t);if(!r)return;let s=R[n];if(!s)return;let a=r.addresses[s];a&&(e.wallet=a)}var U=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 me(e,t){for(let n of t){if(U.has(n.name))continue;let r=n.name.split("_"),s=r.pop(),a=M(e,r);if(a.commands.find(i=>i.name()===s))continue;let c=a.command(s).description(n.description),l=ie(n.inputSchema),u=l.properties??{},y=new Set(l.required??[]),b=[],w=[],f=[];for(let[i,o]of Object.entries(u)){let m=o.description??i,g=ae(o),d=ce(o);le(o)&&w.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 j.handler({});for(let o of b)i[o]===void 0&&(i[o]=null);for(let o of w)i[o]!=null&&typeof i[o]=="string"&&(i[o]=Number(i[o]));for(let o of f)if(typeof i[o]=="string")try{i[o]=JSON.parse(i[o])}catch{console.error(`Invalid JSON for --${o}`),process.exit(1)}try{fe(i);let o=await A._call(n.name,i);L(o),D()}catch(o){console.error(o instanceof Error?o.message:String(o)),process.exit(1)}})}}se(h,O);me(h,S);h.command("tools").description("List available tools").action(()=>{let e=[...O.map(n=>({name:n.schema.name,description:n.schema.description})),...S.filter(n=>!O.some(r=>r.schema.name===n.name)&&!U.has(n.name)).map(n=>({name:n.name,description:n.description}))].sort((n,r)=>n.name.localeCompare(r.name)),t=[];for(let n of e){let r=n.name.replace(/_/g," ");t.push(` ${p.green(r.padEnd(28))} ${p.dim(n.description)}`)}t.push(""),t.push(p.dim(`${e.length} tools`)),console.log(t.join(`
18
18
  `)),D()});h.parse();
@@ -1,5 +1,5 @@
1
1
  process.noDeprecation = true; import { createRequire as __createRequire } from "module"; const require = __createRequire(import.meta.url);
2
- import{g as S}from"./chunk-3IJSRFO6.js";import{a as v}from"./chunk-LMDE72OE.js";var B=3e4;var T=`Ledger support requires additional packages.
2
+ import{g as S}from"./chunk-TPAYGT4L.js";import{a as v}from"./chunk-LMDE72OE.js";var B=3e4;var T=`Ledger support requires additional packages.
3
3
  Run: npm i -g @moonpay/cli --include=optional`;function y(){try{let e=v("@ledgerhq/device-management-kit"),n=v("@ledgerhq/device-transport-kit-node-hid"),t=v("rxjs");return{...e,...n,...t}}catch{throw new Error(T)}}function I(){try{return v("@ledgerhq/device-signer-kit-ethereum")}catch{throw new Error(T)}}function D(){try{return v("@ledgerhq/device-signer-kit-solana")}catch{throw new Error(T)}}var h=null,l=null;function w(){if(!h){let e=y();h=new e.DeviceManagementKitBuilder().addTransport(e.nodeHidTransportFactory).build()}return h}function A(){if(!l)throw new Error("No Ledger device connected. Connect first.");return l}var C={"unlock-device":"ACTION REQUIRED: Unlock your Ledger device by entering your PIN","confirm-open-app":"ACTION REQUIRED: Confirm opening the app on your Ledger device screen","sign-transaction":"ACTION REQUIRED: Review and approve the transaction on your Ledger device screen","sign-personal-message":"ACTION REQUIRED: Review and approve the message on your Ledger device screen","verify-address":"ACTION REQUIRED: Verify the address shown on your Ledger device screen"};async function f(e,n,t=6e4){let{DeviceActionStatus:r}=y();return new Promise((a,o)=>{let d="",u=!1,i=c=>{u||(u=!0,clearTimeout(g),p.unsubscribe(),c())},g=setTimeout(()=>{i(()=>{e.cancel(),o(new Error(`${n} timed out after ${t/1e3}s. Make sure the correct app is open on your Ledger and try again.`))})},t),p=e.observable.subscribe({next:c=>{switch(c.status){case r.Pending:{let s=c.intermediateValue?.requiredUserInteraction??"";if(s&&s!=="none"&&s!==d){d=s;let m=C[s]??s;m&&process.stderr.write(` ${m}
4
4
  `)}break}case r.Completed:i(()=>a(c.output));break;case r.Error:i(()=>{let s=c.error,m=s instanceof Error?s.message:s&&typeof s=="object"?s._tag??s.message??JSON.stringify(s):String(s);o(new Error(`${n} failed: ${m}`))});break;case r.Stopped:i(()=>o(new Error(`${n} was cancelled`)));break}},error:c=>i(()=>o(c))})})}async function O(){let e=y(),n=w().startDiscovering({});process.stderr.write(`Scanning for Ledger devices via USB...
5
5
  `);let t=await e.firstValueFrom(n.pipe(e.take(1),e.timeout(B))).finally(()=>{w().stopDiscovering()}),r=t.deviceModel.model??t.deviceModel.id;process.stderr.write(`Connecting to Ledger ${r}...
@@ -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 d,b as f,e as u}from"./chunk-6QFEQO6H.js";import{a as l,c as R}from"./chunk-AZXPV72Q.js";import"./chunk-3IJSRFO6.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 d,b as f,e as u}from"./chunk-L3F6PS4T.js";import{a as l,c as R}from"./chunk-E4QQ5IS6.js";import"./chunk-TPAYGT4L.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 n,B as o,C as p,D as q,E as r,F as s,G as t,H as u,I as v,J as w,n as a,o as b,p as c,q as d,r as e,s as f,t as g,u as h,v as i,w as j,x as k,y as l,z as m}from"./chunk-AZXPV72Q.js";import"./chunk-3IJSRFO6.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 n,B as o,C as p,D as q,E as r,F as s,G as t,H as u,I as v,J as w,n as a,o as b,p as c,q as d,r as e,s as f,t as g,u as h,v as i,w as j,x as k,y as l,z as m}from"./chunk-E4QQ5IS6.js";import"./chunk-TPAYGT4L.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.14.0",
3
+ "version": "1.16.0",
4
4
  "description": "MoonPay CLI — how agents move money",
5
5
  "homepage": "https://agents.moonpay.com",
6
6
  "publishConfig": {
@@ -1,2 +0,0 @@
1
- process.noDeprecation = true; import { createRequire as __createRequire } from "module"; const require = __createRequire(import.meta.url);
2
- import{b as v,d as C}from"./chunk-LMDE72OE.js";var F={};C(F,{decrypt:()=>W,encrypt:()=>E,encryptedFileSchema:()=>b});import{randomBytes as m,scryptSync as u,createCipheriv as A,createDecipheriv as z}from"crypto";import{z as o}from"zod";function E(t,n){let a=m(32),c=u(n,a,g,{N:h,r:f,p:y,maxmem:d}),i=m(12),r=A("aes-256-gcm",c,i),p=Buffer.concat([r.update(t,"utf8"),r.final()]);return{encryption:{cipher:"aes-256-gcm",kdf:"scrypt",kdfparams:{n:h,r:f,p:y},salt:a.toString("base64"),iv:i.toString("base64"),tag:r.getAuthTag().toString("base64")},data:p.toString("base64")}}function W(t,n){let{salt:a,iv:c,tag:i,kdfparams:r}=t.encryption,p=u(n,Buffer.from(a,"base64"),g,{N:r.n,r:r.r,p:r.p,maxmem:d}),l=z("aes-256-gcm",p,Buffer.from(c,"base64"),{authTagLength:16});return l.setAuthTag(Buffer.from(i,"base64")),Buffer.concat([l.update(Buffer.from(t.data,"base64")),l.final()]).toString("utf8")}var h,f,y,g,d,b,S=v(()=>{"use strict";h=2**18,f=8,y=1,g=32,d=512*1024*1024,b=o.object({encryption:o.object({cipher:o.literal("aes-256-gcm"),kdf:o.literal("scrypt"),kdfparams:o.object({n:o.number(),r:o.number(),p:o.number()}),salt:o.string(),iv:o.string(),tag:o.string()}),data:o.string()})});S();import{z as e}from"zod";var P=e.enum(["solana","ethereum","base","arbitrum","polygon","optimism","bnb","avalanche","bitcoin","tron","ton","filecoin","ethereum-sepolia","base-sepolia","arbitrum-sepolia","polygon-amoy","solana-devnet"]),K=e.enum(["solana","ethereum","bitcoin","tron","ton","filecoin"]),Y={solana:"solana",ethereum:"ethereum",base:"ethereum",arbitrum:"ethereum",polygon:"ethereum",optimism:"ethereum",bnb:"ethereum",avalanche:"ethereum",bitcoin:"bitcoin",tron:"tron",ton:"ton",filecoin:"filecoin","ethereum-sepolia":"ethereum","base-sepolia":"ethereum","arbitrum-sepolia":"ethereum","polygon-amoy":"ethereum","solana-devnet":"solana"},B={"eip155:1":"ethereum","solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp":"solana","bip122:000000000019d6689c085ae165831e93":"bitcoin","tron:mainnet":"tron","ton:mainnet":"ton","fil:mainnet":"filecoin"},s=e.object({solana:e.string().optional(),ethereum:e.string().optional(),bitcoin:e.string().optional(),tron:e.string().optional(),ton:e.string().optional(),filecoin:e.string().optional()}),w=["base","arbitrum","polygon","optimism","bnb","avalanche","ethereum-sepolia","base-sepolia","arbitrum-sepolia","polygon-amoy"];function H(t){let n={};if(t.solana&&(n.solana=t.solana,n["solana-devnet"]=t.solana),t.ethereum){n.ethereum=t.ethereum;for(let a of w)n[a]=t.ethereum}return t.bitcoin&&(n.bitcoin=t.bitcoin),t.tron&&(n.tron=t.tron),t.ton&&(n.ton=t.ton),t.filecoin&&(n.filecoin=t.filecoin),n}var R=e.object({name:e.string(),type:e.literal("hd"),mnemonic:e.string().optional(),addresses:s,createdAt:e.string()}),T=e.object({name:e.string(),type:e.literal("imported"),chain:K.optional(),privateKey:e.string().optional(),addresses:s,createdAt:e.string()}),x=e.enum(["ledger"]),_=e.object({name:e.string(),type:e.literal("hardware"),device:x,addresses:s,createdAt:e.string()}),M=e.discriminatedUnion("type",[R,T,_]),q=e.object({name:e.string(),type:e.enum(["hd","imported","hardware"]),device:x.optional(),addresses:e.record(e.string(),e.string()),createdAt:e.string()});export{b as a,E as b,W as c,F as d,S as e,P as f,Y as g,B as h,s as i,H as j,x as k,_ as l,q as m};