@babylonlabs-io/ts-sdk 0.44.0 → 0.46.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.
Files changed (98) hide show
  1. package/README.md +0 -1
  2. package/dist/{BTCVaultRegistry.abi-Cq9-JlqT.js → BTCVaultRegistry.abi-Chs4AFBj.js} +125 -2
  3. package/dist/BTCVaultRegistry.abi-Chs4AFBj.js.map +1 -0
  4. package/dist/{BTCVaultRegistry.abi-CHFGevwa.cjs → BTCVaultRegistry.abi-JdeqLz4x.cjs} +2 -2
  5. package/dist/BTCVaultRegistry.abi-JdeqLz4x.cjs.map +1 -0
  6. package/dist/{PeginManager-D-8vmqzq.cjs → PeginManager-CeloRUHV.cjs} +2 -2
  7. package/dist/{PeginManager-D-8vmqzq.cjs.map → PeginManager-CeloRUHV.cjs.map} +1 -1
  8. package/dist/{PeginManager-BezsAEDe.js → PeginManager-CxSbzoYs.js} +4 -4
  9. package/dist/{PeginManager-BezsAEDe.js.map → PeginManager-CxSbzoYs.js.map} +1 -1
  10. package/dist/{buildAndBroadcastRefund-37Bs7-V1.js → buildAndBroadcastRefund-CZj2z7PJ.js} +2 -2
  11. package/dist/{buildAndBroadcastRefund-37Bs7-V1.js.map → buildAndBroadcastRefund-CZj2z7PJ.js.map} +1 -1
  12. package/dist/{buildAndBroadcastRefund-DbcNEsOv.cjs → buildAndBroadcastRefund-Ux587SFf.cjs} +2 -2
  13. package/dist/{buildAndBroadcastRefund-DbcNEsOv.cjs.map → buildAndBroadcastRefund-Ux587SFf.cjs.map} +1 -1
  14. package/dist/{errors-CznAK5NB.js → errors-Blc-JWnI.js} +71 -46
  15. package/dist/errors-Blc-JWnI.js.map +1 -0
  16. package/dist/errors-CGcNP0rV.cjs +2 -0
  17. package/dist/errors-CGcNP0rV.cjs.map +1 -0
  18. package/dist/index.cjs +1 -1
  19. package/dist/index.js +106 -107
  20. package/dist/mempoolApi-BxT89SAq.js +471 -0
  21. package/dist/mempoolApi-BxT89SAq.js.map +1 -0
  22. package/dist/mempoolApi-C_9JhjCI.cjs +2 -0
  23. package/dist/mempoolApi-C_9JhjCI.cjs.map +1 -0
  24. package/dist/primeVpAuth-7EYTPSTj.cjs +2 -0
  25. package/dist/{primeVpAuth-Duds3vAO.cjs.map → primeVpAuth-7EYTPSTj.cjs.map} +1 -1
  26. package/dist/{primeVpAuth-qEC9TTO_.js → primeVpAuth-DZlsu0di.js} +369 -341
  27. package/dist/{primeVpAuth-qEC9TTO_.js.map → primeVpAuth-DZlsu0di.js.map} +1 -1
  28. package/dist/reservation-BxvKbQH2.js +107 -0
  29. package/dist/reservation-BxvKbQH2.js.map +1 -0
  30. package/dist/reservation-xTL2a9Q-.cjs +2 -0
  31. package/dist/reservation-xTL2a9Q-.cjs.map +1 -0
  32. package/dist/tbv/core/clients/eth/vault-registry-reader.d.ts.map +1 -1
  33. package/dist/tbv/core/clients/index.cjs +1 -1
  34. package/dist/tbv/core/clients/index.js +2 -2
  35. package/dist/tbv/core/clients/vault-provider/auth/createAuthenticatedVpClient.d.ts +6 -0
  36. package/dist/tbv/core/clients/vault-provider/auth/createAuthenticatedVpClient.d.ts.map +1 -1
  37. package/dist/tbv/core/clients/vault-provider/auth/gatedMethods.d.ts +12 -0
  38. package/dist/tbv/core/clients/vault-provider/auth/gatedMethods.d.ts.map +1 -1
  39. package/dist/tbv/core/clients/vault-provider/auth/innerTokenClient.d.ts +8 -0
  40. package/dist/tbv/core/clients/vault-provider/auth/innerTokenClient.d.ts.map +1 -1
  41. package/dist/tbv/core/clients/vault-provider/auth/primeVpAuth.d.ts +8 -0
  42. package/dist/tbv/core/clients/vault-provider/auth/primeVpAuth.d.ts.map +1 -1
  43. package/dist/tbv/core/clients/vault-provider/auth/tokenProvider.d.ts +42 -13
  44. package/dist/tbv/core/clients/vault-provider/auth/tokenProvider.d.ts.map +1 -1
  45. package/dist/tbv/core/clients/vault-provider/auth/tokenRegistry.d.ts +14 -4
  46. package/dist/tbv/core/clients/vault-provider/auth/tokenRegistry.d.ts.map +1 -1
  47. package/dist/tbv/core/contracts/__tests__/errors.test.d.ts +2 -0
  48. package/dist/tbv/core/contracts/__tests__/errors.test.d.ts.map +1 -0
  49. package/dist/tbv/core/contracts/abis/BTCVaultRegistry.abi.d.ts +292 -0
  50. package/dist/tbv/core/contracts/abis/BTCVaultRegistry.abi.d.ts.map +1 -1
  51. package/dist/tbv/core/contracts/errors.d.ts.map +1 -1
  52. package/dist/tbv/core/contracts/index.cjs +1 -1
  53. package/dist/tbv/core/contracts/index.js +2 -2
  54. package/dist/tbv/core/index.cjs +1 -1
  55. package/dist/tbv/core/index.js +102 -103
  56. package/dist/tbv/core/managers/index.cjs +1 -1
  57. package/dist/tbv/core/managers/index.js +1 -1
  58. package/dist/tbv/core/services/index.cjs +1 -1
  59. package/dist/tbv/core/services/index.js +1 -1
  60. package/dist/tbv/core/utils/index.cjs +1 -1
  61. package/dist/tbv/core/utils/index.js +32 -33
  62. package/dist/tbv/core/utils/utxo/__tests__/reservation.test.d.ts +0 -1
  63. package/dist/tbv/core/utils/utxo/__tests__/reservation.test.d.ts.map +1 -1
  64. package/dist/tbv/core/utils/utxo/availability.d.ts +22 -1
  65. package/dist/tbv/core/utils/utxo/availability.d.ts.map +1 -1
  66. package/dist/tbv/core/utils/utxo/reservation.d.ts +11 -86
  67. package/dist/tbv/core/utils/utxo/reservation.d.ts.map +1 -1
  68. package/dist/tbv/index.cjs +1 -1
  69. package/dist/tbv/index.js +102 -103
  70. package/dist/tbv/integrations/aave/clients/index.d.ts +1 -1
  71. package/dist/tbv/integrations/aave/clients/index.d.ts.map +1 -1
  72. package/dist/tbv/integrations/aave/clients/oracle.d.ts +8 -1
  73. package/dist/tbv/integrations/aave/clients/oracle.d.ts.map +1 -1
  74. package/dist/tbv/integrations/aave/clients/spoke.d.ts +27 -0
  75. package/dist/tbv/integrations/aave/clients/spoke.d.ts.map +1 -1
  76. package/dist/tbv/integrations/aave/constants.d.ts +3 -3
  77. package/dist/tbv/integrations/aave/constants.d.ts.map +1 -1
  78. package/dist/tbv/integrations/aave/index.cjs +1 -1
  79. package/dist/tbv/integrations/aave/index.cjs.map +1 -1
  80. package/dist/tbv/integrations/aave/index.d.ts +1 -1
  81. package/dist/tbv/integrations/aave/index.d.ts.map +1 -1
  82. package/dist/tbv/integrations/aave/index.js +276 -212
  83. package/dist/tbv/integrations/aave/index.js.map +1 -1
  84. package/package.json +1 -1
  85. package/dist/BTCVaultRegistry.abi-CHFGevwa.cjs.map +0 -1
  86. package/dist/BTCVaultRegistry.abi-Cq9-JlqT.js.map +0 -1
  87. package/dist/errors-BP73_stm.cjs +0 -2
  88. package/dist/errors-BP73_stm.cjs.map +0 -1
  89. package/dist/errors-CznAK5NB.js.map +0 -1
  90. package/dist/mempoolApi-CknccHKg.cjs +0 -2
  91. package/dist/mempoolApi-CknccHKg.cjs.map +0 -1
  92. package/dist/mempoolApi-DI9HISqi.js +0 -451
  93. package/dist/mempoolApi-DI9HISqi.js.map +0 -1
  94. package/dist/primeVpAuth-Duds3vAO.cjs +0 -2
  95. package/dist/reservation-Cwf2u4vu.cjs +0 -2
  96. package/dist/reservation-Cwf2u4vu.cjs.map +0 -1
  97. package/dist/reservation-DNOGLBt4.js +0 -143
  98. package/dist/reservation-DNOGLBt4.js.map +0 -1
