bitcoin-ruby 0.0.18 → 0.0.19

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 (255) hide show
  1. checksums.yaml +5 -5
  2. data/.gitignore +8 -0
  3. data/.rspec +1 -0
  4. data/.rubocop.yml +46 -0
  5. data/.travis.yml +5 -1
  6. data/Gemfile +11 -9
  7. data/Gemfile.lock +64 -12
  8. data/README.rdoc +17 -4
  9. data/Rakefile +58 -83
  10. data/bitcoin-ruby.gemspec +5 -2
  11. data/lib/bitcoin.rb +31 -14
  12. data/lib/bitcoin/bech32.rb +126 -132
  13. data/lib/bitcoin/bloom_filter.rb +24 -21
  14. data/lib/bitcoin/builder.rb +168 -126
  15. data/lib/bitcoin/connection.rb +21 -24
  16. data/lib/bitcoin/contracthash.rb +20 -24
  17. data/lib/bitcoin/dogecoin.rb +79 -77
  18. data/lib/bitcoin/electrum/mnemonic.rb +28 -25
  19. data/lib/bitcoin/ext_key.rb +3 -3
  20. data/lib/bitcoin/ffi/bitcoinconsensus.rb +17 -13
  21. data/lib/bitcoin/ffi/openssl.rb +355 -338
  22. data/lib/bitcoin/ffi/secp256k1.rb +97 -64
  23. data/lib/bitcoin/protocol.rb +6 -3
  24. data/lib/bitcoin/protocol/address.rb +15 -13
  25. data/lib/bitcoin/protocol/aux_pow.rb +12 -15
  26. data/lib/bitcoin/protocol/block.rb +102 -76
  27. data/lib/bitcoin/protocol/handler.rb +2 -4
  28. data/lib/bitcoin/protocol/parser.rb +108 -92
  29. data/lib/bitcoin/protocol/partial_merkle_tree.rb +59 -47
  30. data/lib/bitcoin/protocol/reject.rb +26 -28
  31. data/lib/bitcoin/protocol/script_witness.rb +3 -8
  32. data/lib/bitcoin/protocol/tx.rb +250 -137
  33. data/lib/bitcoin/protocol/txin.rb +44 -38
  34. data/lib/bitcoin/protocol/txout.rb +27 -20
  35. data/lib/bitcoin/protocol/version.rb +47 -34
  36. data/lib/bitcoin/script.rb +18 -17
  37. data/lib/bitcoin/trezor/mnemonic.rb +113 -98
  38. data/lib/bitcoin/version.rb +1 -1
  39. data/spec/examples.txt +399 -0
  40. data/spec/{bitcoin/fixtures → fixtures}/000000000000056b1a3d84a1e2b33cde8915a4b61c0cae14fca6d3e1490b4f98.json +0 -0
  41. data/spec/{bitcoin/fixtures → fixtures}/03d7e1fa4d5fefa169431f24f7798552861b255cd55d377066fedcd088fb0e99.json +0 -0
  42. data/spec/{bitcoin/fixtures → fixtures}/0961c660358478829505e16a1f028757e54b5bbf9758341a7546573738f31429.json +0 -0
  43. data/spec/{bitcoin/fixtures → fixtures}/0f24294a1d23efbb49c1765cf443fba7930702752aba6d765870082fe4f13cae.json +0 -0
  44. data/spec/{bitcoin/fixtures → fixtures}/156e6e1b84c5c3bd3a0927b25e4119fadce6e6d5186f363317511d1d680fae9a.json +0 -0
  45. data/spec/{bitcoin/fixtures → fixtures}/23b397edccd3740a74adb603c9756370fafcde9bcc4483eb271ecad09a94dd63.json +0 -0
  46. data/spec/{bitcoin/fixtures → fixtures}/315ac7d4c26d69668129cc352851d9389b4a6868f1509c6c8b66bead11e2619f.json +0 -0
  47. data/spec/{bitcoin/fixtures → fixtures}/35e2001b428891fefa0bfb73167c7360669d3cbd7b3aa78e7cad125ddfc51131.json +0 -0
  48. data/spec/{bitcoin/fixtures → fixtures}/3a17dace09ffb919ed627a93f1873220f4c975c1248558b18d16bce25d38c4b7.json +0 -0
  49. data/spec/{bitcoin/fixtures → fixtures}/3e58b7eed0fdb599019af08578effea25c8666bbe8e200845453cacce6314477.json +0 -0
  50. data/spec/{bitcoin/fixtures → fixtures}/514c46f0b61714092f15c8dfcb576c9f79b3f959989b98de3944b19d98832b58.json +0 -0
  51. data/spec/{bitcoin/fixtures → fixtures}/51bf528ecf3c161e7c021224197dbe84f9a8564212f6207baa014c01a1668e1e.json +0 -0
  52. data/spec/{bitcoin/fixtures → fixtures}/60a20bd93aa49ab4b28d514ec10b06e1829ce6818ec06cd3aabd013ebcdc4bb1.json +0 -0
  53. data/spec/{bitcoin/fixtures → fixtures}/69216b8aaa35b76d6613e5f527f4858640d986e1046238583bdad79b35e938dc.json +0 -0
  54. data/spec/{bitcoin/fixtures → fixtures}/7208e5edf525f04e705fb3390194e316205b8f995c8c9fcd8c6093abe04fa27d.json +0 -0
  55. data/spec/{bitcoin/fixtures → fixtures}/761d8c5210fdfd505f6dff38f740ae3728eb93d7d0971fb433f685d40a4c04f6.json +0 -0
  56. data/spec/{bitcoin/fixtures → fixtures}/8d0b238a06b5a70be75d543902d02d7a514d68d3252a949a513865ac3538874c.json +0 -0
  57. data/spec/{bitcoin/fixtures → fixtures}/aea682d68a3ea5e3583e088dcbd699a5d44d4b083f02ad0aaf2598fe1fa4dfd4.json +0 -0
  58. data/spec/{bitcoin/fixtures → fixtures}/base58_keys_invalid.json +0 -0
  59. data/spec/{bitcoin/fixtures → fixtures}/base58_keys_valid.json +0 -0
  60. data/spec/{bitcoin/fixtures → fixtures}/bc179baab547b7d7c1d5d8d6f8b0cc6318eaa4b0dd0a093ad6ac7f5a1cb6b3ba.json +0 -0
  61. data/spec/{bitcoin/fixtures → fixtures}/bd1715f1abfdc62bea3f605bdb461b3ba1f2cca6ec0d73a18a548b7717ca8531.json +0 -0
  62. data/spec/{bitcoin/fixtures → fixtures}/block-testnet-0000000000ac85bb2530a05a4214a387e6be02b22d3348abc5e7a5d9c4ce8dab.bin +0 -0
  63. data/spec/{bitcoin/fixtures → fixtures}/cd874fa8cb0e2ec2d385735d5e1fd482c4fe648533efb4c50ee53bda58e15ae2.json +0 -0
  64. data/spec/{bitcoin/fixtures → fixtures}/ce5fad9b4ef094d8f4937b0707edaf0a6e6ceeaf67d5edbfd51f660eac8f398b.json +0 -0
  65. data/spec/{bitcoin/fixtures → fixtures}/coinbase-toshi.json +0 -0
  66. data/spec/{bitcoin/fixtures → fixtures}/coinbase.json +0 -0
  67. data/spec/{bitcoin/fixtures → fixtures}/dogecoin-block-60323982f9c5ff1b5a954eac9dc1269352835f47c2c5222691d80f0d50dcf053.bin +0 -0
  68. data/spec/{bitcoin/fixtures → fixtures}/f003f0c1193019db2497a675fd05d9f2edddf9b67c59e677c48d3dbd4ed5f00b.json +0 -0
  69. data/spec/{bitcoin/fixtures → fixtures}/filteredblock-0.bin +0 -0
  70. data/spec/{bitcoin/fixtures → fixtures}/litecoin-block-80ca095ed10b02e53d769eb6eaf92cd04e9e0759e5be4a8477b42911ba49c78f.bin +0 -0
  71. data/spec/{bitcoin/fixtures → fixtures}/litecoin-block-80ca095ed10b02e53d769eb6eaf92cd04e9e0759e5be4a8477b42911ba49c78f.json +0 -0
  72. data/spec/{bitcoin/fixtures → fixtures}/litecoin-genesis-block-12a765e31ffd4059bada1e25190f6e98c99d9714d334efa41a195a7e7e04bfe2.bin +0 -0
  73. data/spec/{bitcoin/fixtures → fixtures}/litecoin-genesis-block-12a765e31ffd4059bada1e25190f6e98c99d9714d334efa41a195a7e7e04bfe2.json +0 -0
  74. data/spec/{bitcoin/fixtures → fixtures}/litecoin-tx-f5aa30f574e3b6f1a3d99c07a6356ba812aabb9661e1d5f71edff828cbd5c996.json +0 -0
  75. data/spec/{bitcoin/fixtures → fixtures}/rawblock-0.bin +0 -0
  76. data/spec/{bitcoin/fixtures → fixtures}/rawblock-0.json +0 -0
  77. data/spec/{bitcoin/fixtures → fixtures}/rawblock-1.bin +0 -0
  78. data/spec/{bitcoin/fixtures → fixtures}/rawblock-1.json +0 -0
  79. data/spec/{bitcoin/fixtures → fixtures}/rawblock-131025.bin +0 -0
  80. data/spec/{bitcoin/fixtures → fixtures}/rawblock-131025.json +0 -0
  81. data/spec/{bitcoin/fixtures → fixtures}/rawblock-170.bin +0 -0
  82. data/spec/{bitcoin/fixtures → fixtures}/rawblock-9.bin +0 -0
  83. data/spec/{bitcoin/fixtures → fixtures}/rawblock-auxpow.bin +0 -0
  84. data/spec/{bitcoin/fixtures → fixtures}/rawblock-testnet-1151351.bin +0 -0
  85. data/spec/{bitcoin/fixtures → fixtures}/rawblock-testnet-26478.bin +0 -0
  86. data/spec/{bitcoin/fixtures → fixtures}/rawblock-testnet-26478.json +0 -0
  87. data/spec/{bitcoin/fixtures → fixtures}/rawblock-testnet-265322.bin +0 -0
  88. data/spec/{bitcoin/fixtures → fixtures}/rawtx-01-toshi.json +0 -0
  89. data/spec/{bitcoin/fixtures → fixtures}/rawtx-01.bin +0 -0
  90. data/spec/{bitcoin/fixtures → fixtures}/rawtx-01.json +0 -0
  91. data/spec/{bitcoin/fixtures → fixtures}/rawtx-02-toshi.json +0 -0
  92. data/spec/{bitcoin/fixtures → fixtures}/rawtx-02.bin +0 -0
  93. data/spec/{bitcoin/fixtures → fixtures}/rawtx-02.json +0 -0
  94. data/spec/{bitcoin/fixtures → fixtures}/rawtx-03-toshi.json +0 -0
  95. data/spec/{bitcoin/fixtures → fixtures}/rawtx-03.bin +0 -0
  96. data/spec/{bitcoin/fixtures → fixtures}/rawtx-03.json +0 -0
  97. data/spec/{bitcoin/fixtures → fixtures}/rawtx-04.json +0 -0
  98. data/spec/{bitcoin/fixtures → fixtures}/rawtx-0437cd7f8525ceed2324359c2d0ba26006d92d856a9c20fa0241106ee5a597c9.bin +0 -0
  99. data/spec/{bitcoin/fixtures → fixtures}/rawtx-05.json +0 -0
  100. data/spec/{bitcoin/fixtures → fixtures}/rawtx-14be6fff8c6014f7c9493b4a6e4a741699173f39d74431b6b844fcb41ebb9984.bin +0 -0
  101. data/spec/{bitcoin/fixtures → fixtures}/rawtx-2f4a2717ec8c9f077a87dde6cbe0274d5238793a3f3f492b63c744837285e58a.bin +0 -0
  102. data/spec/{bitcoin/fixtures → fixtures}/rawtx-2f4a2717ec8c9f077a87dde6cbe0274d5238793a3f3f492b63c744837285e58a.json +0 -0
  103. data/spec/{bitcoin/fixtures → fixtures}/rawtx-406b2b06bcd34d3c8733e6b79f7a394c8a431fbf4ff5ac705c93f4076bb77602.json +0 -0
  104. data/spec/{bitcoin/fixtures → fixtures}/rawtx-52250a162c7d03d2e1fbc5ebd1801a88612463314b55102171c5b5d817d2d7b2.bin +0 -0
  105. data/spec/{bitcoin/fixtures → fixtures}/rawtx-b5d4e8883533f99e5903ea2cf001a133a322fa6b1370b18a16c57c946a40823d.bin +0 -0
  106. data/spec/{bitcoin/fixtures → fixtures}/rawtx-ba1ff5cd66713133c062a871a8adab92416f1e38d17786b2bf56ac5f6ffdfdf5.json +0 -0
  107. data/spec/{bitcoin/fixtures → fixtures}/rawtx-c99c49da4c38af669dea436d3e73780dfdb6c1ecf9958baa52960e8baee30e73.json +0 -0
  108. data/spec/{bitcoin/fixtures → fixtures}/rawtx-de35d060663750b3975b7997bde7fb76307cec5b270d12fcd9c4ad98b279c28c.json +0 -0
  109. data/spec/{bitcoin/fixtures → fixtures}/rawtx-f4184fc596403b9d638783cf57adfe4c75c605f6356fbc91338530e9831e9e16.bin +0 -0
  110. data/spec/{bitcoin/fixtures → fixtures}/rawtx-p2wpkh.bin +0 -0
  111. data/spec/{bitcoin/fixtures → fixtures}/rawtx-p2wpkh.json +0 -0
  112. data/spec/{bitcoin/fixtures → fixtures}/rawtx-testnet-04fdc38d6722ab4b12d79113fc4b2896bdcc5169710690ee4e78541b98e467b4.bin +0 -0
  113. data/spec/{bitcoin/fixtures → fixtures}/rawtx-testnet-0b294c7d11dd21bcccb8393e6744fed7d4d1981a08c00e3e88838cc421f33c9f.bin +0 -0
  114. data/spec/{bitcoin/fixtures → fixtures}/rawtx-testnet-3bc52ac063291ad92d95ddda5fd776a342083b95607ad32ed8bc6f8f7d30449e.bin +0 -0
  115. data/spec/{bitcoin/fixtures → fixtures}/rawtx-testnet-6f0bbdd4e71a8af4305018d738184df32dbb6f27284fdebd5b56d16947f7c181.bin +0 -0
  116. data/spec/{bitcoin/fixtures → fixtures}/rawtx-testnet-a220adf1902c46a39db25a24bc4178b6a88440f977a7e2cabfdd8b5c1dd35cfb.json +0 -0
  117. data/spec/{bitcoin/fixtures → fixtures}/rawtx-testnet-a7c9b06e275e8674cc19a5f7d3e557c72c6d93576e635b33212dbe08ab7cdb60.bin +0 -0
  118. data/spec/{bitcoin/fixtures → fixtures}/rawtx-testnet-e232e0055dbdca88bbaa79458683195a0b7c17c5b6c524a8d146721d4d4d652f.bin +0 -0
  119. data/spec/{bitcoin/fixtures → fixtures}/rawtx-testnet-e232e0055dbdca88bbaa79458683195a0b7c17c5b6c524a8d146721d4d4d652f.json +0 -0
  120. data/spec/{bitcoin/fixtures → fixtures}/rawtx-testnet-f80acbd2f594d04ddb0e1cacba662132104909157dff526935a3c88abe9201a5.bin +0 -0
  121. data/spec/{bitcoin/fixtures → fixtures}/script_tests.json +0 -0
  122. data/spec/{bitcoin/fixtures → fixtures}/sighash.json +0 -0
  123. data/spec/{bitcoin/fixtures → fixtures}/tx-0295028ef826b2a188409cb905b631faebb9bb3cdf14510571c5f4bd8591338f.json +0 -0
  124. data/spec/{bitcoin/fixtures → fixtures}/tx-03339a725007a279484fb6f5361f522dd1cf4d0923d30e6b973290dba4275f92.json +0 -0
  125. data/spec/{bitcoin/fixtures → fixtures}/tx-0a6a357e2f7796444e02638749d9611c008b253fb55f5dc88b739b230ed0c4c3.json +0 -0
  126. data/spec/{bitcoin/fixtures → fixtures}/tx-0ce7e5238fbdb6c086cf1b384b21b827e91cc23f360417265874a5a0d86ce367.json +0 -0
  127. data/spec/{bitcoin/fixtures → fixtures}/tx-0ef34c49f630aea17df0080728b0fc67bf5f87fbda936934a4b11b4a69d7821e.json +0 -0
  128. data/spec/{bitcoin/fixtures → fixtures}/tx-1129d2a8bd5bb3a81e54dc96a90f1f6b2544575748caa17243470935c5dd91b7.json +0 -0
  129. data/spec/{bitcoin/fixtures → fixtures}/tx-19aa42fee0fa57c45d3b16488198b27caaacc4ff5794510d0c17f173f05587ff.json +0 -0
  130. data/spec/{bitcoin/fixtures → fixtures}/tx-1a4f3b9dc4494aeedeb39f30dd37e60541b2abe3ed4977992017cc0ad4f44956.json +0 -0
  131. data/spec/{bitcoin/fixtures → fixtures}/tx-1f9191dcf2b1844ca28c6ef4b969e1d5fab70a5e3c56b7007949e55851cb0c4f.json +0 -0
  132. data/spec/{bitcoin/fixtures → fixtures}/tx-22cd5fef23684d7b304e119bedffde6f54538d3d54a5bfa237e20dc2d9b4b5ad.json +0 -0
  133. data/spec/{bitcoin/fixtures → fixtures}/tx-28204cad1d7fc1d199e8ef4fa22f182de6258a3eaafe1bbe56ebdcacd3069a5f.json +0 -0
  134. data/spec/{bitcoin/fixtures → fixtures}/tx-2958fb00b4fd6fe0353503b886eb9a193d502f4fd5fc042d5e03216ba918bbd6.json +0 -0
  135. data/spec/{bitcoin/fixtures → fixtures}/tx-29f277145749ad6efbed3ae6ce301f8d33c585ec26b7c044ad93c2f866e9e942.json +0 -0
  136. data/spec/{bitcoin/fixtures → fixtures}/tx-2c5e5376c20e9cc78d0fb771730e5d840cc2096eff0ef045b599fe92475ace1c.json +0 -0
  137. data/spec/{bitcoin/fixtures → fixtures}/tx-2c63aa814701cef5dbd4bbaddab3fea9117028f2434dddcdab8339141e9b14d1.json +0 -0
  138. data/spec/{bitcoin/fixtures → fixtures}/tx-313897799b1e37e9ecae15010e56156dddde4e683c96b0e713af95272c38aee0.json +0 -0
  139. data/spec/{bitcoin/fixtures → fixtures}/tx-326882a7f22b5191f1a0cc9962ca4b878cd969cf3b3a70887aece4d801a0ba5e.json +0 -0
  140. data/spec/{bitcoin/fixtures → fixtures}/tx-345bed8785c3282a264ffb0dbee61cde54854f10e16f1b3e75b7f2d9f62946f2.json +0 -0
  141. data/spec/{bitcoin/fixtures → fixtures}/tx-39ba7440b7103557560cc8ce258009936796485aaf8b478e66ab4cb97c66e31b.json +0 -0
  142. data/spec/{bitcoin/fixtures → fixtures}/tx-3a04d57a833367f1655cc5ec3beb587888ef4977a86caa8c8ad4ba7cc717eae7.json +0 -0
  143. data/spec/{bitcoin/fixtures → fixtures}/tx-3da75972766f0ad13319b0b461fd16823a731e44f6e9de4eb3c52d6a6fb6c8ae.json +0 -0
  144. data/spec/{bitcoin/fixtures → fixtures}/tx-4142ee4877eb116abf955a7ec6ef2dc38133b793df762b76d75e3d7d4d8badc9.json +0 -0
  145. data/spec/{bitcoin/fixtures → fixtures}/tx-44b833074e671120ba33106877b49e86ece510824b9af477a3853972bcd8d06a.json +0 -0
  146. data/spec/{bitcoin/fixtures → fixtures}/tx-46224764c7870f95b58f155bce1e38d4da8e99d42dbb632d0dd7c07e092ee5aa.json +0 -0
  147. data/spec/{bitcoin/fixtures → fixtures}/tx-5df1375ffe61ac35ca178ebb0cab9ea26dedbd0e96005dfcee7e379fa513232f.json +0 -0
  148. data/spec/{bitcoin/fixtures → fixtures}/tx-62d9a565bd7b5344c5352e3e9e5f40fa4bbd467fa19c87357216ec8777ba1cce.json +0 -0
  149. data/spec/{bitcoin/fixtures → fixtures}/tx-6327783a064d4e350c454ad5cd90201aedf65b1fc524e73709c52f0163739190.json +0 -0
  150. data/spec/{bitcoin/fixtures → fixtures}/tx-6606c366a487bff9e412d0b6c09c14916319932db5954bf5d8719f43f828a3ba.json +0 -0
  151. data/spec/{bitcoin/fixtures → fixtures}/tx-6aaf18b9f1283b939d8e5d40ff5f8a435229f4178372659cc3a0bce4e262bf78.json +0 -0
  152. data/spec/{bitcoin/fixtures → fixtures}/tx-6b48bba6f6d2286d7ec0883c0fc3085955090813a4c94980466611c798b868cc.json +0 -0
  153. data/spec/{bitcoin/fixtures → fixtures}/tx-70cfbc6690f9ab46712db44e3079ac227962b2771a9341d4233d898b521619ef.json +0 -0
  154. data/spec/{bitcoin/fixtures → fixtures}/tx-7a1a9db42f065f75110fcdb1bc415549c8ef7670417ba1d35a67f1b8adc562c1.json +0 -0
  155. data/spec/{bitcoin/fixtures → fixtures}/tx-9a768fc7d0c4bdc86e25154357ef7c0063ca21310e5740a2f12f90b7455184a7.json +0 -0
  156. data/spec/{bitcoin/fixtures → fixtures}/tx-9cad8d523a0694f2509d092c39cebc8046adae62b4e4297102d568191d9478d8.json +0 -0
  157. data/spec/{bitcoin/fixtures → fixtures}/tx-9e052eb694bd7e15906433f064dff0161a12fd325c1124537766377004023c6f.json +0 -0
  158. data/spec/{bitcoin/fixtures → fixtures}/tx-9fb65b7304aaa77ac9580823c2c06b259cc42591e5cce66d76a81b6f51cc5c28.json +0 -0
  159. data/spec/{bitcoin/fixtures → fixtures}/tx-a6ce7081addade7676cd2af75c4129eba6bf5e179a19c40c7d4cf6a5fe595954.json +0 -0
  160. data/spec/{bitcoin/fixtures → fixtures}/tx-a955032f4d6b0c9bfe8cad8f00a8933790b9c1dc28c82e0f48e75b35da0e4944.json +0 -0
  161. data/spec/{bitcoin/fixtures → fixtures}/tx-aab7ef280abbb9cc6fbaf524d2645c3daf4fcca2b3f53370e618d9cedf65f1f8.json +0 -0
  162. data/spec/{bitcoin/fixtures → fixtures}/tx-ab9805c6d57d7070d9a42c5176e47bb705023e6b67249fb6760880548298e742.json +0 -0
  163. data/spec/{bitcoin/fixtures → fixtures}/tx-ad4bcf3241e5d2ad140564e20db3567d41594cf4c2012433fe46a2b70e0d87b8.json +0 -0
  164. data/spec/{bitcoin/fixtures → fixtures}/tx-b5b598de91787439afd5938116654e0b16b7a0d0f82742ba37564219c5afcbf9.json +0 -0
  165. data/spec/{bitcoin/fixtures → fixtures}/tx-b8fd633e7713a43d5ac87266adc78444669b987a56b3a65fb92d58c2c4b0e84d.json +0 -0
  166. data/spec/{bitcoin/fixtures → fixtures}/tx-bbca0628c42cb8bf7c3f4b2ad688fa56da5308dd2a10255da89fb1f46e6e413d.json +0 -0
  167. data/spec/{bitcoin/fixtures → fixtures}/tx-bc7fd132fcf817918334822ee6d9bd95c889099c96e07ca2c1eb2cc70db63224.json +0 -0
  168. data/spec/{bitcoin/fixtures → fixtures}/tx-c192b74844e4837a34c4a5a97b438f1c111405b01b99e2d12b7c96d07fc74c04.json +0 -0
  169. data/spec/{bitcoin/fixtures → fixtures}/tx-d3d77d63709e47d9ef58f0b557800115a6b676c6a423012fbb96f45d8fcef830.json +0 -0
  170. data/spec/{bitcoin/fixtures → fixtures}/tx-e335562f7e297aadeed88e5954bc4eeb8dc00b31d829eedb232e39d672b0c009.json +0 -0
  171. data/spec/{bitcoin/fixtures → fixtures}/tx-eb3b82c0884e3efa6d8b0be55b4915eb20be124c9766245bcc7f34fdac32bccb.json +0 -0
  172. data/spec/{bitcoin/fixtures → fixtures}/tx-fee1b9b85531c8fb6cd7831f83490c7f2aa768b6eefe29854ef5e89ce7b9ecb1.json +0 -0
  173. data/spec/{bitcoin/fixtures → fixtures}/txscript-invalid-too-many-sigops-followed-by-invalid-pushdata.bin +0 -0
  174. data/spec/helpers/block_helpers.rb +58 -0
  175. data/spec/helpers/fixture_helpers.rb +20 -0
  176. data/spec/helpers/library_helpers.rb +15 -0
  177. data/spec/spec_helper.rb +109 -0
  178. data/spec/unit/bitcoin/bech32_spec.rb +187 -0
  179. data/spec/unit/bitcoin/bitcoin_spec.rb +1079 -0
  180. data/spec/unit/bitcoin/bloom_filter_spec.rb +33 -0
  181. data/spec/unit/bitcoin/builder_spec.rb +559 -0
  182. data/spec/unit/bitcoin/contracthash_spec.rb +52 -0
  183. data/spec/unit/bitcoin/ext_key_spec.rb +281 -0
  184. data/spec/unit/bitcoin/key_spec.rb +457 -0
  185. data/spec/unit/bitcoin/network_spec.rb +71 -0
  186. data/spec/unit/bitcoin/protocol/addr_spec.rb +90 -0
  187. data/spec/unit/bitcoin/protocol/aux_pow_spec.rb +45 -0
  188. data/spec/unit/bitcoin/protocol/bip143_spec.rb +334 -0
  189. data/spec/unit/bitcoin/protocol/block_spec.rb +280 -0
  190. data/spec/unit/bitcoin/protocol/getblocks_spec.rb +44 -0
  191. data/spec/unit/bitcoin/protocol/inv_spec.rb +166 -0
  192. data/spec/unit/bitcoin/protocol/notfound_spec.rb +44 -0
  193. data/spec/unit/bitcoin/protocol/parser_spec.rb +69 -0
  194. data/spec/unit/bitcoin/protocol/partial_merkle_tree_spec.rb +47 -0
  195. data/spec/unit/bitcoin/protocol/ping_spec.rb +62 -0
  196. data/spec/unit/bitcoin/protocol/tx_spec.rb +1515 -0
  197. data/spec/unit/bitcoin/protocol/txin_spec.rb +47 -0
  198. data/spec/unit/bitcoin/protocol/txout_spec.rb +36 -0
  199. data/spec/unit/bitcoin/protocol/version_spec.rb +121 -0
  200. data/spec/unit/bitcoin/script/opcodes_spec.rb +864 -0
  201. data/spec/unit/bitcoin/script/script_spec.rb +1610 -0
  202. data/spec/unit/bitcoin/secp256k1_spec.rb +138 -0
  203. data/spec/unit/bitcoin/trezor/mnemonic_spec.rb +193 -0
  204. data/spec/unit/integrations/dogecoin_spec.rb +215 -0
  205. metadata +381 -372
  206. data/lib/bitcoin/logger.rb +0 -86
  207. data/lib/bitcoin/protocol/alert.rb +0 -46
  208. data/spec/bitcoin/bech32_spec.rb +0 -160
  209. data/spec/bitcoin/bitcoin_spec.rb +0 -666
  210. data/spec/bitcoin/bloom_filter_spec.rb +0 -23
  211. data/spec/bitcoin/builder_spec.rb +0 -375
  212. data/spec/bitcoin/contracthash_spec.rb +0 -45
  213. data/spec/bitcoin/dogecoin_spec.rb +0 -176
  214. data/spec/bitcoin/ext_key_spec.rb +0 -180
  215. data/spec/bitcoin/ffi_openssl.rb +0 -45
  216. data/spec/bitcoin/fixtures/rawblock-170.json +0 -68
  217. data/spec/bitcoin/fixtures/rawblock-9.json +0 -39
  218. data/spec/bitcoin/fixtures/reorg/blk_0_to_4.dat +0 -0
  219. data/spec/bitcoin/fixtures/reorg/blk_3A.dat +0 -0
  220. data/spec/bitcoin/fixtures/reorg/blk_4A.dat +0 -0
  221. data/spec/bitcoin/fixtures/reorg/blk_5A.dat +0 -0
  222. data/spec/bitcoin/fixtures/testnet/block_0.bin +0 -0
  223. data/spec/bitcoin/fixtures/testnet/block_1.bin +0 -0
  224. data/spec/bitcoin/fixtures/testnet/block_2.bin +0 -0
  225. data/spec/bitcoin/fixtures/testnet/block_3.bin +0 -0
  226. data/spec/bitcoin/fixtures/testnet/block_4.bin +0 -0
  227. data/spec/bitcoin/fixtures/testnet/block_5.bin +0 -0
  228. data/spec/bitcoin/fixtures/txdp-1.txt +0 -32
  229. data/spec/bitcoin/fixtures/txdp-2-signed.txt +0 -19
  230. data/spec/bitcoin/fixtures/txdp-2-unsigned.txt +0 -14
  231. data/spec/bitcoin/helpers/fake_blockchain.rb +0 -183
  232. data/spec/bitcoin/key_spec.rb +0 -326
  233. data/spec/bitcoin/network_spec.rb +0 -50
  234. data/spec/bitcoin/performance/storage_spec.rb +0 -41
  235. data/spec/bitcoin/protocol/addr_spec.rb +0 -82
  236. data/spec/bitcoin/protocol/alert_spec.rb +0 -22
  237. data/spec/bitcoin/protocol/aux_pow_spec.rb +0 -45
  238. data/spec/bitcoin/protocol/bip143_spec.rb +0 -116
  239. data/spec/bitcoin/protocol/block_spec.rb +0 -208
  240. data/spec/bitcoin/protocol/getblocks_spec.rb +0 -32
  241. data/spec/bitcoin/protocol/inv_spec.rb +0 -134
  242. data/spec/bitcoin/protocol/notfound_spec.rb +0 -31
  243. data/spec/bitcoin/protocol/parser_spec.rb +0 -50
  244. data/spec/bitcoin/protocol/partial_merkle_tree_spec.rb +0 -38
  245. data/spec/bitcoin/protocol/ping_spec.rb +0 -51
  246. data/spec/bitcoin/protocol/reject.rb +0 -17
  247. data/spec/bitcoin/protocol/tx_spec.rb +0 -894
  248. data/spec/bitcoin/protocol/txin_spec.rb +0 -45
  249. data/spec/bitcoin/protocol/txout_spec.rb +0 -33
  250. data/spec/bitcoin/protocol/version_spec.rb +0 -110
  251. data/spec/bitcoin/script/opcodes_spec.rb +0 -773
  252. data/spec/bitcoin/script/script_spec.rb +0 -977
  253. data/spec/bitcoin/secp256k1_spec.rb +0 -78
  254. data/spec/bitcoin/spec_helper.rb +0 -108
  255. data/spec/bitcoin/trezor/mnemonic_spec.rb +0 -161
