@aibtc/mcp-server 1.15.0 → 1.16.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.
@@ -18,6 +18,9 @@ export declare const MAINNET_CONTRACTS: {
18
18
  readonly ZEST_FEES_CALCULATOR: "SM3VDXK3WZZSA84XXFKAFAF15NNZX32CTSG82JFQ4.fees-calculator";
19
19
  readonly ZEST_INCENTIVES: "SP2VCQJGH7PHP2DJK7Z0V48AGBHQAW3R3ZW1QF4N.incentives-v2-2";
20
20
  readonly ZEST_WSTX: "SP2VCQJGH7PHP2DJK7Z0V48AGBHQAW3R3ZW1QF4N.wstx";
21
+ readonly IDENTITY_REGISTRY: "SP1NMR7MY0TJ1QA7WQBZ6504KC79PZNTRQH4YGFJD.identity-registry-v2";
22
+ readonly REPUTATION_REGISTRY: "SP1NMR7MY0TJ1QA7WQBZ6504KC79PZNTRQH4YGFJD.reputation-registry-v2";
23
+ readonly VALIDATION_REGISTRY: "SP1NMR7MY0TJ1QA7WQBZ6504KC79PZNTRQH4YGFJD.validation-registry-v2";
21
24
  };
22
25
  /**
23
26
  * Zest Protocol asset configuration
@@ -47,6 +50,9 @@ export declare const TESTNET_CONTRACTS: {
47
50
  readonly USDCX: "ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM.usdcx";
48
51
  readonly BNS: "ST000000000000000000002AMW42H.bns";
49
52
  readonly POX_4: "ST000000000000000000002AMW42H.pox-4";
53
+ readonly IDENTITY_REGISTRY: "ST3YT0XW92E6T2FE59B2G5N2WNNFSBZ6MZKQS5D18.identity-registry-v2";
54
+ readonly REPUTATION_REGISTRY: "ST3YT0XW92E6T2FE59B2G5N2WNNFSBZ6MZKQS5D18.reputation-registry-v2";
55
+ readonly VALIDATION_REGISTRY: "ST3YT0XW92E6T2FE59B2G5N2WNNFSBZ6MZKQS5D18.validation-registry-v2";
50
56
  };
51
57
  /**
52
58
  * Get contract addresses for the specified network
@@ -67,6 +73,9 @@ export declare function getContracts(network: Network): {
67
73
  readonly ZEST_FEES_CALCULATOR: "SM3VDXK3WZZSA84XXFKAFAF15NNZX32CTSG82JFQ4.fees-calculator";
68
74
  readonly ZEST_INCENTIVES: "SP2VCQJGH7PHP2DJK7Z0V48AGBHQAW3R3ZW1QF4N.incentives-v2-2";
69
75
  readonly ZEST_WSTX: "SP2VCQJGH7PHP2DJK7Z0V48AGBHQAW3R3ZW1QF4N.wstx";
76
+ readonly IDENTITY_REGISTRY: "SP1NMR7MY0TJ1QA7WQBZ6504KC79PZNTRQH4YGFJD.identity-registry-v2";
77
+ readonly REPUTATION_REGISTRY: "SP1NMR7MY0TJ1QA7WQBZ6504KC79PZNTRQH4YGFJD.reputation-registry-v2";
78
+ readonly VALIDATION_REGISTRY: "SP1NMR7MY0TJ1QA7WQBZ6504KC79PZNTRQH4YGFJD.validation-registry-v2";
70
79
  } | {
71
80
  readonly SBTC_TOKEN: "ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM.sbtc-token";
72
81
  readonly SBTC_DEPOSIT: "ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM.sbtc-deposit";
@@ -74,6 +83,9 @@ export declare function getContracts(network: Network): {
74
83
  readonly USDCX: "ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM.usdcx";
75
84
  readonly BNS: "ST000000000000000000002AMW42H.bns";
76
85
  readonly POX_4: "ST000000000000000000002AMW42H.pox-4";
86
+ readonly IDENTITY_REGISTRY: "ST3YT0XW92E6T2FE59B2G5N2WNNFSBZ6MZKQS5D18.identity-registry-v2";
87
+ readonly REPUTATION_REGISTRY: "ST3YT0XW92E6T2FE59B2G5N2WNNFSBZ6MZKQS5D18.reputation-registry-v2";
88
+ readonly VALIDATION_REGISTRY: "ST3YT0XW92E6T2FE59B2G5N2WNNFSBZ6MZKQS5D18.validation-registry-v2";
77
89
  };
78
90
  /**
79
91
  * Parse a contract identifier into address and name
@@ -175,4 +187,12 @@ export declare function getBitflowContracts(network: Network): {
175
187
  * Bitflow public API base URL (no API key required)
176
188
  */
177
189
  export declare const BITFLOW_PUBLIC_API = "https://bitflow-sdk-api-gateway-7owjsmt8.uc.gateway.dev";
