@getomnichain/omnichain 0.2.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 (296) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +66 -0
  3. package/dist/abstract_gas_pricing.d.ts +31 -0
  4. package/dist/abstract_gas_pricing.d.ts.map +1 -0
  5. package/dist/abstract_gas_pricing.js +22 -0
  6. package/dist/abstract_gas_pricing.js.map +1 -0
  7. package/dist/address.d.ts +10 -0
  8. package/dist/address.d.ts.map +1 -0
  9. package/dist/address.factory.d.ts +26 -0
  10. package/dist/address.factory.d.ts.map +1 -0
  11. package/dist/address.factory.js +75 -0
  12. package/dist/address.factory.js.map +1 -0
  13. package/dist/address.js +13 -0
  14. package/dist/address.js.map +1 -0
  15. package/dist/address_field.decorator.d.ts +17 -0
  16. package/dist/address_field.decorator.d.ts.map +1 -0
  17. package/dist/address_field.decorator.js +34 -0
  18. package/dist/address_field.decorator.js.map +1 -0
  19. package/dist/chain.base.d.ts +79 -0
  20. package/dist/chain.base.d.ts.map +1 -0
  21. package/dist/chain.base.js +113 -0
  22. package/dist/chain.base.js.map +1 -0
  23. package/dist/chain_ids.d.ts +122 -0
  24. package/dist/chain_ids.d.ts.map +1 -0
  25. package/dist/chain_ids.js +193 -0
  26. package/dist/chain_ids.js.map +1 -0
  27. package/dist/errors.d.ts +42 -0
  28. package/dist/errors.d.ts.map +1 -0
  29. package/dist/errors.js +62 -0
  30. package/dist/errors.js.map +1 -0
  31. package/dist/evm/evm_address.d.ts +11 -0
  32. package/dist/evm/evm_address.d.ts.map +1 -0
  33. package/dist/evm/evm_address.js +56 -0
  34. package/dist/evm/evm_address.js.map +1 -0
  35. package/dist/evm/evm_chain.d.ts +123 -0
  36. package/dist/evm/evm_chain.d.ts.map +1 -0
  37. package/dist/evm/evm_chain.js +685 -0
  38. package/dist/evm/evm_chain.js.map +1 -0
  39. package/dist/evm/evm_chains.d.ts +83 -0
  40. package/dist/evm/evm_chains.d.ts.map +1 -0
  41. package/dist/evm/evm_chains.js +493 -0
  42. package/dist/evm/evm_chains.js.map +1 -0
  43. package/dist/evm/evm_gas_estimate.d.ts +45 -0
  44. package/dist/evm/evm_gas_estimate.d.ts.map +1 -0
  45. package/dist/evm/evm_gas_estimate.js +70 -0
  46. package/dist/evm/evm_gas_estimate.js.map +1 -0
  47. package/dist/evm/evm_gas_pricing.d.ts +40 -0
  48. package/dist/evm/evm_gas_pricing.d.ts.map +1 -0
  49. package/dist/evm/evm_gas_pricing.js +56 -0
  50. package/dist/evm/evm_gas_pricing.js.map +1 -0
  51. package/dist/evm/evm_token.d.ts +7 -0
  52. package/dist/evm/evm_token.d.ts.map +1 -0
  53. package/dist/evm/evm_token.js +22 -0
  54. package/dist/evm/evm_token.js.map +1 -0
  55. package/dist/evm/evm_tokens.d.ts +81 -0
  56. package/dist/evm/evm_tokens.d.ts.map +1 -0
  57. package/dist/evm/evm_tokens.js +104 -0
  58. package/dist/evm/evm_tokens.js.map +1 -0
  59. package/dist/evm/evm_transaction_status.d.ts +108 -0
  60. package/dist/evm/evm_transaction_status.d.ts.map +1 -0
  61. package/dist/evm/evm_transaction_status.js +177 -0
  62. package/dist/evm/evm_transaction_status.js.map +1 -0
  63. package/dist/evm/index.d.ts +10 -0
  64. package/dist/evm/index.d.ts.map +1 -0
  65. package/dist/evm/index.js +10 -0
  66. package/dist/evm/index.js.map +1 -0
  67. package/dist/evm/unsigned_evm_transaction.d.ts +19 -0
  68. package/dist/evm/unsigned_evm_transaction.d.ts.map +1 -0
  69. package/dist/evm/unsigned_evm_transaction.js +18 -0
  70. package/dist/evm/unsigned_evm_transaction.js.map +1 -0
  71. package/dist/index.d.ts +18 -0
  72. package/dist/index.d.ts.map +1 -0
  73. package/dist/index.js +18 -0
  74. package/dist/index.js.map +1 -0
  75. package/dist/is_address.decorator.d.ts +3 -0
  76. package/dist/is_address.decorator.d.ts.map +1 -0
  77. package/dist/is_address.decorator.js +51 -0
  78. package/dist/is_address.decorator.js.map +1 -0
  79. package/dist/network_type.d.ts +73 -0
  80. package/dist/network_type.d.ts.map +1 -0
  81. package/dist/network_type.js +144 -0
  82. package/dist/network_type.js.map +1 -0
  83. package/dist/priority.d.ts +23 -0
  84. package/dist/priority.d.ts.map +1 -0
  85. package/dist/priority.js +23 -0
  86. package/dist/priority.js.map +1 -0
  87. package/dist/solana/index.d.ts +9 -0
  88. package/dist/solana/index.d.ts.map +1 -0
  89. package/dist/solana/index.js +9 -0
  90. package/dist/solana/index.js.map +1 -0
  91. package/dist/solana/solana_address.d.ts +20 -0
  92. package/dist/solana/solana_address.d.ts.map +1 -0
  93. package/dist/solana/solana_address.js +45 -0
  94. package/dist/solana/solana_address.js.map +1 -0
  95. package/dist/solana/solana_chain.d.ts +213 -0
  96. package/dist/solana/solana_chain.d.ts.map +1 -0
  97. package/dist/solana/solana_chain.js +704 -0
  98. package/dist/solana/solana_chain.js.map +1 -0
  99. package/dist/solana/solana_chains.d.ts +24 -0
  100. package/dist/solana/solana_chains.d.ts.map +1 -0
  101. package/dist/solana/solana_chains.js +84 -0
  102. package/dist/solana/solana_chains.js.map +1 -0
  103. package/dist/solana/solana_gas_pricing.d.ts +30 -0
  104. package/dist/solana/solana_gas_pricing.d.ts.map +1 -0
  105. package/dist/solana/solana_gas_pricing.js +26 -0
  106. package/dist/solana/solana_gas_pricing.js.map +1 -0
  107. package/dist/solana/solana_token.d.ts +19 -0
  108. package/dist/solana/solana_token.d.ts.map +1 -0
  109. package/dist/solana/solana_token.js +34 -0
  110. package/dist/solana/solana_token.js.map +1 -0
  111. package/dist/solana/solana_tokens.d.ts +22 -0
  112. package/dist/solana/solana_tokens.d.ts.map +1 -0
  113. package/dist/solana/solana_tokens.js +26 -0
  114. package/dist/solana/solana_tokens.js.map +1 -0
  115. package/dist/solana/solana_transaction_status.d.ts +59 -0
  116. package/dist/solana/solana_transaction_status.d.ts.map +1 -0
  117. package/dist/solana/solana_transaction_status.js +144 -0
  118. package/dist/solana/solana_transaction_status.js.map +1 -0
  119. package/dist/solana/unsigned_solana_transaction.d.ts +31 -0
  120. package/dist/solana/unsigned_solana_transaction.d.ts.map +1 -0
  121. package/dist/solana/unsigned_solana_transaction.js +26 -0
  122. package/dist/solana/unsigned_solana_transaction.js.map +1 -0
  123. package/dist/token.d.ts +35 -0
  124. package/dist/token.d.ts.map +1 -0
  125. package/dist/token.js +62 -0
  126. package/dist/token.js.map +1 -0
  127. package/dist/ton/index.d.ts +2 -0
  128. package/dist/ton/index.d.ts.map +1 -0
  129. package/dist/ton/index.js +2 -0
  130. package/dist/ton/index.js.map +1 -0
  131. package/dist/ton/ton_address.d.ts +10 -0
  132. package/dist/ton/ton_address.d.ts.map +1 -0
  133. package/dist/ton/ton_address.js +53 -0
  134. package/dist/ton/ton_address.js.map +1 -0
  135. package/dist/transaction_status.d.ts +140 -0
  136. package/dist/transaction_status.d.ts.map +1 -0
  137. package/dist/transaction_status.js +271 -0
  138. package/dist/transaction_status.js.map +1 -0
  139. package/dist/unsigned_transaction.d.ts +7 -0
  140. package/dist/unsigned_transaction.d.ts.map +1 -0
  141. package/dist/unsigned_transaction.js +9 -0
  142. package/dist/unsigned_transaction.js.map +1 -0
  143. package/dist/utxo/btc/btc_address.d.ts +15 -0
  144. package/dist/utxo/btc/btc_address.d.ts.map +1 -0
  145. package/dist/utxo/btc/btc_address.js +39 -0
  146. package/dist/utxo/btc/btc_address.js.map +1 -0
  147. package/dist/utxo/btc/btc_chain.d.ts +34 -0
  148. package/dist/utxo/btc/btc_chain.d.ts.map +1 -0
  149. package/dist/utxo/btc/btc_chain.js +62 -0
  150. package/dist/utxo/btc/btc_chain.js.map +1 -0
  151. package/dist/utxo/btc/btc_chains.d.ts +25 -0
  152. package/dist/utxo/btc/btc_chains.d.ts.map +1 -0
  153. package/dist/utxo/btc/btc_chains.js +43 -0
  154. package/dist/utxo/btc/btc_chains.js.map +1 -0
  155. package/dist/utxo/btc/btc_token.d.ts +6 -0
  156. package/dist/utxo/btc/btc_token.d.ts.map +1 -0
  157. package/dist/utxo/btc/btc_token.js +11 -0
  158. package/dist/utxo/btc/btc_token.js.map +1 -0
  159. package/dist/utxo/btc/index.d.ts +14 -0
  160. package/dist/utxo/btc/index.d.ts.map +1 -0
  161. package/dist/utxo/btc/index.js +14 -0
  162. package/dist/utxo/btc/index.js.map +1 -0
  163. package/dist/utxo/btc/network_params.d.ts +50 -0
  164. package/dist/utxo/btc/network_params.d.ts.map +1 -0
  165. package/dist/utxo/btc/network_params.js +188 -0
  166. package/dist/utxo/btc/network_params.js.map +1 -0
  167. package/dist/utxo/btc/tools/asset_outpoint.d.ts +7 -0
  168. package/dist/utxo/btc/tools/asset_outpoint.d.ts.map +1 -0
  169. package/dist/utxo/btc/tools/asset_outpoint.js +12 -0
  170. package/dist/utxo/btc/tools/asset_outpoint.js.map +1 -0
  171. package/dist/utxo/btc/tools/bitcoin_core.tool.d.ts +41 -0
  172. package/dist/utxo/btc/tools/bitcoin_core.tool.d.ts.map +1 -0
  173. package/dist/utxo/btc/tools/bitcoin_core.tool.js +172 -0
  174. package/dist/utxo/btc/tools/bitcoin_core.tool.js.map +1 -0
  175. package/dist/utxo/btc/tools/esplora.tool.d.ts +27 -0
  176. package/dist/utxo/btc/tools/esplora.tool.d.ts.map +1 -0
  177. package/dist/utxo/btc/tools/esplora.tool.js +113 -0
  178. package/dist/utxo/btc/tools/esplora.tool.js.map +1 -0
  179. package/dist/utxo/btc/tools/inscription_index.d.ts +6 -0
  180. package/dist/utxo/btc/tools/inscription_index.d.ts.map +1 -0
  181. package/dist/utxo/btc/tools/inscription_index.js +2 -0
  182. package/dist/utxo/btc/tools/inscription_index.js.map +1 -0
  183. package/dist/utxo/btc/tools/ordiscan.tool.d.ts +19 -0
  184. package/dist/utxo/btc/tools/ordiscan.tool.d.ts.map +1 -0
  185. package/dist/utxo/btc/tools/ordiscan.tool.js +53 -0
  186. package/dist/utxo/btc/tools/ordiscan.tool.js.map +1 -0
  187. package/dist/utxo/btc/tools/rare_sat_index.d.ts +6 -0
  188. package/dist/utxo/btc/tools/rare_sat_index.d.ts.map +1 -0
  189. package/dist/utxo/btc/tools/rare_sat_index.js +2 -0
  190. package/dist/utxo/btc/tools/rare_sat_index.js.map +1 -0
  191. package/dist/utxo/btc/tools/rune_index.d.ts +6 -0
  192. package/dist/utxo/btc/tools/rune_index.d.ts.map +1 -0
  193. package/dist/utxo/btc/tools/rune_index.js +2 -0
  194. package/dist/utxo/btc/tools/rune_index.js.map +1 -0
  195. package/dist/utxo/btc/tools/unisat.tool.d.ts +18 -0
  196. package/dist/utxo/btc/tools/unisat.tool.d.ts.map +1 -0
  197. package/dist/utxo/btc/tools/unisat.tool.js +49 -0
  198. package/dist/utxo/btc/tools/unisat.tool.js.map +1 -0
  199. package/dist/utxo/coin_selection.d.ts +29 -0
  200. package/dist/utxo/coin_selection.d.ts.map +1 -0
  201. package/dist/utxo/coin_selection.js +156 -0
  202. package/dist/utxo/coin_selection.js.map +1 -0
  203. package/dist/utxo/doge/doge_chains.d.ts +17 -0
  204. package/dist/utxo/doge/doge_chains.d.ts.map +1 -0
  205. package/dist/utxo/doge/doge_chains.js +28 -0
  206. package/dist/utxo/doge/doge_chains.js.map +1 -0
  207. package/dist/utxo/doge/index.d.ts +3 -0
  208. package/dist/utxo/doge/index.d.ts.map +1 -0
  209. package/dist/utxo/doge/index.js +3 -0
  210. package/dist/utxo/doge/index.js.map +1 -0
  211. package/dist/utxo/doge/network_params.d.ts +4 -0
  212. package/dist/utxo/doge/network_params.d.ts.map +1 -0
  213. package/dist/utxo/doge/network_params.js +24 -0
  214. package/dist/utxo/doge/network_params.js.map +1 -0
  215. package/dist/utxo/ecc.d.ts +2 -0
  216. package/dist/utxo/ecc.d.ts.map +1 -0
  217. package/dist/utxo/ecc.js +11 -0
  218. package/dist/utxo/ecc.js.map +1 -0
  219. package/dist/utxo/fee.d.ts +12 -0
  220. package/dist/utxo/fee.d.ts.map +1 -0
  221. package/dist/utxo/fee.js +51 -0
  222. package/dist/utxo/fee.js.map +1 -0
  223. package/dist/utxo/index.d.ts +20 -0
  224. package/dist/utxo/index.d.ts.map +1 -0
  225. package/dist/utxo/index.js +20 -0
  226. package/dist/utxo/index.js.map +1 -0
  227. package/dist/utxo/ltc/index.d.ts +3 -0
  228. package/dist/utxo/ltc/index.d.ts.map +1 -0
  229. package/dist/utxo/ltc/index.js +3 -0
  230. package/dist/utxo/ltc/index.js.map +1 -0
  231. package/dist/utxo/ltc/ltc_chains.d.ts +17 -0
  232. package/dist/utxo/ltc/ltc_chains.d.ts.map +1 -0
  233. package/dist/utxo/ltc/ltc_chains.js +28 -0
  234. package/dist/utxo/ltc/ltc_chains.js.map +1 -0
  235. package/dist/utxo/ltc/network_params.d.ts +4 -0
  236. package/dist/utxo/ltc/network_params.d.ts.map +1 -0
  237. package/dist/utxo/ltc/network_params.js +27 -0
  238. package/dist/utxo/ltc/network_params.js.map +1 -0
  239. package/dist/utxo/script.d.ts +16 -0
  240. package/dist/utxo/script.d.ts.map +1 -0
  241. package/dist/utxo/script.js +52 -0
  242. package/dist/utxo/script.js.map +1 -0
  243. package/dist/utxo/tools/broadcaster.d.ts +6 -0
  244. package/dist/utxo/tools/broadcaster.d.ts.map +1 -0
  245. package/dist/utxo/tools/broadcaster.js +2 -0
  246. package/dist/utxo/tools/broadcaster.js.map +1 -0
  247. package/dist/utxo/tools/chain_tip_provider.d.ts +5 -0
  248. package/dist/utxo/tools/chain_tip_provider.d.ts.map +1 -0
  249. package/dist/utxo/tools/chain_tip_provider.js +2 -0
  250. package/dist/utxo/tools/chain_tip_provider.js.map +1 -0
  251. package/dist/utxo/tools/fee_estimator.d.ts +6 -0
  252. package/dist/utxo/tools/fee_estimator.d.ts.map +1 -0
  253. package/dist/utxo/tools/fee_estimator.js +2 -0
  254. package/dist/utxo/tools/fee_estimator.js.map +1 -0
  255. package/dist/utxo/tools/raw_transaction_provider.d.ts +8 -0
  256. package/dist/utxo/tools/raw_transaction_provider.d.ts.map +1 -0
  257. package/dist/utxo/tools/raw_transaction_provider.js +2 -0
  258. package/dist/utxo/tools/raw_transaction_provider.js.map +1 -0
  259. package/dist/utxo/tools/utxo_provider.d.ts +7 -0
  260. package/dist/utxo/tools/utxo_provider.d.ts.map +1 -0
  261. package/dist/utxo/tools/utxo_provider.js +2 -0
  262. package/dist/utxo/tools/utxo_provider.js.map +1 -0
  263. package/dist/utxo/unsigned_utxo_transaction.d.ts +32 -0
  264. package/dist/utxo/unsigned_utxo_transaction.d.ts.map +1 -0
  265. package/dist/utxo/unsigned_utxo_transaction.js +32 -0
  266. package/dist/utxo/unsigned_utxo_transaction.js.map +1 -0
  267. package/dist/utxo/utxo.d.ts +43 -0
  268. package/dist/utxo/utxo.d.ts.map +1 -0
  269. package/dist/utxo/utxo.js +2 -0
  270. package/dist/utxo/utxo.js.map +1 -0
  271. package/dist/utxo/utxo_chain.d.ts +102 -0
  272. package/dist/utxo/utxo_chain.d.ts.map +1 -0
  273. package/dist/utxo/utxo_chain.js +524 -0
  274. package/dist/utxo/utxo_chain.js.map +1 -0
  275. package/dist/utxo/utxo_chains.d.ts +29 -0
  276. package/dist/utxo/utxo_chains.d.ts.map +1 -0
  277. package/dist/utxo/utxo_chains.js +63 -0
  278. package/dist/utxo/utxo_chains.js.map +1 -0
  279. package/dist/utxo/utxo_gas_pricing.d.ts +22 -0
  280. package/dist/utxo/utxo_gas_pricing.d.ts.map +1 -0
  281. package/dist/utxo/utxo_gas_pricing.js +20 -0
  282. package/dist/utxo/utxo_gas_pricing.js.map +1 -0
  283. package/dist/utxo/utxo_network_params.d.ts +25 -0
  284. package/dist/utxo/utxo_network_params.d.ts.map +1 -0
  285. package/dist/utxo/utxo_network_params.js +15 -0
  286. package/dist/utxo/utxo_network_params.js.map +1 -0
  287. package/dist/utxo/utxo_transaction_status.d.ts +73 -0
  288. package/dist/utxo/utxo_transaction_status.d.ts.map +1 -0
  289. package/dist/utxo/utxo_transaction_status.js +89 -0
  290. package/dist/utxo/utxo_transaction_status.js.map +1 -0
  291. package/docs/PUBLISHING.md +119 -0
  292. package/docs/README.md +273 -0
  293. package/docs/evm.md +205 -0
  294. package/docs/solana.md +220 -0
  295. package/docs/utxo.md +364 -0
  296. package/package.json +94 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transaction_status.js","sourceRoot":"","sources":["../transaction_status.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { NetworkType } from './network_type.ts';
