@btc-vision/transaction 1.0.85 → 1.0.86

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 (279) hide show
  1. package/.gitattributes +2 -2
  2. package/browser/_version.d.ts +1 -1
  3. package/browser/index.js +1 -1
  4. package/browser/keypair/Wallet.d.ts +3 -0
  5. package/browser/transaction/builders/TapUnwarpTransaction.d.ts +40 -40
  6. package/browser/transaction/builders/UnwarpTransaction.d.ts +34 -34
  7. package/browser/utxo/UTXOManager.d.ts +7 -7
  8. package/build/Utils.d.ts +0 -0
  9. package/build/Utils.js +1 -0
  10. package/build/_version.d.ts +1 -1
  11. package/build/_version.js +1 -1
  12. package/build/consensus/metadata/RoswsellConsensus.d.ts +2 -0
  13. package/build/consensus/metadata/RoswsellConsensus.js +4 -0
  14. package/build/contracts/ContractMetadataManager.d.ts +0 -0
  15. package/build/contracts/ContractMetadataManager.js +1 -0
  16. package/build/generators/OPNetAddressGenerator.d.ts +0 -0
  17. package/build/generators/OPNetAddressGenerator.js +1 -0
  18. package/build/generators/builders/UnwrapGenerator.d.ts +8 -0
  19. package/build/generators/builders/UnwrapGenerator.js +79 -0
  20. package/build/keypair/Wallet.d.ts +3 -0
  21. package/build/keypair/Wallet.js +8 -0
  22. package/build/keypair/interfaces/GeneratedWallet.d.ts +5 -0
  23. package/build/keypair/interfaces/GeneratedWallet.js +1 -0
  24. package/build/metadata/CommonContracts.d.ts +6 -0
  25. package/build/metadata/CommonContracts.js +5 -0
  26. package/build/metadata/ContractMetadataManager.d.ts +1 -0
  27. package/build/metadata/ContractMetadataManager.js +9 -0
  28. package/build/metadata/contracts/ContractBase.d.ts +9 -0
  29. package/build/metadata/contracts/ContractBase.js +13 -0
  30. package/build/metadata/contracts/ContractBaseMetadata.d.ts +9 -0
  31. package/build/metadata/contracts/ContractBaseMetadata.js +13 -0
  32. package/build/metadata/contracts/ContractMetadataManager.d.ts +0 -0
  33. package/build/metadata/contracts/ContractMetadataManager.js +1 -0
  34. package/build/network/NetworkConverter.d.ts +0 -0
  35. package/build/network/NetworkConverter.js +14 -0
  36. package/build/scripts/Regtest.d.ts +2 -0
  37. package/build/scripts/Regtest.js +15 -0
  38. package/build/scripts/test.d.ts +1 -0
  39. package/build/scripts/test.js +74 -0
  40. package/build/signer/Regtest.d.ts +2 -0
  41. package/build/signer/Regtest.js +15 -0
  42. package/build/tests/Regtest.d.ts +3 -0
  43. package/build/tests/Regtest.js +29 -0
  44. package/build/tests/adaptPSBT.d.ts +1 -0
  45. package/build/tests/adaptPSBT.js +44 -0
  46. package/build/tests/btc/send.d.ts +1 -0
  47. package/build/tests/btc/send.js +35 -0
  48. package/build/tests/btc/transfer.d.ts +1 -0
  49. package/build/tests/btc/transfer.js +35 -0
  50. package/build/tests/createPairReg.d.ts +1 -0
  51. package/build/tests/createPairReg.js +73 -0
  52. package/build/tests/deploy/deployMoto.d.ts +4 -0
  53. package/build/tests/deploy/deployMoto.js +89 -0
  54. package/build/tests/deploy/deployPool.d.ts +1 -0
  55. package/build/tests/deploy/deployPool.js +5 -0
  56. package/build/tests/deploy/deployStep1.d.ts +1 -0
  57. package/build/tests/deploy/deployStep1.js +5 -0
  58. package/build/tests/deploy/deployStep2.d.ts +1 -0
  59. package/build/tests/deploy/deployStep2.js +5 -0
  60. package/build/tests/deploy/deployStep3.d.ts +1 -0
  61. package/build/tests/deploy/deployStep3.js +5 -0
  62. package/build/tests/deploy.d.ts +1 -0
  63. package/build/tests/deploy.js +41 -0
  64. package/build/tests/deployMotoRegStep1.d.ts +1 -0
  65. package/build/tests/deployMotoRegStep1.js +85 -0
  66. package/build/tests/deployReg.d.ts +1 -0
  67. package/build/tests/deployReg.js +85 -0
  68. package/build/tests/factory/createPairReg.d.ts +1 -0
  69. package/build/tests/factory/createPairReg.js +13 -0
  70. package/build/tests/gen.d.ts +1 -0
  71. package/build/tests/gen.js +19 -0
  72. package/build/tests/interaction.d.ts +5 -0
  73. package/build/tests/interaction.js +62 -0
  74. package/build/tests/massWrapReg.d.ts +1 -0
  75. package/build/tests/massWrapReg.js +105 -0
  76. package/build/tests/mineReg.d.ts +1 -0
  77. package/build/tests/mineReg.js +19 -0
  78. package/build/tests/moto/airdropToken.d.ts +1 -0
  79. package/build/tests/moto/airdropToken.js +21 -0
  80. package/build/tests/moto/airdropTokens.d.ts +1 -0
  81. package/build/tests/moto/airdropTokens.js +60 -0
  82. package/build/tests/moto/allowance.d.ts +1 -0
  83. package/build/tests/moto/allowance.js +6 -0
  84. package/build/tests/moto/approve.d.ts +1 -0
  85. package/build/tests/moto/approve.js +10 -0
  86. package/build/tests/moto/approveWBTC.d.ts +1 -0
  87. package/build/tests/moto/approveWBTC.js +12 -0
  88. package/build/tests/moto/balanceOf.d.ts +1 -0
  89. package/build/tests/moto/balanceOf.js +12 -0
  90. package/build/tests/moto/transfer.d.ts +1 -0
  91. package/build/tests/moto/transfer.js +16 -0
  92. package/build/tests/motoswap/airdropToken.d.ts +11 -0
  93. package/build/tests/motoswap/airdropToken.js +36 -0
  94. package/build/tests/motoswap/deployMoto.d.ts +4 -0
  95. package/build/tests/motoswap/deployMoto.js +89 -0
  96. package/build/tests/motoswap/deployMotoRegStep1.d.ts +1 -0
  97. package/build/tests/motoswap/deployMotoRegStep1.js +91 -0
  98. package/build/tests/motoswap/deployMotoRegStep2.d.ts +1 -0
  99. package/build/tests/motoswap/deployMotoRegStep2.js +91 -0
  100. package/build/tests/motoswap/deployPool.d.ts +1 -0
  101. package/build/tests/motoswap/deployPool.js +5 -0
  102. package/build/tests/motoswap/deployStep1.d.ts +1 -0
  103. package/build/tests/motoswap/deployStep1.js +5 -0
  104. package/build/tests/motoswap/deployStep2.d.ts +1 -0
  105. package/build/tests/motoswap/deployStep2.js +5 -0
  106. package/build/tests/motoswap/deployStep3.d.ts +1 -0
  107. package/build/tests/motoswap/deployStep3.js +5 -0
  108. package/build/tests/motoswap/interaction.d.ts +3 -0
  109. package/build/tests/motoswap/interaction.js +63 -0
  110. package/build/tests/motoswap/routerAddLiquidity.d.ts +11 -0
  111. package/build/tests/motoswap/routerAddLiquidity.js +35 -0
  112. package/build/tests/motoswap-router/addLiquidity.d.ts +11 -0
  113. package/build/tests/motoswap-router/addLiquidity.js +36 -0
  114. package/build/tests/motoswap-router/deployMoto.d.ts +4 -0
  115. package/build/tests/motoswap-router/deployMoto.js +89 -0
  116. package/build/tests/motoswap-router/deployPool.d.ts +1 -0
  117. package/build/tests/motoswap-router/deployPool.js +5 -0
  118. package/build/tests/motoswap-router/deployStep1.d.ts +1 -0
  119. package/build/tests/motoswap-router/deployStep1.js +5 -0
  120. package/build/tests/motoswap-router/deployStep2.d.ts +1 -0
  121. package/build/tests/motoswap-router/deployStep2.js +5 -0
  122. package/build/tests/motoswap-router/deployStep3.d.ts +1 -0
  123. package/build/tests/motoswap-router/deployStep3.js +5 -0
  124. package/build/tests/motoswap-router/getAmountsOut.d.ts +5 -0
  125. package/build/tests/motoswap-router/getAmountsOut.js +34 -0
  126. package/build/tests/motoswap-router/routerAddLiquidity.d.ts +11 -0
  127. package/build/tests/motoswap-router/routerAddLiquidity.js +35 -0
  128. package/build/tests/motoswap-router/swap.d.ts +8 -0
  129. package/build/tests/motoswap-router/swap.js +24 -0
  130. package/build/tests/multisign.d.ts +1 -0
  131. package/build/tests/multisign.js +47 -0
  132. package/build/tests/multisign2.d.ts +1 -0
  133. package/build/tests/multisign2.js +27 -0
  134. package/build/tests/pool/DecodePoolAddress.d.ts +6 -0
  135. package/build/tests/pool/DecodePoolAddress.js +12 -0
  136. package/build/tests/pool/decodeReserves.d.ts +5 -0
  137. package/build/tests/pool/decodeReserves.js +13 -0
  138. package/build/tests/pool/reserves.d.ts +1 -0
  139. package/build/tests/pool/reserves.js +18 -0
  140. package/build/tests/shared/Utils.d.ts +2 -0
  141. package/build/tests/shared/Utils.js +14 -0
  142. package/build/tests/shared/interaction.d.ts +7 -0
  143. package/build/tests/shared/interaction.js +85 -0
  144. package/build/tests/shared/tokens.d.ts +6 -0
  145. package/build/tests/shared/tokens.js +5 -0
  146. package/build/tests/stakeReg.d.ts +1 -0
  147. package/build/tests/stakeReg.js +73 -0
  148. package/build/tests/stakedReg.d.ts +1 -0
  149. package/build/tests/stakedReg.js +28 -0
  150. package/build/tests/test.d.ts +1 -0
  151. package/build/tests/test.js +51 -0
  152. package/build/tests/test2.d.ts +1 -0
  153. package/build/tests/test2.js +73 -0
  154. package/build/tests/testReg.d.ts +1 -0
  155. package/build/tests/testReg.js +91 -0
  156. package/build/tests/tokens.d.ts +6 -0
  157. package/build/tests/tokens.js +5 -0
  158. package/build/tests/totalRewardReg.d.ts +1 -0
  159. package/build/tests/totalRewardReg.js +28 -0
  160. package/build/tests/transfer.d.ts +1 -0
  161. package/build/tests/transfer.js +74 -0
  162. package/build/tests/transferReg.d.ts +1 -0
  163. package/build/tests/transferReg.js +74 -0
  164. package/build/tests/unStakeReg.d.ts +1 -0
  165. package/build/tests/unStakeReg.js +72 -0
  166. package/build/tests/unwrapReg.d.ts +1 -0
  167. package/build/tests/unwrapReg.js +61 -0
  168. package/build/tests/unwrapReg2.d.ts +1 -0
  169. package/build/tests/unwrapReg2.js +56 -0
  170. package/build/tests/unwrapRegSegwit.d.ts +1 -0
  171. package/build/tests/unwrapRegSegwit.js +83 -0
  172. package/build/tests/wbtc/approve.d.ts +1 -0
  173. package/build/tests/wbtc/approve.js +6 -0
  174. package/build/tests/wbtc/approveWBTC.d.ts +1 -0
  175. package/build/tests/wbtc/approveWBTC.js +12 -0
  176. package/build/tests/wbtc/massWrapReg.d.ts +1 -0
  177. package/build/tests/wbtc/massWrapReg.js +105 -0
  178. package/build/tests/wbtc/transfer.d.ts +1 -0
  179. package/build/tests/wbtc/transfer.js +16 -0
  180. package/build/tests/wbtc/transferReg.d.ts +1 -0
  181. package/build/tests/wbtc/transferReg.js +16 -0
  182. package/build/tests/wbtc/unStakeReg.d.ts +1 -0
  183. package/build/tests/wbtc/unStakeReg.js +72 -0
  184. package/build/tests/wbtc/unwrapReg.d.ts +1 -0
  185. package/build/tests/wbtc/unwrapReg.js +60 -0
  186. package/build/tests/wbtc/unwrapRegSegwit.d.ts +1 -0
  187. package/build/tests/wbtc/unwrapRegSegwit.js +83 -0
  188. package/build/tests/wbtc/withdrawalRequestReg.d.ts +1 -0
  189. package/build/tests/wbtc/withdrawalRequestReg.js +71 -0
  190. package/build/tests/wbtc/wrapReg.d.ts +1 -0
  191. package/build/tests/wbtc/wrapReg.js +65 -0
  192. package/build/tests/wbtc/wrapTest.d.ts +1 -0
  193. package/build/tests/wbtc/wrapTest.js +66 -0
  194. package/build/tests/withdrawalRequestReg.d.ts +1 -0
  195. package/build/tests/withdrawalRequestReg.js +71 -0
  196. package/build/tests/wrap.d.ts +1 -0
  197. package/build/tests/wrap.js +65 -0
  198. package/build/tests/wrapReg.d.ts +1 -0
  199. package/build/tests/wrapReg.js +68 -0
  200. package/build/tests/wrapTest.d.ts +1 -0
  201. package/build/tests/wrapTest.js +66 -0
  202. package/build/tests/wrapTestg.d.ts +1 -0
  203. package/build/tests/wrapTestg.js +66 -0
  204. package/build/tests/writers/allowance.d.ts +3 -0
  205. package/build/tests/writers/allowance.js +10 -0
  206. package/build/tests/writers/approve.d.ts +4 -0
  207. package/build/tests/writers/approve.js +11 -0
  208. package/build/transaction/TransactionBuilder.d.ts +60 -0
  209. package/build/transaction/TransactionBuilder.js +244 -0
  210. package/build/transaction/browser/BrowserSigner.d.ts +11 -0
  211. package/build/transaction/browser/BrowserSigner.js +10 -0
  212. package/build/transaction/browser/extensions/Unisat.d.ts +54 -0
  213. package/build/transaction/browser/extensions/Unisat.js +11 -0
  214. package/build/transaction/builders/GenericTransaction.d.ts +11 -0
  215. package/build/transaction/builders/GenericTransaction.js +23 -0
  216. package/build/transaction/builders/TapUnwarpTransaction.d.ts +37 -0
  217. package/build/transaction/builders/TapUnwarpTransaction.js +201 -0
  218. package/build/transaction/builders/UnwarpSegwitTransaction.d.ts +34 -0
  219. package/build/transaction/builders/UnwarpSegwitTransaction.js +184 -0
  220. package/build/transaction/builders/UnwarpTransaction.d.ts +35 -0
  221. package/build/transaction/builders/UnwarpTransaction.js +199 -0
  222. package/build/transaction/interfaces/ITransactions.d.ts +32 -0
  223. package/build/transaction/interfaces/ITransactions.js +1 -0
  224. package/build/utxo/IUTXO.d.ts +0 -0
  225. package/build/utxo/IUTXO.js +1 -0
  226. package/build/utxo/OPNetUtils.d.ts +7 -0
  227. package/build/utxo/OPNetUtils.js +47 -0
  228. package/build/utxo/UTXOManager.d.ts +7 -0
  229. package/build/utxo/UTXOManager.js +47 -0
  230. package/build/wbtc/BroadcastResponse.d.ts +0 -0
  231. package/build/wbtc/BroadcastResponse.js +1 -0
  232. package/gulpfile.js +152 -152
  233. package/package.json +109 -109
  234. package/src/_version.ts +1 -1
  235. package/src/consensus/Consensus.ts +36 -36
  236. package/src/consensus/ConsensusConfig.ts +39 -39
  237. package/src/crypto/crypto-browser.js +75 -75
  238. package/src/generators/AddressGenerator.ts +24 -24
  239. package/src/generators/Features.ts +5 -5
  240. package/src/generators/Generator.ts +75 -75
  241. package/src/generators/builders/CalldataGenerator.ts +148 -148
  242. package/src/generators/builders/DeploymentGenerator.ts +66 -66
  243. package/src/index.ts +4 -4
  244. package/src/keypair/AddressVerificator.ts +40 -40
  245. package/src/keypair/EcKeyPair.ts +282 -282
  246. package/src/keypair/Wallet.ts +120 -97
  247. package/src/keypair/interfaces/IWallet.ts +19 -19
  248. package/src/metadata/ContractBaseMetadata.ts +23 -23
  249. package/src/metadata/contracts/wBTC.ts +60 -60
  250. package/src/metadata/tokens.ts +135 -135
  251. package/src/network/NetworkInformation.ts +7 -7
  252. package/src/transaction/TransactionFactory.ts +496 -496
  253. package/src/transaction/browser/BrowserSignerBase.ts +37 -37
  254. package/src/transaction/browser/Web3Provider.ts +46 -46
  255. package/src/transaction/browser/extensions/UnisatSigner.ts +218 -218
  256. package/src/transaction/browser/types/Unisat.ts +97 -97
  257. package/src/transaction/builders/FundingTransaction.ts +40 -40
  258. package/src/transaction/builders/InteractionTransaction.ts +38 -38
  259. package/src/transaction/builders/SharedInteractionTransaction.ts +368 -368
  260. package/src/transaction/builders/TransactionBuilder.ts +665 -665
  261. package/src/transaction/builders/UnwrapSegwitTransaction.ts +365 -365
  262. package/src/transaction/builders/UnwrapTransaction.ts +507 -507
  263. package/src/transaction/builders/WrapTransaction.ts +346 -346
  264. package/src/transaction/interfaces/ITransactionParameters.ts +59 -59
  265. package/src/transaction/interfaces/Tap.ts +26 -26
  266. package/src/transaction/psbt/PSBTTypes.ts +3 -3
  267. package/src/transaction/shared/TweakedTransaction.ts +539 -539
  268. package/src/utxo/OPNetLimitedProvider.ts +244 -244
  269. package/src/utxo/interfaces/BroadcastResponse.ts +10 -10
  270. package/src/utxo/interfaces/IUTXO.ts +29 -29
  271. package/src/verification/TapscriptVerificator.ts +89 -89
  272. package/src/wbtc/Generate.ts +40 -40
  273. package/src/wbtc/UnwrapGeneration.ts +13 -13
  274. package/src/wbtc/WrappedGenerationParameters.ts +33 -33
  275. package/webpack.config.js +78 -78
  276. /package/build/generators/builders/{MultiSignGenerator.d.ts → MultisignGenerator.d.ts} +0 -0
  277. /package/build/generators/builders/{MultiSignGenerator.js → MultisignGenerator.js} +0 -0
  278. /package/build/generators/{Features.d.ts → features.d.ts} +0 -0
  279. /package/build/generators/{Features.js → features.js} +0 -0
