{"version":3,"file":"gas.mjs","names":[],"sources":["../../src/commands/gas.ts"],"sourcesContent":["/** Get current gas prices */\nimport { defineCommand } from \"citty\";\nimport type { GasData } from \"../core/types.js\";\nimport { failCommand, print, reportCommandError, withSelectedProvider } from \"./shared.js\";\n\nfunction renderGas(providerName: string, gas: Readonly<GasData>): void {\n  print(`[${providerName}] Gas prices on ${gas.chain}`);\n  if (gas.safeGasPrice) print(`  Safe/Low: ${gas.safeGasPrice} ${gas.unit}`);\n  if (gas.proposedGasPrice) print(`  Average:  ${gas.proposedGasPrice} ${gas.unit}`);\n  if (gas.fastGasPrice) print(`  Fast:     ${gas.fastGasPrice} ${gas.unit}`);\n  if (gas.baseFee) print(`  Base fee: ${gas.baseFee} ${gas.unit}`);\n  if (gas.priorityFee) print(`  Priority: ${gas.priorityFee} ${gas.unit}`);\n}\n\nexport default defineCommand({\n  meta: {\n    name: \"gas\",\n    description: \"Get current gas prices\",\n  },\n  args: {\n    chain: {\n      type: \"string\",\n      alias: \"c\",\n      description: \"Chain\",\n    },\n    provider: {\n      type: \"string\",\n      alias: \"p\",\n      description: \"Provider\",\n    },\n  },\n  async run({ args }) {\n    try {\n      await withSelectedProvider(\n        args.chain as string | undefined,\n        args.provider as string | undefined,\n        \"gasData\",\n        async (selected) => {\n          const getGasData = selected.provider.getGasData?.bind(selected.provider);\n          if (!selected.provider.capabilities.gasData || !getGasData) {\n            failCommand(`Provider \"${selected.name}\" does not support gas data`);\n          }\n          const gas = await getGasData(selected.chain);\n          renderGas(selected.name, gas);\n        },\n      );\n    } catch (error) {\n      reportCommandError(error);\n    }\n  },\n});\n"],"mappings":";;AAKA,SAAS,UAAU,cAAsB,KAA8B;CACrE,MAAM,IAAI,aAAa,kBAAkB,IAAI,OAAO;CACpD,IAAI,IAAI,cAAc,MAAM,eAAe,IAAI,aAAa,GAAG,IAAI,MAAM;CACzE,IAAI,IAAI,kBAAkB,MAAM,eAAe,IAAI,iBAAiB,GAAG,IAAI,MAAM;CACjF,IAAI,IAAI,cAAc,MAAM,eAAe,IAAI,aAAa,GAAG,IAAI,MAAM;CACzE,IAAI,IAAI,SAAS,MAAM,eAAe,IAAI,QAAQ,GAAG,IAAI,MAAM;CAC/D,IAAI,IAAI,aAAa,MAAM,eAAe,IAAI,YAAY,GAAG,IAAI,MAAM;AACzE;AAEA,IAAA,cAAe,cAAc;CAC3B,MAAM;EACJ,MAAM;EACN,aAAa;CACf;CACA,MAAM;EACJ,OAAO;GACL,MAAM;GACN,OAAO;GACP,aAAa;EACf;EACA,UAAU;GACR,MAAM;GACN,OAAO;GACP,aAAa;EACf;CACF;CACA,MAAM,IAAI,EAAE,QAAQ;EAClB,IAAI;GACF,MAAM,qBACJ,KAAK,OACL,KAAK,UACL,WACA,OAAO,aAAa;IAClB,MAAM,aAAa,SAAS,SAAS,YAAY,KAAK,SAAS,QAAQ;IACvE,IAAI,CAAC,SAAS,SAAS,aAAa,WAAW,CAAC,YAC9C,YAAY,aAAa,SAAS,KAAK,4BAA4B;IAErE,MAAM,MAAM,MAAM,WAAW,SAAS,KAAK;IAC3C,UAAU,SAAS,MAAM,GAAG;GAC9B,CACF;EACF,SAAS,OAAO;GACd,mBAAmB,KAAK;EAC1B;CACF;AACF,CAAC"}