@babylonlabs-io/ts-sdk 0.20.0 → 0.21.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 +14 -6
- package/dist/errors-Cbyg_QQf.cjs +2 -0
- package/dist/errors-Cbyg_QQf.cjs.map +1 -0
- package/dist/{errors-CHY4WNi-.js → errors-DvIudLXV.js} +344 -338
- package/dist/errors-DvIudLXV.js.map +1 -0
- package/dist/{index-CFwoGJNQ.js → index-BORWfdUU.js} +140 -115
- package/dist/index-BORWfdUU.js.map +1 -0
- package/dist/index-DNSV--0P.cjs +2 -0
- package/dist/index-DNSV--0P.cjs.map +1 -0
- package/dist/index.cjs +1 -1
- package/dist/index.js +126 -120
- package/dist/index.js.map +1 -1
- package/dist/psbtInputFields-05ZrwRzf.cjs +2 -0
- package/dist/psbtInputFields-05ZrwRzf.cjs.map +1 -0
- package/dist/{psbtInputFields-Dx41_IoI.js → psbtInputFields-r1ss6WLU.js} +93 -85
- package/dist/psbtInputFields-r1ss6WLU.js.map +1 -0
- package/dist/shared/wallets/index.d.ts +8 -0
- package/dist/shared/wallets/index.d.ts.map +1 -1
- package/dist/tbv/core/clients/index.cjs +1 -1
- package/dist/tbv/core/clients/index.d.ts +3 -2
- package/dist/tbv/core/clients/index.d.ts.map +1 -1
- package/dist/tbv/core/clients/index.js +1 -1
- package/dist/tbv/core/clients/mempool/mempoolApi.d.ts.map +1 -1
- package/dist/tbv/core/index.cjs +1 -1
- package/dist/tbv/core/index.js +122 -116
- package/dist/tbv/core/index.js.map +1 -1
- package/dist/tbv/core/managers/PeginManager.d.ts.map +1 -1
- package/dist/tbv/core/managers/index.d.ts +15 -62
- package/dist/tbv/core/managers/index.d.ts.map +1 -1
- package/dist/tbv/core/services/index.d.ts +2 -4
- package/dist/tbv/core/services/index.d.ts.map +1 -1
- package/dist/tbv/core/utils/index.cjs +1 -1
- package/dist/tbv/core/utils/index.d.ts +2 -7
- package/dist/tbv/core/utils/index.d.ts.map +1 -1
- package/dist/tbv/core/utils/index.js +37 -31
- package/dist/tbv/core/utils/index.js.map +1 -1
- package/dist/tbv/core/utils/utxo/reservation.d.ts +27 -1
- package/dist/tbv/core/utils/utxo/reservation.d.ts.map +1 -1
- package/dist/tbv/core/utils/validation.d.ts +35 -0
- package/dist/tbv/core/utils/validation.d.ts.map +1 -0
- package/dist/tbv/index.cjs +1 -1
- package/dist/tbv/index.js +122 -116
- package/dist/tbv/index.js.map +1 -1
- package/dist/validation-CxqROCno.js +15 -0
- package/dist/validation-CxqROCno.js.map +1 -0
- package/dist/validation-u8W7Lp2x.cjs +2 -0
- package/dist/validation-u8W7Lp2x.cjs.map +1 -0
- package/package.json +1 -1
- package/dist/errors-BZON3Wmn.cjs +0 -2
- package/dist/errors-BZON3Wmn.cjs.map +0 -1
- package/dist/errors-CHY4WNi-.js.map +0 -1
- package/dist/index-BpXpESWu.cjs +0 -2
- package/dist/index-BpXpESWu.cjs.map +0 -1
- package/dist/index-CFwoGJNQ.js.map +0 -1
- package/dist/psbtInputFields-C-zYR1z7.cjs +0 -2
- package/dist/psbtInputFields-C-zYR1z7.cjs.map +0 -1
- package/dist/psbtInputFields-Dx41_IoI.js.map +0 -1
package/dist/tbv/core/index.js
CHANGED
|
@@ -1,136 +1,142 @@
|
|
|
1
1
|
import { i as e, g as t, h as o, d as r, a as i, b as l, c as n, e as u, f as P } from "../../challengeAssert-D1lpvuMv.js";
|
|
2
|
-
import { computeMinClaimValue as c, deriveVaultId as
|
|
3
|
-
import { a as
|
|
4
|
-
import { d as
|
|
5
|
-
import { C as
|
|
6
|
-
import { B as
|
|
7
|
-
import { B as
|
|
8
|
-
import { B as
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
2
|
+
import { computeMinClaimValue as c, deriveVaultId as T } from "@babylonlabs-io/babylon-tbv-rust-wasm";
|
|
3
|
+
import { a as S, b as E, c as g, e as A } from "../../payout-DzGsAnhf.js";
|
|
4
|
+
import { d as _, a as m, e as b, f as x, g as I, h as f, i as C, b as v, p as U, s as y, t as O, u as h, v as V } from "../../bitcoin-nOOgeRyl.js";
|
|
5
|
+
import { C as F, P as N, a as D, c as M, g as H } from "../../signing-DeWVBl7m.js";
|
|
6
|
+
import { B as W, H as k, K, M as X, T as w } from "../../validation-CxqROCno.js";
|
|
7
|
+
import { B as Y, C as J, P as j, a as Z, m as z, h as q, i as Q, l as $, k as aa, p as sa, b as ea, s as ta, v as oa, g as ra, d as ia, c as la, j as na, e as ua, f as Pa, w as da } from "../../buildAndBroadcastRefund-DnTQkCgG.js";
|
|
8
|
+
import { B as Ta, D as pa, F as Sa, L as Ea, M as ga, P as Aa, a as Ra, S as _a, T as ma, W as ba, f as xa, b as Ia, p as fa, r as Ca } from "../../fundPeginTransaction-BLYXxLBv.js";
|
|
9
|
+
import { B as Ua, U as ya, a as Oa, f as ha, c as Va, e as Ba, g as Fa, i as Na, h as Da, s as Ma, b as Ha, d as La, v as Wa } from "../../psbtInputFields-r1ss6WLU.js";
|
|
10
|
+
import { C as Ka, P as Xa, b as wa, c as Ga, a as Ya, d as Ja, f as ja, e as Za, g as za, h as qa, i as Qa, j as $a, k as as, m as ss } from "../../errors-DvIudLXV.js";
|
|
11
|
+
import { A as ts, M as os, P as rs, V as is, i as ls, j as ns, k as us, l as Ps, h as ds, g as cs, a as Ts, b as ps, c as Ss, d as Es, e as gs, f as As, p as Rs, r as _s } from "../../index-BORWfdUU.js";
|
|
12
|
+
import { B as bs, D as xs, b as Is, J as fs, a as Cs, d as vs, P as Us, R as ys, c as Os, V as hs } from "../../types-DWjaqVfP.js";
|
|
12
13
|
export {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
14
|
+
ts as ApplicationRegistryABI,
|
|
15
|
+
Y as BIP68NotMatureError,
|
|
16
|
+
W as BITCOIN_ADDRESS_RE,
|
|
17
|
+
bs as BTCVaultRegistryABI,
|
|
18
|
+
Ta as BTC_DUST_SAT,
|
|
19
|
+
Ua as BitcoinScriptType,
|
|
20
|
+
Ka as CONTRACT_ERRORS,
|
|
21
|
+
J as ClaimerPegoutStatusValue,
|
|
22
|
+
F as ContractStatus,
|
|
23
|
+
pa as DUST_THRESHOLD,
|
|
24
|
+
xs as DaemonStatus,
|
|
25
|
+
Sa as FEE_SAFETY_MARGIN,
|
|
26
|
+
k as HEX_RE,
|
|
27
|
+
Is as JSON_RPC_ERROR_CODES,
|
|
28
|
+
fs as JsonRpcClient,
|
|
29
|
+
Cs as JsonRpcError,
|
|
30
|
+
K as KNOWN_SCRIPT_PREFIXES,
|
|
31
|
+
Ea as LOW_RATE_ESTIMATION_ACCURACY_BUFFER,
|
|
32
|
+
ga as MAX_NON_LEGACY_OUTPUT_SIZE,
|
|
33
|
+
X as MAX_REASONABLE_FEE_SATS,
|
|
34
|
+
os as MEMPOOL_API_URLS,
|
|
35
|
+
Aa as P2TR_INPUT_SIZE,
|
|
36
|
+
Ra as PEGIN_FIXED_OUTPUTS,
|
|
37
|
+
vs as POST_WOTS_STATUSES,
|
|
38
|
+
Us as PRE_DEPOSITOR_SIGNATURES_STATES,
|
|
39
|
+
j as PayoutManager,
|
|
40
|
+
N as PeginAction,
|
|
41
|
+
Xa as PeginManager,
|
|
42
|
+
rs as ProtocolParamsABI,
|
|
43
|
+
ys as RpcErrorCode,
|
|
44
|
+
_a as SPLIT_TX_FEE_SAFETY_MULTIPLIER,
|
|
45
|
+
w as TXID_RE,
|
|
46
|
+
ma as TX_BUFFER_SIZE_OVERHEAD,
|
|
47
|
+
ya as UtxoNotAvailableError,
|
|
48
|
+
Os as VP_TERMINAL_STATUSES,
|
|
49
|
+
hs as VP_TRANSIENT_STATUSES,
|
|
50
|
+
is as VaultProviderRpcClient,
|
|
51
|
+
ls as ViemProtocolParamsReader,
|
|
52
|
+
ns as ViemUniversalChallengerReader,
|
|
53
|
+
us as ViemVaultKeeperReader,
|
|
54
|
+
Ps as ViemVaultRegistryReader,
|
|
55
|
+
ds as VpResponseValidationError,
|
|
56
|
+
ba as WALLET_RELAY_FEE_RATE_THRESHOLD,
|
|
57
|
+
Z as activateVault,
|
|
58
|
+
Oa as assertUtxosAvailable,
|
|
59
|
+
z as buildAndBroadcastRefund,
|
|
54
60
|
e as buildChallengeAssertPsbt,
|
|
55
61
|
t as buildDepositorPayoutPsbt,
|
|
56
62
|
o as buildNoPayoutPsbt,
|
|
57
|
-
|
|
63
|
+
S as buildPayoutPsbt,
|
|
58
64
|
r as buildPeginInputPsbt,
|
|
59
65
|
i as buildPeginTxFromFundedPrePegin,
|
|
60
66
|
l as buildPrePeginPsbt,
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
67
|
+
E as buildRefundPsbt,
|
|
68
|
+
ha as calculateBtcTxHash,
|
|
69
|
+
D as canPerformAction,
|
|
70
|
+
Va as collectReservedUtxoRefs,
|
|
71
|
+
q as computeHashlock,
|
|
66
72
|
c as computeMinClaimValue,
|
|
67
73
|
n as computeNumLocalChallengers,
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
74
|
+
wa as computeWotsBlockPublicKeysHash,
|
|
75
|
+
Ga as computeWotsPkHash,
|
|
76
|
+
g as createPayoutScript,
|
|
71
77
|
M as createTaprootScriptPathSignOptions,
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
+
_ as deriveNativeSegwitAddress,
|
|
79
|
+
m as deriveTaprootAddress,
|
|
80
|
+
T as deriveVaultId,
|
|
81
|
+
Ya as deriveWotsBlockPublicKeys,
|
|
82
|
+
Ja as deriveWotsKeypair,
|
|
83
|
+
ja as deriveWotsPkHash,
|
|
78
84
|
b as ensureHexPrefix,
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
85
|
+
Za as extractErrorData,
|
|
86
|
+
Ba as extractInputsFromTransaction,
|
|
87
|
+
A as extractPayoutSignature,
|
|
82
88
|
u as extractPeginInputSignature,
|
|
83
89
|
P as finalizePeginInputPsbt,
|
|
84
90
|
x as formatSatoshisToBtc,
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
91
|
+
xa as fundPeginTransaction,
|
|
92
|
+
cs as getAddressTxs,
|
|
93
|
+
Ts as getAddressUtxos,
|
|
94
|
+
za as getContractErrorMessage,
|
|
95
|
+
Fa as getDustThreshold,
|
|
96
|
+
ps as getMempoolApiUrl,
|
|
97
|
+
I as getNetwork,
|
|
98
|
+
Ss as getNetworkFees,
|
|
93
99
|
H as getPeginProtocolState,
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
100
|
+
Na as getPsbtInputFields,
|
|
101
|
+
Da as getScriptType,
|
|
102
|
+
Es as getTxHex,
|
|
103
|
+
gs as getTxInfo,
|
|
104
|
+
As as getUtxoInfo,
|
|
105
|
+
qa as handleContractError,
|
|
106
|
+
f as hexToUint8Array,
|
|
107
|
+
C as isAddressFromPublicKey,
|
|
108
|
+
Q as isDepositAmountValid,
|
|
109
|
+
Qa as isKnownContractError,
|
|
110
|
+
$ as isPegoutTerminalStatus,
|
|
111
|
+
aa as isRecognizedPegoutStatus,
|
|
112
|
+
v as isValidHex,
|
|
113
|
+
$a as isWotsMismatchError,
|
|
114
|
+
as as keypairToPublicKey,
|
|
115
|
+
ss as mnemonicToWotsSeed,
|
|
116
|
+
Ia as parseUnfundedWasmTransaction,
|
|
117
|
+
fa as peginOutputCount,
|
|
118
|
+
sa as pollAndSignPayouts,
|
|
119
|
+
U as processPublicKeyToXOnly,
|
|
120
|
+
Rs as pushTx,
|
|
121
|
+
Ca as rateBasedTxBufferFee,
|
|
122
|
+
_s as resolveProtocolAddresses,
|
|
123
|
+
Ma as selectUtxosForDeposit,
|
|
124
|
+
Ha as selectUtxosForPegin,
|
|
125
|
+
La as shouldAddChangeOutput,
|
|
126
|
+
ea as signDepositorGraph,
|
|
121
127
|
y as stripHexPrefix,
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
128
|
+
ta as submitWotsPublicKey,
|
|
129
|
+
O as toXOnly,
|
|
130
|
+
h as uint8ArrayToHex,
|
|
131
|
+
oa as validateDepositAmount,
|
|
132
|
+
ra as validateMultiVaultDepositInputs,
|
|
133
|
+
ia as validateProviderSelection,
|
|
134
|
+
la as validateRemainingCapacity,
|
|
135
|
+
na as validateSecretAgainstHashlock,
|
|
136
|
+
Wa as validateUtxosAvailable,
|
|
137
|
+
ua as validateVaultAmounts,
|
|
138
|
+
Pa as validateVaultProviderPubkey,
|
|
133
139
|
V as validateWalletPubkey,
|
|
134
|
-
|
|
140
|
+
da as waitForPeginStatus
|
|
135
141
|
};
|
|
136
142
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PeginManager.d.ts","sourceRoot":"","sources":["../../../../src/tbv/core/managers/PeginManager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAKH,OAAO,EAKL,KAAK,OAAO,EACZ,KAAK,KAAK,EACV,KAAK,GAAG,EACR,KAAK,YAAY,EAClB,MAAM,MAAM,CAAC;AAEd,OAAO,KAAK,EAAE,aAAa,EAAE,IAAI,EAAmB,MAAM,yBAAyB,CAAC;AAIpF,OAAO,EAQL,KAAK,OAAO,EACb,MAAM,eAAe,CAAC;AAMvB,OAAO,EAOL,KAAK,IAAI,
|
|
1
|
+
{"version":3,"file":"PeginManager.d.ts","sourceRoot":"","sources":["../../../../src/tbv/core/managers/PeginManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,68 +1,21 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @packageDocumentation
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
* ↓
|
|
20
|
-
* WASM (Rust Core) ← Cryptographic operations
|
|
21
|
-
* ```
|
|
22
|
-
*
|
|
23
|
-
* ## When to Use Managers
|
|
24
|
-
*
|
|
25
|
-
* Use managers when you have:
|
|
26
|
-
* - **Frontend apps** with browser wallet integration (UniSat, OKX, etc.)
|
|
27
|
-
* - **Quick integration** needs with minimal code
|
|
28
|
-
* - **Standard flows** that don't require custom signing logic
|
|
29
|
-
*
|
|
30
|
-
* Use primitives instead when you need:
|
|
31
|
-
* - Backend services with KMS/HSM signing
|
|
32
|
-
* - Full control over every operation
|
|
33
|
-
* - Custom wallet integrations
|
|
34
|
-
*
|
|
35
|
-
* ## Available Managers
|
|
36
|
-
*
|
|
37
|
-
* ### {@link PeginManager}
|
|
38
|
-
* Orchestrates the peg-in flow:
|
|
39
|
-
* - {@link PeginManager.preparePegin | preparePegin()} - Build Pre-PegIn HTLC and sign PegIn input
|
|
40
|
-
* - {@link PeginManager.registerPeginOnChain | registerPeginOnChain()} - Submit to Ethereum
|
|
41
|
-
* - {@link PeginManager.signAndBroadcast | signAndBroadcast()} - Broadcast to Bitcoin
|
|
42
|
-
*
|
|
43
|
-
* ### {@link PayoutManager}
|
|
44
|
-
* Signs payout authorization transactions (Step 3 of peg-in).
|
|
45
|
-
* - {@link PayoutManager.signPayoutTransaction | signPayoutTransaction()} - Sign payout (uses Assert tx as reference)
|
|
46
|
-
*
|
|
47
|
-
* ## Complete Peg-in Flow
|
|
48
|
-
*
|
|
49
|
-
* The 4-step peg-in flow uses both managers:
|
|
50
|
-
*
|
|
51
|
-
* | Step | Manager | Method |
|
|
52
|
-
* |------|---------|--------|
|
|
53
|
-
* | 1 | PeginManager | `preparePegin()` |
|
|
54
|
-
* | 2 | PeginManager | `registerPeginOnChain()` |
|
|
55
|
-
* | 3 | PayoutManager | `signPayoutTransaction()` |
|
|
56
|
-
* | 4 | PeginManager | `signAndBroadcast()` |
|
|
57
|
-
*
|
|
58
|
-
* **Step 3 Details:** The vault provider provides 3 transactions per claimer:
|
|
59
|
-
* - `claim_tx` - Claim transaction
|
|
60
|
-
* - `assert_tx` - Assert transaction
|
|
61
|
-
* - `payout_tx` - Payout transaction
|
|
62
|
-
*
|
|
63
|
-
* You must sign the Payout transaction (uses assert_tx as input reference) for each claimer.
|
|
64
|
-
*
|
|
65
|
-
* @see {@link https://github.com/babylonlabs-io/babylon-toolkit/blob/main/packages/babylon-ts-sdk/docs/quickstart/managers.md | Managers Quickstart}
|
|
4
|
+
* Wallet-owning orchestration for the vault lifecycle. A vault goes from creation
|
|
5
|
+
* to `ACTIVE` through five phases — {@link https://github.com/babylonlabs-io/babylon-toolkit/blob/main/packages/babylon-ts-sdk/docs/quickstart/managers.md | Managers Quickstart}
|
|
6
|
+
* walks through them. A vault at `VERIFIED` is not done: the depositor must
|
|
7
|
+
* reveal the HTLC secret via `activateVault()` (services layer) or the vault
|
|
8
|
+
* expires.
|
|
9
|
+
*
|
|
10
|
+
* | # | Phase | SDK entry point | Contract status after |
|
|
11
|
+
* |---|-------|-----------------|-----------------------|
|
|
12
|
+
* | 1 | Prepare Pre-PegIn + PegIn txs | `PeginManager.preparePegin()` | n/a (off-chain) |
|
|
13
|
+
* | 2 | Register on Ethereum | `PeginManager.registerPeginOnChain()` | `PENDING` |
|
|
14
|
+
* | 3 | Broadcast Pre-PegIn on Bitcoin | `PeginManager.signAndBroadcast()` | still `PENDING` until VP observes the tx |
|
|
15
|
+
* | 4 | Sign payout authorisations | `pollAndSignPayouts()` (services, delegates to `PayoutManager`) | `PENDING` → `VERIFIED` |
|
|
16
|
+
* | 5 | Activate by revealing HTLC secret | `activateVault()` (services) | `VERIFIED` → `ACTIVE` |
|
|
17
|
+
*
|
|
18
|
+
* Optional exit after the CSV timelock expires: `buildAndBroadcastRefund()` (services).
|
|
66
19
|
*
|
|
67
20
|
* @module managers
|
|
68
21
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/tbv/core/managers/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/tbv/core/managers/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,YAAY,EACV,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,sBAAsB,EACtB,qBAAqB,EACrB,wBAAwB,EACxB,oBAAoB,EACpB,wBAAwB,GACzB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,YAAY,EACV,mBAAmB,EACnB,qBAAqB,EACrB,gBAAgB,GACjB,MAAM,iBAAiB,CAAC;AAGzB,YAAY,EAAE,IAAI,EAAE,MAAM,2BAA2B,CAAC;AACtD,YAAY,EACV,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,eAAe,GAChB,MAAM,kDAAkD,CAAC"}
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
4
|
-
* Stateless composable functions for the vault deposit protocol.
|
|
5
|
-
* All functions accept narrow interfaces, not concrete client classes.
|
|
2
|
+
* Stateless flow helpers that compose primitives + utils with injected I/O callbacks.
|
|
3
|
+
* Callers own the wallet; services own the orchestration.
|
|
6
4
|
*
|
|
7
5
|
* @module services
|
|
8
6
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/tbv/core/services/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/tbv/core/services/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const T=require("../../../signing-cl-lowxV.cjs"),t=require("../../../fundPeginTransaction-DxNOeyNI.cjs"),e=require("../../../psbtInputFields-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const T=require("../../../signing-cl-lowxV.cjs"),E=require("../../../validation-u8W7Lp2x.cjs"),t=require("../../../fundPeginTransaction-DxNOeyNI.cjs"),e=require("../../../psbtInputFields-05ZrwRzf.cjs"),_=require("../../../bitcoin-CNnPFU6Y.cjs");exports.createTaprootScriptPathSignOptions=T.createTaprootScriptPathSignOptions;exports.BITCOIN_ADDRESS_RE=E.BITCOIN_ADDRESS_RE;exports.HEX_RE=E.HEX_RE;exports.KNOWN_SCRIPT_PREFIXES=E.KNOWN_SCRIPT_PREFIXES;exports.MAX_REASONABLE_FEE_SATS=E.MAX_REASONABLE_FEE_SATS;exports.TXID_RE=E.TXID_RE;exports.BTC_DUST_SAT=t.BTC_DUST_SAT;exports.DUST_THRESHOLD=t.DUST_THRESHOLD;exports.FEE_SAFETY_MARGIN=t.FEE_SAFETY_MARGIN;exports.LOW_RATE_ESTIMATION_ACCURACY_BUFFER=t.LOW_RATE_ESTIMATION_ACCURACY_BUFFER;exports.MAX_NON_LEGACY_OUTPUT_SIZE=t.MAX_NON_LEGACY_OUTPUT_SIZE;exports.P2TR_INPUT_SIZE=t.P2TR_INPUT_SIZE;exports.PEGIN_FIXED_OUTPUTS=t.PEGIN_FIXED_OUTPUTS;exports.SPLIT_TX_FEE_SAFETY_MULTIPLIER=t.SPLIT_TX_FEE_SAFETY_MULTIPLIER;exports.TX_BUFFER_SIZE_OVERHEAD=t.TX_BUFFER_SIZE_OVERHEAD;exports.WALLET_RELAY_FEE_RATE_THRESHOLD=t.WALLET_RELAY_FEE_RATE_THRESHOLD;exports.fundPeginTransaction=t.fundPeginTransaction;exports.parseUnfundedWasmTransaction=t.parseUnfundedWasmTransaction;exports.peginOutputCount=t.peginOutputCount;exports.rateBasedTxBufferFee=t.rateBasedTxBufferFee;exports.BitcoinScriptType=e.BitcoinScriptType;exports.UtxoNotAvailableError=e.UtxoNotAvailableError;exports.assertUtxosAvailable=e.assertUtxosAvailable;exports.calculateBtcTxHash=e.calculateBtcTxHash;exports.collectReservedUtxoRefs=e.collectReservedUtxoRefs;exports.extractInputsFromTransaction=e.extractInputsFromTransaction;exports.getDustThreshold=e.getDustThreshold;exports.getPsbtInputFields=e.getPsbtInputFields;exports.getScriptType=e.getScriptType;exports.selectUtxosForDeposit=e.selectUtxosForDeposit;exports.selectUtxosForPegin=e.selectUtxosForPegin;exports.shouldAddChangeOutput=e.shouldAddChangeOutput;exports.validateUtxosAvailable=e.validateUtxosAvailable;exports.getNetwork=_.getNetwork;
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -1,11 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
4
|
-
* Transaction building utilities including:
|
|
5
|
-
* - Fee calculation constants
|
|
6
|
-
* - UTXO selection
|
|
7
|
-
* - Transaction funding
|
|
8
|
-
* - Bitcoin script utilities
|
|
2
|
+
* Pure helpers for the primitives and services layers. No wallet, no network, no contract state.
|
|
9
3
|
*
|
|
10
4
|
* @module utils
|
|
11
5
|
*/
|
|
@@ -14,4 +8,5 @@ export * from './utxo';
|
|
|
14
8
|
export * from './transaction';
|
|
15
9
|
export * from './btc';
|
|
16
10
|
export * from './signing';
|
|
11
|
+
export * from './validation';
|
|
17
12
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/tbv/core/utils/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/tbv/core/utils/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,OAAO,CAAC;AACtB,cAAc,QAAQ,CAAC;AACvB,cAAc,eAAe,CAAC;AAC9B,cAAc,OAAO,CAAC;AACtB,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC"}
|
|
@@ -1,36 +1,42 @@
|
|
|
1
1
|
import { c as t } from "../../../signing-DeWVBl7m.js";
|
|
2
|
-
import { B as
|
|
3
|
-
import { B as R,
|
|
4
|
-
import { g as b } from "../../../
|
|
2
|
+
import { B as E, H as T, K as _, M as o, T as r } from "../../../validation-CxqROCno.js";
|
|
3
|
+
import { B as A, D as R, F as i, L as p, M as n, P as I, a as U, S as c, T as F, W as l, f as x, b as O, p as P, r as u } from "../../../fundPeginTransaction-BLYXxLBv.js";
|
|
4
|
+
import { B as f, U as B, a as D, f as L, c as N, e as g, g as C, i as H, h as X, s as h, b as m, d as M, v as b } from "../../../psbtInputFields-r1ss6WLU.js";
|
|
5
|
+
import { g as W } from "../../../bitcoin-nOOgeRyl.js";
|
|
5
6
|
export {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
7
|
+
E as BITCOIN_ADDRESS_RE,
|
|
8
|
+
A as BTC_DUST_SAT,
|
|
9
|
+
f as BitcoinScriptType,
|
|
10
|
+
R as DUST_THRESHOLD,
|
|
11
|
+
i as FEE_SAFETY_MARGIN,
|
|
12
|
+
T as HEX_RE,
|
|
13
|
+
_ as KNOWN_SCRIPT_PREFIXES,
|
|
14
|
+
p as LOW_RATE_ESTIMATION_ACCURACY_BUFFER,
|
|
15
|
+
n as MAX_NON_LEGACY_OUTPUT_SIZE,
|
|
16
|
+
o as MAX_REASONABLE_FEE_SATS,
|
|
17
|
+
I as P2TR_INPUT_SIZE,
|
|
18
|
+
U as PEGIN_FIXED_OUTPUTS,
|
|
19
|
+
c as SPLIT_TX_FEE_SAFETY_MULTIPLIER,
|
|
20
|
+
r as TXID_RE,
|
|
21
|
+
F as TX_BUFFER_SIZE_OVERHEAD,
|
|
22
|
+
B as UtxoNotAvailableError,
|
|
23
|
+
l as WALLET_RELAY_FEE_RATE_THRESHOLD,
|
|
24
|
+
D as assertUtxosAvailable,
|
|
25
|
+
L as calculateBtcTxHash,
|
|
26
|
+
N as collectReservedUtxoRefs,
|
|
21
27
|
t as createTaprootScriptPathSignOptions,
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
28
|
+
g as extractInputsFromTransaction,
|
|
29
|
+
x as fundPeginTransaction,
|
|
30
|
+
C as getDustThreshold,
|
|
31
|
+
W as getNetwork,
|
|
32
|
+
H as getPsbtInputFields,
|
|
33
|
+
X as getScriptType,
|
|
34
|
+
O as parseUnfundedWasmTransaction,
|
|
35
|
+
P as peginOutputCount,
|
|
36
|
+
u as rateBasedTxBufferFee,
|
|
37
|
+
h as selectUtxosForDeposit,
|
|
38
|
+
m as selectUtxosForPegin,
|
|
39
|
+
M as shouldAddChangeOutput,
|
|
40
|
+
b as validateUtxosAvailable
|
|
35
41
|
};
|
|
36
42
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;"}
|
|
@@ -11,6 +11,12 @@ export interface UtxoRef {
|
|
|
11
11
|
}
|
|
12
12
|
/** Narrow structural type for pending pegin data. */
|
|
13
13
|
export interface PendingPeginLike {
|
|
14
|
+
/**
|
|
15
|
+
* Optional vault id. When present, used to skip pending pegins that are
|
|
16
|
+
* already indexed on-chain so the canonical vault copy wins over a
|
|
17
|
+
* tamperable off-chain entry.
|
|
18
|
+
*/
|
|
19
|
+
id?: string;
|
|
14
20
|
selectedUTXOs?: Array<{
|
|
15
21
|
txid: string;
|
|
16
22
|
vout: number;
|
|
@@ -19,6 +25,11 @@ export interface PendingPeginLike {
|
|
|
19
25
|
}
|
|
20
26
|
/** Narrow structural type for vault data. */
|
|
21
27
|
export interface VaultLike {
|
|
28
|
+
/**
|
|
29
|
+
* Optional vault id. When present, enables on-chain correlation with
|
|
30
|
+
* pending pegins sharing the same id.
|
|
31
|
+
*/
|
|
32
|
+
id?: string;
|
|
22
33
|
status: number;
|
|
23
34
|
unsignedPrePeginTx: string;
|
|
24
35
|
}
|
|
@@ -41,7 +52,22 @@ export interface CollectReservedUtxoRefsParams {
|
|
|
41
52
|
pendingPegins?: PendingPeginLike[];
|
|
42
53
|
}
|
|
43
54
|
/**
|
|
44
|
-
* Collect UTXO refs from in-flight deposits (PENDING/VERIFIED vaults and
|
|
55
|
+
* Collect UTXO refs from in-flight deposits (PENDING/VERIFIED vaults and
|
|
56
|
+
* pending pegins).
|
|
57
|
+
*
|
|
58
|
+
* On-chain vault data is canonical: for any pending pegin whose `id` matches
|
|
59
|
+
* an indexed on-chain vault, the pending-pegin copy is ignored entirely —
|
|
60
|
+
* the `vaults` branch below extracts refs from the indexer-supplied
|
|
61
|
+
* `unsignedPrePeginTx` so tampered off-chain data cannot poison the
|
|
62
|
+
* reservation set once the vault is indexed.
|
|
63
|
+
*
|
|
64
|
+
* For pegins not yet indexed, refs are derived from the stored
|
|
65
|
+
* `unsignedTxHex` only. The `selectedUTXOs` sidecar is NOT used for
|
|
66
|
+
* reservation: if it disagreed with the transaction's inputs (e.g. because
|
|
67
|
+
* the off-chain source was tampered), trusting it would poison the reserved
|
|
68
|
+
* set. The transaction hex must be validated at the source boundary before
|
|
69
|
+
* being handed to this function; parsing and using its inputs is the single
|
|
70
|
+
* source of truth here.
|
|
45
71
|
*/
|
|
46
72
|
export declare function collectReservedUtxoRefs(params: CollectReservedUtxoRefsParams): UtxoRef[];
|
|
47
73
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reservation.d.ts","sourceRoot":"","sources":["../../../../../src/tbv/core/utils/utxo/reservation.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAkBH,+DAA+D;AAC/D,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,qDAAqD;AACrD,MAAM,WAAW,gBAAgB;IAC/B,aAAa,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACtD,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,6CAA6C;AAC7C,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,2BAA2B,CAC1C,CAAC,SAAS;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE;IAEvD,2CAA2C;IAC3C,cAAc,EAAE,CAAC,EAAE,CAAC;IACpB,2EAA2E;IAC3E,gBAAgB,EAAE,OAAO,EAAE,CAAC;IAC5B,4DAA4D;IAC5D,cAAc,EAAE,MAAM,CAAC;IACvB,6EAA6E;IAC7E,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,6BAA6B;IAC5C,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC;IACrB,aAAa,CAAC,EAAE,gBAAgB,EAAE,CAAC;CACpC;
|
|
1
|
+
{"version":3,"file":"reservation.d.ts","sourceRoot":"","sources":["../../../../../src/tbv/core/utils/utxo/reservation.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAkBH,+DAA+D;AAC/D,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,qDAAqD;AACrD,MAAM,WAAW,gBAAgB;IAC/B;;;;OAIG;IACH,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,aAAa,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACtD,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,6CAA6C;AAC7C,MAAM,WAAW,SAAS;IACxB;;;OAGG;IACH,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,2BAA2B,CAC1C,CAAC,SAAS;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE;IAEvD,2CAA2C;IAC3C,cAAc,EAAE,CAAC,EAAE,CAAC;IACpB,2EAA2E;IAC3E,gBAAgB,EAAE,OAAO,EAAE,CAAC;IAC5B,4DAA4D;IAC5D,cAAc,EAAE,MAAM,CAAC;IACvB,6EAA6E;IAC7E,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,6BAA6B;IAC5C,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC;IACrB,aAAa,CAAC,EAAE,gBAAgB,EAAE,CAAC;CACpC;AA2ED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,6BAA6B,GACpC,OAAO,EAAE,CA8BX;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,qBAAqB,CACnC,CAAC,SAAS;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EACvD,MAAM,EAAE,2BAA2B,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAuC7C"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared validation constants for Bitcoin-related input sanitization.
|
|
3
|
+
*
|
|
4
|
+
* These are used across mempool API clients, broadcast services, and
|
|
5
|
+
* transaction construction to enforce consistent format checks.
|
|
6
|
+
*/
|
|
7
|
+
/** Non-empty string of hexadecimal characters (case-insensitive). */
|
|
8
|
+
export declare const HEX_RE: RegExp;
|
|
9
|
+
/** Bitcoin txid: exactly 64 hex characters (32 bytes). */
|
|
10
|
+
export declare const TXID_RE: RegExp;
|
|
11
|
+
/**
|
|
12
|
+
* Bitcoin address format gate: 25–90 alphanumeric characters.
|
|
13
|
+
* Covers legacy (P2PKH/P2SH), bech32 (P2WPKH/P2WSH), bech32m (P2TR),
|
|
14
|
+
* and regtest addresses (bcrt1... which are 62–64 chars for 32-byte witness programs).
|
|
15
|
+
* Upper bound of 90 provides headroom for future address formats.
|
|
16
|
+
* This is a format gate to prevent path-traversal — not full address validation.
|
|
17
|
+
*/
|
|
18
|
+
export declare const BITCOIN_ADDRESS_RE: RegExp;
|
|
19
|
+
/**
|
|
20
|
+
* Known Bitcoin scriptPubKey prefixes:
|
|
21
|
+
* - P2PKH: 76a914...88ac (25 bytes)
|
|
22
|
+
* - P2SH: a914...87 (23 bytes)
|
|
23
|
+
* - P2WPKH: 0014... (22 bytes)
|
|
24
|
+
* - P2WSH: 0020... (34 bytes)
|
|
25
|
+
* - P2TR: 5120... (34 bytes)
|
|
26
|
+
*/
|
|
27
|
+
export declare const KNOWN_SCRIPT_PREFIXES: readonly ["76a914", "a914", "0014", "0020", "5120"];
|
|
28
|
+
/**
|
|
29
|
+
* Upper bound on the implied miner fee (0.01 BTC = 1,000,000 sats).
|
|
30
|
+
* Catches inflated input values from a compromised mempool API — if inputs are
|
|
31
|
+
* grossly overstated the implied fee becomes unreasonably large. The April 2024
|
|
32
|
+
* Runes spike saw ~450 sat/vB; at 500 vB that's ~225k sats, well under this cap.
|
|
33
|
+
*/
|
|
34
|
+
export declare const MAX_REASONABLE_FEE_SATS = 1000000n;
|
|
35
|
+
//# sourceMappingURL=validation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../../../src/tbv/core/utils/validation.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,qEAAqE;AACrE,eAAO,MAAM,MAAM,QAAmB,CAAC;AAEvC,0DAA0D;AAC1D,eAAO,MAAM,OAAO,QAAsB,CAAC;AAE3C;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,QAAyB,CAAC;AAEzD;;;;;;;GAOG;AACH,eAAO,MAAM,qBAAqB,qDAMxB,CAAC;AAEX;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,WAAa,CAAC"}
|