@@ -1,135 +1,135 @@
1
- import { Address } from '@btc-vision/bsi-binary';
2
- import { ChainId } from '../network/ChainId.js';
3
-
4
- // Addresses Regtest
5
- export const FACTORY_ADDRESS_REGTEST: Address = 'bcrt1qxtpreq8zg7pp9wm550kjrhaa2r5kj6lhph9he5';
6
- export const POOL_ADDRESS_REGTEST: Address = 'bcrt1qqg2a8076rwuruzetdyquj8fh5jxtc22pmh9vep';
7
- export const WBTC_ADDRESS_REGTEST: Address = 'bcrt1qdr7sjgtnudda8zrfklw8l5cnrxum5hns7e46hf';
8
- export const MOTO_ADDRESS_REGTEST: Address = 'bcrt1q8reuxx9naek4mqesrfsgdpjv3q7a5g2llkh6ua';
9
- export const ROUTER_ADDRESS_REGTEST: Address = 'bcrt1qplnz54sca73t8a03nh494jatr9ffjg6ecarrj8';
10
-
11
- // Addresses Testnet
12
- export const FACTORY_ADDRESS_TESTNET: Address = 'tb1qgev5kldhp5zvg6j8t9vl6x4phkrwn8nk9felxh';
13
- export const POOL_ADDRESS_TESTNET: Address = 'tb1q6a7yw353hjmresphupytw5vczpqxtg4yrupayk';
14
- export const WBTC_ADDRESS_TESTNET: Address = 'tb1qp28xna6pv47x6wflcplhu0a9hkld5shtvjx6xv';
15
- export const MOTO_ADDRESS_TESTNET: Address = 'tb1q4tyhf8hpu04qjj3qaag20knun0spctultxzakw';
16
- export const ROUTER_ADDRESS_TESTNET: Address = 'tb1qnh9mj95nnej25dwhjvvsppwmdm0myhxv7tllgt';
17
-
18
- // Addresses Fractal
19
- export const FACTORY_ADDRESS_FRACTAL: Address = 'bc1qr4g85824m58wu0zffjtnf56n425fp0e8azhc7q';
20
- export const POOL_ADDRESS_FRACTAL: Address = 'bc1qv55cht4zzlt29ea7vdgwsedsn63a2sxtkgpv6h';
21
- export const WBTC_ADDRESS_FRACTAL: Address = 'bc1qdtzlucslvrvu4useyh9r69supqrw3w4xn9t4yv';
22
- export const MOTO_ADDRESS_FRACTAL: Address = 'bc1qfzq6w5uvgg5489egv0lj4shlqx4dagqt0ewdnu';
23
- export const ROUTER_ADDRESS_FRACTAL: Address = 'bc1q9w2zvmkzlezt2fu34u57y9vuw6rll5sp2090kn';
24
-
25
- export enum OPNetNetwork {
26
- Mainnet = 'mainnet',
27
- Testnet = 'testnet',
28
- Regtest = 'regtest',
29
- }
30
-
31
- export interface OPNetTokenMetadata {
32
- readonly factory: Address;
33
- readonly pool: Address;
34
- readonly wbtc: Address;
35
- readonly moto: Address;
36
- readonly router: Address;
37
- }
38
-
39
- export class OPNetTokenAddressManager {
40
- private readonly metadata: {
41
- [key in ChainId]: { [key in OPNetNetwork]?: OPNetTokenMetadata };
42
- } = {
43
- [ChainId.Bitcoin]: {
44
- [OPNetNetwork.Testnet]: {
45
- factory: FACTORY_ADDRESS_TESTNET,
46
- pool: POOL_ADDRESS_TESTNET,
47
- wbtc: WBTC_ADDRESS_TESTNET,
48
- moto: MOTO_ADDRESS_TESTNET,
49
- router: ROUTER_ADDRESS_TESTNET,
50
- },
51
- [OPNetNetwork.Regtest]: {
52
- factory: FACTORY_ADDRESS_REGTEST,
53
- pool: POOL_ADDRESS_REGTEST,
54
- wbtc: WBTC_ADDRESS_REGTEST,
55
- moto: MOTO_ADDRESS_REGTEST,
56
- router: ROUTER_ADDRESS_REGTEST,
57
- },
58
- },
59
- [ChainId.Fractal]: {
60
- [OPNetNetwork.Mainnet]: {
61
- factory: FACTORY_ADDRESS_FRACTAL,
62
- pool: POOL_ADDRESS_FRACTAL,
63
- wbtc: WBTC_ADDRESS_FRACTAL,
64
- moto: MOTO_ADDRESS_FRACTAL,
65
- router: ROUTER_ADDRESS_FRACTAL,
66
- },
67
- },
68
- };
69
-
70
- public getFactoryAddress(network: OPNetNetwork, chainId: ChainId): Address {
71
- const address = this.metadata[chainId][network]?.factory;
72
-
73
- if (!address) {
74
- throw new Error(
75
- `Factory address not found for network ${network} and chainId ${chainId}`,
76
- );
77
- }
78
-
79
- return address;
80
- }
81
-
82
- public getPoolAddress(network: OPNetNetwork, chainId: ChainId): Address {
83
- const address = this.metadata[chainId][network]?.pool;
84
-
85
- if (!address) {
86
- throw new Error(`Pool address not found for network ${network} and chainId ${chainId}`);
87
- }
88
-
89
- return address;
90
- }
91
-
92
- public getWBTCAddress(network: OPNetNetwork, chainId: ChainId): Address {
93
- const address = this.metadata[chainId][network]?.wbtc;
94
-
95
- if (!address) {
96
- throw new Error(`WBTC address not found for network ${network} and chainId ${chainId}`);
97
- }
98
-
99
- return address;
100
- }
101
-
102
- public getMOTOAddress(network: OPNetNetwork, chainId: ChainId): Address {
103
- const address = this.metadata[chainId][network]?.moto;
104
-
105
- if (!address) {
106
- throw new Error(`MOTO address not found for network ${network} and chainId ${chainId}`);
107
- }
108
-
109
- return address;
110
- }
111
-
112
- public getRouterAddress(network: OPNetNetwork, chainId: ChainId): Address {
113
- const address = this.metadata[chainId][network]?.router;
114
-
115
- if (!address) {
116
- throw new Error(
117
- `Router address not found for network ${network} and chainId ${chainId}`,
118
- );
119
- }
120
-
121
- return address;
122
- }
123
-
124
- public getAddresses(network: OPNetNetwork, chainId: ChainId): OPNetTokenMetadata {
125
- const metadata = this.metadata[chainId][network];
126
-
127
- if (!metadata) {
128
- throw new Error(`Metadata not found for network ${network} and chainId ${chainId}`);
129
- }
130
-
131
- return metadata;
132
- }
133
- }
134
-
135
- export const OPNetMetadata: OPNetTokenAddressManager = new OPNetTokenAddressManager();
1
+ import { Address } from '@btc-vision/bsi-binary';
2
+ import { ChainId } from '../network/ChainId.js';
3
+
4
+ // Addresses Regtest
5
+ export const FACTORY_ADDRESS_REGTEST: Address = 'bcrt1qxtpreq8zg7pp9wm550kjrhaa2r5kj6lhph9he5';
6
+ export const POOL_ADDRESS_REGTEST: Address = 'bcrt1qqg2a8076rwuruzetdyquj8fh5jxtc22pmh9vep';
7
+ export const WBTC_ADDRESS_REGTEST: Address = 'bcrt1qdr7sjgtnudda8zrfklw8l5cnrxum5hns7e46hf';
8
+ export const MOTO_ADDRESS_REGTEST: Address = 'bcrt1q8reuxx9naek4mqesrfsgdpjv3q7a5g2llkh6ua';
9
+ export const ROUTER_ADDRESS_REGTEST: Address = 'bcrt1qplnz54sca73t8a03nh494jatr9ffjg6ecarrj8';
10
+
11
+ // Addresses Testnet
12
+ export const FACTORY_ADDRESS_TESTNET: Address = 'tb1qgev5kldhp5zvg6j8t9vl6x4phkrwn8nk9felxh';
13
+ export const POOL_ADDRESS_TESTNET: Address = 'tb1q6a7yw353hjmresphupytw5vczpqxtg4yrupayk';
14
+ export const WBTC_ADDRESS_TESTNET: Address = 'tb1qp28xna6pv47x6wflcplhu0a9hkld5shtvjx6xv';
15
+ export const MOTO_ADDRESS_TESTNET: Address = 'tb1q4tyhf8hpu04qjj3qaag20knun0spctultxzakw';
16
+ export const ROUTER_ADDRESS_TESTNET: Address = 'tb1qnh9mj95nnej25dwhjvvsppwmdm0myhxv7tllgt';
17
+
18
+ // Addresses Fractal
19
+ export const FACTORY_ADDRESS_FRACTAL: Address = 'bc1qr4g85824m58wu0zffjtnf56n425fp0e8azhc7q';
20
+ export const POOL_ADDRESS_FRACTAL: Address = 'bc1qv55cht4zzlt29ea7vdgwsedsn63a2sxtkgpv6h';
21
+ export const WBTC_ADDRESS_FRACTAL: Address = 'bc1qdtzlucslvrvu4useyh9r69supqrw3w4xn9t4yv';
22
+ export const MOTO_ADDRESS_FRACTAL: Address = 'bc1qfzq6w5uvgg5489egv0lj4shlqx4dagqt0ewdnu';
23
+ export const ROUTER_ADDRESS_FRACTAL: Address = 'bc1q9w2zvmkzlezt2fu34u57y9vuw6rll5sp2090kn';
24
+
25
+ export enum OPNetNetwork {
26
+ Mainnet = 'mainnet',
27
+ Testnet = 'testnet',
28
+ Regtest = 'regtest',
29
+ }
30
+
31
+ export interface OPNetTokenMetadata {
32
+ readonly factory: Address;
33
+ readonly pool: Address;
34
+ readonly wbtc: Address;
35
+ readonly moto: Address;
36
+ readonly router: Address;
37
+ }
38
+
39
+ export class OPNetTokenAddressManager {
40
+ private readonly metadata: {
41
+ [key in ChainId]: { [key in OPNetNetwork]?: OPNetTokenMetadata };
42
+ } = {
43
+ [ChainId.Bitcoin]: {
44
+ [OPNetNetwork.Testnet]: {
45
+ factory: FACTORY_ADDRESS_TESTNET,
46
+ pool: POOL_ADDRESS_TESTNET,
47
+ wbtc: WBTC_ADDRESS_TESTNET,
48
+ moto: MOTO_ADDRESS_TESTNET,
49
+ router: ROUTER_ADDRESS_TESTNET,
50
+ },
51
+ [OPNetNetwork.Regtest]: {
52
+ factory: FACTORY_ADDRESS_REGTEST,
53
+ pool: POOL_ADDRESS_REGTEST,
54
+ wbtc: WBTC_ADDRESS_REGTEST,
55
+ moto: MOTO_ADDRESS_REGTEST,
56
+ router: ROUTER_ADDRESS_REGTEST,
57
+ },
58
+ },
59
+ [ChainId.Fractal]: {
60
+ [OPNetNetwork.Mainnet]: {
61
+ factory: FACTORY_ADDRESS_FRACTAL,
62
+ pool: POOL_ADDRESS_FRACTAL,
63
+ wbtc: WBTC_ADDRESS_FRACTAL,
64
+ moto: MOTO_ADDRESS_FRACTAL,
65
+ router: ROUTER_ADDRESS_FRACTAL,
66
+ },
67
+ },
68
+ };
69
+
70
+ public getFactoryAddress(network: OPNetNetwork, chainId: ChainId): Address {
71
+ const address = this.metadata[chainId][network]?.factory;
72
+
73
+ if (!address) {
74
+ throw new Error(
75
+ `Factory address not found for network ${network} and chainId ${chainId}`,
76
+ );
77
+ }
78
+
79
+ return address;
80
+ }
81
+
82
+ public getPoolAddress(network: OPNetNetwork, chainId: ChainId): Address {
83
+ const address = this.metadata[chainId][network]?.pool;
84
+
85
+ if (!address) {
86
+ throw new Error(`Pool address not found for network ${network} and chainId ${chainId}`);
87
+ }
88
+
89
+ return address;
90
+ }
91
+
92
+ public getWBTCAddress(network: OPNetNetwork, chainId: ChainId): Address {
93
+ const address = this.metadata[chainId][network]?.wbtc;
94
+
95
+ if (!address) {
96
+ throw new Error(`WBTC address not found for network ${network} and chainId ${chainId}`);
97
+ }
98
+
99
+ return address;
100
+ }
101
+
102
+ public getMOTOAddress(network: OPNetNetwork, chainId: ChainId): Address {
103
+ const address = this.metadata[chainId][network]?.moto;
104
+
105
+ if (!address) {
106
+ throw new Error(`MOTO address not found for network ${network} and chainId ${chainId}`);
107
+ }
108
+
109
+ return address;
110
+ }
111
+
112
+ public getRouterAddress(network: OPNetNetwork, chainId: ChainId): Address {
113
+ const address = this.metadata[chainId][network]?.router;
114
+
115
+ if (!address) {
116
+ throw new Error(
117
+ `Router address not found for network ${network} and chainId ${chainId}`,
118
+ );
119
+ }
120
+
121
+ return address;
122
+ }
123
+
124
+ public getAddresses(network: OPNetNetwork, chainId: ChainId): OPNetTokenMetadata {
125
+ const metadata = this.metadata[chainId][network];
126
+
127
+ if (!metadata) {
128
+ throw new Error(`Metadata not found for network ${network} and chainId ${chainId}`);
129
+ }
130
+
131
+ return metadata;
132
+ }
133
+ }
134
+
135
+ export const OPNetMetadata: OPNetTokenAddressManager = new OPNetTokenAddressManager();
@@ -1,7 +1,7 @@
1
- import { IWallet } from '../keypair/interfaces/IWallet.js';
2
- import { BlockchainConfig } from '@btc-vision/bsi-common';
3
-
4
- export interface NetworkInformation {
5
- readonly wallet: IWallet;
6
- readonly config: BlockchainConfig;
7
- }
1
+ import { IWallet } from '../keypair/interfaces/IWallet.js';
2
+ import { BlockchainConfig } from '@btc-vision/bsi-common';
3
+
4
+ export interface NetworkInformation {
5
+ readonly wallet: IWallet;
6
+ readonly config: BlockchainConfig;
7
+ }