@babylonlabs-io/ts-sdk 0.33.6 → 0.33.8

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.
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const S=require("../../challengeAssert-Yyyj-EdR.cjs"),E=require("@babylonlabs-io/babylon-tbv-rust-wasm"),l=require("../../peginInput-tbw9BpZy.cjs"),A=require("../../noPayout-BXeUw0Qq.cjs"),P=require("../../payout-DQ_fmJUA.cjs"),o=require("../../bitcoin-B3aqjuMP.cjs"),g=require("../../signing-Bnsro0hE.cjs"),d=require("../../validation-u8W7Lp2x.cjs"),i=require("../../PeginManager-BXg2S1mH.cjs"),p=require("../../PayoutManager-DDnNB0mj.cjs"),R=require("../../ProtocolParams.abi-BmvHwQJV.cjs"),I=require("../../BTCVaultRegistry.abi-ZdPpION2.cjs"),c=require("../../errors-BP73_stm.cjs"),t=require("../../fundPeginTransaction-DaWoYCgO.cjs"),u=require("../../reservation-ho7mjW3X.cjs"),n=require("../../psbtInputFields-B1lrwYzH.cjs"),s=require("../../mempoolApi-YNkKjQCU.cjs"),r=require("../../vault-registry-reader-DNiXOSYM.cjs"),a=require("../../types-DnyyBNcC.cjs"),_=require("../../errors-Bu0H-dZD.cjs"),e=require("../../buildAndBroadcastRefund-B332dykQ.cjs"),T=require("../../peginState-BijNNT15.cjs");exports.buildChallengeAssertPsbt=S.buildChallengeAssertPsbt;exports.buildDepositorPayoutPsbt=S.buildDepositorPayoutPsbt;exports.computeNumLocalChallengers=S.computeNumLocalChallengers;Object.defineProperty(exports,"computeMinClaimValue",{enumerable:!0,get:()=>E.computeMinClaimValue});Object.defineProperty(exports,"deriveVaultId",{enumerable:!0,get:()=>E.deriveVaultId});exports.buildPeginInputPsbt=l.buildPeginInputPsbt;exports.buildPeginTxFromFundedPrePegin=l.buildPeginTxFromFundedPrePegin;exports.buildPrePeginPsbt=l.buildPrePeginPsbt;exports.extractPeginInputSignature=l.extractPeginInputSignature;exports.finalizePeginInputPsbt=l.finalizePeginInputPsbt;exports.buildNoPayoutPsbt=A.buildNoPayoutPsbt;exports.buildRefundPsbt=A.buildRefundPsbt;exports.assertPayoutOutputMatchesRegistered=P.assertPayoutOutputMatchesRegistered;exports.buildPayoutPsbt=P.buildPayoutPsbt;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.createTaprootScriptPathSignOptions=g.createTaprootScriptPathSignOptions;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.PeginManager=i.PeginManager;exports.VAULT_APP_NAME=i.VAULT_APP_NAME;exports.buildFundingOutpointsCommitment=i.buildFundingOutpointsCommitment;exports.buildVaultContext=i.buildVaultContext;exports.computeWotsBlockPublicKeysHash=i.computeWotsBlockPublicKeysHash;exports.deriveVaultRoot=i.deriveVaultRoot;exports.deriveWotsBlocksFromSeed=i.deriveWotsBlocksFromSeed;exports.expandAuthAnchor=i.expandAuthAnchor;exports.expandHashlockSecret=i.expandHashlockSecret;exports.expandWotsSeed=i.expandWotsSeed;exports.PayoutManager=p.PayoutManager;exports.computeHashlock=p.computeHashlock;exports.validateSecretAgainstHashlock=p.validateSecretAgainstHashlock;exports.ApplicationRegistryABI=R.ApplicationRegistryABI;exports.ProtocolParamsABI=R.ProtocolParamsABI;exports.BTCVaultRegistryABI=I.BTCVaultRegistryABI;exports.CONTRACT_ERRORS=c.CONTRACT_ERRORS;exports.extractErrorData=c.extractErrorData;exports.getContractErrorMessage=c.getContractErrorMessage;exports.handleContractError=c.handleContractError;exports.isKnownContractError=c.isKnownContractError;exports.BTC_DUST_SAT=t.BTC_DUST_SAT;exports.DUST_THRESHOLD=t.DUST_THRESHOLD;exports.FEE_SAFETY_MARGIN=t.FEE_SAFETY_MARGIN;exports.LOW_RATE_ESTIMATION_ACCURACY_BUFFER=t.LOW_RATE_ESTIMATION_ACCURACY_BUFFER;exports.MAX_NON_LEGACY_OUTPUT_SIZE=t.MAX_NON_LEGACY_OUTPUT_SIZE;exports.P2TR_INPUT_SIZE=t.P2TR_INPUT_SIZE;exports.PEGIN_AUTH_ANCHOR_OUTPUTS=t.PEGIN_AUTH_ANCHOR_OUTPUTS;exports.PEGIN_FIXED_OUTPUTS=t.PEGIN_FIXED_OUTPUTS;exports.SPLIT_TX_FEE_SAFETY_MULTIPLIER=t.SPLIT_TX_FEE_SAFETY_MULTIPLIER;exports.TX_BUFFER_SIZE_OVERHEAD=t.TX_BUFFER_SIZE_OVERHEAD;exports.WALLET_RELAY_FEE_RATE_THRESHOLD=t.WALLET_RELAY_FEE_RATE_THRESHOLD;exports.fundPeginTransaction=t.fundPeginTransaction;exports.parseUnfundedWasmTransaction=t.parseUnfundedWasmTransaction;exports.peginOutputCount=t.peginOutputCount;exports.rateBasedTxBufferFee=t.rateBasedTxBufferFee;exports.UtxoNotAvailableError=u.UtxoNotAvailableError;exports.assertUtxosAvailable=u.assertUtxosAvailable;exports.collectReservedUtxoRefs=u.collectReservedUtxoRefs;exports.extractInputsFromTransaction=u.extractInputsFromTransaction;exports.selectUtxosForDeposit=u.selectUtxosForDeposit;exports.validateUtxosAvailable=u.validateUtxosAvailable;exports.BitcoinScriptType=n.BitcoinScriptType;exports.calculateBtcTxHash=n.calculateBtcTxHash;exports.getDustThreshold=n.getDustThreshold;exports.getPsbtInputFields=n.getPsbtInputFields;exports.getScriptType=n.getScriptType;exports.selectUtxosForPegin=n.selectUtxosForPegin;exports.shouldAddChangeOutput=n.shouldAddChangeOutput;exports.MEMPOOL_API_URLS=s.MEMPOOL_API_URLS;exports.getAddressTxs=s.getAddressTxs;exports.getAddressUtxos=s.getAddressUtxos;exports.getMempoolApiUrl=s.getMempoolApiUrl;exports.getNetworkFees=s.getNetworkFees;exports.getTxHex=s.getTxHex;exports.getTxInfo=s.getTxInfo;exports.getUtxoInfo=s.getUtxoInfo;exports.pushTx=s.pushTx;exports.ServerIdentityError=r.ServerIdentityError;exports.VaultProviderRpcClient=r.VaultProviderRpcClient;exports.ViemProtocolParamsReader=r.ViemProtocolParamsReader;exports.ViemUniversalChallengerReader=r.ViemUniversalChallengerReader;exports.ViemVaultKeeperReader=r.ViemVaultKeeperReader;exports.ViemVaultRegistryReader=r.ViemVaultRegistryReader;exports.VpResponseValidationError=r.VpResponseValidationError;exports.VpTokenRegistry=r.VpTokenRegistry;exports.batchPollByProvider=r.batchPollByProvider;exports.createAuthenticatedVpClient=r.createAuthenticatedVpClient;exports.primeVpTokenRegistry=r.primeVpTokenRegistry;exports.resolveProtocolAddresses=r.resolveProtocolAddresses;exports.validateRequestDepositorClaimerArtifactsResponse=r.validateRequestDepositorClaimerArtifactsResponse;exports.verifyServerIdentity=r.verifyServerIdentity;exports.vpTokenRegistry=r.vpTokenRegistry;exports.DaemonStatus=a.DaemonStatus;exports.JSON_RPC_ERROR_CODES=a.JSON_RPC_ERROR_CODES;exports.JsonRpcClient=a.JsonRpcClient;exports.JsonRpcError=a.JsonRpcError;exports.POST_WOTS_STATUSES=a.POST_WOTS_STATUSES;exports.PRE_DEPOSITOR_SIGNATURES_STATES=a.PRE_DEPOSITOR_SIGNATURES_STATES;exports.RpcErrorCode=a.RpcErrorCode;exports.VP_BATCH_MAX_SIZE=a.VP_BATCH_MAX_SIZE;exports.VP_TERMINAL_STATUSES=a.VP_TERMINAL_STATUSES;exports.VP_TRANSIENT_STATUSES=a.VP_TRANSIENT_STATUSES;exports.isWotsMismatchError=_.isWotsMismatchError;exports.parseFundingOutpointsFromTx=_.parseFundingOutpointsFromTx;exports.BIP68NotMatureError=e.BIP68NotMatureError;exports.ClaimerPegoutStatusValue=e.ClaimerPegoutStatusValue;exports.REFUND_VSIZE=e.REFUND_VSIZE;exports.activateVault=e.activateVault;exports.buildAndBroadcastRefund=e.buildAndBroadcastRefund;exports.estimateRefundFeeSats=e.estimateRefundFeeSats;exports.isDepositAmountValid=e.isDepositAmountValid;exports.isPegoutTerminalStatus=e.isPegoutTerminalStatus;exports.isRecognizedPegoutStatus=e.isRecognizedPegoutStatus;exports.runDepositorPresignFlow=e.runDepositorPresignFlow;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.validateVaultAmounts=e.validateVaultAmounts;exports.validateVaultProviderPubkey=e.validateVaultProviderPubkey;exports.waitForPeginStatus=e.waitForPeginStatus;exports.ContractStatus=T.ContractStatus;exports.PeginAction=T.PeginAction;exports.canPerformAction=T.canPerformAction;exports.getPeginProtocolState=T.getPeginProtocolState;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const S=require("../../challengeAssert-Yyyj-EdR.cjs"),E=require("@babylonlabs-io/babylon-tbv-rust-wasm"),l=require("../../peginInput-tbw9BpZy.cjs"),A=require("../../noPayout-BXeUw0Qq.cjs"),P=require("../../payout-DQ_fmJUA.cjs"),o=require("../../bitcoin-B3aqjuMP.cjs"),g=require("../../signing-Bnsro0hE.cjs"),d=require("../../validation-u8W7Lp2x.cjs"),i=require("../../PeginManager-D0TW9RET.cjs"),p=require("../../PayoutManager-DDnNB0mj.cjs"),R=require("../../ProtocolParams.abi-BmvHwQJV.cjs"),I=require("../../BTCVaultRegistry.abi-ZdPpION2.cjs"),c=require("../../errors-BP73_stm.cjs"),t=require("../../fundPeginTransaction-DaWoYCgO.cjs"),u=require("../../reservation-ho7mjW3X.cjs"),n=require("../../psbtInputFields-B1lrwYzH.cjs"),s=require("../../mempoolApi-YNkKjQCU.cjs"),r=require("../../vault-registry-reader-DNiXOSYM.cjs"),a=require("../../types-DnyyBNcC.cjs"),_=require("../../errors-Bu0H-dZD.cjs"),e=require("../../buildAndBroadcastRefund-C7hnNWbj.cjs"),T=require("../../peginState-BijNNT15.cjs");exports.buildChallengeAssertPsbt=S.buildChallengeAssertPsbt;exports.buildDepositorPayoutPsbt=S.buildDepositorPayoutPsbt;exports.computeNumLocalChallengers=S.computeNumLocalChallengers;Object.defineProperty(exports,"computeMinClaimValue",{enumerable:!0,get:()=>E.computeMinClaimValue});Object.defineProperty(exports,"deriveVaultId",{enumerable:!0,get:()=>E.deriveVaultId});exports.buildPeginInputPsbt=l.buildPeginInputPsbt;exports.buildPeginTxFromFundedPrePegin=l.buildPeginTxFromFundedPrePegin;exports.buildPrePeginPsbt=l.buildPrePeginPsbt;exports.extractPeginInputSignature=l.extractPeginInputSignature;exports.finalizePeginInputPsbt=l.finalizePeginInputPsbt;exports.buildNoPayoutPsbt=A.buildNoPayoutPsbt;exports.buildRefundPsbt=A.buildRefundPsbt;exports.assertPayoutOutputMatchesRegistered=P.assertPayoutOutputMatchesRegistered;exports.buildPayoutPsbt=P.buildPayoutPsbt;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.createTaprootScriptPathSignOptions=g.createTaprootScriptPathSignOptions;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.PeginManager=i.PeginManager;exports.VAULT_APP_NAME=i.VAULT_APP_NAME;exports.buildFundingOutpointsCommitment=i.buildFundingOutpointsCommitment;exports.buildVaultContext=i.buildVaultContext;exports.computeWotsBlockPublicKeysHash=i.computeWotsBlockPublicKeysHash;exports.deriveVaultRoot=i.deriveVaultRoot;exports.deriveWotsBlocksFromSeed=i.deriveWotsBlocksFromSeed;exports.expandAuthAnchor=i.expandAuthAnchor;exports.expandHashlockSecret=i.expandHashlockSecret;exports.expandWotsSeed=i.expandWotsSeed;exports.PayoutManager=p.PayoutManager;exports.computeHashlock=p.computeHashlock;exports.validateSecretAgainstHashlock=p.validateSecretAgainstHashlock;exports.ApplicationRegistryABI=R.ApplicationRegistryABI;exports.ProtocolParamsABI=R.ProtocolParamsABI;exports.BTCVaultRegistryABI=I.BTCVaultRegistryABI;exports.CONTRACT_ERRORS=c.CONTRACT_ERRORS;exports.extractErrorData=c.extractErrorData;exports.getContractErrorMessage=c.getContractErrorMessage;exports.handleContractError=c.handleContractError;exports.isKnownContractError=c.isKnownContractError;exports.BTC_DUST_SAT=t.BTC_DUST_SAT;exports.DUST_THRESHOLD=t.DUST_THRESHOLD;exports.FEE_SAFETY_MARGIN=t.FEE_SAFETY_MARGIN;exports.LOW_RATE_ESTIMATION_ACCURACY_BUFFER=t.LOW_RATE_ESTIMATION_ACCURACY_BUFFER;exports.MAX_NON_LEGACY_OUTPUT_SIZE=t.MAX_NON_LEGACY_OUTPUT_SIZE;exports.P2TR_INPUT_SIZE=t.P2TR_INPUT_SIZE;exports.PEGIN_AUTH_ANCHOR_OUTPUTS=t.PEGIN_AUTH_ANCHOR_OUTPUTS;exports.PEGIN_FIXED_OUTPUTS=t.PEGIN_FIXED_OUTPUTS;exports.SPLIT_TX_FEE_SAFETY_MULTIPLIER=t.SPLIT_TX_FEE_SAFETY_MULTIPLIER;exports.TX_BUFFER_SIZE_OVERHEAD=t.TX_BUFFER_SIZE_OVERHEAD;exports.WALLET_RELAY_FEE_RATE_THRESHOLD=t.WALLET_RELAY_FEE_RATE_THRESHOLD;exports.fundPeginTransaction=t.fundPeginTransaction;exports.parseUnfundedWasmTransaction=t.parseUnfundedWasmTransaction;exports.peginOutputCount=t.peginOutputCount;exports.rateBasedTxBufferFee=t.rateBasedTxBufferFee;exports.UtxoNotAvailableError=u.UtxoNotAvailableError;exports.assertUtxosAvailable=u.assertUtxosAvailable;exports.collectReservedUtxoRefs=u.collectReservedUtxoRefs;exports.extractInputsFromTransaction=u.extractInputsFromTransaction;exports.selectUtxosForDeposit=u.selectUtxosForDeposit;exports.validateUtxosAvailable=u.validateUtxosAvailable;exports.BitcoinScriptType=n.BitcoinScriptType;exports.calculateBtcTxHash=n.calculateBtcTxHash;exports.getDustThreshold=n.getDustThreshold;exports.getPsbtInputFields=n.getPsbtInputFields;exports.getScriptType=n.getScriptType;exports.selectUtxosForPegin=n.selectUtxosForPegin;exports.shouldAddChangeOutput=n.shouldAddChangeOutput;exports.MEMPOOL_API_URLS=s.MEMPOOL_API_URLS;exports.getAddressTxs=s.getAddressTxs;exports.getAddressUtxos=s.getAddressUtxos;exports.getMempoolApiUrl=s.getMempoolApiUrl;exports.getNetworkFees=s.getNetworkFees;exports.getTxHex=s.getTxHex;exports.getTxInfo=s.getTxInfo;exports.getUtxoInfo=s.getUtxoInfo;exports.pushTx=s.pushTx;exports.ServerIdentityError=r.ServerIdentityError;exports.VaultProviderRpcClient=r.VaultProviderRpcClient;exports.ViemProtocolParamsReader=r.ViemProtocolParamsReader;exports.ViemUniversalChallengerReader=r.ViemUniversalChallengerReader;exports.ViemVaultKeeperReader=r.ViemVaultKeeperReader;exports.ViemVaultRegistryReader=r.ViemVaultRegistryReader;exports.VpResponseValidationError=r.VpResponseValidationError;exports.VpTokenRegistry=r.VpTokenRegistry;exports.batchPollByProvider=r.batchPollByProvider;exports.createAuthenticatedVpClient=r.createAuthenticatedVpClient;exports.primeVpTokenRegistry=r.primeVpTokenRegistry;exports.resolveProtocolAddresses=r.resolveProtocolAddresses;exports.validateRequestDepositorClaimerArtifactsResponse=r.validateRequestDepositorClaimerArtifactsResponse;exports.verifyServerIdentity=r.verifyServerIdentity;exports.vpTokenRegistry=r.vpTokenRegistry;exports.DaemonStatus=a.DaemonStatus;exports.JSON_RPC_ERROR_CODES=a.JSON_RPC_ERROR_CODES;exports.JsonRpcClient=a.JsonRpcClient;exports.JsonRpcError=a.JsonRpcError;exports.POST_WOTS_STATUSES=a.POST_WOTS_STATUSES;exports.PRE_DEPOSITOR_SIGNATURES_STATES=a.PRE_DEPOSITOR_SIGNATURES_STATES;exports.RpcErrorCode=a.RpcErrorCode;exports.VP_BATCH_MAX_SIZE=a.VP_BATCH_MAX_SIZE;exports.VP_TERMINAL_STATUSES=a.VP_TERMINAL_STATUSES;exports.VP_TRANSIENT_STATUSES=a.VP_TRANSIENT_STATUSES;exports.isWotsMismatchError=_.isWotsMismatchError;exports.parseFundingOutpointsFromTx=_.parseFundingOutpointsFromTx;exports.BIP68NotMatureError=e.BIP68NotMatureError;exports.ClaimerPegoutStatusValue=e.ClaimerPegoutStatusValue;exports.REFUND_VSIZE=e.REFUND_VSIZE;exports.activateVault=e.activateVault;exports.buildAndBroadcastRefund=e.buildAndBroadcastRefund;exports.estimateRefundFeeSats=e.estimateRefundFeeSats;exports.isDepositAmountValid=e.isDepositAmountValid;exports.isPegoutTerminalStatus=e.isPegoutTerminalStatus;exports.isRecognizedPegoutStatus=e.isRecognizedPegoutStatus;exports.runDepositorPresignFlow=e.runDepositorPresignFlow;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.validateVaultAmounts=e.validateVaultAmounts;exports.validateVaultProviderPubkey=e.validateVaultProviderPubkey;exports.waitForPeginStatus=e.waitForPeginStatus;exports.ContractStatus=T.ContractStatus;exports.PeginAction=T.PeginAction;exports.canPerformAction=T.canPerformAction;exports.getPeginProtocolState=T.getPeginProtocolState;
2
2
  //# sourceMappingURL=index.cjs.map