2
+ export declare abstract class UnsignedTransaction {
3
+ readonly chainId: number;
4
+ readonly networkType: NetworkType;
5
+ protected constructor(chainId: number, networkType: NetworkType);
6
+ }
7
+ //# sourceMappingURL=unsigned_transaction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unsigned_transaction.d.ts","sourceRoot":"","sources":["../unsigned_transaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,8BAAsB,mBAAmB;IACvC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAElC,SAAS,aAAa,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW;CAIhE"}
@@ -0,0 +1,9 @@
1
+ export class UnsignedTransaction {
2
+ chainId;
3
+ networkType;
4
+ constructor(chainId, networkType) {
5
+ this.chainId = chainId;
6
+ this.networkType = networkType;
7
+ }
8
+ }
9
+ //# sourceMappingURL=unsigned_transaction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unsigned_transaction.js","sourceRoot":"","sources":["../unsigned_transaction.ts"],"names":[],"mappings":"AAEA,MAAM,OAAgB,mBAAmB;IAC9B,OAAO,CAAS;IAChB,WAAW,CAAc;IAElC,YAAsB,OAAe,EAAE,WAAwB;QAC7D,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,CAAC;CACF"}
@@ -0,0 +1,15 @@
1
+ import { Address } from '../../address.ts';
2
+ import { NetworkType } from '../../network_type.ts';
3
+ import '../ecc.ts';
4
+ import { UtxoScriptType } from '../script.ts';
5
+ import { BtcNetworkParams } from './network_params.ts';
6
+ export declare class BtcAddress extends Address {
7
+ readonly params: BtcNetworkParams;
8
+ readonly scriptType: UtxoScriptType;
9
+ constructor(raw: string, params: BtcNetworkParams);
10
+ canonical(): string;
11
+ get networkType(): NetworkType;
12
+ scriptPubKey(): Uint8Array;
13
+ private static assertValid;
14
+ }
15
+ //# sourceMappingURL=btc_address.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"btc_address.d.ts","sourceRoot":"","sources":["../../../utxo/btc/btc_address.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEpD,OAAO,WAAW,CAAC;AACnB,OAAO,EAAE,cAAc,EAAoB,MAAM,cAAc,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,qBAAa,UAAW,SAAQ,OAAO;IACrC,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAClC,QAAQ,CAAC,UAAU,EAAE,cAAc,CAAC;gBAExB,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB;IAOjD,SAAS,IAAI,MAAM;IAInB,IAAI,WAAW,IAAI,WAAW,CAE7B;IAED,YAAY,IAAI,UAAU;IAI1B,OAAO,CAAC,MAAM,CAAC,WAAW;CAe3B"}
@@ -0,0 +1,39 @@
1
+ import { address as bjsAddress } from 'bitcoinjs-lib';
2
+ import { Address } from "../../address.js";
3
+ import { NetworkType } from "../../network_type.js";
4
+ import "../ecc.js";
5
+ import { detectScriptType } from "../script.js";
6
+ export class BtcAddress extends Address {
7
+ params;
8
+ scriptType;
9
+ constructor(raw, params) {
10
+ super(raw);
11
+ this.params = params;
12
+ const script = BtcAddress.assertValid(raw, params);
13
+ this.scriptType = detectScriptType(script);
14
+ }
15
+ canonical() {
16
+ return this.raw;
17
+ }
18
+ get networkType() {
19
+ return NetworkType.BTC;
20
+ }
21
+ scriptPubKey() {
22
+ return bjsAddress.toOutputScript(this.raw, this.params.networkInfo);
23
+ }
24
+ static assertValid(raw, params) {
25
+ if (typeof raw !== 'string' || raw.length === 0) {
26
+ throw new Error('BtcAddress: address must be a non-empty string');
27
+ }
28
+ if (!params.walletAddressRegex.test(raw)) {
29
+ throw new Error(`BtcAddress: "${raw}" does not match ${params.name} address format`);
30
+ }
31
+ try {
32
+ return bjsAddress.toOutputScript(raw, params.networkInfo);
33
+ }
34
+ catch (err) {
35
+ throw new Error(`BtcAddress: "${raw}" failed checksum/decode for ${params.name}: ${err.message}`);
36
+ }
37
+ }
38
+ }
39
+ //# sourceMappingURL=btc_address.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"btc_address.js","sourceRoot":"","sources":["../../../utxo/btc/btc_address.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,eAAe,CAAC;AAEtD,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEpD,OAAO,WAAW,CAAC;AACnB,OAAO,EAAkB,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAGhE,MAAM,OAAO,UAAW,SAAQ,OAAO;IAC5B,MAAM,CAAmB;IACzB,UAAU,CAAiB;IAEpC,YAAY,GAAW,EAAE,MAAwB;QAC/C,KAAK,CAAC,GAAG,CAAC,CAAC;QACX,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,MAAM,MAAM,GAAG,UAAU,CAAC,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QACnD,IAAI,CAAC,UAAU,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAC7C,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,GAAG,CAAC;IAClB,CAAC;IAED,IAAI,WAAW;QACb,OAAO,WAAW,CAAC,GAAG,CAAC;IACzB,CAAC;IAED,YAAY;QACV,OAAO,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IACtE,CAAC;IAEO,MAAM,CAAC,WAAW,CAAC,GAAW,EAAE,MAAwB;QAC9D,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChD,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;QACpE,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACzC,MAAM,IAAI,KAAK,CAAC,gBAAgB,GAAG,oBAAoB,MAAM,CAAC,IAAI,iBAAiB,CAAC,CAAC;QACvF,CAAC;QACD,IAAI,CAAC;YACH,OAAO,UAAU,CAAC,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;QAC5D,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CACb,gBAAgB,GAAG,gCAAgC,MAAM,CAAC,IAAI,KAAM,GAAa,CAAC,OAAO,EAAE,CAC5F,CAAC;QACJ,CAAC;IACH,CAAC;CACF"}
@@ -0,0 +1,34 @@
1
+ import { CreateTransferRequest } from '../../chain.base.ts';
2
+ import { CreateUtxoTransferOptions, GetUtxosOptions, UtxoChain, UtxoChainInit } from '../utxo_chain.ts';
3
+ import { UnsignedUtxoTransaction } from '../unsigned_utxo_transaction.ts';
4
+ import { UnspentTransactionOutput } from '../utxo.ts';
5
+ import { BtcInscriptionIndex } from './tools/inscription_index.ts';
6
+ import { BtcRareSatIndex } from './tools/rare_sat_index.ts';
7
+ import { BtcRuneIndex } from './tools/rune_index.ts';
8
+ import { BtcNetworkParams } from './network_params.ts';
9
+ export interface BtcChainInit extends Omit<UtxoChainInit, 'params'> {
10
+ params: BtcNetworkParams;
11
+ inscriptionIndex?: BtcInscriptionIndex;
12
+ runeIndex?: BtcRuneIndex;
13
+ rareSatIndex?: BtcRareSatIndex;
14
+ }
15
+ export interface BtcGetUtxosOptions extends GetUtxosOptions {
16
+ excludeInscriptions?: boolean;
17
+ excludeRunes?: boolean;
18
+ excludeRareSats?: boolean;
19
+ }
20
+ export interface CreateBtcTransferOptions extends CreateUtxoTransferOptions {
21
+ excludeInscriptions?: boolean;
22
+ excludeRunes?: boolean;
23
+ excludeRareSats?: boolean;
24
+ }
25
+ export declare class BtcChain extends UtxoChain {
26
+ readonly params: BtcNetworkParams;
27
+ readonly inscriptionIndex: BtcInscriptionIndex | null;
28
+ readonly runeIndex: BtcRuneIndex | null;
29
+ readonly rareSatIndex: BtcRareSatIndex | null;
30
+ constructor(init: BtcChainInit);
31
+ getUtxos(addresses: readonly string[], options?: BtcGetUtxosOptions): Promise<UnspentTransactionOutput[]>;
32
+ createTransferUnsignedTransaction(req: CreateBtcTransferOptions | CreateTransferRequest): Promise<UnsignedUtxoTransaction>;
33
+ }
34
+ //# sourceMappingURL=btc_chain.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"btc_chain.d.ts","sourceRoot":"","sources":["../../../utxo/btc/btc_chain.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAE5D,OAAO,EAAE,yBAAyB,EAAE,eAAe,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACxG,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAEtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAA0B,MAAM,qBAAqB,CAAC;AAE/E,MAAM,WAAW,YAAa,SAAQ,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC;IACjE,MAAM,EAAE,gBAAgB,CAAC;IACzB,gBAAgB,CAAC,EAAE,mBAAmB,CAAC;IACvC,SAAS,CAAC,EAAE,YAAY,CAAC;IACzB,YAAY,CAAC,EAAE,eAAe,CAAC;CAChC;AAED,MAAM,WAAW,kBAAmB,SAAQ,eAAe;IACzD,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,wBAAyB,SAAQ,yBAAyB;IACzE,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,qBAAa,QAAS,SAAQ,SAAS;IACrC,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAClC,QAAQ,CAAC,gBAAgB,EAAE,mBAAmB,GAAG,IAAI,CAAC;IACtD,QAAQ,CAAC,SAAS,EAAE,YAAY,GAAG,IAAI,CAAC;IACxC,QAAQ,CAAC,YAAY,EAAE,eAAe,GAAG,IAAI,CAAC;gBAElC,IAAI,EAAE,YAAY;IASxB,QAAQ,CACZ,SAAS,EAAE,SAAS,MAAM,EAAE,EAC5B,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,wBAAwB,EAAE,CAAC;IAiChC,iCAAiC,CACrC,GAAG,EAAE,wBAAwB,GAAG,qBAAqB,GACpD,OAAO,CAAC,uBAAuB,CAAC;CAYpC"}
@@ -0,0 +1,62 @@
1
+ import { UtxoChain } from "../utxo_chain.js";
2
+ import { outpointKey, unionOutpoints } from "./tools/asset_outpoint.js";
3
+ import { registerBtcChainParams } from "./network_params.js";
4
+ export class BtcChain extends UtxoChain {
5
+ params;
6
+ inscriptionIndex;
7
+ runeIndex;
8
+ rareSatIndex;
9
+ constructor(init) {
10
+ super(init);
11
+ this.params = init.params;
12
+ this.inscriptionIndex = init.inscriptionIndex ?? null;
13
+ this.runeIndex = init.runeIndex ?? null;
14
+ this.rareSatIndex = init.rareSatIndex ?? null;
15
+ registerBtcChainParams(BigInt(init.chainId), init.params);
16
+ }
17
+ async getUtxos(addresses, options) {
18
+ const all = await super.getUtxos(addresses);
19
+ if (!options)
20
+ return all;
21
+ const { excludeInscriptions, excludeRunes, excludeRareSats } = options;
22
+ if (!excludeInscriptions && !excludeRunes && !excludeRareSats)
23
+ return all;
24
+ if (excludeInscriptions && this.inscriptionIndex === null) {
25
+ throw new Error(`${this.name}: excludeInscriptions requested but no inscriptionIndex was configured`);
26
+ }
27
+ if (excludeRunes && this.runeIndex === null) {
28
+ throw new Error(`${this.name}: excludeRunes requested but no runeIndex was configured`);
29
+ }
30
+ if (excludeRareSats && this.rareSatIndex === null) {
31
+ throw new Error(`${this.name}: excludeRareSats requested but no rareSatIndex was configured`);
32
+ }
33
+ const queries = [];
34
+ for (const address of addresses) {
35
+ if (excludeInscriptions)
36
+ queries.push(this.inscriptionIndex.outpointsWithInscriptions(address));
37
+ if (excludeRunes)
38
+ queries.push(this.runeIndex.outpointsWithRunes(address));
39
+ if (excludeRareSats)
40
+ queries.push(this.rareSatIndex.outpointsWithRareSats(address));
41
+ }
42
+ if (queries.length === 0)
43
+ return all;
44
+ const groups = await Promise.all(queries);
45
+ const tainted = unionOutpoints(groups);
46
+ if (tainted.size === 0)
47
+ return all;
48
+ return all.filter((u) => !tainted.has(outpointKey(u.txid, u.vout)));
49
+ }
50
+ async createTransferUnsignedTransaction(req) {
51
+ const opts = req;
52
+ const getUtxosOptions = opts.excludeInscriptions || opts.excludeRunes || opts.excludeRareSats
53
+ ? {
54
+ excludeInscriptions: opts.excludeInscriptions,
55
+ excludeRunes: opts.excludeRunes,
56
+ excludeRareSats: opts.excludeRareSats,
57
+ }
58
+ : undefined;
59
+ return this.buildTransfer(req, getUtxosOptions);
60
+ }
61
+ }
62
+ //# sourceMappingURL=btc_chain.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"btc_chain.js","sourceRoot":"","sources":["../../../utxo/btc/btc_chain.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import { UtxoBroadcaster } from '../tools/broadcaster.ts';
2
+ import { UtxoChainTipProvider } from '../tools/chain_tip_provider.ts';
3
+ import { UtxoFeeEstimator } from '../tools/fee_estimator.ts';
4
+ import { UtxoRawTransactionProvider } from '../tools/raw_transaction_provider.ts';
5
+ import { UtxoProvider } from '../tools/utxo_provider.ts';
6
+ import { BtcChain } from './btc_chain.ts';
7
+ import { BtcInscriptionIndex } from './tools/inscription_index.ts';
8
+ import { BtcRareSatIndex } from './tools/rare_sat_index.ts';
9
+ import { BtcRuneIndex } from './tools/rune_index.ts';
10
+ export interface BitcoinChainFactoryOptions {
11
+ chainId: number;
12
+ utxoProvider: UtxoProvider;
13
+ rawTxProvider: UtxoRawTransactionProvider;
14
+ feeEstimator: UtxoFeeEstimator;
15
+ broadcaster: UtxoBroadcaster;
16
+ chainTipProvider: UtxoChainTipProvider;
17
+ inscriptionIndex?: BtcInscriptionIndex;
18
+ runeIndex?: BtcRuneIndex;
19
+ rareSatIndex?: BtcRareSatIndex;
20
+ }
21
+ export declare function bitcoinMainnetChain(options: BitcoinChainFactoryOptions): BtcChain;
22
+ export declare function bitcoinTestnetChain(options: BitcoinChainFactoryOptions): BtcChain;
23
+ export declare function bitcoinSignetChain(options: BitcoinChainFactoryOptions): BtcChain;
24
+ export declare function bitcoinRegtestChain(options: BitcoinChainFactoryOptions): BtcChain;
25
+ //# sourceMappingURL=btc_chains.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"btc_chains.d.ts","sourceRoot":"","sources":["../../../utxo/btc/btc_chains.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,0BAA0B,EAAE,MAAM,sCAAsC,CAAC;AAClF,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAO1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,MAAM,WAAW,0BAA0B;IACzC,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,YAAY,CAAC;IAC3B,aAAa,EAAE,0BAA0B,CAAC;IAC1C,YAAY,EAAE,gBAAgB,CAAC;IAC/B,WAAW,EAAE,eAAe,CAAC;IAC7B,gBAAgB,EAAE,oBAAoB,CAAC;IACvC,gBAAgB,CAAC,EAAE,mBAAmB,CAAC;IACvC,SAAS,CAAC,EAAE,YAAY,CAAC;IACzB,YAAY,CAAC,EAAE,eAAe,CAAC;CAChC;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,0BAA0B,GAAG,QAAQ,CASjF;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,0BAA0B,GAAG,QAAQ,CASjF;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,0BAA0B,GAAG,QAAQ,CAShF;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,0BAA0B,GAAG,QAAQ,CASjF"}
@@ -0,0 +1,43 @@
1
+ import { BtcChain } from "./btc_chain.js";
2
+ import { BITCOIN_MAINNET_PARAMS, BITCOIN_REGTEST_PARAMS, BITCOIN_SIGNET_PARAMS, BITCOIN_TESTNET_PARAMS, } from "./network_params.js";
3
+ export function bitcoinMainnetChain(options) {
4
+ return new BtcChain({
5
+ name: 'Bitcoin',
6
+ params: BITCOIN_MAINNET_PARAMS,
7
+ nativeSymbol: 'BTC',
8
+ ...options,
9
+ walletExplorerUrlTemplate: 'https://www.blockchain.com/explorer/addresses/btc/{wallet_address}',
10
+ transactionExplorerUrlTemplate: 'https://www.blockchain.com/explorer/transactions/btc/{tx_hash}',
11
+ });
12
+ }
13
+ export function bitcoinTestnetChain(options) {
14
+ return new BtcChain({
15
+ name: 'Bitcoin Testnet',
16
+ params: BITCOIN_TESTNET_PARAMS,
17
+ nativeSymbol: 'tBTC',
18
+ ...options,
19
+ walletExplorerUrlTemplate: 'https://blockstream.info/testnet/address/{wallet_address}',
20
+ transactionExplorerUrlTemplate: 'https://blockstream.info/testnet/tx/{tx_hash}',
21
+ });
22
+ }
23
+ export function bitcoinSignetChain(options) {
24
+ return new BtcChain({
25
+ name: 'Bitcoin Signet',
26
+ params: BITCOIN_SIGNET_PARAMS,
27
+ nativeSymbol: 'sBTC',
28
+ ...options,
29
+ walletExplorerUrlTemplate: 'https://mempool.space/signet/address/{wallet_address}',
30
+ transactionExplorerUrlTemplate: 'https://mempool.space/signet/tx/{tx_hash}',
31
+ });
32
+ }
33
+ export function bitcoinRegtestChain(options) {
34
+ return new BtcChain({
35
+ name: 'Bitcoin Regtest',
36
+ params: BITCOIN_REGTEST_PARAMS,
37
+ nativeSymbol: 'rBTC',
38
+ ...options,
39
+ walletExplorerUrlTemplate: 'http://localhost/address/{wallet_address}',
40
+ transactionExplorerUrlTemplate: 'http://localhost/tx/{tx_hash}',
41
+ });
42
+ }
43
+ //# sourceMappingURL=btc_chains.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"btc_chains.js","sourceRoot":"","sources":["../../../utxo/btc/btc_chains.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,qBAAqB,CAAC;AAiB7B,MAAM,UAAU,mBAAmB,CAAC,OAAmC;IACrE,OAAO,IAAI,QAAQ,CAAC;QAClB,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,sBAAsB;QAC9B,YAAY,EAAE,KAAK;QACnB,GAAG,OAAO;QACV,yBAAyB,EAAE,oEAAoE;QAC/F,8BAA8B,EAAE,gEAAgE;KACjG,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,OAAmC;IACrE,OAAO,IAAI,QAAQ,CAAC;QAClB,IAAI,EAAE,iBAAiB;QACvB,MAAM,EAAE,sBAAsB;QAC9B,YAAY,EAAE,MAAM;QACpB,GAAG,OAAO;QACV,yBAAyB,EAAE,2DAA2D;QACtF,8BAA8B,EAAE,+CAA+C;KAChF,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,OAAmC;IACpE,OAAO,IAAI,QAAQ,CAAC;QAClB,IAAI,EAAE,gBAAgB;QACtB,MAAM,EAAE,qBAAqB;QAC7B,YAAY,EAAE,MAAM;QACpB,GAAG,OAAO;QACV,yBAAyB,EAAE,uDAAuD;QAClF,8BAA8B,EAAE,2CAA2C;KAC5E,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,OAAmC;IACrE,OAAO,IAAI,QAAQ,CAAC;QAClB,IAAI,EAAE,iBAAiB;QACvB,MAAM,EAAE,sBAAsB;QAC9B,YAAY,EAAE,MAAM;QACpB,GAAG,OAAO;QACV,yBAAyB,EAAE,2CAA2C;QACtE,8BAA8B,EAAE,+BAA+B;KAChE,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { Token } from '../../token.ts';
2
+ export declare class BtcToken extends Token {
3
+ constructor(chainId: number, symbol: string);
4
+ static native(chainId: number, symbol?: string): BtcToken;
5
+ }
6
+ //# sourceMappingURL=btc_token.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"btc_token.d.ts","sourceRoot":"","sources":["../../../utxo/btc/btc_token.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAIvC,qBAAa,QAAS,SAAQ,KAAK;gBACrB,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAI3C,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,SAAQ,GAAG,QAAQ;CAGzD"}
@@ -0,0 +1,11 @@
1
+ import { Token } from "../../token.js";
2
+ const BTC_DECIMALS = 8;
3
+ export class BtcToken extends Token {
4
+ constructor(chainId, symbol) {
5
+ super(chainId, symbol, undefined, BTC_DECIMALS);
6
+ }
7
+ static native(chainId, symbol = 'BTC') {
8
+ return new BtcToken(chainId, symbol);
9
+ }
10
+ }
11
+ //# sourceMappingURL=btc_token.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"btc_token.js","sourceRoot":"","sources":["../../../utxo/btc/btc_token.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAEvC,MAAM,YAAY,GAAG,CAAC,CAAC;AAEvB,MAAM,OAAO,QAAS,SAAQ,KAAK;IACjC,YAAY,OAAe,EAAE,MAAc;QACzC,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;IAClD,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,OAAe,EAAE,MAAM,GAAG,KAAK;QAC3C,OAAO,IAAI,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACvC,CAAC;CACF"}
@@ -0,0 +1,14 @@
1
+ export * from './btc_address.ts';
2
+ export * from './btc_chain.ts';
3
+ export * from './btc_chains.ts';
4
+ export * from './btc_token.ts';
5
+ export * from './network_params.ts';
6
+ export * from './tools/asset_outpoint.ts';
7
+ export * from './tools/bitcoin_core.tool.ts';
8
+ export * from './tools/esplora.tool.ts';
9
+ export * from './tools/inscription_index.ts';
10
+ export * from './tools/ordiscan.tool.ts';
11
+ export * from './tools/rare_sat_index.ts';
12
+ export * from './tools/rune_index.ts';
13
+ export * from './tools/unisat.tool.ts';
14
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../utxo/btc/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC"}
@@ -0,0 +1,14 @@
1
+ export * from "./btc_address.js";
2
+ export * from "./btc_chain.js";
3
+ export * from "./btc_chains.js";
4
+ export * from "./btc_token.js";
5
+ export * from "./network_params.js";
6
+ export * from "./tools/asset_outpoint.js";
7
+ export * from "./tools/bitcoin_core.tool.js";
8
+ export * from "./tools/esplora.tool.js";
9
+ export * from "./tools/inscription_index.js";
10
+ export * from "./tools/ordiscan.tool.js";
11
+ export * from "./tools/rare_sat_index.js";
12
+ export * from "./tools/rune_index.js";
13
+ export * from "./tools/unisat.tool.js";
14
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../utxo/btc/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC"}
@@ -0,0 +1,50 @@
1
+ import { UtxoNetworkParams } from '../utxo_network_params.ts';
2
+ export declare const BtcNetworks: {
3
+ readonly Mainnet: "mainnet";
4
+ readonly Testnet: "testnet";
5
+ readonly Signet: "signet";
6
+ readonly Regtest: "regtest";
7
+ };
8
+ export type BtcNetworkName = (typeof BtcNetworks)[keyof typeof BtcNetworks];
9
+ export interface BtcNetworkParams extends UtxoNetworkParams {
10
+ name: BtcNetworkName;
11
+ hrp: string;
12
+ }
13
+ export declare const BITCOIN_MAINNET_PARAMS: BtcNetworkParams;
14
+ export declare const BITCOIN_TESTNET_PARAMS: BtcNetworkParams;
15
+ export declare const BITCOIN_SIGNET_PARAMS: BtcNetworkParams;
16
+ export declare const BITCOIN_REGTEST_PARAMS: BtcNetworkParams;
17
+ export declare function btcParamsByName(name: BtcNetworkName): BtcNetworkParams;
18
+ /**
19
+ * Register BTC network params for a chainId.
20
+ *
21
+ * The three statically-seeded chainIds (BTC mainnet/testnet/signet) are
22
+ * **reserved**: a re-registration is only accepted if the incoming params
23
+ * are shape-identical to the seeded ones (idempotent — this is what
24
+ * `BtcChain`'s constructor does on the canonical ids). Any deviation
25
+ * (different `hrp`, `walletAddressRegex`, `pubKeyHash`, etc.) throws
26
+ * `ChainError(InvalidArgument)`. For custom BTC-shaped params, pick a
27
+ * distinct chainId.
28
+ *
29
+ * For non-seeded chainIds, the same shape check applies — silent-replace-
30
+ * with-different-grammar is not possible on any registered id, seeded or
31
+ * not.
32
+ */
33
+ export declare function registerBtcChainParams(chainId: bigint, params: BtcNetworkParams): void;
34
+ /**
35
+ * Remove a BTC chainId entry from the params registry. Reserved seed ids
36
+ * (BTC mainnet/testnet/signet) are silently no-op'd rather than throwing,
37
+ * so a composable consumer teardown helper
38
+ * (`unregisterChain(id); unregisterBtcChainParams(BigInt(id));`) works for
39
+ * ANY id without id-specific branching.
40
+ *
41
+ * Paired with `unregisterChain(id)` from `network_type.ts` when the
42
+ * consumer wants a full teardown of a custom BTC-shaped id: both
43
+ * registries need clearing to avoid drift where `networkTypeOf(id)`
44
+ * throws `ChainNotSupported` but `btcParamsForChainId(id)` still returns
45
+ * stale params.
46
+ */
47
+ export declare function unregisterBtcChainParams(chainId: bigint): void;
48
+ export declare function btcParamsShapeMatches(a: BtcNetworkParams, b: BtcNetworkParams): boolean;
49
+ export declare function btcParamsForChainId(chainId: bigint): BtcNetworkParams;
50
+ //# sourceMappingURL=network_params.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"network_params.d.ts","sourceRoot":"","sources":["../../../utxo/btc/network_params.ts"],"names":[],"mappings":"AAQA,OAAO,EAOL,iBAAiB,EAClB,MAAM,2BAA2B,CAAC;AAEnC,eAAO,MAAM,WAAW;;;;;CAKd,CAAC;AAEX,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,OAAO,WAAW,CAAC,CAAC;AAE5E,MAAM,WAAW,gBAAiB,SAAQ,iBAAiB;IACzD,IAAI,EAAE,cAAc,CAAC;IACrB,GAAG,EAAE,MAAM,CAAC;CACb;AASD,eAAO,MAAM,sBAAsB,EAAE,gBAQpC,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,gBAQpC,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,gBAGnC,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,gBAQpC,CAAC;AAEF,wBAAgB,eAAe,CAAC,IAAI,EAAE,cAAc,GAAG,gBAAgB,CAetE;AAkBD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,GAAG,IAAI,CA2BtF;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAG9D;AAED,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,gBAAgB,EAAE,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAyBvF;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,gBAAgB,CAerE"}
@@ -0,0 +1,188 @@
1
+ import { networks } from 'bitcoinjs-lib';
2
+ import { CHAIN_ID_BITCOIN_MAINNET, CHAIN_ID_BITCOIN_SIGNET, CHAIN_ID_BITCOIN_TESTNET, } from "../../chain_ids.js";
3
+ import { ChainError, ChainErrorKinds } from "../../errors.js";
4
+ import { BIP32_PURPOSE_P2PKH, BIP32_PURPOSE_P2SH_P2WPKH, BIP32_PURPOSE_P2TR, BIP32_PURPOSE_P2WPKH, DEFAULT_DUST_SATS, Slip44, } from "../utxo_network_params.js";
5
+ export const BtcNetworks = {
6
+ Mainnet: 'mainnet',
7
+ Testnet: 'testnet',
8
+ Signet: 'signet',
9
+ Regtest: 'regtest',
10
+ };
11
+ const ALL_BTC_PURPOSES = new Set([
12
+ BIP32_PURPOSE_P2PKH,
13
+ BIP32_PURPOSE_P2SH_P2WPKH,
14
+ BIP32_PURPOSE_P2WPKH,
15
+ BIP32_PURPOSE_P2TR,
16
+ ]);
17
+ export const BITCOIN_MAINNET_PARAMS = {
18
+ name: BtcNetworks.Mainnet,
19
+ hrp: 'bc',
20
+ slip44CoinId: Slip44.BTC,
21
+ networkInfo: networks.bitcoin,
22
+ supportedDerivationPurposes: ALL_BTC_PURPOSES,
23
+ dustValueSats: DEFAULT_DUST_SATS,
24
+ walletAddressRegex: /^(bc1[qp][ac-hj-np-z02-9]{11,71}|[13][a-km-zA-HJ-NP-Z1-9]{25,34})$/,
25
+ };
26
+ export const BITCOIN_TESTNET_PARAMS = {
27
+ name: BtcNetworks.Testnet,
28
+ hrp: 'tb',
29
+ slip44CoinId: Slip44.Testnet,
30
+ networkInfo: networks.testnet,
31
+ supportedDerivationPurposes: ALL_BTC_PURPOSES,
32
+ dustValueSats: DEFAULT_DUST_SATS,
33
+ walletAddressRegex: /^(tb1[qp][ac-hj-np-z02-9]{11,71}|[mn2][a-km-zA-HJ-NP-Z1-9]{25,34})$/,
34
+ };
35
+ export const BITCOIN_SIGNET_PARAMS = {
36
+ ...BITCOIN_TESTNET_PARAMS,
37
+ name: BtcNetworks.Signet,
38
+ };
39
+ export const BITCOIN_REGTEST_PARAMS = {
40
+ name: BtcNetworks.Regtest,
41
+ hrp: 'bcrt',
42
+ slip44CoinId: Slip44.Testnet,
43
+ networkInfo: networks.regtest,
44
+ supportedDerivationPurposes: ALL_BTC_PURPOSES,
45
+ dustValueSats: DEFAULT_DUST_SATS,
46
+ walletAddressRegex: /^(bcrt1[qp][ac-hj-np-z02-9]{11,71}|[mn2][a-km-zA-HJ-NP-Z1-9]{25,34})$/,
47
+ };
48
+ export function btcParamsByName(name) {
49
+ switch (name) {
50
+ case BtcNetworks.Mainnet:
51
+ return BITCOIN_MAINNET_PARAMS;
52
+ case BtcNetworks.Testnet:
53
+ return BITCOIN_TESTNET_PARAMS;
54
+ case BtcNetworks.Signet:
55
+ return BITCOIN_SIGNET_PARAMS;
56
+ case BtcNetworks.Regtest:
57
+ return BITCOIN_REGTEST_PARAMS;
58
+ default: {
59
+ const exhaustive = name;
60
+ throw new Error(`Unknown Bitcoin network: ${String(exhaustive)}`);
61
+ }
62
+ }
63
+ }
64
+ const btcParamsByChainId = new Map();
65
+ const RESERVED_SEED_CHAIN_IDS = new Set([
66
+ BigInt(CHAIN_ID_BITCOIN_MAINNET),
67
+ BigInt(CHAIN_ID_BITCOIN_TESTNET),
68
+ BigInt(CHAIN_ID_BITCOIN_SIGNET),
69
+ ]);
70
+ // Static seed for the canonical BTC chainIds so `addressFor(-1, 'bc1q…')`
71
+ // resolves without any consumer having constructed a BtcChain instance —
72
+ // symmetric with the NetworkType static seed. Custom BTC ids still register
73
+ // via the BtcChain constructor.
74
+ btcParamsByChainId.set(BigInt(CHAIN_ID_BITCOIN_MAINNET), BITCOIN_MAINNET_PARAMS);
75
+ btcParamsByChainId.set(BigInt(CHAIN_ID_BITCOIN_TESTNET), BITCOIN_TESTNET_PARAMS);
76
+ btcParamsByChainId.set(BigInt(CHAIN_ID_BITCOIN_SIGNET), BITCOIN_SIGNET_PARAMS);
77
+ /**
78
+ * Register BTC network params for a chainId.
79
+ *
80
+ * The three statically-seeded chainIds (BTC mainnet/testnet/signet) are
81
+ * **reserved**: a re-registration is only accepted if the incoming params
82
+ * are shape-identical to the seeded ones (idempotent — this is what
83
+ * `BtcChain`'s constructor does on the canonical ids). Any deviation
84
+ * (different `hrp`, `walletAddressRegex`, `pubKeyHash`, etc.) throws
85
+ * `ChainError(InvalidArgument)`. For custom BTC-shaped params, pick a
86
+ * distinct chainId.
87
+ *
88
+ * For non-seeded chainIds, the same shape check applies — silent-replace-
89
+ * with-different-grammar is not possible on any registered id, seeded or
90
+ * not.
91
+ */
92
+ export function registerBtcChainParams(chainId, params) {
93
+ const existing = btcParamsByChainId.get(chainId);
94
+ const isReserved = RESERVED_SEED_CHAIN_IDS.has(chainId);
95
+ if (existing !== undefined && existing !== params) {
96
+ if (!btcParamsShapeMatches(existing, params)) {
97
+ throw new ChainError(ChainErrorKinds.InvalidArgument, isReserved
98
+ ? `BTC chainId ${chainId} is a reserved static seed; refusing to re-register with different params ('${existing.name}' vs '${params.name}'). Pick a distinct chainId for custom BTC-shaped params.`
99
+ : `BTC chainId ${chainId} already registered with different identity-relevant params ('${existing.name}' vs '${params.name}'). Consumer must unregister first if intentional.`, { chainId: Number(chainId) });
100
+ }
101
+ // Reserved-id shape-match: return WITHOUT overwriting. The seed
102
+ // stays canonical (identity-equal to the exported BITCOIN_*_PARAMS
103
+ // constant); a consumer clone with the right shape doesn't replace
104
+ // the reference. Prevents post-registration mutation of the seed
105
+ // (`supportedDerivationPurposes.add(99)` on the passed clone would
106
+ // otherwise reach the seeded entry).
107
+ if (isReserved)
108
+ return;
109
+ }
110
+ // Consumer-registered ids: defensive-copy the Set so caller mutations
111
+ // after registration can't reach the stored params.
112
+ btcParamsByChainId.set(chainId, {
113
+ ...params,
114
+ supportedDerivationPurposes: new Set(params.supportedDerivationPurposes),
115
+ });
116
+ }
117
+ /**
118
+ * Remove a BTC chainId entry from the params registry. Reserved seed ids
119
+ * (BTC mainnet/testnet/signet) are silently no-op'd rather than throwing,
120
+ * so a composable consumer teardown helper
121
+ * (`unregisterChain(id); unregisterBtcChainParams(BigInt(id));`) works for
122
+ * ANY id without id-specific branching.
123
+ *
124
+ * Paired with `unregisterChain(id)` from `network_type.ts` when the
125
+ * consumer wants a full teardown of a custom BTC-shaped id: both
126
+ * registries need clearing to avoid drift where `networkTypeOf(id)`
127
+ * throws `ChainNotSupported` but `btcParamsForChainId(id)` still returns
128
+ * stale params.
129
+ */
130
+ export function unregisterBtcChainParams(chainId) {
131
+ if (RESERVED_SEED_CHAIN_IDS.has(chainId))
132
+ return;
133
+ btcParamsByChainId.delete(chainId);
134
+ }
135
+ export function btcParamsShapeMatches(a, b) {
136
+ if (a.name !== b.name)
137
+ return false;
138
+ if (a.hrp !== b.hrp)
139
+ return false;
140
+ if (a.slip44CoinId !== b.slip44CoinId)
141
+ return false;
142
+ if (a.dustValueSats !== b.dustValueSats)
143
+ return false;
144
+ if (a.walletAddressRegex.source !== b.walletAddressRegex.source)
145
+ return false;
146
+ if (a.walletAddressRegex.flags !== b.walletAddressRegex.flags)
147
+ return false;
148
+ if (a.networkInfo.pubKeyHash !== b.networkInfo.pubKeyHash)
149
+ return false;
150
+ if (a.networkInfo.scriptHash !== b.networkInfo.scriptHash)
151
+ return false;
152
+ if (a.networkInfo.bip32.public !== b.networkInfo.bip32.public)
153
+ return false;
154
+ if (a.networkInfo.bip32.private !== b.networkInfo.bip32.private)
155
+ return false;
156
+ // Also compare the address-grammar fields the bitcoinjs Network carries
157
+ // separately from bip32/pubKeyHash. A consumer who spoofs
158
+ // `{...seed, networkInfo: {...seed.networkInfo, bech32: 'tb'}}` would
159
+ // otherwise pass this check, replace the seeded entry, and payments/Psbt
160
+ // downstream would derive testnet-HRP addresses under the mainnet id
161
+ // while walletAddressRegex still validates mainnet strings.
162
+ if (a.networkInfo.bech32 !== b.networkInfo.bech32)
163
+ return false;
164
+ if (a.networkInfo.messagePrefix !== b.networkInfo.messagePrefix)
165
+ return false;
166
+ if (a.networkInfo.wif !== b.networkInfo.wif)
167
+ return false;
168
+ if (a.supportedDerivationPurposes.size !== b.supportedDerivationPurposes.size)
169
+ return false;
170
+ for (const p of a.supportedDerivationPurposes) {
171
+ if (!b.supportedDerivationPurposes.has(p))
172
+ return false;
173
+ }
174
+ return true;
175
+ }
176
+ export function btcParamsForChainId(chainId) {
177
+ const params = btcParamsByChainId.get(chainId);
178
+ if (!params) {
179
+ // Do NOT tell the caller to register — for non-BTC UTXO chainIds
180
+ // (LTC/DOGE/etc.), registering BITCOIN_MAINNET_PARAMS here would let
181
+ // BTC addresses validate as if they belonged to the wrong chain.
182
+ // The v0 workaround is `chain.validateAddress(raw)` on the chain
183
+ // instance directly.
184
+ throw new ChainError(ChainErrorKinds.ChainNotSupported, `No BTC network params registered for chainId ${chainId}`, { chainId: Number(chainId) });
185
+ }
186
+ return params;
187
+ }
188
+ //# sourceMappingURL=network_params.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"network_params.js","sourceRoot":"","sources":["../../../utxo/btc/network_params.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ export interface AssetBearingOutpoint {
2
+ txid: string;
3
+ vout: number;
4
+ }
5
+ export declare function outpointKey(txid: string, vout: number): string;
6
+ export declare function unionOutpoints(groups: ReadonlyArray<readonly AssetBearingOutpoint[]>): Set<string>;
7
+ //# sourceMappingURL=asset_outpoint.d.ts.map