@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,134 @@
|
|
|
1
|
+
import { makeSTXTokenTransfer, makeContractCall, makeContractDeploy, broadcastTransaction, PostConditionMode, } from "@stacks/transactions";
|
|
2
|
+
import { getStacksNetwork, getApiBaseUrl } from "../config/networks.js";
|
|
3
|
+
/**
|
|
4
|
+
* Transfer STX tokens to a recipient
|
|
5
|
+
*/
|
|
6
|
+
export async function transferStx(account, recipient, amount, memo) {
|
|
7
|
+
const networkName = getStacksNetwork(account.network);
|
|
8
|
+
const transaction = await makeSTXTokenTransfer({
|
|
9
|
+
recipient,
|
|
10
|
+
amount,
|
|
11
|
+
senderKey: account.privateKey,
|
|
12
|
+
network: networkName,
|
|
13
|
+
memo: memo || "",
|
|
14
|
+
});
|
|
15
|
+
const broadcastResponse = await broadcastTransaction({
|
|
16
|
+
transaction,
|
|
17
|
+
network: networkName,
|
|
18
|
+
});
|
|
19
|
+
if ("error" in broadcastResponse) {
|
|
20
|
+
throw new Error(`Broadcast failed: ${broadcastResponse.error} - ${broadcastResponse.reason}`);
|
|
21
|
+
}
|
|
22
|
+
return {
|
|
23
|
+
txid: broadcastResponse.txid,
|
|
24
|
+
rawTx: Buffer.from(transaction.serialize()).toString("hex"),
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Call a smart contract function
|
|
29
|
+
*/
|
|
30
|
+
export async function callContract(account, options) {
|
|
31
|
+
const networkName = getStacksNetwork(account.network);
|
|
32
|
+
const transaction = await makeContractCall({
|
|
33
|
+
contractAddress: options.contractAddress,
|
|
34
|
+
contractName: options.contractName,
|
|
35
|
+
functionName: options.functionName,
|
|
36
|
+
functionArgs: options.functionArgs,
|
|
37
|
+
senderKey: account.privateKey,
|
|
38
|
+
network: networkName,
|
|
39
|
+
postConditionMode: options.postConditionMode || PostConditionMode.Deny,
|
|
40
|
+
postConditions: options.postConditions || [],
|
|
41
|
+
});
|
|
42
|
+
const broadcastResponse = await broadcastTransaction({
|
|
43
|
+
transaction,
|
|
44
|
+
network: networkName,
|
|
45
|
+
});
|
|
46
|
+
if ("error" in broadcastResponse) {
|
|
47
|
+
throw new Error(`Broadcast failed: ${broadcastResponse.error} - ${broadcastResponse.reason}`);
|
|
48
|
+
}
|
|
49
|
+
return {
|
|
50
|
+
txid: broadcastResponse.txid,
|
|
51
|
+
rawTx: Buffer.from(transaction.serialize()).toString("hex"),
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Deploy a smart contract
|
|
56
|
+
*/
|
|
57
|
+
export async function deployContract(account, options) {
|
|
58
|
+
const networkName = getStacksNetwork(account.network);
|
|
59
|
+
const transaction = await makeContractDeploy({
|
|
60
|
+
contractName: options.contractName,
|
|
61
|
+
codeBody: options.codeBody,
|
|
62
|
+
senderKey: account.privateKey,
|
|
63
|
+
network: networkName,
|
|
64
|
+
});
|
|
65
|
+
const broadcastResponse = await broadcastTransaction({
|
|
66
|
+
transaction,
|
|
67
|
+
network: networkName,
|
|
68
|
+
});
|
|
69
|
+
if ("error" in broadcastResponse) {
|
|
70
|
+
throw new Error(`Broadcast failed: ${broadcastResponse.error} - ${broadcastResponse.reason}`);
|
|
71
|
+
}
|
|
72
|
+
return {
|
|
73
|
+
txid: broadcastResponse.txid,
|
|
74
|
+
rawTx: Buffer.from(transaction.serialize()).toString("hex"),
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Sign a transaction without broadcasting (for offline signing)
|
|
79
|
+
*/
|
|
80
|
+
export async function signStxTransfer(account, recipient, amount, memo) {
|
|
81
|
+
const networkName = getStacksNetwork(account.network);
|
|
82
|
+
const transaction = await makeSTXTokenTransfer({
|
|
83
|
+
recipient,
|
|
84
|
+
amount,
|
|
85
|
+
senderKey: account.privateKey,
|
|
86
|
+
network: networkName,
|
|
87
|
+
memo: memo || "",
|
|
88
|
+
});
|
|
89
|
+
return {
|
|
90
|
+
signedTx: Buffer.from(transaction.serialize()).toString("hex"),
|
|
91
|
+
txid: transaction.txid(),
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Sign a contract call without broadcasting
|
|
96
|
+
*/
|
|
97
|
+
export async function signContractCall(account, options) {
|
|
98
|
+
const networkName = getStacksNetwork(account.network);
|
|
99
|
+
const transaction = await makeContractCall({
|
|
100
|
+
contractAddress: options.contractAddress,
|
|
101
|
+
contractName: options.contractName,
|
|
102
|
+
functionName: options.functionName,
|
|
103
|
+
functionArgs: options.functionArgs,
|
|
104
|
+
senderKey: account.privateKey,
|
|
105
|
+
network: networkName,
|
|
106
|
+
postConditionMode: options.postConditionMode || PostConditionMode.Deny,
|
|
107
|
+
postConditions: options.postConditions || [],
|
|
108
|
+
});
|
|
109
|
+
return {
|
|
110
|
+
signedTx: Buffer.from(transaction.serialize()).toString("hex"),
|
|
111
|
+
txid: transaction.txid(),
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Broadcast a pre-signed transaction
|
|
116
|
+
*/
|
|
117
|
+
export async function broadcastSignedTransaction(signedTx, network) {
|
|
118
|
+
const baseUrl = getApiBaseUrl(network);
|
|
119
|
+
const txBuffer = Buffer.from(signedTx, "hex");
|
|
120
|
+
const response = await fetch(`${baseUrl}/v2/transactions`, {
|
|
121
|
+
method: "POST",
|
|
122
|
+
headers: {
|
|
123
|
+
"Content-Type": "application/octet-stream",
|
|
124
|
+
},
|
|
125
|
+
body: txBuffer,
|
|
126
|
+
});
|
|
127
|
+
if (!response.ok) {
|
|
128
|
+
const errorText = await response.text();
|
|
129
|
+
throw new Error(`Broadcast failed: ${response.statusText} - ${errorText}`);
|
|
130
|
+
}
|
|
131
|
+
const txid = await response.text();
|
|
132
|
+
return { txid: txid.replace(/"/g, "") };
|
|
133
|
+
}
|
|
134
|
+
//# sourceMappingURL=builder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"builder.js","sourceRoot":"","sources":["../../src/transactions/builder.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,EAEpB,iBAAiB,GAElB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAgB,MAAM,uBAAuB,CAAC;AA2BtF;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,OAAgB,EAChB,SAAiB,EACjB,MAAc,EACd,IAAa;IAEb,MAAM,WAAW,GAAG,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAEtD,MAAM,WAAW,GAAG,MAAM,oBAAoB,CAAC;QAC7C,SAAS;QACT,MAAM;QACN,SAAS,EAAE,OAAO,CAAC,UAAU;QAC7B,OAAO,EAAE,WAAW;QACpB,IAAI,EAAE,IAAI,IAAI,EAAE;KACjB,CAAC,CAAC;IAEH,MAAM,iBAAiB,GAAG,MAAM,oBAAoB,CAAC;QACnD,WAAW;QACX,OAAO,EAAE,WAAW;KACrB,CAAC,CAAC;IAEH,IAAI,OAAO,IAAI,iBAAiB,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CACb,qBAAqB,iBAAiB,CAAC,KAAK,MAAM,iBAAiB,CAAC,MAAM,EAAE,CAC7E,CAAC;IACJ,CAAC;IAED,OAAO;QACL,IAAI,EAAE,iBAAiB,CAAC,IAAI;QAC5B,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;KAC5D,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,OAAgB,EAChB,OAA4B;IAE5B,MAAM,WAAW,GAAG,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAEtD,MAAM,WAAW,GAAG,MAAM,gBAAgB,CAAC;QACzC,eAAe,EAAE,OAAO,CAAC,eAAe;QACxC,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,SAAS,EAAE,OAAO,CAAC,UAAU;QAC7B,OAAO,EAAE,WAAW;QACpB,iBAAiB,EAAE,OAAO,CAAC,iBAAiB,IAAI,iBAAiB,CAAC,IAAI;QACtE,cAAc,EAAE,OAAO,CAAC,cAAc,IAAI,EAAE;KAC7C,CAAC,CAAC;IAEH,MAAM,iBAAiB,GAAG,MAAM,oBAAoB,CAAC;QACnD,WAAW;QACX,OAAO,EAAE,WAAW;KACrB,CAAC,CAAC;IAEH,IAAI,OAAO,IAAI,iBAAiB,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CACb,qBAAqB,iBAAiB,CAAC,KAAK,MAAM,iBAAiB,CAAC,MAAM,EAAE,CAC7E,CAAC;IACJ,CAAC;IAED,OAAO;QACL,IAAI,EAAE,iBAAiB,CAAC,IAAI;QAC5B,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;KAC5D,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,OAAgB,EAChB,OAA8B;IAE9B,MAAM,WAAW,GAAG,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAEtD,MAAM,WAAW,GAAG,MAAM,kBAAkB,CAAC;QAC3C,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,SAAS,EAAE,OAAO,CAAC,UAAU;QAC7B,OAAO,EAAE,WAAW;KACrB,CAAC,CAAC;IAEH,MAAM,iBAAiB,GAAG,MAAM,oBAAoB,CAAC;QACnD,WAAW;QACX,OAAO,EAAE,WAAW;KACrB,CAAC,CAAC;IAEH,IAAI,OAAO,IAAI,iBAAiB,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CACb,qBAAqB,iBAAiB,CAAC,KAAK,MAAM,iBAAiB,CAAC,MAAM,EAAE,CAC7E,CAAC;IACJ,CAAC;IAED,OAAO;QACL,IAAI,EAAE,iBAAiB,CAAC,IAAI;QAC5B,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;KAC5D,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,OAAgB,EAChB,SAAiB,EACjB,MAAc,EACd,IAAa;IAEb,MAAM,WAAW,GAAG,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAEtD,MAAM,WAAW,GAAG,MAAM,oBAAoB,CAAC;QAC7C,SAAS;QACT,MAAM;QACN,SAAS,EAAE,OAAO,CAAC,UAAU;QAC7B,OAAO,EAAE,WAAW;QACpB,IAAI,EAAE,IAAI,IAAI,EAAE;KACjB,CAAC,CAAC;IAEH,OAAO;QACL,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;QAC9D,IAAI,EAAE,WAAW,CAAC,IAAI,EAAE;KACzB,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,OAAgB,EAChB,OAA4B;IAE5B,MAAM,WAAW,GAAG,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAEtD,MAAM,WAAW,GAAG,MAAM,gBAAgB,CAAC;QACzC,eAAe,EAAE,OAAO,CAAC,eAAe;QACxC,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,SAAS,EAAE,OAAO,CAAC,UAAU;QAC7B,OAAO,EAAE,WAAW;QACpB,iBAAiB,EAAE,OAAO,CAAC,iBAAiB,IAAI,iBAAiB,CAAC,IAAI;QACtE,cAAc,EAAE,OAAO,CAAC,cAAc,IAAI,EAAE;KAC7C,CAAC,CAAC;IAEH,OAAO;QACL,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;QAC9D,IAAI,EAAE,WAAW,CAAC,IAAI,EAAE;KACzB,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,QAAgB,EAChB,OAAgB;IAEhB,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;IACvC,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAE9C,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,kBAAkB,EAAE;QACzD,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,cAAc,EAAE,0BAA0B;SAC3C;QACD,IAAI,EAAE,QAAQ;KACf,CAAC,CAAC;IAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC,qBAAqB,QAAQ,CAAC,UAAU,MAAM,SAAS,EAAE,CAAC,CAAC;IAC7E,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IACnC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC;AAC1C,CAAC"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { ClarityValue } from "@stacks/transactions";
|
|
2
|
+
/**
|
|
3
|
+
* Parse a JSON argument into a ClarityValue
|
|
4
|
+
* Supports: string, number, boolean, principal, buffer, list, tuple, optional
|
|
5
|
+
*/
|
|
6
|
+
export declare function parseArgToClarityValue(arg: unknown): ClarityValue;
|
|
7
|
+
/**
|
|
8
|
+
* Convert a ClarityValue to a human-readable string
|
|
9
|
+
*/
|
|
10
|
+
export declare function clarityToString(cv: ClarityValue): string;
|
|
11
|
+
/**
|
|
12
|
+
* Convert a ClarityValue to JSON
|
|
13
|
+
*/
|
|
14
|
+
export declare function clarityToJSON(cv: ClarityValue): unknown;
|
|
15
|
+
/**
|
|
16
|
+
* Serialize a ClarityValue to hex string
|
|
17
|
+
*/
|
|
18
|
+
export declare function serializeClarityValue(cv: ClarityValue): string;
|
|
19
|
+
/**
|
|
20
|
+
* Deserialize a hex string to ClarityValue
|
|
21
|
+
*/
|
|
22
|
+
export declare function deserializeClarityValue(hex: string): ClarityValue;
|
|
23
|
+
/**
|
|
24
|
+
* Create a uint ClarityValue from a number or string
|
|
25
|
+
*/
|
|
26
|
+
export declare function createUint(value: number | string | bigint): ClarityValue;
|
|
27
|
+
/**
|
|
28
|
+
* Create an int ClarityValue from a number or string
|
|
29
|
+
*/
|
|
30
|
+
export declare function createInt(value: number | string | bigint): ClarityValue;
|
|
31
|
+
/**
|
|
32
|
+
* Create a principal ClarityValue
|
|
33
|
+
*/
|
|
34
|
+
export declare function createPrincipal(address: string): ClarityValue;
|
|
35
|
+
/**
|
|
36
|
+
* Create a string-ascii ClarityValue
|
|
37
|
+
*/
|
|
38
|
+
export declare function createStringAscii(str: string): ClarityValue;
|
|
39
|
+
/**
|
|
40
|
+
* Create a string-utf8 ClarityValue
|
|
41
|
+
*/
|
|
42
|
+
export declare function createStringUtf8(str: string): ClarityValue;
|
|
43
|
+
/**
|
|
44
|
+
* Create a bool ClarityValue
|
|
45
|
+
*/
|
|
46
|
+
export declare function createBool(value: boolean): ClarityValue;
|
|
47
|
+
/**
|
|
48
|
+
* Create a buffer ClarityValue from hex string
|
|
49
|
+
*/
|
|
50
|
+
export declare function createBuffer(hex: string): ClarityValue;
|
|
51
|
+
/**
|
|
52
|
+
* Create a list ClarityValue
|
|
53
|
+
*/
|
|
54
|
+
export declare function createList(items: ClarityValue[]): ClarityValue;
|
|
55
|
+
/**
|
|
56
|
+
* Create a tuple ClarityValue
|
|
57
|
+
*/
|
|
58
|
+
export declare function createTuple(data: Record<string, ClarityValue>): ClarityValue;
|
|
59
|
+
/**
|
|
60
|
+
* Create a none ClarityValue
|
|
61
|
+
*/
|
|
62
|
+
export declare function createNone(): ClarityValue;
|
|
63
|
+
/**
|
|
64
|
+
* Create a some ClarityValue
|
|
65
|
+
*/
|
|
66
|
+
export declare function createSome(value: ClarityValue): ClarityValue;
|
|
67
|
+
//# sourceMappingURL=clarity-values.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clarity-values.d.ts","sourceRoot":"","sources":["../../src/transactions/clarity-values.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EAgBb,MAAM,sBAAsB,CAAC;AAE9B;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,OAAO,GAAG,YAAY,CAuFjE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,EAAE,EAAE,YAAY,GAAG,MAAM,CAExD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,EAAE,EAAE,YAAY,GAAG,OAAO,CAEvD;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,YAAY,GAAG,MAAM,CAE9D;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,CAEjE;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,YAAY,CAExE;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,YAAY,CAEvE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,CAE7D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,CAE3D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,CAE1D;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,YAAY,CAEvD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,CAEtD;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,YAAY,CAE9D;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,GAAG,YAAY,CAE5E;AAED;;GAEG;AACH,wBAAgB,UAAU,IAAI,YAAY,CAEzC;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,YAAY,GAAG,YAAY,CAE5D"}
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
import { stringAsciiCV, stringUtf8CV, intCV, uintCV, boolCV, principalCV, bufferCV, listCV, tupleCV, noneCV, someCV, cvToString, cvToJSON, deserializeCV, serializeCV, } from "@stacks/transactions";
|
|
2
|
+
/**
|
|
3
|
+
* Parse a JSON argument into a ClarityValue
|
|
4
|
+
* Supports: string, number, boolean, principal, buffer, list, tuple, optional
|
|
5
|
+
*/
|
|
6
|
+
export function parseArgToClarityValue(arg) {
|
|
7
|
+
if (arg === null || arg === undefined) {
|
|
8
|
+
return noneCV();
|
|
9
|
+
}
|
|
10
|
+
if (typeof arg === "boolean") {
|
|
11
|
+
return boolCV(arg);
|
|
12
|
+
}
|
|
13
|
+
if (typeof arg === "number") {
|
|
14
|
+
if (Number.isInteger(arg)) {
|
|
15
|
+
return arg >= 0 ? uintCV(arg) : intCV(arg);
|
|
16
|
+
}
|
|
17
|
+
throw new Error("Floating point numbers not supported in Clarity");
|
|
18
|
+
}
|
|
19
|
+
if (typeof arg === "string") {
|
|
20
|
+
// Check if it's a principal (Stacks address pattern)
|
|
21
|
+
if (arg.match(/^S[A-Z0-9]{38,}(\.[a-zA-Z][a-zA-Z0-9-]*)?$/)) {
|
|
22
|
+
return principalCV(arg);
|
|
23
|
+
}
|
|
24
|
+
// Default to string-utf8
|
|
25
|
+
return stringUtf8CV(arg);
|
|
26
|
+
}
|
|
27
|
+
if (Buffer.isBuffer(arg) || arg instanceof Uint8Array) {
|
|
28
|
+
return bufferCV(arg);
|
|
29
|
+
}
|
|
30
|
+
if (Array.isArray(arg)) {
|
|
31
|
+
return listCV(arg.map(parseArgToClarityValue));
|
|
32
|
+
}
|
|
33
|
+
if (typeof arg === "object") {
|
|
34
|
+
const obj = arg;
|
|
35
|
+
// Check for typed values with explicit type field
|
|
36
|
+
if ("type" in obj && "value" in obj) {
|
|
37
|
+
const typedArg = obj;
|
|
38
|
+
switch (typedArg.type) {
|
|
39
|
+
case "uint":
|
|
40
|
+
return uintCV(BigInt(typedArg.value));
|
|
41
|
+
case "int":
|
|
42
|
+
return intCV(BigInt(typedArg.value));
|
|
43
|
+
case "string-ascii":
|
|
44
|
+
return stringAsciiCV(typedArg.value);
|
|
45
|
+
case "string-utf8":
|
|
46
|
+
return stringUtf8CV(typedArg.value);
|
|
47
|
+
case "bool":
|
|
48
|
+
return boolCV(typedArg.value);
|
|
49
|
+
case "principal":
|
|
50
|
+
return principalCV(typedArg.value);
|
|
51
|
+
case "buffer":
|
|
52
|
+
return bufferCV(Buffer.from(typedArg.value, "hex"));
|
|
53
|
+
case "none":
|
|
54
|
+
return noneCV();
|
|
55
|
+
case "some":
|
|
56
|
+
return someCV(parseArgToClarityValue(typedArg.value));
|
|
57
|
+
case "list":
|
|
58
|
+
return listCV(typedArg.value.map(parseArgToClarityValue));
|
|
59
|
+
case "tuple": {
|
|
60
|
+
const tupleData = {};
|
|
61
|
+
for (const [key, val] of Object.entries(typedArg.value)) {
|
|
62
|
+
tupleData[key] = parseArgToClarityValue(val);
|
|
63
|
+
}
|
|
64
|
+
return tupleCV(tupleData);
|
|
65
|
+
}
|
|
66
|
+
default:
|
|
67
|
+
throw new Error(`Unknown type: ${typedArg.type}`);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
// Treat as tuple
|
|
71
|
+
const tupleData = {};
|
|
72
|
+
for (const [key, val] of Object.entries(obj)) {
|
|
73
|
+
tupleData[key] = parseArgToClarityValue(val);
|
|
74
|
+
}
|
|
75
|
+
return tupleCV(tupleData);
|
|
76
|
+
}
|
|
77
|
+
throw new Error(`Cannot convert argument to ClarityValue: ${JSON.stringify(arg)}`);
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Convert a ClarityValue to a human-readable string
|
|
81
|
+
*/
|
|
82
|
+
export function clarityToString(cv) {
|
|
83
|
+
return cvToString(cv);
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Convert a ClarityValue to JSON
|
|
87
|
+
*/
|
|
88
|
+
export function clarityToJSON(cv) {
|
|
89
|
+
return cvToJSON(cv);
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Serialize a ClarityValue to hex string
|
|
93
|
+
*/
|
|
94
|
+
export function serializeClarityValue(cv) {
|
|
95
|
+
return Buffer.from(serializeCV(cv)).toString("hex");
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Deserialize a hex string to ClarityValue
|
|
99
|
+
*/
|
|
100
|
+
export function deserializeClarityValue(hex) {
|
|
101
|
+
return deserializeCV(Buffer.from(hex, "hex"));
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Create a uint ClarityValue from a number or string
|
|
105
|
+
*/
|
|
106
|
+
export function createUint(value) {
|
|
107
|
+
return uintCV(BigInt(value));
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Create an int ClarityValue from a number or string
|
|
111
|
+
*/
|
|
112
|
+
export function createInt(value) {
|
|
113
|
+
return intCV(BigInt(value));
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Create a principal ClarityValue
|
|
117
|
+
*/
|
|
118
|
+
export function createPrincipal(address) {
|
|
119
|
+
return principalCV(address);
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Create a string-ascii ClarityValue
|
|
123
|
+
*/
|
|
124
|
+
export function createStringAscii(str) {
|
|
125
|
+
return stringAsciiCV(str);
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Create a string-utf8 ClarityValue
|
|
129
|
+
*/
|
|
130
|
+
export function createStringUtf8(str) {
|
|
131
|
+
return stringUtf8CV(str);
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Create a bool ClarityValue
|
|
135
|
+
*/
|
|
136
|
+
export function createBool(value) {
|
|
137
|
+
return boolCV(value);
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Create a buffer ClarityValue from hex string
|
|
141
|
+
*/
|
|
142
|
+
export function createBuffer(hex) {
|
|
143
|
+
return bufferCV(Buffer.from(hex, "hex"));
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Create a list ClarityValue
|
|
147
|
+
*/
|
|
148
|
+
export function createList(items) {
|
|
149
|
+
return listCV(items);
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Create a tuple ClarityValue
|
|
153
|
+
*/
|
|
154
|
+
export function createTuple(data) {
|
|
155
|
+
return tupleCV(data);
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* Create a none ClarityValue
|
|
159
|
+
*/
|
|
160
|
+
export function createNone() {
|
|
161
|
+
return noneCV();
|
|
162
|
+
}
|
|
163
|
+
/**
|
|
164
|
+
* Create a some ClarityValue
|
|
165
|
+
*/
|
|
166
|
+
export function createSome(value) {
|
|
167
|
+
return someCV(value);
|
|
168
|
+
}
|
|
169
|
+
//# sourceMappingURL=clarity-values.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clarity-values.js","sourceRoot":"","sources":["../../src/transactions/clarity-values.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { PostCondition, PostConditionMode } from "@stacks/transactions";
|
|
2
|
+
export { PostConditionMode };
|
|
3
|
+
/**
|
|
4
|
+
* Create an STX post condition for a standard principal
|
|
5
|
+
*/
|
|
6
|
+
export declare function createStxPostCondition(address: string, conditionCode: "eq" | "gt" | "gte" | "lt" | "lte", amount: bigint): PostCondition;
|
|
7
|
+
/**
|
|
8
|
+
* Create an STX post condition for a contract principal
|
|
9
|
+
*/
|
|
10
|
+
export declare function createContractStxPostCondition(contractId: string, conditionCode: "eq" | "gt" | "gte" | "lt" | "lte", amount: bigint): PostCondition;
|
|
11
|
+
/**
|
|
12
|
+
* Create a fungible token post condition for a standard principal
|
|
13
|
+
*/
|
|
14
|
+
export declare function createFungiblePostCondition(address: string, tokenContract: string, tokenName: string, conditionCode: "eq" | "gt" | "gte" | "lt" | "lte", amount: bigint): PostCondition;
|
|
15
|
+
/**
|
|
16
|
+
* Create a fungible token post condition for a contract principal
|
|
17
|
+
*/
|
|
18
|
+
export declare function createContractFungiblePostCondition(senderContract: string, tokenContract: string, tokenName: string, conditionCode: "eq" | "gt" | "gte" | "lt" | "lte", amount: bigint): PostCondition;
|
|
19
|
+
/**
|
|
20
|
+
* Create a non-fungible token post condition for sending an NFT
|
|
21
|
+
*/
|
|
22
|
+
export declare function createNftSendPostCondition(address: string, nftContract: string, nftName: string, tokenId: bigint | number): PostCondition;
|
|
23
|
+
/**
|
|
24
|
+
* Create a non-fungible token post condition for not sending an NFT
|
|
25
|
+
*/
|
|
26
|
+
export declare function createNftNotSendPostCondition(address: string, nftContract: string, nftName: string, tokenId: bigint | number): PostCondition;
|
|
27
|
+
//# sourceMappingURL=post-conditions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"post-conditions.d.ts","sourceRoot":"","sources":["../../src/transactions/post-conditions.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,iBAAiB,EAGlB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,iBAAiB,EAAE,CAAC;AAW7B;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,IAAI,GAAG,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,EACjD,MAAM,EAAE,MAAM,GACb,aAAa,CAef;AAED;;GAEG;AACH,wBAAgB,8BAA8B,CAC5C,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,IAAI,GAAG,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,EACjD,MAAM,EAAE,MAAM,GACb,aAAa,CAef;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,IAAI,GAAG,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,EACjD,MAAM,EAAE,MAAM,GACb,aAAa,CAiBf;AAED;;GAEG;AACH,wBAAgB,mCAAmC,CACjD,cAAc,EAAE,MAAM,EACtB,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,IAAI,GAAG,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,EACjD,MAAM,EAAE,MAAM,GACb,aAAa,CAiBf;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,GAAG,MAAM,GACvB,aAAa,CAGf;AAED;;GAEG;AACH,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,GAAG,MAAM,GACvB,aAAa,CAGf"}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import { PostConditionMode, Pc, uintCV, } from "@stacks/transactions";
|
|
2
|
+
export { PostConditionMode };
|
|
3
|
+
function asContractId(contractId) {
|
|
4
|
+
if (!contractId.includes(".")) {
|
|
5
|
+
throw new Error(`Invalid contract ID: ${contractId}`);
|
|
6
|
+
}
|
|
7
|
+
return contractId;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Create an STX post condition for a standard principal
|
|
11
|
+
*/
|
|
12
|
+
export function createStxPostCondition(address, conditionCode, amount) {
|
|
13
|
+
switch (conditionCode) {
|
|
14
|
+
case "eq":
|
|
15
|
+
return Pc.principal(address).willSendEq(amount).ustx();
|
|
16
|
+
case "gt":
|
|
17
|
+
return Pc.principal(address).willSendGt(amount).ustx();
|
|
18
|
+
case "gte":
|
|
19
|
+
return Pc.principal(address).willSendGte(amount).ustx();
|
|
20
|
+
case "lt":
|
|
21
|
+
return Pc.principal(address).willSendLt(amount).ustx();
|
|
22
|
+
case "lte":
|
|
23
|
+
return Pc.principal(address).willSendLte(amount).ustx();
|
|
24
|
+
default:
|
|
25
|
+
return Pc.principal(address).willSendEq(amount).ustx();
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Create an STX post condition for a contract principal
|
|
30
|
+
*/
|
|
31
|
+
export function createContractStxPostCondition(contractId, conditionCode, amount) {
|
|
32
|
+
switch (conditionCode) {
|
|
33
|
+
case "eq":
|
|
34
|
+
return Pc.principal(contractId).willSendEq(amount).ustx();
|
|
35
|
+
case "gt":
|
|
36
|
+
return Pc.principal(contractId).willSendGt(amount).ustx();
|
|
37
|
+
case "gte":
|
|
38
|
+
return Pc.principal(contractId).willSendGte(amount).ustx();
|
|
39
|
+
case "lt":
|
|
40
|
+
return Pc.principal(contractId).willSendLt(amount).ustx();
|
|
41
|
+
case "lte":
|
|
42
|
+
return Pc.principal(contractId).willSendLte(amount).ustx();
|
|
43
|
+
default:
|
|
44
|
+
return Pc.principal(contractId).willSendEq(amount).ustx();
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Create a fungible token post condition for a standard principal
|
|
49
|
+
*/
|
|
50
|
+
export function createFungiblePostCondition(address, tokenContract, tokenName, conditionCode, amount) {
|
|
51
|
+
const contract = asContractId(tokenContract);
|
|
52
|
+
switch (conditionCode) {
|
|
53
|
+
case "eq":
|
|
54
|
+
return Pc.principal(address).willSendEq(amount).ft(contract, tokenName);
|
|
55
|
+
case "gt":
|
|
56
|
+
return Pc.principal(address).willSendGt(amount).ft(contract, tokenName);
|
|
57
|
+
case "gte":
|
|
58
|
+
return Pc.principal(address).willSendGte(amount).ft(contract, tokenName);
|
|
59
|
+
case "lt":
|
|
60
|
+
return Pc.principal(address).willSendLt(amount).ft(contract, tokenName);
|
|
61
|
+
case "lte":
|
|
62
|
+
return Pc.principal(address).willSendLte(amount).ft(contract, tokenName);
|
|
63
|
+
default:
|
|
64
|
+
return Pc.principal(address).willSendEq(amount).ft(contract, tokenName);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Create a fungible token post condition for a contract principal
|
|
69
|
+
*/
|
|
70
|
+
export function createContractFungiblePostCondition(senderContract, tokenContract, tokenName, conditionCode, amount) {
|
|
71
|
+
const contract = asContractId(tokenContract);
|
|
72
|
+
switch (conditionCode) {
|
|
73
|
+
case "eq":
|
|
74
|
+
return Pc.principal(senderContract).willSendEq(amount).ft(contract, tokenName);
|
|
75
|
+
case "gt":
|
|
76
|
+
return Pc.principal(senderContract).willSendGt(amount).ft(contract, tokenName);
|
|
77
|
+
case "gte":
|
|
78
|
+
return Pc.principal(senderContract).willSendGte(amount).ft(contract, tokenName);
|
|
79
|
+
case "lt":
|
|
80
|
+
return Pc.principal(senderContract).willSendLt(amount).ft(contract, tokenName);
|
|
81
|
+
case "lte":
|
|
82
|
+
return Pc.principal(senderContract).willSendLte(amount).ft(contract, tokenName);
|
|
83
|
+
default:
|
|
84
|
+
return Pc.principal(senderContract).willSendEq(amount).ft(contract, tokenName);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Create a non-fungible token post condition for sending an NFT
|
|
89
|
+
*/
|
|
90
|
+
export function createNftSendPostCondition(address, nftContract, nftName, tokenId) {
|
|
91
|
+
const contract = asContractId(nftContract);
|
|
92
|
+
return Pc.principal(address).willSendAsset().nft(contract, nftName, uintCV(tokenId));
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Create a non-fungible token post condition for not sending an NFT
|
|
96
|
+
*/
|
|
97
|
+
export function createNftNotSendPostCondition(address, nftContract, nftName, tokenId) {
|
|
98
|
+
const contract = asContractId(nftContract);
|
|
99
|
+
return Pc.principal(address).willNotSendAsset().nft(contract, nftName, uintCV(tokenId));
|
|
100
|
+
}
|
|
101
|
+
//# sourceMappingURL=post-conditions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"post-conditions.js","sourceRoot":"","sources":["../../src/transactions/post-conditions.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Encrypted data structure with all parameters needed for decryption
|
|
3
|
+
*/
|
|
4
|
+
export interface EncryptedData {
|
|
5
|
+
ciphertext: string;
|
|
6
|
+
iv: string;
|
|
7
|
+
authTag: string;
|
|
8
|
+
salt: string;
|
|
9
|
+
scryptParams: {
|
|
10
|
+
N: number;
|
|
11
|
+
r: number;
|
|
12
|
+
p: number;
|
|
13
|
+
keyLen: number;
|
|
14
|
+
};
|
|
15
|
+
version: number;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Encrypt plaintext with password using AES-256-GCM
|
|
19
|
+
*/
|
|
20
|
+
export declare function encrypt(plaintext: string, password: string): Promise<EncryptedData>;
|
|
21
|
+
/**
|
|
22
|
+
* Decrypt ciphertext with password using AES-256-GCM
|
|
23
|
+
*/
|
|
24
|
+
export declare function decrypt(encrypted: EncryptedData, password: string): Promise<string>;
|
|
25
|
+
/**
|
|
26
|
+
* Generate cryptographically secure random bytes
|
|
27
|
+
*/
|
|
28
|
+
export declare function randomBytes(length: number): Buffer;
|
|
29
|
+
/**
|
|
30
|
+
* Generate a random UUID for wallet IDs
|
|
31
|
+
*/
|
|
32
|
+
export declare function generateWalletId(): string;
|
|
33
|
+
//# sourceMappingURL=encryption.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"encryption.d.ts","sourceRoot":"","sources":["../../src/utils/encryption.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE;QACZ,CAAC,EAAE,MAAM,CAAC;QACV,CAAC,EAAE,MAAM,CAAC;QACV,CAAC,EAAE,MAAM,CAAC;QACV,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,OAAO,EAAE,MAAM,CAAC;CACjB;AAqCD;;GAEG;AACH,wBAAsB,OAAO,CAC3B,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,aAAa,CAAC,CAwBxB;AAED;;GAEG;AACH,wBAAsB,OAAO,CAC3B,SAAS,EAAE,aAAa,EACxB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,CAAC,CAuBjB;AA+BD;;GAEG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAElD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC"}
|