@tangram-mover/sdk 0.1.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.
Files changed (62) hide show
  1. package/README.md +349 -0
  2. package/dist/src/analyzer/analyzer.d.ts +35 -0
  3. package/dist/src/analyzer/analyzer.d.ts.map +1 -0
  4. package/dist/src/analyzer/analyzer.js +74 -0
  5. package/dist/src/analyzer/analyzer.js.map +1 -0
  6. package/dist/src/analyzer/index.d.ts +7 -0
  7. package/dist/src/analyzer/index.d.ts.map +1 -0
  8. package/dist/src/analyzer/index.js +25 -0
  9. package/dist/src/analyzer/index.js.map +1 -0
  10. package/dist/src/analyzer/invariants.d.ts +25 -0
  11. package/dist/src/analyzer/invariants.d.ts.map +1 -0
  12. package/dist/src/analyzer/invariants.js +159 -0
  13. package/dist/src/analyzer/invariants.js.map +1 -0
  14. package/dist/src/analyzer/types.d.ts +63 -0
  15. package/dist/src/analyzer/types.d.ts.map +1 -0
  16. package/dist/src/analyzer/types.js +21 -0
  17. package/dist/src/analyzer/types.js.map +1 -0
  18. package/dist/src/index.d.ts +14 -0
  19. package/dist/src/index.d.ts.map +1 -0
  20. package/dist/src/index.js +42 -0
  21. package/dist/src/index.js.map +1 -0
  22. package/dist/src/tangram-mover.d.ts +95 -0
  23. package/dist/src/tangram-mover.d.ts.map +1 -0
  24. package/dist/src/tangram-mover.js +254 -0
  25. package/dist/src/tangram-mover.js.map +1 -0
  26. package/dist/src/tracer/index.d.ts +6 -0
  27. package/dist/src/tracer/index.d.ts.map +1 -0
  28. package/dist/src/tracer/index.js +24 -0
  29. package/dist/src/tracer/index.js.map +1 -0
  30. package/dist/src/tracer/tracer.d.ts +26 -0
  31. package/dist/src/tracer/tracer.d.ts.map +1 -0
  32. package/dist/src/tracer/tracer.js +123 -0
  33. package/dist/src/tracer/tracer.js.map +1 -0
  34. package/dist/src/tracer/types.d.ts +110 -0
  35. package/dist/src/tracer/types.d.ts.map +1 -0
  36. package/dist/src/tracer/types.js +7 -0
  37. package/dist/src/tracer/types.js.map +1 -0
  38. package/dist/src/types/index.d.ts +44 -0
  39. package/dist/src/types/index.d.ts.map +1 -0
  40. package/dist/src/types/index.js +6 -0
  41. package/dist/src/types/index.js.map +1 -0
  42. package/dist/src/utils/parsers.d.ts +10 -0
  43. package/dist/src/utils/parsers.d.ts.map +1 -0
  44. package/dist/src/utils/parsers.js +120 -0
  45. package/dist/src/utils/parsers.js.map +1 -0
  46. package/dist/src/utils/rpc-client.d.ts +32 -0
  47. package/dist/src/utils/rpc-client.d.ts.map +1 -0
  48. package/dist/src/utils/rpc-client.js +92 -0
  49. package/dist/src/utils/rpc-client.js.map +1 -0
  50. package/dist/tests/analyzer.test.d.ts +5 -0
  51. package/dist/tests/analyzer.test.d.ts.map +1 -0
  52. package/dist/tests/analyzer.test.js +128 -0
  53. package/dist/tests/analyzer.test.js.map +1 -0
  54. package/dist/tests/integration.test.d.ts +6 -0
  55. package/dist/tests/integration.test.d.ts.map +1 -0
  56. package/dist/tests/integration.test.js +49 -0
  57. package/dist/tests/integration.test.js.map +1 -0
  58. package/dist/tests/tracer.test.d.ts +5 -0
  59. package/dist/tests/tracer.test.d.ts.map +1 -0
  60. package/dist/tests/tracer.test.js +197 -0
  61. package/dist/tests/tracer.test.js.map +1 -0
  62. package/package.json +44 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tangram-mover.js","sourceRoot":"","sources":["../../src/tangram-mover.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Tracer module exports
