@keep-network/tbtc-v2 0.1.0 → 0.1.1-dev

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/README.adoc +12 -0
  2. package/artifacts/.chainId +1 -1
  3. package/artifacts/Bank.json +807 -0
  4. package/artifacts/Bridge.json +2300 -0
  5. package/artifacts/Deposit.json +117 -0
  6. package/artifacts/DepositSweep.json +77 -0
  7. package/artifacts/EcdsaDkgValidator.json +532 -0
  8. package/artifacts/EcdsaInactivity.json +156 -0
  9. package/artifacts/EcdsaSortitionPool.json +1004 -0
  10. package/artifacts/Fraud.json +164 -0
  11. package/artifacts/KeepRegistry.json +99 -0
  12. package/artifacts/KeepStake.json +286 -0
  13. package/artifacts/KeepToken.json +711 -0
  14. package/artifacts/KeepTokenStaking.json +483 -0
  15. package/artifacts/MovingFunds.json +249 -0
  16. package/artifacts/NuCypherStakingEscrow.json +256 -0
  17. package/artifacts/NuCypherToken.json +711 -0
  18. package/artifacts/RandomBeaconStub.json +141 -0
  19. package/artifacts/Redemption.json +174 -0
  20. package/artifacts/ReimbursementPool.json +509 -0
  21. package/artifacts/Relay.json +123 -0
  22. package/artifacts/T.json +1148 -0
  23. package/artifacts/TBTC.json +36 -35
  24. package/artifacts/TBTCToken.json +738 -0
  25. package/artifacts/TBTCVault.json +691 -0
  26. package/artifacts/TokenStaking.json +2288 -0
  27. package/artifacts/TokenholderGovernor.json +1795 -0
  28. package/artifacts/TokenholderTimelock.json +1058 -0
  29. package/artifacts/VendingMachine.json +34 -33
  30. package/artifacts/VendingMachineKeep.json +400 -0
  31. package/artifacts/VendingMachineNuCypher.json +400 -0
  32. package/artifacts/WalletRegistry.json +1843 -0
  33. package/artifacts/WalletRegistryGovernance.json +2754 -0
  34. package/artifacts/Wallets.json +186 -0
  35. package/artifacts/solcInputs/5e62cff1ead0900b07facca4b559e818.json +314 -0
  36. package/build/contracts/GovernanceUtils.sol/GovernanceUtils.dbg.json +1 -1
  37. package/build/contracts/GovernanceUtils.sol/GovernanceUtils.json +2 -2
  38. package/build/contracts/bank/Bank.sol/Bank.dbg.json +4 -0
  39. package/build/contracts/bank/Bank.sol/Bank.json +542 -0
  40. package/build/contracts/bank/IReceiveBalanceApproval.sol/IReceiveBalanceApproval.dbg.json +4 -0
  41. package/build/contracts/bank/IReceiveBalanceApproval.sol/IReceiveBalanceApproval.json +34 -0
  42. package/build/contracts/bridge/BitcoinTx.sol/BitcoinTx.dbg.json +4 -0
  43. package/build/contracts/bridge/BitcoinTx.sol/BitcoinTx.json +10 -0
  44. package/build/contracts/bridge/Bridge.sol/Bridge.dbg.json +4 -0
  45. package/build/contracts/bridge/Bridge.sol/Bridge.json +2686 -0
  46. package/build/contracts/bridge/BridgeState.sol/BridgeState.dbg.json +4 -0
  47. package/build/contracts/bridge/BridgeState.sol/BridgeState.json +226 -0
  48. package/build/contracts/bridge/Deposit.sol/Deposit.dbg.json +4 -0
  49. package/build/contracts/bridge/Deposit.sol/Deposit.json +72 -0
  50. package/build/contracts/bridge/DepositSweep.sol/DepositSweep.dbg.json +4 -0
  51. package/build/contracts/bridge/DepositSweep.sol/DepositSweep.json +30 -0
  52. package/build/contracts/bridge/EcdsaLib.sol/EcdsaLib.dbg.json +4 -0
  53. package/build/contracts/bridge/EcdsaLib.sol/EcdsaLib.json +10 -0
  54. package/build/contracts/bridge/Fraud.sol/Fraud.dbg.json +4 -0
  55. package/build/contracts/bridge/Fraud.sol/Fraud.json +86 -0
  56. package/build/contracts/bridge/Heartbeat.sol/Heartbeat.dbg.json +4 -0
  57. package/build/contracts/bridge/Heartbeat.sol/Heartbeat.json +10 -0
  58. package/build/contracts/bridge/IRelay.sol/IRelay.dbg.json +4 -0
  59. package/build/contracts/bridge/IRelay.sol/IRelay.json +37 -0
  60. package/build/contracts/bridge/MovingFunds.sol/MovingFunds.dbg.json +4 -0
  61. package/build/contracts/bridge/MovingFunds.sol/MovingFunds.json +138 -0
  62. package/build/contracts/bridge/Redemption.sol/OutboundTx.dbg.json +4 -0
  63. package/build/contracts/bridge/Redemption.sol/OutboundTx.json +10 -0
  64. package/build/contracts/bridge/Redemption.sol/Redemption.dbg.json +4 -0
  65. package/build/contracts/bridge/Redemption.sol/Redemption.json +92 -0
  66. package/build/contracts/bridge/VendingMachine.sol/VendingMachine.dbg.json +1 -1
  67. package/build/contracts/bridge/VendingMachine.sol/VendingMachine.json +2 -2
  68. package/build/contracts/bridge/Wallets.sol/Wallets.dbg.json +4 -0
  69. package/build/contracts/bridge/Wallets.sol/Wallets.json +112 -0
  70. package/build/contracts/token/TBTC.sol/TBTC.dbg.json +1 -1
  71. package/build/contracts/token/TBTC.sol/TBTC.json +4 -4
  72. package/build/contracts/vault/DonationVault.sol/DonationVault.dbg.json +4 -0
  73. package/build/contracts/vault/DonationVault.sol/DonationVault.json +108 -0
  74. package/build/contracts/vault/IVault.sol/IVault.dbg.json +4 -0
  75. package/build/contracts/vault/IVault.sol/IVault.json +52 -0
  76. package/build/contracts/vault/TBTCVault.sol/TBTCVault.dbg.json +4 -0
  77. package/build/contracts/vault/TBTCVault.sol/TBTCVault.json +449 -0
  78. package/contracts/GovernanceUtils.sol +4 -4
  79. package/contracts/bank/Bank.sol +436 -0
  80. package/contracts/bank/IReceiveBalanceApproval.sol +45 -0
  81. package/contracts/bridge/BitcoinTx.sol +326 -0
  82. package/contracts/bridge/Bridge.sol +1793 -0
  83. package/contracts/bridge/BridgeState.sol +739 -0
  84. package/contracts/bridge/Deposit.sol +269 -0
  85. package/contracts/bridge/DepositSweep.sol +574 -0
  86. package/contracts/bridge/EcdsaLib.sol +45 -0
  87. package/contracts/bridge/Fraud.sol +579 -0
  88. package/contracts/bridge/Heartbeat.sol +112 -0
  89. package/contracts/bridge/IRelay.sol +28 -0
  90. package/contracts/bridge/MovingFunds.sol +1077 -0
  91. package/contracts/bridge/Redemption.sol +1020 -0
  92. package/contracts/bridge/VendingMachine.sol +2 -2
  93. package/contracts/bridge/Wallets.sol +719 -0
  94. package/contracts/hardhat-dependency-compiler/.hardhat-dependency-compiler +1 -0
  95. package/contracts/hardhat-dependency-compiler/@keep-network/ecdsa/contracts/WalletRegistry.sol +3 -0
  96. package/contracts/hardhat-dependency-compiler/@openzeppelin/contracts/proxy/transparent/ProxyAdmin.sol +3 -0
  97. package/contracts/hardhat-dependency-compiler/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol +3 -0
  98. package/contracts/token/TBTC.sol +1 -1
  99. package/contracts/vault/DonationVault.sol +125 -0
  100. package/contracts/vault/IVault.sol +44 -0
  101. package/contracts/vault/TBTCVault.sol +305 -0
  102. package/deploy/00_resolve_relay.ts +28 -0
  103. package/deploy/00_resolve_tbtc_v1_token.ts +1 -1
  104. package/deploy/01_deploy_tbtc_v2_token.ts +8 -1
  105. package/deploy/02_deploy_vending_machine.ts +7 -0
  106. package/deploy/{03_transfer_roles.ts → 03_transfer_vending_machine_roles.ts} +1 -1
  107. package/deploy/04_deploy_bank.ts +27 -0
  108. package/deploy/05_deploy_bridge.ts +80 -0
  109. package/deploy/06_deploy_tbtc_vault.ts +30 -0
  110. package/deploy/07_bank_update_bridge.ts +19 -0
  111. package/deploy/08_transfer_bank_ownership.ts +15 -0
  112. package/deploy/09_transfer_tbtc_vault_ownership.ts +15 -0
  113. package/deploy/10_transfer_bridge_governance.ts +20 -0
  114. package/deploy/11_initialize_wallet_owner.ts +18 -0
  115. package/deploy/11_transfer_proxy_admin_ownership.ts +30 -0
  116. package/deploy/12_deploy_proxy_admin_with_deputy.ts +33 -0
  117. package/export/deploy/00_resolve_relay.js +24 -0
  118. package/export/deploy/00_resolve_tbtc_v1_token.js +24 -0
  119. package/export/deploy/01_deploy_tbtc_v2_token.js +19 -0
  120. package/export/deploy/02_deploy_vending_machine.js +25 -0
  121. package/export/deploy/03_transfer_vending_machine_roles.js +19 -0
  122. package/export/deploy/04_deploy_bank.js +21 -0
  123. package/export/deploy/05_deploy_bridge.js +69 -0
  124. package/export/deploy/06_deploy_tbtc_vault.js +24 -0
  125. package/export/deploy/07_bank_update_bridge.js +13 -0
  126. package/export/deploy/08_transfer_bank_ownership.js +11 -0
  127. package/export/deploy/09_transfer_tbtc_vault_ownership.js +11 -0
  128. package/export/deploy/10_transfer_bridge_governance.js +11 -0
  129. package/export/deploy/11_initialize_wallet_owner.js +14 -0
  130. package/export/deploy/11_transfer_proxy_admin_ownership.js +23 -0
  131. package/export/deploy/12_deploy_proxy_admin_with_deputy.js +22 -0
  132. package/export/hardhat.config.js +169 -0
  133. package/export/test/bank/Bank.test.js +1012 -0
  134. package/export/test/bridge/Bridge.Deployment.test.js +76 -0
  135. package/export/test/bridge/Bridge.Deposit.test.js +1834 -0
  136. package/export/test/bridge/Bridge.Frauds.test.js +1349 -0
  137. package/export/test/bridge/Bridge.MovingFunds.test.js +2437 -0
  138. package/export/test/bridge/Bridge.Parameters.test.js +400 -0
  139. package/export/test/bridge/Bridge.Redemption.test.js +2523 -0
  140. package/export/test/bridge/Bridge.Vaults.test.js +74 -0
  141. package/export/test/bridge/Bridge.Wallets.test.js +1017 -0
  142. package/export/test/bridge/EcdsaLib.test.js +46 -0
  143. package/export/test/bridge/Heartbeat.test.js +77 -0
  144. package/export/test/bridge/VendingMachine.Upgrade.test.js +160 -0
  145. package/export/test/bridge/VendingMachine.test.js +762 -0
  146. package/export/test/data/deposit-sweep.js +655 -0
  147. package/export/test/data/ecdsa.js +18 -0
  148. package/export/test/data/fraud.js +158 -0
  149. package/export/test/data/moving-funds.js +815 -0
  150. package/export/test/data/redemption.js +1011 -0
  151. package/export/test/fixtures/bridge.js +54 -0
  152. package/export/test/fixtures/index.js +57 -0
  153. package/export/test/helpers/contract-test-helpers.js +18 -0
  154. package/export/test/integration/Slashing.test.js +279 -0
  155. package/export/test/integration/WalleCreation.test.js +66 -0
  156. package/export/test/integration/utils/ecdsa-wallet-registry.js +137 -0
  157. package/export/test/integration/utils/fixture.js +77 -0
  158. package/export/test/integration/utils/gas.js +36 -0
  159. package/export/test/integration/utils/random-beacon.js +26 -0
  160. package/export/test/integration/utils/staking.js +19 -0
  161. package/export/test/vault/DonationVault.test.js +202 -0
  162. package/export/test/vault/TBTCVault.Redemption.test.js +357 -0
  163. package/export/test/vault/TBTCVault.test.js +768 -0
  164. package/export/typechain/BTCUtils.js +2 -0
  165. package/export/typechain/Bank.js +2 -0
  166. package/export/typechain/BankStub.js +2 -0
  167. package/export/typechain/Bridge.js +2 -0
  168. package/export/typechain/BridgeState.js +2 -0
  169. package/export/typechain/BridgeStub.js +2 -0
  170. package/export/typechain/Deposit.js +2 -0
  171. package/export/typechain/DepositSweep.js +2 -0
  172. package/export/typechain/DonationVault.js +2 -0
  173. package/export/typechain/ERC165.js +2 -0
  174. package/export/typechain/ERC1967Proxy.js +2 -0
  175. package/export/typechain/ERC1967Upgrade.js +2 -0
  176. package/export/typechain/ERC20WithPermit.js +2 -0
  177. package/export/typechain/ERC721.js +2 -0
  178. package/export/typechain/EcdsaAuthorization.js +2 -0
  179. package/export/typechain/EcdsaDkg.js +2 -0
  180. package/export/typechain/EcdsaDkgValidator.js +2 -0
  181. package/export/typechain/EcdsaInactivity.js +2 -0
  182. package/export/typechain/Fraud.js +2 -0
  183. package/export/typechain/Governable.js +2 -0
  184. package/export/typechain/HeartbeatStub.js +2 -0
  185. package/export/typechain/IApplication.js +2 -0
  186. package/export/typechain/IApproveAndCall.js +2 -0
  187. package/export/typechain/IBeacon.js +2 -0
  188. package/export/typechain/IERC165.js +2 -0
  189. package/export/typechain/IERC1822Proxiable.js +2 -0
  190. package/export/typechain/IERC20.js +2 -0
  191. package/export/typechain/IERC20Metadata.js +2 -0
  192. package/export/typechain/IERC20WithPermit.js +2 -0
  193. package/export/typechain/IERC721.js +2 -0
  194. package/export/typechain/IERC721Metadata.js +2 -0
  195. package/export/typechain/IERC721Receiver.js +2 -0
  196. package/export/typechain/IRandomBeacon.js +2 -0
  197. package/export/typechain/IRandomBeaconConsumer.js +2 -0
  198. package/export/typechain/IReceiveApproval.js +2 -0
  199. package/export/typechain/IReceiveBalanceApproval.js +2 -0
  200. package/export/typechain/IRelay.js +2 -0
  201. package/export/typechain/IStaking.js +2 -0
  202. package/export/typechain/IVault.js +2 -0
  203. package/export/typechain/IWalletOwner.js +2 -0
  204. package/export/typechain/IWalletRegistry.js +2 -0
  205. package/export/typechain/Initializable.js +2 -0
  206. package/export/typechain/MisfundRecovery.js +2 -0
  207. package/export/typechain/MovingFunds.js +2 -0
  208. package/export/typechain/Ownable.js +2 -0
  209. package/export/typechain/Proxy.js +2 -0
  210. package/export/typechain/ProxyAdmin.js +2 -0
  211. package/export/typechain/ReceiveApprovalStub.js +2 -0
  212. package/export/typechain/Redemption.js +2 -0
  213. package/export/typechain/Reimbursable.js +2 -0
  214. package/export/typechain/ReimbursementPool.js +2 -0
  215. package/export/typechain/Rewards.js +2 -0
  216. package/export/typechain/SortitionPool.js +2 -0
  217. package/export/typechain/SortitionTree.js +2 -0
  218. package/export/typechain/TBTC.js +2 -0
  219. package/export/typechain/TBTCVault.js +2 -0
  220. package/export/typechain/TestERC20.js +2 -0
  221. package/export/typechain/TestERC721.js +2 -0
  222. package/export/typechain/TestEcdsaLib.js +2 -0
  223. package/export/typechain/TestRelay.js +2 -0
  224. package/export/typechain/TransparentUpgradeableProxy.js +2 -0
  225. package/export/typechain/VendingMachine.js +2 -0
  226. package/export/typechain/WalletRegistry.js +2 -0
  227. package/export/typechain/Wallets.js +2 -0
  228. package/export/typechain/common.js +2 -0
  229. package/export/typechain/factories/BTCUtils__factory.js +94 -0
  230. package/export/typechain/factories/BankStub__factory.js +586 -0
  231. package/export/typechain/factories/Bank__factory.js +573 -0
  232. package/export/typechain/factories/BridgeState__factory.js +257 -0
  233. package/export/typechain/factories/BridgeStub__factory.js +2912 -0
  234. package/export/typechain/factories/Bridge__factory.js +2526 -0
  235. package/export/typechain/factories/DepositSweep__factory.js +61 -0
  236. package/export/typechain/factories/Deposit__factory.js +103 -0
  237. package/export/typechain/factories/DonationVault__factory.js +139 -0
  238. package/export/typechain/factories/ERC165__factory.js +38 -0
  239. package/export/typechain/factories/ERC1967Proxy__factory.js +111 -0
  240. package/export/typechain/factories/ERC1967Upgrade__factory.js +64 -0
  241. package/export/typechain/factories/ERC20WithPermit__factory.js +524 -0
  242. package/export/typechain/factories/ERC721__factory.js +388 -0
  243. package/export/typechain/factories/EcdsaAuthorization__factory.js +211 -0
  244. package/export/typechain/factories/EcdsaDkgValidator__factory.js +441 -0
  245. package/export/typechain/factories/EcdsaDkg__factory.js +192 -0
  246. package/export/typechain/factories/EcdsaInactivity__factory.js +134 -0
  247. package/export/typechain/factories/Fraud__factory.js +117 -0
  248. package/export/typechain/factories/Governable__factory.js +64 -0
  249. package/export/typechain/factories/HeartbeatStub__factory.js +61 -0
  250. package/export/typechain/factories/IApplication__factory.js +152 -0
  251. package/export/typechain/factories/IApproveAndCall__factory.js +48 -0
  252. package/export/typechain/factories/IBeacon__factory.js +32 -0
  253. package/export/typechain/factories/IERC165__factory.js +38 -0
  254. package/export/typechain/factories/IERC1822Proxiable__factory.js +32 -0
  255. package/export/typechain/factories/IERC20Metadata__factory.js +241 -0
  256. package/export/typechain/factories/IERC20WithPermit__factory.js +389 -0
  257. package/export/typechain/factories/IERC20__factory.js +202 -0
  258. package/export/typechain/factories/IERC721Metadata__factory.js +349 -0
  259. package/export/typechain/factories/IERC721Receiver__factory.js +53 -0
  260. package/export/typechain/factories/IERC721__factory.js +304 -0
  261. package/export/typechain/factories/IRandomBeaconConsumer__factory.js +37 -0
  262. package/export/typechain/factories/IRandomBeacon__factory.js +32 -0
  263. package/export/typechain/factories/IReceiveApproval__factory.js +47 -0
  264. package/export/typechain/factories/IReceiveBalanceApproval__factory.js +42 -0
  265. package/export/typechain/factories/IRelay__factory.js +45 -0
  266. package/export/typechain/factories/IStaking__factory.js +722 -0
  267. package/export/typechain/factories/IVault__factory.js +60 -0
  268. package/export/typechain/factories/IWalletOwner__factory.js +65 -0
  269. package/export/typechain/factories/IWalletRegistry__factory.js +138 -0
  270. package/export/typechain/factories/Initializable__factory.js +32 -0
  271. package/export/typechain/factories/MisfundRecovery__factory.js +145 -0
  272. package/export/typechain/factories/MovingFunds__factory.js +169 -0
  273. package/export/typechain/factories/Ownable__factory.js +71 -0
  274. package/export/typechain/factories/ProxyAdmin__factory.js +191 -0
  275. package/export/typechain/factories/Proxy__factory.js +27 -0
  276. package/export/typechain/factories/ReceiveApprovalStub__factory.js +127 -0
  277. package/export/typechain/factories/Redemption__factory.js +123 -0
  278. package/export/typechain/factories/Reimbursable__factory.js +58 -0
  279. package/export/typechain/factories/ReimbursementPool__factory.js +350 -0
  280. package/export/typechain/factories/Rewards__factory.js +117 -0
  281. package/export/typechain/factories/SortitionPool__factory.js +610 -0
  282. package/export/typechain/factories/SortitionTree__factory.js +149 -0
  283. package/export/typechain/factories/TBTCVault__factory.js +480 -0
  284. package/export/typechain/factories/TBTC__factory.js +564 -0
  285. package/export/typechain/factories/TestERC20__factory.js +539 -0
  286. package/export/typechain/factories/TestERC721__factory.js +421 -0
  287. package/export/typechain/factories/TestEcdsaLib__factory.js +66 -0
  288. package/export/typechain/factories/TestRelay__factory.js +94 -0
  289. package/export/typechain/factories/TransparentUpgradeableProxy__factory.js +186 -0
  290. package/export/typechain/factories/VendingMachine__factory.js +549 -0
  291. package/export/typechain/factories/WalletRegistry__factory.js +1919 -0
  292. package/export/typechain/factories/Wallets__factory.js +143 -0
  293. package/export/typechain/index.js +132 -0
  294. package/export.json +15932 -503
  295. package/package.json +47 -26
  296. package/artifacts/solcInputs/7cc3eda3cb3ff2522d18b5e7b31ea228.json +0 -104
