autrace 0.0.23 → 0.0.24
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.
- package/build/src/aucli.js +29 -28
- package/build/src/aucli.js.map +1 -1
- package/build/src/config.d.ts +1 -0
- package/build/src/config.js +1 -0
- package/build/src/config.js.map +1 -1
- package/build/src/helper.d.ts +1 -1
- package/build/src/helper.js +7 -6
- package/build/src/helper.js.map +1 -1
- package/package.json +1 -1
package/build/src/aucli.js
CHANGED
@@ -1,56 +1,57 @@
|
|
1
1
|
#!/usr/bin/env node
|
2
|
-
import { AUTrace, AUVisualizer } from
|
3
|
-
import fs from
|
4
|
-
import path from
|
5
|
-
import chalk from
|
6
|
-
import yargs from
|
7
|
-
import { hideBin } from
|
2
|
+
import { AUTrace, AUVisualizer } from "./index.js";
|
3
|
+
import fs from "fs";
|
4
|
+
import path from "path";
|
5
|
+
import chalk from "chalk";
|
6
|
+
import yargs from "yargs";
|
7
|
+
import { hideBin } from "yargs/helpers";
|
8
8
|
//import { createServer } from 'http';
|
9
9
|
//import { createReadStream } from 'fs';
|
10
10
|
//import open from 'open';
|
11
|
-
import { fetchZkAppTransactionByHash } from
|
11
|
+
import { fetchZkAppTransactionByHash } from "./helper.js";
|
12
12
|
yargs(hideBin(process.argv))
|
13
|
-
.usage(
|
14
|
-
.option(
|
15
|
-
alias:
|
16
|
-
describe:
|
17
|
-
type:
|
13
|
+
.usage("Usage: $0 [options]")
|
14
|
+
.option("tx", {
|
15
|
+
alias: "t",
|
16
|
+
describe: "Transaction hash to analyze",
|
17
|
+
type: "string",
|
18
18
|
})
|
19
19
|
/*.option('file', {
|
20
20
|
alias: 'f',
|
21
21
|
describe: 'JSON file containing transaction data',
|
22
22
|
type: 'string',
|
23
23
|
})*/
|
24
|
-
.example(
|
25
|
-
//.example('$0 --file ./transaction.json', 'Analyze transaction from a local file')
|
24
|
+
.example("$0 --tx 5JuCdmp1PeRnnXhJJ5pHCDC7N3wpBG49DxBG82N8o49f8K7YcDpZ", "Analyze transaction from the blockchain")
|
25
|
+
//.example('$0 --file ./transaction.json', 'Analyze transaction from a local file')
|
26
26
|
.check((argv) => {
|
27
27
|
if (argv.tx && argv.file) {
|
28
|
-
throw new Error(
|
28
|
+
throw new Error("Please provide either --tx or --file, not both");
|
29
29
|
}
|
30
30
|
if (!argv.tx && !argv.file) {
|
31
|
-
throw new Error(
|
31
|
+
throw new Error("Please provide either --tx or --file");
|
32
32
|
}
|
33
33
|
return true;
|
34
34
|
})
|
35
35
|
.help()
|
36
|
-
.alias(
|
37
|
-
.epilog(
|
36
|
+
.alias("help", "h")
|
37
|
+
.epilog("For more information visit https://github.com/ronykris/autrace")
|
38
38
|
.parseAsync()
|
39
39
|
.then(async (argv) => {
|
40
40
|
await main(argv);
|
41
41
|
})
|
42
|
-
.catch(error => {
|
43
|
-
console.error(chalk.red(
|
42
|
+
.catch((error) => {
|
43
|
+
console.error(chalk.red("Argument error:"), error.message);
|
44
44
|
process.exit(1);
|
45
45
|
});
|
46
46
|
const main = async (argv) => {
|
47
47
|
try {
|
48
|
-
console.log(chalk.blue(
|
49
|
-
console.log(chalk.blue(
|
48
|
+
console.log(chalk.blue("AUTrace - Blockchain Transaction Analyzer"));
|
49
|
+
console.log(chalk.blue("========================================="));
|
50
50
|
let transactionData;
|
51
51
|
if (argv.tx) {
|
52
52
|
console.log(chalk.yellow(`Fetching transaction ${argv.tx} from API...`));
|
53
|
-
|
53
|
+
const network = argv.network || "mainnet";
|
54
|
+
transactionData = await fetchZkAppTransactionByHash(argv.tx, network);
|
54
55
|
//console.log(transactionData)
|
55
56
|
}
|
56
57
|
else if (argv.file) {
|
@@ -58,12 +59,12 @@ const main = async (argv) => {
|
|
58
59
|
transactionData = loadTransactionFromFile(argv.file);
|
59
60
|
}
|
60
61
|
if (!transactionData) {
|
61
|
-
console.error(chalk.red(
|
62
|
+
console.error(chalk.red("Failed to load transaction data"));
|
62
63
|
process.exit(1);
|
63
64
|
}
|
64
65
|
const autrace = new AUTrace();
|
65
66
|
autrace.clearTransactionState();
|
66
|
-
console.log(chalk.yellow(
|
67
|
+
console.log(chalk.yellow("Analyzing transaction..."));
|
67
68
|
autrace.getTransactions(transactionData);
|
68
69
|
//console.log(chalk.yellow('Fetching history...'));
|
69
70
|
const history = autrace.getStateHistory();
|
@@ -74,7 +75,7 @@ const main = async (argv) => {
|
|
74
75
|
await visualizer.generateTransactionVisualization(history[0]);
|
75
76
|
}
|
76
77
|
catch (error) {
|
77
|
-
console.error(chalk.red(
|
78
|
+
console.error(chalk.red("Error:"), error instanceof Error ? error.message : String(error));
|
78
79
|
process.exit(1);
|
79
80
|
}
|
80
81
|
};
|
@@ -87,11 +88,11 @@ function loadTransactionFromFile(filePath) {
|
|
87
88
|
if (!fs.existsSync(resolvedPath)) {
|
88
89
|
throw new Error(`File not found: ${resolvedPath}`);
|
89
90
|
}
|
90
|
-
const fileContent = fs.readFileSync(resolvedPath,
|
91
|
+
const fileContent = fs.readFileSync(resolvedPath, "utf8");
|
91
92
|
return JSON.parse(fileContent);
|
92
93
|
}
|
93
94
|
catch (error) {
|
94
|
-
console.error(chalk.red(
|
95
|
+
console.error(chalk.red("Error loading transaction file:"), error instanceof Error ? error.message : String(error));
|
95
96
|
throw error;
|
96
97
|
}
|
97
98
|
}
|
package/build/src/aucli.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"aucli.js","sourceRoot":"","sources":["../../src/aucli.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,sCAAsC;AACtC,wCAAwC;AACxC,0BAA0B;AAC1B,OAAO,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAC;
|
1
|
+
{"version":3,"file":"aucli.js","sourceRoot":"","sources":["../../src/aucli.ts"],"names":[],"mappings":"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"}
|
package/build/src/config.d.ts
CHANGED
package/build/src/config.js
CHANGED
@@ -2,4 +2,5 @@ import dotenv from "dotenv";
|
|
2
2
|
dotenv.config();
|
3
3
|
export const BLOCKBERRY_API_KEY = process.env.BLOCKBERRY_API_KEY || "";
|
4
4
|
export const BLOCKBERRY_API_BASE = "https://api.blockberry.one/mina-mainnet/v1";
|
5
|
+
export const BLOCKBERRY_API_BASE_DEVNET = "https://api.blockberry.one/mina-devnet/v1";
|
5
6
|
//# sourceMappingURL=config.js.map
|
package/build/src/config.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,MAAM,CAAC,MAAM,EAAE,
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,MAAM,CAAC,MAAM,EAAE,CAAC;AAEhB,MAAM,CAAC,MAAM,kBAAkB,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,EAAE,CAAC;AACvE,MAAM,CAAC,MAAM,mBAAmB,GAAG,4CAA4C,CAAC;AAChF,MAAM,CAAC,MAAM,0BAA0B,GACrC,2CAA2C,CAAC"}
|
package/build/src/helper.d.ts
CHANGED
@@ -1 +1 @@
|
|
1
|
-
export declare const fetchZkAppTransactionByHash: (txHash: string) => Promise<any | null>;
|
1
|
+
export declare const fetchZkAppTransactionByHash: (txHash: string, network?: "mainnet" | "devnet") => Promise<any | null>;
|
package/build/src/helper.js
CHANGED
@@ -1,12 +1,13 @@
|
|
1
1
|
import axios from "axios";
|
2
|
-
import { BLOCKBERRY_API_BASE, BLOCKBERRY_API_KEY } from "./config.js";
|
3
|
-
export const fetchZkAppTransactionByHash = async (txHash) => {
|
2
|
+
import { BLOCKBERRY_API_BASE, BLOCKBERRY_API_KEY, BLOCKBERRY_API_BASE_DEVNET, } from "./config.js";
|
3
|
+
export const fetchZkAppTransactionByHash = async (txHash, network = "mainnet") => {
|
4
4
|
try {
|
5
|
-
const
|
5
|
+
const apiBase = network === "mainnet" ? BLOCKBERRY_API_BASE : BLOCKBERRY_API_BASE_DEVNET;
|
6
|
+
const response = await axios.get(`${apiBase}/zkapps/txs/${txHash}`, {
|
6
7
|
headers: {
|
7
|
-
|
8
|
-
"x-api-key": BLOCKBERRY_API_KEY
|
9
|
-
}
|
8
|
+
Accept: "application/json",
|
9
|
+
"x-api-key": BLOCKBERRY_API_KEY,
|
10
|
+
},
|
10
11
|
});
|
11
12
|
return response.data;
|
12
13
|
}
|
package/build/src/helper.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"helper.js","sourceRoot":"","sources":["../../src/helper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,
|
1
|
+
{"version":3,"file":"helper.js","sourceRoot":"","sources":["../../src/helper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,0BAA0B,GAC3B,MAAM,aAAa,CAAC;AAGrB,MAAM,CAAC,MAAM,2BAA2B,GAAG,KAAK,EAC9C,MAAc,EACd,UAAgC,SAAS,EACpB,EAAE;IACvB,IAAI,CAAC;QACH,MAAM,OAAO,GACX,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,0BAA0B,CAAC;QAC3E,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,GAAG,OAAO,eAAe,MAAM,EAAE,EAAE;YAClE,OAAO,EAAE;gBACP,MAAM,EAAE,kBAAkB;gBAC1B,WAAW,EAAE,kBAAkB;aAChC;SACF,CAAC,CAAC;QACH,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9B,OAAO,CAAC,KAAK,CACX,oCAAoC,MAAM,KAAK,KAAK,CAAC,OAAO,EAAE,EAC9D,KAAK,CAAC,QAAQ,EAAE,IAAI,CACrB,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CACX,oCAAoC,MAAM,KACvC,KAAe,CAAC,OACnB,EAAE,CACH,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC,CAAC"}
|