190
+ /**
191
+ * Get ERC-8004 contract addresses for the network
192
+ */
193
+ export declare function getErc8004Contracts(network: Network): {
194
+ identityRegistry: "SP1NMR7MY0TJ1QA7WQBZ6504KC79PZNTRQH4YGFJD.identity-registry-v2" | "ST3YT0XW92E6T2FE59B2G5N2WNNFSBZ6MZKQS5D18.identity-registry-v2";
195
+ reputationRegistry: "SP1NMR7MY0TJ1QA7WQBZ6504KC79PZNTRQH4YGFJD.reputation-registry-v2" | "ST3YT0XW92E6T2FE59B2G5N2WNNFSBZ6MZKQS5D18.reputation-registry-v2";
196
+ validationRegistry: "SP1NMR7MY0TJ1QA7WQBZ6504KC79PZNTRQH4YGFJD.validation-registry-v2" | "ST3YT0XW92E6T2FE59B2G5N2WNNFSBZ6MZKQS5D18.validation-registry-v2";
197
+ };
178
198
  //# sourceMappingURL=contracts.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../src/config/contracts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;CA2BpB,CAAC;AAEX;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd;AAED,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAiFvD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,gBAAgB,EAAE,eAAe,EAW7C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;;;CAcpB,CAAC;AAEX;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO;;;;;;;;;;;;;;;;;;;;;;;EAE5C;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAMrF;AAED;;;GAGG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;CAapB,CAAC;AAEX;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO;;SAQhD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO;;;;;;;SAahD;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO;;;;;;;;;;EAElD;AAED;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;CAWpB,CAAC;AAEX;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,IAAI,aAAa,GAAG,IAAI,CAiBvD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO;;;;;;EAEnD;AAED;;GAEG;AACH,eAAO,MAAM,kBAAkB,4DAA4D,CAAC"}
1
+ {"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../src/config/contracts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;CAgCpB,CAAC;AAEX;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd;AAED,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAiFvD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,gBAAgB,EAAE,eAAe,EAW7C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;CAmBpB,CAAC;AAEX;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAE5C;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAMrF;AAED;;;GAGG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;CAapB,CAAC;AAEX;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO;;SAQhD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO;;;;;;;SAahD;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO;;;;;;;;;;EAElD;AAED;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;CAWpB,CAAC;AAEX;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,IAAI,aAAa,GAAG,IAAI,CAiBvD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO;;;;;;EAEnD;AAED;;GAEG;AACH,eAAO,MAAM,kBAAkB,4DAA4D,CAAC;AAE5F;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO;;;;EAOnD"}
@@ -23,6 +23,10 @@ export const MAINNET_CONTRACTS = {
23
23
  ZEST_FEES_CALCULATOR: "SM3VDXK3WZZSA84XXFKAFAF15NNZX32CTSG82JFQ4.fees-calculator",
24
24
  ZEST_INCENTIVES: "SP2VCQJGH7PHP2DJK7Z0V48AGBHQAW3R3ZW1QF4N.incentives-v2-2",
25
25
  ZEST_WSTX: "SP2VCQJGH7PHP2DJK7Z0V48AGBHQAW3R3ZW1QF4N.wstx",
26
+ // ERC-8004 Identity & Reputation
27
+ IDENTITY_REGISTRY: "SP1NMR7MY0TJ1QA7WQBZ6504KC79PZNTRQH4YGFJD.identity-registry-v2",
28
+ REPUTATION_REGISTRY: "SP1NMR7MY0TJ1QA7WQBZ6504KC79PZNTRQH4YGFJD.reputation-registry-v2",
29
+ VALIDATION_REGISTRY: "SP1NMR7MY0TJ1QA7WQBZ6504KC79PZNTRQH4YGFJD.validation-registry-v2",
26
30
  };
