@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.
@@ -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;gBACpC,SAAS,EAAE,eAAe,CAAC,MAAM,CAAC;aACnC,CAAC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACP,qCAAqC;QACvC,CAAC;IACH,CAAC,CAAC,EAAE,CAAC;AACP,CAAC"}
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
@@ -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":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAkB,MAAM,wBAAwB,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAuCtE;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAA0B;IAC3D,MAAM,MAAM,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACtC,MAAM,aAAa,GAAG,IAAI,iBAAiB,CAAC,MAAM,CAAC,CAAC;IACpD,MAAM,gBAAgB,GAAG,IAAI,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACtD,MAAM,YAAY,GAAG,IAAI,YAAY,CAAC,aAAa,CAAC,CAAC;IACrD,MAAM,IAAI,GAAG,CAAmB,GAAW,EAAE,OAAU,EAAE,EAAE,CACzD,uBAAuB,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IAEhD,OAAO;QACL,UAAU,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,iBAAiB,CAAC,aAAa,CAAC,CAAC;QACpE,OAAO,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,cAAc,CAAC,aAAa,CAAC,CAAC;QAC3D,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC;QAClC,WAAW,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI,kBAAkB,CAAC,aAAa,CAAC,CAAC;QACvE,OAAO,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,cAAc,CAAC,aAAa,CAAC,CAAC;QAC3D,OAAO,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,cAAc,CAAC,aAAa,CAAC,CAAC;QAC3D,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,WAAW,CAAC,aAAa,CAAC,CAAC;QAClD,UAAU,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,iBAAiB,CAAC,aAAa,CAAC,CAAC;QACpE,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,UAAU,CAAC,gBAAgB,CAAC,CAAC;QAClD,UAAU,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,iBAAiB,CAAC,aAAa,CAAC,CAAC;QACpE,OAAO,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,cAAc,CAAC,aAAa,CAAC,CAAC;QAC3D,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,UAAU,CAAC,aAAa,CAAC,CAAC;QAC/C,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,eAAe,CAAC,aAAa,CAAC,CAAC;QAC9D,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,aAAa,CAAC,MAAM,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC;QAC9E,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,WAAW,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;KAC3D,CAAC;AACJ,CAAC;AAYD,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAa5D,6DAA6D;AAC7D,OAAO,EACL,SAAS,EACT,sBAAsB,EACtB,gBAAgB,GACjB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EACL,uBAAuB,EACvB,kBAAkB,GACnB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,2BAA2B,EAC3B,6BAA6B,GAC9B,MAAM,wBAAwB,CAAC;AAMhC,OAAO,EACL,mBAAmB,EACnB,YAAY,EACZ,qBAAqB,EACrB,4BAA4B,EAC5B,sBAAsB,GACvB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,yBAAyB,EACzB,wBAAwB,EACxB,yBAAyB,GAC1B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EACL,qBAAqB,GAEtB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EACL,WAAW,GAIZ,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,YAAY,EACZ,uBAAuB,GACxB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,YAAY,GACb,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,uBAAuB,EACvB,6BAA6B,GAE9B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAC7E,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC"}
@@ -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}`[] | undefined;
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
- status: "success" | "reverted";
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: includeTransactions,
67
+ includeTransactions,
39
68
  }
40
69
  : blockId === "latest" || blockId === "pending"
41
70
  ? {
42
71
  blockTag: blockId,
43
- includeTransactions: includeTransactions,
72
+ includeTransactions,
44
73
  }
45
74
  : {
46
75
  blockHash: blockId,
47
- includeTransactions: 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 ? block.transactions : undefined,
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
- const gasUsed = receipt?.gasUsed ?? 0n;
113
- const gasEfficiency = tx.gas > 0n ? Number((gasUsed * 10000n) / tx.gas) / 100 : 0;
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":"AAKA,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,EAAE,mBAA4B;aAClD;YACH,CAAC,CAAC,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,SAAS;gBAC7C,CAAC,CAAC;oBACE,QAAQ,EAAE,OAA+B;oBACzC,mBAAmB,EAAE,mBAA4B;iBAClD;gBACH,CAAC,CAAC;oBACE,SAAS,EAAE,OAAwB;oBACnC,mBAAmB,EAAE,mBAA4B;iBAClD,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,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS;SACnE,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,MAAM,OAAO,GAAG,OAAO,EAAE,OAAO,IAAI,EAAE,CAAC;QACvC,MAAM,aAAa,GACjB,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAE9D,OAAO;YACL,IAAI,EAAE,EAAE,CAAC,IAAI;YACb,IAAI,EAAE,EAAE,CAAC,IAAI;YACb,EAAE,EAAE,EAAE,CAAC,EAAE;YACT,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE;YAC1B,SAAS,EAAE,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,IAAI;YAClC,KAAK,EAAE,EAAE,CAAC,KAAK;YACf,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE;YACtB,OAAO,EAAE,OAAO,CAAC,QAAQ,EAAE;YAC3B,aAAa;YACb,QAAQ,EAAE,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE;YACjC,YAAY,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,SAAS;YACjE,KAAK,EAAE,EAAE,CAAC,KAAK;YACf,WAAW,EAAE,EAAE,CAAC,WAAW,EAAE,QAAQ,EAAE;YACvC,MAAM,EAAE,OAAO,EAAE,MAAM;SACxB,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"blockchain.service.js","sourceRoot":"","sources":["../../src/services/blockchain.service.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@andrewkimjoseph/celina-sdk",
3
- "version": "0.4.10",
3
+ "version": "0.4.12",
4
4
  "description": "Celina SDK — Celo mainnet reads and unsigned transaction preparation for frontend apps.",
5
5
  "type": "module",
6
6
  "sideEffects": false,
@@ -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",