@@ -1,5 +1,4 @@
1
1
  # encoding: ascii-8bit
2
- # port of https://github.com/trezor/python-mnemonic/blob/master/mnemonic/mnemonic.py
3
2
 
4
3
  require 'openssl'
5
4
  require 'securerandom'
@@ -7,124 +6,140 @@ require 'digest'
7
6
 
8
7
  module Bitcoin
9
8
  module Trezor
10
-
9
+ # port of https://github.com/trezor/python-mnemonic/blob/master/mnemonic/mnemonic.py
11
10
  module Mnemonic
12
- def self.to_seed(mnemonic, passphrase='')
13
- OpenSSL::PKCS5.pbkdf2_hmac(mnemonic, 'mnemonic'+passphrase, 2048, 64, OpenSSL::Digest::SHA512.new).unpack("H*")[0]
11
+ def self.to_seed(mnemonic, passphrase = '')
12
+ OpenSSL::PKCS5.pbkdf2_hmac(
13
+ mnemonic, 'mnemonic' + passphrase, 2048, 64, OpenSSL::Digest::SHA512.new
14
+ ).unpack('H*')[0]
14
15
  end
15
16
 
16
17
  def self.generate(strength_bits = 256)
17
- raise ArgumentError, 'Strength should be divisible by 32, but it is not (%d)' % [strength_bits] if (strength_bits % 32) > 0
18
- data = SecureRandom.random_bytes( (strength_bits / 8).floor )
18
+ if (strength_bits % 32) > 0
19
+ raise ArgumentError, format(
20
+ 'Strength should be divisible by 32, but it is not (%<strength_bits>d)',
21
+ strength_bits: strength_bits
22
+ )
23
+ end
24
+ data = SecureRandom.random_bytes((strength_bits / 8).floor)
19
25
  to_mnemonic(data)