3
+ */
4
+ export { Tracer } from './tracer';
5
+ export * from './types';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tracer/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,cAAc,SAAS,CAAC"}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ /**
3
+ * Tracer module exports
4
+ */
5
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ var desc = Object.getOwnPropertyDescriptor(m, k);
8
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
9
+ desc = { enumerable: true, get: function() { return m[k]; } };
10
+ }
11
+ Object.defineProperty(o, k2, desc);
12
+ }) : (function(o, m, k, k2) {
13
+ if (k2 === undefined) k2 = k;
14
+ o[k2] = m[k];
15
+ }));
16
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
17
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
18
+ };
19
+ Object.defineProperty(exports, "__esModule", { value: true });
20
+ exports.Tracer = void 0;
21
+ var tracer_1 = require("./tracer");
22
+ Object.defineProperty(exports, "Tracer", { enumerable: true, get: function () { return tracer_1.Tracer; } });
23
+ __exportStar(require("./types"), exports);
24
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tracer/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;;;;;;;;;;;;AAEH,mCAAkC;AAAzB,gGAAA,MAAM,OAAA;AACf,0CAAwB"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Transaction tracer for fetching and parsing Sui transaction traces
3
+ */
4
+ import { RpcClient } from '../utils/rpc-client';
5
+ import type { TraceData } from './types';
6
+ import type { SuiTransactionBlockResponse } from '@mysten/sui/client';
7
+ /**
8
+ * Tracer class for fetching and parsing transaction traces
9
+ */
10
+ export declare class Tracer {
11
+ private rpcClient;
12
+ constructor(rpcClient: RpcClient);
13
+ /**
14
+ * Fetch and parse transaction trace
15
+ */
16
+ fetchTrace(digest: string): Promise<TraceData>;
17
+ /**
18
+ * Parse transaction response into structured trace data
19
+ */
20
+ parseTrace(response: SuiTransactionBlockResponse): TraceData;
21
+ /**
22
+ * Fetch multiple transaction traces
23
+ */
24
+ fetchTraces(digests: string[]): Promise<TraceData[]>;
25
+ }
26
+ //# sourceMappingURL=tracer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tracer.d.ts","sourceRoot":"","sources":["../../../src/tracer/tracer.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD,OAAO,KAAK,EAAE,SAAS,EAAyC,MAAM,SAAS,CAAC;AAChF,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AAEtE;;GAEG;AACH,qBAAa,MAAM;IACjB,OAAO,CAAC,SAAS,CAAY;gBAEjB,SAAS,EAAE,SAAS;IAIhC;;OAEG;IACG,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IAKpD;;OAEG;IACH,UAAU,CAAC,QAAQ,EAAE,2BAA2B,GAAG,SAAS;IAqG5D;;OAEG;IACG,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;CAI3D"}
@@ -0,0 +1,123 @@
1
+ "use strict";
2
+ /**
3
+ * Transaction tracer for fetching and parsing Sui transaction traces
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.Tracer = void 0;
7
+ const parsers_1 = require("../utils/parsers");
8
+ /**
9
+ * Tracer class for fetching and parsing transaction traces
10
+ */
11
+ class Tracer {
12
+ constructor(rpcClient) {
13
+ this.rpcClient = rpcClient;
14
+ }
15
+ /**
16
+ * Fetch and parse transaction trace
17
+ */
18
+ async fetchTrace(digest) {
19
+ const response = await this.rpcClient.getTransactionBlock(digest);
20
+ return this.parseTrace(response);
21
+ }
22
+ /**
23
+ * Parse transaction response into structured trace data
24
+ */
25
+ parseTrace(response) {
26
+ const digest = response.digest;
27
+ // Extract sender
28
+ const sender = response.transaction?.data?.sender || 'unknown';
29
+ // Extract status and gas metrics from effects
30
+ let status = 'unknown';
31
+ let gas_computation = 0;
32
+ let gas_storage = 0;
33
+ let gas_storage_rebate = 0;
34
+ let objects_created = 0;
35
+ let objects_mutated = 0;
36
+ let objects_deleted = 0;
37
+ if (response.effects) {
38
+ const effects = response.effects;
39
+ // Determine status
40
+ if (effects.status?.status === 'success') {
41
+ status = 'success';
42
+ }
43
+ else {
44
+ status = 'failure';
45
+ }
46
+ // Extract gas information
47
+ if (effects.gasUsed) {
48
+ gas_computation = Number(effects.gasUsed.computationCost || 0);
49
+ gas_storage_rebate = Number(effects.gasUsed.storageRebate || 0);
50
+ const storageCost = Number(effects.gasUsed.storageCost || 0);
51
+ gas_storage = storageCost - gas_storage_rebate;
52
+ }
53
+ // Count object changes
54
+ objects_created = effects.created?.length || 0;
55
+ objects_mutated = effects.mutated?.length || 0;
56
+ objects_deleted = (effects.deleted?.length || 0) +
57
+ (effects.wrapped?.length || 0) +
58
+ (effects.unwrappedThenDeleted?.length || 0);
59
+ }
60
+ // Extract events
61
+ const events = (response.events || []).map((event) => ({
62
+ type: event.type || '',
63
+ packageId: event.packageId,
64
+ module: event.parsedJson?.module,
65
+ sender: event.sender,
66
+ parsedJson: event.parsedJson,
67
+ bcs: event.bcs,
68
+ }));
69
+ // Extract balance changes
70
+ const balance_changes = (response.balanceChanges || []).map((bc) => ({
71
+ owner: bc.owner || '',
72
+ coinType: bc.coinType || '',
73
+ amount: bc.amount || '0',
74
+ }));
75
+ // Calculate net balance change
76
+ const net_balance_change = balance_changes.reduce((sum, bc) => {
77
+ const amount = typeof bc.amount === 'string' ? parseInt(bc.amount) : bc.amount;
78
+ return sum + amount;
79
+ }, 0);
80
+ // Extract object changes
81
+ const object_changes = (response.objectChanges || []).map((oc) => ({
82
+ objectId: oc.objectId || '',
83
+ type: oc.type || '',
84
+ objectType: oc.objectType || '',
85
+ owner: oc.owner,
86
+ previousOwner: oc.previousOwner,
87
+ }));
88
+ // Parse PTB commands
89
+ const ptb_commands = (0, parsers_1.parsePTBCommands)(response);
90
+ const has_move_calls = ptb_commands.some(cmd => cmd.command_type === 'MoveCall');
91
+ return {
92
+ digest,
93
+ sender,
94
+ status,
95
+ gas_computation,
96
+ gas_storage,
97
+ gas_storage_rebate,
98
+ effects: response.effects,
99
+ events,
100
+ balance_changes,
101
+ object_changes,
102
+ ptb_commands,
103
+ num_commands: ptb_commands.length,
104
+ num_events: events.length,
105
+ num_balance_changes: balance_changes.length,
106
+ num_object_changes: object_changes.length,
107
+ objects_created,
108
+ objects_mutated,
109
+ objects_deleted,
110
+ has_move_calls,
111
+ net_balance_change,
112
+ };
113
+ }
114
+ /**
115
+ * Fetch multiple transaction traces
116
+ */
117
+ async fetchTraces(digests) {
118
+ const responses = await this.rpcClient.getTransactionBlocks(digests);
119
+ return responses.map(response => this.parseTrace(response));
120
+ }
121
+ }
122
+ exports.Tracer = Tracer;
123
+ //# sourceMappingURL=tracer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tracer.js","sourceRoot":"","sources":["../../../src/tracer/tracer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,110 @@
1
+ /**
2
+ * Type definitions for transaction tracing
3
+ * These types match the Rust TraceData structure
4
+ */
5
+ /**
6
+ * Parsed PTB (Programmable Transaction Block) command data
7
+ */
8
+ export interface PTBCommand {
9
+ /** Index of the command in the PTB */
10
+ command_index: number;
11
+ /** Type of command (MoveCall, TransferObjects, SplitCoins, etc.) */
12
+ command_type: string;
13
+ /** Package ID (for MoveCall commands) */
14
+ package?: string;
15
+ /** Module name (for MoveCall commands) */
16
+ module?: string;
17
+ /** Function name (for MoveCall commands) */
18
+ function?: string;
19
+ /** Type arguments (for MoveCall commands) */
20
+ type_arguments: string[];
21
+ }
22
+ /**
23
+ * Balance change information
24
+ */
25
+ export interface BalanceChange {
26
+ /** Owner address */
27
+ owner: string;
28
+ /** Coin type (e.g., "0x2::sui::SUI") */
29
+ coinType: string;
30
+ /** Amount changed (positive for increase, negative for decrease) */
31
+ amount: string | number;
32
+ }
33
+ /**
34
+ * Object change information
35
+ */
36
+ export interface ObjectChange {
37
+ /** Object ID */
38
+ objectId: string;
39
+ /** Type of change (Created, Mutated, Deleted, etc.) */
40
+ type: string;
41
+ /** Object type */
42
+ objectType: string;
43
+ /** Current owner */
44
+ owner?: string;
45
+ /** Previous owner (for transfers) */
46
+ previousOwner?: string;
47
+ }
48
+ /**
49
+ * Sui event information
50
+ */
51
+ export interface SuiEvent {
52
+ /** Event type */
53
+ type: string;
54
+ /** Package ID */
55
+ packageId?: string;
56
+ /** Module name */
57
+ module?: string;
58
+ /** Sender address */
59
+ sender?: string;
60
+ /** Event data as JSON */
61
+ parsedJson?: Record<string, any>;
62
+ /** Raw event data */
63
+ bcs?: string;
64
+ }
65
+ /**
66
+ * Complete trace data for a transaction
67
+ */
68
+ export interface TraceData {
69
+ /** Transaction digest */
70
+ digest: string;
71
+ /** Sender address */
72
+ sender: string;
73
+ /** Transaction status (success/failure) */
74
+ status: string;
75
+ /** Gas computation cost */
76
+ gas_computation: number;
77
+ /** Gas storage cost (can be negative after rebate) */
78
+ gas_storage: number;
79
+ /** Gas storage rebate */
80
+ gas_storage_rebate: number;
81
+ /** Transaction effects (raw Sui effects object) */
82
+ effects?: any;
83
+ /** All emitted events */
84
+ events: SuiEvent[];
85
+ /** All balance changes */
86
+ balance_changes: BalanceChange[];
87
+ /** All object changes */
88
+ object_changes: ObjectChange[];
89
+ /** Parsed PTB commands */
90
+ ptb_commands: PTBCommand[];
91
+ /** Number of PTB commands */
92
+ num_commands: number;
93
+ /** Number of events */
94
+ num_events: number;
95
+ /** Number of balance changes */
96
+ num_balance_changes: number;
97
+ /** Number of object changes */
98
+ num_object_changes: number;
99
+ /** Number of objects created */
100
+ objects_created: number;
101
+ /** Number of objects mutated */
102
+ objects_mutated: number;
103
+ /** Number of objects deleted */
104
+ objects_deleted: number;
105
+ /** Whether transaction contains Move calls */
106
+ has_move_calls: boolean;
107
+ /** Net balance change across all coins */
108
+ net_balance_change: number | string;
109
+ }
110
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/tracer/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,sCAAsC;IACtC,aAAa,EAAE,MAAM,CAAC;IACtB,oEAAoE;IACpE,YAAY,EAAE,MAAM,CAAC;IACrB,yCAAyC;IACzC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,0CAA0C;IAC1C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,4CAA4C;IAC5C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,6CAA6C;IAC7C,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,oBAAoB;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,wCAAwC;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,oEAAoE;IACpE,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,gBAAgB;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,uDAAuD;IACvD,IAAI,EAAE,MAAM,CAAC;IACb,kBAAkB;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,oBAAoB;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qCAAqC;IACrC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,iBAAiB;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,iBAAiB;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kBAAkB;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qBAAqB;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,yBAAyB;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACjC,qBAAqB;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,yBAAyB;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,qBAAqB;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,2CAA2C;IAC3C,MAAM,EAAE,MAAM,CAAC;IAEf,2BAA2B;IAC3B,eAAe,EAAE,MAAM,CAAC;IACxB,sDAAsD;IACtD,WAAW,EAAE,MAAM,CAAC;IACpB,yBAAyB;IACzB,kBAAkB,EAAE,MAAM,CAAC;IAE3B,mDAAmD;IACnD,OAAO,CAAC,EAAE,GAAG,CAAC;IACd,yBAAyB;IACzB,MAAM,EAAE,QAAQ,EAAE,CAAC;IACnB,0BAA0B;IAC1B,eAAe,EAAE,aAAa,EAAE,CAAC;IACjC,yBAAyB;IACzB,cAAc,EAAE,YAAY,EAAE,CAAC;IAC/B,0BAA0B;IAC1B,YAAY,EAAE,UAAU,EAAE,CAAC;IAE3B,6BAA6B;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,uBAAuB;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,gCAAgC;IAChC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,+BAA+B;IAC/B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,gCAAgC;IAChC,eAAe,EAAE,MAAM,CAAC;IACxB,gCAAgC;IAChC,eAAe,EAAE,MAAM,CAAC;IACxB,gCAAgC;IAChC,eAAe,EAAE,MAAM,CAAC;IACxB,8CAA8C;IAC9C,cAAc,EAAE,OAAO,CAAC;IACxB,0CAA0C;IAC1C,kBAAkB,EAAE,MAAM,GAAG,MAAM,CAAC;CACrC"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ /**
3
+ * Type definitions for transaction tracing
4
+ * These types match the Rust TraceData structure
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/tracer/types.ts"],"names":[],"mappings":";AAAA;;;GAGG"}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * Shared types and interfaces
3
+ */
4
+ /**
5
+ * Network type for Sui
6
+ */
7
+ export type NetworkType = 'mainnet' | 'testnet' | 'devnet' | 'localnet';
8
+ /**
9
+ * Options for initializing TangramMover
10
+ */
11
+ export interface TangramMoverOptions {
12
+ /** Secret key (base64, hex, or legacy format) */
13
+ secretKey?: string;
14
+ /** Mnemonics (12 or 24 words) */
15
+ mnemonics?: string;
16
+ /** Network type */
17
+ networkType?: NetworkType;
18
+ /** Custom fullnode URLs */
19
+ fullnodeUrls?: string[];
20
+ /** Custom faucet URL */
21
+ faucetUrl?: string;
22
+ /** Account index for HD wallet (default: 0) */
23
+ accountIndex?: number;
24
+ /** Rate limit in milliseconds between RPC calls */
25
+ rateLimitMs?: number;
26
+ }
27
+ /**
28
+ * Transaction result from execution
29
+ */
30
+ export interface TransactionResult {
31
+ /** Transaction digest */
32
+ digest: string;
33
+ /** Transaction status */
34
+ status: 'success' | 'failure';
35
+ /** Gas used */
36
+ gasUsed?: {
37
+ computationCost: number;
38
+ storageCost: number;
39
+ storageRebate: number;
40
+ };
41
+ /** Error message (if failed) */
42
+ error?: string;
43
+ }
44
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,UAAU,CAAC;AAExE;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,iDAAiD;IACjD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iCAAiC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mBAAmB;IACnB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,2BAA2B;IAC3B,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,wBAAwB;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+CAA+C;IAC/C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mDAAmD;IACnD,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,yBAAyB;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,yBAAyB;IACzB,MAAM,EAAE,SAAS,GAAG,SAAS,CAAC;IAC9B,eAAe;IACf,OAAO,CAAC,EAAE;QACR,eAAe,EAAE,MAAM,CAAC;QACxB,WAAW,EAAE,MAAM,CAAC;QACpB,aAAa,EAAE,MAAM,CAAC;KACvB,CAAC;IACF,gCAAgC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ /**
3
+ * Shared types and interfaces
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":";AAAA;;GAEG"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Parsing utilities for PTB commands and transaction data
3
+ */
4
+ import type { PTBCommand } from '../tracer/types';
5
+ import type { SuiTransactionBlockResponse } from '@mysten/sui/client';
6
+ /**
7
+ * Parse PTB commands from transaction response
8
+ */
9
+ export declare function parsePTBCommands(response: SuiTransactionBlockResponse): PTBCommand[];
10
+ //# sourceMappingURL=parsers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parsers.d.ts","sourceRoot":"","sources":["../../../src/utils/parsers.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AAEtE;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,2BAA2B,GAAG,UAAU,EAAE,CA0BpF"}
@@ -0,0 +1,120 @@
1
+ "use strict";
2
+ /**
3
+ * Parsing utilities for PTB commands and transaction data
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.parsePTBCommands = parsePTBCommands;
7
+ /**
8
+ * Parse PTB commands from transaction response
9
+ */
10
+ function parsePTBCommands(response) {
11
+ const commands = [];
12
+ // Try to extract from transaction data
13
+ if (response.transaction?.data) {
14
+ const txData = response.transaction.data;
15
+ // Check if it's a programmable transaction
16
+ if ('kind' in txData && txData.kind === 'ProgrammableTransaction') {
17
+ const pt = txData;
18
+ if (pt.transactions && Array.isArray(pt.transactions)) {
19
+ pt.transactions.forEach((cmd, index) => {
20
+ const parsed = parseCommand(index, cmd);
21
+ if (parsed) {
22
+ commands.push(parsed);
23
+ }
24
+ });
25
+ }
26
+ }
27
+ }
28
+ // Alternative: try to parse from raw transaction if available
29
+ // This would require BCS decoding which is more complex
30
+ return commands;
31
+ }
32
+ /**
33
+ * Parse individual PTB command
34
+ */
35
+ function parseCommand(index, command) {
36
+ if (!command)
37
+ return null;
38
+ // Handle different command types
39
+ if (command.MoveCall) {
40
+ const moveCall = command.MoveCall;
41
+ return {
42
+ command_index: index,
43
+ command_type: 'MoveCall',
44
+ package: moveCall.package || moveCall.Package,
45
+ module: moveCall.module || moveCall.Module,
46
+ function: moveCall.function || moveCall.Function,
47
+ type_arguments: moveCall.typeArguments || moveCall.type_arguments || [],
48
+ };
49
+ }
50
+ if (command.TransferObjects) {
51
+ return {
52
+ command_index: index,
53
+ command_type: 'TransferObjects',
54
+ package: undefined,
55
+ module: undefined,
56
+ function: undefined,
57
+ type_arguments: [],
58
+ };
59
+ }
60
+ if (command.SplitCoins) {
61
+ return {
62
+ command_index: index,
63
+ command_type: 'SplitCoins',
64
+ package: undefined,
65
+ module: undefined,
66
+ function: undefined,
67
+ type_arguments: [],
68
+ };
69
+ }
70
+ if (command.MergeCoins) {
71
+ return {
72
+ command_index: index,
73
+ command_type: 'MergeCoins',
74
+ package: undefined,
75
+ module: undefined,
76
+ function: undefined,
77
+ type_arguments: [],
78
+ };
79
+ }
80
+ if (command.Publish) {
81
+ return {
82
+ command_index: index,
83
+ command_type: 'Publish',
84
+ package: undefined,
85
+ module: undefined,
86
+ function: undefined,
87
+ type_arguments: [],
88
+ };
89
+ }
90
+ if (command.MakeMoveVec) {
91
+ return {
92
+ command_index: index,
93
+ command_type: 'MakeMoveVec',
94
+ package: undefined,
95
+ module: undefined,
96
+ function: undefined,
97
+ type_arguments: [],
98
+ };
99
+ }
100
+ if (command.Upgrade) {
101
+ return {
102
+ command_index: index,
103
+ command_type: 'Upgrade',
104
+ package: undefined,
105
+ module: undefined,
106
+ function: undefined,
107
+ type_arguments: [],
108
+ };
109
+ }
110
+ // Unknown command type
111
+ return {
112
+ command_index: index,
113
+ command_type: 'Unknown',
114
+ package: undefined,
115
+ module: undefined,
116
+ function: undefined,
117
+ type_arguments: [],
118
+ };
119
+ }
120
+ //# sourceMappingURL=parsers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parsers.js","sourceRoot":"","sources":["../../../src/utils/parsers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * RPC client wrapper for Sui network interactions
3
+ * Uses sui-kit's RPC client when available, falls back to direct RPC calls
4
+ */
5
+ import { SuiKit } from '@scallop-io/sui-kit';
6
+ import type { SuiTransactionBlockResponse, SuiTransactionBlockResponseOptions } from '@mysten/sui/client';
7
+ /**
8
+ * Wrapper around Sui RPC client
9
+ */
10
+ export declare class RpcClient {
11
+ private suiKit;
12
+ private rateLimitMs;
13
+ private lastRequestTime;
14
+ constructor(suiKit: SuiKit, rateLimitMs?: number);
15
+ /**
16
+ * Get the underlying Sui client from sui-kit
17
+ */
18
+ private getClient;
19
+ /**
20
+ * Rate limit helper
21
+ */
22
+ private rateLimit;
23
+ /**
24
+ * Fetch transaction with options
25
+ */
26
+ getTransactionBlock(digest: string, options?: SuiTransactionBlockResponseOptions): Promise<SuiTransactionBlockResponse>;
27
+ /**
28
+ * Get multiple transaction blocks
29
+ */
30
+ getTransactionBlocks(digests: string[], options?: SuiTransactionBlockResponseOptions): Promise<SuiTransactionBlockResponse[]>;
31
+ }
32
+ //# sourceMappingURL=rpc-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rpc-client.d.ts","sourceRoot":"","sources":["../../../src/utils/rpc-client.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,KAAK,EAAE,2BAA2B,EAAE,kCAAkC,EAAE,MAAM,oBAAoB,CAAC;AAE1G;;GAEG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,eAAe,CAAa;gBAExB,MAAM,EAAE,MAAM,EAAE,WAAW,GAAE,MAAa;IAKtD;;OAEG;IACH,OAAO,CAAC,SAAS;IAQjB;;OAEG;YACW,SAAS;IAYvB;;OAEG;IACG,mBAAmB,CACvB,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,kCAAkC,GAC3C,OAAO,CAAC,2BAA2B,CAAC;IAoCvC;;OAEG;IACG,oBAAoB,CACxB,OAAO,EAAE,MAAM,EAAE,EACjB,OAAO,CAAC,EAAE,kCAAkC,GAC3C,OAAO,CAAC,2BAA2B,EAAE,CAAC;CAe1C"}