@babylonlabs-io/ts-sdk 0.31.0 → 0.33.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 (120) hide show
  1. package/dist/{PeginManager-c44Uvd1N.js → PeginManager-BMrWtTji.js} +137 -125
  2. package/dist/PeginManager-BMrWtTji.js.map +1 -0
  3. package/dist/PeginManager-DUMF84XK.cjs +2 -0
  4. package/dist/PeginManager-DUMF84XK.cjs.map +1 -0
  5. package/dist/{bitcoin-B-Y0DlqR.js → bitcoin-0_T6KJON.js} +32 -28
  6. package/dist/bitcoin-0_T6KJON.js.map +1 -0
  7. package/dist/bitcoin-EYBKDtEW.cjs +2 -0
  8. package/dist/bitcoin-EYBKDtEW.cjs.map +1 -0
  9. package/dist/{buildAndBroadcastRefund-CLLaz8D3.cjs → buildAndBroadcastRefund-6pR681fI.cjs} +2 -2
  10. package/dist/buildAndBroadcastRefund-6pR681fI.cjs.map +1 -0
  11. package/dist/{buildAndBroadcastRefund-BRQaCQrJ.js → buildAndBroadcastRefund-Ba56IKL7.js} +40 -40
  12. package/dist/buildAndBroadcastRefund-Ba56IKL7.js.map +1 -0
  13. package/dist/challengeAssert-DSlCIBoT.js +304 -0
  14. package/dist/challengeAssert-DSlCIBoT.js.map +1 -0
  15. package/dist/challengeAssert-DuhkzZG-.cjs +2 -0
  16. package/dist/challengeAssert-DuhkzZG-.cjs.map +1 -0
  17. package/dist/index.cjs +1 -1
  18. package/dist/index.js +75 -71
  19. package/dist/{noPayout-CwgYkZYs.cjs → noPayout-CDhbGn_B.cjs} +2 -2
  20. package/dist/{noPayout-CwgYkZYs.cjs.map → noPayout-CDhbGn_B.cjs.map} +1 -1
  21. package/dist/{noPayout-B8JiTaYt.js → noPayout-DohtepqZ.js} +2 -2
  22. package/dist/{noPayout-B8JiTaYt.js.map → noPayout-DohtepqZ.js.map} +1 -1
  23. package/dist/{psbtInputFields-CB8hqjQ5.cjs → psbtInputFields-BLi7Ta-T.cjs} +2 -2
  24. package/dist/{psbtInputFields-CB8hqjQ5.cjs.map → psbtInputFields-BLi7Ta-T.cjs.map} +1 -1
  25. package/dist/{psbtInputFields-DeTFSJOq.js → psbtInputFields-DPCFHgGd.js} +2 -2
  26. package/dist/{psbtInputFields-DeTFSJOq.js.map → psbtInputFields-DPCFHgGd.js.map} +1 -1
  27. package/dist/tbv/core/clients/eth/index.d.ts +1 -1
  28. package/dist/tbv/core/clients/eth/index.d.ts.map +1 -1
  29. package/dist/tbv/core/clients/eth/types.d.ts +13 -0
  30. package/dist/tbv/core/clients/eth/types.d.ts.map +1 -1
  31. package/dist/tbv/core/clients/eth/vault-registry-reader.d.ts +8 -1
  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 +30 -27
  35. package/dist/tbv/core/clients/vault-provider/api.d.ts +13 -2
  36. package/dist/tbv/core/clients/vault-provider/api.d.ts.map +1 -1
  37. package/dist/tbv/core/clients/vault-provider/auth/__tests__/createAuthenticatedVpClient.test.d.ts +11 -0
  38. package/dist/tbv/core/clients/vault-provider/auth/__tests__/createAuthenticatedVpClient.test.d.ts.map +1 -0
  39. package/dist/tbv/core/clients/vault-provider/auth/__tests__/tokenRegistry.test.d.ts +2 -0
  40. package/dist/tbv/core/clients/vault-provider/auth/__tests__/tokenRegistry.test.d.ts.map +1 -0
  41. package/dist/tbv/core/clients/vault-provider/auth/createAuthenticatedVpClient.d.ts +16 -0
  42. package/dist/tbv/core/clients/vault-provider/auth/createAuthenticatedVpClient.d.ts.map +1 -0
  43. package/dist/tbv/core/clients/vault-provider/auth/gatedMethods.d.ts +10 -0
  44. package/dist/tbv/core/clients/vault-provider/auth/gatedMethods.d.ts.map +1 -0
  45. package/dist/tbv/core/clients/vault-provider/auth/index.d.ts +5 -2
  46. package/dist/tbv/core/clients/vault-provider/auth/index.d.ts.map +1 -1
  47. package/dist/tbv/core/clients/vault-provider/auth/innerTokenClient.d.ts +4 -0
  48. package/dist/tbv/core/clients/vault-provider/auth/innerTokenClient.d.ts.map +1 -0
  49. package/dist/tbv/core/clients/vault-provider/auth/primeVpAuth.d.ts +11 -0
  50. package/dist/tbv/core/clients/vault-provider/auth/primeVpAuth.d.ts.map +1 -0
  51. package/dist/tbv/core/clients/vault-provider/auth/tokenProvider.d.ts +18 -23
  52. package/dist/tbv/core/clients/vault-provider/auth/tokenProvider.d.ts.map +1 -1
  53. package/dist/tbv/core/clients/vault-provider/auth/tokenRegistry.d.ts +48 -0
  54. package/dist/tbv/core/clients/vault-provider/auth/tokenRegistry.d.ts.map +1 -0
  55. package/dist/tbv/core/clients/vault-provider/json-rpc-client.d.ts +8 -12
  56. package/dist/tbv/core/clients/vault-provider/json-rpc-client.d.ts.map +1 -1
  57. package/dist/tbv/core/contracts/abis/BTCVaultRegistry.abi.d.ts +14 -0
  58. package/dist/tbv/core/contracts/abis/BTCVaultRegistry.abi.d.ts.map +1 -1
  59. package/dist/tbv/core/index.cjs +1 -1
  60. package/dist/tbv/core/index.js +66 -62
  61. package/dist/tbv/core/managers/index.d.ts +1 -1
  62. package/dist/tbv/core/primitives/index.cjs +1 -1
  63. package/dist/tbv/core/primitives/index.js +3 -3
  64. package/dist/tbv/core/primitives/psbt/challengeAssert.d.ts +10 -7
  65. package/dist/tbv/core/primitives/psbt/challengeAssert.d.ts.map +1 -1
  66. package/dist/tbv/core/primitives/psbt/constants.d.ts +26 -0
  67. package/dist/tbv/core/primitives/psbt/constants.d.ts.map +1 -0
  68. package/dist/tbv/core/primitives/psbt/depositorPayout.d.ts +13 -6
  69. package/dist/tbv/core/primitives/psbt/depositorPayout.d.ts.map +1 -1
  70. package/dist/tbv/core/primitives/utils/bitcoin.d.ts +13 -0
  71. package/dist/tbv/core/primitives/utils/bitcoin.d.ts.map +1 -1
  72. package/dist/tbv/core/services/deposit/__tests__/runDepositorPresignFlow.test.d.ts +2 -0
  73. package/dist/tbv/core/services/deposit/__tests__/runDepositorPresignFlow.test.d.ts.map +1 -0
  74. package/dist/tbv/core/services/deposit/index.d.ts +2 -2
  75. package/dist/tbv/core/services/deposit/index.d.ts.map +1 -1
  76. package/dist/tbv/core/services/deposit/{signAndSubmitPayouts.d.ts → runDepositorPresignFlow.d.ts} +3 -3
  77. package/dist/tbv/core/services/deposit/runDepositorPresignFlow.d.ts.map +1 -0
  78. package/dist/tbv/core/services/index.cjs +1 -1
  79. package/dist/tbv/core/services/index.js +11 -11
  80. package/dist/tbv/core/utils/index.cjs +1 -1
  81. package/dist/tbv/core/utils/index.js +2 -2
  82. package/dist/tbv/core/vault-secrets/__tests__/parseFundingOutpoints.test.d.ts +2 -0
  83. package/dist/tbv/core/vault-secrets/__tests__/parseFundingOutpoints.test.d.ts.map +1 -0
  84. package/dist/tbv/core/vault-secrets/index.d.ts +1 -0
  85. package/dist/tbv/core/vault-secrets/index.d.ts.map +1 -1
  86. package/dist/tbv/core/vault-secrets/parseFundingOutpoints.d.ts +3 -0
  87. package/dist/tbv/core/vault-secrets/parseFundingOutpoints.d.ts.map +1 -0
  88. package/dist/tbv/index.cjs +1 -1
  89. package/dist/tbv/index.js +66 -62
  90. package/dist/testing/index.cjs +1 -1
  91. package/dist/testing/index.js +1 -1
  92. package/dist/{types-jmEyzzhY.cjs → types-C2IUB0Jd.cjs} +2 -2
  93. package/dist/types-C2IUB0Jd.cjs.map +1 -0
  94. package/dist/{types-CnG3JsRs.js → types-D1o_3Q__.js} +20 -9
  95. package/dist/types-D1o_3Q__.js.map +1 -0
  96. package/dist/{vault-registry-reader-BywZhqJL.js → vault-registry-reader-BeIEh62N.js} +436 -292
  97. package/dist/vault-registry-reader-BeIEh62N.js.map +1 -0
  98. package/dist/vault-registry-reader-DdUgC5IF.cjs +2 -0
  99. package/dist/vault-registry-reader-DdUgC5IF.cjs.map +1 -0
  100. package/package.json +1 -1
  101. package/dist/PeginManager-DmVq6ffv.cjs +0 -2
  102. package/dist/PeginManager-DmVq6ffv.cjs.map +0 -1
  103. package/dist/PeginManager-c44Uvd1N.js.map +0 -1
  104. package/dist/bitcoin-B-Y0DlqR.js.map +0 -1
  105. package/dist/bitcoin-DIN0OupO.cjs +0 -2
  106. package/dist/bitcoin-DIN0OupO.cjs.map +0 -1
  107. package/dist/buildAndBroadcastRefund-BRQaCQrJ.js.map +0 -1
  108. package/dist/buildAndBroadcastRefund-CLLaz8D3.cjs.map +0 -1
  109. package/dist/challengeAssert-mYikGC34.js +0 -269
  110. package/dist/challengeAssert-mYikGC34.js.map +0 -1
  111. package/dist/challengeAssert-yYFflBOx.cjs +0 -2
  112. package/dist/challengeAssert-yYFflBOx.cjs.map +0 -1
  113. package/dist/tbv/core/services/deposit/__tests__/signAndSubmitPayouts.test.d.ts +0 -2
  114. package/dist/tbv/core/services/deposit/__tests__/signAndSubmitPayouts.test.d.ts.map +0 -1
  115. package/dist/tbv/core/services/deposit/signAndSubmitPayouts.d.ts.map +0 -1
  116. package/dist/types-CnG3JsRs.js.map +0 -1
  117. package/dist/types-jmEyzzhY.cjs.map +0 -1
  118. package/dist/vault-registry-reader-BywZhqJL.js.map +0 -1
  119. package/dist/vault-registry-reader-DdruADqa.cjs +0 -2
  120. package/dist/vault-registry-reader-DdruADqa.cjs.map +0 -1
