@secondlayer/stacks 4.2.0 → 4.3.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-03vfm21t.cjs +222 -0
- package/dist/shared/stacks-03vfm21t.cjs.map +12 -0
- package/dist/shared/stacks-0eatsx6d.cjs +25 -0
- package/dist/shared/stacks-0eatsx6d.cjs.map +10 -0
- package/dist/shared/stacks-1arrcd11.js.map +2 -2
- package/dist/shared/{stacks-mrk6tkkh.cjs → stacks-3mt2q2na.cjs} +26 -2
- package/dist/shared/{stacks-mrk6tkkh.cjs.map → stacks-3mt2q2na.cjs.map} +1 -1
- package/dist/shared/{stacks-rndfw2vh.js → stacks-7wkf2rph.js} +3 -26
- package/dist/shared/{stacks-rndfw2vh.js.map → stacks-7wkf2rph.js.map} +3 -5
- package/dist/shared/stacks-8pfdscq6.js +52 -0
- package/dist/shared/stacks-8pfdscq6.js.map +12 -0
- package/dist/shared/stacks-e4xn4m7j.js +27 -0
- package/dist/shared/stacks-e4xn4m7j.js.map +10 -0
- package/dist/shared/stacks-enpj9krt.cjs.map +2 -2
- package/dist/shared/{stacks-9qcr921s.cjs → stacks-kem68d80.cjs} +3 -3
- package/dist/shared/stacks-kem68d80.cjs.map +10 -0
- package/dist/shared/stacks-wdp5yr8n.cjs +39 -0
- package/dist/shared/stacks-wdp5yr8n.cjs.map +12 -0
- package/dist/shared/{stacks-0nedd34w.cjs → stacks-ycbq8pf7.cjs} +2 -25
- package/dist/shared/{stacks-0nedd34w.cjs.map → stacks-ycbq8pf7.cjs.map} +3 -5
- package/dist/shared/{stacks-rpqtgpyj.js → stacks-zcpvzbr0.js} +3 -3
- package/dist/shared/stacks-zcpvzbr0.js.map +10 -0
- package/dist/shared/stacks-ztzygy90.js +237 -0
- package/dist/shared/stacks-ztzygy90.js.map +12 -0
- package/dist/src/actions/index.js +5 -5
- package/dist/src/actions/index.js.map +1 -1
- package/dist/src/bitcoin/index.cjs +1 -217
- package/dist/src/bitcoin/index.cjs.map +3 -5
- package/dist/src/bitcoin/index.js +11 -223
- package/dist/src/bitcoin/index.js.map +3 -5
- package/dist/src/bns/index.js +1 -1
- package/dist/src/clarity/index.d.cts +1 -1
- package/dist/src/clarity/index.d.ts +1 -1
- package/dist/src/index.js +5 -5
- package/dist/src/index.js.map +1 -1
- package/dist/src/postconditions/index.d.cts +3 -2
- package/dist/src/postconditions/index.d.ts +3 -2
- package/dist/src/postconditions/index.js +1 -1
- package/dist/src/pox/index.cjs +1 -24
- package/dist/src/pox/index.cjs.map +3 -4
- package/dist/src/pox/index.js +8 -25
- package/dist/src/pox/index.js.map +3 -4
- package/dist/src/pox5/index.cjs +1118 -204
- package/dist/src/pox5/index.cjs.map +13 -8
- package/dist/src/pox5/index.d.cts +618 -162
- package/dist/src/pox5/index.d.ts +618 -162
- package/dist/src/pox5/index.js +1136 -208
- package/dist/src/pox5/index.js.map +13 -8
- package/dist/src/stackingdao/index.js +1 -1
- package/dist/src/tools/index.cjs.map +2 -2
- package/dist/src/tools/index.js.map +2 -2
- package/package.json +4 -3
- package/dist/shared/stacks-2evvn48s.js +0 -22
- package/dist/shared/stacks-2evvn48s.js.map +0 -10
- package/dist/shared/stacks-3kj51c6p.cjs +0 -16
- package/dist/shared/stacks-3kj51c6p.cjs.map +0 -10
- package/dist/shared/stacks-9qcr921s.cjs.map +0 -10
- package/dist/shared/stacks-rdgg7mj3.js +0 -7
- package/dist/shared/stacks-rdgg7mj3.js.map +0 -10
- package/dist/shared/stacks-rpqtgpyj.js.map +0 -10
- package/dist/shared/stacks-wscmfs7q.cjs +0 -5
- package/dist/shared/stacks-wscmfs7q.cjs.map +0 -10
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../src/actions/public/multicall.ts"],
|
|
4
|
-
"sourcesContent": [
|
|
5
|
-
"import type { ClarityValue } from \"../../clarity/types.ts\";\nimport type { Client } from \"../../clients/types.ts\";\nimport { readContract } from \"./readContract.ts\";\n\nexport type MulticallCall = {\n\tcontract: string;\n\tfunctionName: string;\n\targs?: ClarityValue[];\n\tsender?: string;\n};\n\nexport type MulticallParams<TAllowFailure extends boolean = true> = {\n\tcalls: readonly MulticallCall[];\n\tallowFailure?: TAllowFailure;\n};\n\nexport type MulticallSuccessResult = {\n\tstatus: \"success\";\n\tresult: ClarityValue;\n};\nexport type MulticallFailureResult = { status: \"failure\"; error: Error };\n\nexport type MulticallResult<T extends boolean> = T extends true\n\t? (MulticallSuccessResult | MulticallFailureResult)[]\n\t: ClarityValue[];\n\nexport async function multicall<TAllowFailure extends boolean = true>(\n\tclient: Client,\n\tparams: MulticallParams<TAllowFailure>,\n): Promise<MulticallResult<TAllowFailure>> {\n\tconst { calls, allowFailure = true } = params;\n\n\tif (allowFailure) {\n\t\tconst settled = await Promise.allSettled(\n\t\t\tcalls.map((call) => readContract(client, call)),\n\t\t);\n\t\treturn settled.map((r) =>\n\t\t\tr.status === \"fulfilled\"\n\t\t\t\t? { status: \"success\" as const, result: r.value }\n\t\t\t\t: {\n\t\t\t\t\t\tstatus: \"failure\" as const,\n\t\t\t\t\t\terror:\n\t\t\t\t\t\t\tr.reason instanceof Error\n\t\t\t\t\t\t\t\t? r.reason\n\t\t\t\t\t\t\t\t: new Error(String(r.reason)),\n\t\t\t\t\t},\n\t\t) as MulticallResult<TAllowFailure>;\n\t}\n\n\tconst results = await Promise.all(\n\t\tcalls.map((call) => readContract(client, call)),\n\t);\n\treturn results as MulticallResult<TAllowFailure>;\n}\n"
|
|
6
|
-
],
|
|
7
|
-
"mappings": ";AA0BA,eAAsB,SAA+C,CACpE,QACA,QAC0C;AAAA,EAC1C,QAAQ,OAAO,eAAe,SAAS;AAAA,EAEvC,IAAI,cAAc;AAAA,IACjB,MAAM,UAAU,MAAM,QAAQ,WAC7B,MAAM,IAAI,CAAC,SAAS,aAAa,QAAQ,IAAI,CAAC,CAC/C;AAAA,IACA,OAAO,QAAQ,IAAI,CAAC,MACnB,EAAE,WAAW,cACV,EAAE,QAAQ,WAAoB,QAAQ,EAAE,MAAM,IAC9C;AAAA,MACA,QAAQ;AAAA,MACR,OACC,EAAE,kBAAkB,QACjB,EAAE,SACF,IAAI,MAAM,OAAO,EAAE,MAAM,CAAC;AAAA,IAC/B,CACH;AAAA,EACD;AAAA,EAEA,MAAM,UAAU,MAAM,QAAQ,IAC7B,MAAM,IAAI,CAAC,SAAS,aAAa,QAAQ,IAAI,CAAC,CAC/C;AAAA,EACA,OAAO;AAAA;",
|
|
8
|
-
"debugId": "2F771E91690790F164756E2164756E21",
|
|
9
|
-
"names": []
|
|
10
|
-
}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../src/postconditions/builder.ts"],
|
|
4
|
-
"sourcesContent": [
|
|
5
|
-
"import type { ClarityValue } from \"../clarity/types.ts\";\nimport { parseContractId, validateStacksAddress } from \"../utils/address.ts\";\nimport type { IntegerType } from \"../utils/encoding.ts\";\nimport { fromHex, parsePostConditionAmount } from \"./convert.ts\";\nimport type {\n\tFtPostCondition,\n\tFungibleComparator,\n\tNftPostCondition,\n\tNonFungibleComparator,\n\tPoxPostCondition,\n\tStakingPostCondition,\n\tStxPostCondition,\n} from \"./types.ts\";\n\nclass PartialPcWithPrincipal {\n\tconstructor(private address: string) {}\n\n\twillSendEq(amount: IntegerType) {\n\t\treturn new PartialPcFtWithCode(this.address, amount, \"eq\");\n\t}\n\twillSendGte(amount: IntegerType) {\n\t\treturn new PartialPcFtWithCode(this.address, amount, \"gte\");\n\t}\n\twillSendGt(amount: IntegerType) {\n\t\treturn new PartialPcFtWithCode(this.address, amount, \"gt\");\n\t}\n\twillSendLte(amount: IntegerType) {\n\t\treturn new PartialPcFtWithCode(this.address, amount, \"lte\");\n\t}\n\twillSendLt(amount: IntegerType) {\n\t\treturn new PartialPcFtWithCode(this.address, amount, \"lt\");\n\t}\n\twillSendAsset() {\n\t\treturn new PartialPcNftWithCode(this.address, \"sent\");\n\t}\n\twillNotSendAsset() {\n\t\treturn new PartialPcNftWithCode(this.address, \"not-sent\");\n\t}\n\twillMaybeSendAsset() {\n\t\treturn new PartialPcNftWithCode(this.address, \"maybe-sent\");\n\t}\n\twillPerformPox(): PoxPostCondition {\n\t\treturn {\n\t\t\ttype: \"pox-postcondition\",\n\t\t\taddress: this.address,\n\t\t\tcondition: \"will-perform\",\n\t\t};\n\t}\n\twillNotPerformPox(): PoxPostCondition {\n\t\treturn {\n\t\t\ttype: \"pox-postcondition\",\n\t\t\taddress: this.address,\n\t\t\tcondition: \"will-not-perform\",\n\t\t};\n\t}\n\tmayPerformPox(): PoxPostCondition {\n\t\treturn {\n\t\t\ttype: \"pox-postcondition\",\n\t\t\taddress: this.address,\n\t\t\tcondition: \"may-perform\",\n\t\t};\n\t}\n}\n\nclass PartialPcFtWithCode {\n\tconstructor(\n\t\tprivate address: string,\n\t\tprivate amount: IntegerType,\n\t\tprivate code: FungibleComparator,\n\t) {}\n\n\tustx(): StxPostCondition {\n\t\treturn {\n\t\t\ttype: \"stx-postcondition\",\n\t\t\taddress: this.address,\n\t\t\tcondition: this.code,\n\t\t\tamount: parsePostConditionAmount(this.amount).toString(),\n\t\t};\n\t}\n\n\tustxToLock(): StakingPostCondition {\n\t\treturn {\n\t\t\ttype: \"staking-postcondition\",\n\t\t\taddress: this.address,\n\t\t\tcondition: this.code,\n\t\t\tamount: parsePostConditionAmount(this.amount).toString(),\n\t\t};\n\t}\n\n\tft(contractId: string, tokenName: string): FtPostCondition {\n\t\tconst [address, name] = contractId.split(\".\");\n\t\tif (!address || !validateStacksAddress(address) || !name) {\n\t\t\tthrow new Error(`Invalid contract id: ${contractId}`);\n\t\t}\n\t\treturn {\n\t\t\ttype: \"ft-postcondition\",\n\t\t\taddress: this.address,\n\t\t\tcondition: this.code,\n\t\t\tamount: parsePostConditionAmount(this.amount).toString(),\n\t\t\tasset: `${contractId}::${tokenName}`,\n\t\t};\n\t}\n}\n\nclass PartialPcNftWithCode {\n\tconstructor(\n\t\tprivate address: string,\n\t\tprivate code: NonFungibleComparator,\n\t) {}\n\n\tnft(\n\t\tassetOrContractId: string,\n\t\ttokenNameOrAssetId: string | ClarityValue,\n\t\tassetId?: ClarityValue,\n\t): NftPostCondition {\n\t\tlet contractAddress: string;\n\t\tlet contractName: string;\n\t\tlet tokenName: string;\n\t\tlet id: ClarityValue;\n\n\t\tif (assetId !== undefined) {\n\t\t\t// 3 args: contractId, tokenName, assetId\n\t\t\t[contractAddress, contractName] = parseContractId(assetOrContractId);\n\t\t\ttokenName = tokenNameOrAssetId as string;\n\t\t\tid = assetId;\n\t\t} else {\n\t\t\t// 2 args: assetString (addr.contract::token), assetId\n\t\t\tconst [principal, tName] = assetOrContractId.split(\"::\");\n\t\t\tif (!principal || !tName)\n\t\t\t\tthrow new Error(`Invalid asset name: ${assetOrContractId}`);\n\t\t\t[contractAddress, contractName] = parseContractId(principal);\n\t\t\ttokenName = tName;\n\t\t\tid = tokenNameOrAssetId as ClarityValue;\n\t\t}\n\n\t\tif (!validateStacksAddress(contractAddress)) {\n\t\t\tthrow new Error(`Invalid contract address: ${contractAddress}`);\n\t\t}\n\n\t\treturn {\n\t\t\ttype: \"nft-postcondition\",\n\t\t\taddress: this.address,\n\t\t\tcondition: this.code,\n\t\t\tasset: `${contractAddress}.${contractName}::${tokenName}`,\n\t\t\tassetId: id,\n\t\t};\n\t}\n}\n\nexport const Pc = {\n\tprincipal(address: string) {\n\t\tconst [addr, name] = address.split(\".\");\n\t\tif (\n\t\t\t!addr ||\n\t\t\t!validateStacksAddress(addr) ||\n\t\t\t(typeof name === \"string\" && !name)\n\t\t) {\n\t\t\tthrow new Error(`Invalid principal: ${address}`);\n\t\t}\n\t\treturn new PartialPcWithPrincipal(address);\n\t},\n\torigin() {\n\t\treturn new PartialPcWithPrincipal(\"origin\");\n\t},\n\tfromHex,\n};\n"
|
|
6
|
-
],
|
|
7
|
-
"mappings": "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",
|
|
8
|
-
"debugId": "0EFCEE34D174071164756E2164756E21",
|
|
9
|
-
"names": []
|
|
10
|
-
}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../src/epochs.ts"],
|
|
4
|
-
"sourcesContent": [
|
|
5
|
-
"/**\n * Stacks hard-fork epoch activation heights, as Bitcoin burn block heights.\n *\n * Epoch 4.0 carries both SIP-044 (the native Bitcoin SPV built-ins / Clarity 6)\n * and SIP-045 (`pox-5` Bitcoin Staking) — one fork, one height. Keep it here so\n * the two modules can never disagree.\n */\n\n/**\n * Epoch 4.0 activation height on mainnet — Bitcoin block 960,230 (~2026-07-30\n * AM UTC, per the stacks-core 4.0.1 release notes).\n *\n * Only mainnet has a fixed height. On other networks, read it from the node\n * (`getPox5Activation` for pox-5) or pass it explicitly.\n */\nexport const EPOCH_4_ACTIVATION_BURN_HEIGHT_MAINNET = 960_230;\n"
|
|
6
|
-
],
|
|
7
|
-
"mappings": ";AAeO,IAAM,yCAAyC;",
|
|
8
|
-
"debugId": "8EEE65BECBBFB88C64756E2164756E21",
|
|
9
|
-
"names": []
|
|
10
|
-
}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../src/postconditions/builder.ts"],
|
|
4
|
-
"sourcesContent": [
|
|
5
|
-
"import type { ClarityValue } from \"../clarity/types.ts\";\nimport { parseContractId, validateStacksAddress } from \"../utils/address.ts\";\nimport type { IntegerType } from \"../utils/encoding.ts\";\nimport { fromHex, parsePostConditionAmount } from \"./convert.ts\";\nimport type {\n\tFtPostCondition,\n\tFungibleComparator,\n\tNftPostCondition,\n\tNonFungibleComparator,\n\tPoxPostCondition,\n\tStakingPostCondition,\n\tStxPostCondition,\n} from \"./types.ts\";\n\nclass PartialPcWithPrincipal {\n\tconstructor(private address: string) {}\n\n\twillSendEq(amount: IntegerType) {\n\t\treturn new PartialPcFtWithCode(this.address, amount, \"eq\");\n\t}\n\twillSendGte(amount: IntegerType) {\n\t\treturn new PartialPcFtWithCode(this.address, amount, \"gte\");\n\t}\n\twillSendGt(amount: IntegerType) {\n\t\treturn new PartialPcFtWithCode(this.address, amount, \"gt\");\n\t}\n\twillSendLte(amount: IntegerType) {\n\t\treturn new PartialPcFtWithCode(this.address, amount, \"lte\");\n\t}\n\twillSendLt(amount: IntegerType) {\n\t\treturn new PartialPcFtWithCode(this.address, amount, \"lt\");\n\t}\n\twillSendAsset() {\n\t\treturn new PartialPcNftWithCode(this.address, \"sent\");\n\t}\n\twillNotSendAsset() {\n\t\treturn new PartialPcNftWithCode(this.address, \"not-sent\");\n\t}\n\twillMaybeSendAsset() {\n\t\treturn new PartialPcNftWithCode(this.address, \"maybe-sent\");\n\t}\n\twillPerformPox(): PoxPostCondition {\n\t\treturn {\n\t\t\ttype: \"pox-postcondition\",\n\t\t\taddress: this.address,\n\t\t\tcondition: \"will-perform\",\n\t\t};\n\t}\n\twillNotPerformPox(): PoxPostCondition {\n\t\treturn {\n\t\t\ttype: \"pox-postcondition\",\n\t\t\taddress: this.address,\n\t\t\tcondition: \"will-not-perform\",\n\t\t};\n\t}\n\tmayPerformPox(): PoxPostCondition {\n\t\treturn {\n\t\t\ttype: \"pox-postcondition\",\n\t\t\taddress: this.address,\n\t\t\tcondition: \"may-perform\",\n\t\t};\n\t}\n}\n\nclass PartialPcFtWithCode {\n\tconstructor(\n\t\tprivate address: string,\n\t\tprivate amount: IntegerType,\n\t\tprivate code: FungibleComparator,\n\t) {}\n\n\tustx(): StxPostCondition {\n\t\treturn {\n\t\t\ttype: \"stx-postcondition\",\n\t\t\taddress: this.address,\n\t\t\tcondition: this.code,\n\t\t\tamount: parsePostConditionAmount(this.amount).toString(),\n\t\t};\n\t}\n\n\tustxToLock(): StakingPostCondition {\n\t\treturn {\n\t\t\ttype: \"staking-postcondition\",\n\t\t\taddress: this.address,\n\t\t\tcondition: this.code,\n\t\t\tamount: parsePostConditionAmount(this.amount).toString(),\n\t\t};\n\t}\n\n\tft(contractId: string, tokenName: string): FtPostCondition {\n\t\tconst [address, name] = contractId.split(\".\");\n\t\tif (!address || !validateStacksAddress(address) || !name) {\n\t\t\tthrow new Error(`Invalid contract id: ${contractId}`);\n\t\t}\n\t\treturn {\n\t\t\ttype: \"ft-postcondition\",\n\t\t\taddress: this.address,\n\t\t\tcondition: this.code,\n\t\t\tamount: parsePostConditionAmount(this.amount).toString(),\n\t\t\tasset: `${contractId}::${tokenName}`,\n\t\t};\n\t}\n}\n\nclass PartialPcNftWithCode {\n\tconstructor(\n\t\tprivate address: string,\n\t\tprivate code: NonFungibleComparator,\n\t) {}\n\n\tnft(\n\t\tassetOrContractId: string,\n\t\ttokenNameOrAssetId: string | ClarityValue,\n\t\tassetId?: ClarityValue,\n\t): NftPostCondition {\n\t\tlet contractAddress: string;\n\t\tlet contractName: string;\n\t\tlet tokenName: string;\n\t\tlet id: ClarityValue;\n\n\t\tif (assetId !== undefined) {\n\t\t\t// 3 args: contractId, tokenName, assetId\n\t\t\t[contractAddress, contractName] = parseContractId(assetOrContractId);\n\t\t\ttokenName = tokenNameOrAssetId as string;\n\t\t\tid = assetId;\n\t\t} else {\n\t\t\t// 2 args: assetString (addr.contract::token), assetId\n\t\t\tconst [principal, tName] = assetOrContractId.split(\"::\");\n\t\t\tif (!principal || !tName)\n\t\t\t\tthrow new Error(`Invalid asset name: ${assetOrContractId}`);\n\t\t\t[contractAddress, contractName] = parseContractId(principal);\n\t\t\ttokenName = tName;\n\t\t\tid = tokenNameOrAssetId as ClarityValue;\n\t\t}\n\n\t\tif (!validateStacksAddress(contractAddress)) {\n\t\t\tthrow new Error(`Invalid contract address: ${contractAddress}`);\n\t\t}\n\n\t\treturn {\n\t\t\ttype: \"nft-postcondition\",\n\t\t\taddress: this.address,\n\t\t\tcondition: this.code,\n\t\t\tasset: `${contractAddress}.${contractName}::${tokenName}`,\n\t\t\tassetId: id,\n\t\t};\n\t}\n}\n\nexport const Pc = {\n\tprincipal(address: string) {\n\t\tconst [addr, name] = address.split(\".\");\n\t\tif (\n\t\t\t!addr ||\n\t\t\t!validateStacksAddress(addr) ||\n\t\t\t(typeof name === \"string\" && !name)\n\t\t) {\n\t\t\tthrow new Error(`Invalid principal: ${address}`);\n\t\t}\n\t\treturn new PartialPcWithPrincipal(address);\n\t},\n\torigin() {\n\t\treturn new PartialPcWithPrincipal(\"origin\");\n\t},\n\tfromHex,\n};\n"
|
|
6
|
-
],
|
|
7
|
-
"mappings": "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",
|
|
8
|
-
"debugId": "9A7CDC14F24F831364756E2164756E21",
|
|
9
|
-
"names": []
|
|
10
|
-
}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../src/epochs.ts"],
|
|
4
|
-
"sourcesContent": [
|
|
5
|
-
"/**\n * Stacks hard-fork epoch activation heights, as Bitcoin burn block heights.\n *\n * Epoch 4.0 carries both SIP-044 (the native Bitcoin SPV built-ins / Clarity 6)\n * and SIP-045 (`pox-5` Bitcoin Staking) — one fork, one height. Keep it here so\n * the two modules can never disagree.\n */\n\n/**\n * Epoch 4.0 activation height on mainnet — Bitcoin block 960,230 (~2026-07-30\n * AM UTC, per the stacks-core 4.0.1 release notes).\n *\n * Only mainnet has a fixed height. On other networks, read it from the node\n * (`getPox5Activation` for pox-5) or pass it explicitly.\n */\nexport const EPOCH_4_ACTIVATION_BURN_HEIGHT_MAINNET = 960_230;\n"
|
|
6
|
-
],
|
|
7
|
-
"mappings": ";AAeO,IAAM,yCAAyC;",
|
|
8
|
-
"debugId": "F5668139F3FAEE4164756E2164756E21",
|
|
9
|
-
"names": []
|
|
10
|
-
}
|