@secondlayer/stacks 6.2.2 → 6.4.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-esm-8f5catbf.js → stacks-esm-1mybf3yt.js} +2 -2
- package/dist/shared/{stacks-esm-tdrdye4y.js → stacks-esm-4ja7b0px.js} +2 -2
- package/dist/shared/{stacks-esm-t88hc019.js → stacks-esm-5qdnx2q9.js} +3 -3
- package/dist/shared/{stacks-esm-b54n1jdx.js → stacks-esm-6qv8gjes.js} +6 -6
- package/dist/shared/stacks-esm-6qv8gjes.js.map +12 -0
- package/dist/shared/{stacks-esm-a20wyky3.js → stacks-esm-896kv9yv.js} +2 -2
- package/dist/shared/{stacks-esm-exgw8j2j.js → stacks-esm-bragecm9.js} +7 -7
- package/dist/shared/{stacks-esm-hkw1kvd4.js → stacks-esm-gs60rd15.js} +7 -4
- package/dist/shared/{stacks-esm-hkw1kvd4.js.map → stacks-esm-gs60rd15.js.map} +3 -3
- package/dist/shared/{stacks-esm-xcd4sv1h.js → stacks-esm-hcjqgrtm.js} +5 -5
- package/dist/shared/{stacks-esm-pq0e379d.js → stacks-esm-hv11fdgy.js} +3 -3
- package/dist/shared/{stacks-esm-1b2rhv6y.js → stacks-esm-w36fvdxx.js} +2 -2
- package/dist/shared/{stacks-esm-7n5wd5md.js → stacks-esm-w8kswk0r.js} +5 -5
- package/dist/shared/{stacks-esm-0pc6tmf0.js → stacks-esm-x8gjr2v6.js} +2 -2
- package/dist/shared/{stacks-esm-nt5hf8ht.js → stacks-esm-z0rq3ejt.js} +44 -21
- package/dist/shared/stacks-esm-z0rq3ejt.js.map +12 -0
- package/dist/shared/{stacks-esm-p3zypwsw.js → stacks-esm-zwbhghxb.js} +2 -2
- package/dist/src/actions/index.cjs +6 -3
- package/dist/src/actions/index.cjs.map +3 -3
- package/dist/src/actions/index.js +10 -10
- package/dist/src/bitcoin/index.cjs +48 -21
- package/dist/src/bitcoin/index.cjs.map +4 -4
- package/dist/src/bitcoin/index.d.cts +13 -1
- package/dist/src/bitcoin/index.d.ts +13 -1
- package/dist/src/bitcoin/index.js +9 -7
- package/dist/src/bitcoin/index.js.map +2 -2
- package/dist/src/bns/index.cjs +6 -3
- package/dist/src/bns/index.cjs.map +3 -3
- package/dist/src/bns/index.js +10 -10
- package/dist/src/clarity/index.cjs +6 -3
- package/dist/src/clarity/index.cjs.map +3 -3
- package/dist/src/clarity/index.js +4 -4
- package/dist/src/filters/index.cjs +5 -5
- package/dist/src/filters/index.cjs.map +3 -3
- package/dist/src/filters/index.d.cts +6 -0
- package/dist/src/filters/index.d.ts +6 -0
- package/dist/src/filters/index.js +1 -1
- package/dist/src/index.cjs +10 -7
- package/dist/src/index.cjs.map +4 -4
- package/dist/src/index.d.cts +6 -0
- package/dist/src/index.d.ts +6 -0
- package/dist/src/index.js +9 -9
- package/dist/src/postconditions/index.cjs +6 -3
- package/dist/src/postconditions/index.cjs.map +3 -3
- package/dist/src/postconditions/index.js +3 -3
- package/dist/src/pox/index.cjs +6 -3
- package/dist/src/pox/index.cjs.map +3 -3
- package/dist/src/pox/index.js +8 -8
- package/dist/src/pox5/index.cjs +47 -21
- package/dist/src/pox5/index.cjs.map +4 -4
- package/dist/src/pox5/index.js +10 -10
- package/dist/src/sbtc/index.cjs +6 -3
- package/dist/src/sbtc/index.cjs.map +3 -3
- package/dist/src/sbtc/index.js +7 -7
- package/dist/src/simnet/index.cjs +6 -16
- package/dist/src/simnet/index.cjs.map +3 -3
- package/dist/src/simnet/index.js +6 -16
- package/dist/src/simnet/index.js.map +3 -3
- package/dist/src/stackingdao/index.cjs +6 -3
- package/dist/src/stackingdao/index.cjs.map +3 -3
- package/dist/src/stackingdao/index.js +8 -8
- package/dist/src/transactions/index.cjs +6 -3
- package/dist/src/transactions/index.cjs.map +3 -3
- package/dist/src/transactions/index.js +3 -3
- package/package.json +1 -1
- package/dist/shared/stacks-esm-b54n1jdx.js.map +0 -12
- package/dist/shared/stacks-esm-nt5hf8ht.js.map +0 -12
- /package/dist/shared/{stacks-esm-8f5catbf.js.map → stacks-esm-1mybf3yt.js.map} +0 -0
- /package/dist/shared/{stacks-esm-tdrdye4y.js.map → stacks-esm-4ja7b0px.js.map} +0 -0
- /package/dist/shared/{stacks-esm-t88hc019.js.map → stacks-esm-5qdnx2q9.js.map} +0 -0
- /package/dist/shared/{stacks-esm-a20wyky3.js.map → stacks-esm-896kv9yv.js.map} +0 -0
- /package/dist/shared/{stacks-esm-exgw8j2j.js.map → stacks-esm-bragecm9.js.map} +0 -0
- /package/dist/shared/{stacks-esm-xcd4sv1h.js.map → stacks-esm-hcjqgrtm.js.map} +0 -0
- /package/dist/shared/{stacks-esm-pq0e379d.js.map → stacks-esm-hv11fdgy.js.map} +0 -0
- /package/dist/shared/{stacks-esm-1b2rhv6y.js.map → stacks-esm-w36fvdxx.js.map} +0 -0
- /package/dist/shared/{stacks-esm-7n5wd5md.js.map → stacks-esm-w8kswk0r.js.map} +0 -0
- /package/dist/shared/{stacks-esm-0pc6tmf0.js.map → stacks-esm-x8gjr2v6.js.map} +0 -0
- /package/dist/shared/{stacks-esm-p3zypwsw.js.map → stacks-esm-zwbhghxb.js.map} +0 -0
|
@@ -5,11 +5,11 @@ import {
|
|
|
5
5
|
uintCV2,
|
|
6
6
|
bufferCV2,
|
|
7
7
|
listCV2
|
|
8
|
-
} from "../../shared/stacks-esm-
|
|
8
|
+
} from "../../shared/stacks-esm-gs60rd15.js";
|
|
9
9
|
import"../../shared/stacks-esm-kbz5s6v8.js";
|
|
10
|
-
import"../../shared/stacks-esm-
|
|
11
|
-
import"../../shared/stacks-esm-
|
|
12
|
-
import"../../shared/stacks-esm-
|
|
10
|
+
import"../../shared/stacks-esm-4ja7b0px.js";
|
|
11
|
+
import"../../shared/stacks-esm-1mybf3yt.js";
|
|
12
|
+
import"../../shared/stacks-esm-896kv9yv.js";
|
|
13
13
|
import {
|
|
14
14
|
doubleSha2562,
|
|
15
15
|
reverseBytes2,
|
|
@@ -28,16 +28,17 @@ import {
|
|
|
28
28
|
merkleRoot2,
|
|
29
29
|
buildMerkleProof2,
|
|
30
30
|
rootFromProof2,
|
|
31
|
+
BitcoinSourceError2,
|
|
31
32
|
buildTxProof2,
|
|
32
33
|
fallbackProofSource2,
|
|
33
34
|
bitcoinRpcSource2,
|
|
34
35
|
esploraSource2,
|
|
35
36
|
EPOCH_4_ACTIVATION_BURN_HEIGHT_MAINNET2
|
|
36
|
-
} from "../../shared/stacks-esm-
|
|
37
|
+
} from "../../shared/stacks-esm-z0rq3ejt.js";
|
|
37
38
|
import {
|
|
38
39
|
MalformedResponseError2,
|
|
39
40
|
readContract2
|
|
40
|
-
} from "../../shared/stacks-esm-
|
|
41
|
+
} from "../../shared/stacks-esm-x8gjr2v6.js";
|
|
41
42
|
// src/bitcoin/codec.ts
|
|
42
43
|
function merkleDepth(txCount) {
|
|
43
44
|
let depth = 0;
|
|
@@ -326,6 +327,7 @@ async function verifyBitcoinPayment(client, params) {
|
|
|
326
327
|
return { verified, mined, output, proof };
|
|
327
328
|
}
|
|
328
329
|
export {
|
|
330
|
+
BitcoinSourceError2 as BitcoinSourceError,
|
|
329
331
|
BtcReader2 as BtcReader,
|
|
330
332
|
EPOCH_4_ACTIVATION_BURN_HEIGHT_MAINNET2 as EPOCH_4_ACTIVATION_BURN_HEIGHT_MAINNET,
|
|
331
333
|
SPV_ADAPTER_ABI,
|
|
@@ -359,5 +361,5 @@ export {
|
|
|
359
361
|
verifyBitcoinPayment
|
|
360
362
|
};
|
|
361
363
|
|
|
362
|
-
//# debugId=
|
|
364
|
+
//# debugId=CD2D70D7622AAD1864756E2164756E21
|
|
363
365
|
//# sourceMappingURL=index.js.map
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
"import { readContract } from \"../actions/public/readContract.ts\";\nimport {\n\ttype ClarityValue,\n\tbufferCV,\n\tlistCV,\n\tuintCV,\n} from \"../clarity/index.ts\";\nimport type { Client } from \"../clients/types.ts\";\nimport {\n\ttype DecodedTxOutput,\n\tdecodeTxOutput,\n\tencodeMerkleProofArgs,\n} from \"./codec.ts\";\nimport type { MerkleProof } from \"./merkle.ts\";\nimport type { SpvProof } from \"./proof.ts\";\nimport { parseBlockHeader } from \"./serialize.ts\";\n\nexport interface BitcoinVerifierConfig {\n\t/** Adapter contract principal, `\"address.name\"` (the reference `spv-adapter` or an integrator's own). */\n\tcontract: string;\n\t/** Optional read-only call sender; defaults to the contract address. */\n\tsender?: string;\n}\n\nexport interface BitcoinVerifier {\n\t/**\n\t * Verify a merkle inclusion proof against a supplied root via the adapter's\n\t * `verify-merkle` (the native `verify-merkle-proof`). This proves membership\n\t * under `root`; authenticating that `root` belongs to a canonical Bitcoin\n\t * block is a separate step (header → height), composed in `verifyBitcoinPayment`.\n\t */\n\tverifyMerkleProof(input: {\n\t\tleaf: Uint8Array;\n\t\troot: Uint8Array;\n\t\tproof: MerkleProof;\n\t}): Promise<boolean>;\n\t/** Verify an `SpvProof`'s merkle inclusion against its own header root (membership only — not chain-authenticated). */\n\tverifySpvProof(proof: SpvProof): Promise<boolean>;\n\t/**\n\t * Full header-authenticated SPV check via the adapter's `was-tx-mined`: the\n\t * contract authenticates the proof's header against the chain\n\t * (`get-burn-block-info? header-hash`), extracts its root, and proves\n\t * inclusion — atomically. Returns `false` if the header isn't canonical at\n\t * its height or the tx isn't included. This is the real \"is it on Bitcoin\" check.\n\t */\n\twasTxMined(proof: SpvProof): Promise<boolean>;\n\t/**\n\t * Decode one output of a serialized Bitcoin tx via the adapter's\n\t * `get-tx-output` (the native `get-bitcoin-tx-output?`).\n\t */\n\tgetTxOutput(rawTx: Uint8Array, vout: number): Promise<DecodedTxOutput>;\n}\n\nfunction clarityToBool(cv: ClarityValue): boolean {\n\tconst value = cv.type === \"ok\" ? cv.value : cv;\n\tif (value.type === \"true\") return true;\n\tif (value.type === \"false\") return false;\n\tthrow new Error(`expected a boolean result, got ${value.type}`);\n}\n\n/**\n * Bind a `BitcoinVerifier` to a deployed adapter contract. There is a single,\n * native target — no caps and no legacy `clarity-bitcoin` path. The built-ins do\n * not exist until Clarity 6 / Epoch 4.0 activates, so read-only calls only\n * succeed on a node at that epoch (a local Clarity-6 devnet, or mainnet after\n * activation); guard with `isClarity6Active` when in doubt.\n */\nexport function bitcoinVerifier(\n\tclient: Client,\n\tconfig: BitcoinVerifierConfig,\n): BitcoinVerifier {\n\tconst { contract, sender } = config;\n\n\tasync function verifyMerkleProof(input: {\n\t\tleaf: Uint8Array;\n\t\troot: Uint8Array;\n\t\tproof: MerkleProof;\n\t}): Promise<boolean> {\n\t\tconst args = encodeMerkleProofArgs(input);\n\t\tconst result = await readContract(client, {\n\t\t\tcontract,\n\t\t\tfunctionName: \"verify-merkle\",\n\t\t\targs,\n\t\t\tsender,\n\t\t});\n\t\treturn clarityToBool(result);\n\t}\n\n\treturn {\n\t\tverifyMerkleProof,\n\t\tverifySpvProof(proof) {\n\t\t\tconst root = parseBlockHeader(proof.header).merkleRoot;\n\t\t\treturn verifyMerkleProof({\n\t\t\t\tleaf: proof.txidInternal,\n\t\t\t\troot,\n\t\t\t\tproof: proof.merkle,\n\t\t\t});\n\t\t},\n\t\tasync wasTxMined(proof) {\n\t\t\tconst result = await readContract(client, {\n\t\t\t\tcontract,\n\t\t\t\tfunctionName: \"was-tx-mined\",\n\t\t\t\targs: [\n\t\t\t\t\tbufferCV(proof.header),\n\t\t\t\t\tuintCV(proof.height),\n\t\t\t\t\tbufferCV(proof.txidInternal),\n\t\t\t\t\tuintCV(proof.merkle.txIndex),\n\t\t\t\t\tuintCV(proof.merkle.txCount),\n\t\t\t\t\tlistCV(proof.merkle.siblings.map((s) => bufferCV(s))),\n\t\t\t\t],\n\t\t\t\tsender,\n\t\t\t});\n\t\t\t// (response bool uint): (ok true) mined, (ok false) not, (err) bad header → fail closed.\n\t\t\tif (result.type === \"err\") return false;\n\t\t\treturn clarityToBool(result);\n\t\t},\n\t\tasync getTxOutput(rawTx, vout) {\n\t\t\tconst result = await readContract(client, {\n\t\t\t\tcontract,\n\t\t\t\tfunctionName: \"get-tx-output\",\n\t\t\t\targs: [bufferCV(rawTx), uintCV(vout)],\n\t\t\t\tsender,\n\t\t\t});\n\t\t\tif (result.type === \"err\") {\n\t\t\t\tthrow new Error(\n\t\t\t\t\t`get-tx-output failed on-chain: ${JSON.stringify(result.value)}`,\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn decodeTxOutput(result);\n\t\t},\n\t};\n}\n",
|
|
10
10
|
"import type { Client } from \"../clients/types.ts\";\nimport { formatBitcoinAddress } from \"./address.ts\";\nimport { type OutputScriptType, parseOutputScript } from \"./codec.ts\";\nimport {\n\ttype BitcoinNetwork,\n\tgetSpvAdapter,\n\tspvAdapterPrincipal,\n} from \"./constants.ts\";\nimport { type ProofSource, type SpvProof, buildTxProof } from \"./proof.ts\";\nimport { parseBitcoinTx } from \"./serialize.ts\";\nimport { bitcoinVerifier } from \"./verifier.ts\";\n\nexport interface BitcoinPaymentOutput {\n\tvout: number;\n\t/** scriptPubKey bytes. */\n\tscript: Uint8Array;\n\t/** Value in satoshis. */\n\tamount: bigint;\n\ttype: OutputScriptType;\n\t/** Address for the configured network, if the script has a standard one. */\n\taddress?: string;\n}\n\nexport interface VerifyBitcoinPaymentResult {\n\t/** `mined` AND every supplied `expect` constraint holds. */\n\tverified: boolean;\n\t/**\n\t * On-chain proof that the tx is committed in a Bitcoin block. With\n\t * `authenticateHeader` (default), this is the adapter's `was-tx-mined` —\n\t * header authenticated against the chain AND merkle inclusion. With it off,\n\t * it is merkle inclusion against the proof's own (unauthenticated) header.\n\t */\n\tmined: boolean;\n\t/** The decoded output at `vout`. */\n\toutput: BitcoinPaymentOutput;\n\t/** The proof used (built or supplied). */\n\tproof: SpvProof;\n}\n\nexport type VerifyBitcoinPaymentParams = (\n\t| { proof: SpvProof }\n\t| { txid: string; source: ProofSource }\n) & {\n\t/**\n\t * Adapter contract principal, `\"address.name\"`. Optional on networks with a\n\t * published reference adapter (see `SPV_ADAPTER_CONTRACTS` — mainnet only);\n\t * required everywhere else.\n\t */\n\tcontract?: string;\n\t/** Output index to decode and assert against. */\n\tvout: number;\n\t/** Network for address formatting. Defaults to mainnet. */\n\tnetwork?: BitcoinNetwork;\n\t/** Optional expectations; each supplied field must match for `verified`. */\n\texpect?: { address?: string; amount?: bigint };\n\t/**\n\t * Confirm the proof's header is the canonical block at its height via\n\t * `get-header-merkle-root` (default true). Turn off only when the caller has\n\t * already authenticated the header.\n\t */\n\tauthenticateHeader?: boolean;\n\tsender?: string;\n};\n\n/**\n * Verify that a Bitcoin payment is committed on-chain and (optionally) matches\n * an expected recipient/amount. Composes the whole SPV flow:\n * 1. build the proof from a `ProofSource` (or accept a prepared `SpvProof`),\n * 2. prove the tx is mined — `was-tx-mined` (header authenticated against the\n * chain + merkle inclusion) by default, or membership-only when\n * `authenticateHeader` is off,\n * 3. decode the target output and assert any `expect` constraints.\n *\n * The output is decoded off-chain from the proof's raw tx, which is sound: the\n * raw tx is pinned to the proven txid (`buildTxProof` checks it hashes to the\n * leaf), so its bytes are committed.\n */\nexport async function verifyBitcoinPayment(\n\tclient: Client,\n\tparams: VerifyBitcoinPaymentParams,\n): Promise<VerifyBitcoinPaymentResult> {\n\tconst {\n\t\tcontract,\n\t\tvout,\n\t\tnetwork = \"mainnet\",\n\t\texpect,\n\t\tauthenticateHeader = true,\n\t\tsender,\n\t} = params;\n\n\tconst adapter = getSpvAdapter(network);\n\tconst resolvedContract =\n\t\tcontract ?? (adapter ? spvAdapterPrincipal(adapter) : undefined);\n\tif (!resolvedContract) {\n\t\tthrow new Error(\n\t\t\t`No spv-adapter deployed for ${network} — pass an explicit \\`contract\\`. Only mainnet has a published reference adapter; the SIP-044 built-ins require Clarity 6 / Epoch 4.0 (deploy recipe: contracts/README.md).`,\n\t\t);\n\t}\n\n\tconst proof =\n\t\t\"proof\" in params\n\t\t\t? params.proof\n\t\t\t: await buildTxProof(params.source, { txid: params.txid, vout });\n\n\tconst verifier = bitcoinVerifier(client, {\n\t\tcontract: resolvedContract,\n\t\tsender,\n\t});\n\tconst mined = authenticateHeader\n\t\t? await verifier.wasTxMined(proof)\n\t\t: await verifier.verifySpvProof(proof);\n\n\tconst parsedTx = parseBitcoinTx(proof.rawTx);\n\tconst out = parsedTx.outputs[vout];\n\tif (!out) {\n\t\tthrow new Error(\n\t\t\t`vout ${vout} out of range (tx has ${parsedTx.outputs.length} outputs)`,\n\t\t);\n\t}\n\tconst parsedScript = parseOutputScript(out.scriptPubKey);\n\tconst address = formatBitcoinAddress(parsedScript, network);\n\tconst output: BitcoinPaymentOutput = {\n\t\tvout,\n\t\tscript: out.scriptPubKey,\n\t\tamount: out.value,\n\t\ttype: parsedScript.type,\n\t\taddress,\n\t};\n\n\tconst amountOk = expect?.amount === undefined || out.value === expect.amount;\n\tconst addressOk = expect?.address === undefined || address === expect.address;\n\tconst verified = mined && amountOk && addressOk;\n\n\treturn { verified, mined, output, proof };\n}\n"
|
|
11
11
|
],
|
|
12
|
-
"mappings": "
|
|
13
|
-
"debugId": "
|
|
12
|
+
"mappings": "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",
|
|
13
|
+
"debugId": "CD2D70D7622AAD1864756E2164756E21",
|
|
14
14
|
"names": []
|
|
15
15
|
}
|
package/dist/src/bns/index.cjs
CHANGED
|
@@ -707,11 +707,14 @@ function readCV(reader, depth = 0) {
|
|
|
707
707
|
case "err":
|
|
708
708
|
return responseErrorCV(readCV(reader, depth + 1));
|
|
709
709
|
case "address":
|
|
710
|
-
return
|
|
710
|
+
return { type: "address", value: readAddress(reader) };
|
|
711
711
|
case "contract": {
|
|
712
712
|
const addr = readAddress(reader);
|
|
713
713
|
const name = readLPString(reader);
|
|
714
|
-
|
|
714
|
+
if (new TextEncoder().encode(name).byteLength >= 128) {
|
|
715
|
+
throw new Error("Contract name must be less than 128 bytes");
|
|
716
|
+
}
|
|
717
|
+
return { type: "contract", value: `${addr}.${name}` };
|
|
715
718
|
}
|
|
716
719
|
case "list": {
|
|
717
720
|
const len = reader.readUInt32BE();
|
|
@@ -5042,5 +5045,5 @@ function bns() {
|
|
|
5042
5045
|
});
|
|
5043
5046
|
}
|
|
5044
5047
|
|
|
5045
|
-
//# debugId=
|
|
5048
|
+
//# debugId=34914284F2E2E81C64756E2164756E21
|
|
5046
5049
|
//# sourceMappingURL=index.cjs.map
|