@@ -1,88 +1,88 @@
1
1
  import { a as s, b as t, c as r } from "../../challengeAssert-ChqnvtRg.js";
2
2
  import { computeMinClaimValue as i, computeMinPeginFee as n, deriveVaultId as u, expandAuthAnchor as l, expandHashlockSecret as p, expandWotsSeed as d } from "@babylonlabs-io/babylon-tbv-rust-wasm";
3
- import { P as c, d as T, c as E, a as A, b as S, f as R, e as _ } from "../../assertPsbtUnsignedTxMatches-GHobJP-d.js";
3
+ import { P as c, d as T, c as E, a as A, b as S, f as _, e as g } from "../../assertPsbtUnsignedTxMatches-GHobJP-d.js";
4
4
  import { b as m, e as x, f } from "../../peginInput-BPRB9tUi.js";
5
- import { a as I, b as v } from "../../noPayout-BtP-R-b-.js";
6
- import { d as F, a as O, b as V, e as U, f as h, j as y, g as N, h as D, i as B, c as M, p as H, s as L, t as X, u as k, v as W } from "../../bitcoin-B5aNKtsk.js";
5
+ import { a as I, b as O } from "../../noPayout-BtP-R-b-.js";
6
+ import { d as v, a as C, b as F, e as h, f as U, j as y, g as N, h as D, i as B, c as M, p as H, s as L, t as X, u as k, v as W } from "../../bitcoin-B5aNKtsk.js";
7
7
  import { c as w } from "../../signing-DaLvGwQe.js";
8
8
  import { B as Y, H as Z, K as J, M as j, T as q } from "../../validation-CxqROCno.js";
9
- import { P as Q, V as $, b as aa, a as ea, c as sa, f as ta, d as ra, e as oa } from "../../PeginManager-BezsAEDe.js";
9
+ import { P as Q, V as $, b as aa, a as ea, c as sa, f as ta, d as ra, e as oa } from "../../PeginManager-CxSbzoYs.js";
10
10
  import { P as na, c as ua, v as la } from "../../PayoutManager-CXDccwDN.js";
11
11
  import { A as da, P as Pa } from "../../ApplicationRegistry.abi-Dn2qk6JG.js";
12
- import { B as Ta } from "../../BTCVaultRegistry.abi-Cq9-JlqT.js";
13
- import { C as Aa, e as Sa, g as Ra, h as _a, i as ga } from "../../errors-CznAK5NB.js";
14
- import { B as xa, a as fa, f as ba, c as Ia, b as va, d as Ca, g as Fa, i as Oa, h as Va, s as Ua, e as ha, w as ya } from "../../waitForTransactionReceiptSmartAware-Dt5VcMK0.js";
12
+ import { B as Ta } from "../../BTCVaultRegistry.abi-Chs4AFBj.js";
13
+ import { C as Aa, e as Sa, g as _a, h as ga, i as Ra } from "../../errors-Blc-JWnI.js";
14
+ import { B as xa, a as fa, f as ba, c as Ia, b as Oa, d as Va, g as va, i as Ca, h as Fa, s as ha, e as Ua, w as ya } from "../../waitForTransactionReceiptSmartAware-Dt5VcMK0.js";
15
15
  import { B as Da, D as Ba, F as Ma, L as Ha, M as La, P as Xa, b as ka, a as Wa, S as Ka, T as wa, W as Ga, f as Ya, c as Za, p as Ja, r as ja } from "../../fundPeginTransaction-C11tYf6I.js";