20
26
  end
21
27
 
22
28
  def self.wordlist
29
+ @wordlist ||= nil
23
30
  return @wordlist if @wordlist
24
- @wordlist = WORDLIST_ENGLISH.split(/[ \n]/).map{|i| i.strip }
25
- if @wordlist.size != (radix=2048)
26
- raise ArgumentError, 'Wordlist should contain %d words, but it contains %d words.' % [radix, wordlist.size]
31
+ @wordlist = WORDLIST_ENGLISH.split(/[ \n]/).map(&:strip).reject(&:empty?)
32
+ if @wordlist.size != (radix = 2048)
33
+ raise ArgumentError, format(
34
+ 'Wordlist should contain %<radix>d words, but it contains %<count>d words.',
35
+ radix: radix, count: wordlist.size
36
+ )
27
37
  end
28
38
  @wordlist
29
39
  end
30
40
 
31
41
  def self.to_mnemonic(data)
32
42
  if (data.bytesize % 4) > 0
33
- raise ArgumentError, 'Data length in bits should be divisible by 32, but it is not (%d bytes = %d bits).' % [data.bytesize, data.bytesize * 8]
43
+ raise ArgumentError, format(
44
+ 'Data length in bits should be divisible by 32, ' \
45
+ 'but it is not (%<count>d bytes = %<bits_count>d bits).',
46
+ count: data.bytesize, bits_count: data.bytesize * 8
47
+ )
34
48
  end
35
- b = data.unpack("B*")[0] + Digest::SHA256.digest(data).unpack("B*")[0].ljust(256, '0')[0...(data.bytesize * 8 / 32)]
49
+ b = data.unpack('B*')[0] +
50
+ Digest::SHA256.digest(data).unpack('B*')[0]
51
+ .ljust(256, '0')[0...(data.bytesize * 8 / 32)]
36
52
 
37
- (0...(b.bytesize / 11)).map{|i|
38
- idx = b[ (i * 11)...((i+1) * 11) ].to_i(2)
53
+ (0...(b.bytesize / 11)).map do |i|
54
+ idx = b[(i * 11)...((i + 1) * 11)].to_i(2)
39
55
  wordlist[idx]
40
- }.join(" ")
56
+ end.join(' ')
41
57
  end
42
58
 