@@ -0,0 +1,48 @@
1
+ import { OnChainBtcPubkey } from '../../eth/types';
2
+ import { JsonRpcClient } from '../json-rpc-client';
3
+ import { VpTokenProvider } from './tokenProvider';
4
+ export interface VpTokenRegistryInput {
5
+ client: JsonRpcClient;
6
+ peginTxid: string;
7
+ authAnchorHex: string;
8
+ pinnedServerPubkey: OnChainBtcPubkey;
9
+ }
10
+ export declare class VpTokenRegistry {
11
+ private readonly entries;
12
+ /**
13
+ * Return the cached `VpTokenProvider` for `peginTxid` if one exists
14
+ * with matching `authAnchorHex` and `pinnedServerPubkey`, otherwise
15
+ * construct and cache a fresh provider. A mismatch on either field
16
+ * throws — silent overwrite would mask derivation drift or VP
17
+ * pubkey rotation.
18
+ */
19
+ getOrCreate(input: VpTokenRegistryInput): VpTokenProvider;
20
+ /** Return the cached provider, or `undefined` if none. */
21
+ peek(peginTxid: string): VpTokenProvider | undefined;
22
+ /**
23
+ * Evict the entry for `peginTxid`. Idempotent. Called on terminal
24
+ * paths — activation success, user-cancel, or component unmount —
25
+ * so `authAnchorHex` doesn't outlive the deposit session.
26
+ */
27
+ release(peginTxid: string): void;
28
+ /**
29
+ * Wipe every cached entry. Test-only escape hatch — not exposed on
30
+ * the public {@link VpTokenRegistryPublic} singleton type.
31
+ *
32
+ * @internal
33
+ */
34
+ clear(): void;
35
+ get size(): number;
36
+ }
37
+ /**
38
+ * Public surface of the singleton — excludes the test-only `clear`
39
+ * method.
40
+ */
41
+ export interface VpTokenRegistryPublic {
42
+ getOrCreate(input: VpTokenRegistryInput): VpTokenProvider;
43
+ peek(peginTxid: string): VpTokenProvider | undefined;
44
+ release(peginTxid: string): void;
45
+ readonly size: number;
46
+ }
47
+ export declare const vpTokenRegistry: VpTokenRegistryPublic;
48
+ //# sourceMappingURL=tokenRegistry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokenRegistry.d.ts","sourceRoot":"","sources":["../../../../../../src/tbv/core/clients/vault-provider/auth/tokenRegistry.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGxD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,aAAa,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,kBAAkB,EAAE,gBAAgB,CAAC;CACtC;AAQD,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoC;IAE5D;;;;;;OAMG;IACH,WAAW,CAAC,KAAK,EAAE,oBAAoB,GAAG,eAAe;IAmCzD,0DAA0D;IAC1D,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS;IAIpD;;;;OAIG;IACH,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAIhC;;;;;OAKG;IACH,KAAK,IAAI,IAAI;IAIb,IAAI,IAAI,IAAI,MAAM,CAEjB;CACF;AAED;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC,WAAW,CAAC,KAAK,EAAE,oBAAoB,GAAG,eAAe,CAAC;IAC1D,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS,CAAC;IACrD,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,eAAO,MAAM,eAAe,EAAE,qBAA6C,CAAC"}
@@ -58,21 +58,17 @@ export interface JsonRpcClientConfig {
58
58
  /** Initial retry delay in milliseconds (default: 1000) */
59
59
  retryDelay?: number;
60
60
  /**
61
- * Predicate to determine if a method is safe to retry.
62
- * Default: only retry `vaultProvider_getPeginStatus` and `vaultProvider_getPegoutStatus`.
63
- * Write/mutating methods are NOT retried by default.
61
+ * Predicate that decides which methods retry on transient errors.
62
+ * Default retries only `getPeginStatus`, `getPegoutStatus`, and
63
+ * `requestDepositorPresignTransactions`. Write methods are not
64
+ * retried by default.
64
65
  */
65
66
  retryableFor?: (method: string) => boolean;
66
67
  /**
67
- * Optional bearer-token provider. If set, the client injects
68
- * `Authorization: Bearer <token>` for every method the provider
69
- * returns a non-null token for (`call` and `callRaw` alike).
70
- *
71
- * `call` also performs a one-shot reactive refresh when a wire-origin
72
- * JSON-RPC error carries `error.data.kind === "auth_expired"` —
73
- * it calls `invalidate()`, fetches a fresh token, and retries the
74
- * request once. `callRaw` does NOT perform reactive refresh (its
75
- * body may be unbounded; we don't parse it).
68
+ * Per-request bearer-token source. A non-null return attaches
69
+ * `Authorization: Bearer <token>`; `null` skips auth. `call`
70
+ * additionally retries once on wire `auth_expired` (invalidate +
71
+ * refetch + retry). `callRaw` skips reactive refresh.
76
72
  */
77
73
  tokenProvider?: BearerTokenProvider;
78
74
  }
