-
Notifications
You must be signed in to change notification settings - Fork 29
/
explain.ts
28 lines (21 loc) · 873 Bytes
/
explain.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
import { SwankyCommand } from "../../lib/swankyCommand.js";
import { Args } from "@oclif/core";
import { findContractRecord } from "../../lib/index.js";
import { contractFromRecord, ensureArtifactsExist } from "../../lib/checks.js";
export class ExplainContract extends SwankyCommand<typeof ExplainContract> {
static description = "Explain contract messages based on the contracts' metadata";
static args = {
contractName: Args.string({
name: "contractName",
required: true,
description: "Name of the contract",
}),
};
async run(): Promise<void> {
const { args } = await this.parse(ExplainContract);
const contractRecord = findContractRecord(this.swankyConfig, args.contractName);
const contract = await contractFromRecord(contractRecord);
await ensureArtifactsExist(contract);
await contract.printInfo();
}
}