autrace 0.0.2 → 0.0.4

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/README.md CHANGED
@@ -14,6 +14,10 @@ npm install autrace
14
14
  - `AUVisualizer`: Generate visual representations of transaction flows in various formats (Markdown, PNG, SVG)
15
15
  -- Transaction state history tracking
16
16
  -- Contract analysis capabilities
17
+ - `AccountUpdateTrace`: Track and analyze changes in account updates throughout transaction lifecycle
18
+ - `ASCIIVisualizer`: Generate visual ASCII representations of transaction changes and account update modifications
19
+ -- Detailed change detection for account updates
20
+ -- Colorized terminal output for better visibility
17
21
 
18
22
  ## Usage
19
23
 
@@ -67,6 +71,42 @@ await visualizer.generatePNG('output.png');
67
71
  await visualizer.generateSVG('output.svg');
68
72
  ```
69
73
 
74
+ ### Debugging
75
+
76
+ ```typescript
77
+ // Initialise the AU change detector + ascii visualizer
78
+ const auTraverse = new trace.AccountUpdateTrace()
79
+ const asciiVisuals = new trace.ASCIITreeVisualizer()
80
+
81
+ // Create and track transaction states
82
+ const txn = await Mina.transaction(deployerAccount, async () => {
83
+ // Your transaction logic here
84
+ });
85
+
86
+ // Take snapshots at different stages
87
+ auTraverse.takeSnapshot(txn, 'deploy');
88
+
89
+ // After transaction is proved
90
+ const txnprove = await txn.prove();
91
+ auTraverse.takeSnapshot(txnprove, 'prove');
92
+
93
+ // After transaction is signed
94
+ const txnsign = await txn.sign();
95
+ auTraverse.takeSnapshot(txnsign, 'sign');
96
+
97
+ // Get all snapshots
98
+ const snapshots = auTraverse.getSnapshots();
99
+
100
+ // Generate a visual summary of changes
101
+ const summary = asciiVisuals.visualizeChangeSummary(snapshots);
102
+ console.log(summary);
103
+ ```
104
+
105
+ ### Example Output
106
+
107
+ The ASCIIVisualizer provides a colorized terminal output that looks like this:
108
+ ![AU-Change-Visualiser](https://imgur.com/a/jR433Ht)
109
+
70
110
  ### Important Notes
71
111
 
72
112
  - This package uses ES modules. Ensure your project's package.json has `"type": "module"`.
@@ -1,16 +1,17 @@
1
- import { TreeSnapshot, TreeOperation } from './Interface';
1
+ import { AccountUpdate } from 'o1js';
2
+ import { TreeSnapshot, TreeOperation } from './Interface.js';
2
3
  export declare class AccountUpdateTrace {
3
4
  private snapshots;
4
5
  private currentTree;
5
6
  private getLeafNodeValue;
7
+ private isLeafNode;
6
8
  private traverseNodesRecursively;
9
+ private areValuesEqual;
7
10
  private keysUpdated;
8
11
  private deleteFromSet;
9
12
  private keysRemoved;
10
13
  private keysAdded;
11
- private getLeafNodeValueRecursive;
12
- private traverseFirstLevelNodes;
13
14
  private compareAUTrees;
14
- takeSnapshot(transaction: any, operation: TreeOperation): TreeSnapshot;
15
+ takeSnapshot(transaction: AccountUpdate[], operation: TreeOperation): TreeSnapshot;
15
16
  getSnapshots(): TreeSnapshot[];
16
17
  }
@@ -2,212 +2,206 @@ import { PublicKey } from 'o1js';
2
2
  export class AccountUpdateTrace {
3
3
  constructor() {
4
4
  this.snapshots = [];
5
+ this.currentTree = null;
5
6
  this.getLeafNodeValue = (tree, key) => {
6
- //console.log(tree)
7
7
  if (typeof tree !== 'object' || tree === null) {
8
8
  return undefined;
9
9
  }
10
- if (tree.hasOwnProperty(key)) {
11
- return tree[key];
10
+ const keyParts = key.split('.');
11
+ let current = tree;
12
+ for (const part of keyParts) {
13
+ if (current && typeof current === 'object' && part in current) {
14
+ current = current[part];
15
+ }
16
+ else {
17
+ return undefined;
18
+ }
12
19
  }
20
+ return current;
21
+ };
22
+ this.isLeafNode = (value) => {
23
+ return value === null ||
24
+ value === undefined ||
25
+ typeof value !== 'object' ||
26
+ value instanceof PublicKey ||
27
+ Object.keys(value).length === 0;
13
28
  };
14
- this.traverseNodesRecursively = (tree) => {
29
+ this.traverseNodesRecursively = (tree, parentPath = '') => {
15
30
  const keys = new Set();
31
+ if (typeof tree !== 'object' || tree === null) {
32
+ return keys;
33
+ }
16
34
  for (const key in tree) {
17
- keys.add(key);
18
- if (typeof tree[key] === 'object' && tree[key] !== null && !Array.isArray(tree[key])) {
19
- const childKeys = this.traverseNodesRecursively(tree[key]);
20
- for (const childKey of childKeys) {
21
- keys.add(`${key}.${childKey}`); // Use dot notation for nested keys
35
+ if (Object.prototype.hasOwnProperty.call(tree, key)) {
36
+ const currentPath = parentPath ? `${parentPath}.${key}` : key;
37
+ const value = tree[key];
38
+ if (this.isLeafNode(value)) {
39
+ keys.add(currentPath);
40
+ }
41
+ else if (typeof value === 'object' && !Array.isArray(value)) {
42
+ const childKeys = this.traverseNodesRecursively(value, currentPath);
43
+ for (const childKey of childKeys) {
44
+ keys.add(childKey);
45
+ }
22
46
  }
23
47
  }
24
48
  }
25
49
  return keys;
26
50
  };
51
+ this.areValuesEqual = (a, b) => {
52
+ // Handle PublicKey comparison
53
+ if (a instanceof PublicKey && b instanceof PublicKey) {
54
+ return a.toBase58() === b.toBase58();
55
+ }
56
+ // Handle primitive types
57
+ if (a === b)
58
+ return true;
59
+ // Handle null/undefined
60
+ if (a == null && b == null)
61
+ return true;
62
+ if (a == null || b == null)
63
+ return false;
64
+ // Handle BigInt
65
+ if (typeof a === 'bigint' || typeof b === 'bigint') {
66
+ return BigInt(a) === BigInt(b);
67
+ }
68
+ // Handle Date objects
69
+ if (a instanceof Date && b instanceof Date) {
70
+ return a.getTime() === b.getTime();
71
+ }
72
+ // Handle Arrays
73
+ if (Array.isArray(a) && Array.isArray(b)) {
74
+ return a.length === b.length &&
75
+ a.every((val, idx) => this.areValuesEqual(val, b[idx]));
76
+ }
77
+ // Handle Objects
78
+ if (typeof a === 'object' && typeof b === 'object') {
79
+ const keysA = Object.keys(a);
80
+ const keysB = Object.keys(b);
81
+ if (keysA.length !== keysB.length)
82
+ return false;
83
+ return keysA.every(key => Object.prototype.hasOwnProperty.call(b, key) &&
84
+ this.areValuesEqual(a[key], b[key]));
85
+ }
86
+ return false;
87
+ };
27
88
  this.keysUpdated = (a, b, keyList) => {
28
89
  const keysUpdatedList = [];
29
90
  for (const key of keyList) {
30
- let oldValue = this.getLeafNodeValue(a, key);
31
- //console.log(`OLD VALUE ${key}: `, oldValue)
32
- let newValue = this.getLeafNodeValue(b, key);
33
- //console.log(`NEW VALUE ${key}: `, newValue)
34
- //console.log(`Type of ${key}: `, typeof(newValue))
35
- if (oldValue instanceof PublicKey && newValue instanceof PublicKey) {
36
- oldValue = oldValue.toBase58();
37
- newValue = newValue.toBase58();
38
- //console.log('Public key old value: ', oldValue)
39
- //console.log('Public key new value: ', newValue)
91
+ const oldValue = this.getLeafNodeValue(a, key);
92
+ const newValue = this.getLeafNodeValue(b, key);
93
+ // Skip if both values are functions or if the values are equal
94
+ if (typeof oldValue === 'function' || typeof newValue === 'function') {
95
+ continue;
40
96
  }
41
- if (newValue !== oldValue) {
97
+ if (!this.areValuesEqual(oldValue, newValue)) {
42
98
  keysUpdatedList.push({
43
99
  field: key,
44
- oldValue: oldValue,
45
- newValue: newValue
100
+ oldValue,
101
+ newValue: newValue === undefined ? null : newValue
46
102
  });
47
103
  }
48
104
  }
49
105
  return keysUpdatedList;
50
106
  };
51
107
  this.deleteFromSet = (set, toDelete) => {
108
+ const newSet = new Set(set);
52
109
  for (const item of toDelete) {
53
- set.delete(item);
110
+ newSet.delete(item);
54
111
  }
55
- return set;
112
+ return newSet;
56
113
  };
57
114
  this.keysRemoved = (a, b) => {
58
- let keysRemovedList = [];
59
- for (const key of a) {
60
- if (!b.has(key)) {
61
- keysRemovedList.push(key);
62
- }
63
- }
64
- return keysRemovedList;
115
+ return Array.from(a).filter(key => !b.has(key));
65
116
  };
66
117
  this.keysAdded = (a, b) => {
67
- let keysAddedList = [];
68
- for (const key of b) {
69
- if (!a.has(key)) {
70
- keysAddedList.push(key);
71
- }
72
- }
73
- return keysAddedList;
118
+ return Array.from(b).filter(key => !a.has(key));
74
119
  };
75
- this.getLeafNodeValueRecursive = (tree, key) => {
76
- const keyParts = key.split('.');
77
- let value = tree;
78
- for (const part of keyParts) {
79
- if (value && typeof value === 'object' && part in value) {
80
- value = value[part];
81
- }
82
- else {
83
- return undefined; // Key not found
120
+ this.compareAUTrees = (oldAUArray, newAUArray, path = 'accountUpdate') => {
121
+ const changes = {
122
+ added: [],
123
+ removed: [],
124
+ updated: []
125
+ };
126
+ // Handle null cases
127
+ if (!oldAUArray && !newAUArray)
128
+ return changes;
129
+ if (!oldAUArray) {
130
+ if (newAUArray) {
131
+ changes.added.push({
132
+ path,
133
+ node: newAUArray
134
+ });
84
135
  }
136
+ return changes;
85
137
  }
86
- return value;
87
- };
88
- this.traverseFirstLevelNodes = (tree) => {
89
- const firstLevelKeys = Object.keys(tree);
90
- //console.log('First-Level Keys:', firstLevelKeys);
91
- return firstLevelKeys;
92
- };
93
- /*private compareTxnTree = (treeA: any, treeB: any): ChangeLog => {
94
- const changes: ChangeLog = {
95
- added: [], removed: [], updated: []
138
+ if (!newAUArray) {
139
+ changes.removed.push({
140
+ path,
141
+ node: oldAUArray
142
+ });
143
+ return changes;
96
144
  }
97
-
98
- const keysTreeA = this.traverseFirstLevelNodes(treeA)
99
- const keysTreeB = this.traverseFirstLevelNodes(treeB)
100
-
101
- for ( const key of keysTreeB ) {
102
- if ( key === 'accountUpdates') {
103
- const oldAUTree = this.getLeafNodeValue(treeA, key)
104
- const newAUtree = this.getLeafNodeValue(treeB, key)
105
- this.compareAUTrees(oldAUTree, newAUtree)
106
- }
107
- const oldValue = this.getLeafNodeValue(treeA, key)
108
- const newValue = this.getLeafNodeValue(treeB, key)
109
- if ( oldValue !== newValue ) {
110
- changes.updated.push({
111
- path: 'transaction',
112
- changes: [{
113
- field: key,
114
- oldValue: oldValue,
115
- newValue: newValue
116
- }]
117
- })
118
- }
119
- }
120
- return changes
121
- }*/
122
- this.compareAUTrees = (oldAUArray, newAUArray, path = 'accountUpdate'
123
- //path: string = 'transaction'
124
- ) => {
125
- const changes = {
126
- added: [], removed: [], updated: []
127
- };
128
- const validOldAUArray = Array.isArray(oldAUArray) ? oldAUArray : [];
129
- const validNewAUArray = Array.isArray(newAUArray) ? newAUArray : [];
130
- const oldAUMap = new Map((validOldAUArray || []).map((node) => [node.id, node]));
131
- const newAUMap = new Map((validNewAUArray || []).map((node) => [node.id, node]));
132
- const compareAUItemsRecursive = (a, b, path) => {
145
+ const oldAUMap = new Map(oldAUArray.map(node => [node.id, node]));
146
+ const newAUMap = new Map(newAUArray.map(node => [node.id, node]));
147
+ const compareAUItemsRecursive = (a, b, currentPath) => {
133
148
  const keysA = this.traverseNodesRecursively(a);
134
149
  const keysB = this.traverseNodesRecursively(b);
135
- //console.log('Keys A: ',keysA)
136
- //console.log('Keys B: ',keysB)
137
- const keysRemovedList = this.keysRemoved(keysA, keysB);
138
- for (const key of keysRemovedList) {
139
- const value = this.getLeafNodeValueRecursive(a, key);
150
+ // Handle removed keys
151
+ for (const key of this.keysRemoved(keysA, keysB)) {
152
+ const value = this.getLeafNodeValue(a, key);
140
153
  changes.removed.push({
141
- path: `${path}.${key}`,
154
+ path: `${currentPath}.${key}`,
142
155
  node: { key, value }
143
156
  });
144
157
  }
145
- const keysAddedList = this.keysAdded(keysA, keysB);
146
- for (const key of keysAddedList) {
147
- let value;
148
- if (key.includes('proof')) {
149
- value = this.getLeafNodeValueRecursive(b, key);
150
- //console.log('Value: ', value)
151
- if (value.length > 50) {
152
- value = `${value.slice(0, 50)}...`;
153
- }
154
- }
155
- else {
156
- value = this.getLeafNodeValueRecursive(b, key);
158
+ // Handle added keys
159
+ for (const key of this.keysAdded(keysA, keysB)) {
160
+ let value = this.getLeafNodeValue(b, key);
161
+ // Truncate long proof values
162
+ if (key.includes('proof') && typeof value === 'string' && value.length > 50) {
163
+ value = `${value.slice(0, 50)}...`;
157
164
  }
158
165
  changes.added.push({
159
- path: `${path}.${key}`,
166
+ path: `${currentPath}.${key}`,
160
167
  node: { key, value }
161
168
  });
162
169
  }
163
- let keysB_modified = keysB;
164
- keysB_modified = this.deleteFromSet(keysB_modified, keysAddedList);
165
- const keysUpdatedList = this.keysUpdated(a, b, keysB_modified);
166
- for (const { field, oldValue, newValue } of keysUpdatedList) {
167
- if (typeof oldValue === 'function' || typeof newValue === 'function') {
168
- continue;
169
- }
170
- if (typeof oldValue !== 'object' || typeof newValue !== 'object') {
171
- /*console.log('Field: ', field)*/
172
- //console.log('Old Value: ', oldValue)
173
- //console.log('New Value: ', newValue)
174
- changes.updated.push({
175
- path: `${path}.${field}`,
176
- changes: [{
177
- field,
178
- oldValue,
179
- newValue: newValue === undefined ? {} : newValue
180
- }],
181
- });
182
- }
183
- else {
184
- compareAUItemsRecursive(oldValue, newValue, `${path}.${field}`);
185
- }
170
+ // Handle updated keys
171
+ const commonKeys = new Set([...keysA].filter(x => keysB.has(x)));
172
+ const updatedKeys = this.keysUpdated(a, b, commonKeys);
173
+ for (const { field, oldValue, newValue } of updatedKeys) {
174
+ changes.updated.push({
175
+ path: `${currentPath}.${field}`,
176
+ changes: [{
177
+ field,
178
+ oldValue,
179
+ newValue
180
+ }]
181
+ });
186
182
  }
187
183
  };
188
- // Find removed and updated elements
189
- if (Array.isArray(oldAUArray) && oldAUArray.length > 0) {
190
- for (const oldAUArrayItem of oldAUArray) {
191
- const currentPath = `${path}[${oldAUArray.indexOf(oldAUArrayItem)}]`;
192
- if (!newAUMap.has(oldAUArrayItem.id)) {
193
- changes.removed.push({
194
- path: currentPath,
195
- node: oldAUArrayItem
196
- });
197
- }
198
- else {
199
- const newAUArrayItem = newAUMap.get(oldAUArrayItem.id);
200
- //compareAUItems(oldAUArrayItem, newAUArrayItem, currentPath)
201
- compareAUItemsRecursive(oldAUArrayItem, newAUArrayItem, currentPath);
202
- }
184
+ // Compare existing nodes
185
+ for (const oldAU of oldAUArray) {
186
+ const currentPath = `${path}[${oldAUArray.indexOf(oldAU)}]`;
187
+ if (!newAUMap.has(oldAU.id)) {
188
+ changes.removed.push({
189
+ path: currentPath,
190
+ node: oldAU
191
+ });
192
+ }
193
+ else {
194
+ const newAU = newAUMap.get(oldAU.id);
195
+ compareAUItemsRecursive(oldAU, newAU, currentPath);
203
196
  }
204
197
  }
205
- for (const newAUArrayItem of newAUArray) {
206
- const currentPath = `${path}[${newAUArray.indexOf(newAUArrayItem)}]`;
207
- if (!oldAUMap.has(newAUArrayItem.id)) {
198
+ // Handle new nodes
199
+ for (const newAU of newAUArray) {
200
+ if (!oldAUMap.has(newAU.id)) {
201
+ const currentPath = `${path}[${newAUArray.indexOf(newAU)}]`;
208
202
  changes.added.push({
209
203
  path: currentPath,
210
- node: newAUArrayItem
204
+ node: newAU
211
205
  });
212
206
  }
213
207
  }
@@ -1 +1 @@
1
- {"version":3,"file":"AccountUpdateTrace.js","sourceRoot":"","sources":["../../src/AccountUpdateTrace.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AccountUpdateTrace.js","sourceRoot":"","sources":["../../src/AccountUpdateTrace.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,12 @@
1
- import { TreeSnapshot } from "./Interface";
1
+ import { TreeSnapshot } from "./Interface.js";
2
2
  export declare class ASCIITreeVisualizer {
3
3
  private readonly INDENT;
4
+ private readonly TRUNCATE_LENGTH;
5
+ private readonly HASH_PREVIEW_LENGTH;
4
6
  private readonly COLORS;
5
7
  private readonly SYMBOLS;
6
8
  private formatValue;
9
+ private truncateString;
7
10
  private stringifyWithBigInt;
8
11
  private visualizeChanges;
9
12
  visualizeChangeSummary(snapshots: TreeSnapshot[]): string;
@@ -1,6 +1,8 @@
1
1
  export class ASCIITreeVisualizer {
2
2
  constructor() {
3
3
  this.INDENT = ' ';
4
+ this.TRUNCATE_LENGTH = 50;
5
+ this.HASH_PREVIEW_LENGTH = 8;
4
6
  this.COLORS = {
5
7
  reset: '\x1b[0m',
6
8
  green: '\x1b[32m',
@@ -23,90 +25,137 @@ export class ASCIITreeVisualizer {
23
25
  vertical: '│',
24
26
  };
25
27
  this.stringifyWithBigInt = (obj) => {
26
- return JSON.stringify(obj, (key, value) => (typeof value === 'bigint' ? value.toString() : value));
28
+ try {
29
+ return JSON.stringify(obj, (key, value) => {
30
+ if (typeof value === 'bigint') {
31
+ return value.toString();
32
+ }
33
+ if (value instanceof Error) {
34
+ return value.message;
35
+ }
36
+ return value;
37
+ });
38
+ }
39
+ catch (error) {
40
+ return '[Error: Unable to stringify]';
41
+ }
27
42
  };
28
43
  }
29
44
  formatValue(value) {
30
- if (value === null || value === undefined)
45
+ if (value === null || value === undefined) {
31
46
  return 'null';
47
+ }
32
48
  if (Array.isArray(value)) {
33
- return `[${value.map(v => this.formatValue(v)).join(', ')}]`;
49
+ try {
50
+ return `[${value.map(v => this.formatValue(v)).join(', ')}]`;
51
+ }
52
+ catch (error) {
53
+ return '[Error: Invalid Array]';
54
+ }
34
55
  }
35
56
  if (typeof value === 'object') {
36
- if (value._value !== undefined) {
37
- return value._value.toString();
38
- }
39
- // Handle special cases
40
- if (value.hash) {
41
- return `{hash: "${value.hash.substring(0, 8)}..."}`;
57
+ try {
58
+ if (value === null) {
59
+ return 'null';
60
+ }
61
+ if ('_value' in value) {
62
+ return String(value._value);
63
+ }
64
+ // Handle special cases
65
+ if (value.hash) {
66
+ return `{hash: "${value.hash.substring(0, this.HASH_PREVIEW_LENGTH)}..."}`;
67
+ }
68
+ const str = this.stringifyWithBigInt(value);
69
+ return this.truncateString(str);
42
70
  }
43
- const str = JSON.stringify(value);
44
- if (str.length > 50) {
45
- return `${str.substring(0, 47)}...`;
71
+ catch (error) {
72
+ return '[Error: Invalid Object]';
46
73
  }
74
+ }
75
+ try {
76
+ const str = String(value);
77
+ return this.truncateString(str);
78
+ }
79
+ catch (error) {
80
+ return '[Error: Invalid Value]';
81
+ }
82
+ }
83
+ truncateString(str) {
84
+ if (str.length <= this.TRUNCATE_LENGTH) {
47
85
  return str;
48
86
  }
49
- const str = value.toString();
50
- if (str.length > 50) {
51
- if (str.startsWith('B62')) {
52
- return `${str.substring(0, 8)}...`;
53
- }
54
- return `${str.substring(0, 47)}...`;
87
+ if (str.startsWith('B62')) {
88
+ return `${str.substring(0, this.HASH_PREVIEW_LENGTH)}...`;
55
89
  }
56
- return str;
90
+ return `${str.substring(0, this.TRUNCATE_LENGTH - 3)}...`;
57
91
  }
58
92
  visualizeChanges(changes) {
59
93
  let result = '';
60
- if (changes.added.length > 0) {
94
+ const hasAdded = Array.isArray(changes.added) && changes.added.length > 0;
95
+ const hasUpdated = Array.isArray(changes.updated) && changes.updated.length > 0;
96
+ const hasRemoved = Array.isArray(changes.removed) && changes.removed.length > 0;
97
+ if (hasAdded) {
61
98
  result += `${this.COLORS.green}${this.SYMBOLS.branch} Added:${this.COLORS.reset}\n`;
62
99
  changes.added.forEach((item, i) => {
63
100
  const isLast = i === changes.added.length - 1;
64
101
  const prefix = isLast ? this.SYMBOLS.leaf : this.SYMBOLS.branch;
65
102
  result += `${this.COLORS.green}${prefix} ${this.SYMBOLS.added} ${item.path}${this.COLORS.reset}\n`;
66
- const addPrefix = isLast ? this.SYMBOLS.leaf : this.SYMBOLS.branch;
67
- result += `${this.COLORS.green} ${addPrefix} ${this.stringifyWithBigInt(item.node)} ${this.COLORS.reset}\n`;
103
+ if (item.node) {
104
+ const addPrefix = isLast ? this.SYMBOLS.leaf : this.SYMBOLS.branch;
105
+ result += `${this.COLORS.green} ${addPrefix} ${this.stringifyWithBigInt(item.node)} ${this.COLORS.reset}\n`;
106
+ }
68
107
  });
69
108
  }
70
- if (changes.updated.length > 0) {
71
- if (changes.added.length > 0)
109
+ if (hasUpdated) {
110
+ if (hasAdded)
72
111
  result += '\n';
73
112
  result += `${this.COLORS.yellow}${this.SYMBOLS.branch} Modified:${this.COLORS.reset}\n`;
74
113
  changes.updated.forEach((mod, i) => {
75
114
  const isLast = i === changes.updated.length - 1;
76
115
  const prefix = isLast ? this.SYMBOLS.leaf : this.SYMBOLS.branch;
77
116
  result += `${this.COLORS.yellow}${prefix} ${this.SYMBOLS.modified} ${mod.path}${this.COLORS.reset}\n`;
78
- mod.changes.forEach((change, j) => {
79
- const changePrefix = j === mod.changes.length - 1 ? this.SYMBOLS.leaf : this.SYMBOLS.branch;
80
- result += `${this.COLORS.gray} ${changePrefix} ${change.field}: ${this.COLORS.reset}` +
81
- `${this.formatValue(change.oldValue)} ${this.SYMBOLS.arrow} ${this.formatValue(change.newValue)}\n`;
82
- });
117
+ if (Array.isArray(mod.changes)) {
118
+ mod.changes.forEach((change, j) => {
119
+ const changePrefix = j === mod.changes.length - 1 ? this.SYMBOLS.leaf : this.SYMBOLS.branch;
120
+ result += `${this.COLORS.gray} ${changePrefix} ${change.field}: ${this.COLORS.reset}` +
121
+ `${this.formatValue(change.oldValue)} ${this.SYMBOLS.arrow} ${this.formatValue(change.newValue)}\n`;
122
+ });
123
+ }
83
124
  });
84
125
  }
85
- if (changes.removed.length > 0) {
86
- if (changes.added.length > 0 || changes.updated.length > 0)
126
+ if (hasRemoved) {
127
+ if (hasAdded || hasUpdated)
87
128
  result += '\n';
88
129
  result += `${this.COLORS.red}${this.SYMBOLS.branch} Removed:${this.COLORS.reset}\n`;
89
130
  changes.removed.forEach((item, i) => {
90
131
  const isLast = i === changes.removed.length - 1;
91
132
  const prefix = isLast ? this.SYMBOLS.leaf : this.SYMBOLS.branch;
92
133
  result += `${this.COLORS.red}${prefix} ${this.SYMBOLS.removed} ${item.path}${this.COLORS.reset}\n`;
93
- const removePrefix = i === changes.removed.length - 1 ? this.SYMBOLS.leaf : this.SYMBOLS.branch;
94
- result += `${this.COLORS.red} ${removePrefix} ${this.stringifyWithBigInt(item.node)} ${this.COLORS.reset}\n`;
95
- //result += `${this.COLORS.red}${prefix} ${this.SYMBOLS.removed} ${item}${this.COLORS.reset}\n`;
134
+ if (item.node) {
135
+ const removePrefix = isLast ? this.SYMBOLS.leaf : this.SYMBOLS.branch;
136
+ result += `${this.COLORS.red} ${removePrefix} ${this.stringifyWithBigInt(item.node)} ${this.COLORS.reset}\n`;
137
+ }
96
138
  });
97
139
  }
98
140
  return result;
99
141
  }
100
142
  visualizeChangeSummary(snapshots) {
143
+ if (!Array.isArray(snapshots) || snapshots.length === 0) {
144
+ return this.formatHeader('No changes to visualize');
145
+ }
101
146
  let result = this.formatHeader('Transaction Evolution Summary');
102
147
  snapshots.forEach((snapshot, index) => {
103
- result += this.formatPhase(snapshot.operation, snapshot.timestamp);
148
+ if (!snapshot)
149
+ return;
150
+ const timestamp = snapshot.timestamp || Date.now();
151
+ const operation = snapshot.operation || 'UNKNOWN';
152
+ result += this.formatPhase(operation, timestamp);
104
153
  if (index === 0) {
105
154
  const accountUpdates = Array.isArray(snapshot.tree) ? snapshot.tree.length : 0;
106
155
  result += `${this.COLORS.gray}${this.SYMBOLS.bullet} Created transaction with ${accountUpdates} account updates${this.COLORS.reset}\n`;
107
156
  }
108
- else {
109
- const hasChanges = Object.values(snapshot.changes).some(arr => arr.length > 0);
157
+ else if (snapshot.changes) {
158
+ const hasChanges = Object.values(snapshot.changes).some(arr => Array.isArray(arr) && arr.length > 0);
110
159
  if (hasChanges) {
111
160
  result += this.visualizeChanges(snapshot.changes);
112
161
  }
@@ -123,8 +172,13 @@ export class ASCIITreeVisualizer {
123
172
  return `${this.COLORS.blue}╔${line}╗\n║ ${text} ║\n╚${line}╝${this.COLORS.reset}\n`;
124
173
  }
125
174
  formatPhase(phase, timestamp) {
126
- const date = new Date(timestamp).toLocaleTimeString();
127
- return `${this.COLORS.bold}${this.COLORS.purple}▶ ${phase.toUpperCase()} ${this.COLORS.gray}(${date})${this.COLORS.reset}\n`;
175
+ try {
176
+ const date = new Date(timestamp).toLocaleTimeString();
177
+ return `${this.COLORS.bold}${this.COLORS.purple}▶ ${phase.toUpperCase()} ${this.COLORS.gray}(${date})${this.COLORS.reset}\n`;
178
+ }
179
+ catch (error) {
180
+ return `${this.COLORS.bold}${this.COLORS.purple}▶ ${phase.toUpperCase()} ${this.COLORS.gray}(Invalid timestamp)${this.COLORS.reset}\n`;
181
+ }
128
182
  }
129
183
  }
130
184
  //# sourceMappingURL=AsciiVisualiser.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AsciiVisualiser.js","sourceRoot":"","sources":["../../src/AsciiVisualiser.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,mBAAmB;IAAhC;QACqB,WAAM,GAAG,IAAI,CAAC;QACd,WAAM,GAAG;YACtB,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE,UAAU;YACjB,GAAG,EAAE,UAAU;YACf,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,UAAU;YAClB,MAAM,EAAE,UAAU;YAClB,IAAI,EAAE,UAAU;YAChB,KAAK,EAAE,UAAU;YACjB,IAAI,EAAE,SAAS;SAClB,CAAC;QAEe,YAAO,GAAG;YACvB,KAAK,EAAE,GAAG;YACV,OAAO,EAAE,GAAG;YACZ,QAAQ,EAAE,GAAG;YACb,KAAK,EAAE,GAAG;YACV,MAAM,EAAE,GAAG;YACX,MAAM,EAAE,GAAG;YACX,IAAI,EAAE,GAAG;YACT,QAAQ,EAAE,GAAG;SAChB,CAAC;QAoCM,wBAAmB,GAAG,CAAC,GAAQ,EAAU,EAAE;YAC/C,OAAO,IAAI,CAAC,SAAS,CACnB,GAAG,EACH,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CACvE,CAAA;QACL,CAAC,CAAC;IAsFN,CAAC;IA7HW,WAAW,CAAC,KAAU;QAC1B,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,MAAM,CAAC;QAEzD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;QACjE,CAAC;QAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC5B,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBAC7B,OAAO,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YACnC,CAAC;YAED,uBAAuB;YACvB,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;gBACb,OAAO,WAAW,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC;YACxD,CAAC;YAED,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YAClC,IAAI,GAAG,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;gBAClB,OAAO,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC;YACxC,CAAC;YACD,OAAO,GAAG,CAAC;QACf,CAAC;QAED,MAAM,GAAG,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;QAC7B,IAAI,GAAG,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;YAClB,IAAI,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;gBACxB,OAAO,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC;YACvC,CAAC;YACD,OAAO,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC;QACxC,CAAC;QACD,OAAO,GAAG,CAAC;IACf,CAAC;IASO,gBAAgB,CAAC,OAAkB;QACvC,IAAI,MAAM,GAAG,EAAE,CAAC;QAEhB,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,UAAU,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;YAEpF,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;gBAC9B,MAAM,MAAM,GAAG,CAAC,KAAK,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;gBAC9C,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;gBAChE,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;gBAEnG,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;gBACnE,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,OAAO,SAAS,IAAI,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,CAAA;YAClH,CAAC,CAAC,CAAC;QACP,CAAC;QAED,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;gBAAE,MAAM,IAAI,IAAI,CAAC;YAC7C,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,aAAa,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;YAExF,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;gBAC/B,MAAM,MAAM,GAAG,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;gBAChD,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;gBAChE,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;gBAEtG,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBAC9B,MAAM,YAAY,GAAG,CAAC,KAAK,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;oBAC5F,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,OAAO,YAAY,IAAI,MAAM,CAAC,KAAK,KAAK,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;wBAC/E,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;gBACjH,CAAC,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;QACP,CAAC;QAED,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;gBAAE,MAAM,IAAI,IAAI,CAAC;YAC3E,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,YAAY,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;YAEpF,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;gBAChC,MAAM,MAAM,GAAG,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;gBAChD,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;gBAChE,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;gBAEnG,MAAM,YAAY,GAAG,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;gBAChG,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,OAAO,YAAY,IAAI,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,CAAA;gBAC/G,gGAAgG;YACpG,CAAC,CAAC,CAAC;QACP,CAAC;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;IAEM,sBAAsB,CAAC,SAAyB;QACnD,IAAI,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,+BAA+B,CAAC,CAAC;QAEhE,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE;YAClC,MAAM,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;YAEnE,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;gBACd,MAAM,cAAc,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC/E,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,6BAA6B,cAAc,mBAAmB,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;YAC3I,CAAC;iBAAM,CAAC;gBACJ,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBAC/E,IAAI,UAAU,EAAE,CAAC;oBACb,MAAM,IAAI,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;gBACtD,CAAC;qBAAM,CAAC;oBACJ,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,cAAc,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;gBAC3F,CAAC;YACL,CAAC;YAED,MAAM,IAAI,IAAI,CAAC;QACnB,CAAC,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC;IAClB,CAAC;IAEO,YAAY,CAAC,IAAY;QAC7B,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACzC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,SAAS,IAAI,SAAS,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;IAC1F,CAAC;IAEO,WAAW,CAAC,KAAa,EAAE,SAAiB;QAChD,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,kBAAkB,EAAE,CAAC;QACtD,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,KAAK,CAAC,WAAW,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;IACjI,CAAC;CACJ"}
1
+ {"version":3,"file":"AsciiVisualiser.js","sourceRoot":"","sources":["../../src/AsciiVisualiser.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,5 @@
1
1
  import { AUTrace } from "./autrace.js";
2
2
  import { AUVisualizer } from "./Visualiser.js";
3
- export { AUTrace, AUVisualizer };
3
+ import { AccountUpdateTrace } from "./AccountUpdateTrace.js";
4
+ import { ASCIITreeVisualizer } from "./AsciiVisualiser.js";
5
+ export { AUTrace, AUVisualizer, AccountUpdateTrace, ASCIITreeVisualizer };
@@ -1,4 +1,6 @@
1
1
  import { AUTrace } from "./autrace.js";
2
2
  import { AUVisualizer } from "./Visualiser.js";
3
- export { AUTrace, AUVisualizer };
3
+ import { AccountUpdateTrace } from "./AccountUpdateTrace.js";
4
+ import { ASCIITreeVisualizer } from "./AsciiVisualiser.js";
5
+ export { AUTrace, AUVisualizer, AccountUpdateTrace, ASCIITreeVisualizer };
4
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,EAAC,OAAO,EAAE,YAAY,EAAC,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAG1D,OAAO,EAAC,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,mBAAmB,EAAC,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "autrace",
3
- "version": "0.0.2",
3
+ "version": "0.0.4",
4
4
  "description": "Account Update analyser for MINA",
5
5
  "main": "build/src/index.js",
6
6
  "types": "build/src/index.d.ts",
@@ -10,6 +10,29 @@
10
10
  "LICENSE"
11
11
  ],
12
12
  "type": "module",
13
+ "repository": {
14
+ "type": "git",
15
+ "url": "git+https://github.com/ronykris/mina-account-update.git"
16
+ },
17
+ "keywords": [
18
+ "mina-protocol",
19
+ "o1js",
20
+ "zkapp",
21
+ "blockchain",
22
+ "transaction-tracing",
23
+ "account-updates",
24
+ "visualization",
25
+ "debugging",
26
+ "development-tools",
27
+ "smart-contracts",
28
+ "zkapp-development",
29
+ "mina-debugging",
30
+ "transaction-visualization",
31
+ "blockchain-analysis",
32
+ "developer-tools",
33
+ "zero-knowledge",
34
+ "zk-tools"
35
+ ],
13
36
  "scripts": {
14
37
  "test": "echo \"Error: no test specified\" && exit 1",
15
38
  "build": "tsc"