@@ -1 +1 @@
1
- {"version":3,"file":"json-rpc-client.d.ts","sourceRoot":"","sources":["../../../../../src/tbv/core/clients/vault-provider/json-rpc-client.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,WAAW,cAAc,CAAC,CAAC,GAAG,OAAO;IACzC,OAAO,EAAE,KAAK,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,CAAC,CAAC;IACV,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,sBAAsB,CAAC,CAAC,GAAG,OAAO;IACjD,OAAO,EAAE,KAAK,CAAC;IACf,MAAM,EAAE,CAAC,CAAC;IACV,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,KAAK,CAAC;IACf,KAAK,EAAE;QACL,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,OAAO,CAAC;KAChB,CAAC;IACF,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;CACrB;AAED,MAAM,MAAM,eAAe,CAAC,CAAC,GAAG,OAAO,IACnC,sBAAsB,CAAC,CAAC,CAAC,GACzB,oBAAoB,CAAC;AAEzB;;;;;;;;GAQG;AACH,MAAM,WAAW,mBAAmB;IAClC;;;OAGG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACjD;;;OAGG;IACH,UAAU,IAAI,IAAI,CAAC;CACpB;AAED,MAAM,WAAW,mBAAmB;IAClC,kCAAkC;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,kDAAkD;IAClD,OAAO,EAAE,MAAM,CAAC;IAChB,8BAA8B;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,iEAAiE;IACjE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,0DAA0D;IAC1D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC;IAC3C;;;;;;;;;;OAUG;IACH,aAAa,CAAC,EAAE,mBAAmB,CAAC;CACrC;AAED;;;;;;;;GAQG;AACH,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,OAAO,CAAC;AAElD,qBAAa,YAAa,SAAQ,KAAK;IAE5B,IAAI,EAAE,MAAM;IAEnB,2EAA2E;IACpE,MAAM,EAAE,kBAAkB;IACjC,kEAAkE;IAC3D,IAAI,CAAC,EAAE,OAAO;gBALd,IAAI,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM;IACf,2EAA2E;IACpE,MAAM,GAAE,kBAA4B;IAC3C,kEAAkE;IAC3D,IAAI,CAAC,EAAE,OAAO,YAAA;CAKxB;AAED,eAAO,MAAM,oBAAoB;;;IAG/B,iDAAiD;;IAEjD,kEAAkE;;IAElE,uEAAuE;;CAE/D,CAAC;AAqDX;;GAEG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,OAAO,CAAyB;IACxC,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,YAAY,CAA8B;IAClD,OAAO,CAAC,aAAa,CAAC,CAAsB;gBAEhC,MAAM,EAAE,mBAAmB;YAazB,YAAY;IAW1B;;;;;;;;;;;;OAYG;IACG,IAAI,CAAC,OAAO,EAAE,OAAO,EACzB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,OAAO,EACf,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,OAAO,CAAC;YAsBL,QAAQ;IAyDtB;;;;;;;;;OASG;IACG,OAAO,CAAC,OAAO,EACnB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,OAAO,EACf,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,QAAQ,CAAC;YAIN,cAAc;IA8G5B,OAAO,CAAC,KAAK;IAkBb,UAAU,IAAI,MAAM;CAGrB"}
1
+ {"version":3,"file":"json-rpc-client.d.ts","sourceRoot":"","sources":["../../../../../src/tbv/core/clients/vault-provider/json-rpc-client.ts"],"names":[],"mappings":"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"}
@@ -205,6 +205,20 @@ export declare const BTCVaultRegistryABI: readonly [{
205
205
  readonly internalType: "uint256";
206
206
  }];
207
207
  readonly stateMutability: "view";
208
+ }, {
209
+ readonly type: "function";
210
+ readonly name: "getVaultProviderBTCKey";
211
+ readonly inputs: readonly [{
212
+ readonly name: "vpAddr";
213
+ readonly type: "address";
214
+ readonly internalType: "address";
215
+ }];
216
+ readonly outputs: readonly [{
217
+ readonly name: "";
218
+ readonly type: "bytes32";
219
+ readonly internalType: "bytes32";
220
+ }];
221
+ readonly stateMutability: "view";
208
222
  }, {
209
223
  readonly type: "function";
210
224
  readonly name: "getBtcVaultBasicInfo";
@@ -1 +1 @@
1
- {"version":3,"file":"BTCVaultRegistry.abi.d.ts","sourceRoot":"","sources":["../../../../../src/tbv/core/contracts/abis/BTCVaultRegistry.abi.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;;GAGG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkZtB,CAAC"}
1
+ {"version":3,"file":"BTCVaultRegistry.abi.d.ts","sourceRoot":"","sources":["../../../../../src/tbv/core/contracts/abis/BTCVaultRegistry.abi.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;;GAGG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6ZtB,CAAC"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("../../challengeAssert-yYFflBOx.cjs"),P=require("@babylonlabs-io/babylon-tbv-rust-wasm"),u=require("../../noPayout-CwgYkZYs.cjs"),o=require("../../bitcoin-DIN0OupO.cjs"),l=require("../../signing-DHSXjhLM.cjs"),d=require("../../validation-u8W7Lp2x.cjs"),e=require("../../buildAndBroadcastRefund-CLLaz8D3.cjs"),a=require("../../fundPeginTransaction-DaWoYCgO.cjs"),i=require("../../psbtInputFields-CB8hqjQ5.cjs"),r=require("../../PeginManager-DmVq6ffv.cjs"),t=require("../../vault-registry-reader-DdruADqa.cjs"),s=require("../../types-jmEyzzhY.cjs");exports.buildChallengeAssertPsbt=n.buildChallengeAssertPsbt;exports.buildDepositorPayoutPsbt=n.buildDepositorPayoutPsbt;exports.buildPeginInputPsbt=n.buildPeginInputPsbt;exports.buildPeginTxFromFundedPrePegin=n.buildPeginTxFromFundedPrePegin;exports.buildPrePeginPsbt=n.buildPrePeginPsbt;exports.computeNumLocalChallengers=n.computeNumLocalChallengers;exports.extractPeginInputSignature=n.extractPeginInputSignature;exports.finalizePeginInputPsbt=n.finalizePeginInputPsbt;Object.defineProperty(exports,"computeMinClaimValue",{enumerable:!0,get:()=>P.computeMinClaimValue});Object.defineProperty(exports,"deriveVaultId",{enumerable:!0,get:()=>P.deriveVaultId});exports.assertPayoutOutputMatchesRegistered=u.assertPayoutOutputMatchesRegistered;exports.buildNoPayoutPsbt=u.buildNoPayoutPsbt;exports.buildPayoutPsbt=u.buildPayoutPsbt;exports.buildRefundPsbt=u.buildRefundPsbt;exports.createPayoutScript=u.createPayoutScript;exports.extractPayoutSignature=u.extractPayoutSignature;exports.deriveNativeSegwitAddress=o.deriveNativeSegwitAddress;exports.deriveTaprootAddress=o.deriveTaprootAddress;exports.ensureHexPrefix=o.ensureHexPrefix;exports.formatSatoshisToBtc=o.formatSatoshisToBtc;exports.getNetwork=o.getNetwork;exports.hexToUint8Array=o.hexToUint8Array;exports.isAddressFromPublicKey=o.isAddressFromPublicKey;exports.isValidHex=o.isValidHex;exports.processPublicKeyToXOnly=o.processPublicKeyToXOnly;exports.stripHexPrefix=o.stripHexPrefix;exports.toXOnly=o.toXOnly;exports.uint8ArrayToHex=o.uint8ArrayToHex;exports.validateWalletPubkey=o.validateWalletPubkey;exports.ContractStatus=l.ContractStatus;exports.PeginAction=l.PeginAction;exports.canPerformAction=l.canPerformAction;exports.createTaprootScriptPathSignOptions=l.createTaprootScriptPathSignOptions;exports.getPeginProtocolState=l.getPeginProtocolState;exports.BITCOIN_ADDRESS_RE=d.BITCOIN_ADDRESS_RE;exports.HEX_RE=d.HEX_RE;exports.KNOWN_SCRIPT_PREFIXES=d.KNOWN_SCRIPT_PREFIXES;exports.MAX_REASONABLE_FEE_SATS=d.MAX_REASONABLE_FEE_SATS;exports.TXID_RE=d.TXID_RE;exports.BIP68NotMatureError=e.BIP68NotMatureError;exports.ClaimerPegoutStatusValue=e.ClaimerPegoutStatusValue;exports.PayoutManager=e.PayoutManager;exports.REFUND_VSIZE=e.REFUND_VSIZE;exports.activateVault=e.activateVault;exports.buildAndBroadcastRefund=e.buildAndBroadcastRefund;exports.computeHashlock=e.computeHashlock;exports.estimateRefundFeeSats=e.estimateRefundFeeSats;exports.isDepositAmountValid=e.isDepositAmountValid;exports.isPegoutTerminalStatus=e.isPegoutTerminalStatus;exports.isRecognizedPegoutStatus=e.isRecognizedPegoutStatus;exports.pollAndSignPayouts=e.pollAndSignPayouts;exports.signDepositorGraph=e.signDepositorGraph;exports.submitWotsPublicKey=e.submitWotsPublicKey;exports.validateDepositAmount=e.validateDepositAmount;exports.validateMultiVaultDepositInputs=e.validateMultiVaultDepositInputs;exports.validateProviderSelection=e.validateProviderSelection;exports.validateRemainingCapacity=e.validateRemainingCapacity;exports.validateSecretAgainstHashlock=e.validateSecretAgainstHashlock;exports.validateVaultAmounts=e.validateVaultAmounts;exports.validateVaultProviderPubkey=e.validateVaultProviderPubkey;exports.waitForPeginStatus=e.waitForPeginStatus;exports.BTC_DUST_SAT=a.BTC_DUST_SAT;exports.DUST_THRESHOLD=a.DUST_THRESHOLD;exports.FEE_SAFETY_MARGIN=a.FEE_SAFETY_MARGIN;exports.LOW_RATE_ESTIMATION_ACCURACY_BUFFER=a.LOW_RATE_ESTIMATION_ACCURACY_BUFFER;exports.MAX_NON_LEGACY_OUTPUT_SIZE=a.MAX_NON_LEGACY_OUTPUT_SIZE;exports.P2TR_INPUT_SIZE=a.P2TR_INPUT_SIZE;exports.PEGIN_AUTH_ANCHOR_OUTPUTS=a.PEGIN_AUTH_ANCHOR_OUTPUTS;exports.PEGIN_FIXED_OUTPUTS=a.PEGIN_FIXED_OUTPUTS;exports.SPLIT_TX_FEE_SAFETY_MULTIPLIER=a.SPLIT_TX_FEE_SAFETY_MULTIPLIER;exports.TX_BUFFER_SIZE_OVERHEAD=a.TX_BUFFER_SIZE_OVERHEAD;exports.WALLET_RELAY_FEE_RATE_THRESHOLD=a.WALLET_RELAY_FEE_RATE_THRESHOLD;exports.fundPeginTransaction=a.fundPeginTransaction;exports.parseUnfundedWasmTransaction=a.parseUnfundedWasmTransaction;exports.peginOutputCount=a.peginOutputCount;exports.rateBasedTxBufferFee=a.rateBasedTxBufferFee;exports.BitcoinScriptType=i.BitcoinScriptType;exports.UtxoNotAvailableError=i.UtxoNotAvailableError;exports.assertUtxosAvailable=i.assertUtxosAvailable;exports.calculateBtcTxHash=i.calculateBtcTxHash;exports.collectReservedUtxoRefs=i.collectReservedUtxoRefs;exports.extractInputsFromTransaction=i.extractInputsFromTransaction;exports.getDustThreshold=i.getDustThreshold;exports.getPsbtInputFields=i.getPsbtInputFields;exports.getScriptType=i.getScriptType;exports.selectUtxosForDeposit=i.selectUtxosForDeposit;exports.selectUtxosForPegin=i.selectUtxosForPegin;exports.shouldAddChangeOutput=i.shouldAddChangeOutput;exports.validateUtxosAvailable=i.validateUtxosAvailable;exports.CONTRACT_ERRORS=r.CONTRACT_ERRORS;exports.PeginManager=r.PeginManager;exports.VAULT_APP_NAME=r.VAULT_APP_NAME;exports.buildFundingOutpointsCommitment=r.buildFundingOutpointsCommitment;exports.buildVaultContext=r.buildVaultContext;exports.computeWotsBlockPublicKeysHash=r.computeWotsBlockPublicKeysHash;exports.deriveVaultRoot=r.deriveVaultRoot;exports.deriveWotsBlocksFromSeed=r.deriveWotsBlocksFromSeed;exports.expandAuthAnchor=r.expandAuthAnchor;exports.expandHashlockSecret=r.expandHashlockSecret;exports.expandWotsSeed=r.expandWotsSeed;exports.extractErrorData=r.extractErrorData;exports.getContractErrorMessage=r.getContractErrorMessage;exports.handleContractError=r.handleContractError;exports.isKnownContractError=r.isKnownContractError;exports.isWotsMismatchError=r.isWotsMismatchError;exports.ApplicationRegistryABI=t.ApplicationRegistryABI;exports.MEMPOOL_API_URLS=t.MEMPOOL_API_URLS;exports.ProtocolParamsABI=t.ProtocolParamsABI;exports.ServerIdentityError=t.ServerIdentityError;exports.VaultProviderRpcClient=t.VaultProviderRpcClient;exports.ViemProtocolParamsReader=t.ViemProtocolParamsReader;exports.ViemUniversalChallengerReader=t.ViemUniversalChallengerReader;exports.ViemVaultKeeperReader=t.ViemVaultKeeperReader;exports.ViemVaultRegistryReader=t.ViemVaultRegistryReader;exports.VpResponseValidationError=t.VpResponseValidationError;exports.VpTokenProvider=t.VpTokenProvider;exports.getAddressTxs=t.getAddressTxs;exports.getAddressUtxos=t.getAddressUtxos;exports.getMempoolApiUrl=t.getMempoolApiUrl;exports.getNetworkFees=t.getNetworkFees;exports.getTxHex=t.getTxHex;exports.getTxInfo=t.getTxInfo;exports.getUtxoInfo=t.getUtxoInfo;exports.pushTx=t.pushTx;exports.resolveProtocolAddresses=t.resolveProtocolAddresses;exports.validateRequestDepositorClaimerArtifactsResponse=t.validateRequestDepositorClaimerArtifactsResponse;exports.verifyServerIdentity=t.verifyServerIdentity;exports.BTCVaultRegistryABI=s.BTCVaultRegistryABI;exports.DaemonStatus=s.DaemonStatus;exports.JSON_RPC_ERROR_CODES=s.JSON_RPC_ERROR_CODES;exports.JsonRpcClient=s.JsonRpcClient;exports.JsonRpcError=s.JsonRpcError;exports.POST_WOTS_STATUSES=s.POST_WOTS_STATUSES;exports.PRE_DEPOSITOR_SIGNATURES_STATES=s.PRE_DEPOSITOR_SIGNATURES_STATES;exports.RpcErrorCode=s.RpcErrorCode;exports.VP_TERMINAL_STATUSES=s.VP_TERMINAL_STATUSES;exports.VP_TRANSIENT_STATUSES=s.VP_TRANSIENT_STATUSES;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("../../challengeAssert-DuhkzZG-.cjs"),P=require("@babylonlabs-io/babylon-tbv-rust-wasm"),u=require("../../noPayout-CDhbGn_B.cjs"),i=require("../../bitcoin-EYBKDtEW.cjs"),l=require("../../signing-DHSXjhLM.cjs"),d=require("../../validation-u8W7Lp2x.cjs"),t=require("../../buildAndBroadcastRefund-6pR681fI.cjs"),a=require("../../fundPeginTransaction-DaWoYCgO.cjs"),o=require("../../psbtInputFields-BLi7Ta-T.cjs"),r=require("../../PeginManager-DUMF84XK.cjs"),e=require("../../vault-registry-reader-DdUgC5IF.cjs"),s=require("../../types-C2IUB0Jd.cjs");exports.buildChallengeAssertPsbt=n.buildChallengeAssertPsbt;exports.buildDepositorPayoutPsbt=n.buildDepositorPayoutPsbt;exports.buildPeginInputPsbt=n.buildPeginInputPsbt;exports.buildPeginTxFromFundedPrePegin=n.buildPeginTxFromFundedPrePegin;exports.buildPrePeginPsbt=n.buildPrePeginPsbt;exports.computeNumLocalChallengers=n.computeNumLocalChallengers;exports.extractPeginInputSignature=n.extractPeginInputSignature;exports.finalizePeginInputPsbt=n.finalizePeginInputPsbt;Object.defineProperty(exports,"computeMinClaimValue",{enumerable:!0,get:()=>P.computeMinClaimValue});Object.defineProperty(exports,"deriveVaultId",{enumerable:!0,get:()=>P.deriveVaultId});exports.assertPayoutOutputMatchesRegistered=u.assertPayoutOutputMatchesRegistered;exports.buildNoPayoutPsbt=u.buildNoPayoutPsbt;exports.buildPayoutPsbt=u.buildPayoutPsbt;exports.buildRefundPsbt=u.buildRefundPsbt;exports.createPayoutScript=u.createPayoutScript;exports.extractPayoutSignature=u.extractPayoutSignature;exports.deriveNativeSegwitAddress=i.deriveNativeSegwitAddress;exports.deriveTaprootAddress=i.deriveTaprootAddress;exports.ensureHexPrefix=i.ensureHexPrefix;exports.formatSatoshisToBtc=i.formatSatoshisToBtc;exports.getNetwork=i.getNetwork;exports.hexToUint8Array=i.hexToUint8Array;exports.isAddressFromPublicKey=i.isAddressFromPublicKey;exports.isValidHex=i.isValidHex;exports.processPublicKeyToXOnly=i.processPublicKeyToXOnly;exports.stripHexPrefix=i.stripHexPrefix;exports.toXOnly=i.toXOnly;exports.uint8ArrayToHex=i.uint8ArrayToHex;exports.validateWalletPubkey=i.validateWalletPubkey;exports.ContractStatus=l.ContractStatus;exports.PeginAction=l.PeginAction;exports.canPerformAction=l.canPerformAction;exports.createTaprootScriptPathSignOptions=l.createTaprootScriptPathSignOptions;exports.getPeginProtocolState=l.getPeginProtocolState;exports.BITCOIN_ADDRESS_RE=d.BITCOIN_ADDRESS_RE;exports.HEX_RE=d.HEX_RE;exports.KNOWN_SCRIPT_PREFIXES=d.KNOWN_SCRIPT_PREFIXES;exports.MAX_REASONABLE_FEE_SATS=d.MAX_REASONABLE_FEE_SATS;exports.TXID_RE=d.TXID_RE;exports.BIP68NotMatureError=t.BIP68NotMatureError;exports.ClaimerPegoutStatusValue=t.ClaimerPegoutStatusValue;exports.PayoutManager=t.PayoutManager;exports.REFUND_VSIZE=t.REFUND_VSIZE;exports.activateVault=t.activateVault;exports.buildAndBroadcastRefund=t.buildAndBroadcastRefund;exports.computeHashlock=t.computeHashlock;exports.estimateRefundFeeSats=t.estimateRefundFeeSats;exports.isDepositAmountValid=t.isDepositAmountValid;exports.isPegoutTerminalStatus=t.isPegoutTerminalStatus;exports.isRecognizedPegoutStatus=t.isRecognizedPegoutStatus;exports.runDepositorPresignFlow=t.runDepositorPresignFlow;exports.signDepositorGraph=t.signDepositorGraph;exports.submitWotsPublicKey=t.submitWotsPublicKey;exports.validateDepositAmount=t.validateDepositAmount;exports.validateMultiVaultDepositInputs=t.validateMultiVaultDepositInputs;exports.validateProviderSelection=t.validateProviderSelection;exports.validateRemainingCapacity=t.validateRemainingCapacity;exports.validateSecretAgainstHashlock=t.validateSecretAgainstHashlock;exports.validateVaultAmounts=t.validateVaultAmounts;exports.validateVaultProviderPubkey=t.validateVaultProviderPubkey;exports.waitForPeginStatus=t.waitForPeginStatus;exports.BTC_DUST_SAT=a.BTC_DUST_SAT;exports.DUST_THRESHOLD=a.DUST_THRESHOLD;exports.FEE_SAFETY_MARGIN=a.FEE_SAFETY_MARGIN;exports.LOW_RATE_ESTIMATION_ACCURACY_BUFFER=a.LOW_RATE_ESTIMATION_ACCURACY_BUFFER;exports.MAX_NON_LEGACY_OUTPUT_SIZE=a.MAX_NON_LEGACY_OUTPUT_SIZE;exports.P2TR_INPUT_SIZE=a.P2TR_INPUT_SIZE;exports.PEGIN_AUTH_ANCHOR_OUTPUTS=a.PEGIN_AUTH_ANCHOR_OUTPUTS;exports.PEGIN_FIXED_OUTPUTS=a.PEGIN_FIXED_OUTPUTS;exports.SPLIT_TX_FEE_SAFETY_MULTIPLIER=a.SPLIT_TX_FEE_SAFETY_MULTIPLIER;exports.TX_BUFFER_SIZE_OVERHEAD=a.TX_BUFFER_SIZE_OVERHEAD;exports.WALLET_RELAY_FEE_RATE_THRESHOLD=a.WALLET_RELAY_FEE_RATE_THRESHOLD;exports.fundPeginTransaction=a.fundPeginTransaction;exports.parseUnfundedWasmTransaction=a.parseUnfundedWasmTransaction;exports.peginOutputCount=a.peginOutputCount;exports.rateBasedTxBufferFee=a.rateBasedTxBufferFee;exports.BitcoinScriptType=o.BitcoinScriptType;exports.UtxoNotAvailableError=o.UtxoNotAvailableError;exports.assertUtxosAvailable=o.assertUtxosAvailable;exports.calculateBtcTxHash=o.calculateBtcTxHash;exports.collectReservedUtxoRefs=o.collectReservedUtxoRefs;exports.extractInputsFromTransaction=o.extractInputsFromTransaction;exports.getDustThreshold=o.getDustThreshold;exports.getPsbtInputFields=o.getPsbtInputFields;exports.getScriptType=o.getScriptType;exports.selectUtxosForDeposit=o.selectUtxosForDeposit;exports.selectUtxosForPegin=o.selectUtxosForPegin;exports.shouldAddChangeOutput=o.shouldAddChangeOutput;exports.validateUtxosAvailable=o.validateUtxosAvailable;exports.CONTRACT_ERRORS=r.CONTRACT_ERRORS;exports.PeginManager=r.PeginManager;exports.VAULT_APP_NAME=r.VAULT_APP_NAME;exports.buildFundingOutpointsCommitment=r.buildFundingOutpointsCommitment;exports.buildVaultContext=r.buildVaultContext;exports.computeWotsBlockPublicKeysHash=r.computeWotsBlockPublicKeysHash;exports.deriveVaultRoot=r.deriveVaultRoot;exports.deriveWotsBlocksFromSeed=r.deriveWotsBlocksFromSeed;exports.expandAuthAnchor=r.expandAuthAnchor;exports.expandHashlockSecret=r.expandHashlockSecret;exports.expandWotsSeed=r.expandWotsSeed;exports.extractErrorData=r.extractErrorData;exports.getContractErrorMessage=r.getContractErrorMessage;exports.handleContractError=r.handleContractError;exports.isKnownContractError=r.isKnownContractError;exports.isWotsMismatchError=r.isWotsMismatchError;exports.parseFundingOutpointsFromTx=r.parseFundingOutpointsFromTx;exports.ApplicationRegistryABI=e.ApplicationRegistryABI;exports.MEMPOOL_API_URLS=e.MEMPOOL_API_URLS;exports.ProtocolParamsABI=e.ProtocolParamsABI;exports.ServerIdentityError=e.ServerIdentityError;exports.VaultProviderRpcClient=e.VaultProviderRpcClient;exports.ViemProtocolParamsReader=e.ViemProtocolParamsReader;exports.ViemUniversalChallengerReader=e.ViemUniversalChallengerReader;exports.ViemVaultKeeperReader=e.ViemVaultKeeperReader;exports.ViemVaultRegistryReader=e.ViemVaultRegistryReader;exports.VpResponseValidationError=e.VpResponseValidationError;exports.VpTokenRegistry=e.VpTokenRegistry;exports.createAuthenticatedVpClient=e.createAuthenticatedVpClient;exports.getAddressTxs=e.getAddressTxs;exports.getAddressUtxos=e.getAddressUtxos;exports.getMempoolApiUrl=e.getMempoolApiUrl;exports.getNetworkFees=e.getNetworkFees;exports.getTxHex=e.getTxHex;exports.getTxInfo=e.getTxInfo;exports.getUtxoInfo=e.getUtxoInfo;exports.primeVpTokenRegistry=e.primeVpTokenRegistry;exports.pushTx=e.pushTx;exports.resolveProtocolAddresses=e.resolveProtocolAddresses;exports.validateRequestDepositorClaimerArtifactsResponse=e.validateRequestDepositorClaimerArtifactsResponse;exports.verifyServerIdentity=e.verifyServerIdentity;exports.vpTokenRegistry=e.vpTokenRegistry;exports.BTCVaultRegistryABI=s.BTCVaultRegistryABI;exports.DaemonStatus=s.DaemonStatus;exports.JSON_RPC_ERROR_CODES=s.JSON_RPC_ERROR_CODES;exports.JsonRpcClient=s.JsonRpcClient;exports.JsonRpcError=s.JsonRpcError;exports.POST_WOTS_STATUSES=s.POST_WOTS_STATUSES;exports.PRE_DEPOSITOR_SIGNATURES_STATES=s.PRE_DEPOSITOR_SIGNATURES_STATES;exports.RpcErrorCode=s.RpcErrorCode;exports.VP_TERMINAL_STATUSES=s.VP_TERMINAL_STATUSES;exports.VP_TRANSIENT_STATUSES=s.VP_TRANSIENT_STATUSES;
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1,66 +1,66 @@
1
- import { h as e, g as t, d as r, a as o, b as i, c as n, e as l, f as u } from "../../challengeAssert-mYikGC34.js";
2
- import { computeMinClaimValue as P, deriveVaultId as c } from "@babylonlabs-io/babylon-tbv-rust-wasm";
3
- import { a as p, d as S, c as E, b as A, f as R, e as _ } from "../../noPayout-B8JiTaYt.js";
4
- import { d as m, a as x, e as b, f as I, g as f, h as v, i as C, b as U, p as O, s as V, t as h, u as y, v as F } from "../../bitcoin-B-Y0DlqR.js";
1
+ import { h as e, g as t, d as r, a as o, b as i, c as n, e as l, f as u } from "../../challengeAssert-DSlCIBoT.js";
2
+ import { computeMinClaimValue as P, deriveVaultId as p } from "@babylonlabs-io/babylon-tbv-rust-wasm";
3
+ import { a as T, d as S, c as E, b as A, f as R, e as g } from "../../noPayout-DohtepqZ.js";
4
+ import { d as m, a as x, e as b, f as I, g as f, h as C, i as v, b as U, p as O, s as V, t as F, u as h, v as y } from "../../bitcoin-0_T6KJON.js";
5
5
  import { C as D, P as B, a as M, c as H, g as L } from "../../signing-BZigafm0.js";
6
6
  import { B as W, H as X, K, M as w, T as G } from "../../validation-CxqROCno.js";
7
- import { B as J, C as Z, P as j, R as z, a as q, m as Q, h as $, n as aa, i as sa, l as ea, k as ta, p as ra, b as oa, s as ia, v as na, g as la, d as ua, c as da, j as Pa, e as ca, f as Ta, w as pa } from "../../buildAndBroadcastRefund-BRQaCQrJ.js";
8
- import { B as Ea, D as Aa, F as Ra, L as _a, M as ga, P as ma, b as xa, a as ba, S as Ia, T as fa, W as va, f as Ca, c as Ua, p as Oa, r as Va } from "../../fundPeginTransaction-oV-dNJOU.js";
9
- import { B as ya, U as Fa, a as Na, f as Da, c as Ba, e as Ma, g as Ha, i as La, h as ka, s as Wa, b as Xa, d as Ka, v as wa } from "../../psbtInputFields-DeTFSJOq.js";
10
- import { C as Ya, P as Ja, V as Za, k as ja, l as za, c as qa, m as Qa, d as $a, b as as, f as ss, j as es, e as ts, g as rs, h as os, i as is, a as ns } from "../../PeginManager-c44Uvd1N.js";
11
- import { A as us, M as ds, P as Ps, S as cs, V as Ts, k as ps, l as Ss, m as Es, n as As, h as Rs, j as _s, g as gs, a as ms, b as xs, c as bs, d as Is, e as fs, f as vs, p as Cs, r as Us, v as Os, i as Vs } from "../../vault-registry-reader-BywZhqJL.js";
12
- import { B as ys, D as Fs, b as Ns, J as Ds, a as Bs, d as Ms, P as Hs, R as Ls, c as ks, V as Ws } from "../../types-CnG3JsRs.js";
7
+ import { B as J, C as Z, P as j, R as q, a as z, m as Q, h as $, n as aa, i as sa, l as ea, k as ta, r as ra, b as oa, s as ia, v as na, g as la, d as ua, c as da, j as Pa, e as pa, f as ca, w as Ta } from "../../buildAndBroadcastRefund-Ba56IKL7.js";
8
+ import { B as Ea, D as Aa, F as Ra, L as ga, M as _a, P as ma, b as xa, a as ba, S as Ia, T as fa, W as Ca, f as va, c as Ua, p as Oa, r as Va } from "../../fundPeginTransaction-oV-dNJOU.js";
9
+ import { B as ha, U as ya, a as Na, f as Da, c as Ba, e as Ma, g as Ha, i as La, h as ka, s as Wa, b as Xa, d as Ka, v as wa } from "../../psbtInputFields-DPCFHgGd.js";
10
+ import { C as Ya, P as Ja, V as Za, k as ja, l as qa, c as za, m as Qa, d as $a, b as as, f as ss, j as es, e as ts, g as rs, h as os, i as is, a as ns, p as ls } from "../../PeginManager-BMrWtTji.js";
11
+ import { A as ds, M as Ps, P as ps, S as cs, V as Ts, n as Ss, o as Es, q as As, s as Rs, h as gs, j as _s, l as ms, g as xs, a as bs, b as Is, c as fs, d as Cs, e as vs, f as Us, m as Os, p as Vs, r as Fs, v as hs, i as ys, k as Ns } from "../../vault-registry-reader-BeIEh62N.js";
12
+ import { B as Bs, D as Ms, b as Hs, J as Ls, a as ks, d as Ws, P as Xs, R as Ks, c as ws, V as Gs } from "../../types-D1o_3Q__.js";
13
13
  export {
14
- us as ApplicationRegistryABI,
14
+ ds as ApplicationRegistryABI,
15
15
  J as BIP68NotMatureError,
16
16
  W as BITCOIN_ADDRESS_RE,
17
- ys as BTCVaultRegistryABI,
17
+ Bs as BTCVaultRegistryABI,
18
18
  Ea as BTC_DUST_SAT,
19
- ya as BitcoinScriptType,
19
+ ha as BitcoinScriptType,
20
20
  Ya as CONTRACT_ERRORS,
21
21
  Z as ClaimerPegoutStatusValue,
22
22
  D as ContractStatus,
23
23
  Aa as DUST_THRESHOLD,
24
- Fs as DaemonStatus,
24
+ Ms as DaemonStatus,
25
25
  Ra as FEE_SAFETY_MARGIN,
26
26
  X as HEX_RE,
27
- Ns as JSON_RPC_ERROR_CODES,
28
- Ds as JsonRpcClient,
29
- Bs as JsonRpcError,
27
+ Hs as JSON_RPC_ERROR_CODES,
28
+ Ls as JsonRpcClient,
29
+ ks as JsonRpcError,
30
30
  K as KNOWN_SCRIPT_PREFIXES,
31
- _a as LOW_RATE_ESTIMATION_ACCURACY_BUFFER,
32
- ga as MAX_NON_LEGACY_OUTPUT_SIZE,
31
+ ga as LOW_RATE_ESTIMATION_ACCURACY_BUFFER,
32
+ _a as MAX_NON_LEGACY_OUTPUT_SIZE,
33
33
  w as MAX_REASONABLE_FEE_SATS,
34
- ds as MEMPOOL_API_URLS,
34
+ Ps as MEMPOOL_API_URLS,
35
35
  ma as P2TR_INPUT_SIZE,
36
36
  xa as PEGIN_AUTH_ANCHOR_OUTPUTS,
37
37
  ba as PEGIN_FIXED_OUTPUTS,
38
- Ms as POST_WOTS_STATUSES,
39
- Hs as PRE_DEPOSITOR_SIGNATURES_STATES,
38
+ Ws as POST_WOTS_STATUSES,
39
+ Xs as PRE_DEPOSITOR_SIGNATURES_STATES,
40
40
  j as PayoutManager,
41
41
  B as PeginAction,
42
42
  Ja as PeginManager,
43
- Ps as ProtocolParamsABI,
44
- z as REFUND_VSIZE,
45
- Ls as RpcErrorCode,
43
+ ps as ProtocolParamsABI,
44
+ q as REFUND_VSIZE,
45
+ Ks as RpcErrorCode,
46
46
  Ia as SPLIT_TX_FEE_SAFETY_MULTIPLIER,
47
47
  cs as ServerIdentityError,
48
48
  G as TXID_RE,
49
49
  fa as TX_BUFFER_SIZE_OVERHEAD,
50
- Fa as UtxoNotAvailableError,
50
+ ya as UtxoNotAvailableError,
51
51
  Za as VAULT_APP_NAME,
52
- ks as VP_TERMINAL_STATUSES,
53
- Ws as VP_TRANSIENT_STATUSES,
52
+ ws as VP_TERMINAL_STATUSES,
53
+ Gs as VP_TRANSIENT_STATUSES,
54
54
  Ts as VaultProviderRpcClient,
55
- ps as ViemProtocolParamsReader,
56
- Ss as ViemUniversalChallengerReader,
57
- Es as ViemVaultKeeperReader,
58
- As as ViemVaultRegistryReader,
59
- Rs as VpResponseValidationError,
60
- _s as VpTokenProvider,
61
- va as WALLET_RELAY_FEE_RATE_THRESHOLD,
62
- q as activateVault,
63
- p as assertPayoutOutputMatchesRegistered,
55
+ Ss as ViemProtocolParamsReader,
56
+ Es as ViemUniversalChallengerReader,
57
+ As as ViemVaultKeeperReader,
58
+ Rs as ViemVaultRegistryReader,
59
+ gs as VpResponseValidationError,
60
+ _s as VpTokenRegistry,
61
+ Ca as WALLET_RELAY_FEE_RATE_THRESHOLD,
62
+ z as activateVault,
63
+ T as assertPayoutOutputMatchesRegistered,
64
64
  Na as assertUtxosAvailable,
65
65
  Q as buildAndBroadcastRefund,
66
66
  e as buildChallengeAssertPsbt,
@@ -72,19 +72,20 @@ export {
72
72
  o as buildPeginTxFromFundedPrePegin,
73
73
  i as buildPrePeginPsbt,
74
74
  A as buildRefundPsbt,
75
- za as buildVaultContext,
75
+ qa as buildVaultContext,
76
76
  Da as calculateBtcTxHash,
77
77
  M as canPerformAction,
78
78
  Ba as collectReservedUtxoRefs,
79
79
  $ as computeHashlock,
80
80
  P as computeMinClaimValue,
81
81
  n as computeNumLocalChallengers,
82
- qa as computeWotsBlockPublicKeysHash,
82
+ za as computeWotsBlockPublicKeysHash,
83
+ ms as createAuthenticatedVpClient,
83
84
  R as createPayoutScript,
84
85
  H as createTaprootScriptPathSignOptions,
85
86
  m as deriveNativeSegwitAddress,
86
87
  x as deriveTaprootAddress,
87
- c as deriveVaultId,
88
+ p as deriveVaultId,
88
89
  Qa as deriveVaultRoot,
89
90
  $a as deriveWotsBlocksFromSeed,
90
91
  b as ensureHexPrefix,
@@ -94,59 +95,62 @@ export {
94
95
  es as expandWotsSeed,
95
96
  ts as extractErrorData,
96
97
  Ma as extractInputsFromTransaction,
97
- _ as extractPayoutSignature,
98
+ g as extractPayoutSignature,
98
99
  l as extractPeginInputSignature,
99
100
  u as finalizePeginInputPsbt,
100
101
  I as formatSatoshisToBtc,
101
- Ca as fundPeginTransaction,
102
- gs as getAddressTxs,
103
- ms as getAddressUtxos,
102
+ va as fundPeginTransaction,
103
+ xs as getAddressTxs,
104
+ bs as getAddressUtxos,
104
105
  rs as getContractErrorMessage,
105
106
  Ha as getDustThreshold,
106
- xs as getMempoolApiUrl,
107
+ Is as getMempoolApiUrl,
107
108
  f as getNetwork,
108
- bs as getNetworkFees,
109
+ fs as getNetworkFees,
109
110
  L as getPeginProtocolState,
110
111
  La as getPsbtInputFields,
111
112
  ka as getScriptType,
112
- Is as getTxHex,
113
- fs as getTxInfo,
114
- vs as getUtxoInfo,
113
+ Cs as getTxHex,
114
+ vs as getTxInfo,
115
+ Us as getUtxoInfo,
115
116
  os as handleContractError,
116
- v as hexToUint8Array,
117
- C as isAddressFromPublicKey,
117
+ C as hexToUint8Array,
118
+ v as isAddressFromPublicKey,
118
119
  sa as isDepositAmountValid,
119
120
  is as isKnownContractError,
120
121
  ea as isPegoutTerminalStatus,
121
122
  ta as isRecognizedPegoutStatus,
122
123
  U as isValidHex,
123
124
  ns as isWotsMismatchError,
125
+ ls as parseFundingOutpointsFromTx,
124
126
  Ua as parseUnfundedWasmTransaction,
125
127
  Oa as peginOutputCount,
126
- ra as pollAndSignPayouts,
128
+ Os as primeVpTokenRegistry,
127
129
  O as processPublicKeyToXOnly,
128
- Cs as pushTx,
130
+ Vs as pushTx,
129
131
  Va as rateBasedTxBufferFee,
130
- Us as resolveProtocolAddresses,
132
+ Fs as resolveProtocolAddresses,
133
+ ra as runDepositorPresignFlow,
131
134
  Wa as selectUtxosForDeposit,
132
135
  Xa as selectUtxosForPegin,
133
136
  Ka as shouldAddChangeOutput,
134
137
  oa as signDepositorGraph,
135
138
  V as stripHexPrefix,
136
139
  ia as submitWotsPublicKey,
137
- h as toXOnly,
138
- y as uint8ArrayToHex,
140
+ F as toXOnly,
141
+ h as uint8ArrayToHex,
139
142
  na as validateDepositAmount,
140
143
  la as validateMultiVaultDepositInputs,
141
144
  ua as validateProviderSelection,
142
145
  da as validateRemainingCapacity,
143
- Os as validateRequestDepositorClaimerArtifactsResponse,
146
+ hs as validateRequestDepositorClaimerArtifactsResponse,
144
147
  Pa as validateSecretAgainstHashlock,
145
148
  wa as validateUtxosAvailable,
146
- ca as validateVaultAmounts,
147
- Ta as validateVaultProviderPubkey,
148
- F as validateWalletPubkey,
149
- Vs as verifyServerIdentity,
150
- pa as waitForPeginStatus
149
+ pa as validateVaultAmounts,
150
+ ca as validateVaultProviderPubkey,
151
+ y as validateWalletPubkey,
152
+ ys as verifyServerIdentity,
153
+ Ns as vpTokenRegistry,
154
+ Ta as waitForPeginStatus
151
155
  };
152
156
  //# sourceMappingURL=index.js.map
@@ -13,7 +13,7 @@
13
13
  * | 2 | Sign BTC proof-of-possession | `PeginManager.signProofOfPossession()` | n/a (off-chain, once per session) |
14
14
  * | 3 | Register on Ethereum | `PeginManager.registerPeginOnChain()` | `PENDING` |
15
15
  * | 4 | Broadcast Pre-PegIn on Bitcoin | `PeginManager.signAndBroadcast()` | still `PENDING` until VP observes the tx |
16
- * | 5 | Sign payout authorisations | `pollAndSignPayouts()` (services, delegates to `PayoutManager`) | `PENDING` → `VERIFIED` |
16
+ * | 5 | Sign payout authorisations | `runDepositorPresignFlow()` (services, delegates to `PayoutManager`) | `PENDING` → `VERIFIED` |
17
17
  * | 6 | Activate by revealing HTLC secret | `activateVault()` (services) | `VERIFIED` → `ACTIVE` |
18
18
  *
19
19
  * Optional exit after the CSV timelock expires: `buildAndBroadcastRefund()` (services).
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("../../../challengeAssert-yYFflBOx.cjs"),r=require("@babylonlabs-io/babylon-tbv-rust-wasm"),i=require("../../../noPayout-CwgYkZYs.cjs"),e=require("../../../bitcoin-DIN0OupO.cjs");exports.buildChallengeAssertPsbt=t.buildChallengeAssertPsbt;exports.buildDepositorPayoutPsbt=t.buildDepositorPayoutPsbt;exports.buildPeginInputPsbt=t.buildPeginInputPsbt;exports.buildPeginTxFromFundedPrePegin=t.buildPeginTxFromFundedPrePegin;exports.buildPrePeginPsbt=t.buildPrePeginPsbt;exports.computeNumLocalChallengers=t.computeNumLocalChallengers;exports.extractPeginInputSignature=t.extractPeginInputSignature;exports.finalizePeginInputPsbt=t.finalizePeginInputPsbt;Object.defineProperty(exports,"computeMinClaimValue",{enumerable:!0,get:()=>r.computeMinClaimValue});Object.defineProperty(exports,"deriveVaultId",{enumerable:!0,get:()=>r.deriveVaultId});exports.assertPayoutOutputMatchesRegistered=i.assertPayoutOutputMatchesRegistered;exports.buildNoPayoutPsbt=i.buildNoPayoutPsbt;exports.buildPayoutPsbt=i.buildPayoutPsbt;exports.buildRefundPsbt=i.buildRefundPsbt;exports.createPayoutScript=i.createPayoutScript;exports.extractPayoutSignature=i.extractPayoutSignature;exports.deriveNativeSegwitAddress=e.deriveNativeSegwitAddress;exports.deriveTaprootAddress=e.deriveTaprootAddress;exports.ensureHexPrefix=e.ensureHexPrefix;exports.formatSatoshisToBtc=e.formatSatoshisToBtc;exports.hexToUint8Array=e.hexToUint8Array;exports.isAddressFromPublicKey=e.isAddressFromPublicKey;exports.isValidHex=e.isValidHex;exports.processPublicKeyToXOnly=e.processPublicKeyToXOnly;exports.stripHexPrefix=e.stripHexPrefix;exports.toXOnly=e.toXOnly;exports.uint8ArrayToHex=e.uint8ArrayToHex;exports.validateWalletPubkey=e.validateWalletPubkey;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("../../../challengeAssert-DuhkzZG-.cjs"),r=require("@babylonlabs-io/babylon-tbv-rust-wasm"),i=require("../../../noPayout-CDhbGn_B.cjs"),e=require("../../../bitcoin-EYBKDtEW.cjs");exports.buildChallengeAssertPsbt=t.buildChallengeAssertPsbt;exports.buildDepositorPayoutPsbt=t.buildDepositorPayoutPsbt;exports.buildPeginInputPsbt=t.buildPeginInputPsbt;exports.buildPeginTxFromFundedPrePegin=t.buildPeginTxFromFundedPrePegin;exports.buildPrePeginPsbt=t.buildPrePeginPsbt;exports.computeNumLocalChallengers=t.computeNumLocalChallengers;exports.extractPeginInputSignature=t.extractPeginInputSignature;exports.finalizePeginInputPsbt=t.finalizePeginInputPsbt;Object.defineProperty(exports,"computeMinClaimValue",{enumerable:!0,get:()=>r.computeMinClaimValue});Object.defineProperty(exports,"deriveVaultId",{enumerable:!0,get:()=>r.deriveVaultId});exports.assertPayoutOutputMatchesRegistered=i.assertPayoutOutputMatchesRegistered;exports.buildNoPayoutPsbt=i.buildNoPayoutPsbt;exports.buildPayoutPsbt=i.buildPayoutPsbt;exports.buildRefundPsbt=i.buildRefundPsbt;exports.createPayoutScript=i.createPayoutScript;exports.extractPayoutSignature=i.extractPayoutSignature;exports.deriveNativeSegwitAddress=e.deriveNativeSegwitAddress;exports.deriveTaprootAddress=e.deriveTaprootAddress;exports.ensureHexPrefix=e.ensureHexPrefix;exports.formatSatoshisToBtc=e.formatSatoshisToBtc;exports.hexToUint8Array=e.hexToUint8Array;exports.isAddressFromPublicKey=e.isAddressFromPublicKey;exports.isValidHex=e.isValidHex;exports.processPublicKeyToXOnly=e.processPublicKeyToXOnly;exports.stripHexPrefix=e.stripHexPrefix;exports.toXOnly=e.toXOnly;exports.uint8ArrayToHex=e.uint8ArrayToHex;exports.validateWalletPubkey=e.validateWalletPubkey;
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1,7 +1,7 @@
1
- import { h as s, g as t, d as i, a as r, b as u, c as o, e as d, f as P } from "../../../challengeAssert-mYikGC34.js";
1
+ import { h as s, g as t, d as i, a as r, b as u, c as o, e as d, f as P } from "../../../challengeAssert-DSlCIBoT.js";
2
2
  import { computeMinClaimValue as b, deriveVaultId as n } from "@babylonlabs-io/babylon-tbv-rust-wasm";
3
- import { a as c, d as x, c as g, b as y, f, e as m } from "../../../noPayout-B8JiTaYt.js";
4
- import { d as v, a as A, e as T, f as S, h as H, i as I, b as C, p as F, s as N, t as O, u as V, v as K } from "../../../bitcoin-B-Y0DlqR.js";
3
+ import { a as c, d as x, c as g, b as y, f, e as m } from "../../../noPayout-DohtepqZ.js";
4
+ import { d as v, a as A, e as T, f as S, h as H, i as I, b as C, p as F, s as N, t as O, u as V, v as K } from "../../../bitcoin-0_T6KJON.js";
5
5
  export {
6
6
  c as assertPayoutOutputMatchesRegistered,
7
7
  s as buildChallengeAssertPsbt,
@@ -3,13 +3,10 @@ import { ChallengeAssertConnectorParams } from '@babylonlabs-io/babylon-tbv-rust
3
3
  * Parameters for building a ChallengeAssert PSBT
4
4
  */
5
5
  export interface ChallengeAssertParams {
6
- /** ChallengeAssert transaction hex (unsigned) from VP */
6
+ /** ChallengeAssert transaction hex (unsigned) */
7
7
  challengeAssertTxHex: string;
8
- /** Prevouts for all inputs [{script_pubkey, value}] from VP (flat, one per input) */
9
- prevouts: Array<{
10
- script_pubkey: string;
11
- value: number;
12
- }>;
8
+ /** Authoritative Assert transaction hex every input must spend an Assert output */
9
+ assertTxHex: string;
13
10
  /** Per-input connector params (one per input/segment, determines the taproot script) */
14
11
  connectorParamsPerInput: ChallengeAssertConnectorParams[];
15
12
  }
@@ -18,10 +15,16 @@ export interface ChallengeAssertParams {
18
15
  *
19
16
  * The ChallengeAssert transaction has 3 inputs (one per Assert output segment).
20
17
  * Each input has its own taproot script derived from its connector params.
21
- * The depositor signs all inputs.
18
+ * The depositor signs all inputs. Every prevout is derived from the
19
+ * authoritative Assert transaction, never trusted from external input.
22
20
  *
23
21
  * @param params - ChallengeAssert parameters
24
22
  * @returns Unsigned PSBT hex ready for signing
23
+ *
24
+ * @throws If the number of connector params does not match the number of inputs
25
+ * @throws If any input does not reference assertTxHex
26
+ * @throws If any referenced Assert output is missing
27
+ * @throws If two inputs reference the same Assert output index
25
28
  */
26
29
  export declare function buildChallengeAssertPsbt(params: ChallengeAssertParams): Promise<string>;
27
30
  //# sourceMappingURL=challengeAssert.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"challengeAssert.d.ts","sourceRoot":"","sources":["../../../../../src/tbv/core/primitives/psbt/challengeAssert.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EACL,KAAK,8BAA8B,EAGpC,MAAM,uCAAuC,CAAC;AAU/C;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,yDAAyD;IACzD,oBAAoB,EAAE,MAAM,CAAC;IAC7B,qFAAqF;IACrF,QAAQ,EAAE,KAAK,CAAC;QAAE,aAAa,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC1D,wFAAwF;IACxF,uBAAuB,EAAE,8BAA8B,EAAE,CAAC;CAC3D;AAED;;;;;;;;;GASG;AACH,wBAAsB,wBAAwB,CAC5C,MAAM,EAAE,qBAAqB,GAC5B,OAAO,CAAC,MAAM,CAAC,CA4DjB"}
1
+ {"version":3,"file":"challengeAssert.d.ts","sourceRoot":"","sources":["../../../../../src/tbv/core/primitives/psbt/challengeAssert.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EACL,KAAK,8BAA8B,EAGpC,MAAM,uCAAuC,CAAC;AAW/C;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,iDAAiD;IACjD,oBAAoB,EAAE,MAAM,CAAC;IAC7B,qFAAqF;IACrF,WAAW,EAAE,MAAM,CAAC;IACpB,wFAAwF;IACxF,uBAAuB,EAAE,8BAA8B,EAAE,CAAC;CAC3D;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,wBAAwB,CAC5C,MAAM,EAAE,qBAAqB,GAC5B,OAAO,CAAC,MAAM,CAAC,CA+EjB"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Protocol invariants for depositor graph transactions.
3
+ *
4
+ * These indices and counts encode the on-chain vault protocol layout
5
+ * (which output of PegIn/Assert each child transaction spends, and how
6
+ * many inputs each transaction has). Consumed by the PSBT builders and
7
+ * the depositor graph signing service; a drift between copies of these
8
+ * values would silently change validation behaviour.
9
+ *
10
+ * @module primitives/psbt/constants
11
+ * @see btc-vault crates/vault/docs/btc-transactions-spec.md
12
+ */
13
+ /**
14
+ * Depositor Payout transaction input count.
15
+ * Input 0: PegIn:0 (signed). Input 1: Assert:0 (in sighash, not signed).
16
+ */
17
+ export declare const DEPOSITOR_PAYOUT_INPUT_COUNT = 2;
18
+ /** PegIn vault output index spent by the depositor's Payout input 0. */
19
+ export declare const PEGIN_VAULT_OUTPUT_INDEX = 0;
20
+ /** Payout input index bound to the graph Assert tx (NOT signed). */
21
+ export declare const PAYOUT_ASSERT_INPUT_INDEX = 1;
22
+ /** Assert output index spent by the depositor's Payout input 1 (NOT signed). */
23
+ export declare const ASSERT_PAYOUT_OUTPUT_INDEX = 0;
24
+ /** Assert output index spent by NoPayout input 0 (signed). */
25
+ export declare const ASSERT_NOPAYOUT_OUTPUT_INDEX = 0;
26
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../../src/tbv/core/primitives/psbt/constants.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH;;;GAGG;AACH,eAAO,MAAM,4BAA4B,IAAI,CAAC;AAE9C,wEAAwE;AACxE,eAAO,MAAM,wBAAwB,IAAI,CAAC;AAE1C,oEAAoE;AACpE,eAAO,MAAM,yBAAyB,IAAI,CAAC;AAE3C,gFAAgF;AAChF,eAAO,MAAM,0BAA0B,IAAI,CAAC;AAE5C,8DAA8D;AAC9D,eAAO,MAAM,4BAA4B,IAAI,CAAC"}
@@ -3,13 +3,12 @@ import { PayoutConnectorParams } from '@babylonlabs-io/babylon-tbv-rust-wasm';
3
3
  * Parameters for building a depositor Payout PSBT
4
4
  */
5
5
  export interface DepositorPayoutParams {
6
- /** Payout transaction hex (unsigned) from VP */
6
+ /** Payout transaction hex (unsigned) */
7
7
  payoutTxHex: string;
8
- /** Prevouts for all inputs [{script_pubkey, value}] from VP */
9
- prevouts: Array<{
10
- script_pubkey: string;
11
- value: number;
12
- }>;
8
+ /** Authoritative PegIn transaction hex input 0 must spend PegIn:0 */
9
+ peginTxHex: string;
10
+ /** Authoritative Assert transaction hex — input 1 must spend Assert:0 */
11
+ assertTxHex: string;
13
12
  /** Parameters for the PeginPayout connector (depositor, VP, VKs, UCs, timelock) */
14
13
  connectorParams: PayoutConnectorParams;
15
14
  }
@@ -20,8 +19,16 @@ export interface DepositorPayoutParams {
20
19
  * - Input 0: PegIn:0 (vault UTXO) — depositor signs using PeginPayoutConnector payout script
21
20
  * - Input 1: Assert:0 — NOT signed by depositor
22
21
  *
22
+ * Both inputs must be present in the PSBT because Taproot SIGHASH_DEFAULT
23
+ * commits to all input prevouts. Prevout script_pubkey/value are derived
24
+ * from the authoritative parent transactions, not trusted from external input.
25
+ *
23
26
  * @param params - Depositor payout parameters
24
27
  * @returns Unsigned PSBT hex ready for signing
28
+ *
29
+ * @throws If the payout transaction does not have exactly 2 inputs
30
+ * @throws If input 0 does not reference peginTxHex at output index 0
31
+ * @throws If input 1 does not reference assertTxHex at output index 0
25
32
  */
26
33
  export declare function buildDepositorPayoutPsbt(params: DepositorPayoutParams): Promise<string>;
27
34
  //# sourceMappingURL=depositorPayout.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"depositorPayout.d.ts","sourceRoot":"","sources":["../../../../../src/tbv/core/primitives/psbt/depositorPayout.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EACL,KAAK,qBAAqB,EAG3B,MAAM,uCAAuC,CAAC;AAU/C;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,gDAAgD;IAChD,WAAW,EAAE,MAAM,CAAC;IACpB,+DAA+D;IAC/D,QAAQ,EAAE,KAAK,CAAC;QAAE,aAAa,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC1D,mFAAmF;IACnF,eAAe,EAAE,qBAAqB,CAAC;CACxC;AAED;;;;;;;;;GASG;AACH,wBAAsB,wBAAwB,CAC5C,MAAM,EAAE,qBAAqB,GAC5B,OAAO,CAAC,MAAM,CAAC,CA0DjB"}
1
+ {"version":3,"file":"depositorPayout.d.ts","sourceRoot":"","sources":["../../../../../src/tbv/core/primitives/psbt/depositorPayout.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EACL,KAAK,qBAAqB,EAG3B,MAAM,uCAAuC,CAAC;AAgB/C;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,wCAAwC;IACxC,WAAW,EAAE,MAAM,CAAC;IACpB,uEAAuE;IACvE,UAAU,EAAE,MAAM,CAAC;IACnB,yEAAyE;IACzE,WAAW,EAAE,MAAM,CAAC;IACpB,mFAAmF;IACnF,eAAe,EAAE,qBAAqB,CAAC;CACxC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,wBAAwB,CAC5C,MAAM,EAAE,qBAAqB,GAC5B,OAAO,CAAC,MAAM,CAAC,CAiFjB"}
@@ -1,3 +1,4 @@
1
+ import { Buffer } from 'buffer';
1
2
  import { networks } from 'bitcoinjs-lib';
2
3
  import { Network } from '@babylonlabs-io/babylon-tbv-rust-wasm';
3
4
  import { Hex } from 'viem';
@@ -61,6 +62,18 @@ export declare function hexToUint8Array(hex: string): Uint8Array;
61
62
  * @returns Hex string without 0x prefix
62
63
  */
63
64
  export declare function uint8ArrayToHex(bytes: Uint8Array): string;
65
+ /**
66
+ * Read the prevout txid (big-endian hex) from a bitcoinjs-lib transaction input.
67
+ *
68
+ * bitcoinjs-lib stores `hash` in little-endian internal byte order; txids are
69
+ * displayed in big-endian, so the bytes must be reversed before hex-encoding.
70
+ *
71
+ * @param input - Transaction input with a `hash` field (Buffer or Uint8Array)
72
+ * @returns Prevout txid as a hex string (big-endian, no 0x prefix)
73
+ */
74
+ export declare function inputTxidHex(input: {
75
+ hash: Buffer | Uint8Array;
76
+ }): string;
64
77
  /**
65
78
  * Convert a 33-byte public key to 32-byte x-only format (removes first byte).
66
79
  *
@@ -1 +1 @@
1
- {"version":3,"file":"bitcoin.d.ts","sourceRoot":"","sources":["../../../../../src/tbv/core/primitives/utils/bitcoin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,EAAE,QAAQ,EAAY,MAAM,eAAe,CAAC;AAEnD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uCAAuC,CAAC;AACrE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAEhC;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,MAAO,CAAC;AAE3C;;;GAGG;AACH,eAAO,MAAM,qBAAqB,KAAK,CAAC;AAExC;;;GAGG;AACH,eAAO,MAAM,yBAAyB,KAAK,CAAC;AAE5C;;;GAGG;AACH,eAAO,MAAM,2BAA2B,MAAM,CAAC;AAE/C;;GAEG;AACH,eAAO,MAAM,mBAAmB,MAAM,CAAC;AAEvC;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAElD;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAIhD;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAUvD;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAIzD;AAED;;;;;;;;GAQG;AACH,wBAAgB,OAAO,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU,CAEtD;AAaD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,uBAAuB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CA0BpE;AAED;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAG/C;AAED;;GAEG;AACH,MAAM,WAAW,4BAA4B;IAC3C,yEAAyE;IACzE,eAAe,EAAE,MAAM,CAAC;IACxB,oEAAoE;IACpE,iBAAiB,EAAE,MAAM,CAAC;IAC1B,yDAAyD;IACzD,eAAe,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,oBAAoB,CAClC,eAAe,EAAE,MAAM,EACvB,uBAAuB,CAAC,EAAE,MAAM,GAC/B,4BAA4B,CAa9B;AAQD;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAS5D;AA8BD;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,QAAQ,CAAC,OAAO,CAY7D;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,OAAO,GACf,MAAM,CAWR;AAED;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CACvC,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,OAAO,GACf,MAAM,CAiBR;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,OAAO,GACf,OAAO,CAgCT"}
1
+ {"version":3,"file":"bitcoin.d.ts","sourceRoot":"","sources":["../../../../../src/tbv/core/primitives/utils/bitcoin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAY,MAAM,eAAe,CAAC;AAEnD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uCAAuC,CAAC;AACrE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAEhC;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,MAAO,CAAC;AAE3C;;;GAGG;AACH,eAAO,MAAM,qBAAqB,KAAK,CAAC;AAExC;;;GAGG;AACH,eAAO,MAAM,yBAAyB,KAAK,CAAC;AAE5C;;;GAGG;AACH,eAAO,MAAM,2BAA2B,MAAM,CAAC;AAE/C;;GAEG;AACH,eAAO,MAAM,mBAAmB,MAAM,CAAC;AAEvC;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAElD;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAIhD;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAUvD;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAIzD;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE;IAClC,IAAI,EAAE,MAAM,GAAG,UAAU,CAAC;CAC3B,GAAG,MAAM,CAET;AAED;;;;;;;;GAQG;AACH,wBAAgB,OAAO,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU,CAEtD;AAaD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,uBAAuB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CA0BpE;AAED;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAG/C;AAED;;GAEG;AACH,MAAM,WAAW,4BAA4B;IAC3C,yEAAyE;IACzE,eAAe,EAAE,MAAM,CAAC;IACxB,oEAAoE;IACpE,iBAAiB,EAAE,MAAM,CAAC;IAC1B,yDAAyD;IACzD,eAAe,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,oBAAoB,CAClC,eAAe,EAAE,MAAM,EACvB,uBAAuB,CAAC,EAAE,MAAM,GAC/B,4BAA4B,CAa9B;AAQD;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAS5D;AA8BD;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,QAAQ,CAAC,OAAO,CAY7D;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,OAAO,GACf,MAAM,CAWR;AAED;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CACvC,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,OAAO,GACf,MAAM,CAiBR;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,OAAO,GACf,OAAO,CAgCT"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=runDepositorPresignFlow.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runDepositorPresignFlow.test.d.ts","sourceRoot":"","sources":["../../../../../../src/tbv/core/services/deposit/__tests__/runDepositorPresignFlow.test.ts"],"names":[],"mappings":""}
@@ -5,8 +5,8 @@ export { submitWotsPublicKey } from './submitWotsPublicKey';
5
5
  export type { SubmitWotsPublicKeyParams } from './submitWotsPublicKey';
6
6
  export { signDepositorGraph } from './signDepositorGraph';
7
7
  export type { DepositorGraphSigningContext, SignDepositorGraphParams, } from './signDepositorGraph';
8
- export { pollAndSignPayouts } from './signAndSubmitPayouts';
9
- export type { PayoutSigningContext, PollAndSignPayoutsParams, } from './signAndSubmitPayouts';
8
+ export { runDepositorPresignFlow } from './runDepositorPresignFlow';
9
+ export type { PayoutSigningContext, RunDepositorPresignFlowParams, } from './runDepositorPresignFlow';
10
10
  export { ContractStatus, PeginAction, canPerformAction, getPeginProtocolState, } from './peginState';
11
11
  export type { ExpirationReason, GetPeginProtocolStateOptions, PeginProtocolState, } from './peginState';
12
12
  export { isDepositAmountValid, validateDepositAmount, validateRemainingCapacity, validateProviderSelection, validateVaultAmounts, validateVaultProviderPubkey, validateMultiVaultDepositInputs, } from './validation';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/tbv/core/services/deposit/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,iBAAiB,EACjB,gBAAgB,EAChB,aAAa,EACb,sBAAsB,GACvB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,YAAY,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,YAAY,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,YAAY,EACV,4BAA4B,EAC5B,wBAAwB,GACzB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,YAAY,EACV,oBAAoB,EACpB,wBAAwB,GACzB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,cAAc,EACd,WAAW,EACX,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,cAAc,CAAC;AACtB,YAAY,EACV,gBAAgB,EAChB,4BAA4B,EAC5B,kBAAkB,GACnB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,yBAAyB,EACzB,yBAAyB,EACzB,oBAAoB,EACpB,2BAA2B,EAC3B,+BAA+B,GAChC,MAAM,cAAc,CAAC;AACtB,YAAY,EACV,gBAAgB,EAChB,yBAAyB,EACzB,uBAAuB,EACvB,2BAA2B,GAC5B,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/tbv/core/services/deposit/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,iBAAiB,EACjB,gBAAgB,EAChB,aAAa,EACb,sBAAsB,GACvB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,YAAY,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,YAAY,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,YAAY,EACV,4BAA4B,EAC5B,wBAAwB,GACzB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,YAAY,EACV,oBAAoB,EACpB,6BAA6B,GAC9B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,cAAc,EACd,WAAW,EACX,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,cAAc,CAAC;AACtB,YAAY,EACV,gBAAgB,EAChB,4BAA4B,EAC5B,kBAAkB,GACnB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,yBAAyB,EACzB,yBAAyB,EACzB,oBAAoB,EACpB,2BAA2B,EAC3B,+BAA+B,GAChC,MAAM,cAAc,CAAC;AACtB,YAAY,EACV,gBAAgB,EAChB,yBAAyB,EACzB,uBAAuB,EACvB,2BAA2B,GAC5B,MAAM,cAAc,CAAC"}