@aibtc/mcp-server 1.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/README.md +340 -0
- package/dist/api.d.ts +9 -0
- package/dist/api.d.ts.map +1 -0
- package/dist/api.js +79 -0
- package/dist/api.js.map +1 -0
- package/dist/config/contracts.d.ts +169 -0
- package/dist/config/contracts.d.ts.map +1 -0
- package/dist/config/contracts.js +250 -0
- package/dist/config/contracts.js.map +1 -0
- package/dist/config/index.d.ts +3 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +3 -0
- package/dist/config/index.js.map +1 -0
- package/dist/config/networks.d.ts +11 -0
- package/dist/config/networks.d.ts.map +1 -0
- package/dist/config/networks.js +21 -0
- package/dist/config/networks.js.map +1 -0
- package/dist/endpoints/index.d.ts +2 -0
- package/dist/endpoints/index.d.ts.map +1 -0
- package/dist/endpoints/index.js +2 -0
- package/dist/endpoints/index.js.map +1 -0
- package/dist/endpoints/registry.d.ts +38 -0
- package/dist/endpoints/registry.d.ts.map +1 -0
- package/dist/endpoints/registry.js +935 -0
- package/dist/endpoints/registry.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +79 -0
- package/dist/index.js.map +1 -0
- package/dist/services/bitflow.service.d.ts +159 -0
- package/dist/services/bitflow.service.d.ts.map +1 -0
- package/dist/services/bitflow.service.js +325 -0
- package/dist/services/bitflow.service.js.map +1 -0
- package/dist/services/bns.service.d.ts +87 -0
- package/dist/services/bns.service.d.ts.map +1 -0
- package/dist/services/bns.service.js +312 -0
- package/dist/services/bns.service.js.map +1 -0
- package/dist/services/defi.service.d.ts +146 -0
- package/dist/services/defi.service.d.ts.map +1 -0
- package/dist/services/defi.service.js +461 -0
- package/dist/services/defi.service.js.map +1 -0
- package/dist/services/hiro-api.d.ts +438 -0
- package/dist/services/hiro-api.d.ts.map +1 -0
- package/dist/services/hiro-api.js +376 -0
- package/dist/services/hiro-api.js.map +1 -0
- package/dist/services/nft.service.d.ts +70 -0
- package/dist/services/nft.service.d.ts.map +1 -0
- package/dist/services/nft.service.js +148 -0
- package/dist/services/nft.service.js.map +1 -0
- package/dist/services/sbtc.service.d.ts +44 -0
- package/dist/services/sbtc.service.d.ts.map +1 -0
- package/dist/services/sbtc.service.js +100 -0
- package/dist/services/sbtc.service.js.map +1 -0
- package/dist/services/scaffold.service.d.ts +41 -0
- package/dist/services/scaffold.service.d.ts.map +1 -0
- package/dist/services/scaffold.service.js +1055 -0
- package/dist/services/scaffold.service.js.map +1 -0
- package/dist/services/stacking.service.d.ts +58 -0
- package/dist/services/stacking.service.d.ts.map +1 -0
- package/dist/services/stacking.service.js +153 -0
- package/dist/services/stacking.service.js.map +1 -0
- package/dist/services/tokens.service.d.ts +62 -0
- package/dist/services/tokens.service.d.ts.map +1 -0
- package/dist/services/tokens.service.js +119 -0
- package/dist/services/tokens.service.js.map +1 -0
- package/dist/services/wallet-manager.d.ts +107 -0
- package/dist/services/wallet-manager.d.ts.map +1 -0
- package/dist/services/wallet-manager.js +389 -0
- package/dist/services/wallet-manager.js.map +1 -0
- package/dist/services/x402.service.d.ts +26 -0
- package/dist/services/x402.service.d.ts.map +1 -0
- package/dist/services/x402.service.js +125 -0
- package/dist/services/x402.service.js.map +1 -0
- package/dist/tools/bitflow.tools.d.ts +3 -0
- package/dist/tools/bitflow.tools.d.ts.map +1 -0
- package/dist/tools/bitflow.tools.js +501 -0
- package/dist/tools/bitflow.tools.js.map +1 -0
- package/dist/tools/bns.tools.d.ts +3 -0
- package/dist/tools/bns.tools.d.ts.map +1 -0
- package/dist/tools/bns.tools.js +164 -0
- package/dist/tools/bns.tools.js.map +1 -0
- package/dist/tools/contract.tools.d.ts +3 -0
- package/dist/tools/contract.tools.d.ts.map +1 -0
- package/dist/tools/contract.tools.js +126 -0
- package/dist/tools/contract.tools.js.map +1 -0
- package/dist/tools/defi.tools.d.ts +3 -0
- package/dist/tools/defi.tools.d.ts.map +1 -0
- package/dist/tools/defi.tools.js +425 -0
- package/dist/tools/defi.tools.js.map +1 -0
- package/dist/tools/endpoint.tools.d.ts +3 -0
- package/dist/tools/endpoint.tools.d.ts.map +1 -0
- package/dist/tools/endpoint.tools.js +157 -0
- package/dist/tools/endpoint.tools.js.map +1 -0
- package/dist/tools/index.d.ts +6 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +52 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/nft.tools.d.ts +3 -0
- package/dist/tools/nft.tools.d.ts.map +1 -0
- package/dist/tools/nft.tools.js +154 -0
- package/dist/tools/nft.tools.js.map +1 -0
- package/dist/tools/openrouter.tools.d.ts +3 -0
- package/dist/tools/openrouter.tools.d.ts.map +1 -0
- package/dist/tools/openrouter.tools.js +664 -0
- package/dist/tools/openrouter.tools.js.map +1 -0
- package/dist/tools/query.tools.d.ts +3 -0
- package/dist/tools/query.tools.d.ts.map +1 -0
- package/dist/tools/query.tools.js +209 -0
- package/dist/tools/query.tools.js.map +1 -0
- package/dist/tools/sbtc.tools.d.ts +3 -0
- package/dist/tools/sbtc.tools.d.ts.map +1 -0
- package/dist/tools/sbtc.tools.js +103 -0
- package/dist/tools/sbtc.tools.js.map +1 -0
- package/dist/tools/scaffold.tools.d.ts +3 -0
- package/dist/tools/scaffold.tools.d.ts.map +1 -0
- package/dist/tools/scaffold.tools.js +216 -0
- package/dist/tools/scaffold.tools.js.map +1 -0
- package/dist/tools/stacking.tools.d.ts +3 -0
- package/dist/tools/stacking.tools.d.ts.map +1 -0
- package/dist/tools/stacking.tools.js +112 -0
- package/dist/tools/stacking.tools.js.map +1 -0
- package/dist/tools/tokens.tools.d.ts +3 -0
- package/dist/tools/tokens.tools.d.ts.map +1 -0
- package/dist/tools/tokens.tools.js +154 -0
- package/dist/tools/tokens.tools.js.map +1 -0
- package/dist/tools/transfer.tools.d.ts +3 -0
- package/dist/tools/transfer.tools.d.ts.map +1 -0
- package/dist/tools/transfer.tools.js +62 -0
- package/dist/tools/transfer.tools.js.map +1 -0
- package/dist/tools/wallet-management.tools.d.ts +6 -0
- package/dist/tools/wallet-management.tools.d.ts.map +1 -0
- package/dist/tools/wallet-management.tools.js +390 -0
- package/dist/tools/wallet-management.tools.js.map +1 -0
- package/dist/tools/wallet.tools.d.ts +3 -0
- package/dist/tools/wallet.tools.d.ts.map +1 -0
- package/dist/tools/wallet.tools.js +105 -0
- package/dist/tools/wallet.tools.js.map +1 -0
- package/dist/transactions/builder.d.ts +56 -0
- package/dist/transactions/builder.d.ts.map +1 -0
- package/dist/transactions/builder.js +134 -0
- package/dist/transactions/builder.js.map +1 -0
- package/dist/transactions/clarity-values.d.ts +67 -0
- package/dist/transactions/clarity-values.d.ts.map +1 -0
- package/dist/transactions/clarity-values.js +169 -0
- package/dist/transactions/clarity-values.js.map +1 -0
- package/dist/transactions/post-conditions.d.ts +27 -0
- package/dist/transactions/post-conditions.d.ts.map +1 -0
- package/dist/transactions/post-conditions.js +101 -0
- package/dist/transactions/post-conditions.js.map +1 -0
- package/dist/utils/encryption.d.ts +33 -0
- package/dist/utils/encryption.d.ts.map +1 -0
- package/dist/utils/encryption.js +110 -0
- package/dist/utils/encryption.js.map +1 -0
- package/dist/utils/errors.d.ts +84 -0
- package/dist/utils/errors.d.ts.map +1 -0
- package/dist/utils/errors.js +132 -0
- package/dist/utils/errors.js.map +1 -0
- package/dist/utils/formatting.d.ts +51 -0
- package/dist/utils/formatting.d.ts.map +1 -0
- package/dist/utils/formatting.js +114 -0
- package/dist/utils/formatting.js.map +1 -0
- package/dist/utils/index.d.ts +6 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +6 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/storage.d.ts +90 -0
- package/dist/utils/storage.d.ts.map +1 -0
- package/dist/utils/storage.js +196 -0
- package/dist/utils/storage.js.map +1 -0
- package/dist/utils/validation.d.ts +67 -0
- package/dist/utils/validation.d.ts.map +1 -0
- package/dist/utils/validation.js +74 -0
- package/dist/utils/validation.js.map +1 -0
- package/dist/wallet.d.ts +86 -0
- package/dist/wallet.d.ts.map +1 -0
- package/dist/wallet.js +279 -0
- package/dist/wallet.js.map +1 -0
- package/package.json +58 -0
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
import fs from "fs/promises";
|
|
2
|
+
import { existsSync, renameSync } from "fs";
|
|
3
|
+
import path from "path";
|
|
4
|
+
import os from "os";
|
|
5
|
+
/**
|
|
6
|
+
* Storage directory location
|
|
7
|
+
* Migrated from ~/.stx402/ to ~/.aibtc/ in v1.0.0
|
|
8
|
+
*/
|
|
9
|
+
const OLD_STORAGE_DIR = path.join(os.homedir(), ".stx402");
|
|
10
|
+
const STORAGE_DIR = path.join(os.homedir(), ".aibtc");
|
|
11
|
+
const WALLETS_DIR = path.join(STORAGE_DIR, "wallets");
|
|
12
|
+
const WALLET_INDEX_FILE = path.join(STORAGE_DIR, "wallets.json");
|
|
13
|
+
const CONFIG_FILE = path.join(STORAGE_DIR, "config.json");
|
|
14
|
+
/**
|
|
15
|
+
* Migrate storage from ~/.stx402/ to ~/.aibtc/ (one-time migration)
|
|
16
|
+
*/
|
|
17
|
+
function migrateStorageDirectory() {
|
|
18
|
+
if (existsSync(OLD_STORAGE_DIR) && !existsSync(STORAGE_DIR)) {
|
|
19
|
+
try {
|
|
20
|
+
renameSync(OLD_STORAGE_DIR, STORAGE_DIR);
|
|
21
|
+
console.error(`Migrated wallet storage from ${OLD_STORAGE_DIR} to ${STORAGE_DIR}`);
|
|
22
|
+
}
|
|
23
|
+
catch (error) {
|
|
24
|
+
console.error(`Failed to migrate storage directory: ${error}`);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
// Run migration on module load
|
|
29
|
+
migrateStorageDirectory();
|
|
30
|
+
const CURRENT_INDEX_VERSION = 1;
|
|
31
|
+
const CURRENT_CONFIG_VERSION = 1;
|
|
32
|
+
/**
|
|
33
|
+
* Get storage directory path
|
|
34
|
+
*/
|
|
35
|
+
export function getStorageDir() {
|
|
36
|
+
return STORAGE_DIR;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Check if storage directory exists
|
|
40
|
+
*/
|
|
41
|
+
export async function storageExists() {
|
|
42
|
+
try {
|
|
43
|
+
await fs.access(STORAGE_DIR);
|
|
44
|
+
return true;
|
|
45
|
+
}
|
|
46
|
+
catch {
|
|
47
|
+
return false;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Initialize storage directory structure
|
|
52
|
+
*/
|
|
53
|
+
export async function initializeStorage() {
|
|
54
|
+
// Create directories
|
|
55
|
+
await fs.mkdir(WALLETS_DIR, { recursive: true, mode: 0o700 });
|
|
56
|
+
// Create wallet index if it doesn't exist
|
|
57
|
+
try {
|
|
58
|
+
await fs.access(WALLET_INDEX_FILE);
|
|
59
|
+
}
|
|
60
|
+
catch {
|
|
61
|
+
const defaultIndex = {
|
|
62
|
+
version: CURRENT_INDEX_VERSION,
|
|
63
|
+
wallets: [],
|
|
64
|
+
};
|
|
65
|
+
await writeWalletIndex(defaultIndex);
|
|
66
|
+
}
|
|
67
|
+
// Create config if it doesn't exist
|
|
68
|
+
try {
|
|
69
|
+
await fs.access(CONFIG_FILE);
|
|
70
|
+
}
|
|
71
|
+
catch {
|
|
72
|
+
const defaultConfig = {
|
|
73
|
+
version: CURRENT_CONFIG_VERSION,
|
|
74
|
+
activeWalletId: null,
|
|
75
|
+
autoLockTimeout: 15, // 15 minutes default
|
|
76
|
+
};
|
|
77
|
+
await writeAppConfig(defaultConfig);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Read wallet index
|
|
82
|
+
*/
|
|
83
|
+
export async function readWalletIndex() {
|
|
84
|
+
try {
|
|
85
|
+
const content = await fs.readFile(WALLET_INDEX_FILE, "utf8");
|
|
86
|
+
return JSON.parse(content);
|
|
87
|
+
}
|
|
88
|
+
catch {
|
|
89
|
+
return {
|
|
90
|
+
version: CURRENT_INDEX_VERSION,
|
|
91
|
+
wallets: [],
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Write wallet index (atomic write with temp file)
|
|
97
|
+
*/
|
|
98
|
+
export async function writeWalletIndex(index) {
|
|
99
|
+
const tempFile = `${WALLET_INDEX_FILE}.tmp`;
|
|
100
|
+
await fs.writeFile(tempFile, JSON.stringify(index, null, 2), {
|
|
101
|
+
mode: 0o600,
|
|
102
|
+
});
|
|
103
|
+
await fs.rename(tempFile, WALLET_INDEX_FILE);
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Read app config
|
|
107
|
+
*/
|
|
108
|
+
export async function readAppConfig() {
|
|
109
|
+
try {
|
|
110
|
+
const content = await fs.readFile(CONFIG_FILE, "utf8");
|
|
111
|
+
return JSON.parse(content);
|
|
112
|
+
}
|
|
113
|
+
catch {
|
|
114
|
+
return {
|
|
115
|
+
version: CURRENT_CONFIG_VERSION,
|
|
116
|
+
activeWalletId: null,
|
|
117
|
+
autoLockTimeout: 15,
|
|
118
|
+
};
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Write app config (atomic write)
|
|
123
|
+
*/
|
|
124
|
+
export async function writeAppConfig(config) {
|
|
125
|
+
const tempFile = `${CONFIG_FILE}.tmp`;
|
|
126
|
+
await fs.writeFile(tempFile, JSON.stringify(config, null, 2), {
|
|
127
|
+
mode: 0o600,
|
|
128
|
+
});
|
|
129
|
+
await fs.rename(tempFile, CONFIG_FILE);
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Get keystore file path for a wallet
|
|
133
|
+
*/
|
|
134
|
+
function getKeystorePath(walletId) {
|
|
135
|
+
return path.join(WALLETS_DIR, walletId, "keystore.json");
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Read keystore for a wallet
|
|
139
|
+
*/
|
|
140
|
+
export async function readKeystore(walletId) {
|
|
141
|
+
const keystorePath = getKeystorePath(walletId);
|
|
142
|
+
const content = await fs.readFile(keystorePath, "utf8");
|
|
143
|
+
return JSON.parse(content);
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Write keystore for a wallet (creates directory if needed)
|
|
147
|
+
*/
|
|
148
|
+
export async function writeKeystore(walletId, keystore) {
|
|
149
|
+
const walletDir = path.join(WALLETS_DIR, walletId);
|
|
150
|
+
await fs.mkdir(walletDir, { recursive: true, mode: 0o700 });
|
|
151
|
+
const keystorePath = getKeystorePath(walletId);
|
|
152
|
+
const tempFile = `${keystorePath}.tmp`;
|
|
153
|
+
await fs.writeFile(tempFile, JSON.stringify(keystore, null, 2), {
|
|
154
|
+
mode: 0o600,
|
|
155
|
+
});
|
|
156
|
+
await fs.rename(tempFile, keystorePath);
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* Delete a wallet directory and its contents
|
|
160
|
+
*/
|
|
161
|
+
export async function deleteWalletStorage(walletId) {
|
|
162
|
+
const walletDir = path.join(WALLETS_DIR, walletId);
|
|
163
|
+
await fs.rm(walletDir, { recursive: true, force: true });
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* Update wallet metadata in index
|
|
167
|
+
*/
|
|
168
|
+
export async function updateWalletMetadata(walletId, updates) {
|
|
169
|
+
const index = await readWalletIndex();
|
|
170
|
+
const walletIndex = index.wallets.findIndex((w) => w.id === walletId);
|
|
171
|
+
if (walletIndex === -1) {
|
|
172
|
+
throw new Error(`Wallet not found: ${walletId}`);
|
|
173
|
+
}
|
|
174
|
+
index.wallets[walletIndex] = {
|
|
175
|
+
...index.wallets[walletIndex],
|
|
176
|
+
...updates,
|
|
177
|
+
};
|
|
178
|
+
await writeWalletIndex(index);
|
|
179
|
+
}
|
|
180
|
+
/**
|
|
181
|
+
* Add wallet to index
|
|
182
|
+
*/
|
|
183
|
+
export async function addWalletToIndex(wallet) {
|
|
184
|
+
const index = await readWalletIndex();
|
|
185
|
+
index.wallets.push(wallet);
|
|
186
|
+
await writeWalletIndex(index);
|
|
187
|
+
}
|
|
188
|
+
/**
|
|
189
|
+
* Remove wallet from index
|
|
190
|
+
*/
|
|
191
|
+
export async function removeWalletFromIndex(walletId) {
|
|
192
|
+
const index = await readWalletIndex();
|
|
193
|
+
index.wallets = index.wallets.filter((w) => w.id !== walletId);
|
|
194
|
+
await writeWalletIndex(index);
|
|
195
|
+
}
|
|
196
|
+
//# sourceMappingURL=storage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"storage.js","sourceRoot":"","sources":["../../src/utils/storage.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
/**
|
|
3
|
+
* Validate a Stacks address
|
|
4
|
+
*/
|
|
5
|
+
export declare function isValidStacksAddress(address: string): boolean;
|
|
6
|
+
/**
|
|
7
|
+
* Validate a contract ID
|
|
8
|
+
*/
|
|
9
|
+
export declare function isValidContractId(contractId: string): boolean;
|
|
10
|
+
/**
|
|
11
|
+
* Validate a transaction ID
|
|
12
|
+
*/
|
|
13
|
+
export declare function isValidTxId(txid: string): boolean;
|
|
14
|
+
/**
|
|
15
|
+
* Zod schema for Stacks address
|
|
16
|
+
*/
|
|
17
|
+
export declare const stacksAddressSchema: z.ZodString;
|
|
18
|
+
/**
|
|
19
|
+
* Zod schema for contract ID
|
|
20
|
+
*/
|
|
21
|
+
export declare const contractIdSchema: z.ZodString;
|
|
22
|
+
/**
|
|
23
|
+
* Zod schema for transaction ID
|
|
24
|
+
*/
|
|
25
|
+
export declare const txIdSchema: z.ZodString;
|
|
26
|
+
/**
|
|
27
|
+
* Zod schema for STX amount (micro-STX as string)
|
|
28
|
+
*/
|
|
29
|
+
export declare const stxAmountSchema: z.ZodString;
|
|
30
|
+
/**
|
|
31
|
+
* Zod schema for network
|
|
32
|
+
*/
|
|
33
|
+
export declare const networkSchema: z.ZodEnum<{
|
|
34
|
+
mainnet: "mainnet";
|
|
35
|
+
testnet: "testnet";
|
|
36
|
+
}>;
|
|
37
|
+
/**
|
|
38
|
+
* Zod schema for HTTP method
|
|
39
|
+
*/
|
|
40
|
+
export declare const httpMethodSchema: z.ZodEnum<{
|
|
41
|
+
POST: "POST";
|
|
42
|
+
GET: "GET";
|
|
43
|
+
DELETE: "DELETE";
|
|
44
|
+
PUT: "PUT";
|
|
45
|
+
}>;
|
|
46
|
+
/**
|
|
47
|
+
* Zod schema for post condition mode
|
|
48
|
+
*/
|
|
49
|
+
export declare const postConditionModeSchema: z.ZodEnum<{
|
|
50
|
+
allow: "allow";
|
|
51
|
+
deny: "deny";
|
|
52
|
+
}>;
|
|
53
|
+
/**
|
|
54
|
+
* Common input schemas for tools
|
|
55
|
+
*/
|
|
56
|
+
export declare const commonSchemas: {
|
|
57
|
+
address: z.ZodString;
|
|
58
|
+
optionalAddress: z.ZodOptional<z.ZodString>;
|
|
59
|
+
contractId: z.ZodString;
|
|
60
|
+
txid: z.ZodString;
|
|
61
|
+
amount: z.ZodString;
|
|
62
|
+
tokenAmount: z.ZodString;
|
|
63
|
+
memo: z.ZodOptional<z.ZodString>;
|
|
64
|
+
limit: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
65
|
+
offset: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
66
|
+
};
|
|
67
|
+
//# sourceMappingURL=validation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/utils/validation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAiBxB;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAE7D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAE7D;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEjD;AAED;;GAEG;AACH,eAAO,MAAM,mBAAmB,aAG/B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,aAG5B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,UAAU,aAGtB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,aAG3B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,aAAa;;;EAAiC,CAAC;AAE5D;;GAEG;AACH,eAAO,MAAM,gBAAgB;;;;;EAA2C,CAAC;AAEzE;;GAEG;AACH,eAAO,MAAM,uBAAuB;;;EAA4B,CAAC;AAEjE;;GAEG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;CAUzB,CAAC"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
/**
|
|
3
|
+
* Stacks address validation regex
|
|
4
|
+
*/
|
|
5
|
+
const STACKS_ADDRESS_REGEX = /^S[PM][A-Z0-9]{38,}$/;
|
|
6
|
+
/**
|
|
7
|
+
* Contract ID validation regex (address.contract-name)
|
|
8
|
+
*/
|
|
9
|
+
const CONTRACT_ID_REGEX = /^S[PM][A-Z0-9]{38,}\.[a-zA-Z][a-zA-Z0-9-]*$/;
|
|
10
|
+
/**
|
|
11
|
+
* Transaction ID validation regex (64 hex chars)
|
|
12
|
+
*/
|
|
13
|
+
const TXID_REGEX = /^(0x)?[a-fA-F0-9]{64}$/;
|
|
14
|
+
/**
|
|
15
|
+
* Validate a Stacks address
|
|
16
|
+
*/
|
|
17
|
+
export function isValidStacksAddress(address) {
|
|
18
|
+
return STACKS_ADDRESS_REGEX.test(address);
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Validate a contract ID
|
|
22
|
+
*/
|
|
23
|
+
export function isValidContractId(contractId) {
|
|
24
|
+
return CONTRACT_ID_REGEX.test(contractId);
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Validate a transaction ID
|
|
28
|
+
*/
|
|
29
|
+
export function isValidTxId(txid) {
|
|
30
|
+
return TXID_REGEX.test(txid);
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Zod schema for Stacks address
|
|
34
|
+
*/
|
|
35
|
+
export const stacksAddressSchema = z.string().refine((val) => isValidStacksAddress(val), { message: "Invalid Stacks address. Must start with SP (mainnet) or ST (testnet)" });
|
|
36
|
+
/**
|
|
37
|
+
* Zod schema for contract ID
|
|
38
|
+
*/
|
|
39
|
+
export const contractIdSchema = z.string().refine((val) => isValidContractId(val), { message: "Invalid contract ID. Must be in format: address.contract-name" });
|
|
40
|
+
/**
|
|
41
|
+
* Zod schema for transaction ID
|
|
42
|
+
*/
|
|
43
|
+
export const txIdSchema = z.string().refine((val) => isValidTxId(val), { message: "Invalid transaction ID. Must be 64 hex characters" });
|
|
44
|
+
/**
|
|
45
|
+
* Zod schema for STX amount (micro-STX as string)
|
|
46
|
+
*/
|
|
47
|
+
export const stxAmountSchema = z.string().refine((val) => /^\d+$/.test(val), { message: "Amount must be a positive integer string (micro-STX)" });
|
|
48
|
+
/**
|
|
49
|
+
* Zod schema for network
|
|
50
|
+
*/
|
|
51
|
+
export const networkSchema = z.enum(["mainnet", "testnet"]);
|
|
52
|
+
/**
|
|
53
|
+
* Zod schema for HTTP method
|
|
54
|
+
*/
|
|
55
|
+
export const httpMethodSchema = z.enum(["GET", "POST", "PUT", "DELETE"]);
|
|
56
|
+
/**
|
|
57
|
+
* Zod schema for post condition mode
|
|
58
|
+
*/
|
|
59
|
+
export const postConditionModeSchema = z.enum(["allow", "deny"]);
|
|
60
|
+
/**
|
|
61
|
+
* Common input schemas for tools
|
|
62
|
+
*/
|
|
63
|
+
export const commonSchemas = {
|
|
64
|
+
address: z.string().describe("Stacks address (starts with SP or ST)"),
|
|
65
|
+
optionalAddress: z.string().optional().describe("Optional Stacks address"),
|
|
66
|
+
contractId: z.string().describe("Contract ID in format: address.contract-name"),
|
|
67
|
+
txid: z.string().describe("Transaction ID (64 character hex string)"),
|
|
68
|
+
amount: z.string().describe("Amount in micro-STX (1 STX = 1,000,000 micro-STX)"),
|
|
69
|
+
tokenAmount: z.string().describe("Token amount in smallest unit"),
|
|
70
|
+
memo: z.string().optional().describe("Optional memo message"),
|
|
71
|
+
limit: z.number().optional().default(20).describe("Maximum number of results"),
|
|
72
|
+
offset: z.number().optional().default(0).describe("Offset for pagination"),
|
|
73
|
+
};
|
|
74
|
+
//# sourceMappingURL=validation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/utils/validation.ts"],"names":[],"mappings":"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"}
|
package/dist/wallet.d.ts
ADDED
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { PostConditionMode, ClarityValue } from "@stacks/transactions";
|
|
2
|
+
import { StacksNetworkName } from "@stacks/network";
|
|
3
|
+
export type Network = "mainnet" | "testnet";
|
|
4
|
+
export interface Account {
|
|
5
|
+
address: string;
|
|
6
|
+
privateKey: string;
|
|
7
|
+
network: Network;
|
|
8
|
+
}
|
|
9
|
+
export interface TransferResult {
|
|
10
|
+
txid: string;
|
|
11
|
+
rawTx: string;
|
|
12
|
+
}
|
|
13
|
+
export interface ContractCallOptions {
|
|
14
|
+
contractAddress: string;
|
|
15
|
+
contractName: string;
|
|
16
|
+
functionName: string;
|
|
17
|
+
functionArgs: ClarityValue[];
|
|
18
|
+
postConditionMode?: PostConditionMode;
|
|
19
|
+
}
|
|
20
|
+
export interface ContractDeployOptions {
|
|
21
|
+
contractName: string;
|
|
22
|
+
codeBody: string;
|
|
23
|
+
}
|
|
24
|
+
export declare function mnemonicToAccount(mnemonic: string, network: Network): Promise<Account>;
|
|
25
|
+
export declare function getStacksNetwork(network: Network): StacksNetworkName;
|
|
26
|
+
export declare function getApiBaseUrl(network: Network): string;
|
|
27
|
+
/**
|
|
28
|
+
* Get account info including nonce and balance from the Stacks API
|
|
29
|
+
*/
|
|
30
|
+
export declare function getAccountInfo(address: string, network: Network): Promise<{
|
|
31
|
+
nonce: number;
|
|
32
|
+
balance: string;
|
|
33
|
+
}>;
|
|
34
|
+
/**
|
|
35
|
+
* Get STX balance for an address
|
|
36
|
+
*/
|
|
37
|
+
export declare function getStxBalance(address: string, network: Network): Promise<{
|
|
38
|
+
stx: string;
|
|
39
|
+
stxLocked: string;
|
|
40
|
+
}>;
|
|
41
|
+
/**
|
|
42
|
+
* Transfer STX tokens to a recipient
|
|
43
|
+
*/
|
|
44
|
+
export declare function transferStx(account: Account, recipient: string, amount: bigint, memo?: string): Promise<TransferResult>;
|
|
45
|
+
/**
|
|
46
|
+
* Call a smart contract function
|
|
47
|
+
*/
|
|
48
|
+
export declare function callContract(account: Account, options: ContractCallOptions): Promise<TransferResult>;
|
|
49
|
+
/**
|
|
50
|
+
* Deploy a smart contract
|
|
51
|
+
*/
|
|
52
|
+
export declare function deployContract(account: Account, options: ContractDeployOptions): Promise<TransferResult>;
|
|
53
|
+
/**
|
|
54
|
+
* Sign a transaction without broadcasting (for offline signing)
|
|
55
|
+
*/
|
|
56
|
+
export declare function signStxTransfer(account: Account, recipient: string, amount: bigint, memo?: string): Promise<{
|
|
57
|
+
signedTx: string;
|
|
58
|
+
txid: string;
|
|
59
|
+
}>;
|
|
60
|
+
/**
|
|
61
|
+
* Sign a contract call without broadcasting
|
|
62
|
+
*/
|
|
63
|
+
export declare function signContractCall(account: Account, options: ContractCallOptions): Promise<{
|
|
64
|
+
signedTx: string;
|
|
65
|
+
txid: string;
|
|
66
|
+
}>;
|
|
67
|
+
/**
|
|
68
|
+
* Broadcast a pre-signed transaction
|
|
69
|
+
*/
|
|
70
|
+
export declare function broadcastSignedTransaction(signedTx: string, network: Network): Promise<{
|
|
71
|
+
txid: string;
|
|
72
|
+
}>;
|
|
73
|
+
/**
|
|
74
|
+
* Get transaction status
|
|
75
|
+
*/
|
|
76
|
+
export declare function getTransactionStatus(txid: string, network: Network): Promise<{
|
|
77
|
+
status: string;
|
|
78
|
+
block_height?: number;
|
|
79
|
+
tx_result?: unknown;
|
|
80
|
+
}>;
|
|
81
|
+
/**
|
|
82
|
+
* Parse a JSON argument into a ClarityValue
|
|
83
|
+
* Supports: string, number, boolean, principal, buffer, list, tuple, optional
|
|
84
|
+
*/
|
|
85
|
+
export declare function parseArgToClarityValue(arg: unknown): ClarityValue;
|
|
86
|
+
//# sourceMappingURL=wallet.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wallet.d.ts","sourceRoot":"","sources":["../src/wallet.ts"],"names":[],"mappings":"AACA,OAAO,EAKL,iBAAiB,EACjB,YAAY,EAYb,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEpD,MAAM,MAAM,OAAO,GAAG,SAAS,GAAG,SAAS,CAAC;AAE5C,MAAM,WAAW,OAAO;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,mBAAmB;IAClC,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,YAAY,EAAE,CAAC;IAC7B,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;CACvC;AAED,MAAM,WAAW,qBAAqB;IACpC,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,OAAO,CAAC,CAclB;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,iBAAiB,CAEpE;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAItD;AAED;;GAEG;AACH,wBAAsB,cAAc,CAClC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,OAAO,GACf,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAa7C;AAED;;GAEG;AACH,wBAAsB,aAAa,CACjC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,OAAO,GACf,OAAO,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC,CAa7C;AAED;;GAEG;AACH,wBAAsB,WAAW,CAC/B,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,cAAc,CAAC,CA0BzB;AAED;;GAEG;AACH,wBAAsB,YAAY,CAChC,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,cAAc,CAAC,CA4BzB;AAED;;GAEG;AACH,wBAAsB,cAAc,CAClC,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,cAAc,CAAC,CAyBzB;AAED;;GAEG;AACH,wBAAsB,eAAe,CACnC,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAe7C;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAiB7C;AAED;;GAEG;AACH,wBAAsB,0BAA0B,CAC9C,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,OAAO,GACf,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAmB3B;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,OAAO,GACf,OAAO,CAAC;IACT,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC,CAiBD;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,OAAO,GAAG,YAAY,CAuFjE"}
|