@secondlayer/stacks 0.0.4 → 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 +1 -1
- package/dist/src/index.cjs.map +2 -2
- package/dist/src/index.d.cts +44 -3
- package/dist/src/index.d.ts +44 -3
- package/dist/src/index.js +12 -11
- package/dist/src/index.js.map +3 -3
- 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
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
|
|
@@ -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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
|
|
11
|
-
"debugId": "
|
|
10
|
+
"mappings": "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",
|
|
11
|
+
"debugId": "34330AF3E5D512EB64756E2164756E21",
|
|
12
12
|
"names": []
|
|
13
13
|
}
|
|
@@ -28,16 +28,20 @@ __export(exports_transactions, {
|
|
|
28
28
|
buildTokenTransfer: () => buildTokenTransfer,
|
|
29
29
|
buildContractDeploy: () => buildContractDeploy,
|
|
30
30
|
buildContractCall: () => buildContractCall,
|
|
31
|
+
VRF_PROOF_BYTES_LENGTH: () => VRF_PROOF_BYTES_LENGTH,
|
|
32
|
+
TenureChangeCause: () => TenureChangeCause,
|
|
31
33
|
RECOVERABLE_ECDSA_SIG_LENGTH_BYTES: () => RECOVERABLE_ECDSA_SIG_LENGTH_BYTES,
|
|
32
34
|
PubKeyEncoding: () => PubKeyEncoding,
|
|
33
35
|
PostConditionPrincipalId: () => PostConditionPrincipalId,
|
|
34
36
|
PostConditionModeWire: () => PostConditionModeWire,
|
|
35
37
|
PayloadType: () => PayloadType,
|
|
36
38
|
NonFungibleConditionCode: () => NonFungibleConditionCode,
|
|
39
|
+
MICROBLOCK_HEADER_BYTES_LENGTH: () => MICROBLOCK_HEADER_BYTES_LENGTH,
|
|
37
40
|
MEMO_MAX_LENGTH_BYTES: () => MEMO_MAX_LENGTH_BYTES,
|
|
38
41
|
MAX_STRING_LENGTH_BYTES: () => MAX_STRING_LENGTH_BYTES,
|
|
39
42
|
FungibleConditionCode: () => FungibleConditionCode,
|
|
40
43
|
ClarityVersion: () => ClarityVersion,
|
|
44
|
+
COINBASE_BYTES_LENGTH: () => COINBASE_BYTES_LENGTH,
|
|
41
45
|
AuthType: () => AuthType,
|
|
42
46
|
AuthFieldType: () => AuthFieldType,
|
|
43
47
|
AssetType: () => AssetType,
|
|
@@ -46,5 +50,5 @@ __export(exports_transactions, {
|
|
|
46
50
|
});
|
|
47
51
|
module.exports = __toCommonJS(exports_transactions);
|
|
48
52
|
|
|
49
|
-
//# debugId=
|
|
53
|
+
//# debugId=2AB78B85AA809B4F64756E2164756E21
|
|
50
54
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -138,6 +138,14 @@ declare const AuthFieldType: {
|
|
|
138
138
|
declare const RECOVERABLE_ECDSA_SIG_LENGTH_BYTES = 65;
|
|
139
139
|
declare const MEMO_MAX_LENGTH_BYTES = 34;
|
|
140
140
|
declare const MAX_STRING_LENGTH_BYTES = 128;
|
|
141
|
+
declare const COINBASE_BYTES_LENGTH = 32;
|
|
142
|
+
declare const VRF_PROOF_BYTES_LENGTH = 80;
|
|
143
|
+
declare const MICROBLOCK_HEADER_BYTES_LENGTH = 132;
|
|
144
|
+
declare const TenureChangeCause: {
|
|
145
|
+
readonly BlockFound: 0x00
|
|
146
|
+
readonly Extended: 0x01
|
|
147
|
+
};
|
|
148
|
+
type TenureChangeCause = (typeof TenureChangeCause)[keyof typeof TenureChangeCause];
|
|
141
149
|
type TokenTransferPayload = {
|
|
142
150
|
payloadType: typeof PayloadType.TokenTransfer
|
|
143
151
|
recipient: ClarityValue
|
|
@@ -157,7 +165,37 @@ type SmartContractPayload = {
|
|
|
157
165
|
contractName: string
|
|
158
166
|
codeBody: string
|
|
159
167
|
};
|
|
160
|
-
type
|
|
168
|
+
type CoinbasePayload = {
|
|
169
|
+
payloadType: typeof PayloadType.Coinbase
|
|
170
|
+
coinbaseBuffer: string
|
|
171
|
+
};
|
|
172
|
+
type CoinbaseToAltRecipientPayload = {
|
|
173
|
+
payloadType: typeof PayloadType.CoinbaseToAltRecipient
|
|
174
|
+
coinbaseBuffer: string
|
|
175
|
+
recipient: ClarityValue
|
|
176
|
+
};
|
|
177
|
+
type PoisonMicroblockPayload = {
|
|
178
|
+
payloadType: typeof PayloadType.PoisonMicroblock
|
|
179
|
+
header1: string
|
|
180
|
+
header2: string
|
|
181
|
+
};
|
|
182
|
+
type TenureChangePayload = {
|
|
183
|
+
payloadType: typeof PayloadType.TenureChange
|
|
184
|
+
tenureConsensusHash: string
|
|
185
|
+
prevTenureConsensusHash: string
|
|
186
|
+
burnViewConsensusHash: string
|
|
187
|
+
previousTenureEnd: string
|
|
188
|
+
previousTenureBlocks: number
|
|
189
|
+
cause: TenureChangeCause
|
|
190
|
+
pubkeyHash: string
|
|
191
|
+
};
|
|
192
|
+
type NakamotoCoinbasePayload = {
|
|
193
|
+
payloadType: typeof PayloadType.NakamotoCoinbase
|
|
194
|
+
coinbaseBuffer: string
|
|
195
|
+
recipient: ClarityValue | null
|
|
196
|
+
vrfProof: string
|
|
197
|
+
};
|
|
198
|
+
type TransactionPayload = TokenTransferPayload | ContractCallPayload | SmartContractPayload | CoinbasePayload | CoinbaseToAltRecipientPayload | PoisonMicroblockPayload | TenureChangePayload | NakamotoCoinbasePayload;
|
|
161
199
|
type SingleSigSpendingCondition = {
|
|
162
200
|
hashMode: typeof AddressHashMode.P2PKH | typeof AddressHashMode.P2WPKH
|
|
163
201
|
signer: string
|
|
@@ -409,4 +447,4 @@ declare function signMultiSigWithAccount(tx: StacksTransaction, account: LocalAc
|
|
|
409
447
|
declare function finalizeMultiSig(tx: StacksTransaction, publicKeys: string[]): StacksTransaction;
|
|
410
448
|
/** Combine independently-signed non-sequential multi-sig transactions */
|
|
411
449
|
declare function combineMultiSigSignatures(baseTx: StacksTransaction, signedTxs: StacksTransaction[]): StacksTransaction;
|
|
412
|
-
export { signTransactionWithAccount, signTransaction, signSponsorWithAccount, signSponsor, signMultiSigWithAccount, signMultiSig, signBegin, sigHashPreSign, sigHashPostSign, serializeTransactionHex, serializeTransaction, replayMultiSigSigHash, nextSignature, makeMultiSigAddress, isNonSequential, getTransactionId, getOriginSigHash, finalizeMultiSig, deserializeTransaction, createStandardAuth, createSponsoredAuth, createSingleSigSpendingCondition, createMultiSigSpendingCondition, combineMultiSigSignatures, buildTokenTransfer, buildContractDeploy, buildContractCall, TransactionPayload, TransactionAuthField, TokenTransferPayload, StandardAuthorization, StacksTransaction, SponsoredAuthorization, SpendingCondition, SmartContractPayload, SingleSigSpendingCondition, RECOVERABLE_ECDSA_SIG_LENGTH_BYTES, PubKeyEncoding, PostConditionWire, PostConditionPrincipalId, PostConditionModeWire, PayloadType, NonFungibleConditionCode, MultiSigSpendingCondition, MultiSigHashMode, MEMO_MAX_LENGTH_BYTES, MAX_STRING_LENGTH_BYTES, FungibleConditionCode, ContractCallPayload, ClarityVersion, BuildTokenTransferOptions, BuildContractDeployOptions, BuildContractCallOptions, Authorization, AuthType, AuthFieldType, AssetType, AnchorMode, AddressHashMode };
|
|
450
|
+
export { signTransactionWithAccount, signTransaction, signSponsorWithAccount, signSponsor, signMultiSigWithAccount, signMultiSig, signBegin, sigHashPreSign, sigHashPostSign, serializeTransactionHex, serializeTransaction, replayMultiSigSigHash, nextSignature, makeMultiSigAddress, isNonSequential, getTransactionId, getOriginSigHash, finalizeMultiSig, deserializeTransaction, createStandardAuth, createSponsoredAuth, createSingleSigSpendingCondition, createMultiSigSpendingCondition, combineMultiSigSignatures, buildTokenTransfer, buildContractDeploy, buildContractCall, VRF_PROOF_BYTES_LENGTH, TransactionPayload, TransactionAuthField, TokenTransferPayload, TenureChangePayload, TenureChangeCause as TenureChangeCauseType, TenureChangeCause, StandardAuthorization, StacksTransaction, SponsoredAuthorization, SpendingCondition, SmartContractPayload, SingleSigSpendingCondition, RECOVERABLE_ECDSA_SIG_LENGTH_BYTES, PubKeyEncoding, PostConditionWire, PostConditionPrincipalId, PostConditionModeWire, PoisonMicroblockPayload, PayloadType, NonFungibleConditionCode, NakamotoCoinbasePayload, MultiSigSpendingCondition, MultiSigHashMode, MICROBLOCK_HEADER_BYTES_LENGTH, MEMO_MAX_LENGTH_BYTES, MAX_STRING_LENGTH_BYTES, FungibleConditionCode, ContractCallPayload, CoinbaseToAltRecipientPayload, CoinbasePayload, ClarityVersion, COINBASE_BYTES_LENGTH, BuildTokenTransferOptions, BuildContractDeployOptions, BuildContractCallOptions, Authorization, AuthType, AuthFieldType, AssetType, AnchorMode, AddressHashMode };
|
|
@@ -138,6 +138,14 @@ declare const AuthFieldType: {
|
|
|
138
138
|
declare const RECOVERABLE_ECDSA_SIG_LENGTH_BYTES = 65;
|
|
139
139
|
declare const MEMO_MAX_LENGTH_BYTES = 34;
|
|
140
140
|
declare const MAX_STRING_LENGTH_BYTES = 128;
|
|
141
|
+
declare const COINBASE_BYTES_LENGTH = 32;
|
|
142
|
+
declare const VRF_PROOF_BYTES_LENGTH = 80;
|
|
143
|
+
declare const MICROBLOCK_HEADER_BYTES_LENGTH = 132;
|
|
144
|
+
declare const TenureChangeCause: {
|
|
145
|
+
readonly BlockFound: 0x00
|
|
146
|
+
readonly Extended: 0x01
|
|
147
|
+
};
|
|
148
|
+
type TenureChangeCause = (typeof TenureChangeCause)[keyof typeof TenureChangeCause];
|
|
141
149
|
type TokenTransferPayload = {
|
|
142
150
|
payloadType: typeof PayloadType.TokenTransfer
|
|
143
151
|
recipient: ClarityValue
|
|
@@ -157,7 +165,37 @@ type SmartContractPayload = {
|
|
|
157
165
|
contractName: string
|
|
158
166
|
codeBody: string
|
|
159
167
|
};
|
|
160
|
-
type
|
|
168
|
+
type CoinbasePayload = {
|
|
169
|
+
payloadType: typeof PayloadType.Coinbase
|
|
170
|
+
coinbaseBuffer: string
|
|
171
|
+
};
|
|
172
|
+
type CoinbaseToAltRecipientPayload = {
|
|
173
|
+
payloadType: typeof PayloadType.CoinbaseToAltRecipient
|
|
174
|
+
coinbaseBuffer: string
|
|
175
|
+
recipient: ClarityValue
|
|
176
|
+
};
|
|
177
|
+
type PoisonMicroblockPayload = {
|
|
178
|
+
payloadType: typeof PayloadType.PoisonMicroblock
|
|
179
|
+
header1: string
|
|
180
|
+
header2: string
|
|
181
|
+
};
|
|
182
|
+
type TenureChangePayload = {
|
|
183
|
+
payloadType: typeof PayloadType.TenureChange
|
|
184
|
+
tenureConsensusHash: string
|
|
185
|
+
prevTenureConsensusHash: string
|
|
186
|
+
burnViewConsensusHash: string
|
|
187
|
+
previousTenureEnd: string
|
|
188
|
+
previousTenureBlocks: number
|
|
189
|
+
cause: TenureChangeCause
|
|
190
|
+
pubkeyHash: string
|
|
191
|
+
};
|
|
192
|
+
type NakamotoCoinbasePayload = {
|
|
193
|
+
payloadType: typeof PayloadType.NakamotoCoinbase
|
|
194
|
+
coinbaseBuffer: string
|
|
195
|
+
recipient: ClarityValue | null
|
|
196
|
+
vrfProof: string
|
|
197
|
+
};
|
|
198
|
+
type TransactionPayload = TokenTransferPayload | ContractCallPayload | SmartContractPayload | CoinbasePayload | CoinbaseToAltRecipientPayload | PoisonMicroblockPayload | TenureChangePayload | NakamotoCoinbasePayload;
|
|
161
199
|
type SingleSigSpendingCondition = {
|
|
162
200
|
hashMode: typeof AddressHashMode.P2PKH | typeof AddressHashMode.P2WPKH
|
|
163
201
|
signer: string
|
|
@@ -409,4 +447,4 @@ declare function signMultiSigWithAccount(tx: StacksTransaction, account: LocalAc
|
|
|
409
447
|
declare function finalizeMultiSig(tx: StacksTransaction, publicKeys: string[]): StacksTransaction;
|
|
410
448
|
/** Combine independently-signed non-sequential multi-sig transactions */
|
|
411
449
|
declare function combineMultiSigSignatures(baseTx: StacksTransaction, signedTxs: StacksTransaction[]): StacksTransaction;
|
|
412
|
-
export { signTransactionWithAccount, signTransaction, signSponsorWithAccount, signSponsor, signMultiSigWithAccount, signMultiSig, signBegin, sigHashPreSign, sigHashPostSign, serializeTransactionHex, serializeTransaction, replayMultiSigSigHash, nextSignature, makeMultiSigAddress, isNonSequential, getTransactionId, getOriginSigHash, finalizeMultiSig, deserializeTransaction, createStandardAuth, createSponsoredAuth, createSingleSigSpendingCondition, createMultiSigSpendingCondition, combineMultiSigSignatures, buildTokenTransfer, buildContractDeploy, buildContractCall, TransactionPayload, TransactionAuthField, TokenTransferPayload, StandardAuthorization, StacksTransaction, SponsoredAuthorization, SpendingCondition, SmartContractPayload, SingleSigSpendingCondition, RECOVERABLE_ECDSA_SIG_LENGTH_BYTES, PubKeyEncoding, PostConditionWire, PostConditionPrincipalId, PostConditionModeWire, PayloadType, NonFungibleConditionCode, MultiSigSpendingCondition, MultiSigHashMode, MEMO_MAX_LENGTH_BYTES, MAX_STRING_LENGTH_BYTES, FungibleConditionCode, ContractCallPayload, ClarityVersion, BuildTokenTransferOptions, BuildContractDeployOptions, BuildContractCallOptions, Authorization, AuthType, AuthFieldType, AssetType, AnchorMode, AddressHashMode };
|
|
450
|
+
export { signTransactionWithAccount, signTransaction, signSponsorWithAccount, signSponsor, signMultiSigWithAccount, signMultiSig, signBegin, sigHashPreSign, sigHashPostSign, serializeTransactionHex, serializeTransaction, replayMultiSigSigHash, nextSignature, makeMultiSigAddress, isNonSequential, getTransactionId, getOriginSigHash, finalizeMultiSig, deserializeTransaction, createStandardAuth, createSponsoredAuth, createSingleSigSpendingCondition, createMultiSigSpendingCondition, combineMultiSigSignatures, buildTokenTransfer, buildContractDeploy, buildContractCall, VRF_PROOF_BYTES_LENGTH, TransactionPayload, TransactionAuthField, TokenTransferPayload, TenureChangePayload, TenureChangeCause as TenureChangeCauseType, TenureChangeCause, StandardAuthorization, StacksTransaction, SponsoredAuthorization, SpendingCondition, SmartContractPayload, SingleSigSpendingCondition, RECOVERABLE_ECDSA_SIG_LENGTH_BYTES, PubKeyEncoding, PostConditionWire, PostConditionPrincipalId, PostConditionModeWire, PoisonMicroblockPayload, PayloadType, NonFungibleConditionCode, NakamotoCoinbasePayload, MultiSigSpendingCondition, MultiSigHashMode, MICROBLOCK_HEADER_BYTES_LENGTH, MEMO_MAX_LENGTH_BYTES, MAX_STRING_LENGTH_BYTES, FungibleConditionCode, ContractCallPayload, CoinbaseToAltRecipientPayload, CoinbasePayload, ClarityVersion, COINBASE_BYTES_LENGTH, BuildTokenTransferOptions, BuildContractDeployOptions, BuildContractCallOptions, Authorization, AuthType, AuthFieldType, AssetType, AnchorMode, AddressHashMode };
|