@aibtc/mcp-server 1.15.0 → 1.17.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/config/contracts.d.ts +20 -0
- package/dist/config/contracts.d.ts.map +1 -1
- package/dist/config/contracts.js +19 -0
- package/dist/config/contracts.js.map +1 -1
- package/dist/services/erc8004.service.d.ts +92 -0
- package/dist/services/erc8004.service.d.ts.map +1 -0
- package/dist/services/erc8004.service.js +259 -0
- package/dist/services/erc8004.service.js.map +1 -0
- package/dist/services/mempool-api.d.ts +14 -0
- package/dist/services/mempool-api.d.ts.map +1 -1
- package/dist/services/mempool-api.js +22 -0
- package/dist/services/mempool-api.js.map +1 -1
- package/dist/services/sbtc-deposit.service.d.ts +246 -0
- package/dist/services/sbtc-deposit.service.d.ts.map +1 -0
- package/dist/services/sbtc-deposit.service.js +373 -0
- package/dist/services/sbtc-deposit.service.js.map +1 -0
- package/dist/services/wallet-manager.d.ts +4 -0
- package/dist/services/wallet-manager.d.ts.map +1 -1
- package/dist/services/wallet-manager.js +120 -5
- package/dist/services/wallet-manager.js.map +1 -1
- package/dist/tools/erc8004.tools.d.ts +21 -0
- package/dist/tools/erc8004.tools.d.ts.map +1 -0
- package/dist/tools/erc8004.tools.js +347 -0
- package/dist/tools/erc8004.tools.js.map +1 -0
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +2 -0
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/sbtc.tools.d.ts.map +1 -1
- package/dist/tools/sbtc.tools.js +192 -0
- package/dist/tools/sbtc.tools.js.map +1 -1
- package/dist/tools/wallet-management.tools.d.ts.map +1 -1
- package/dist/tools/wallet-management.tools.js +41 -0
- package/dist/tools/wallet-management.tools.js.map +1 -1
- package/dist/transactions/builder.d.ts +9 -0
- package/dist/transactions/builder.d.ts.map +1 -1
- package/dist/transactions/builder.js.map +1 -1
- package/dist/utils/bitcoin.d.ts +52 -0
- package/dist/utils/bitcoin.d.ts.map +1 -1
- package/dist/utils/bitcoin.js +72 -0
- package/dist/utils/bitcoin.js.map +1 -1
- package/dist/utils/storage.d.ts +16 -0
- package/dist/utils/storage.d.ts.map +1 -1
- package/dist/utils/storage.js +39 -1
- package/dist/utils/storage.js.map +1 -1
- package/package.json +2 -1
- package/skill/references/stacks-defi.md +72 -0
|
@@ -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
|
|
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"}
|
package/dist/config/contracts.js
CHANGED
|
@@ -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":"AAEA;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,OAAO;IACP,UAAU,EAAE,sDAAsD;IAClE,YAAY,EAAE,wDAAwD;IACtE,aAAa,EAAE,yDAAyD;IAExE,cAAc;IACd,KAAK,EAAE,iDAAiD;IAExD,MAAM;IACN,GAAG,EAAE,mCAAmC;IAExC,WAAW;IACX,KAAK,EAAE,qCAAqC;IAE5C,gFAAgF;IAChF,aAAa,EAAE,8DAA8D;IAC7E,UAAU,EAAE,sDAAsD;IAClE,SAAS,EAAE,yDAAyD;IAEpE,gBAAgB;IAChB,gBAAgB,EAAE,2DAA2D;IAC7E,kBAAkB,EAAE,+DAA+D;IACnF,iBAAiB,EAAE,8DAA8D;IACjF,oBAAoB,EAAE,2DAA2D;IACjF,eAAe,EAAE,0DAA0D;IAC3E,SAAS,EAAE,+CAA+C;
|
|
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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"}
|
|
@@ -171,6 +171,20 @@ export declare class MempoolApi {
|
|
|
171
171
|
* ```
|
|
172
172
|
*/
|
|
173
173
|
broadcastTransaction(txHex: string): Promise<string>;
|
|
174
|
+
/**
|
|
175
|
+
* Get raw transaction hex by txid
|
|
176
|
+
*
|
|
177
|
+
* @param txid - Transaction ID
|
|
178
|
+
* @returns Transaction as hex string
|
|
179
|
+
* @throws Error if API request fails
|
|
180
|
+
*
|
|
181
|
+
* @example
|
|
182
|
+
* ```typescript
|
|
183
|
+
* const api = new MempoolApi('mainnet');
|
|
184
|
+
* const txHex = await api.getTxHex('abc123...');
|
|
185
|
+
* ```
|
|
186
|
+
*/
|
|
187
|
+
getTxHex(txid: string): Promise<string>;
|
|
174
188
|
/**
|
|
175
189
|
* Get the network this client is configured for
|
|
176
190
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mempool-api.d.ts","sourceRoot":"","sources":["../../src/services/mempool-api.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAErD;;GAEG;AACH,MAAM,WAAW,IAAI;IACnB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,MAAM,EAAE;QACN,SAAS,EAAE,OAAO,CAAC;QACnB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;IACF;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAIzD;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAI9D;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,MAAM,CAEtE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,MAAM,CAE9E;AAED;;GAEG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;gBAEtB,OAAO,EAAE,OAAO;IAK5B;;;;;;;;;;;;;OAaG;IACG,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAchD;;;;;;;;;;;;OAYG;IACG,eAAe,IAAI,OAAO,CAAC,YAAY,CAAC;IAc9C;;;;;;;;;;OAUG;IACG,WAAW,IAAI,OAAO,CAAC,QAAQ,CAAC;IAStC;;;;;;OAMG;IACG,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAKlD;;;;;;OAMG;IACG,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAO3D;;;;;;;;;;;;;OAaG;IACG,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAqB1D;;OAEG;IACH,UAAU,IAAI,OAAO;CAGtB;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,UAAU,CAE7D"}
|
|
1
|
+
{"version":3,"file":"mempool-api.d.ts","sourceRoot":"","sources":["../../src/services/mempool-api.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAErD;;GAEG;AACH,MAAM,WAAW,IAAI;IACnB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,MAAM,EAAE;QACN,SAAS,EAAE,OAAO,CAAC;QACnB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;IACF;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAIzD;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAI9D;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,MAAM,CAEtE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,MAAM,CAE9E;AAED;;GAEG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;gBAEtB,OAAO,EAAE,OAAO;IAK5B;;;;;;;;;;;;;OAaG;IACG,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAchD;;;;;;;;;;;;OAYG;IACG,eAAe,IAAI,OAAO,CAAC,YAAY,CAAC;IAc9C;;;;;;;;;;OAUG;IACG,WAAW,IAAI,OAAO,CAAC,QAAQ,CAAC;IAStC;;;;;;OAMG;IACG,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAKlD;;;;;;OAMG;IACG,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAO3D;;;;;;;;;;;;;OAaG;IACG,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAqB1D;;;;;;;;;;;;OAYG;IACG,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAc7C;;OAEG;IACH,UAAU,IAAI,OAAO;CAGtB;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,UAAU,CAE7D"}
|
|
@@ -163,6 +163,28 @@ export class MempoolApi {
|
|
|
163
163
|
const txid = await response.text();
|
|
164
164
|
return txid.trim();
|
|
165
165
|
}
|
|
166
|
+
/**
|
|
167
|
+
* Get raw transaction hex by txid
|
|
168
|
+
*
|
|
169
|
+
* @param txid - Transaction ID
|
|
170
|
+
* @returns Transaction as hex string
|
|
171
|
+
* @throws Error if API request fails
|
|
172
|
+
*
|
|
173
|
+
* @example
|
|
174
|
+
* ```typescript
|
|
175
|
+
* const api = new MempoolApi('mainnet');
|
|
176
|
+
* const txHex = await api.getTxHex('abc123...');
|
|
177
|
+
* ```
|
|
178
|
+
*/
|
|
179
|
+
async getTxHex(txid) {
|
|
180
|
+
const response = await fetch(`${this.baseUrl}/tx/${txid}/hex`);
|
|
181
|
+
if (!response.ok) {
|
|
182
|
+
const errorText = await response.text().catch(() => "Unknown error");
|
|
183
|
+
throw new Error(`Failed to fetch transaction hex for ${txid}: ${response.status} ${response.statusText} - ${errorText}`);
|
|
184
|
+
}
|
|
185
|
+
const txHex = await response.text();
|
|
186
|
+
return txHex.trim();
|
|
187
|
+
}
|
|
166
188
|
/**
|
|
167
189
|
* Get the network this client is configured for
|
|
168
190
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mempool-api.js","sourceRoot":"","sources":["../../src/services/mempool-api.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mempool-api.js","sourceRoot":"","sources":["../../src/services/mempool-api.ts"],"names":[],"mappings":"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"}
|