43
- WORDLIST_ENGLISH = <<-TEXT
44
- abandon ability able about above absent absorb abstract absurd abuse access accident account accuse achieve acid acoustic acquire across act action actor actress actual adapt
45
- add addict address adjust admit adult advance advice aerobic affair afford afraid again age agent agree ahead aim air airport aisle alarm album alcohol alert
46
- alien all alley allow almost alone alpha already also alter always amateur amazing among amount amused analyst anchor ancient anger angle angry animal ankle announce
47
- annual another answer antenna antique anxiety any apart apology appear apple approve april arch arctic area arena argue arm armed armor army around arrange arrest
48
- arrive arrow art artefact artist artwork ask aspect assault asset assist assume asthma athlete atom attack attend attitude attract auction audit august aunt author auto
49
- autumn average avocado avoid awake aware away awesome awful awkward axis baby bachelor bacon badge bag balance balcony ball bamboo banana banner bar barely bargain
50
- barrel base basic basket battle beach bean beauty because become beef before begin behave behind believe below belt bench benefit best betray better between beyond
51
- bicycle bid bike bind biology bird birth bitter black blade blame blanket blast bleak bless blind blood blossom blouse blue blur blush board boat body
52
- boil bomb bone bonus book boost border boring borrow boss bottom bounce box boy bracket brain brand brass brave bread breeze brick bridge brief bright
53
- bring brisk broccoli broken bronze broom brother brown brush bubble buddy budget buffalo build bulb bulk bullet bundle bunker burden burger burst bus business busy
54
- butter buyer buzz cabbage cabin cable cactus cage cake call calm camera camp can canal cancel candy cannon canoe canvas canyon capable capital captain car
55
- carbon card cargo carpet carry cart case cash casino castle casual cat catalog catch category cattle caught cause caution cave ceiling celery cement census century
56
- cereal certain chair chalk champion change chaos chapter charge chase chat cheap check cheese chef cherry chest chicken chief child chimney choice choose chronic chuckle
57
- chunk churn cigar cinnamon circle citizen city civil claim clap clarify claw clay clean clerk clever click client cliff climb clinic clip clock clog close
58
- cloth cloud clown club clump cluster clutch coach coast coconut code coffee coil coin collect color column combine come comfort comic common company concert conduct
59
- confirm congress connect consider control convince cook cool copper copy coral core corn correct cost cotton couch country couple course cousin cover coyote crack cradle
60
- craft cram crane crash crater crawl crazy cream credit creek crew cricket crime crisp critic crop cross crouch crowd crucial cruel cruise crumble crunch crush
61
- cry crystal cube culture cup cupboard curious current curtain curve cushion custom cute cycle dad damage damp dance danger daring dash daughter dawn day deal
62
- debate debris decade december decide decline decorate decrease deer defense define defy degree delay deliver demand demise denial dentist deny depart depend deposit depth deputy
63
- derive describe desert design desk despair destroy detail detect develop device devote diagram dial diamond diary dice diesel diet differ digital dignity dilemma dinner dinosaur
64
- direct dirt disagree discover disease dish dismiss disorder display distance divert divide divorce dizzy doctor document dog doll dolphin domain donate donkey donor door dose
65
- double dove draft dragon drama drastic draw dream dress drift drill drink drip drive drop drum dry duck dumb dune during dust dutch duty dwarf
66
- dynamic eager eagle early earn earth easily east easy echo ecology economy edge edit educate effort egg eight either elbow elder electric elegant element elephant
67
- elevator elite else embark embody embrace emerge emotion employ empower empty enable enact end endless endorse enemy energy enforce engage engine enhance enjoy enlist enough
68
- enrich enroll ensure enter entire entry envelope episode equal equip era erase erode erosion error erupt escape essay essence estate eternal ethics evidence evil evoke
69
- evolve exact example excess exchange excite exclude excuse execute exercise exhaust exhibit exile exist exit exotic expand expect expire explain expose express extend extra eye
70
- eyebrow fabric face faculty fade faint faith fall false fame family famous fan fancy fantasy farm fashion fat fatal father fatigue fault favorite feature february
71
- federal fee feed feel female fence festival fetch fever few fiber fiction field figure file film filter final find fine finger finish fire firm first
72
- fiscal fish fit fitness fix flag flame flash flat flavor flee flight flip float flock floor flower fluid flush fly foam focus fog foil fold
73
- follow food foot force forest forget fork fortune forum forward fossil foster found fox fragile frame frequent fresh friend fringe frog front frost frown frozen
74
- fruit fuel fun funny furnace fury future gadget gain galaxy gallery game gap garage garbage garden garlic garment gas gasp gate gather gauge gaze general
75
- genius genre gentle genuine gesture ghost giant gift giggle ginger giraffe girl give glad glance glare glass glide glimpse globe gloom glory glove glow glue
76
- goat goddess gold good goose gorilla gospel gossip govern gown grab grace grain grant grape grass gravity great green grid grief grit grocery group grow
77
- grunt guard guess guide guilt guitar gun gym habit hair half hammer hamster hand happy harbor hard harsh harvest hat have hawk hazard head health
78
- heart heavy hedgehog height hello helmet help hen hero hidden high hill hint hip hire history hobby hockey hold hole holiday hollow home honey hood
79
- hope horn horror horse hospital host hotel hour hover hub huge human humble humor hundred hungry hunt hurdle hurry hurt husband hybrid ice icon idea
80
- identify idle ignore ill illegal illness image imitate immense immune impact impose improve impulse inch include income increase index indicate indoor industry infant inflict inform
81
- inhale inherit initial inject injury inmate inner innocent input inquiry insane insect inside inspire install intact interest into invest invite involve iron island isolate issue
82
- item ivory jacket jaguar jar jazz jealous jeans jelly jewel job join joke journey joy judge juice jump jungle junior junk just kangaroo keen keep
83
- ketchup key kick kid kidney kind kingdom kiss kit kitchen kite kitten kiwi knee knife knock know lab label labor ladder lady lake lamp language
84
- laptop large later latin laugh laundry lava law lawn lawsuit layer lazy leader leaf learn leave lecture left leg legal legend leisure lemon lend length
85
- lens leopard lesson letter level liar liberty library license life lift light like limb limit link lion liquid list little live lizard load loan lobster
86
- local lock logic lonely long loop lottery loud lounge love loyal lucky luggage lumber lunar lunch luxury lyrics machine mad magic magnet maid mail main
87
- major make mammal man manage mandate mango mansion manual maple marble march margin marine market marriage mask mass master match material math matrix matter maximum
88
- maze meadow mean measure meat mechanic medal media melody melt member memory mention menu mercy merge merit merry mesh message metal method middle midnight milk
89
- million mimic mind minimum minor minute miracle mirror misery miss mistake mix mixed mixture mobile model modify mom moment monitor monkey monster month moon moral
90
- more morning mosquito mother motion motor mountain mouse move movie much muffin mule multiply muscle museum mushroom music must mutual myself mystery myth naive name
91
- napkin narrow nasty nation nature near neck need negative neglect neither nephew nerve nest net network neutral never news next nice night noble noise nominee
92
- noodle normal north nose notable note nothing notice novel now nuclear number nurse nut oak obey object oblige obscure observe obtain obvious occur ocean october
93
- odor off offer office often oil okay old olive olympic omit once one onion online only open opera opinion oppose option orange orbit orchard order
94
- ordinary organ orient original orphan ostrich other outdoor outer output outside oval oven over own owner oxygen oyster ozone pact paddle page pair palace palm
95
- panda panel panic panther paper parade parent park parrot party pass patch path patient patrol pattern pause pave payment peace peanut pear peasant pelican pen
96
- penalty pencil people pepper perfect permit person pet phone photo phrase physical piano picnic picture piece pig pigeon pill pilot pink pioneer pipe pistol pitch
97
- pizza place planet plastic plate play please pledge pluck plug plunge poem poet point polar pole police pond pony pool popular portion position possible post
98
- potato pottery poverty powder power practice praise predict prefer prepare present pretty prevent price pride primary print priority prison private prize problem process produce profit
99
- program project promote proof property prosper protect proud provide public pudding pull pulp pulse pumpkin punch pupil puppy purchase purity purpose purse push put puzzle
100
- pyramid quality quantum quarter question quick quit quiz quote rabbit raccoon race rack radar radio rail rain raise rally ramp ranch random range rapid rare
101
- rate rather raven raw razor ready real reason rebel rebuild recall receive recipe record recycle reduce reflect reform refuse region regret regular reject relax release
102
- relief rely remain remember remind remove render renew rent reopen repair repeat replace report require rescue resemble resist resource response result retire retreat return reunion
103
- reveal review reward rhythm rib ribbon rice rich ride ridge rifle right rigid ring riot ripple risk ritual rival river road roast robot robust rocket
104
- romance roof rookie room rose rotate rough round route royal rubber rude rug rule run runway rural sad saddle sadness safe sail salad salmon salon
105
- salt salute same sample sand satisfy satoshi sauce sausage save say scale scan scare scatter scene scheme school science scissors scorpion scout scrap screen script
106
- scrub sea search season seat second secret section security seed seek segment select sell seminar senior sense sentence series service session settle setup seven shadow
107
- shaft shallow share shed shell sheriff shield shift shine ship shiver shock shoe shoot shop short shoulder shove shrimp shrug shuffle shy sibling sick side
108
- siege sight sign silent silk silly silver similar simple since sing siren sister situate six size skate sketch ski skill skin skirt skull slab slam
109
- sleep slender slice slide slight slim slogan slot slow slush small smart smile smoke smooth snack snake snap sniff snow soap soccer social sock soda
110
- soft solar soldier solid solution solve someone song soon sorry sort soul sound soup source south space spare spatial spawn speak special speed spell spend
111
- sphere spice spider spike spin spirit split spoil sponsor spoon sport spot spray spread spring spy square squeeze squirrel stable stadium staff stage stairs stamp
112
- stand start state stay steak steel stem step stereo stick still sting stock stomach stone stool story stove strategy street strike strong struggle student stuff
113
- stumble style subject submit subway success such sudden suffer sugar suggest suit summer sun sunny sunset super supply supreme sure surface surge surprise surround survey
114
- suspect sustain swallow swamp swap swarm swear sweet swift swim swing switch sword symbol symptom syrup system table tackle tag tail talent talk tank tape
115
- target task taste tattoo taxi teach team tell ten tenant tennis tent term test text thank that theme then theory there they thing this thought
116
- three thrive throw thumb thunder ticket tide tiger tilt timber time tiny tip tired tissue title toast tobacco today toddler toe together toilet token tomato
117
- tomorrow tone tongue tonight tool tooth top topic topple torch tornado tortoise toss total tourist toward tower town toy track trade traffic tragic train transfer
118
- trap trash travel tray treat tree trend trial tribe trick trigger trim trip trophy trouble truck true truly trumpet trust truth try tube tuition tumble
119
- tuna tunnel turkey turn turtle twelve twenty twice twin twist two type typical ugly umbrella unable unaware uncle uncover under undo unfair unfold unhappy uniform
120
- unique unit universe unknown unlock until unusual unveil update upgrade uphold upon upper upset urban urge usage use used useful useless usual utility vacant vacuum
121
- vague valid valley valve van vanish vapor various vast vault vehicle velvet vendor venture venue verb verify version very vessel veteran viable vibrant vicious victory
122
- video view village vintage violin virtual virus visa visit visual vital vivid vocal voice void volcano volume vote voyage wage wagon wait walk wall walnut
123
- want warfare warm warrior wash wasp waste water wave way wealth weapon wear weasel weather web wedding weekend weird welcome west wet whale what wheat
124
- wheel when where whip whisper wide width wife wild will win window wine wing wink winner winter wire wisdom wise wish witness wolf woman wonder
125
- wood wool word work world worry worth wrap wreck wrestle wrist write wrong yard year yellow you young youth zebra zero zone zoo
59
+ WORDLIST_ENGLISH = <<-TEXT.freeze
60
+ abandon ability able about above absent absorb abstract absurd abuse access accident account accuse achieve acid acoustic acquire across act action actor actress actual adapt
61
+ add addict address adjust admit adult advance advice aerobic affair afford afraid again age agent agree ahead aim air airport aisle alarm album alcohol alert
62
+ alien all alley allow almost alone alpha already also alter always amateur amazing among amount amused analyst anchor ancient anger angle angry animal ankle announce
63
+ annual another answer antenna antique anxiety any apart apology appear apple approve april arch arctic area arena argue arm armed armor army around arrange arrest
64
+ arrive arrow art artefact artist artwork ask aspect assault asset assist assume asthma athlete atom attack attend attitude attract auction audit august aunt author auto
65
+ autumn average avocado avoid awake aware away awesome awful awkward axis baby bachelor bacon badge bag balance balcony ball bamboo banana banner bar barely bargain
66
+ barrel base basic basket battle beach bean beauty because become beef before begin behave behind believe below belt bench benefit best betray better between beyond
67
+ bicycle bid bike bind biology bird birth bitter black blade blame blanket blast bleak bless blind blood blossom blouse blue blur blush board boat body
68
+ boil bomb bone bonus book boost border boring borrow boss bottom bounce box boy bracket brain brand brass brave bread breeze brick bridge brief bright
69
+ bring brisk broccoli broken bronze broom brother brown brush bubble buddy budget buffalo build bulb bulk bullet bundle bunker burden burger burst bus business busy
70
+ butter buyer buzz cabbage cabin cable cactus cage cake call calm camera camp can canal cancel candy cannon canoe canvas canyon capable capital captain car
71
+ carbon card cargo carpet carry cart case cash casino castle casual cat catalog catch category cattle caught cause caution cave ceiling celery cement census century
72
+ cereal certain chair chalk champion change chaos chapter charge chase chat cheap check cheese chef cherry chest chicken chief child chimney choice choose chronic chuckle
73
+ chunk churn cigar cinnamon circle citizen city civil claim clap clarify claw clay clean clerk clever click client cliff climb clinic clip clock clog close
74
+ cloth cloud clown club clump cluster clutch coach coast coconut code coffee coil coin collect color column combine come comfort comic common company concert conduct
75
+ confirm congress connect consider control convince cook cool copper copy coral core corn correct cost cotton couch country couple course cousin cover coyote crack cradle
76
+ craft cram crane crash crater crawl crazy cream credit creek crew cricket crime crisp critic crop cross crouch crowd crucial cruel cruise crumble crunch crush
77
+ cry crystal cube culture cup cupboard curious current curtain curve cushion custom cute cycle dad damage damp dance danger daring dash daughter dawn day deal
78
+ debate debris decade december decide decline decorate decrease deer defense define defy degree delay deliver demand demise denial dentist deny depart depend deposit depth deputy
79
+ derive describe desert design desk despair destroy detail detect develop device devote diagram dial diamond diary dice diesel diet differ digital dignity dilemma dinner dinosaur
80
+ direct dirt disagree discover disease dish dismiss disorder display distance divert divide divorce dizzy doctor document dog doll dolphin domain donate donkey donor door dose
81
+ double dove draft dragon drama drastic draw dream dress drift drill drink drip drive drop drum dry duck dumb dune during dust dutch duty dwarf
82
+ dynamic eager eagle early earn earth easily east easy echo ecology economy edge edit educate effort egg eight either elbow elder electric elegant element elephant
83
+ elevator elite else embark embody embrace emerge emotion employ empower empty enable enact end endless endorse enemy energy enforce engage engine enhance enjoy enlist enough
84
+ enrich enroll ensure enter entire entry envelope episode equal equip era erase erode erosion error erupt escape essay essence estate eternal ethics evidence evil evoke
85
+ evolve exact example excess exchange excite exclude excuse execute exercise exhaust exhibit exile exist exit exotic expand expect expire explain expose express extend extra eye
86
+ eyebrow fabric face faculty fade faint faith fall false fame family famous fan fancy fantasy farm fashion fat fatal father fatigue fault favorite feature february
87
+ federal fee feed feel female fence festival fetch fever few fiber fiction field figure file film filter final find fine finger finish fire firm first
88
+ fiscal fish fit fitness fix flag flame flash flat flavor flee flight flip float flock floor flower fluid flush fly foam focus fog foil fold
89
+ follow food foot force forest forget fork fortune forum forward fossil foster found fox fragile frame frequent fresh friend fringe frog front frost frown frozen
90
+ fruit fuel fun funny furnace fury future gadget gain galaxy gallery game gap garage garbage garden garlic garment gas gasp gate gather gauge gaze general
91
+ genius genre gentle genuine gesture ghost giant gift giggle ginger giraffe girl give glad glance glare glass glide glimpse globe gloom glory glove glow glue
92
+ goat goddess gold good goose gorilla gospel gossip govern gown grab grace grain grant grape grass gravity great green grid grief grit grocery group grow
93
+ grunt guard guess guide guilt guitar gun gym habit hair half hammer hamster hand happy harbor hard harsh harvest hat have hawk hazard head health
94
+ heart heavy hedgehog height hello helmet help hen hero hidden high hill hint hip hire history hobby hockey hold hole holiday hollow home honey hood
95
+ hope horn horror horse hospital host hotel hour hover hub huge human humble humor hundred hungry hunt hurdle hurry hurt husband hybrid ice icon idea
96
+ identify idle ignore ill illegal illness image imitate immense immune impact impose improve impulse inch include income increase index indicate indoor industry infant inflict inform
97
+ inhale inherit initial inject injury inmate inner innocent input inquiry insane insect inside inspire install intact interest into invest invite involve iron island isolate issue
98
+ item ivory jacket jaguar jar jazz jealous jeans jelly jewel job join joke journey joy judge juice jump jungle junior junk just kangaroo keen keep
99
+ ketchup key kick kid kidney kind kingdom kiss kit kitchen kite kitten kiwi knee knife knock know lab label labor ladder lady lake lamp language
100
+ laptop large later latin laugh laundry lava law lawn lawsuit layer lazy leader leaf learn leave lecture left leg legal legend leisure lemon lend length
101
+ lens leopard lesson letter level liar liberty library license life lift light like limb limit link lion liquid list little live lizard load loan lobster
102
+ local lock logic lonely long loop lottery loud lounge love loyal lucky luggage lumber lunar lunch luxury lyrics machine mad magic magnet maid mail main
103
+ major make mammal man manage mandate mango mansion manual maple marble march margin marine market marriage mask mass master match material math matrix matter maximum
104
+ maze meadow mean measure meat mechanic medal media melody melt member memory mention menu mercy merge merit merry mesh message metal method middle midnight milk
105
+ million mimic mind minimum minor minute miracle mirror misery miss mistake mix mixed mixture mobile model modify mom moment monitor monkey monster month moon moral
106
+ more morning mosquito mother motion motor mountain mouse move movie much muffin mule multiply muscle museum mushroom music must mutual myself mystery myth naive name
107
+ napkin narrow nasty nation nature near neck need negative neglect neither nephew nerve nest net network neutral never news next nice night noble noise nominee
108
+ noodle normal north nose notable note nothing notice novel now nuclear number nurse nut oak obey object oblige obscure observe obtain obvious occur ocean october
109
+ odor off offer office often oil okay old olive olympic omit once one onion online only open opera opinion oppose option orange orbit orchard order
110
+ ordinary organ orient original orphan ostrich other outdoor outer output outside oval oven over own owner oxygen oyster ozone pact paddle page pair palace palm
111
+ panda panel panic panther paper parade parent park parrot party pass patch path patient patrol pattern pause pave payment peace peanut pear peasant pelican pen
112
+ penalty pencil people pepper perfect permit person pet phone photo phrase physical piano picnic picture piece pig pigeon pill pilot pink pioneer pipe pistol pitch
113
+ pizza place planet plastic plate play please pledge pluck plug plunge poem poet point polar pole police pond pony pool popular portion position possible post
114
+ potato pottery poverty powder power practice praise predict prefer prepare present pretty prevent price pride primary print priority prison private prize problem process produce profit
115
+ program project promote proof property prosper protect proud provide public pudding pull pulp pulse pumpkin punch pupil puppy purchase purity purpose purse push put puzzle
116
+ pyramid quality quantum quarter question quick quit quiz quote rabbit raccoon race rack radar radio rail rain raise rally ramp ranch random range rapid rare
117
+ rate rather raven raw razor ready real reason rebel rebuild recall receive recipe record recycle reduce reflect reform refuse region regret regular reject relax release
118
+ relief rely remain remember remind remove render renew rent reopen repair repeat replace report require rescue resemble resist resource response result retire retreat return reunion
119
+ reveal review reward rhythm rib ribbon rice rich ride ridge rifle right rigid ring riot ripple risk ritual rival river road roast robot robust rocket
120
+ romance roof rookie room rose rotate rough round route royal rubber rude rug rule run runway rural sad saddle sadness safe sail salad salmon salon
121
+ salt salute same sample sand satisfy satoshi sauce sausage save say scale scan scare scatter scene scheme school science scissors scorpion scout scrap screen script
122
+ scrub sea search season seat second secret section security seed seek segment select sell seminar senior sense sentence series service session settle setup seven shadow
123
+ shaft shallow share shed shell sheriff shield shift shine ship shiver shock shoe shoot shop short shoulder shove shrimp shrug shuffle shy sibling sick side
124
+ siege sight sign silent silk silly silver similar simple since sing siren sister situate six size skate sketch ski skill skin skirt skull slab slam
125
+ sleep slender slice slide slight slim slogan slot slow slush small smart smile smoke smooth snack snake snap sniff snow soap soccer social sock soda
126
+ soft solar soldier solid solution solve someone song soon sorry sort soul sound soup source south space spare spatial spawn speak special speed spell spend
127
+ sphere spice spider spike spin spirit split spoil sponsor spoon sport spot spray spread spring spy square squeeze squirrel stable stadium staff stage stairs stamp
128
+ stand start state stay steak steel stem step stereo stick still sting stock stomach stone stool story stove strategy street strike strong struggle student stuff
129
+ stumble style subject submit subway success such sudden suffer sugar suggest suit summer sun sunny sunset super supply supreme sure surface surge surprise surround survey
130
+ suspect sustain swallow swamp swap swarm swear sweet swift swim swing switch sword symbol symptom syrup system table tackle tag tail talent talk tank tape
131
+ target task taste tattoo taxi teach team tell ten tenant tennis tent term test text thank that theme then theory there they thing this thought
132
+ three thrive throw thumb thunder ticket tide tiger tilt timber time tiny tip tired tissue title toast tobacco today toddler toe together toilet token tomato
133
+ tomorrow tone tongue tonight tool tooth top topic topple torch tornado tortoise toss total tourist toward tower town toy track trade traffic tragic train transfer
134
+ trap trash travel tray treat tree trend trial tribe trick trigger trim trip trophy trouble truck true truly trumpet trust truth try tube tuition tumble
135
+ tuna tunnel turkey turn turtle twelve twenty twice twin twist two type typical ugly umbrella unable unaware uncle uncover under undo unfair unfold unhappy uniform
136
+ unique unit universe unknown unlock until unusual unveil update upgrade uphold upon upper upset urban urge usage use used useful useless usual utility vacant vacuum
137
+ vague valid valley valve van vanish vapor various vast vault vehicle velvet vendor venture venue verb verify version very vessel veteran viable vibrant vicious victory
138
+ video view village vintage violin virtual virus visa visit visual vital vivid vocal voice void volcano volume vote voyage wage wagon wait walk wall walnut
139
+ want warfare warm warrior wash wasp waste water wave way wealth weapon wear weasel weather web wedding weekend weird welcome west wet whale what wheat
140
+ wheel when where whip whisper wide width wife wild will win window wine wing wink winner winter wire wisdom wise wish witness wolf woman wonder
141
+ wood wool word work world worry worth wrap wreck wrestle wrist write wrong yard year yellow you young youth zebra zero zone zoo
126
142
  TEXT