@@ -6,7 +6,7 @@ import { a as R, b as g, c as _, e as m } from "../../payout-BNFMBXS6.js";
6
6
  import { d as f, a as b, e as I, f as v, g as C, h as U, i as V, b as O, p as y, s as F, t as h, u as N, v as B } from "../../bitcoin-B0S8SHCX.js";
7
7
  import { c as M } from "../../signing-DaLvGwQe.js";
8
8
  import { B as L, H as k, K as W, M as X, T as K } from "../../validation-CxqROCno.js";
9
- import { P as G, V as Y, f as Z, g as J, c as j, h as z, d as q, e as Q, a as $, b as aa } from "../../PeginManager-C5HaMAcw.js";
9
+ import { P as G, V as Y, f as Z, g as J, c as j, h as z, d as q, e as Q, a as $, b as aa } from "../../PeginManager-C8-I4gFH.js";
10
10
  import { P as sa, c as ta, v as ra } from "../../PayoutManager-C9XHKZ5j.js";
11
11
  import { A as ia, P as na } from "../../ProtocolParams.abi-DXu8L0Fn.js";
12
12
  import { B as ua } from "../../BTCVaultRegistry.abi-DbJ5lsFJ.js";
@@ -18,7 +18,7 @@ import { M as Ja, g as ja, a as za, b as qa, c as Qa, d as $a, e as ae, f as ee,
18
18
  import { S as re, V as oe, g as ie, h as ne, i as le, j as ue, a as de, d as pe, b as Pe, f as ce, p as Te, r as Se, v as Ee, c as Ae, e as Re } from "../../vault-registry-reader-PsSxB0JZ.js";
19
19
  import { D as _e, b as me, J as xe, a as fe, d as be, P as Ie, R as ve, e as Ce, c as Ue, V as Ve } from "../../types-TiIjyo2b.js";
20
20
  import { i as ye, p as Fe } from "../../errors-9AkghWyk.js";
21
- import { B as Ne, C as Be, R as De, a as Me, k as He, l as Le, i as ke, j as We, h as Xe, r as Ke, b as we, s as Ge, v as Ye, g as Ze, d as Je, c as je, e as ze, f as qe, w as Qe } from "../../buildAndBroadcastRefund-CPjXNaMi.js";
21
+ import { B as Ne, C as Be, R as De, a as Me, k as He, l as Le, i as ke, j as We, h as Xe, r as Ke, b as we, s as Ge, v as Ye, g as Ze, d as Je, c as je, e as ze, f as qe, w as Qe } from "../../buildAndBroadcastRefund-B6fGRmvo.js";
22
22
  import { C as as, P as es, c as ss, g as ts } from "../../peginState-CBAlxgXk.js";
23
23
  export {
24
24
  ia as ApplicationRegistryABI,
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../../../PeginManager-BXg2S1mH.cjs"),a=require("../../../PayoutManager-DDnNB0mj.cjs");exports.PeginManager=e.PeginManager;exports.PayoutManager=a.PayoutManager;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../../../PeginManager-D0TW9RET.cjs"),a=require("../../../PayoutManager-DDnNB0mj.cjs");exports.PeginManager=e.PeginManager;exports.PayoutManager=a.PayoutManager;
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1,4 +1,4 @@
1
- import { P as e } from "../../../PeginManager-C5HaMAcw.js";
1
+ import { P as e } from "../../../PeginManager-C8-I4gFH.js";
2
2
  import { P } from "../../../PayoutManager-C9XHKZ5j.js";
3
3
  export {
4
4
  P as PayoutManager,
@@ -1 +1 @@
1
- {"version":3,"file":"signDepositorGraph.d.ts","sourceRoot":"","sources":["../../../../../src/tbv/core/services/deposit/signDepositorGraph.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,uCAAuC,CAAC;AAGrE,OAAO,KAAK,EAAE,aAAa,EAAmB,MAAM,uCAAuC,CAAC;AAC5F,OAAO,KAAK,EACV,+BAA+B,EAC/B,0BAA0B,EAG3B,MAAM,oCAAoC,CAAC;AAiX5C;;;;;GAKG;AACH,MAAM,WAAW,4BAA4B;IAC3C,8EAA8E;IAC9E,UAAU,EAAE,MAAM,CAAC;IACnB,qEAAqE;IACrE,kBAAkB,EAAE,MAAM,CAAC;IAC3B,8DAA8D;IAC9D,sBAAsB,EAAE,MAAM,CAAC;IAC/B,kEAAkE;IAClE,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAChC,0EAA0E;IAC1E,6BAA6B,EAAE,MAAM,EAAE,CAAC;IACxC,0EAA0E;IAC1E,aAAa,EAAE,MAAM,CAAC;IACtB;;;;OAIG;IACH,cAAc,EAAE,MAAM,CAAC;IACvB;;;;OAIG;IACH,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB;;;OAGG;IACH,aAAa,EAAE,MAAM,CAAC;IACtB,2CAA2C;IAC3C,OAAO,EAAE,OAAO,CAAC;IACjB;;;;OAIG;IACH,4BAA4B,EAAE,MAAM,CAAC;CACtC;AAED,MAAM,WAAW,wBAAwB;IACvC,2CAA2C;IAC3C,cAAc,EAAE,0BAA0B,CAAC;IAC3C,iCAAiC;IACjC,SAAS,EAAE,aAAa,CAAC;IACzB,8DAA8D;IAC9D,cAAc,EAAE,4BAA4B,CAAC;CAC9C;AAED;;;;;;;;GAQG;AACH,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,wBAAwB,GAC/B,OAAO,CAAC,+BAA+B,CAAC,CAiC1C"}
1
+ {"version":3,"file":"signDepositorGraph.d.ts","sourceRoot":"","sources":["../../../../../src/tbv/core/services/deposit/signDepositorGraph.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,uCAAuC,CAAC;AAGrE,OAAO,KAAK,EAAE,aAAa,EAAmB,MAAM,uCAAuC,CAAC;AAC5F,OAAO,KAAK,EACV,+BAA+B,EAC/B,0BAA0B,EAG3B,MAAM,oCAAoC,CAAC;AAkX5C;;;;;GAKG;AACH,MAAM,WAAW,4BAA4B;IAC3C,8EAA8E;IAC9E,UAAU,EAAE,MAAM,CAAC;IACnB,qEAAqE;IACrE,kBAAkB,EAAE,MAAM,CAAC;IAC3B,8DAA8D;IAC9D,sBAAsB,EAAE,MAAM,CAAC;IAC/B,kEAAkE;IAClE,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAChC,0EAA0E;IAC1E,6BAA6B,EAAE,MAAM,EAAE,CAAC;IACxC,0EAA0E;IAC1E,aAAa,EAAE,MAAM,CAAC;IACtB;;;;OAIG;IACH,cAAc,EAAE,MAAM,CAAC;IACvB;;;;OAIG;IACH,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB;;;OAGG;IACH,aAAa,EAAE,MAAM,CAAC;IACtB,2CAA2C;IAC3C,OAAO,EAAE,OAAO,CAAC;IACjB;;;;OAIG;IACH,4BAA4B,EAAE,MAAM,CAAC;CACtC;AAED,MAAM,WAAW,wBAAwB;IACvC,2CAA2C;IAC3C,cAAc,EAAE,0BAA0B,CAAC;IAC3C,iCAAiC;IACjC,SAAS,EAAE,aAAa,CAAC;IACzB,8DAA8D;IAC9D,cAAc,EAAE,4BAA4B,CAAC;CAC9C;AAED;;;;;;;;GAQG;AACH,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,wBAAwB,GAC/B,OAAO,CAAC,+BAA+B,CAAC,CAuC1C"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("../../../PayoutManager-DDnNB0mj.cjs"),t=require("../../../buildAndBroadcastRefund-B332dykQ.cjs"),e=require("../../../peginState-BijNNT15.cjs");exports.computeHashlock=a.computeHashlock;exports.validateSecretAgainstHashlock=a.validateSecretAgainstHashlock;exports.BIP68NotMatureError=t.BIP68NotMatureError;exports.ClaimerPegoutStatusValue=t.ClaimerPegoutStatusValue;exports.REFUND_VSIZE=t.REFUND_VSIZE;exports.activateVault=t.activateVault;exports.buildAndBroadcastRefund=t.buildAndBroadcastRefund;exports.estimateRefundFeeSats=t.estimateRefundFeeSats;exports.isDepositAmountValid=t.isDepositAmountValid;exports.isPegoutTerminalStatus=t.isPegoutTerminalStatus;exports.isRecognizedPegoutStatus=t.isRecognizedPegoutStatus;exports.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.validateVaultAmounts=t.validateVaultAmounts;exports.validateVaultProviderPubkey=t.validateVaultProviderPubkey;exports.waitForPeginStatus=t.waitForPeginStatus;exports.ContractStatus=e.ContractStatus;exports.PeginAction=e.PeginAction;exports.canPerformAction=e.canPerformAction;exports.getPeginProtocolState=e.getPeginProtocolState;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("../../../PayoutManager-DDnNB0mj.cjs"),t=require("../../../buildAndBroadcastRefund-C7hnNWbj.cjs"),e=require("../../../peginState-BijNNT15.cjs");exports.computeHashlock=a.computeHashlock;exports.validateSecretAgainstHashlock=a.validateSecretAgainstHashlock;exports.BIP68NotMatureError=t.BIP68NotMatureError;exports.ClaimerPegoutStatusValue=t.ClaimerPegoutStatusValue;exports.REFUND_VSIZE=t.REFUND_VSIZE;exports.activateVault=t.activateVault;exports.buildAndBroadcastRefund=t.buildAndBroadcastRefund;exports.estimateRefundFeeSats=t.estimateRefundFeeSats;exports.isDepositAmountValid=t.isDepositAmountValid;exports.isPegoutTerminalStatus=t.isPegoutTerminalStatus;exports.isRecognizedPegoutStatus=t.isRecognizedPegoutStatus;exports.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.validateVaultAmounts=t.validateVaultAmounts;exports.validateVaultProviderPubkey=t.validateVaultProviderPubkey;exports.waitForPeginStatus=t.waitForPeginStatus;exports.ContractStatus=e.ContractStatus;exports.PeginAction=e.PeginAction;exports.canPerformAction=e.canPerformAction;exports.getPeginProtocolState=e.getPeginProtocolState;
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1,5 +1,5 @@
1
1
  import { c as s, v as e } from "../../../PayoutManager-C9XHKZ5j.js";
2
- import { B as o, C as r, R as u, a as l, k as n, l as c, i as d, j as P, h as g, r as m, b as p, s as v, v as S, g as f, d as A, c as V, e as D, f as R, w as b } from "../../../buildAndBroadcastRefund-CPjXNaMi.js";
2
+ import { B as o, C as r, R as u, a as l, k as n, l as c, i as d, j as P, h as g, r as m, b as p, s as v, v as S, g as f, d as A, c as V, e as D, f as R, w as b } from "../../../buildAndBroadcastRefund-B6fGRmvo.js";
3
3
  import { C as h, P as k, c as F, g as w } from "../../../peginState-CBAlxgXk.js";
4
4
  export {
5
5
  o as BIP68NotMatureError,
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * ```
5
5
  * info(label, ctx) :=
6
- * "babylonvault" // fixed 12-byte ASCII domain tag
6
+ * "babylonbtcvault" // fixed 15-byte ASCII domain tag
7
7
  * || I2OSP(len(label), 1) // 1-byte label length
8
8
  * || label // ASCII bytes of the label
9
9
  * || I2OSP(len(ctx), 2) // 2-byte big-endian ctx length
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const S=require("../challengeAssert-Yyyj-EdR.cjs"),E=require("@babylonlabs-io/babylon-tbv-rust-wasm"),l=require("../peginInput-tbw9BpZy.cjs"),A=require("../noPayout-BXeUw0Qq.cjs"),P=require("../payout-DQ_fmJUA.cjs"),o=require("../bitcoin-B3aqjuMP.cjs"),g=require("../signing-Bnsro0hE.cjs"),d=require("../validation-u8W7Lp2x.cjs"),i=require("../PeginManager-BXg2S1mH.cjs"),p=require("../PayoutManager-DDnNB0mj.cjs"),R=require("../ProtocolParams.abi-BmvHwQJV.cjs"),I=require("../BTCVaultRegistry.abi-ZdPpION2.cjs"),c=require("../errors-BP73_stm.cjs"),t=require("../fundPeginTransaction-DaWoYCgO.cjs"),u=require("../reservation-ho7mjW3X.cjs"),n=require("../psbtInputFields-B1lrwYzH.cjs"),s=require("../mempoolApi-YNkKjQCU.cjs"),r=require("../vault-registry-reader-DNiXOSYM.cjs"),a=require("../types-DnyyBNcC.cjs"),_=require("../errors-Bu0H-dZD.cjs"),e=require("../buildAndBroadcastRefund-B332dykQ.cjs"),T=require("../peginState-BijNNT15.cjs");exports.buildChallengeAssertPsbt=S.buildChallengeAssertPsbt;exports.buildDepositorPayoutPsbt=S.buildDepositorPayoutPsbt;exports.computeNumLocalChallengers=S.computeNumLocalChallengers;Object.defineProperty(exports,"computeMinClaimValue",{enumerable:!0,get:()=>E.computeMinClaimValue});Object.defineProperty(exports,"deriveVaultId",{enumerable:!0,get:()=>E.deriveVaultId});exports.buildPeginInputPsbt=l.buildPeginInputPsbt;exports.buildPeginTxFromFundedPrePegin=l.buildPeginTxFromFundedPrePegin;exports.buildPrePeginPsbt=l.buildPrePeginPsbt;exports.extractPeginInputSignature=l.extractPeginInputSignature;exports.finalizePeginInputPsbt=l.finalizePeginInputPsbt;exports.buildNoPayoutPsbt=A.buildNoPayoutPsbt;exports.buildRefundPsbt=A.buildRefundPsbt;exports.assertPayoutOutputMatchesRegistered=P.assertPayoutOutputMatchesRegistered;exports.buildPayoutPsbt=P.buildPayoutPsbt;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.createTaprootScriptPathSignOptions=g.createTaprootScriptPathSignOptions;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.PeginManager=i.PeginManager;exports.VAULT_APP_NAME=i.VAULT_APP_NAME;exports.buildFundingOutpointsCommitment=i.buildFundingOutpointsCommitment;exports.buildVaultContext=i.buildVaultContext;exports.computeWotsBlockPublicKeysHash=i.computeWotsBlockPublicKeysHash;exports.deriveVaultRoot=i.deriveVaultRoot;exports.deriveWotsBlocksFromSeed=i.deriveWotsBlocksFromSeed;exports.expandAuthAnchor=i.expandAuthAnchor;exports.expandHashlockSecret=i.expandHashlockSecret;exports.expandWotsSeed=i.expandWotsSeed;exports.PayoutManager=p.PayoutManager;exports.computeHashlock=p.computeHashlock;exports.validateSecretAgainstHashlock=p.validateSecretAgainstHashlock;exports.ApplicationRegistryABI=R.ApplicationRegistryABI;exports.ProtocolParamsABI=R.ProtocolParamsABI;exports.BTCVaultRegistryABI=I.BTCVaultRegistryABI;exports.CONTRACT_ERRORS=c.CONTRACT_ERRORS;exports.extractErrorData=c.extractErrorData;exports.getContractErrorMessage=c.getContractErrorMessage;exports.handleContractError=c.handleContractError;exports.isKnownContractError=c.isKnownContractError;exports.BTC_DUST_SAT=t.BTC_DUST_SAT;exports.DUST_THRESHOLD=t.DUST_THRESHOLD;exports.FEE_SAFETY_MARGIN=t.FEE_SAFETY_MARGIN;exports.LOW_RATE_ESTIMATION_ACCURACY_BUFFER=t.LOW_RATE_ESTIMATION_ACCURACY_BUFFER;exports.MAX_NON_LEGACY_OUTPUT_SIZE=t.MAX_NON_LEGACY_OUTPUT_SIZE;exports.P2TR_INPUT_SIZE=t.P2TR_INPUT_SIZE;exports.PEGIN_AUTH_ANCHOR_OUTPUTS=t.PEGIN_AUTH_ANCHOR_OUTPUTS;exports.PEGIN_FIXED_OUTPUTS=t.PEGIN_FIXED_OUTPUTS;exports.SPLIT_TX_FEE_SAFETY_MULTIPLIER=t.SPLIT_TX_FEE_SAFETY_MULTIPLIER;exports.TX_BUFFER_SIZE_OVERHEAD=t.TX_BUFFER_SIZE_OVERHEAD;exports.WALLET_RELAY_FEE_RATE_THRESHOLD=t.WALLET_RELAY_FEE_RATE_THRESHOLD;exports.fundPeginTransaction=t.fundPeginTransaction;exports.parseUnfundedWasmTransaction=t.parseUnfundedWasmTransaction;exports.peginOutputCount=t.peginOutputCount;exports.rateBasedTxBufferFee=t.rateBasedTxBufferFee;exports.UtxoNotAvailableError=u.UtxoNotAvailableError;exports.assertUtxosAvailable=u.assertUtxosAvailable;exports.collectReservedUtxoRefs=u.collectReservedUtxoRefs;exports.extractInputsFromTransaction=u.extractInputsFromTransaction;exports.selectUtxosForDeposit=u.selectUtxosForDeposit;exports.validateUtxosAvailable=u.validateUtxosAvailable;exports.BitcoinScriptType=n.BitcoinScriptType;exports.calculateBtcTxHash=n.calculateBtcTxHash;exports.getDustThreshold=n.getDustThreshold;exports.getPsbtInputFields=n.getPsbtInputFields;exports.getScriptType=n.getScriptType;exports.selectUtxosForPegin=n.selectUtxosForPegin;exports.shouldAddChangeOutput=n.shouldAddChangeOutput;exports.MEMPOOL_API_URLS=s.MEMPOOL_API_URLS;exports.getAddressTxs=s.getAddressTxs;exports.getAddressUtxos=s.getAddressUtxos;exports.getMempoolApiUrl=s.getMempoolApiUrl;exports.getNetworkFees=s.getNetworkFees;exports.getTxHex=s.getTxHex;exports.getTxInfo=s.getTxInfo;exports.getUtxoInfo=s.getUtxoInfo;exports.pushTx=s.pushTx;exports.ServerIdentityError=r.ServerIdentityError;exports.VaultProviderRpcClient=r.VaultProviderRpcClient;exports.ViemProtocolParamsReader=r.ViemProtocolParamsReader;exports.ViemUniversalChallengerReader=r.ViemUniversalChallengerReader;exports.ViemVaultKeeperReader=r.ViemVaultKeeperReader;exports.ViemVaultRegistryReader=r.ViemVaultRegistryReader;exports.VpResponseValidationError=r.VpResponseValidationError;exports.VpTokenRegistry=r.VpTokenRegistry;exports.batchPollByProvider=r.batchPollByProvider;exports.createAuthenticatedVpClient=r.createAuthenticatedVpClient;exports.primeVpTokenRegistry=r.primeVpTokenRegistry;exports.resolveProtocolAddresses=r.resolveProtocolAddresses;exports.validateRequestDepositorClaimerArtifactsResponse=r.validateRequestDepositorClaimerArtifactsResponse;exports.verifyServerIdentity=r.verifyServerIdentity;exports.vpTokenRegistry=r.vpTokenRegistry;exports.DaemonStatus=a.DaemonStatus;exports.JSON_RPC_ERROR_CODES=a.JSON_RPC_ERROR_CODES;exports.JsonRpcClient=a.JsonRpcClient;exports.JsonRpcError=a.JsonRpcError;exports.POST_WOTS_STATUSES=a.POST_WOTS_STATUSES;exports.PRE_DEPOSITOR_SIGNATURES_STATES=a.PRE_DEPOSITOR_SIGNATURES_STATES;exports.RpcErrorCode=a.RpcErrorCode;exports.VP_BATCH_MAX_SIZE=a.VP_BATCH_MAX_SIZE;exports.VP_TERMINAL_STATUSES=a.VP_TERMINAL_STATUSES;exports.VP_TRANSIENT_STATUSES=a.VP_TRANSIENT_STATUSES;exports.isWotsMismatchError=_.isWotsMismatchError;exports.parseFundingOutpointsFromTx=_.parseFundingOutpointsFromTx;exports.BIP68NotMatureError=e.BIP68NotMatureError;exports.ClaimerPegoutStatusValue=e.ClaimerPegoutStatusValue;exports.REFUND_VSIZE=e.REFUND_VSIZE;exports.activateVault=e.activateVault;exports.buildAndBroadcastRefund=e.buildAndBroadcastRefund;exports.estimateRefundFeeSats=e.estimateRefundFeeSats;exports.isDepositAmountValid=e.isDepositAmountValid;exports.isPegoutTerminalStatus=e.isPegoutTerminalStatus;exports.isRecognizedPegoutStatus=e.isRecognizedPegoutStatus;exports.runDepositorPresignFlow=e.runDepositorPresignFlow;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.validateVaultAmounts=e.validateVaultAmounts;exports.validateVaultProviderPubkey=e.validateVaultProviderPubkey;exports.waitForPeginStatus=e.waitForPeginStatus;exports.ContractStatus=T.ContractStatus;exports.PeginAction=T.PeginAction;exports.canPerformAction=T.canPerformAction;exports.getPeginProtocolState=T.getPeginProtocolState;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const S=require("../challengeAssert-Yyyj-EdR.cjs"),E=require("@babylonlabs-io/babylon-tbv-rust-wasm"),l=require("../peginInput-tbw9BpZy.cjs"),A=require("../noPayout-BXeUw0Qq.cjs"),P=require("../payout-DQ_fmJUA.cjs"),o=require("../bitcoin-B3aqjuMP.cjs"),g=require("../signing-Bnsro0hE.cjs"),d=require("../validation-u8W7Lp2x.cjs"),i=require("../PeginManager-D0TW9RET.cjs"),p=require("../PayoutManager-DDnNB0mj.cjs"),R=require("../ProtocolParams.abi-BmvHwQJV.cjs"),I=require("../BTCVaultRegistry.abi-ZdPpION2.cjs"),c=require("../errors-BP73_stm.cjs"),t=require("../fundPeginTransaction-DaWoYCgO.cjs"),u=require("../reservation-ho7mjW3X.cjs"),n=require("../psbtInputFields-B1lrwYzH.cjs"),s=require("../mempoolApi-YNkKjQCU.cjs"),r=require("../vault-registry-reader-DNiXOSYM.cjs"),a=require("../types-DnyyBNcC.cjs"),_=require("../errors-Bu0H-dZD.cjs"),e=require("../buildAndBroadcastRefund-C7hnNWbj.cjs"),T=require("../peginState-BijNNT15.cjs");exports.buildChallengeAssertPsbt=S.buildChallengeAssertPsbt;exports.buildDepositorPayoutPsbt=S.buildDepositorPayoutPsbt;exports.computeNumLocalChallengers=S.computeNumLocalChallengers;Object.defineProperty(exports,"computeMinClaimValue",{enumerable:!0,get:()=>E.computeMinClaimValue});Object.defineProperty(exports,"deriveVaultId",{enumerable:!0,get:()=>E.deriveVaultId});exports.buildPeginInputPsbt=l.buildPeginInputPsbt;exports.buildPeginTxFromFundedPrePegin=l.buildPeginTxFromFundedPrePegin;exports.buildPrePeginPsbt=l.buildPrePeginPsbt;exports.extractPeginInputSignature=l.extractPeginInputSignature;exports.finalizePeginInputPsbt=l.finalizePeginInputPsbt;exports.buildNoPayoutPsbt=A.buildNoPayoutPsbt;exports.buildRefundPsbt=A.buildRefundPsbt;exports.assertPayoutOutputMatchesRegistered=P.assertPayoutOutputMatchesRegistered;exports.buildPayoutPsbt=P.buildPayoutPsbt;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.createTaprootScriptPathSignOptions=g.createTaprootScriptPathSignOptions;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.PeginManager=i.PeginManager;exports.VAULT_APP_NAME=i.VAULT_APP_NAME;exports.buildFundingOutpointsCommitment=i.buildFundingOutpointsCommitment;exports.buildVaultContext=i.buildVaultContext;exports.computeWotsBlockPublicKeysHash=i.computeWotsBlockPublicKeysHash;exports.deriveVaultRoot=i.deriveVaultRoot;exports.deriveWotsBlocksFromSeed=i.deriveWotsBlocksFromSeed;exports.expandAuthAnchor=i.expandAuthAnchor;exports.expandHashlockSecret=i.expandHashlockSecret;exports.expandWotsSeed=i.expandWotsSeed;exports.PayoutManager=p.PayoutManager;exports.computeHashlock=p.computeHashlock;exports.validateSecretAgainstHashlock=p.validateSecretAgainstHashlock;exports.ApplicationRegistryABI=R.ApplicationRegistryABI;exports.ProtocolParamsABI=R.ProtocolParamsABI;exports.BTCVaultRegistryABI=I.BTCVaultRegistryABI;exports.CONTRACT_ERRORS=c.CONTRACT_ERRORS;exports.extractErrorData=c.extractErrorData;exports.getContractErrorMessage=c.getContractErrorMessage;exports.handleContractError=c.handleContractError;exports.isKnownContractError=c.isKnownContractError;exports.BTC_DUST_SAT=t.BTC_DUST_SAT;exports.DUST_THRESHOLD=t.DUST_THRESHOLD;exports.FEE_SAFETY_MARGIN=t.FEE_SAFETY_MARGIN;exports.LOW_RATE_ESTIMATION_ACCURACY_BUFFER=t.LOW_RATE_ESTIMATION_ACCURACY_BUFFER;exports.MAX_NON_LEGACY_OUTPUT_SIZE=t.MAX_NON_LEGACY_OUTPUT_SIZE;exports.P2TR_INPUT_SIZE=t.P2TR_INPUT_SIZE;exports.PEGIN_AUTH_ANCHOR_OUTPUTS=t.PEGIN_AUTH_ANCHOR_OUTPUTS;exports.PEGIN_FIXED_OUTPUTS=t.PEGIN_FIXED_OUTPUTS;exports.SPLIT_TX_FEE_SAFETY_MULTIPLIER=t.SPLIT_TX_FEE_SAFETY_MULTIPLIER;exports.TX_BUFFER_SIZE_OVERHEAD=t.TX_BUFFER_SIZE_OVERHEAD;exports.WALLET_RELAY_FEE_RATE_THRESHOLD=t.WALLET_RELAY_FEE_RATE_THRESHOLD;exports.fundPeginTransaction=t.fundPeginTransaction;exports.parseUnfundedWasmTransaction=t.parseUnfundedWasmTransaction;exports.peginOutputCount=t.peginOutputCount;exports.rateBasedTxBufferFee=t.rateBasedTxBufferFee;exports.UtxoNotAvailableError=u.UtxoNotAvailableError;exports.assertUtxosAvailable=u.assertUtxosAvailable;exports.collectReservedUtxoRefs=u.collectReservedUtxoRefs;exports.extractInputsFromTransaction=u.extractInputsFromTransaction;exports.selectUtxosForDeposit=u.selectUtxosForDeposit;exports.validateUtxosAvailable=u.validateUtxosAvailable;exports.BitcoinScriptType=n.BitcoinScriptType;exports.calculateBtcTxHash=n.calculateBtcTxHash;exports.getDustThreshold=n.getDustThreshold;exports.getPsbtInputFields=n.getPsbtInputFields;exports.getScriptType=n.getScriptType;exports.selectUtxosForPegin=n.selectUtxosForPegin;exports.shouldAddChangeOutput=n.shouldAddChangeOutput;exports.MEMPOOL_API_URLS=s.MEMPOOL_API_URLS;exports.getAddressTxs=s.getAddressTxs;exports.getAddressUtxos=s.getAddressUtxos;exports.getMempoolApiUrl=s.getMempoolApiUrl;exports.getNetworkFees=s.getNetworkFees;exports.getTxHex=s.getTxHex;exports.getTxInfo=s.getTxInfo;exports.getUtxoInfo=s.getUtxoInfo;exports.pushTx=s.pushTx;exports.ServerIdentityError=r.ServerIdentityError;exports.VaultProviderRpcClient=r.VaultProviderRpcClient;exports.ViemProtocolParamsReader=r.ViemProtocolParamsReader;exports.ViemUniversalChallengerReader=r.ViemUniversalChallengerReader;exports.ViemVaultKeeperReader=r.ViemVaultKeeperReader;exports.ViemVaultRegistryReader=r.ViemVaultRegistryReader;exports.VpResponseValidationError=r.VpResponseValidationError;exports.VpTokenRegistry=r.VpTokenRegistry;exports.batchPollByProvider=r.batchPollByProvider;exports.createAuthenticatedVpClient=r.createAuthenticatedVpClient;exports.primeVpTokenRegistry=r.primeVpTokenRegistry;exports.resolveProtocolAddresses=r.resolveProtocolAddresses;exports.validateRequestDepositorClaimerArtifactsResponse=r.validateRequestDepositorClaimerArtifactsResponse;exports.verifyServerIdentity=r.verifyServerIdentity;exports.vpTokenRegistry=r.vpTokenRegistry;exports.DaemonStatus=a.DaemonStatus;exports.JSON_RPC_ERROR_CODES=a.JSON_RPC_ERROR_CODES;exports.JsonRpcClient=a.JsonRpcClient;exports.JsonRpcError=a.JsonRpcError;exports.POST_WOTS_STATUSES=a.POST_WOTS_STATUSES;exports.PRE_DEPOSITOR_SIGNATURES_STATES=a.PRE_DEPOSITOR_SIGNATURES_STATES;exports.RpcErrorCode=a.RpcErrorCode;exports.VP_BATCH_MAX_SIZE=a.VP_BATCH_MAX_SIZE;exports.VP_TERMINAL_STATUSES=a.VP_TERMINAL_STATUSES;exports.VP_TRANSIENT_STATUSES=a.VP_TRANSIENT_STATUSES;exports.isWotsMismatchError=_.isWotsMismatchError;exports.parseFundingOutpointsFromTx=_.parseFundingOutpointsFromTx;exports.BIP68NotMatureError=e.BIP68NotMatureError;exports.ClaimerPegoutStatusValue=e.ClaimerPegoutStatusValue;exports.REFUND_VSIZE=e.REFUND_VSIZE;exports.activateVault=e.activateVault;exports.buildAndBroadcastRefund=e.buildAndBroadcastRefund;exports.estimateRefundFeeSats=e.estimateRefundFeeSats;exports.isDepositAmountValid=e.isDepositAmountValid;exports.isPegoutTerminalStatus=e.isPegoutTerminalStatus;exports.isRecognizedPegoutStatus=e.isRecognizedPegoutStatus;exports.runDepositorPresignFlow=e.runDepositorPresignFlow;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.validateVaultAmounts=e.validateVaultAmounts;exports.validateVaultProviderPubkey=e.validateVaultProviderPubkey;exports.waitForPeginStatus=e.waitForPeginStatus;exports.ContractStatus=T.ContractStatus;exports.PeginAction=T.PeginAction;exports.canPerformAction=T.canPerformAction;exports.getPeginProtocolState=T.getPeginProtocolState;
2
2
  //# sourceMappingURL=index.cjs.map
package/dist/tbv/index.js CHANGED
@@ -6,7 +6,7 @@ import { a as R, b as g, c as _, e as m } from "../payout-BNFMBXS6.js";
6
6
  import { d as f, a as b, e as I, f as v, g as C, h as U, i as V, b as O, p as y, s as F, t as h, u as N, v as B } from "../bitcoin-B0S8SHCX.js";
7
7
  import { c as M } from "../signing-DaLvGwQe.js";
8
8
  import { B as L, H as k, K as W, M as X, T as K } from "../validation-CxqROCno.js";
9
- import { P as G, V as Y, f as Z, g as J, c as j, h as z, d as q, e as Q, a as $, b as aa } from "../PeginManager-C5HaMAcw.js";
9
+ import { P as G, V as Y, f as Z, g as J, c as j, h as z, d as q, e as Q, a as $, b as aa } from "../PeginManager-C8-I4gFH.js";
10
10
  import { P as sa, c as ta, v as ra } from "../PayoutManager-C9XHKZ5j.js";
11
11
  import { A as ia, P as na } from "../ProtocolParams.abi-DXu8L0Fn.js";
12
12
  import { B as ua } from "../BTCVaultRegistry.abi-DbJ5lsFJ.js";
@@ -18,7 +18,7 @@ import { M as Ja, g as ja, a as za, b as qa, c as Qa, d as $a, e as ae, f as ee,
18
18
  import { S as re, V as oe, g as ie, h as ne, i as le, j as ue, a as de, d as pe, b as Pe, f as ce, p as Te, r as Se, v as Ee, c as Ae, e as Re } from "../vault-registry-reader-PsSxB0JZ.js";
19
19
  import { D as _e, b as me, J as xe, a as fe, d as be, P as Ie, R as ve, e as Ce, c as Ue, V as Ve } from "../types-TiIjyo2b.js";
20
20
  import { i as ye, p as Fe } from "../errors-9AkghWyk.js";
21
- import { B as Ne, C as Be, R as De, a as Me, k as He, l as Le, i as ke, j as We, h as Xe, r as Ke, b as we, s as Ge, v as Ye, g as Ze, d as Je, c as je, e as ze, f as qe, w as Qe } from "../buildAndBroadcastRefund-CPjXNaMi.js";
21
+ import { B as Ne, C as Be, R as De, a as Me, k as He, l as Le, i as ke, j as We, h as Xe, r as Ke, b as we, s as Ge, v as Ye, g as Ze, d as Je, c as je, e as ze, f as qe, w as Qe } from "../buildAndBroadcastRefund-B6fGRmvo.js";
22
22
  import { C as as, P as es, c as ss, g as ts } from "../peginState-CBAlxgXk.js";
23
23
  export {
24
24
  ia as ApplicationRegistryABI,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@babylonlabs-io/ts-sdk",
3
- "version": "0.33.6",
3
+ "version": "0.33.8",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -1,2 +0,0 @@
1
- "use strict";var Zt=Object.defineProperty;var Yt=(e,t,n)=>t in e?Zt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var P=(e,t,n)=>Yt(e,typeof t!="symbol"?t+"":t,n);const h=require("./sha2-CsTynrfJ.cjs"),X=require("bitcoinjs-lib"),Y=require("buffer"),C=require("viem"),R=require("./BTCVaultRegistry.abi-ZdPpION2.cjs"),S=require("./errors-BP73_stm.cjs"),it=require("@babylonlabs-io/babylon-tbv-rust-wasm"),v=require("./peginInput-tbw9BpZy.cjs"),d=require("./bitcoin-B3aqjuMP.cjs"),Qt=require("./signing-Bnsro0hE.cjs"),at=require("./validation-u8W7Lp2x.cjs"),Jt=require("./PayoutManager-DDnNB0mj.cjs"),$=require("./psbtInputFields-B1lrwYzH.cjs"),ct=require("./fundPeginTransaction-DaWoYCgO.cjs"),Tt=require("./mempoolApi-YNkKjQCU.cjs");function te(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const n in e)if(n!=="default"){const s=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,s.get?s:{enumerable:!0,get:()=>e[n]})}}return t.default=e,Object.freeze(t)}const kt=te(X),V=BigInt(2**32-1),lt=BigInt(32);function ee(e,t=!1){return t?{h:Number(e&V),l:Number(e>>lt&V)}:{h:Number(e>>lt&V)|0,l:Number(e&V)|0}}function ne(e,t=!1){const n=e.length;let s=new Uint32Array(n),o=new Uint32Array(n);for(let r=0;r<n;r++){const{h:i,l:a}=ee(e[r],t);[s[r],o[r]]=[i,a]}return[s,o]}const se=(e,t,n)=>e<<n|t>>>32-n,oe=(e,t,n)=>t<<n|e>>>32-n,re=(e,t,n)=>t<<n-32|e>>>64-n,ie=(e,t,n)=>e<<n-32|t>>>64-n,ae=106,ce=32,ut=34;function le(e,t,n){const s=d.stripHexPrefix(e),o=kt.Transaction.fromHex(s);if(o.outs.length<=t)throw new Error(`Pre-PegIn auth-anchor OP_RETURN missing: tx has ${o.outs.length} outputs, expected at least ${t+1} (vault outputs + OP_RETURN)`);const r=o.outs[t],i=r.script;if(i.length!==ut||i[0]!==ae||i[1]!==ce)throw new Error(`Pre-PegIn auth-anchor OP_RETURN at vout ${t} has unexpected script encoding (got ${i.length}-byte script with prefix 0x${i.slice(0,Math.min(2,i.length)).toString("hex")}; expected ${ut}-byte OP_RETURN + PUSH32 layout)`);const a=i.slice(2).toString("hex").toLowerCase();if(a!==n.toLowerCase())throw new Error(`Pre-PegIn auth-anchor OP_RETURN payload mismatch at vout ${t}: tx pushes ${a}, expected ${n}`);if(r.value!==0)throw new Error(`Pre-PegIn auth-anchor OP_RETURN at vout ${t} has non-zero value ${r.value}; OP_RETURN outputs must be 0-value`)}class _t{constructor(t,n){P(this,"oHash");P(this,"iHash");P(this,"blockLen");P(this,"outputLen");P(this,"finished",!1);P(this,"destroyed",!1);if(h.ahash(t),h.abytes(n,void 0,"key"),this.iHash=t.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;const s=this.blockLen,o=new Uint8Array(s);o.set(n.length>s?t.create().update(n).digest():n);for(let r=0;r<o.length;r++)o[r]^=54;this.iHash.update(o),this.oHash=t.create();for(let r=0;r<o.length;r++)o[r]^=106;this.oHash.update(o),h.clean(o)}update(t){return h.aexists(this),this.iHash.update(t),this}digestInto(t){h.aexists(this),h.abytes(t,this.outputLen,"output"),this.finished=!0,this.iHash.digestInto(t),this.oHash.update(t),this.oHash.digestInto(t),this.destroy()}digest(){const t=new Uint8Array(this.oHash.outputLen);return this.digestInto(t),t}_cloneInto(t){t||(t=Object.create(Object.getPrototypeOf(this),{}));const{oHash:n,iHash:s,finished:o,destroyed:r,blockLen:i,outputLen:a}=this;return t=t,t.finished=o,t.destroyed=r,t.blockLen=i,t.outputLen=a,t.oHash=n._cloneInto(t.oHash),t.iHash=s._cloneInto(t.iHash),t}clone(){return this._cloneInto()}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}}const Ht=(e,t,n)=>new _t(e,t).update(n).digest();Ht.create=(e,t)=>new _t(e,t);const D=Uint8Array.of(0),ht=Uint8Array.of();function et(e,t,n,s=32){h.ahash(e),h.anumber(s,"length");const o=e.outputLen;if(s>255*o)throw new Error("Length must be <= 255*HashLen");const r=Math.ceil(s/o);n===void 0?n=ht:h.abytes(n,void 0,"info");const i=new Uint8Array(r*o),a=Ht.create(e,t),l=a._cloneInto(),u=new Uint8Array(a.outputLen);for(let c=0;c<r;c++)D[0]=c+1,l.update(c===0?ht:u).update(n).update(D).digestInto(u),i.set(u,o*c),a._cloneInto(l);return a.destroy(),l.destroy(),h.clean(u,D),i.slice(0,s)}const q=new TextEncoder().encode("babylonvault"),dt=255,ft=65535,gt=2,ue="hashlock",he="auth-anchor",de="wots-seed";function At(e){if(!Number.isInteger(e)||e<0||e>4294967295)throw new Error(`i2osp4: value must be a u32, got ${e}`);const t=new Uint8Array(4);return t[0]=e>>>24&255,t[1]=e>>>16&255,t[2]=e>>>8&255,t[3]=e&255,t}function nt(e,t=new Uint8Array(0)){const n=new TextEncoder().encode(e);if(n.length===0||n.length>dt)throw new Error(`info: label length must be in [1, ${dt}], got ${n.length}`);if(t.length>ft)throw new Error(`info: ctx length must be in [0, ${ft}], got ${t.length}`);const s=q.length+1+n.length+gt+t.length,o=new Uint8Array(s);let r=0;return o.set(q,r),r+=q.length,o[r]=n.length,r+=1,o.set(n,r),r+=n.length,o[r]=t.length>>>8&255,o[r+1]=t.length&255,r+=gt,o.set(t,r),o}const pt=32,fe=32,ge=32,pe=64;function st(e){if(e.length!==pt)throw new Error(`vault-secrets: root must be exactly ${pt} bytes, got ${e.length}`)}function It(e){return st(e),et(h.sha256,e,nt(he),fe)}function Bt(e,t){return st(e),et(h.sha256,e,nt(ue,At(t)),ge)}function St(e,t){return st(e),et(h.sha256,e,nt(de,At(t)),pe)}const N=32,j=32,Q=36,vt=32,K=4,me=K+N+K+vt;function J(e,t,n){e[t]=n>>>24&255,e[t+1]=n>>>16&255,e[t+2]=n>>>8&255,e[t+3]=n&255}function xe(e){if(e.txid.length!==j)throw new Error(`outpoint.txid must be exactly ${j} bytes, got ${e.txid.length}`);if(!Number.isInteger(e.vout)||e.vout<0||e.vout>4294967295)throw new Error(`outpoint.vout must be a u32, got ${e.vout}`);const t=new Uint8Array(Q);return t.set(e.txid,0),J(t,j,e.vout),t}function mt(e,t){const n=Math.min(e.length,t.length);for(let s=0;s<n;s++)if(e[s]!==t[s])return e[s]-t[s];return e.length-t.length}function Ot(e){if(e.length===0)throw new Error("buildFundingOutpointsCommitment: outpoints must be non-empty");const t=e.map(xe);t.sort(mt);for(let s=1;s<t.length;s++)if(mt(t[s-1],t[s])===0)throw new Error("buildFundingOutpointsCommitment: duplicate outpoint detected");const n=new Uint8Array(t.length*Q);for(let s=0;s<t.length;s++)n.set(t[s],s*Q);return h.sha256(n)}function Ct(e){if(e.depositorBtcPubkey.length!==N)throw new Error(`vaultContext: depositorBtcPubkey must be exactly ${N} bytes, got ${e.depositorBtcPubkey.length}`);const t=Ot(e.fundingOutpoints),n=new Uint8Array(me);let s=0;return J(n,s,N),s+=K,n.set(e.depositorBtcPubkey,s),s+=N,J(n,s,vt),s+=K,n.set(t,s),n}const Rt="babylon-vault",$t=32,xt=$t*2,Pe=/^[0-9a-f]+$/;async function Ut(e,t){const n=Ct(t),s=d.uint8ArrayToHex(n),o=await e.deriveContextHash(Rt,s);if(typeof o!="string")throw new Error(`deriveVaultRoot: wallet must return a string, got ${typeof o}`);if(o.length!==xt)throw new Error(`deriveVaultRoot: wallet must return a ${xt}-character hex string (${$t} bytes), got length ${o.length}`);if(!Pe.test(o))throw new Error("deriveVaultRoot: wallet must return lowercase hex per derive-context-hash.md §2.1; got value with non-lowercase or non-hex characters");return d.hexToUint8Array(o)}const we=Uint8Array.from([7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8]),Lt=Uint8Array.from(new Array(16).fill(0).map((e,t)=>t)),be=Lt.map(e=>(9*e+5)%16),Nt=(()=>{const n=[[Lt],[be]];for(let s=0;s<4;s++)for(let o of n)o.push(o[s].map(r=>we[r]));return n})(),Vt=Nt[0],Wt=Nt[1],Mt=[[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8],[12,13,11,15,6,9,9,7,12,15,11,13,7,8,7,7],[13,15,14,11,7,7,6,8,13,14,13,12,5,5,6,9],[14,11,12,14,8,6,5,5,15,12,15,14,9,9,8,6],[15,12,13,13,9,5,8,6,14,11,12,11,8,6,5,5]].map(e=>Uint8Array.from(e)),ye=Vt.map((e,t)=>e.map(n=>Mt[t][n])),Ee=Wt.map((e,t)=>e.map(n=>Mt[t][n])),Te=Uint32Array.from([0,1518500249,1859775393,2400959708,2840853838]),ke=Uint32Array.from([1352829926,1548603684,1836072691,2053994217,0]);function Pt(e,t,n,s){return e===0?t^n^s:e===1?t&n|~t&s:e===2?(t|~n)^s:e===3?t&s|n&~s:t^(n|~s)}const W=new Uint32Array(16);class _e extends h.HashMD{constructor(){super(64,20,8,!0);P(this,"h0",1732584193);P(this,"h1",-271733879);P(this,"h2",-1732584194);P(this,"h3",271733878);P(this,"h4",-1009589776)}get(){const{h0:n,h1:s,h2:o,h3:r,h4:i}=this;return[n,s,o,r,i]}set(n,s,o,r,i){this.h0=n|0,this.h1=s|0,this.h2=o|0,this.h3=r|0,this.h4=i|0}process(n,s){for(let f=0;f<16;f++,s+=4)W[f]=n.getUint32(s,!0);let o=this.h0|0,r=o,i=this.h1|0,a=i,l=this.h2|0,u=l,c=this.h3|0,w=c,b=this.h4|0,y=b;for(let f=0;f<5;f++){const m=4-f,_=Te[f],I=ke[f],g=Vt[f],T=Wt[f],p=ye[f],k=Ee[f];for(let E=0;E<16;E++){const x=h.rotl(o+Pt(f,i,l,c)+W[g[E]]+_,p[E])+b|0;o=b,b=c,c=h.rotl(l,10)|0,l=i,i=x}for(let E=0;E<16;E++){const x=h.rotl(r+Pt(m,a,u,w)+W[T[E]]+I,k[E])+y|0;r=y,y=w,w=h.rotl(u,10)|0,u=a,a=x}}this.set(this.h1+l+w|0,this.h2+c+y|0,this.h3+b+r|0,this.h4+o+a|0,this.h0+i+u|0)}roundClean(){h.clean(W)}destroy(){this.destroyed=!0,h.clean(this.buffer),this.set(0,0,0,0,0)}}const He=h.createHasher(()=>new _e),Ae=BigInt(0),U=BigInt(1),Ie=BigInt(2),Be=BigInt(7),Se=BigInt(256),ve=BigInt(113),Ft=[],Xt=[],Kt=[];for(let e=0,t=U,n=1,s=0;e<24;e++){[n,s]=[s,(2*n+3*s)%5],Ft.push(2*(5*s+n)),Xt.push((e+1)*(e+2)/2%64);let o=Ae;for(let r=0;r<7;r++)t=(t<<U^(t>>Be)*ve)%Se,t&Ie&&(o^=U<<(U<<BigInt(r))-U);Kt.push(o)}const Dt=ne(Kt,!0),Oe=Dt[0],Ce=Dt[1],wt=(e,t,n)=>n>32?re(e,t,n):se(e,t,n),bt=(e,t,n)=>n>32?ie(e,t,n):oe(e,t,n);function Re(e,t=24){const n=new Uint32Array(10);for(let s=24-t;s<24;s++){for(let i=0;i<10;i++)n[i]=e[i]^e[i+10]^e[i+20]^e[i+30]^e[i+40];for(let i=0;i<10;i+=2){const a=(i+8)%10,l=(i+2)%10,u=n[l],c=n[l+1],w=wt(u,c,1)^n[a],b=bt(u,c,1)^n[a+1];for(let y=0;y<50;y+=10)e[i+y]^=w,e[i+y+1]^=b}let o=e[2],r=e[3];for(let i=0;i<24;i++){const a=Xt[i],l=wt(o,r,a),u=bt(o,r,a),c=Ft[i];o=e[c],r=e[c+1],e[c]=l,e[c+1]=u}for(let i=0;i<50;i+=10){for(let a=0;a<10;a++)n[a]=e[i+a];for(let a=0;a<10;a++)e[i+a]^=~n[(a+2)%10]&n[(a+4)%10]}e[0]^=Oe[s],e[1]^=Ce[s]}h.clean(n)}class ot{constructor(t,n,s,o=!1,r=24){P(this,"state");P(this,"pos",0);P(this,"posOut",0);P(this,"finished",!1);P(this,"state32");P(this,"destroyed",!1);P(this,"blockLen");P(this,"suffix");P(this,"outputLen");P(this,"enableXOF",!1);P(this,"rounds");if(this.blockLen=t,this.suffix=n,this.outputLen=s,this.enableXOF=o,this.rounds=r,h.anumber(s,"outputLen"),!(0<t&&t<200))throw new Error("only keccak-f1600 function is supported");this.state=new Uint8Array(200),this.state32=h.u32(this.state)}clone(){return this._cloneInto()}keccak(){h.swap32IfBE(this.state32),Re(this.state32,this.rounds),h.swap32IfBE(this.state32),this.posOut=0,this.pos=0}update(t){h.aexists(this),h.abytes(t);const{blockLen:n,state:s}=this,o=t.length;for(let r=0;r<o;){const i=Math.min(n-this.pos,o-r);for(let a=0;a<i;a++)s[this.pos++]^=t[r++];this.pos===n&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;const{state:t,suffix:n,pos:s,blockLen:o}=this;t[s]^=n,(n&128)!==0&&s===o-1&&this.keccak(),t[o-1]^=128,this.keccak()}writeInto(t){h.aexists(this,!1),h.abytes(t),this.finish();const n=this.state,{blockLen:s}=this;for(let o=0,r=t.length;o<r;){this.posOut>=s&&this.keccak();const i=Math.min(s-this.posOut,r-o);t.set(n.subarray(this.posOut,this.posOut+i),o),this.posOut+=i,o+=i}return t}xofInto(t){if(!this.enableXOF)throw new Error("XOF is not possible for this instance");return this.writeInto(t)}xof(t){return h.anumber(t),this.xofInto(new Uint8Array(t))}digestInto(t){if(h.aoutput(t,this),this.finished)throw new Error("digest() was already called");return this.writeInto(t),this.destroy(),t}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,h.clean(this.state)}_cloneInto(t){const{blockLen:n,suffix:s,outputLen:o,rounds:r,enableXOF:i}=this;return t||(t=new ot(n,s,o,i,r)),t.state32.set(this.state32),t.pos=this.pos,t.posOut=this.posOut,t.finished=this.finished,t.rounds=r,t.suffix=s,t.outputLen=o,t.enableXOF=i,t.destroyed=this.destroyed,t}}const $e=(e,t,n,s={})=>h.createHasher(()=>new ot(t,e,n),s),Ue=$e(1,136,32),yt=64,A=20,tt=4,qt=2,Le=0,Ne=1,M=[64,64],Ve=e=>Array.from(e).map(t=>t.toString(16).padStart(2,"0")).join("");function rt(e){return He(h.sha256(e))}function jt(e){return(1<<e)-1}function We(e){let t=1;for(;t*t<e+1;)t++;return Math.max(t,2)}function Me(e){const t=tt,n=e*jt(t);return{d:t,n:e,checksum_radix:We(n)}}function z(e,t){const n=[];let s=t;for(;s>0;)n.push(s&255),s>>>=8;const o=new Uint8Array(e.length+n.length);o.set(e);for(let r=0;r<n.length;r++)o[e.length+r]=n[r];return rt(o)}function G(e,t){let n=e;for(let s=0;s<t;s++)n=rt(n);return n}function Fe(e,t){const n=jt(t.d),s=t.checksum_radix-1,o=Math.floor(t.n*n/t.checksum_radix),r=[];for(let c=0;c<t.n;c++){const w=z(e,c+qt),b=G(w,n);r.push(Array.from(b))}const i=z(e,Le),a=G(i,s),l=z(e,Ne),u=G(l,o);return{config:t,message_terminals:r,checksum_major_terminal:Array.from(u),checksum_minor_terminal:Array.from(a)}}async function zt(e){try{if(e.length!==yt)throw new Error(`WOTS seed must be exactly ${yt} bytes, got ${e.length}`);const t=[];for(let n=0;n<M.length;n++){const s=M[n],o=Me(s),r=new Uint8Array(e.length+1);r.set(e),r[e.length]=n;const i=rt(r);try{const a=Fe(i,o);if(a.config.d!==tt)throw new Error(`Block ${n}: expected d=${tt}, got d=${a.config.d}`);if(a.config.n!==s)throw new Error(`Block ${n}: expected n=${s}, got n=${a.config.n}`);if(a.message_terminals.length!==s)throw new Error(`Block ${n}: expected ${s} message terminals, got ${a.message_terminals.length}`);for(let l=0;l<a.message_terminals.length;l++)if(a.message_terminals[l].length!==A)throw new Error(`Block ${n} terminal ${l}: expected ${A} bytes, got ${a.message_terminals[l].length}`);if(a.checksum_minor_terminal.length!==A)throw new Error(`Block ${n} checksum_minor: expected ${A} bytes`);if(a.checksum_major_terminal.length!==A)throw new Error(`Block ${n} checksum_major: expected ${A} bytes`);t.push(a)}finally{r.fill(0),i.fill(0)}}if(t.length!==M.length)throw new Error(`Expected ${M.length} blocks, got ${t.length}`);return t}finally{e.fill(0)}}function Z(e,t,n){if(e.length!==A)throw new Error(`Block ${t} ${n}: expected ${A} bytes, got ${e.length}`);for(let s=0;s<e.length;s++){const o=e[s];if(!Number.isInteger(o)||o<0||o>255)throw new Error(`Block ${t} ${n}[${s}]: invalid byte value ${o}`)}}function Gt(e){if(e.length===0)throw new Error("Public keys array must not be empty");for(let r=0;r<e.length;r++){const i=e[r];Z(i.checksum_minor_terminal,r,"checksum_minor_terminal"),Z(i.checksum_major_terminal,r,"checksum_major_terminal");for(let a=0;a<i.message_terminals.length;a++)Z(i.message_terminals[a],r,`message_terminal[${a}]`)}let t=0;for(const r of e)t+=qt+r.message_terminals.length;const n=new Uint8Array(t*A);let s=0;for(const r of e){n.set(r.checksum_minor_terminal,s),s+=A,n.set(r.checksum_major_terminal,s),s+=A;for(const i of r.message_terminals)n.set(i,s),s+=A}const o=Ue(n);return`0x${Ve(o)}`}async function Xe(e,t){const n=[],s=[],o=[],r=[];try{for(let i=0;i<t;i++){const a=St(e,i);try{const u=await zt(a);n.push(u),s.push(Gt(u))}finally{a.fill(0)}const l=Bt(e,i);try{const u=d.uint8ArrayToHex(l);o.push(u),r.push(Jt.computeHashlock(d.ensureHexPrefix(u)).slice(2))}finally{l.fill(0)}}}finally{e.fill(0)}return{perVaultWotsKeys:n,wotsPkHashes:s,htlcSecretHexes:o,hashlocks:r}}const Ke=/^0x[0-9a-f]+$/i,De=/^[0-9a-f]+$/i,qe=/^[A-Za-z0-9+/]+={0,2}$/;function L(e){if(typeof e!="string"||e.length===0)throw new Error("BTC wallet returned empty public key");return d.processPublicKeyToXOnly(e).toLowerCase()}function je(e){if(typeof e!="string"||e.length===0)throw new Error("BTC wallet returned empty BIP-322 signature");if(e.startsWith("0x")||e.startsWith("0X")){if(!Ke.test(e)||e.length<4||e.length%2!==0)throw new Error("BTC wallet returned malformed hex BIP-322 signature");return e.toLowerCase()}if(De.test(e)){if(e.length%2!==0)throw new Error("BTC wallet returned malformed hex BIP-322 signature");return`0x${e.toLowerCase()}`}if(!qe.test(e)||e.length%4!==0)throw new Error("BTC wallet returned malformed base64 BIP-322 signature");const t=Y.Buffer.from(e,"base64");if(t.length===0||t.toString("base64")!==e)throw new Error("BTC wallet returned malformed base64 BIP-322 signature");return`0x${t.toString("hex")}`}async function ze(e,t,n){if(typeof e.signPsbts=="function"){const o=await e.signPsbts(t,n);if(o.length!==t.length)throw new Error(`Expected ${t.length} signed PSBTs but received ${o.length}`);return o}const s=[];for(let o=0;o<t.length;o++){const r=await e.signPsbt(t[o],n[o]);s.push(r)}return s}const Ge=0,F="00".repeat(32);function Ze(e,t,n,s){const o=n==null?void 0:n[`${e}:${t}`];return o?Promise.resolve({txid:e,vout:t,value:o.value,scriptPubKey:o.scriptPubKey}):Tt.getUtxoInfo(e,t,s)}const Et=12e4;class Ye{constructor(t){P(this,"config");this.config=t}async preparePegin(t){if(t.amounts.length===0)throw new Error("amounts must contain at least one entry");const n=await this.config.btcWallet.getPublicKeyHex(),s=L(n),o=await this.prepareSizing(s,t),r=o.selectedUTXOs.map(m=>({txid:d.hexToUint8Array(m.txid),vout:m.vout})),i=await Ut(this.config.btcWallet,{depositorBtcPubkey:d.hexToUint8Array(s),fundingOutpoints:r});let a,l;try{const m=It(i);try{a=d.uint8ArrayToHex(m),l=d.uint8ArrayToHex(h.sha256(m))}finally{m.fill(0)}}catch(m){throw i.fill(0),m}const u=await Xe(i,t.amounts.length),{perVaultWotsKeys:c,wotsPkHashes:w,htlcSecretHexes:b,hashlocks:y}=u,f=await this.preparePeginCommit({depositorBtcPubkeyRaw:n,depositorBtcPubkey:s,hashlocks:y,authAnchorHash:l,sizing:o,params:t});for(let m=0;m<f.perVault.length;m++)if(f.perVault[m].htlcVout!==m)throw new Error(`Internal invariant violation: htlcVout/index mismatch at vault ${m} (expected ${m}, got ${f.perVault[m].htlcVout})`);return le(f.fundedPrePeginTxHex,t.amounts.length,l),{transaction:{...f,selectedUTXOs:o.selectedUTXOs,fee:o.fee,changeAmount:o.changeAmount},depositorBtcPubkey:s,derivedSecrets:{perVaultWotsKeys:c,wotsPkHashes:w,htlcSecretHexes:b,authAnchorHex:a}}}async prepareSizing(t,n){const s=n.amounts.map(()=>F),o=n.vaultKeeperBtcPubkeys.length,r=await v.buildPrePeginPsbt({depositorPubkey:t,vaultProviderPubkey:d.stripHexPrefix(n.vaultProviderBtcPubkey),vaultKeeperPubkeys:n.vaultKeeperBtcPubkeys.map(d.stripHexPrefix),universalChallengerPubkeys:n.universalChallengerBtcPubkeys.map(d.stripHexPrefix),hashlocks:s,timelockRefund:n.timelockRefund,pegInAmounts:n.amounts,feeRate:n.protocolFeeRate,numLocalChallengers:o,councilQuorum:n.councilQuorum,councilSize:n.councilSize,network:this.config.btcNetwork,authAnchorHash:F}),i=$.selectUtxosForPegin([...n.availableUTXOs],r.totalOutputValue,n.mempoolFeeRate,ct.peginOutputCount(r.htlcValues.length,F));return{selectedUTXOs:i.selectedUTXOs,fee:i.fee,changeAmount:i.changeAmount}}async preparePeginCommit(t){const{depositorBtcPubkeyRaw:n,depositorBtcPubkey:s,hashlocks:o,authAnchorHash:r,sizing:i,params:a}=t,l=F.toLowerCase();for(let x=0;x<o.length;x++)if(o[x].toLowerCase()===l)throw new Error(`preparePeginCommit refusing to build with sizing-pass placeholder hashlock at vault ${x} — internal substitution bug`);if(r.toLowerCase()===l)throw new Error("preparePeginCommit refusing to build with sizing-pass placeholder auth-anchor hash — internal substitution bug");const u=d.stripHexPrefix(a.vaultProviderBtcPubkey),c=a.vaultKeeperBtcPubkeys.map(d.stripHexPrefix),w=a.universalChallengerBtcPubkeys.map(d.stripHexPrefix),b=c.length,y={depositorPubkey:s,vaultProviderPubkey:u,vaultKeeperPubkeys:c,universalChallengerPubkeys:w,hashlocks:o,timelockRefund:a.timelockRefund,pegInAmounts:a.amounts,feeRate:a.protocolFeeRate,numLocalChallengers:b,councilQuorum:a.councilQuorum,councilSize:a.councilSize,network:this.config.btcNetwork,authAnchorHash:r},f=await v.buildPrePeginPsbt(y),m=d.getNetwork(this.config.btcNetwork),_=ct.fundPeginTransaction({unfundedTxHex:f.psbtHex,selectedUTXOs:i.selectedUTXOs,changeAddress:a.changeAddress,changeAmount:i.changeAmount,network:m}),I=d.stripHexPrefix($.calculateBtcTxHash(_)),g=[],T=[],p=[];for(let x=0;x<o.length;x++){const H=await v.buildPeginTxFromFundedPrePegin({prePeginParams:y,timelockPegin:a.timelockPegin,fundedPrePeginTxHex:_,htlcVout:x}),B=await v.buildPeginInputPsbt({peginTxHex:H.txHex,fundedPrePeginTxHex:_,depositorPubkey:s,vaultProviderPubkey:u,vaultKeeperPubkeys:c,universalChallengerPubkeys:w,hashlock:o[x],timelockRefund:a.timelockRefund,network:this.config.btcNetwork});g.push(H),T.push(B.psbtHex),p.push(Qt.createTaprootScriptPathSignOptions(n,1))}const k=await ze(this.config.btcWallet,T,p),E=[];for(let x=0;x<k.length;x++){const H=v.extractPeginInputSignature(k[x],s),B=v.finalizePeginInputPsbt(k[x]);E.push({htlcVout:x,htlcValue:f.htlcValues[x],peginTxHex:B,peginTxid:g[x].txid,peginInputSignature:H,vaultScriptPubKey:g[x].vaultScriptPubKey})}return{fundedPrePeginTxHex:_,prePeginTxid:I,perVault:E}}async signAndBroadcast(t){const{fundedPrePeginTxHex:n,depositorBtcPubkey:s}=t,o=n.startsWith("0x")?n.slice(2):n,r=X.Transaction.fromHex(o);if(r.ins.length===0)throw new Error("Transaction has no inputs");const i=new X.Psbt;i.setVersion(r.version),i.setLocktime(r.locktime);const a=Y.Buffer.from(L(s),"hex"),l=this.config.mempoolApiUrl,u=r.ins.map(g=>{const T=Y.Buffer.from(g.hash).reverse().toString("hex"),p=g.index;return Ze(T,p,t.localPrevouts,l).then(k=>({input:g,utxoData:k,txid:T,vout:p}))}),c=await Promise.all(u),w=c.reduce((g,T)=>g+BigInt(T.utxoData.value),0n),b=r.outs.reduce((g,T)=>g+BigInt(T.value),0n);if(w<b)throw new Error(`UTXO value mismatch: total input value (${w} sat) is less than total output value (${b} sat). This may indicate the mempool API returned manipulated UTXO data.`);const y=w-b;if(y>at.MAX_REASONABLE_FEE_SATS)throw new Error(`Implied transaction fee (${y} sat) exceeds maximum reasonable fee (${at.MAX_REASONABLE_FEE_SATS} sat). This may indicate manipulated UTXO data.`);for(const{input:g,utxoData:T,txid:p,vout:k}of c){const E=$.getPsbtInputFields({value:T.value,scriptPubKey:T.scriptPubKey},a);i.addInput({hash:g.hash,index:g.index,sequence:g.sequence,...E})}for(const g of r.outs)i.addOutput({script:g.script,value:g.value});const f=await this.config.btcWallet.signPsbt(i.toHex()),m=X.Psbt.fromHex(f);try{m.finalizeAllInputs()}catch(g){if(!m.data.inputs.every(p=>p.finalScriptWitness||p.finalScriptSig))throw new Error(`PSBT finalization failed and wallet did not auto-finalize: ${g}`)}const _=m.extractTransaction().toHex();return await Tt.pushTx(_,l)}async registerPeginOnChain(t){const{unsignedPrePeginTx:n,depositorSignedPeginTx:s,vaultProvider:o,hashlock:r,htlcVout:i,depositorPayoutBtcAddress:a,depositorWotsPkHash:l,popSignature:u}=t;if(!this.config.ethWallet.account)throw new Error("Ethereum wallet account not found");const c=this.config.ethWallet.account.address;if(!C.isAddressEqual(u.depositorEthAddress,c))throw new Error(`Proof of possession was signed for ${u.depositorEthAddress} but the Ethereum wallet is currently connected to ${c}. Reconnect the original account or call signProofOfPossession() again.`);await this.assertPopMatchesBtcWallet(u);const w=u.btcPopSignature,b=d.ensureHexPrefix(u.depositorBtcPubkey),y=d.ensureHexPrefix(n),f=d.ensureHexPrefix(s),m=await this.resolvePayoutScriptPubKey(a),_=$.calculateBtcTxHash(f),I=await it.deriveVaultId(d.stripHexPrefix(_),d.stripHexPrefix(c)),g=d.ensureHexPrefix(I);if(await this.checkVaultExists(g))throw new Error(`Vault already exists (ID: ${g}, peginTxHash: ${_}). Vault IDs are derived from the pegin transaction hash and depositor address. To create a new vault, use different UTXOs or a different amount to generate a unique transaction.`);const p=this.config.publicClient;let k;try{k=await p.readContract({address:this.config.vaultContracts.btcVaultRegistry,abi:R.BTCVaultRegistryABI,functionName:"getPegInFee",args:[o]})}catch(O){throw new Error("Failed to query pegin fee from the contract. Please check your network connection and that the contract address is correct.",{cause:O})}const E=C.encodeFunctionData({abi:R.BTCVaultRegistryABI,functionName:"submitPeginRequest",args:[c,b,w,y,f,o,r,i,m,l]});let x;try{x=await p.estimateGas({to:this.config.vaultContracts.btcVaultRegistry,data:E,value:k,account:this.config.ethWallet.account.address})}catch(O){S.handleContractError(O)}let H;try{H=await this.config.ethWallet.sendTransaction({to:this.config.vaultContracts.btcVaultRegistry,data:E,value:k,account:this.config.ethWallet.account,chain:this.config.ethChain,gas:x})}catch(O){S.handleContractError(O)}const B=await p.waitForTransactionReceipt({hash:H,timeout:Et});return B.status==="reverted"&&S.handleContractError(new Error(`Transaction reverted. Hash: ${H}. Check the transaction on block explorer for details.`)),{ethTxHash:B.transactionHash,vaultId:g,peginTxHash:_}}async registerPeginBatchOnChain(t){const{vaultProvider:n,unsignedPrePeginTx:s,requests:o,popSignature:r}=t;if(o.length===0)throw new Error("Batch pegin requires at least one request");if(!this.config.ethWallet.account)throw new Error("Ethereum wallet account not found");const i=this.config.ethWallet.account.address;if(!C.isAddressEqual(r.depositorEthAddress,i))throw new Error(`Proof of possession was signed for ${r.depositorEthAddress} but the Ethereum wallet is currently connected to ${i}. Reconnect the original account or call signProofOfPossession() again.`);await this.assertPopMatchesBtcWallet(r);const a=r.btcPopSignature,l=[];for(const p of o)l.push(await this.resolvePayoutScriptPubKey(p.depositorPayoutBtcAddress));const u=[];for(const p of o){const k=d.ensureHexPrefix(p.depositorSignedPeginTx),E=$.calculateBtcTxHash(k),x=await it.deriveVaultId(d.stripHexPrefix(E),d.stripHexPrefix(i)),H=d.ensureHexPrefix(x);if(await this.checkVaultExists(H))throw new Error(`Vault already exists (ID: ${H}, peginTxHash: ${E}). To create a new vault, use different UTXOs or a different amount.`);u.push({vaultId:H,peginTxHash:E})}const c=this.config.publicClient;let w;try{w=await c.readContract({address:this.config.vaultContracts.btcVaultRegistry,abi:R.BTCVaultRegistryABI,functionName:"getPegInFee",args:[n]})}catch(p){throw new Error("Failed to query pegin fee from the contract. Please check your network connection and that the contract address is correct.",{cause:p})}const b=w*BigInt(o.length),y=d.ensureHexPrefix(r.depositorBtcPubkey),f=d.ensureHexPrefix(s),m=o.map((p,k)=>({depositorBtcPubKey:y,btcPopSignature:a,unsignedPrePeginTx:f,depositorSignedPeginTx:d.ensureHexPrefix(p.depositorSignedPeginTx),hashlock:p.hashlock,htlcVout:p.htlcVout,referralCode:Ge,depositorPayoutBtcAddress:l[k],depositorWotsPkHash:p.depositorWotsPkHash})),_=C.encodeFunctionData({abi:R.BTCVaultRegistryABI,functionName:"submitPeginRequestBatch",args:[i,n,m]});let I;try{I=await c.estimateGas({to:this.config.vaultContracts.btcVaultRegistry,data:_,value:b,account:this.config.ethWallet.account.address})}catch(p){S.handleContractError(p)}let g;try{g=await this.config.ethWallet.sendTransaction({to:this.config.vaultContracts.btcVaultRegistry,data:_,value:b,account:this.config.ethWallet.account,chain:this.config.ethChain,gas:I})}catch(p){S.handleContractError(p)}const T=await c.waitForTransactionReceipt({hash:g,timeout:Et});return T.status==="reverted"&&S.handleContractError(new Error(`Batch transaction reverted. Hash: ${g}. Check the transaction on block explorer for details.`)),{ethTxHash:T.transactionHash,vaults:u}}async checkVaultExists(t){return(await this.config.publicClient.readContract({address:this.config.vaultContracts.btcVaultRegistry,abi:R.BTCVaultRegistryABI,functionName:"getBtcVaultBasicInfo",args:[t]})).depositor!==C.zeroAddress}async resolvePayoutScriptPubKey(t){let n;if(t)n=t;else{n=await this.config.btcWallet.getAddress();const o=await this.config.btcWallet.getPublicKeyHex();if(!d.isAddressFromPublicKey(n,o,this.config.btcNetwork))throw new Error("The BTC address from your wallet does not match the wallet's public key. Please ensure your wallet is using a supported address type (Taproot or Native SegWit).")}const s=d.getNetwork(this.config.btcNetwork);try{return`0x${kt.address.toOutputScript(n,s).toString("hex")}`}catch{throw new Error(`Invalid BTC payout address: "${n}". Please provide a valid Bitcoin address for the ${this.config.btcNetwork} network.`)}}async signProofOfPossession(){if(!this.config.ethWallet.account)throw new Error("Ethereum wallet account not found");const t=this.config.ethWallet.account.address,n=L(await this.config.btcWallet.getPublicKeyHex()),s=this.config.vaultContracts.btcVaultRegistry,o=`${t.toLowerCase()}:${this.config.ethChain.id}:pegin:${s.toLowerCase()}`,r=await this.config.btcWallet.signMessage(o,"bip322-simple");return{btcPopSignature:je(r),depositorEthAddress:t,depositorBtcPubkey:n}}async assertPopMatchesBtcWallet(t){const n=L(await this.config.btcWallet.getPublicKeyHex()),s=L(t.depositorBtcPubkey);if(n!==s)throw new Error(`Proof of possession was signed with BTC pubkey ${s} but the BTC wallet is currently connected to ${n}. Reconnect the original wallet or call signProofOfPossession() again.`)}getNetwork(){return this.config.btcNetwork}getVaultContractAddress(){return this.config.vaultContracts.btcVaultRegistry}}exports.PeginManager=Ye;exports.VAULT_APP_NAME=Rt;exports.buildFundingOutpointsCommitment=Ot;exports.buildVaultContext=Ct;exports.computeWotsBlockPublicKeysHash=Gt;exports.deriveVaultRoot=Ut;exports.deriveWotsBlocksFromSeed=zt;exports.expandAuthAnchor=It;exports.expandHashlockSecret=Bt;exports.expandWotsSeed=St;
2
- //# sourceMappingURL=PeginManager-BXg2S1mH.cjs.map