@babylonlabs-io/ts-sdk 0.21.0 → 0.23.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 (45) hide show
  1. package/dist/{buildAndBroadcastRefund-DWEQvj9T.cjs → buildAndBroadcastRefund-BDGGbGeK.cjs} +2 -2
  2. package/dist/buildAndBroadcastRefund-BDGGbGeK.cjs.map +1 -0
  3. package/dist/{buildAndBroadcastRefund-DnTQkCgG.js → buildAndBroadcastRefund-D7NCbgtv.js} +79 -77
  4. package/dist/buildAndBroadcastRefund-D7NCbgtv.js.map +1 -0
  5. package/dist/errors-BcpQEG62.cjs +2 -0
  6. package/dist/errors-BcpQEG62.cjs.map +1 -0
  7. package/dist/errors-D3a9XcIX.js +1275 -0
  8. package/dist/errors-D3a9XcIX.js.map +1 -0
  9. package/dist/{index-DNSV--0P.cjs → index-BAECy2oz.cjs} +2 -2
  10. package/dist/{index-DNSV--0P.cjs.map → index-BAECy2oz.cjs.map} +1 -1
  11. package/dist/{index-BORWfdUU.js → index-DLtpqdlu.js} +3 -2
  12. package/dist/{index-BORWfdUU.js.map → index-DLtpqdlu.js.map} +1 -1
  13. package/dist/index.cjs +1 -1
  14. package/dist/index.js +36 -35
  15. package/dist/tbv/core/clients/index.cjs +1 -1
  16. package/dist/tbv/core/clients/index.js +16 -15
  17. package/dist/tbv/core/clients/vault-provider/index.d.ts +1 -1
  18. package/dist/tbv/core/clients/vault-provider/index.d.ts.map +1 -1
  19. package/dist/tbv/core/contracts/errors.d.ts.map +1 -1
  20. package/dist/tbv/core/index.cjs +1 -1
  21. package/dist/tbv/core/index.js +34 -33
  22. package/dist/tbv/core/managers/PayoutManager.d.ts +1 -1
  23. package/dist/tbv/core/managers/PeginManager.d.ts +57 -51
  24. package/dist/tbv/core/managers/PeginManager.d.ts.map +1 -1
  25. package/dist/tbv/core/managers/index.d.ts +7 -6
  26. package/dist/tbv/core/managers/index.d.ts.map +1 -1
  27. package/dist/tbv/core/services/index.cjs +1 -1
  28. package/dist/tbv/core/services/index.js +1 -1
  29. package/dist/tbv/core/services/refund/buildAndBroadcastRefund.d.ts +5 -1
  30. package/dist/tbv/core/services/refund/buildAndBroadcastRefund.d.ts.map +1 -1
  31. package/dist/tbv/index.cjs +1 -1
  32. package/dist/tbv/index.js +34 -33
  33. package/dist/testing/MockBitcoinWallet.d.ts +2 -2
  34. package/dist/testing/MockBitcoinWallet.d.ts.map +1 -1
  35. package/dist/testing/index.cjs +1 -1
  36. package/dist/testing/index.cjs.map +1 -1
  37. package/dist/testing/index.js +14 -14
  38. package/dist/testing/index.js.map +1 -1
  39. package/package.json +1 -1
  40. package/dist/buildAndBroadcastRefund-DWEQvj9T.cjs.map +0 -1
  41. package/dist/buildAndBroadcastRefund-DnTQkCgG.js.map +0 -1
  42. package/dist/errors-Cbyg_QQf.cjs +0 -2
  43. package/dist/errors-Cbyg_QQf.cjs.map +0 -1
  44. package/dist/errors-DvIudLXV.js +0 -1232
  45. package/dist/errors-DvIudLXV.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"PeginManager.d.ts","sourceRoot":"","sources":["../../../../src/tbv/core/managers/PeginManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PeginManager.d.ts","sourceRoot":"","sources":["../../../../src/tbv/core/managers/PeginManager.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@
2
2
  * @packageDocumentation
3
3
  *
4
4
  * Wallet-owning orchestration for the vault lifecycle. A vault goes from creation
5
- * to `ACTIVE` through five phases — {@link https://github.com/babylonlabs-io/babylon-toolkit/blob/main/packages/babylon-ts-sdk/docs/quickstart/managers.md | Managers Quickstart}
5
+ * to `ACTIVE` through six phases — {@link https://github.com/babylonlabs-io/babylon-toolkit/blob/main/packages/babylon-ts-sdk/docs/quickstart/managers.md | Managers Quickstart}
6
6
  * walks through them. A vault at `VERIFIED` is not done: the depositor must
7
7
  * reveal the HTLC secret via `activateVault()` (services layer) or the vault
8
8
  * expires.
@@ -10,17 +10,18 @@
10
10
  * | # | Phase | SDK entry point | Contract status after |
11
11
  * |---|-------|-----------------|-----------------------|
12
12
  * | 1 | Prepare Pre-PegIn + PegIn txs | `PeginManager.preparePegin()` | n/a (off-chain) |
13
- * | 2 | Register on Ethereum | `PeginManager.registerPeginOnChain()` | `PENDING` |
14
- * | 3 | Broadcast Pre-PegIn on Bitcoin | `PeginManager.signAndBroadcast()` | still `PENDING` until VP observes the tx |
15
- * | 4 | Sign payout authorisations | `pollAndSignPayouts()` (services, delegates to `PayoutManager`) | `PENDING` `VERIFIED` |
16
- * | 5 | Activate by revealing HTLC secret | `activateVault()` (services) | `VERIFIED` → `ACTIVE` |
13
+ * | 2 | Sign BTC proof-of-possession | `PeginManager.signProofOfPossession()` | n/a (off-chain, once per session) |
14
+ * | 3 | Register on Ethereum | `PeginManager.registerPeginOnChain()` | `PENDING` |
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` |
17
+ * | 6 | Activate by revealing HTLC secret | `activateVault()` (services) | `VERIFIED` → `ACTIVE` |
17
18
  *
18
19
  * Optional exit after the CSV timelock expires: `buildAndBroadcastRefund()` (services).
19
20
  *
20
21
  * @module managers
21
22
  */
22
23
  export { PeginManager } from './PeginManager';
23
- export type { PreparePeginResult, PreparePeginParams, PeginManagerConfig, RegisterPeginParams, RegisterPeginResult, SignAndBroadcastParams, BatchPeginRequestItem, RegisterPeginBatchParams, BatchPeginResultItem, RegisterPeginBatchResult, } from './PeginManager';
24
+ export type { PopSignature, PreparePeginResult, PreparePeginParams, PeginManagerConfig, RegisterPeginParams, RegisterPeginResult, SignAndBroadcastParams, BatchPeginRequestItem, RegisterPeginBatchParams, BatchPeginResultItem, RegisterPeginBatchResult, } from './PeginManager';
24
25
  export { PayoutManager } from './PayoutManager';
25
26
  export type { PayoutManagerConfig, PayoutSignatureResult, SignPayoutParams, } from './PayoutManager';
26
27
  export type { UTXO } from '../utils/utxo/selectUtxos';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/tbv/core/managers/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,YAAY,EACV,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,sBAAsB,EACtB,qBAAqB,EACrB,wBAAwB,EACxB,oBAAoB,EACpB,wBAAwB,GACzB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,YAAY,EACV,mBAAmB,EACnB,qBAAqB,EACrB,gBAAgB,GACjB,MAAM,iBAAiB,CAAC;AAGzB,YAAY,EAAE,IAAI,EAAE,MAAM,2BAA2B,CAAC;AACtD,YAAY,EACV,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,eAAe,GAChB,MAAM,kDAAkD,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/tbv/core/managers/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,YAAY,EACV,YAAY,EACZ,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,sBAAsB,EACtB,qBAAqB,EACrB,wBAAwB,EACxB,oBAAoB,EACpB,wBAAwB,GACzB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,YAAY,EACV,mBAAmB,EACnB,qBAAqB,EACrB,gBAAgB,GACjB,MAAM,iBAAiB,CAAC;AAGzB,YAAY,EAAE,IAAI,EAAE,MAAM,2BAA2B,CAAC;AACtD,YAAY,EACV,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,eAAe,GAChB,MAAM,kDAAkD,CAAC"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("../../../buildAndBroadcastRefund-DWEQvj9T.cjs"),a=require("../../../signing-cl-lowxV.cjs");exports.BIP68NotMatureError=t.BIP68NotMatureError;exports.ClaimerPegoutStatusValue=t.ClaimerPegoutStatusValue;exports.activateVault=t.activateVault;exports.buildAndBroadcastRefund=t.buildAndBroadcastRefund;exports.computeHashlock=t.computeHashlock;exports.isDepositAmountValid=t.isDepositAmountValid;exports.isPegoutTerminalStatus=t.isPegoutTerminalStatus;exports.isRecognizedPegoutStatus=t.isRecognizedPegoutStatus;exports.pollAndSignPayouts=t.pollAndSignPayouts;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.ContractStatus=a.ContractStatus;exports.PeginAction=a.PeginAction;exports.canPerformAction=a.canPerformAction;exports.getPeginProtocolState=a.getPeginProtocolState;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("../../../buildAndBroadcastRefund-BDGGbGeK.cjs"),a=require("../../../signing-cl-lowxV.cjs");exports.BIP68NotMatureError=t.BIP68NotMatureError;exports.ClaimerPegoutStatusValue=t.ClaimerPegoutStatusValue;exports.activateVault=t.activateVault;exports.buildAndBroadcastRefund=t.buildAndBroadcastRefund;exports.computeHashlock=t.computeHashlock;exports.isDepositAmountValid=t.isDepositAmountValid;exports.isPegoutTerminalStatus=t.isPegoutTerminalStatus;exports.isRecognizedPegoutStatus=t.isRecognizedPegoutStatus;exports.pollAndSignPayouts=t.pollAndSignPayouts;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.ContractStatus=a.ContractStatus;exports.PeginAction=a.PeginAction;exports.canPerformAction=a.canPerformAction;exports.getPeginProtocolState=a.getPeginProtocolState;
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1,4 +1,4 @@
1
- import { B as s, C as e, a as i, m as o, h as u, i as l, l as r, k as n, p as d, b as c, s as P, v as g, g as m, d as p, c as v, j as S, e as A, f as V, w as b } from "../../../buildAndBroadcastRefund-DnTQkCgG.js";
1
+ import { B as s, C as e, a as i, m as o, h as u, i as l, l as r, k as n, p as d, b as c, s as P, v as g, g as m, d as p, c as v, j as S, e as A, f as V, w as b } from "../../../buildAndBroadcastRefund-D7NCbgtv.js";
2
2
  import { C, P as h, a as k, g as y } from "../../../signing-DeWVBl7m.js";
3
3
  export {
4
4
  s as BIP68NotMatureError,
@@ -18,7 +18,11 @@ export interface VaultRefundData {
18
18
  applicationEntryPoint: Address;
19
19
  /** Pre-PegIn HTLC output value in satoshis. */
20
20
  amount: bigint;
21
- /** Funded (but pre-witness) Pre-PegIn transaction hex. 0x prefix optional. */
21
+ /**
22
+ * Funded, pre-witness Pre-PegIn transaction hex. 0x prefix optional.
23
+ * The name mirrors the contract/indexer schema; the bytes are the
24
+ * funded form (refund construction needs real outpoints).
25
+ */
22
26
  unsignedPrePeginTxHex: string;
23
27
  /** Depositor's BTC public key (x-only or compressed hex; 0x prefix optional). */
24
28
  depositorBtcPubkey: string;
@@ -1 +1 @@
1
- {"version":3,"file":"buildAndBroadcastRefund.d.ts","sourceRoot":"","sources":["../../../../../src/tbv/core/services/refund/buildAndBroadcastRefund.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uCAAuC,CAAC;AAErE,OAAO,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAEzC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qDAAqD,CAAC;AA4C3F;;;;;;GAMG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,GAAG,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,sBAAsB,EAAE,MAAM,CAAC;IAC/B,2BAA2B,EAAE,MAAM,CAAC;IACpC,aAAa,EAAE,OAAO,CAAC;IACvB,qBAAqB,EAAE,OAAO,CAAC;IAC/B,+CAA+C;IAC/C,MAAM,EAAE,MAAM,CAAC;IACf,8EAA8E;IAC9E,qBAAqB,EAAE,MAAM,CAAC;IAC9B,iFAAiF;IACjF,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,qBAAqB;IACpC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,kBAAkB,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,0BAA0B,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9C,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,sDAAsD;AACtD,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,MAAM,cAAc,CACxB,CAAC,SAAS,kBAAkB,GAAG,kBAAkB,IAC/C,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;AAExC,MAAM,MAAM,gBAAgB,GAAG,CAC7B,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,eAAe,KAClB,OAAO,CAAC,MAAM,CAAC,CAAC;AAErB,MAAM,WAAW,WAAW,CAC1B,CAAC,SAAS,kBAAkB,GAAG,kBAAkB;IAEjD,OAAO,EAAE,GAAG,CAAC;IACb;;;;OAIG;IACH,SAAS,EAAE,MAAM,OAAO,CAAC,eAAe,CAAC,CAAC;IAC1C;;;OAGG;IACH,mBAAmB,EAAE,CACnB,KAAK,EAAE,eAAe,KACnB,OAAO,CAAC,qBAAqB,CAAC,CAAC;IACpC;;;;;OAKG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB,4EAA4E;IAC5E,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,oEAAoE;IACpE,WAAW,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC;IAC/B,uCAAuC;IACvC,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAqGD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,uBAAuB,CAC3C,CAAC,SAAS,kBAAkB,GAAG,kBAAkB,EACjD,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAuEnC"}
1
+ {"version":3,"file":"buildAndBroadcastRefund.d.ts","sourceRoot":"","sources":["../../../../../src/tbv/core/services/refund/buildAndBroadcastRefund.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uCAAuC,CAAC;AAErE,OAAO,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAEzC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qDAAqD,CAAC;AA+C3F;;;;;;GAMG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,GAAG,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,sBAAsB,EAAE,MAAM,CAAC;IAC/B,2BAA2B,EAAE,MAAM,CAAC;IACpC,aAAa,EAAE,OAAO,CAAC;IACvB,qBAAqB,EAAE,OAAO,CAAC;IAC/B,+CAA+C;IAC/C,MAAM,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,qBAAqB,EAAE,MAAM,CAAC;IAC9B,iFAAiF;IACjF,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,qBAAqB;IACpC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,kBAAkB,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,0BAA0B,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9C,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,sDAAsD;AACtD,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,MAAM,cAAc,CACxB,CAAC,SAAS,kBAAkB,GAAG,kBAAkB,IAC/C,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;AAExC,MAAM,MAAM,gBAAgB,GAAG,CAC7B,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,eAAe,KAClB,OAAO,CAAC,MAAM,CAAC,CAAC;AAErB,MAAM,WAAW,WAAW,CAC1B,CAAC,SAAS,kBAAkB,GAAG,kBAAkB;IAEjD,OAAO,EAAE,GAAG,CAAC;IACb;;;;OAIG;IACH,SAAS,EAAE,MAAM,OAAO,CAAC,eAAe,CAAC,CAAC;IAC1C;;;OAGG;IACH,mBAAmB,EAAE,CACnB,KAAK,EAAE,eAAe,KACnB,OAAO,CAAC,qBAAqB,CAAC,CAAC;IACpC;;;;;OAKG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB,4EAA4E;IAC5E,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,oEAAoE;IACpE,WAAW,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC;IAC/B,uCAAuC;IACvC,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAqGD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,uBAAuB,CAC3C,CAAC,SAAS,kBAAkB,GAAG,kBAAkB,EACjD,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CA8EnC"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("../challengeAssert-nYlgeAI8.cjs"),c=require("@babylonlabs-io/babylon-tbv-rust-wasm"),P=require("../payout-RFIh7GLN.cjs"),a=require("../bitcoin-CNnPFU6Y.cjs"),l=require("../signing-cl-lowxV.cjs"),u=require("../validation-u8W7Lp2x.cjs"),e=require("../buildAndBroadcastRefund-DWEQvj9T.cjs"),r=require("../fundPeginTransaction-DxNOeyNI.cjs"),i=require("../psbtInputFields-05ZrwRzf.cjs"),o=require("../errors-Cbyg_QQf.cjs"),t=require("../index-DNSV--0P.cjs"),s=require("../types-B-p4dhEH.cjs");exports.buildChallengeAssertPsbt=n.buildChallengeAssertPsbt;exports.buildDepositorPayoutPsbt=n.buildDepositorPayoutPsbt;exports.buildNoPayoutPsbt=n.buildNoPayoutPsbt;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:()=>c.computeMinClaimValue});Object.defineProperty(exports,"deriveVaultId",{enumerable:!0,get:()=>c.deriveVaultId});exports.buildPayoutPsbt=P.buildPayoutPsbt;exports.buildRefundPsbt=P.buildRefundPsbt;exports.createPayoutScript=P.createPayoutScript;exports.extractPayoutSignature=P.extractPayoutSignature;exports.deriveNativeSegwitAddress=a.deriveNativeSegwitAddress;exports.deriveTaprootAddress=a.deriveTaprootAddress;exports.ensureHexPrefix=a.ensureHexPrefix;exports.formatSatoshisToBtc=a.formatSatoshisToBtc;exports.getNetwork=a.getNetwork;exports.hexToUint8Array=a.hexToUint8Array;exports.isAddressFromPublicKey=a.isAddressFromPublicKey;exports.isValidHex=a.isValidHex;exports.processPublicKeyToXOnly=a.processPublicKeyToXOnly;exports.stripHexPrefix=a.stripHexPrefix;exports.toXOnly=a.toXOnly;exports.uint8ArrayToHex=a.uint8ArrayToHex;exports.validateWalletPubkey=a.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=u.BITCOIN_ADDRESS_RE;exports.HEX_RE=u.HEX_RE;exports.KNOWN_SCRIPT_PREFIXES=u.KNOWN_SCRIPT_PREFIXES;exports.MAX_REASONABLE_FEE_SATS=u.MAX_REASONABLE_FEE_SATS;exports.TXID_RE=u.TXID_RE;exports.BIP68NotMatureError=e.BIP68NotMatureError;exports.ClaimerPegoutStatusValue=e.ClaimerPegoutStatusValue;exports.PayoutManager=e.PayoutManager;exports.activateVault=e.activateVault;exports.buildAndBroadcastRefund=e.buildAndBroadcastRefund;exports.computeHashlock=e.computeHashlock;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=r.BTC_DUST_SAT;exports.DUST_THRESHOLD=r.DUST_THRESHOLD;exports.FEE_SAFETY_MARGIN=r.FEE_SAFETY_MARGIN;exports.LOW_RATE_ESTIMATION_ACCURACY_BUFFER=r.LOW_RATE_ESTIMATION_ACCURACY_BUFFER;exports.MAX_NON_LEGACY_OUTPUT_SIZE=r.MAX_NON_LEGACY_OUTPUT_SIZE;exports.P2TR_INPUT_SIZE=r.P2TR_INPUT_SIZE;exports.PEGIN_FIXED_OUTPUTS=r.PEGIN_FIXED_OUTPUTS;exports.SPLIT_TX_FEE_SAFETY_MULTIPLIER=r.SPLIT_TX_FEE_SAFETY_MULTIPLIER;exports.TX_BUFFER_SIZE_OVERHEAD=r.TX_BUFFER_SIZE_OVERHEAD;exports.WALLET_RELAY_FEE_RATE_THRESHOLD=r.WALLET_RELAY_FEE_RATE_THRESHOLD;exports.fundPeginTransaction=r.fundPeginTransaction;exports.parseUnfundedWasmTransaction=r.parseUnfundedWasmTransaction;exports.peginOutputCount=r.peginOutputCount;exports.rateBasedTxBufferFee=r.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=o.CONTRACT_ERRORS;exports.PeginManager=o.PeginManager;exports.computeWotsBlockPublicKeysHash=o.computeWotsBlockPublicKeysHash;exports.computeWotsPkHash=o.computeWotsPkHash;exports.deriveWotsBlockPublicKeys=o.deriveWotsBlockPublicKeys;exports.deriveWotsKeypair=o.deriveWotsKeypair;exports.deriveWotsPkHash=o.deriveWotsPkHash;exports.extractErrorData=o.extractErrorData;exports.getContractErrorMessage=o.getContractErrorMessage;exports.handleContractError=o.handleContractError;exports.isKnownContractError=o.isKnownContractError;exports.isWotsMismatchError=o.isWotsMismatchError;exports.keypairToPublicKey=o.keypairToPublicKey;exports.mnemonicToWotsSeed=o.mnemonicToWotsSeed;exports.ApplicationRegistryABI=t.ApplicationRegistryABI;exports.MEMPOOL_API_URLS=t.MEMPOOL_API_URLS;exports.ProtocolParamsABI=t.ProtocolParamsABI;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.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.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-nYlgeAI8.cjs"),c=require("@babylonlabs-io/babylon-tbv-rust-wasm"),P=require("../payout-RFIh7GLN.cjs"),o=require("../bitcoin-CNnPFU6Y.cjs"),l=require("../signing-cl-lowxV.cjs"),u=require("../validation-u8W7Lp2x.cjs"),e=require("../buildAndBroadcastRefund-BDGGbGeK.cjs"),r=require("../fundPeginTransaction-DxNOeyNI.cjs"),i=require("../psbtInputFields-05ZrwRzf.cjs"),a=require("../errors-BcpQEG62.cjs"),t=require("../index-BAECy2oz.cjs"),s=require("../types-B-p4dhEH.cjs");exports.buildChallengeAssertPsbt=n.buildChallengeAssertPsbt;exports.buildDepositorPayoutPsbt=n.buildDepositorPayoutPsbt;exports.buildNoPayoutPsbt=n.buildNoPayoutPsbt;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:()=>c.computeMinClaimValue});Object.defineProperty(exports,"deriveVaultId",{enumerable:!0,get:()=>c.deriveVaultId});exports.buildPayoutPsbt=P.buildPayoutPsbt;exports.buildRefundPsbt=P.buildRefundPsbt;exports.createPayoutScript=P.createPayoutScript;exports.extractPayoutSignature=P.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=u.BITCOIN_ADDRESS_RE;exports.HEX_RE=u.HEX_RE;exports.KNOWN_SCRIPT_PREFIXES=u.KNOWN_SCRIPT_PREFIXES;exports.MAX_REASONABLE_FEE_SATS=u.MAX_REASONABLE_FEE_SATS;exports.TXID_RE=u.TXID_RE;exports.BIP68NotMatureError=e.BIP68NotMatureError;exports.ClaimerPegoutStatusValue=e.ClaimerPegoutStatusValue;exports.PayoutManager=e.PayoutManager;exports.activateVault=e.activateVault;exports.buildAndBroadcastRefund=e.buildAndBroadcastRefund;exports.computeHashlock=e.computeHashlock;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=r.BTC_DUST_SAT;exports.DUST_THRESHOLD=r.DUST_THRESHOLD;exports.FEE_SAFETY_MARGIN=r.FEE_SAFETY_MARGIN;exports.LOW_RATE_ESTIMATION_ACCURACY_BUFFER=r.LOW_RATE_ESTIMATION_ACCURACY_BUFFER;exports.MAX_NON_LEGACY_OUTPUT_SIZE=r.MAX_NON_LEGACY_OUTPUT_SIZE;exports.P2TR_INPUT_SIZE=r.P2TR_INPUT_SIZE;exports.PEGIN_FIXED_OUTPUTS=r.PEGIN_FIXED_OUTPUTS;exports.SPLIT_TX_FEE_SAFETY_MULTIPLIER=r.SPLIT_TX_FEE_SAFETY_MULTIPLIER;exports.TX_BUFFER_SIZE_OVERHEAD=r.TX_BUFFER_SIZE_OVERHEAD;exports.WALLET_RELAY_FEE_RATE_THRESHOLD=r.WALLET_RELAY_FEE_RATE_THRESHOLD;exports.fundPeginTransaction=r.fundPeginTransaction;exports.parseUnfundedWasmTransaction=r.parseUnfundedWasmTransaction;exports.peginOutputCount=r.peginOutputCount;exports.rateBasedTxBufferFee=r.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=a.CONTRACT_ERRORS;exports.PeginManager=a.PeginManager;exports.computeWotsBlockPublicKeysHash=a.computeWotsBlockPublicKeysHash;exports.computeWotsPkHash=a.computeWotsPkHash;exports.deriveWotsBlockPublicKeys=a.deriveWotsBlockPublicKeys;exports.deriveWotsKeypair=a.deriveWotsKeypair;exports.deriveWotsPkHash=a.deriveWotsPkHash;exports.extractErrorData=a.extractErrorData;exports.getContractErrorMessage=a.getContractErrorMessage;exports.handleContractError=a.handleContractError;exports.isKnownContractError=a.isKnownContractError;exports.isWotsMismatchError=a.isWotsMismatchError;exports.keypairToPublicKey=a.keypairToPublicKey;exports.mnemonicToWotsSeed=a.mnemonicToWotsSeed;exports.ApplicationRegistryABI=t.ApplicationRegistryABI;exports.MEMPOOL_API_URLS=t.MEMPOOL_API_URLS;exports.ProtocolParamsABI=t.ProtocolParamsABI;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.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.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
package/dist/tbv/index.js CHANGED
@@ -1,52 +1,52 @@
1
1
  import { i as e, g as t, h as o, d as r, a as i, b as l, c as n, e as u, f as P } from "../challengeAssert-D1lpvuMv.js";
2
2
  import { computeMinClaimValue as c, deriveVaultId as T } from "@babylonlabs-io/babylon-tbv-rust-wasm";
3
- import { a as S, b as E, c as g, e as A } from "../payout-DzGsAnhf.js";
4
- import { d as _, a as m, e as b, f as x, g as I, h as f, i as C, b as v, p as U, s as y, t as O, u as h, v as V } from "../bitcoin-nOOgeRyl.js";
5
- import { C as F, P as N, a as D, c as M, g as H } from "../signing-DeWVBl7m.js";
3
+ import { a as S, b as E, c as A, e as g } from "../payout-DzGsAnhf.js";
4
+ import { d as _, a as m, e as b, f as x, g as I, h as f, i as v, b as C, p as U, s as y, t as O, u as h, v as V } from "../bitcoin-nOOgeRyl.js";
5
+ import { C as D, P as F, a as N, c as M, g as H } from "../signing-DeWVBl7m.js";
6
6
  import { B as W, H as k, K, M as X, T as w } from "../validation-CxqROCno.js";
7
- import { B as Y, C as J, P as j, a as Z, m as z, h as q, i as Q, l as $, k as aa, p as sa, b as ea, s as ta, v as oa, g as ra, d as ia, c as la, j as na, e as ua, f as Pa, w as da } from "../buildAndBroadcastRefund-DnTQkCgG.js";
8
- import { B as Ta, D as pa, F as Sa, L as Ea, M as ga, P as Aa, a as Ra, S as _a, T as ma, W as ba, f as xa, b as Ia, p as fa, r as Ca } from "../fundPeginTransaction-BLYXxLBv.js";
9
- import { B as Ua, U as ya, a as Oa, f as ha, c as Va, e as Ba, g as Fa, i as Na, h as Da, s as Ma, b as Ha, d as La, v as Wa } from "../psbtInputFields-r1ss6WLU.js";
10
- import { C as Ka, P as Xa, b as wa, c as Ga, a as Ya, d as Ja, f as ja, e as Za, g as za, h as qa, i as Qa, j as $a, k as as, m as ss } from "../errors-DvIudLXV.js";
11
- import { A as ts, M as os, P as rs, V as is, i as ls, j as ns, k as us, l as Ps, h as ds, g as cs, a as Ts, b as ps, c as Ss, d as Es, e as gs, f as As, p as Rs, r as _s } from "../index-BORWfdUU.js";
12
- import { B as bs, D as xs, b as Is, J as fs, a as Cs, d as vs, P as Us, R as ys, c as Os, V as hs } from "../types-DWjaqVfP.js";
7
+ import { B as Y, C as J, P as j, a as Z, m as z, h as q, i as Q, l as $, k as aa, p as sa, b as ea, s as ta, v as oa, g as ra, d as ia, c as la, j as na, e as ua, f as Pa, w as da } from "../buildAndBroadcastRefund-D7NCbgtv.js";
8
+ import { B as Ta, D as pa, F as Sa, L as Ea, M as Aa, P as ga, a as Ra, S as _a, T as ma, W as ba, f as xa, b as Ia, p as fa, r as va } from "../fundPeginTransaction-BLYXxLBv.js";
9
+ import { B as Ua, U as ya, a as Oa, f as ha, c as Va, e as Ba, g as Da, i as Fa, h as Na, s as Ma, b as Ha, d as La, v as Wa } from "../psbtInputFields-r1ss6WLU.js";
10
+ import { C as Ka, P as Xa, b as wa, c as Ga, a as Ya, d as Ja, f as ja, e as Za, g as za, h as qa, i as Qa, j as $a, k as as, m as ss } from "../errors-D3a9XcIX.js";
11
+ import { A as ts, M as os, P as rs, V as is, i as ls, j as ns, k as us, l as Ps, h as ds, g as cs, a as Ts, b as ps, c as Ss, d as Es, e as As, f as gs, p as Rs, r as _s, v as ms } from "../index-DLtpqdlu.js";
12
+ import { B as xs, D as Is, b as fs, J as vs, a as Cs, d as Us, P as ys, R as Os, c as hs, V as Vs } from "../types-DWjaqVfP.js";
13
13
  export {
14
14
  ts as ApplicationRegistryABI,
15
15
  Y as BIP68NotMatureError,
16
16
  W as BITCOIN_ADDRESS_RE,
17
- bs as BTCVaultRegistryABI,
17
+ xs as BTCVaultRegistryABI,
18
18
  Ta as BTC_DUST_SAT,
19
19
  Ua as BitcoinScriptType,
20
20
  Ka as CONTRACT_ERRORS,
21
21
  J as ClaimerPegoutStatusValue,
22
- F as ContractStatus,
22
+ D as ContractStatus,
23
23
  pa as DUST_THRESHOLD,
24
- xs as DaemonStatus,
24
+ Is as DaemonStatus,
25
25
  Sa as FEE_SAFETY_MARGIN,
26
26
  k as HEX_RE,
27
- Is as JSON_RPC_ERROR_CODES,
28
- fs as JsonRpcClient,
27
+ fs as JSON_RPC_ERROR_CODES,
28
+ vs as JsonRpcClient,
29
29
  Cs as JsonRpcError,
30
30
  K as KNOWN_SCRIPT_PREFIXES,
31
31
  Ea as LOW_RATE_ESTIMATION_ACCURACY_BUFFER,
32
- ga as MAX_NON_LEGACY_OUTPUT_SIZE,
32
+ Aa as MAX_NON_LEGACY_OUTPUT_SIZE,
33
33
  X as MAX_REASONABLE_FEE_SATS,
34
34
  os as MEMPOOL_API_URLS,
35
- Aa as P2TR_INPUT_SIZE,
35
+ ga as P2TR_INPUT_SIZE,
36
36
  Ra as PEGIN_FIXED_OUTPUTS,
37
- vs as POST_WOTS_STATUSES,
38
- Us as PRE_DEPOSITOR_SIGNATURES_STATES,
37
+ Us as POST_WOTS_STATUSES,
38
+ ys as PRE_DEPOSITOR_SIGNATURES_STATES,
39
39
  j as PayoutManager,
40
- N as PeginAction,
40
+ F as PeginAction,
41
41
  Xa as PeginManager,
42
42
  rs as ProtocolParamsABI,
43
- ys as RpcErrorCode,
43
+ Os as RpcErrorCode,
44
44
  _a as SPLIT_TX_FEE_SAFETY_MULTIPLIER,
45
45
  w as TXID_RE,
46
46
  ma as TX_BUFFER_SIZE_OVERHEAD,
47
47
  ya as UtxoNotAvailableError,
48
- Os as VP_TERMINAL_STATUSES,
49
- hs as VP_TRANSIENT_STATUSES,
48
+ hs as VP_TERMINAL_STATUSES,
49
+ Vs as VP_TRANSIENT_STATUSES,
50
50
  is as VaultProviderRpcClient,
51
51
  ls as ViemProtocolParamsReader,
52
52
  ns as ViemUniversalChallengerReader,
@@ -66,14 +66,14 @@ export {
66
66
  l as buildPrePeginPsbt,
67
67
  E as buildRefundPsbt,
68
68
  ha as calculateBtcTxHash,
69
- D as canPerformAction,
69
+ N as canPerformAction,
70
70
  Va as collectReservedUtxoRefs,
71
71
  q as computeHashlock,
72
72
  c as computeMinClaimValue,
73
73
  n as computeNumLocalChallengers,
74
74
  wa as computeWotsBlockPublicKeysHash,
75
75
  Ga as computeWotsPkHash,
76
- g as createPayoutScript,
76
+ A as createPayoutScript,
77
77
  M as createTaprootScriptPathSignOptions,
78
78
  _ as deriveNativeSegwitAddress,
79
79
  m as deriveTaprootAddress,
@@ -84,7 +84,7 @@ export {
84
84
  b as ensureHexPrefix,
85
85
  Za as extractErrorData,
86
86
  Ba as extractInputsFromTransaction,
87
- A as extractPayoutSignature,
87
+ g as extractPayoutSignature,
88
88
  u as extractPeginInputSignature,
89
89
  P as finalizePeginInputPsbt,
90
90
  x as formatSatoshisToBtc,
@@ -92,24 +92,24 @@ export {
92
92
  cs as getAddressTxs,
93
93
  Ts as getAddressUtxos,
94
94
  za as getContractErrorMessage,
95
- Fa as getDustThreshold,
95
+ Da as getDustThreshold,
96
96
  ps as getMempoolApiUrl,
97
97
  I as getNetwork,
98
98
  Ss as getNetworkFees,
99
99
  H as getPeginProtocolState,
100
- Na as getPsbtInputFields,
101
- Da as getScriptType,
100
+ Fa as getPsbtInputFields,
101
+ Na as getScriptType,
102
102
  Es as getTxHex,
103
- gs as getTxInfo,
104
- As as getUtxoInfo,
103
+ As as getTxInfo,
104
+ gs as getUtxoInfo,
105
105
  qa as handleContractError,
106
106
  f as hexToUint8Array,
107
- C as isAddressFromPublicKey,
107
+ v as isAddressFromPublicKey,
108
108
  Q as isDepositAmountValid,
109
109
  Qa as isKnownContractError,
110
110
  $ as isPegoutTerminalStatus,
111
111
  aa as isRecognizedPegoutStatus,
112
- v as isValidHex,
112
+ C as isValidHex,
113
113
  $a as isWotsMismatchError,
114
114
  as as keypairToPublicKey,
115
115
  ss as mnemonicToWotsSeed,
@@ -118,7 +118,7 @@ export {
118
118
  sa as pollAndSignPayouts,
119
119
  U as processPublicKeyToXOnly,
120
120
  Rs as pushTx,
121
- Ca as rateBasedTxBufferFee,
121
+ va as rateBasedTxBufferFee,
122
122
  _s as resolveProtocolAddresses,
123
123
  Ma as selectUtxosForDeposit,
124
124
  Ha as selectUtxosForPegin,
@@ -132,6 +132,7 @@ export {
132
132
  ra as validateMultiVaultDepositInputs,
133
133
  ia as validateProviderSelection,
134
134
  la as validateRemainingCapacity,
135
+ ms as validateRequestDepositorClaimerArtifactsResponse,
135
136
  na as validateSecretAgainstHashlock,
136
137
  Wa as validateUtxosAvailable,
137
138
  ua as validateVaultAmounts,
@@ -1,5 +1,5 @@
1
1
  import { BitcoinNetwork } from '../shared/wallets/interfaces';
2
- import { BitcoinWallet } from '../shared/wallets/interfaces/BitcoinWallet';
2
+ import { BitcoinWallet, SignPsbtOptions } from '../shared/wallets/interfaces/BitcoinWallet';
3
3
  /**
4
4
  * Configuration for MockBitcoinWallet.
5
5
  */
@@ -18,7 +18,7 @@ export declare class MockBitcoinWallet implements BitcoinWallet {
18
18
  getPublicKeyHex(): Promise<string>;
19
19
  getAddress(): Promise<string>;
20
20
  signPsbt(psbtHex: string): Promise<string>;
21
- signPsbts(psbtsHexes: string[]): Promise<string[]>;
21
+ signPsbts(psbtsHexes: string[], _options?: SignPsbtOptions[]): Promise<string[]>;
22
22
  signMessage(message: string, type: "bip322-simple" | "ecdsa"): Promise<string>;
23
23
  getNetwork(): Promise<BitcoinNetwork>;
24
24
  /** Updates configuration for testing different scenarios. */
@@ -1 +1 @@
1
- {"version":3,"file":"MockBitcoinWallet.d.ts","sourceRoot":"","sources":["../../src/testing/MockBitcoinWallet.ts"],"names":[],"mappings":"AAEA,OAAO,EAAmB,KAAK,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACpF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4CAA4C,CAAC;AAEhF;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED;;GAEG;AACH,qBAAa,iBAAkB,YAAW,aAAa;IACrD,OAAO,CAAC,MAAM,CAAoC;gBAEtC,MAAM,GAAE,uBAA4B;IAa1C,eAAe,IAAI,OAAO,CAAC,MAAM,CAAC;IAIlC,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC;IAI7B,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAc1C,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IASlD,WAAW,CACf,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,eAAe,GAAG,OAAO,GAC9B,OAAO,CAAC,MAAM,CAAC;IAiBZ,UAAU,IAAI,OAAO,CAAC,cAAc,CAAC;IAI3C,6DAA6D;IAC7D,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,uBAAuB,CAAC,GAAG,IAAI;IAO7D,uCAAuC;IACvC,KAAK,IAAI,IAAI;CASd"}
1
+ {"version":3,"file":"MockBitcoinWallet.d.ts","sourceRoot":"","sources":["../../src/testing/MockBitcoinWallet.ts"],"names":[],"mappings":"AAEA,OAAO,EAAmB,KAAK,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACpF,OAAO,KAAK,EACV,aAAa,EACb,eAAe,EAChB,MAAM,4CAA4C,CAAC;AAEpD;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED;;GAEG;AACH,qBAAa,iBAAkB,YAAW,aAAa;IACrD,OAAO,CAAC,MAAM,CAAoC;gBAEtC,MAAM,GAAE,uBAA4B;IAa1C,eAAe,IAAI,OAAO,CAAC,MAAM,CAAC;IAIlC,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC;IAI7B,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAc1C,SAAS,CACb,UAAU,EAAE,MAAM,EAAE,EACpB,QAAQ,CAAC,EAAE,eAAe,EAAE,GAC3B,OAAO,CAAC,MAAM,EAAE,CAAC;IASd,WAAW,CACf,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,eAAe,GAAG,OAAO,GAC9B,OAAO,CAAC,MAAM,CAAC;IAiBZ,UAAU,IAAI,OAAO,CAAC,cAAc,CAAC;IAI3C,6DAA6D;IAC7D,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,uBAAuB,CAAC,GAAG,IAAI;IAO7D,uCAAuC;IACvC,KAAK,IAAI,IAAI;CASd"}
@@ -1,2 +1,2 @@
1
- "use strict";var q=Object.defineProperty;var d=(n,i,s)=>i in n?q(n,i,{enumerable:!0,configurable:!0,writable:!0,value:s}):n[i]=s;var t=(n,i,s)=>d(n,typeof i!="symbol"?i+"":i,s);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("buffer"),c=require("../shared/index.cjs");class h{constructor(i={}){t(this,"config");this.config={publicKeyHex:i.publicKeyHex||"a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0c1d2e3f4a5b6c7d8e9f0a1b2",address:i.address||"tb1pqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqkx6jks",network:i.network??c.BitcoinNetworks.SIGNET,shouldFailSigning:i.shouldFailSigning??!1}}async getPublicKeyHex(){return this.config.publicKeyHex}async getAddress(){return this.config.address}async signPsbt(i){if(this.config.shouldFailSigning)throw new Error("Mock signing failed");if(!i||i.length===0)throw new Error("Invalid PSBT: empty hex string");return i+"deadbeef"}async signPsbts(i){const s=[];for(const a of i){const e=await this.signPsbt(a);s.push(e)}return s}async signMessage(i,s){if(this.config.shouldFailSigning)throw new Error("Mock signing failed");if(!i||i.length===0)throw new Error("Invalid message: empty string");return o.Buffer.from(`mock-signature-${s}-${i}-${this.config.publicKeyHex}`).toString("base64")}async getNetwork(){return this.config.network}updateConfig(i){this.config={...this.config,...i}}reset(){this.config={publicKeyHex:"a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0c1d2e3f4a5b6c7d8e9f0a1b2",address:"tb1pqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqkx6jks",network:c.BitcoinNetworks.SIGNET,shouldFailSigning:!1}}}class l{constructor(i={}){t(this,"account");t(this,"chain");t(this,"shouldFailOperations");t(this,"transactionDelay");t(this,"nonce",0);this.account={address:i.address||"0x742d35cc6634c0532925a3b844bc9e7595f0beb0"},this.chain={id:i.chainId??11155111},this.shouldFailOperations=i.shouldFailOperations??!1,this.transactionDelay=i.transactionDelay??0,this.signMessage=this.signMessage.bind(this),this.sendTransaction=this.sendTransaction.bind(this)}async signMessage(i){const s=i.message,a=i.account||this.account.address;if(this.shouldFailOperations)throw new Error("Mock signing failed");if(!s||s.length===0)throw new Error("Invalid message: empty string");const e=`personal_sign:${s}-${a}-${this.chain.id}`;return`0x${o.Buffer.from(e).toString("hex").slice(0,130).padEnd(130,"0")}`}async sendTransaction(i){var e;if(this.shouldFailOperations)throw new Error("Mock transaction failed");if(!i.to)throw new Error("Invalid transaction: missing 'to' address");this.transactionDelay>0&&await new Promise(r=>setTimeout(r,this.transactionDelay)),this.nonce++;const s=JSON.stringify({from:this.account.address,to:i.to,value:((e=i.value)==null?void 0:e.toString())||"0",nonce:this.nonce,chainId:this.chain.id});return`0x${o.Buffer.from(s).toString("hex").slice(0,64).padEnd(64,"0")}`}updateConfig(i){i.address!==void 0&&(this.account.address=i.address),i.chainId!==void 0&&(this.chain.id=i.chainId),i.shouldFailOperations!==void 0&&(this.shouldFailOperations=i.shouldFailOperations),i.transactionDelay!==void 0&&(this.transactionDelay=i.transactionDelay)}reset(){this.account.address="0x742d35cc6634c0532925a3b844bc9e7595f0beb0",this.chain.id=11155111,this.shouldFailOperations=!1,this.transactionDelay=0,this.nonce=0}getCurrentNonce(){return this.nonce}}exports.MockBitcoinWallet=h;exports.MockEthereumWallet=l;
1
+ "use strict";var q=Object.defineProperty;var d=(n,i,s)=>i in n?q(n,i,{enumerable:!0,configurable:!0,writable:!0,value:s}):n[i]=s;var t=(n,i,s)=>d(n,typeof i!="symbol"?i+"":i,s);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("buffer"),c=require("../shared/index.cjs");class h{constructor(i={}){t(this,"config");this.config={publicKeyHex:i.publicKeyHex||"a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0c1d2e3f4a5b6c7d8e9f0a1b2",address:i.address||"tb1pqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqkx6jks",network:i.network??c.BitcoinNetworks.SIGNET,shouldFailSigning:i.shouldFailSigning??!1}}async getPublicKeyHex(){return this.config.publicKeyHex}async getAddress(){return this.config.address}async signPsbt(i){if(this.config.shouldFailSigning)throw new Error("Mock signing failed");if(!i||i.length===0)throw new Error("Invalid PSBT: empty hex string");return i+"deadbeef"}async signPsbts(i,s){const e=[];for(const a of i){const o=await this.signPsbt(a);e.push(o)}return e}async signMessage(i,s){if(this.config.shouldFailSigning)throw new Error("Mock signing failed");if(!i||i.length===0)throw new Error("Invalid message: empty string");return r.Buffer.from(`mock-signature-${s}-${i}-${this.config.publicKeyHex}`).toString("base64")}async getNetwork(){return this.config.network}updateConfig(i){this.config={...this.config,...i}}reset(){this.config={publicKeyHex:"a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0c1d2e3f4a5b6c7d8e9f0a1b2",address:"tb1pqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqkx6jks",network:c.BitcoinNetworks.SIGNET,shouldFailSigning:!1}}}class l{constructor(i={}){t(this,"account");t(this,"chain");t(this,"shouldFailOperations");t(this,"transactionDelay");t(this,"nonce",0);this.account={address:i.address||"0x742d35cc6634c0532925a3b844bc9e7595f0beb0"},this.chain={id:i.chainId??11155111},this.shouldFailOperations=i.shouldFailOperations??!1,this.transactionDelay=i.transactionDelay??0,this.signMessage=this.signMessage.bind(this),this.sendTransaction=this.sendTransaction.bind(this)}async signMessage(i){const s=i.message,e=i.account||this.account.address;if(this.shouldFailOperations)throw new Error("Mock signing failed");if(!s||s.length===0)throw new Error("Invalid message: empty string");const a=`personal_sign:${s}-${e}-${this.chain.id}`;return`0x${r.Buffer.from(a).toString("hex").slice(0,130).padEnd(130,"0")}`}async sendTransaction(i){var a;if(this.shouldFailOperations)throw new Error("Mock transaction failed");if(!i.to)throw new Error("Invalid transaction: missing 'to' address");this.transactionDelay>0&&await new Promise(o=>setTimeout(o,this.transactionDelay)),this.nonce++;const s=JSON.stringify({from:this.account.address,to:i.to,value:((a=i.value)==null?void 0:a.toString())||"0",nonce:this.nonce,chainId:this.chain.id});return`0x${r.Buffer.from(s).toString("hex").slice(0,64).padEnd(64,"0")}`}updateConfig(i){i.address!==void 0&&(this.account.address=i.address),i.chainId!==void 0&&(this.chain.id=i.chainId),i.shouldFailOperations!==void 0&&(this.shouldFailOperations=i.shouldFailOperations),i.transactionDelay!==void 0&&(this.transactionDelay=i.transactionDelay)}reset(){this.account.address="0x742d35cc6634c0532925a3b844bc9e7595f0beb0",this.chain.id=11155111,this.shouldFailOperations=!1,this.transactionDelay=0,this.nonce=0}getCurrentNonce(){return this.nonce}}exports.MockBitcoinWallet=h;exports.MockEthereumWallet=l;
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../../src/testing/MockBitcoinWallet.ts","../../src/testing/MockEthereumWallet.ts"],"sourcesContent":["import { Buffer } from \"buffer\";\n\nimport { BitcoinNetworks, type BitcoinNetwork } from \"../shared/wallets/interfaces\";\nimport type { BitcoinWallet } from \"../shared/wallets/interfaces/BitcoinWallet\";\n\n/**\n * Configuration for MockBitcoinWallet.\n */\nexport interface MockBitcoinWalletConfig {\n publicKeyHex?: string;\n address?: string;\n network?: BitcoinNetwork;\n shouldFailSigning?: boolean;\n}\n\n/**\n * Mock Bitcoin wallet for testing.\n */\nexport class MockBitcoinWallet implements BitcoinWallet {\n private config: Required<MockBitcoinWalletConfig>;\n\n constructor(config: MockBitcoinWalletConfig = {}) {\n this.config = {\n publicKeyHex:\n config.publicKeyHex ||\n \"a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0c1d2e3f4a5b6c7d8e9f0a1b2\",\n address:\n config.address ||\n \"tb1pqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqkx6jks\",\n network: config.network ?? BitcoinNetworks.SIGNET,\n shouldFailSigning: config.shouldFailSigning ?? false,\n };\n }\n\n async getPublicKeyHex(): Promise<string> {\n return this.config.publicKeyHex;\n }\n\n async getAddress(): Promise<string> {\n return this.config.address;\n }\n\n async signPsbt(psbtHex: string): Promise<string> {\n if (this.config.shouldFailSigning) {\n throw new Error(\"Mock signing failed\");\n }\n\n if (!psbtHex || psbtHex.length === 0) {\n throw new Error(\"Invalid PSBT: empty hex string\");\n }\n\n // In a real implementation, this would actually sign the PSBT\n // For the mock, we just return the input with a mock signature appended\n return psbtHex + \"deadbeef\";\n }\n\n async signPsbts(psbtsHexes: string[]): Promise<string[]> {\n const signedPsbts: string[] = [];\n for (const psbtHex of psbtsHexes) {\n const signedPsbt = await this.signPsbt(psbtHex);\n signedPsbts.push(signedPsbt);\n }\n return signedPsbts;\n }\n\n async signMessage(\n message: string,\n type: \"bip322-simple\" | \"ecdsa\",\n ): Promise<string> {\n if (this.config.shouldFailSigning) {\n throw new Error(\"Mock signing failed\");\n }\n\n if (!message || message.length === 0) {\n throw new Error(\"Invalid message: empty string\");\n }\n\n // In a real implementation, this would create a proper signature\n // For the mock, we return a base64-like mock signature\n const mockSignature = Buffer.from(\n `mock-signature-${type}-${message}-${this.config.publicKeyHex}`,\n ).toString(\"base64\");\n return mockSignature;\n }\n\n async getNetwork(): Promise<BitcoinNetwork> {\n return this.config.network;\n }\n\n /** Updates configuration for testing different scenarios. */\n updateConfig(updates: Partial<MockBitcoinWalletConfig>): void {\n this.config = {\n ...this.config,\n ...updates,\n };\n }\n\n /** Resets to default configuration. */\n reset(): void {\n this.config = {\n publicKeyHex:\n \"a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0c1d2e3f4a5b6c7d8e9f0a1b2\",\n address: \"tb1pqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqkx6jks\",\n network: BitcoinNetworks.SIGNET,\n shouldFailSigning: false,\n };\n }\n}\n","import { Buffer } from \"buffer\";\nimport type { Address, Hex } from \"viem\";\n\n/**\n * Configuration for MockEthereumWallet.\n */\nexport interface MockEthereumWalletConfig {\n address?: Address;\n chainId?: number;\n shouldFailOperations?: boolean;\n transactionDelay?: number;\n}\n\n/**\n * Mock Ethereum wallet for testing.\n *\n * Provides the subset of viem's WalletClient methods used by the SDK.\n * Can be passed to functions expecting a WalletClient for testing purposes.\n */\nexport class MockEthereumWallet {\n // Public properties matching viem's WalletClient structure\n account: { address: Address };\n chain: { id: number };\n\n private shouldFailOperations: boolean;\n private transactionDelay: number;\n private nonce: number = 0;\n\n constructor(config: MockEthereumWalletConfig = {}) {\n // Use lowercase addresses to avoid EIP-55 checksum validation issues\n this.account = {\n address:\n config.address ||\n (\"0x742d35cc6634c0532925a3b844bc9e7595f0beb0\" as Address),\n };\n\n this.chain = {\n id: config.chainId ?? 11155111, // Sepolia by default\n };\n\n this.shouldFailOperations = config.shouldFailOperations ?? false;\n this.transactionDelay = config.transactionDelay ?? 0;\n\n // Bind methods to preserve 'this' context when called\n this.signMessage = this.signMessage.bind(this);\n this.sendTransaction = this.sendTransaction.bind(this);\n }\n\n async signMessage(args: { message: string; account?: Address }): Promise<Hex> {\n const message = args.message;\n const account = args.account || this.account.address;\n\n if (this.shouldFailOperations) {\n throw new Error(\"Mock signing failed\");\n }\n\n if (!message || message.length === 0) {\n throw new Error(\"Invalid message: empty string\");\n }\n\n // Generate a deterministic mock signature\n const signatureData = `personal_sign:${message}-${account}-${this.chain.id}`;\n const signature = `0x${Buffer.from(signatureData)\n .toString(\"hex\")\n .slice(0, 130)\n .padEnd(130, \"0\")}` as Hex;\n return signature;\n }\n\n async sendTransaction(tx: {\n to: Address;\n data?: Hex;\n value?: bigint;\n gas?: bigint;\n account?: { address: Address };\n chain?: { id: number };\n }): Promise<Hex> {\n if (this.shouldFailOperations) {\n throw new Error(\"Mock transaction failed\");\n }\n\n if (!tx.to) {\n throw new Error(\"Invalid transaction: missing 'to' address\");\n }\n\n // Simulate network delay if configured\n if (this.transactionDelay > 0) {\n await new Promise((resolve) =>\n setTimeout(resolve, this.transactionDelay),\n );\n }\n\n // Generate a deterministic mock transaction hash\n this.nonce++;\n const txData = JSON.stringify({\n from: this.account.address,\n to: tx.to,\n value: tx.value?.toString() || \"0\",\n nonce: this.nonce,\n chainId: this.chain.id,\n });\n\n const hash = `0x${Buffer.from(txData)\n .toString(\"hex\")\n .slice(0, 64)\n .padEnd(64, \"0\")}` as Hex;\n return hash;\n }\n\n /** Updates configuration for testing different scenarios. */\n updateConfig(updates: Partial<MockEthereumWalletConfig>): void {\n if (updates.address !== undefined) {\n this.account.address = updates.address;\n }\n if (updates.chainId !== undefined) {\n this.chain.id = updates.chainId;\n }\n if (updates.shouldFailOperations !== undefined) {\n this.shouldFailOperations = updates.shouldFailOperations;\n }\n if (updates.transactionDelay !== undefined) {\n this.transactionDelay = updates.transactionDelay;\n }\n }\n\n /** Resets to default configuration and nonce. */\n reset(): void {\n this.account.address =\n \"0x742d35cc6634c0532925a3b844bc9e7595f0beb0\" as Address;\n this.chain.id = 11155111;\n this.shouldFailOperations = false;\n this.transactionDelay = 0;\n this.nonce = 0;\n }\n\n /** Returns current nonce for testing. */\n getCurrentNonce(): number {\n return this.nonce;\n }\n}\n"],"names":["MockBitcoinWallet","config","__publicField","BitcoinNetworks","psbtHex","psbtsHexes","signedPsbts","signedPsbt","message","type","Buffer","updates","MockEthereumWallet","args","account","signatureData","tx","resolve","txData","_a"],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs","sources":["../../src/testing/MockBitcoinWallet.ts","../../src/testing/MockEthereumWallet.ts"],"sourcesContent":["import { Buffer } from \"buffer\";\n\nimport { BitcoinNetworks, type BitcoinNetwork } from \"../shared/wallets/interfaces\";\nimport type {\n BitcoinWallet,\n SignPsbtOptions,\n} from \"../shared/wallets/interfaces/BitcoinWallet\";\n\n/**\n * Configuration for MockBitcoinWallet.\n */\nexport interface MockBitcoinWalletConfig {\n publicKeyHex?: string;\n address?: string;\n network?: BitcoinNetwork;\n shouldFailSigning?: boolean;\n}\n\n/**\n * Mock Bitcoin wallet for testing.\n */\nexport class MockBitcoinWallet implements BitcoinWallet {\n private config: Required<MockBitcoinWalletConfig>;\n\n constructor(config: MockBitcoinWalletConfig = {}) {\n this.config = {\n publicKeyHex:\n config.publicKeyHex ||\n \"a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0c1d2e3f4a5b6c7d8e9f0a1b2\",\n address:\n config.address ||\n \"tb1pqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqkx6jks\",\n network: config.network ?? BitcoinNetworks.SIGNET,\n shouldFailSigning: config.shouldFailSigning ?? false,\n };\n }\n\n async getPublicKeyHex(): Promise<string> {\n return this.config.publicKeyHex;\n }\n\n async getAddress(): Promise<string> {\n return this.config.address;\n }\n\n async signPsbt(psbtHex: string): Promise<string> {\n if (this.config.shouldFailSigning) {\n throw new Error(\"Mock signing failed\");\n }\n\n if (!psbtHex || psbtHex.length === 0) {\n throw new Error(\"Invalid PSBT: empty hex string\");\n }\n\n // In a real implementation, this would actually sign the PSBT\n // For the mock, we just return the input with a mock signature appended\n return psbtHex + \"deadbeef\";\n }\n\n async signPsbts(\n psbtsHexes: string[],\n _options?: SignPsbtOptions[],\n ): Promise<string[]> {\n const signedPsbts: string[] = [];\n for (const psbtHex of psbtsHexes) {\n const signedPsbt = await this.signPsbt(psbtHex);\n signedPsbts.push(signedPsbt);\n }\n return signedPsbts;\n }\n\n async signMessage(\n message: string,\n type: \"bip322-simple\" | \"ecdsa\",\n ): Promise<string> {\n if (this.config.shouldFailSigning) {\n throw new Error(\"Mock signing failed\");\n }\n\n if (!message || message.length === 0) {\n throw new Error(\"Invalid message: empty string\");\n }\n\n // In a real implementation, this would create a proper signature\n // For the mock, we return a base64-like mock signature\n const mockSignature = Buffer.from(\n `mock-signature-${type}-${message}-${this.config.publicKeyHex}`,\n ).toString(\"base64\");\n return mockSignature;\n }\n\n async getNetwork(): Promise<BitcoinNetwork> {\n return this.config.network;\n }\n\n /** Updates configuration for testing different scenarios. */\n updateConfig(updates: Partial<MockBitcoinWalletConfig>): void {\n this.config = {\n ...this.config,\n ...updates,\n };\n }\n\n /** Resets to default configuration. */\n reset(): void {\n this.config = {\n publicKeyHex:\n \"a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0c1d2e3f4a5b6c7d8e9f0a1b2\",\n address: \"tb1pqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqkx6jks\",\n network: BitcoinNetworks.SIGNET,\n shouldFailSigning: false,\n };\n }\n}\n","import { Buffer } from \"buffer\";\nimport type { Address, Hex } from \"viem\";\n\n/**\n * Configuration for MockEthereumWallet.\n */\nexport interface MockEthereumWalletConfig {\n address?: Address;\n chainId?: number;\n shouldFailOperations?: boolean;\n transactionDelay?: number;\n}\n\n/**\n * Mock Ethereum wallet for testing.\n *\n * Provides the subset of viem's WalletClient methods used by the SDK.\n * Can be passed to functions expecting a WalletClient for testing purposes.\n */\nexport class MockEthereumWallet {\n // Public properties matching viem's WalletClient structure\n account: { address: Address };\n chain: { id: number };\n\n private shouldFailOperations: boolean;\n private transactionDelay: number;\n private nonce: number = 0;\n\n constructor(config: MockEthereumWalletConfig = {}) {\n // Use lowercase addresses to avoid EIP-55 checksum validation issues\n this.account = {\n address:\n config.address ||\n (\"0x742d35cc6634c0532925a3b844bc9e7595f0beb0\" as Address),\n };\n\n this.chain = {\n id: config.chainId ?? 11155111, // Sepolia by default\n };\n\n this.shouldFailOperations = config.shouldFailOperations ?? false;\n this.transactionDelay = config.transactionDelay ?? 0;\n\n // Bind methods to preserve 'this' context when called\n this.signMessage = this.signMessage.bind(this);\n this.sendTransaction = this.sendTransaction.bind(this);\n }\n\n async signMessage(args: { message: string; account?: Address }): Promise<Hex> {\n const message = args.message;\n const account = args.account || this.account.address;\n\n if (this.shouldFailOperations) {\n throw new Error(\"Mock signing failed\");\n }\n\n if (!message || message.length === 0) {\n throw new Error(\"Invalid message: empty string\");\n }\n\n // Generate a deterministic mock signature\n const signatureData = `personal_sign:${message}-${account}-${this.chain.id}`;\n const signature = `0x${Buffer.from(signatureData)\n .toString(\"hex\")\n .slice(0, 130)\n .padEnd(130, \"0\")}` as Hex;\n return signature;\n }\n\n async sendTransaction(tx: {\n to: Address;\n data?: Hex;\n value?: bigint;\n gas?: bigint;\n account?: { address: Address };\n chain?: { id: number };\n }): Promise<Hex> {\n if (this.shouldFailOperations) {\n throw new Error(\"Mock transaction failed\");\n }\n\n if (!tx.to) {\n throw new Error(\"Invalid transaction: missing 'to' address\");\n }\n\n // Simulate network delay if configured\n if (this.transactionDelay > 0) {\n await new Promise((resolve) =>\n setTimeout(resolve, this.transactionDelay),\n );\n }\n\n // Generate a deterministic mock transaction hash\n this.nonce++;\n const txData = JSON.stringify({\n from: this.account.address,\n to: tx.to,\n value: tx.value?.toString() || \"0\",\n nonce: this.nonce,\n chainId: this.chain.id,\n });\n\n const hash = `0x${Buffer.from(txData)\n .toString(\"hex\")\n .slice(0, 64)\n .padEnd(64, \"0\")}` as Hex;\n return hash;\n }\n\n /** Updates configuration for testing different scenarios. */\n updateConfig(updates: Partial<MockEthereumWalletConfig>): void {\n if (updates.address !== undefined) {\n this.account.address = updates.address;\n }\n if (updates.chainId !== undefined) {\n this.chain.id = updates.chainId;\n }\n if (updates.shouldFailOperations !== undefined) {\n this.shouldFailOperations = updates.shouldFailOperations;\n }\n if (updates.transactionDelay !== undefined) {\n this.transactionDelay = updates.transactionDelay;\n }\n }\n\n /** Resets to default configuration and nonce. */\n reset(): void {\n this.account.address =\n \"0x742d35cc6634c0532925a3b844bc9e7595f0beb0\" as Address;\n this.chain.id = 11155111;\n this.shouldFailOperations = false;\n this.transactionDelay = 0;\n this.nonce = 0;\n }\n\n /** Returns current nonce for testing. */\n getCurrentNonce(): number {\n return this.nonce;\n }\n}\n"],"names":["MockBitcoinWallet","config","__publicField","BitcoinNetworks","psbtHex","psbtsHexes","_options","signedPsbts","signedPsbt","message","type","Buffer","updates","MockEthereumWallet","args","account","signatureData","tx","resolve","txData","_a"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  var q = Object.defineProperty;
2
2
  var h = (n, i, s) => i in n ? q(n, i, { enumerable: !0, configurable: !0, writable: !0, value: s }) : n[i] = s;
3
3
  var t = (n, i, s) => h(n, typeof i != "symbol" ? i + "" : i, s);
4
- import { Buffer as o } from "buffer";
4
+ import { Buffer as r } from "buffer";
5
5
  import { BitcoinNetworks as c } from "../shared/index.js";
6
6
  class f {
7
7
  constructor(i = {}) {
@@ -26,20 +26,20 @@ class f {
26
26
  throw new Error("Invalid PSBT: empty hex string");
27
27
  return i + "deadbeef";
28
28
  }
29
- async signPsbts(i) {
30
- const s = [];
29
+ async signPsbts(i, s) {
30
+ const a = [];
31
31
  for (const e of i) {
32
- const a = await this.signPsbt(e);
33
- s.push(a);
32
+ const o = await this.signPsbt(e);
33
+ a.push(o);
34
34
  }
35
- return s;
35
+ return a;
36
36
  }
37
37
  async signMessage(i, s) {
38
38
  if (this.config.shouldFailSigning)
39
39
  throw new Error("Mock signing failed");
40
40
  if (!i || i.length === 0)
41
41
  throw new Error("Invalid message: empty string");
42
- return o.from(
42
+ return r.from(
43
43
  `mock-signature-${s}-${i}-${this.config.publicKeyHex}`
44
44
  ).toString("base64");
45
45
  }
@@ -79,31 +79,31 @@ class u {
79
79
  }, this.shouldFailOperations = i.shouldFailOperations ?? !1, this.transactionDelay = i.transactionDelay ?? 0, this.signMessage = this.signMessage.bind(this), this.sendTransaction = this.sendTransaction.bind(this);
80
80
  }
81
81
  async signMessage(i) {
82
- const s = i.message, e = i.account || this.account.address;
82
+ const s = i.message, a = i.account || this.account.address;
83
83
  if (this.shouldFailOperations)
84
84
  throw new Error("Mock signing failed");
85
85
  if (!s || s.length === 0)
86
86
  throw new Error("Invalid message: empty string");
87
- const a = `personal_sign:${s}-${e}-${this.chain.id}`;
88
- return `0x${o.from(a).toString("hex").slice(0, 130).padEnd(130, "0")}`;
87
+ const e = `personal_sign:${s}-${a}-${this.chain.id}`;
88
+ return `0x${r.from(e).toString("hex").slice(0, 130).padEnd(130, "0")}`;
89
89
  }
90
90
  async sendTransaction(i) {
91
- var a;
91
+ var e;
92
92
  if (this.shouldFailOperations)
93
93
  throw new Error("Mock transaction failed");
94
94
  if (!i.to)
95
95
  throw new Error("Invalid transaction: missing 'to' address");
96
96
  this.transactionDelay > 0 && await new Promise(
97
- (r) => setTimeout(r, this.transactionDelay)
97
+ (o) => setTimeout(o, this.transactionDelay)
98
98
  ), this.nonce++;
99
99
  const s = JSON.stringify({
100
100
  from: this.account.address,
101
101
  to: i.to,
102
- value: ((a = i.value) == null ? void 0 : a.toString()) || "0",
102
+ value: ((e = i.value) == null ? void 0 : e.toString()) || "0",
103
103
  nonce: this.nonce,
104
104
  chainId: this.chain.id
105
105
  });
106
- return `0x${o.from(s).toString("hex").slice(0, 64).padEnd(64, "0")}`;
106
+ return `0x${r.from(s).toString("hex").slice(0, 64).padEnd(64, "0")}`;
107
107
  }
108
108
  /** Updates configuration for testing different scenarios. */
109
109
  updateConfig(i) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/testing/MockBitcoinWallet.ts","../../src/testing/MockEthereumWallet.ts"],"sourcesContent":["import { Buffer } from \"buffer\";\n\nimport { BitcoinNetworks, type BitcoinNetwork } from \"../shared/wallets/interfaces\";\nimport type { BitcoinWallet } from \"../shared/wallets/interfaces/BitcoinWallet\";\n\n/**\n * Configuration for MockBitcoinWallet.\n */\nexport interface MockBitcoinWalletConfig {\n publicKeyHex?: string;\n address?: string;\n network?: BitcoinNetwork;\n shouldFailSigning?: boolean;\n}\n\n/**\n * Mock Bitcoin wallet for testing.\n */\nexport class MockBitcoinWallet implements BitcoinWallet {\n private config: Required<MockBitcoinWalletConfig>;\n\n constructor(config: MockBitcoinWalletConfig = {}) {\n this.config = {\n publicKeyHex:\n config.publicKeyHex ||\n \"a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0c1d2e3f4a5b6c7d8e9f0a1b2\",\n address:\n config.address ||\n \"tb1pqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqkx6jks\",\n network: config.network ?? BitcoinNetworks.SIGNET,\n shouldFailSigning: config.shouldFailSigning ?? false,\n };\n }\n\n async getPublicKeyHex(): Promise<string> {\n return this.config.publicKeyHex;\n }\n\n async getAddress(): Promise<string> {\n return this.config.address;\n }\n\n async signPsbt(psbtHex: string): Promise<string> {\n if (this.config.shouldFailSigning) {\n throw new Error(\"Mock signing failed\");\n }\n\n if (!psbtHex || psbtHex.length === 0) {\n throw new Error(\"Invalid PSBT: empty hex string\");\n }\n\n // In a real implementation, this would actually sign the PSBT\n // For the mock, we just return the input with a mock signature appended\n return psbtHex + \"deadbeef\";\n }\n\n async signPsbts(psbtsHexes: string[]): Promise<string[]> {\n const signedPsbts: string[] = [];\n for (const psbtHex of psbtsHexes) {\n const signedPsbt = await this.signPsbt(psbtHex);\n signedPsbts.push(signedPsbt);\n }\n return signedPsbts;\n }\n\n async signMessage(\n message: string,\n type: \"bip322-simple\" | \"ecdsa\",\n ): Promise<string> {\n if (this.config.shouldFailSigning) {\n throw new Error(\"Mock signing failed\");\n }\n\n if (!message || message.length === 0) {\n throw new Error(\"Invalid message: empty string\");\n }\n\n // In a real implementation, this would create a proper signature\n // For the mock, we return a base64-like mock signature\n const mockSignature = Buffer.from(\n `mock-signature-${type}-${message}-${this.config.publicKeyHex}`,\n ).toString(\"base64\");\n return mockSignature;\n }\n\n async getNetwork(): Promise<BitcoinNetwork> {\n return this.config.network;\n }\n\n /** Updates configuration for testing different scenarios. */\n updateConfig(updates: Partial<MockBitcoinWalletConfig>): void {\n this.config = {\n ...this.config,\n ...updates,\n };\n }\n\n /** Resets to default configuration. */\n reset(): void {\n this.config = {\n publicKeyHex:\n \"a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0c1d2e3f4a5b6c7d8e9f0a1b2\",\n address: \"tb1pqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqkx6jks\",\n network: BitcoinNetworks.SIGNET,\n shouldFailSigning: false,\n };\n }\n}\n","import { Buffer } from \"buffer\";\nimport type { Address, Hex } from \"viem\";\n\n/**\n * Configuration for MockEthereumWallet.\n */\nexport interface MockEthereumWalletConfig {\n address?: Address;\n chainId?: number;\n shouldFailOperations?: boolean;\n transactionDelay?: number;\n}\n\n/**\n * Mock Ethereum wallet for testing.\n *\n * Provides the subset of viem's WalletClient methods used by the SDK.\n * Can be passed to functions expecting a WalletClient for testing purposes.\n */\nexport class MockEthereumWallet {\n // Public properties matching viem's WalletClient structure\n account: { address: Address };\n chain: { id: number };\n\n private shouldFailOperations: boolean;\n private transactionDelay: number;\n private nonce: number = 0;\n\n constructor(config: MockEthereumWalletConfig = {}) {\n // Use lowercase addresses to avoid EIP-55 checksum validation issues\n this.account = {\n address:\n config.address ||\n (\"0x742d35cc6634c0532925a3b844bc9e7595f0beb0\" as Address),\n };\n\n this.chain = {\n id: config.chainId ?? 11155111, // Sepolia by default\n };\n\n this.shouldFailOperations = config.shouldFailOperations ?? false;\n this.transactionDelay = config.transactionDelay ?? 0;\n\n // Bind methods to preserve 'this' context when called\n this.signMessage = this.signMessage.bind(this);\n this.sendTransaction = this.sendTransaction.bind(this);\n }\n\n async signMessage(args: { message: string; account?: Address }): Promise<Hex> {\n const message = args.message;\n const account = args.account || this.account.address;\n\n if (this.shouldFailOperations) {\n throw new Error(\"Mock signing failed\");\n }\n\n if (!message || message.length === 0) {\n throw new Error(\"Invalid message: empty string\");\n }\n\n // Generate a deterministic mock signature\n const signatureData = `personal_sign:${message}-${account}-${this.chain.id}`;\n const signature = `0x${Buffer.from(signatureData)\n .toString(\"hex\")\n .slice(0, 130)\n .padEnd(130, \"0\")}` as Hex;\n return signature;\n }\n\n async sendTransaction(tx: {\n to: Address;\n data?: Hex;\n value?: bigint;\n gas?: bigint;\n account?: { address: Address };\n chain?: { id: number };\n }): Promise<Hex> {\n if (this.shouldFailOperations) {\n throw new Error(\"Mock transaction failed\");\n }\n\n if (!tx.to) {\n throw new Error(\"Invalid transaction: missing 'to' address\");\n }\n\n // Simulate network delay if configured\n if (this.transactionDelay > 0) {\n await new Promise((resolve) =>\n setTimeout(resolve, this.transactionDelay),\n );\n }\n\n // Generate a deterministic mock transaction hash\n this.nonce++;\n const txData = JSON.stringify({\n from: this.account.address,\n to: tx.to,\n value: tx.value?.toString() || \"0\",\n nonce: this.nonce,\n chainId: this.chain.id,\n });\n\n const hash = `0x${Buffer.from(txData)\n .toString(\"hex\")\n .slice(0, 64)\n .padEnd(64, \"0\")}` as Hex;\n return hash;\n }\n\n /** Updates configuration for testing different scenarios. */\n updateConfig(updates: Partial<MockEthereumWalletConfig>): void {\n if (updates.address !== undefined) {\n this.account.address = updates.address;\n }\n if (updates.chainId !== undefined) {\n this.chain.id = updates.chainId;\n }\n if (updates.shouldFailOperations !== undefined) {\n this.shouldFailOperations = updates.shouldFailOperations;\n }\n if (updates.transactionDelay !== undefined) {\n this.transactionDelay = updates.transactionDelay;\n }\n }\n\n /** Resets to default configuration and nonce. */\n reset(): void {\n this.account.address =\n \"0x742d35cc6634c0532925a3b844bc9e7595f0beb0\" as Address;\n this.chain.id = 11155111;\n this.shouldFailOperations = false;\n this.transactionDelay = 0;\n this.nonce = 0;\n }\n\n /** Returns current nonce for testing. */\n getCurrentNonce(): number {\n return this.nonce;\n }\n}\n"],"names":["MockBitcoinWallet","config","__publicField","BitcoinNetworks","psbtHex","psbtsHexes","signedPsbts","signedPsbt","message","type","Buffer","updates","MockEthereumWallet","args","account","signatureData","tx","resolve","txData","_a"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../src/testing/MockBitcoinWallet.ts","../../src/testing/MockEthereumWallet.ts"],"sourcesContent":["import { Buffer } from \"buffer\";\n\nimport { BitcoinNetworks, type BitcoinNetwork } from \"../shared/wallets/interfaces\";\nimport type {\n BitcoinWallet,\n SignPsbtOptions,\n} from \"../shared/wallets/interfaces/BitcoinWallet\";\n\n/**\n * Configuration for MockBitcoinWallet.\n */\nexport interface MockBitcoinWalletConfig {\n publicKeyHex?: string;\n address?: string;\n network?: BitcoinNetwork;\n shouldFailSigning?: boolean;\n}\n\n/**\n * Mock Bitcoin wallet for testing.\n */\nexport class MockBitcoinWallet implements BitcoinWallet {\n private config: Required<MockBitcoinWalletConfig>;\n\n constructor(config: MockBitcoinWalletConfig = {}) {\n this.config = {\n publicKeyHex:\n config.publicKeyHex ||\n \"a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0c1d2e3f4a5b6c7d8e9f0a1b2\",\n address:\n config.address ||\n \"tb1pqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqkx6jks\",\n network: config.network ?? BitcoinNetworks.SIGNET,\n shouldFailSigning: config.shouldFailSigning ?? false,\n };\n }\n\n async getPublicKeyHex(): Promise<string> {\n return this.config.publicKeyHex;\n }\n\n async getAddress(): Promise<string> {\n return this.config.address;\n }\n\n async signPsbt(psbtHex: string): Promise<string> {\n if (this.config.shouldFailSigning) {\n throw new Error(\"Mock signing failed\");\n }\n\n if (!psbtHex || psbtHex.length === 0) {\n throw new Error(\"Invalid PSBT: empty hex string\");\n }\n\n // In a real implementation, this would actually sign the PSBT\n // For the mock, we just return the input with a mock signature appended\n return psbtHex + \"deadbeef\";\n }\n\n async signPsbts(\n psbtsHexes: string[],\n _options?: SignPsbtOptions[],\n ): Promise<string[]> {\n const signedPsbts: string[] = [];\n for (const psbtHex of psbtsHexes) {\n const signedPsbt = await this.signPsbt(psbtHex);\n signedPsbts.push(signedPsbt);\n }\n return signedPsbts;\n }\n\n async signMessage(\n message: string,\n type: \"bip322-simple\" | \"ecdsa\",\n ): Promise<string> {\n if (this.config.shouldFailSigning) {\n throw new Error(\"Mock signing failed\");\n }\n\n if (!message || message.length === 0) {\n throw new Error(\"Invalid message: empty string\");\n }\n\n // In a real implementation, this would create a proper signature\n // For the mock, we return a base64-like mock signature\n const mockSignature = Buffer.from(\n `mock-signature-${type}-${message}-${this.config.publicKeyHex}`,\n ).toString(\"base64\");\n return mockSignature;\n }\n\n async getNetwork(): Promise<BitcoinNetwork> {\n return this.config.network;\n }\n\n /** Updates configuration for testing different scenarios. */\n updateConfig(updates: Partial<MockBitcoinWalletConfig>): void {\n this.config = {\n ...this.config,\n ...updates,\n };\n }\n\n /** Resets to default configuration. */\n reset(): void {\n this.config = {\n publicKeyHex:\n \"a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0c1d2e3f4a5b6c7d8e9f0a1b2\",\n address: \"tb1pqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqkx6jks\",\n network: BitcoinNetworks.SIGNET,\n shouldFailSigning: false,\n };\n }\n}\n","import { Buffer } from \"buffer\";\nimport type { Address, Hex } from \"viem\";\n\n/**\n * Configuration for MockEthereumWallet.\n */\nexport interface MockEthereumWalletConfig {\n address?: Address;\n chainId?: number;\n shouldFailOperations?: boolean;\n transactionDelay?: number;\n}\n\n/**\n * Mock Ethereum wallet for testing.\n *\n * Provides the subset of viem's WalletClient methods used by the SDK.\n * Can be passed to functions expecting a WalletClient for testing purposes.\n */\nexport class MockEthereumWallet {\n // Public properties matching viem's WalletClient structure\n account: { address: Address };\n chain: { id: number };\n\n private shouldFailOperations: boolean;\n private transactionDelay: number;\n private nonce: number = 0;\n\n constructor(config: MockEthereumWalletConfig = {}) {\n // Use lowercase addresses to avoid EIP-55 checksum validation issues\n this.account = {\n address:\n config.address ||\n (\"0x742d35cc6634c0532925a3b844bc9e7595f0beb0\" as Address),\n };\n\n this.chain = {\n id: config.chainId ?? 11155111, // Sepolia by default\n };\n\n this.shouldFailOperations = config.shouldFailOperations ?? false;\n this.transactionDelay = config.transactionDelay ?? 0;\n\n // Bind methods to preserve 'this' context when called\n this.signMessage = this.signMessage.bind(this);\n this.sendTransaction = this.sendTransaction.bind(this);\n }\n\n async signMessage(args: { message: string; account?: Address }): Promise<Hex> {\n const message = args.message;\n const account = args.account || this.account.address;\n\n if (this.shouldFailOperations) {\n throw new Error(\"Mock signing failed\");\n }\n\n if (!message || message.length === 0) {\n throw new Error(\"Invalid message: empty string\");\n }\n\n // Generate a deterministic mock signature\n const signatureData = `personal_sign:${message}-${account}-${this.chain.id}`;\n const signature = `0x${Buffer.from(signatureData)\n .toString(\"hex\")\n .slice(0, 130)\n .padEnd(130, \"0\")}` as Hex;\n return signature;\n }\n\n async sendTransaction(tx: {\n to: Address;\n data?: Hex;\n value?: bigint;\n gas?: bigint;\n account?: { address: Address };\n chain?: { id: number };\n }): Promise<Hex> {\n if (this.shouldFailOperations) {\n throw new Error(\"Mock transaction failed\");\n }\n\n if (!tx.to) {\n throw new Error(\"Invalid transaction: missing 'to' address\");\n }\n\n // Simulate network delay if configured\n if (this.transactionDelay > 0) {\n await new Promise((resolve) =>\n setTimeout(resolve, this.transactionDelay),\n );\n }\n\n // Generate a deterministic mock transaction hash\n this.nonce++;\n const txData = JSON.stringify({\n from: this.account.address,\n to: tx.to,\n value: tx.value?.toString() || \"0\",\n nonce: this.nonce,\n chainId: this.chain.id,\n });\n\n const hash = `0x${Buffer.from(txData)\n .toString(\"hex\")\n .slice(0, 64)\n .padEnd(64, \"0\")}` as Hex;\n return hash;\n }\n\n /** Updates configuration for testing different scenarios. */\n updateConfig(updates: Partial<MockEthereumWalletConfig>): void {\n if (updates.address !== undefined) {\n this.account.address = updates.address;\n }\n if (updates.chainId !== undefined) {\n this.chain.id = updates.chainId;\n }\n if (updates.shouldFailOperations !== undefined) {\n this.shouldFailOperations = updates.shouldFailOperations;\n }\n if (updates.transactionDelay !== undefined) {\n this.transactionDelay = updates.transactionDelay;\n }\n }\n\n /** Resets to default configuration and nonce. */\n reset(): void {\n this.account.address =\n \"0x742d35cc6634c0532925a3b844bc9e7595f0beb0\" as Address;\n this.chain.id = 11155111;\n this.shouldFailOperations = false;\n this.transactionDelay = 0;\n this.nonce = 0;\n }\n\n /** Returns current nonce for testing. */\n getCurrentNonce(): number {\n return this.nonce;\n }\n}\n"],"names":["MockBitcoinWallet","config","__publicField","BitcoinNetworks","psbtHex","psbtsHexes","_options","signedPsbts","signedPsbt","message","type","Buffer","updates","MockEthereumWallet","args","account","signatureData","tx","resolve","txData","_a"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@babylonlabs-io/ts-sdk",
3
- "version": "0.21.0",
3
+ "version": "0.23.0",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",