27
31
  export const ZEST_ASSETS = {
28
32
  sBTC: {
@@ -136,6 +140,10 @@ export const TESTNET_CONTRACTS = {
136
140
  BNS: "ST000000000000000000002AMW42H.bns",
137
141
  // Stacking
138
142
  POX_4: "ST000000000000000000002AMW42H.pox-4",
143
+ // ERC-8004 Identity & Reputation
144
+ IDENTITY_REGISTRY: "ST3YT0XW92E6T2FE59B2G5N2WNNFSBZ6MZKQS5D18.identity-registry-v2",
145
+ REPUTATION_REGISTRY: "ST3YT0XW92E6T2FE59B2G5N2WNNFSBZ6MZKQS5D18.reputation-registry-v2",
146
+ VALIDATION_REGISTRY: "ST3YT0XW92E6T2FE59B2G5N2WNNFSBZ6MZKQS5D18.validation-registry-v2",
139
147
  };
140
148
  /**
141
149
  * Get contract addresses for the specified network
@@ -253,4 +261,15 @@ export function getBitflowContracts(network) {
253
261
  * Bitflow public API base URL (no API key required)
254
262
  */
255
263
  export const BITFLOW_PUBLIC_API = "https://bitflow-sdk-api-gateway-7owjsmt8.uc.gateway.dev";
264
+ /**
265
+ * Get ERC-8004 contract addresses for the network
266
+ */
267
+ export function getErc8004Contracts(network) {
268
+ const contracts = network === "mainnet" ? MAINNET_CONTRACTS : TESTNET_CONTRACTS;
269
+ return {
270
+ identityRegistry: contracts.IDENTITY_REGISTRY,
271
+ reputationRegistry: contracts.REPUTATION_REGISTRY,
272
+ validationRegistry: contracts.VALIDATION_REGISTRY,
273
+ };
274
+ }
256
275
  //# sourceMappingURL=contracts.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"contracts.js","sourceRoot":"","sources":["../../src/config/contracts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contracts.js","sourceRoot":"","sources":["../../src/config/contracts.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,92 @@
1
+ /**
2
+ * ERC-8004 Service
3
+ *
4
+ * Service for interacting with ERC-8004 identity, reputation, and validation contracts.
5
+ * Deployed on mainnet and testnet with identical interfaces.
6
+ */
7
+ import { type Network } from "../config/index.js";
8
+ import { type Account, type TransferResult } from "../transactions/builder.js";
9
+ export interface IdentityInfo {
10
+ agentId: number;
11
+ owner: string;
12
+ uri: string;
13
+ wallet?: string;
14
+ }
15
+ export interface ReputationSummary {
16
+ agentId: number;
17
+ averageRatingWad: string;
18
+ totalFeedback: number;
19
+ sumWadValue: string;
20
+ }
21
+ export interface FeedbackEntry {
22
+ client: string;
23
+ value: number;
24
+ valueDecimals: number;
25
+ wadValue: string;
26
+ tag1: string;
27
+ tag2: string;
28
+ timestamp: number;
29
+ }
30
+ export interface ValidationStatus {
31
+ validator: string;
32
+ agentId: number;
33
+ response: number;
34
+ responseHash: string;
35
+ tag: string;
36
+ lastUpdate: number;
37
+ hasResponse: boolean;
38
+ }
39
+ export interface ValidationSummary {
40
+ count: number;
41
+ avgResponse: number;
42
+ }
43
+ export declare class Erc8004Service {
44
+ private network;
45
+ private hiro;
46
+ private contracts;
47
+ constructor(network: Network);
48
+ /**
49
+ * Register a new agent identity
50
+ */
51
+ registerIdentity(account: Account, uri?: string, metadata?: Array<{
52
+ key: string;
53
+ value: Buffer;
54
+ }>, fee?: bigint): Promise<TransferResult>;
55
+ /**
56
+ * Get agent identity information
57
+ */
58
+ getIdentity(agentId: number, callerAddress: string): Promise<IdentityInfo | null>;
59
+ /**
60
+ * Update identity URI
61
+ */
62
+ updateIdentityUri(account: Account, agentId: number, newUri: string, fee?: bigint): Promise<TransferResult>;
63
+ /**
64
+ * Give feedback for an agent
65
+ */
66
+ giveFeedback(account: Account, agentId: number, value: number, valueDecimals: number, tag1?: string, tag2?: string, endpoint?: string, feedbackUri?: string, feedbackHash?: Buffer, fee?: bigint): Promise<TransferResult>;
67
+ /**
68
+ * Get aggregated reputation for an agent
69
+ */
70
+ getReputation(agentId: number, callerAddress: string): Promise<ReputationSummary>;
71
+ /**
72
+ * Get total feedback count for an agent
73
+ */
74
+ getFeedbackCount(agentId: number, callerAddress: string): Promise<number>;
75
+ /**
76
+ * Get specific feedback entry by index
77
+ */
78
+ getFeedback(agentId: number, index: number, callerAddress: string): Promise<FeedbackEntry | null>;
79
+ /**
80
+ * Request validation from a validator
81
+ */
82
+ requestValidation(account: Account, validator: string, agentId: number, requestUri: string, requestHash: Buffer, fee?: bigint): Promise<TransferResult>;
83
+ /**
84
+ * Get validation status for a request
85
+ */
86
+ getValidationStatus(requestHash: Buffer, callerAddress: string): Promise<ValidationStatus | null>;
87
+ /**
88
+ * Get validation summary for an agent
89
+ */
90
+ getValidationSummary(agentId: number, callerAddress: string): Promise<ValidationSummary>;
91
+ }
92
+ //# sourceMappingURL=erc8004.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"erc8004.service.d.ts","sourceRoot":"","sources":["../../src/services/erc8004.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,259 @@
1
+ /**
2
+ * ERC-8004 Service
3
+ *
4
+ * Service for interacting with ERC-8004 identity, reputation, and validation contracts.
5
+ * Deployed on mainnet and testnet with identical interfaces.
6
+ */
7
+ import { uintCV, stringUtf8CV, bufferCV, principalCV, listCV, tupleCV, cvToJSON, hexToCV, } from "@stacks/transactions";
8
+ import { getHiroApi } from "./hiro-api.js";
9
+ import { getErc8004Contracts, parseContractId } from "../config/index.js";
10
+ import { callContract } from "../transactions/builder.js";
11
+ // ============================================================================
12
+ // ERC8004 Service
13
+ // ============================================================================
14
+ export class Erc8004Service {
15
+ network;
16
+ hiro;
17
+ contracts;
18
+ constructor(network) {
19
+ this.network = network;
20
+ this.hiro = getHiroApi(network);
21
+ this.contracts = getErc8004Contracts(network);
22
+ }
23
+ // ==========================================================================
24
+ // Identity Registry
25
+ // ==========================================================================
26
+ /**
27
+ * Register a new agent identity
28
+ */
29
+ async registerIdentity(account, uri, metadata, fee) {
30
+ const { address, name } = parseContractId(this.contracts.identityRegistry);
31
+ let functionName;
32
+ let functionArgs;
33
+ if (metadata && metadata.length > 0) {
34
+ // Use register-full with metadata
35
+ functionName = "register-full";
36
+ functionArgs = [
37
+ stringUtf8CV(uri || ""),
38
+ listCV(metadata.map((m) => tupleCV({
39
+ key: stringUtf8CV(m.key),
40
+ value: bufferCV(m.value),
41
+ }))),
42
+ ];
43
+ }
44
+ else if (uri) {
45
+ // Use register-with-uri
46
+ functionName = "register-with-uri";
47
+ functionArgs = [stringUtf8CV(uri)];
48
+ }
49
+ else {
50
+ // Use basic register
51
+ functionName = "register";
52
+ functionArgs = [];
53
+ }
54
+ return callContract(account, {
55
+ contractAddress: address,
56
+ contractName: name,
57
+ functionName,
58
+ functionArgs,
59
+ fee,
60
+ });
61
+ }
62
+ /**
63
+ * Get agent identity information
64
+ */
65
+ async getIdentity(agentId, callerAddress) {
66
+ // Get owner
67
+ const ownerResult = await this.hiro.callReadOnlyFunction(this.contracts.identityRegistry, "owner-of", [uintCV(agentId)], callerAddress);
68
+ if (!ownerResult.okay || !ownerResult.result) {
69
+ throw new Error(`Failed to read identity for agent ${agentId}: ${ownerResult.cause || "read-only call failed"}`);
70
+ }
71
+ const ownerData = cvToJSON(hexToCV(ownerResult.result));
72
+ if (!ownerData.success || ownerData.value.value === null) {
73
+ return null; // Contract returned (none) — agent not found
74
+ }
75
+ const owner = ownerData.value.value.value;
76
+ // Get URI
77
+ const uriResult = await this.hiro.callReadOnlyFunction(this.contracts.identityRegistry, "get-uri", [uintCV(agentId)], callerAddress);
78
+ let uri = "";
79
+ if (uriResult.okay && uriResult.result) {
80
+ const uriData = cvToJSON(hexToCV(uriResult.result));
81
+ if (uriData.success && uriData.value.value !== null) {
82
+ uri = uriData.value.value.value;
83
+ }
84
+ }
85
+ // Get agent wallet
86
+ const walletResult = await this.hiro.callReadOnlyFunction(this.contracts.identityRegistry, "get-agent-wallet", [uintCV(agentId)], callerAddress);
87
+ let wallet;
88
+ if (walletResult.okay && walletResult.result) {
89
+ const walletData = cvToJSON(hexToCV(walletResult.result));
90
+ if (walletData.success && walletData.value.value !== null) {
91
+ wallet = walletData.value.value.value;
92
+ }
93
+ }
94
+ return {
95
+ agentId,
96
+ owner,
97
+ uri,
98
+ wallet,
99
+ };
100
+ }
101
+ /**
102
+ * Update identity URI
103
+ */
104
+ async updateIdentityUri(account, agentId, newUri, fee) {
105
+ const { address, name } = parseContractId(this.contracts.identityRegistry);
106
+ return callContract(account, {
107
+ contractAddress: address,
108
+ contractName: name,
109
+ functionName: "set-agent-uri",
110
+ functionArgs: [uintCV(agentId), stringUtf8CV(newUri)],
111
+ fee,
112
+ });
113
+ }
114
+ // ==========================================================================
115
+ // Reputation Registry
116
+ // ==========================================================================
117
+ /**
118
+ * Give feedback for an agent
119
+ */
120
+ async giveFeedback(account, agentId, value, valueDecimals, tag1, tag2, endpoint, feedbackUri, feedbackHash, fee) {
121
+ const { address, name } = parseContractId(this.contracts.reputationRegistry);
122
+ return callContract(account, {
123
+ contractAddress: address,
124
+ contractName: name,
125
+ functionName: "give-feedback",
126
+ functionArgs: [
127
+ uintCV(agentId),
128
+ uintCV(value),
129
+ uintCV(valueDecimals),
130
+ stringUtf8CV(tag1 || ""),
131
+ stringUtf8CV(tag2 || ""),
132
+ stringUtf8CV(endpoint || ""),
133
+ stringUtf8CV(feedbackUri || ""),
134
+ bufferCV(feedbackHash || Buffer.alloc(32)),
135
+ ],
136
+ fee,
137
+ });
138
+ }
139
+ /**
140
+ * Get aggregated reputation for an agent
141
+ */
142
+ async getReputation(agentId, callerAddress) {
143
+ const result = await this.hiro.callReadOnlyFunction(this.contracts.reputationRegistry, "get-agent-reputation", [uintCV(agentId)], callerAddress);
144
+ if (!result.okay || !result.result) {
145
+ throw new Error(`Failed to read reputation for agent ${agentId}: ${result.cause || "unknown error"}`);
146
+ }
147
+ const data = cvToJSON(hexToCV(result.result));
148
+ if (!data.success) {
149
+ throw new Error(`Failed to parse reputation response for agent ${agentId}`);
150
+ }
151
+ const rep = data.value.value;
152
+ return {
153
+ agentId,
154
+ averageRatingWad: rep["avg-rating"].value,
155
+ totalFeedback: parseInt(rep.count.value, 10),
156
+ sumWadValue: rep["sum-wad-value"].value,
157
+ };
158
+ }
159
+ /**
160
+ * Get total feedback count for an agent
161
+ */
162
+ async getFeedbackCount(agentId, callerAddress) {
163
+ const result = await this.hiro.callReadOnlyFunction(this.contracts.reputationRegistry, "get-agent-feedback-count", [uintCV(agentId)], callerAddress);
164
+ if (!result.okay || !result.result) {
165
+ return 0;
166
+ }
167
+ const data = cvToJSON(hexToCV(result.result));
168
+ if (!data.success) {
169
+ return 0;
170
+ }
171
+ return parseInt(data.value.value, 10);
172
+ }
173
+ /**
174
+ * Get specific feedback entry by index
175
+ */
176
+ async getFeedback(agentId, index, callerAddress) {
177
+ const result = await this.hiro.callReadOnlyFunction(this.contracts.reputationRegistry, "get-feedback-at-index", [uintCV(agentId), uintCV(index)], callerAddress);
178
+ if (!result.okay || !result.result) {
179
+ return null;
180
+ }
181
+ const data = cvToJSON(hexToCV(result.result));
182
+ if (!data.success || data.value.value === null) {
183
+ return null;
184
+ }
185
+ const fb = data.value.value.value;
186
+ return {
187
+ client: fb.client.value,
188
+ value: parseInt(fb.value.value, 10),
189
+ valueDecimals: parseInt(fb["value-decimals"].value, 10),
190
+ wadValue: fb["wad-value"].value,
191
+ tag1: fb.tag1.value,
192
+ tag2: fb.tag2.value,
193
+ timestamp: parseInt(fb.timestamp.value, 10),
194
+ };
195
+ }
196
+ // ==========================================================================
197
+ // Validation Registry
198
+ // ==========================================================================
199
+ /**
200
+ * Request validation from a validator
201
+ */
202
+ async requestValidation(account, validator, agentId, requestUri, requestHash, fee) {
203
+ const { address, name } = parseContractId(this.contracts.validationRegistry);
204
+ return callContract(account, {
205
+ contractAddress: address,
206
+ contractName: name,
207
+ functionName: "validation-request",
208
+ functionArgs: [
209
+ principalCV(validator),
210
+ uintCV(agentId),
211
+ stringUtf8CV(requestUri),
212
+ bufferCV(requestHash),
213
+ ],
214
+ fee,
215
+ });
216
+ }
217
+ /**
218
+ * Get validation status for a request
219
+ */
220
+ async getValidationStatus(requestHash, callerAddress) {
221
+ const result = await this.hiro.callReadOnlyFunction(this.contracts.validationRegistry, "get-validation-status", [bufferCV(requestHash)], callerAddress);
222
+ if (!result.okay || !result.result) {
223
+ return null;
224
+ }
225
+ const data = cvToJSON(hexToCV(result.result));
226
+ if (!data.success || data.value.value === null) {
227
+ return null;
228
+ }
229
+ const vs = data.value.value.value;
230
+ return {
231
+ validator: vs.validator.value,
232
+ agentId: parseInt(vs["agent-id"].value, 10),
233
+ response: parseInt(vs.response.value, 10),
234
+ responseHash: vs["response-hash"].value,
235
+ tag: vs.tag.value,
236
+ lastUpdate: parseInt(vs["last-update"].value, 10),
237
+ hasResponse: vs["has-response"].value,
238
+ };
239
+ }
240
+ /**
241
+ * Get validation summary for an agent
242
+ */
243
+ async getValidationSummary(agentId, callerAddress) {
244
+ const result = await this.hiro.callReadOnlyFunction(this.contracts.validationRegistry, "get-summary", [uintCV(agentId)], callerAddress);
245
+ if (!result.okay || !result.result) {
246
+ throw new Error(`Failed to read validation summary for agent ${agentId}: ${result.cause || "read-only call failed"}`);
247
+ }
248
+ const data = cvToJSON(hexToCV(result.result));
249
+ if (!data.success) {
250
+ throw new Error(`Failed to parse validation summary for agent ${agentId}`);
251
+ }
252
+ const summary = data.value.value;
253
+ return {
254
+ count: parseInt(summary.count.value, 10),
255
+ avgResponse: parseInt(summary["avg-response"].value, 10),
256
+ };
257
+ }
258
+ }
259
+ //# sourceMappingURL=erc8004.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"erc8004.service.js","sourceRoot":"","sources":["../../src/services/erc8004.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * ERC-8004 Identity and Reputation Tools
3
+ *
4
+ * These tools provide on-chain agent identity and reputation management:
5
+ *
6
+ * Identity Tools:
7
+ * - register_identity: Register new agent identity on-chain
8
+ * - get_identity: Get agent identity info (owner, URI, wallet)
9
+ *
10
+ * Reputation Tools:
11
+ * - give_feedback: Submit feedback for an agent
12
+ * - get_reputation: Get aggregated reputation score
13
+ *
14
+ * Validation Tools:
15
+ * - request_validation: Request third-party validation
16
+ * - get_validation_status: Check validation request status
17
+ * - get_validation_summary: Get validation summary for agent
18
+ */
19
+ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
20
+ export declare function registerErc8004Tools(server: McpServer): void;
21
+ //# sourceMappingURL=erc8004.tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"erc8004.tools.d.ts","sourceRoot":"","sources":["../../src/tools/erc8004.tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAsCpE,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAsX5D"}
@@ -0,0 +1,347 @@
1
+ /**
2
+ * ERC-8004 Identity and Reputation Tools
3
+ *
4
+ * These tools provide on-chain agent identity and reputation management:
5
+ *
6
+ * Identity Tools:
7
+ * - register_identity: Register new agent identity on-chain
8
+ * - get_identity: Get agent identity info (owner, URI, wallet)
9
+ *
10
+ * Reputation Tools:
11
+ * - give_feedback: Submit feedback for an agent
12
+ * - get_reputation: Get aggregated reputation score
13
+ *
14
+ * Validation Tools:
15
+ * - request_validation: Request third-party validation
16
+ * - get_validation_status: Check validation request status
17
+ * - get_validation_summary: Get validation summary for agent
18
+ */
19
+ import { z } from "zod";
20
+ import { NETWORK, getExplorerTxUrl } from "../config/networks.js";
21
+ import { createJsonResponse, createErrorResponse } from "../utils/index.js";
22
+ import { getWalletManager } from "../services/wallet-manager.js";
23
+ import { Erc8004Service } from "../services/erc8004.service.js";
24
+ import { resolveFee } from "../utils/fee.js";
25
+ const MAX_METADATA_KEY_LENGTH = 128;
26
+ const MAX_METADATA_VALUE_BYTES = 512;
27
+ /** Default read-only caller address per network (boot addresses) */
28
+ const DEFAULT_CALLER = {
29
+ mainnet: "SP000000000000000000002Q6VF78",
30
+ testnet: "ST000000000000000000002AMW42H",
31
+ };
32
+ /** Strip optional 0x prefix and validate hex string */
33
+ function normalizeHex(hex, label, exactBytes) {
34
+ let normalized = hex;
35
+ if (normalized.startsWith("0x") || normalized.startsWith("0X")) {
36
+ normalized = normalized.slice(2);
37
+ }
38
+ if (normalized.length === 0 || normalized.length % 2 !== 0 || !/^[0-9a-fA-F]+$/.test(normalized)) {
39
+ throw new Error(`${label} must be a non-empty, even-length hex string`);
40
+ }
41
+ if (exactBytes !== undefined && normalized.length !== exactBytes * 2) {
42
+ throw new Error(`${label} must be exactly ${exactBytes} bytes (${exactBytes * 2} hex characters)`);
43
+ }
44
+ return normalized;
45
+ }
46
+ function getCallerAddress() {
47
+ const walletManager = getWalletManager();
48
+ const sessionInfo = walletManager.getSessionInfo();
49
+ return sessionInfo?.address || DEFAULT_CALLER[NETWORK] || DEFAULT_CALLER.testnet;
50
+ }
51
+ export function registerErc8004Tools(server) {
52
+ const service = new Erc8004Service(NETWORK);
53
+ // ==========================================================================
54
+ // Identity Tools
55
+ // ==========================================================================
56
+ // Register identity
57
+ server.registerTool("register_identity", {
58
+ description: "Register a new agent identity on-chain using ERC-8004 identity registry. " +
59
+ "Returns a transaction ID. Check the transaction result to get the assigned agent ID. " +
60
+ "Requires an unlocked wallet.",
61
+ inputSchema: {
62
+ uri: z
63
+ .string()
64
+ .optional()
65
+ .describe("URI pointing to agent metadata (IPFS, HTTP, etc.). Optional."),
66
+ metadata: z
67
+ .array(z.object({
68
+ key: z.string().max(MAX_METADATA_KEY_LENGTH).describe("Metadata key (max 128 chars)"),
69
+ value: z.string().describe("Metadata value as hex string (max 512 bytes)"),
70
+ }))
71
+ .optional()
72
+ .describe("Array of metadata key-value pairs. Values must be hex-encoded buffers. Optional."),
73
+ fee: z
74
+ .string()
75
+ .optional()
76
+ .describe('Fee preset ("low", "medium", "high") or micro-STX amount. Optional.'),
77
+ },
78
+ }, async ({ uri, metadata, fee }) => {
79
+ try {
80
+ const walletManager = getWalletManager();
81
+ const account = walletManager.getActiveAccount();
82
+ if (!account) {
83
+ throw new Error("No active wallet. Please unlock your wallet first.");
84
+ }
85
+ // Parse metadata if provided
86
+ let parsedMetadata;
87
+ if (metadata && metadata.length > 0) {
88
+ parsedMetadata = metadata.map((m) => {
89
+ const normalized = normalizeHex(m.value, `metadata value for key "${m.key}"`);
90
+ const buf = Buffer.from(normalized, "hex");
91
+ if (buf.length > MAX_METADATA_VALUE_BYTES) {
92
+ throw new Error(`metadata value for key "${m.key}" exceeds ${MAX_METADATA_VALUE_BYTES} bytes (got ${buf.length})`);
93
+ }
94
+ return { key: m.key, value: buf };
95
+ });
96
+ }
97
+ const feeAmount = fee ? await resolveFee(fee, NETWORK, "contract_call") : undefined;
98
+ const result = await service.registerIdentity(account, uri, parsedMetadata, feeAmount);
99
+ return createJsonResponse({
100
+ success: true,
101
+ txid: result.txid,
102
+ message: "Identity registration transaction submitted. " +
103
+ "Check transaction result to get your agent ID.",
104
+ network: NETWORK,
105
+ explorerUrl: getExplorerTxUrl(result.txid, NETWORK),
106
+ });
107
+ }
108
+ catch (error) {
109
+ return createErrorResponse(error);
110
+ }
111
+ });
112
+ // Get identity
113
+ server.registerTool("get_identity", {
114
+ description: "Get agent identity information from ERC-8004 identity registry. " +
115
+ "Returns owner address, URI, and wallet address if set.",
116
+ inputSchema: {
117
+ agentId: z.number().int().min(0).describe("Agent ID to look up"),
118
+ },
119
+ }, async ({ agentId }) => {
120
+ try {
121
+ const callerAddress = getCallerAddress();
122
+ const identity = await service.getIdentity(agentId, callerAddress);
123
+ if (!identity) {
124
+ return createJsonResponse({
125
+ success: false,
126
+ agentId,
127
+ message: "Agent ID not found",
128
+ });
129
+ }
130
+ return createJsonResponse({
131
+ success: true,
132
+ agentId: identity.agentId,
133
+ owner: identity.owner,
134
+ uri: identity.uri || "(no URI set)",
135
+ wallet: identity.wallet || "(no wallet set)",
136
+ network: NETWORK,
137
+ });
138
+ }
139
+ catch (error) {
140
+ return createErrorResponse(error);
141
+ }
142
+ });
143
+ // ==========================================================================
144
+ // Reputation Tools
145
+ // ==========================================================================
146
+ // Give feedback
147
+ server.registerTool("give_feedback", {
148
+ description: "Submit feedback for an agent using ERC-8004 reputation registry. " +
149
+ "Value is normalized to 18 decimals (WAD) internally for aggregation. " +
150
+ "Requires an unlocked wallet.",
151
+ inputSchema: {
152
+ agentId: z.number().int().min(0).describe("Agent ID to give feedback for"),
153
+ value: z
154
+ .number()
155
+ .int()
156
+ .min(0)
157
+ .describe("Feedback value (e.g., 5 for 5-star rating)"),
158
+ decimals: z
159
+ .number()
160
+ .int()
161
+ .min(0)
162
+ .max(18)
163
+ .describe("Decimals for the value (e.g., 0 for integer ratings)"),
164
+ tag1: z.string().optional().describe("Optional tag 1 (max 64 chars)"),
165
+ tag2: z.string().optional().describe("Optional tag 2 (max 64 chars)"),
166
+ endpoint: z.string().optional().describe("Optional endpoint URL"),
167
+ feedbackUri: z.string().optional().describe("Optional feedback URI"),
168
+ feedbackHash: z
169
+ .string()
170
+ .optional()
171
+ .describe("Optional feedback hash as hex string (32 bytes)"),
172
+ fee: z
173
+ .string()
174
+ .optional()
175
+ .describe('Fee preset ("low", "medium", "high") or micro-STX amount. Optional.'),
176
+ },
177
+ }, async ({ agentId, value, decimals, tag1, tag2, endpoint, feedbackUri, feedbackHash, fee }) => {
178
+ try {
179
+ const walletManager = getWalletManager();
180
+ const account = walletManager.getActiveAccount();
181
+ if (!account) {
182
+ throw new Error("No active wallet. Please unlock your wallet first.");
183
+ }
184
+ const hashBuffer = feedbackHash
185
+ ? Buffer.from(normalizeHex(feedbackHash, "feedbackHash", 32), "hex")
186
+ : undefined;
187
+ const feeAmount = fee ? await resolveFee(fee, NETWORK, "contract_call") : undefined;
188
+ const result = await service.giveFeedback(account, agentId, value, decimals, tag1, tag2, endpoint, feedbackUri, hashBuffer, feeAmount);
189
+ return createJsonResponse({
190
+ success: true,
191
+ txid: result.txid,
192
+ message: "Feedback submitted successfully",
193
+ agentId,
194
+ value,
195
+ decimals,
196
+ network: NETWORK,
197
+ explorerUrl: getExplorerTxUrl(result.txid, NETWORK),
198
+ });
199
+ }
200
+ catch (error) {
201
+ return createErrorResponse(error);
202
+ }
203
+ });
204
+ // Get reputation
205
+ server.registerTool("get_reputation", {
206
+ description: "Get aggregated reputation summary for an agent from ERC-8004 reputation registry. " +
207
+ "Returns average rating as a raw WAD string (18 decimals) and total feedback count.",
208
+ inputSchema: {
209
+ agentId: z.number().int().min(0).describe("Agent ID to get reputation for"),
210
+ },
211
+ }, async ({ agentId }) => {
212
+ try {
213
+ const callerAddress = getCallerAddress();
214
+ const reputation = await service.getReputation(agentId, callerAddress);
215
+ if (reputation.totalFeedback === 0) {
216
+ return createJsonResponse({
217
+ success: true,
218
+ agentId,
219
+ averageRatingWad: "0",
220
+ totalFeedback: 0,
221
+ message: "No feedback yet for this agent",
222
+ network: NETWORK,
223
+ });
224
+ }
225
+ return createJsonResponse({
226
+ success: true,
227
+ agentId: reputation.agentId,
228
+ averageRatingWad: reputation.averageRatingWad,
229
+ totalFeedback: reputation.totalFeedback,
230
+ sumWadValue: reputation.sumWadValue,
231
+ network: NETWORK,
232
+ });
233
+ }
234
+ catch (error) {
235
+ return createErrorResponse(error);
236
+ }
237
+ });
238
+ // ==========================================================================
239
+ // Validation Tools
240
+ // ==========================================================================
241
+ // Request validation
242
+ server.registerTool("request_validation", {
243
+ description: "Request third-party validation for an agent using ERC-8004 validation registry. " +
244
+ "The validator will be notified and can respond with a 0-100 score. " +
245
+ "Requires an unlocked wallet and must be called by agent owner or approved operator.",
246
+ inputSchema: {
247
+ validator: z.string().describe("Stacks address of the validator"),
248
+ agentId: z.number().int().min(0).describe("Agent ID to request validation for"),
249
+ requestUri: z.string().describe("URI with validation request details"),
250
+ requestHash: z.string().describe("Unique request hash as hex string (32 bytes)"),
251
+ fee: z
252
+ .string()
253
+ .optional()
254
+ .describe('Fee preset ("low", "medium", "high") or micro-STX amount. Optional.'),
255
+ },
256
+ }, async ({ validator, agentId, requestUri, requestHash, fee }) => {
257
+ try {
258
+ const walletManager = getWalletManager();
259
+ const account = walletManager.getActiveAccount();
260
+ if (!account) {
261
+ throw new Error("No active wallet. Please unlock your wallet first.");
262
+ }
263
+ const normalizedHash = normalizeHex(requestHash, "requestHash", 32);
264
+ const hashBuffer = Buffer.from(normalizedHash, "hex");
265
+ const feeAmount = fee ? await resolveFee(fee, NETWORK, "contract_call") : undefined;
266
+ const result = await service.requestValidation(account, validator, agentId, requestUri, hashBuffer, feeAmount);
267
+ return createJsonResponse({
268
+ success: true,
269
+ txid: result.txid,
270
+ message: "Validation request submitted successfully",
271
+ validator,
272
+ agentId,
273
+ requestHash,
274
+ network: NETWORK,
275
+ explorerUrl: getExplorerTxUrl(result.txid, NETWORK),
276
+ });
277
+ }
278
+ catch (error) {
279
+ return createErrorResponse(error);
280
+ }
281
+ });
282
+ // Get validation status
283
+ server.registerTool("get_validation_status", {
284
+ description: "Get the status of a validation request using ERC-8004 validation registry. " +
285
+ "Returns validator, agent ID, response score (0-100), and response metadata.",
286
+ inputSchema: {
287
+ requestHash: z.string().describe("Request hash as hex string (32 bytes)"),
288
+ },
289
+ }, async ({ requestHash }) => {
290
+ try {
291
+ const callerAddress = getCallerAddress();
292
+ const normalizedHash = normalizeHex(requestHash, "requestHash", 32);
293
+ const hashBuffer = Buffer.from(normalizedHash, "hex");
294
+ const status = await service.getValidationStatus(hashBuffer, callerAddress);
295
+ if (!status) {
296
+ return createJsonResponse({
297
+ success: false,
298
+ requestHash,
299
+ message: "Validation request not found",
300
+ network: NETWORK,
301
+ });
302
+ }
303
+ return createJsonResponse({
304
+ success: true,
305
+ requestHash,
306
+ validator: status.validator,
307
+ agentId: status.agentId,
308
+ response: status.response,
309
+ responseHash: status.responseHash,
310
+ tag: status.tag || "(no tag)",
311
+ lastUpdate: status.lastUpdate,
312
+ hasResponse: status.hasResponse,
313
+ network: NETWORK,
314
+ });
315
+ }
316
+ catch (error) {
317
+ return createErrorResponse(error);
318
+ }
319
+ });
320
+ // Get validation summary
321
+ server.registerTool("get_validation_summary", {
322
+ description: "Get validation summary for an agent using ERC-8004 validation registry. " +
323
+ "Returns total validation count and average response score (0-100).",
324
+ inputSchema: {
325
+ agentId: z.number().int().min(0).describe("Agent ID to get validation summary for"),
326
+ },
327
+ }, async ({ agentId }) => {
328
+ try {
329
+ const callerAddress = getCallerAddress();
330
+ const summary = await service.getValidationSummary(agentId, callerAddress);
331
+ return createJsonResponse({
332
+ success: true,
333
+ agentId,
334
+ count: summary.count,
335
+ averageResponse: summary.avgResponse,
336
+ message: summary.count === 0
337
+ ? "No validations yet for this agent"
338
+ : `${summary.count} validation(s) with average score ${summary.avgResponse}/100`,
339
+ network: NETWORK,
340
+ });
341
+ }
342
+ catch (error) {
343
+ return createErrorResponse(error);
344
+ }
345
+ });
346
+ }
347
+ //# sourceMappingURL=erc8004.tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"erc8004.tools.js","sourceRoot":"","sources":["../../src/tools/erc8004.tools.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAkCpE;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA8CxD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAmCpE;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA+CxD"}
@@ -11,6 +11,7 @@ import { registerSbtcTools } from "./sbtc.tools.js";
11
11
  import { registerTokenTools } from "./tokens.tools.js";
12
12
  import { registerNftTools } from "./nft.tools.js";
13
13
  import { registerBnsTools } from "./bns.tools.js";
14
+ import { registerErc8004Tools } from "./erc8004.tools.js";
14
15
  // Layer 2b: DeFi (Advanced)
15
16
  import { registerDefiTools } from "./defi.tools.js";
16
17
  import { registerStackingTools } from "./stacking.tools.js";
@@ -55,6 +56,7 @@ export function registerAllTools(server) {
55
56
  registerTokenTools(server);
56
57
  registerNftTools(server);
57
58
  registerBnsTools(server);
59
+ registerErc8004Tools(server);
58
60
  // =========================================================================
59
61
  // Layer 2b: DeFi (Advanced)
60
62
  // Decentralized finance protocols on Stacks
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAEA,gCAAgC;AAChC,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,6BAA6B,EAAE,MAAM,8BAA8B,CAAC;AAC7E,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE1D,iCAAiC;AACjC,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAElD,4BAA4B;AAC5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,+DAA+D;AAC/D,6DAA6D;AAE7D,+BAA+B;AAC/B,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AAErE,4BAA4B;AAC5B,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AAEnE;;;;;;;;;GASG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAiB;IAChD,4EAA4E;IAC5E,gCAAgC;IAChC,0DAA0D;IAC1D,4EAA4E;IAC5E,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAC7B,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAC9B,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAC5B,6BAA6B,CAAC,MAAM,CAAC,CAAC;IACtC,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAE7B,4EAA4E;IAC5E,iCAAiC;IACjC,2CAA2C;IAC3C,4EAA4E;IAC5E,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAC9B,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAC9B,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC1B,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAC3B,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACzB,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAEzB,4EAA4E;IAC5E,4BAA4B;IAC5B,4CAA4C;IAC5C,4EAA4E;IAC5E,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC1B,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAC9B,sEAAsE;IAEtE,4EAA4E;IAC5E,+BAA+B;IAC/B,4CAA4C;IAC5C,4EAA4E;IAC5E,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAC5B,yBAAyB,CAAC,MAAM,CAAC,CAAC;IAElC,4EAA4E;IAC5E,4BAA4B;IAC5B,sDAAsD;IACtD,4EAA4E;IAC5E,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAC3B,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAC9B,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAC9B,uBAAuB,CAAC,MAAM,CAAC,CAAC;IAChC,wBAAwB,CAAC,MAAM,CAAC,CAAC;AACnC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aibtc/mcp-server",
3
- "version": "1.15.0",
3
+ "version": "1.16.0",
4
4
  "description": "Bitcoin-native MCP server for AI agents: BTC/STX wallets, DeFi yield, sBTC peg, NFTs, and x402 payments.",
5
5
  "mcpName": "io.github.aibtcdev/mcp-server",
6
6
  "type": "module",