@secondlayer/stacks 4.3.2 → 5.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +27 -11
- package/dist/shared/{stacks-gxq2pbky.js → stacks-2as26bcg.js} +10 -7
- package/dist/shared/stacks-2as26bcg.js.map +13 -0
- package/dist/shared/{stacks-bfan7ex7.js → stacks-4d7c3x27.js} +5 -5
- package/dist/shared/{stacks-bfan7ex7.js.map → stacks-4d7c3x27.js.map} +3 -3
- package/dist/shared/{stacks-709tra19.js → stacks-4hs8r4q2.js} +16 -2
- package/dist/shared/stacks-4hs8r4q2.js.map +10 -0
- package/dist/shared/{stacks-w23294am.js → stacks-51ybf135.js} +3 -3
- package/dist/shared/{stacks-0jk7vd8r.cjs → stacks-69nq48jp.js} +120 -17
- package/dist/shared/stacks-69nq48jp.js.map +15 -0
- package/dist/shared/{stacks-8pfdscq6.js → stacks-6gavarmy.js} +37 -9
- package/dist/shared/stacks-6gavarmy.js.map +12 -0
- package/dist/shared/{stacks-7wkf2rph.js → stacks-7bqkf3b0.js} +86 -71
- package/dist/shared/{stacks-7wkf2rph.js.map → stacks-7bqkf3b0.js.map} +9 -10
- package/dist/shared/{stacks-zcpvzbr0.js → stacks-8brgfvqx.js} +3 -3
- package/dist/shared/{stacks-4vzmhw3q.cjs → stacks-8vzxax5e.cjs} +13 -3
- package/dist/shared/stacks-8vzxax5e.cjs.map +10 -0
- package/dist/shared/{stacks-hnqt5rz4.js → stacks-9c1yam8b.js} +3 -3
- package/dist/shared/{stacks-bnbdqznq.cjs → stacks-bdgh9n83.cjs} +11 -10
- package/dist/shared/{stacks-bnbdqznq.cjs.map → stacks-bdgh9n83.cjs.map} +3 -3
- package/dist/shared/{stacks-fb75yew8.js → stacks-db3kwavg.cjs} +346 -138
- package/dist/shared/stacks-db3kwavg.cjs.map +23 -0
- package/dist/shared/{stacks-jpt52csy.js → stacks-e3nwm1dz.js} +14 -17
- package/dist/shared/stacks-e3nwm1dz.js.map +10 -0
- package/dist/shared/{stacks-27fmgajb.js → stacks-ga026yxz.js} +9 -9
- package/dist/shared/{stacks-27fmgajb.js.map → stacks-ga026yxz.js.map} +3 -3
- package/dist/shared/{stacks-nyaw1z2a.cjs → stacks-ggdz96r1.cjs} +4 -4
- package/dist/shared/{stacks-nyaw1z2a.cjs.map → stacks-ggdz96r1.cjs.map} +3 -3
- package/dist/shared/{stacks-08y0y0t7.js → stacks-gjz26k6b.js} +2 -2
- package/dist/shared/{stacks-x5386y2y.cjs → stacks-gza2n1zs.cjs} +5 -5
- package/dist/shared/{stacks-x5386y2y.cjs.map → stacks-gza2n1zs.cjs.map} +3 -3
- package/dist/shared/{stacks-ta1gar0b.cjs → stacks-kqn4y8kq.cjs} +7 -5
- package/dist/shared/{stacks-ta1gar0b.cjs.map → stacks-kqn4y8kq.cjs.map} +3 -3
- package/dist/shared/{stacks-ztzygy90.js → stacks-mftyrc60.js} +2 -2
- package/dist/shared/stacks-n4d8j8q3.js +801 -0
- package/dist/shared/stacks-n4d8j8q3.js.map +23 -0
- package/dist/shared/{stacks-ycbq8pf7.cjs → stacks-p337hp6m.cjs} +74 -59
- package/dist/shared/{stacks-ycbq8pf7.cjs.map → stacks-p337hp6m.cjs.map} +9 -10
- package/dist/shared/{stacks-ttdk2g2f.js → stacks-s5vej5z6.cjs} +92 -41
- package/dist/shared/stacks-s5vej5z6.cjs.map +15 -0
- package/dist/shared/stacks-sdqkapct.cjs +67 -0
- package/dist/shared/stacks-sdqkapct.cjs.map +12 -0
- package/dist/shared/{stacks-1arrcd11.js → stacks-v2rfr46a.js} +2 -2
- package/dist/shared/{stacks-9mqveyjv.cjs → stacks-w9t61fra.cjs} +7 -10
- package/dist/shared/stacks-w9t61fra.cjs.map +10 -0
- package/dist/shared/{stacks-tjjnkt3r.js → stacks-wxfd6r4b.js} +2 -2
- package/dist/shared/{stacks-4z72akdf.js → stacks-x0qqwrev.js} +3 -3
- package/dist/shared/{stacks-gck1sq7h.cjs → stacks-xjkn3en1.cjs} +16 -2
- package/dist/shared/stacks-xjkn3en1.cjs.map +10 -0
- package/dist/shared/stacks-xnrywjf1.cjs +131 -0
- package/dist/shared/stacks-xnrywjf1.cjs.map +11 -0
- package/dist/shared/stacks-yajyej2y.js +139 -0
- package/dist/shared/stacks-yajyej2y.js.map +11 -0
- package/dist/shared/{stacks-913a2rx7.js → stacks-yvb7rvwk.js} +13 -3
- package/dist/shared/stacks-yvb7rvwk.js.map +10 -0
- package/dist/shared/{stacks-0cdm20eh.js → stacks-z90xdr1x.js} +7 -11
- package/dist/shared/{stacks-0cdm20eh.js.map → stacks-z90xdr1x.js.map} +3 -3
- package/dist/src/accounts/index.js +2 -3
- package/dist/src/accounts/index.js.map +2 -2
- package/dist/src/actions/index.cjs +2 -1
- package/dist/src/actions/index.cjs.map +1 -1
- package/dist/src/actions/index.d.cts +108 -20
- package/dist/src/actions/index.d.ts +108 -20
- package/dist/src/actions/index.js +17 -15
- package/dist/src/actions/index.js.map +1 -1
- package/dist/src/bitcoin/index.d.cts +27 -0
- package/dist/src/bitcoin/index.d.ts +27 -0
- package/dist/src/bitcoin/index.js +10 -11
- package/dist/src/bitcoin/index.js.map +2 -2
- package/dist/src/bns/index.d.cts +27 -0
- package/dist/src/bns/index.d.ts +27 -0
- package/dist/src/bns/index.js +13 -13
- package/dist/src/bns/index.js.map +1 -1
- package/dist/src/clarity/index.js +7 -6
- package/dist/src/clarity/index.js.map +1 -1
- package/dist/src/connect/index.cjs +44 -30
- package/dist/src/connect/index.cjs.map +7 -7
- package/dist/src/connect/index.d.cts +16 -1
- package/dist/src/connect/index.d.ts +16 -1
- package/dist/src/connect/index.js +44 -30
- package/dist/src/connect/index.js.map +7 -7
- package/dist/src/connect/walletconnect/index.cjs +49 -413
- package/dist/src/connect/walletconnect/index.cjs.map +4 -4
- package/dist/src/connect/walletconnect/index.js +47 -411
- package/dist/src/connect/walletconnect/index.js.map +4 -4
- package/dist/src/filters/index.js +2 -2
- package/dist/src/index.cjs +49 -124
- package/dist/src/index.cjs.map +6 -8
- package/dist/src/index.d.cts +163 -54
- package/dist/src/index.d.ts +163 -54
- package/dist/src/index.js +79 -147
- package/dist/src/index.js.map +6 -8
- package/dist/src/postconditions/index.js +6 -5
- package/dist/src/postconditions/index.js.map +1 -1
- package/dist/src/pox/index.cjs +7 -83
- package/dist/src/pox/index.cjs.map +3 -3
- package/dist/src/pox/index.d.cts +32 -1
- package/dist/src/pox/index.d.ts +32 -1
- package/dist/src/pox/index.js +22 -102
- package/dist/src/pox/index.js.map +3 -3
- package/dist/src/pox5/index.cjs +4 -112
- package/dist/src/pox5/index.cjs.map +3 -4
- package/dist/src/pox5/index.d.cts +27 -0
- package/dist/src/pox5/index.d.ts +27 -0
- package/dist/src/pox5/index.js +20 -131
- package/dist/src/pox5/index.js.map +3 -4
- package/dist/src/sbtc/index.cjs +2 -27
- package/dist/src/sbtc/index.cjs.map +3 -3
- package/dist/src/sbtc/index.d.cts +30 -2
- package/dist/src/sbtc/index.d.ts +30 -2
- package/dist/src/sbtc/index.js +15 -45
- package/dist/src/sbtc/index.js.map +3 -3
- package/dist/src/stackingdao/index.d.cts +27 -0
- package/dist/src/stackingdao/index.d.ts +27 -0
- package/dist/src/stackingdao/index.js +11 -11
- package/dist/src/stackingdao/index.js.map +1 -1
- package/dist/src/subscriptions/index.d.cts +27 -0
- package/dist/src/subscriptions/index.d.ts +27 -0
- package/dist/src/subscriptions/index.js +2 -2
- package/dist/src/tools/btc/index.cjs.map +2 -2
- package/dist/src/tools/btc/index.js.map +2 -2
- package/dist/src/tools/index.cjs +629 -392
- package/dist/src/tools/index.cjs.map +30 -28
- package/dist/src/tools/index.d.cts +44 -0
- package/dist/src/tools/index.d.ts +44 -0
- package/dist/src/tools/index.js +628 -391
- package/dist/src/tools/index.js.map +30 -28
- package/dist/src/transactions/index.js +6 -5
- package/dist/src/transactions/index.js.map +1 -1
- package/dist/src/utils/index.d.cts +2 -5
- package/dist/src/utils/index.d.ts +2 -5
- package/dist/src/utils/index.js +2 -2
- package/package.json +18 -7
- package/dist/shared/stacks-0eatsx6d.cjs +0 -25
- package/dist/shared/stacks-0eatsx6d.cjs.map +0 -10
- package/dist/shared/stacks-0jk7vd8r.cjs.map +0 -14
- package/dist/shared/stacks-4vzmhw3q.cjs.map +0 -10
- package/dist/shared/stacks-5nmz5ad9.js +0 -409
- package/dist/shared/stacks-5nmz5ad9.js.map +0 -10
- package/dist/shared/stacks-709tra19.js.map +0 -10
- package/dist/shared/stacks-8pfdscq6.js.map +0 -12
- package/dist/shared/stacks-913a2rx7.js.map +0 -10
- package/dist/shared/stacks-9mqveyjv.cjs.map +0 -10
- package/dist/shared/stacks-e4xn4m7j.js +0 -27
- package/dist/shared/stacks-e4xn4m7j.js.map +0 -10
- package/dist/shared/stacks-fb75yew8.js.map +0 -21
- package/dist/shared/stacks-gck1sq7h.cjs.map +0 -10
- package/dist/shared/stacks-gxq2pbky.js.map +0 -13
- package/dist/shared/stacks-jpt52csy.js.map +0 -10
- package/dist/shared/stacks-mnnhpex3.cjs +0 -407
- package/dist/shared/stacks-mnnhpex3.cjs.map +0 -10
- package/dist/shared/stacks-tdsp5gsb.cjs +0 -527
- package/dist/shared/stacks-tdsp5gsb.cjs.map +0 -21
- package/dist/shared/stacks-ttdk2g2f.js.map +0 -14
- package/dist/shared/stacks-wdp5yr8n.cjs +0 -39
- package/dist/shared/stacks-wdp5yr8n.cjs.map +0 -12
- /package/dist/shared/{stacks-w23294am.js.map → stacks-51ybf135.js.map} +0 -0
- /package/dist/shared/{stacks-zcpvzbr0.js.map → stacks-8brgfvqx.js.map} +0 -0
- /package/dist/shared/{stacks-hnqt5rz4.js.map → stacks-9c1yam8b.js.map} +0 -0
- /package/dist/shared/{stacks-08y0y0t7.js.map → stacks-gjz26k6b.js.map} +0 -0
- /package/dist/shared/{stacks-ztzygy90.js.map → stacks-mftyrc60.js.map} +0 -0
- /package/dist/shared/{stacks-1arrcd11.js.map → stacks-v2rfr46a.js.map} +0 -0
- /package/dist/shared/{stacks-tjjnkt3r.js.map → stacks-wxfd6r4b.js.map} +0 -0
- /package/dist/shared/{stacks-4z72akdf.js.map → stacks-x0qqwrev.js.map} +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../src/pox5/constants.ts", "../src/pox5/activation.ts", "../src/pox5/errors.ts", "../src/pox5/abi.ts", "../src/pox5/actions.ts", "../src/pox5/cycles.ts", "../src/pox5/eligibility.ts", "../src/pox5/script.ts", "../src/pox5/grants.ts", "../src/pox5/lockProof.ts", "../src/pox5/reclaim.ts", "../src/pox5/extension.ts", "../src/pox5/
|
|
3
|
+
"sources": ["../src/pox5/constants.ts", "../src/pox5/activation.ts", "../src/pox5/errors.ts", "../src/pox5/abi.ts", "../src/pox5/actions.ts", "../src/pox5/cycles.ts", "../src/pox5/eligibility.ts", "../src/pox5/script.ts", "../src/pox5/grants.ts", "../src/pox5/lockProof.ts", "../src/pox5/reclaim.ts", "../src/pox5/extension.ts", "../src/pox5/signerCalldata.ts"],
|
|
4
4
|
"sourcesContent": [
|
|
5
5
|
"/**\n * PoX-5 (SIP-045 Bitcoin Staking) constants, pinned against the final\n * contract shipped in stacks-core 4.0.1 (`stackslib/.../boot/pox-5.clar`);\n * `scripts/ci/check-pox5-pin.ts` holds the pinned tag + content hash.\n */\n\nimport { EPOCH_4_ACTIVATION_BURN_HEIGHT_MAINNET } from \"../epochs.ts\";\n\n/** Boot contract name; deployer is the chain's boot address. */\nexport const POX5_CONTRACT_NAME = \"pox-5\";\n\n/** Fully-qualified mainnet contract id (boot address + `pox-5`). */\nexport const POX5_CONTRACT_ID_MAINNET: string = `SP000000000000000000002Q6VF78.${POX5_CONTRACT_NAME}`;\n\n/**\n * All print-event topic strings emitted by `pox-5.clar`. Unlike pox-2/3/4,\n * pox-5 has NO node-synthesized events — every event is a real `(print ...)`\n * with these `topic` values and the remaining tuple fields flattened at the\n * top level via `merge` (not nested under a `data` key).\n *\n * `add-to-allowlist` and `bond-distribution` are emitted per-item inside\n * folds (`setup-bond` / `calculate-rewards`), so one transaction can carry\n * many prints.\n */\nexport const POX5_EVENT_TOPICS = [\n\t\"set-bond-admin\",\n\t\"set-pause-admin\",\n\t\"pause-rewards\",\n\t\"setup-bond\",\n\t\"add-to-allowlist\",\n\t\"register-for-bond\",\n\t\"update-bond-registration\",\n\t\"register-signer\",\n\t\"stake\",\n\t\"stake-update\",\n\t\"announce-l1-early-exit\",\n\t\"unstake-sbtc\",\n\t\"unstake\",\n\t\"calculate-rewards\",\n\t\"bond-distribution\",\n\t\"claim-rewards\",\n\t\"claim-staker-rewards-for-signer\",\n\t\"grant-signer-key\",\n\t\"revoke-signer-grant\",\n] as const;\n\nexport type Pox5EventTopic = (typeof POX5_EVENT_TOPICS)[number];\n\n/**\n * Epoch 4.0 hard-fork activation height on mainnet — see\n * {@link EPOCH_4_ACTIVATION_BURN_HEIGHT_MAINNET}. Prefer the runtime gate in\n * `activation.ts` (`getPox5Activation`), which reads the node's `/v2/pox` and\n * works on every network.\n */\nexport const POX5_ACTIVATION_BURN_HEIGHT_MAINNET: typeof EPOCH_4_ACTIVATION_BURN_HEIGHT_MAINNET =\n\tEPOCH_4_ACTIVATION_BURN_HEIGHT_MAINNET;\n\n/** Length of a paired-BTC bond, in reward cycles (`BOND_LENGTH_CYCLES`). */\nexport const BOND_LENGTH_CYCLES = 12;\n\n/** Gap between consecutive bond starts, in reward cycles (`BOND_GAP_CYCLES`). */\nexport const BOND_GAP_CYCLES = 2;\n\n/** Hard cap for STX-only stake duration, in cycles (`MAX_NUM_CYCLES`). */\nexport const MAX_NUM_CYCLES = 96;\n\n/** SIP-018 domain for signer-key grants (`POX_5_SIGNER_DOMAIN`). */\nexport const POX5_SIGNER_DOMAIN = {\n\tname: \"pox-5-signer\",\n\tversion: \"1.0.0\",\n} as const;\n\n/**\n * `serialize-c-script-num` rejects values at or above 2^39 — the ceiling of a\n * 5-byte minimally-encoded ScriptNum (`ERR_INVALID_UNLOCK_HEIGHT`).\n */\nexport const C_SCRIPT_NUM_MAX = 549_755_813_888n; // 2^39\n\n/**\n * Bitcoin treats CLTV values >= 500,000,000 as Unix timestamps (BIP-65); the\n * contract rejects unlock heights at or above this so a lockup can never\n * commit a height Bitcoin would reinterpret.\n */\nexport const BITCOIN_LOCKTIME_THRESHOLD = 500_000_000n;\n",
|
|
6
6
|
"import type { Client } from \"../clients/types.ts\";\nimport { POX5_CONTRACT_NAME } from \"./constants.ts\";\n\n/**\n * Chain-reported PoX-5 activation facts, read from the node's `/v2/pox`\n * `contract_versions[]`. Present the moment nodes run stacks-core >= 4.0.0 —\n * no hardcoded heights, works on any network.\n */\nexport type Pox5Activation = {\n\t/** Fully-qualified `pox-5` contract id (boot address differs per network). */\n\tcontractId: string;\n\t/** Bitcoin block height at which Epoch 4.0 (and pox-5) activates. */\n\tactivationBurnchainBlockHeight: number;\n\t/** First reward cycle in which pox-5 governs PoX. */\n\tfirstRewardCycleId: number;\n};\n\ntype PoxInfoResponse = {\n\tcontract_id?: string;\n\tcurrent_burnchain_block_height?: number;\n\tfirst_burnchain_block_height?: number;\n\tpox_5_sbtc_contract?: string;\n\tpox_5_sbtc_registry_contract?: string;\n\tcontract_versions?: Array<{\n\t\tcontract_id: string;\n\t\tactivation_burnchain_block_height: number;\n\t\tfirst_reward_cycle_id: number;\n\t}>;\n};\n\n/**\n * `/v2/pox` fields a pox-5 integration actually needs. `sbtcContract` is\n * compiled into the boot contract per network — never hardcode it.\n */\nexport type Pox5Info = {\n\tcontractId?: string;\n\tcurrentBurnchainBlockHeight?: number;\n\tfirstBurnchainBlockHeight?: number;\n\t/** Token principal pox-5 custodies. Read this for sBTC post-conditions. */\n\tsbtcContract?: string;\n\tsbtcRegistryContract?: string;\n\tcontractVersions: Array<{\n\t\tcontractId: string;\n\t\tactivationBurnchainBlockHeight: number;\n\t\tfirstRewardCycleId: number;\n\t}>;\n};\n\nexport async function getPoxInfo(client: Client): Promise<Pox5Info> {\n\tconst info = (await client.request(\"/v2/pox\", {\n\t\tmethod: \"GET\",\n\t})) as PoxInfoResponse;\n\treturn {\n\t\tcontractId: info.contract_id,\n\t\tcurrentBurnchainBlockHeight: info.current_burnchain_block_height,\n\t\tfirstBurnchainBlockHeight: info.first_burnchain_block_height,\n\t\tsbtcContract: info.pox_5_sbtc_contract,\n\t\tsbtcRegistryContract: info.pox_5_sbtc_registry_contract,\n\t\tcontractVersions: (info.contract_versions ?? []).map((v) => ({\n\t\t\tcontractId: v.contract_id,\n\t\t\tactivationBurnchainBlockHeight: v.activation_burnchain_block_height,\n\t\t\tfirstRewardCycleId: v.first_reward_cycle_id,\n\t\t})),\n\t};\n}\n\n/**\n * Read pox-5's activation entry from the node. Returns `undefined` when the\n * node doesn't know about pox-5 yet (pre-4.0.0 node software).\n */\nexport async function getPox5Activation(\n\tclient: Client,\n): Promise<Pox5Activation | undefined> {\n\tconst info = (await client.request(\"/v2/pox\", {\n\t\tmethod: \"GET\",\n\t})) as PoxInfoResponse;\n\tconst entry = info.contract_versions?.find((v) =>\n\t\tv.contract_id.endsWith(`.${POX5_CONTRACT_NAME}`),\n\t);\n\tif (!entry) return undefined;\n\treturn {\n\t\tcontractId: entry.contract_id,\n\t\tactivationBurnchainBlockHeight: entry.activation_burnchain_block_height,\n\t\tfirstRewardCycleId: entry.first_reward_cycle_id,\n\t};\n}\n\n/**\n * Whether pox-5 is live on the node's chain: the node software knows the\n * contract AND the burnchain has reached its activation height. One request.\n */\nexport async function isPox5Active(client: Client): Promise<boolean> {\n\tconst info = (await client.request(\"/v2/pox\", {\n\t\tmethod: \"GET\",\n\t})) as PoxInfoResponse;\n\tconst entry = info.contract_versions?.find((v) =>\n\t\tv.contract_id.endsWith(`.${POX5_CONTRACT_NAME}`),\n\t);\n\tif (!entry || typeof info.current_burnchain_block_height !== \"number\")\n\t\treturn false;\n\treturn (\n\t\tinfo.current_burnchain_block_height >=\n\t\tentry.activation_burnchain_block_height\n\t);\n}\n\n/** Throw a descriptive error unless pox-5 is active on the client's chain. */\nexport async function assertPox5Active(client: Client): Promise<void> {\n\tif (!(await isPox5Active(client))) {\n\t\tthrow new Error(\n\t\t\t\"pox-5 is not active on this chain yet (Epoch 4.0 activates at Bitcoin block 960,230 on mainnet, ~2026-07-29). \" +\n\t\t\t\t\"Check getPox5Activation(client) for this network's activation height.\",\n\t\t);\n\t}\n}\n",
|
|
@@ -14,10 +14,9 @@
|
|
|
14
14
|
"import { sha256 } from \"@noble/hashes/sha2.js\";\nimport {\n\ttype ProofSource,\n\ttype SpvProof,\n\tbuildTxProof,\n} from \"../bitcoin/proof.ts\";\nimport { parseBitcoinTx, stripWitness } from \"../bitcoin/serialize.ts\";\nimport {\n\ttype IntegerType,\n\tbytesToHex,\n\tconcatBytes,\n} from \"../utils/encoding.ts\";\nimport type { L1LockupOutput } from \"./actions.ts\";\n\n/** pox-5 ABI: `(list 14 (buff 32))`. SIP-044 allows 24; we throw rather than truncate. */\nconst MAX_LEAF_HASHES = 14;\n\n/** P2WSH scriptPubKey: `0x0020 || sha256(witness script)`. */\nfunction lockupScriptPubKey(lockScript: Uint8Array): Uint8Array {\n\treturn concatBytes(Uint8Array.of(0x00, 0x20), sha256(lockScript));\n}\n\nfunction scriptsEqual(a: Uint8Array, b: Uint8Array): boolean {\n\treturn bytesToHex(a) === bytesToHex(b);\n}\n\n/**\n * Map a generic SIP-044 `SpvProof` onto pox-5's `L1LockupOutput`.\n * Witness is stripped, the lockup vout is resolved against the P2WSH\n * of `lockScript`, and more than {@link MAX_LEAF_HASHES} siblings throws.\n */\nexport function spvProofToL1LockupOutput(opts: {\n\tproof: SpvProof;\n\t/** Witness script; hashed to match the P2WSH lockup output. */\n\tlockScript: Uint8Array;\n\tunlockBurnHeight: IntegerType;\n\t/** Default: `proof.vout`, else the unique matching output. */\n\tvout?: number;\n}): L1LockupOutput {\n\tconst { proof, lockScript, unlockBurnHeight } = opts;\n\tconst tx = stripWitness(proof.rawTx);\n\tconst parsed = parseBitcoinTx(proof.rawTx);\n\tconst expected = lockupScriptPubKey(lockScript);\n\n\tlet outputIndex = opts.vout ?? proof.vout;\n\tif (outputIndex === undefined) {\n\t\tconst matches: number[] = [];\n\t\tfor (let i = 0; i < parsed.outputs.length; i++) {\n\t\t\tconst spk = parsed.outputs[i]?.scriptPubKey;\n\t\t\tif (spk && scriptsEqual(spk, expected)) matches.push(i);\n\t\t}\n\t\tif (matches.length !== 1) {\n\t\t\tthrow new Error(\n\t\t\t\t`spvProofToL1LockupOutput: expected exactly one matching lockup output, found ${matches.length}`,\n\t\t\t);\n\t\t}\n\t\toutputIndex = matches[0] as number;\n\t}\n\n\tconst output = parsed.outputs[outputIndex];\n\tif (!output) {\n\t\tthrow new Error(\n\t\t\t`spvProofToL1LockupOutput: output ${outputIndex} is out of range (${parsed.outputs.length} outputs)`,\n\t\t);\n\t}\n\tif (!scriptsEqual(output.scriptPubKey, expected)) {\n\t\tthrow new Error(\"lockup output script does not match\");\n\t}\n\n\tconst leafHashes = proof.merkle.siblings;\n\tif (leafHashes.length > MAX_LEAF_HASHES) {\n\t\tthrow new Error(\n\t\t\t`spvProofToL1LockupOutput: ${leafHashes.length} merkle siblings; pox-5 accepts at most ${MAX_LEAF_HASHES}`,\n\t\t);\n\t}\n\n\treturn {\n\t\theight: proof.height,\n\t\ttx,\n\t\toutputIndex,\n\t\theader: proof.header,\n\t\tleafHashes,\n\t\ttxCount: proof.merkle.txCount,\n\t\ttxIndex: proof.merkle.txIndex,\n\t\tamount: output.value,\n\t\tunlockBurnHeight,\n\t};\n}\n\n/**\n * Fetch a SIP-044 proof from `source` and map it onto pox-5's lockup shape.\n * `source` is required — no hosted Esplora default.\n */\nexport async function buildPox5LockProof(opts: {\n\tsource: ProofSource;\n\ttxid: string;\n\tlockScript: Uint8Array;\n\tunlockBurnHeight: IntegerType;\n\tvout?: number;\n}): Promise<L1LockupOutput> {\n\tconst proof = await buildTxProof(opts.source, {\n\t\ttxid: opts.txid,\n\t\tvout: opts.vout,\n\t});\n\treturn spvProofToL1LockupOutput({\n\t\tproof,\n\t\tlockScript: opts.lockScript,\n\t\tunlockBurnHeight: opts.unlockBurnHeight,\n\t\tvout: opts.vout,\n\t});\n}\n",
|
|
15
15
|
"import { sha256 } from \"@noble/hashes/sha2.js\";\nimport * as btc from \"@scure/btc-signer\";\nimport { signECDSA } from \"@scure/btc-signer/utils.js\";\nimport type { BitcoinNetwork } from \"../bitcoin/constants.ts\";\nimport {\n\ttype IntegerType,\n\tbytesToHex,\n\tconcatBytes,\n\thexToBytes,\n\tintToBigInt,\n} from \"../utils/encoding.ts\";\nimport { stakerPreimage } from \"./script.ts\";\n\n/**\n * Spend a pox-5 P2WSH lockup back out.\n *\n * Two paths through the lockup script (mirror of `construct-lockup-script`):\n * - `'locktime'` — CLTV exit (`OP_IF`), single-sig, spendable once the burn\n * height is past the lock's unlock height.\n * - `'early-exit'` — cosigned exit (`OP_ELSE`), 2-of-2 staker + bond cosigner.\n * Valid only after `announce-l1-early-exit` on Stacks; this helper spends the\n * UTXO and does not announce.\n */\nexport type ReclaimPath = \"locktime\" | \"early-exit\";\n\nconst SIGHASH_ALL = 1;\n/** Conservative dust limit (the 546-sat P2PKH bound covers all output types). */\nconst DUST_LIMIT_SATS = 546n;\n/** Empty witness item — selects the `OP_ELSE` (early-exit) branch. */\nconst ELSE_SELECTOR = new Uint8Array(0);\n/** Truthy witness item — selects the `OP_IF` (CLTV) branch. */\nconst IF_SELECTOR = new Uint8Array([0x01]);\n/** Custom-script spend; let btc-signer carry it unvalidated. */\nconst TX_OPTS = {\n\tallowUnknownOutputs: true,\n\tdisableScriptCheck: true,\n\tallowUnknownInputs: true,\n} as const;\n\nconst REGTEST_NETWORK = { ...btc.TEST_NETWORK, bech32: \"bcrt\" };\n\nfunction btcNetworkFrom(network: BitcoinNetwork): typeof btc.NETWORK {\n\tif (network === \"mainnet\") return btc.NETWORK;\n\tif (network === \"testnet\") return btc.TEST_NETWORK;\n\treturn REGTEST_NETWORK;\n}\n\nfunction toBytes(value: Uint8Array | string): Uint8Array {\n\treturn typeof value === \"string\" ? hexToBytes(value) : value;\n}\n\nfunction toPrivBytes(value: Uint8Array | string): Uint8Array {\n\treturn toBytes(value).slice(0, 32);\n}\n\nfunction bytesEqual(a: Uint8Array, b: Uint8Array): boolean {\n\treturn bytesToHex(a) === bytesToHex(b);\n}\n\n/** P2WSH `scriptPubKey`: `0x0020 || sha256(lockScript)`. */\nfunction scriptToWshOutput(lockScript: Uint8Array): Uint8Array {\n\treturn concatBytes(Uint8Array.of(0x00, 0x20), sha256(lockScript));\n}\n\n/** Ops in the fixed lockup scaffold before the early-unlock subscript. */\nconst SCAFFOLD_PREFIX_LEN = 10;\n\n/**\n * Split a lockup witness script on the `construct-lockup-script` scaffold so\n * each subscript's keys stay attributed to the right party. Locate\n * `OP_ENDIF OP_VERIFY` from the end — a subscript may contain conditionals of\n * its own.\n *\n * @throws if the script is not a pox-5 lockup script.\n */\nfunction decodeLockScript(script: Uint8Array): {\n\tstakerPubs: Uint8Array[];\n\tcosignerPubs: Uint8Array[];\n\tunlockHeight?: number;\n} {\n\tconst ops = btc.Script.decode(script);\n\n\tconst endifIdx = ops.reduce<number>(\n\t\t(found, op, i) => (op === \"ENDIF\" && ops[i + 1] === \"VERIFY\" ? i : found),\n\t\t-1,\n\t);\n\n\tconst hashOp = ops[8];\n\tconst shapeOk =\n\t\tendifIdx >= SCAFFOLD_PREFIX_LEN &&\n\t\tops[0] === \"IF\" &&\n\t\tops[2] === \"CHECKLOCKTIMEVERIFY\" &&\n\t\tops[3] === \"ELSE\" &&\n\t\tops[4] === \"SIZE\" &&\n\t\tops[6] === \"EQUALVERIFY\" &&\n\t\tops[7] === \"SHA256\" &&\n\t\thashOp instanceof Uint8Array &&\n\t\thashOp.length === 32 &&\n\t\tops[9] === \"EQUALVERIFY\";\n\tif (!shapeOk) {\n\t\tthrow new Error(\n\t\t\t\"reclaim: lockScript is not a pox-5 lockup script (expected the OP_IF/OP_ELSE … OP_ENDIF OP_VERIFY scaffold)\",\n\t\t);\n\t}\n\n\tconst keysIn = (slice: btc.ScriptType) =>\n\t\tslice.filter(\n\t\t\t(op): op is Uint8Array => op instanceof Uint8Array && op.length === 33,\n\t\t);\n\n\tconst heightOp = ops[1];\n\tconst unlockHeight =\n\t\ttypeof heightOp === \"number\"\n\t\t\t? heightOp\n\t\t\t: heightOp instanceof Uint8Array\n\t\t\t\t? Number(btc.ScriptNum().decode(heightOp))\n\t\t\t\t: undefined;\n\n\treturn {\n\t\tcosignerPubs: keysIn(ops.slice(SCAFFOLD_PREFIX_LEN, endifIdx)),\n\t\tstakerPubs: keysIn(ops.slice(endifIdx + 2)),\n\t\tunlockHeight,\n\t};\n}\n\n/** Confirmed lockup UTXO (esplora / mempool.space shape). */\nexport type ReclaimUtxo = {\n\ttxid: string;\n\tvout: number;\n\tvalue: IntegerType;\n\t/** Cross-check only; re-derived from `lockScript` when omitted. */\n\tscriptPubKey?: Uint8Array;\n};\n\n/** Inputs to {@link buildReclaim}. */\nexport type BuildReclaimOpts = {\n\tpath: ReclaimPath;\n\tutxo: ReclaimUtxo;\n\tnetwork: BitcoinNetwork;\n\t/**\n\t * Sweep output: `value - feeSats` pays `address`. Mutate the returned tx's\n\t * outputs before signing if needed (`SIGHASH_ALL` commits to them).\n\t */\n\toutput: { address: string; feeSats: IntegerType };\n\t/**\n\t * The lockup `witnessScript` — pass the bytes you funded (typically\n\t * `buildLockupScript(...)` / `RegisterMetadata.lockScript`). The CLTV\n\t * unlock height is decoded from it.\n\t */\n\tlockScript: Uint8Array | string;\n};\n\n/**\n * Build the unsigned reclaim transaction (a `@scure/btc-signer` `Transaction`).\n *\n * One P2WSH input with `witnessUtxo` + `witnessScript` so the tx is a complete\n * PSBT (`toPSBT` / `fromPSBT` round-trip). HSM path: `buildReclaim` →\n * `tx.signIdx` or {@link computeReclaimSighash} + detached `partialSig` →\n * {@link finalizeReclaim}.\n *\n * - `path: \"early-exit\"` → `sequence = 0xffffffff`, `lockTime = 0`\n * - `path: \"locktime\"` → `sequence = 0xfffffffe`, `lockTime = unlockHeight`\n */\nexport function buildReclaim(opts: BuildReclaimOpts): btc.Transaction {\n\tconst network = btcNetworkFrom(opts.network);\n\tconst lockScript = toBytes(opts.lockScript);\n\tconst { unlockHeight: scriptHeight } = decodeLockScript(lockScript);\n\n\tconst amount = intToBigInt(opts.utxo.value);\n\tconst { address } = opts.output;\n\tconst feeSats = intToBigInt(opts.output.feeSats);\n\n\tif (feeSats < 0n) {\n\t\tthrow new Error(`buildReclaim: feeSats (${feeSats}) must be non-negative`);\n\t}\n\n\tconst outputScript = scriptToWshOutput(lockScript);\n\tif (\n\t\topts.utxo.scriptPubKey &&\n\t\t!bytesEqual(opts.utxo.scriptPubKey, outputScript)\n\t) {\n\t\tthrow new Error(\n\t\t\t\"buildReclaim: utxo.scriptPubKey does not match the lockScript — the signature would commit to the wrong output and every reclaim attempt would fail at relay\",\n\t\t);\n\t}\n\n\tconst sweepSats = amount - feeSats;\n\tif (sweepSats <= 0n) {\n\t\tthrow new Error(`buildReclaim: fee (${feeSats}) >= utxo value (${amount})`);\n\t}\n\tif (sweepSats < DUST_LIMIT_SATS) {\n\t\tthrow new Error(\n\t\t\t`buildReclaim: sweep of ${sweepSats} sats is below the ${DUST_LIMIT_SATS}-sat dust limit — nodes would not relay the tx`,\n\t\t);\n\t}\n\n\tconst earlyExit = opts.path === \"early-exit\";\n\tif (!earlyExit && scriptHeight == null) {\n\t\tthrow new Error(\n\t\t\t\"buildReclaim: the locktime path needs a lockScript that encodes a CLTV unlock height\",\n\t\t);\n\t}\n\tconst lockTime = earlyExit ? 0 : scriptHeight;\n\n\tconst tx = new btc.Transaction({ ...TX_OPTS, lockTime });\n\ttx.addInput({\n\t\ttxid: opts.utxo.txid,\n\t\tindex: opts.utxo.vout,\n\t\tsequence: earlyExit ? 0xffffffff : 0xfffffffe,\n\t\twitnessUtxo: { script: outputScript, amount },\n\t\twitnessScript: lockScript,\n\t});\n\ttx.addOutputAddress(address, sweepSats, network);\n\treturn tx;\n}\n\n/**\n * Input-0 BIP-143 sighash for a reclaim tx.\n *\n * In-process keys should prefer `tx.signIdx(privateKey, 0)`. This helper is\n * for HSMs / MPC that sign a bare digest, and for passing the early-exit\n * sighash between parties. Recompute after any output/fee change.\n *\n * Reads `witnessScript` + amount off the tx (set by {@link buildReclaim});\n * pass `opts` to re-supply them for a tx parsed from raw hex.\n */\nexport function computeReclaimSighash(\n\ttx: btc.Transaction,\n\topts?: { witnessScript?: Uint8Array | string; amountSats?: IntegerType },\n): Uint8Array {\n\tconst input = tx.getInput(0);\n\tconst witnessScript =\n\t\topts?.witnessScript != null\n\t\t\t? toBytes(opts.witnessScript)\n\t\t\t: input.witnessScript;\n\tconst amount =\n\t\topts?.amountSats != null\n\t\t\t? intToBigInt(opts.amountSats)\n\t\t\t: input.witnessUtxo?.amount;\n\tif (!witnessScript || amount == null) {\n\t\tthrow new Error(\n\t\t\t\"computeReclaimSighash: need witnessScript + amount (pass `opts` for a raw-hex tx)\",\n\t\t);\n\t}\n\treturn tx.preimageWitnessV0(0, witnessScript, SIGHASH_ALL, amount);\n}\n\n/**\n * Sign a reclaim sighash with a software key: DER + trailing `SIGHASH_ALL`.\n * `lowR` defaults to `false` to match btc-signer's `signIdx`. Kept as the\n * software stand-in for a detached signer (HSM tests).\n */\nexport function signReclaim(\n\tsighash: Uint8Array,\n\tprivateKey: Uint8Array | string,\n\topts?: { lowR?: boolean },\n): Uint8Array {\n\tconst priv = toPrivBytes(privateKey);\n\treturn concatBytes(\n\t\tsignECDSA(sighash, priv, opts?.lowR ?? false),\n\t\tUint8Array.of(SIGHASH_ALL),\n\t);\n}\n\n/** Arguments to {@link finalizeReclaim}, discriminated on the spend path. */\nexport type FinalizeReclaimOpts =\n\t| {\n\t\t\tpath: \"early-exit\";\n\t\t\ttx: btc.Transaction;\n\t\t\t/** Staker principal — rebuilds the 32-byte preimage the `OP_ELSE` branch reveals. */\n\t\t\tstxAddress: string;\n\t }\n\t| { path: \"locktime\"; tx: btc.Transaction };\n\n/**\n * Assemble the custom IF/ELSE witness from signatures already on the tx.\n *\n * btc-signer's own finalizer cannot build this script, so we splice\n * `finalScriptWitness` directly. Does not broadcast.\n *\n * - locktime: `[stakerSig, 0x01, witnessScript]`\n * - early-exit: `[stakerSig, cosignerSig, preimage, <empty>, witnessScript]`\n */\nexport function finalizeReclaim(opts: FinalizeReclaimOpts): {\n\ttxHex: string;\n\ttxid: string;\n} {\n\tconst { tx } = opts;\n\tconst witnessScript = tx.getInput(0).witnessScript;\n\tif (!witnessScript)\n\t\tthrow new Error(\"finalizeReclaim: input 0 has no witnessScript\");\n\n\ttx.updateInput(\n\t\t0,\n\t\t{ finalScriptWitness: reclaimWitness(opts, witnessScript) },\n\t\ttrue,\n\t);\n\tif (!tx.isFinal)\n\t\tthrow new Error(\"finalizeReclaim: witness injection failed (tx not final)\");\n\treturn { txHex: tx.hex, txid: tx.id };\n}\n\nfunction reclaimWitness(\n\topts: FinalizeReclaimOpts,\n\twitnessScript: Uint8Array,\n): Uint8Array[] {\n\tconst sigs = opts.tx.getInput(0).partialSig ?? [];\n\tconst { stakerPubs, cosignerPubs } = decodeLockScript(witnessScript);\n\n\tif (stakerPubs.length !== 1) {\n\t\tthrow new Error(\n\t\t\t`finalizeReclaim: expected exactly one staker public key in the lockup script, found ${stakerPubs.length} — multi-key subscripts are not supported`,\n\t\t);\n\t}\n\tconst stakerPub = stakerPubs[0];\n\tif (!stakerPub) {\n\t\tthrow new Error(\n\t\t\t\"finalizeReclaim: expected exactly one staker public key in the lockup script, found 0 — multi-key subscripts are not supported\",\n\t\t);\n\t}\n\n\tconst sigFor = (pub: Uint8Array) =>\n\t\tsigs.find(([p]) => p !== undefined && bytesEqual(p, pub))?.[1];\n\n\tconst stakerSig = sigFor(stakerPub);\n\tif (!stakerSig)\n\t\tthrow new Error(\"finalizeReclaim: missing staker signature (partialSig)\");\n\n\tif (opts.path === \"locktime\") return [stakerSig, IF_SELECTOR, witnessScript];\n\n\tif (cosignerPubs.length !== 1) {\n\t\tthrow new Error(\n\t\t\t`finalizeReclaim: expected exactly one cosigner public key in the lockup script, found ${cosignerPubs.length} — multi-key subscripts are not supported`,\n\t\t);\n\t}\n\tconst cosignerPub = cosignerPubs[0];\n\tif (!cosignerPub) {\n\t\tthrow new Error(\n\t\t\t\"finalizeReclaim: expected exactly one cosigner public key in the lockup script, found 0 — multi-key subscripts are not supported\",\n\t\t);\n\t}\n\tconst cosignerSig = sigFor(cosignerPub);\n\tif (!cosignerSig)\n\t\tthrow new Error(\"finalizeReclaim: missing cosigner signature (partialSig)\");\n\treturn [\n\t\tstakerSig,\n\t\tcosignerSig,\n\t\tstakerPreimage(opts.stxAddress),\n\t\tELSE_SELECTOR,\n\t\twitnessScript,\n\t];\n}\n\nexport type ReclaimOpts = BuildReclaimOpts & {\n\t/** 32-byte BTC private key (raw bytes or hex). Not a Stacks account key. */\n\tstakerPrivateKey: Uint8Array | string;\n\t/** Required for `path: \"early-exit\"`. */\n\tcosignerPrivateKey?: Uint8Array | string;\n\t/** Required for `path: \"early-exit\"` — feeds {@link stakerPreimage}. */\n\tstxAddress?: string;\n};\n\n/**\n * One-shot reclaim for in-process BTC keys: build + signIdx + finalize.\n * Does not broadcast; the caller relays `txHex`.\n */\nexport function reclaim(opts: ReclaimOpts): { txHex: string; txid: string } {\n\tconst tx = buildReclaim(opts);\n\ttx.signIdx(toPrivBytes(opts.stakerPrivateKey), 0);\n\tif (opts.path === \"early-exit\") {\n\t\tif (opts.cosignerPrivateKey == null) {\n\t\t\tthrow new Error(\n\t\t\t\t'reclaim: cosignerPrivateKey is required for path \"early-exit\"',\n\t\t\t);\n\t\t}\n\t\tif (opts.stxAddress == null) {\n\t\t\tthrow new Error(\n\t\t\t\t'reclaim: stxAddress is required for path \"early-exit\" (preimage)',\n\t\t\t);\n\t\t}\n\t\ttx.signIdx(toPrivBytes(opts.cosignerPrivateKey), 0);\n\t\treturn finalizeReclaim({\n\t\t\tpath: \"early-exit\",\n\t\t\ttx,\n\t\t\tstxAddress: opts.stxAddress,\n\t\t});\n\t}\n\treturn finalizeReclaim({ path: \"locktime\", tx });\n}\n",
|
|
16
16
|
"import { multicall } from \"../actions/public/multicall.ts\";\nimport type { ProofSource } from \"../bitcoin/proof.ts\";\nimport type { ClarityValue } from \"../clarity/types.ts\";\nimport { Cl } from \"../clarity/values.ts\";\nimport type { Client } from \"../clients/types.ts\";\nimport type { IntegerType } from \"../utils/encoding.ts\";\nimport {\n\ttype AnnounceL1EarlyExitParams,\n\ttype CalculateRewardsParams,\n\ttype ClaimRewardsParams,\n\ttype ClaimStakerRewardsForSignerParams,\n\ttype GrantSignerKeyParams,\n\ttype L1LockupOutput,\n\ttype PauseRewardsParams,\n\ttype RegisterForBondParams,\n\ttype RevokeSignerGrantParams,\n\ttype SetBondAdminParams,\n\ttype SetPauseAdminParams,\n\ttype SetupBondParams,\n\ttype StakeParams,\n\ttype StakeUpdateParams,\n\ttype UnstakeParams,\n\ttype UnstakeSbtcParams,\n\ttype UpdateBondRegistrationParams,\n\tannounceL1EarlyExit,\n\tcalculateRewards,\n\tclaimRewards,\n\tclaimStakerRewardsForSigner,\n\tgetBondAllowance,\n\tgetBondL1UnlockHeight,\n\tgetBondMembership,\n\tgetCurrentRewardCycle,\n\tgetEarned,\n\tgetEarnedStakerRewards,\n\tgetFirstPox5RewardCycle,\n\tgetLastRewardComputeHeight,\n\tgetProtocolBond,\n\tgetSignerInfo,\n\tgetStakerCustodiedSbtc,\n\tgetStakerInfo,\n\tgetTotalSbtcStakedForBond,\n\tgetTotalSharesStakedForCycle,\n\tgrantSignerKey,\n\thasAnnouncedL1EarlyExit,\n\tpauseRewards,\n\tpox5ContractId,\n\tregisterForBond,\n\trevokeSignerGrant,\n\tsetBondAdmin,\n\tsetPauseAdmin,\n\tsetupBond,\n\tstake,\n\tstakeUpdate,\n\tunstake,\n\tunstakeSbtc,\n\tupdateBondRegistration,\n\tverifySignerKeyGrantOnChain,\n} from \"./actions.ts\";\nimport {\n\ttype Pox5Activation,\n\ttype Pox5Info,\n\tgetPox5Activation,\n\tgetPoxInfo,\n\tisPox5Active,\n} from \"./activation.ts\";\nimport {\n\ttype EligibilityResult,\n\ttype EligibleAdminParams,\n\ttype EligibleClaimRewardsParams,\n\ttype EligibleGrantSignerKeyParams,\n\ttype EligibleRegisterForBondParams,\n\ttype EligibleStakeParams,\n\ttype EligibleUnstakeParams,\n\ttype EligibleUnstakeSbtcParams,\n\teligibleClaimRewards,\n\teligibleGrantSignerKey,\n\teligiblePauseRewards,\n\teligibleRegisterForBond,\n\teligibleSetBondAdmin,\n\teligibleStake,\n\teligibleUnstake,\n\teligibleUnstakeSbtc,\n} from \"./eligibility.ts\";\nimport { buildPox5LockProof } from \"./lockProof.ts\";\nimport type {\n\tBondAllowance,\n\tBondMembership,\n\tProtocolBond,\n\tSignerInfo,\n\tStakerInfo,\n} from \"./types.ts\";\n\n/**\n * A staker's whole PoX-5 position in ONE batched request: staker info, bond\n * membership, custodied sBTC, and the current cycle — the state a dashboard\n * or agent polls, without four round-trips.\n */\nexport type StakerState = {\n\tstakerInfo: ClarityValue;\n\tbondMembership: ClarityValue;\n\tcustodiedSbtc: ClarityValue;\n\tcurrentCycle: ClarityValue;\n};\n\nasync function getStakerState(\n\tclient: Client,\n\tstaker: string,\n): Promise<StakerState> {\n\tconst contract = pox5ContractId(client);\n\tconst results = await multicall(client, {\n\t\tallowFailure: false,\n\t\tcalls: [\n\t\t\t{\n\t\t\t\tcontract,\n\t\t\t\tfunctionName: \"get-staker-info\",\n\t\t\t\targs: [Cl.principal(staker)],\n\t\t\t},\n\t\t\t{\n\t\t\t\tcontract,\n\t\t\t\tfunctionName: \"get-bond-membership\",\n\t\t\t\targs: [Cl.principal(staker)],\n\t\t\t},\n\t\t\t{\n\t\t\t\tcontract,\n\t\t\t\tfunctionName: \"get-staker-custodied-sbtc\",\n\t\t\t\targs: [Cl.principal(staker)],\n\t\t\t},\n\t\t\t{ contract, functionName: \"current-pox-reward-cycle\", args: [] },\n\t\t],\n\t});\n\tconst [stakerInfo, bondMembership, custodiedSbtc, currentCycle] =\n\t\tresults as ClarityValue[];\n\treturn {\n\t\tstakerInfo: stakerInfo as ClarityValue,\n\t\tbondMembership: bondMembership as ClarityValue,\n\t\tcustodiedSbtc: custodiedSbtc as ClarityValue,\n\t\tcurrentCycle: currentCycle as ClarityValue,\n\t};\n}\n\n/** Actions provided by the pox5 extension. */\nexport type Pox5Actions = {\n\tpox5: {\n\t\t// activation\n\t\tisActive: () => Promise<boolean>;\n\t\tgetActivation: () => Promise<Pox5Activation | undefined>;\n\t\tgetPoxInfo: () => Promise<Pox5Info>;\n\t\tcontractId: () => string;\n\t\t// batched state\n\t\tgetStakerState: (staker: string) => Promise<StakerState>;\n\t\t// reads\n\t\tgetStakerInfo: (staker: string) => Promise<StakerInfo>;\n\t\tgetBondMembership: (staker: string) => Promise<BondMembership>;\n\t\tgetProtocolBond: (bondIndex: IntegerType) => Promise<ProtocolBond>;\n\t\tgetBondAllowance: (\n\t\t\tbondIndex: IntegerType,\n\t\t\tstaker: string,\n\t\t) => Promise<BondAllowance>;\n\t\tgetTotalSbtcStakedForBond: (bondIndex: IntegerType) => Promise<bigint>;\n\t\tgetStakerCustodiedSbtc: (staker: string) => Promise<bigint>;\n\t\thasAnnouncedL1EarlyExit: (\n\t\t\tbondIndex: IntegerType,\n\t\t\tstaker: string,\n\t\t) => Promise<boolean>;\n\t\tgetBondL1UnlockHeight: (bondIndex: IntegerType) => Promise<bigint>;\n\t\tgetSignerInfo: (signer: string) => Promise<SignerInfo>;\n\t\tverifySignerKeyGrant: (\n\t\t\tsignerManager: string,\n\t\t\tsignerKey: Uint8Array | string,\n\t\t) => Promise<boolean>;\n\t\tgetCurrentRewardCycle: () => Promise<bigint>;\n\t\tgetFirstRewardCycle: () => Promise<bigint>;\n\t\tgetEarned: (params: {\n\t\t\tsigner: string;\n\t\t\trewardCycle: IntegerType;\n\t\t\tbondIndex?: IntegerType;\n\t\t}) => Promise<bigint>;\n\t\tgetEarnedStakerRewards: (params: {\n\t\t\tsigner: string;\n\t\t\trewardCycle: IntegerType;\n\t\t\tbondIndex?: IntegerType;\n\t\t\tstaker: string;\n\t\t}) => Promise<bigint>;\n\t\tgetLastRewardComputeHeight: () => Promise<bigint>;\n\t\tgetTotalSharesStakedForCycle: (\n\t\t\trewardCycle: IntegerType,\n\t\t\tbondIndex?: IntegerType,\n\t\t) => Promise<bigint>;\n\t\t// eligibility preflights (never auto-called from wallet actions)\n\t\teligibleStake: (params: EligibleStakeParams) => Promise<EligibilityResult>;\n\t\teligibleRegisterForBond: (\n\t\t\tparams: EligibleRegisterForBondParams,\n\t\t) => Promise<EligibilityResult>;\n\t\teligibleUnstake: (\n\t\t\tparams: EligibleUnstakeParams,\n\t\t) => Promise<EligibilityResult>;\n\t\teligibleUnstakeSbtc: (\n\t\t\tparams: EligibleUnstakeSbtcParams,\n\t\t) => Promise<EligibilityResult>;\n\t\teligibleClaimRewards: (\n\t\t\tparams: EligibleClaimRewardsParams,\n\t\t) => Promise<EligibilityResult>;\n\t\teligibleGrantSignerKey: (\n\t\t\tparams: EligibleGrantSignerKeyParams,\n\t\t) => Promise<EligibilityResult>;\n\t\teligibleSetBondAdmin: (\n\t\t\tparams: EligibleAdminParams,\n\t\t) => Promise<EligibilityResult>;\n\t\teligiblePauseRewards: (\n\t\t\tparams: EligibleAdminParams,\n\t\t) => Promise<EligibilityResult>;\n\t\t// wallet actions (txids; pair with waitForTransactionReceipt)\n\t\tsetupBond: (params: SetupBondParams) => Promise<string>;\n\t\tregisterForBond: (params: RegisterForBondParams) => Promise<string>;\n\t\tupdateBondRegistration: (\n\t\t\tparams: UpdateBondRegistrationParams,\n\t\t) => Promise<string>;\n\t\tstake: (params: StakeParams) => Promise<string>;\n\t\tstakeUpdate: (params: StakeUpdateParams) => Promise<string>;\n\t\tunstake: (params: UnstakeParams) => Promise<string>;\n\t\tunstakeSbtc: (params: UnstakeSbtcParams) => Promise<string>;\n\t\tannounceL1EarlyExit: (params: AnnounceL1EarlyExitParams) => Promise<string>;\n\t\tcalculateRewards: (params: CalculateRewardsParams) => Promise<string>;\n\t\tclaimRewards: (params: ClaimRewardsParams) => Promise<string>;\n\t\tclaimStakerRewardsForSigner: (\n\t\t\tparams: ClaimStakerRewardsForSignerParams,\n\t\t) => Promise<string>;\n\t\tgrantSignerKey: (params: GrantSignerKeyParams) => Promise<string>;\n\t\trevokeSignerGrant: (params: RevokeSignerGrantParams) => Promise<string>;\n\t\tsetBondAdmin: (params: SetBondAdminParams) => Promise<string>;\n\t\tsetPauseAdmin: (params: SetPauseAdminParams) => Promise<string>;\n\t\tpauseRewards: (params?: PauseRewardsParams) => Promise<string>;\n\t\tbuildLockProof: (opts: {\n\t\t\tsource: ProofSource;\n\t\t\ttxid: string;\n\t\t\tlockScript: Uint8Array;\n\t\t\tunlockBurnHeight: IntegerType;\n\t\t\tvout?: number;\n\t\t}) => Promise<L1LockupOutput>;\n\t};\n};\n\n/**\n * PoX-5 extension for the Stacks client.\n *\n * @example\n * const client = createWalletClient({ chain: mainnet, transport: http(), account })\n * .extend(pox5());\n *\n * if (await client.pox5.isActive()) {\n * const txid = await client.pox5.stake({\n * signerManager: \"SP….signer-mgr\",\n * amountUstx: 100_000_000_000n,\n * numCycles: 12,\n * startBurnHeight: 960_231,\n * fee: \"low\",\n * });\n * await client.waitForTransactionReceipt({ txid });\n * }\n */\nexport function pox5(): (client: Client) => Pox5Actions {\n\treturn (client: Client) => ({\n\t\tpox5: {\n\t\t\tisActive: () => isPox5Active(client),\n\t\t\tgetActivation: () => getPox5Activation(client),\n\t\t\tgetPoxInfo: () => getPoxInfo(client),\n\t\t\tcontractId: () => pox5ContractId(client),\n\t\t\tgetStakerState: (staker) => getStakerState(client, staker),\n\t\t\tgetStakerInfo: (staker) => getStakerInfo(client, staker),\n\t\t\tgetBondMembership: (staker) => getBondMembership(client, staker),\n\t\t\tgetProtocolBond: (bondIndex) => getProtocolBond(client, bondIndex),\n\t\t\tgetBondAllowance: (bondIndex, staker) =>\n\t\t\t\tgetBondAllowance(client, bondIndex, staker),\n\t\t\tgetTotalSbtcStakedForBond: (bondIndex) =>\n\t\t\t\tgetTotalSbtcStakedForBond(client, bondIndex),\n\t\t\tgetStakerCustodiedSbtc: (staker) =>\n\t\t\t\tgetStakerCustodiedSbtc(client, staker),\n\t\t\thasAnnouncedL1EarlyExit: (bondIndex, staker) =>\n\t\t\t\thasAnnouncedL1EarlyExit(client, bondIndex, staker),\n\t\t\tgetBondL1UnlockHeight: (bondIndex) =>\n\t\t\t\tgetBondL1UnlockHeight(client, bondIndex),\n\t\t\tgetSignerInfo: (signer) => getSignerInfo(client, signer),\n\t\t\tverifySignerKeyGrant: (signerManager, signerKey) =>\n\t\t\t\tverifySignerKeyGrantOnChain(client, signerManager, signerKey),\n\t\t\tgetCurrentRewardCycle: () => getCurrentRewardCycle(client),\n\t\t\tgetFirstRewardCycle: () => getFirstPox5RewardCycle(client),\n\t\t\tgetEarned: (params) => getEarned(client, params),\n\t\t\tgetEarnedStakerRewards: (params) =>\n\t\t\t\tgetEarnedStakerRewards(client, params),\n\t\t\tgetLastRewardComputeHeight: () => getLastRewardComputeHeight(client),\n\t\t\tgetTotalSharesStakedForCycle: (rewardCycle, bondIndex) =>\n\t\t\t\tgetTotalSharesStakedForCycle(client, rewardCycle, bondIndex),\n\t\t\teligibleStake: (params) => eligibleStake(client, params),\n\t\t\teligibleRegisterForBond: (params) =>\n\t\t\t\teligibleRegisterForBond(client, params),\n\t\t\teligibleUnstake: (params) => eligibleUnstake(client, params),\n\t\t\teligibleUnstakeSbtc: (params) => eligibleUnstakeSbtc(client, params),\n\t\t\teligibleClaimRewards: (params) => eligibleClaimRewards(client, params),\n\t\t\teligibleGrantSignerKey: (params) =>\n\t\t\t\teligibleGrantSignerKey(client, params),\n\t\t\teligibleSetBondAdmin: (params) => eligibleSetBondAdmin(client, params),\n\t\t\teligiblePauseRewards: (params) => eligiblePauseRewards(client, params),\n\t\t\tsetupBond: (params) => setupBond(client, params),\n\t\t\tregisterForBond: (params) => registerForBond(client, params),\n\t\t\tupdateBondRegistration: (params) =>\n\t\t\t\tupdateBondRegistration(client, params),\n\t\t\tstake: (params) => stake(client, params),\n\t\t\tstakeUpdate: (params) => stakeUpdate(client, params),\n\t\t\tunstake: (params) => unstake(client, params),\n\t\t\tunstakeSbtc: (params) => unstakeSbtc(client, params),\n\t\t\tannounceL1EarlyExit: (params) => announceL1EarlyExit(client, params),\n\t\t\tcalculateRewards: (params) => calculateRewards(client, params),\n\t\t\tclaimRewards: (params) => claimRewards(client, params),\n\t\t\tclaimStakerRewardsForSigner: (params) =>\n\t\t\t\tclaimStakerRewardsForSigner(client, params),\n\t\t\tgrantSignerKey: (params) => grantSignerKey(client, params),\n\t\t\trevokeSignerGrant: (params) => revokeSignerGrant(client, params),\n\t\t\tsetBondAdmin: (params) => setBondAdmin(client, params),\n\t\t\tsetPauseAdmin: (params) => setPauseAdmin(client, params),\n\t\t\tpauseRewards: (params) => pauseRewards(client, params),\n\t\t\tbuildLockProof: (opts) => buildPox5LockProof(opts),\n\t\t},\n\t});\n}\n",
|
|
17
|
-
"import { base58, bech32, bech32m } from \"@scure/base\";\nimport { BITCOIN_NETWORK_PARAMS } from \"../bitcoin/address.ts\";\nimport type { BitcoinNetwork } from \"../bitcoin/constants.ts\";\nimport { doubleSha256 } from \"../bitcoin/serialize.ts\";\nimport { POX_ADDRESS_VERSION } from \"../pox/constants.ts\";\nimport { concatBytes } from \"../utils/encoding.ts\";\n\n/**\n * SIP-005 PoX `pox-addr` tuple, decoded from a Bitcoin address. `version` is\n * the PoX byte (`POX_ADDRESS_VERSION`), not a Bitcoin network version\n * (`p2sh` is 0x01 here, 0x05 on mainnet Bitcoin). `hashbytes` is the 20- or\n * 32-byte payload — unpadded, matching `check-pox-addr-hashbytes`.\n */\nexport type BtcAddressRepr = {\n\tversion: number;\n\thashbytes: Uint8Array;\n};\n\nfunction base58CheckEncode(version: number, payload: Uint8Array): string {\n\tconst data = concatBytes(Uint8Array.of(version), payload);\n\tconst checksum = doubleSha256(data).slice(0, 4);\n\treturn base58.encode(concatBytes(data, checksum));\n}\n\nfunction expectedHashLen(version: number): number {\n\tif (!Number.isInteger(version) || version < 0x00 || version > 0x06) {\n\t\tthrow new Error(`Unknown PoX address version: 0x${version.toString(16)}`);\n\t}\n\treturn version <= 0x04 ? 20 : 32;\n}\n\n/** Strip frozen-pox 32-byte padding; reject a length that doesn't match the version. */\nexport function canonicalizeBtcAddress(repr: BtcAddressRepr): BtcAddressRepr {\n\tconst expected = expectedHashLen(repr.version);\n\tconst { hashbytes } = repr;\n\tif (hashbytes.length === expected)\n\t\treturn { version: repr.version, hashbytes };\n\tif (\n\t\texpected === 20 &&\n\t\thashbytes.length === 32 &&\n\t\thashbytes.slice(20).every((b) => b === 0)\n\t) {\n\t\treturn { version: repr.version, hashbytes: hashbytes.slice(0, 20) };\n\t}\n\tthrow new Error(\n\t\t`Invalid hashbytes length for PoX version 0x${repr.version.toString(16)}: ${hashbytes.length}`,\n\t);\n}\n\n/**\n * Parse a Bitcoin address string into a PoX address tuple.\n * Supports P2PKH, P2SH, P2WPKH, P2WSH, P2TR (mainnet, testnet, regtest).\n */\nexport function parseBtcAddress(address: string): BtcAddressRepr {\n\tif (\n\t\taddress.startsWith(\"bc1\") ||\n\t\taddress.startsWith(\"tb1\") ||\n\t\taddress.startsWith(\"bcrt1\")\n\t) {\n\t\treturn parseSegwitAddress(address);\n\t}\n\treturn parseLegacyAddress(address);\n}\n\nfunction parseSegwitAddress(address: string): BtcAddressRepr {\n\tlet decoded: { prefix: string; words: number[] };\n\ttry {\n\t\tdecoded = bech32.decode(address as `${string}1${string}`);\n\t} catch {\n\t\tdecoded = bech32m.decode(address as `${string}1${string}`);\n\t}\n\n\tconst witnessVersion = decoded.words[0];\n\tif (witnessVersion === undefined) {\n\t\tthrow new Error(\"Invalid segwit address: missing witness version\");\n\t}\n\tconst data = bech32.fromWords(decoded.words.slice(1));\n\tconst hashbytes = new Uint8Array(data);\n\n\tlet version: number;\n\tif (witnessVersion === 0) {\n\t\tif (hashbytes.length === 20) {\n\t\t\tversion = POX_ADDRESS_VERSION.p2wpkh;\n\t\t} else if (hashbytes.length === 32) {\n\t\t\tversion = POX_ADDRESS_VERSION.p2wsh;\n\t\t} else {\n\t\t\tthrow new Error(`Invalid witness v0 program length: ${hashbytes.length}`);\n\t\t}\n\t} else if (witnessVersion === 1) {\n\t\tif (hashbytes.length !== 32) {\n\t\t\tthrow new Error(`Invalid witness v1 program length: ${hashbytes.length}`);\n\t\t}\n\t\tversion = POX_ADDRESS_VERSION.p2tr;\n\t} else {\n\t\tthrow new Error(`Unsupported witness version: ${witnessVersion}`);\n\t}\n\n\treturn { version, hashbytes };\n}\n\nfunction parseLegacyAddress(address: string): BtcAddressRepr {\n\tconst decoded = base58.decode(address);\n\n\tif (decoded.length !== 25) {\n\t\tthrow new Error(`Invalid legacy address length: ${decoded.length}`);\n\t}\n\n\tconst versionByte = decoded[0];\n\tif (versionByte === undefined) {\n\t\tthrow new Error(\"Invalid legacy address: missing version byte\");\n\t}\n\tconst payload = decoded.slice(0, 21);\n\tconst checksum = decoded.slice(21);\n\tconst expected = doubleSha256(payload).slice(0, 4);\n\tif (checksum.length !== 4 || expected.some((b, i) => b !== checksum[i])) {\n\t\tthrow new Error(\"Invalid legacy address checksum\");\n\t}\n\tconst hashbytes = decoded.slice(1, 21);\n\n\tlet version: number;\n\tif (versionByte === 0x00 || versionByte === 0x6f) {\n\t\tversion = POX_ADDRESS_VERSION.p2pkh;\n\t} else if (versionByte === 0x05 || versionByte === 0xc4) {\n\t\tversion = POX_ADDRESS_VERSION.p2sh;\n\t} else {\n\t\tthrow new Error(\n\t\t\t`Unknown legacy address version byte: 0x${versionByte.toString(16)}`,\n\t\t);\n\t}\n\n\treturn { version, hashbytes };\n}\n\nexport function stringifyBtcAddress(\n\trepr: BtcAddressRepr,\n\tnetwork: BitcoinNetwork,\n): string {\n\tconst { version, hashbytes } = canonicalizeBtcAddress(repr);\n\tconst params = BITCOIN_NETWORK_PARAMS[network];\n\tswitch (version) {\n\t\tcase POX_ADDRESS_VERSION.p2pkh:\n\t\t\treturn base58CheckEncode(params.p2pkh, hashbytes);\n\t\tcase POX_ADDRESS_VERSION.p2sh:\n\t\tcase POX_ADDRESS_VERSION.p2sh_p2wpkh:\n\t\tcase POX_ADDRESS_VERSION.p2sh_p2wsh:\n\t\t\treturn base58CheckEncode(params.p2sh, hashbytes);\n\t\tcase POX_ADDRESS_VERSION.p2wpkh:\n\t\tcase POX_ADDRESS_VERSION.p2wsh:\n\t\t\treturn bech32.encode(params.hrp, [0, ...bech32.toWords(hashbytes)]);\n\t\tcase POX_ADDRESS_VERSION.p2tr:\n\t\t\treturn bech32m.encode(params.hrp, [1, ...bech32m.toWords(hashbytes)]);\n\t\tdefault:\n\t\t\tthrow new Error(`Unknown PoX address version: 0x${version.toString(16)}`);\n\t}\n}\n\nexport const BtcAddress: {\n\tparse: typeof parseBtcAddress;\n\tstringify: typeof stringifyBtcAddress;\n} = {\n\tparse: parseBtcAddress,\n\tstringify: stringifyBtcAddress,\n};\n",
|
|
18
17
|
"import { deserializeCVBytes } from \"../clarity/deserialize.ts\";\nimport { serializeCVBytes } from \"../clarity/serialize.ts\";\nimport { Cl } from \"../clarity/values.ts\";\nimport { type IntegerType, hexToBytes } from \"../utils/encoding.ts\";\nimport {\n\ttype BtcAddressRepr,\n\tcanonicalizeBtcAddress,\n\tparseBtcAddress,\n} from \"./btcAddress.ts\";\n\nexport function buildSignerCalldata(opts: {\n\tpoxAddress: string | BtcAddressRepr;\n\tmaxFeeSats: IntegerType;\n}): Uint8Array {\n\tconst repr = canonicalizeBtcAddress(\n\t\ttypeof opts.poxAddress === \"string\"\n\t\t\t? parseBtcAddress(opts.poxAddress)\n\t\t\t: opts.poxAddress,\n\t);\n\treturn serializeCVBytes(\n\t\tCl.tuple({\n\t\t\t\"pox-addr\": Cl.tuple({\n\t\t\t\tversion: Cl.buffer(Uint8Array.of(repr.version)),\n\t\t\t\thashbytes: Cl.buffer(repr.hashbytes),\n\t\t\t}),\n\t\t\t\"max-fee\": Cl.uint(opts.maxFeeSats),\n\t\t}),\n\t);\n}\n\nexport function parseSignerCalldata(calldata: Uint8Array | string): {\n\tpoxAddress: BtcAddressRepr;\n\tmaxFeeSats: bigint;\n} {\n\tconst cv = deserializeCVBytes(calldata);\n\tif (cv.type !== \"tuple\") {\n\t\tthrow new Error(\"signer calldata is not a Clarity tuple\");\n\t}\n\tconst poxAddr = cv.value[\"pox-addr\"];\n\tconst maxFee = cv.value[\"max-fee\"];\n\tif (!poxAddr || poxAddr.type !== \"tuple\") {\n\t\tthrow new Error(\"signer calldata missing pox-addr tuple\");\n\t}\n\tif (!maxFee || maxFee.type !== \"uint\") {\n\t\tthrow new Error(\"signer calldata missing max-fee uint\");\n\t}\n\tconst versionCv = poxAddr.value.version;\n\tconst hashCv = poxAddr.value.hashbytes;\n\tif (!versionCv || versionCv.type !== \"buffer\") {\n\t\tthrow new Error(\"signer calldata pox-addr missing version buffer\");\n\t}\n\tif (!hashCv || hashCv.type !== \"buffer\") {\n\t\tthrow new Error(\"signer calldata pox-addr missing hashbytes buffer\");\n\t}\n\tconst versionBytes = hexToBytes(versionCv.value);\n\tif (versionBytes.length !== 1) {\n\t\tthrow new Error(\n\t\t\t`signer calldata version must be buff 1, got ${versionBytes.length}`,\n\t\t);\n\t}\n\tconst version = versionBytes[0];\n\tif (version === undefined) {\n\t\tthrow new Error(\"signer calldata version buffer is empty\");\n\t}\n\treturn {\n\t\tpoxAddress: canonicalizeBtcAddress({\n\t\t\tversion,\n\t\t\thashbytes: hexToBytes(hashCv.value),\n\t\t}),\n\t\tmaxFeeSats: maxFee.value,\n\t};\n}\n"
|
|
19
18
|
],
|
|
20
|
-
"mappings": "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",
|
|
21
|
-
"debugId": "
|
|
19
|
+
"mappings": "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",
|
|
20
|
+
"debugId": "90830B6EA47D48EC64756E2164756E21",
|
|
22
21
|
"names": []
|
|
23
22
|
}
|
|
@@ -99,6 +99,15 @@ type NonceManager = {
|
|
|
99
99
|
client: Client
|
|
100
100
|
address: string
|
|
101
101
|
}): void | Promise<void>
|
|
102
|
+
/**
|
|
103
|
+
* Give back a nonce from {@link NonceManager.consume} whose transaction
|
|
104
|
+
* was never accepted by the node. No-op unless it is the latest issued.
|
|
105
|
+
*/
|
|
106
|
+
release(params: {
|
|
107
|
+
client: Client
|
|
108
|
+
address: string
|
|
109
|
+
nonce: bigint
|
|
110
|
+
}): void | Promise<void>
|
|
102
111
|
/** Next nonce that {@link NonceManager.consume} would return without consuming it, or `undefined` if untracked. */
|
|
103
112
|
peek(params: {
|
|
104
113
|
client: Client
|
|
@@ -154,14 +163,32 @@ type RequestOptions = {
|
|
|
154
163
|
method?: "GET" | "POST" | "PUT" | "DELETE"
|
|
155
164
|
body?: unknown
|
|
156
165
|
headers?: Record<string, string>
|
|
166
|
+
/**
|
|
167
|
+
* Cancel the request from the caller's side. An aborted signal rejects
|
|
168
|
+
* with the signal's reason immediately and never retries; it is combined
|
|
169
|
+
* with the transport's own per-attempt timeout.
|
|
170
|
+
*/
|
|
171
|
+
signal?: AbortSignal
|
|
172
|
+
/**
|
|
173
|
+
* Override the transport's retry budget for this one request. Broadcasts
|
|
174
|
+
* pass `0`: re-sending a transaction the node may already hold trades a
|
|
175
|
+
* transient failure for a confusing nonce conflict.
|
|
176
|
+
*/
|
|
177
|
+
retryCount?: number
|
|
157
178
|
};
|
|
158
179
|
/** Shared configuration for all transport types. */
|
|
159
180
|
type TransportConfig = {
|
|
160
181
|
url?: string
|
|
182
|
+
/**
|
|
183
|
+
* Per-attempt deadline in ms covering headers AND body. A stalled body
|
|
184
|
+
* rejects with `TimeoutError` instead of hanging. Default 30_000.
|
|
185
|
+
*/
|
|
161
186
|
timeout?: number
|
|
162
187
|
retryCount?: number
|
|
163
188
|
retryDelay?: number
|
|
164
189
|
fetchOptions?: RequestInit
|
|
190
|
+
/** Sent as `x-api-key`. Held in the request closure and stripped from
|
|
191
|
+
* `Transport.config` so it never prints with the client. */
|
|
165
192
|
apiKey?: string
|
|
166
193
|
};
|
|
167
194
|
/** A resolved transport instance with a bound request function. */
|
package/dist/src/pox5/index.d.ts
CHANGED
|
@@ -99,6 +99,15 @@ type NonceManager = {
|
|
|
99
99
|
client: Client
|
|
100
100
|
address: string
|
|
101
101
|
}): void | Promise<void>
|
|
102
|
+
/**
|
|
103
|
+
* Give back a nonce from {@link NonceManager.consume} whose transaction
|
|
104
|
+
* was never accepted by the node. No-op unless it is the latest issued.
|
|
105
|
+
*/
|
|
106
|
+
release(params: {
|
|
107
|
+
client: Client
|
|
108
|
+
address: string
|
|
109
|
+
nonce: bigint
|
|
110
|
+
}): void | Promise<void>
|
|
102
111
|
/** Next nonce that {@link NonceManager.consume} would return without consuming it, or `undefined` if untracked. */
|
|
103
112
|
peek(params: {
|
|
104
113
|
client: Client
|
|
@@ -154,14 +163,32 @@ type RequestOptions = {
|
|
|
154
163
|
method?: "GET" | "POST" | "PUT" | "DELETE"
|
|
155
164
|
body?: unknown
|
|
156
165
|
headers?: Record<string, string>
|
|
166
|
+
/**
|
|
167
|
+
* Cancel the request from the caller's side. An aborted signal rejects
|
|
168
|
+
* with the signal's reason immediately and never retries; it is combined
|
|
169
|
+
* with the transport's own per-attempt timeout.
|
|
170
|
+
*/
|
|
171
|
+
signal?: AbortSignal
|
|
172
|
+
/**
|
|
173
|
+
* Override the transport's retry budget for this one request. Broadcasts
|
|
174
|
+
* pass `0`: re-sending a transaction the node may already hold trades a
|
|
175
|
+
* transient failure for a confusing nonce conflict.
|
|
176
|
+
*/
|
|
177
|
+
retryCount?: number
|
|
157
178
|
};
|
|
158
179
|
/** Shared configuration for all transport types. */
|
|
159
180
|
type TransportConfig = {
|
|
160
181
|
url?: string
|
|
182
|
+
/**
|
|
183
|
+
* Per-attempt deadline in ms covering headers AND body. A stalled body
|
|
184
|
+
* rejects with `TimeoutError` instead of hanging. Default 30_000.
|
|
185
|
+
*/
|
|
161
186
|
timeout?: number
|
|
162
187
|
retryCount?: number
|
|
163
188
|
retryDelay?: number
|
|
164
189
|
fetchOptions?: RequestInit
|
|
190
|
+
/** Sent as `x-api-key`. Held in the request closure and stripped from
|
|
191
|
+
* `Transport.config` so it never prints with the client. */
|
|
165
192
|
apiKey?: string
|
|
166
193
|
};
|
|
167
194
|
/** A resolved transport instance with a bound request function. */
|