@babylonlabs-io/ts-sdk 0.33.5 → 0.33.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +1 -1
- package/dist/index.js +1 -1
- package/dist/tbv/core/clients/index.cjs +1 -1
- package/dist/tbv/core/clients/index.js +1 -1
- package/dist/tbv/core/clients/vault-provider/auth/serverIdentity.d.ts +12 -3
- package/dist/tbv/core/clients/vault-provider/auth/serverIdentity.d.ts.map +1 -1
- package/dist/tbv/core/index.cjs +1 -1
- package/dist/tbv/core/index.js +1 -1
- package/dist/tbv/index.cjs +1 -1
- package/dist/tbv/index.js +1 -1
- package/dist/vault-registry-reader-DNiXOSYM.cjs +2 -0
- package/dist/vault-registry-reader-DNiXOSYM.cjs.map +1 -0
- package/dist/{vault-registry-reader-BDFpXeH7.js → vault-registry-reader-PsSxB0JZ.js} +166 -156
- package/dist/vault-registry-reader-PsSxB0JZ.js.map +1 -0
- package/package.json +1 -1
- package/dist/vault-registry-reader-BDFpXeH7.js.map +0 -1
- package/dist/vault-registry-reader-ejm2UYzk.cjs +0 -2
- package/dist/vault-registry-reader-ejm2UYzk.cjs.map +0 -1
package/dist/index.cjs
CHANGED
|
@@ -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"),m=require("./shared/index.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-
|
|
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"),m=require("./shared/index.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.BitcoinNetworks=m.BitcoinNetworks;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/index.js
CHANGED
|
@@ -16,7 +16,7 @@ import { B as ga, D as _a, F as ma, L as xa, M as fa, P as ba, b as Ia, a as va,
|
|
|
16
16
|
import { U as Ba, a as Da, c as Ma, e as Ha, s as La, v as ka } from "./reservation-CHUGW0F_.js";
|
|
17
17
|
import { B as Xa, c as wa, g as Ka, d as Ga, b as Ya, s as Za, a as Ja } from "./psbtInputFields-2224j2ZY.js";
|
|
18
18
|
import { M as za, g as qa, a as Qa, b as $a, c as ae, d as ee, e as se, f as te, p as re } from "./mempoolApi-CAIge7Nj.js";
|
|
19
|
-
import { S as ie, V as ne, g as le, h as ue, i as de, j as pe, a as Pe, d as ce, b as Te, f as Se, p as Ee, r as Ae, v as Re, c as ge, e as _e } from "./vault-registry-reader-
|
|
19
|
+
import { S as ie, V as ne, g as le, h as ue, i as de, j as pe, a as Pe, d as ce, b as Te, f as Se, p as Ee, r as Ae, v as Re, c as ge, e as _e } from "./vault-registry-reader-PsSxB0JZ.js";
|
|
20
20
|
import { D as xe, b as fe, J as be, a as Ie, d as ve, P as Ce, R as Ue, e as Ve, c as Oe, V as ye } from "./types-TiIjyo2b.js";
|
|
21
21
|
import { i as he, p as Ne } from "./errors-9AkghWyk.js";
|
|
22
22
|
import { B as De, C as Me, R as He, a as Le, k as ke, l as We, i as Xe, j as we, h as Ke, r as Ge, b as Ye, s as Ze, v as Je, g as je, d as ze, c as qe, e as Qe, f as $e, w as as } from "./buildAndBroadcastRefund-CPjXNaMi.js";
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("../../../mempoolApi-YNkKjQCU.cjs"),e=require("../../../vault-registry-reader-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("../../../mempoolApi-YNkKjQCU.cjs"),e=require("../../../vault-registry-reader-DNiXOSYM.cjs"),r=require("../../../types-DnyyBNcC.cjs");exports.MEMPOOL_API_URLS=t.MEMPOOL_API_URLS;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.ServerIdentityError=e.ServerIdentityError;exports.VaultProviderRpcClient=e.VaultProviderRpcClient;exports.ViemProtocolParamsReader=e.ViemProtocolParamsReader;exports.ViemUniversalChallengerReader=e.ViemUniversalChallengerReader;exports.ViemVaultKeeperReader=e.ViemVaultKeeperReader;exports.ViemVaultRegistryReader=e.ViemVaultRegistryReader;exports.VpResponseValidationError=e.VpResponseValidationError;exports.VpTokenRegistry=e.VpTokenRegistry;exports.batchPollByProvider=e.batchPollByProvider;exports.createAuthenticatedVpClient=e.createAuthenticatedVpClient;exports.primeVpTokenRegistry=e.primeVpTokenRegistry;exports.resolveProtocolAddresses=e.resolveProtocolAddresses;exports.validateRequestDepositorClaimerArtifactsResponse=e.validateRequestDepositorClaimerArtifactsResponse;exports.verifyServerIdentity=e.verifyServerIdentity;exports.vpTokenRegistry=e.vpTokenRegistry;exports.DaemonStatus=r.DaemonStatus;exports.JSON_RPC_ERROR_CODES=r.JSON_RPC_ERROR_CODES;exports.JsonRpcClient=r.JsonRpcClient;exports.JsonRpcError=r.JsonRpcError;exports.POST_WOTS_STATUSES=r.POST_WOTS_STATUSES;exports.PRE_DEPOSITOR_SIGNATURES_STATES=r.PRE_DEPOSITOR_SIGNATURES_STATES;exports.RpcErrorCode=r.RpcErrorCode;exports.VP_BATCH_MAX_SIZE=r.VP_BATCH_MAX_SIZE;exports.VP_TERMINAL_STATUSES=r.VP_TERMINAL_STATUSES;exports.VP_TRANSIENT_STATUSES=r.VP_TRANSIENT_STATUSES;
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { M as a, g as r, a as t, b as o, c as i, d as R, e as S, f as T, p } from "../../../mempoolApi-CAIge7Nj.js";
|
|
2
|
-
import { S as l, V as n, g as E, h as V, i as _, j as A, a as P, d as g, b as c, f as m, p as v, r as x, v as I, c as f, e as C } from "../../../vault-registry-reader-
|
|
2
|
+
import { S as l, V as n, g as E, h as V, i as _, j as A, a as P, d as g, b as c, f as m, p as v, r as x, v as I, c as f, e as C } from "../../../vault-registry-reader-PsSxB0JZ.js";
|
|
3
3
|
import { D as U, b as y, J as u, a as M, d as N, P as h, R as D, e as b, c as k, V as J } from "../../../types-TiIjyo2b.js";
|
|
4
4
|
export {
|
|
5
5
|
U as DaemonStatus,
|
|
@@ -16,6 +16,13 @@
|
|
|
16
16
|
*
|
|
17
17
|
* @module tbv/core/clients/vault-provider/auth/serverIdentity
|
|
18
18
|
*/
|
|
19
|
+
/**
|
|
20
|
+
* Cap on `proof.expires_at - now`. Bounds how long a leaked VP
|
|
21
|
+
* ephemeral key stays usable; the bearer token's own TTL does not
|
|
22
|
+
* (different trust boundary). 2h = Rust ref VP's 1h rotation × 2 for
|
|
23
|
+
* clock skew. Override per call via `maxLifetimeSecs`.
|
|
24
|
+
*/
|
|
25
|
+
export declare const DEFAULT_MAX_PROOF_LIFETIME_SECS: number;
|
|
19
26
|
/**
|
|
20
27
|
* Wire representation from btc-vault's `ServerIdentityResponse`.
|
|
21
28
|
*/
|
|
@@ -40,17 +47,19 @@ export interface VerifyServerIdentityInput {
|
|
|
40
47
|
pinnedServerPubkey: string;
|
|
41
48
|
/** Current Unix timestamp in seconds. Injected for testability. */
|
|
42
49
|
now: number;
|
|
50
|
+
/** Cap on `proof.expires_at - now` (seconds). Defaults to {@link DEFAULT_MAX_PROOF_LIFETIME_SECS}. */
|
|
51
|
+
maxLifetimeSecs?: number;
|
|
43
52
|
}
|
|
44
53
|
export declare class ServerIdentityError extends Error {
|
|
45
|
-
readonly reason: "pinned_pubkey_mismatch" | "expired" | "invalid_expires_at" | "invalid_pubkey_encoding" | "invalid_ephemeral_pubkey" | "invalid_signature_encoding" | "signature_verification_failed";
|
|
46
|
-
constructor(message: string, reason: "pinned_pubkey_mismatch" | "expired" | "invalid_expires_at" | "invalid_pubkey_encoding" | "invalid_ephemeral_pubkey" | "invalid_signature_encoding" | "signature_verification_failed");
|
|
54
|
+
readonly reason: "pinned_pubkey_mismatch" | "expired" | "expires_too_far" | "invalid_expires_at" | "invalid_max_lifetime" | "invalid_pubkey_encoding" | "invalid_ephemeral_pubkey" | "invalid_signature_encoding" | "signature_verification_failed";
|
|
55
|
+
constructor(message: string, reason: "pinned_pubkey_mismatch" | "expired" | "expires_too_far" | "invalid_expires_at" | "invalid_max_lifetime" | "invalid_pubkey_encoding" | "invalid_ephemeral_pubkey" | "invalid_signature_encoding" | "signature_verification_failed");
|
|
47
56
|
}
|
|
48
57
|
/**
|
|
49
58
|
* Verify a server identity proof against a pinned server pubkey.
|
|
50
59
|
*
|
|
51
60
|
* Checks:
|
|
52
61
|
* 1. `server_pubkey` matches the pin.
|
|
53
|
-
* 2. `expires_at
|
|
62
|
+
* 2. `now < expires_at <= now + maxLifetimeSecs` (with integer guards).
|
|
54
63
|
* 3. `ephemeral_pubkey` is a well-formed 33-byte compressed pubkey.
|
|
55
64
|
* 4. `signature` is a well-formed 64-byte Schnorr hex string.
|
|
56
65
|
* 5. The BIP-322 Schnorr signature cryptographically verifies
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serverIdentity.d.ts","sourceRoot":"","sources":["../../../../../../src/tbv/core/clients/vault-provider/auth/serverIdentity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAyBH;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,6DAA6D;IAC7D,aAAa,EAAE,MAAM,CAAC;IACtB,uEAAuE;IACvE,gBAAgB,EAAE,MAAM,CAAC;IACzB,yDAAyD;IACzD,UAAU,EAAE,MAAM,CAAC;IACnB,qDAAqD;IACrD,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,yBAAyB;IACxC,yDAAyD;IACzD,KAAK,EAAE,sBAAsB,CAAC;IAC9B;;;;OAIG;IACH,kBAAkB,EAAE,MAAM,CAAC;IAC3B,mEAAmE;IACnE,GAAG,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"serverIdentity.d.ts","sourceRoot":"","sources":["../../../../../../src/tbv/core/clients/vault-provider/auth/serverIdentity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAyBH;;;;;GAKG;AACH,eAAO,MAAM,+BAA+B,QAAW,CAAC;AAExD;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,6DAA6D;IAC7D,aAAa,EAAE,MAAM,CAAC;IACtB,uEAAuE;IACvE,gBAAgB,EAAE,MAAM,CAAC;IACzB,yDAAyD;IACzD,UAAU,EAAE,MAAM,CAAC;IACnB,qDAAqD;IACrD,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,yBAAyB;IACxC,yDAAyD;IACzD,KAAK,EAAE,sBAAsB,CAAC;IAC9B;;;;OAIG;IACH,kBAAkB,EAAE,MAAM,CAAC;IAC3B,mEAAmE;IACnE,GAAG,EAAE,MAAM,CAAC;IACZ,sGAAsG;IACtG,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,qBAAa,mBAAoB,SAAQ,KAAK;aAG1B,MAAM,EAClB,wBAAwB,GACxB,SAAS,GACT,iBAAiB,GACjB,oBAAoB,GACpB,sBAAsB,GACtB,yBAAyB,GACzB,0BAA0B,GAC1B,4BAA4B,GAC5B,+BAA+B;gBAVnC,OAAO,EAAE,MAAM,EACC,MAAM,EAClB,wBAAwB,GACxB,SAAS,GACT,iBAAiB,GACjB,oBAAoB,GACpB,sBAAsB,GACtB,yBAAyB,GACzB,0BAA0B,GAC1B,4BAA4B,GAC5B,+BAA+B;CAKtC;AAYD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,yBAAyB,GAAG,IAAI,CAuH3E"}
|
package/dist/tbv/core/index.cjs
CHANGED
|
@@ -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-
|
|
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;
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|
package/dist/tbv/core/index.js
CHANGED
|
@@ -15,7 +15,7 @@ import { B as Aa, D as Ra, F as ga, L as _a, M as ma, P as xa, b as fa, a as ba,
|
|
|
15
15
|
import { U as ha, a as Na, c as Ba, e as Da, s as Ma, v as Ha } from "../../reservation-CHUGW0F_.js";
|
|
16
16
|
import { B as ka, c as Wa, g as Xa, d as Ka, b as wa, s as Ga, a as Ya } from "../../psbtInputFields-2224j2ZY.js";
|
|
17
17
|
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, p as se } from "../../mempoolApi-CAIge7Nj.js";
|
|
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-
|
|
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
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";
|
package/dist/tbv/index.cjs
CHANGED
|
@@ -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-
|
|
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;
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|
package/dist/tbv/index.js
CHANGED
|
@@ -15,7 +15,7 @@ import { B as Aa, D as Ra, F as ga, L as _a, M as ma, P as xa, b as fa, a as ba,
|
|
|
15
15
|
import { U as ha, a as Na, c as Ba, e as Da, s as Ma, v as Ha } from "../reservation-CHUGW0F_.js";
|
|
16
16
|
import { B as ka, c as Wa, g as Xa, d as Ka, b as wa, s as Ga, a as Ya } from "../psbtInputFields-2224j2ZY.js";
|
|
17
17
|
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, p as se } from "../mempoolApi-CAIge7Nj.js";
|
|
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-
|
|
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
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";
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var le=Object.defineProperty;var ue=(r,e,t)=>e in r?le(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t;var g=(r,e,t)=>ue(r,typeof e!="symbol"?e+"":e,t);const N=require("./types-DnyyBNcC.cjs"),f=require("./bitcoin-B3aqjuMP.cjs"),k=require("./validation-u8W7Lp2x.cjs"),de=require("@bitcoin-js/tiny-secp256k1-asmjs"),E=require("bitcoinjs-lib"),A=require("buffer"),M=require("./sha2-CsTynrfJ.cjs"),$=require("./BTCVaultRegistry.abi-ZdPpION2.cjs"),m=require("./ProtocolParams.abi-BmvHwQJV.cjs");function pe(r){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(r){for(const t in r)if(t!=="default"){const n=Object.getOwnPropertyDescriptor(r,t);Object.defineProperty(e,t,n.get?n:{enumerable:!0,get:()=>r[t]})}}return e.default=r,Object.freeze(e)}const O=pe(de),X=new Set(Object.values(N.DaemonStatus)),he=200;function c(r){var e;return((e=JSON.stringify(r))==null?void 0:e.slice(0,he))??"undefined"}const ge="The vault provider returned an unexpected response. Please try again or contact support.";class s extends Error{constructor(t){super(ge);g(this,"detail");this.name="VpResponseValidationError",this.detail=t}}const S=64;function v(r){return typeof r=="string"&&r.length>0&&k.HEX_RE.test(r)}function W(r){return typeof r=="string"&&r.length>0}function J(r,e){if(!v(r))throw new s(`VP response validation failed: "${e}" must be a non-empty hex string, got ${c(r)}`)}function b(r,e){if(!W(r))throw new s(`VP response validation failed: "${e}" must be a non-empty string, got ${c(r)}`)}function Z(r,e){if(!v(r)||r.length!==f.X_ONLY_PUBKEY_HEX_LEN&&r.length!==f.COMPRESSED_PUBKEY_HEX_LEN)throw new s(`VP response validation failed: "${e}" must be a ${f.X_ONLY_PUBKEY_HEX_LEN} or ${f.COMPRESSED_PUBKEY_HEX_LEN}-char hex string (BTC pubkey), got ${c(r)}`)}function fe(r){const e=r.presigning;if(e==null)return;if(typeof e!="object"||Array.isArray(e))throw new s('VP response validation failed: "progress.presigning" must be an object if present');const t=e;if(t.depositor_graph_created!==void 0&&typeof t.depositor_graph_created!="boolean")throw new s(`VP response validation failed: "progress.presigning.depositor_graph_created" must be a boolean if present, got ${c(t.depositor_graph_created)}`);if(t.vk_challenger_presigning_completed!==void 0&&typeof t.vk_challenger_presigning_completed!="number")throw new s(`VP response validation failed: "progress.presigning.vk_challenger_presigning_completed" must be a number if present, got ${c(t.vk_challenger_presigning_completed)}`);if(t.vk_challenger_presigning_total!==void 0&&typeof t.vk_challenger_presigning_total!="number")throw new s(`VP response validation failed: "progress.presigning.vk_challenger_presigning_total" must be a number if present, got ${c(t.vk_challenger_presigning_total)}`)}function Q(r){if(r===null||typeof r!="object")throw new s("VP response validation failed: getPeginStatus response is not an object");const e=r;if(!v(e.pegin_txid)||e.pegin_txid.length!==S)throw new s(`VP response validation failed: "pegin_txid" must be a ${S}-char hex string (txid), got ${c(e.pegin_txid)}`);if(typeof e.status!="string")throw new s('VP response validation failed: "status" must be a string');if(!X.has(e.status))throw new s(`VP response validation failed: unrecognized status "${e.status}". Expected one of: ${[...X].join(", ")}`);if(e.progress===null||typeof e.progress!="object"||Array.isArray(e.progress))throw new s('VP response validation failed: "progress" must be an object');if(fe(e.progress),typeof e.health_info!="string")throw new s('VP response validation failed: "health_info" must be a string');if(e.last_error!==void 0&&typeof e.last_error!="string")throw new s(`VP response validation failed: "last_error" must be a string if present, got ${c(e.last_error)}`)}function _e(r){if(r===null||typeof r!="object")throw new s("VP response validation failed: requestDepositorPresignTransactions response is not an object");const e=r;if(!Array.isArray(e.txs))throw new s('VP response validation failed: "txs" must be an array');for(let t=0;t<e.txs.length;t++)me(e.txs[t],`txs[${t}]`);if(e.depositor_graph===null||typeof e.depositor_graph!="object")throw new s('VP response validation failed: "depositor_graph" must be an object');Ae(e.depositor_graph)}function P(r,e){if(r===null||typeof r!="object")throw new s(`VP response validation failed: "${e}" must be an object`);J(r.tx_hex,`${e}.tx_hex`)}function me(r,e){if(r===null||typeof r!="object")throw new s(`VP response validation failed: "${e}" must be an object`);const t=r;Z(t.claimer_pubkey,`${e}.claimer_pubkey`),P(t.claim_tx,`${e}.claim_tx`),P(t.assert_tx,`${e}.assert_tx`),P(t.payout_tx,`${e}.payout_tx`),b(t.payout_psbt,`${e}.payout_psbt`)}function be(r,e){if(r===null||typeof r!="object")throw new s(`VP response validation failed: "${e}" must be an object`);const t=r;b(t.wots_pks_json,`${e}.wots_pks_json`),b(t.gc_wots_keys_json,`${e}.gc_wots_keys_json`)}function ye(r,e){if(r===null||typeof r!="object")throw new s(`VP response validation failed: "${e}" must be an object`);const t=r;if(Z(t.challenger_pubkey,`${e}.challenger_pubkey`),P(t.challenge_assert_x_tx,`${e}.challenge_assert_x_tx`),P(t.challenge_assert_y_tx,`${e}.challenge_assert_y_tx`),P(t.nopayout_tx,`${e}.nopayout_tx`),b(t.nopayout_psbt,`${e}.nopayout_psbt`),!Array.isArray(t.challenge_assert_connectors))throw new s(`VP response validation failed: "${e}.challenge_assert_connectors" must be an array`);for(let n=0;n<t.challenge_assert_connectors.length;n++)be(t.challenge_assert_connectors[n],`${e}.challenge_assert_connectors[${n}]`);if(!Array.isArray(t.output_label_hashes))throw new s(`VP response validation failed: "${e}.output_label_hashes" must be an array`);for(let n=0;n<t.output_label_hashes.length;n++)J(t.output_label_hashes[n],`${e}.output_label_hashes[${n}]`)}function ee(r){if(r===null||typeof r!="object")throw new s("VP response validation failed: requestDepositorClaimerArtifacts response is not an object");const e=r;if(!W(e.tx_graph_json))throw new s(`VP response validation failed: "tx_graph_json" must be a non-empty string, got ${c(e.tx_graph_json)}`);if(!v(e.verifying_key_hex))throw new s(`VP response validation failed: "verifying_key_hex" must be a non-empty hex string, got ${c(e.verifying_key_hex)}`);if(e.babe_sessions===null||typeof e.babe_sessions!="object")throw new s('VP response validation failed: "babe_sessions" must be an object');for(const[t,n]of Object.entries(e.babe_sessions)){if(n===null||typeof n!="object")throw new s(`VP response validation failed: "babe_sessions.${t}" must be an object`);const i=n;if(!v(i.decryptor_artifacts_hex))throw new s(`VP response validation failed: "babe_sessions.${t}.decryptor_artifacts_hex" must be a non-empty hex string, got ${c(i.decryptor_artifacts_hex)}`)}}function Pe(r){if(r===null||typeof r!="object")throw new s("VP response validation failed: pegout status payload is not an object");const e=r;if(!v(e.pegin_txid)||e.pegin_txid.length!==S)throw new s(`VP response validation failed: "pegin_txid" must be a ${S}-char hex string (txid), got ${c(e.pegin_txid)}`);if(typeof e.found!="boolean")throw new s(`VP response validation failed: "found" must be a boolean, got ${c(e.found)}`);if(e.claimer!==null){if(typeof e.claimer!="object")throw new s(`VP response validation failed: "claimer" must be an object or null, got ${c(e.claimer)}`);we(e.claimer)}if(!Array.isArray(e.challengers))throw new s(`VP response validation failed: "challengers" must be an array, got ${c(e.challengers)}`);for(let t=0;t<e.challengers.length;t++)ve(e.challengers[t],t)}function we(r){if(b(r.status,"claimer.status"),typeof r.failed!="boolean")throw new s(`VP response validation failed: "claimer.failed" must be a boolean, got ${c(r.failed)}`);if(b(r.claim_txid,"claimer.claim_txid"),b(r.claimer_pubkey,"claimer.claimer_pubkey"),b(r.assert_txid,"claimer.assert_txid"),r.challenger_pubkey!==null&&typeof r.challenger_pubkey!="string")throw new s(`VP response validation failed: "claimer.challenger_pubkey" must be a string or null, got ${c(r.challenger_pubkey)}`);if(typeof r.created_at!="number")throw new s(`VP response validation failed: "claimer.created_at" must be a number, got ${c(r.created_at)}`);if(typeof r.updated_at!="number")throw new s(`VP response validation failed: "claimer.updated_at" must be a number, got ${c(r.updated_at)}`)}function ve(r,e){if(r===null||typeof r!="object")throw new s(`VP response validation failed: "challengers[${e}]" must be an object, got ${c(r)}`);const t=r;if(b(t.status,`challengers[${e}].status`),b(t.claim_txid,`challengers[${e}].claim_txid`),b(t.claimer_pubkey,`challengers[${e}].claimer_pubkey`),B(t.assert_txid,`challengers[${e}].assert_txid`),B(t.challenge_assert_x_txid,`challengers[${e}].challenge_assert_x_txid`),B(t.challenge_assert_y_txid,`challengers[${e}].challenge_assert_y_txid`),B(t.nopayout_txid,`challengers[${e}].nopayout_txid`),typeof t.created_at!="number")throw new s(`VP response validation failed: "challengers[${e}].created_at" must be a number, got ${c(t.created_at)}`);if(typeof t.updated_at!="number")throw new s(`VP response validation failed: "challengers[${e}].updated_at" must be a number, got ${c(t.updated_at)}`)}function B(r,e){if(r!==null&&typeof r!="string")throw new s(`VP response validation failed: "${e}" must be a string or null, got ${c(r)}`)}function xe(r){te(r,"batchGetPeginStatus",e=>{e.result!==null&&Q(e.result)})}function Ve(r){te(r,"batchGetPegoutStatus",e=>{e.result!==null&&Pe(e.result)})}function te(r,e,t){if(r===null||typeof r!="object")throw new s(`VP response validation failed: ${e} response is not an object`);const n=r;if(!Array.isArray(n.results))throw new s(`VP response validation failed: "${e}.results" must be an array, got ${c(n.results)}`);for(let i=0;i<n.results.length;i++){const a=n.results[i];if(a===null||typeof a!="object")throw new s(`VP response validation failed: "${e}.results[${i}]" must be an object, got ${c(a)}`);const o=a;if(!v(o.pegin_txid)||o.pegin_txid.length!==S)throw new s(`VP response validation failed: "${e}.results[${i}].pegin_txid" must be a ${S}-char hex string, got ${c(o.pegin_txid)}`);if(o.error!==null&&typeof o.error!="string")throw new s(`VP response validation failed: "${e}.results[${i}].error" must be a string or null, got ${c(o.error)}`);if(o.result===null&&o.error===null)throw new s(`VP response validation failed: "${e}.results[${i}]" has neither "result" nor "error" populated`);if(o.result!==null&&o.error!==null)throw new s(`VP response validation failed: "${e}.results[${i}]" has both "result" and "error" populated`);t(o,i)}}function Ae(r){if(P(r.claim_tx,"depositor_graph.claim_tx"),P(r.assert_tx,"depositor_graph.assert_tx"),P(r.payout_tx,"depositor_graph.payout_tx"),b(r.payout_psbt,"depositor_graph.payout_psbt"),!Array.isArray(r.challenger_presign_data))throw new s('VP response validation failed: "depositor_graph.challenger_presign_data" must be an array');for(let e=0;e<r.challenger_presign_data.length;e++)ye(r.challenger_presign_data[e],`depositor_graph.challenger_presign_data[${e}]`);if(typeof r.offchain_params_version!="number")throw new s('VP response validation failed: "depositor_graph.offchain_params_version" must be a number')}const Se=6e4;class re{constructor(e,t){g(this,"client");const n={baseUrl:e,timeout:(t==null?void 0:t.timeout)??Se,retries:t==null?void 0:t.retries,retryDelay:t==null?void 0:t.retryDelay,retryableFor:t==null?void 0:t.retryableFor,headers:t==null?void 0:t.headers,tokenProvider:t==null?void 0:t.tokenProvider,maxResponseBytes:t==null?void 0:t.maxResponseBytes};this.client=new N.JsonRpcClient(n)}async requestDepositorPresignTransactions(e,t){const n=await this.client.call("vaultProvider_requestDepositorPresignTransactions",e,t);return _e(n),n}async submitDepositorPresignatures(e,t){return this.client.call("vaultProvider_submitDepositorPresignatures",e,t)}async submitDepositorWotsKey(e,t){return this.client.call("vaultProvider_submitDepositorWotsKey",e,t)}async requestDepositorClaimerArtifacts(e,t){const n=await this.client.call("vaultProvider_requestDepositorClaimerArtifacts",e,t);return ee(n),n}async getPeginStatus(e,t){const n=await this.client.call("vaultProvider_getPeginStatus",e,t);return Q(n),n}async batchGetPeginStatus(e,t){const n=await this.client.call("vaultProvider_batchGetPeginStatus",e,t);return xe(n),n}async batchGetPegoutStatus(e,t){const n=await this.client.call("vaultProvider_batchGetPegoutStatus",e,t);return Ve(n),n}}function ke(r,e){const t=new Set;for(const d of r)t.add(d.toLowerCase());const n=new Map,i=new Set,a=[],o=[];for(const d of e){const u=d.pegin_txid.toLowerCase();if(!t.has(u)){o.push(u);continue}if(i.has(u)){a.push(u);continue}i.add(u),n.set(u,{result:d.result,error:d.error})}const l=[];for(const d of t)i.has(d)||l.push(d);return{byTxid:n,missing:l,unexpected:o,duplicate:a}}async function $e(r){const{items:e,getTxid:t,batchCall:n,onItem:i,onMissing:a,onDuplicate:o,onDuplicateBatch:l,onWholeBatchError:d,onUnexpected:u,batchSize:_=N.VP_BATCH_MAX_SIZE}=r;if(!Number.isInteger(_)||_<=0)throw new Error(`batchPollByProvider: batchSize must be a positive integer, got ${_}`);for(let w=0;w<e.length;w+=_){const x=e.slice(w,w+_),T=new Map,j=[];for(const p of x){const y=t(p).toLowerCase();T.set(y,p),j.push(y)}let V;try{const p=await n(j);V=ke(j,p.results)}catch(p){d(x,p);continue}u&&V.unexpected.length>0&&u(V.unexpected);const C=new Set(V.duplicate);for(const p of C){const y=T.get(p);y&&o(y)}l&&C.size>0&&l(C.size);for(const p of V.missing){const y=T.get(p);y&&a(y)}for(const[p,y]of V.byTxid){if(C.has(p))continue;const L=T.get(p);L&&i(L,{pegin_txid:p,result:y.result,error:y.error})}}}const Te="BIP0322-signed-message",Ce="TapTweak",ne=32,Ee=64;function se(r,e){const t=new TextEncoder().encode(r),n=M.sha256(t),i=new Uint8Array(n.length*2+e.length);return i.set(n,0),i.set(n,n.length),i.set(e,n.length*2),M.sha256(i)}function Be(r){if(r.length!==ne)return null;const e=se(Ce,r),t=O.xOnlyPointAddTweak(r,e);return t?t.xOnlyPubkey:null}function Ie(r,e,t){if(e.length!==ne||t.length!==Ee)return!1;try{const n=se(Te,r),i=E.payments.p2tr({internalPubkey:A.Buffer.from(e)});if(!i.output)return!1;const a=i.output,o=0,l=new E.Transaction;l.version=0,l.locktime=0;const d=A.Buffer.concat([A.Buffer.from([0,32]),A.Buffer.from(n)]);l.addInput(A.Buffer.alloc(32,0),4294967295,0,d),l.addOutput(a,o);const u=new E.Transaction;u.version=0,u.locktime=0;const _=l.getHash();u.addInput(_,0,0),u.addOutput(A.Buffer.from([106]),o);const w=u.hashForWitnessV1(0,[a],[o],E.Transaction.SIGHASH_DEFAULT),x=Be(e);return x?O.verifySchnorr(w,x,t):!1}catch{return!1}}function R(r,e){const t=(r&7)<<5,n=typeof e=="bigint"?e:BigInt(e);if(n<0n)throw new Error("cborHead: negative argument");if(n<24n)return new Uint8Array([t|Number(n)]);if(n<0x100n)return new Uint8Array([t|24,Number(n)]);if(n<0x10000n){const a=Number(n);return new Uint8Array([t|25,a>>>8&255,a&255])}if(n<0x100000000n){const a=Number(n);return new Uint8Array([t|26,a>>>24&255,a>>>16&255,a>>>8&255,a&255])}const i=new Uint8Array(9);i[0]=t|27;for(let a=7;a>=0;a--)i[1+a]=Number(n>>BigInt((7-a)*8))&255;return i}function ie(...r){const e=r.reduce((i,a)=>i+a.length,0),t=new Uint8Array(e);let n=0;for(const i of r)t.set(i,n),n+=i.length;return t}function q(r){const t=[R(4,r.length)];for(const n of r)t.push(R(0,n));return ie(...t)}function Re(r,e,t){if(!Number.isSafeInteger(t)||t<0)throw new Error(`encodeServerIdentityPayload: expires_at must be a non-negative safe integer, got ${t}`);const n=R(4,3),i=q(r),a=q(e),o=R(0,t);return ie(n,i,a,o)}const He=new TextEncoder().encode("btc-auth.server-identity.v1"),Ne=2*3600;class h extends Error{constructor(e,t){super(e),this.reason=t,this.name="ServerIdentityError"}}function I(r){const e=new Uint8Array(r.length/2);for(let t=0;t<e.length;t++)e[t]=parseInt(r.slice(t*2,t*2+2),16);return e}function ae(r){const{proof:e,pinnedServerPubkey:t,now:n}=r,i=r.maxLifetimeSecs??Ne,a=f.stripHexPrefix(t).toLowerCase();if(a.length!==f.X_ONLY_PUBKEY_HEX_LEN||!k.HEX_RE.test(a))throw new h(`pinnedServerPubkey must be 32-byte hex; got ${a.length} chars`,"invalid_pubkey_encoding");const o=f.stripHexPrefix(e.server_pubkey).toLowerCase();if(o.length!==f.X_ONLY_PUBKEY_HEX_LEN||!k.HEX_RE.test(o))throw new h(`server_pubkey must be 32-byte hex; got ${o.length} chars`,"invalid_pubkey_encoding");if(o!==a)throw new h(`server_pubkey does not match pinned value: expected ${a}, got ${o}`,"pinned_pubkey_mismatch");if(!Number.isSafeInteger(e.expires_at))throw new h(`expires_at must be a finite integer; got ${JSON.stringify(e.expires_at)}`,"invalid_expires_at");if(!Number.isSafeInteger(n))throw new h(`now must be a finite integer; got ${JSON.stringify(n)}`,"invalid_expires_at");if(e.expires_at<=n)throw new h(`server identity proof expired at ${e.expires_at}, now ${n}`,"expired");if(!Number.isSafeInteger(i)||i<=0)throw new h(`maxLifetimeSecs must be a positive safe integer; got ${JSON.stringify(i)}`,"invalid_max_lifetime");if(e.expires_at-n>i)throw new h(`server identity proof expires too far in the future: expires_at=${e.expires_at}, now=${n}, max lifetime=${i}s`,"expires_too_far");const l=f.stripHexPrefix(e.ephemeral_pubkey).toLowerCase();if(l.length!==f.COMPRESSED_PUBKEY_HEX_LEN||!k.HEX_RE.test(l))throw new h(`ephemeral_pubkey must be 33-byte compressed hex; got ${l.length} chars`,"invalid_ephemeral_pubkey");const d=l.slice(0,2);if(d!=="02"&&d!=="03")throw new h(`ephemeral_pubkey must be compressed (prefix 02/03); got ${d}`,"invalid_ephemeral_pubkey");const u=I(l);if(!O.isPoint(u))throw new h("ephemeral_pubkey is not a valid secp256k1 point","invalid_ephemeral_pubkey");const _=f.stripHexPrefix(e.signature).toLowerCase();if(_.length!==f.SCHNORR_SIG_HEX_LEN||!k.HEX_RE.test(_))throw new h(`signature must be 64-byte Schnorr hex; got ${_.length} chars`,"invalid_signature_encoding");const w=Re(He,I(l),e.expires_at);if(!Ie(w,I(o),I(_)))throw new h("BIP-322 signature verification failed — ephemeral key is not attested by pinned server pubkey","signature_verification_failed")}const Oe=new Set(["vaultProvider_submitDepositorWotsKey","vaultProvider_submitDepositorPresignatures","vaultProvider_requestDepositorPresignTransactions"]),je=6e4,U="auth_createDepositorToken";function oe(r,e){return new N.JsonRpcClient({baseUrl:r,timeout:je,headers:e,retryableFor:t=>t===U})}const F=4102444800,De=30;class Ue{constructor(e){g(this,"client");g(this,"peginTxid");g(this,"authAnchorHex");g(this,"pinnedServerPubkey");g(this,"authGatedMethods");g(this,"refreshSkewSecs");g(this,"now");g(this,"cached",null);g(this,"inFlight",null);this.client=e.client,this.peginTxid=e.peginTxid,this.authAnchorHex=e.authAnchorHex,this.pinnedServerPubkey=e.pinnedServerPubkey,this.authGatedMethods=e.authGatedMethods,this.refreshSkewSecs=e.refreshSkewSecs??De,this.now=e.now??(()=>Math.floor(Date.now()/1e3))}async getToken(e){if(e===U||!this.authGatedMethods.has(e))return null;const t=this.cached;return t&&this.now()+this.refreshSkewSecs<t.expiresAt?t.token:(await this.acquireSingleFlight()).token}invalidate(){this.cached=null}setClient(e){this.client=e}acquireSingleFlight(){const e=this.inFlight;if(e)return e;const t=(async()=>{try{const n=await this.client.call(U,{pegin_txid:this.peginTxid,auth_anchor:this.authAnchorHex});if(ae({proof:n.server_identity,pinnedServerPubkey:this.pinnedServerPubkey,now:this.now()}),typeof n.token!="string"||n.token.length===0)throw new Error(`VpTokenProvider: invalid token in acquire response (expected non-empty string, got ${typeof n.token})`);const i=this.now();if(!Number.isSafeInteger(n.expires_at)||n.expires_at<=i||n.expires_at>F)throw new Error(`VpTokenProvider: invalid expires_at in acquire response (got ${JSON.stringify(n.expires_at)}; must be a safe integer in (${i}, ${F}])`);const a={token:n.token,expiresAt:n.expires_at};return this.cached=a,a}finally{this.inFlight=null}})();return this.inFlight=t,t}}class ce{constructor(){g(this,"entries",new Map)}getOrCreate(e){const t=this.entries.get(e.peginTxid);if(t){if(t.authAnchorHex!==e.authAnchorHex)throw new Error(`VpTokenRegistry: peginTxid ${e.peginTxid} already bound to authAnchorHex ${t.authAnchorHex.slice(0,8)}…; got ${e.authAnchorHex.slice(0,8)}…`);if(t.pinnedServerPubkey!==e.pinnedServerPubkey)throw new Error(`VpTokenRegistry: peginTxid ${e.peginTxid} already bound to pinnedServerPubkey ${t.pinnedServerPubkey.slice(0,8)}…; got ${e.pinnedServerPubkey.slice(0,8)}…`);return t.provider.setClient(e.client),t.provider}const n=new Ue({client:e.client,peginTxid:e.peginTxid,authAnchorHex:e.authAnchorHex,pinnedServerPubkey:e.pinnedServerPubkey,authGatedMethods:Oe});return this.entries.set(e.peginTxid,{provider:n,authAnchorHex:e.authAnchorHex,pinnedServerPubkey:e.pinnedServerPubkey}),n}peek(e){var t;return(t=this.entries.get(e))==null?void 0:t.provider}release(e){this.entries.delete(e)}clear(){this.entries.clear()}get size(){return this.entries.size}}const K=new ce;function Ke(r){var n;const e=oe(r.baseUrl,(n=r.options)==null?void 0:n.headers),t=K.getOrCreate({client:e,peginTxid:r.peginTxid,authAnchorHex:r.authAnchorHex,pinnedServerPubkey:r.pinnedServerPubkey});return new re(r.baseUrl,{...r.options,tokenProvider:t})}function Le(r){K.getOrCreate({client:oe(r.baseUrl,r.headers),peginTxid:r.peginTxid,authAnchorHex:r.authAnchorHex,pinnedServerPubkey:r.pinnedServerPubkey})}async function Me(r,e){const[t,n]=await r.multicall({contracts:[{address:e,abi:$.BTCVaultRegistryABI,functionName:"protocolParams"},{address:e,abi:$.BTCVaultRegistryABI,functionName:"applicationRegistry"}],allowFailure:!1});return{protocolParams:t,applicationRegistry:n}}const G=65535;function D(r){return{timelockAssert:r.timelockAssert,timelockChallengeAssert:r.timelockChallengeAssert,securityCouncilKeys:[...r.securityCouncilKeys],councilQuorum:r.councilQuorum,feeRate:r.feeRate,babeTotalInstances:r.babeTotalInstances,babeInstancesToFinalize:r.babeInstancesToFinalize,minVpCommissionBps:r.minVpCommissionBps,tRefund:r.tRefund,tStale:r.tStale,minPeginFeeRate:r.minPeginFeeRate,proverProgramVersion:r.proverProgramVersion,minPrepeginDepth:r.minPrepeginDepth}}function Y(r){return{minimumPegInAmount:r.minimumPegInAmount,maxPegInAmount:r.maxPegInAmount,pegInAckTimeout:r.pegInAckTimeout,pegInActivationTimeout:r.pegInActivationTimeout,maxHtlcOutputCount:r.maxHtlcOutputCount}}function z(r){if(r>BigInt(G))throw new Error(`timelockAssert value ${r} exceeds uint16 max (${G})`);return Number(r)}class Xe{constructor(e,t){this.publicClient=e,this.contractAddress=t}async getTBVProtocolParams(){const e=await this.publicClient.readContract({address:this.contractAddress,abi:m.ProtocolParamsABI,functionName:"getTBVProtocolParams"});return Y(e)}async getLatestOffchainParams(){const e=await this.publicClient.readContract({address:this.contractAddress,abi:m.ProtocolParamsABI,functionName:"getLatestOffchainParams"});return D(e)}async getOffchainParamsByVersion(e){const t=await this.publicClient.readContract({address:this.contractAddress,abi:m.ProtocolParamsABI,functionName:"getOffchainParamsByVersion",args:[e]});return D(t)}async getLatestOffchainParamsVersion(){return await this.publicClient.readContract({address:this.contractAddress,abi:m.ProtocolParamsABI,functionName:"latestOffchainParamsVersion"})}async getTimelockPeginByVersion(e){const t=await this.getOffchainParamsByVersion(e);return z(t.timelockAssert)}async getPegInConfiguration(){const e=await this.publicClient.multicall({contracts:[{address:this.contractAddress,abi:m.ProtocolParamsABI,functionName:"getTBVProtocolParams"},{address:this.contractAddress,abi:m.ProtocolParamsABI,functionName:"getLatestOffchainParams"}],allowFailure:!1}),t=Y(e[0]),n=D(e[1]);return{minimumPegInAmount:t.minimumPegInAmount,maxPegInAmount:t.maxPegInAmount,pegInAckTimeout:t.pegInAckTimeout,pegInActivationTimeout:t.pegInActivationTimeout,maxHtlcOutputCount:t.maxHtlcOutputCount,timelockPegin:z(n.timelockAssert),timelockRefund:n.tRefund,minVpCommissionBps:n.minVpCommissionBps,offchainParams:n}}}function H(r){return r.map(e=>({ethAddress:e.ethAddress,btcPubKey:e.btcPubKey}))}class qe{constructor(e,t){this.publicClient=e,this.contractAddress=t}async getVaultKeepersByVersion(e,t){const n=await this.publicClient.readContract({address:this.contractAddress,abi:m.ApplicationRegistryABI,functionName:"getVaultKeepersByVersion",args:[e,t]});return H(n)}async getCurrentVaultKeepers(e){const t=await this.publicClient.readContract({address:this.contractAddress,abi:m.ApplicationRegistryABI,functionName:"getCurrentVaultKeepers",args:[e]});return H(t)}async getCurrentVaultKeepersVersion(e){return await this.publicClient.readContract({address:this.contractAddress,abi:m.ApplicationRegistryABI,functionName:"getCurrentVaultKeepersVersion",args:[e]})}}class Fe{constructor(e,t){this.publicClient=e,this.contractAddress=t}async getUniversalChallengersByVersion(e){const t=await this.publicClient.readContract({address:this.contractAddress,abi:m.ProtocolParamsABI,functionName:"getUniversalChallengersByVersion",args:[e]});return H(t)}async getCurrentUniversalChallengers(){const e=await this.publicClient.readContract({address:this.contractAddress,abi:m.ProtocolParamsABI,functionName:"getCurrentUniversalChallengers"});return H(e)}async getLatestUniversalChallengersVersion(){return await this.publicClient.readContract({address:this.contractAddress,abi:m.ProtocolParamsABI,functionName:"latestUniversalChallengersVersion"})}}class Ge{constructor(e,t){this.publicClient=e,this.contractAddress=t}async getVaultProviderBtcPubKey(e){const n=(await this.publicClient.readContract({address:this.contractAddress,abi:$.BTCVaultRegistryABI,functionName:"getVaultProviderBTCKey",args:[e]})).toLowerCase();if(!/^0x[0-9a-f]{64}$/.test(n))throw new Error(`getVaultProviderBTCKey returned an unexpected value (vp=${e}, length ${n.length}, prefix "${n.slice(0,2)}")`);const i=n.slice(2);if(!O.isXOnlyPoint(f.hexToUint8Array(i)))throw new Error(`getVaultProviderBTCKey returned a value that is not on the secp256k1 curve (vp=${e})`);return i}async getVaultBasicInfo(e){const t=await this.publicClient.readContract({address:this.contractAddress,abi:$.BTCVaultRegistryABI,functionName:"getBtcVaultBasicInfo",args:[e]});return{depositor:t.depositor,depositorBtcPubKey:t.depositorBtcPubKey,amount:t.amount,vaultProvider:t.vaultProvider,status:t.status,applicationEntryPoint:t.applicationEntryPoint,createdAt:t.createdAt}}async getVaultProtocolInfo(e){const t=await this.publicClient.readContract({address:this.contractAddress,abi:$.BTCVaultRegistryABI,functionName:"getBtcVaultProtocolInfo",args:[e]});return{depositorSignedPeginTx:t.depositorSignedPeginTx,universalChallengersVersion:t.universalChallengersVersion,appVaultKeepersVersion:t.appVaultKeepersVersion,offchainParamsVersion:t.offchainParamsVersion,verifiedAt:t.verifiedAt,depositorWotsPkHash:t.depositorWotsPkHash,hashlock:t.hashlock,htlcVout:t.htlcVout,depositorPopSignature:t.depositorPopSignature,prePeginTxHash:t.prePeginTxHash,vaultProviderCommissionBps:t.vaultProviderCommissionBps}}async getVaultData(e){const[t,n]=await Promise.all([this.getVaultBasicInfo(e),this.getVaultProtocolInfo(e)]);if(!n.depositorSignedPeginTx||n.depositorSignedPeginTx==="0x")throw new Error(`Vault ${e} not found on-chain or has no pegin transaction`);return{basic:t,protocol:n}}}exports.ServerIdentityError=h;exports.VaultProviderRpcClient=re;exports.ViemProtocolParamsReader=Xe;exports.ViemUniversalChallengerReader=Fe;exports.ViemVaultKeeperReader=qe;exports.ViemVaultRegistryReader=Ge;exports.VpResponseValidationError=s;exports.VpTokenRegistry=ce;exports.batchPollByProvider=$e;exports.createAuthenticatedVpClient=Ke;exports.primeVpTokenRegistry=Le;exports.resolveProtocolAddresses=Me;exports.validateRequestDepositorClaimerArtifactsResponse=ee;exports.verifyServerIdentity=ae;exports.vpTokenRegistry=K;
|
|
2
|
+
//# sourceMappingURL=vault-registry-reader-DNiXOSYM.cjs.map
|