@one-source/api-mcp 1.4.0 → 2.0.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.
- package/dist/analytics.d.ts +2 -2
- package/dist/analytics.d.ts.map +1 -1
- package/dist/analytics.js +1 -1
- package/dist/analytics.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +42 -38
- package/dist/cli.js.map +1 -1
- package/dist/client.d.ts +6 -2
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +13 -9
- package/dist/client.js.map +1 -1
- package/dist/create-server.d.ts +2 -2
- package/dist/create-server.d.ts.map +1 -1
- package/dist/create-server.js +3 -20
- package/dist/create-server.js.map +1 -1
- package/dist/tools/chain/network-info.js +1 -1
- package/dist/tools/chain/network-info.js.map +1 -1
- package/dist/tools/chain/storage-read.d.ts +3 -0
- package/dist/tools/chain/storage-read.d.ts.map +1 -1
- package/dist/tools/chain/storage-read.js.map +1 -1
- package/dist/tools/live/erc1155-balance.d.ts.map +1 -1
- package/dist/tools/live/erc1155-balance.js +0 -1
- package/dist/tools/live/erc1155-balance.js.map +1 -1
- package/dist/tools/live/erc20-balance.js +1 -1
- package/dist/tools/live/erc20-balance.js.map +1 -1
- package/dist/tools/live/erc20-transfers.d.ts +3 -0
- package/dist/tools/live/erc20-transfers.d.ts.map +1 -1
- package/dist/tools/live/erc20-transfers.js +3 -2
- package/dist/tools/live/erc20-transfers.js.map +1 -1
- package/dist/tools/live/events.d.ts +3 -0
- package/dist/tools/live/events.d.ts.map +1 -1
- package/dist/tools/live/events.js +2 -1
- package/dist/tools/live/events.js.map +1 -1
- package/dist/tools/live/nft-metadata.d.ts.map +1 -1
- package/dist/tools/live/nft-metadata.js +1 -2
- package/dist/tools/live/nft-metadata.js.map +1 -1
- package/dist/tools/live/nft-owner.d.ts.map +1 -1
- package/dist/tools/live/nft-owner.js +0 -1
- package/dist/tools/live/nft-owner.js.map +1 -1
- package/dist/types.d.ts +1 -9
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +2 -21
- package/dist/types.js.map +1 -1
- package/dist/x402.d.ts +1 -2
- package/dist/x402.d.ts.map +1 -1
- package/dist/x402.js +16 -8
- package/dist/x402.js.map +1 -1
- package/package.json +1 -1
- package/dist/analytics.fix-verification.test.d.ts +0 -11
- package/dist/analytics.fix-verification.test.d.ts.map +0 -1
- package/dist/analytics.fix-verification.test.js +0 -146
- package/dist/analytics.fix-verification.test.js.map +0 -1
- package/dist/tools/indexed/address-txs.d.ts +0 -6
- package/dist/tools/indexed/address-txs.d.ts.map +0 -1
- package/dist/tools/indexed/address-txs.js +0 -25
- package/dist/tools/indexed/address-txs.js.map +0 -1
- package/dist/tools/indexed/block.d.ts +0 -3
- package/dist/tools/indexed/block.d.ts.map +0 -1
- package/dist/tools/indexed/block.js +0 -23
- package/dist/tools/indexed/block.js.map +0 -1
- package/dist/tools/indexed/contract-info.d.ts +0 -6
- package/dist/tools/indexed/contract-info.d.ts.map +0 -1
- package/dist/tools/indexed/contract-info.js +0 -18
- package/dist/tools/indexed/contract-info.js.map +0 -1
- package/dist/tools/indexed/erc1155-balance.d.ts +0 -6
- package/dist/tools/indexed/erc1155-balance.d.ts.map +0 -1
- package/dist/tools/indexed/erc1155-balance.js +0 -24
- package/dist/tools/indexed/erc1155-balance.js.map +0 -1
- package/dist/tools/indexed/erc20-balance.d.ts +0 -6
- package/dist/tools/indexed/erc20-balance.d.ts.map +0 -1
- package/dist/tools/indexed/erc20-balance.js +0 -22
- package/dist/tools/indexed/erc20-balance.js.map +0 -1
- package/dist/tools/indexed/erc20-transfers.d.ts +0 -6
- package/dist/tools/indexed/erc20-transfers.d.ts.map +0 -1
- package/dist/tools/indexed/erc20-transfers.js +0 -24
- package/dist/tools/indexed/erc20-transfers.js.map +0 -1
- package/dist/tools/indexed/events.d.ts +0 -3
- package/dist/tools/indexed/events.d.ts.map +0 -1
- package/dist/tools/indexed/events.js +0 -32
- package/dist/tools/indexed/events.js.map +0 -1
- package/dist/tools/indexed/nft-media.d.ts +0 -6
- package/dist/tools/indexed/nft-media.d.ts.map +0 -1
- package/dist/tools/indexed/nft-media.js +0 -22
- package/dist/tools/indexed/nft-media.js.map +0 -1
- package/dist/tools/indexed/nft-metadata.d.ts +0 -6
- package/dist/tools/indexed/nft-metadata.d.ts.map +0 -1
- package/dist/tools/indexed/nft-metadata.js +0 -22
- package/dist/tools/indexed/nft-metadata.js.map +0 -1
- package/dist/tools/indexed/nft-owner.d.ts +0 -6
- package/dist/tools/indexed/nft-owner.d.ts.map +0 -1
- package/dist/tools/indexed/nft-owner.js +0 -22
- package/dist/tools/indexed/nft-owner.js.map +0 -1
- package/dist/tools/indexed/tx-details.d.ts +0 -6
- package/dist/tools/indexed/tx-details.d.ts.map +0 -1
- package/dist/tools/indexed/tx-details.js +0 -19
- package/dist/tools/indexed/tx-details.js.map +0 -1
- package/dist/tools/indexed/wallet-nfts.d.ts +0 -6
- package/dist/tools/indexed/wallet-nfts.d.ts.map +0 -1
- package/dist/tools/indexed/wallet-nfts.js +0 -22
- package/dist/tools/indexed/wallet-nfts.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nft-metadata.js","sourceRoot":"","sources":["../../../src/tools/live/nft-metadata.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE1F,MAAM,CAAC,MAAM,IAAI,GAAY;IAC3B,IAAI,EAAE,sBAAsB;IAC5B,WAAW,EACT,6EAA6E;QAC7E
|
|
1
|
+
{"version":3,"file":"nft-metadata.js","sourceRoot":"","sources":["../../../src/tools/live/nft-metadata.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE1F,MAAM,CAAC,MAAM,IAAI,GAAY;IAC3B,IAAI,EAAE,sBAAsB;IAC5B,WAAW,EACT,6EAA6E;QAC7E,8FAA8F;IAChG,QAAQ,EAAE,MAAM;IAChB,MAAM,EAAE;QACN,QAAQ,EAAE,YAAY,CAAC,QAAQ,CAAC,sBAAsB,CAAC;QACvD,QAAQ,EAAE,YAAY;QACtB,OAAO,EAAE,YAAY;KACtB;IACD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;QAC/B,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,yBAAyB,EAAE;YACtD,QAAQ,EAAE,KAAK,CAAC,QAAkB;YAClC,QAAQ,EAAE,KAAK,CAAC,QAAkB;YAClC,OAAO,EAAE,KAAK,CAAC,OAA6B;SAC7C,CAAC,CAAC;QACH,OAAO,cAAc,CAAC,GAAG,CAAC,CAAC;IAC7B,CAAC;CACF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nft-owner.d.ts","sourceRoot":"","sources":["../../../src/tools/live/nft-owner.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAG9C,eAAO,MAAM,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"nft-owner.d.ts","sourceRoot":"","sources":["../../../src/tools/live/nft-owner.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAG9C,eAAO,MAAM,IAAI,EAAE,OAmBlB,CAAC"}
|
|
@@ -2,7 +2,6 @@ import { networkParam, formatResponse, addressParam, tokenIdParam } from '../../
|
|
|
2
2
|
export const tool = {
|
|
3
3
|
name: '1s_nft_owner_live',
|
|
4
4
|
description: 'Get the current NFT owner via ownerOf(tokenId) RPC call. ' +
|
|
5
|
-
'Use this for real-time ownership verification; use 1s_nft_owner for cached lookups. ' +
|
|
6
5
|
'Only works for ERC721 tokens.',
|
|
7
6
|
category: 'live',
|
|
8
7
|
schema: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nft-owner.js","sourceRoot":"","sources":["../../../src/tools/live/nft-owner.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE1F,MAAM,CAAC,MAAM,IAAI,GAAY;IAC3B,IAAI,EAAE,mBAAmB;IACzB,WAAW,EACT,2DAA2D;QAC3D
|
|
1
|
+
{"version":3,"file":"nft-owner.js","sourceRoot":"","sources":["../../../src/tools/live/nft-owner.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE1F,MAAM,CAAC,MAAM,IAAI,GAAY;IAC3B,IAAI,EAAE,mBAAmB;IACzB,WAAW,EACT,2DAA2D;QAC3D,+BAA+B;IACjC,QAAQ,EAAE,MAAM;IAChB,MAAM,EAAE;QACN,QAAQ,EAAE,YAAY,CAAC,QAAQ,CAAC,sBAAsB,CAAC;QACvD,QAAQ,EAAE,YAAY;QACtB,OAAO,EAAE,YAAY;KACtB;IACD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;QAC/B,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,sBAAsB,EAAE;YACnD,QAAQ,EAAE,KAAK,CAAC,QAAkB;YAClC,QAAQ,EAAE,KAAK,CAAC,QAAkB;YAClC,OAAO,EAAE,KAAK,CAAC,OAA6B;SAC7C,CAAC,CAAC;QACH,OAAO,cAAc,CAAC,GAAG,CAAC,CAAC;IAC7B,CAAC;CACF,CAAC"}
|
package/dist/types.d.ts
CHANGED
|
@@ -22,7 +22,7 @@ export type ApiResponse<T = unknown> = {
|
|
|
22
22
|
export interface ToolDef {
|
|
23
23
|
name: string;
|
|
24
24
|
description: string;
|
|
25
|
-
category: '
|
|
25
|
+
category: 'live' | 'chain';
|
|
26
26
|
schema: z.ZodRawShape;
|
|
27
27
|
handler: (input: Record<string, unknown>, client: OneSourceClient) => Promise<string>;
|
|
28
28
|
}
|
|
@@ -54,14 +54,6 @@ export declare const hexDataParam: z.ZodString;
|
|
|
54
54
|
* Common parameter: optional hex-encoded data.
|
|
55
55
|
*/
|
|
56
56
|
export declare const optionalHexParam: z.ZodOptional<z.ZodString>;
|
|
57
|
-
/**
|
|
58
|
-
* Common parameter: result limit.
|
|
59
|
-
*/
|
|
60
|
-
export declare const limitParam: z.ZodOptional<z.ZodNumber>;
|
|
61
|
-
/**
|
|
62
|
-
* Common parameter: block number.
|
|
63
|
-
*/
|
|
64
|
-
export declare const blockNumberParam: z.ZodOptional<z.ZodNumber>;
|
|
65
57
|
/**
|
|
66
58
|
* Encode a value for safe interpolation into a URL path segment.
|
|
67
59
|
* Use this for any user-supplied value placed in a URL path.
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD;;;GAGG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,GAAG,OAAO,IAC/B;IAAE,IAAI,EAAE,CAAC,CAAC;IAAC,KAAK,CAAC,EAAE,SAAS,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,GAC9D;IAAE,IAAI,CAAC,EAAE,SAAS,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAAC;AAExE;;GAEG;AACH,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD;;;GAGG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,GAAG,OAAO,IAC/B;IAAE,IAAI,EAAE,CAAC,CAAC;IAAC,KAAK,CAAC,EAAE,SAAS,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,GAC9D;IAAE,IAAI,CAAC,EAAE,SAAS,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAAC;AAExE;;GAEG;AACH,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;IAC3B,MAAM,EAAE,CAAC,CAAC,WAAW,CAAC;IACtB,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,eAAe,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CACvF;AAED;;GAEG;AACH,eAAO,MAAM,YAAY,2DAKtB,CAAC;AAEJ;;GAEG;AACH,eAAO,MAAM,YAAY,aAGc,CAAC;AAExC;;GAEG;AACH,eAAO,MAAM,oBAAoB,4BAA0B,CAAC;AAE5D;;GAEG;AACH,eAAO,MAAM,WAAW,aAGe,CAAC;AAExC;;GAEG;AACH,eAAO,MAAM,YAAY,aAGe,CAAC;AAEzC;;GAEG;AACH,eAAO,MAAM,YAAY,aAGc,CAAC;AAExC;;GAEG;AACH,eAAO,MAAM,gBAAgB,4BAA0B,CAAC;AAExD;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEhD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,WAAW,GAAG,MAAM,CAQ5D"}
|
package/dist/types.js
CHANGED
|
@@ -45,25 +45,6 @@ export const hexDataParam = z
|
|
|
45
45
|
* Common parameter: optional hex-encoded data.
|
|
46
46
|
*/
|
|
47
47
|
export const optionalHexParam = hexDataParam.optional();
|
|
48
|
-
/**
|
|
49
|
-
* Common parameter: result limit.
|
|
50
|
-
*/
|
|
51
|
-
export const limitParam = z
|
|
52
|
-
.number()
|
|
53
|
-
.int()
|
|
54
|
-
.min(1)
|
|
55
|
-
.max(100)
|
|
56
|
-
.optional()
|
|
57
|
-
.describe('Maximum results to return (1-100, default varies by endpoint)');
|
|
58
|
-
/**
|
|
59
|
-
* Common parameter: block number.
|
|
60
|
-
*/
|
|
61
|
-
export const blockNumberParam = z
|
|
62
|
-
.number()
|
|
63
|
-
.int()
|
|
64
|
-
.min(0)
|
|
65
|
-
.optional()
|
|
66
|
-
.describe('Block number');
|
|
67
48
|
/**
|
|
68
49
|
* Encode a value for safe interpolation into a URL path segment.
|
|
69
50
|
* Use this for any user-supplied value placed in a URL path.
|
|
@@ -79,8 +60,8 @@ export function formatResponse(response) {
|
|
|
79
60
|
return `Error: ${response.error}`;
|
|
80
61
|
}
|
|
81
62
|
if (response.meta) {
|
|
82
|
-
return JSON.stringify({ data: response.data, meta: response.meta }
|
|
63
|
+
return JSON.stringify({ data: response.data, meta: response.meta });
|
|
83
64
|
}
|
|
84
|
-
return JSON.stringify(response.data
|
|
65
|
+
return JSON.stringify(response.data) ?? 'null';
|
|
85
66
|
}
|
|
86
67
|
//# sourceMappingURL=types.js.map
|
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAsBxB;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC;KAC1B,IAAI,CAAC,CAAC,UAAU,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;KACrC,QAAQ,EAAE;KACV,QAAQ,CACP,6DAA6D,CAC9D,CAAC;AAEJ;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC;KAC1B,MAAM,EAAE;KACR,KAAK,CAAC,qBAAqB,EAAE,2CAA2C,CAAC;KACzE,QAAQ,CAAC,0BAA0B,CAAC,CAAC;AAExC;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC;AAE5D;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC;KACzB,MAAM,EAAE;KACR,KAAK,CAAC,qBAAqB,EAAE,iDAAiD,CAAC;KAC/E,QAAQ,CAAC,0BAA0B,CAAC,CAAC;AAExC;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC;KAC1B,MAAM,EAAE;KACR,KAAK,CAAC,OAAO,EAAE,0BAA0B,CAAC;KAC1C,QAAQ,CAAC,2BAA2B,CAAC,CAAC;AAEzC;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC;KAC1B,MAAM,EAAE;KACR,KAAK,CAAC,kBAAkB,EAAE,8BAA8B,CAAC;KACzD,QAAQ,CAAC,0BAA0B,CAAC,CAAC;AAExC;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC;AAExD
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAsBxB;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC;KAC1B,IAAI,CAAC,CAAC,UAAU,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;KACrC,QAAQ,EAAE;KACV,QAAQ,CACP,6DAA6D,CAC9D,CAAC;AAEJ;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC;KAC1B,MAAM,EAAE;KACR,KAAK,CAAC,qBAAqB,EAAE,2CAA2C,CAAC;KACzE,QAAQ,CAAC,0BAA0B,CAAC,CAAC;AAExC;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC;AAE5D;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC;KACzB,MAAM,EAAE;KACR,KAAK,CAAC,qBAAqB,EAAE,iDAAiD,CAAC;KAC/E,QAAQ,CAAC,0BAA0B,CAAC,CAAC;AAExC;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC;KAC1B,MAAM,EAAE;KACR,KAAK,CAAC,OAAO,EAAE,0BAA0B,CAAC;KAC1C,QAAQ,CAAC,2BAA2B,CAAC,CAAC;AAEzC;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC;KAC1B,MAAM,EAAE;KACR,KAAK,CAAC,kBAAkB,EAAE,8BAA8B,CAAC;KACzD,QAAQ,CAAC,0BAA0B,CAAC,CAAC;AAExC;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC;AAExD;;;GAGG;AACH,MAAM,UAAU,QAAQ,CAAC,OAAe;IACtC,OAAO,kBAAkB,CAAC,OAAO,CAAC,CAAC;AACrC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,QAAqB;IAClD,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;QACnB,OAAO,UAAU,QAAQ,CAAC,KAAK,EAAE,CAAC;IACpC,CAAC;IACD,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;QAClB,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IACtE,CAAC;IACD,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC;AACjD,CAAC"}
|
package/dist/x402.d.ts
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
export interface X402SetupResult {
|
|
2
2
|
enabled: boolean;
|
|
3
3
|
address?: string;
|
|
4
|
+
fetch?: typeof globalThis.fetch;
|
|
4
5
|
}
|
|
5
6
|
export declare function setupX402(): X402SetupResult;
|
|
6
|
-
/** @internal -- for test teardown only */
|
|
7
|
-
export declare function resetX402(): void;
|
|
8
7
|
//# sourceMappingURL=x402.d.ts.map
|
package/dist/x402.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"x402.d.ts","sourceRoot":"","sources":["../src/x402.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"x402.d.ts","sourceRoot":"","sources":["../src/x402.ts"],"names":[],"mappings":"AAeA,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;CACjC;AAKD,wBAAgB,SAAS,IAAI,eAAe,CAiB3C"}
|
package/dist/x402.js
CHANGED
|
@@ -1,31 +1,39 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* x402 payment setup.
|
|
3
3
|
*
|
|
4
|
-
* When X402_PRIVATE_KEY is set,
|
|
5
|
-
*
|
|
6
|
-
*
|
|
4
|
+
* When X402_PRIVATE_KEY is set, creates a payment-aware fetch wrapper
|
|
5
|
+
* that automatically handles HTTP 402 responses by signing USDC payments
|
|
6
|
+
* on Base via the x402 protocol.
|
|
7
7
|
*
|
|
8
|
-
*
|
|
8
|
+
* Returns the wrapped fetch function instead of patching globalThis.fetch,
|
|
9
|
+
* so only the OneSourceClient uses it — analytics and other HTTP consumers
|
|
10
|
+
* are unaffected.
|
|
9
11
|
*/
|
|
10
12
|
import { x402Client, wrapFetchWithPayment } from '@x402/fetch';
|
|
11
13
|
import { registerExactEvmScheme } from '@x402/evm/exact/client';
|
|
12
14
|
import { privateKeyToAccount } from 'viem/accounts';
|
|
13
15
|
let _applied = false;
|
|
16
|
+
let _cachedResult;
|
|
14
17
|
export function setupX402() {
|
|
15
18
|
const privateKey = process.env.X402_PRIVATE_KEY;
|
|
16
19
|
if (!privateKey)
|
|
17
20
|
return { enabled: false };
|
|
18
|
-
if (_applied)
|
|
19
|
-
return
|
|
21
|
+
if (_applied && _cachedResult)
|
|
22
|
+
return _cachedResult;
|
|
23
|
+
if (!privateKey.startsWith('0x')) {
|
|
24
|
+
throw new Error('X402_PRIVATE_KEY must be a hex string starting with 0x');
|
|
25
|
+
}
|
|
20
26
|
const signer = privateKeyToAccount(privateKey);
|
|
21
27
|
const client = new x402Client();
|
|
22
28
|
registerExactEvmScheme(client, { signer });
|
|
23
|
-
|
|
29
|
+
const wrappedFetch = wrapFetchWithPayment(fetch, client);
|
|
24
30
|
_applied = true;
|
|
25
|
-
|
|
31
|
+
_cachedResult = { enabled: true, address: signer.address, fetch: wrappedFetch };
|
|
32
|
+
return _cachedResult;
|
|
26
33
|
}
|
|
27
34
|
/** @internal -- for test teardown only */
|
|
28
35
|
export function resetX402() {
|
|
29
36
|
_applied = false;
|
|
37
|
+
_cachedResult = undefined;
|
|
30
38
|
}
|
|
31
39
|
//# sourceMappingURL=x402.js.map
|
package/dist/x402.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"x402.js","sourceRoot":"","sources":["../src/x402.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"x402.js","sourceRoot":"","sources":["../src/x402.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAQpD,IAAI,QAAQ,GAAG,KAAK,CAAC;AACrB,IAAI,aAA0C,CAAC;AAE/C,MAAM,UAAU,SAAS;IACvB,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;IAChD,IAAI,CAAC,UAAU;QAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAC3C,IAAI,QAAQ,IAAI,aAAa;QAAE,OAAO,aAAa,CAAC;IAEpD,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;IAC5E,CAAC;IAED,MAAM,MAAM,GAAG,mBAAmB,CAAC,UAA2B,CAAC,CAAC;IAChE,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;IAChC,sBAAsB,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IAC3C,MAAM,YAAY,GAAG,oBAAoB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAEzD,QAAQ,GAAG,IAAI,CAAC;IAChB,aAAa,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC;IAChF,OAAO,aAAa,CAAC;AACvB,CAAC;AAED,0CAA0C;AAC1C,MAAM,UAAU,SAAS;IACvB,QAAQ,GAAG,KAAK,CAAC;IACjB,aAAa,GAAG,SAAS,CAAC;AAC5B,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Verification tests for DashboardAnalytics bug fixes:
|
|
3
|
-
*
|
|
4
|
-
* 1. Event preservation — events are restored to the buffer when flush fails,
|
|
5
|
-
* so they can be retried on the next flush.
|
|
6
|
-
*
|
|
7
|
-
* 2. Flush timeout — flush() aborts after 3s via AbortSignal.timeout,
|
|
8
|
-
* so shutdown never hangs indefinitely.
|
|
9
|
-
*/
|
|
10
|
-
export {};
|
|
11
|
-
//# sourceMappingURL=analytics.fix-verification.test.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"analytics.fix-verification.test.d.ts","sourceRoot":"","sources":["../src/analytics.fix-verification.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG"}
|
|
@@ -1,146 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Verification tests for DashboardAnalytics bug fixes:
|
|
3
|
-
*
|
|
4
|
-
* 1. Event preservation — events are restored to the buffer when flush fails,
|
|
5
|
-
* so they can be retried on the next flush.
|
|
6
|
-
*
|
|
7
|
-
* 2. Flush timeout — flush() aborts after 3s via AbortSignal.timeout,
|
|
8
|
-
* so shutdown never hangs indefinitely.
|
|
9
|
-
*/
|
|
10
|
-
import { describe, it, expect, vi, beforeEach, afterEach } from 'vitest';
|
|
11
|
-
import { createAnalytics } from './analytics.js';
|
|
12
|
-
// ---------------------------------------------------------------------------
|
|
13
|
-
// Helpers
|
|
14
|
-
// ---------------------------------------------------------------------------
|
|
15
|
-
function makeToolEvent(overrides = {}) {
|
|
16
|
-
return {
|
|
17
|
-
type: 'tool_call',
|
|
18
|
-
service: 'mcp',
|
|
19
|
-
tool: 'test-tool',
|
|
20
|
-
category: 'indexed',
|
|
21
|
-
timestamp: new Date().toISOString(),
|
|
22
|
-
duration_ms: 50,
|
|
23
|
-
success: true,
|
|
24
|
-
input_params: [],
|
|
25
|
-
response_size: 128,
|
|
26
|
-
version: '1.0.0',
|
|
27
|
-
auth_method: 'none',
|
|
28
|
-
...overrides,
|
|
29
|
-
};
|
|
30
|
-
}
|
|
31
|
-
// Drain the microtask queue — works regardless of timer mode.
|
|
32
|
-
const drainMicrotasks = async () => {
|
|
33
|
-
for (let i = 0; i < 5; i++)
|
|
34
|
-
await Promise.resolve();
|
|
35
|
-
};
|
|
36
|
-
// ---------------------------------------------------------------------------
|
|
37
|
-
// Setup: point createAnalytics() at DashboardAnalytics via env vars
|
|
38
|
-
// ---------------------------------------------------------------------------
|
|
39
|
-
beforeEach(() => {
|
|
40
|
-
process.env.ONESOURCE_ANALYTICS_URL = 'http://analytics.test';
|
|
41
|
-
process.env.ONESOURCE_ANALYTICS_KEY = 'test-key';
|
|
42
|
-
vi.spyOn(global, 'fetch');
|
|
43
|
-
});
|
|
44
|
-
afterEach(() => {
|
|
45
|
-
delete process.env.ONESOURCE_ANALYTICS_URL;
|
|
46
|
-
delete process.env.ONESOURCE_ANALYTICS_KEY;
|
|
47
|
-
vi.restoreAllMocks();
|
|
48
|
-
});
|
|
49
|
-
// ---------------------------------------------------------------------------
|
|
50
|
-
// Fix 1: Events preserved on network failure
|
|
51
|
-
// ---------------------------------------------------------------------------
|
|
52
|
-
describe('Event preservation on network failure', () => {
|
|
53
|
-
it('events are restored to buffer on failure and retried on next flush', async () => {
|
|
54
|
-
vi.mocked(global.fetch).mockRejectedValue(new Error('Network failure'));
|
|
55
|
-
const analytics = createAnalytics();
|
|
56
|
-
for (let i = 0; i < 10; i++) {
|
|
57
|
-
analytics.trackTool(makeToolEvent());
|
|
58
|
-
}
|
|
59
|
-
// Let the auto-triggered flush run: splice(0) removes events, fetch rejects,
|
|
60
|
-
// catch restores them to the buffer via unshift.
|
|
61
|
-
await drainMicrotasks();
|
|
62
|
-
expect(global.fetch).toHaveBeenCalledOnce();
|
|
63
|
-
// Network is healthy again
|
|
64
|
-
vi.mocked(global.fetch).mockResolvedValue(new Response(JSON.stringify({ ok: true }), { status: 200 }));
|
|
65
|
-
// Manually flush — the 10 events were preserved and are now sent
|
|
66
|
-
await analytics.flush();
|
|
67
|
-
// fetch called twice — once failed, once succeeded with the restored events
|
|
68
|
-
expect(global.fetch).toHaveBeenCalledTimes(2);
|
|
69
|
-
});
|
|
70
|
-
it('flush-in-progress guard prevents concurrent flushes, events preserved on failure', async () => {
|
|
71
|
-
let rejectFetch;
|
|
72
|
-
vi.mocked(global.fetch).mockImplementation(() => {
|
|
73
|
-
return new Promise((_, reject) => { rejectFetch = reject; });
|
|
74
|
-
});
|
|
75
|
-
const analytics = createAnalytics();
|
|
76
|
-
// First batch of 10 → triggers flush
|
|
77
|
-
for (let i = 0; i < 10; i++) {
|
|
78
|
-
analytics.trackTool(makeToolEvent());
|
|
79
|
-
}
|
|
80
|
-
await drainMicrotasks();
|
|
81
|
-
expect(global.fetch).toHaveBeenCalledOnce();
|
|
82
|
-
// Second batch of 10 arrives while flush is in-flight
|
|
83
|
-
// The flush-in-progress guard means these stay in the buffer —
|
|
84
|
-
// no second concurrent fetch fires
|
|
85
|
-
for (let i = 0; i < 10; i++) {
|
|
86
|
-
analytics.trackTool(makeToolEvent());
|
|
87
|
-
}
|
|
88
|
-
await drainMicrotasks();
|
|
89
|
-
// Still only 1 fetch — guard prevented a concurrent flush
|
|
90
|
-
expect(global.fetch).toHaveBeenCalledOnce();
|
|
91
|
-
// Fail the in-flight request — first 10 events restored via unshift
|
|
92
|
-
rejectFetch(new Error('timeout'));
|
|
93
|
-
await drainMicrotasks();
|
|
94
|
-
// Restore healthy network
|
|
95
|
-
vi.mocked(global.fetch).mockResolvedValue(new Response(JSON.stringify({ ok: true }), { status: 200 }));
|
|
96
|
-
// Flush now sends all 20 events (10 restored + 10 buffered)
|
|
97
|
-
await analytics.flush();
|
|
98
|
-
// 2 calls total — one failed, one succeeded with all 20 events
|
|
99
|
-
expect(global.fetch).toHaveBeenCalledTimes(2);
|
|
100
|
-
});
|
|
101
|
-
});
|
|
102
|
-
// ---------------------------------------------------------------------------
|
|
103
|
-
// Fix 2: Flush timeout prevents shutdown hang
|
|
104
|
-
// ---------------------------------------------------------------------------
|
|
105
|
-
describe('Flush timeout prevents shutdown hang', () => {
|
|
106
|
-
it('flush() resolves within timeout even when fetch hangs', async () => {
|
|
107
|
-
// Mock fetch that respects AbortSignal — hangs until aborted
|
|
108
|
-
vi.mocked(global.fetch).mockImplementation((_url, init) => {
|
|
109
|
-
return new Promise((_, reject) => {
|
|
110
|
-
const signal = init?.signal;
|
|
111
|
-
if (signal) {
|
|
112
|
-
signal.addEventListener('abort', () => reject(signal.reason));
|
|
113
|
-
}
|
|
114
|
-
});
|
|
115
|
-
});
|
|
116
|
-
const analytics = createAnalytics();
|
|
117
|
-
analytics.trackTool(makeToolEvent());
|
|
118
|
-
let flushCompleted = false;
|
|
119
|
-
await Promise.race([
|
|
120
|
-
analytics.flush().then(() => { flushCompleted = true; }),
|
|
121
|
-
// 4s deadline — longer than the 3s AbortSignal.timeout in flush()
|
|
122
|
-
new Promise((resolve) => setTimeout(resolve, 4_000)),
|
|
123
|
-
]);
|
|
124
|
-
// flush completed because AbortSignal.timeout aborted the hung fetch
|
|
125
|
-
expect(flushCompleted).toBe(true);
|
|
126
|
-
}, 10_000);
|
|
127
|
-
it('a single buffered event does not hang the process on shutdown', async () => {
|
|
128
|
-
vi.mocked(global.fetch).mockImplementation((_url, init) => {
|
|
129
|
-
return new Promise((_, reject) => {
|
|
130
|
-
const signal = init?.signal;
|
|
131
|
-
if (signal) {
|
|
132
|
-
signal.addEventListener('abort', () => reject(signal.reason));
|
|
133
|
-
}
|
|
134
|
-
});
|
|
135
|
-
});
|
|
136
|
-
const analytics = createAnalytics();
|
|
137
|
-
analytics.trackTool(makeToolEvent());
|
|
138
|
-
const result = await Promise.race([
|
|
139
|
-
analytics.flush().then(() => 'completed'),
|
|
140
|
-
new Promise((resolve) => setTimeout(() => resolve('timed-out'), 4_000)),
|
|
141
|
-
]);
|
|
142
|
-
// flush completes (via abort timeout) rather than hanging
|
|
143
|
-
expect(result).toBe('completed');
|
|
144
|
-
}, 10_000);
|
|
145
|
-
});
|
|
146
|
-
//# sourceMappingURL=analytics.fix-verification.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"analytics.fix-verification.test.js","sourceRoot":"","sources":["../src/analytics.fix-verification.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"address-txs.d.ts","sourceRoot":"","sources":["../../../src/tools/indexed/address-txs.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAG9C,eAAO,MAAM,IAAI,EAAE,OAuBlB,CAAC"}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { networkParam, formatResponse, addressParam, limitParam, blockNumberParam, safePath } from '../../types.js';
|
|
2
|
-
export const tool = {
|
|
3
|
-
name: '1s_address_txs',
|
|
4
|
-
description: 'Get transaction history for an address (sent and received). ' +
|
|
5
|
-
'Sorted by block number descending. ' +
|
|
6
|
-
'Use from_block/to_block to narrow the range.',
|
|
7
|
-
category: 'indexed',
|
|
8
|
-
schema: {
|
|
9
|
-
address: addressParam.describe('Address to get transaction history for'),
|
|
10
|
-
limit: limitParam,
|
|
11
|
-
from_block: blockNumberParam.describe('Start block number (inclusive)'),
|
|
12
|
-
to_block: blockNumberParam.describe('End block number (inclusive)'),
|
|
13
|
-
network: networkParam,
|
|
14
|
-
},
|
|
15
|
-
handler: async (input, client) => {
|
|
16
|
-
const res = await client.get(`/api/address/${safePath(input.address)}/transactions`, {
|
|
17
|
-
limit: input.limit,
|
|
18
|
-
from_block: input.from_block,
|
|
19
|
-
to_block: input.to_block,
|
|
20
|
-
network: input.network,
|
|
21
|
-
});
|
|
22
|
-
return formatResponse(res);
|
|
23
|
-
},
|
|
24
|
-
};
|
|
25
|
-
//# sourceMappingURL=address-txs.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"address-txs.js","sourceRoot":"","sources":["../../../src/tools/indexed/address-txs.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,UAAU,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAEpH,MAAM,CAAC,MAAM,IAAI,GAAY;IAC3B,IAAI,EAAE,gBAAgB;IACtB,WAAW,EACT,8DAA8D;QAC9D,qCAAqC;QACrC,8CAA8C;IAChD,QAAQ,EAAE,SAAS;IACnB,MAAM,EAAE;QACN,OAAO,EAAE,YAAY,CAAC,QAAQ,CAAC,wCAAwC,CAAC;QACxE,KAAK,EAAE,UAAU;QACjB,UAAU,EAAE,gBAAgB,CAAC,QAAQ,CAAC,gCAAgC,CAAC;QACvE,QAAQ,EAAE,gBAAgB,CAAC,QAAQ,CAAC,8BAA8B,CAAC;QACnE,OAAO,EAAE,YAAY;KACtB;IACD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;QAC/B,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,gBAAgB,QAAQ,CAAC,KAAK,CAAC,OAAiB,CAAC,eAAe,EAAE;YAC7F,KAAK,EAAE,KAAK,CAAC,KAA2B;YACxC,UAAU,EAAE,KAAK,CAAC,UAAgC;YAClD,QAAQ,EAAE,KAAK,CAAC,QAA8B;YAC9C,OAAO,EAAE,KAAK,CAAC,OAA6B;SAC7C,CAAC,CAAC;QACH,OAAO,cAAc,CAAC,GAAG,CAAC,CAAC;IAC7B,CAAC;CACF,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"block.d.ts","sourceRoot":"","sources":["../../../src/tools/indexed/block.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAG9C,eAAO,MAAM,IAAI,EAAE,OAiBlB,CAAC"}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 1s_block — Get indexed block details by block number.
|
|
3
|
-
*/
|
|
4
|
-
import { z } from 'zod';
|
|
5
|
-
import { networkParam, formatResponse, safePath } from '../../types.js';
|
|
6
|
-
export const tool = {
|
|
7
|
-
name: '1s_block',
|
|
8
|
-
description: 'Get indexed block details by block number. ' +
|
|
9
|
-
'Returns block metadata including timestamp, transaction count, and gas used. ' +
|
|
10
|
-
'For the latest pending block, use 1s_pending_block instead.',
|
|
11
|
-
category: 'indexed',
|
|
12
|
-
schema: {
|
|
13
|
-
block_number: z.number().int().min(0).describe('Block number'),
|
|
14
|
-
network: networkParam,
|
|
15
|
-
},
|
|
16
|
-
handler: async (input, client) => {
|
|
17
|
-
const res = await client.get(`/api/block/${safePath(String(input.block_number))}`, {
|
|
18
|
-
network: input.network,
|
|
19
|
-
});
|
|
20
|
-
return formatResponse(res);
|
|
21
|
-
},
|
|
22
|
-
};
|
|
23
|
-
//# sourceMappingURL=block.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"block.js","sourceRoot":"","sources":["../../../src/tools/indexed/block.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAExE,MAAM,CAAC,MAAM,IAAI,GAAY;IAC3B,IAAI,EAAE,UAAU;IAChB,WAAW,EACT,6CAA6C;QAC7C,+EAA+E;QAC/E,6DAA6D;IAC/D,QAAQ,EAAE,SAAS;IACnB,MAAM,EAAE;QACN,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC;QAC9D,OAAO,EAAE,YAAY;KACtB;IACD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;QAC/B,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,cAAc,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,EAAE,EAAE;YACjF,OAAO,EAAE,KAAK,CAAC,OAA6B;SAC7C,CAAC,CAAC;QACH,OAAO,cAAc,CAAC,GAAG,CAAC,CAAC;IAC7B,CAAC;CACF,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"contract-info.d.ts","sourceRoot":"","sources":["../../../src/tools/indexed/contract-info.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAG9C,eAAO,MAAM,IAAI,EAAE,OAgBlB,CAAC"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { networkParam, formatResponse, addressParam, safePath } from '../../types.js';
|
|
2
|
-
export const tool = {
|
|
3
|
-
name: '1s_contract_info',
|
|
4
|
-
description: 'Get indexed contract metadata including deployment info and detected standards. ' +
|
|
5
|
-
'Use this for enriched contract data; use 1s_contract_info_live for real-time ERC standard detection via RPC.',
|
|
6
|
-
category: 'indexed',
|
|
7
|
-
schema: {
|
|
8
|
-
address: addressParam.describe('Contract address'),
|
|
9
|
-
network: networkParam,
|
|
10
|
-
},
|
|
11
|
-
handler: async (input, client) => {
|
|
12
|
-
const res = await client.get(`/api/contract/${safePath(input.address)}`, {
|
|
13
|
-
network: input.network,
|
|
14
|
-
});
|
|
15
|
-
return formatResponse(res);
|
|
16
|
-
},
|
|
17
|
-
};
|
|
18
|
-
//# sourceMappingURL=contract-info.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"contract-info.js","sourceRoot":"","sources":["../../../src/tools/indexed/contract-info.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAEtF,MAAM,CAAC,MAAM,IAAI,GAAY;IAC3B,IAAI,EAAE,kBAAkB;IACxB,WAAW,EACT,kFAAkF;QAClF,8GAA8G;IAChH,QAAQ,EAAE,SAAS;IACnB,MAAM,EAAE;QACN,OAAO,EAAE,YAAY,CAAC,QAAQ,CAAC,kBAAkB,CAAC;QAClD,OAAO,EAAE,YAAY;KACtB;IACD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;QAC/B,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,iBAAiB,QAAQ,CAAC,KAAK,CAAC,OAAiB,CAAC,EAAE,EAAE;YACjF,OAAO,EAAE,KAAK,CAAC,OAA6B;SAC7C,CAAC,CAAC;QACH,OAAO,cAAc,CAAC,GAAG,CAAC,CAAC;IAC7B,CAAC;CACF,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"erc1155-balance.d.ts","sourceRoot":"","sources":["../../../src/tools/indexed/erc1155-balance.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAG9C,eAAO,MAAM,IAAI,EAAE,OAsBlB,CAAC"}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { networkParam, formatResponse, addressParam, tokenIdParam } from '../../types.js';
|
|
2
|
-
export const tool = {
|
|
3
|
-
name: '1s_erc1155_balance',
|
|
4
|
-
description: 'Get indexed ERC1155 token balance. ' +
|
|
5
|
-
'Use this for cached lookups; use 1s_erc1155_balance_live for real-time data. ' +
|
|
6
|
-
'Requires the contract address and specific token ID.',
|
|
7
|
-
category: 'indexed',
|
|
8
|
-
schema: {
|
|
9
|
-
account: addressParam.describe('Wallet address to check balance for'),
|
|
10
|
-
contract: addressParam.describe('ERC1155 contract address'),
|
|
11
|
-
token_id: tokenIdParam,
|
|
12
|
-
network: networkParam,
|
|
13
|
-
},
|
|
14
|
-
handler: async (input, client) => {
|
|
15
|
-
const res = await client.get('/api/balance/erc1155', {
|
|
16
|
-
account: input.account,
|
|
17
|
-
contract: input.contract,
|
|
18
|
-
token_id: input.token_id,
|
|
19
|
-
network: input.network,
|
|
20
|
-
});
|
|
21
|
-
return formatResponse(res);
|
|
22
|
-
},
|
|
23
|
-
};
|
|
24
|
-
//# sourceMappingURL=erc1155-balance.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"erc1155-balance.js","sourceRoot":"","sources":["../../../src/tools/indexed/erc1155-balance.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE1F,MAAM,CAAC,MAAM,IAAI,GAAY;IAC3B,IAAI,EAAE,oBAAoB;IAC1B,WAAW,EACT,qCAAqC;QACrC,+EAA+E;QAC/E,sDAAsD;IACxD,QAAQ,EAAE,SAAS;IACnB,MAAM,EAAE;QACN,OAAO,EAAE,YAAY,CAAC,QAAQ,CAAC,qCAAqC,CAAC;QACrE,QAAQ,EAAE,YAAY,CAAC,QAAQ,CAAC,0BAA0B,CAAC;QAC3D,QAAQ,EAAE,YAAY;QACtB,OAAO,EAAE,YAAY;KACtB;IACD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;QAC/B,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,sBAAsB,EAAE;YACnD,OAAO,EAAE,KAAK,CAAC,OAAiB;YAChC,QAAQ,EAAE,KAAK,CAAC,QAAkB;YAClC,QAAQ,EAAE,KAAK,CAAC,QAAkB;YAClC,OAAO,EAAE,KAAK,CAAC,OAA6B;SAC7C,CAAC,CAAC;QACH,OAAO,cAAc,CAAC,GAAG,CAAC,CAAC;IAC7B,CAAC;CACF,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"erc20-balance.d.ts","sourceRoot":"","sources":["../../../src/tools/indexed/erc20-balance.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAG9C,eAAO,MAAM,IAAI,EAAE,OAoBlB,CAAC"}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { networkParam, formatResponse, addressParam } from '../../types.js';
|
|
2
|
-
export const tool = {
|
|
3
|
-
name: '1s_erc20_balance',
|
|
4
|
-
description: 'Get indexed ERC20 token balance for a wallet. ' +
|
|
5
|
-
'Use this for historical or cached balance lookups; use 1s_erc20_balance_live for real-time data. ' +
|
|
6
|
-
'Returns token metadata (name, symbol, decimals) alongside the balance.',
|
|
7
|
-
category: 'indexed',
|
|
8
|
-
schema: {
|
|
9
|
-
account: addressParam.describe('Wallet address to check balance for'),
|
|
10
|
-
token: addressParam.describe('ERC20 token contract address'),
|
|
11
|
-
network: networkParam,
|
|
12
|
-
},
|
|
13
|
-
handler: async (input, client) => {
|
|
14
|
-
const res = await client.get('/api/balance/erc20', {
|
|
15
|
-
account: input.account,
|
|
16
|
-
token: input.token,
|
|
17
|
-
network: input.network,
|
|
18
|
-
});
|
|
19
|
-
return formatResponse(res);
|
|
20
|
-
},
|
|
21
|
-
};
|
|
22
|
-
//# sourceMappingURL=erc20-balance.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"erc20-balance.js","sourceRoot":"","sources":["../../../src/tools/indexed/erc20-balance.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE5E,MAAM,CAAC,MAAM,IAAI,GAAY;IAC3B,IAAI,EAAE,kBAAkB;IACxB,WAAW,EACT,gDAAgD;QAChD,mGAAmG;QACnG,wEAAwE;IAC1E,QAAQ,EAAE,SAAS;IACnB,MAAM,EAAE;QACN,OAAO,EAAE,YAAY,CAAC,QAAQ,CAAC,qCAAqC,CAAC;QACrE,KAAK,EAAE,YAAY,CAAC,QAAQ,CAAC,8BAA8B,CAAC;QAC5D,OAAO,EAAE,YAAY;KACtB;IACD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;QAC/B,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,oBAAoB,EAAE;YACjD,OAAO,EAAE,KAAK,CAAC,OAAiB;YAChC,KAAK,EAAE,KAAK,CAAC,KAAe;YAC5B,OAAO,EAAE,KAAK,CAAC,OAA6B;SAC7C,CAAC,CAAC;QACH,OAAO,cAAc,CAAC,GAAG,CAAC,CAAC;IAC7B,CAAC;CACF,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"erc20-transfers.d.ts","sourceRoot":"","sources":["../../../src/tools/indexed/erc20-transfers.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAG9C,eAAO,MAAM,IAAI,EAAE,OAsBlB,CAAC"}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { networkParam, formatResponse, limitParam, optionalAddressParam } from '../../types.js';
|
|
2
|
-
export const tool = {
|
|
3
|
-
name: '1s_erc20_transfers',
|
|
4
|
-
description: 'Get ERC20 transfer history filtered by token and/or wallet. ' +
|
|
5
|
-
'Use this for indexed transfer records; use 1s_erc20_transfers_live for raw Transfer event logs. ' +
|
|
6
|
-
'Sorted by block number descending.',
|
|
7
|
-
category: 'indexed',
|
|
8
|
-
schema: {
|
|
9
|
-
token: optionalAddressParam.describe('ERC20 token contract address to filter by'),
|
|
10
|
-
wallet: optionalAddressParam.describe('Wallet address to filter transfers by'),
|
|
11
|
-
limit: limitParam,
|
|
12
|
-
network: networkParam,
|
|
13
|
-
},
|
|
14
|
-
handler: async (input, client) => {
|
|
15
|
-
const res = await client.get('/api/transfers/erc20', {
|
|
16
|
-
token: input.token,
|
|
17
|
-
wallet: input.wallet,
|
|
18
|
-
limit: input.limit,
|
|
19
|
-
network: input.network,
|
|
20
|
-
});
|
|
21
|
-
return formatResponse(res);
|
|
22
|
-
},
|
|
23
|
-
};
|
|
24
|
-
//# sourceMappingURL=erc20-transfers.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"erc20-transfers.js","sourceRoot":"","sources":["../../../src/tools/indexed/erc20-transfers.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAEhG,MAAM,CAAC,MAAM,IAAI,GAAY;IAC3B,IAAI,EAAE,oBAAoB;IAC1B,WAAW,EACT,8DAA8D;QAC9D,kGAAkG;QAClG,oCAAoC;IACtC,QAAQ,EAAE,SAAS;IACnB,MAAM,EAAE;QACN,KAAK,EAAE,oBAAoB,CAAC,QAAQ,CAAC,2CAA2C,CAAC;QACjF,MAAM,EAAE,oBAAoB,CAAC,QAAQ,CAAC,uCAAuC,CAAC;QAC9E,KAAK,EAAE,UAAU;QACjB,OAAO,EAAE,YAAY;KACtB;IACD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;QAC/B,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,sBAAsB,EAAE;YACnD,KAAK,EAAE,KAAK,CAAC,KAA2B;YACxC,MAAM,EAAE,KAAK,CAAC,MAA4B;YAC1C,KAAK,EAAE,KAAK,CAAC,KAA2B;YACxC,OAAO,EAAE,KAAK,CAAC,OAA6B;SAC7C,CAAC,CAAC;QACH,OAAO,cAAc,CAAC,GAAG,CAAC,CAAC;IAC7B,CAAC;CACF,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../src/tools/indexed/events.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAG9C,eAAO,MAAM,IAAI,EAAE,OA0BlB,CAAC"}
|