@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.
Files changed (203) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +124 -6
  3. package/dist/MockEthereumWallet-CKQlH2AM.cjs +2 -0
  4. package/dist/MockEthereumWallet-CKQlH2AM.cjs.map +1 -0
  5. package/dist/MockEthereumWallet-ibdry7pZ.js +127 -0
  6. package/dist/MockEthereumWallet-ibdry7pZ.js.map +1 -0
  7. package/dist/PayoutManager-Dg_i_S7w.cjs +2 -0
  8. package/dist/PayoutManager-Dg_i_S7w.cjs.map +1 -0
  9. package/dist/PayoutManager-rMj54HDh.js +1112 -0
  10. package/dist/PayoutManager-rMj54HDh.js.map +1 -0
  11. package/dist/challengeAssert-34HqeVFH.cjs +2 -0
  12. package/dist/challengeAssert-34HqeVFH.cjs.map +1 -0
  13. package/dist/challengeAssert-DVErOd8l.js +423 -0
  14. package/dist/challengeAssert-DVErOd8l.js.map +1 -0
  15. package/dist/index.cjs +1 -1
  16. package/dist/index.js +62 -1
  17. package/dist/index.js.map +1 -1
  18. package/dist/shared/index.cjs +1 -1
  19. package/dist/shared/index.d.ts +3 -1
  20. package/dist/shared/index.d.ts.map +1 -1
  21. package/dist/shared/index.js +5 -1
  22. package/dist/shared/index.js.map +1 -1
  23. package/dist/shared/wallets/__tests__/BitcoinWallet.test.d.ts +2 -0
  24. package/dist/shared/wallets/__tests__/BitcoinWallet.test.d.ts.map +1 -0
  25. package/dist/shared/wallets/__tests__/EthereumWallet.test.d.ts +2 -0
  26. package/dist/shared/wallets/__tests__/EthereumWallet.test.d.ts.map +1 -0
  27. package/dist/shared/wallets/index.d.ts +4 -0
  28. package/dist/shared/wallets/index.d.ts.map +1 -0
  29. package/dist/shared/wallets/interfaces/BitcoinWallet.d.ts +106 -0
  30. package/dist/shared/wallets/interfaces/BitcoinWallet.d.ts.map +1 -0
  31. package/dist/shared/wallets/interfaces/EthereumWallet.d.ts +6 -0
  32. package/dist/shared/wallets/interfaces/EthereumWallet.d.ts.map +1 -0
  33. package/dist/shared/wallets/interfaces/index.d.ts +4 -0
  34. package/dist/shared/wallets/interfaces/index.d.ts.map +1 -0
  35. package/dist/shared/wallets/mocks/MockBitcoinWallet.d.ts +29 -0
  36. package/dist/shared/wallets/mocks/MockBitcoinWallet.d.ts.map +1 -0
  37. package/dist/shared/wallets/mocks/MockEthereumWallet.d.ts +51 -0
  38. package/dist/shared/wallets/mocks/MockEthereumWallet.d.ts.map +1 -0
  39. package/dist/shared/wallets/mocks/index.d.ts +5 -0
  40. package/dist/shared/wallets/mocks/index.d.ts.map +1 -0
  41. package/dist/tbv/core/clients/index.d.ts +9 -0
  42. package/dist/tbv/core/clients/index.d.ts.map +1 -0
  43. package/dist/tbv/core/clients/mempool/index.d.ts +11 -0
  44. package/dist/tbv/core/clients/mempool/index.d.ts.map +1 -0
  45. package/dist/tbv/core/clients/mempool/mempoolApi.d.ts +94 -0
  46. package/dist/tbv/core/clients/mempool/mempoolApi.d.ts.map +1 -0
  47. package/dist/tbv/core/clients/mempool/types.d.ts +98 -0
  48. package/dist/tbv/core/clients/mempool/types.d.ts.map +1 -0
  49. package/dist/tbv/core/contracts/abis/BTCVaultsManager.abi.d.ts +187 -0
  50. package/dist/tbv/core/contracts/abis/BTCVaultsManager.abi.d.ts.map +1 -0
  51. package/dist/tbv/core/contracts/errors.d.ts +50 -0
  52. package/dist/tbv/core/contracts/errors.d.ts.map +1 -0
  53. package/dist/tbv/core/contracts/index.d.ts +11 -0
  54. package/dist/tbv/core/contracts/index.d.ts.map +1 -0
  55. package/dist/tbv/core/index.cjs +1 -1
  56. package/dist/tbv/core/index.d.ts +17 -1
  57. package/dist/tbv/core/index.d.ts.map +1 -1
  58. package/dist/tbv/core/index.js +59 -1
  59. package/dist/tbv/core/index.js.map +1 -1
  60. package/dist/tbv/core/managers/PayoutManager.d.ts +158 -0
  61. package/dist/tbv/core/managers/PayoutManager.d.ts.map +1 -0
  62. package/dist/tbv/core/managers/PeginManager.d.ts +327 -0
  63. package/dist/tbv/core/managers/PeginManager.d.ts.map +1 -0
  64. package/dist/tbv/core/managers/__tests__/PayoutManager.test.d.ts +8 -0
  65. package/dist/tbv/core/managers/__tests__/PayoutManager.test.d.ts.map +1 -0
  66. package/dist/tbv/core/managers/__tests__/PeginManager.test.d.ts +8 -0
  67. package/dist/tbv/core/managers/__tests__/PeginManager.test.d.ts.map +1 -0
  68. package/dist/tbv/core/managers/index.d.ts +75 -0
  69. package/dist/tbv/core/managers/index.d.ts.map +1 -0
  70. package/dist/tbv/core/primitives/index.cjs +2 -0
  71. package/dist/tbv/core/primitives/index.d.ts +77 -0
  72. package/dist/tbv/core/primitives/index.d.ts.map +1 -0
  73. package/dist/tbv/core/primitives/index.js +21 -0
  74. package/dist/tbv/{integrations/morpho → core/primitives}/index.js.map +1 -1
  75. package/dist/tbv/core/primitives/psbt/__tests__/constants.d.ts +137 -0
  76. package/dist/tbv/core/primitives/psbt/__tests__/constants.d.ts.map +1 -0
  77. package/dist/tbv/core/primitives/psbt/__tests__/helpers.d.ts +71 -0
  78. package/dist/tbv/core/primitives/psbt/__tests__/helpers.d.ts.map +1 -0
  79. package/dist/tbv/core/primitives/psbt/__tests__/payout.test.d.ts +8 -0
  80. package/dist/tbv/core/primitives/psbt/__tests__/payout.test.d.ts.map +1 -0
  81. package/dist/tbv/core/primitives/psbt/__tests__/pegin.test.d.ts +5 -0
  82. package/dist/tbv/core/primitives/psbt/__tests__/pegin.test.d.ts.map +1 -0
  83. package/dist/tbv/core/primitives/psbt/challengeAssert.d.ts +27 -0
  84. package/dist/tbv/core/primitives/psbt/challengeAssert.d.ts.map +1 -0
  85. package/dist/tbv/core/primitives/psbt/depositorPayout.d.ts +27 -0
  86. package/dist/tbv/core/primitives/psbt/depositorPayout.d.ts.map +1 -0
  87. package/dist/tbv/core/primitives/psbt/index.d.ts +27 -0
  88. package/dist/tbv/core/primitives/psbt/index.d.ts.map +1 -0
  89. package/dist/tbv/core/primitives/psbt/noPayout.d.ts +28 -0
  90. package/dist/tbv/core/primitives/psbt/noPayout.d.ts.map +1 -0
  91. package/dist/tbv/core/primitives/psbt/payout.d.ts +99 -0
  92. package/dist/tbv/core/primitives/psbt/payout.d.ts.map +1 -0
  93. package/dist/tbv/core/primitives/psbt/pegin.d.ts +88 -0
  94. package/dist/tbv/core/primitives/psbt/pegin.d.ts.map +1 -0
  95. package/dist/tbv/core/primitives/scripts/__tests__/payout.test.d.ts +5 -0
  96. package/dist/tbv/core/primitives/scripts/__tests__/payout.test.d.ts.map +1 -0
  97. package/dist/tbv/core/primitives/scripts/index.d.ts +10 -0
  98. package/dist/tbv/core/primitives/scripts/index.d.ts.map +1 -0
  99. package/dist/tbv/core/primitives/scripts/payout.d.ts +102 -0
  100. package/dist/tbv/core/primitives/scripts/payout.d.ts.map +1 -0
  101. package/dist/tbv/core/primitives/utils/__tests__/bitcoin.test.d.ts +5 -0
  102. package/dist/tbv/core/primitives/utils/__tests__/bitcoin.test.d.ts.map +1 -0
  103. package/dist/tbv/core/primitives/utils/bitcoin.d.ts +132 -0
  104. package/dist/tbv/core/primitives/utils/bitcoin.d.ts.map +1 -0
  105. package/dist/tbv/core/primitives/utils/index.d.ts +9 -0
  106. package/dist/tbv/core/primitives/utils/index.d.ts.map +1 -0
  107. package/dist/tbv/core/utils/btc/index.d.ts +10 -0
  108. package/dist/tbv/core/utils/btc/index.d.ts.map +1 -0
  109. package/dist/tbv/core/utils/btc/psbtInputFields.d.ts +41 -0
  110. package/dist/tbv/core/utils/btc/psbtInputFields.d.ts.map +1 -0
  111. package/dist/tbv/core/utils/btc/scriptType.d.ts +34 -0
  112. package/dist/tbv/core/utils/btc/scriptType.d.ts.map +1 -0
  113. package/dist/tbv/core/utils/fee/constants.d.ts +25 -0
  114. package/dist/tbv/core/utils/fee/constants.d.ts.map +1 -0
  115. package/dist/tbv/core/utils/fee/index.d.ts +7 -0
  116. package/dist/tbv/core/utils/fee/index.d.ts.map +1 -0
  117. package/dist/tbv/core/utils/index.d.ts +16 -0
  118. package/dist/tbv/core/utils/index.d.ts.map +1 -0
  119. package/dist/tbv/core/utils/transaction/__tests__/btcTxHash.test.d.ts +5 -0
  120. package/dist/tbv/core/utils/transaction/__tests__/btcTxHash.test.d.ts.map +1 -0
  121. package/dist/tbv/core/utils/transaction/__tests__/createSplitTransaction.test.d.ts +5 -0
  122. package/dist/tbv/core/utils/transaction/__tests__/createSplitTransaction.test.d.ts.map +1 -0
  123. package/dist/tbv/core/utils/transaction/__tests__/fundPeginTransaction.test.d.ts +5 -0
  124. package/dist/tbv/core/utils/transaction/__tests__/fundPeginTransaction.test.d.ts.map +1 -0
  125. package/dist/tbv/core/utils/transaction/btcTxHash.d.ts +15 -0
  126. package/dist/tbv/core/utils/transaction/btcTxHash.d.ts.map +1 -0
  127. package/dist/tbv/core/utils/transaction/createSplitTransaction.d.ts +106 -0
  128. package/dist/tbv/core/utils/transaction/createSplitTransaction.d.ts.map +1 -0
  129. package/dist/tbv/core/utils/transaction/fundPeginTransaction.d.ts +70 -0
  130. package/dist/tbv/core/utils/transaction/fundPeginTransaction.d.ts.map +1 -0
  131. package/dist/tbv/core/utils/transaction/index.d.ts +9 -0
  132. package/dist/tbv/core/utils/transaction/index.d.ts.map +1 -0
  133. package/dist/tbv/core/utils/utxo/__tests__/selectUtxos.test.d.ts +5 -0
  134. package/dist/tbv/core/utils/utxo/__tests__/selectUtxos.test.d.ts.map +1 -0
  135. package/dist/tbv/core/utils/utxo/index.d.ts +7 -0
  136. package/dist/tbv/core/utils/utxo/index.d.ts.map +1 -0
  137. package/dist/tbv/core/utils/utxo/selectUtxos.d.ts +65 -0
  138. package/dist/tbv/core/utils/utxo/selectUtxos.d.ts.map +1 -0
  139. package/dist/tbv/index.cjs +1 -1
  140. package/dist/tbv/index.js +59 -1
  141. package/dist/tbv/index.js.map +1 -1
  142. package/dist/tbv/integrations/aave/clients/__tests__/spoke.test.d.ts +2 -0
  143. package/dist/tbv/integrations/aave/clients/__tests__/spoke.test.d.ts.map +1 -0
  144. package/dist/tbv/integrations/aave/clients/__tests__/transaction.test.d.ts +2 -0
  145. package/dist/tbv/integrations/aave/clients/__tests__/transaction.test.d.ts.map +1 -0
  146. package/dist/tbv/integrations/aave/clients/abis/AaveIntegrationController.abi.json.d.ts +1879 -0
  147. package/dist/tbv/integrations/aave/clients/abis/AaveSpoke.abi.json.d.ts +1262 -0
  148. package/dist/tbv/integrations/aave/clients/index.d.ts +4 -0
  149. package/dist/tbv/integrations/aave/clients/index.d.ts.map +1 -0
  150. package/dist/tbv/integrations/aave/clients/query.d.ts +27 -0
  151. package/dist/tbv/integrations/aave/clients/query.d.ts.map +1 -0
  152. package/dist/tbv/integrations/aave/clients/spoke.d.ts +161 -0
  153. package/dist/tbv/integrations/aave/clients/spoke.d.ts.map +1 -0
  154. package/dist/tbv/integrations/aave/clients/transaction.d.ts +110 -0
  155. package/dist/tbv/integrations/aave/clients/transaction.d.ts.map +1 -0
  156. package/dist/tbv/integrations/aave/config.d.ts +7 -0
  157. package/dist/tbv/integrations/aave/config.d.ts.map +1 -0
  158. package/dist/tbv/integrations/aave/constants.d.ts +113 -0
  159. package/dist/tbv/integrations/aave/constants.d.ts.map +1 -0
  160. package/dist/tbv/integrations/aave/index.cjs +2 -0
  161. package/dist/tbv/integrations/aave/index.cjs.map +1 -0
  162. package/dist/tbv/integrations/aave/index.d.ts +53 -0
  163. package/dist/tbv/integrations/aave/index.d.ts.map +1 -0
  164. package/dist/tbv/integrations/aave/index.js +307 -0
  165. package/dist/tbv/integrations/aave/index.js.map +1 -0
  166. package/dist/tbv/integrations/aave/types.d.ts +66 -0
  167. package/dist/tbv/integrations/aave/types.d.ts.map +1 -0
  168. package/dist/tbv/integrations/aave/utils/__tests__/aaveConversions.test.d.ts +5 -0
  169. package/dist/tbv/integrations/aave/utils/__tests__/aaveConversions.test.d.ts.map +1 -0
  170. package/dist/tbv/integrations/aave/utils/__tests__/borrowRatio.test.d.ts +5 -0
  171. package/dist/tbv/integrations/aave/utils/__tests__/borrowRatio.test.d.ts.map +1 -0
  172. package/dist/tbv/integrations/aave/utils/__tests__/debtUtils.test.d.ts +5 -0
  173. package/dist/tbv/integrations/aave/utils/__tests__/debtUtils.test.d.ts.map +1 -0
  174. package/dist/tbv/integrations/aave/utils/__tests__/healthFactor.test.d.ts +5 -0
  175. package/dist/tbv/integrations/aave/utils/__tests__/healthFactor.test.d.ts.map +1 -0
  176. package/dist/tbv/integrations/aave/utils/__tests__/vaultSelection.test.d.ts +2 -0
  177. package/dist/tbv/integrations/aave/utils/__tests__/vaultSelection.test.d.ts.map +1 -0
  178. package/dist/tbv/integrations/aave/utils/__tests__/vaultSplit.test.d.ts +5 -0
  179. package/dist/tbv/integrations/aave/utils/__tests__/vaultSplit.test.d.ts.map +1 -0
  180. package/dist/tbv/integrations/aave/utils/aaveConversions.d.ts +24 -0
  181. package/dist/tbv/integrations/aave/utils/aaveConversions.d.ts.map +1 -0
  182. package/dist/tbv/integrations/aave/utils/borrowRatio.d.ts +15 -0
  183. package/dist/tbv/integrations/aave/utils/borrowRatio.d.ts.map +1 -0
  184. package/dist/tbv/integrations/aave/utils/debtUtils.d.ts +14 -0
  185. package/dist/tbv/integrations/aave/utils/debtUtils.d.ts.map +1 -0
  186. package/dist/tbv/integrations/aave/utils/healthFactor.d.ts +108 -0
  187. package/dist/tbv/integrations/aave/utils/healthFactor.d.ts.map +1 -0
  188. package/dist/tbv/integrations/aave/utils/index.d.ts +10 -0
  189. package/dist/tbv/integrations/aave/utils/index.d.ts.map +1 -0
  190. package/dist/tbv/integrations/aave/utils/vaultSelection.d.ts +33 -0
  191. package/dist/tbv/integrations/aave/utils/vaultSelection.d.ts.map +1 -0
  192. package/dist/tbv/integrations/aave/utils/vaultSplit.d.ts +191 -0
  193. package/dist/tbv/integrations/aave/utils/vaultSplit.d.ts.map +1 -0
  194. package/package.json +37 -7
  195. package/dist/shared/__tests__/example.test.d.ts +0 -6
  196. package/dist/shared/__tests__/example.test.d.ts.map +0 -1
  197. package/dist/tbv/core/__tests__/example.test.d.ts +0 -6
  198. package/dist/tbv/core/__tests__/example.test.d.ts.map +0 -1
  199. package/dist/tbv/integrations/morpho/index.cjs +0 -2
  200. package/dist/tbv/integrations/morpho/index.d.ts +0 -2
  201. package/dist/tbv/integrations/morpho/index.d.ts.map +0 -1
  202. package/dist/tbv/integrations/morpho/index.js +0 -2
  203. /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"}
@@ -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
@@ -1,2 +1,18 @@
1
- export {};
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":"AAGA,OAAO,EAAE,CAAC"}
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"}
@@ -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"}