@andrewkimjoseph/celina-sdk 0.4.10 → 0.4.12
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/analytics/amplitude.d.ts +2 -0
- package/build/analytics/amplitude.js +17 -2
- package/build/analytics/amplitude.js.map +1 -1
- package/build/analytics/mcp-tool-events.js +1 -0
- package/build/analytics/mcp-tool-events.js.map +1 -1
- package/build/index.d.ts +1 -0
- package/build/index.js +1 -0
- package/build/index.js.map +1 -1
- package/build/services/blockchain.service.d.ts +33 -3
- package/build/services/blockchain.service.js +40 -21
- package/build/services/blockchain.service.js.map +1 -1
- package/package.json +1 -1
- package/tests/catalog/domains/blockchain.ts +24 -0
|
@@ -3,3 +3,5 @@ import type { SdkConfig } from "../config/sdk-config.js";
|
|
|
3
3
|
export declare function setTrackFnForTests(fn: ((eventName: string, config: SdkConfig) => void) | null): void;
|
|
4
4
|
/** Fire-and-forget MCP tool name event; never throws to callers. */
|
|
5
5
|
export declare function trackMcpTool(eventName: string, config: SdkConfig): void;
|
|
6
|
+
/** Await any queued Amplitude events (e.g. end of a Next.js route via `after()`). */
|
|
7
|
+
export declare function flushCelinaAnalytics(): Promise<void>;
|
|
@@ -44,13 +44,28 @@ export function trackMcpTool(eventName, config) {
|
|
|
44
44
|
return;
|
|
45
45
|
}
|
|
46
46
|
const amplitude = await import("@amplitude/analytics-node");
|
|
47
|
-
amplitude.track(eventName, undefined, {
|
|
47
|
+
await amplitude.track(eventName, undefined, {
|
|
48
48
|
device_id: resolveDeviceId(config),
|
|
49
|
-
});
|
|
49
|
+
}).promise;
|
|
50
|
+
// Serverless (Vercel, Lambda) freezes when the handler returns unless we flush.
|
|
51
|
+
await amplitude.flush().promise;
|
|
50
52
|
}
|
|
51
53
|
catch {
|
|
52
54
|
// telemetry must not break SDK reads
|
|
53
55
|
}
|
|
54
56
|
})();
|
|
55
57
|
}
|
|
58
|
+
/** Await any queued Amplitude events (e.g. end of a Next.js route via `after()`). */
|
|
59
|
+
export async function flushCelinaAnalytics() {
|
|
60
|
+
if (!initialized) {
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
try {
|
|
64
|
+
const amplitude = await import("@amplitude/analytics-node");
|
|
65
|
+
await amplitude.flush().promise;
|
|
66
|
+
}
|
|
67
|
+
catch {
|
|
68
|
+
// ignore flush failures
|
|
69
|
+
}
|
|
70
|
+
}
|
|
56
71
|
//# sourceMappingURL=amplitude.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"amplitude.js","sourceRoot":"","sources":["../../src/analytics/amplitude.ts"],"names":[],"mappings":"AACA,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,eAAe,GAChB,MAAM,aAAa,CAAC;AAErB,IAAI,WAAW,GAAG,KAAK,CAAC;AACxB,IAAI,WAAW,GACb,IAAI,CAAC;AAEP,oEAAoE;AACpE,MAAM,UAAU,kBAAkB,CAChC,EAA2D;IAE3D,WAAW,GAAG,EAAE,CAAC;IACjB,WAAW,GAAG,KAAK,CAAC;AACtB,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,MAAiB;IACzC,MAAM,MAAM,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAC;IAC9C,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,2BAA2B,CAAC,CAAC;QAC5D,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACvB,WAAW,GAAG,IAAI,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,oEAAoE;AACpE,MAAM,UAAU,YAAY,CAAC,SAAiB,EAAE,MAAiB;IAC/D,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC;QAChC,OAAO;IACT,CAAC;IAED,IAAI,WAAW,EAAE,CAAC;QAChB,IAAI,CAAC;YACH,WAAW,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QACjC,CAAC;QAAC,MAAM,CAAC;YACP,4BAA4B;QAC9B,CAAC;QACD,OAAO;IACT,CAAC;IAED,KAAK,CAAC,KAAK,IAAI,EAAE;QACf,IAAI,CAAC;YACH,IAAI,CAAC,CAAC,MAAM,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;gBAChC,OAAO;YACT,CAAC;YACD,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,2BAA2B,CAAC,CAAC;YAC5D,SAAS,CAAC,KAAK,CAAC,SAAS,EAAE,SAAS,EAAE;
|
|
1
|
+
{"version":3,"file":"amplitude.js","sourceRoot":"","sources":["../../src/analytics/amplitude.ts"],"names":[],"mappings":"AACA,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,eAAe,GAChB,MAAM,aAAa,CAAC;AAErB,IAAI,WAAW,GAAG,KAAK,CAAC;AACxB,IAAI,WAAW,GACb,IAAI,CAAC;AAEP,oEAAoE;AACpE,MAAM,UAAU,kBAAkB,CAChC,EAA2D;IAE3D,WAAW,GAAG,EAAE,CAAC;IACjB,WAAW,GAAG,KAAK,CAAC;AACtB,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,MAAiB;IACzC,MAAM,MAAM,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAC;IAC9C,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,2BAA2B,CAAC,CAAC;QAC5D,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACvB,WAAW,GAAG,IAAI,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,oEAAoE;AACpE,MAAM,UAAU,YAAY,CAAC,SAAiB,EAAE,MAAiB;IAC/D,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC;QAChC,OAAO;IACT,CAAC;IAED,IAAI,WAAW,EAAE,CAAC;QAChB,IAAI,CAAC;YACH,WAAW,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QACjC,CAAC;QAAC,MAAM,CAAC;YACP,4BAA4B;QAC9B,CAAC;QACD,OAAO;IACT,CAAC;IAED,KAAK,CAAC,KAAK,IAAI,EAAE;QACf,IAAI,CAAC;YACH,IAAI,CAAC,CAAC,MAAM,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;gBAChC,OAAO;YACT,CAAC;YACD,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,2BAA2B,CAAC,CAAC;YAC5D,MAAM,SAAS,CAAC,KAAK,CAAC,SAAS,EAAE,SAAS,EAAE;gBAC1C,SAAS,EAAE,eAAe,CAAC,MAAM,CAAC;aACnC,CAAC,CAAC,OAAO,CAAC;YACX,gFAAgF;YAChF,MAAM,SAAS,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC;QAClC,CAAC;QAAC,MAAM,CAAC;YACP,qCAAqC;QACvC,CAAC;IACH,CAAC,CAAC,EAAE,CAAC;AACP,CAAC;AAED,qFAAqF;AACrF,MAAM,CAAC,KAAK,UAAU,oBAAoB;IACxC,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO;IACT,CAAC;IACD,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,2BAA2B,CAAC,CAAC;QAC5D,MAAM,SAAS,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC;IAClC,CAAC;IAAC,MAAM,CAAC;QACP,wBAAwB;IAC1B,CAAC;AACH,CAAC"}
|
|
@@ -6,6 +6,7 @@ export const MCP_TOOL_EVENT_BY_SDK_METHOD = {
|
|
|
6
6
|
"account.getAccount": "get_account",
|
|
7
7
|
"account.getWalletAddress": "get_wallet_address",
|
|
8
8
|
"blockchain.getBlock": "get_block",
|
|
9
|
+
"blockchain.getBlockWithTransactions": "get_block",
|
|
9
10
|
"blockchain.getLatestBlocks": "get_latest_blocks",
|
|
10
11
|
"blockchain.getNetworkStatus": "get_network_status",
|
|
11
12
|
"blockchain.getTransaction": "get_transaction",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-tool-events.js","sourceRoot":"","sources":["../../src/analytics/mcp-tool-events.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAqC;IAC5E,oBAAoB,EAAE,aAAa;IACnC,0BAA0B,EAAE,oBAAoB;IAChD,qBAAqB,EAAE,WAAW;IAClC,4BAA4B,EAAE,mBAAmB;IACjD,6BAA6B,EAAE,oBAAoB;IACnD,2BAA2B,EAAE,iBAAiB;IAC9C,oBAAoB,EAAE,qBAAqB;IAC3C,0BAA0B,EAAE,2BAA2B;IACvD,oBAAoB,EAAE,qBAAqB;IAC3C,wBAAwB,EAAE,0BAA0B;IACpD,yBAAyB,EAAE,2BAA2B;IACtD,sBAAsB,EAAE,uBAAuB;IAC/C,oBAAoB,EAAE,qBAAqB;IAC3C,sBAAsB,EAAE,wBAAwB;IAChD,aAAa,EAAE,aAAa;IAC5B,cAAc,EAAE,cAAc;IAC9B,qBAAqB,EAAE,sBAAsB;IAC7C,yBAAyB,EAAE,0BAA0B;IACrD,uBAAuB,EAAE,wBAAwB;IACjD,sBAAsB,EAAE,uBAAuB;IAC/C,gBAAgB,EAAE,aAAa;IAC/B,mCAAmC,EAAE,gCAAgC;IACrE,gCAAgC,EAAE,kCAAkC;IACpE,mCAAmC,EAAE,0BAA0B;IAC/D,+BAA+B,EAAE,sBAAsB;IACvD,oBAAoB,EAAE,mBAAmB;IACzC,oBAAoB,EAAE,oBAAoB;IAC1C,mBAAmB,EAAE,iBAAiB;IACtC,gBAAgB,EAAE,cAAc;IAChC,6BAA6B,EAAE,0BAA0B;IACzD,4BAA4B,EAAE,yBAAyB;IACvD,sBAAsB,EAAE,mBAAmB;IAC3C,sBAAsB,EAAE,mBAAmB;IAC3C,sBAAsB,EAAE,mBAAmB;IAC3C,sBAAsB,EAAE,mBAAmB;IAC3C,wBAAwB,EAAE,qBAAqB;IAC/C,8BAA8B,EAAE,wBAAwB;IACxD,4BAA4B,EAAE,sBAAsB;IACpD,6BAA6B,EAAE,wBAAwB;IACvD,kCAAkC,EAAE,6BAA6B;IACjE,4BAA4B,EAAE,sBAAsB;IACpD,mBAAmB,EAAE,mBAAmB;IACxC,6BAA6B,EAAE,yBAAyB;IACxD,uBAAuB,EAAE,mBAAmB;IAC5C,oBAAoB,EAAE,gBAAgB;IACtC,0BAA0B,EAAE,eAAe;IAC3C,iCAAiC,EAAE,sBAAsB;IACzD,2BAA2B,EAAE,kBAAkB;IAC/C,sBAAsB,EAAE,uBAAuB;IAC/C,sBAAsB,EAAE,mBAAmB;CACnC,CAAC"}
|
|
1
|
+
{"version":3,"file":"mcp-tool-events.js","sourceRoot":"","sources":["../../src/analytics/mcp-tool-events.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAqC;IAC5E,oBAAoB,EAAE,aAAa;IACnC,0BAA0B,EAAE,oBAAoB;IAChD,qBAAqB,EAAE,WAAW;IAClC,qCAAqC,EAAE,WAAW;IAClD,4BAA4B,EAAE,mBAAmB;IACjD,6BAA6B,EAAE,oBAAoB;IACnD,2BAA2B,EAAE,iBAAiB;IAC9C,oBAAoB,EAAE,qBAAqB;IAC3C,0BAA0B,EAAE,2BAA2B;IACvD,oBAAoB,EAAE,qBAAqB;IAC3C,wBAAwB,EAAE,0BAA0B;IACpD,yBAAyB,EAAE,2BAA2B;IACtD,sBAAsB,EAAE,uBAAuB;IAC/C,oBAAoB,EAAE,qBAAqB;IAC3C,sBAAsB,EAAE,wBAAwB;IAChD,aAAa,EAAE,aAAa;IAC5B,cAAc,EAAE,cAAc;IAC9B,qBAAqB,EAAE,sBAAsB;IAC7C,yBAAyB,EAAE,0BAA0B;IACrD,uBAAuB,EAAE,wBAAwB;IACjD,sBAAsB,EAAE,uBAAuB;IAC/C,gBAAgB,EAAE,aAAa;IAC/B,mCAAmC,EAAE,gCAAgC;IACrE,gCAAgC,EAAE,kCAAkC;IACpE,mCAAmC,EAAE,0BAA0B;IAC/D,+BAA+B,EAAE,sBAAsB;IACvD,oBAAoB,EAAE,mBAAmB;IACzC,oBAAoB,EAAE,oBAAoB;IAC1C,mBAAmB,EAAE,iBAAiB;IACtC,gBAAgB,EAAE,cAAc;IAChC,6BAA6B,EAAE,0BAA0B;IACzD,4BAA4B,EAAE,yBAAyB;IACvD,sBAAsB,EAAE,mBAAmB;IAC3C,sBAAsB,EAAE,mBAAmB;IAC3C,sBAAsB,EAAE,mBAAmB;IAC3C,sBAAsB,EAAE,mBAAmB;IAC3C,wBAAwB,EAAE,qBAAqB;IAC/C,8BAA8B,EAAE,wBAAwB;IACxD,4BAA4B,EAAE,sBAAsB;IACpD,6BAA6B,EAAE,wBAAwB;IACvD,kCAAkC,EAAE,6BAA6B;IACjE,4BAA4B,EAAE,sBAAsB;IACpD,mBAAmB,EAAE,mBAAmB;IACxC,6BAA6B,EAAE,yBAAyB;IACxD,uBAAuB,EAAE,mBAAmB;IAC5C,oBAAoB,EAAE,gBAAgB;IACtC,0BAA0B,EAAE,eAAe;IAC3C,iCAAiC,EAAE,sBAAsB;IACzD,2BAA2B,EAAE,kBAAkB;IAC/C,sBAAsB,EAAE,uBAAuB;IAC/C,sBAAsB,EAAE,mBAAmB;CACnC,CAAC"}
|
package/build/index.d.ts
CHANGED
|
@@ -95,3 +95,4 @@ export type { SelfRegistrationMode } from "./config/self.js";
|
|
|
95
95
|
export { selfDemoUrl, SELF_DEMO_NETWORK, SELF_HEADERS, } from "./config/self.js";
|
|
96
96
|
export { resolveSelfSessionLinks, formatSelfSessionLinksDisplay, type SelfSessionLinks, } from "./utils/self-format.js";
|
|
97
97
|
export { clearSelfSessionsForTests } from "./services/self-session-store.js";
|
|
98
|
+
export { flushCelinaAnalytics } from "./analytics/amplitude.js";
|
package/build/index.js
CHANGED
|
@@ -67,4 +67,5 @@ export { SelfApiError, SelfExpiredSessionError, } from "./clients/self-api.js";
|
|
|
67
67
|
export { selfDemoUrl, SELF_DEMO_NETWORK, SELF_HEADERS, } from "./config/self.js";
|
|
68
68
|
export { resolveSelfSessionLinks, formatSelfSessionLinksDisplay, } from "./utils/self-format.js";
|
|
69
69
|
export { clearSelfSessionsForTests } from "./services/self-session-store.js";
|
|
70
|
+
export { flushCelinaAnalytics } from "./analytics/amplitude.js";
|
|
70
71
|
//# sourceMappingURL=index.js.map
|
package/build/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -35,7 +35,21 @@ export declare class BlockchainService {
|
|
|
35
35
|
gasUtilization: number;
|
|
36
36
|
miner: `0x${string}`;
|
|
37
37
|
transactionCount: number;
|
|
38
|
-
transactions: `0x${string}`
|
|
38
|
+
transactions: (`0x${string}` | {
|
|
39
|
+
hash: `0x${string}`;
|
|
40
|
+
from: `0x${string}`;
|
|
41
|
+
to: `0x${string}` | null;
|
|
42
|
+
value: string;
|
|
43
|
+
valueCelo: number;
|
|
44
|
+
nonce: number;
|
|
45
|
+
gas: string;
|
|
46
|
+
gasPrice: string | undefined;
|
|
47
|
+
gasPriceGwei: number | undefined;
|
|
48
|
+
input: `0x${string}`;
|
|
49
|
+
blockNumber: string | undefined;
|
|
50
|
+
transactionIndex: number | null | undefined;
|
|
51
|
+
type: string | undefined;
|
|
52
|
+
})[] | undefined;
|
|
39
53
|
}>;
|
|
40
54
|
/**
|
|
41
55
|
* List recent blocks ending at the chain tip (newest last in the array).
|
|
@@ -66,12 +80,28 @@ export declare class BlockchainService {
|
|
|
66
80
|
valueCelo: number;
|
|
67
81
|
nonce: number;
|
|
68
82
|
gas: string;
|
|
83
|
+
gasPrice: string | undefined;
|
|
84
|
+
gasPriceGwei: number | undefined;
|
|
85
|
+
input: `0x${string}`;
|
|
86
|
+
blockNumber: string | undefined;
|
|
87
|
+
transactionIndex: number | null | undefined;
|
|
88
|
+
type: string | undefined;
|
|
89
|
+
} | {
|
|
90
|
+
status?: string | undefined;
|
|
69
91
|
gasUsed: string;
|
|
70
92
|
gasEfficiency: number;
|
|
93
|
+
hash: `0x${string}`;
|
|
94
|
+
from: `0x${string}`;
|
|
95
|
+
to: `0x${string}` | null;
|
|
96
|
+
value: string;
|
|
97
|
+
valueCelo: number;
|
|
98
|
+
nonce: number;
|
|
99
|
+
gas: string;
|
|
71
100
|
gasPrice: string | undefined;
|
|
72
101
|
gasPriceGwei: number | undefined;
|
|
73
102
|
input: `0x${string}`;
|
|
74
|
-
blockNumber: string;
|
|
75
|
-
|
|
103
|
+
blockNumber: string | undefined;
|
|
104
|
+
transactionIndex: number | null | undefined;
|
|
105
|
+
type: string | undefined;
|
|
76
106
|
}>;
|
|
77
107
|
}
|
|
@@ -1,3 +1,32 @@
|
|
|
1
|
+
function serializeTransactionSummary(tx, extras) {
|
|
2
|
+
const base = {
|
|
3
|
+
hash: tx.hash,
|
|
4
|
+
from: tx.from,
|
|
5
|
+
to: tx.to,
|
|
6
|
+
value: tx.value.toString(),
|
|
7
|
+
valueCelo: Number(tx.value) / 1e18,
|
|
8
|
+
nonce: tx.nonce,
|
|
9
|
+
gas: tx.gas.toString(),
|
|
10
|
+
gasPrice: tx.gasPrice?.toString(),
|
|
11
|
+
gasPriceGwei: tx.gasPrice ? Number(tx.gasPrice) / 1e9 : undefined,
|
|
12
|
+
input: tx.input,
|
|
13
|
+
blockNumber: tx.blockNumber?.toString(),
|
|
14
|
+
transactionIndex: tx.transactionIndex,
|
|
15
|
+
type: tx.type,
|
|
16
|
+
};
|
|
17
|
+
if (!extras) {
|
|
18
|
+
return base;
|
|
19
|
+
}
|
|
20
|
+
const gasEfficiency = tx.gas > 0n
|
|
21
|
+
? Number((extras.gasUsed * 10000n) / tx.gas) / 100
|
|
22
|
+
: 0;
|
|
23
|
+
return {
|
|
24
|
+
...base,
|
|
25
|
+
gasUsed: extras.gasUsed.toString(),
|
|
26
|
+
gasEfficiency,
|
|
27
|
+
...(extras.status !== undefined ? { status: extras.status } : {}),
|
|
28
|
+
};
|
|
29
|
+
}
|
|
1
30
|
/** Celo mainnet block and transaction queries. */
|
|
2
31
|
export class BlockchainService {
|
|
3
32
|
clientFactory;
|
|
@@ -35,16 +64,16 @@ export class BlockchainService {
|
|
|
35
64
|
const blockParams = typeof blockId === "number"
|
|
36
65
|
? {
|
|
37
66
|
blockNumber: BigInt(blockId),
|
|
38
|
-
includeTransactions
|
|
67
|
+
includeTransactions,
|
|
39
68
|
}
|
|
40
69
|
: blockId === "latest" || blockId === "pending"
|
|
41
70
|
? {
|
|
42
71
|
blockTag: blockId,
|
|
43
|
-
includeTransactions
|
|
72
|
+
includeTransactions,
|
|
44
73
|
}
|
|
45
74
|
: {
|
|
46
75
|
blockHash: blockId,
|
|
47
|
-
includeTransactions
|
|
76
|
+
includeTransactions,
|
|
48
77
|
};
|
|
49
78
|
const block = await client.getBlock(blockParams);
|
|
50
79
|
if (!block) {
|
|
@@ -63,7 +92,11 @@ export class BlockchainService {
|
|
|
63
92
|
gasUtilization,
|
|
64
93
|
miner: block.miner,
|
|
65
94
|
transactionCount: block.transactions.length,
|
|
66
|
-
transactions: includeTransactions
|
|
95
|
+
transactions: includeTransactions
|
|
96
|
+
? block.transactions.map((tx) => typeof tx === "string"
|
|
97
|
+
? tx
|
|
98
|
+
: serializeTransactionSummary(tx))
|
|
99
|
+
: undefined,
|
|
67
100
|
};
|
|
68
101
|
}
|
|
69
102
|
/**
|
|
@@ -109,24 +142,10 @@ export class BlockchainService {
|
|
|
109
142
|
if (!tx) {
|
|
110
143
|
throw new Error(`Transaction not found: ${hash}`);
|
|
111
144
|
}
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
return {
|
|
115
|
-
hash: tx.hash,
|
|
116
|
-
from: tx.from,
|
|
117
|
-
to: tx.to,
|
|
118
|
-
value: tx.value.toString(),
|
|
119
|
-
valueCelo: Number(tx.value) / 1e18,
|
|
120
|
-
nonce: tx.nonce,
|
|
121
|
-
gas: tx.gas.toString(),
|
|
122
|
-
gasUsed: gasUsed.toString(),
|
|
123
|
-
gasEfficiency,
|
|
124
|
-
gasPrice: tx.gasPrice?.toString(),
|
|
125
|
-
gasPriceGwei: tx.gasPrice ? Number(tx.gasPrice) / 1e9 : undefined,
|
|
126
|
-
input: tx.input,
|
|
127
|
-
blockNumber: tx.blockNumber?.toString(),
|
|
145
|
+
return serializeTransactionSummary(tx, {
|
|
146
|
+
gasUsed: receipt?.gasUsed ?? 0n,
|
|
128
147
|
status: receipt?.status,
|
|
129
|
-
};
|
|
148
|
+
});
|
|
130
149
|
}
|
|
131
150
|
}
|
|
132
151
|
//# sourceMappingURL=blockchain.service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blockchain.service.js","sourceRoot":"","sources":["../../src/services/blockchain.service.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"blockchain.service.js","sourceRoot":"","sources":["../../src/services/blockchain.service.ts"],"names":[],"mappings":"AAmBA,SAAS,2BAA2B,CAClC,EAA2B,EAC3B,MAGC;IAED,MAAM,IAAI,GAAG;QACX,IAAI,EAAE,EAAE,CAAC,IAAI;QACb,IAAI,EAAE,EAAE,CAAC,IAAI;QACb,EAAE,EAAE,EAAE,CAAC,EAAE;QACT,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE;QAC1B,SAAS,EAAE,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,IAAI;QAClC,KAAK,EAAE,EAAE,CAAC,KAAK;QACf,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE;QACtB,QAAQ,EAAE,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE;QACjC,YAAY,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,SAAS;QACjE,KAAK,EAAE,EAAE,CAAC,KAAK;QACf,WAAW,EAAE,EAAE,CAAC,WAAW,EAAE,QAAQ,EAAE;QACvC,gBAAgB,EAAE,EAAE,CAAC,gBAAgB;QACrC,IAAI,EAAE,EAAE,CAAC,IAAI;KACd,CAAC;IAEF,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,aAAa,GACjB,EAAE,CAAC,GAAG,GAAG,EAAE;QACT,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,GAAG;QAClD,CAAC,CAAC,CAAC,CAAC;IAER,OAAO;QACL,GAAG,IAAI;QACP,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE;QAClC,aAAa;QACb,GAAG,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAClE,CAAC;AACJ,CAAC;AAED,kDAAkD;AAClD,MAAM,OAAO,iBAAiB;IACC;IAA7B,YAA6B,aAAgC;QAAhC,kBAAa,GAAb,aAAa,CAAmB;IAAG,CAAC;IAEjE;;;OAGG;IACH,KAAK,CAAC,gBAAgB;QACpB,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,CAAC;QAC3D,MAAM,CAAC,OAAO,EAAE,WAAW,EAAE,QAAQ,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACzD,MAAM,CAAC,UAAU,EAAE;YACnB,MAAM,CAAC,cAAc,EAAE;YACvB,MAAM,CAAC,WAAW,EAAE;SACrB,CAAC,CAAC;QAEH,OAAO;YACL,OAAO,EAAE,SAAS;YAClB,OAAO;YACP,WAAW,EAAE,WAAW,CAAC,QAAQ,EAAE;YACnC,WAAW,EAAE,QAAQ,CAAC,QAAQ,EAAE;SACjC,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,QAAQ,CACZ,OAA+C,EAC/C,OAA2C;QAE3C,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,CAAC;QAC3D,MAAM,mBAAmB,GAAG,OAAO,EAAE,mBAAmB,IAAI,KAAK,CAAC;QAElE,MAAM,WAAW,GACf,OAAO,OAAO,KAAK,QAAQ;YACzB,CAAC,CAAC;gBACE,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC;gBAC5B,mBAAmB;aACpB;YACH,CAAC,CAAC,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,SAAS;gBAC7C,CAAC,CAAC;oBACE,QAAQ,EAAE,OAA+B;oBACzC,mBAAmB;iBACpB;gBACH,CAAC,CAAC;oBACE,SAAS,EAAE,OAAwB;oBACnC,mBAAmB;iBACpB,CAAC;QAEV,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAEjD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,oBAAoB,OAAO,EAAE,CAAC,CAAC;QACjD,CAAC;QAED,MAAM,cAAc,GAClB,KAAK,CAAC,QAAQ,GAAG,EAAE;YACjB,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,GAAG;YACzD,CAAC,CAAC,CAAC,CAAC;QAER,OAAO;YACL,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE;YAChC,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,EAAE;YACrC,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE;YACjC,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAE;YACnC,cAAc;YACd,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,gBAAgB,EAAE,KAAK,CAAC,YAAY,CAAC,MAAM;YAC3C,YAAY,EAAE,mBAAmB;gBAC/B,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAC5B,OAAO,EAAE,KAAK,QAAQ;oBACpB,CAAC,CAAC,EAAE;oBACJ,CAAC,CAAC,2BAA2B,CAAC,EAA6B,CAAC,CAC/D;gBACH,CAAC,CAAC,SAAS;SACd,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,eAAe,CAAC,KAAK,GAAG,CAAC,EAAE,MAAM,GAAG,CAAC;QACzC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,CAAC;QAC3D,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,cAAc,EAAE,CAAC;QAC7C,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACpD,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACvC,MAAM,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC,UAAU,GAAG,SAAS,GAAG,CAAC,CAAC,CAAC;QAE1D,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAC9B,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAC7C,MAAM,CAAC,QAAQ,CAAC,EAAE,WAAW,EAAE,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CACxD,CACF,CAAC;QAEF,OAAO,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YAC1C,MAAM,cAAc,GAClB,KAAM,CAAC,QAAQ,GAAG,EAAE;gBAClB,CAAC,CAAC,MAAM,CAAC,CAAC,KAAM,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,KAAM,CAAC,QAAQ,CAAC,GAAG,GAAG;gBAC3D,CAAC,CAAC,CAAC,CAAC;YACR,OAAO;gBACL,MAAM,EAAE,KAAM,CAAC,MAAM,EAAE,QAAQ,EAAE;gBACjC,IAAI,EAAE,KAAM,CAAC,IAAI;gBACjB,SAAS,EAAE,KAAM,CAAC,SAAS,CAAC,QAAQ,EAAE;gBACtC,gBAAgB,EAAE,KAAM,CAAC,YAAY,CAAC,MAAM;gBAC5C,OAAO,EAAE,KAAM,CAAC,OAAO,CAAC,QAAQ,EAAE;gBAClC,QAAQ,EAAE,KAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE;gBACpC,cAAc;aACf,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,cAAc,CAAC,IAAmB;QACtC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,CAAC;QAC3D,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACtC,MAAM,CAAC,cAAc,CAAC,EAAE,IAAI,EAAE,CAAC;YAC/B,MAAM,CAAC,qBAAqB,CAAC,EAAE,IAAI,EAAE,CAAC;SACvC,CAAC,CAAC;QAEH,IAAI,CAAC,EAAE,EAAE,CAAC;YACR,MAAM,IAAI,KAAK,CAAC,0BAA0B,IAAI,EAAE,CAAC,CAAC;QACpD,CAAC;QAED,OAAO,2BAA2B,CAAC,EAA6B,EAAE;YAChE,OAAO,EAAE,OAAO,EAAE,OAAO,IAAI,EAAE;YAC/B,MAAM,EAAE,OAAO,EAAE,MAAM;SACxB,CAAC,CAAC;IACL,CAAC;CACF"}
|
package/package.json
CHANGED
|
@@ -42,6 +42,30 @@ export const blockchainOperations: OperationSpec[] = [
|
|
|
42
42
|
assertHasKeys(result, ["number", "hash"]);
|
|
43
43
|
},
|
|
44
44
|
},
|
|
45
|
+
{
|
|
46
|
+
id: "blockchain.getBlockWithTransactions",
|
|
47
|
+
domain: "blockchain",
|
|
48
|
+
layer: "read",
|
|
49
|
+
sdk: {
|
|
50
|
+
invoke: (client, fx) =>
|
|
51
|
+
client.blockchain.getBlock(Number(fx.latestBlockNumber), {
|
|
52
|
+
includeTransactions: true,
|
|
53
|
+
}),
|
|
54
|
+
},
|
|
55
|
+
mcp: {
|
|
56
|
+
tool: "get_block",
|
|
57
|
+
arguments: (fx) => ({
|
|
58
|
+
blockId: Number(fx.latestBlockNumber),
|
|
59
|
+
includeTransactions: true,
|
|
60
|
+
}),
|
|
61
|
+
},
|
|
62
|
+
assert: (result) => {
|
|
63
|
+
const obj = assertHasKeys(result, ["number", "hash", "transactions"]);
|
|
64
|
+
expect(() => JSON.stringify(result)).not.toThrow();
|
|
65
|
+
const txs = assertArray(obj.transactions);
|
|
66
|
+
expect(txs.length).toBeGreaterThan(0);
|
|
67
|
+
},
|
|
68
|
+
},
|
|
45
69
|
{
|
|
46
70
|
id: "blockchain.getLatestBlocks",
|
|
47
71
|
domain: "blockchain",
|