16
- import { U as za, a as Qa, c as $a, e as ae, s as ee, v as se } from "../../reservation-DNOGLBt4.js";
17
- import { M as re, V as oe, g as ie, a as ne, b as ue, c as le, d as pe, e as de, f as Pe, h as ce, p as Te, v as Ee, i as Ae, j as Se } from "../../mempoolApi-DI9HISqi.js";
18
- import { O as _e, S as ge, V as me, g as xe, h as fe, i as be, a as Ie, d as ve, b as Ce, f as Fe, p as Oe, r as Ve, v as Ue, c as he, e as ye } from "../../primeVpAuth-qEC9TTO_.js";
19
- import { A as De, D as Be, b as Me, J as He, a as Le, d as Xe, P as ke, R as We, e as Ke, c as we, V as Ge } from "../../types-BqGAMOZM.js";
20
- import { i as Ze, p as Je } from "../../errors-9AkghWyk.js";
21
- import { B as qe, C as ze, p as Qe, q as $e, t as as, u as es, R as ss, a as ts, n as rs, o as os, i as is, m as ns, l as us, j as ls, r as ps, b as ds, s as Ps, v as cs, g as Ts, h as Es, d as As, c as Ss, e as Rs, f as _s, k as gs, w as ms } from "../../buildAndBroadcastRefund-37Bs7-V1.js";
22
- import { C as fs, P as bs, c as Is, g as vs } from "../../peginState-CBAlxgXk.js";
16
+ import { U as za, a as Qa, e as $a, f as ae, v as ee } from "../../reservation-BxvKbQH2.js";
17
+ import { M as te, V as re, g as oe, a as ie, b as ne, c as ue, d as le, e as pe, f as de, h as Pe, p as ce, v as Te, i as Ee, j as Ae } from "../../mempoolApi-BxT89SAq.js";
18
+ import { O as _e, S as ge, V as Re, g as me, h as xe, i as fe, a as be, d as Ie, b as Oe, f as Ve, p as ve, r as Ce, v as Fe, c as he, e as Ue } from "../../primeVpAuth-DZlsu0di.js";
19
+ import { A as Ne, D as De, b as Be, J as Me, a as He, d as Le, P as Xe, R as ke, e as We, c as Ke, V as we } from "../../types-BqGAMOZM.js";
20
+ import { i as Ye, p as Ze } from "../../errors-9AkghWyk.js";
21
+ import { B as je, C as qe, p as ze, q as Qe, t as $e, u as as, R as es, a as ss, n as ts, o as rs, i as os, m as is, l as ns, j as us, r as ls, b as ps, s as ds, v as Ps, g as cs, h as Ts, d as Es, c as As, e as Ss, f as _s, k as gs, w as Rs } from "../../buildAndBroadcastRefund-CZj2z7PJ.js";
22
+ import { C as xs, P as fs, c as bs, g as Is } from "../../peginState-CBAlxgXk.js";
23
23
  export {
24
- De as AUTH_EXPIRED_DATA_KIND,
24
+ Ne as AUTH_EXPIRED_DATA_KIND,
25
25
  da as ApplicationRegistryABI,
26
- qe as BIP68NotMatureError,
26
+ je as BIP68NotMatureError,
27
27
  Y as BITCOIN_ADDRESS_RE,
28
28
  Ta as BTCVaultRegistryABI,
29
29
  Da as BTC_DUST_SAT,
30
30
  xa as BitcoinScriptType,
31
31
  Aa as CONTRACT_ERRORS,
32
- ze as ClaimerPegoutStatusValue,
33
- fs as ContractStatus,
32
+ qe as ClaimerPegoutStatusValue,
33
+ xs as ContractStatus,
34
34
  Ba as DUST_THRESHOLD,
35
- Be as DaemonStatus,
35
+ De as DaemonStatus,
36
36
  Ma as FEE_SAFETY_MARGIN,
37
37
  Z as HEX_RE,
38
- Me as JSON_RPC_ERROR_CODES,
39
- He as JsonRpcClient,
40
- Le as JsonRpcError,
38
+ Be as JSON_RPC_ERROR_CODES,
39
+ Me as JsonRpcClient,
40
+ He as JsonRpcError,
41
41
  J as KNOWN_SCRIPT_PREFIXES,
42
42
  Ha as LOW_RATE_ESTIMATION_ACCURACY_BUFFER,
43
43
  La as MAX_NON_LEGACY_OUTPUT_SIZE,
44
44
  j as MAX_REASONABLE_FEE_SATS,
45
- re as MEMPOOL_API_URLS,
45
+ te as MEMPOOL_API_URLS,
46
46
  _e as OnChainBtcVaultStatus,
47
47
  Xa as P2TR_INPUT_SIZE,
48
48
  ka as PEGIN_AUTH_ANCHOR_OUTPUTS,
49
49
  Wa as PEGIN_FIXED_OUTPUTS,
50
- Xe as POST_WOTS_STATUSES,
51
- ke as PRE_DEPOSITOR_SIGNATURES_STATES,
50
+ Le as POST_WOTS_STATUSES,
51
+ Xe as PRE_DEPOSITOR_SIGNATURES_STATES,
52
52
  na as PayoutManager,
53
- bs as PeginAction,
53
+ fs as PeginAction,
54
54
  Q as PeginManager,
55
55
  Pa as ProtocolParamsABI,
56
56
  c as PsbtSubstitutionError,
57
- Qe as REFUND_MAX_FEE_FRACTION_DENOMINATOR,
58
- $e as REFUND_MAX_FEE_FRACTION_NUMERATOR,
59
- as as REFUND_MAX_FEE_RATE_SATS_VB,
60
- es as REFUND_VSIZE,
61
- ss as RegisteredVaultVersionMismatchError,
62
- We as RpcErrorCode,
57
+ ze as REFUND_MAX_FEE_FRACTION_DENOMINATOR,
58
+ Qe as REFUND_MAX_FEE_FRACTION_NUMERATOR,
59
+ $e as REFUND_MAX_FEE_RATE_SATS_VB,
60
+ as as REFUND_VSIZE,
61
+ es as RegisteredVaultVersionMismatchError,
62
+ ke as RpcErrorCode,
63
63
  Ka as SPLIT_TX_FEE_SAFETY_MULTIPLIER,
64
64
  ge as ServerIdentityError,
65
65
  q as TXID_RE,
66
66
  wa as TX_BUFFER_SIZE_OVERHEAD,
67
67
  za as UtxoNotAvailableError,
68
68
  $ as VAULT_APP_NAME,
69
- Ke as VP_BATCH_MAX_SIZE,
70
- we as VP_TERMINAL_FAILURE_STATUSES,
71
- Ge as VP_TRANSIENT_STATUSES,
72
- me as VaultProviderRpcClient,
73
- xe as ViemProtocolParamsReader,
74
- fe as ViemUniversalChallengerReader,
75
- be as ViemVaultKeeperReader,
76
- oe as ViemVaultRegistryReader,
77
- Ie as VpResponseValidationError,
78
- ve as VpTokenRegistry,
69
+ We as VP_BATCH_MAX_SIZE,
70
+ Ke as VP_TERMINAL_FAILURE_STATUSES,
71
+ we as VP_TRANSIENT_STATUSES,
72
+ Re as VaultProviderRpcClient,
73
+ me as ViemProtocolParamsReader,
74
+ xe as ViemUniversalChallengerReader,
75
+ fe as ViemVaultKeeperReader,
76
+ re as ViemVaultRegistryReader,
77
+ be as VpResponseValidationError,
78
+ Ie as VpTokenRegistry,
79
79
  Ga as WALLET_RELAY_FEE_RATE_THRESHOLD,
80
- ts as activateVault,
80
+ ss as activateVault,
81
81
  fa as applyChangeOutputPolicy,
82
82
  T as assertPsbtUnsignedTxMatches,
83
83
  Qa as assertUtxosAvailable,
84
- Ce as batchPollByProvider,
85
- rs as buildAndBroadcastRefund,
84
+ Oe as batchPollByProvider,
85
+ ts as buildAndBroadcastRefund,
86
86
  s as buildChallengeAssertPsbt,
87
87
  t as buildDepositorPayoutPsbt,
88
88
  aa as buildFundingOutpointsCommitment,
@@ -91,101 +91,100 @@ export {
91
91
  m as buildPeginInputPsbt,
92
92
  A as buildPeginTxFromFundedPrePegin,
93
93
  S as buildPrePeginPsbt,
94
- v as buildRefundPsbt,
94
+ O as buildRefundPsbt,
95
95
  ea as buildVaultContext,
96
96
  ba as calculateBtcTxHash,
97
- Is as canPerformAction,
98
- $a as collectReservedUtxoRefs,
97
+ bs as canPerformAction,
99
98
  Ia as computeChangeOutputFeeSats,
100
99
  ua as computeHashlock,
101
- va as computeMaxDeposit,
100
+ Oa as computeMaxDeposit,
102
101
  i as computeMinClaimValue,
103
102
  n as computeMinPeginFee,
104
103
  r as computeNumLocalChallengers,
105
- Ca as computePeginBaseFeeSats,
104
+ Va as computePeginBaseFeeSats,
106
105
  sa as computeWotsBlockPublicKeysHash,
107
- Fe as createAuthenticatedVpClient,
108
- R as createPayoutScript,
106
+ Ve as createAuthenticatedVpClient,
107
+ _ as createPayoutScript,
109
108
  w as createTaprootScriptPathSignOptions,
110
- F as deriveBip86ScriptPubKeyHex,
111
- O as deriveNativeSegwitAddress,
112
- V as deriveTaprootAddress,
109
+ v as deriveBip86ScriptPubKeyHex,
110
+ C as deriveNativeSegwitAddress,
111
+ F as deriveTaprootAddress,
113
112
  u as deriveVaultId,
114
113
  ta as deriveVaultRoot,
115
114
  ra as deriveWotsBlocksFromSeed,
116
- U as ensureHexPrefix,
117
- os as estimateRefundFeeSats,
115
+ h as ensureHexPrefix,
116
+ rs as estimateRefundFeeSats,
118
117
  oa as estimateSubmitPeginRequestBatchGas,
119
118
  l as expandAuthAnchor,
120
119
  p as expandHashlockSecret,
121
120
  d as expandWotsSeed,
122
121
  Sa as extractErrorData,
123
- ae as extractInputsFromTransaction,
124
- _ as extractPayoutSignature,
122
+ $a as extractInputsFromTransaction,
123
+ g as extractPayoutSignature,
125
124
  x as extractPeginInputSignature,
126
125
  f as finalizePeginInputPsbt,
127
- h as formatSatoshisToBtc,
126
+ ae as findOverlappingPendingVaults,
127
+ U as formatSatoshisToBtc,
128
128
  Ya as fundPeginTransaction,
129
- ie as getAddressTxs,
130
- ne as getAddressUtxos,
131
- Ra as getContractErrorMessage,
132
- Fa as getDustThreshold,
133
- ue as getMempoolApiUrl,
129
+ oe as getAddressTxs,
130
+ ie as getAddressUtxos,
131
+ _a as getContractErrorMessage,
132
+ va as getDustThreshold,
133
+ ne as getMempoolApiUrl,
134
134
  y as getNetwork,
135
- le as getNetworkFees,
136
- vs as getPeginProtocolState,
137
- Oa as getPsbtInputFields,
138
- Va as getScriptType,
135
+ ue as getNetworkFees,
136
+ Is as getPeginProtocolState,
137
+ Ca as getPsbtInputFields,
138
+ Fa as getScriptType,
139
139
  N as getSortedXOnlyPubkeys,
140
- pe as getTipHeight,
141
- de as getTxHex,
142
- Pe as getTxInfo,
143
- ce as getUtxoInfo,
144
- _a as handleContractError,
140
+ le as getTipHeight,
141
+ pe as getTxHex,
142
+ de as getTxInfo,
143
+ Pe as getUtxoInfo,
144
+ ga as handleContractError,
145
145
  D as hexToUint8Array,
146
146
  B as isAddressFromPublicKey,
147
- is as isDepositAmountValid,
148
- ga as isKnownContractError,
149
- ns as isPegoutTerminalStatus,
150
- us as isRecognizedPegoutStatus,
151
- ls as isRegisteredVaultVersionMismatchError,
147
+ os as isDepositAmountValid,
148
+ Ra as isKnownContractError,
149
+ is as isPegoutTerminalStatus,
150
+ ns as isRecognizedPegoutStatus,
151
+ us as isRegisteredVaultVersionMismatchError,
152
152
  M as isValidHex,
153
- Ze as isWotsMismatchError,
154
- Je as parseFundingOutpointsFromTx,
153
+ Ye as isWotsMismatchError,
154
+ Ze as parseFundingOutpointsFromTx,
155
155
  Za as parseUnfundedWasmTransaction,
156
156
  Ja as peginOutputCount,
157
- Oe as primeVpTokenRegistry,
157
+ ve as primeVpTokenRegistry,
158
158
  H as processPublicKeyToXOnly,
159
- Te as pushTx,
159
+ ce as pushTx,
160
160
  ja as rateBasedTxBufferFee,
161
- Ve as resolveProtocolAddresses,
162
- ps as runDepositorPresignFlow,
163
- ee as selectUtxosForDeposit,
164
- Ua as selectUtxosForPegin,
165
- ha as shouldAddChangeOutput,
166
- ds as signDepositorGraph,
161
+ Ce as resolveProtocolAddresses,
162
+ ls as runDepositorPresignFlow,
163
+ ha as selectUtxosForPegin,
164
+ Ua as shouldAddChangeOutput,
165
+ ps as signDepositorGraph,
167
166
  L as stripHexPrefix,
168
- Ps as submitWotsPublicKey,
167
+ ds as submitWotsPublicKey,
169
168
  X as toXOnly,
170
169
  k as uint8ArrayToHex,
171
- cs as validateDepositAmount,
172
- Ts as validateMultiVaultDepositInputs,
173
- Ee as validateOffchainParams,
174
- Es as validateOnChainParticipantKeys,
175
- Ae as validatePegInConfiguration,
176
- As as validateProviderSelection,
177
- Ss as validateRemainingCapacity,
178
- Ue as validateRequestDepositorClaimerArtifactsResponse,
170
+ Ps as validateDepositAmount,
171
+ cs as validateMultiVaultDepositInputs,
172
+ Te as validateOffchainParams,
173
+ Ts as validateOnChainParticipantKeys,
174
+ Ee as validatePegInConfiguration,
175
+ Es as validateProviderSelection,
176
+ As as validateRemainingCapacity,
177
+ Fe as validateRequestDepositorClaimerArtifactsResponse,
179
178
  la as validateSecretAgainstHashlock,
180
- Se as validateTBVProtocolParams,
181
- se as validateUtxosAvailable,
182
- Rs as validateVaultAmounts,
179
+ Ae as validateTBVProtocolParams,
180
+ ee as validateUtxosAvailable,
181
+ Ss as validateVaultAmounts,
183
182
  _s as validateVaultProviderPubkey,
184
183
  W as validateWalletPubkey,
185
184
  gs as verifyRegisteredVaultVersions,
186
185
  he as verifyServerIdentity,
187
- ye as vpTokenRegistry,
188
- ms as waitForPeginStatus,
186
+ Ue as vpTokenRegistry,
187
+ Rs as waitForPeginStatus,
189
188
  ya as waitForTransactionReceiptSmartAware
190
189
  };
191
190
  //# sourceMappingURL=index.js.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../../../PeginManager-D-8vmqzq.cjs"),a=require("../../../PayoutManager-BwYlPF2C.cjs");exports.PeginManager=e.PeginManager;exports.estimateSubmitPeginRequestBatchGas=e.estimateSubmitPeginRequestBatchGas;exports.PayoutManager=a.PayoutManager;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../../../PeginManager-CeloRUHV.cjs"),a=require("../../../PayoutManager-BwYlPF2C.cjs");exports.PeginManager=e.PeginManager;exports.estimateSubmitPeginRequestBatchGas=e.estimateSubmitPeginRequestBatchGas;exports.PayoutManager=a.PayoutManager;
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1,4 +1,4 @@
1
- import { P as t, e as r } from "../../../PeginManager-BezsAEDe.js";
1
+ import { P as t, e as r } from "../../../PeginManager-CxSbzoYs.js";
2
2
  import { P as o } from "../../../PayoutManager-CXDccwDN.js";
3
3
  export {
4
4
  o as PayoutManager,
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("../../../PayoutManager-BwYlPF2C.cjs"),t=require("../../../buildAndBroadcastRefund-DbcNEsOv.cjs"),e=require("../../../peginState-BijNNT15.cjs");exports.computeHashlock=a.computeHashlock;exports.validateSecretAgainstHashlock=a.validateSecretAgainstHashlock;exports.BIP68NotMatureError=t.BIP68NotMatureError;exports.ClaimerPegoutStatusValue=t.ClaimerPegoutStatusValue;exports.REFUND_MAX_FEE_FRACTION_DENOMINATOR=t.REFUND_MAX_FEE_FRACTION_DENOMINATOR;exports.REFUND_MAX_FEE_FRACTION_NUMERATOR=t.REFUND_MAX_FEE_FRACTION_NUMERATOR;exports.REFUND_MAX_FEE_RATE_SATS_VB=t.REFUND_MAX_FEE_RATE_SATS_VB;exports.REFUND_VSIZE=t.REFUND_VSIZE;exports.RegisteredVaultVersionMismatchError=t.RegisteredVaultVersionMismatchError;exports.activateVault=t.activateVault;exports.buildAndBroadcastRefund=t.buildAndBroadcastRefund;exports.estimateRefundFeeSats=t.estimateRefundFeeSats;exports.isDepositAmountValid=t.isDepositAmountValid;exports.isPegoutTerminalStatus=t.isPegoutTerminalStatus;exports.isRecognizedPegoutStatus=t.isRecognizedPegoutStatus;exports.isRegisteredVaultVersionMismatchError=t.isRegisteredVaultVersionMismatchError;exports.runDepositorPresignFlow=t.runDepositorPresignFlow;exports.signDepositorGraph=t.signDepositorGraph;exports.submitWotsPublicKey=t.submitWotsPublicKey;exports.validateDepositAmount=t.validateDepositAmount;exports.validateMultiVaultDepositInputs=t.validateMultiVaultDepositInputs;exports.validateOnChainParticipantKeys=t.validateOnChainParticipantKeys;exports.validateProviderSelection=t.validateProviderSelection;exports.validateRemainingCapacity=t.validateRemainingCapacity;exports.validateVaultAmounts=t.validateVaultAmounts;exports.validateVaultProviderPubkey=t.validateVaultProviderPubkey;exports.verifyRegisteredVaultVersions=t.verifyRegisteredVaultVersions;exports.waitForPeginStatus=t.waitForPeginStatus;exports.ContractStatus=e.ContractStatus;exports.PeginAction=e.PeginAction;exports.canPerformAction=e.canPerformAction;exports.getPeginProtocolState=e.getPeginProtocolState;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("../../../PayoutManager-BwYlPF2C.cjs"),t=require("../../../buildAndBroadcastRefund-Ux587SFf.cjs"),e=require("../../../peginState-BijNNT15.cjs");exports.computeHashlock=a.computeHashlock;exports.validateSecretAgainstHashlock=a.validateSecretAgainstHashlock;exports.BIP68NotMatureError=t.BIP68NotMatureError;exports.ClaimerPegoutStatusValue=t.ClaimerPegoutStatusValue;exports.REFUND_MAX_FEE_FRACTION_DENOMINATOR=t.REFUND_MAX_FEE_FRACTION_DENOMINATOR;exports.REFUND_MAX_FEE_FRACTION_NUMERATOR=t.REFUND_MAX_FEE_FRACTION_NUMERATOR;exports.REFUND_MAX_FEE_RATE_SATS_VB=t.REFUND_MAX_FEE_RATE_SATS_VB;exports.REFUND_VSIZE=t.REFUND_VSIZE;exports.RegisteredVaultVersionMismatchError=t.RegisteredVaultVersionMismatchError;exports.activateVault=t.activateVault;exports.buildAndBroadcastRefund=t.buildAndBroadcastRefund;exports.estimateRefundFeeSats=t.estimateRefundFeeSats;exports.isDepositAmountValid=t.isDepositAmountValid;exports.isPegoutTerminalStatus=t.isPegoutTerminalStatus;exports.isRecognizedPegoutStatus=t.isRecognizedPegoutStatus;exports.isRegisteredVaultVersionMismatchError=t.isRegisteredVaultVersionMismatchError;exports.runDepositorPresignFlow=t.runDepositorPresignFlow;exports.signDepositorGraph=t.signDepositorGraph;exports.submitWotsPublicKey=t.submitWotsPublicKey;exports.validateDepositAmount=t.validateDepositAmount;exports.validateMultiVaultDepositInputs=t.validateMultiVaultDepositInputs;exports.validateOnChainParticipantKeys=t.validateOnChainParticipantKeys;exports.validateProviderSelection=t.validateProviderSelection;exports.validateRemainingCapacity=t.validateRemainingCapacity;exports.validateVaultAmounts=t.validateVaultAmounts;exports.validateVaultProviderPubkey=t.validateVaultProviderPubkey;exports.verifyRegisteredVaultVersions=t.verifyRegisteredVaultVersions;exports.waitForPeginStatus=t.waitForPeginStatus;exports.ContractStatus=e.ContractStatus;exports.PeginAction=e.PeginAction;exports.canPerformAction=e.canPerformAction;exports.getPeginProtocolState=e.getPeginProtocolState;
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1,5 +1,5 @@
1
1
  import { c as s, v as e } from "../../../PayoutManager-CXDccwDN.js";
2
- import { B as o, C as r, p as u, q as n, t as l, u as c, R as d, a as R, n as g, o as E, i as m, m as A, l as P, j as p, r as v, b as V, s as _, v as F, g as S, h as D, d as N, c as M, e as f, f as C, k as h, w as T } from "../../../buildAndBroadcastRefund-37Bs7-V1.js";
2
+ import { B as o, C as r, p as u, q as n, t as l, u as c, R as d, a as R, n as g, o as E, i as m, m as A, l as P, j as p, r as v, b as V, s as _, v as F, g as S, h as D, d as N, c as M, e as f, f as C, k as h, w as T } from "../../../buildAndBroadcastRefund-CZj2z7PJ.js";
3
3
  import { C as O, P as b, c as y, g as U } from "../../../peginState-CBAlxgXk.js";
4
4
  export {
5
5
  o as BIP68NotMatureError,
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const _=require("../../../signing-Bnsro0hE.cjs"),T=require("../../../validation-u8W7Lp2x.cjs"),e=require("../../../waitForTransactionReceiptSmartAware-BFMQFEzj.cjs"),t=require("../../../fundPeginTransaction-C8qsXxNV.cjs"),a=require("../../../reservation-Cwf2u4vu.cjs"),o=require("../../../bitcoin-CHfKAhcI.cjs");exports.createTaprootScriptPathSignOptions=_.createTaprootScriptPathSignOptions;exports.BITCOIN_ADDRESS_RE=T.BITCOIN_ADDRESS_RE;exports.HEX_RE=T.HEX_RE;exports.KNOWN_SCRIPT_PREFIXES=T.KNOWN_SCRIPT_PREFIXES;exports.MAX_REASONABLE_FEE_SATS=T.MAX_REASONABLE_FEE_SATS;exports.TXID_RE=T.TXID_RE;exports.BitcoinScriptType=e.BitcoinScriptType;exports.applyChangeOutputPolicy=e.applyChangeOutputPolicy;exports.calculateBtcTxHash=e.calculateBtcTxHash;exports.computeChangeOutputFeeSats=e.computeChangeOutputFeeSats;exports.computeMaxDeposit=e.computeMaxDeposit;exports.computePeginBaseFeeSats=e.computePeginBaseFeeSats;exports.getDustThreshold=e.getDustThreshold;exports.getPsbtInputFields=e.getPsbtInputFields;exports.getScriptType=e.getScriptType;exports.selectUtxosForPegin=e.selectUtxosForPegin;exports.shouldAddChangeOutput=e.shouldAddChangeOutput;exports.waitForTransactionReceiptSmartAware=e.waitForTransactionReceiptSmartAware;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_AUTH_ANCHOR_OUTPUTS=t.PEGIN_AUTH_ANCHOR_OUTPUTS;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.UtxoNotAvailableError=a.UtxoNotAvailableError;exports.assertUtxosAvailable=a.assertUtxosAvailable;exports.collectReservedUtxoRefs=a.collectReservedUtxoRefs;exports.extractInputsFromTransaction=a.extractInputsFromTransaction;exports.selectUtxosForDeposit=a.selectUtxosForDeposit;exports.validateUtxosAvailable=a.validateUtxosAvailable;exports.getNetwork=o.getNetwork;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const _=require("../../../signing-Bnsro0hE.cjs"),a=require("../../../validation-u8W7Lp2x.cjs"),e=require("../../../waitForTransactionReceiptSmartAware-BFMQFEzj.cjs"),t=require("../../../fundPeginTransaction-C8qsXxNV.cjs"),T=require("../../../reservation-xTL2a9Q-.cjs"),E=require("../../../bitcoin-CHfKAhcI.cjs");exports.createTaprootScriptPathSignOptions=_.createTaprootScriptPathSignOptions;exports.BITCOIN_ADDRESS_RE=a.BITCOIN_ADDRESS_RE;exports.HEX_RE=a.HEX_RE;exports.KNOWN_SCRIPT_PREFIXES=a.KNOWN_SCRIPT_PREFIXES;exports.MAX_REASONABLE_FEE_SATS=a.MAX_REASONABLE_FEE_SATS;exports.TXID_RE=a.TXID_RE;exports.BitcoinScriptType=e.BitcoinScriptType;exports.applyChangeOutputPolicy=e.applyChangeOutputPolicy;exports.calculateBtcTxHash=e.calculateBtcTxHash;exports.computeChangeOutputFeeSats=e.computeChangeOutputFeeSats;exports.computeMaxDeposit=e.computeMaxDeposit;exports.computePeginBaseFeeSats=e.computePeginBaseFeeSats;exports.getDustThreshold=e.getDustThreshold;exports.getPsbtInputFields=e.getPsbtInputFields;exports.getScriptType=e.getScriptType;exports.selectUtxosForPegin=e.selectUtxosForPegin;exports.shouldAddChangeOutput=e.shouldAddChangeOutput;exports.waitForTransactionReceiptSmartAware=e.waitForTransactionReceiptSmartAware;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_AUTH_ANCHOR_OUTPUTS=t.PEGIN_AUTH_ANCHOR_OUTPUTS;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.UtxoNotAvailableError=T.UtxoNotAvailableError;exports.assertUtxosAvailable=T.assertUtxosAvailable;exports.extractInputsFromTransaction=T.extractInputsFromTransaction;exports.findOverlappingPendingVaults=T.findOverlappingPendingVaults;exports.validateUtxosAvailable=T.validateUtxosAvailable;exports.getNetwork=E.getNetwork;
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1,49 +1,48 @@
1
1
  import { c as t } from "../../../signing-DaLvGwQe.js";
2
- import { B as o, H as T, K as _, M as r, T as E } from "../../../validation-CxqROCno.js";
3
- import { B as S, a as c, f as i, c as A, b as n, d as R, g as U, i as F, h as u, s as I, e as l, w as O } from "../../../waitForTransactionReceiptSmartAware-Dt5VcMK0.js";
4
- import { B as x, D as N, F as f, L as g, M as B, P as D, b as d, a as m, S as C, T as L, W as H, f as h, c as M, p as X, r as b } from "../../../fundPeginTransaction-C11tYf6I.js";
5
- import { U as W, a as Y, c as w, e as y, s as G, v as Z } from "../../../reservation-DNOGLBt4.js";
6
- import { j } from "../../../bitcoin-B5aNKtsk.js";
2
+ import { B as T, H as _, K as E, M as o, T as r } from "../../../validation-CxqROCno.js";
3
+ import { B as S, a as i, f as n, c as A, b as c, d as u, g as R, i as F, h as I, s as U, e as O, w as P } from "../../../waitForTransactionReceiptSmartAware-Dt5VcMK0.js";
4
+ import { B as g, D as f, F as x, L as N, M as d, P as B, b as m, a as C, S as D, T as L, W as H, f as h, c as M, p as X, r as b } from "../../../fundPeginTransaction-C11tYf6I.js";
5
+ import { U as W, a as Y, e as w, f as y, v as G } from "../../../reservation-BxvKbQH2.js";
6
+ import { j as K } from "../../../bitcoin-B5aNKtsk.js";
7
7
  export {
8
- o as BITCOIN_ADDRESS_RE,
9
- x as BTC_DUST_SAT,
8
+ T as BITCOIN_ADDRESS_RE,
9
+ g as BTC_DUST_SAT,
10
10
  S as BitcoinScriptType,
11
- N as DUST_THRESHOLD,
12
- f as FEE_SAFETY_MARGIN,
13
- T as HEX_RE,
14
- _ as KNOWN_SCRIPT_PREFIXES,
15
- g as LOW_RATE_ESTIMATION_ACCURACY_BUFFER,
16
- B as MAX_NON_LEGACY_OUTPUT_SIZE,
17
- r as MAX_REASONABLE_FEE_SATS,
18
- D as P2TR_INPUT_SIZE,
19
- d as PEGIN_AUTH_ANCHOR_OUTPUTS,
20
- m as PEGIN_FIXED_OUTPUTS,
21
- C as SPLIT_TX_FEE_SAFETY_MULTIPLIER,
22
- E as TXID_RE,
11
+ f as DUST_THRESHOLD,
12
+ x as FEE_SAFETY_MARGIN,
13
+ _ as HEX_RE,
14
+ E as KNOWN_SCRIPT_PREFIXES,
15
+ N as LOW_RATE_ESTIMATION_ACCURACY_BUFFER,
16
+ d as MAX_NON_LEGACY_OUTPUT_SIZE,
17
+ o as MAX_REASONABLE_FEE_SATS,
18
+ B as P2TR_INPUT_SIZE,
19
+ m as PEGIN_AUTH_ANCHOR_OUTPUTS,
20
+ C as PEGIN_FIXED_OUTPUTS,
21
+ D as SPLIT_TX_FEE_SAFETY_MULTIPLIER,
22
+ r as TXID_RE,
23
23
  L as TX_BUFFER_SIZE_OVERHEAD,
24
24
  W as UtxoNotAvailableError,
25
25
  H as WALLET_RELAY_FEE_RATE_THRESHOLD,
26
- c as applyChangeOutputPolicy,
26
+ i as applyChangeOutputPolicy,
27
27
  Y as assertUtxosAvailable,
28
- i as calculateBtcTxHash,
29
- w as collectReservedUtxoRefs,
28
+ n as calculateBtcTxHash,
30
29
  A as computeChangeOutputFeeSats,
31
- n as computeMaxDeposit,
32
- R as computePeginBaseFeeSats,
30
+ c as computeMaxDeposit,
31
+ u as computePeginBaseFeeSats,
33
32
  t as createTaprootScriptPathSignOptions,
34
- y as extractInputsFromTransaction,
33
+ w as extractInputsFromTransaction,
34
+ y as findOverlappingPendingVaults,
35
35
  h as fundPeginTransaction,
36
- U as getDustThreshold,
37
- j as getNetwork,
36
+ R as getDustThreshold,
37
+ K as getNetwork,
38
38
  F as getPsbtInputFields,
39
- u as getScriptType,
39
+ I as getScriptType,
40
40
  M as parseUnfundedWasmTransaction,
41
41
  X as peginOutputCount,
42
42
  b as rateBasedTxBufferFee,
43
- G as selectUtxosForDeposit,
44
- I as selectUtxosForPegin,
45
- l as shouldAddChangeOutput,
46
- Z as validateUtxosAvailable,
47
- O as waitForTransactionReceiptSmartAware
43
+ U as selectUtxosForPegin,
44
+ O as shouldAddChangeOutput,
45
+ G as validateUtxosAvailable,
46
+ P as waitForTransactionReceiptSmartAware
48
47
  };
49
48
  //# sourceMappingURL=index.js.map
@@ -1,3 +1,2 @@
1
- /** Tests for UTXO reservation utilities. */
2
1
  export {};
3
2
  //# sourceMappingURL=reservation.test.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"reservation.test.d.ts","sourceRoot":"","sources":["../../../../../../src/tbv/core/utils/utxo/__tests__/reservation.test.ts"],"names":[],"mappings":"AAAA,4CAA4C"}
1
+ {"version":3,"file":"reservation.test.d.ts","sourceRoot":"","sources":["../../../../../../src/tbv/core/utils/utxo/__tests__/reservation.test.ts"],"names":[],"mappings":""}
@@ -1,4 +1,25 @@
1
- import { UtxoRef } from './reservation';
1
+ /**
2
+ * UTXO Availability Validation
3
+ *
4
+ * Validates that UTXOs referenced in a pre-pegin transaction are still unspent
5
+ * BEFORE asking the user to sign. This prevents wasted signing effort when
6
+ * UTXOs have already been spent by unrelated transactions.
7
+ *
8
+ * These functions are pure — they accept pre-fetched UTXOs and perform no I/O.
9
+ * The vault service wrapper is responsible for fetching UTXOs from the mempool.
10
+ */
11
+ /**
12
+ * Reference to a Bitcoin UTXO by its outpoint (txid + vout).
13
+ *
14
+ * Used by the availability check to compare a Pre-PegIn transaction's
15
+ * declared inputs against the wallet's current spendable set. Txids are
16
+ * compared case-insensitively; callers should treat the txid as opaque
17
+ * lowercase hex.
18
+ */
19
+ export interface UtxoRef {
20
+ txid: string;
21
+ vout: number;
22
+ }
2
23
  /**
3
24
  * Information about a missing/spent UTXO.
4
25
  */
@@ -1 +1 @@
1
- {"version":3,"file":"availability.d.ts","sourceRoot":"","sources":["../../../../../src/tbv/core/utils/utxo/availability.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAKH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAE7C;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,yCAAyC;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,uCAAuC;IACvC,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,4CAA4C;IAC5C,YAAY,EAAE,OAAO,CAAC;IACtB,qCAAqC;IACrC,YAAY,EAAE,eAAe,EAAE,CAAC;IAChC,qCAAqC;IACrC,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,qBAAa,qBAAsB,SAAQ,KAAK;IAC9C,SAAgB,YAAY,EAAE,eAAe,EAAE,CAAC;gBAEpC,YAAY,EAAE,eAAe,EAAE;CAW5C;AAED;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAC1C,aAAa,EAAE,MAAM,GACpB,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAmBvC;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,sBAAsB,CACpC,aAAa,EAAE,MAAM,EACrB,cAAc,EAAE,OAAO,EAAE,GACxB,oBAAoB,CA2CtB;AAED;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAClC,aAAa,EAAE,MAAM,EACrB,cAAc,EAAE,OAAO,EAAE,GACxB,IAAI,CAMN"}
1
+ {"version":3,"file":"availability.d.ts","sourceRoot":"","sources":["../../../../../src/tbv/core/utils/utxo/availability.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAKH;;;;;;;GAOG;AACH,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,yCAAyC;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,uCAAuC;IACvC,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,4CAA4C;IAC5C,YAAY,EAAE,OAAO,CAAC;IACtB,qCAAqC;IACrC,YAAY,EAAE,eAAe,EAAE,CAAC;IAChC,qCAAqC;IACrC,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,qBAAa,qBAAsB,SAAQ,KAAK;IAC9C,SAAgB,YAAY,EAAE,eAAe,EAAE,CAAC;gBAEpC,YAAY,EAAE,eAAe,EAAE;CAW5C;AAED;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAC1C,aAAa,EAAE,MAAM,GACpB,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAmBvC;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,sBAAsB,CACpC,aAAa,EAAE,MAAM,EACrB,cAAc,EAAE,OAAO,EAAE,GACxB,oBAAoB,CA4CtB;AAED;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAClC,aAAa,EAAE,MAAM,EACrB,cAAc,EAAE,OAAO,EAAE,GACxB,IAAI,CAMN"}
@@ -1,99 +1,24 @@
1
- /**
2
- * UTXO reservation utilities for vault deposits.
3
- *
4
- * Handles tracking which UTXOs are already in use by pending deposits
5
- * and selecting available UTXOs with smart fallback logic.
6
- */
7
- /** A txid:vout pair uniquely identifying a UTXO (outpoint). */
8
- export interface UtxoRef {
9
- txid: string;
10
- vout: number;
11
- }
12
- /** Narrow structural type for pending pegin data. */
1
+ import { UtxoRef } from './availability';
2
+ /** Locally-known pending pegin. `id` is the bytes32 vault id. */
13
3
  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
4
  id?: string;
20
- selectedUTXOs?: Array<{
21
- txid: string;
22
- vout: number;
23
- }>;
24
5
  unsignedTxHex?: string;
25
6
  }
26
- /** Narrow structural type for vault data. */
7
+ /** On-chain vault row from the indexer. */
27
8
  export interface VaultLike {
28
- /**
29
- * Optional vault id. When present, enables on-chain correlation with
30
- * pending pegins sharing the same id.
31
- */
32
9
  id?: string;
33
10
  status: number;
34
11
  unsignedPrePeginTx: string;
35
12
  }
36
- export interface SelectUtxosForDepositParams<T extends {
37
- txid: string;
38
- vout: number;
39
- value: number;
40
- }> {
41
- /** All available UTXOs from the wallet. */
42
- availableUtxos: T[];
43
- /** UTXOs that are reserved/in-flight and should be avoided if possible. */
44
- reservedUtxoRefs: UtxoRef[];
45
- /** Required deposit amount in satoshis (excluding fees). */
46
- requiredAmount: bigint;
47
- /** Fee rate in sat/vB. Used to estimate fee buffer for sufficiency check. */
48
- feeRate: number;
49
- }
50
- /** Narrow structural type for early UTXO reservations (pre-ETH-registration). */
51
- export interface UtxoReservationLike {
52
- outpoints: ReadonlyArray<{
53
- txid: string;
54
- vout: number;
55
- }>;
13
+ export interface FindOverlappingPendingVaultsParams {
14
+ selectedOutpoints: ReadonlyArray<UtxoRef>;
15
+ vaults?: ReadonlyArray<VaultLike>;
16
+ pendingPegins?: ReadonlyArray<PendingPeginLike>;
56
17
  }
57
- export interface CollectReservedUtxoRefsParams {
58
- vaults?: VaultLike[];
59
- pendingPegins?: PendingPeginLike[];
60
- utxoReservations?: UtxoReservationLike[];
61
- }
62
- /**
63
- * Collect UTXO refs from in-flight deposits (PENDING/VERIFIED vaults and
64
- * pending pegins).
65
- *
66
- * On-chain vault data is canonical: for any pending pegin whose `id` matches
67
- * an indexed on-chain vault, the pending-pegin copy is ignored entirely —
68
- * the `vaults` branch below extracts refs from the indexer-supplied
69
- * `unsignedPrePeginTx` so tampered off-chain data cannot poison the
70
- * reservation set once the vault is indexed.
71
- *
72
- * For pegins not yet indexed, refs are derived from the stored
73
- * `unsignedTxHex` only. The `selectedUTXOs` sidecar is NOT used for
74
- * reservation: if it disagreed with the transaction's inputs (e.g. because
75
- * the off-chain source was tampered), trusting it would poison the reserved
76
- * set. The transaction hex must be validated at the source boundary before
77
- * being handed to this function; parsing and using its inputs is the single
78
- * source of truth here.
79
- */
80
- export declare function collectReservedUtxoRefs(params: CollectReservedUtxoRefsParams): UtxoRef[];
81
18
  /**
82
- * Select UTXOs for a deposit, filtering out reserved ones.
83
- *
84
- * Logic:
85
- * 1. Filter out reserved UTXOs from the available pool
86
- * 2. If unreserved UTXOs are sufficient for the required amount + estimated fee, return them
87
- * 3. Otherwise, throw — never silently reuse reserved UTXOs, as this risks double-spend
88
- * failures that strand registered-but-unbroadcastable vaults
89
- *
90
- * @param params - Selection parameters
91
- * @returns Array of unreserved UTXOs to use for the deposit
92
- * @throws When all UTXOs are reserved or unreserved UTXOs are insufficient
19
+ * Return the ids of pending vaults whose committed Pre-PegIn inputs
20
+ * overlap any of the just-selected outpoints. On-chain `PENDING` vaults
21
+ * take precedence over a same-id local pegin entry.
93
22
  */
94
- export declare function selectUtxosForDeposit<T extends {
95
- txid: string;
96
- vout: number;
97
- value: number;
98
- }>(params: SelectUtxosForDepositParams<T>): T[];
23
+ export declare function findOverlappingPendingVaults(params: FindOverlappingPendingVaultsParams): string[];
99
24
  //# sourceMappingURL=reservation.d.ts.map
@@ -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;;;;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,iFAAiF;AACjF,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,aAAa,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC1D;AAED,MAAM,WAAW,6BAA6B;IAC5C,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC;IACrB,aAAa,CAAC,EAAE,gBAAgB,EAAE,CAAC;IACnC,gBAAgB,CAAC,EAAE,mBAAmB,EAAE,CAAC;CAC1C;AA2ED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,6BAA6B,GACpC,OAAO,EAAE,CA0CX;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"}
1
+ {"version":3,"file":"reservation.d.ts","sourceRoot":"","sources":["../../../../../src/tbv/core/utils/utxo/reservation.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAE9C,iEAAiE;AACjE,MAAM,WAAW,gBAAgB;IAC/B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,2CAA2C;AAC3C,MAAM,WAAW,SAAS;IACxB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,kCAAkC;IACjD,iBAAiB,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;IAC1C,MAAM,CAAC,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;IAClC,aAAa,CAAC,EAAE,aAAa,CAAC,gBAAgB,CAAC,CAAC;CACjD;AAkBD;;;;GAIG;AACH,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,kCAAkC,GACzC,MAAM,EAAE,CAkCV"}