@secondlayer/stacks 0.0.3 → 0.1.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/shared/{stacks-vdfs3e5v.js → stacks-1ddg6mbv.js} +2 -2
- package/dist/shared/{stacks-bnvfmt7y.cjs → stacks-2gdt3aqj.cjs} +15 -2
- package/dist/shared/{stacks-8m9byk2j.js.map → stacks-2gdt3aqj.cjs.map} +1 -1
- package/dist/shared/stacks-709tra19.js.map +2 -2
- package/dist/shared/stacks-9g0jhab3.cjs.map +2 -2
- package/dist/shared/stacks-b008c3w8.cjs.map +2 -2
- package/dist/shared/stacks-gck1sq7h.cjs.map +2 -2
- package/dist/shared/stacks-gjvbq6w7.js.map +2 -2
- package/dist/shared/{stacks-74k8cxgb.cjs → stacks-hfem9dck.cjs} +46 -2
- package/dist/shared/stacks-hfem9dck.cjs.map +13 -0
- package/dist/shared/stacks-j2cy7qtt.js.map +2 -2
- package/dist/shared/stacks-k58k970n.js.map +2 -2
- package/dist/shared/{stacks-zm0b3tgy.js → stacks-m2dc5xwg.js} +7 -7
- package/dist/shared/{stacks-zm0b3tgy.js.map → stacks-m2dc5xwg.js.map} +1 -1
- package/dist/shared/{stacks-n2g56wgg.js → stacks-md6e5ta0.js} +13 -13
- package/dist/shared/{stacks-n2g56wgg.js.map → stacks-md6e5ta0.js.map} +1 -1
- package/dist/shared/stacks-njvyj3ab.js +23 -0
- package/dist/shared/{stacks-bnvfmt7y.cjs.map → stacks-njvyj3ab.js.map} +1 -1
- package/dist/shared/{stacks-dxhntr76.js → stacks-ph4a6322.js} +54 -11
- package/dist/shared/stacks-ph4a6322.js.map +10 -0
- package/dist/shared/{stacks-f7wdrzs3.js → stacks-pz73cn97.js} +17 -17
- package/dist/shared/{stacks-f7wdrzs3.js.map → stacks-pz73cn97.js.map} +1 -1
- package/dist/shared/stacks-qvg7c24g.cjs.map +2 -2
- package/dist/shared/{stacks-4py5pm0r.cjs → stacks-v3zy6zds.cjs} +42 -2
- package/dist/shared/stacks-v3zy6zds.cjs.map +10 -0
- package/dist/shared/stacks-v9jqcpd4.js.map +2 -2
- package/dist/shared/{stacks-yfgsm6ap.js → stacks-xtz0n62y.js} +58 -3
- package/dist/shared/stacks-xtz0n62y.js.map +13 -0
- package/dist/shared/stacks-ya3x01yd.cjs.map +2 -2
- package/dist/src/accounts/index.js +1 -1
- package/dist/src/actions/index.d.cts +43 -2
- package/dist/src/actions/index.d.ts +43 -2
- package/dist/src/actions/index.js +7 -7
- package/dist/src/bns/index.js +10 -10
- package/dist/src/bns/index.js.map +1 -1
- package/dist/src/chains/index.js +1 -1
- package/dist/src/clarity/index.cjs +326 -1
- package/dist/src/clarity/index.cjs.map +5 -3
- package/dist/src/clarity/index.d.cts +24 -5
- package/dist/src/clarity/index.d.ts +24 -5
- package/dist/src/clarity/index.js +264 -13
- package/dist/src/clarity/index.js.map +5 -3
- package/dist/src/connect/index.cjs.map +2 -2
- package/dist/src/connect/index.d.cts +7 -1
- package/dist/src/connect/index.d.ts +7 -1
- package/dist/src/connect/index.js.map +2 -2
- package/dist/src/connect/walletconnect/index.cjs +4 -4
- package/dist/src/connect/walletconnect/index.cjs.map +7 -7
- package/dist/src/connect/walletconnect/index.d.cts +5 -5
- package/dist/src/connect/walletconnect/index.d.ts +5 -5
- package/dist/src/connect/walletconnect/index.js +4 -4
- package/dist/src/connect/walletconnect/index.js.map +7 -7
- package/dist/src/index.cjs +17 -23
- package/dist/src/index.cjs.map +4 -4
- package/dist/src/index.d.cts +44 -3
- package/dist/src/index.d.ts +44 -3
- package/dist/src/index.js +27 -32
- package/dist/src/index.js.map +4 -4
- package/dist/src/postconditions/index.cjs +117 -1
- package/dist/src/postconditions/index.cjs.map +4 -3
- package/dist/src/postconditions/index.js +119 -6
- package/dist/src/postconditions/index.js.map +4 -3
- package/dist/src/pox/index.js +9 -9
- package/dist/src/pox/index.js.map +1 -1
- package/dist/src/stackingdao/index.cjs.map +2 -2
- package/dist/src/stackingdao/index.d.cts +18 -7
- package/dist/src/stackingdao/index.d.ts +18 -7
- package/dist/src/stackingdao/index.js +9 -9
- package/dist/src/stackingdao/index.js.map +3 -3
- package/dist/src/subscriptions/index.js +1 -1
- package/dist/src/transactions/index.cjs +5 -1
- package/dist/src/transactions/index.cjs.map +1 -1
- package/dist/src/transactions/index.d.cts +40 -2
- package/dist/src/transactions/index.d.ts +40 -2
- package/dist/src/transactions/index.js +18 -10
- package/dist/src/transactions/index.js.map +1 -1
- package/dist/src/utils/index.d.cts +4 -4
- package/dist/src/utils/index.d.ts +4 -4
- package/dist/src/utils/index.js +1 -1
- package/package.json +1 -1
- package/dist/shared/stacks-2ar4prfz.cjs +0 -328
- package/dist/shared/stacks-2ar4prfz.cjs.map +0 -11
- package/dist/shared/stacks-4py5pm0r.cjs.map +0 -10
- package/dist/shared/stacks-74k8cxgb.cjs.map +0 -13
- package/dist/shared/stacks-8m9byk2j.js +0 -7
- package/dist/shared/stacks-dr5en54r.cjs +0 -119
- package/dist/shared/stacks-dr5en54r.cjs.map +0 -10
- package/dist/shared/stacks-dxhntr76.js.map +0 -10
- package/dist/shared/stacks-f3tk2k5s.js +0 -27
- package/dist/shared/stacks-f3tk2k5s.js.map +0 -9
- package/dist/shared/stacks-g9mcjcqg.cjs +0 -3
- package/dist/shared/stacks-g9mcjcqg.cjs.map +0 -9
- package/dist/shared/stacks-tjxmrssa.js +0 -282
- package/dist/shared/stacks-tjxmrssa.js.map +0 -11
- package/dist/shared/stacks-yfgsm6ap.js.map +0 -13
- package/dist/shared/stacks-yfveb68e.js +0 -121
- package/dist/shared/stacks-yfveb68e.js.map +0 -10
- /package/dist/shared/{stacks-vdfs3e5v.js.map → stacks-1ddg6mbv.js.map} +0 -0
|
@@ -1,3 +1,119 @@
|
|
|
1
|
+
// src/postconditions/index.ts
|
|
2
|
+
var exports_postconditions = {};
|
|
3
|
+
__export(exports_postconditions, {
|
|
4
|
+
Pc: () => Pc
|
|
5
|
+
});
|
|
6
|
+
module.exports = __toCommonJS(exports_postconditions);
|
|
1
7
|
|
|
2
|
-
|
|
8
|
+
// src/postconditions/builder.ts
|
|
9
|
+
class PartialPcWithPrincipal {
|
|
10
|
+
address;
|
|
11
|
+
constructor(address) {
|
|
12
|
+
this.address = address;
|
|
13
|
+
}
|
|
14
|
+
willSendEq(amount) {
|
|
15
|
+
return new PartialPcFtWithCode(this.address, amount, "eq");
|
|
16
|
+
}
|
|
17
|
+
willSendGte(amount) {
|
|
18
|
+
return new PartialPcFtWithCode(this.address, amount, "gte");
|
|
19
|
+
}
|
|
20
|
+
willSendGt(amount) {
|
|
21
|
+
return new PartialPcFtWithCode(this.address, amount, "gt");
|
|
22
|
+
}
|
|
23
|
+
willSendLte(amount) {
|
|
24
|
+
return new PartialPcFtWithCode(this.address, amount, "lte");
|
|
25
|
+
}
|
|
26
|
+
willSendLt(amount) {
|
|
27
|
+
return new PartialPcFtWithCode(this.address, amount, "lt");
|
|
28
|
+
}
|
|
29
|
+
willSendAsset() {
|
|
30
|
+
return new PartialPcNftWithCode(this.address, "sent");
|
|
31
|
+
}
|
|
32
|
+
willNotSendAsset() {
|
|
33
|
+
return new PartialPcNftWithCode(this.address, "not-sent");
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
class PartialPcFtWithCode {
|
|
38
|
+
address;
|
|
39
|
+
amount;
|
|
40
|
+
code;
|
|
41
|
+
constructor(address, amount, code) {
|
|
42
|
+
this.address = address;
|
|
43
|
+
this.amount = amount;
|
|
44
|
+
this.code = code;
|
|
45
|
+
}
|
|
46
|
+
ustx() {
|
|
47
|
+
return {
|
|
48
|
+
type: "stx-postcondition",
|
|
49
|
+
address: this.address,
|
|
50
|
+
condition: this.code,
|
|
51
|
+
amount: intToBigInt(this.amount).toString()
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
ft(contractId, tokenName) {
|
|
55
|
+
const [address, name] = contractId.split(".");
|
|
56
|
+
if (!address || !validateStacksAddress(address) || !name) {
|
|
57
|
+
throw new Error(`Invalid contract id: ${contractId}`);
|
|
58
|
+
}
|
|
59
|
+
return {
|
|
60
|
+
type: "ft-postcondition",
|
|
61
|
+
address: this.address,
|
|
62
|
+
condition: this.code,
|
|
63
|
+
amount: intToBigInt(this.amount).toString(),
|
|
64
|
+
asset: `${contractId}::${tokenName}`
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
class PartialPcNftWithCode {
|
|
70
|
+
address;
|
|
71
|
+
code;
|
|
72
|
+
constructor(address, code) {
|
|
73
|
+
this.address = address;
|
|
74
|
+
this.code = code;
|
|
75
|
+
}
|
|
76
|
+
nft(assetOrContractId, tokenNameOrAssetId, assetId) {
|
|
77
|
+
let contractAddress;
|
|
78
|
+
let contractName;
|
|
79
|
+
let tokenName;
|
|
80
|
+
let id;
|
|
81
|
+
if (assetId !== undefined) {
|
|
82
|
+
[contractAddress, contractName] = parseContractId(assetOrContractId);
|
|
83
|
+
tokenName = tokenNameOrAssetId;
|
|
84
|
+
id = assetId;
|
|
85
|
+
} else {
|
|
86
|
+
const [principal, tName] = assetOrContractId.split("::");
|
|
87
|
+
if (!principal || !tName)
|
|
88
|
+
throw new Error(`Invalid asset name: ${assetOrContractId}`);
|
|
89
|
+
[contractAddress, contractName] = parseContractId(principal);
|
|
90
|
+
tokenName = tName;
|
|
91
|
+
id = tokenNameOrAssetId;
|
|
92
|
+
}
|
|
93
|
+
if (!validateStacksAddress(contractAddress)) {
|
|
94
|
+
throw new Error(`Invalid contract address: ${contractAddress}`);
|
|
95
|
+
}
|
|
96
|
+
return {
|
|
97
|
+
type: "nft-postcondition",
|
|
98
|
+
address: this.address,
|
|
99
|
+
condition: this.code,
|
|
100
|
+
asset: `${contractAddress}.${contractName}::${tokenName}`,
|
|
101
|
+
assetId: id
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
var Pc = {
|
|
106
|
+
principal(address) {
|
|
107
|
+
const [addr, name] = address.split(".");
|
|
108
|
+
if (!addr || !validateStacksAddress(addr) || typeof name === "string" && !name) {
|
|
109
|
+
throw new Error(`Invalid principal: ${address}`);
|
|
110
|
+
}
|
|
111
|
+
return new PartialPcWithPrincipal(address);
|
|
112
|
+
},
|
|
113
|
+
origin() {
|
|
114
|
+
return new PartialPcWithPrincipal("origin");
|
|
115
|
+
}
|
|
116
|
+
};
|
|
117
|
+
|
|
118
|
+
//# debugId=4E76AF631CC87C2164756E2164756E21
|
|
3
119
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": [],
|
|
3
|
+
"sources": ["../src/postconditions/builder.ts"],
|
|
4
4
|
"sourcesContent": [
|
|
5
|
+
"import { intToBigInt, type IntegerType } from \"../utils/encoding.ts\";\nimport { validateStacksAddress, parseContractId } from \"../utils/address.ts\";\nimport type { ClarityValue } from \"../clarity/types.ts\";\nimport type {\n StxPostCondition,\n FtPostCondition,\n NftPostCondition,\n FungibleComparator,\n NonFungibleComparator,\n} from \"./types.ts\";\n\nclass PartialPcWithPrincipal {\n constructor(private address: string) {}\n\n willSendEq(amount: IntegerType) {\n return new PartialPcFtWithCode(this.address, amount, \"eq\");\n }\n willSendGte(amount: IntegerType) {\n return new PartialPcFtWithCode(this.address, amount, \"gte\");\n }\n willSendGt(amount: IntegerType) {\n return new PartialPcFtWithCode(this.address, amount, \"gt\");\n }\n willSendLte(amount: IntegerType) {\n return new PartialPcFtWithCode(this.address, amount, \"lte\");\n }\n willSendLt(amount: IntegerType) {\n return new PartialPcFtWithCode(this.address, amount, \"lt\");\n }\n willSendAsset() {\n return new PartialPcNftWithCode(this.address, \"sent\");\n }\n willNotSendAsset() {\n return new PartialPcNftWithCode(this.address, \"not-sent\");\n }\n}\n\nclass PartialPcFtWithCode {\n constructor(\n private address: string,\n private amount: IntegerType,\n private code: FungibleComparator\n ) {}\n\n ustx(): StxPostCondition {\n return {\n type: \"stx-postcondition\",\n address: this.address,\n condition: this.code,\n amount: intToBigInt(this.amount).toString(),\n };\n }\n\n ft(contractId: string, tokenName: string): FtPostCondition {\n const [address, name] = contractId.split(\".\");\n if (!address || !validateStacksAddress(address) || !name) {\n throw new Error(`Invalid contract id: ${contractId}`);\n }\n return {\n type: \"ft-postcondition\",\n address: this.address,\n condition: this.code,\n amount: intToBigInt(this.amount).toString(),\n asset: `${contractId}::${tokenName}`,\n };\n }\n}\n\nclass PartialPcNftWithCode {\n constructor(\n private address: string,\n private code: NonFungibleComparator\n ) {}\n\n nft(assetOrContractId: string, tokenNameOrAssetId: string | ClarityValue, assetId?: ClarityValue): NftPostCondition {\n let contractAddress: string;\n let contractName: string;\n let tokenName: string;\n let id: ClarityValue;\n\n if (assetId !== undefined) {\n // 3 args: contractId, tokenName, assetId\n [contractAddress, contractName] = parseContractId(assetOrContractId);\n tokenName = tokenNameOrAssetId as string;\n id = assetId;\n } else {\n // 2 args: assetString (addr.contract::token), assetId\n const [principal, tName] = assetOrContractId.split(\"::\");\n if (!principal || !tName) throw new Error(`Invalid asset name: ${assetOrContractId}`);\n [contractAddress, contractName] = parseContractId(principal);\n tokenName = tName;\n id = tokenNameOrAssetId as ClarityValue;\n }\n\n if (!validateStacksAddress(contractAddress)) {\n throw new Error(`Invalid contract address: ${contractAddress}`);\n }\n\n return {\n type: \"nft-postcondition\",\n address: this.address,\n condition: this.code,\n asset: `${contractAddress}.${contractName}::${tokenName}`,\n assetId: id,\n };\n }\n}\n\nexport const Pc = {\n principal(address: string) {\n const [addr, name] = address.split(\".\");\n if (!addr || !validateStacksAddress(addr) || (typeof name === \"string\" && !name)) {\n throw new Error(`Invalid principal: ${address}`);\n }\n return new PartialPcWithPrincipal(address);\n },\n origin() {\n return new PartialPcWithPrincipal(\"origin\");\n },\n};\n"
|
|
5
6
|
],
|
|
6
|
-
"mappings": "",
|
|
7
|
-
"debugId": "
|
|
7
|
+
"mappings": "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",
|
|
8
|
+
"debugId": "4E76AF631CC87C2164756E2164756E21",
|
|
8
9
|
"names": []
|
|
9
10
|
}
|
|
@@ -1,12 +1,125 @@
|
|
|
1
1
|
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
import
|
|
6
|
-
|
|
2
|
+
parseContractId,
|
|
3
|
+
validateStacksAddress
|
|
4
|
+
} from "../../shared/stacks-gjvbq6w7.js";
|
|
5
|
+
import {
|
|
6
|
+
intToBigInt
|
|
7
|
+
} from "../../shared/stacks-nqytwfcc.js";
|
|
8
|
+
import"../../shared/stacks-njvyj3ab.js";
|
|
9
|
+
|
|
10
|
+
// src/postconditions/builder.ts
|
|
11
|
+
class PartialPcWithPrincipal {
|
|
12
|
+
address;
|
|
13
|
+
constructor(address) {
|
|
14
|
+
this.address = address;
|
|
15
|
+
}
|
|
16
|
+
willSendEq(amount) {
|
|
17
|
+
return new PartialPcFtWithCode(this.address, amount, "eq");
|
|
18
|
+
}
|
|
19
|
+
willSendGte(amount) {
|
|
20
|
+
return new PartialPcFtWithCode(this.address, amount, "gte");
|
|
21
|
+
}
|
|
22
|
+
willSendGt(amount) {
|
|
23
|
+
return new PartialPcFtWithCode(this.address, amount, "gt");
|
|
24
|
+
}
|
|
25
|
+
willSendLte(amount) {
|
|
26
|
+
return new PartialPcFtWithCode(this.address, amount, "lte");
|
|
27
|
+
}
|
|
28
|
+
willSendLt(amount) {
|
|
29
|
+
return new PartialPcFtWithCode(this.address, amount, "lt");
|
|
30
|
+
}
|
|
31
|
+
willSendAsset() {
|
|
32
|
+
return new PartialPcNftWithCode(this.address, "sent");
|
|
33
|
+
}
|
|
34
|
+
willNotSendAsset() {
|
|
35
|
+
return new PartialPcNftWithCode(this.address, "not-sent");
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
class PartialPcFtWithCode {
|
|
40
|
+
address;
|
|
41
|
+
amount;
|
|
42
|
+
code;
|
|
43
|
+
constructor(address, amount, code) {
|
|
44
|
+
this.address = address;
|
|
45
|
+
this.amount = amount;
|
|
46
|
+
this.code = code;
|
|
47
|
+
}
|
|
48
|
+
ustx() {
|
|
49
|
+
return {
|
|
50
|
+
type: "stx-postcondition",
|
|
51
|
+
address: this.address,
|
|
52
|
+
condition: this.code,
|
|
53
|
+
amount: intToBigInt(this.amount).toString()
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
ft(contractId, tokenName) {
|
|
57
|
+
const [address, name] = contractId.split(".");
|
|
58
|
+
if (!address || !validateStacksAddress(address) || !name) {
|
|
59
|
+
throw new Error(`Invalid contract id: ${contractId}`);
|
|
60
|
+
}
|
|
61
|
+
return {
|
|
62
|
+
type: "ft-postcondition",
|
|
63
|
+
address: this.address,
|
|
64
|
+
condition: this.code,
|
|
65
|
+
amount: intToBigInt(this.amount).toString(),
|
|
66
|
+
asset: `${contractId}::${tokenName}`
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
class PartialPcNftWithCode {
|
|
72
|
+
address;
|
|
73
|
+
code;
|
|
74
|
+
constructor(address, code) {
|
|
75
|
+
this.address = address;
|
|
76
|
+
this.code = code;
|
|
77
|
+
}
|
|
78
|
+
nft(assetOrContractId, tokenNameOrAssetId, assetId) {
|
|
79
|
+
let contractAddress;
|
|
80
|
+
let contractName;
|
|
81
|
+
let tokenName;
|
|
82
|
+
let id;
|
|
83
|
+
if (assetId !== undefined) {
|
|
84
|
+
[contractAddress, contractName] = parseContractId(assetOrContractId);
|
|
85
|
+
tokenName = tokenNameOrAssetId;
|
|
86
|
+
id = assetId;
|
|
87
|
+
} else {
|
|
88
|
+
const [principal, tName] = assetOrContractId.split("::");
|
|
89
|
+
if (!principal || !tName)
|
|
90
|
+
throw new Error(`Invalid asset name: ${assetOrContractId}`);
|
|
91
|
+
[contractAddress, contractName] = parseContractId(principal);
|
|
92
|
+
tokenName = tName;
|
|
93
|
+
id = tokenNameOrAssetId;
|
|
94
|
+
}
|
|
95
|
+
if (!validateStacksAddress(contractAddress)) {
|
|
96
|
+
throw new Error(`Invalid contract address: ${contractAddress}`);
|
|
97
|
+
}
|
|
98
|
+
return {
|
|
99
|
+
type: "nft-postcondition",
|
|
100
|
+
address: this.address,
|
|
101
|
+
condition: this.code,
|
|
102
|
+
asset: `${contractAddress}.${contractName}::${tokenName}`,
|
|
103
|
+
assetId: id
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
var Pc = {
|
|
108
|
+
principal(address) {
|
|
109
|
+
const [addr, name] = address.split(".");
|
|
110
|
+
if (!addr || !validateStacksAddress(addr) || typeof name === "string" && !name) {
|
|
111
|
+
throw new Error(`Invalid principal: ${address}`);
|
|
112
|
+
}
|
|
113
|
+
return new PartialPcWithPrincipal(address);
|
|
114
|
+
},
|
|
115
|
+
origin() {
|
|
116
|
+
return new PartialPcWithPrincipal("origin");
|
|
117
|
+
}
|
|
118
|
+
};
|
|
7
119
|
export {
|
|
8
120
|
Pc
|
|
9
121
|
};
|
|
122
|
+
export { Pc };
|
|
10
123
|
|
|
11
|
-
//# debugId=
|
|
124
|
+
//# debugId=3BA550F555999C6364756E2164756E21
|
|
12
125
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": [],
|
|
3
|
+
"sources": ["../src/postconditions/builder.ts"],
|
|
4
4
|
"sourcesContent": [
|
|
5
|
+
"import { intToBigInt, type IntegerType } from \"../utils/encoding.ts\";\nimport { validateStacksAddress, parseContractId } from \"../utils/address.ts\";\nimport type { ClarityValue } from \"../clarity/types.ts\";\nimport type {\n StxPostCondition,\n FtPostCondition,\n NftPostCondition,\n FungibleComparator,\n NonFungibleComparator,\n} from \"./types.ts\";\n\nclass PartialPcWithPrincipal {\n constructor(private address: string) {}\n\n willSendEq(amount: IntegerType) {\n return new PartialPcFtWithCode(this.address, amount, \"eq\");\n }\n willSendGte(amount: IntegerType) {\n return new PartialPcFtWithCode(this.address, amount, \"gte\");\n }\n willSendGt(amount: IntegerType) {\n return new PartialPcFtWithCode(this.address, amount, \"gt\");\n }\n willSendLte(amount: IntegerType) {\n return new PartialPcFtWithCode(this.address, amount, \"lte\");\n }\n willSendLt(amount: IntegerType) {\n return new PartialPcFtWithCode(this.address, amount, \"lt\");\n }\n willSendAsset() {\n return new PartialPcNftWithCode(this.address, \"sent\");\n }\n willNotSendAsset() {\n return new PartialPcNftWithCode(this.address, \"not-sent\");\n }\n}\n\nclass PartialPcFtWithCode {\n constructor(\n private address: string,\n private amount: IntegerType,\n private code: FungibleComparator\n ) {}\n\n ustx(): StxPostCondition {\n return {\n type: \"stx-postcondition\",\n address: this.address,\n condition: this.code,\n amount: intToBigInt(this.amount).toString(),\n };\n }\n\n ft(contractId: string, tokenName: string): FtPostCondition {\n const [address, name] = contractId.split(\".\");\n if (!address || !validateStacksAddress(address) || !name) {\n throw new Error(`Invalid contract id: ${contractId}`);\n }\n return {\n type: \"ft-postcondition\",\n address: this.address,\n condition: this.code,\n amount: intToBigInt(this.amount).toString(),\n asset: `${contractId}::${tokenName}`,\n };\n }\n}\n\nclass PartialPcNftWithCode {\n constructor(\n private address: string,\n private code: NonFungibleComparator\n ) {}\n\n nft(assetOrContractId: string, tokenNameOrAssetId: string | ClarityValue, assetId?: ClarityValue): NftPostCondition {\n let contractAddress: string;\n let contractName: string;\n let tokenName: string;\n let id: ClarityValue;\n\n if (assetId !== undefined) {\n // 3 args: contractId, tokenName, assetId\n [contractAddress, contractName] = parseContractId(assetOrContractId);\n tokenName = tokenNameOrAssetId as string;\n id = assetId;\n } else {\n // 2 args: assetString (addr.contract::token), assetId\n const [principal, tName] = assetOrContractId.split(\"::\");\n if (!principal || !tName) throw new Error(`Invalid asset name: ${assetOrContractId}`);\n [contractAddress, contractName] = parseContractId(principal);\n tokenName = tName;\n id = tokenNameOrAssetId as ClarityValue;\n }\n\n if (!validateStacksAddress(contractAddress)) {\n throw new Error(`Invalid contract address: ${contractAddress}`);\n }\n\n return {\n type: \"nft-postcondition\",\n address: this.address,\n condition: this.code,\n asset: `${contractAddress}.${contractName}::${tokenName}`,\n assetId: id,\n };\n }\n}\n\nexport const Pc = {\n principal(address: string) {\n const [addr, name] = address.split(\".\");\n if (!addr || !validateStacksAddress(addr) || (typeof name === \"string\" && !name)) {\n throw new Error(`Invalid principal: ${address}`);\n }\n return new PartialPcWithPrincipal(address);\n },\n origin() {\n return new PartialPcWithPrincipal(\"origin\");\n },\n};\n"
|
|
5
6
|
],
|
|
6
|
-
"mappings": "",
|
|
7
|
-
"debugId": "
|
|
7
|
+
"mappings": "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",
|
|
8
|
+
"debugId": "3BA550F555999C6364756E2164756E21",
|
|
8
9
|
"names": []
|
|
9
10
|
}
|
package/dist/src/pox/index.js
CHANGED
|
@@ -1,14 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
getContract
|
|
3
|
-
} from "../../shared/stacks-
|
|
4
|
-
import"../../shared/stacks-
|
|
3
|
+
} from "../../shared/stacks-1ddg6mbv.js";
|
|
4
|
+
import"../../shared/stacks-m2dc5xwg.js";
|
|
5
5
|
import"../../shared/stacks-709tra19.js";
|
|
6
6
|
import"../../shared/stacks-d1fmkv3p.js";
|
|
7
|
-
import
|
|
8
|
-
Pc
|
|
9
|
-
} from "../../shared/stacks-yfveb68e.js";
|
|
10
|
-
import"../../shared/stacks-f7wdrzs3.js";
|
|
11
|
-
import"../../shared/stacks-yfgsm6ap.js";
|
|
7
|
+
import"../../shared/stacks-pz73cn97.js";
|
|
12
8
|
import"../../shared/stacks-j2cy7qtt.js";
|
|
13
9
|
import"../../shared/stacks-8yykgdww.js";
|
|
14
10
|
import"../../shared/stacks-v9jqcpd4.js";
|
|
@@ -17,7 +13,11 @@ import"../../shared/stacks-gjvbq6w7.js";
|
|
|
17
13
|
import {
|
|
18
14
|
hexToBytes
|
|
19
15
|
} from "../../shared/stacks-nqytwfcc.js";
|
|
20
|
-
import"../../shared/stacks-
|
|
16
|
+
import"../../shared/stacks-njvyj3ab.js";
|
|
17
|
+
import {
|
|
18
|
+
Pc
|
|
19
|
+
} from "../postconditions/index.js";
|
|
20
|
+
import"../../shared/stacks-xtz0n62y.js";
|
|
21
21
|
|
|
22
22
|
// src/pox/abi.ts
|
|
23
23
|
var poxAddressTuple = {
|
|
@@ -873,5 +873,5 @@ export {
|
|
|
873
873
|
MAX_LOCK_PERIOD
|
|
874
874
|
};
|
|
875
875
|
|
|
876
|
-
//# debugId=
|
|
876
|
+
//# debugId=676F079CC24C0C0464756E2164756E21
|
|
877
877
|
//# sourceMappingURL=index.js.map
|
|
@@ -10,6 +10,6 @@
|
|
|
10
10
|
"import type { Client } from \"../clients/types.ts\";\nimport {\n getPoxInfo,\n getStackerInfo,\n getDelegationInfo,\n canStack,\n stackStx,\n delegateStx,\n revokeDelegateStx,\n stackExtend,\n stackIncrease,\n} from \"./actions.ts\";\nimport type {\n StackStxParams,\n DelegateStxParams,\n StackExtendParams,\n StackIncreaseParams,\n PoxInfo,\n StackerInfo,\n DelegationInfo,\n} from \"./types.ts\";\n\nexport type {\n StackStxParams,\n DelegateStxParams,\n StackExtendParams,\n StackIncreaseParams,\n PoxInfo,\n StackerInfo,\n DelegationInfo,\n};\nexport type { PoxAddress } from \"./types.ts\";\n\n/** Actions provided by the PoX extension. */\nexport type PoxActions = {\n pox: {\n getPoxInfo: () => Promise<PoxInfo>;\n getStackerInfo: (address: string) => Promise<StackerInfo | null>;\n getDelegationInfo: (address: string) => Promise<DelegationInfo | null>;\n canStack: (amount: bigint) => Promise<boolean>;\n stackStx: (params: StackStxParams) => Promise<string>;\n delegateStx: (params: DelegateStxParams) => Promise<string>;\n revokeDelegateStx: () => Promise<string>;\n stackExtend: (params: StackExtendParams) => Promise<string>;\n stackIncrease: (params: StackIncreaseParams) => Promise<string>;\n };\n};\n\nexport { POX_CONTRACTS, POX_ADDRESS_VERSION, MIN_LOCK_PERIOD, MAX_LOCK_PERIOD } from \"./constants.ts\";\nexport {\n parseBtcAddress,\n validateLockPeriod,\n burnHeightToRewardCycle,\n rewardCycleToBurnHeight,\n} from \"./utils.ts\";\n\n/**\n * PoX stacking extension for Stacks client.\n * Handles STX stacking for Bitcoin rewards (solo + pool delegation).\n *\n * @example\n * import { createWalletClient, http, mainnet } from \"stacks\";\n * import { pox } from \"stacks/pox\";\n *\n * const client = createWalletClient({ ... }).extend(pox());\n *\n * // Delegate to pool\n * await client.pox.delegateStx({\n * amount: 100_000n * 1_000_000n,\n * delegateTo: \"SP2...\",\n * });\n *\n * // Solo stack\n * await client.pox.stackStx({\n * amount: 100_000n * 1_000_000n,\n * btcAddress: \"bc1q...\",\n * lockPeriod: 12,\n * startBurnHeight: 860000n,\n * signerSig: signature,\n * signerKey: publicKey,\n * maxAmount: 100_000_000_000n,\n * authId: 1n,\n * });\n */\nexport function pox(): (client: Client) => PoxActions {\n return (client: Client) => ({\n pox: {\n /** Query current PoX network info (cycle, minimum, lengths). */\n getPoxInfo: () => getPoxInfo(client),\n\n /** Get stacker info for an address. Returns null if not stacking. */\n getStackerInfo: (address: string) => getStackerInfo(client, address),\n\n /** Get delegation info for an address. Returns null if not delegating. */\n getDelegationInfo: (address: string) => getDelegationInfo(client, address),\n\n /** Check if an amount meets the minimum stacking threshold. */\n canStack: (amount: bigint) => canStack(client, amount),\n\n /** Lock STX for stacking (solo). */\n stackStx: (params: StackStxParams) => stackStx(client, params),\n\n /** Delegate STX to a pool operator. */\n delegateStx: (params: DelegateStxParams) => delegateStx(client, params),\n\n /** Revoke an active delegation. */\n revokeDelegateStx: () => revokeDelegateStx(client),\n\n /** Extend an active stacking lock by additional cycles. */\n stackExtend: (params: StackExtendParams) => stackExtend(client, params),\n\n /** Increase the amount of locked STX. */\n stackIncrease: (params: StackIncreaseParams) =>\n stackIncrease(client, params),\n },\n });\n}\n"
|
|
11
11
|
],
|
|
12
12
|
"mappings": "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",
|
|
13
|
-
"debugId": "
|
|
13
|
+
"debugId": "676F079CC24C0C0464756E2164756E21",
|
|
14
14
|
"names": []
|
|
15
15
|
}
|
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
"sources": ["../src/stackingdao/abi.ts", "../src/stackingdao/constants.ts", "../src/stackingdao/actions.ts", "../src/stackingdao/index.ts"],
|
|
4
4
|
"sourcesContent": [
|
|
5
5
|
"import type { AbiContract } from \"../clarity/abi/contract.ts\";\n\nconst withdrawTuple = {\n tuple: [\n { name: \"stx-fee-amount\", type: \"uint128\" },\n { name: \"stx-user-amount\", type: \"uint128\" },\n ],\n} as const;\n\nexport const STACKING_DAO_CORE_ABI = {\n functions: [\n // Public — deposit STX, receive stSTX\n {\n name: \"deposit\",\n access: \"public\",\n args: [\n { name: \"reserve\", type: \"trait_reference\" },\n { name: \"commission-contract\", type: \"trait_reference\" },\n { name: \"staking-contract\", type: \"trait_reference\" },\n { name: \"direct-helpers\", type: \"trait_reference\" },\n { name: \"stx-amount\", type: \"uint128\" },\n { name: \"referrer\", type: { optional: \"principal\" } },\n { name: \"pool\", type: { optional: \"principal\" } },\n ],\n outputs: { response: { ok: \"uint128\", error: \"uint128\" } },\n },\n // Public — initiate withdrawal (burn stSTX, get NFT receipt)\n {\n name: \"init-withdraw\",\n access: \"public\",\n args: [\n { name: \"reserve\", type: \"trait_reference\" },\n { name: \"direct-helpers\", type: \"trait_reference\" },\n { name: \"ststx-amount\", type: \"uint128\" },\n ],\n outputs: { response: { ok: \"uint128\", error: \"uint128\" } },\n },\n // Public — finalize withdrawal (burn NFT, receive STX)\n {\n name: \"withdraw\",\n access: \"public\",\n args: [\n { name: \"reserve\", type: \"trait_reference\" },\n { name: \"commission-contract\", type: \"trait_reference\" },\n { name: \"staking-contract\", type: \"trait_reference\" },\n { name: \"nft-id\", type: \"uint128\" },\n ],\n outputs: { response: { ok: withdrawTuple, error: \"uint128\" } },\n },\n // Public — withdraw idle STX (instant, no NFT)\n {\n name: \"withdraw-idle\",\n access: \"public\",\n args: [\n { name: \"reserve\", type: \"trait_reference\" },\n { name: \"direct-helpers\", type: \"trait_reference\" },\n { name: \"commission-contract\", type: \"trait_reference\" },\n { name: \"staking-contract\", type: \"trait_reference\" },\n { name: \"ststx-amount\", type: \"uint128\" },\n ],\n outputs: { response: { ok: withdrawTuple, error: \"uint128\" } },\n },\n // Read-only — fees (direct values, no response wrapper)\n {\n name: \"get-stack-fee\",\n access: \"read-only\",\n args: [],\n outputs: \"uint128\",\n },\n {\n name: \"get-unstack-fee\",\n access: \"read-only\",\n args: [],\n outputs: \"uint128\",\n },\n {\n name: \"get-withdraw-idle-fee\",\n access: \"read-only\",\n args: [],\n outputs: \"uint128\",\n },\n // Read-only — shutdown state (direct bool, no response wrapper)\n {\n name: \"get-shutdown-deposits\",\n access: \"read-only\",\n args: [],\n outputs: \"bool\",\n },\n ],\n} as const satisfies AbiContract;\n\nexport const DATA_CORE_V1_ABI = {\n functions: [\n {\n name: \"get-withdrawals-by-nft\",\n access: \"read-only\",\n args: [{ name: \"nft-id\", type: \"uint128\" }],\n outputs: {\n tuple: [\n { name: \"ststx-amount\", type: \"uint128\" },\n { name: \"stx-amount\", type: \"uint128\" },\n { name: \"unlock-burn-height\", type: \"uint128\" },\n ],\n },\n },\n ],\n} as const satisfies AbiContract;\n\nexport const DATA_CORE_V3_ABI = {\n functions: [\n {\n name: \"get-stx-per-ststx-helper\",\n access: \"read-only\",\n args: [{ name: \"stx-amount\", type: \"uint128\" }],\n outputs: \"uint128\",\n },\n ],\n} as const satisfies AbiContract;\n\nexport const RESERVE_V1_ABI = {\n functions: [\n {\n name: \"get-total-stx\",\n access: \"read-only\",\n args: [],\n outputs: { response: { ok: \"uint128\", error: \"none\" } },\n },\n ],\n} as const satisfies AbiContract;\n",
|
|
6
|
-
"const DEPLOYER = \"SP4SZE494VC2YC5JYG7AYFQ44F5Q4PYV7DVMDPBG\";\n\nexport const STACKINGDAO_CONTRACTS = {\n core: { address: DEPLOYER, name: \"stacking-dao-core-v6\" },\n ststxToken: { address: DEPLOYER, name: \"ststx-token\" },\n withdrawNft: { address: DEPLOYER, name: \"ststx-withdraw-nft-v2\" },\n reserve: { address: DEPLOYER, name: \"reserve-v1\" },\n dataCore: { address: DEPLOYER, name: \"data-core-v3\" },\n dataCoreV1: { address: DEPLOYER, name: \"data-core-v1\" },\n} as const;\n\n/** Trait contracts auto-passed to core functions — users never need these. */\nexport const TRAIT_CONTRACTS = {\n reserve: `${DEPLOYER}.reserve-v1`,\n commission: `${DEPLOYER}.commission-v2`,\n directHelpers: `${DEPLOYER}.direct-helpers-v4`,\n staking: `${DEPLOYER}.staking-v0`,\n} as const;\n",
|
|
6
|
+
"const DEPLOYER: string = \"SP4SZE494VC2YC5JYG7AYFQ44F5Q4PYV7DVMDPBG\";\n\nexport const STACKINGDAO_CONTRACTS: {\n readonly core: { readonly address: string; readonly name: string };\n readonly ststxToken: { readonly address: string; readonly name: string };\n readonly withdrawNft: { readonly address: string; readonly name: string };\n readonly reserve: { readonly address: string; readonly name: string };\n readonly dataCore: { readonly address: string; readonly name: string };\n readonly dataCoreV1: { readonly address: string; readonly name: string };\n} = {\n core: { address: DEPLOYER, name: \"stacking-dao-core-v6\" },\n ststxToken: { address: DEPLOYER, name: \"ststx-token\" },\n withdrawNft: { address: DEPLOYER, name: \"ststx-withdraw-nft-v2\" },\n reserve: { address: DEPLOYER, name: \"reserve-v1\" },\n dataCore: { address: DEPLOYER, name: \"data-core-v3\" },\n dataCoreV1: { address: DEPLOYER, name: \"data-core-v1\" },\n} as const;\n\n/** Trait contracts auto-passed to core functions — users never need these. */\nexport const TRAIT_CONTRACTS: {\n readonly reserve: string;\n readonly commission: string;\n readonly directHelpers: string;\n readonly staking: string;\n} = {\n reserve: `${DEPLOYER}.reserve-v1`,\n commission: `${DEPLOYER}.commission-v2`,\n directHelpers: `${DEPLOYER}.direct-helpers-v4`,\n staking: `${DEPLOYER}.staking-v0`,\n} as const;\n",
|
|
7
7
|
"import type { Client } from \"../clients/types.ts\";\nimport { getContract } from \"../actions/getContract.ts\";\nimport { SIP010_ABI } from \"../clarity/abi/standards.ts\";\nimport {\n STACKING_DAO_CORE_ABI,\n DATA_CORE_V1_ABI,\n DATA_CORE_V3_ABI,\n RESERVE_V1_ABI,\n} from \"./abi.ts\";\nimport { STACKINGDAO_CONTRACTS, TRAIT_CONTRACTS } from \"./constants.ts\";\nimport { Pc } from \"../postconditions/index.ts\";\nimport type {\n DepositParams,\n InitWithdrawParams,\n WithdrawParams,\n WithdrawIdleParams,\n ExchangeRateInfo,\n WithdrawalInfo,\n FeeInfo,\n} from \"./types.ts\";\n\nfunction assertMainnet(client: Client) {\n if (!client.chain) {\n throw new Error(\"Client must have a chain configured\");\n }\n if (client.chain.network !== \"mainnet\") {\n throw new Error(\"StackingDAO is only available on mainnet\");\n }\n}\n\nfunction getCoreContract(client: Client) {\n assertMainnet(client);\n const c = STACKINGDAO_CONTRACTS.core;\n return getContract({ client, address: c.address, name: c.name, abi: STACKING_DAO_CORE_ABI });\n}\n\nfunction getStstxToken(client: Client) {\n assertMainnet(client);\n const c = STACKINGDAO_CONTRACTS.ststxToken;\n return getContract({ client, address: c.address, name: c.name, abi: SIP010_ABI });\n}\n\nfunction getDataCoreV1(client: Client) {\n assertMainnet(client);\n const c = STACKINGDAO_CONTRACTS.dataCoreV1;\n return getContract({ client, address: c.address, name: c.name, abi: DATA_CORE_V1_ABI });\n}\n\nfunction getDataCoreV3(client: Client) {\n assertMainnet(client);\n const c = STACKINGDAO_CONTRACTS.dataCore;\n return getContract({ client, address: c.address, name: c.name, abi: DATA_CORE_V3_ABI });\n}\n\nfunction getReserveContract(client: Client) {\n assertMainnet(client);\n const c = STACKINGDAO_CONTRACTS.reserve;\n return getContract({ client, address: c.address, name: c.name, abi: RESERVE_V1_ABI });\n}\n\nconst traits = {\n reserve: TRAIT_CONTRACTS.reserve,\n commissionContract: TRAIT_CONTRACTS.commission,\n stakingContract: TRAIT_CONTRACTS.staking,\n directHelpers: TRAIT_CONTRACTS.directHelpers,\n};\n\n// ── User Actions ──\n\nexport async function deposit(client: Client, params: DepositParams): Promise<string> {\n const core = getCoreContract(client);\n return core.call.deposit(\n {\n ...traits,\n stxAmount: params.amount,\n referrer: params.referrer ?? null,\n pool: params.pool ?? null,\n },\n {\n postConditions: [\n Pc.principal(client.account!.address).willSendEq(params.amount).ustx(),\n ],\n },\n );\n}\n\nexport async function initWithdraw(client: Client, params: InitWithdrawParams): Promise<string> {\n const core = getCoreContract(client);\n const ststx = STACKINGDAO_CONTRACTS.ststxToken;\n return core.call[\"init-withdraw\"](\n {\n reserve: traits.reserve,\n directHelpers: traits.directHelpers,\n ststxAmount: params.ststxAmount,\n },\n {\n postConditions: [\n Pc.principal(client.account!.address)\n .willSendEq(params.ststxAmount)\n .ft(`${ststx.address}.${ststx.name}`, \"ststx\"),\n ],\n },\n );\n}\n\nexport async function withdraw(client: Client, params: WithdrawParams): Promise<string> {\n const core = getCoreContract(client);\n return core.call.withdraw({\n reserve: traits.reserve,\n commissionContract: traits.commissionContract,\n stakingContract: traits.stakingContract,\n nftId: params.nftId,\n });\n}\n\nexport async function withdrawIdle(client: Client, params: WithdrawIdleParams): Promise<string> {\n const core = getCoreContract(client);\n const ststx = STACKINGDAO_CONTRACTS.ststxToken;\n return core.call[\"withdraw-idle\"](\n {\n reserve: traits.reserve,\n directHelpers: traits.directHelpers,\n commissionContract: traits.commissionContract,\n stakingContract: traits.stakingContract,\n ststxAmount: params.ststxAmount,\n },\n {\n postConditions: [\n Pc.principal(client.account!.address)\n .willSendEq(params.ststxAmount)\n .ft(`${ststx.address}.${ststx.name}`, \"ststx\"),\n ],\n },\n );\n}\n\n// ── Read-only Queries ──\n\nexport async function getStSTXBalance(client: Client, address: string): Promise<bigint> {\n const token = getStstxToken(client);\n return (await token.read[\"get-balance\"]({ account: address })) as bigint;\n}\n\nexport async function getExchangeRate(client: Client): Promise<ExchangeRateInfo> {\n const reserve = getReserveContract(client);\n const dataV3 = getDataCoreV3(client);\n\n const [totalStx, ststxSupply] = await Promise.all([\n reserve.read[\"get-total-stx\"]({}) as Promise<bigint>,\n getTotalSupply(client),\n ]);\n\n const stxPerStstx = (await dataV3.read[\"get-stx-per-ststx-helper\"]({\n stxAmount: totalStx,\n })) as bigint;\n\n return { stxPerStstx, ststxSupply, totalStx };\n}\n\nexport async function getTotalSupply(client: Client): Promise<bigint> {\n const token = getStstxToken(client);\n return (await token.read[\"get-total-supply\"]({})) as bigint;\n}\n\nexport async function getWithdrawalInfo(\n client: Client,\n nftId: bigint,\n): Promise<WithdrawalInfo> {\n const dataV1 = getDataCoreV1(client);\n return (await dataV1.read[\"get-withdrawals-by-nft\"]({\n nftId,\n })) as WithdrawalInfo;\n}\n\nexport async function getFees(client: Client): Promise<FeeInfo> {\n const core = getCoreContract(client);\n const [stackFee, unstackFee, withdrawIdleFee] = await Promise.all([\n core.read[\"get-stack-fee\"]({}) as Promise<bigint>,\n core.read[\"get-unstack-fee\"]({}) as Promise<bigint>,\n core.read[\"get-withdraw-idle-fee\"]({}) as Promise<bigint>,\n ]);\n return { stackFee, unstackFee, withdrawIdleFee };\n}\n\nexport async function getReserveBalance(client: Client): Promise<bigint> {\n const reserve = getReserveContract(client);\n return (await reserve.read[\"get-total-stx\"]({})) as bigint;\n}\n\nexport async function getShutdownDeposits(client: Client): Promise<boolean> {\n const core = getCoreContract(client);\n return (await core.read[\"get-shutdown-deposits\"]({})) as boolean;\n}\n",
|
|
8
8
|
"import type { Client } from \"../clients/types.ts\";\nimport {\n deposit,\n initWithdraw,\n withdraw,\n withdrawIdle,\n getStSTXBalance,\n getExchangeRate,\n getTotalSupply,\n getWithdrawalInfo,\n getFees,\n getReserveBalance,\n getShutdownDeposits,\n} from \"./actions.ts\";\nimport type {\n DepositParams,\n InitWithdrawParams,\n WithdrawParams,\n WithdrawIdleParams,\n ExchangeRateInfo,\n WithdrawalInfo,\n FeeInfo,\n} from \"./types.ts\";\n\nexport type {\n DepositParams,\n InitWithdrawParams,\n WithdrawParams,\n WithdrawIdleParams,\n ExchangeRateInfo,\n WithdrawalInfo,\n FeeInfo,\n};\n/** Actions provided by the StackingDAO extension. */\nexport type StackingDaoActions = {\n stackingDao: {\n deposit: (params: DepositParams) => Promise<string>;\n initWithdraw: (params: InitWithdrawParams) => Promise<string>;\n withdraw: (params: WithdrawParams) => Promise<string>;\n withdrawIdle: (params: WithdrawIdleParams) => Promise<string>;\n getStSTXBalance: (address: string) => Promise<bigint>;\n getExchangeRate: () => Promise<ExchangeRateInfo>;\n getTotalSupply: () => Promise<bigint>;\n getWithdrawalInfo: (nftId: bigint) => Promise<WithdrawalInfo>;\n getFees: () => Promise<FeeInfo>;\n getReserveBalance: () => Promise<bigint>;\n getShutdownDeposits: () => Promise<boolean>;\n };\n};\n\nexport { STACKINGDAO_CONTRACTS, TRAIT_CONTRACTS } from \"./constants.ts\";\n\n/**\n * StackingDAO liquid staking extension.\n * Deposit STX → receive stSTX. Auto-compounding stacking rewards.\n *\n * @example\n * import { createWalletClient, http, mainnet } from \"stacks\";\n * import { stackingDao } from \"stacks/stackingdao\";\n *\n * const client = createWalletClient({ ... }).extend(stackingDao());\n *\n * // Deposit STX for stSTX\n * await client.stackingDao.deposit({ amount: 100_000_000_000n });\n *\n * // Check exchange rate\n * const rate = await client.stackingDao.getExchangeRate();\n */\nexport function stackingDao(): (client: Client) => StackingDaoActions {\n return (client: Client) => ({\n stackingDao: {\n /** Deposit STX, receive stSTX. */\n deposit: (params: DepositParams) => deposit(client, params),\n\n /** Initiate withdrawal — burns stSTX, mints NFT receipt. */\n initWithdraw: (params: InitWithdrawParams) => initWithdraw(client, params),\n\n /** Finalize withdrawal — burns NFT, receive STX. */\n withdraw: (params: WithdrawParams) => withdraw(client, params),\n\n /** Withdraw idle STX instantly (burns stSTX). */\n withdrawIdle: (params: WithdrawIdleParams) => withdrawIdle(client, params),\n\n /** Get stSTX balance for an address. */\n getStSTXBalance: (address: string) => getStSTXBalance(client, address),\n\n /** Get current STX/stSTX exchange rate info. */\n getExchangeRate: () => getExchangeRate(client),\n\n /** Get total stSTX supply. */\n getTotalSupply: () => getTotalSupply(client),\n\n /** Get withdrawal NFT info by ID. Returns tuple with amounts and unlock height. */\n getWithdrawalInfo: (nftId: bigint) => getWithdrawalInfo(client, nftId),\n\n /** Get current fee rates. */\n getFees: () => getFees(client),\n\n /** Get total STX in reserve. */\n getReserveBalance: () => getReserveBalance(client),\n\n /** Check if deposits are shut down. */\n getShutdownDeposits: () => getShutdownDeposits(client),\n },\n });\n}\n"
|
|
9
9
|
],
|
|
10
|
-
"mappings": "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
|
|
10
|
+
"mappings": "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",
|
|
11
11
|
"debugId": "72A69D4A34CDAA2F64756E2164756E21",
|
|
12
12
|
"names": []
|
|
13
13
|
}
|
|
@@ -137,26 +137,37 @@ interface FeeInfo {
|
|
|
137
137
|
}
|
|
138
138
|
declare const STACKINGDAO_CONTRACTS: {
|
|
139
139
|
readonly core: {
|
|
140
|
-
readonly
|
|
140
|
+
readonly address: string
|
|
141
|
+
readonly name: string
|
|
141
142
|
}
|
|
142
143
|
readonly ststxToken: {
|
|
143
|
-
readonly
|
|
144
|
+
readonly address: string
|
|
145
|
+
readonly name: string
|
|
144
146
|
}
|
|
145
147
|
readonly withdrawNft: {
|
|
146
|
-
readonly
|
|
148
|
+
readonly address: string
|
|
149
|
+
readonly name: string
|
|
147
150
|
}
|
|
148
151
|
readonly reserve: {
|
|
149
|
-
readonly
|
|
152
|
+
readonly address: string
|
|
153
|
+
readonly name: string
|
|
150
154
|
}
|
|
151
155
|
readonly dataCore: {
|
|
152
|
-
readonly
|
|
156
|
+
readonly address: string
|
|
157
|
+
readonly name: string
|
|
153
158
|
}
|
|
154
159
|
readonly dataCoreV1: {
|
|
155
|
-
readonly
|
|
160
|
+
readonly address: string
|
|
161
|
+
readonly name: string
|
|
156
162
|
}
|
|
157
163
|
};
|
|
158
164
|
/** Trait contracts auto-passed to core functions — users never need these. */
|
|
159
|
-
declare const TRAIT_CONTRACTS: {
|
|
165
|
+
declare const TRAIT_CONTRACTS: {
|
|
166
|
+
readonly reserve: string
|
|
167
|
+
readonly commission: string
|
|
168
|
+
readonly directHelpers: string
|
|
169
|
+
readonly staking: string
|
|
170
|
+
};
|
|
160
171
|
/** Actions provided by the StackingDAO extension. */
|
|
161
172
|
type StackingDaoActions = {
|
|
162
173
|
stackingDao: {
|
|
@@ -137,26 +137,37 @@ interface FeeInfo {
|
|
|
137
137
|
}
|
|
138
138
|
declare const STACKINGDAO_CONTRACTS: {
|
|
139
139
|
readonly core: {
|
|
140
|
-
readonly
|
|
140
|
+
readonly address: string
|
|
141
|
+
readonly name: string
|
|
141
142
|
}
|
|
142
143
|
readonly ststxToken: {
|
|
143
|
-
readonly
|
|
144
|
+
readonly address: string
|
|
145
|
+
readonly name: string
|
|
144
146
|
}
|
|
145
147
|
readonly withdrawNft: {
|
|
146
|
-
readonly
|
|
148
|
+
readonly address: string
|
|
149
|
+
readonly name: string
|
|
147
150
|
}
|
|
148
151
|
readonly reserve: {
|
|
149
|
-
readonly
|
|
152
|
+
readonly address: string
|
|
153
|
+
readonly name: string
|
|
150
154
|
}
|
|
151
155
|
readonly dataCore: {
|
|
152
|
-
readonly
|
|
156
|
+
readonly address: string
|
|
157
|
+
readonly name: string
|
|
153
158
|
}
|
|
154
159
|
readonly dataCoreV1: {
|
|
155
|
-
readonly
|
|
160
|
+
readonly address: string
|
|
161
|
+
readonly name: string
|
|
156
162
|
}
|
|
157
163
|
};
|
|
158
164
|
/** Trait contracts auto-passed to core functions — users never need these. */
|
|
159
|
-
declare const TRAIT_CONTRACTS: {
|
|
165
|
+
declare const TRAIT_CONTRACTS: {
|
|
166
|
+
readonly reserve: string
|
|
167
|
+
readonly commission: string
|
|
168
|
+
readonly directHelpers: string
|
|
169
|
+
readonly staking: string
|
|
170
|
+
};
|
|
160
171
|
/** Actions provided by the StackingDAO extension. */
|
|
161
172
|
type StackingDaoActions = {
|
|
162
173
|
stackingDao: {
|
|
@@ -3,22 +3,22 @@ import {
|
|
|
3
3
|
} from "../../shared/stacks-k58k970n.js";
|
|
4
4
|
import {
|
|
5
5
|
getContract
|
|
6
|
-
} from "../../shared/stacks-
|
|
7
|
-
import"../../shared/stacks-
|
|
6
|
+
} from "../../shared/stacks-1ddg6mbv.js";
|
|
7
|
+
import"../../shared/stacks-m2dc5xwg.js";
|
|
8
8
|
import"../../shared/stacks-709tra19.js";
|
|
9
9
|
import"../../shared/stacks-d1fmkv3p.js";
|
|
10
|
-
import
|
|
11
|
-
Pc
|
|
12
|
-
} from "../../shared/stacks-yfveb68e.js";
|
|
13
|
-
import"../../shared/stacks-f7wdrzs3.js";
|
|
14
|
-
import"../../shared/stacks-yfgsm6ap.js";
|
|
10
|
+
import"../../shared/stacks-pz73cn97.js";
|
|
15
11
|
import"../../shared/stacks-j2cy7qtt.js";
|
|
16
12
|
import"../../shared/stacks-8yykgdww.js";
|
|
17
13
|
import"../../shared/stacks-v9jqcpd4.js";
|
|
18
14
|
import"../../shared/stacks-bycy6t9k.js";
|
|
19
15
|
import"../../shared/stacks-gjvbq6w7.js";
|
|
20
16
|
import"../../shared/stacks-nqytwfcc.js";
|
|
21
|
-
import"../../shared/stacks-
|
|
17
|
+
import"../../shared/stacks-njvyj3ab.js";
|
|
18
|
+
import {
|
|
19
|
+
Pc
|
|
20
|
+
} from "../postconditions/index.js";
|
|
21
|
+
import"../../shared/stacks-xtz0n62y.js";
|
|
22
22
|
|
|
23
23
|
// src/stackingdao/abi.ts
|
|
24
24
|
var withdrawTuple = {
|
|
@@ -314,5 +314,5 @@ export {
|
|
|
314
314
|
STACKINGDAO_CONTRACTS
|
|
315
315
|
};
|
|
316
316
|
|
|
317
|
-
//# debugId=
|
|
317
|
+
//# debugId=34330AF3E5D512EB64756E2164756E21
|
|
318
318
|
//# sourceMappingURL=index.js.map
|