@babylonlabs-io/ts-sdk 0.0.0-semantic-release.2 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/README.md +124 -6
- package/dist/MockEthereumWallet-CKQlH2AM.cjs +2 -0
- package/dist/MockEthereumWallet-CKQlH2AM.cjs.map +1 -0
- package/dist/MockEthereumWallet-ibdry7pZ.js +127 -0
- package/dist/MockEthereumWallet-ibdry7pZ.js.map +1 -0
- package/dist/PayoutManager-Dg_i_S7w.cjs +2 -0
- package/dist/PayoutManager-Dg_i_S7w.cjs.map +1 -0
- package/dist/PayoutManager-rMj54HDh.js +1112 -0
- package/dist/PayoutManager-rMj54HDh.js.map +1 -0
- package/dist/challengeAssert-34HqeVFH.cjs +2 -0
- package/dist/challengeAssert-34HqeVFH.cjs.map +1 -0
- package/dist/challengeAssert-DVErOd8l.js +423 -0
- package/dist/challengeAssert-DVErOd8l.js.map +1 -0
- package/dist/index.cjs +1 -1
- package/dist/index.js +62 -1
- package/dist/index.js.map +1 -1
- package/dist/shared/index.cjs +1 -1
- package/dist/shared/index.d.ts +3 -1
- package/dist/shared/index.d.ts.map +1 -1
- package/dist/shared/index.js +5 -1
- package/dist/shared/index.js.map +1 -1
- package/dist/shared/wallets/__tests__/BitcoinWallet.test.d.ts +2 -0
- package/dist/shared/wallets/__tests__/BitcoinWallet.test.d.ts.map +1 -0
- package/dist/shared/wallets/__tests__/EthereumWallet.test.d.ts +2 -0
- package/dist/shared/wallets/__tests__/EthereumWallet.test.d.ts.map +1 -0
- package/dist/shared/wallets/index.d.ts +4 -0
- package/dist/shared/wallets/index.d.ts.map +1 -0
- package/dist/shared/wallets/interfaces/BitcoinWallet.d.ts +106 -0
- package/dist/shared/wallets/interfaces/BitcoinWallet.d.ts.map +1 -0
- package/dist/shared/wallets/interfaces/EthereumWallet.d.ts +6 -0
- package/dist/shared/wallets/interfaces/EthereumWallet.d.ts.map +1 -0
- package/dist/shared/wallets/interfaces/index.d.ts +4 -0
- package/dist/shared/wallets/interfaces/index.d.ts.map +1 -0
- package/dist/shared/wallets/mocks/MockBitcoinWallet.d.ts +29 -0
- package/dist/shared/wallets/mocks/MockBitcoinWallet.d.ts.map +1 -0
- package/dist/shared/wallets/mocks/MockEthereumWallet.d.ts +51 -0
- package/dist/shared/wallets/mocks/MockEthereumWallet.d.ts.map +1 -0
- package/dist/shared/wallets/mocks/index.d.ts +5 -0
- package/dist/shared/wallets/mocks/index.d.ts.map +1 -0
- package/dist/tbv/core/clients/index.d.ts +9 -0
- package/dist/tbv/core/clients/index.d.ts.map +1 -0
- package/dist/tbv/core/clients/mempool/index.d.ts +11 -0
- package/dist/tbv/core/clients/mempool/index.d.ts.map +1 -0
- package/dist/tbv/core/clients/mempool/mempoolApi.d.ts +94 -0
- package/dist/tbv/core/clients/mempool/mempoolApi.d.ts.map +1 -0
- package/dist/tbv/core/clients/mempool/types.d.ts +98 -0
- package/dist/tbv/core/clients/mempool/types.d.ts.map +1 -0
- package/dist/tbv/core/contracts/abis/BTCVaultsManager.abi.d.ts +187 -0
- package/dist/tbv/core/contracts/abis/BTCVaultsManager.abi.d.ts.map +1 -0
- package/dist/tbv/core/contracts/errors.d.ts +50 -0
- package/dist/tbv/core/contracts/errors.d.ts.map +1 -0
- package/dist/tbv/core/contracts/index.d.ts +11 -0
- package/dist/tbv/core/contracts/index.d.ts.map +1 -0
- package/dist/tbv/core/index.cjs +1 -1
- package/dist/tbv/core/index.d.ts +17 -1
- package/dist/tbv/core/index.d.ts.map +1 -1
- package/dist/tbv/core/index.js +59 -1
- package/dist/tbv/core/index.js.map +1 -1
- package/dist/tbv/core/managers/PayoutManager.d.ts +158 -0
- package/dist/tbv/core/managers/PayoutManager.d.ts.map +1 -0
- package/dist/tbv/core/managers/PeginManager.d.ts +327 -0
- package/dist/tbv/core/managers/PeginManager.d.ts.map +1 -0
- package/dist/tbv/core/managers/__tests__/PayoutManager.test.d.ts +8 -0
- package/dist/tbv/core/managers/__tests__/PayoutManager.test.d.ts.map +1 -0
- package/dist/tbv/core/managers/__tests__/PeginManager.test.d.ts +8 -0
- package/dist/tbv/core/managers/__tests__/PeginManager.test.d.ts.map +1 -0
- package/dist/tbv/core/managers/index.d.ts +75 -0
- package/dist/tbv/core/managers/index.d.ts.map +1 -0
- package/dist/tbv/core/primitives/index.cjs +2 -0
- package/dist/tbv/core/primitives/index.d.ts +77 -0
- package/dist/tbv/core/primitives/index.d.ts.map +1 -0
- package/dist/tbv/core/primitives/index.js +21 -0
- package/dist/tbv/{integrations/morpho → core/primitives}/index.js.map +1 -1
- package/dist/tbv/core/primitives/psbt/__tests__/constants.d.ts +137 -0
- package/dist/tbv/core/primitives/psbt/__tests__/constants.d.ts.map +1 -0
- package/dist/tbv/core/primitives/psbt/__tests__/helpers.d.ts +71 -0
- package/dist/tbv/core/primitives/psbt/__tests__/helpers.d.ts.map +1 -0
- package/dist/tbv/core/primitives/psbt/__tests__/payout.test.d.ts +8 -0
- package/dist/tbv/core/primitives/psbt/__tests__/payout.test.d.ts.map +1 -0
- package/dist/tbv/core/primitives/psbt/__tests__/pegin.test.d.ts +5 -0
- package/dist/tbv/core/primitives/psbt/__tests__/pegin.test.d.ts.map +1 -0
- package/dist/tbv/core/primitives/psbt/challengeAssert.d.ts +27 -0
- package/dist/tbv/core/primitives/psbt/challengeAssert.d.ts.map +1 -0
- package/dist/tbv/core/primitives/psbt/depositorPayout.d.ts +27 -0
- package/dist/tbv/core/primitives/psbt/depositorPayout.d.ts.map +1 -0
- package/dist/tbv/core/primitives/psbt/index.d.ts +27 -0
- package/dist/tbv/core/primitives/psbt/index.d.ts.map +1 -0
- package/dist/tbv/core/primitives/psbt/noPayout.d.ts +28 -0
- package/dist/tbv/core/primitives/psbt/noPayout.d.ts.map +1 -0
- package/dist/tbv/core/primitives/psbt/payout.d.ts +99 -0
- package/dist/tbv/core/primitives/psbt/payout.d.ts.map +1 -0
- package/dist/tbv/core/primitives/psbt/pegin.d.ts +88 -0
- package/dist/tbv/core/primitives/psbt/pegin.d.ts.map +1 -0
- package/dist/tbv/core/primitives/scripts/__tests__/payout.test.d.ts +5 -0
- package/dist/tbv/core/primitives/scripts/__tests__/payout.test.d.ts.map +1 -0
- package/dist/tbv/core/primitives/scripts/index.d.ts +10 -0
- package/dist/tbv/core/primitives/scripts/index.d.ts.map +1 -0
- package/dist/tbv/core/primitives/scripts/payout.d.ts +102 -0
- package/dist/tbv/core/primitives/scripts/payout.d.ts.map +1 -0
- package/dist/tbv/core/primitives/utils/__tests__/bitcoin.test.d.ts +5 -0
- package/dist/tbv/core/primitives/utils/__tests__/bitcoin.test.d.ts.map +1 -0
- package/dist/tbv/core/primitives/utils/bitcoin.d.ts +132 -0
- package/dist/tbv/core/primitives/utils/bitcoin.d.ts.map +1 -0
- package/dist/tbv/core/primitives/utils/index.d.ts +9 -0
- package/dist/tbv/core/primitives/utils/index.d.ts.map +1 -0
- package/dist/tbv/core/utils/btc/index.d.ts +10 -0
- package/dist/tbv/core/utils/btc/index.d.ts.map +1 -0
- package/dist/tbv/core/utils/btc/psbtInputFields.d.ts +41 -0
- package/dist/tbv/core/utils/btc/psbtInputFields.d.ts.map +1 -0
- package/dist/tbv/core/utils/btc/scriptType.d.ts +34 -0
- package/dist/tbv/core/utils/btc/scriptType.d.ts.map +1 -0
- package/dist/tbv/core/utils/fee/constants.d.ts +25 -0
- package/dist/tbv/core/utils/fee/constants.d.ts.map +1 -0
- package/dist/tbv/core/utils/fee/index.d.ts +7 -0
- package/dist/tbv/core/utils/fee/index.d.ts.map +1 -0
- package/dist/tbv/core/utils/index.d.ts +16 -0
- package/dist/tbv/core/utils/index.d.ts.map +1 -0
- package/dist/tbv/core/utils/transaction/__tests__/btcTxHash.test.d.ts +5 -0
- package/dist/tbv/core/utils/transaction/__tests__/btcTxHash.test.d.ts.map +1 -0
- package/dist/tbv/core/utils/transaction/__tests__/createSplitTransaction.test.d.ts +5 -0
- package/dist/tbv/core/utils/transaction/__tests__/createSplitTransaction.test.d.ts.map +1 -0
- package/dist/tbv/core/utils/transaction/__tests__/fundPeginTransaction.test.d.ts +5 -0
- package/dist/tbv/core/utils/transaction/__tests__/fundPeginTransaction.test.d.ts.map +1 -0
- package/dist/tbv/core/utils/transaction/btcTxHash.d.ts +15 -0
- package/dist/tbv/core/utils/transaction/btcTxHash.d.ts.map +1 -0
- package/dist/tbv/core/utils/transaction/createSplitTransaction.d.ts +106 -0
- package/dist/tbv/core/utils/transaction/createSplitTransaction.d.ts.map +1 -0
- package/dist/tbv/core/utils/transaction/fundPeginTransaction.d.ts +70 -0
- package/dist/tbv/core/utils/transaction/fundPeginTransaction.d.ts.map +1 -0
- package/dist/tbv/core/utils/transaction/index.d.ts +9 -0
- package/dist/tbv/core/utils/transaction/index.d.ts.map +1 -0
- package/dist/tbv/core/utils/utxo/__tests__/selectUtxos.test.d.ts +5 -0
- package/dist/tbv/core/utils/utxo/__tests__/selectUtxos.test.d.ts.map +1 -0
- package/dist/tbv/core/utils/utxo/index.d.ts +7 -0
- package/dist/tbv/core/utils/utxo/index.d.ts.map +1 -0
- package/dist/tbv/core/utils/utxo/selectUtxos.d.ts +65 -0
- package/dist/tbv/core/utils/utxo/selectUtxos.d.ts.map +1 -0
- package/dist/tbv/index.cjs +1 -1
- package/dist/tbv/index.js +59 -1
- package/dist/tbv/index.js.map +1 -1
- package/dist/tbv/integrations/aave/clients/__tests__/spoke.test.d.ts +2 -0
- package/dist/tbv/integrations/aave/clients/__tests__/spoke.test.d.ts.map +1 -0
- package/dist/tbv/integrations/aave/clients/__tests__/transaction.test.d.ts +2 -0
- package/dist/tbv/integrations/aave/clients/__tests__/transaction.test.d.ts.map +1 -0
- package/dist/tbv/integrations/aave/clients/abis/AaveIntegrationController.abi.json.d.ts +1879 -0
- package/dist/tbv/integrations/aave/clients/abis/AaveSpoke.abi.json.d.ts +1262 -0
- package/dist/tbv/integrations/aave/clients/index.d.ts +4 -0
- package/dist/tbv/integrations/aave/clients/index.d.ts.map +1 -0
- package/dist/tbv/integrations/aave/clients/query.d.ts +27 -0
- package/dist/tbv/integrations/aave/clients/query.d.ts.map +1 -0
- package/dist/tbv/integrations/aave/clients/spoke.d.ts +161 -0
- package/dist/tbv/integrations/aave/clients/spoke.d.ts.map +1 -0
- package/dist/tbv/integrations/aave/clients/transaction.d.ts +110 -0
- package/dist/tbv/integrations/aave/clients/transaction.d.ts.map +1 -0
- package/dist/tbv/integrations/aave/config.d.ts +7 -0
- package/dist/tbv/integrations/aave/config.d.ts.map +1 -0
- package/dist/tbv/integrations/aave/constants.d.ts +113 -0
- package/dist/tbv/integrations/aave/constants.d.ts.map +1 -0
- package/dist/tbv/integrations/aave/index.cjs +2 -0
- package/dist/tbv/integrations/aave/index.cjs.map +1 -0
- package/dist/tbv/integrations/aave/index.d.ts +53 -0
- package/dist/tbv/integrations/aave/index.d.ts.map +1 -0
- package/dist/tbv/integrations/aave/index.js +307 -0
- package/dist/tbv/integrations/aave/index.js.map +1 -0
- package/dist/tbv/integrations/aave/types.d.ts +66 -0
- package/dist/tbv/integrations/aave/types.d.ts.map +1 -0
- package/dist/tbv/integrations/aave/utils/__tests__/aaveConversions.test.d.ts +5 -0
- package/dist/tbv/integrations/aave/utils/__tests__/aaveConversions.test.d.ts.map +1 -0
- package/dist/tbv/integrations/aave/utils/__tests__/borrowRatio.test.d.ts +5 -0
- package/dist/tbv/integrations/aave/utils/__tests__/borrowRatio.test.d.ts.map +1 -0
- package/dist/tbv/integrations/aave/utils/__tests__/debtUtils.test.d.ts +5 -0
- package/dist/tbv/integrations/aave/utils/__tests__/debtUtils.test.d.ts.map +1 -0
- package/dist/tbv/integrations/aave/utils/__tests__/healthFactor.test.d.ts +5 -0
- package/dist/tbv/integrations/aave/utils/__tests__/healthFactor.test.d.ts.map +1 -0
- package/dist/tbv/integrations/aave/utils/__tests__/vaultSelection.test.d.ts +2 -0
- package/dist/tbv/integrations/aave/utils/__tests__/vaultSelection.test.d.ts.map +1 -0
- package/dist/tbv/integrations/aave/utils/__tests__/vaultSplit.test.d.ts +5 -0
- package/dist/tbv/integrations/aave/utils/__tests__/vaultSplit.test.d.ts.map +1 -0
- package/dist/tbv/integrations/aave/utils/aaveConversions.d.ts +24 -0
- package/dist/tbv/integrations/aave/utils/aaveConversions.d.ts.map +1 -0
- package/dist/tbv/integrations/aave/utils/borrowRatio.d.ts +15 -0
- package/dist/tbv/integrations/aave/utils/borrowRatio.d.ts.map +1 -0
- package/dist/tbv/integrations/aave/utils/debtUtils.d.ts +14 -0
- package/dist/tbv/integrations/aave/utils/debtUtils.d.ts.map +1 -0
- package/dist/tbv/integrations/aave/utils/healthFactor.d.ts +108 -0
- package/dist/tbv/integrations/aave/utils/healthFactor.d.ts.map +1 -0
- package/dist/tbv/integrations/aave/utils/index.d.ts +10 -0
- package/dist/tbv/integrations/aave/utils/index.d.ts.map +1 -0
- package/dist/tbv/integrations/aave/utils/vaultSelection.d.ts +33 -0
- package/dist/tbv/integrations/aave/utils/vaultSelection.d.ts.map +1 -0
- package/dist/tbv/integrations/aave/utils/vaultSplit.d.ts +191 -0
- package/dist/tbv/integrations/aave/utils/vaultSplit.d.ts.map +1 -0
- package/package.json +37 -7
- package/dist/shared/__tests__/example.test.d.ts +0 -6
- package/dist/shared/__tests__/example.test.d.ts.map +0 -1
- package/dist/tbv/core/__tests__/example.test.d.ts +0 -6
- package/dist/tbv/core/__tests__/example.test.d.ts.map +0 -1
- package/dist/tbv/integrations/morpho/index.cjs +0 -2
- package/dist/tbv/integrations/morpho/index.d.ts +0 -2
- package/dist/tbv/integrations/morpho/index.d.ts.map +0 -1
- package/dist/tbv/integrations/morpho/index.js +0 -2
- /package/dist/tbv/{integrations/morpho → core/primitives}/index.cjs.map +0 -0
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* BTCVaultsManager Contract ABI
|
|
3
|
+
*
|
|
4
|
+
* Minimal ABI containing only the functions needed by the SDK.
|
|
5
|
+
* Full ABI is available in the vault service package.
|
|
6
|
+
*
|
|
7
|
+
* @module contracts/abis/BTCVaultsManager
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* Minimal ABI for BTCVaultsManager contract.
|
|
11
|
+
* Contains only submitPeginRequest function used by PeginManager.
|
|
12
|
+
*/
|
|
13
|
+
export declare const BTCVaultsManagerABI: readonly [{
|
|
14
|
+
readonly type: "function";
|
|
15
|
+
readonly name: "submitPeginRequest";
|
|
16
|
+
readonly inputs: readonly [{
|
|
17
|
+
readonly name: "depositor";
|
|
18
|
+
readonly type: "address";
|
|
19
|
+
readonly internalType: "address";
|
|
20
|
+
}, {
|
|
21
|
+
readonly name: "depositorBtcPubKey";
|
|
22
|
+
readonly type: "bytes32";
|
|
23
|
+
readonly internalType: "bytes32";
|
|
24
|
+
}, {
|
|
25
|
+
readonly name: "btcPopSignature";
|
|
26
|
+
readonly type: "bytes";
|
|
27
|
+
readonly internalType: "bytes";
|
|
28
|
+
}, {
|
|
29
|
+
readonly name: "unsignedPegInTx";
|
|
30
|
+
readonly type: "bytes";
|
|
31
|
+
readonly internalType: "bytes";
|
|
32
|
+
}, {
|
|
33
|
+
readonly name: "vaultProvider";
|
|
34
|
+
readonly type: "address";
|
|
35
|
+
readonly internalType: "address";
|
|
36
|
+
}, {
|
|
37
|
+
readonly name: "depositorPayoutBtcAddress";
|
|
38
|
+
readonly type: "bytes";
|
|
39
|
+
readonly internalType: "bytes";
|
|
40
|
+
}, {
|
|
41
|
+
readonly name: "depositorLamportPkHash";
|
|
42
|
+
readonly type: "bytes32";
|
|
43
|
+
readonly internalType: "bytes32";
|
|
44
|
+
}];
|
|
45
|
+
readonly outputs: readonly [{
|
|
46
|
+
readonly name: "";
|
|
47
|
+
readonly type: "bytes32";
|
|
48
|
+
readonly internalType: "bytes32";
|
|
49
|
+
}];
|
|
50
|
+
readonly stateMutability: "payable";
|
|
51
|
+
}, {
|
|
52
|
+
readonly type: "function";
|
|
53
|
+
readonly name: "submitPeginRequest";
|
|
54
|
+
readonly inputs: readonly [{
|
|
55
|
+
readonly name: "depositor";
|
|
56
|
+
readonly type: "address";
|
|
57
|
+
readonly internalType: "address";
|
|
58
|
+
}, {
|
|
59
|
+
readonly name: "depositorBtcPubKey";
|
|
60
|
+
readonly type: "bytes32";
|
|
61
|
+
readonly internalType: "bytes32";
|
|
62
|
+
}, {
|
|
63
|
+
readonly name: "btcPopSignature";
|
|
64
|
+
readonly type: "bytes";
|
|
65
|
+
readonly internalType: "bytes";
|
|
66
|
+
}, {
|
|
67
|
+
readonly name: "unsignedPegInTx";
|
|
68
|
+
readonly type: "bytes";
|
|
69
|
+
readonly internalType: "bytes";
|
|
70
|
+
}, {
|
|
71
|
+
readonly name: "vaultProvider";
|
|
72
|
+
readonly type: "address";
|
|
73
|
+
readonly internalType: "address";
|
|
74
|
+
}, {
|
|
75
|
+
readonly name: "referralCode";
|
|
76
|
+
readonly type: "uint32";
|
|
77
|
+
readonly internalType: "uint32";
|
|
78
|
+
}, {
|
|
79
|
+
readonly name: "depositorPayoutBtcAddress";
|
|
80
|
+
readonly type: "bytes";
|
|
81
|
+
readonly internalType: "bytes";
|
|
82
|
+
}, {
|
|
83
|
+
readonly name: "depositorLamportPkHash";
|
|
84
|
+
readonly type: "bytes32";
|
|
85
|
+
readonly internalType: "bytes32";
|
|
86
|
+
}];
|
|
87
|
+
readonly outputs: readonly [{
|
|
88
|
+
readonly name: "";
|
|
89
|
+
readonly type: "bytes32";
|
|
90
|
+
readonly internalType: "bytes32";
|
|
91
|
+
}];
|
|
92
|
+
readonly stateMutability: "payable";
|
|
93
|
+
}, {
|
|
94
|
+
readonly type: "function";
|
|
95
|
+
readonly name: "getPegInFee";
|
|
96
|
+
readonly inputs: readonly [{
|
|
97
|
+
readonly name: "vaultProvider";
|
|
98
|
+
readonly type: "address";
|
|
99
|
+
readonly internalType: "address";
|
|
100
|
+
}];
|
|
101
|
+
readonly outputs: readonly [{
|
|
102
|
+
readonly name: "totalFee";
|
|
103
|
+
readonly type: "uint256";
|
|
104
|
+
readonly internalType: "uint256";
|
|
105
|
+
}];
|
|
106
|
+
readonly stateMutability: "view";
|
|
107
|
+
}, {
|
|
108
|
+
readonly type: "function";
|
|
109
|
+
readonly name: "getBTCVault";
|
|
110
|
+
readonly inputs: readonly [{
|
|
111
|
+
readonly name: "vaultId";
|
|
112
|
+
readonly type: "bytes32";
|
|
113
|
+
readonly internalType: "bytes32";
|
|
114
|
+
}];
|
|
115
|
+
readonly outputs: readonly [{
|
|
116
|
+
readonly name: "vault";
|
|
117
|
+
readonly type: "tuple";
|
|
118
|
+
readonly internalType: "struct IBTCVaultsManager.BTCVault";
|
|
119
|
+
readonly components: readonly [{
|
|
120
|
+
readonly name: "depositor";
|
|
121
|
+
readonly type: "address";
|
|
122
|
+
readonly internalType: "address";
|
|
123
|
+
}, {
|
|
124
|
+
readonly name: "depositorBtcPubKey";
|
|
125
|
+
readonly type: "bytes32";
|
|
126
|
+
readonly internalType: "bytes32";
|
|
127
|
+
}, {
|
|
128
|
+
readonly name: "unsignedPegInTx";
|
|
129
|
+
readonly type: "bytes";
|
|
130
|
+
readonly internalType: "bytes";
|
|
131
|
+
}, {
|
|
132
|
+
readonly name: "amount";
|
|
133
|
+
readonly type: "uint256";
|
|
134
|
+
readonly internalType: "uint256";
|
|
135
|
+
}, {
|
|
136
|
+
readonly name: "vaultProvider";
|
|
137
|
+
readonly type: "address";
|
|
138
|
+
readonly internalType: "address";
|
|
139
|
+
}, {
|
|
140
|
+
readonly name: "status";
|
|
141
|
+
readonly type: "uint8";
|
|
142
|
+
readonly internalType: "enum IBTCVaultsManager.BTCVaultStatus";
|
|
143
|
+
}, {
|
|
144
|
+
readonly name: "applicationController";
|
|
145
|
+
readonly type: "address";
|
|
146
|
+
readonly internalType: "address";
|
|
147
|
+
}, {
|
|
148
|
+
readonly name: "universalChallengersVersion";
|
|
149
|
+
readonly type: "uint16";
|
|
150
|
+
readonly internalType: "uint16";
|
|
151
|
+
}, {
|
|
152
|
+
readonly name: "appVaultKeepersVersion";
|
|
153
|
+
readonly type: "uint16";
|
|
154
|
+
readonly internalType: "uint16";
|
|
155
|
+
}, {
|
|
156
|
+
readonly name: "offchainParamsVersion";
|
|
157
|
+
readonly type: "uint16";
|
|
158
|
+
readonly internalType: "uint16";
|
|
159
|
+
}, {
|
|
160
|
+
readonly name: "createdAt";
|
|
161
|
+
readonly type: "uint256";
|
|
162
|
+
readonly internalType: "uint256";
|
|
163
|
+
}, {
|
|
164
|
+
readonly name: "verifiedAt";
|
|
165
|
+
readonly type: "uint256";
|
|
166
|
+
readonly internalType: "uint256";
|
|
167
|
+
}, {
|
|
168
|
+
readonly name: "depositorLamportPkHash";
|
|
169
|
+
readonly type: "bytes32";
|
|
170
|
+
readonly internalType: "bytes32";
|
|
171
|
+
}];
|
|
172
|
+
}];
|
|
173
|
+
readonly stateMutability: "view";
|
|
174
|
+
}, {
|
|
175
|
+
readonly type: "error";
|
|
176
|
+
readonly name: "InvalidPeginFee";
|
|
177
|
+
readonly inputs: readonly [{
|
|
178
|
+
readonly name: "provided";
|
|
179
|
+
readonly type: "uint256";
|
|
180
|
+
readonly internalType: "uint256";
|
|
181
|
+
}, {
|
|
182
|
+
readonly name: "required";
|
|
183
|
+
readonly type: "uint256";
|
|
184
|
+
readonly internalType: "uint256";
|
|
185
|
+
}];
|
|
186
|
+
}];
|
|
187
|
+
//# sourceMappingURL=BTCVaultsManager.abi.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BTCVaultsManager.abi.d.ts","sourceRoot":"","sources":["../../../../../src/tbv/core/contracts/abis/BTCVaultsManager.abi.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;;GAGG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6KtB,CAAC"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Contract Error Handling Utilities
|
|
3
|
+
*
|
|
4
|
+
* Provides utilities for extracting and handling contract revert errors.
|
|
5
|
+
* Maps known error selectors to user-friendly messages.
|
|
6
|
+
*
|
|
7
|
+
* @module contracts/errors
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* Known contract error signatures mapped to user-friendly messages.
|
|
11
|
+
*
|
|
12
|
+
* Error selectors are the first 4 bytes of keccak256(error signature).
|
|
13
|
+
* Example: keccak256("VaultAlreadyExists()") = 0x04aabf33...
|
|
14
|
+
*/
|
|
15
|
+
export declare const CONTRACT_ERRORS: Record<string, string>;
|
|
16
|
+
/**
|
|
17
|
+
* Extract error data from various error formats.
|
|
18
|
+
*
|
|
19
|
+
* Viem and wallet providers wrap errors in multiple levels. This function
|
|
20
|
+
* searches through the error chain to find the revert data.
|
|
21
|
+
*
|
|
22
|
+
* @param error - The error object to extract data from
|
|
23
|
+
* @returns The error data (e.g., "0x04aabf33") or undefined
|
|
24
|
+
*/
|
|
25
|
+
export declare function extractErrorData(error: unknown): string | undefined;
|
|
26
|
+
/**
|
|
27
|
+
* Get a user-friendly error message for a contract error.
|
|
28
|
+
*
|
|
29
|
+
* @param error - The error object from a contract call
|
|
30
|
+
* @returns A user-friendly error message, or undefined if error is not recognized
|
|
31
|
+
*/
|
|
32
|
+
export declare function getContractErrorMessage(error: unknown): string | undefined;
|
|
33
|
+
/**
|
|
34
|
+
* Check if an error is a known contract error.
|
|
35
|
+
*
|
|
36
|
+
* @param error - The error object to check
|
|
37
|
+
* @returns True if the error is a known contract error
|
|
38
|
+
*/
|
|
39
|
+
export declare function isKnownContractError(error: unknown): boolean;
|
|
40
|
+
/**
|
|
41
|
+
* Handle a contract error by throwing a user-friendly error.
|
|
42
|
+
*
|
|
43
|
+
* This function extracts error data, maps it to a user-friendly message,
|
|
44
|
+
* and throws an appropriate error. Use this in catch blocks after contract calls.
|
|
45
|
+
*
|
|
46
|
+
* @param error - The error from a contract call
|
|
47
|
+
* @throws Always throws an error with a descriptive message
|
|
48
|
+
*/
|
|
49
|
+
export declare function handleContractError(error: unknown): never;
|
|
50
|
+
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../../src/tbv/core/contracts/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;;;;GAKG;AACH,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CA+ClD,CAAC;AAEF;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAmCnE;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAU1E;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAK5D;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,CA+CzD"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Smart Contract ABIs and Error Handling
|
|
3
|
+
*
|
|
4
|
+
* Contract ABIs used by the SDK for encoding transaction data,
|
|
5
|
+
* and utilities for handling contract errors.
|
|
6
|
+
*
|
|
7
|
+
* @module contracts
|
|
8
|
+
*/
|
|
9
|
+
export { BTCVaultsManagerABI } from './abis/BTCVaultsManager.abi';
|
|
10
|
+
export { CONTRACT_ERRORS, extractErrorData, getContractErrorMessage, isKnownContractError, handleContractError, } from './errors';
|
|
11
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/tbv/core/contracts/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAElE,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,uBAAuB,EACvB,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,UAAU,CAAC"}
|
package/dist/tbv/core/index.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("../../challengeAssert-34HqeVFH.cjs"),e=require("../../PayoutManager-Dg_i_S7w.cjs");exports.buildChallengeAssertPsbt=t.buildChallengeAssertPsbt;exports.buildDepositorPayoutPsbt=t.buildDepositorPayoutPsbt;exports.buildNoPayoutPsbt=t.buildNoPayoutPsbt;exports.buildPayoutPsbt=t.buildPayoutPsbt;exports.buildPeginPsbt=t.buildPeginPsbt;exports.createPayoutScript=t.createPayoutScript;exports.deriveNativeSegwitAddress=t.deriveNativeSegwitAddress;exports.deriveTaprootAddress=t.deriveTaprootAddress;exports.extractPayoutSignature=t.extractPayoutSignature;exports.getNetwork=t.getNetwork;exports.hexToUint8Array=t.hexToUint8Array;exports.isAddressFromPublicKey=t.isAddressFromPublicKey;exports.isValidHex=t.isValidHex;exports.processPublicKeyToXOnly=t.processPublicKeyToXOnly;exports.stripHexPrefix=t.stripHexPrefix;exports.toXOnly=t.toXOnly;exports.uint8ArrayToHex=t.uint8ArrayToHex;exports.validateWalletPubkey=t.validateWalletPubkey;exports.BTCVaultsManagerABI=e.BTCVaultsManagerABI;exports.BTC_DUST_SAT=e.BTC_DUST_SAT;exports.BitcoinScriptType=e.BitcoinScriptType;exports.CONTRACT_ERRORS=e.CONTRACT_ERRORS;exports.DUST_THRESHOLD=e.DUST_THRESHOLD;exports.FEE_SAFETY_MARGIN=e.FEE_SAFETY_MARGIN;exports.LOW_RATE_ESTIMATION_ACCURACY_BUFFER=e.LOW_RATE_ESTIMATION_ACCURACY_BUFFER;exports.MAX_NON_LEGACY_OUTPUT_SIZE=e.MAX_NON_LEGACY_OUTPUT_SIZE;exports.MEMPOOL_API_URLS=e.MEMPOOL_API_URLS;exports.P2TR_INPUT_SIZE=e.P2TR_INPUT_SIZE;exports.PayoutManager=e.PayoutManager;exports.PeginManager=e.PeginManager;exports.TX_BUFFER_SIZE_OVERHEAD=e.TX_BUFFER_SIZE_OVERHEAD;exports.WALLET_RELAY_FEE_RATE_THRESHOLD=e.WALLET_RELAY_FEE_RATE_THRESHOLD;exports.calculateBtcTxHash=e.calculateBtcTxHash;exports.createSplitTransaction=e.createSplitTransaction;exports.createSplitTransactionPsbt=e.createSplitTransactionPsbt;exports.extractErrorData=e.extractErrorData;exports.fundPeginTransaction=e.fundPeginTransaction;exports.getAddressTxs=e.getAddressTxs;exports.getAddressUtxos=e.getAddressUtxos;exports.getContractErrorMessage=e.getContractErrorMessage;exports.getDustThreshold=e.getDustThreshold;exports.getMempoolApiUrl=e.getMempoolApiUrl;exports.getNetworkFees=e.getNetworkFees;exports.getPsbtInputFields=e.getPsbtInputFields;exports.getScriptType=e.getScriptType;exports.getTxHex=e.getTxHex;exports.getTxInfo=e.getTxInfo;exports.getUtxoInfo=e.getUtxoInfo;exports.handleContractError=e.handleContractError;exports.isKnownContractError=e.isKnownContractError;exports.parseUnfundedWasmTransaction=e.parseUnfundedWasmTransaction;exports.pushTx=e.pushTx;exports.rateBasedTxBufferFee=e.rateBasedTxBufferFee;exports.selectUtxosForPegin=e.selectUtxosForPegin;exports.shouldAddChangeOutput=e.shouldAddChangeOutput;
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|
package/dist/tbv/core/index.d.ts
CHANGED
|
@@ -1,2 +1,18 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Core Vault Protocol Functionality
|
|
3
|
+
*
|
|
4
|
+
* This module contains:
|
|
5
|
+
* - Primitives (Level 1): Pure functions wrapping WASM
|
|
6
|
+
* - Utils (Level 2): UTXO selection, transaction funding, fee calculation
|
|
7
|
+
* - Managers (Level 2): Wallet orchestration
|
|
8
|
+
* - Clients: API clients (mempool)
|
|
9
|
+
* - Contracts: Smart contract ABIs
|
|
10
|
+
*
|
|
11
|
+
* @module tbv/core
|
|
12
|
+
*/
|
|
13
|
+
export * from './primitives';
|
|
14
|
+
export * from './utils';
|
|
15
|
+
export * from './managers';
|
|
16
|
+
export * from './clients';
|
|
17
|
+
export * from './contracts';
|
|
2
18
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tbv/core/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tbv/core/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC"}
|
package/dist/tbv/core/index.js
CHANGED
|
@@ -1,2 +1,60 @@
|
|
|
1
|
-
|
|
1
|
+
import { f as e, c as t, d as r, a as o, b as i, g as T, h as n, i as d, e as l, m as u, j as A, k as E, l as P, p as g, s as c, t as _, u as p, v as x } from "../../challengeAssert-DVErOd8l.js";
|
|
2
|
+
import { x as b, B as y, e as R, C as U, D as C, F as O, L as F, M as I, v as f, P as h, k as M, j as B, T as H, W as L, c as N, b as D, d as m, y as v, f as k, l as w, m as W, z as X, g as Y, n as K, o as V, i as Z, h as j, q as G, t as q, u as z, E as J, A as Q, p as $, w as aa, r as sa, s as ea, a as ta } from "../../PayoutManager-rMj54HDh.js";
|
|
3
|
+
export {
|
|
4
|
+
b as BTCVaultsManagerABI,
|
|
5
|
+
y as BTC_DUST_SAT,
|
|
6
|
+
R as BitcoinScriptType,
|
|
7
|
+
U as CONTRACT_ERRORS,
|
|
8
|
+
C as DUST_THRESHOLD,
|
|
9
|
+
O as FEE_SAFETY_MARGIN,
|
|
10
|
+
F as LOW_RATE_ESTIMATION_ACCURACY_BUFFER,
|
|
11
|
+
I as MAX_NON_LEGACY_OUTPUT_SIZE,
|
|
12
|
+
f as MEMPOOL_API_URLS,
|
|
13
|
+
h as P2TR_INPUT_SIZE,
|
|
14
|
+
M as PayoutManager,
|
|
15
|
+
B as PeginManager,
|
|
16
|
+
H as TX_BUFFER_SIZE_OVERHEAD,
|
|
17
|
+
L as WALLET_RELAY_FEE_RATE_THRESHOLD,
|
|
18
|
+
e as buildChallengeAssertPsbt,
|
|
19
|
+
t as buildDepositorPayoutPsbt,
|
|
20
|
+
r as buildNoPayoutPsbt,
|
|
21
|
+
o as buildPayoutPsbt,
|
|
22
|
+
i as buildPeginPsbt,
|
|
23
|
+
N as calculateBtcTxHash,
|
|
24
|
+
T as createPayoutScript,
|
|
25
|
+
D as createSplitTransaction,
|
|
26
|
+
m as createSplitTransactionPsbt,
|
|
27
|
+
n as deriveNativeSegwitAddress,
|
|
28
|
+
d as deriveTaprootAddress,
|
|
29
|
+
v as extractErrorData,
|
|
30
|
+
l as extractPayoutSignature,
|
|
31
|
+
k as fundPeginTransaction,
|
|
32
|
+
w as getAddressTxs,
|
|
33
|
+
W as getAddressUtxos,
|
|
34
|
+
X as getContractErrorMessage,
|
|
35
|
+
Y as getDustThreshold,
|
|
36
|
+
K as getMempoolApiUrl,
|
|
37
|
+
u as getNetwork,
|
|
38
|
+
V as getNetworkFees,
|
|
39
|
+
Z as getPsbtInputFields,
|
|
40
|
+
j as getScriptType,
|
|
41
|
+
G as getTxHex,
|
|
42
|
+
q as getTxInfo,
|
|
43
|
+
z as getUtxoInfo,
|
|
44
|
+
J as handleContractError,
|
|
45
|
+
A as hexToUint8Array,
|
|
46
|
+
E as isAddressFromPublicKey,
|
|
47
|
+
Q as isKnownContractError,
|
|
48
|
+
P as isValidHex,
|
|
49
|
+
$ as parseUnfundedWasmTransaction,
|
|
50
|
+
g as processPublicKeyToXOnly,
|
|
51
|
+
aa as pushTx,
|
|
52
|
+
sa as rateBasedTxBufferFee,
|
|
53
|
+
ea as selectUtxosForPegin,
|
|
54
|
+
ta as shouldAddChangeOutput,
|
|
55
|
+
c as stripHexPrefix,
|
|
56
|
+
_ as toXOnly,
|
|
57
|
+
p as uint8ArrayToHex,
|
|
58
|
+
x as validateWalletPubkey
|
|
59
|
+
};
|
|
2
60
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
import { BitcoinWallet } from '../../../shared/wallets/interfaces/BitcoinWallet';
|
|
2
|
+
import { Network } from '../primitives';
|
|
3
|
+
/**
|
|
4
|
+
* Configuration for the PayoutManager.
|
|
5
|
+
*/
|
|
6
|
+
export interface PayoutManagerConfig {
|
|
7
|
+
/**
|
|
8
|
+
* Bitcoin network to use for transactions.
|
|
9
|
+
*/
|
|
10
|
+
network: Network;
|
|
11
|
+
/**
|
|
12
|
+
* Bitcoin wallet for signing payout transactions.
|
|
13
|
+
*/
|
|
14
|
+
btcWallet: BitcoinWallet;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Base parameters shared by both payout transaction types.
|
|
18
|
+
*/
|
|
19
|
+
interface SignPayoutBaseParams {
|
|
20
|
+
/**
|
|
21
|
+
* Peg-in transaction hex.
|
|
22
|
+
* The original transaction that created the vault output being spent.
|
|
23
|
+
*/
|
|
24
|
+
peginTxHex: string;
|
|
25
|
+
/**
|
|
26
|
+
* Vault provider's BTC public key (x-only, 64-char hex).
|
|
27
|
+
*/
|
|
28
|
+
vaultProviderBtcPubkey: string;
|
|
29
|
+
/**
|
|
30
|
+
* Vault keeper BTC public keys (x-only, 64-char hex).
|
|
31
|
+
*/
|
|
32
|
+
vaultKeeperBtcPubkeys: string[];
|
|
33
|
+
/**
|
|
34
|
+
* Universal challenger BTC public keys (x-only, 64-char hex).
|
|
35
|
+
*/
|
|
36
|
+
universalChallengerBtcPubkeys: string[];
|
|
37
|
+
/**
|
|
38
|
+
* CSV timelock in blocks for the PegIn output.
|
|
39
|
+
*/
|
|
40
|
+
timelockPegin: number;
|
|
41
|
+
/**
|
|
42
|
+
* Depositor's BTC public key (x-only, 64-char hex).
|
|
43
|
+
* This should be the public key that was used when creating the vault,
|
|
44
|
+
* as stored on-chain. If not provided, will be fetched from the wallet.
|
|
45
|
+
*/
|
|
46
|
+
depositorBtcPubkey?: string;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Parameters for signing a Payout transaction.
|
|
50
|
+
*
|
|
51
|
+
* Payout is used in the challenge path after Assert, when the claimer proves validity.
|
|
52
|
+
* Input 1 references the Assert transaction.
|
|
53
|
+
*/
|
|
54
|
+
export interface SignPayoutParams extends SignPayoutBaseParams {
|
|
55
|
+
/**
|
|
56
|
+
* Payout transaction hex (unsigned).
|
|
57
|
+
* This is the transaction from the vault provider that needs depositor signature.
|
|
58
|
+
*/
|
|
59
|
+
payoutTxHex: string;
|
|
60
|
+
/**
|
|
61
|
+
* Assert transaction hex.
|
|
62
|
+
* Payout input 1 references Assert output 0.
|
|
63
|
+
*/
|
|
64
|
+
assertTxHex: string;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Result of signing a payout transaction.
|
|
68
|
+
*/
|
|
69
|
+
export interface PayoutSignatureResult {
|
|
70
|
+
/**
|
|
71
|
+
* 64-byte Schnorr signature (128 hex characters).
|
|
72
|
+
*/
|
|
73
|
+
signature: string;
|
|
74
|
+
/**
|
|
75
|
+
* Depositor's BTC public key used for signing.
|
|
76
|
+
*/
|
|
77
|
+
depositorBtcPubkey: string;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* High-level manager for payout transaction signing.
|
|
81
|
+
*
|
|
82
|
+
* @remarks
|
|
83
|
+
* After registering your peg-in on Ethereum (Step 2), the vault provider prepares
|
|
84
|
+
* claim/payout transaction pairs. You must sign each payout transaction using this
|
|
85
|
+
* manager and submit the signatures to the vault provider's RPC API.
|
|
86
|
+
*
|
|
87
|
+
* **What happens internally:**
|
|
88
|
+
* 1. Validates your wallet's public key matches the vault's depositor
|
|
89
|
+
* 2. Builds an unsigned PSBT with taproot script path spend info
|
|
90
|
+
* 3. Signs input 0 (the vault UTXO) with your wallet
|
|
91
|
+
* 4. Extracts the 64-byte Schnorr signature
|
|
92
|
+
*
|
|
93
|
+
* **Note:** The payout transaction has 2 inputs. PayoutManager only signs input 0
|
|
94
|
+
* (from the peg-in tx). Input 1 (from the assert tx) is signed by the vault provider.
|
|
95
|
+
*
|
|
96
|
+
* @see {@link PeginManager} - For the complete peg-in flow context
|
|
97
|
+
* @see {@link buildPayoutPsbt} - Lower-level primitive used internally
|
|
98
|
+
* @see {@link extractPayoutSignature} - Signature extraction primitive
|
|
99
|
+
*/
|
|
100
|
+
export declare class PayoutManager {
|
|
101
|
+
private readonly config;
|
|
102
|
+
/**
|
|
103
|
+
* Creates a new PayoutManager instance.
|
|
104
|
+
*
|
|
105
|
+
* @param config - Manager configuration including wallet
|
|
106
|
+
*/
|
|
107
|
+
constructor(config: PayoutManagerConfig);
|
|
108
|
+
/**
|
|
109
|
+
* Signs a Payout transaction and extracts the Schnorr signature.
|
|
110
|
+
*
|
|
111
|
+
* Flow:
|
|
112
|
+
* 1. Vault provider submits Claim transaction
|
|
113
|
+
* 2. Claimer submits Assert transaction to prove validity
|
|
114
|
+
* 3. Payout can be executed (references Assert tx)
|
|
115
|
+
*
|
|
116
|
+
* This method orchestrates the following steps:
|
|
117
|
+
* 1. Get wallet's public key and convert to x-only format
|
|
118
|
+
* 2. Validate wallet pubkey matches on-chain depositor pubkey (if provided)
|
|
119
|
+
* 3. Build unsigned PSBT using primitives
|
|
120
|
+
* 4. Sign PSBT via btcWallet.signPsbt()
|
|
121
|
+
* 5. Extract 64-byte Schnorr signature using primitives
|
|
122
|
+
*
|
|
123
|
+
* The returned signature can be submitted to the vault provider API.
|
|
124
|
+
*
|
|
125
|
+
* @param params - Payout signing parameters
|
|
126
|
+
* @returns Signature result with 64-byte Schnorr signature and depositor pubkey
|
|
127
|
+
* @throws Error if wallet pubkey doesn't match depositor pubkey
|
|
128
|
+
* @throws Error if wallet operations fail or signature extraction fails
|
|
129
|
+
*/
|
|
130
|
+
signPayoutTransaction(params: SignPayoutParams): Promise<PayoutSignatureResult>;
|
|
131
|
+
/**
|
|
132
|
+
* Gets the configured Bitcoin network.
|
|
133
|
+
*
|
|
134
|
+
* @returns The Bitcoin network (mainnet, testnet, signet, regtest)
|
|
135
|
+
*/
|
|
136
|
+
getNetwork(): Network;
|
|
137
|
+
/**
|
|
138
|
+
* Checks if the wallet supports batch signing (signPsbts).
|
|
139
|
+
*
|
|
140
|
+
* @returns true if batch signing is supported
|
|
141
|
+
*/
|
|
142
|
+
supportsBatchSigning(): boolean;
|
|
143
|
+
/**
|
|
144
|
+
* Batch signs multiple payout transactions (1 per claimer).
|
|
145
|
+
* This allows signing all transactions with a single wallet interaction.
|
|
146
|
+
*
|
|
147
|
+
* @param transactions - Array of payout params to sign
|
|
148
|
+
* @returns Array of signature results matching input order
|
|
149
|
+
* @throws Error if wallet doesn't support batch signing
|
|
150
|
+
* @throws Error if any signing operation fails
|
|
151
|
+
*/
|
|
152
|
+
signPayoutTransactionsBatch(transactions: SignPayoutParams[]): Promise<Array<{
|
|
153
|
+
payoutSignature: string;
|
|
154
|
+
depositorBtcPubkey: string;
|
|
155
|
+
}>>;
|
|
156
|
+
}
|
|
157
|
+
export {};
|
|
158
|
+
//# sourceMappingURL=PayoutManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PayoutManager.d.ts","sourceRoot":"","sources":["../../../../src/tbv/core/managers/PayoutManager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kDAAkD,CAAC;AACtF,OAAO,EAIL,KAAK,OAAO,EACb,MAAM,eAAe,CAAC;AAEvB;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IAEjB;;OAEG;IACH,SAAS,EAAE,aAAa,CAAC;CAC1B;AAED;;GAEG;AACH,UAAU,oBAAoB;IAC5B;;;OAGG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,sBAAsB,EAAE,MAAM,CAAC;IAE/B;;OAEG;IACH,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAEhC;;OAEG;IACH,6BAA6B,EAAE,MAAM,EAAE,CAAC;IAExC;;OAEG;IACH,aAAa,EAAE,MAAM,CAAC;IAEtB;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;GAKG;AACH,MAAM,WAAW,gBAAiB,SAAQ,oBAAoB;IAC5D;;;OAGG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;;OAGG;IACH,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAsB;IAE7C;;;;OAIG;gBACS,MAAM,EAAE,mBAAmB;IAIvC;;;;;;;;;;;;;;;;;;;;;OAqBG;IACG,qBAAqB,CACzB,MAAM,EAAE,gBAAgB,GACvB,OAAO,CAAC,qBAAqB,CAAC;IAgDjC;;;;OAIG;IACH,UAAU,IAAI,OAAO;IAIrB;;;;OAIG;IACH,oBAAoB,IAAI,OAAO;IAI/B;;;;;;;;OAQG;IACG,2BAA2B,CAC/B,YAAY,EAAE,gBAAgB,EAAE,GAC/B,OAAO,CACR,KAAK,CAAC;QACJ,eAAe,EAAE,MAAM,CAAC;QACxB,kBAAkB,EAAE,MAAM,CAAC;KAC5B,CAAC,CACH;CAyFF"}
|