@@ -0,0 +1,655 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SingleMainUtxoP2SHOutput = exports.MultipleDepositsWithMainUtxo = exports.MultipleDepositsNoMainUtxo = exports.SingleMainUtxo = exports.SingleP2WSHDeposit = exports.SingleP2SHDeposit = exports.NO_MAIN_UTXO = void 0;
4
+ exports.NO_MAIN_UTXO = {
5
+ txHash: "0x0000000000000000000000000000000000000000000000000000000000000000",
6
+ txOutputIndex: 0,
7
+ txOutputValue: 0,
8
+ };
9
+ /**
10
+ * `SingleP2SHDeposit` test data represents a sweep with following properties:
11
+ * - 1 P2SH deposit input
12
+ * - 1 P2WPKH sweep output
13
+ * - No main UTXO exists for this wallet
14
+ * - 6+ on-chain confirmations of the sweep transaction
15
+ */
16
+ exports.SingleP2SHDeposit = {
17
+ deposits: [
18
+ {
19
+ // https://live.blockcypher.com/btc-testnet/tx/c580e0e352570d90e303d912a506055ceeb0ee06f97dce6988c69941374f5479
20
+ fundingTx: {
21
+ hash: "0x79544f374199c68869ce7df906eeb0ee5c0506a512d903e3900d5752e3e080c5",
22
+ version: "0x01000000",
23
+ inputVector: "0x011d9b71144a3ddbb56dd099ee94e6dd8646d7d1eb37fe1195367e6fa844a3" +
24
+ "88e7010000006a47304402206f8553c07bcdc0c3b906311888103d623ca9096c" +
25
+ "a0b28b7d04650a029a01fcf9022064cda02e39e65ace712029845cfcf58d1b59" +
26
+ "617d753c3fd3556f3551b609bbb00121039d61d62dcd048d3f8550d22eb90b4a" +
27
+ "f908db60231d117aeede04e7bc11907bfaffffffff",
28
+ outputVector: "0x02204e00000000000017a9143ec459d0f3c29286ae5df5fcc421e278602427" +
29
+ "7e87a6c2140000000000160014e257eccafbc07c381642ce6e7e55120fb077fb" +
30
+ "ed",
31
+ locktime: "0x00000000",
32
+ },
33
+ reveal: {
34
+ fundingOutputIndex: 0,
35
+ depositor: "0x934b98637ca318a4d6e7ca6ffd1690b8e77df637",
36
+ blindingFactor: "0xf9f0c90d00039523",
37
+ // HASH160 of 03989d253b17a6a0f41838b84ff0d20e8898f9d7b1a98f2564da4cc29dcf8581d9
38
+ walletPubKeyHash: "0x8db50eb52063ea9d98b3eac91489a90f738986f6",
39
+ // HASH160 of 039d61d62dcd048d3f8550d22eb90b4af908db60231d117aeede04e7bc11907bfa
40
+ refundPubKeyHash: "0xe257eccafbc07c381642ce6e7e55120fb077fbed",
41
+ refundLocktime: "0xe0250162",
42
+ vault: "0x0000000000000000000000000000000000000000",
43
+ },
44
+ ecdsaWallet: {
45
+ // Uncompressed and un-prefixed public key X and Y coordinates derived from
46
+ // compressed public key 03989d253b17a6a0f41838b84ff0d20e8898f9d7b1a98f2564da4cc29dcf8581d9
47
+ walletPublicKey: "0x989d253b17a6a0f41838b84ff0d20e8898f9d7b1a98f2564da4cc29dcf8581d9d218b65e7d91c752f7b22eaceb771a9af3a6f3d3f010a5d471a1aeef7d7713af",
48
+ // keccak256 hash of 989d253b17a6a0f41838b84ff0d20e8898f9d7b1a98f2564da4cc29dcf8581d9d218b65e7d91c752f7b22eaceb771a9af3a6f3d3f010a5d471a1aeef7d7713af
49
+ walletID: "0x9ff37567d973e4d884bc42d2d1a6cb1ff22676ab64f82c62b58e2b0ffd3fff71",
50
+ },
51
+ },
52
+ ],
53
+ vault: "0x0000000000000000000000000000000000000000",
54
+ mainUtxo: exports.NO_MAIN_UTXO,
55
+ // https://live.blockcypher.com/btc-testnet/tx/f5b9ad4e8cd5317925319ebc64dc923092bef3b56429c6b1bc2261bbdc73f351
56
+ sweepTx: {
57
+ hash: "0x51f373dcbb6122bcb1c62964b5f3be923092dc64bc9e31257931d58c4eadb9f5",
58
+ version: "0x01000000",
59
+ inputVector: "0x0179544f374199c68869ce7df906eeb0ee5c0506a512d903e3900d5752e3e080c5" +
60
+ "00000000c847304402205eff3ae003a5903eb33f32737e3442b6516685a1addb1933" +
61
+ "9c2d02d400cf67ce0220707435fc2a0577373c63c99d242c30bea5959ec180169978" +
62
+ "d43ece50618fe0ff012103989d253b17a6a0f41838b84ff0d20e8898f9d7b1a98f25" +
63
+ "64da4cc29dcf8581d94c5c14934b98637ca318a4d6e7ca6ffd1690b8e77df6377508" +
64
+ "f9f0c90d000395237576a9148db50eb52063ea9d98b3eac91489a90f738986f68763" +
65
+ "ac6776a914e257eccafbc07c381642ce6e7e55120fb077fbed8804e0250162b175ac" +
66
+ "68ffffffff",
67
+ outputVector: "0x0144480000000000001600148db50eb52063ea9d98b3eac91489a90f738986f6",
68
+ locktime: "0x00000000",
69
+ },
70
+ sweepProof: {
71
+ merkleProof: "0x75377d34f47e2eb0cfb04459bce58492a84996dc31bf3cba5f08bfea36168d3969" +
72
+ "93fa41ecc498353f332478ae3f964241fa1956f52f09cd6994eb7fbda3341b433477" +
73
+ "45dbcc7ce3902199c31a0fb3c03a21f1f6845480cbbee15e8fbf400cb741b48b8505" +
74
+ "ca54f7c08cd9c2e5c37b03a3eca02af540fc5b9ad90a00c4a1d2cf54fcbcc851c8d4" +
75
+ "7552b8e09f6656a7fb74c488b9869b3247d56cdfe1ecbd4517b6b06c734b78f6c725" +
76
+ "26da3cc4b5219faa48ba7abe403729b958b16cc07c706eb87d6febdbf3b82f1d64b1" +
77
+ "54be0a60cdbbab0de51e0e4743214828f9ee2c0c29",
78
+ txIndexInBlock: 36,
79
+ bitcoinHeaders: "0x04000020a5a3501e6ba1f3e2a1ee5d29327a549524ed33f272dfef300045660000" +
80
+ "000000e27d241ca36de831ab17e6729056c14a383e7a3f43d56254f846b496497751" +
81
+ "12939edd612ac0001abbaa602e000000206d9e839a3c97827b5faf845f51a66edc34" +
82
+ "ed32dbb81109f12a00000000000000fee43f9fffe8f2038392fdc69ba05e8825bac4" +
83
+ "cda8c84c3f738d8ba2399a549a54a3dd61ffff001d3c151016000000201f6384713b" +
84
+ "588bb730c51320aa0ab841e1dede512fdc2ed874e324df000000004254fcc35ca3e6" +
85
+ "60d6a325b04755bd4c45b47530aece6ec254a6d84363c9836115a8dd61ffff001dc4" +
86
+ "977aca00004020d6e7417486214ba46562c9bf4cdb973f9924dddee419b80afff181" +
87
+ "d50000000031e301a5250a75e599d3a7e70996d677216cf23f261d513d9ac87296a0" +
88
+ "3046dacdacdd61ffff001de15046e200000020ee071caba9bc64b8d459bfa0080722" +
89
+ "1001f2c632c851d2868fa90600000000004e10814280c8bb5c548d09d4bae08164f7" +
90
+ "3e32fcd35ed31020579b592668280383b1dd61ffff001dc15e6b8104000020382355" +
91
+ "d0078bd0aaf7eb872dfa0f1bb555f8be0c0c219886d1426dfe0000000066555236d3" +
92
+ "bbfb19bf093fe55252f7fb49a75ae99e6415b61ff6c0f8b89d0842b3b1dd612ac000" +
93
+ "1ada9c55300000002031552151fbef8e96a33f979e6253d29edf65ac31b04802319e" +
94
+ "00000000000000e003319fca9082d25815fcca442fe68a5249818abc79302e1b3dfe" +
95
+ "854bf18028c0b2dd612ac0001ac429a1dd",
96
+ },
97
+ chainDifficulty: 22350181,
98
+ };
99
+ /**
100
+ * `SingleP2WSHDeposit` test data represents a sweep with following properties:
101
+ * - 1 P2WSH deposit input
102
+ * - 1 P2WPKH sweep output
103
+ * - No main UTXO exists for this wallet
104
+ * - 6+ on-chain confirmations of the sweep transaction
105
+ */
106
+ exports.SingleP2WSHDeposit = {
107
+ deposits: [
108
+ {
109
+ // https://live.blockcypher.com/btc-testnet/tx/c1082c460527079a84e39ec6481666db72e5a22e473a78db03b996d26fd1dc83
110
+ fundingTx: {
111
+ hash: "0x83dcd16fd296b903db783a472ea2e572db661648c69ee3849a072705462c08c1",
112
+ version: "0x01000000",
113
+ inputVector: "0x0189f12fac482d2b036f74378a9c9af7ab17bcc963d4172cec78d01750dd1b" +
114
+ "13e20100000000ffffffff",
115
+ outputVector: "0x028038010000000000220020ef0b4d985752aa5ef6243e4c6f6bebc2a007e7" +
116
+ "d671ef27d4b1d0db8dcc93bc1c7ad42900000000001600147ac2d9378a1c47e5" +
117
+ "89dfb8095ca95ed2140d2726",
118
+ locktime: "0x00000000",
119
+ },
120
+ reveal: {
121
+ fundingOutputIndex: 0,
122
+ depositor: "0xf4292022F75ADD9b079b0573d0FD63C376a85F41",
123
+ blindingFactor: "0xb0bb0e4d6083951d",
124
+ // HASH160 of 03989d253b17a6a0f41838b84ff0d20e8898f9d7b1a98f2564da4cc29dcf8581d9
125
+ walletPubKeyHash: "0x8db50eb52063ea9d98b3eac91489a90f738986f6",
126
+ // HASH160 of 02e17803749b7a8af2efd288de313a98e7c77bb0969e220edf25932d97686db83d
127
+ refundPubKeyHash: "0x056514a7032b0b486e56a607fb434756c61d1f74",
128
+ refundLocktime: "0x38421962",
129
+ vault: "0x0000000000000000000000000000000000000000",
130
+ },
131
+ },
132
+ ],
133
+ vault: "0x0000000000000000000000000000000000000000",
134
+ mainUtxo: exports.NO_MAIN_UTXO,
135
+ // https://live.blockcypher.com/btc-testnet/tx/9efc9d555233e12e06378a35a7b988d54f7043b5c3156adc79c7af0a0fd6f1a0
136
+ sweepTx: {
137
+ hash: "0xa0f1d60f0aafc779dc6a15c3b543704fd588b9a7358a37062ee13352559dfc9e",
138
+ version: "0x01000000",
139
+ inputVector: "0x0183dcd16fd296b903db783a472ea2e572db661648c69ee3849a072705462c08c1" +
140
+ "0000000000ffffffff",
141
+ outputVector: "0x01b0300100000000001600148db50eb52063ea9d98b3eac91489a90f738986f6",
142
+ locktime: "0x00000000",
143
+ },
144
+ sweepProof: {
145
+ merkleProof: "0x1e385762f7d31965169347c77cdf80b97d9929db5a69c5ed806db32b076148eb5d" +
146
+ "e6c1ecf41b3d5850ddc4734e640055c1196aff7adc62f4142fb325d52f094d9fec4a" +
147
+ "45971e5e57dd7eba7c1a16f800f4d39ca840dde81afc94962fe11666ec25ffb29b0a" +
148
+ "fbf42def26d69660fc59495bfd57a33b3a4ab47efe33dd5d77f018df4c5c181f0c15" +
149
+ "a6fb2e5b6df6699379eb525e3d9f44093efe518f5ac3499850",
150
+ txIndexInBlock: 6,
151
+ bitcoinHeaders: "0x04e0ff2ffe53ee270bc727b7b79a51fad230e89ffbe713a3a98e38bf61a6a60000" +
152
+ "000000e2ef3dc664f683c06d97562f7f664fc66524dbb37ef1ba1e961ecd25a6d8d9" +
153
+ "2f6996f261cbcd001a44861d0a0000e0205c5df9ba0f31cdf5ad8c146fb16c1199d2" +
154
+ "7309ed31e34934b8000000000000002c183edd5a6d3e7c2205a8a2c1dab8e0940bd1" +
155
+ "20d4f6fcc5ab4d38d77fbe0e572a9bf261ffff001d2a446a0e000060209727625876" +
156
+ "c086cee161094c5eb7e535dec7064c345c46b2413298000000000050d8a67fef29c6" +
157
+ "b9329257b3fe29e4c24894ee32cbce7c15a67a401169a065f3dc9ff261ffff001d8f" +
158
+ "b08e4100400020b52821b4fd96d162a27d4dcc1aafd6439de4fcec11dca8a4af70bc" +
159
+ "00000000000c76c80b49a7b3549fe8421d365fb31966cd41fe47b067dcc97108db1c" +
160
+ "20a27b8da4f261ffff001d2a74b0a70000002046501508ec2bea6c9d8fd891f1f596" +
161
+ "410068b178005ea5f5f0a7ae130000000070e9a74d4ab00d601c62fa42fd38c1ec5f" +
162
+ "ec628180341f4eaa667d6364fed3b193a5f261cbcd001a78634212d49820001e1adb" +
163
+ "3e29eb4aa11c99e7d5c77dbbe7803760926f57e1f9a50000000000000018182cbc30" +
164
+ "f44efa5eabbb9a2f9888a27feb6d2e2f1e1461534344cf1dafd437e3a6f261cbcd00" +
165
+ "1a8959a5db002000207cddca26ea39dd08f6345c0057300443d7720c5ab4937c2711" +
166
+ "000000000000004eb83f96a1f1ace06832a7eb8b3a407f04b37e211363422bf58dde" +
167
+ "b50f20a8a54ba7f261cbcd001a25011a61",
168
+ },
169
+ chainDifficulty: 20870012,
170
+ };
171
+ /**
172
+ * `SingleMainUtxo` test data represents a sweep with following properties:
173
+ * - 1 P2WPKH main UTXO input
174
+ * - 1 P2WPKH sweep output
175
+ * - The main UTXO exists for this wallet
176
+ * - 6+ on-chain confirmations of the sweep transaction
177
+ */
178
+ exports.SingleMainUtxo = {
179
+ deposits: [],
180
+ vault: "0x0000000000000000000000000000000000000000",
181
+ // https://live.blockcypher.com/btc-testnet/tx/f5b9ad4e8cd5317925319ebc64dc923092bef3b56429c6b1bc2261bbdc73f351
182
+ mainUtxo: {
183
+ txHash: "0x51f373dcbb6122bcb1c62964b5f3be923092dc64bc9e31257931d58c4eadb9f5",
184
+ txOutputIndex: 0,
185
+ txOutputValue: 18500,
186
+ },
187
+ // https://live.blockcypher.com/btc-testnet/tx/3c5e414be0a36e7cd8a6b3a554b4bd9bebe3eee4eddd0dd2a182652e5772b1ad
188
+ sweepTx: {
189
+ hash: "0xadb172572e6582a1d20dddede4eee3eb9bbdb454a5b3a6d87c6ea3e04b415e3c",
190
+ version: "0x01000000",
191
+ inputVector: "0x0151f373dcbb6122bcb1c62964b5f3be923092dc64bc9e31257931d58c4eadb9f5" +
192
+ "0000000000ffffffff",
193
+ outputVector: "0x0174400000000000001600148db50eb52063ea9d98b3eac91489a90f738986f6",
194
+ locktime: "0x00000000",
195
+ },
196
+ sweepProof: {
197
+ merkleProof: "0x420b7804b046b62d2c58ed265f1f4c1f5a870cb0dbb1788f251d4377a6ac198cca" +
198
+ "80146dde2a79fab2cdcec6704d3166c1a60cb03b685faf895d171929874798341f0b" +
199
+ "acfd708ccdb0de53fd6f99c56d6b5ecd4f68b9ce33e1ff2f38843671a6b252ef1c80" +
200
+ "e934fd37dba1a508eac0b4f574dee4bd2896d069594c07314c7f5668dd6f681ea181" +
201
+ "bfa9eb1b37825ba05f74fa8ec78f0014dff6d4365cf68697b630254f65249c7909d7" +
202
+ "5ca862aaf2ebb1d7eac6334a68104605ed0f57b7ab5e58744f028d58b36016f2e78c" +
203
+ "b4701aace4a64dcc85e3be1d4db96fe4275658c941",
204
+ txIndexInBlock: 12,
205
+ bitcoinHeaders: "0x0000e0205c5df9ba0f31cdf5ad8c146fb16c1199d27309ed31e34934b800000000" +
206
+ "0000002c183edd5a6d3e7c2205a8a2c1dab8e0940bd120d4f6fcc5ab4d38d77fbe0e" +
207
+ "572a9bf261ffff001d2a446a0e000060209727625876c086cee161094c5eb7e535de" +
208
+ "c7064c345c46b2413298000000000050d8a67fef29c6b9329257b3fe29e4c24894ee" +
209
+ "32cbce7c15a67a401169a065f3dc9ff261ffff001d8fb08e4100400020b52821b4fd" +
210
+ "96d162a27d4dcc1aafd6439de4fcec11dca8a4af70bc00000000000c76c80b49a7b3" +
211
+ "549fe8421d365fb31966cd41fe47b067dcc97108db1c20a27b8da4f261ffff001d2a" +
212
+ "74b0a70000002046501508ec2bea6c9d8fd891f1f596410068b178005ea5f5f0a7ae" +
213
+ "130000000070e9a74d4ab00d601c62fa42fd38c1ec5fec628180341f4eaa667d6364" +
214
+ "fed3b193a5f261cbcd001a78634212d49820001e1adb3e29eb4aa11c99e7d5c77dbb" +
215
+ "e7803760926f57e1f9a50000000000000018182cbc30f44efa5eabbb9a2f9888a27f" +
216
+ "eb6d2e2f1e1461534344cf1dafd437e3a6f261cbcd001a8959a5db002000207cddca" +
217
+ "26ea39dd08f6345c0057300443d7720c5ab4937c2711000000000000004eb83f96a1" +
218
+ "f1ace06832a7eb8b3a407f04b37e211363422bf58ddeb50f20a8a54ba7f261cbcd00" +
219
+ "1a25011a6100000020a255594fd7ad6096e47c5b0b3a636cf0ac0dafc0dcf60277a5" +
220
+ "00000000000000d75ff7b7b32573d64219f81e65e61881446f68dcf47a7f5b47444b" +
221
+ "fd35db25f5a3a8f261cbcd001a32960f84",
222
+ },
223
+ chainDifficulty: 1,
224
+ };
225
+ /**
226
+ * `MultipleDepositsNoMainUtxo` test data represents a sweep with following properties:
227
+ * - 3 P2WSH and 2 P2SH deposit inputs
228
+ * - 1 P2WPKH sweep output
229
+ * - No main UTXO exists for this wallet
230
+ * - 6+ on-chain confirmations of the sweep transaction
231
+ */
232
+ exports.MultipleDepositsNoMainUtxo = {
233
+ deposits: [
234
+ {
235
+ // https://live.blockcypher.com/btc-testnet/tx/d6a04c76aab203fe9cd8a2498bb4a8c50eb767fd95719c7790ac675ed5dec526
236
+ fundingTx: {
237
+ hash: "0x26c5ded55e67ac90779c7195fd67b70ec5a8b48b49a2d89cfe03b2aa764ca0d6",
238
+ version: "0x01000000",
239
+ inputVector: "0x0101278d2c20437868e49c34bc67ace5646d20c674354e061a1683c8b55cf4" +
240
+ "19c20100000000ffffffff",
241
+ outputVector: "0x0230750000000000002200200b636cbcfcde39f846bc1715a9216d53a7b882" +
242
+ "9d8590c54d1a1389dac31e4e125e5c3b00000000001600147ac2d9378a1c47e5" +
243
+ "89dfb8095ca95ed2140d2726",
244
+ locktime: "0x00000000",
245
+ },
246
+ reveal: {
247
+ fundingOutputIndex: 0,
248
+ depositor: "0x934B98637cA318a4D6E7CA6ffd1690b8e77df637",
249
+ blindingFactor: "0x4a6f267c3bfaba7c",
250
+ // HASH160 of 03989d253b17a6a0f41838b84ff0d20e8898f9d7b1a98f2564da4cc29dcf8581d9.
251
+ walletPubKeyHash: "0x8db50eb52063ea9d98b3eac91489a90f738986f6",
252
+ // HASH160 of 0300d6f28a2f6bf9836f57fcda5d284c9a8f849316119779f0d6090830d97763a9.
253
+ refundPubKeyHash: "0x28e081f285138ccbe389c1eb8985716230129f89",
254
+ refundLocktime: "0x1cdb1462",
255
+ vault: "0x0000000000000000000000000000000000000000",
256
+ },
257
+ },
258
+ {
259
+ // https://live.blockcypher.com/btc-testnet/tx/659ea860a4879acba52c1518fb44f71ed8bb0db78074da29eaf0afac6e2d79d1
260
+ fundingTx: {
261
+ hash: "0xd1792d6eacaff0ea29da7480b70dbbd81ef744fb18152ca5cb9a87a460a89e65",
262
+ version: "0x01000000",
263
+ inputVector: "0x010ab93f22d004afe73c75e24a9b790854be61f8a262ff7c41022b8cce9c82" +
264
+ "d8730100000000ffffffff",
265
+ outputVector: "0x02102700000000000017a914e56ff1445b513721fb0e3981817d1b17d83f95" +
266
+ "b087acb43a00000000001600147ac2d9378a1c47e589dfb8095ca95ed2140d27" +
267
+ "26",
268
+ locktime: "0x00000000",
269
+ },
270
+ reveal: {
271
+ fundingOutputIndex: 0,
272
+ depositor: "0x6749bc3837b23da76ccAF0051aa64202f5dDEed3",
273
+ blindingFactor: "0x2c8b4d267ff1d505",
274
+ // HASH160 of 03989d253b17a6a0f41838b84ff0d20e8898f9d7b1a98f2564da4cc29dcf8581d9.
275
+ walletPubKeyHash: "0x8db50eb52063ea9d98b3eac91489a90f738986f6",
276
+ // HASH160 of 03c8d218194ff88421589b8cc14de046146519a45fa24be8299696650b86d9a726.
277
+ refundPubKeyHash: "0xde54ea850935dbd54ed886bf8a1f8810021a25c2",
278
+ refundLocktime: "0x4c051562",
279
+ vault: "0x0000000000000000000000000000000000000000",
280
+ },
281
+ },
282
+ {
283
+ // https://live.blockcypher.com/btc-testnet/tx/bab571c612c36d764d22f058097d8ece2e3ca255e886d4cb91131ee39823fc48
284
+ fundingTx: {
285
+ hash: "0x48fc2398e31e1391cbd486e855a23c2ece8e7d0958f0224d766dc312c671b5ba",
286
+ version: "0x01000000",
287
+ inputVector: "0x01d1792d6eacaff0ea29da7480b70dbbd81ef744fb18152ca5cb9a87a460a8" +
288
+ "9e650100000000ffffffff",
289
+ outputVector: "0x025034030000000000220020dfe723baab8a6a87f03eb67a9705bd1b15eb63" +
290
+ "f9b9fd9cc62d8acf7c684432db6c7a3700000000001600147ac2d9378a1c47e5" +
291
+ "89dfb8095ca95ed2140d2726",
292
+ locktime: "0x00000000",
293
+ },
294
+ reveal: {
295
+ fundingOutputIndex: 0,
296
+ depositor: "0x640EdB9b80ED9FEAc6D20cc80156D71e3eEDc11b",
297
+ blindingFactor: "0x8448912a89f4bf26",
298
+ // HASH160 of 03989d253b17a6a0f41838b84ff0d20e8898f9d7b1a98f2564da4cc29dcf8581d9.
299
+ walletPubKeyHash: "0x8db50eb52063ea9d98b3eac91489a90f738986f6",
300
+ // HASH160 of 03ca0ba18104c93b59ae76edb23456efceb4bdc9d53eebc9dd026726c107e2cc2a.
301
+ refundPubKeyHash: "0x90123976988b921aac1218db4254572cc60c233a",
302
+ refundLocktime: "0x6c021662",
303
+ vault: "0x0000000000000000000000000000000000000000",
304
+ },
305
+ },
306
+ {
307
+ // https://live.blockcypher.com/btc-testnet/tx/c66e9ef85c94240c76c0372173e2371d746426f30df003b13e8653bf91042ee7
308
+ fundingTx: {
309
+ hash: "0xe72e0491bf53863eb103f00df32664741d37e2732137c0760c24945cf89e6ec6",
310
+ version: "0x01000000",
311
+ inputVector: "0x0148fc2398e31e1391cbd486e855a23c2ece8e7d0958f0224d766dc312c671" +
312
+ "b5ba0100000000ffffffff",
313
+ outputVector: "0x0250a505000000000017a914b8548576878505342b8cbb0e13ba2c1f4a6999" +
314
+ "db879acf3100000000001600147ac2d9378a1c47e589dfb8095ca95ed2140d27" +
315
+ "26",
316
+ locktime: "0x00000000",
317
+ },
318
+ reveal: {
319
+ fundingOutputIndex: 0,
320
+ depositor: "0xC92FC70710558103BD90B6BC9041137c43F86ed7",
321
+ blindingFactor: "0x90fb21f8f58d235a",
322
+ // HASH160 of 03989d253b17a6a0f41838b84ff0d20e8898f9d7b1a98f2564da4cc29dcf8581d9.
323
+ walletPubKeyHash: "0x8db50eb52063ea9d98b3eac91489a90f738986f6",
324
+ // HASH160 of 0295e4010377cc051dfb9439cdedc78eba4e592254a829f28ebaeabb997a2b7843.
325
+ refundPubKeyHash: "0xf1f72a500299a14380fe5cfccff6dda3408fb782",
326
+ refundLocktime: "0x1c9d1662",
327
+ vault: "0x0000000000000000000000000000000000000000",
328
+ },
329
+ },
330
+ {
331
+ // https://live.blockcypher.com/btc-testnet/tx/e2131bdd5017d078ec2c17d463c9bc17abf79a9c8a37746f032b2d48ac2ff189
332
+ fundingTx: {
333
+ hash: "0x89f12fac482d2b036f74378a9c9af7ab17bcc963d4172cec78d01750dd1b13e2",
334
+ version: "0x01000000",
335
+ inputVector: "0x01e72e0491bf53863eb103f00df32664741d37e2732137c0760c24945cf89e" +
336
+ "6ec60100000000ffffffff",
337
+ outputVector: "0x02c0b6060000000000220020f8b7d8d06bf387d9be502cf04a9821325b7216" +
338
+ "b5301b9c8f65e6d29649a2108cea122b00000000001600147ac2d9378a1c47e5" +
339
+ "89dfb8095ca95ed2140d2726",
340
+ locktime: "0x00000000",
341
+ },
342
+ reveal: {
343
+ fundingOutputIndex: 0,
344
+ depositor: "0xEe080E869F094e251E135294539a05b267041122",
345
+ blindingFactor: "0xdd66710eefa37a42",
346
+ // HASH160 of 03989d253b17a6a0f41838b84ff0d20e8898f9d7b1a98f2564da4cc29dcf8581d9.
347
+ walletPubKeyHash: "0x8db50eb52063ea9d98b3eac91489a90f738986f6",
348
+ // HASH160 of 021c0f768e18affe50136f487fa69d993facfd9f87040dfa764b32d8090d61a438.
349
+ refundPubKeyHash: "0xf4eedc8f40d4b8e30771f792b065ebec0abaddef",
350
+ refundLocktime: "0x389f1662",
351
+ vault: "0x0000000000000000000000000000000000000000",
352
+ },
353
+ },
354
+ ],
355
+ vault: "0x0000000000000000000000000000000000000000",
356
+ mainUtxo: exports.NO_MAIN_UTXO,
357
+ // https://live.blockcypher.com/btc-testnet/tx/2a5d5f472e376dc28964e1b597b1ca5ee5ac042101b5199a3ca8dae2deec3538
358
+ sweepTx: {
359
+ hash: "0x3835ecdee2daa83c9a19b5012104ace55ecab197b5e16489c26d372e475f5d2a",
360
+ version: "0x01000000",
361
+ inputVector: "0x0589f12fac482d2b036f74378a9c9af7ab17bcc963d4172cec78d01750dd1b13e2" +
362
+ "0000000000ffffffffe72e0491bf53863eb103f00df32664741d37e2732137c0760c" +
363
+ "24945cf89e6ec600000000c847304402202edd080c332080da520c32afbea2c6e84a" +
364
+ "b0847e7c7b90287294d8c61860f1bf02200c9a2d8bfb534527813e04441f9b2804a9" +
365
+ "224b1a46ee718399abc88628089770012103989d253b17a6a0f41838b84ff0d20e88" +
366
+ "98f9d7b1a98f2564da4cc29dcf8581d94c5c14c92fc70710558103bd90b6bc904113" +
367
+ "7c43f86ed7750890fb21f8f58d235a7576a9148db50eb52063ea9d98b3eac91489a9" +
368
+ "0f738986f68763ac6776a914f1f72a500299a14380fe5cfccff6dda3408fb7828804" +
369
+ "1c9d1662b175ac68ffffffff48fc2398e31e1391cbd486e855a23c2ece8e7d0958f0" +
370
+ "224d766dc312c671b5ba0000000000ffffffff26c5ded55e67ac90779c7195fd67b7" +
371
+ "0ec5a8b48b49a2d89cfe03b2aa764ca0d60000000000ffffffffd1792d6eacaff0ea" +
372
+ "29da7480b70dbbd81ef744fb18152ca5cb9a87a460a89e6500000000c84730440220" +
373
+ "0c5e04ebf5e0f30021d3c52c3c784ef46724183f2783ecd61203fb15f35095540220" +
374
+ "7a988536b2451dad091720466ea1a22f3a3f9d5d415e82be733d764b57d0c6740121" +
375
+ "03989d253b17a6a0f41838b84ff0d20e8898f9d7b1a98f2564da4cc29dcf8581d94c" +
376
+ "5c146749bc3837b23da76ccaf0051aa64202f5ddeed375082c8b4d267ff1d5057576" +
377
+ "a9148db50eb52063ea9d98b3eac91489a90f738986f68763ac6776a914de54ea8509" +
378
+ "35dbd54ed886bf8a1f8810021a25c288044c051562b175ac68ffffffff",
379
+ outputVector: "0x01d0241000000000001600148db50eb52063ea9d98b3eac91489a90f738986f6",
380
+ locktime: "0x00000000",
381
+ },
382
+ sweepProof: {
383
+ merkleProof: "0xe15a60efbeec3dee2cdf38ebd0ffb5f48c230e61f8329a23840d72354d40560ea1" +
384
+ "5dd9fc2856c93626253515d9dee159597a597603142772fb20b38f967a633b11e107" +
385
+ "0eb88c1663303354ff954c6d9f9a67ebac28e4c150a98746d7f27cc07f43cdf29b4e" +
386
+ "2418d2575717beb8f94e129c24aa1a893f706ce89072ef157f2ade",
387
+ txIndexInBlock: 8,
388
+ bitcoinHeaders: "0x0000a02037ab97313f296c44650553afaa03eb05757cc8514a1166e42500000000" +
389
+ "0000003355bc5d3708f6a33c8b0a48c794f33855c01016dff40a17781da039d514a1" +
390
+ "b0225ff161cbcd001a65784973000060202de7b5fc1d5283cfdf09f62210a035aaae" +
391
+ "d9d16608d0013f5600000000000000804b0397eae0fba215e67eca1b764f3e052721" +
392
+ "6dda006068a6aaef0353693d528060f161cbcd001a53beb73c00006020f97e400aaf" +
393
+ "c9cb45f4cbff788bc630b1a36f7001a69b68043c00000000000000b6d619e28c36f7" +
394
+ "b13dd2bd3ece559bad352ef8cd65f7ec89d330160d2c190a620e63f161cbcd001a11" +
395
+ "58f632d498200029e4cea651d4eab2f5814d8b37f018069711bcb6e85b8617730000" +
396
+ "0000000000587343c34efb8e4fa0be399a264e37981cf8b0db7dcb079bdc31fe74bb" +
397
+ "8da8d6e363f161cbcd001a035e7125000080207ca61193b74eb860880a1479aaa0de" +
398
+ "c37dd1939729bb5a1e5e000000000000001f69415e61d4917b7d64460250ed743709" +
399
+ "51df01f04da7b7e5f71534c87ba4902064f161cbcd001a75c6ed6b0000a020c7ab47" +
400
+ "2385653a7d341f10719ffa55f1a6f21e0853ac3c2b9400000000000000e50e9ae207" +
401
+ "4024df90936006dd608c06534876db27a10f5851eadb5f579323daa265f161cbcd00" +
402
+ "1a2676b59f0020002016b3f18bda6d1b0b8d27224c11428a6dd52bcb40cdf915fd42" +
403
+ "00000000000000ed8dac80a63d3a5a041231f1adafdbc282fe78ded144c815a66ced" +
404
+ "9a842089ddd965f161cbcd001af9f5886c",
405
+ },
406
+ chainDifficulty: 20870012,
407
+ };
408
+ /**
409
+ * `MultipleDepositsWithMainUtxo` test data represents a sweep with following properties:
410
+ * - 3 P2WSH, 2 P2SH, and 1 P2WPKH main UTXO inputs
411
+ * - 1 P2WPKH sweep output
412
+ * - The main UTXO exists for this wallet
413
+ * - 6+ on-chain confirmations of the sweep transaction
414
+ */
415
+ exports.MultipleDepositsWithMainUtxo = {
416
+ deposits: [
417
+ {
418
+ // https://live.blockcypher.com/btc-testnet/tx/85eb466ed605916ea764860ceda68fa05e7448cc772558c866a409366b997a85
419
+ fundingTx: {
420
+ hash: "0x857a996b3609a466c8582577cc48745ea08fa6ed0c8664a76e9105d66e46eb85",
421
+ version: "0x01000000",
422
+ inputVector: "0x01fd1f9639ef881216e49ff8b15cb042172c942acbc12d6bb4491c2bb16d3b" +
423
+ "d42e0100000000ffffffff",
424
+ outputVector: "0x02605b0300000000002200207b154340a9b625709bce586ccc4e46c716f5cd" +
425
+ "42c505f5f50aa7f6b0def024a698731700000000001600147ac2d9378a1c47e5" +
426
+ "89dfb8095ca95ed2140d2726",
427
+ locktime: "0x00000000",
428
+ },
429
+ reveal: {
430
+ fundingOutputIndex: 0,
431
+ depositor: "0x7F62CddE8A86328d63B9517BC70B255017f25EEa",
432
+ blindingFactor: "0x1d5c0a1bc9528ea2",
433
+ // HASH160 of 03989d253b17a6a0f41838b84ff0d20e8898f9d7b1a98f2564da4cc29dcf8581d9.
434
+ walletPubKeyHash: "0x8db50eb52063ea9d98b3eac91489a90f738986f6",
435
+ // HASH160 of 0261b7f5be5c0549d722104f457485a50dd68c18bbd06ac8ed0878513653330af5.
436
+ refundPubKeyHash: "0x64c2b58db5259ecc3c169b76c6bd83f3a9421090",
437
+ refundLocktime: "0xe8fb1862",
438
+ vault: "0x0000000000000000000000000000000000000000",
439
+ },
440
+ },
441
+ {
442
+ // https://live.blockcypher.com/btc-testnet/tx/468e0be44cf5b2a529f22c49d8006fb29a147a4f1b6a54326a8c181208560ec6
443
+ fundingTx: {
444
+ hash: "0xc60e560812188c6a32546a1b4f7a149ab26f00d8492cf229a5b2f54ce40b8e46",
445
+ version: "0x01000000",
446
+ inputVector: "0x01857a996b3609a466c8582577cc48745ea08fa6ed0c8664a76e9105d66e46" +
447
+ "eb850100000000ffffffff",
448
+ outputVector: "0x02c0980b000000000017a91413ce939c44d9bac56d636fd4215a66874c9aea" +
449
+ "688756d50b00000000001600147ac2d9378a1c47e589dfb8095ca95ed2140d27" +
450
+ "26",
451
+ locktime: "0x00000000",
452
+ },
453
+ reveal: {
454
+ fundingOutputIndex: 0,
455
+ depositor: "0x2219eAC966FbC0454C4A2e122717e4429Dd7608F",
456
+ blindingFactor: "0x251c7239917eae29",
457
+ // HASH160 of 03989d253b17a6a0f41838b84ff0d20e8898f9d7b1a98f2564da4cc29dcf8581d9.
458
+ walletPubKeyHash: "0x8db50eb52063ea9d98b3eac91489a90f738986f6",
459
+ // HASH160 of 03ecc3fbee48644fb072424d42b109062f0945c2c68cbbeb1852e2ea97277a69ef.
460
+ refundPubKeyHash: "0x032a5188c34f2fb56a4228b2bb2b7165a797eb95",
461
+ refundLocktime: "0x88c61762",
462
+ vault: "0x0000000000000000000000000000000000000000",
463
+ },
464
+ },
465
+ {
466
+ // https://live.blockcypher.com/btc-testnet/tx/71b13c7b1e2968f869c832ccdb72bbdccd35d64b78826d251d350d79a7a32f30
467
+ fundingTx: {
468
+ hash: "0x302fa3a7790d351d256d82784bd635cddcbb72dbcc32c869f868291e7b" +
469
+ "3cb171",
470
+ version: "0x01000000",
471
+ inputVector: "0x0144178e5748d91b995a7f12da068efedb7b404e36be6002a4889b64d11f02" +
472
+ "ee1b0100000000ffffffff",
473
+ outputVector: "0x02e0570e00000000002200205bbfa44ea2e4eea99808c4f3beee7fd31f2885" +
474
+ "0c0bff9592319d6306d0a67f330b0b0900000000001600147ac2d9378a1c47e5" +
475
+ "89dfb8095ca95ed2140d2726",
476
+ locktime: "0x00000000",
477
+ },
478
+ reveal: {
479
+ fundingOutputIndex: 0,
480
+ depositor: "0x208fF63189DF8749780917Cb5901183075Dbabc1",
481
+ blindingFactor: "0x8bdbb150483eb2f2",
482
+ // HASH160 of 03989d253b17a6a0f41838b84ff0d20e8898f9d7b1a98f2564da4cc29dcf8581d9.
483
+ walletPubKeyHash: "0x8db50eb52063ea9d98b3eac91489a90f738986f6",
484
+ // HASH160 of 0257acc5233e598c4ea3b2216980833bd46e946a7fbde7a0933b0a122ff0af3789.
485
+ refundPubKeyHash: "0x73f3252d5e6b9f501dfafbfbca40836cc1f505f7",
486
+ refundLocktime: "0xb80f1762",
487
+ vault: "0x0000000000000000000000000000000000000000",
488
+ },
489
+ },
490
+ {
491
+ // https://live.blockcypher.com/btc-testnet/tx/68f4041f6bbddb146f672d31e4a2cce6431e1583bb24a33a2c836a7f238625d3
492
+ fundingTx: {
493
+ hash: "0xd32586237f6a832c3aa324bb83151e43e6cca2e4312d676f14dbbd6b1f04f468",
494
+ version: "0x01000000",
495
+ inputVector: "0x0140caae8f45d9e3cc703241d68404216ead95cb3b704408a75740f039f8eb" +
496
+ "80e10000000000ffffffff",
497
+ outputVector: "0x02806d0d000000000017a914323d36279d8cbb9214c94708d1e5815b24bfb3" +
498
+ "3d871ea90900000000001600147ac2d9378a1c47e589dfb8095ca95ed2140d27" +
499
+ "26",
500
+ locktime: "0x00000000",
501
+ },
502
+ reveal: {
503
+ fundingOutputIndex: 0,
504
+ depositor: "0x35D54bC29e0a5170c3Ac73E64c7fA539A867f0FE",
505
+ blindingFactor: "0xdfe75a3a6ed52db6",
506
+ // HASH160 of 03989d253b17a6a0f41838b84ff0d20e8898f9d7b1a98f2564da4cc29dcf8581d9.
507
+ walletPubKeyHash: "0x8db50eb52063ea9d98b3eac91489a90f738986f6",
508
+ // HASH160 of 02377a86cd3bd3f23b5b68bc4e0df6bc617cacc189f7ce16ddcaa52574127995c9.
509
+ refundPubKeyHash: "0x11d6c57c31ea78b48020dcbf42c34ccd60d92c8c",
510
+ refundLocktime: "0x28531862",
511
+ vault: "0x0000000000000000000000000000000000000000",
512
+ },
513
+ },
514
+ {
515
+ // https://live.blockcypher.com/btc-testnet/tx/8c535793b98f1dbd638773e7ee07ebbbc5f86a55b5ae31ba91f63a67682e95aa
516
+ fundingTx: {
517
+ hash: "0xaa952e68673af691ba31aeb5556af8c5bbeb07eee7738763bd1d8fb99357538c",
518
+ version: "0x01000000",
519
+ inputVector: "0x01424a065ba76a455aa14d6dbed205d8742a5b5a9ff05fcd314a4eadea878a" +
520
+ "31720000000000ffffffff",
521
+ outputVector: "0x02d06c040000000000220020af802a76c10b6a646fff8d358241c121c9be1c" +
522
+ "53628adb26bd6554631bfc7d8b56a21200000000001600147ac2d9378a1c47e5" +
523
+ "89dfb8095ca95ed2140d2726",
524
+ locktime: "0x00000000",
525
+ },
526
+ reveal: {
527
+ fundingOutputIndex: 0,
528
+ depositor: "0x462418b7495561bF2872A0786109A11f5d494aA2",
529
+ blindingFactor: "0xeca429ef209bf500",
530
+ // HASH160 of 03989d253b17a6a0f41838b84ff0d20e8898f9d7b1a98f2564da4cc29dcf8581d9.
531
+ walletPubKeyHash: "0x8db50eb52063ea9d98b3eac91489a90f738986f6",
532
+ // HASH160 of 02f61c699f77650c5296efe5b9d82844855a2d81ee0b4f70e558ae179425694755.
533
+ refundPubKeyHash: "0x46c5760250ab89b3d4b956cee325561fa7effff8",
534
+ refundLocktime: "0x6c4b1862",
535
+ vault: "0x0000000000000000000000000000000000000000",
536
+ },
537
+ },
538
+ ],
539
+ vault: "0x0000000000000000000000000000000000000000",
540
+ // https://live.blockcypher.com/btc-testnet/tx/2a5d5f472e376dc28964e1b597b1ca5ee5ac042101b5199a3ca8dae2deec3538
541
+ mainUtxo: {
542
+ txHash: "0x3835ecdee2daa83c9a19b5012104ace55ecab197b5e16489c26d372e475f5d2a",
543
+ txOutputIndex: 0,
544
+ txOutputValue: 1058000,
545
+ },
546
+ // https://live.blockcypher.com/btc-testnet/tx/4459881f4964ee08dd298a12dfc1f461bf35cca8a105974d8baf0955c830d836/
547
+ sweepTx: {
548
+ hash: "0x36d830c85509af8b4d9705a1a8cc35bf61f4c1df128a29dd08ee64491f885944",
549
+ version: "0x01000000",
550
+ inputVector: "0x063835ecdee2daa83c9a19b5012104ace55ecab197b5e16489c26d372e475f5d2a" +
551
+ "0000000000ffffffff302fa3a7790d351d256d82784bd635cddcbb72dbcc32c869f8" +
552
+ "68291e7b3cb1710000000000ffffffffd32586237f6a832c3aa324bb83151e43e6cc" +
553
+ "a2e4312d676f14dbbd6b1f04f46800000000c9483045022100afeb157db4284ab218" +
554
+ "a3d27b6962aabe1905eb205c6c6216dfad7e76615c0bb702205ffd88f2d2dea7509b" +
555
+ "7ea3b01910002544a785efa93c7ecd1cabafbdec508d3f012103989d253b17a6a0f4" +
556
+ "1838b84ff0d20e8898f9d7b1a98f2564da4cc29dcf8581d94c5c1435d54bc29e0a51" +
557
+ "70c3ac73e64c7fa539a867f0fe7508dfe75a3a6ed52db67576a9148db50eb52063ea" +
558
+ "9d98b3eac91489a90f738986f68763ac6776a91411d6c57c31ea78b48020dcbf42c3" +
559
+ "4ccd60d92c8c880428531862b175ac68ffffffffc60e560812188c6a32546a1b4f7a" +
560
+ "149ab26f00d8492cf229a5b2f54ce40b8e4600000000c847304402200abefbc8d4d6" +
561
+ "bbe668c97ee305fde12f3c6c796ab6fbf84f00289ad5910ed8ac02200b81dcd12d45" +
562
+ "a83237569d53bcc629db559ce8c2cfd62d11fe5c58d501f785e0012103989d253b17" +
563
+ "a6a0f41838b84ff0d20e8898f9d7b1a98f2564da4cc29dcf8581d94c5c142219eac9" +
564
+ "66fbc0454c4a2e122717e4429dd7608f7508251c7239917eae297576a9148db50eb5" +
565
+ "2063ea9d98b3eac91489a90f738986f68763ac6776a914032a5188c34f2fb56a4228" +
566
+ "b2bb2b7165a797eb95880488c61762b175ac68ffffffffaa952e68673af691ba31ae" +
567
+ "b5556af8c5bbeb07eee7738763bd1d8fb99357538c0000000000ffffffff857a996b" +
568
+ "3609a466c8582577cc48745ea08fa6ed0c8664a76e9105d66e46eb850000000000ff" +
569
+ "ffffff",
570
+ outputVector: "0x01693f3f00000000001600148db50eb52063ea9d98b3eac91489a90f738986f6",
571
+ locktime: "0x00000000",
572
+ },
573
+ sweepProof: {
574
+ merkleProof: "0x891ee0728e1813119bd1819c07dd1873812fe0593ef595a4e72e5bc13a03d1c018" +
575
+ "7b8368d83a7ad1cf6e16c0f494c64741c8388535184b56033985e3a9975c5e79e1ec" +
576
+ "3d9c3dd21ed0906c956cc8dda3b16fea011052899016c768bb4aed5c37a11bb23f70" +
577
+ "5acd8778cd99bcdabb4ba94be1c38efa19cc943ba22a53c49647eb8a94b314a5f5f9" +
578
+ "e3a74dff2634e85576c7dfa39832ac5fe8867717b609be985c8e05f1d113d44d985d" +
579
+ "8e21f7375dc6b5707c84939f54df46a46e55e26f2548a37d29d3e3d9e99b6f3f48c5" +
580
+ "92742379c8f5df3d40c4619d56ced461ba1d606d59",
581
+ txIndexInBlock: 25,
582
+ bitcoinHeaders: "0x000020204bc3de8c4177bb2e58338b4cbbcc3ec0ea09911f1742618f9600000000" +
583
+ "000000758fd5eb5a6c441f133f43419eeb1501d4f1f366edd196f6791aef9dbd91a9" +
584
+ "d7a7c3f361ffff001d6d7c8cc704e0ff2f31b46af53b2d960711c3e4deaac3f60377" +
585
+ "1d34d405a7087e2ad80800000000003e6e73d828c282e7a4488978a2bd9eebe9940c" +
586
+ "3336afca54f8537fa931ded5e065c8f361ffff001d79f96c5604e0ff2f0a5afa1eb9" +
587
+ "49db8eece69ffeb17fe8d9afcc0ed7be34cd3dc6700000000000000b602522c91666" +
588
+ "be715334699389470c0532f6de5acf4987ff67157a4c2b767119cdf361ffff001de5" +
589
+ "b27822d49820008d4bdd0a66c2232d5c95ed31cd0cfbd1716fa17de7d2c76fbd1f00" +
590
+ "0000000000a98c7af6d25b725937c33588522f79c74042dbe258bc46ba5e2332f778" +
591
+ "111c607ad1f361cbcd001af30153f1040000202b2d25b77060ec4de71a962685ec71" +
592
+ "4cf7703f1c5a569b748000000000000000104e1a758c12069336d732c268603b62d2" +
593
+ "1bcf79d47a1f558d5d5148f048350939d6f361ffff001d8feacc6e04e0ff3ff1f373" +
594
+ "1c82930f615eabe81e3200b6fee728972cadbb56d47342010000000000c676579dd3" +
595
+ "933e14fef681ed72f59e5047b1088d99fd18340290b11f1e760f13ebdaf361ffff00" +
596
+ "1db7fa1d4b",
597
+ },
598
+ chainDifficulty: 1,
599
+ };
600
+ /**
601
+ * `SingleMainUtxoP2SHOutput` test data represents a sweep with following
602
+ * properties:
603
+ * - 1 P2WPKH main UTXO input
604
+ * - 1 P2SH sweep output
605
+ * - The main UTXO exists for this wallet
606
+ * - 6+ on-chain confirmations of the sweep transaction
607
+ */
608
+ exports.SingleMainUtxoP2SHOutput = {
609
+ // Not relevant in this test scenario.
610
+ deposits: [],
611
+ vault: "0x0000000000000000000000000000000000000000",
612
+ mainUtxo: {
613
+ txHash: "0x426518af930297f9d12ce84ac1366e19cf1c797a7515c1a62e0d51193bf6236b",
614
+ txOutputIndex: 0,
615
+ txOutputValue: 1669207,
616
+ },
617
+ // https://live.blockcypher.com/btc-testnet/tx/588a0e5e68ec8d3cf80d1190e51a68a431737a33c3a09f16303945dd49e369cd
618
+ sweepTx: {
619
+ hash: "0xcd69e349dd453930169fa0c3337a7331a4681ae590110df83c8dec685e0e8a58",
620
+ version: "0x01000000",
621
+ inputVector: "0x01426518af930297f9d12ce84ac1366e19cf1c797a7515c1a62e0d51193bf6236b" +
622
+ "0000000000ffffffff",
623
+ outputVector: "0x01cf6419000000000017a9147ac2d9378a1c47e589dfb8095ca95ed2140d272687",
624
+ locktime: "0x00000000",
625
+ },
626
+ sweepProof: {
627
+ merkleProof: "0xf6ed9f6ae7235c66ce46e4770aed465ab526375a834bbb651b3e5111ac84e58e42" +
628
+ "6ccb496719c8ba7db243e6e0a7c4f00f1b2a308da73305cb0775a62df99cd26a3996" +
629
+ "c774364ce40571d188d71e0044c42c3d6689b2d9a8a3c23f3a400f69e753330e3fae" +
630
+ "9a71acecb7425e8dbe88cdfd7fc3258bac4e21ca1dec42e5094271c77932609c51fb" +
631
+ "4b82497ed599d3c413c4fd023009716b3e5e885d89c31a1f30bb46106bac1034c65f" +
632
+ "01d80ac402417373daf1fbae0d43041c67b948f47882b27c802a4e791504be4b1b71" +
633
+ "80a788a54659799bedbc712e23a816cae0a12c017b838b1655583043a9c8d30399d3" +
634
+ "f81e7e0fe2121a3c38490845174140a08ff6dc",
635
+ txIndexInBlock: 6,
636
+ bitcoinHeaders: "0x04e00020176fb6202fac66facb3155eebc5d9f26155c5f6074d0d298af01000000" +
637
+ "000000175ff6b2d5fd0ec570f00de4b5b8e45862280926762546123a8c70241e069e" +
638
+ "50d4ad1c62ffff001d7609709f00000020d6a19088bdad8792c1cbc9323b39b5e18f" +
639
+ "c70742a12bae439765000000000000606a7bf8e8cc10bb75f3b404adaf02ca5cc39b" +
640
+ "94cddf6cc56c60081dd5012ffe85b21c62ffff001d0178353b0000002047d4e44d16" +
641
+ "4b7e98c15fd6bfc32c4dbb6bd0ef8bf47012d84006405500000000b3d6911ee43df5" +
642
+ "ba0469ec212fcc6f93914df6dbe332c4c3cbb9c2791548e5f136b71c62ffff001dd3" +
643
+ "769b64040000204fd0926c332cee9eaf06c34458d31e4050a2fd784cf9e91168336b" +
644
+ "d8000000000dd4218907211ade52ff92d6bd555e7dd387adfd25963efee347a16325" +
645
+ "1a43321fbc1c62ffff001dc03a633304e00020732d33ea35d62f9488cff5d64c0d70" +
646
+ "2afd5d88092230ddfcc45f000000000000196283ba24a3f5bad91ef95338aa6d214c" +
647
+ "934f2c1392e39a0447377fe5b0a04be7c01c62ffff001df0be0a27040000206c318b" +
648
+ "23e5c42e86ef3edd080e50c9c233b9f0b6d186bd57e41300000000000021fb8cda20" +
649
+ "0bff4fec1338d85a1e005bb4d729d908a7c5c232ecd0713231d0445ec11c62ed3e03" +
650
+ "1a7b43466e04e00020f416898d79d4a46fa6c54f190ad3d502bad8aa3afdec0714aa" +
651
+ "000000000000000603a5cc15e5906cb4eac9f747869fdc9be856e76a110b4f87da90" +
652
+ "db20f9fbe28fc11c62ed3e031a15dfc3db",
653
+ },
654
+ chainDifficulty: 1,
655
+ };