127
143
  end
128
-
129
144
  end
130
145
  end
@@ -1,3 +1,3 @@
1
1
  module Bitcoin
2
- VERSION = "0.0.18"
2
+ VERSION = "0.0.19"
3
3
  end
@@ -0,0 +1,399 @@
1
+ example_id | status | run_time |
2
+ ------------------------------------------------------------------- | ------ | --------------- |
3
+ ./spec-rspec/unit/bitcoin/bech32_spec.rb[1:1:1:1] | passed | 0.00087 seconds |
4
+ ./spec-rspec/unit/bitcoin/bech32_spec.rb[1:1:1:2] | passed | 0.00016 seconds |
5
+ ./spec-rspec/unit/bitcoin/bech32_spec.rb[1:1:1:3] | passed | 0.00069 seconds |
6
+ ./spec-rspec/unit/bitcoin/bech32_spec.rb[1:2:1:1] | passed | 0.00112 seconds |
7
+ ./spec-rspec/unit/bitcoin/bech32_spec.rb[1:2:1:2] | passed | 0.00119 seconds |
8
+ ./spec-rspec/unit/bitcoin/bech32_spec.rb[1:2:1:3] | passed | 0.00016 seconds |
9
+ ./spec-rspec/unit/bitcoin/bitcoin_spec.rb[1:1:1] | passed | 0.00011 seconds |
10
+ ./spec-rspec/unit/bitcoin/bitcoin_spec.rb[1:2:1:1] | passed | 0.00016 seconds |
11
+ ./spec-rspec/unit/bitcoin/bitcoin_spec.rb[1:2:2:1] | passed | 0.0001 seconds |
12
+ ./spec-rspec/unit/bitcoin/bitcoin_spec.rb[1:3:1:1] | passed | 0.00011 seconds |
13
+ ./spec-rspec/unit/bitcoin/bitcoin_spec.rb[1:3:1:2] | passed | 0.00012 seconds |
14
+ ./spec-rspec/unit/bitcoin/bitcoin_spec.rb[1:3:2:1] | passed | 0.00011 seconds |
15
+ ./spec-rspec/unit/bitcoin/bitcoin_spec.rb[1:3:2:2] | passed | 0.00014 seconds |
16
+ ./spec-rspec/unit/bitcoin/bitcoin_spec.rb[1:4:1:1] | passed | 0.00016 seconds |
17
+ ./spec-rspec/unit/bitcoin/bitcoin_spec.rb[1:4:2:1] | passed | 0.0002 seconds |
18
+ ./spec-rspec/unit/bitcoin/bitcoin_spec.rb[1:5:1:1] | passed | 0.00022 seconds |
19
+ ./spec-rspec/unit/bitcoin/bitcoin_spec.rb[1:5:1:2] | passed | 0.00011 seconds |
20
+ ./spec-rspec/unit/bitcoin/bitcoin_spec.rb[1:5:1:3] | passed | 0.00041 seconds |
21
+ ./spec-rspec/unit/bitcoin/bitcoin_spec.rb[1:5:2:1] | passed | 0.00107 seconds |
22
+ ./spec-rspec/unit/bitcoin/bitcoin_spec.rb[1:5:2:2] | passed | 0.00011 seconds |
23
+ ./spec-rspec/unit/bitcoin/bitcoin_spec.rb[1:5:2:3] | passed | 0.00047 seconds |
24
+ ./spec-rspec/unit/bitcoin/bitcoin_spec.rb[1:6:1:1] | passed | 0.0002 seconds |
25
+ ./spec-rspec/unit/bitcoin/bitcoin_spec.rb[1:6:1:2] | passed | 0.00011 seconds |
26
+ ./spec-rspec/unit/bitcoin/bitcoin_spec.rb[1:6:2:1] | passed | 0.00022 seconds |
27
+ ./spec-rspec/unit/bitcoin/bitcoin_spec.rb[1:6:2:2] | passed | 0.0001 seconds |
28
+ ./spec-rspec/unit/bitcoin/bitcoin_spec.rb[1:7:1:1] | passed | 0.00018 seconds |
29
+ ./spec-rspec/unit/bitcoin/bitcoin_spec.rb[1:7:1:2] | passed | 0.00027 seconds |
30
+ ./spec-rspec/unit/bitcoin/bitcoin_spec.rb[1:7:1:3] | passed | 0.28965 seconds |
31
+ ./spec-rspec/unit/bitcoin/bitcoin_spec.rb[1:7:1:4] | passed | 0.00026 seconds |
32
+ ./spec-rspec/unit/bitcoin/bitcoin_spec.rb[1:7:2:1] | passed | 0.0004 seconds |
33
+ ./spec-rspec/unit/bitcoin/bitcoin_spec.rb[1:7:2:2] | passed | 0.00056 seconds |
34
+ ./spec-rspec/unit/bitcoin/bitcoin_spec.rb[1:7:2:3] | passed | 0.27855 seconds |
35
+ ./spec-rspec/unit/bitcoin/bitcoin_spec.rb[1:7:2:4] | passed | 0.00024 seconds |
36
+ ./spec-rspec/unit/bitcoin/bitcoin_spec.rb[1:8:1] | passed | 0.00015 seconds |
37
+ ./spec-rspec/unit/bitcoin/bitcoin_spec.rb[1:9:1] | passed | 0.00068 seconds |
38
+ ./spec-rspec/unit/bitcoin/bitcoin_spec.rb[1:9:2] | passed | 0.00081 seconds |
39
+ ./spec-rspec/unit/bitcoin/bitcoin_spec.rb[1:10:1:1] | passed | 0.00021 seconds |
40
+ ./spec-rspec/unit/bitcoin/bitcoin_spec.rb[1:10:1:2] | passed | 0.00017 seconds |
41
+ ./spec-rspec/unit/bitcoin/bitcoin_spec.rb[1:10:1:3] | passed | 0.00024 seconds |
42
+ ./spec-rspec/unit/bitcoin/bitcoin_spec.rb[1:10:2:1] | passed | 0.00025 seconds |
43
+ ./spec-rspec/unit/bitcoin/bitcoin_spec.rb[1:10:2:2] | passed | 0.00024 seconds |
44
+ ./spec-rspec/unit/bitcoin/bitcoin_spec.rb[1:10:2:3] | passed | 0.00021 seconds |
45
+ ./spec-rspec/unit/bitcoin/bitcoin_spec.rb[1:10:2:4] | passed | 0.00022 seconds |
46
+ ./spec-rspec/unit/bitcoin/bitcoin_spec.rb[1:10:2:5] | passed | 0.0011 seconds |
47
+ ./spec-rspec/unit/bitcoin/bitcoin_spec.rb[1:10:3:1] | passed | 0.00038 seconds |
48
+ ./spec-rspec/unit/bitcoin/bitcoin_spec.rb[1:10:3:2] | passed | 0.00021 seconds |
49
+ ./spec-rspec/unit/bitcoin/bitcoin_spec.rb[1:11:1] | passed | 0.00008 seconds |
50
+ ./spec-rspec/unit/bitcoin/bitcoin_spec.rb[1:12:1] | passed | 0.0001 seconds |
51
+ ./spec-rspec/unit/bitcoin/bitcoin_spec.rb[1:13:1] | passed | 0.0001 seconds |
52
+ ./spec-rspec/unit/bitcoin/bitcoin_spec.rb[1:13:2] | passed | 0.00029 seconds |
53
+ ./spec-rspec/unit/bitcoin/bitcoin_spec.rb[1:13:3] | passed | 0.00055 seconds |
54
+ ./spec-rspec/unit/bitcoin/bitcoin_spec.rb[1:13:4] | passed | 0.00124 seconds |
55
+ ./spec-rspec/unit/bitcoin/bitcoin_spec.rb[1:13:5] | passed | 0.00012 seconds |
56
+ ./spec-rspec/unit/bitcoin/bitcoin_spec.rb[1:13:6] | passed | 0.00009 seconds |
57
+ ./spec-rspec/unit/bitcoin/bitcoin_spec.rb[1:14:1] | passed | 0.00014 seconds |
58
+ ./spec-rspec/unit/bitcoin/bitcoin_spec.rb[1:14:2] | passed | 0.00022 seconds |
59
+ ./spec-rspec/unit/bitcoin/bitcoin_spec.rb[1:15:1] | passed | 0.0002 seconds |
60
+ ./spec-rspec/unit/bitcoin/bitcoin_spec.rb[1:16:1] | passed | 0.0006 seconds |
61
+ ./spec-rspec/unit/bitcoin/bitcoin_spec.rb[1:17:1] | passed | 0.00009 seconds |
62
+ ./spec-rspec/unit/bitcoin/bitcoin_spec.rb[1:17:2:1] | passed | 0.15961 seconds |
63
+ ./spec-rspec/unit/bitcoin/bitcoin_spec.rb[1:17:3:1] | passed | 0.00018 seconds |
64
+ ./spec-rspec/unit/bitcoin/bitcoin_spec.rb[1:17:3:2:1:1] | passed | 0.00348 seconds |
65
+ ./spec-rspec/unit/bitcoin/bitcoin_spec.rb[1:17:3:2:2:1] | passed | 0.46815 seconds |
66
+ ./spec-rspec/unit/bitcoin/bitcoin_spec.rb[1:18:1] | passed | 0.00056 seconds |
67
+ ./spec-rspec/unit/bitcoin/bitcoin_spec.rb[1:19:1] | passed | 0.0003 seconds |
68
+ ./spec-rspec/unit/bitcoin/bitcoin_spec.rb[1:20] | passed | 0.00009 seconds |
69
+ ./spec-rspec/unit/bitcoin/bitcoin_spec.rb[1:21] | passed | 0.00013 seconds |
70
+ ./spec-rspec/unit/bitcoin/bitcoin_spec.rb[1:22:1] | passed | 0.00011 seconds |
71
+ ./spec-rspec/unit/bitcoin/bitcoin_spec.rb[1:23] | passed | 0.00008 seconds |
72
+ ./spec-rspec/unit/bitcoin/bitcoin_spec.rb[1:24] | passed | 0.00014 seconds |
73
+ ./spec-rspec/unit/bitcoin/bitcoin_spec.rb[1:25] | passed | 0.0001 seconds |
74
+ ./spec-rspec/unit/bitcoin/bitcoin_spec.rb[1:26] | passed | 0.0001 seconds |
75
+ ./spec-rspec/unit/bitcoin/bitcoin_spec.rb[1:27] | passed | 0.00011 seconds |
76
+ ./spec-rspec/unit/bitcoin/bitcoin_spec.rb[1:28] | passed | 0.00009 seconds |
77
+ ./spec-rspec/unit/bitcoin/bitcoin_spec.rb[1:29:1] | passed | 0.01196 seconds |
78
+ ./spec-rspec/unit/bitcoin/bitcoin_spec.rb[1:29:2] | passed | 0.02576 seconds |
79
+ ./spec-rspec/unit/bitcoin/bitcoin_spec.rb[1:30:1] | passed | 0.0001 seconds |
80
+ ./spec-rspec/unit/bitcoin/bitcoin_spec.rb[1:30:2] | passed | 0.00007 seconds |
81
+ ./spec-rspec/unit/bitcoin/bloom_filter_spec.rb[1:1:1] | passed | 0.0003 seconds |
82
+ ./spec-rspec/unit/bitcoin/bloom_filter_spec.rb[1:2:1] | passed | 0.00021 seconds |
83
+ ./spec-rspec/unit/bitcoin/builder_spec.rb[1:1] | passed | 0.00688 seconds |
84
+ ./spec-rspec/unit/bitcoin/builder_spec.rb[1:2] | passed | 0.0081 seconds |
85
+ ./spec-rspec/unit/bitcoin/builder_spec.rb[1:3] | passed | 0.00465 seconds |
86
+ ./spec-rspec/unit/bitcoin/builder_spec.rb[1:4] | passed | 0.00376 seconds |
87
+ ./spec-rspec/unit/bitcoin/builder_spec.rb[1:5] | passed | 0.00519 seconds |
88
+ ./spec-rspec/unit/bitcoin/builder_spec.rb[1:6] | passed | 0.00335 seconds |
89
+ ./spec-rspec/unit/bitcoin/builder_spec.rb[1:7] | passed | 0.00298 seconds |
90
+ ./spec-rspec/unit/bitcoin/builder_spec.rb[1:8] | passed | 0.00253 seconds |
91
+ ./spec-rspec/unit/bitcoin/builder_spec.rb[1:9] | passed | 0.00354 seconds |
92
+ ./spec-rspec/unit/bitcoin/builder_spec.rb[1:10] | passed | 0.00744 seconds |
93
+ ./spec-rspec/unit/bitcoin/builder_spec.rb[1:11] | passed | 0.00584 seconds |
94
+ ./spec-rspec/unit/bitcoin/builder_spec.rb[1:12] | passed | 0.00565 seconds |
95
+ ./spec-rspec/unit/bitcoin/builder_spec.rb[1:13] | passed | 0.02232 seconds |
96
+ ./spec-rspec/unit/bitcoin/builder_spec.rb[1:14] | passed | 0.03687 seconds |
97
+ ./spec-rspec/unit/bitcoin/builder_spec.rb[1:15] | passed | 0.00016 seconds |
98
+ ./spec-rspec/unit/bitcoin/builder_spec.rb[1:16] | passed | 0.00014 seconds |
99
+ ./spec-rspec/unit/bitcoin/builder_spec.rb[1:17] | passed | 0.00157 seconds |
100
+ ./spec-rspec/unit/bitcoin/builder_spec.rb[1:18] | passed | 0.00059 seconds |
101
+ ./spec-rspec/unit/bitcoin/builder_spec.rb[1:19] | passed | 0.00135 seconds |
102
+ ./spec-rspec/unit/bitcoin/builder_spec.rb[1:20] | passed | 0.00981 seconds |
103
+ ./spec-rspec/unit/bitcoin/builder_spec.rb[1:21] | passed | 0.01054 seconds |
104
+ ./spec-rspec/unit/bitcoin/builder_spec.rb[1:22] | passed | 0.00585 seconds |
105
+ ./spec-rspec/unit/bitcoin/contracthash_spec.rb[1:1] | passed | 0.02232 seconds |
106
+ ./spec-rspec/unit/bitcoin/ext_key_spec.rb[1:1:1] | passed | 0.00345 seconds |
107
+ ./spec-rspec/unit/bitcoin/ext_key_spec.rb[1:1:2] | passed | 0.00618 seconds |
108
+ ./spec-rspec/unit/bitcoin/ext_key_spec.rb[1:1:3] | passed | 0.01356 seconds |
109
+ ./spec-rspec/unit/bitcoin/ext_key_spec.rb[1:1:4] | passed | 0.01255 seconds |
110
+ ./spec-rspec/unit/bitcoin/ext_key_spec.rb[1:1:5] | passed | 0.01534 seconds |
111
+ ./spec-rspec/unit/bitcoin/ext_key_spec.rb[1:1:6] | passed | 0.0183 seconds |
112
+ ./spec-rspec/unit/bitcoin/ext_key_spec.rb[1:2:1] | passed | 0.00314 seconds |
113
+ ./spec-rspec/unit/bitcoin/ext_key_spec.rb[1:2:2] | passed | 0.00667 seconds |
114
+ ./spec-rspec/unit/bitcoin/ext_key_spec.rb[1:2:3] | passed | 0.00978 seconds |
115
+ ./spec-rspec/unit/bitcoin/ext_key_spec.rb[1:2:4] | passed | 0.01221 seconds |
116
+ ./spec-rspec/unit/bitcoin/ext_key_spec.rb[1:2:5] | passed | 0.01495 seconds |
117
+ ./spec-rspec/unit/bitcoin/ext_key_spec.rb[1:2:6] | passed | 0.03126 seconds |
118
+ ./spec-rspec/unit/bitcoin/ext_key_spec.rb[1:3:1] | passed | 0.00693 seconds |
119
+ ./spec-rspec/unit/bitcoin/ext_key_spec.rb[1:3:2] | passed | 0.00081 seconds |
120
+ ./spec-rspec/unit/bitcoin/key_spec.rb[1:1] | passed | 0.00297 seconds |
121
+ ./spec-rspec/unit/bitcoin/key_spec.rb[1:2] | passed | 0.00014 seconds |
122
+ ./spec-rspec/unit/bitcoin/key_spec.rb[1:3] | passed | 0.00024 seconds |
123
+ ./spec-rspec/unit/bitcoin/key_spec.rb[1:4] | passed | 0.00296 seconds |
124
+ ./spec-rspec/unit/bitcoin/key_spec.rb[1:5] | passed | 0.00017 seconds |
125
+ ./spec-rspec/unit/bitcoin/key_spec.rb[1:6] | passed | 0.00023 seconds |
126
+ ./spec-rspec/unit/bitcoin/key_spec.rb[1:7] | passed | 0.00308 seconds |
127
+ ./spec-rspec/unit/bitcoin/key_spec.rb[1:8] | passed | 0.00032 seconds |
128
+ ./spec-rspec/unit/bitcoin/key_spec.rb[1:9] | passed | 0.00056 seconds |
129
+ ./spec-rspec/unit/bitcoin/key_spec.rb[1:10] | passed | 0.00129 seconds |
130
+ ./spec-rspec/unit/bitcoin/key_spec.rb[1:11] | passed | 0.00383 seconds |
131
+ ./spec-rspec/unit/bitcoin/key_spec.rb[1:12] | passed | 0.01456 seconds |
132
+ ./spec-rspec/unit/bitcoin/key_spec.rb[1:13] | passed | 0.00028 seconds |
133
+ ./spec-rspec/unit/bitcoin/key_spec.rb[1:14] | passed | 0.00707 seconds |
134
+ ./spec-rspec/unit/bitcoin/key_spec.rb[1:15] | passed | 0.00031 seconds |
135
+ ./spec-rspec/unit/bitcoin/key_spec.rb[1:16] | passed | 0.00578 seconds |
136
+ ./spec-rspec/unit/bitcoin/key_spec.rb[1:17] | passed | 0.00254 seconds |
137
+ ./spec-rspec/unit/bitcoin/key_spec.rb[1:18] | passed | 2.13 seconds |
138
+ ./spec-rspec/unit/bitcoin/key_spec.rb[1:19] | passed | 2.17 seconds |
139
+ ./spec-rspec/unit/bitcoin/key_spec.rb[1:20] | passed | 0.00116 seconds |
140
+ ./spec-rspec/unit/bitcoin/key_spec.rb[1:21:1] | passed | 0.80285 seconds |
141
+ ./spec-rspec/unit/bitcoin/key_spec.rb[1:21:2] | passed | 0.00396 seconds |
142
+ ./spec-rspec/unit/bitcoin/key_spec.rb[1:21:3] | passed | 1.17 seconds |
143
+ ./spec-rspec/unit/bitcoin/network_spec.rb[1:1:1] | passed | 0.00007 seconds |
144
+ ./spec-rspec/unit/bitcoin/network_spec.rb[1:1:2] | passed | 0.00008 seconds |
145
+ ./spec-rspec/unit/bitcoin/network_spec.rb[1:2:1] | passed | 0.00022 seconds |
146
+ ./spec-rspec/unit/bitcoin/network_spec.rb[1:2:2] | passed | 0.00015 seconds |
147
+ ./spec-rspec/unit/bitcoin/protocol/addr_spec.rb[1:1] | passed | 0.00013 seconds |
148
+ ./spec-rspec/unit/bitcoin/protocol/addr_spec.rb[1:2] | passed | 0.00013 seconds |
149
+ ./spec-rspec/unit/bitcoin/protocol/addr_spec.rb[2:1] | passed | 0.0001 seconds |
150
+ ./spec-rspec/unit/bitcoin/protocol/addr_spec.rb[2:2] | passed | 0.00008 seconds |
151
+ ./spec-rspec/unit/bitcoin/protocol/addr_spec.rb[2:3] | passed | 0.00011 seconds |
152
+ ./spec-rspec/unit/bitcoin/protocol/addr_spec.rb[2:4] | passed | 0.00012 seconds |
153
+ ./spec-rspec/unit/bitcoin/protocol/alert_spec.rb[1:1] | passed | 0.00215 seconds |
154
+ ./spec-rspec/unit/bitcoin/protocol/aux_pow_spec.rb[1:1] | passed | 0.0005 seconds |
155
+ ./spec-rspec/unit/bitcoin/protocol/aux_pow_spec.rb[1:2] | passed | 0.00067 seconds |
156
+ ./spec-rspec/unit/bitcoin/protocol/aux_pow_spec.rb[1:3] | passed | 0.00076 seconds |
157
+ ./spec-rspec/unit/bitcoin/protocol/aux_pow_spec.rb[1:4] | passed | 0.00102 seconds |
158
+ ./spec-rspec/unit/bitcoin/protocol/bip143_spec.rb[1:1] | passed | 0.01346 seconds |
159
+ ./spec-rspec/unit/bitcoin/protocol/bip143_spec.rb[1:2] | passed | 0.00714 seconds |
160
+ ./spec-rspec/unit/bitcoin/protocol/bip143_spec.rb[1:3] | passed | 0.02142 seconds |
161
+ ./spec-rspec/unit/bitcoin/protocol/bip143_spec.rb[1:4] | passed | 0.04048 seconds |
162
+ ./spec-rspec/unit/bitcoin/protocol/block_spec.rb[1:1] | passed | 0.00325 seconds |
163
+ ./spec-rspec/unit/bitcoin/protocol/block_spec.rb[1:2] | passed | 0.00077 seconds |
164
+ ./spec-rspec/unit/bitcoin/protocol/block_spec.rb[1:3] | passed | 0.00083 seconds |
165
+ ./spec-rspec/unit/bitcoin/protocol/block_spec.rb[1:4] | passed | 0.00073 seconds |
166
+ ./spec-rspec/unit/bitcoin/protocol/block_spec.rb[1:5] | passed | 0.00077 seconds |
167
+ ./spec-rspec/unit/bitcoin/protocol/block_spec.rb[1:6] | passed | 0.02313 seconds |
168
+ ./spec-rspec/unit/bitcoin/protocol/block_spec.rb[1:7] | passed | 0.01025 seconds |
169
+ ./spec-rspec/unit/bitcoin/protocol/block_spec.rb[1:8:1] | passed | 0.02134 seconds |
170
+ ./spec-rspec/unit/bitcoin/protocol/block_spec.rb[1:8:2] | passed | 0.00156 seconds |
171
+ ./spec-rspec/unit/bitcoin/protocol/block_spec.rb[1:8:3] | passed | 0.00035 seconds |
172
+ ./spec-rspec/unit/bitcoin/protocol/block_spec.rb[1:8:4] | passed | 0.00039 seconds |
173
+ ./spec-rspec/unit/bitcoin/protocol/block_spec.rb[1:9] | passed | 0.00077 seconds |
174
+ ./spec-rspec/unit/bitcoin/protocol/block_spec.rb[1:10] | passed | 0.00068 seconds |
175
+ ./spec-rspec/unit/bitcoin/protocol/block_spec.rb[1:11] | passed | 0.00113 seconds |
176
+ ./spec-rspec/unit/bitcoin/protocol/block_spec.rb[1:12] | passed | 0.02722 seconds |
177
+ ./spec-rspec/unit/bitcoin/protocol/block_spec.rb[1:13] | passed | 0.00087 seconds |
178
+ ./spec-rspec/unit/bitcoin/protocol/getblocks_spec.rb[1:1] | passed | 0.00013 seconds |
179
+ ./spec-rspec/unit/bitcoin/protocol/getblocks_spec.rb[1:2] | passed | 0.00017 seconds |
180
+ ./spec-rspec/unit/bitcoin/protocol/inv_spec.rb[1:1] | passed | 0.0002 seconds |
181
+ ./spec-rspec/unit/bitcoin/protocol/inv_spec.rb[1:2] | passed | 0.00014 seconds |
182
+ ./spec-rspec/unit/bitcoin/protocol/inv_spec.rb[1:3] | passed | 0.0001 seconds |
183
+ ./spec-rspec/unit/bitcoin/protocol/inv_spec.rb[1:4] | passed | 0.00011 seconds |
184
+ ./spec-rspec/unit/bitcoin/protocol/inv_spec.rb[1:5] | passed | 0.00017 seconds |
185
+ ./spec-rspec/unit/bitcoin/protocol/inv_spec.rb[1:6] | passed | 0.00017 seconds |
186
+ ./spec-rspec/unit/bitcoin/protocol/inv_spec.rb[1:7] | passed | 0.00014 seconds |
187
+ ./spec-rspec/unit/bitcoin/protocol/notfound_spec.rb[1:1] | passed | 0.00012 seconds |
188
+ ./spec-rspec/unit/bitcoin/protocol/notfound_spec.rb[1:2] | passed | 0.00014 seconds |
189
+ ./spec-rspec/unit/bitcoin/protocol/parser_spec.rb[1:1] | passed | 0.00046 seconds |
190
+ ./spec-rspec/unit/bitcoin/protocol/parser_spec.rb[1:2] | passed | 0.00019 seconds |
191
+ ./spec-rspec/unit/bitcoin/protocol/parser_spec.rb[1:3] | passed | 0.00752 seconds |
192
+ ./spec-rspec/unit/bitcoin/protocol/parser_spec.rb[1:4] | passed | 0.00016 seconds |
193
+ ./spec-rspec/unit/bitcoin/protocol/partial_merkle_tree_spec.rb[1:1] | passed | 0.00117 seconds |
194
+ ./spec-rspec/unit/bitcoin/protocol/ping_spec.rb[1:1] | passed | 0.00115 seconds |
195
+ ./spec-rspec/unit/bitcoin/protocol/ping_spec.rb[1:2] | passed | 0.00012 seconds |
196
+ ./spec-rspec/unit/bitcoin/protocol/ping_spec.rb[1:3] | passed | 0.00012 seconds |
197
+ ./spec-rspec/unit/bitcoin/protocol/ping_spec.rb[1:4] | passed | 0.00011 seconds |
198
+ ./spec-rspec/unit/bitcoin/protocol/ping_spec.rb[1:5] | passed | 0.00013 seconds |
199
+ ./spec-rspec/unit/bitcoin/protocol/ping_spec.rb[1:6] | passed | 0.00065 seconds |
200
+ ./spec-rspec/unit/bitcoin/protocol/tx_spec.rb[1:1:1] | passed | 0.00052 seconds |
201
+ ./spec-rspec/unit/bitcoin/protocol/tx_spec.rb[1:1:2] | passed | 0.00034 seconds |
202
+ ./spec-rspec/unit/bitcoin/protocol/tx_spec.rb[1:1:3] | passed | 0.00011 seconds |
203
+ ./spec-rspec/unit/bitcoin/protocol/tx_spec.rb[1:2:1] | passed | 0.00041 seconds |
204
+ ./spec-rspec/unit/bitcoin/protocol/tx_spec.rb[1:2:2] | passed | 0.00038 seconds |
205
+ ./spec-rspec/unit/bitcoin/protocol/tx_spec.rb[1:3:1] | passed | 0.00042 seconds |
206
+ ./spec-rspec/unit/bitcoin/protocol/tx_spec.rb[1:3:2] | passed | 0.00044 seconds |
207
+ ./spec-rspec/unit/bitcoin/protocol/tx_spec.rb[1:4:1] | passed | 0.00053 seconds |
208
+ ./spec-rspec/unit/bitcoin/protocol/tx_spec.rb[1:5:1] | passed | 0.00055 seconds |
209
+ ./spec-rspec/unit/bitcoin/protocol/tx_spec.rb[1:6:1] | passed | 0.00071 seconds |
210
+ ./spec-rspec/unit/bitcoin/protocol/tx_spec.rb[1:7:1] | passed | 0.00053 seconds |
211
+ ./spec-rspec/unit/bitcoin/protocol/tx_spec.rb[1:8:1] | passed | 0.00058 seconds |
212
+ ./spec-rspec/unit/bitcoin/protocol/tx_spec.rb[1:9] | passed | 0.00068 seconds |
213
+ ./spec-rspec/unit/bitcoin/protocol/tx_spec.rb[1:10] | passed | 0.00155 seconds |
214
+ ./spec-rspec/unit/bitcoin/protocol/tx_spec.rb[1:11] | passed | 0.00117 seconds |
215
+ ./spec-rspec/unit/bitcoin/protocol/tx_spec.rb[1:12] | passed | 0.00153 seconds |
216
+ ./spec-rspec/unit/bitcoin/protocol/tx_spec.rb[1:13] | passed | 0.00361 seconds |
217
+ ./spec-rspec/unit/bitcoin/protocol/tx_spec.rb[1:14] | passed | 0.00033 seconds |
218
+ ./spec-rspec/unit/bitcoin/protocol/tx_spec.rb[1:15:1] | passed | 0.00013 seconds |
219
+ ./spec-rspec/unit/bitcoin/protocol/tx_spec.rb[1:16:1] | passed | 0.00023 seconds |
220
+ ./spec-rspec/unit/bitcoin/protocol/tx_spec.rb[1:17] | passed | 3.24 seconds |
221
+ ./spec-rspec/unit/bitcoin/protocol/tx_spec.rb[1:18] | passed | 0.00696 seconds |
222
+ ./spec-rspec/unit/bitcoin/protocol/tx_spec.rb[1:19:1] | passed | 0.00593 seconds |
223
+ ./spec-rspec/unit/bitcoin/protocol/tx_spec.rb[1:19:2] | passed | 0.09985 seconds |
224
+ ./spec-rspec/unit/bitcoin/protocol/tx_spec.rb[1:20] | passed | 0.00034 seconds |
225
+ ./spec-rspec/unit/bitcoin/protocol/tx_spec.rb[1:21] | passed | 0.0007 seconds |
226
+ ./spec-rspec/unit/bitcoin/protocol/tx_spec.rb[1:22:1] | passed | 0.00008 seconds |
227
+ ./spec-rspec/unit/bitcoin/protocol/tx_spec.rb[1:22:2] | passed | 0.00009 seconds |
228
+ ./spec-rspec/unit/bitcoin/protocol/tx_spec.rb[1:22:3] | passed | 0.00014 seconds |
229
+ ./spec-rspec/unit/bitcoin/protocol/tx_spec.rb[1:22:4] | passed | 0.0001 seconds |
230
+ ./spec-rspec/unit/bitcoin/protocol/tx_spec.rb[1:23] | passed | 0.00042 seconds |
231
+ ./spec-rspec/unit/bitcoin/protocol/tx_spec.rb[1:24] | passed | 0.0013 seconds |
232
+ ./spec-rspec/unit/bitcoin/protocol/tx_spec.rb[1:25] | passed | 0.00058 seconds |
233
+ ./spec-rspec/unit/bitcoin/protocol/tx_spec.rb[1:26:1] | passed | 0.00688 seconds |
234
+ ./spec-rspec/unit/bitcoin/protocol/tx_spec.rb[1:26:2] | passed | 0.00505 seconds |
235
+ ./spec-rspec/unit/bitcoin/protocol/tx_spec.rb[1:26:3] | passed | 0.00131 seconds |
236
+ ./spec-rspec/unit/bitcoin/protocol/tx_spec.rb[1:26:4] | passed | 0.00203 seconds |
237
+ ./spec-rspec/unit/bitcoin/protocol/tx_spec.rb[1:27] | passed | 0.00094 seconds |
238
+ ./spec-rspec/unit/bitcoin/protocol/tx_spec.rb[1:28:1] | passed | 0.02555 seconds |
239
+ ./spec-rspec/unit/bitcoin/protocol/txin_spec.rb[1:1:1] | passed | 0.00017 seconds |
240
+ ./spec-rspec/unit/bitcoin/protocol/txin_spec.rb[1:2] | passed | 0.00032 seconds |
241
+ ./spec-rspec/unit/bitcoin/protocol/txin_spec.rb[1:3] | passed | 0.00011 seconds |
242
+ ./spec-rspec/unit/bitcoin/protocol/txout_spec.rb[1:1] | passed | 0.00069 seconds |
243
+ ./spec-rspec/unit/bitcoin/protocol/txout_spec.rb[1:2] | passed | 0.00214 seconds |
244
+ ./spec-rspec/unit/bitcoin/protocol/txout_spec.rb[1:3] | passed | 0.00008 seconds |
245
+ ./spec-rspec/unit/bitcoin/protocol/version_spec.rb[1:1] | passed | 0.00128 seconds |
246
+ ./spec-rspec/unit/bitcoin/protocol/version_spec.rb[1:2] | passed | 0.00016 seconds |
247
+ ./spec-rspec/unit/bitcoin/protocol/version_spec.rb[1:3] | passed | 0.00027 seconds |
248
+ ./spec-rspec/unit/bitcoin/script/opcodes_spec.rb[1:1] | passed | 0.00022 seconds |
249
+ ./spec-rspec/unit/bitcoin/script/opcodes_spec.rb[1:2] | passed | 0.00009 seconds |
250
+ ./spec-rspec/unit/bitcoin/script/opcodes_spec.rb[1:3] | passed | 0.00013 seconds |
251
+ ./spec-rspec/unit/bitcoin/script/opcodes_spec.rb[1:4] | passed | 0.00011 seconds |
252
+ ./spec-rspec/unit/bitcoin/script/opcodes_spec.rb[1:5] | passed | 0.0001 seconds |
253
+ ./spec-rspec/unit/bitcoin/script/opcodes_spec.rb[1:6] | passed | 0.00009 seconds |
254
+ ./spec-rspec/unit/bitcoin/script/opcodes_spec.rb[1:7] | passed | 0.00009 seconds |
255
+ ./spec-rspec/unit/bitcoin/script/opcodes_spec.rb[1:8] | passed | 0.0001 seconds |
256
+ ./spec-rspec/unit/bitcoin/script/opcodes_spec.rb[1:9] | passed | 0.0001 seconds |
257
+ ./spec-rspec/unit/bitcoin/script/opcodes_spec.rb[1:10] | passed | 0.00008 seconds |
258
+ ./spec-rspec/unit/bitcoin/script/opcodes_spec.rb[1:11] | passed | 0.00011 seconds |
259
+ ./spec-rspec/unit/bitcoin/script/opcodes_spec.rb[1:12] | passed | 0.0001 seconds |
260
+ ./spec-rspec/unit/bitcoin/script/opcodes_spec.rb[1:13] | passed | 0.00013 seconds |
261
+ ./spec-rspec/unit/bitcoin/script/opcodes_spec.rb[1:14] | passed | 0.00009 seconds |
262
+ ./spec-rspec/unit/bitcoin/script/opcodes_spec.rb[1:15] | passed | 0.00014 seconds |
263
+ ./spec-rspec/unit/bitcoin/script/opcodes_spec.rb[1:16] | passed | 0.00009 seconds |
264
+ ./spec-rspec/unit/bitcoin/script/opcodes_spec.rb[1:17] | passed | 0.00011 seconds |
265
+ ./spec-rspec/unit/bitcoin/script/opcodes_spec.rb[1:18] | passed | 0.00012 seconds |
266
+ ./spec-rspec/unit/bitcoin/script/opcodes_spec.rb[1:19] | passed | 0.00016 seconds |
267
+ ./spec-rspec/unit/bitcoin/script/opcodes_spec.rb[1:20] | passed | 0.00008 seconds |
268
+ ./spec-rspec/unit/bitcoin/script/opcodes_spec.rb[1:21] | passed | 0.00007 seconds |
269
+ ./spec-rspec/unit/bitcoin/script/opcodes_spec.rb[1:22] | passed | 0.00015 seconds |
270
+ ./spec-rspec/unit/bitcoin/script/opcodes_spec.rb[1:23] | passed | 0.00012 seconds |
271
+ ./spec-rspec/unit/bitcoin/script/opcodes_spec.rb[1:24] | passed | 0.00009 seconds |
272
+ ./spec-rspec/unit/bitcoin/script/opcodes_spec.rb[1:25] | passed | 0.00007 seconds |
273
+ ./spec-rspec/unit/bitcoin/script/opcodes_spec.rb[1:26] | passed | 0.0001 seconds |
274
+ ./spec-rspec/unit/bitcoin/script/opcodes_spec.rb[1:27] | passed | 0.00009 seconds |
275
+ ./spec-rspec/unit/bitcoin/script/opcodes_spec.rb[1:28] | passed | 0.00009 seconds |
276
+ ./spec-rspec/unit/bitcoin/script/opcodes_spec.rb[1:29] | passed | 0.00014 seconds |
277
+ ./spec-rspec/unit/bitcoin/script/opcodes_spec.rb[1:30] | passed | 0.00011 seconds |
278
+ ./spec-rspec/unit/bitcoin/script/opcodes_spec.rb[1:31] | passed | 0.00011 seconds |
279
+ ./spec-rspec/unit/bitcoin/script/opcodes_spec.rb[1:32] | passed | 0.00016 seconds |
280
+ ./spec-rspec/unit/bitcoin/script/opcodes_spec.rb[1:33] | passed | 0.00011 seconds |
281
+ ./spec-rspec/unit/bitcoin/script/opcodes_spec.rb[1:34] | passed | 0.00011 seconds |
282
+ ./spec-rspec/unit/bitcoin/script/opcodes_spec.rb[1:35] | passed | 0.00014 seconds |
283
+ ./spec-rspec/unit/bitcoin/script/opcodes_spec.rb[1:36] | passed | 0.00015 seconds |
284
+ ./spec-rspec/unit/bitcoin/script/opcodes_spec.rb[1:37] | passed | 0.00014 seconds |
285
+ ./spec-rspec/unit/bitcoin/script/opcodes_spec.rb[1:38] | passed | 0.00011 seconds |
286
+ ./spec-rspec/unit/bitcoin/script/opcodes_spec.rb[1:39] | passed | 0.00009 seconds |
287
+ ./spec-rspec/unit/bitcoin/script/opcodes_spec.rb[1:40] | passed | 0.00009 seconds |
288
+ ./spec-rspec/unit/bitcoin/script/opcodes_spec.rb[1:41] | passed | 0.00014 seconds |
289
+ ./spec-rspec/unit/bitcoin/script/opcodes_spec.rb[1:42] | passed | 0.00016 seconds |
290
+ ./spec-rspec/unit/bitcoin/script/opcodes_spec.rb[1:43] | passed | 0.00009 seconds |
291
+ ./spec-rspec/unit/bitcoin/script/opcodes_spec.rb[1:44] | passed | 0.00014 seconds |
292
+ ./spec-rspec/unit/bitcoin/script/opcodes_spec.rb[1:45] | passed | 0.0001 seconds |
293
+ ./spec-rspec/unit/bitcoin/script/opcodes_spec.rb[1:46] | passed | 0.00009 seconds |
294
+ ./spec-rspec/unit/bitcoin/script/opcodes_spec.rb[1:47] | passed | 0.00013 seconds |
295
+ ./spec-rspec/unit/bitcoin/script/opcodes_spec.rb[1:48] | passed | 0.00017 seconds |
296
+ ./spec-rspec/unit/bitcoin/script/opcodes_spec.rb[1:49] | passed | 0.00011 seconds |
297
+ ./spec-rspec/unit/bitcoin/script/opcodes_spec.rb[1:50] | passed | 0.00009 seconds |
298
+ ./spec-rspec/unit/bitcoin/script/opcodes_spec.rb[1:51] | passed | 0.00011 seconds |
299
+ ./spec-rspec/unit/bitcoin/script/opcodes_spec.rb[1:52] | passed | 0.00009 seconds |
300
+ ./spec-rspec/unit/bitcoin/script/opcodes_spec.rb[1:53] | passed | 0.0001 seconds |
301
+ ./spec-rspec/unit/bitcoin/script/opcodes_spec.rb[1:54] | passed | 0.00011 seconds |
302
+ ./spec-rspec/unit/bitcoin/script/opcodes_spec.rb[1:55] | passed | 0.00018 seconds |
303
+ ./spec-rspec/unit/bitcoin/script/opcodes_spec.rb[1:56] | passed | 0.00137 seconds |
304
+ ./spec-rspec/unit/bitcoin/script/opcodes_spec.rb[1:57] | passed | 0.00258 seconds |
305
+ ./spec-rspec/unit/bitcoin/script/opcodes_spec.rb[1:58] | passed | 0.02541 seconds |
306
+ ./spec-rspec/unit/bitcoin/script/opcodes_spec.rb[1:59] | passed | 0.00356 seconds |
307
+ ./spec-rspec/unit/bitcoin/script/opcodes_spec.rb[1:60] | passed | 0.00016 seconds |
308
+ ./spec-rspec/unit/bitcoin/script/opcodes_spec.rb[1:61] | passed | 0.00253 seconds |
309
+ ./spec-rspec/unit/bitcoin/script/opcodes_spec.rb[1:62] | passed | 0.00025 seconds |
310
+ ./spec-rspec/unit/bitcoin/script/opcodes_spec.rb[1:63] | passed | 0.00223 seconds |
311
+ ./spec-rspec/unit/bitcoin/script/opcodes_spec.rb[1:64] | passed | 0.00015 seconds |
312
+ ./spec-rspec/unit/bitcoin/script/opcodes_spec.rb[1:65] | passed | 0.00194 seconds |
313
+ ./spec-rspec/unit/bitcoin/script/script_spec.rb[1:1:1] | passed | 0.01711 seconds |
314
+ ./spec-rspec/unit/bitcoin/script/script_spec.rb[1:1:2] | passed | 0.00049 seconds |
315
+ ./spec-rspec/unit/bitcoin/script/script_spec.rb[1:2:1] | passed | 0.00008 seconds |
316
+ ./spec-rspec/unit/bitcoin/script/script_spec.rb[1:2:2] | passed | 0.00018 seconds |
317
+ ./spec-rspec/unit/bitcoin/script/script_spec.rb[1:2:3] | passed | 0.00011 seconds |
318
+ ./spec-rspec/unit/bitcoin/script/script_spec.rb[1:2:4] | passed | 0.00013 seconds |
319
+ ./spec-rspec/unit/bitcoin/script/script_spec.rb[1:2:5] | passed | 0.00017 seconds |
320
+ ./spec-rspec/unit/bitcoin/script/script_spec.rb[1:2:6] | passed | 0.00084 seconds |
321
+ ./spec-rspec/unit/bitcoin/script/script_spec.rb[1:2:7] | passed | 0.00013 seconds |
322
+ ./spec-rspec/unit/bitcoin/script/script_spec.rb[1:2:8] | passed | 0.0009 seconds |
323
+ ./spec-rspec/unit/bitcoin/script/script_spec.rb[1:2:9] | passed | 0.00049 seconds |
324
+ ./spec-rspec/unit/bitcoin/script/script_spec.rb[1:2:10] | passed | 0.00014 seconds |
325
+ ./spec-rspec/unit/bitcoin/script/script_spec.rb[1:3:1] | passed | 0.00018 seconds |
326
+ ./spec-rspec/unit/bitcoin/script/script_spec.rb[1:3:2] | passed | 0.00022 seconds |
327
+ ./spec-rspec/unit/bitcoin/script/script_spec.rb[1:3:3] | passed | 0.00013 seconds |
328
+ ./spec-rspec/unit/bitcoin/script/script_spec.rb[1:3:4] | passed | 0.00033 seconds |
329
+ ./spec-rspec/unit/bitcoin/script/script_spec.rb[1:3:5] | passed | 0.00023 seconds |
330
+ ./spec-rspec/unit/bitcoin/script/script_spec.rb[1:3:6] | passed | 0.00022 seconds |
331
+ ./spec-rspec/unit/bitcoin/script/script_spec.rb[1:3:7] | passed | 0.00016 seconds |
332
+ ./spec-rspec/unit/bitcoin/script/script_spec.rb[1:3:8] | passed | 0.00021 seconds |
333
+ ./spec-rspec/unit/bitcoin/script/script_spec.rb[1:3:9] | passed | 0.00024 seconds |
334
+ ./spec-rspec/unit/bitcoin/script/script_spec.rb[1:4:1] | passed | 0.00012 seconds |
335
+ ./spec-rspec/unit/bitcoin/script/script_spec.rb[1:4:2] | passed | 0.00083 seconds |
336
+ ./spec-rspec/unit/bitcoin/script/script_spec.rb[1:4:3] | passed | 0.00041 seconds |
337
+ ./spec-rspec/unit/bitcoin/script/script_spec.rb[1:4:4] | passed | 0.00026 seconds |
338
+ ./spec-rspec/unit/bitcoin/script/script_spec.rb[1:4:5] | passed | 0.0001 seconds |
339
+ ./spec-rspec/unit/bitcoin/script/script_spec.rb[1:4:6] | passed | 0.0001 seconds |
340
+ ./spec-rspec/unit/bitcoin/script/script_spec.rb[1:4:7] | passed | 0.00008 seconds |
341
+ ./spec-rspec/unit/bitcoin/script/script_spec.rb[1:4:8] | passed | 0.00083 seconds |
342
+ ./spec-rspec/unit/bitcoin/script/script_spec.rb[1:5:1] | passed | 0.00011 seconds |
343
+ ./spec-rspec/unit/bitcoin/script/script_spec.rb[1:5:2] | passed | 0.00008 seconds |
344
+ ./spec-rspec/unit/bitcoin/script/script_spec.rb[1:5:3] | passed | 0.00011 seconds |
345
+ ./spec-rspec/unit/bitcoin/script/script_spec.rb[1:5:4] | passed | 0.00008 seconds |
346
+ ./spec-rspec/unit/bitcoin/script/script_spec.rb[1:5:5] | passed | 0.00011 seconds |
347
+ ./spec-rspec/unit/bitcoin/script/script_spec.rb[1:6:1] | passed | 0.00026 seconds |
348
+ ./spec-rspec/unit/bitcoin/script/script_spec.rb[1:6:2] | passed | 0.0002 seconds |
349
+ ./spec-rspec/unit/bitcoin/script/script_spec.rb[1:6:3] | passed | 0.00016 seconds |
350
+ ./spec-rspec/unit/bitcoin/script/script_spec.rb[1:6:4] | passed | 0.00016 seconds |
351
+ ./spec-rspec/unit/bitcoin/script/script_spec.rb[1:6:5] | passed | 0.00011 seconds |
352
+ ./spec-rspec/unit/bitcoin/script/script_spec.rb[1:6:6] | passed | 0.0001 seconds |
353
+ ./spec-rspec/unit/bitcoin/script/script_spec.rb[1:6:7] | passed | 0.00021 seconds |
354
+ ./spec-rspec/unit/bitcoin/script/script_spec.rb[1:6:8] | passed | 0.00031 seconds |
355
+ ./spec-rspec/unit/bitcoin/script/script_spec.rb[1:6:9] | passed | 0.0115 seconds |
356
+ ./spec-rspec/unit/bitcoin/script/script_spec.rb[1:7] | passed | 0.00329 seconds |
357
+ ./spec-rspec/unit/bitcoin/script/script_spec.rb[1:8] | passed | 0.0004 seconds |
358
+ ./spec-rspec/unit/bitcoin/script/script_spec.rb[1:9] | passed | 0.00075 seconds |
359
+ ./spec-rspec/unit/bitcoin/script/script_spec.rb[1:10] | passed | 0.0002 seconds |
360
+ ./spec-rspec/unit/bitcoin/script/script_spec.rb[1:11] | passed | 0.04335 seconds |
361
+ ./spec-rspec/unit/bitcoin/script/script_spec.rb[1:12] | passed | 0.03512 seconds |
362
+ ./spec-rspec/unit/bitcoin/script/script_spec.rb[1:13:1] | passed | 0.00009 seconds |
363
+ ./spec-rspec/unit/bitcoin/script/script_spec.rb[1:13:2] | passed | 0.00036 seconds |
364
+ ./spec-rspec/unit/bitcoin/script/script_spec.rb[1:14:1] | passed | 0.0006 seconds |
365
+ ./spec-rspec/unit/bitcoin/script/script_spec.rb[1:14:2] | passed | 0.00062 seconds |
366
+ ./spec-rspec/unit/bitcoin/script/script_spec.rb[1:14:3] | passed | 0.00065 seconds |
367
+ ./spec-rspec/unit/bitcoin/script/script_spec.rb[1:14:4] | passed | 0.00055 seconds |
368
+ ./spec-rspec/unit/bitcoin/script/script_spec.rb[1:14:5] | passed | 0.00048 seconds |
369
+ ./spec-rspec/unit/bitcoin/script/script_spec.rb[1:14:6] | passed | 0.00048 seconds |
370
+ ./spec-rspec/unit/bitcoin/script/script_spec.rb[1:14:7] | passed | 0.00072 seconds |
371
+ ./spec-rspec/unit/bitcoin/script/script_spec.rb[1:14:8] | passed | 0.00078 seconds |
372
+ ./spec-rspec/unit/bitcoin/script/script_spec.rb[1:14:9] | passed | 0.00148 seconds |
373
+ ./spec-rspec/unit/bitcoin/script/script_spec.rb[1:14:10] | passed | 0.00104 seconds |
374
+ ./spec-rspec/unit/bitcoin/script/script_spec.rb[1:14:11] | passed | 0.00042 seconds |
375
+ ./spec-rspec/unit/bitcoin/script/script_spec.rb[1:14:12] | passed | 0.0004 seconds |
376
+ ./spec-rspec/unit/bitcoin/script/script_spec.rb[1:14:13] | passed | 0.00072 seconds |
377
+ ./spec-rspec/unit/bitcoin/script/script_spec.rb[1:14:14] | passed | 0.00087 seconds |
378
+ ./spec-rspec/unit/bitcoin/script/script_spec.rb[1:14:15] | passed | 0.0025 seconds |
379
+ ./spec-rspec/unit/bitcoin/script/script_spec.rb[1:14:16] | passed | 0.00249 seconds |
380
+ ./spec-rspec/unit/bitcoin/script/script_spec.rb[1:14:17] | passed | 0.00127 seconds |
381
+ ./spec-rspec/unit/bitcoin/script/script_spec.rb[1:14:18] | passed | 0.00122 seconds |
382
+ ./spec-rspec/unit/bitcoin/script/script_spec.rb[1:14:19] | passed | 0.00135 seconds |
383
+ ./spec-rspec/unit/bitcoin/script/script_spec.rb[1:14:20] | passed | 0.00183 seconds |
384
+ ./spec-rspec/unit/bitcoin/secp256k1_spec.rb[1:1:1] | passed | 0.0066 seconds |
385
+ ./spec-rspec/unit/bitcoin/secp256k1_spec.rb[1:1:2] | passed | 0.00717 seconds |
386
+ ./spec-rspec/unit/bitcoin/secp256k1_spec.rb[1:2:1] | passed | 0.00676 seconds |
387
+ ./spec-rspec/unit/bitcoin/secp256k1_spec.rb[1:2:2] | passed | 0.00665 seconds |
388
+ ./spec-rspec/unit/bitcoin/secp256k1_spec.rb[1:3:1] | passed | 0.02726 seconds |
389
+ ./spec-rspec/unit/bitcoin/secp256k1_spec.rb[1:3:2] | passed | 0.03326 seconds |
390
+ ./spec-rspec/unit/bitcoin/secp256k1_spec.rb[1:4:1] | passed | 0.02056 seconds |
391
+ ./spec-rspec/unit/bitcoin/secp256k1_spec.rb[1:4:2] | passed | 0.02587 seconds |
392
+ ./spec-rspec/unit/bitcoin/secp256k1_spec.rb[1:4:3:1] | passed | 0.04198 seconds |
393
+ ./spec-rspec/unit/bitcoin/trezor/mnemonic_spec.rb[1:1] | passed | 0.05505 seconds |
394
+ ./spec-rspec/unit/integrations/dogecoin_spec.rb[1:1] | passed | 0.00234 seconds |
395
+ ./spec-rspec/unit/integrations/dogecoin_spec.rb[1:2] | passed | 0.00056 seconds |
396
+ ./spec-rspec/unit/integrations/dogecoin_spec.rb[1:3] | passed | 0.00015 seconds |
397
+ ./spec-rspec/unit/integrations/dogecoin_spec.rb[1:4] | passed | 0.00114 seconds |
398
+ ./spec-rspec/unit/integrations/dogecoin_spec.rb[1:5] | passed | 0.0001 seconds |
399
+ ./spec-rspec/unit/integrations/dogecoin_spec.rb[1:6] | passed | 0.04216 seconds |