@bsv/sdk 1.3.13 → 1.3.14

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 (1251) hide show
  1. package/dist/cjs/mod.js +15 -15
  2. package/dist/cjs/mod.js.map +1 -1
  3. package/dist/cjs/package.json +7 -3
  4. package/dist/cjs/src/auth/Peer.js +71 -61
  5. package/dist/cjs/src/auth/Peer.js.map +1 -1
  6. package/dist/cjs/src/auth/SessionManager.js +10 -5
  7. package/dist/cjs/src/auth/SessionManager.js.map +1 -1
  8. package/dist/cjs/src/auth/certificates/Certificate.js +33 -30
  9. package/dist/cjs/src/auth/certificates/Certificate.js.map +1 -1
  10. package/dist/cjs/src/auth/certificates/MasterCertificate.js +36 -36
  11. package/dist/cjs/src/auth/certificates/MasterCertificate.js.map +1 -1
  12. package/dist/cjs/src/auth/certificates/VerifiableCertificate.js +9 -9
  13. package/dist/cjs/src/auth/certificates/VerifiableCertificate.js.map +1 -1
  14. package/dist/cjs/src/auth/certificates/__tests/CompletedProtoWallet.js +45 -29
  15. package/dist/cjs/src/auth/certificates/__tests/CompletedProtoWallet.js.map +1 -1
  16. package/dist/cjs/src/auth/certificates/index.js +5 -5
  17. package/dist/cjs/src/auth/certificates/index.js.map +1 -1
  18. package/dist/cjs/src/auth/clients/AuthFetch.js +65 -74
  19. package/dist/cjs/src/auth/clients/AuthFetch.js.map +1 -1
  20. package/dist/cjs/src/auth/clients/index.js +1 -1
  21. package/dist/cjs/src/auth/clients/index.js.map +1 -1
  22. package/dist/cjs/src/auth/index.js +7 -7
  23. package/dist/cjs/src/auth/index.js.map +1 -1
  24. package/dist/cjs/src/auth/transports/SimplifiedFetchTransport.js +99 -80
  25. package/dist/cjs/src/auth/transports/SimplifiedFetchTransport.js.map +1 -1
  26. package/dist/cjs/src/auth/transports/index.js +1 -1
  27. package/dist/cjs/src/auth/transports/index.js.map +1 -1
  28. package/dist/cjs/src/auth/utils/createNonce.js +6 -5
  29. package/dist/cjs/src/auth/utils/createNonce.js.map +1 -1
  30. package/dist/cjs/src/auth/utils/getVerifiableCertificates.js +2 -2
  31. package/dist/cjs/src/auth/utils/getVerifiableCertificates.js.map +1 -1
  32. package/dist/cjs/src/auth/utils/index.js +4 -4
  33. package/dist/cjs/src/auth/utils/index.js.map +1 -1
  34. package/dist/cjs/src/auth/utils/validateCertificates.js +7 -4
  35. package/dist/cjs/src/auth/utils/validateCertificates.js.map +1 -1
  36. package/dist/cjs/src/auth/utils/verifyNonce.js +5 -4
  37. package/dist/cjs/src/auth/utils/verifyNonce.js.map +1 -1
  38. package/dist/cjs/src/compat/BSM.js +16 -26
  39. package/dist/cjs/src/compat/BSM.js.map +1 -1
  40. package/dist/cjs/src/compat/ECIES.js +50 -52
  41. package/dist/cjs/src/compat/ECIES.js.map +1 -1
  42. package/dist/cjs/src/compat/HD.js +36 -46
  43. package/dist/cjs/src/compat/HD.js.map +1 -1
  44. package/dist/cjs/src/compat/Mnemonic.js +30 -39
  45. package/dist/cjs/src/compat/Mnemonic.js.map +1 -1
  46. package/dist/cjs/src/compat/Utxo.js +5 -5
  47. package/dist/cjs/src/compat/Utxo.js.map +1 -1
  48. package/dist/cjs/src/compat/index.js +16 -26
  49. package/dist/cjs/src/compat/index.js.map +1 -1
  50. package/dist/cjs/src/messages/EncryptedMessage.js +14 -14
  51. package/dist/cjs/src/messages/EncryptedMessage.js.map +1 -1
  52. package/dist/cjs/src/messages/SignedMessage.js +21 -20
  53. package/dist/cjs/src/messages/SignedMessage.js.map +1 -1
  54. package/dist/cjs/src/messages/index.js +9 -19
  55. package/dist/cjs/src/messages/index.js.map +1 -1
  56. package/dist/cjs/src/overlay-tools/LookupResolver.js +44 -32
  57. package/dist/cjs/src/overlay-tools/LookupResolver.js.map +1 -1
  58. package/dist/cjs/src/overlay-tools/OverlayAdminTokenTemplate.js +12 -12
  59. package/dist/cjs/src/overlay-tools/OverlayAdminTokenTemplate.js.map +1 -1
  60. package/dist/cjs/src/overlay-tools/SHIPBroadcaster.js +11 -10
  61. package/dist/cjs/src/overlay-tools/SHIPBroadcaster.js.map +1 -1
  62. package/dist/cjs/src/overlay-tools/index.js +8 -8
  63. package/dist/cjs/src/overlay-tools/index.js.map +1 -1
  64. package/dist/cjs/src/primitives/AESGCM.js +6 -5
  65. package/dist/cjs/src/primitives/AESGCM.js.map +1 -1
  66. package/dist/cjs/src/primitives/BasePoint.js +2 -2
  67. package/dist/cjs/src/primitives/BasePoint.js.map +1 -1
  68. package/dist/cjs/src/primitives/BigNumber.js +5 -4
  69. package/dist/cjs/src/primitives/BigNumber.js.map +1 -1
  70. package/dist/cjs/src/primitives/Curve.js +70 -36
  71. package/dist/cjs/src/primitives/Curve.js.map +1 -1
  72. package/dist/cjs/src/primitives/DRBG.js +6 -6
  73. package/dist/cjs/src/primitives/DRBG.js.map +1 -1
  74. package/dist/cjs/src/primitives/ECDSA.js +71 -55
  75. package/dist/cjs/src/primitives/ECDSA.js.map +1 -1
  76. package/dist/cjs/src/primitives/Hash.js +115 -105
  77. package/dist/cjs/src/primitives/Hash.js.map +1 -1
  78. package/dist/cjs/src/primitives/JacobianPoint.js +25 -15
  79. package/dist/cjs/src/primitives/JacobianPoint.js.map +1 -1
  80. package/dist/cjs/src/primitives/K256.js +2 -2
  81. package/dist/cjs/src/primitives/K256.js.map +1 -1
  82. package/dist/cjs/src/primitives/Mersenne.js +4 -4
  83. package/dist/cjs/src/primitives/Mersenne.js.map +1 -1
  84. package/dist/cjs/src/primitives/MontgomoryMethod.js +5 -5
  85. package/dist/cjs/src/primitives/MontgomoryMethod.js.map +1 -1
  86. package/dist/cjs/src/primitives/Point.js +114 -87
  87. package/dist/cjs/src/primitives/Point.js.map +1 -1
  88. package/dist/cjs/src/primitives/Polynomial.js +14 -14
  89. package/dist/cjs/src/primitives/Polynomial.js.map +1 -1
  90. package/dist/cjs/src/primitives/PrivateKey.js +48 -58
  91. package/dist/cjs/src/primitives/PrivateKey.js.map +1 -1
  92. package/dist/cjs/src/primitives/PublicKey.js +23 -23
  93. package/dist/cjs/src/primitives/PublicKey.js.map +1 -1
  94. package/dist/cjs/src/primitives/Random.js +2 -1
  95. package/dist/cjs/src/primitives/Random.js.map +1 -1
  96. package/dist/cjs/src/primitives/ReductionContext.js +10 -10
  97. package/dist/cjs/src/primitives/ReductionContext.js.map +1 -1
  98. package/dist/cjs/src/primitives/Schnorr.js +8 -8
  99. package/dist/cjs/src/primitives/Schnorr.js.map +1 -1
  100. package/dist/cjs/src/primitives/Signature.js +23 -23
  101. package/dist/cjs/src/primitives/Signature.js.map +1 -1
  102. package/dist/cjs/src/primitives/SymmetricKey.js +13 -13
  103. package/dist/cjs/src/primitives/SymmetricKey.js.map +1 -1
  104. package/dist/cjs/src/primitives/TransactionSignature.js +38 -38
  105. package/dist/cjs/src/primitives/TransactionSignature.js.map +1 -1
  106. package/dist/cjs/src/primitives/index.js +34 -44
  107. package/dist/cjs/src/primitives/index.js.map +1 -1
  108. package/dist/cjs/src/primitives/utils.js +38 -37
  109. package/dist/cjs/src/primitives/utils.js.map +1 -1
  110. package/dist/cjs/src/script/LockingScript.js +2 -2
  111. package/dist/cjs/src/script/LockingScript.js.map +1 -1
  112. package/dist/cjs/src/script/OP.js +3 -3
  113. package/dist/cjs/src/script/OP.js.map +1 -1
  114. package/dist/cjs/src/script/Script.js +47 -47
  115. package/dist/cjs/src/script/Script.js.map +1 -1
  116. package/dist/cjs/src/script/Spend.js +304 -311
  117. package/dist/cjs/src/script/Spend.js.map +1 -1
  118. package/dist/cjs/src/script/UnlockingScript.js +2 -2
  119. package/dist/cjs/src/script/UnlockingScript.js.map +1 -1
  120. package/dist/cjs/src/script/index.js +11 -11
  121. package/dist/cjs/src/script/index.js.map +1 -1
  122. package/dist/cjs/src/script/templates/P2PKH.js +55 -47
  123. package/dist/cjs/src/script/templates/P2PKH.js.map +1 -1
  124. package/dist/cjs/src/script/templates/PushDrop.js +57 -51
  125. package/dist/cjs/src/script/templates/PushDrop.js.map +1 -1
  126. package/dist/cjs/src/script/templates/RPuzzle.js +49 -48
  127. package/dist/cjs/src/script/templates/RPuzzle.js.map +1 -1
  128. package/dist/cjs/src/script/templates/index.js +6 -6
  129. package/dist/cjs/src/script/templates/index.js.map +1 -1
  130. package/dist/cjs/src/totp/index.js +1 -1
  131. package/dist/cjs/src/totp/index.js.map +1 -1
  132. package/dist/cjs/src/totp/totp.js +9 -8
  133. package/dist/cjs/src/totp/totp.js.map +1 -1
  134. package/dist/cjs/src/transaction/Beef.js +78 -67
  135. package/dist/cjs/src/transaction/Beef.js.map +1 -1
  136. package/dist/cjs/src/transaction/BeefParty.js +5 -5
  137. package/dist/cjs/src/transaction/BeefParty.js.map +1 -1
  138. package/dist/cjs/src/transaction/BeefTx.js +39 -33
  139. package/dist/cjs/src/transaction/BeefTx.js.map +1 -1
  140. package/dist/cjs/src/transaction/Broadcaster.js +3 -2
  141. package/dist/cjs/src/transaction/Broadcaster.js.map +1 -1
  142. package/dist/cjs/src/transaction/MerklePath.js +60 -38
  143. package/dist/cjs/src/transaction/MerklePath.js.map +1 -1
  144. package/dist/cjs/src/transaction/Transaction.js +127 -85
  145. package/dist/cjs/src/transaction/Transaction.js.map +1 -1
  146. package/dist/cjs/src/transaction/broadcasters/ARC.js +48 -43
  147. package/dist/cjs/src/transaction/broadcasters/ARC.js.map +1 -1
  148. package/dist/cjs/src/transaction/broadcasters/DefaultBroadcaster.js +4 -3
  149. package/dist/cjs/src/transaction/broadcasters/DefaultBroadcaster.js.map +1 -1
  150. package/dist/cjs/src/transaction/broadcasters/WhatsOnChainBroadcaster.js +15 -15
  151. package/dist/cjs/src/transaction/broadcasters/WhatsOnChainBroadcaster.js.map +1 -1
  152. package/dist/cjs/src/transaction/broadcasters/index.js +6 -6
  153. package/dist/cjs/src/transaction/broadcasters/index.js.map +1 -1
  154. package/dist/cjs/src/transaction/chaintrackers/DefaultChainTracker.js +4 -3
  155. package/dist/cjs/src/transaction/chaintrackers/DefaultChainTracker.js.map +1 -1
  156. package/dist/cjs/src/transaction/chaintrackers/WhatsOnChain.js +11 -11
  157. package/dist/cjs/src/transaction/chaintrackers/WhatsOnChain.js.map +1 -1
  158. package/dist/cjs/src/transaction/chaintrackers/index.js +4 -4
  159. package/dist/cjs/src/transaction/chaintrackers/index.js.map +1 -1
  160. package/dist/cjs/src/transaction/fee-models/SatoshisPerKilobyte.js +3 -3
  161. package/dist/cjs/src/transaction/fee-models/SatoshisPerKilobyte.js.map +1 -1
  162. package/dist/cjs/src/transaction/fee-models/index.js +2 -2
  163. package/dist/cjs/src/transaction/fee-models/index.js.map +1 -1
  164. package/dist/cjs/src/transaction/http/DefaultHttpClient.js +12 -10
  165. package/dist/cjs/src/transaction/http/DefaultHttpClient.js.map +1 -1
  166. package/dist/cjs/src/transaction/http/FetchHttpClient.js +2 -1
  167. package/dist/cjs/src/transaction/http/FetchHttpClient.js.map +1 -1
  168. package/dist/cjs/src/transaction/http/NodejsHttpClient.js +8 -8
  169. package/dist/cjs/src/transaction/http/NodejsHttpClient.js.map +1 -1
  170. package/dist/cjs/src/transaction/http/index.js +6 -6
  171. package/dist/cjs/src/transaction/http/index.js.map +1 -1
  172. package/dist/cjs/src/transaction/index.js +12 -12
  173. package/dist/cjs/src/transaction/index.js.map +1 -1
  174. package/dist/cjs/src/wallet/CachedKeyDeriver.js +34 -11
  175. package/dist/cjs/src/wallet/CachedKeyDeriver.js.map +1 -1
  176. package/dist/cjs/src/wallet/KeyDeriver.js +10 -9
  177. package/dist/cjs/src/wallet/KeyDeriver.js.map +1 -1
  178. package/dist/cjs/src/wallet/ProtoWallet.js +68 -31
  179. package/dist/cjs/src/wallet/ProtoWallet.js.map +1 -1
  180. package/dist/cjs/src/wallet/WalletClient.js +18 -14
  181. package/dist/cjs/src/wallet/WalletClient.js.map +1 -1
  182. package/dist/cjs/src/wallet/WalletError.js +2 -2
  183. package/dist/cjs/src/wallet/WalletError.js.map +1 -1
  184. package/dist/cjs/src/wallet/index.js +12 -12
  185. package/dist/cjs/src/wallet/index.js.map +1 -1
  186. package/dist/cjs/src/wallet/substrates/HTTPWalletJSON.js +2 -1
  187. package/dist/cjs/src/wallet/substrates/HTTPWalletJSON.js.map +1 -1
  188. package/dist/cjs/src/wallet/substrates/HTTPWalletWire.js +11 -11
  189. package/dist/cjs/src/wallet/substrates/HTTPWalletWire.js.map +1 -1
  190. package/dist/cjs/src/wallet/substrates/WalletWireCalls.js.map +1 -1
  191. package/dist/cjs/src/wallet/substrates/WalletWireProcessor.js +239 -238
  192. package/dist/cjs/src/wallet/substrates/WalletWireProcessor.js.map +1 -1
  193. package/dist/cjs/src/wallet/substrates/WalletWireTransceiver.js +311 -300
  194. package/dist/cjs/src/wallet/substrates/WalletWireTransceiver.js.map +1 -1
  195. package/dist/cjs/src/wallet/substrates/XDM.js +9 -7
  196. package/dist/cjs/src/wallet/substrates/XDM.js.map +1 -1
  197. package/dist/cjs/src/wallet/substrates/index.js +12 -12
  198. package/dist/cjs/src/wallet/substrates/index.js.map +1 -1
  199. package/dist/cjs/src/wallet/substrates/window.CWI.js +32 -32
  200. package/dist/cjs/src/wallet/substrates/window.CWI.js.map +1 -1
  201. package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  202. package/dist/esm/mod.js +15 -31
  203. package/dist/esm/mod.js.map +1 -1
  204. package/dist/esm/src/auth/Peer.js +64 -63
  205. package/dist/esm/src/auth/Peer.js.map +1 -1
  206. package/dist/esm/src/auth/SessionManager.js +11 -10
  207. package/dist/esm/src/auth/SessionManager.js.map +1 -1
  208. package/dist/esm/src/auth/certificates/Certificate.js +32 -34
  209. package/dist/esm/src/auth/certificates/Certificate.js.map +1 -1
  210. package/dist/esm/src/auth/certificates/MasterCertificate.js +36 -43
  211. package/dist/esm/src/auth/certificates/MasterCertificate.js.map +1 -1
  212. package/dist/esm/src/auth/certificates/VerifiableCertificate.js +9 -16
  213. package/dist/esm/src/auth/certificates/VerifiableCertificate.js.map +1 -1
  214. package/dist/esm/src/auth/certificates/__tests/CompletedProtoWallet.js +46 -33
  215. package/dist/esm/src/auth/certificates/__tests/CompletedProtoWallet.js.map +1 -1
  216. package/dist/esm/src/auth/certificates/index.js +4 -25
  217. package/dist/esm/src/auth/certificates/index.js.map +1 -1
  218. package/dist/esm/src/auth/clients/AuthFetch.js +66 -79
  219. package/dist/esm/src/auth/clients/AuthFetch.js.map +1 -1
  220. package/dist/esm/src/auth/clients/index.js +1 -17
  221. package/dist/esm/src/auth/clients/index.js.map +1 -1
  222. package/dist/esm/src/auth/index.js +7 -23
  223. package/dist/esm/src/auth/index.js.map +1 -1
  224. package/dist/esm/src/auth/transports/SimplifiedFetchTransport.js +99 -85
  225. package/dist/esm/src/auth/transports/SimplifiedFetchTransport.js.map +1 -1
  226. package/dist/esm/src/auth/transports/index.js +1 -17
  227. package/dist/esm/src/auth/transports/index.js.map +1 -1
  228. package/dist/esm/src/auth/types.js +1 -2
  229. package/dist/esm/src/auth/utils/createNonce.js +5 -8
  230. package/dist/esm/src/auth/utils/createNonce.js.map +1 -1
  231. package/dist/esm/src/auth/utils/getVerifiableCertificates.js +3 -7
  232. package/dist/esm/src/auth/utils/getVerifiableCertificates.js.map +1 -1
  233. package/dist/esm/src/auth/utils/index.js +4 -20
  234. package/dist/esm/src/auth/utils/index.js.map +1 -1
  235. package/dist/esm/src/auth/utils/validateCertificates.js +8 -9
  236. package/dist/esm/src/auth/utils/validateCertificates.js.map +1 -1
  237. package/dist/esm/src/auth/utils/verifyNonce.js +4 -7
  238. package/dist/esm/src/auth/utils/verifyNonce.js.map +1 -1
  239. package/dist/esm/src/compat/BSM.js +14 -56
  240. package/dist/esm/src/compat/BSM.js.map +1 -1
  241. package/dist/esm/src/compat/ECIES.js +44 -75
  242. package/dist/esm/src/compat/ECIES.js.map +1 -1
  243. package/dist/esm/src/compat/HD.js +30 -69
  244. package/dist/esm/src/compat/HD.js.map +1 -1
  245. package/dist/esm/src/compat/Mnemonic.js +24 -62
  246. package/dist/esm/src/compat/Mnemonic.js.map +1 -1
  247. package/dist/esm/src/compat/Utxo.js +5 -11
  248. package/dist/esm/src/compat/Utxo.js.map +1 -1
  249. package/dist/esm/src/compat/bip-39-wordlist-en.js +1 -4
  250. package/dist/esm/src/compat/bip-39-wordlist-en.js.map +1 -1
  251. package/dist/esm/src/compat/index.js +5 -48
  252. package/dist/esm/src/compat/index.js.map +1 -1
  253. package/dist/esm/src/messages/EncryptedMessage.js +16 -24
  254. package/dist/esm/src/messages/EncryptedMessage.js.map +1 -1
  255. package/dist/esm/src/messages/SignedMessage.js +23 -30
  256. package/dist/esm/src/messages/SignedMessage.js.map +1 -1
  257. package/dist/esm/src/messages/index.js +2 -38
  258. package/dist/esm/src/messages/index.js.map +1 -1
  259. package/dist/esm/src/overlay-tools/LookupResolver.js +46 -43
  260. package/dist/esm/src/overlay-tools/LookupResolver.js.map +1 -1
  261. package/dist/esm/src/overlay-tools/OverlayAdminTokenTemplate.js +13 -19
  262. package/dist/esm/src/overlay-tools/OverlayAdminTokenTemplate.js.map +1 -1
  263. package/dist/esm/src/overlay-tools/SHIPBroadcaster.js +13 -20
  264. package/dist/esm/src/overlay-tools/SHIPBroadcaster.js.map +1 -1
  265. package/dist/esm/src/overlay-tools/index.js +5 -28
  266. package/dist/esm/src/overlay-tools/index.js.map +1 -1
  267. package/dist/esm/src/primitives/AESGCM.js +27 -39
  268. package/dist/esm/src/primitives/AESGCM.js.map +1 -1
  269. package/dist/esm/src/primitives/BasePoint.js +3 -9
  270. package/dist/esm/src/primitives/BasePoint.js.map +1 -1
  271. package/dist/esm/src/primitives/BigNumber.js +6 -8
  272. package/dist/esm/src/primitives/BigNumber.js.map +1 -1
  273. package/dist/esm/src/primitives/Curve.js +70 -43
  274. package/dist/esm/src/primitives/Curve.js.map +1 -1
  275. package/dist/esm/src/primitives/DRBG.js +7 -10
  276. package/dist/esm/src/primitives/DRBG.js.map +1 -1
  277. package/dist/esm/src/primitives/ECDSA.js +72 -65
  278. package/dist/esm/src/primitives/ECDSA.js.map +1 -1
  279. package/dist/esm/src/primitives/Hash.js +131 -141
  280. package/dist/esm/src/primitives/Hash.js.map +1 -1
  281. package/dist/esm/src/primitives/JacobianPoint.js +24 -21
  282. package/dist/esm/src/primitives/JacobianPoint.js.map +1 -1
  283. package/dist/esm/src/primitives/K256.js +2 -8
  284. package/dist/esm/src/primitives/K256.js.map +1 -1
  285. package/dist/esm/src/primitives/Mersenne.js +5 -11
  286. package/dist/esm/src/primitives/Mersenne.js.map +1 -1
  287. package/dist/esm/src/primitives/MontgomoryMethod.js +5 -11
  288. package/dist/esm/src/primitives/MontgomoryMethod.js.map +1 -1
  289. package/dist/esm/src/primitives/Point.js +104 -93
  290. package/dist/esm/src/primitives/Point.js.map +1 -1
  291. package/dist/esm/src/primitives/Polynomial.js +16 -24
  292. package/dist/esm/src/primitives/Polynomial.js.map +1 -1
  293. package/dist/esm/src/primitives/PrivateKey.js +42 -83
  294. package/dist/esm/src/primitives/PrivateKey.js.map +1 -1
  295. package/dist/esm/src/primitives/PublicKey.js +23 -29
  296. package/dist/esm/src/primitives/PublicKey.js.map +1 -1
  297. package/dist/esm/src/primitives/Random.js +4 -5
  298. package/dist/esm/src/primitives/Random.js.map +1 -1
  299. package/dist/esm/src/primitives/ReductionContext.js +11 -17
  300. package/dist/esm/src/primitives/ReductionContext.js.map +1 -1
  301. package/dist/esm/src/primitives/Schnorr.js +9 -15
  302. package/dist/esm/src/primitives/Schnorr.js.map +1 -1
  303. package/dist/esm/src/primitives/Signature.js +24 -30
  304. package/dist/esm/src/primitives/Signature.js.map +1 -1
  305. package/dist/esm/src/primitives/SymmetricKey.js +13 -19
  306. package/dist/esm/src/primitives/SymmetricKey.js.map +1 -1
  307. package/dist/esm/src/primitives/TransactionSignature.js +29 -60
  308. package/dist/esm/src/primitives/TransactionSignature.js.map +1 -1
  309. package/dist/esm/src/primitives/index.js +14 -66
  310. package/dist/esm/src/primitives/index.js.map +1 -1
  311. package/dist/esm/src/primitives/utils.js +55 -74
  312. package/dist/esm/src/primitives/utils.js.map +1 -1
  313. package/dist/esm/src/script/LockingScript.js +2 -8
  314. package/dist/esm/src/script/LockingScript.js.map +1 -1
  315. package/dist/esm/src/script/OP.js +4 -6
  316. package/dist/esm/src/script/OP.js.map +1 -1
  317. package/dist/esm/src/script/Script.js +48 -54
  318. package/dist/esm/src/script/Script.js.map +1 -1
  319. package/dist/esm/src/script/ScriptChunk.js +1 -2
  320. package/dist/esm/src/script/ScriptTemplate.js +1 -2
  321. package/dist/esm/src/script/Spend.js +297 -334
  322. package/dist/esm/src/script/Spend.js.map +1 -1
  323. package/dist/esm/src/script/UnlockingScript.js +2 -8
  324. package/dist/esm/src/script/UnlockingScript.js.map +1 -1
  325. package/dist/esm/src/script/index.js +6 -31
  326. package/dist/esm/src/script/index.js.map +1 -1
  327. package/dist/esm/src/script/templates/P2PKH.js +53 -51
  328. package/dist/esm/src/script/templates/P2PKH.js.map +1 -1
  329. package/dist/esm/src/script/templates/PushDrop.js +54 -52
  330. package/dist/esm/src/script/templates/PushDrop.js.map +1 -1
  331. package/dist/esm/src/script/templates/RPuzzle.js +51 -55
  332. package/dist/esm/src/script/templates/RPuzzle.js.map +1 -1
  333. package/dist/esm/src/script/templates/index.js +3 -12
  334. package/dist/esm/src/script/templates/index.js.map +1 -1
  335. package/dist/esm/src/totp/index.js +1 -17
  336. package/dist/esm/src/totp/index.js.map +1 -1
  337. package/dist/esm/src/totp/totp.js +10 -16
  338. package/dist/esm/src/totp/totp.js.map +1 -1
  339. package/dist/esm/src/transaction/Beef.js +89 -86
  340. package/dist/esm/src/transaction/Beef.js.map +1 -1
  341. package/dist/esm/src/transaction/BeefParty.js +6 -10
  342. package/dist/esm/src/transaction/BeefParty.js.map +1 -1
  343. package/dist/esm/src/transaction/BeefTx.js +40 -40
  344. package/dist/esm/src/transaction/BeefTx.js.map +1 -1
  345. package/dist/esm/src/transaction/Broadcaster.js +2 -6
  346. package/dist/esm/src/transaction/Broadcaster.js.map +1 -1
  347. package/dist/esm/src/transaction/ChainTracker.js +1 -2
  348. package/dist/esm/src/transaction/FeeModel.js +1 -2
  349. package/dist/esm/src/transaction/MerklePath.js +58 -41
  350. package/dist/esm/src/transaction/MerklePath.js.map +1 -1
  351. package/dist/esm/src/transaction/Transaction.js +121 -92
  352. package/dist/esm/src/transaction/Transaction.js.map +1 -1
  353. package/dist/esm/src/transaction/TransactionInput.js +1 -2
  354. package/dist/esm/src/transaction/TransactionOutput.js +1 -2
  355. package/dist/esm/src/transaction/broadcasters/ARC.js +49 -50
  356. package/dist/esm/src/transaction/broadcasters/ARC.js.map +1 -1
  357. package/dist/esm/src/transaction/broadcasters/DefaultBroadcaster.js +3 -9
  358. package/dist/esm/src/transaction/broadcasters/DefaultBroadcaster.js.map +1 -1
  359. package/dist/esm/src/transaction/broadcasters/WhatsOnChainBroadcaster.js +16 -19
  360. package/dist/esm/src/transaction/broadcasters/WhatsOnChainBroadcaster.js.map +1 -1
  361. package/dist/esm/src/transaction/broadcasters/index.js +3 -12
  362. package/dist/esm/src/transaction/broadcasters/index.js.map +1 -1
  363. package/dist/esm/src/transaction/chaintrackers/DefaultChainTracker.js +3 -9
  364. package/dist/esm/src/transaction/chaintrackers/DefaultChainTracker.js.map +1 -1
  365. package/dist/esm/src/transaction/chaintrackers/WhatsOnChain.js +12 -15
  366. package/dist/esm/src/transaction/chaintrackers/WhatsOnChain.js.map +1 -1
  367. package/dist/esm/src/transaction/chaintrackers/index.js +2 -10
  368. package/dist/esm/src/transaction/chaintrackers/index.js.map +1 -1
  369. package/dist/esm/src/transaction/fee-models/SatoshisPerKilobyte.js +4 -7
  370. package/dist/esm/src/transaction/fee-models/SatoshisPerKilobyte.js.map +1 -1
  371. package/dist/esm/src/transaction/fee-models/index.js +1 -8
  372. package/dist/esm/src/transaction/fee-models/index.js.map +1 -1
  373. package/dist/esm/src/transaction/http/DefaultHttpClient.js +11 -13
  374. package/dist/esm/src/transaction/http/DefaultHttpClient.js.map +1 -1
  375. package/dist/esm/src/transaction/http/FetchHttpClient.js +2 -6
  376. package/dist/esm/src/transaction/http/FetchHttpClient.js.map +1 -1
  377. package/dist/esm/src/transaction/http/HttpClient.js +1 -2
  378. package/dist/esm/src/transaction/http/NodejsHttpClient.js +9 -13
  379. package/dist/esm/src/transaction/http/NodejsHttpClient.js.map +1 -1
  380. package/dist/esm/src/transaction/http/index.js +3 -9
  381. package/dist/esm/src/transaction/http/index.js.map +1 -1
  382. package/dist/esm/src/transaction/index.js +6 -32
  383. package/dist/esm/src/transaction/index.js.map +1 -1
  384. package/dist/esm/src/wallet/CachedKeyDeriver.js +35 -15
  385. package/dist/esm/src/wallet/CachedKeyDeriver.js.map +1 -1
  386. package/dist/esm/src/wallet/KeyDeriver.js +11 -15
  387. package/dist/esm/src/wallet/KeyDeriver.js.map +1 -1
  388. package/dist/esm/src/wallet/ProtoWallet.js +66 -37
  389. package/dist/esm/src/wallet/ProtoWallet.js.map +1 -1
  390. package/dist/esm/src/wallet/Wallet.interfaces.js +2 -5
  391. package/dist/esm/src/wallet/Wallet.interfaces.js.map +1 -1
  392. package/dist/esm/src/wallet/WalletClient.js +19 -21
  393. package/dist/esm/src/wallet/WalletClient.js.map +1 -1
  394. package/dist/esm/src/wallet/WalletError.js +4 -8
  395. package/dist/esm/src/wallet/WalletError.js.map +1 -1
  396. package/dist/esm/src/wallet/index.js +8 -32
  397. package/dist/esm/src/wallet/index.js.map +1 -1
  398. package/dist/esm/src/wallet/substrates/HTTPWalletJSON.js +3 -6
  399. package/dist/esm/src/wallet/substrates/HTTPWalletJSON.js.map +1 -1
  400. package/dist/esm/src/wallet/substrates/HTTPWalletWire.js +12 -18
  401. package/dist/esm/src/wallet/substrates/HTTPWalletWire.js.map +1 -1
  402. package/dist/esm/src/wallet/substrates/WalletWire.js +1 -2
  403. package/dist/esm/src/wallet/substrates/WalletWireCalls.js +1 -3
  404. package/dist/esm/src/wallet/substrates/WalletWireCalls.js.map +1 -1
  405. package/dist/esm/src/wallet/substrates/WalletWireProcessor.js +240 -245
  406. package/dist/esm/src/wallet/substrates/WalletWireProcessor.js.map +1 -1
  407. package/dist/esm/src/wallet/substrates/WalletWireTransceiver.js +305 -307
  408. package/dist/esm/src/wallet/substrates/WalletWireTransceiver.js.map +1 -1
  409. package/dist/esm/src/wallet/substrates/XDM.js +10 -11
  410. package/dist/esm/src/wallet/substrates/XDM.js.map +1 -1
  411. package/dist/esm/src/wallet/substrates/index.js +7 -32
  412. package/dist/esm/src/wallet/substrates/index.js.map +1 -1
  413. package/dist/esm/src/wallet/substrates/window.CWI.js +33 -36
  414. package/dist/esm/src/wallet/substrates/window.CWI.js.map +1 -1
  415. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
  416. package/dist/types/mod.d.ts +15 -15
  417. package/dist/types/mod.d.ts.map +1 -1
  418. package/dist/types/src/auth/Peer.d.ts +4 -4
  419. package/dist/types/src/auth/Peer.d.ts.map +1 -1
  420. package/dist/types/src/auth/SessionManager.d.ts +1 -1
  421. package/dist/types/src/auth/SessionManager.d.ts.map +1 -1
  422. package/dist/types/src/auth/certificates/Certificate.d.ts +6 -6
  423. package/dist/types/src/auth/certificates/Certificate.d.ts.map +1 -1
  424. package/dist/types/src/auth/certificates/MasterCertificate.d.ts +6 -6
  425. package/dist/types/src/auth/certificates/MasterCertificate.d.ts.map +1 -1
  426. package/dist/types/src/auth/certificates/VerifiableCertificate.d.ts +2 -2
  427. package/dist/types/src/auth/certificates/VerifiableCertificate.d.ts.map +1 -1
  428. package/dist/types/src/auth/certificates/__tests/CompletedProtoWallet.d.ts +23 -22
  429. package/dist/types/src/auth/certificates/__tests/CompletedProtoWallet.d.ts.map +1 -1
  430. package/dist/types/src/auth/certificates/index.d.ts +4 -4
  431. package/dist/types/src/auth/certificates/index.d.ts.map +1 -1
  432. package/dist/types/src/auth/clients/AuthFetch.d.ts +9 -9
  433. package/dist/types/src/auth/clients/AuthFetch.d.ts.map +1 -1
  434. package/dist/types/src/auth/clients/index.d.ts +1 -1
  435. package/dist/types/src/auth/clients/index.d.ts.map +1 -1
  436. package/dist/types/src/auth/index.d.ts +7 -7
  437. package/dist/types/src/auth/index.d.ts.map +1 -1
  438. package/dist/types/src/auth/transports/SimplifiedFetchTransport.d.ts +1 -1
  439. package/dist/types/src/auth/transports/SimplifiedFetchTransport.d.ts.map +1 -1
  440. package/dist/types/src/auth/transports/index.d.ts +1 -1
  441. package/dist/types/src/auth/transports/index.d.ts.map +1 -1
  442. package/dist/types/src/auth/types.d.ts +1 -1
  443. package/dist/types/src/auth/types.d.ts.map +1 -1
  444. package/dist/types/src/auth/utils/createNonce.d.ts +1 -1
  445. package/dist/types/src/auth/utils/createNonce.d.ts.map +1 -1
  446. package/dist/types/src/auth/utils/getVerifiableCertificates.d.ts +3 -3
  447. package/dist/types/src/auth/utils/getVerifiableCertificates.d.ts.map +1 -1
  448. package/dist/types/src/auth/utils/index.d.ts +4 -4
  449. package/dist/types/src/auth/utils/index.d.ts.map +1 -1
  450. package/dist/types/src/auth/utils/validateCertificates.d.ts +2 -2
  451. package/dist/types/src/auth/utils/validateCertificates.d.ts.map +1 -1
  452. package/dist/types/src/auth/utils/verifyNonce.d.ts +1 -1
  453. package/dist/types/src/auth/utils/verifyNonce.d.ts.map +1 -1
  454. package/dist/types/src/compat/BSM.d.ts +4 -4
  455. package/dist/types/src/compat/BSM.d.ts.map +1 -1
  456. package/dist/types/src/compat/ECIES.d.ts +2 -2
  457. package/dist/types/src/compat/ECIES.d.ts.map +1 -1
  458. package/dist/types/src/compat/HD.d.ts +2 -2
  459. package/dist/types/src/compat/HD.d.ts.map +1 -1
  460. package/dist/types/src/compat/Mnemonic.d.ts.map +1 -1
  461. package/dist/types/src/compat/Utxo.d.ts +3 -3
  462. package/dist/types/src/compat/Utxo.d.ts.map +1 -1
  463. package/dist/types/src/compat/index.d.ts +5 -5
  464. package/dist/types/src/compat/index.d.ts.map +1 -1
  465. package/dist/types/src/messages/EncryptedMessage.d.ts +2 -2
  466. package/dist/types/src/messages/EncryptedMessage.d.ts.map +1 -1
  467. package/dist/types/src/messages/SignedMessage.d.ts +2 -2
  468. package/dist/types/src/messages/SignedMessage.d.ts.map +1 -1
  469. package/dist/types/src/messages/index.d.ts +2 -2
  470. package/dist/types/src/messages/index.d.ts.map +1 -1
  471. package/dist/types/src/overlay-tools/LookupResolver.d.ts.map +1 -1
  472. package/dist/types/src/overlay-tools/OverlayAdminTokenTemplate.d.ts +4 -4
  473. package/dist/types/src/overlay-tools/OverlayAdminTokenTemplate.d.ts.map +1 -1
  474. package/dist/types/src/overlay-tools/SHIPBroadcaster.d.ts +2 -2
  475. package/dist/types/src/overlay-tools/SHIPBroadcaster.d.ts.map +1 -1
  476. package/dist/types/src/overlay-tools/index.d.ts +5 -5
  477. package/dist/types/src/overlay-tools/index.d.ts.map +1 -1
  478. package/dist/types/src/primitives/AESGCM.d.ts.map +1 -1
  479. package/dist/types/src/primitives/BasePoint.d.ts +9 -9
  480. package/dist/types/src/primitives/BasePoint.d.ts.map +1 -1
  481. package/dist/types/src/primitives/BigNumber.d.ts +1 -1
  482. package/dist/types/src/primitives/BigNumber.d.ts.map +1 -1
  483. package/dist/types/src/primitives/Curve.d.ts +17 -10
  484. package/dist/types/src/primitives/Curve.d.ts.map +1 -1
  485. package/dist/types/src/primitives/DRBG.d.ts +1 -1
  486. package/dist/types/src/primitives/DRBG.d.ts.map +1 -1
  487. package/dist/types/src/primitives/ECDSA.d.ts +4 -4
  488. package/dist/types/src/primitives/ECDSA.d.ts.map +1 -1
  489. package/dist/types/src/primitives/Hash.d.ts +11 -11
  490. package/dist/types/src/primitives/Hash.d.ts.map +1 -1
  491. package/dist/types/src/primitives/JacobianPoint.d.ts +3 -3
  492. package/dist/types/src/primitives/JacobianPoint.d.ts.map +1 -1
  493. package/dist/types/src/primitives/K256.d.ts +2 -2
  494. package/dist/types/src/primitives/K256.d.ts.map +1 -1
  495. package/dist/types/src/primitives/Mersenne.d.ts +1 -1
  496. package/dist/types/src/primitives/Mersenne.d.ts.map +1 -1
  497. package/dist/types/src/primitives/MontgomoryMethod.d.ts +2 -2
  498. package/dist/types/src/primitives/MontgomoryMethod.d.ts.map +1 -1
  499. package/dist/types/src/primitives/Point.d.ts +3 -3
  500. package/dist/types/src/primitives/Point.d.ts.map +1 -1
  501. package/dist/types/src/primitives/Polynomial.d.ts +2 -2
  502. package/dist/types/src/primitives/Polynomial.d.ts.map +1 -1
  503. package/dist/types/src/primitives/PrivateKey.d.ts +7 -7
  504. package/dist/types/src/primitives/PrivateKey.d.ts.map +1 -1
  505. package/dist/types/src/primitives/PublicKey.d.ts +4 -4
  506. package/dist/types/src/primitives/PublicKey.d.ts.map +1 -1
  507. package/dist/types/src/primitives/Random.d.ts.map +1 -1
  508. package/dist/types/src/primitives/ReductionContext.d.ts +2 -2
  509. package/dist/types/src/primitives/ReductionContext.d.ts.map +1 -1
  510. package/dist/types/src/primitives/Schnorr.d.ts +3 -3
  511. package/dist/types/src/primitives/Schnorr.d.ts.map +1 -1
  512. package/dist/types/src/primitives/Signature.d.ts +3 -3
  513. package/dist/types/src/primitives/Signature.d.ts.map +1 -1
  514. package/dist/types/src/primitives/SymmetricKey.d.ts +1 -1
  515. package/dist/types/src/primitives/SymmetricKey.d.ts.map +1 -1
  516. package/dist/types/src/primitives/TransactionSignature.d.ts +5 -5
  517. package/dist/types/src/primitives/TransactionSignature.d.ts.map +1 -1
  518. package/dist/types/src/primitives/index.d.ts +14 -14
  519. package/dist/types/src/primitives/index.d.ts.map +1 -1
  520. package/dist/types/src/primitives/utils.d.ts +4 -7
  521. package/dist/types/src/primitives/utils.d.ts.map +1 -1
  522. package/dist/types/src/script/LockingScript.d.ts +1 -1
  523. package/dist/types/src/script/LockingScript.d.ts.map +1 -1
  524. package/dist/types/src/script/Script.d.ts +2 -2
  525. package/dist/types/src/script/Script.d.ts.map +1 -1
  526. package/dist/types/src/script/ScriptTemplate.d.ts +5 -5
  527. package/dist/types/src/script/ScriptTemplate.d.ts.map +1 -1
  528. package/dist/types/src/script/Spend.d.ts +4 -4
  529. package/dist/types/src/script/Spend.d.ts.map +1 -1
  530. package/dist/types/src/script/UnlockingScript.d.ts +1 -1
  531. package/dist/types/src/script/UnlockingScript.d.ts.map +1 -1
  532. package/dist/types/src/script/index.d.ts +7 -7
  533. package/dist/types/src/script/index.d.ts.map +1 -1
  534. package/dist/types/src/script/templates/P2PKH.d.ts +7 -7
  535. package/dist/types/src/script/templates/P2PKH.d.ts.map +1 -1
  536. package/dist/types/src/script/templates/PushDrop.d.ts +6 -7
  537. package/dist/types/src/script/templates/PushDrop.d.ts.map +1 -1
  538. package/dist/types/src/script/templates/RPuzzle.d.ts +9 -9
  539. package/dist/types/src/script/templates/RPuzzle.d.ts.map +1 -1
  540. package/dist/types/src/script/templates/index.d.ts +3 -3
  541. package/dist/types/src/script/templates/index.d.ts.map +1 -1
  542. package/dist/types/src/totp/index.d.ts +1 -1
  543. package/dist/types/src/totp/index.d.ts.map +1 -1
  544. package/dist/types/src/totp/totp.d.ts.map +1 -1
  545. package/dist/types/src/transaction/Beef.d.ts +10 -10
  546. package/dist/types/src/transaction/Beef.d.ts.map +1 -1
  547. package/dist/types/src/transaction/BeefParty.d.ts +1 -1
  548. package/dist/types/src/transaction/BeefParty.d.ts.map +1 -1
  549. package/dist/types/src/transaction/BeefTx.d.ts +4 -4
  550. package/dist/types/src/transaction/BeefTx.d.ts.map +1 -1
  551. package/dist/types/src/transaction/Broadcaster.d.ts +1 -1
  552. package/dist/types/src/transaction/Broadcaster.d.ts.map +1 -1
  553. package/dist/types/src/transaction/FeeModel.d.ts +1 -1
  554. package/dist/types/src/transaction/FeeModel.d.ts.map +1 -1
  555. package/dist/types/src/transaction/MerklePath.d.ts +2 -2
  556. package/dist/types/src/transaction/MerklePath.d.ts.map +1 -1
  557. package/dist/types/src/transaction/Transaction.d.ts +7 -7
  558. package/dist/types/src/transaction/Transaction.d.ts.map +1 -1
  559. package/dist/types/src/transaction/TransactionInput.d.ts +2 -2
  560. package/dist/types/src/transaction/TransactionInput.d.ts.map +1 -1
  561. package/dist/types/src/transaction/TransactionOutput.d.ts +1 -1
  562. package/dist/types/src/transaction/TransactionOutput.d.ts.map +1 -1
  563. package/dist/types/src/transaction/broadcasters/ARC.d.ts +4 -4
  564. package/dist/types/src/transaction/broadcasters/ARC.d.ts.map +1 -1
  565. package/dist/types/src/transaction/broadcasters/DefaultBroadcaster.d.ts +2 -2
  566. package/dist/types/src/transaction/broadcasters/DefaultBroadcaster.d.ts.map +1 -1
  567. package/dist/types/src/transaction/broadcasters/WhatsOnChainBroadcaster.d.ts +4 -4
  568. package/dist/types/src/transaction/broadcasters/WhatsOnChainBroadcaster.d.ts.map +1 -1
  569. package/dist/types/src/transaction/broadcasters/index.d.ts +4 -4
  570. package/dist/types/src/transaction/broadcasters/index.d.ts.map +1 -1
  571. package/dist/types/src/transaction/chaintrackers/DefaultChainTracker.d.ts +1 -1
  572. package/dist/types/src/transaction/chaintrackers/DefaultChainTracker.d.ts.map +1 -1
  573. package/dist/types/src/transaction/chaintrackers/WhatsOnChain.d.ts +3 -3
  574. package/dist/types/src/transaction/chaintrackers/WhatsOnChain.d.ts.map +1 -1
  575. package/dist/types/src/transaction/chaintrackers/index.d.ts +3 -3
  576. package/dist/types/src/transaction/chaintrackers/index.d.ts.map +1 -1
  577. package/dist/types/src/transaction/fee-models/SatoshisPerKilobyte.d.ts +2 -2
  578. package/dist/types/src/transaction/fee-models/SatoshisPerKilobyte.d.ts.map +1 -1
  579. package/dist/types/src/transaction/fee-models/index.d.ts +1 -1
  580. package/dist/types/src/transaction/fee-models/index.d.ts.map +1 -1
  581. package/dist/types/src/transaction/http/DefaultHttpClient.d.ts +1 -1
  582. package/dist/types/src/transaction/http/DefaultHttpClient.d.ts.map +1 -1
  583. package/dist/types/src/transaction/http/FetchHttpClient.d.ts +1 -1
  584. package/dist/types/src/transaction/http/FetchHttpClient.d.ts.map +1 -1
  585. package/dist/types/src/transaction/http/HttpClient.d.ts.map +1 -1
  586. package/dist/types/src/transaction/http/NodejsHttpClient.d.ts +1 -1
  587. package/dist/types/src/transaction/http/NodejsHttpClient.d.ts.map +1 -1
  588. package/dist/types/src/transaction/http/index.d.ts +6 -6
  589. package/dist/types/src/transaction/http/index.d.ts.map +1 -1
  590. package/dist/types/src/transaction/index.d.ts +10 -10
  591. package/dist/types/src/transaction/index.d.ts.map +1 -1
  592. package/dist/types/src/wallet/CachedKeyDeriver.d.ts +3 -3
  593. package/dist/types/src/wallet/CachedKeyDeriver.d.ts.map +1 -1
  594. package/dist/types/src/wallet/KeyDeriver.d.ts +2 -2
  595. package/dist/types/src/wallet/KeyDeriver.d.ts.map +1 -1
  596. package/dist/types/src/wallet/ProtoWallet.d.ts +12 -12
  597. package/dist/types/src/wallet/ProtoWallet.d.ts.map +1 -1
  598. package/dist/types/src/wallet/Wallet.interfaces.d.ts +7 -8
  599. package/dist/types/src/wallet/Wallet.interfaces.d.ts.map +1 -1
  600. package/dist/types/src/wallet/WalletClient.d.ts +6 -6
  601. package/dist/types/src/wallet/WalletClient.d.ts.map +1 -1
  602. package/dist/types/src/wallet/index.d.ts +8 -8
  603. package/dist/types/src/wallet/index.d.ts.map +1 -1
  604. package/dist/types/src/wallet/substrates/HTTPWalletJSON.d.ts +7 -7
  605. package/dist/types/src/wallet/substrates/HTTPWalletJSON.d.ts.map +1 -1
  606. package/dist/types/src/wallet/substrates/HTTPWalletWire.d.ts +1 -1
  607. package/dist/types/src/wallet/substrates/HTTPWalletWire.d.ts.map +1 -1
  608. package/dist/types/src/wallet/substrates/WalletWire.d.ts.map +1 -1
  609. package/dist/types/src/wallet/substrates/WalletWireCalls.d.ts.map +1 -1
  610. package/dist/types/src/wallet/substrates/WalletWireProcessor.d.ts +2 -2
  611. package/dist/types/src/wallet/substrates/WalletWireProcessor.d.ts.map +1 -1
  612. package/dist/types/src/wallet/substrates/WalletWireTransceiver.d.ts +10 -10
  613. package/dist/types/src/wallet/substrates/WalletWireTransceiver.d.ts.map +1 -1
  614. package/dist/types/src/wallet/substrates/XDM.d.ts +2 -2
  615. package/dist/types/src/wallet/substrates/XDM.d.ts.map +1 -1
  616. package/dist/types/src/wallet/substrates/index.d.ts +7 -7
  617. package/dist/types/src/wallet/substrates/index.d.ts.map +1 -1
  618. package/dist/types/src/wallet/substrates/window.CWI.d.ts +25 -25
  619. package/dist/types/src/wallet/substrates/window.CWI.d.ts.map +1 -1
  620. package/dist/types/tsconfig.types.tsbuildinfo +1 -1
  621. package/dist/umd/bundle.js +1 -1
  622. package/docs/auth.md +43 -37
  623. package/docs/primitives.md +97 -73
  624. package/docs/script.md +4 -4
  625. package/docs/swagger/dist/swagger-initializer.js +7 -7
  626. package/docs/swagger/dist/swagger-ui-bundle.js +1 -1
  627. package/docs/swagger/dist/swagger-ui-es-bundle-core.js +2 -2
  628. package/docs/swagger/dist/swagger-ui-es-bundle.js +1 -1
  629. package/docs/swagger/dist/swagger-ui-standalone-preset.js +1 -1
  630. package/docs/swagger/dist/swagger-ui.js +2 -2
  631. package/docs/transaction.md +27 -27
  632. package/docs/wallet-substrates.md +13 -13
  633. package/docs/wallet.md +80 -82
  634. package/mod.ts +15 -15
  635. package/package.json +7 -3
  636. package/src/auth/Peer.ts +75 -70
  637. package/src/auth/SessionManager.ts +11 -6
  638. package/src/auth/__tests/Peer.test.ts +141 -114
  639. package/src/auth/__tests/SessionManager.test.ts +67 -19
  640. package/src/auth/__tests/build.test.ts +11 -0
  641. package/src/auth/certificates/Certificate.ts +15 -12
  642. package/src/auth/certificates/MasterCertificate.ts +24 -33
  643. package/src/auth/certificates/VerifiableCertificate.ts +6 -4
  644. package/src/auth/certificates/__tests/Certificate.test.ts +140 -139
  645. package/src/auth/certificates/__tests/CompletedProtoWallet.ts +88 -74
  646. package/src/auth/certificates/__tests/MasterCertificate.test.ts +7 -15
  647. package/src/auth/certificates/__tests/VerifiableCertificate.test.ts +1 -6
  648. package/src/auth/certificates/index.ts +4 -4
  649. package/src/auth/clients/AuthFetch.ts +232 -316
  650. package/src/auth/clients/index.ts +1 -1
  651. package/src/auth/index.ts +7 -7
  652. package/src/auth/transports/SimplifiedFetchTransport.ts +185 -154
  653. package/src/auth/transports/index.ts +1 -1
  654. package/src/auth/types.ts +1 -1
  655. package/src/auth/utils/__tests/cryptononce.test.ts +7 -5
  656. package/src/auth/utils/__tests/getVerifiableCertificates.test.ts +12 -12
  657. package/src/auth/utils/__tests/validateCertificates.test.ts +113 -103
  658. package/src/auth/utils/createNonce.ts +1 -1
  659. package/src/auth/utils/getVerifiableCertificates.ts +4 -4
  660. package/src/auth/utils/index.ts +4 -4
  661. package/src/auth/utils/validateCertificates.ts +9 -5
  662. package/src/auth/utils/verifyNonce.ts +1 -1
  663. package/src/compat/BSM.ts +7 -7
  664. package/src/compat/ECIES.ts +38 -30
  665. package/src/compat/HD.ts +12 -13
  666. package/src/compat/Mnemonic.ts +16 -14
  667. package/src/compat/Utxo.ts +4 -4
  668. package/src/compat/__tests/BSM.test.ts +5 -6
  669. package/src/compat/__tests/HD.test.ts +6 -4
  670. package/src/compat/__tests/Mnemonic.test.ts +144 -145
  671. package/src/compat/__tests/Mnemonic.vectors.ts +110 -55
  672. package/src/compat/index.ts +5 -5
  673. package/src/messages/EncryptedMessage.ts +5 -5
  674. package/src/messages/SignedMessage.ts +7 -6
  675. package/src/messages/__tests/EncryptedMessage.test.ts +39 -39
  676. package/src/messages/__tests/SignedMessage.test.ts +49 -49
  677. package/src/messages/index.ts +2 -2
  678. package/src/overlay-tools/LookupResolver.ts +52 -32
  679. package/src/overlay-tools/OverlayAdminTokenTemplate.ts +9 -5
  680. package/src/overlay-tools/SHIPBroadcaster.ts +8 -7
  681. package/src/overlay-tools/index.ts +5 -5
  682. package/src/primitives/AESGCM.ts +2 -0
  683. package/src/primitives/BasePoint.ts +5 -5
  684. package/src/primitives/BigNumber.ts +8 -6
  685. package/src/primitives/Curve.ts +79 -27
  686. package/src/primitives/DRBG.ts +3 -3
  687. package/src/primitives/ECDSA.ts +62 -42
  688. package/src/primitives/Hash.ts +215 -163
  689. package/src/primitives/JacobianPoint.ts +19 -5
  690. package/src/primitives/K256.ts +2 -2
  691. package/src/primitives/Mersenne.ts +1 -1
  692. package/src/primitives/MontgomoryMethod.ts +2 -2
  693. package/src/primitives/Point.ts +98 -76
  694. package/src/primitives/Polynomial.ts +6 -6
  695. package/src/primitives/PrivateKey.ts +24 -24
  696. package/src/primitives/PublicKey.ts +8 -8
  697. package/src/primitives/Random.ts +7 -3
  698. package/src/primitives/ReductionContext.ts +3 -3
  699. package/src/primitives/Schnorr.ts +5 -5
  700. package/src/primitives/Signature.ts +14 -12
  701. package/src/primitives/SymmetricKey.ts +5 -5
  702. package/src/primitives/TransactionSignature.ts +26 -13
  703. package/src/primitives/__tests/AESGCM.test.ts +403 -403
  704. package/src/primitives/__tests/BRC42.private.vectors.ts +30 -15
  705. package/src/primitives/__tests/BRC42.public.vectors.ts +30 -15
  706. package/src/primitives/__tests/BigNumber.arithmatic.test.ts +563 -563
  707. package/src/primitives/__tests/BigNumber.binary.test.ts +211 -211
  708. package/src/primitives/__tests/BigNumber.constructor.test.ts +8 -4
  709. package/src/primitives/__tests/BigNumber.dhGroup.test.ts +15 -15
  710. package/src/primitives/__tests/BigNumber.fixtures.ts +16 -8
  711. package/src/primitives/__tests/BigNumber.serializers.test.ts +169 -169
  712. package/src/primitives/__tests/BigNumber.utils.test.ts +328 -328
  713. package/src/primitives/__tests/Curve.unit.test.ts +152 -145
  714. package/src/primitives/__tests/DRBG.test.ts +13 -13
  715. package/src/primitives/__tests/DRBG.vectors.ts +45 -75
  716. package/src/primitives/__tests/ECDSA.test.ts +51 -51
  717. package/src/primitives/__tests/HMAC.test.ts +46 -46
  718. package/src/primitives/__tests/Hash.test.ts +83 -83
  719. package/src/primitives/__tests/PBKDF2.vectors.ts +130 -117
  720. package/src/primitives/__tests/PrivateKey.split.test.ts +6 -4
  721. package/src/primitives/__tests/PrivateKey.test.ts +53 -55
  722. package/src/primitives/__tests/PublicKey.test.ts +59 -57
  723. package/src/primitives/__tests/Random.test.ts +10 -10
  724. package/src/primitives/__tests/ReductionContext.test.ts +222 -222
  725. package/src/primitives/__tests/Schnorr.test.ts +150 -148
  726. package/src/primitives/__tests/SymmetricKey.test.ts +44 -44
  727. package/src/primitives/__tests/SymmetricKey.vectors.ts +16 -8
  728. package/src/primitives/__tests/bug-31.test.ts +23 -29
  729. package/src/primitives/__tests/utils.test.ts +1 -1
  730. package/src/primitives/index.ts +14 -14
  731. package/src/primitives/utils.ts +25 -26
  732. package/src/script/LockingScript.ts +1 -1
  733. package/src/script/Script.ts +13 -11
  734. package/src/script/ScriptTemplate.ts +5 -5
  735. package/src/script/Spend.ts +27 -25
  736. package/src/script/UnlockingScript.ts +1 -1
  737. package/src/script/__tests/Script.test.ts +7 -3
  738. package/src/script/__tests/Spend.test.ts +23 -18
  739. package/src/script/__tests/SpendComplex.test.ts +27 -31
  740. package/src/script/__tests/script.invalid.vectors.ts +428 -1796
  741. package/src/script/__tests/script.valid.vectors.ts +1064 -1064
  742. package/src/script/index.ts +7 -7
  743. package/src/script/templates/P2PKH.ts +72 -61
  744. package/src/script/templates/PushDrop.ts +101 -95
  745. package/src/script/templates/RPuzzle.ts +65 -62
  746. package/src/script/templates/__tests/PushDrop.test.ts +2 -3
  747. package/src/script/templates/index.ts +3 -3
  748. package/src/totp/__tests/totp.test.ts +12 -11
  749. package/src/totp/index.ts +1 -1
  750. package/src/totp/totp.ts +5 -4
  751. package/src/transaction/Beef.ts +84 -59
  752. package/src/transaction/BeefParty.ts +9 -7
  753. package/src/transaction/BeefTx.ts +32 -26
  754. package/src/transaction/Broadcaster.ts +1 -1
  755. package/src/transaction/FeeModel.ts +1 -2
  756. package/src/transaction/MerklePath.ts +58 -37
  757. package/src/transaction/Transaction.ts +127 -103
  758. package/src/transaction/TransactionInput.ts +2 -2
  759. package/src/transaction/TransactionOutput.ts +1 -2
  760. package/src/transaction/__tests/Beef.test.ts +109 -68
  761. package/src/transaction/__tests/MerklePath.test.ts +132 -131
  762. package/src/transaction/__tests/Transaction.benchmarks.test.ts +10 -13
  763. package/src/transaction/__tests/Transaction.test.ts +20 -31
  764. package/src/transaction/__tests/bigtx.vectors.ts +2 -1
  765. package/src/transaction/__tests/bump.invalid.vectors.ts +24 -6
  766. package/src/transaction/__tests/bump.valid.vectors.ts +6 -2
  767. package/src/transaction/__tests/tx.invalid.vectors.ts +881 -185
  768. package/src/transaction/__tests/tx.valid.vectors.ts +1210 -257
  769. package/src/transaction/broadcasters/ARC.ts +117 -112
  770. package/src/transaction/broadcasters/DefaultBroadcaster.ts +4 -4
  771. package/src/transaction/broadcasters/WhatsOnChainBroadcaster.ts +32 -32
  772. package/src/transaction/broadcasters/__tests/ARC.test.ts +63 -27
  773. package/src/transaction/broadcasters/__tests/WhatsOnChainBroadcaster.test.ts +9 -8
  774. package/src/transaction/broadcasters/index.ts +4 -4
  775. package/src/transaction/chaintrackers/DefaultChainTracker.ts +3 -3
  776. package/src/transaction/chaintrackers/WhatsOnChain.ts +39 -38
  777. package/src/transaction/chaintrackers/__tests/WhatsOnChainChainTracker.test.ts +99 -99
  778. package/src/transaction/chaintrackers/index.ts +3 -3
  779. package/src/transaction/fee-models/SatoshisPerKilobyte.ts +30 -31
  780. package/src/transaction/fee-models/index.ts +1 -1
  781. package/src/transaction/http/DefaultHttpClient.ts +14 -13
  782. package/src/transaction/http/FetchHttpClient.ts +3 -3
  783. package/src/transaction/http/HttpClient.ts +20 -20
  784. package/src/transaction/http/NodejsHttpClient.ts +27 -27
  785. package/src/transaction/http/index.ts +7 -7
  786. package/src/transaction/index.ts +10 -10
  787. package/src/wallet/CachedKeyDeriver.ts +39 -16
  788. package/src/wallet/KeyDeriver.ts +4 -4
  789. package/src/wallet/ProtoWallet.ts +77 -44
  790. package/src/wallet/Wallet.interfaces.ts +10 -8
  791. package/src/wallet/WalletClient.ts +21 -24
  792. package/src/wallet/WalletError.ts +2 -2
  793. package/src/wallet/__tests/CachedKeyDeriver.test.ts +15 -12
  794. package/src/wallet/__tests/KeyDeriver.test.ts +115 -115
  795. package/src/wallet/__tests/ProtoWallet.test.ts +320 -313
  796. package/src/wallet/index.ts +8 -8
  797. package/src/wallet/substrates/HTTPWalletJSON.ts +54 -40
  798. package/src/wallet/substrates/HTTPWalletWire.ts +27 -27
  799. package/src/wallet/substrates/WalletWire.ts +1 -1
  800. package/src/wallet/substrates/WalletWireCalls.ts +2 -2
  801. package/src/wallet/substrates/WalletWireProcessor.ts +966 -967
  802. package/src/wallet/substrates/WalletWireTransceiver.ts +1012 -1007
  803. package/src/wallet/substrates/XDM.ts +18 -19
  804. package/src/wallet/substrates/__tests/WalletWire.integration.test.ts +6 -4
  805. package/src/wallet/substrates/__tests/XDM.test.ts +343 -341
  806. package/src/wallet/substrates/index.ts +7 -7
  807. package/src/wallet/substrates/window.CWI.ts +330 -330
  808. package/dist/cjs/src/auth/__tests/Peer.test.js +0 -446
  809. package/dist/cjs/src/auth/__tests/Peer.test.js.map +0 -1
  810. package/dist/cjs/src/auth/__tests/SessionManager.test.js +0 -69
  811. package/dist/cjs/src/auth/__tests/SessionManager.test.js.map +0 -1
  812. package/dist/cjs/src/auth/certificates/__tests/Certificate.test.js +0 -182
  813. package/dist/cjs/src/auth/certificates/__tests/Certificate.test.js.map +0 -1
  814. package/dist/cjs/src/auth/certificates/__tests/MasterCertificate.test.js +0 -184
  815. package/dist/cjs/src/auth/certificates/__tests/MasterCertificate.test.js.map +0 -1
  816. package/dist/cjs/src/auth/certificates/__tests/VerifiableCertificate.test.js +0 -75
  817. package/dist/cjs/src/auth/certificates/__tests/VerifiableCertificate.test.js.map +0 -1
  818. package/dist/cjs/src/auth/utils/__tests/cryptononce.test.js +0 -101
  819. package/dist/cjs/src/auth/utils/__tests/cryptononce.test.js.map +0 -1
  820. package/dist/cjs/src/auth/utils/__tests/getVerifiableCertificates.test.js +0 -106
  821. package/dist/cjs/src/auth/utils/__tests/getVerifiableCertificates.test.js.map +0 -1
  822. package/dist/cjs/src/auth/utils/__tests/validateCertificates.test.js +0 -111
  823. package/dist/cjs/src/auth/utils/__tests/validateCertificates.test.js.map +0 -1
  824. package/dist/cjs/src/compat/__tests/BSM.test.js +0 -69
  825. package/dist/cjs/src/compat/__tests/BSM.test.js.map +0 -1
  826. package/dist/cjs/src/compat/__tests/ECIES.test.js +0 -115
  827. package/dist/cjs/src/compat/__tests/ECIES.test.js.map +0 -1
  828. package/dist/cjs/src/compat/__tests/HD.test.js +0 -336
  829. package/dist/cjs/src/compat/__tests/HD.test.js.map +0 -1
  830. package/dist/cjs/src/compat/__tests/Mnemonic.test.js +0 -150
  831. package/dist/cjs/src/compat/__tests/Mnemonic.test.js.map +0 -1
  832. package/dist/cjs/src/compat/__tests/Mnemonic.vectors.js +0 -175
  833. package/dist/cjs/src/compat/__tests/Mnemonic.vectors.js.map +0 -1
  834. package/dist/cjs/src/messages/__tests/EncryptedMessage.test.js +0 -57
  835. package/dist/cjs/src/messages/__tests/EncryptedMessage.test.js.map +0 -1
  836. package/dist/cjs/src/messages/__tests/SignedMessage.test.js +0 -52
  837. package/dist/cjs/src/messages/__tests/SignedMessage.test.js.map +0 -1
  838. package/dist/cjs/src/overlay-tools/__tests/LookupResolver.test.js +0 -1471
  839. package/dist/cjs/src/overlay-tools/__tests/LookupResolver.test.js.map +0 -1
  840. package/dist/cjs/src/overlay-tools/__tests/OverlayAdminTokenTemplate.test.js +0 -78
  841. package/dist/cjs/src/overlay-tools/__tests/OverlayAdminTokenTemplate.test.js.map +0 -1
  842. package/dist/cjs/src/overlay-tools/__tests/SHIPBroadcaster.test.js +0 -933
  843. package/dist/cjs/src/overlay-tools/__tests/SHIPBroadcaster.test.js.map +0 -1
  844. package/dist/cjs/src/primitives/__tests/AESGCM.test.js +0 -248
  845. package/dist/cjs/src/primitives/__tests/AESGCM.test.js.map +0 -1
  846. package/dist/cjs/src/primitives/__tests/BRC42.private.vectors.js +0 -36
  847. package/dist/cjs/src/primitives/__tests/BRC42.private.vectors.js.map +0 -1
  848. package/dist/cjs/src/primitives/__tests/BRC42.public.vectors.js +0 -36
  849. package/dist/cjs/src/primitives/__tests/BRC42.public.vectors.js.map +0 -1
  850. package/dist/cjs/src/primitives/__tests/BigNumber.arithmatic.test.js +0 -501
  851. package/dist/cjs/src/primitives/__tests/BigNumber.arithmatic.test.js.map +0 -1
  852. package/dist/cjs/src/primitives/__tests/BigNumber.binary.test.js +0 -185
  853. package/dist/cjs/src/primitives/__tests/BigNumber.binary.test.js.map +0 -1
  854. package/dist/cjs/src/primitives/__tests/BigNumber.constructor.test.js +0 -149
  855. package/dist/cjs/src/primitives/__tests/BigNumber.constructor.test.js.map +0 -1
  856. package/dist/cjs/src/primitives/__tests/BigNumber.dhGroup.test.js +0 -23
  857. package/dist/cjs/src/primitives/__tests/BigNumber.dhGroup.test.js.map +0 -1
  858. package/dist/cjs/src/primitives/__tests/BigNumber.fixtures.js +0 -268
  859. package/dist/cjs/src/primitives/__tests/BigNumber.fixtures.js.map +0 -1
  860. package/dist/cjs/src/primitives/__tests/BigNumber.serializers.test.js +0 -147
  861. package/dist/cjs/src/primitives/__tests/BigNumber.serializers.test.js.map +0 -1
  862. package/dist/cjs/src/primitives/__tests/BigNumber.utils.test.js +0 -322
  863. package/dist/cjs/src/primitives/__tests/BigNumber.utils.test.js.map +0 -1
  864. package/dist/cjs/src/primitives/__tests/Curve.unit.test.js +0 -145
  865. package/dist/cjs/src/primitives/__tests/Curve.unit.test.js.map +0 -1
  866. package/dist/cjs/src/primitives/__tests/DRBG.test.js +0 -22
  867. package/dist/cjs/src/primitives/__tests/DRBG.test.js.map +0 -1
  868. package/dist/cjs/src/primitives/__tests/DRBG.vectors.js +0 -170
  869. package/dist/cjs/src/primitives/__tests/DRBG.vectors.js.map +0 -1
  870. package/dist/cjs/src/primitives/__tests/ECDH.test.js +0 -34
  871. package/dist/cjs/src/primitives/__tests/ECDH.test.js.map +0 -1
  872. package/dist/cjs/src/primitives/__tests/ECDSA.test.js +0 -89
  873. package/dist/cjs/src/primitives/__tests/ECDSA.test.js.map +0 -1
  874. package/dist/cjs/src/primitives/__tests/HMAC.test.js +0 -60
  875. package/dist/cjs/src/primitives/__tests/HMAC.test.js.map +0 -1
  876. package/dist/cjs/src/primitives/__tests/Hash.test.js +0 -159
  877. package/dist/cjs/src/primitives/__tests/Hash.test.js.map +0 -1
  878. package/dist/cjs/src/primitives/__tests/PBKDF2.vectors.js +0 -122
  879. package/dist/cjs/src/primitives/__tests/PBKDF2.vectors.js.map +0 -1
  880. package/dist/cjs/src/primitives/__tests/PrivateKey.split.test.js +0 -105
  881. package/dist/cjs/src/primitives/__tests/PrivateKey.split.test.js.map +0 -1
  882. package/dist/cjs/src/primitives/__tests/PrivateKey.test.js +0 -90
  883. package/dist/cjs/src/primitives/__tests/PrivateKey.test.js.map +0 -1
  884. package/dist/cjs/src/primitives/__tests/PublicKey.test.js +0 -83
  885. package/dist/cjs/src/primitives/__tests/PublicKey.test.js.map +0 -1
  886. package/dist/cjs/src/primitives/__tests/Random.test.js +0 -19
  887. package/dist/cjs/src/primitives/__tests/Random.test.js.map +0 -1
  888. package/dist/cjs/src/primitives/__tests/Reader.test.js +0 -282
  889. package/dist/cjs/src/primitives/__tests/Reader.test.js.map +0 -1
  890. package/dist/cjs/src/primitives/__tests/ReductionContext.test.js +0 -224
  891. package/dist/cjs/src/primitives/__tests/ReductionContext.test.js.map +0 -1
  892. package/dist/cjs/src/primitives/__tests/Schnorr.test.js +0 -213
  893. package/dist/cjs/src/primitives/__tests/Schnorr.test.js.map +0 -1
  894. package/dist/cjs/src/primitives/__tests/SymmetricKey.test.js +0 -51
  895. package/dist/cjs/src/primitives/__tests/SymmetricKey.test.js.map +0 -1
  896. package/dist/cjs/src/primitives/__tests/SymmetricKey.vectors.js +0 -43
  897. package/dist/cjs/src/primitives/__tests/SymmetricKey.vectors.js.map +0 -1
  898. package/dist/cjs/src/primitives/__tests/Writer.test.js +0 -176
  899. package/dist/cjs/src/primitives/__tests/Writer.test.js.map +0 -1
  900. package/dist/cjs/src/primitives/__tests/bug-31.test.js +0 -32
  901. package/dist/cjs/src/primitives/__tests/bug-31.test.js.map +0 -1
  902. package/dist/cjs/src/primitives/__tests/sighash.vectors.js +0 -3506
  903. package/dist/cjs/src/primitives/__tests/sighash.vectors.js.map +0 -1
  904. package/dist/cjs/src/primitives/__tests/utils.test.js +0 -110
  905. package/dist/cjs/src/primitives/__tests/utils.test.js.map +0 -1
  906. package/dist/cjs/src/script/__tests/Script.test.js +0 -347
  907. package/dist/cjs/src/script/__tests/Script.test.js.map +0 -1
  908. package/dist/cjs/src/script/__tests/Spend.test.js +0 -282
  909. package/dist/cjs/src/script/__tests/Spend.test.js.map +0 -1
  910. package/dist/cjs/src/script/__tests/SpendComplex.test.js +0 -52
  911. package/dist/cjs/src/script/__tests/SpendComplex.test.js.map +0 -1
  912. package/dist/cjs/src/script/__tests/script.invalid.vectors.js +0 -2370
  913. package/dist/cjs/src/script/__tests/script.invalid.vectors.js.map +0 -1
  914. package/dist/cjs/src/script/__tests/script.valid.vectors.js +0 -1181
  915. package/dist/cjs/src/script/__tests/script.valid.vectors.js.map +0 -1
  916. package/dist/cjs/src/script/__tests/spend.valid.vectors.js +0 -2298
  917. package/dist/cjs/src/script/__tests/spend.valid.vectors.js.map +0 -1
  918. package/dist/cjs/src/script/templates/__tests/PushDrop.test.js +0 -161
  919. package/dist/cjs/src/script/templates/__tests/PushDrop.test.js.map +0 -1
  920. package/dist/cjs/src/totp/__tests/totp.test.js +0 -67
  921. package/dist/cjs/src/totp/__tests/totp.test.js.map +0 -1
  922. package/dist/cjs/src/transaction/__tests/Beef.test.js +0 -393
  923. package/dist/cjs/src/transaction/__tests/Beef.test.js.map +0 -1
  924. package/dist/cjs/src/transaction/__tests/MerklePath.test.js +0 -209
  925. package/dist/cjs/src/transaction/__tests/MerklePath.test.js.map +0 -1
  926. package/dist/cjs/src/transaction/__tests/Transaction.benchmarks.test.js +0 -219
  927. package/dist/cjs/src/transaction/__tests/Transaction.benchmarks.test.js.map +0 -1
  928. package/dist/cjs/src/transaction/__tests/Transaction.test.js +0 -1073
  929. package/dist/cjs/src/transaction/__tests/Transaction.test.js.map +0 -1
  930. package/dist/cjs/src/transaction/__tests/bigtx.vectors.js +0 -7
  931. package/dist/cjs/src/transaction/__tests/bigtx.vectors.js.map +0 -1
  932. package/dist/cjs/src/transaction/__tests/bump.invalid.vectors.js +0 -11
  933. package/dist/cjs/src/transaction/__tests/bump.invalid.vectors.js.map +0 -1
  934. package/dist/cjs/src/transaction/__tests/bump.valid.vectors.js +0 -7
  935. package/dist/cjs/src/transaction/__tests/bump.valid.vectors.js.map +0 -1
  936. package/dist/cjs/src/transaction/__tests/tx.invalid.vectors.js +0 -230
  937. package/dist/cjs/src/transaction/__tests/tx.invalid.vectors.js.map +0 -1
  938. package/dist/cjs/src/transaction/__tests/tx.valid.vectors.js +0 -296
  939. package/dist/cjs/src/transaction/__tests/tx.valid.vectors.js.map +0 -1
  940. package/dist/cjs/src/transaction/broadcasters/__tests/ARC.test.js +0 -246
  941. package/dist/cjs/src/transaction/broadcasters/__tests/ARC.test.js.map +0 -1
  942. package/dist/cjs/src/transaction/broadcasters/__tests/WhatsOnChainBroadcaster.test.js +0 -148
  943. package/dist/cjs/src/transaction/broadcasters/__tests/WhatsOnChainBroadcaster.test.js.map +0 -1
  944. package/dist/cjs/src/transaction/chaintrackers/__tests/WhatsOnChainChainTracker.test.js +0 -155
  945. package/dist/cjs/src/transaction/chaintrackers/__tests/WhatsOnChainChainTracker.test.js.map +0 -1
  946. package/dist/cjs/src/wallet/__tests/CachedKeyDeriver.test.js +0 -269
  947. package/dist/cjs/src/wallet/__tests/CachedKeyDeriver.test.js.map +0 -1
  948. package/dist/cjs/src/wallet/__tests/KeyDeriver.test.js +0 -114
  949. package/dist/cjs/src/wallet/__tests/KeyDeriver.test.js.map +0 -1
  950. package/dist/cjs/src/wallet/__tests/ProtoWallet.test.js +0 -475
  951. package/dist/cjs/src/wallet/__tests/ProtoWallet.test.js.map +0 -1
  952. package/dist/cjs/src/wallet/substrates/__tests/WalletWire.integration.test.js +0 -1962
  953. package/dist/cjs/src/wallet/substrates/__tests/WalletWire.integration.test.js.map +0 -1
  954. package/dist/cjs/src/wallet/substrates/__tests/XDM.test.js +0 -579
  955. package/dist/cjs/src/wallet/substrates/__tests/XDM.test.js.map +0 -1
  956. package/dist/esm/src/auth/__tests/Peer.test.js +0 -448
  957. package/dist/esm/src/auth/__tests/Peer.test.js.map +0 -1
  958. package/dist/esm/src/auth/__tests/SessionManager.test.js +0 -69
  959. package/dist/esm/src/auth/__tests/SessionManager.test.js.map +0 -1
  960. package/dist/esm/src/auth/certificates/__tests/Certificate.test.js +0 -182
  961. package/dist/esm/src/auth/certificates/__tests/Certificate.test.js.map +0 -1
  962. package/dist/esm/src/auth/certificates/__tests/MasterCertificate.test.js +0 -184
  963. package/dist/esm/src/auth/certificates/__tests/MasterCertificate.test.js.map +0 -1
  964. package/dist/esm/src/auth/certificates/__tests/VerifiableCertificate.test.js +0 -75
  965. package/dist/esm/src/auth/certificates/__tests/VerifiableCertificate.test.js.map +0 -1
  966. package/dist/esm/src/auth/utils/__tests/cryptononce.test.js +0 -101
  967. package/dist/esm/src/auth/utils/__tests/cryptononce.test.js.map +0 -1
  968. package/dist/esm/src/auth/utils/__tests/getVerifiableCertificates.test.js +0 -106
  969. package/dist/esm/src/auth/utils/__tests/getVerifiableCertificates.test.js.map +0 -1
  970. package/dist/esm/src/auth/utils/__tests/validateCertificates.test.js +0 -111
  971. package/dist/esm/src/auth/utils/__tests/validateCertificates.test.js.map +0 -1
  972. package/dist/esm/src/compat/__tests/BSM.test.js +0 -69
  973. package/dist/esm/src/compat/__tests/BSM.test.js.map +0 -1
  974. package/dist/esm/src/compat/__tests/ECIES.test.js +0 -115
  975. package/dist/esm/src/compat/__tests/ECIES.test.js.map +0 -1
  976. package/dist/esm/src/compat/__tests/HD.test.js +0 -336
  977. package/dist/esm/src/compat/__tests/HD.test.js.map +0 -1
  978. package/dist/esm/src/compat/__tests/Mnemonic.test.js +0 -150
  979. package/dist/esm/src/compat/__tests/Mnemonic.test.js.map +0 -1
  980. package/dist/esm/src/compat/__tests/Mnemonic.vectors.js +0 -175
  981. package/dist/esm/src/compat/__tests/Mnemonic.vectors.js.map +0 -1
  982. package/dist/esm/src/messages/__tests/EncryptedMessage.test.js +0 -57
  983. package/dist/esm/src/messages/__tests/EncryptedMessage.test.js.map +0 -1
  984. package/dist/esm/src/messages/__tests/SignedMessage.test.js +0 -52
  985. package/dist/esm/src/messages/__tests/SignedMessage.test.js.map +0 -1
  986. package/dist/esm/src/overlay-tools/__tests/LookupResolver.test.js +0 -1471
  987. package/dist/esm/src/overlay-tools/__tests/LookupResolver.test.js.map +0 -1
  988. package/dist/esm/src/overlay-tools/__tests/OverlayAdminTokenTemplate.test.js +0 -78
  989. package/dist/esm/src/overlay-tools/__tests/OverlayAdminTokenTemplate.test.js.map +0 -1
  990. package/dist/esm/src/overlay-tools/__tests/SHIPBroadcaster.test.js +0 -933
  991. package/dist/esm/src/overlay-tools/__tests/SHIPBroadcaster.test.js.map +0 -1
  992. package/dist/esm/src/primitives/__tests/AESGCM.test.js +0 -248
  993. package/dist/esm/src/primitives/__tests/AESGCM.test.js.map +0 -1
  994. package/dist/esm/src/primitives/__tests/BRC42.private.vectors.js +0 -36
  995. package/dist/esm/src/primitives/__tests/BRC42.private.vectors.js.map +0 -1
  996. package/dist/esm/src/primitives/__tests/BRC42.public.vectors.js +0 -36
  997. package/dist/esm/src/primitives/__tests/BRC42.public.vectors.js.map +0 -1
  998. package/dist/esm/src/primitives/__tests/BigNumber.arithmatic.test.js +0 -501
  999. package/dist/esm/src/primitives/__tests/BigNumber.arithmatic.test.js.map +0 -1
  1000. package/dist/esm/src/primitives/__tests/BigNumber.binary.test.js +0 -185
  1001. package/dist/esm/src/primitives/__tests/BigNumber.binary.test.js.map +0 -1
  1002. package/dist/esm/src/primitives/__tests/BigNumber.constructor.test.js +0 -149
  1003. package/dist/esm/src/primitives/__tests/BigNumber.constructor.test.js.map +0 -1
  1004. package/dist/esm/src/primitives/__tests/BigNumber.dhGroup.test.js +0 -23
  1005. package/dist/esm/src/primitives/__tests/BigNumber.dhGroup.test.js.map +0 -1
  1006. package/dist/esm/src/primitives/__tests/BigNumber.fixtures.js +0 -268
  1007. package/dist/esm/src/primitives/__tests/BigNumber.fixtures.js.map +0 -1
  1008. package/dist/esm/src/primitives/__tests/BigNumber.serializers.test.js +0 -147
  1009. package/dist/esm/src/primitives/__tests/BigNumber.serializers.test.js.map +0 -1
  1010. package/dist/esm/src/primitives/__tests/BigNumber.utils.test.js +0 -322
  1011. package/dist/esm/src/primitives/__tests/BigNumber.utils.test.js.map +0 -1
  1012. package/dist/esm/src/primitives/__tests/Curve.unit.test.js +0 -145
  1013. package/dist/esm/src/primitives/__tests/Curve.unit.test.js.map +0 -1
  1014. package/dist/esm/src/primitives/__tests/DRBG.test.js +0 -22
  1015. package/dist/esm/src/primitives/__tests/DRBG.test.js.map +0 -1
  1016. package/dist/esm/src/primitives/__tests/DRBG.vectors.js +0 -170
  1017. package/dist/esm/src/primitives/__tests/DRBG.vectors.js.map +0 -1
  1018. package/dist/esm/src/primitives/__tests/ECDH.test.js +0 -34
  1019. package/dist/esm/src/primitives/__tests/ECDH.test.js.map +0 -1
  1020. package/dist/esm/src/primitives/__tests/ECDSA.test.js +0 -89
  1021. package/dist/esm/src/primitives/__tests/ECDSA.test.js.map +0 -1
  1022. package/dist/esm/src/primitives/__tests/HMAC.test.js +0 -60
  1023. package/dist/esm/src/primitives/__tests/HMAC.test.js.map +0 -1
  1024. package/dist/esm/src/primitives/__tests/Hash.test.js +0 -159
  1025. package/dist/esm/src/primitives/__tests/Hash.test.js.map +0 -1
  1026. package/dist/esm/src/primitives/__tests/PBKDF2.vectors.js +0 -122
  1027. package/dist/esm/src/primitives/__tests/PBKDF2.vectors.js.map +0 -1
  1028. package/dist/esm/src/primitives/__tests/PrivateKey.split.test.js +0 -105
  1029. package/dist/esm/src/primitives/__tests/PrivateKey.split.test.js.map +0 -1
  1030. package/dist/esm/src/primitives/__tests/PrivateKey.test.js +0 -90
  1031. package/dist/esm/src/primitives/__tests/PrivateKey.test.js.map +0 -1
  1032. package/dist/esm/src/primitives/__tests/PublicKey.test.js +0 -83
  1033. package/dist/esm/src/primitives/__tests/PublicKey.test.js.map +0 -1
  1034. package/dist/esm/src/primitives/__tests/Random.test.js +0 -19
  1035. package/dist/esm/src/primitives/__tests/Random.test.js.map +0 -1
  1036. package/dist/esm/src/primitives/__tests/Reader.test.js +0 -282
  1037. package/dist/esm/src/primitives/__tests/Reader.test.js.map +0 -1
  1038. package/dist/esm/src/primitives/__tests/ReductionContext.test.js +0 -223
  1039. package/dist/esm/src/primitives/__tests/ReductionContext.test.js.map +0 -1
  1040. package/dist/esm/src/primitives/__tests/Schnorr.test.js +0 -213
  1041. package/dist/esm/src/primitives/__tests/Schnorr.test.js.map +0 -1
  1042. package/dist/esm/src/primitives/__tests/SymmetricKey.test.js +0 -51
  1043. package/dist/esm/src/primitives/__tests/SymmetricKey.test.js.map +0 -1
  1044. package/dist/esm/src/primitives/__tests/SymmetricKey.vectors.js +0 -43
  1045. package/dist/esm/src/primitives/__tests/SymmetricKey.vectors.js.map +0 -1
  1046. package/dist/esm/src/primitives/__tests/Writer.test.js +0 -176
  1047. package/dist/esm/src/primitives/__tests/Writer.test.js.map +0 -1
  1048. package/dist/esm/src/primitives/__tests/bug-31.test.js +0 -32
  1049. package/dist/esm/src/primitives/__tests/bug-31.test.js.map +0 -1
  1050. package/dist/esm/src/primitives/__tests/sighash.vectors.js +0 -3506
  1051. package/dist/esm/src/primitives/__tests/sighash.vectors.js.map +0 -1
  1052. package/dist/esm/src/primitives/__tests/utils.test.js +0 -110
  1053. package/dist/esm/src/primitives/__tests/utils.test.js.map +0 -1
  1054. package/dist/esm/src/script/__tests/Script.test.js +0 -347
  1055. package/dist/esm/src/script/__tests/Script.test.js.map +0 -1
  1056. package/dist/esm/src/script/__tests/Spend.test.js +0 -282
  1057. package/dist/esm/src/script/__tests/Spend.test.js.map +0 -1
  1058. package/dist/esm/src/script/__tests/SpendComplex.test.js +0 -51
  1059. package/dist/esm/src/script/__tests/SpendComplex.test.js.map +0 -1
  1060. package/dist/esm/src/script/__tests/script.invalid.vectors.js +0 -2370
  1061. package/dist/esm/src/script/__tests/script.invalid.vectors.js.map +0 -1
  1062. package/dist/esm/src/script/__tests/script.valid.vectors.js +0 -1181
  1063. package/dist/esm/src/script/__tests/script.valid.vectors.js.map +0 -1
  1064. package/dist/esm/src/script/__tests/spend.valid.vectors.js +0 -2298
  1065. package/dist/esm/src/script/__tests/spend.valid.vectors.js.map +0 -1
  1066. package/dist/esm/src/script/templates/__tests/PushDrop.test.js +0 -161
  1067. package/dist/esm/src/script/templates/__tests/PushDrop.test.js.map +0 -1
  1068. package/dist/esm/src/totp/__tests/totp.test.js +0 -67
  1069. package/dist/esm/src/totp/__tests/totp.test.js.map +0 -1
  1070. package/dist/esm/src/transaction/__tests/Beef.test.js +0 -393
  1071. package/dist/esm/src/transaction/__tests/Beef.test.js.map +0 -1
  1072. package/dist/esm/src/transaction/__tests/MerklePath.test.js +0 -209
  1073. package/dist/esm/src/transaction/__tests/MerklePath.test.js.map +0 -1
  1074. package/dist/esm/src/transaction/__tests/Transaction.benchmarks.test.js +0 -219
  1075. package/dist/esm/src/transaction/__tests/Transaction.benchmarks.test.js.map +0 -1
  1076. package/dist/esm/src/transaction/__tests/Transaction.test.js +0 -1072
  1077. package/dist/esm/src/transaction/__tests/Transaction.test.js.map +0 -1
  1078. package/dist/esm/src/transaction/__tests/bigtx.vectors.js +0 -7
  1079. package/dist/esm/src/transaction/__tests/bigtx.vectors.js.map +0 -1
  1080. package/dist/esm/src/transaction/__tests/bump.invalid.vectors.js +0 -11
  1081. package/dist/esm/src/transaction/__tests/bump.invalid.vectors.js.map +0 -1
  1082. package/dist/esm/src/transaction/__tests/bump.valid.vectors.js +0 -7
  1083. package/dist/esm/src/transaction/__tests/bump.valid.vectors.js.map +0 -1
  1084. package/dist/esm/src/transaction/__tests/tx.invalid.vectors.js +0 -230
  1085. package/dist/esm/src/transaction/__tests/tx.invalid.vectors.js.map +0 -1
  1086. package/dist/esm/src/transaction/__tests/tx.valid.vectors.js +0 -296
  1087. package/dist/esm/src/transaction/__tests/tx.valid.vectors.js.map +0 -1
  1088. package/dist/esm/src/transaction/broadcasters/__tests/ARC.test.js +0 -246
  1089. package/dist/esm/src/transaction/broadcasters/__tests/ARC.test.js.map +0 -1
  1090. package/dist/esm/src/transaction/broadcasters/__tests/WhatsOnChainBroadcaster.test.js +0 -148
  1091. package/dist/esm/src/transaction/broadcasters/__tests/WhatsOnChainBroadcaster.test.js.map +0 -1
  1092. package/dist/esm/src/transaction/chaintrackers/__tests/WhatsOnChainChainTracker.test.js +0 -155
  1093. package/dist/esm/src/transaction/chaintrackers/__tests/WhatsOnChainChainTracker.test.js.map +0 -1
  1094. package/dist/esm/src/wallet/__tests/CachedKeyDeriver.test.js +0 -269
  1095. package/dist/esm/src/wallet/__tests/CachedKeyDeriver.test.js.map +0 -1
  1096. package/dist/esm/src/wallet/__tests/KeyDeriver.test.js +0 -113
  1097. package/dist/esm/src/wallet/__tests/KeyDeriver.test.js.map +0 -1
  1098. package/dist/esm/src/wallet/__tests/ProtoWallet.test.js +0 -475
  1099. package/dist/esm/src/wallet/__tests/ProtoWallet.test.js.map +0 -1
  1100. package/dist/esm/src/wallet/substrates/__tests/WalletWire.integration.test.js +0 -1962
  1101. package/dist/esm/src/wallet/substrates/__tests/WalletWire.integration.test.js.map +0 -1
  1102. package/dist/esm/src/wallet/substrates/__tests/XDM.test.js +0 -579
  1103. package/dist/esm/src/wallet/substrates/__tests/XDM.test.js.map +0 -1
  1104. package/dist/types/src/auth/__tests/Peer.test.d.ts +0 -2
  1105. package/dist/types/src/auth/__tests/Peer.test.d.ts.map +0 -1
  1106. package/dist/types/src/auth/__tests/SessionManager.test.d.ts +0 -2
  1107. package/dist/types/src/auth/__tests/SessionManager.test.d.ts.map +0 -1
  1108. package/dist/types/src/auth/certificates/__tests/Certificate.test.d.ts +0 -2
  1109. package/dist/types/src/auth/certificates/__tests/Certificate.test.d.ts.map +0 -1
  1110. package/dist/types/src/auth/certificates/__tests/MasterCertificate.test.d.ts +0 -2
  1111. package/dist/types/src/auth/certificates/__tests/MasterCertificate.test.d.ts.map +0 -1
  1112. package/dist/types/src/auth/certificates/__tests/VerifiableCertificate.test.d.ts +0 -2
  1113. package/dist/types/src/auth/certificates/__tests/VerifiableCertificate.test.d.ts.map +0 -1
  1114. package/dist/types/src/auth/utils/__tests/cryptononce.test.d.ts +0 -2
  1115. package/dist/types/src/auth/utils/__tests/cryptononce.test.d.ts.map +0 -1
  1116. package/dist/types/src/auth/utils/__tests/getVerifiableCertificates.test.d.ts +0 -2
  1117. package/dist/types/src/auth/utils/__tests/getVerifiableCertificates.test.d.ts.map +0 -1
  1118. package/dist/types/src/auth/utils/__tests/validateCertificates.test.d.ts +0 -2
  1119. package/dist/types/src/auth/utils/__tests/validateCertificates.test.d.ts.map +0 -1
  1120. package/dist/types/src/compat/__tests/BSM.test.d.ts +0 -2
  1121. package/dist/types/src/compat/__tests/BSM.test.d.ts.map +0 -1
  1122. package/dist/types/src/compat/__tests/ECIES.test.d.ts +0 -2
  1123. package/dist/types/src/compat/__tests/ECIES.test.d.ts.map +0 -1
  1124. package/dist/types/src/compat/__tests/HD.test.d.ts +0 -2
  1125. package/dist/types/src/compat/__tests/HD.test.d.ts.map +0 -1
  1126. package/dist/types/src/compat/__tests/Mnemonic.test.d.ts +0 -2
  1127. package/dist/types/src/compat/__tests/Mnemonic.test.d.ts.map +0 -1
  1128. package/dist/types/src/compat/__tests/Mnemonic.vectors.d.ts +0 -11
  1129. package/dist/types/src/compat/__tests/Mnemonic.vectors.d.ts.map +0 -1
  1130. package/dist/types/src/messages/__tests/EncryptedMessage.test.d.ts +0 -2
  1131. package/dist/types/src/messages/__tests/EncryptedMessage.test.d.ts.map +0 -1
  1132. package/dist/types/src/messages/__tests/SignedMessage.test.d.ts +0 -2
  1133. package/dist/types/src/messages/__tests/SignedMessage.test.d.ts.map +0 -1
  1134. package/dist/types/src/overlay-tools/__tests/LookupResolver.test.d.ts +0 -2
  1135. package/dist/types/src/overlay-tools/__tests/LookupResolver.test.d.ts.map +0 -1
  1136. package/dist/types/src/overlay-tools/__tests/OverlayAdminTokenTemplate.test.d.ts +0 -2
  1137. package/dist/types/src/overlay-tools/__tests/OverlayAdminTokenTemplate.test.d.ts.map +0 -1
  1138. package/dist/types/src/overlay-tools/__tests/SHIPBroadcaster.test.d.ts +0 -2
  1139. package/dist/types/src/overlay-tools/__tests/SHIPBroadcaster.test.d.ts.map +0 -1
  1140. package/dist/types/src/primitives/__tests/AESGCM.test.d.ts +0 -2
  1141. package/dist/types/src/primitives/__tests/AESGCM.test.d.ts.map +0 -1
  1142. package/dist/types/src/primitives/__tests/BRC42.private.vectors.d.ts +0 -8
  1143. package/dist/types/src/primitives/__tests/BRC42.private.vectors.d.ts.map +0 -1
  1144. package/dist/types/src/primitives/__tests/BRC42.public.vectors.d.ts +0 -8
  1145. package/dist/types/src/primitives/__tests/BRC42.public.vectors.d.ts.map +0 -1
  1146. package/dist/types/src/primitives/__tests/BigNumber.arithmatic.test.d.ts +0 -2
  1147. package/dist/types/src/primitives/__tests/BigNumber.arithmatic.test.d.ts.map +0 -1
  1148. package/dist/types/src/primitives/__tests/BigNumber.binary.test.d.ts +0 -2
  1149. package/dist/types/src/primitives/__tests/BigNumber.binary.test.d.ts.map +0 -1
  1150. package/dist/types/src/primitives/__tests/BigNumber.constructor.test.d.ts +0 -2
  1151. package/dist/types/src/primitives/__tests/BigNumber.constructor.test.d.ts.map +0 -1
  1152. package/dist/types/src/primitives/__tests/BigNumber.dhGroup.test.d.ts +0 -2
  1153. package/dist/types/src/primitives/__tests/BigNumber.dhGroup.test.d.ts.map +0 -1
  1154. package/dist/types/src/primitives/__tests/BigNumber.fixtures.d.ts +0 -15
  1155. package/dist/types/src/primitives/__tests/BigNumber.fixtures.d.ts.map +0 -1
  1156. package/dist/types/src/primitives/__tests/BigNumber.serializers.test.d.ts +0 -2
  1157. package/dist/types/src/primitives/__tests/BigNumber.serializers.test.d.ts.map +0 -1
  1158. package/dist/types/src/primitives/__tests/BigNumber.utils.test.d.ts +0 -2
  1159. package/dist/types/src/primitives/__tests/BigNumber.utils.test.d.ts.map +0 -1
  1160. package/dist/types/src/primitives/__tests/Curve.unit.test.d.ts +0 -2
  1161. package/dist/types/src/primitives/__tests/Curve.unit.test.d.ts.map +0 -1
  1162. package/dist/types/src/primitives/__tests/DRBG.test.d.ts +0 -2
  1163. package/dist/types/src/primitives/__tests/DRBG.test.d.ts.map +0 -1
  1164. package/dist/types/src/primitives/__tests/DRBG.vectors.d.ts +0 -10
  1165. package/dist/types/src/primitives/__tests/DRBG.vectors.d.ts.map +0 -1
  1166. package/dist/types/src/primitives/__tests/ECDH.test.d.ts +0 -2
  1167. package/dist/types/src/primitives/__tests/ECDH.test.d.ts.map +0 -1
  1168. package/dist/types/src/primitives/__tests/ECDSA.test.d.ts +0 -2
  1169. package/dist/types/src/primitives/__tests/ECDSA.test.d.ts.map +0 -1
  1170. package/dist/types/src/primitives/__tests/HMAC.test.d.ts +0 -2
  1171. package/dist/types/src/primitives/__tests/HMAC.test.d.ts.map +0 -1
  1172. package/dist/types/src/primitives/__tests/Hash.test.d.ts +0 -2
  1173. package/dist/types/src/primitives/__tests/Hash.test.d.ts.map +0 -1
  1174. package/dist/types/src/primitives/__tests/PBKDF2.vectors.d.ts +0 -68
  1175. package/dist/types/src/primitives/__tests/PBKDF2.vectors.d.ts.map +0 -1
  1176. package/dist/types/src/primitives/__tests/PrivateKey.split.test.d.ts +0 -2
  1177. package/dist/types/src/primitives/__tests/PrivateKey.split.test.d.ts.map +0 -1
  1178. package/dist/types/src/primitives/__tests/PrivateKey.test.d.ts +0 -2
  1179. package/dist/types/src/primitives/__tests/PrivateKey.test.d.ts.map +0 -1
  1180. package/dist/types/src/primitives/__tests/PublicKey.test.d.ts +0 -2
  1181. package/dist/types/src/primitives/__tests/PublicKey.test.d.ts.map +0 -1
  1182. package/dist/types/src/primitives/__tests/Random.test.d.ts +0 -2
  1183. package/dist/types/src/primitives/__tests/Random.test.d.ts.map +0 -1
  1184. package/dist/types/src/primitives/__tests/Reader.test.d.ts +0 -2
  1185. package/dist/types/src/primitives/__tests/Reader.test.d.ts.map +0 -1
  1186. package/dist/types/src/primitives/__tests/ReductionContext.test.d.ts +0 -2
  1187. package/dist/types/src/primitives/__tests/ReductionContext.test.d.ts.map +0 -1
  1188. package/dist/types/src/primitives/__tests/Schnorr.test.d.ts +0 -2
  1189. package/dist/types/src/primitives/__tests/Schnorr.test.d.ts.map +0 -1
  1190. package/dist/types/src/primitives/__tests/SymmetricKey.test.d.ts +0 -2
  1191. package/dist/types/src/primitives/__tests/SymmetricKey.test.d.ts.map +0 -1
  1192. package/dist/types/src/primitives/__tests/SymmetricKey.vectors.d.ts +0 -20
  1193. package/dist/types/src/primitives/__tests/SymmetricKey.vectors.d.ts.map +0 -1
  1194. package/dist/types/src/primitives/__tests/Writer.test.d.ts +0 -2
  1195. package/dist/types/src/primitives/__tests/Writer.test.d.ts.map +0 -1
  1196. package/dist/types/src/primitives/__tests/bug-31.test.d.ts +0 -2
  1197. package/dist/types/src/primitives/__tests/bug-31.test.d.ts.map +0 -1
  1198. package/dist/types/src/primitives/__tests/sighash.vectors.d.ts +0 -3
  1199. package/dist/types/src/primitives/__tests/sighash.vectors.d.ts.map +0 -1
  1200. package/dist/types/src/primitives/__tests/utils.test.d.ts +0 -2
  1201. package/dist/types/src/primitives/__tests/utils.test.d.ts.map +0 -1
  1202. package/dist/types/src/script/__tests/Script.test.d.ts +0 -2
  1203. package/dist/types/src/script/__tests/Script.test.d.ts.map +0 -1
  1204. package/dist/types/src/script/__tests/Spend.test.d.ts +0 -2
  1205. package/dist/types/src/script/__tests/Spend.test.d.ts.map +0 -1
  1206. package/dist/types/src/script/__tests/SpendComplex.test.d.ts +0 -2
  1207. package/dist/types/src/script/__tests/SpendComplex.test.d.ts.map +0 -1
  1208. package/dist/types/src/script/__tests/script.invalid.vectors.d.ts +0 -3
  1209. package/dist/types/src/script/__tests/script.invalid.vectors.d.ts.map +0 -1
  1210. package/dist/types/src/script/__tests/script.valid.vectors.d.ts +0 -3
  1211. package/dist/types/src/script/__tests/script.valid.vectors.d.ts.map +0 -1
  1212. package/dist/types/src/script/__tests/spend.valid.vectors.d.ts +0 -3
  1213. package/dist/types/src/script/__tests/spend.valid.vectors.d.ts.map +0 -1
  1214. package/dist/types/src/script/templates/__tests/PushDrop.test.d.ts +0 -2
  1215. package/dist/types/src/script/templates/__tests/PushDrop.test.d.ts.map +0 -1
  1216. package/dist/types/src/totp/__tests/totp.test.d.ts +0 -2
  1217. package/dist/types/src/totp/__tests/totp.test.d.ts.map +0 -1
  1218. package/dist/types/src/transaction/__tests/Beef.test.d.ts +0 -2
  1219. package/dist/types/src/transaction/__tests/Beef.test.d.ts.map +0 -1
  1220. package/dist/types/src/transaction/__tests/MerklePath.test.d.ts +0 -2
  1221. package/dist/types/src/transaction/__tests/MerklePath.test.d.ts.map +0 -1
  1222. package/dist/types/src/transaction/__tests/Transaction.benchmarks.test.d.ts +0 -2
  1223. package/dist/types/src/transaction/__tests/Transaction.benchmarks.test.d.ts.map +0 -1
  1224. package/dist/types/src/transaction/__tests/Transaction.test.d.ts +0 -2
  1225. package/dist/types/src/transaction/__tests/Transaction.test.d.ts.map +0 -1
  1226. package/dist/types/src/transaction/__tests/bigtx.vectors.d.ts +0 -6
  1227. package/dist/types/src/transaction/__tests/bigtx.vectors.d.ts.map +0 -1
  1228. package/dist/types/src/transaction/__tests/bump.invalid.vectors.d.ts +0 -6
  1229. package/dist/types/src/transaction/__tests/bump.invalid.vectors.d.ts.map +0 -1
  1230. package/dist/types/src/transaction/__tests/bump.valid.vectors.d.ts +0 -5
  1231. package/dist/types/src/transaction/__tests/bump.valid.vectors.d.ts.map +0 -1
  1232. package/dist/types/src/transaction/__tests/tx.invalid.vectors.d.ts +0 -3
  1233. package/dist/types/src/transaction/__tests/tx.invalid.vectors.d.ts.map +0 -1
  1234. package/dist/types/src/transaction/__tests/tx.valid.vectors.d.ts +0 -3
  1235. package/dist/types/src/transaction/__tests/tx.valid.vectors.d.ts.map +0 -1
  1236. package/dist/types/src/transaction/broadcasters/__tests/ARC.test.d.ts +0 -2
  1237. package/dist/types/src/transaction/broadcasters/__tests/ARC.test.d.ts.map +0 -1
  1238. package/dist/types/src/transaction/broadcasters/__tests/WhatsOnChainBroadcaster.test.d.ts +0 -2
  1239. package/dist/types/src/transaction/broadcasters/__tests/WhatsOnChainBroadcaster.test.d.ts.map +0 -1
  1240. package/dist/types/src/transaction/chaintrackers/__tests/WhatsOnChainChainTracker.test.d.ts +0 -2
  1241. package/dist/types/src/transaction/chaintrackers/__tests/WhatsOnChainChainTracker.test.d.ts.map +0 -1
  1242. package/dist/types/src/wallet/__tests/CachedKeyDeriver.test.d.ts +0 -2
  1243. package/dist/types/src/wallet/__tests/CachedKeyDeriver.test.d.ts.map +0 -1
  1244. package/dist/types/src/wallet/__tests/KeyDeriver.test.d.ts +0 -2
  1245. package/dist/types/src/wallet/__tests/KeyDeriver.test.d.ts.map +0 -1
  1246. package/dist/types/src/wallet/__tests/ProtoWallet.test.d.ts +0 -2
  1247. package/dist/types/src/wallet/__tests/ProtoWallet.test.d.ts.map +0 -1
  1248. package/dist/types/src/wallet/substrates/__tests/WalletWire.integration.test.d.ts +0 -2
  1249. package/dist/types/src/wallet/substrates/__tests/WalletWire.integration.test.d.ts.map +0 -1
  1250. package/dist/types/src/wallet/substrates/__tests/XDM.test.d.ts +0 -5
  1251. package/dist/types/src/wallet/substrates/__tests/XDM.test.d.ts.map +0 -1
@@ -5,360 +5,1313 @@ export default [
5
5
  ['serializedTransaction, verifyFlags|[verifyFlags1, verifyFlags2, ...]]'],
6
6
  ['Objects that are only a single string (like this one) are ignored'],
7
7
 
8
- ['The following is 23b397edccd3740a74adb603c9756370fafcde9bcc4483eb271ecad09a94dd63'],
9
- ['It is of particular interest because it contains an invalidly-encoded signature which OpenSSL accepts'],
8
+ [
9
+ 'The following is 23b397edccd3740a74adb603c9756370fafcde9bcc4483eb271ecad09a94dd63'
10
+ ],
11
+ [
12
+ 'It is of particular interest because it contains an invalidly-encoded signature which OpenSSL accepts'
13
+ ],
10
14
  ['See http://r6.ca/blog/20111119T211504Z.html'],
11
15
  ['It is also the first OP_CHECKMULTISIG transaction in standard form'],
12
- [[['60a20bd93aa49ab4b28d514ec10b06e1829ce6818ec06cd3aabd013ebcdc4bb1', 0, '1 0x41 0x04cc71eb30d653c0c3163990c47b976f3fb3f37cccdcbedb169a1dfef58bbfbfaff7d8a473e7e2e6d317b87bafe8bde97e3cf8f065dec022b51d11fcdd0d348ac4 0x41 0x0461cbdcc5409fb4b4d42b51d33381354d80e550078cb532a34bfa2fcfdeb7d76519aecc62770f5b0e4ef8551946d8a540911abe3e7854a26f39f58b25c15342af 2 OP_CHECKMULTISIG']],
13
- '0100000001b14bdcbc3e01bdaad36cc08e81e69c82e1060bc14e518db2b49aa43ad90ba26000000000490047304402203f16c6f40162ab686621ef3000b04e75418a0c0cb2d8aebeac894ae360ac1e780220ddc15ecdfc3507ac48e1681a33eb60996631bf6bf5bc0a0682c4db743ce7ca2b01ffffffff0140420f00000000001976a914660d4ef3a743e3e696ad990364e555c271ad504b88ac00000000', ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']],
14
-
15
- ['The following is a tweaked form of 23b397edccd3740a74adb603c9756370fafcde9bcc4483eb271ecad09a94dd63'],
16
- ['It is an OP_CHECKMULTISIG with an arbitrary extra byte stuffed into the signature at pos length - 2'],
16
+ [
17
+ [
18
+ [
19
+ '60a20bd93aa49ab4b28d514ec10b06e1829ce6818ec06cd3aabd013ebcdc4bb1',
20
+ 0,
21
+ '1 0x41 0x04cc71eb30d653c0c3163990c47b976f3fb3f37cccdcbedb169a1dfef58bbfbfaff7d8a473e7e2e6d317b87bafe8bde97e3cf8f065dec022b51d11fcdd0d348ac4 0x41 0x0461cbdcc5409fb4b4d42b51d33381354d80e550078cb532a34bfa2fcfdeb7d76519aecc62770f5b0e4ef8551946d8a540911abe3e7854a26f39f58b25c15342af 2 OP_CHECKMULTISIG'
22
+ ]
23
+ ],
24
+ '0100000001b14bdcbc3e01bdaad36cc08e81e69c82e1060bc14e518db2b49aa43ad90ba26000000000490047304402203f16c6f40162ab686621ef3000b04e75418a0c0cb2d8aebeac894ae360ac1e780220ddc15ecdfc3507ac48e1681a33eb60996631bf6bf5bc0a0682c4db743ce7ca2b01ffffffff0140420f00000000001976a914660d4ef3a743e3e696ad990364e555c271ad504b88ac00000000',
25
+ ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']
26
+ ],
27
+
28
+ [
29
+ 'The following is a tweaked form of 23b397edccd3740a74adb603c9756370fafcde9bcc4483eb271ecad09a94dd63'
30
+ ],
31
+ [
32
+ 'It is an OP_CHECKMULTISIG with an arbitrary extra byte stuffed into the signature at pos length - 2'
33
+ ],
17
34
  ['The dummy byte is fine however, so the NULLDUMMY flag should be happy'],
18
- [[['60a20bd93aa49ab4b28d514ec10b06e1829ce6818ec06cd3aabd013ebcdc4bb1', 0, '1 0x41 0x04cc71eb30d653c0c3163990c47b976f3fb3f37cccdcbedb169a1dfef58bbfbfaff7d8a473e7e2e6d317b87bafe8bde97e3cf8f065dec022b51d11fcdd0d348ac4 0x41 0x0461cbdcc5409fb4b4d42b51d33381354d80e550078cb532a34bfa2fcfdeb7d76519aecc62770f5b0e4ef8551946d8a540911abe3e7854a26f39f58b25c15342af 2 OP_CHECKMULTISIG']],
19
- '0100000001b14bdcbc3e01bdaad36cc08e81e69c82e1060bc14e518db2b49aa43ad90ba260000000004a0048304402203f16c6f40162ab686621ef3000b04e75418a0c0cb2d8aebeac894ae360ac1e780220ddc15ecdfc3507ac48e1681a33eb60996631bf6bf5bc0a0682c4db743ce7ca2bab01ffffffff0140420f00000000001976a914660d4ef3a743e3e696ad990364e555c271ad504b88ac00000000', 'P2SH,UTXO_AFTER_GENESIS,NULLDUMMY'],
20
-
21
- ['The following is a tweaked form of 23b397edccd3740a74adb603c9756370fafcde9bcc4483eb271ecad09a94dd63'],
22
- ['It is an OP_CHECKMULTISIG with the dummy value set to something other than an empty string'],
23
- [[['60a20bd93aa49ab4b28d514ec10b06e1829ce6818ec06cd3aabd013ebcdc4bb1', 0, '1 0x41 0x04cc71eb30d653c0c3163990c47b976f3fb3f37cccdcbedb169a1dfef58bbfbfaff7d8a473e7e2e6d317b87bafe8bde97e3cf8f065dec022b51d11fcdd0d348ac4 0x41 0x0461cbdcc5409fb4b4d42b51d33381354d80e550078cb532a34bfa2fcfdeb7d76519aecc62770f5b0e4ef8551946d8a540911abe3e7854a26f39f58b25c15342af 2 OP_CHECKMULTISIG']],
24
- '0100000001b14bdcbc3e01bdaad36cc08e81e69c82e1060bc14e518db2b49aa43ad90ba260000000004a01ff47304402203f16c6f40162ab686621ef3000b04e75418a0c0cb2d8aebeac894ae360ac1e780220ddc15ecdfc3507ac48e1681a33eb60996631bf6bf5bc0a0682c4db743ce7ca2b01ffffffff0140420f00000000001976a914660d4ef3a743e3e696ad990364e555c271ad504b88ac00000000', ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']],
35
+ [
36
+ [
37
+ [
38
+ '60a20bd93aa49ab4b28d514ec10b06e1829ce6818ec06cd3aabd013ebcdc4bb1',
39
+ 0,
40
+ '1 0x41 0x04cc71eb30d653c0c3163990c47b976f3fb3f37cccdcbedb169a1dfef58bbfbfaff7d8a473e7e2e6d317b87bafe8bde97e3cf8f065dec022b51d11fcdd0d348ac4 0x41 0x0461cbdcc5409fb4b4d42b51d33381354d80e550078cb532a34bfa2fcfdeb7d76519aecc62770f5b0e4ef8551946d8a540911abe3e7854a26f39f58b25c15342af 2 OP_CHECKMULTISIG'
41
+ ]
42
+ ],
43
+ '0100000001b14bdcbc3e01bdaad36cc08e81e69c82e1060bc14e518db2b49aa43ad90ba260000000004a0048304402203f16c6f40162ab686621ef3000b04e75418a0c0cb2d8aebeac894ae360ac1e780220ddc15ecdfc3507ac48e1681a33eb60996631bf6bf5bc0a0682c4db743ce7ca2bab01ffffffff0140420f00000000001976a914660d4ef3a743e3e696ad990364e555c271ad504b88ac00000000',
44
+ 'P2SH,UTXO_AFTER_GENESIS,NULLDUMMY'
45
+ ],
46
+
47
+ [
48
+ 'The following is a tweaked form of 23b397edccd3740a74adb603c9756370fafcde9bcc4483eb271ecad09a94dd63'
49
+ ],
50
+ [
51
+ 'It is an OP_CHECKMULTISIG with the dummy value set to something other than an empty string'
52
+ ],
53
+ [
54
+ [
55
+ [
56
+ '60a20bd93aa49ab4b28d514ec10b06e1829ce6818ec06cd3aabd013ebcdc4bb1',
57
+ 0,
58
+ '1 0x41 0x04cc71eb30d653c0c3163990c47b976f3fb3f37cccdcbedb169a1dfef58bbfbfaff7d8a473e7e2e6d317b87bafe8bde97e3cf8f065dec022b51d11fcdd0d348ac4 0x41 0x0461cbdcc5409fb4b4d42b51d33381354d80e550078cb532a34bfa2fcfdeb7d76519aecc62770f5b0e4ef8551946d8a540911abe3e7854a26f39f58b25c15342af 2 OP_CHECKMULTISIG'
59
+ ]
60
+ ],
61
+ '0100000001b14bdcbc3e01bdaad36cc08e81e69c82e1060bc14e518db2b49aa43ad90ba260000000004a01ff47304402203f16c6f40162ab686621ef3000b04e75418a0c0cb2d8aebeac894ae360ac1e780220ddc15ecdfc3507ac48e1681a33eb60996631bf6bf5bc0a0682c4db743ce7ca2b01ffffffff0140420f00000000001976a914660d4ef3a743e3e696ad990364e555c271ad504b88ac00000000',
62
+ ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']
63
+ ],
25
64
 
26
65
  ['As above, but using a OP_1'],
27
- [[['60a20bd93aa49ab4b28d514ec10b06e1829ce6818ec06cd3aabd013ebcdc4bb1', 0, '1 0x41 0x04cc71eb30d653c0c3163990c47b976f3fb3f37cccdcbedb169a1dfef58bbfbfaff7d8a473e7e2e6d317b87bafe8bde97e3cf8f065dec022b51d11fcdd0d348ac4 0x41 0x0461cbdcc5409fb4b4d42b51d33381354d80e550078cb532a34bfa2fcfdeb7d76519aecc62770f5b0e4ef8551946d8a540911abe3e7854a26f39f58b25c15342af 2 OP_CHECKMULTISIG']],
28
- '0100000001b14bdcbc3e01bdaad36cc08e81e69c82e1060bc14e518db2b49aa43ad90ba26000000000495147304402203f16c6f40162ab686621ef3000b04e75418a0c0cb2d8aebeac894ae360ac1e780220ddc15ecdfc3507ac48e1681a33eb60996631bf6bf5bc0a0682c4db743ce7ca2b01ffffffff0140420f00000000001976a914660d4ef3a743e3e696ad990364e555c271ad504b88ac00000000', ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']],
66
+ [
67
+ [
68
+ [
69
+ '60a20bd93aa49ab4b28d514ec10b06e1829ce6818ec06cd3aabd013ebcdc4bb1',
70
+ 0,
71
+ '1 0x41 0x04cc71eb30d653c0c3163990c47b976f3fb3f37cccdcbedb169a1dfef58bbfbfaff7d8a473e7e2e6d317b87bafe8bde97e3cf8f065dec022b51d11fcdd0d348ac4 0x41 0x0461cbdcc5409fb4b4d42b51d33381354d80e550078cb532a34bfa2fcfdeb7d76519aecc62770f5b0e4ef8551946d8a540911abe3e7854a26f39f58b25c15342af 2 OP_CHECKMULTISIG'
72
+ ]
73
+ ],
74
+ '0100000001b14bdcbc3e01bdaad36cc08e81e69c82e1060bc14e518db2b49aa43ad90ba26000000000495147304402203f16c6f40162ab686621ef3000b04e75418a0c0cb2d8aebeac894ae360ac1e780220ddc15ecdfc3507ac48e1681a33eb60996631bf6bf5bc0a0682c4db743ce7ca2b01ffffffff0140420f00000000001976a914660d4ef3a743e3e696ad990364e555c271ad504b88ac00000000',
75
+ ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']
76
+ ],
29
77
 
30
78
  ['As above, but using a OP_1NEGATE'],
31
- [[['60a20bd93aa49ab4b28d514ec10b06e1829ce6818ec06cd3aabd013ebcdc4bb1', 0, '1 0x41 0x04cc71eb30d653c0c3163990c47b976f3fb3f37cccdcbedb169a1dfef58bbfbfaff7d8a473e7e2e6d317b87bafe8bde97e3cf8f065dec022b51d11fcdd0d348ac4 0x41 0x0461cbdcc5409fb4b4d42b51d33381354d80e550078cb532a34bfa2fcfdeb7d76519aecc62770f5b0e4ef8551946d8a540911abe3e7854a26f39f58b25c15342af 2 OP_CHECKMULTISIG']],
32
- '0100000001b14bdcbc3e01bdaad36cc08e81e69c82e1060bc14e518db2b49aa43ad90ba26000000000494f47304402203f16c6f40162ab686621ef3000b04e75418a0c0cb2d8aebeac894ae360ac1e780220ddc15ecdfc3507ac48e1681a33eb60996631bf6bf5bc0a0682c4db743ce7ca2b01ffffffff0140420f00000000001976a914660d4ef3a743e3e696ad990364e555c271ad504b88ac00000000', ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']],
33
-
34
- ['The following is c99c49da4c38af669dea436d3e73780dfdb6c1ecf9958baa52960e8baee30e73'],
35
- ['It is of interest because it contains a 0-sequence as well as a signature of SIGHASH type 0 (which is not a real type)'],
36
- [[['406b2b06bcd34d3c8733e6b79f7a394c8a431fbf4ff5ac705c93f4076bb77602', 0, 'DUP HASH160 0x14 0xdc44b1164188067c3a32d4780f5996fa14a4f2d9 EQUALVERIFY CHECKSIG']],
37
- '01000000010276b76b07f4935c70acf54fbf1f438a4c397a9fb7e633873c4dd3bc062b6b40000000008c493046022100d23459d03ed7e9511a47d13292d3430a04627de6235b6e51a40f9cd386f2abe3022100e7d25b080f0bb8d8d5f878bba7d54ad2fda650ea8d158a33ee3cbd11768191fd004104b0e2c879e4daf7b9ab68350228c159766676a14f5815084ba166432aab46198d4cca98fa3e9981d0a90b2effc514b76279476550ba3663fdcaff94c38420e9d5000000000100093d00000000001976a9149a7b0f3b80c6baaeedce0a0842553800f832ba1f88ac00000000', ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']],
79
+ [
80
+ [
81
+ [
82
+ '60a20bd93aa49ab4b28d514ec10b06e1829ce6818ec06cd3aabd013ebcdc4bb1',
83
+ 0,
84
+ '1 0x41 0x04cc71eb30d653c0c3163990c47b976f3fb3f37cccdcbedb169a1dfef58bbfbfaff7d8a473e7e2e6d317b87bafe8bde97e3cf8f065dec022b51d11fcdd0d348ac4 0x41 0x0461cbdcc5409fb4b4d42b51d33381354d80e550078cb532a34bfa2fcfdeb7d76519aecc62770f5b0e4ef8551946d8a540911abe3e7854a26f39f58b25c15342af 2 OP_CHECKMULTISIG'
85
+ ]
86
+ ],
87
+ '0100000001b14bdcbc3e01bdaad36cc08e81e69c82e1060bc14e518db2b49aa43ad90ba26000000000494f47304402203f16c6f40162ab686621ef3000b04e75418a0c0cb2d8aebeac894ae360ac1e780220ddc15ecdfc3507ac48e1681a33eb60996631bf6bf5bc0a0682c4db743ce7ca2b01ffffffff0140420f00000000001976a914660d4ef3a743e3e696ad990364e555c271ad504b88ac00000000',
88
+ ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']
89
+ ],
90
+
91
+ [
92
+ 'The following is c99c49da4c38af669dea436d3e73780dfdb6c1ecf9958baa52960e8baee30e73'
93
+ ],
94
+ [
95
+ 'It is of interest because it contains a 0-sequence as well as a signature of SIGHASH type 0 (which is not a real type)'
96
+ ],
97
+ [
98
+ [
99
+ [
100
+ '406b2b06bcd34d3c8733e6b79f7a394c8a431fbf4ff5ac705c93f4076bb77602',
101
+ 0,
102
+ 'DUP HASH160 0x14 0xdc44b1164188067c3a32d4780f5996fa14a4f2d9 EQUALVERIFY CHECKSIG'
103
+ ]
104
+ ],
105
+ '01000000010276b76b07f4935c70acf54fbf1f438a4c397a9fb7e633873c4dd3bc062b6b40000000008c493046022100d23459d03ed7e9511a47d13292d3430a04627de6235b6e51a40f9cd386f2abe3022100e7d25b080f0bb8d8d5f878bba7d54ad2fda650ea8d158a33ee3cbd11768191fd004104b0e2c879e4daf7b9ab68350228c159766676a14f5815084ba166432aab46198d4cca98fa3e9981d0a90b2effc514b76279476550ba3663fdcaff94c38420e9d5000000000100093d00000000001976a9149a7b0f3b80c6baaeedce0a0842553800f832ba1f88ac00000000',
106
+ ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']
107
+ ],
38
108
 
39
109
  ['A nearly-standard transaction with CHECKSIGVERIFY 1 instead of CHECKSIG'],
40
- [[['0000000000000000000000000000000000000000000000000000000000000100', 0, 'DUP HASH160 0x14 0x5b6462475454710f3c22f5fdf0b40704c92f25c3 EQUALVERIFY CHECKSIGVERIFY 1']],
41
- '01000000010001000000000000000000000000000000000000000000000000000000000000000000006a473044022067288ea50aa799543a536ff9306f8e1cba05b9c6b10951175b924f96732555ed022026d7b5265f38d21541519e4a1e55044d5b9e17e15cdbaf29ae3792e99e883e7a012103ba8c8b86dea131c22ab967e6dd99bdae8eff7a1f75a2c35f1f944109e3fe5e22ffffffff010000000000000000015100000000', ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']],
42
-
43
- ['Same as above, but with the signature duplicated in the scriptPubKey with the proper pushdata prefix'],
44
- [[['0000000000000000000000000000000000000000000000000000000000000100', 0, 'DUP HASH160 0x14 0x5b6462475454710f3c22f5fdf0b40704c92f25c3 EQUALVERIFY CHECKSIGVERIFY 1 0x47 0x3044022067288ea50aa799543a536ff9306f8e1cba05b9c6b10951175b924f96732555ed022026d7b5265f38d21541519e4a1e55044d5b9e17e15cdbaf29ae3792e99e883e7a01']],
45
- '01000000010001000000000000000000000000000000000000000000000000000000000000000000006a473044022067288ea50aa799543a536ff9306f8e1cba05b9c6b10951175b924f96732555ed022026d7b5265f38d21541519e4a1e55044d5b9e17e15cdbaf29ae3792e99e883e7a012103ba8c8b86dea131c22ab967e6dd99bdae8eff7a1f75a2c35f1f944109e3fe5e22ffffffff010000000000000000015100000000', ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']],
46
-
47
- ['The following is f7fdd091fa6d8f5e7a8c2458f5c38faffff2d3f1406b6e4fe2c99dcc0d2d1cbb'],
48
- ['It caught a bug in the workaround for 23b397edccd3740a74adb603c9756370fafcde9bcc4483eb271ecad09a94dd63 in an overly simple implementation'],
49
- [[['b464e85df2a238416f8bdae11d120add610380ea07f4ef19c5f9dfd472f96c3d', 0, 'DUP HASH160 0x14 0xbef80ecf3a44500fda1bc92176e442891662aed2 EQUALVERIFY CHECKSIG'],
50
- ['b7978cc96e59a8b13e0865d3f95657561a7f725be952438637475920bac9eb21', 1, 'DUP HASH160 0x14 0xbef80ecf3a44500fda1bc92176e442891662aed2 EQUALVERIFY CHECKSIG']],
51
- '01000000023d6cf972d4dff9c519eff407ea800361dd0a121de1da8b6f4138a2f25de864b4000000008a4730440220ffda47bfc776bcd269da4832626ac332adfca6dd835e8ecd83cd1ebe7d709b0e022049cffa1cdc102a0b56e0e04913606c70af702a1149dc3b305ab9439288fee090014104266abb36d66eb4218a6dd31f09bb92cf3cfa803c7ea72c1fc80a50f919273e613f895b855fb7465ccbc8919ad1bd4a306c783f22cd3227327694c4fa4c1c439affffffff21ebc9ba20594737864352e95b727f1a565756f9d365083eb1a8596ec98c97b7010000008a4730440220503ff10e9f1e0de731407a4a245531c9ff17676eda461f8ceeb8c06049fa2c810220c008ac34694510298fa60b3f000df01caa244f165b727d4896eb84f81e46bcc4014104266abb36d66eb4218a6dd31f09bb92cf3cfa803c7ea72c1fc80a50f919273e613f895b855fb7465ccbc8919ad1bd4a306c783f22cd3227327694c4fa4c1c439affffffff01f0da5200000000001976a914857ccd42dded6df32949d4646dfa10a92458cfaa88ac00000000', ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']],
52
-
53
- ['The following tests for the presence of a bug in the handling of SIGHASH_SINGLE'],
54
- ['It results in signing the constant 1, instead of something generated based on the transaction,'],
55
- ['when the input doing the signing has an index greater than the maximum output index'],
56
- [[['0000000000000000000000000000000000000000000000000000000000000200', 0, '1'], ['0000000000000000000000000000000000000000000000000000000000000100', 0, 'DUP HASH160 0x14 0xe52b482f2faa8ecbf0db344f93c84ac908557f33 EQUALVERIFY CHECKSIG']],
57
- '01000000020002000000000000000000000000000000000000000000000000000000000000000000000151ffffffff0001000000000000000000000000000000000000000000000000000000000000000000006b483045022100c9cdd08798a28af9d1baf44a6c77bcc7e279f47dc487c8c899911bc48feaffcc0220503c5c50ae3998a733263c5c0f7061b483e2b56c4c41b456e7d2f5a78a74c077032102d5c25adb51b61339d2b05315791e21bbe80ea470a49db0135720983c905aace0ffffffff010000000000000000015100000000', ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']],
110
+ [
111
+ [
112
+ [
113
+ '0000000000000000000000000000000000000000000000000000000000000100',
114
+ 0,
115
+ 'DUP HASH160 0x14 0x5b6462475454710f3c22f5fdf0b40704c92f25c3 EQUALVERIFY CHECKSIGVERIFY 1'
116
+ ]
117
+ ],
118
+ '01000000010001000000000000000000000000000000000000000000000000000000000000000000006a473044022067288ea50aa799543a536ff9306f8e1cba05b9c6b10951175b924f96732555ed022026d7b5265f38d21541519e4a1e55044d5b9e17e15cdbaf29ae3792e99e883e7a012103ba8c8b86dea131c22ab967e6dd99bdae8eff7a1f75a2c35f1f944109e3fe5e22ffffffff010000000000000000015100000000',
119
+ ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']
120
+ ],
121
+
122
+ [
123
+ 'Same as above, but with the signature duplicated in the scriptPubKey with the proper pushdata prefix'
124
+ ],
125
+ [
126
+ [
127
+ [
128
+ '0000000000000000000000000000000000000000000000000000000000000100',
129
+ 0,
130
+ 'DUP HASH160 0x14 0x5b6462475454710f3c22f5fdf0b40704c92f25c3 EQUALVERIFY CHECKSIGVERIFY 1 0x47 0x3044022067288ea50aa799543a536ff9306f8e1cba05b9c6b10951175b924f96732555ed022026d7b5265f38d21541519e4a1e55044d5b9e17e15cdbaf29ae3792e99e883e7a01'
131
+ ]
132
+ ],
133
+ '01000000010001000000000000000000000000000000000000000000000000000000000000000000006a473044022067288ea50aa799543a536ff9306f8e1cba05b9c6b10951175b924f96732555ed022026d7b5265f38d21541519e4a1e55044d5b9e17e15cdbaf29ae3792e99e883e7a012103ba8c8b86dea131c22ab967e6dd99bdae8eff7a1f75a2c35f1f944109e3fe5e22ffffffff010000000000000000015100000000',
134
+ ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']
135
+ ],
136
+
137
+ [
138
+ 'The following is f7fdd091fa6d8f5e7a8c2458f5c38faffff2d3f1406b6e4fe2c99dcc0d2d1cbb'
139
+ ],
140
+ [
141
+ 'It caught a bug in the workaround for 23b397edccd3740a74adb603c9756370fafcde9bcc4483eb271ecad09a94dd63 in an overly simple implementation'
142
+ ],
143
+ [
144
+ [
145
+ [
146
+ 'b464e85df2a238416f8bdae11d120add610380ea07f4ef19c5f9dfd472f96c3d',
147
+ 0,
148
+ 'DUP HASH160 0x14 0xbef80ecf3a44500fda1bc92176e442891662aed2 EQUALVERIFY CHECKSIG'
149
+ ],
150
+ [
151
+ 'b7978cc96e59a8b13e0865d3f95657561a7f725be952438637475920bac9eb21',
152
+ 1,
153
+ 'DUP HASH160 0x14 0xbef80ecf3a44500fda1bc92176e442891662aed2 EQUALVERIFY CHECKSIG'
154
+ ]
155
+ ],
156
+ '01000000023d6cf972d4dff9c519eff407ea800361dd0a121de1da8b6f4138a2f25de864b4000000008a4730440220ffda47bfc776bcd269da4832626ac332adfca6dd835e8ecd83cd1ebe7d709b0e022049cffa1cdc102a0b56e0e04913606c70af702a1149dc3b305ab9439288fee090014104266abb36d66eb4218a6dd31f09bb92cf3cfa803c7ea72c1fc80a50f919273e613f895b855fb7465ccbc8919ad1bd4a306c783f22cd3227327694c4fa4c1c439affffffff21ebc9ba20594737864352e95b727f1a565756f9d365083eb1a8596ec98c97b7010000008a4730440220503ff10e9f1e0de731407a4a245531c9ff17676eda461f8ceeb8c06049fa2c810220c008ac34694510298fa60b3f000df01caa244f165b727d4896eb84f81e46bcc4014104266abb36d66eb4218a6dd31f09bb92cf3cfa803c7ea72c1fc80a50f919273e613f895b855fb7465ccbc8919ad1bd4a306c783f22cd3227327694c4fa4c1c439affffffff01f0da5200000000001976a914857ccd42dded6df32949d4646dfa10a92458cfaa88ac00000000',
157
+ ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']
158
+ ],
159
+
160
+ [
161
+ 'The following tests for the presence of a bug in the handling of SIGHASH_SINGLE'
162
+ ],
163
+ [
164
+ 'It results in signing the constant 1, instead of something generated based on the transaction,'
165
+ ],
166
+ [
167
+ 'when the input doing the signing has an index greater than the maximum output index'
168
+ ],
169
+ [
170
+ [
171
+ [
172
+ '0000000000000000000000000000000000000000000000000000000000000200',
173
+ 0,
174
+ '1'
175
+ ],
176
+ [
177
+ '0000000000000000000000000000000000000000000000000000000000000100',
178
+ 0,
179
+ 'DUP HASH160 0x14 0xe52b482f2faa8ecbf0db344f93c84ac908557f33 EQUALVERIFY CHECKSIG'
180
+ ]
181
+ ],
182
+ '01000000020002000000000000000000000000000000000000000000000000000000000000000000000151ffffffff0001000000000000000000000000000000000000000000000000000000000000000000006b483045022100c9cdd08798a28af9d1baf44a6c77bcc7e279f47dc487c8c899911bc48feaffcc0220503c5c50ae3998a733263c5c0f7061b483e2b56c4c41b456e7d2f5a78a74c077032102d5c25adb51b61339d2b05315791e21bbe80ea470a49db0135720983c905aace0ffffffff010000000000000000015100000000',
183
+ ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']
184
+ ],
58
185
 
59
186
  ['An invalid P2SH Transaction'],
60
- [[['0000000000000000000000000000000000000000000000000000000000000100', 0, 'HASH160 0x14 0x7a052c840ba73af26755de42cf01cc9e0a49fef0 EQUAL']],
61
- '010000000100010000000000000000000000000000000000000000000000000000000000000000000009085768617420697320ffffffff010000000000000000015100000000', 'NONE'],
62
-
63
- ['A valid P2SH Transaction using the standard transaction type put forth in BIP 16'],
64
- [[['0000000000000000000000000000000000000000000000000000000000000100', 0, 'HASH160 0x14 0x8febbed40483661de6958d957412f82deed8e2f7 EQUAL']],
65
- '01000000010001000000000000000000000000000000000000000000000000000000000000000000006e493046022100c66c9cdf4c43609586d15424c54707156e316d88b0a1534c9e6b0d4f311406310221009c0fe51dbc9c4ab7cc25d3fdbeccf6679fe6827f08edf2b4a9f16ee3eb0e438a0123210338e8034509af564c62644c07691942e0c056752008a173c89f60ab2a88ac2ebfacffffffff010000000000000000015100000000', ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']],
187
+ [
188
+ [
189
+ [
190
+ '0000000000000000000000000000000000000000000000000000000000000100',
191
+ 0,
192
+ 'HASH160 0x14 0x7a052c840ba73af26755de42cf01cc9e0a49fef0 EQUAL'
193
+ ]
194
+ ],
195
+ '010000000100010000000000000000000000000000000000000000000000000000000000000000000009085768617420697320ffffffff010000000000000000015100000000',
196
+ 'NONE'
197
+ ],
198
+
199
+ [
200
+ 'A valid P2SH Transaction using the standard transaction type put forth in BIP 16'
201
+ ],
202
+ [
203
+ [
204
+ [
205
+ '0000000000000000000000000000000000000000000000000000000000000100',
206
+ 0,
207
+ 'HASH160 0x14 0x8febbed40483661de6958d957412f82deed8e2f7 EQUAL'
208
+ ]
209
+ ],
210
+ '01000000010001000000000000000000000000000000000000000000000000000000000000000000006e493046022100c66c9cdf4c43609586d15424c54707156e316d88b0a1534c9e6b0d4f311406310221009c0fe51dbc9c4ab7cc25d3fdbeccf6679fe6827f08edf2b4a9f16ee3eb0e438a0123210338e8034509af564c62644c07691942e0c056752008a173c89f60ab2a88ac2ebfacffffffff010000000000000000015100000000',
211
+ ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']
212
+ ],
66
213
 
67
214
  ['Tests for CheckTransaction()'],
68
215
  ['MAX_MONEY output'],
69
- [[['0000000000000000000000000000000000000000000000000000000000000100', 0, 'HASH160 0x14 0x32afac281462b822adbec5094b8d4d337dd5bd6a EQUAL']],
70
- '01000000010001000000000000000000000000000000000000000000000000000000000000000000006e493046022100e1eadba00d9296c743cb6ecc703fd9ddc9b3cd12906176a226ae4c18d6b00796022100a71aef7d2874deff681ba6080f1b278bac7bb99c61b08a85f4311970ffe7f63f012321030c0588dc44d92bdcbf8e72093466766fdc265ead8db64517b0c542275b70fffbacffffffff010040075af0750700015100000000', ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']],
216
+ [
217
+ [
218
+ [
219
+ '0000000000000000000000000000000000000000000000000000000000000100',
220
+ 0,
221
+ 'HASH160 0x14 0x32afac281462b822adbec5094b8d4d337dd5bd6a EQUAL'
222
+ ]
223
+ ],
224
+ '01000000010001000000000000000000000000000000000000000000000000000000000000000000006e493046022100e1eadba00d9296c743cb6ecc703fd9ddc9b3cd12906176a226ae4c18d6b00796022100a71aef7d2874deff681ba6080f1b278bac7bb99c61b08a85f4311970ffe7f63f012321030c0588dc44d92bdcbf8e72093466766fdc265ead8db64517b0c542275b70fffbacffffffff010040075af0750700015100000000',
225
+ ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']
226
+ ],
71
227
 
72
228
  ['MAX_MONEY output + 0 output'],
73
- [[['0000000000000000000000000000000000000000000000000000000000000100', 0, 'HASH160 0x14 0xb558cbf4930954aa6a344363a15668d7477ae716 EQUAL']],
74
- '01000000010001000000000000000000000000000000000000000000000000000000000000000000006d483045022027deccc14aa6668e78a8c9da3484fbcd4f9dcc9bb7d1b85146314b21b9ae4d86022100d0b43dece8cfb07348de0ca8bc5b86276fa88f7f2138381128b7c36ab2e42264012321029bb13463ddd5d2cc05da6e84e37536cb9525703cfd8f43afdb414988987a92f6acffffffff020040075af075070001510000000000000000015100000000', ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']],
229
+ [
230
+ [
231
+ [
232
+ '0000000000000000000000000000000000000000000000000000000000000100',
233
+ 0,
234
+ 'HASH160 0x14 0xb558cbf4930954aa6a344363a15668d7477ae716 EQUAL'
235
+ ]
236
+ ],
237
+ '01000000010001000000000000000000000000000000000000000000000000000000000000000000006d483045022027deccc14aa6668e78a8c9da3484fbcd4f9dcc9bb7d1b85146314b21b9ae4d86022100d0b43dece8cfb07348de0ca8bc5b86276fa88f7f2138381128b7c36ab2e42264012321029bb13463ddd5d2cc05da6e84e37536cb9525703cfd8f43afdb414988987a92f6acffffffff020040075af075070001510000000000000000015100000000',
238
+ ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']
239
+ ],
75
240
 
76
241
  ['Coinbase of size 2'],
77
242
  ['Note the input is just required to make the tester happy'],
78
- [[['0000000000000000000000000000000000000000000000000000000000000000', -1, '1']],
79
- '01000000010000000000000000000000000000000000000000000000000000000000000000ffffffff025151ffffffff010000000000000000015100000000', ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']],
243
+ [
244
+ [
245
+ [
246
+ '0000000000000000000000000000000000000000000000000000000000000000',
247
+ -1,
248
+ '1'
249
+ ]
250
+ ],
251
+ '01000000010000000000000000000000000000000000000000000000000000000000000000ffffffff025151ffffffff010000000000000000015100000000',
252
+ ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']
253
+ ],
80
254
 
81
255
  ['Coinbase of size 100'],
82
256
  ['Note the input is just required to make the tester happy'],
83
- [[['0000000000000000000000000000000000000000000000000000000000000000', -1, '1']],
84
- '01000000010000000000000000000000000000000000000000000000000000000000000000ffffffff6451515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151ffffffff010000000000000000015100000000', ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']],
85
-
86
- ['Simple transaction with first input is signed with SIGHASH_ALL, second with SIGHASH_ANYONECANPAY'],
87
- [[['0000000000000000000000000000000000000000000000000000000000000100', 0, '0x21 0x035e7f0d4d0841bcd56c39337ed086b1a633ee770c1ffdd94ac552a95ac2ce0efc CHECKSIG'],
88
- ['0000000000000000000000000000000000000000000000000000000000000200', 0, '0x21 0x035e7f0d4d0841bcd56c39337ed086b1a633ee770c1ffdd94ac552a95ac2ce0efc CHECKSIG']],
89
- '010000000200010000000000000000000000000000000000000000000000000000000000000000000049483045022100d180fd2eb9140aeb4210c9204d3f358766eb53842b2a9473db687fa24b12a3cc022079781799cd4f038b85135bbe49ec2b57f306b2bb17101b17f71f000fcab2b6fb01ffffffff0002000000000000000000000000000000000000000000000000000000000000000000004847304402205f7530653eea9b38699e476320ab135b74771e1c48b81a5d041e2ca84b9be7a802200ac8d1f40fb026674fe5a5edd3dea715c27baa9baca51ed45ea750ac9dc0a55e81ffffffff010100000000000000015100000000', ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']],
90
-
91
- ['Same as above, but we change the sequence number of the first input to check that SIGHASH_ANYONECANPAY is being followed'],
92
- [[['0000000000000000000000000000000000000000000000000000000000000100', 0, '0x21 0x035e7f0d4d0841bcd56c39337ed086b1a633ee770c1ffdd94ac552a95ac2ce0efc CHECKSIG'],
93
- ['0000000000000000000000000000000000000000000000000000000000000200', 0, '0x21 0x035e7f0d4d0841bcd56c39337ed086b1a633ee770c1ffdd94ac552a95ac2ce0efc CHECKSIG']],
94
- '01000000020001000000000000000000000000000000000000000000000000000000000000000000004948304502203a0f5f0e1f2bdbcd04db3061d18f3af70e07f4f467cbc1b8116f267025f5360b022100c792b6e215afc5afc721a351ec413e714305cb749aae3d7fee76621313418df101010000000002000000000000000000000000000000000000000000000000000000000000000000004847304402205f7530653eea9b38699e476320ab135b74771e1c48b81a5d041e2ca84b9be7a802200ac8d1f40fb026674fe5a5edd3dea715c27baa9baca51ed45ea750ac9dc0a55e81ffffffff010100000000000000015100000000', ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']],
95
-
96
- ['afd9c17f8913577ec3509520bd6e5d63e9c0fd2a5f70c787993b097ba6ca9fae which has several SIGHASH_SINGLE signatures'],
97
- [[['63cfa5a09dc540bf63e53713b82d9ea3692ca97cd608c384f2aa88e51a0aac70', 0, 'DUP HASH160 0x14 0xdcf72c4fd02f5a987cf9b02f2fabfcac3341a87d EQUALVERIFY CHECKSIG'],
98
- ['04e8d0fcf3846c6734477b98f0f3d4badfb78f020ee097a0be5fe347645b817d', 1, 'DUP HASH160 0x14 0xdcf72c4fd02f5a987cf9b02f2fabfcac3341a87d EQUALVERIFY CHECKSIG'],
99
- ['ee1377aff5d0579909e11782e1d2f5f7b84d26537be7f5516dd4e43373091f3f', 1, 'DUP HASH160 0x14 0xdcf72c4fd02f5a987cf9b02f2fabfcac3341a87d EQUALVERIFY CHECKSIG']],
100
- '010000000370ac0a1ae588aaf284c308d67ca92c69a39e2db81337e563bf40c59da0a5cf63000000006a4730440220360d20baff382059040ba9be98947fd678fb08aab2bb0c172efa996fd8ece9b702201b4fb0de67f015c90e7ac8a193aeab486a1f587e0f54d0fb9552ef7f5ce6caec032103579ca2e6d107522f012cd00b52b9a65fb46f0c57b9b8b6e377c48f526a44741affffffff7d815b6447e35fbea097e00e028fb7dfbad4f3f0987b4734676c84f3fcd0e804010000006b483045022100c714310be1e3a9ff1c5f7cacc65c2d8e781fc3a88ceb063c6153bf950650802102200b2d0979c76e12bb480da635f192cc8dc6f905380dd4ac1ff35a4f68f462fffd032103579ca2e6d107522f012cd00b52b9a65fb46f0c57b9b8b6e377c48f526a44741affffffff3f1f097333e4d46d51f5e77b53264db8f7f5d2e18217e1099957d0f5af7713ee010000006c493046022100b663499ef73273a3788dea342717c2640ac43c5a1cf862c9e09b206fcb3f6bb8022100b09972e75972d9148f2bdd462e5cb69b57c1214b88fc55ca638676c07cfc10d8032103579ca2e6d107522f012cd00b52b9a65fb46f0c57b9b8b6e377c48f526a44741affffffff0380841e00000000001976a914bfb282c70c4191f45b5a6665cad1682f2c9cfdfb88ac80841e00000000001976a9149857cc07bed33a5cf12b9c5e0500b675d500c81188ace0fd1c00000000001976a91443c52850606c872403c0601e69fa34b26f62db4a88ac00000000', ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']],
101
-
102
- ['ddc454a1c0c35c188c98976b17670f69e586d9c0f3593ea879928332f0a069e7, which spends an input that pushes using a PUSHDATA1 that is negative when read as signed'],
103
- [[['c5510a5dd97a25f43175af1fe649b707b1df8e1a41489bac33a23087027a2f48', 0, '0x4c 0xae 0x606563686f2022553246736447566b58312b5a536e587574356542793066794778625456415675534a6c376a6a334878416945325364667657734f53474f36633338584d7439435c6e543249584967306a486956304f376e775236644546673d3d22203e20743b206f70656e73736c20656e63202d7061737320706173733a5b314a564d7751432d707269766b65792d6865785d202d64202d6165732d3235362d636263202d61202d696e207460 DROP DUP HASH160 0x14 0xbfd7436b6265aa9de506f8a994f881ff08cc2872 EQUALVERIFY CHECKSIG']],
104
- '0100000001482f7a028730a233ac9b48411a8edfb107b749e61faf7531f4257ad95d0a51c5000000008b483045022100bf0bbae9bde51ad2b222e87fbf67530fbafc25c903519a1e5dcc52a32ff5844e022028c4d9ad49b006dd59974372a54291d5764be541574bb0c4dc208ec51f80b7190141049dd4aad62741dc27d5f267f7b70682eee22e7e9c1923b9c0957bdae0b96374569b460eb8d5b40d972e8c7c0ad441de3d94c4a29864b212d56050acb980b72b2bffffffff0180969800000000001976a914e336d0017a9d28de99d16472f6ca6d5a3a8ebc9988ac00000000', ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']],
257
+ [
258
+ [
259
+ [
260
+ '0000000000000000000000000000000000000000000000000000000000000000',
261
+ -1,
262
+ '1'
263
+ ]
264
+ ],
265
+ '01000000010000000000000000000000000000000000000000000000000000000000000000ffffffff6451515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151ffffffff010000000000000000015100000000',
266
+ ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']
267
+ ],
268
+
269
+ [
270
+ 'Simple transaction with first input is signed with SIGHASH_ALL, second with SIGHASH_ANYONECANPAY'
271
+ ],
272
+ [
273
+ [
274
+ [
275
+ '0000000000000000000000000000000000000000000000000000000000000100',
276
+ 0,
277
+ '0x21 0x035e7f0d4d0841bcd56c39337ed086b1a633ee770c1ffdd94ac552a95ac2ce0efc CHECKSIG'
278
+ ],
279
+ [
280
+ '0000000000000000000000000000000000000000000000000000000000000200',
281
+ 0,
282
+ '0x21 0x035e7f0d4d0841bcd56c39337ed086b1a633ee770c1ffdd94ac552a95ac2ce0efc CHECKSIG'
283
+ ]
284
+ ],
285
+ '010000000200010000000000000000000000000000000000000000000000000000000000000000000049483045022100d180fd2eb9140aeb4210c9204d3f358766eb53842b2a9473db687fa24b12a3cc022079781799cd4f038b85135bbe49ec2b57f306b2bb17101b17f71f000fcab2b6fb01ffffffff0002000000000000000000000000000000000000000000000000000000000000000000004847304402205f7530653eea9b38699e476320ab135b74771e1c48b81a5d041e2ca84b9be7a802200ac8d1f40fb026674fe5a5edd3dea715c27baa9baca51ed45ea750ac9dc0a55e81ffffffff010100000000000000015100000000',
286
+ ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']
287
+ ],
288
+
289
+ [
290
+ 'Same as above, but we change the sequence number of the first input to check that SIGHASH_ANYONECANPAY is being followed'
291
+ ],
292
+ [
293
+ [
294
+ [
295
+ '0000000000000000000000000000000000000000000000000000000000000100',
296
+ 0,
297
+ '0x21 0x035e7f0d4d0841bcd56c39337ed086b1a633ee770c1ffdd94ac552a95ac2ce0efc CHECKSIG'
298
+ ],
299
+ [
300
+ '0000000000000000000000000000000000000000000000000000000000000200',
301
+ 0,
302
+ '0x21 0x035e7f0d4d0841bcd56c39337ed086b1a633ee770c1ffdd94ac552a95ac2ce0efc CHECKSIG'
303
+ ]
304
+ ],
305
+ '01000000020001000000000000000000000000000000000000000000000000000000000000000000004948304502203a0f5f0e1f2bdbcd04db3061d18f3af70e07f4f467cbc1b8116f267025f5360b022100c792b6e215afc5afc721a351ec413e714305cb749aae3d7fee76621313418df101010000000002000000000000000000000000000000000000000000000000000000000000000000004847304402205f7530653eea9b38699e476320ab135b74771e1c48b81a5d041e2ca84b9be7a802200ac8d1f40fb026674fe5a5edd3dea715c27baa9baca51ed45ea750ac9dc0a55e81ffffffff010100000000000000015100000000',
306
+ ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']
307
+ ],
308
+
309
+ [
310
+ 'afd9c17f8913577ec3509520bd6e5d63e9c0fd2a5f70c787993b097ba6ca9fae which has several SIGHASH_SINGLE signatures'
311
+ ],
312
+ [
313
+ [
314
+ [
315
+ '63cfa5a09dc540bf63e53713b82d9ea3692ca97cd608c384f2aa88e51a0aac70',
316
+ 0,
317
+ 'DUP HASH160 0x14 0xdcf72c4fd02f5a987cf9b02f2fabfcac3341a87d EQUALVERIFY CHECKSIG'
318
+ ],
319
+ [
320
+ '04e8d0fcf3846c6734477b98f0f3d4badfb78f020ee097a0be5fe347645b817d',
321
+ 1,
322
+ 'DUP HASH160 0x14 0xdcf72c4fd02f5a987cf9b02f2fabfcac3341a87d EQUALVERIFY CHECKSIG'
323
+ ],
324
+ [
325
+ 'ee1377aff5d0579909e11782e1d2f5f7b84d26537be7f5516dd4e43373091f3f',
326
+ 1,
327
+ 'DUP HASH160 0x14 0xdcf72c4fd02f5a987cf9b02f2fabfcac3341a87d EQUALVERIFY CHECKSIG'
328
+ ]
329
+ ],
330
+ '010000000370ac0a1ae588aaf284c308d67ca92c69a39e2db81337e563bf40c59da0a5cf63000000006a4730440220360d20baff382059040ba9be98947fd678fb08aab2bb0c172efa996fd8ece9b702201b4fb0de67f015c90e7ac8a193aeab486a1f587e0f54d0fb9552ef7f5ce6caec032103579ca2e6d107522f012cd00b52b9a65fb46f0c57b9b8b6e377c48f526a44741affffffff7d815b6447e35fbea097e00e028fb7dfbad4f3f0987b4734676c84f3fcd0e804010000006b483045022100c714310be1e3a9ff1c5f7cacc65c2d8e781fc3a88ceb063c6153bf950650802102200b2d0979c76e12bb480da635f192cc8dc6f905380dd4ac1ff35a4f68f462fffd032103579ca2e6d107522f012cd00b52b9a65fb46f0c57b9b8b6e377c48f526a44741affffffff3f1f097333e4d46d51f5e77b53264db8f7f5d2e18217e1099957d0f5af7713ee010000006c493046022100b663499ef73273a3788dea342717c2640ac43c5a1cf862c9e09b206fcb3f6bb8022100b09972e75972d9148f2bdd462e5cb69b57c1214b88fc55ca638676c07cfc10d8032103579ca2e6d107522f012cd00b52b9a65fb46f0c57b9b8b6e377c48f526a44741affffffff0380841e00000000001976a914bfb282c70c4191f45b5a6665cad1682f2c9cfdfb88ac80841e00000000001976a9149857cc07bed33a5cf12b9c5e0500b675d500c81188ace0fd1c00000000001976a91443c52850606c872403c0601e69fa34b26f62db4a88ac00000000',
331
+ ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']
332
+ ],
333
+
334
+ [
335
+ 'ddc454a1c0c35c188c98976b17670f69e586d9c0f3593ea879928332f0a069e7, which spends an input that pushes using a PUSHDATA1 that is negative when read as signed'
336
+ ],
337
+ [
338
+ [
339
+ [
340
+ 'c5510a5dd97a25f43175af1fe649b707b1df8e1a41489bac33a23087027a2f48',
341
+ 0,
342
+ '0x4c 0xae 0x606563686f2022553246736447566b58312b5a536e587574356542793066794778625456415675534a6c376a6a334878416945325364667657734f53474f36633338584d7439435c6e543249584967306a486956304f376e775236644546673d3d22203e20743b206f70656e73736c20656e63202d7061737320706173733a5b314a564d7751432d707269766b65792d6865785d202d64202d6165732d3235362d636263202d61202d696e207460 DROP DUP HASH160 0x14 0xbfd7436b6265aa9de506f8a994f881ff08cc2872 EQUALVERIFY CHECKSIG'
343
+ ]
344
+ ],
345
+ '0100000001482f7a028730a233ac9b48411a8edfb107b749e61faf7531f4257ad95d0a51c5000000008b483045022100bf0bbae9bde51ad2b222e87fbf67530fbafc25c903519a1e5dcc52a32ff5844e022028c4d9ad49b006dd59974372a54291d5764be541574bb0c4dc208ec51f80b7190141049dd4aad62741dc27d5f267f7b70682eee22e7e9c1923b9c0957bdae0b96374569b460eb8d5b40d972e8c7c0ad441de3d94c4a29864b212d56050acb980b72b2bffffffff0180969800000000001976a914e336d0017a9d28de99d16472f6ca6d5a3a8ebc9988ac00000000',
346
+ ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']
347
+ ],
105
348
 
106
349
  ['Correct signature order'],
107
350
  ['Note the input is just required to make the tester happy'],
108
- [[['b3da01dd4aae683c7aee4d5d8b52a540a508e1115f77cd7fa9a291243f501223', 0, 'HASH160 0x14 0xb1ce99298d5f07364b57b1e5c9cc00be0b04a954 EQUAL']],
109
- '01000000012312503f2491a2a97fcd775f11e108a540a5528b5d4dee7a3c68ae4add01dab300000000fdfe0000483045022100f6649b0eddfdfd4ad55426663385090d51ee86c3481bdc6b0c18ea6c0ece2c0b0220561c315b07cffa6f7dd9df96dbae9200c2dee09bf93cc35ca05e6cdf613340aa0148304502207aacee820e08b0b174e248abd8d7a34ed63b5da3abedb99934df9fddd65c05c4022100dfe87896ab5ee3df476c2655f9fbe5bd089dccbef3e4ea05b5d121169fe7f5f4014c695221031d11db38972b712a9fe1fc023577c7ae3ddb4a3004187d41c45121eecfdbb5b7210207ec36911b6ad2382860d32989c7b8728e9489d7bbc94a6b5509ef0029be128821024ea9fac06f666a4adc3fc1357b7bec1fd0bdece2b9d08579226a8ebde53058e453aeffffffff0180380100000000001976a914c9b99cddf847d10685a4fabaa0baf505f7c3dfab88ac00000000', ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']],
110
-
111
- ['cc60b1f899ec0a69b7c3f25ddf32c4524096a9c5b01cbd84c6d0312a0c478984, which is a fairly strange transaction which relies on OP_CHECKSIG returning 0 when checking a completely invalid sig of length 0'],
112
- [[['cbebc4da731e8995fe97f6fadcd731b36ad40e5ecb31e38e904f6e5982fa09f7', 0, '0x2102085c6600657566acc2d6382a47bc3f324008d2aa10940dd7705a48aa2a5a5e33ac7c2103f5d0fb955f95dd6be6115ce85661db412ec6a08abcbfce7da0ba8297c6cc0ec4ac7c5379a820d68df9e32a147cffa36193c6f7c43a1c8c69cda530e1c6db354bfabdcfefaf3c875379a820f531f3041d3136701ea09067c53e7159c8f9b2746a56c3d82966c54bbc553226879a5479827701200122a59a5379827701200122a59a6353798277537982778779679a68']],
113
- '0100000001f709fa82596e4f908ee331cb5e0ed46ab331d7dcfaf697fe95891e73dac4ebcb000000008c20ca42095840735e89283fec298e62ac2ddea9b5f34a8cbb7097ad965b87568100201b1b01dc829177da4a14551d2fc96a9db00c6501edfa12f22cd9cefd335c227f483045022100a9df60536df5733dd0de6bc921fab0b3eee6426501b43a228afa2c90072eb5ca02201c78b74266fac7d1db5deff080d8a403743203f109fbcabf6d5a760bf87386d20100ffffffff01c075790000000000232103611f9a45c18f28f06f19076ad571c344c82ce8fcfe34464cf8085217a2d294a6ac00000000', ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']],
351
+ [
352
+ [
353
+ [
354
+ 'b3da01dd4aae683c7aee4d5d8b52a540a508e1115f77cd7fa9a291243f501223',
355
+ 0,
356
+ 'HASH160 0x14 0xb1ce99298d5f07364b57b1e5c9cc00be0b04a954 EQUAL'
357
+ ]
358
+ ],
359
+ '01000000012312503f2491a2a97fcd775f11e108a540a5528b5d4dee7a3c68ae4add01dab300000000fdfe0000483045022100f6649b0eddfdfd4ad55426663385090d51ee86c3481bdc6b0c18ea6c0ece2c0b0220561c315b07cffa6f7dd9df96dbae9200c2dee09bf93cc35ca05e6cdf613340aa0148304502207aacee820e08b0b174e248abd8d7a34ed63b5da3abedb99934df9fddd65c05c4022100dfe87896ab5ee3df476c2655f9fbe5bd089dccbef3e4ea05b5d121169fe7f5f4014c695221031d11db38972b712a9fe1fc023577c7ae3ddb4a3004187d41c45121eecfdbb5b7210207ec36911b6ad2382860d32989c7b8728e9489d7bbc94a6b5509ef0029be128821024ea9fac06f666a4adc3fc1357b7bec1fd0bdece2b9d08579226a8ebde53058e453aeffffffff0180380100000000001976a914c9b99cddf847d10685a4fabaa0baf505f7c3dfab88ac00000000',
360
+ ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']
361
+ ],
362
+
363
+ [
364
+ 'cc60b1f899ec0a69b7c3f25ddf32c4524096a9c5b01cbd84c6d0312a0c478984, which is a fairly strange transaction which relies on OP_CHECKSIG returning 0 when checking a completely invalid sig of length 0'
365
+ ],
366
+ [
367
+ [
368
+ [
369
+ 'cbebc4da731e8995fe97f6fadcd731b36ad40e5ecb31e38e904f6e5982fa09f7',
370
+ 0,
371
+ '0x2102085c6600657566acc2d6382a47bc3f324008d2aa10940dd7705a48aa2a5a5e33ac7c2103f5d0fb955f95dd6be6115ce85661db412ec6a08abcbfce7da0ba8297c6cc0ec4ac7c5379a820d68df9e32a147cffa36193c6f7c43a1c8c69cda530e1c6db354bfabdcfefaf3c875379a820f531f3041d3136701ea09067c53e7159c8f9b2746a56c3d82966c54bbc553226879a5479827701200122a59a5379827701200122a59a6353798277537982778779679a68'
372
+ ]
373
+ ],
374
+ '0100000001f709fa82596e4f908ee331cb5e0ed46ab331d7dcfaf697fe95891e73dac4ebcb000000008c20ca42095840735e89283fec298e62ac2ddea9b5f34a8cbb7097ad965b87568100201b1b01dc829177da4a14551d2fc96a9db00c6501edfa12f22cd9cefd335c227f483045022100a9df60536df5733dd0de6bc921fab0b3eee6426501b43a228afa2c90072eb5ca02201c78b74266fac7d1db5deff080d8a403743203f109fbcabf6d5a760bf87386d20100ffffffff01c075790000000000232103611f9a45c18f28f06f19076ad571c344c82ce8fcfe34464cf8085217a2d294a6ac00000000',
375
+ ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']
376
+ ],
114
377
 
115
378
  ['Empty pubkey'],
116
- [[['229257c295e7f555421c1bfec8538dd30a4b5c37c1c8810bbe83cafa7811652c', 0, '0x00 CHECKSIG NOT']],
117
- '01000000012c651178faca83be0b81c8c1375c4b0ad38d53c8fe1b1c4255f5e795c25792220000000049483045022100d6044562284ac76c985018fc4a90127847708c9edb280996c507b28babdc4b2a02203d74eca3f1a4d1eea7ff77b528fde6d5dc324ec2dbfdb964ba885f643b9704cd01ffffffff010100000000000000232102c2410f8891ae918cab4ffc4bb4a3b0881be67c7a1e7faa8b5acf9ab8932ec30cac00000000', ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']],
379
+ [
380
+ [
381
+ [
382
+ '229257c295e7f555421c1bfec8538dd30a4b5c37c1c8810bbe83cafa7811652c',
383
+ 0,
384
+ '0x00 CHECKSIG NOT'
385
+ ]
386
+ ],
387
+ '01000000012c651178faca83be0b81c8c1375c4b0ad38d53c8fe1b1c4255f5e795c25792220000000049483045022100d6044562284ac76c985018fc4a90127847708c9edb280996c507b28babdc4b2a02203d74eca3f1a4d1eea7ff77b528fde6d5dc324ec2dbfdb964ba885f643b9704cd01ffffffff010100000000000000232102c2410f8891ae918cab4ffc4bb4a3b0881be67c7a1e7faa8b5acf9ab8932ec30cac00000000',
388
+ ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']
389
+ ],
118
390
 
119
391
  ['Empty signature'],
120
- [[['9ca93cfd8e3806b9d9e2ba1cf64e3cc6946ee0119670b1796a09928d14ea25f7', 0, '0x21 0x028a1d66975dbdf97897e3a4aef450ebeb5b5293e4a0b4a6d3a2daaa0b2b110e02 CHECKSIG NOT']],
121
- '0100000001f725ea148d92096a79b1709611e06e94c63c4ef61cbae2d9b906388efd3ca99c000000000100ffffffff0101000000000000002321028a1d66975dbdf97897e3a4aef450ebeb5b5293e4a0b4a6d3a2daaa0b2b110e02ac00000000', ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']],
122
-
123
- [[['444e00ed7840d41f20ecd9c11d3f91982326c731a02f3c05748414a4fa9e59be', 0, '1 0x00 0x21 0x02136b04758b0b6e363e7a6fbe83aaf527a153db2b060d36cc29f7f8309ba6e458 2 CHECKMULTISIG']],
124
- '0100000001be599efaa4148474053c2fa031c7262398913f1dc1d9ec201fd44078ed004e44000000004900473044022022b29706cb2ed9ef0cb3c97b72677ca2dfd7b4160f7b4beb3ba806aa856c401502202d1e52582412eba2ed474f1f437a427640306fd3838725fab173ade7fe4eae4a01ffffffff010100000000000000232103ac4bba7e7ca3e873eea49e08132ad30c7f03640b6539e9b59903cf14fd016bbbac00000000', ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']],
125
-
126
- [[['e16abbe80bf30c080f63830c8dbf669deaef08957446e95940227d8c5e6db612', 0, '1 0x21 0x03905380c7013e36e6e19d305311c1b81fce6581f5ee1c86ef0627c68c9362fc9f 0x00 2 CHECKMULTISIG']],
127
- '010000000112b66d5e8c7d224059e946749508efea9d66bf8d0c83630f080cf30be8bb6ae100000000490047304402206ffe3f14caf38ad5c1544428e99da76ffa5455675ec8d9780fac215ca17953520220779502985e194d84baa36b9bd40a0dbd981163fa191eb884ae83fc5bd1c86b1101ffffffff010100000000000000232103905380c7013e36e6e19d305311c1b81fce6581f5ee1c86ef0627c68c9362fc9fac00000000', ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']],
128
-
129
- [[['ebbcf4bfce13292bd791d6a65a2a858d59adbf737e387e40370d4e64cc70efb0', 0, '2 0x21 0x033bcaa0a602f0d44cc9d5637c6e515b0471db514c020883830b7cefd73af04194 0x21 0x03a88b326f8767f4f192ce252afe33c94d25ab1d24f27f159b3cb3aa691ffe1423 2 CHECKMULTISIG NOT']],
130
- '0100000001b0ef70cc644e0d37407e387e73bfad598d852a5aa6d691d72b2913cebff4bceb000000004a00473044022068cd4851fc7f9a892ab910df7a24e616f293bcb5c5fbdfbc304a194b26b60fba022078e6da13d8cb881a22939b952c24f88b97afd06b4c47a47d7f804c9a352a6d6d0100ffffffff0101000000000000002321033bcaa0a602f0d44cc9d5637c6e515b0471db514c020883830b7cefd73af04194ac00000000', ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']],
131
-
132
- [[['ba4cd7ae2ad4d4d13ebfc8ab1d93a63e4a6563f25089a18bf0fc68f282aa88c1', 0, '2 0x21 0x037c615d761e71d38903609bf4f46847266edc2fb37532047d747ba47eaae5ffe1 0x21 0x02edc823cd634f2c4033d94f5755207cb6b60c4b1f1f056ad7471c47de5f2e4d50 2 CHECKMULTISIG NOT']],
133
- '0100000001c188aa82f268fcf08ba18950f263654a3ea6931dabc8bf3ed1d4d42aaed74cba000000004b0000483045022100940378576e069aca261a6b26fb38344e4497ca6751bb10905c76bb689f4222b002204833806b014c26fd801727b792b1260003c55710f87c5adbd7a9cb57446dbc9801ffffffff0101000000000000002321037c615d761e71d38903609bf4f46847266edc2fb37532047d747ba47eaae5ffe1ac00000000', ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']],
392
+ [
393
+ [
394
+ [
395
+ '9ca93cfd8e3806b9d9e2ba1cf64e3cc6946ee0119670b1796a09928d14ea25f7',
396
+ 0,
397
+ '0x21 0x028a1d66975dbdf97897e3a4aef450ebeb5b5293e4a0b4a6d3a2daaa0b2b110e02 CHECKSIG NOT'
398
+ ]
399
+ ],
400
+ '0100000001f725ea148d92096a79b1709611e06e94c63c4ef61cbae2d9b906388efd3ca99c000000000100ffffffff0101000000000000002321028a1d66975dbdf97897e3a4aef450ebeb5b5293e4a0b4a6d3a2daaa0b2b110e02ac00000000',
401
+ ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']
402
+ ],
403
+
404
+ [
405
+ [
406
+ [
407
+ '444e00ed7840d41f20ecd9c11d3f91982326c731a02f3c05748414a4fa9e59be',
408
+ 0,
409
+ '1 0x00 0x21 0x02136b04758b0b6e363e7a6fbe83aaf527a153db2b060d36cc29f7f8309ba6e458 2 CHECKMULTISIG'
410
+ ]
411
+ ],
412
+ '0100000001be599efaa4148474053c2fa031c7262398913f1dc1d9ec201fd44078ed004e44000000004900473044022022b29706cb2ed9ef0cb3c97b72677ca2dfd7b4160f7b4beb3ba806aa856c401502202d1e52582412eba2ed474f1f437a427640306fd3838725fab173ade7fe4eae4a01ffffffff010100000000000000232103ac4bba7e7ca3e873eea49e08132ad30c7f03640b6539e9b59903cf14fd016bbbac00000000',
413
+ ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']
414
+ ],
415
+
416
+ [
417
+ [
418
+ [
419
+ 'e16abbe80bf30c080f63830c8dbf669deaef08957446e95940227d8c5e6db612',
420
+ 0,
421
+ '1 0x21 0x03905380c7013e36e6e19d305311c1b81fce6581f5ee1c86ef0627c68c9362fc9f 0x00 2 CHECKMULTISIG'
422
+ ]
423
+ ],
424
+ '010000000112b66d5e8c7d224059e946749508efea9d66bf8d0c83630f080cf30be8bb6ae100000000490047304402206ffe3f14caf38ad5c1544428e99da76ffa5455675ec8d9780fac215ca17953520220779502985e194d84baa36b9bd40a0dbd981163fa191eb884ae83fc5bd1c86b1101ffffffff010100000000000000232103905380c7013e36e6e19d305311c1b81fce6581f5ee1c86ef0627c68c9362fc9fac00000000',
425
+ ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']
426
+ ],
427
+
428
+ [
429
+ [
430
+ [
431
+ 'ebbcf4bfce13292bd791d6a65a2a858d59adbf737e387e40370d4e64cc70efb0',
432
+ 0,
433
+ '2 0x21 0x033bcaa0a602f0d44cc9d5637c6e515b0471db514c020883830b7cefd73af04194 0x21 0x03a88b326f8767f4f192ce252afe33c94d25ab1d24f27f159b3cb3aa691ffe1423 2 CHECKMULTISIG NOT'
434
+ ]
435
+ ],
436
+ '0100000001b0ef70cc644e0d37407e387e73bfad598d852a5aa6d691d72b2913cebff4bceb000000004a00473044022068cd4851fc7f9a892ab910df7a24e616f293bcb5c5fbdfbc304a194b26b60fba022078e6da13d8cb881a22939b952c24f88b97afd06b4c47a47d7f804c9a352a6d6d0100ffffffff0101000000000000002321033bcaa0a602f0d44cc9d5637c6e515b0471db514c020883830b7cefd73af04194ac00000000',
437
+ ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']
438
+ ],
439
+
440
+ [
441
+ [
442
+ [
443
+ 'ba4cd7ae2ad4d4d13ebfc8ab1d93a63e4a6563f25089a18bf0fc68f282aa88c1',
444
+ 0,
445
+ '2 0x21 0x037c615d761e71d38903609bf4f46847266edc2fb37532047d747ba47eaae5ffe1 0x21 0x02edc823cd634f2c4033d94f5755207cb6b60c4b1f1f056ad7471c47de5f2e4d50 2 CHECKMULTISIG NOT'
446
+ ]
447
+ ],
448
+ '0100000001c188aa82f268fcf08ba18950f263654a3ea6931dabc8bf3ed1d4d42aaed74cba000000004b0000483045022100940378576e069aca261a6b26fb38344e4497ca6751bb10905c76bb689f4222b002204833806b014c26fd801727b792b1260003c55710f87c5adbd7a9cb57446dbc9801ffffffff0101000000000000002321037c615d761e71d38903609bf4f46847266edc2fb37532047d747ba47eaae5ffe1ac00000000',
449
+ ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']
450
+ ],
134
451
 
135
452
  ['OP_CODESEPARATOR tests'],
136
453
 
137
454
  ['Test that SignatureHash() removes OP_CODESEPARATOR with FindAndDelete()'],
138
- [[['bc7fd132fcf817918334822ee6d9bd95c889099c96e07ca2c1eb2cc70db63224', 0, 'CODESEPARATOR 0x21 0x038479a0fa998cd35259a2ef0a7a5c68662c1474f88ccb6d08a7677bbec7f22041 CHECKSIG']],
139
- '01000000012432b60dc72cebc1a27ce0969c0989c895bdd9e62e8234839117f8fc32d17fbc000000004a493046022100a576b52051962c25e642c0fd3d77ee6c92487048e5d90818bcf5b51abaccd7900221008204f8fb121be4ec3b24483b1f92d89b1b0548513a134e345c5442e86e8617a501ffffffff010000000000000000016a00000000', ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']],
140
- [[['83e194f90b6ef21fa2e3a365b63794fb5daa844bdc9b25de30899fcfe7b01047', 0, 'CODESEPARATOR CODESEPARATOR 0x21 0x038479a0fa998cd35259a2ef0a7a5c68662c1474f88ccb6d08a7677bbec7f22041 CHECKSIG']],
141
- '01000000014710b0e7cf9f8930de259bdc4b84aa5dfb9437b665a3e3a21ff26e0bf994e183000000004a493046022100a166121a61b4eeb19d8f922b978ff6ab58ead8a5a5552bf9be73dc9c156873ea02210092ad9bc43ee647da4f6652c320800debcf08ec20a094a0aaf085f63ecb37a17201ffffffff010000000000000000016a00000000', ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']],
455
+ [
456
+ [
457
+ [
458
+ 'bc7fd132fcf817918334822ee6d9bd95c889099c96e07ca2c1eb2cc70db63224',
459
+ 0,
460
+ 'CODESEPARATOR 0x21 0x038479a0fa998cd35259a2ef0a7a5c68662c1474f88ccb6d08a7677bbec7f22041 CHECKSIG'
461
+ ]
462
+ ],
463
+ '01000000012432b60dc72cebc1a27ce0969c0989c895bdd9e62e8234839117f8fc32d17fbc000000004a493046022100a576b52051962c25e642c0fd3d77ee6c92487048e5d90818bcf5b51abaccd7900221008204f8fb121be4ec3b24483b1f92d89b1b0548513a134e345c5442e86e8617a501ffffffff010000000000000000016a00000000',
464
+ ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']
465
+ ],
466
+ [
467
+ [
468
+ [
469
+ '83e194f90b6ef21fa2e3a365b63794fb5daa844bdc9b25de30899fcfe7b01047',
470
+ 0,
471
+ 'CODESEPARATOR CODESEPARATOR 0x21 0x038479a0fa998cd35259a2ef0a7a5c68662c1474f88ccb6d08a7677bbec7f22041 CHECKSIG'
472
+ ]
473
+ ],
474
+ '01000000014710b0e7cf9f8930de259bdc4b84aa5dfb9437b665a3e3a21ff26e0bf994e183000000004a493046022100a166121a61b4eeb19d8f922b978ff6ab58ead8a5a5552bf9be73dc9c156873ea02210092ad9bc43ee647da4f6652c320800debcf08ec20a094a0aaf085f63ecb37a17201ffffffff010000000000000000016a00000000',
475
+ ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']
476
+ ],
142
477
 
143
478
  ['Hashed data starts at the CODESEPARATOR'],
144
- [[['326882a7f22b5191f1a0cc9962ca4b878cd969cf3b3a70887aece4d801a0ba5e', 0, '0x21 0x038479a0fa998cd35259a2ef0a7a5c68662c1474f88ccb6d08a7677bbec7f22041 CODESEPARATOR CHECKSIG']],
145
- '01000000015ebaa001d8e4ec7a88703a3bcf69d98c874bca6299cca0f191512bf2a7826832000000004948304502203bf754d1c6732fbf87c5dcd81258aefd30f2060d7bd8ac4a5696f7927091dad1022100f5bcb726c4cf5ed0ed34cc13dadeedf628ae1045b7cb34421bc60b89f4cecae701ffffffff010000000000000000016a00000000', ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']],
479
+ [
480
+ [
481
+ [
482
+ '326882a7f22b5191f1a0cc9962ca4b878cd969cf3b3a70887aece4d801a0ba5e',
483
+ 0,
484
+ '0x21 0x038479a0fa998cd35259a2ef0a7a5c68662c1474f88ccb6d08a7677bbec7f22041 CODESEPARATOR CHECKSIG'
485
+ ]
486
+ ],
487
+ '01000000015ebaa001d8e4ec7a88703a3bcf69d98c874bca6299cca0f191512bf2a7826832000000004948304502203bf754d1c6732fbf87c5dcd81258aefd30f2060d7bd8ac4a5696f7927091dad1022100f5bcb726c4cf5ed0ed34cc13dadeedf628ae1045b7cb34421bc60b89f4cecae701ffffffff010000000000000000016a00000000',
488
+ ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']
489
+ ],
146
490
 
147
491
  ['But only if execution has reached it'],
148
- [[['a955032f4d6b0c9bfe8cad8f00a8933790b9c1dc28c82e0f48e75b35da0e4944', 0, '0x21 0x038479a0fa998cd35259a2ef0a7a5c68662c1474f88ccb6d08a7677bbec7f22041 CHECKSIGVERIFY CODESEPARATOR 0x21 0x038479a0fa998cd35259a2ef0a7a5c68662c1474f88ccb6d08a7677bbec7f22041 CHECKSIGVERIFY CODESEPARATOR 1']],
149
- '010000000144490eda355be7480f2ec828dcc1b9903793a8008fad8cfe9b0c6b4d2f0355a900000000924830450221009c0a27f886a1d8cb87f6f595fbc3163d28f7a81ec3c4b252ee7f3ac77fd13ffa02203caa8dfa09713c8c4d7ef575c75ed97812072405d932bd11e6a1593a98b679370148304502201e3861ef39a526406bad1e20ecad06be7375ad40ddb582c9be42d26c3a0d7b240221009d0a3985e96522e59635d19cc4448547477396ce0ef17a58e7d74c3ef464292301ffffffff010000000000000000016a00000000', ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']],
492
+ [
493
+ [
494
+ [
495
+ 'a955032f4d6b0c9bfe8cad8f00a8933790b9c1dc28c82e0f48e75b35da0e4944',
496
+ 0,
497
+ '0x21 0x038479a0fa998cd35259a2ef0a7a5c68662c1474f88ccb6d08a7677bbec7f22041 CHECKSIGVERIFY CODESEPARATOR 0x21 0x038479a0fa998cd35259a2ef0a7a5c68662c1474f88ccb6d08a7677bbec7f22041 CHECKSIGVERIFY CODESEPARATOR 1'
498
+ ]
499
+ ],
500
+ '010000000144490eda355be7480f2ec828dcc1b9903793a8008fad8cfe9b0c6b4d2f0355a900000000924830450221009c0a27f886a1d8cb87f6f595fbc3163d28f7a81ec3c4b252ee7f3ac77fd13ffa02203caa8dfa09713c8c4d7ef575c75ed97812072405d932bd11e6a1593a98b679370148304502201e3861ef39a526406bad1e20ecad06be7375ad40ddb582c9be42d26c3a0d7b240221009d0a3985e96522e59635d19cc4448547477396ce0ef17a58e7d74c3ef464292301ffffffff010000000000000000016a00000000',
501
+ ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']
502
+ ],
150
503
 
151
504
  ['CODESEPARATOR in an unexecuted IF block does not change what is hashed'],
152
- [[['a955032f4d6b0c9bfe8cad8f00a8933790b9c1dc28c82e0f48e75b35da0e4944', 0, 'IF CODESEPARATOR ENDIF 0x21 0x0378d430274f8c5ec1321338151e9f27f4c676a008bdf8638d07c0b6be9ab35c71 CHECKSIGVERIFY CODESEPARATOR 1']],
153
- '010000000144490eda355be7480f2ec828dcc1b9903793a8008fad8cfe9b0c6b4d2f0355a9000000004a48304502207a6974a77c591fa13dff60cabbb85a0de9e025c09c65a4b2285e47ce8e22f761022100f0efaac9ff8ac36b10721e0aae1fb975c90500b50c56e8a0cc52b0403f0425dd0100ffffffff010000000000000000016a00000000', ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']],
505
+ [
506
+ [
507
+ [
508
+ 'a955032f4d6b0c9bfe8cad8f00a8933790b9c1dc28c82e0f48e75b35da0e4944',
509
+ 0,
510
+ 'IF CODESEPARATOR ENDIF 0x21 0x0378d430274f8c5ec1321338151e9f27f4c676a008bdf8638d07c0b6be9ab35c71 CHECKSIGVERIFY CODESEPARATOR 1'
511
+ ]
512
+ ],
513
+ '010000000144490eda355be7480f2ec828dcc1b9903793a8008fad8cfe9b0c6b4d2f0355a9000000004a48304502207a6974a77c591fa13dff60cabbb85a0de9e025c09c65a4b2285e47ce8e22f761022100f0efaac9ff8ac36b10721e0aae1fb975c90500b50c56e8a0cc52b0403f0425dd0100ffffffff010000000000000000016a00000000',
514
+ ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']
515
+ ],
154
516
 
155
517
  ['As above, with the IF block executed'],
156
- [[['a955032f4d6b0c9bfe8cad8f00a8933790b9c1dc28c82e0f48e75b35da0e4944', 0, 'IF CODESEPARATOR ENDIF 0x21 0x0378d430274f8c5ec1321338151e9f27f4c676a008bdf8638d07c0b6be9ab35c71 CHECKSIGVERIFY CODESEPARATOR 1']],
157
- '010000000144490eda355be7480f2ec828dcc1b9903793a8008fad8cfe9b0c6b4d2f0355a9000000004a483045022100fa4a74ba9fd59c59f46c3960cf90cbe0d2b743c471d24a3d5d6db6002af5eebb02204d70ec490fd0f7055a7c45f86514336e3a7f03503dacecabb247fc23f15c83510151ffffffff010000000000000000016a00000000', ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']],
518
+ [
519
+ [
520
+ [
521
+ 'a955032f4d6b0c9bfe8cad8f00a8933790b9c1dc28c82e0f48e75b35da0e4944',
522
+ 0,
523
+ 'IF CODESEPARATOR ENDIF 0x21 0x0378d430274f8c5ec1321338151e9f27f4c676a008bdf8638d07c0b6be9ab35c71 CHECKSIGVERIFY CODESEPARATOR 1'
524
+ ]
525
+ ],
526
+ '010000000144490eda355be7480f2ec828dcc1b9903793a8008fad8cfe9b0c6b4d2f0355a9000000004a483045022100fa4a74ba9fd59c59f46c3960cf90cbe0d2b743c471d24a3d5d6db6002af5eebb02204d70ec490fd0f7055a7c45f86514336e3a7f03503dacecabb247fc23f15c83510151ffffffff010000000000000000016a00000000',
527
+ ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']
528
+ ],
158
529
 
159
530
  ['CHECKSIG is legal in scriptSigs'],
160
- [[['ccf7f4053a02e653c36ac75c891b7496d0dc5ce5214f6c913d9cf8f1329ebee0', 0, 'DUP HASH160 0x14 0xee5a6aa40facefb2655ac23c0c28c57c65c41f9b EQUALVERIFY CHECKSIG']],
161
- '0100000001e0be9e32f1f89c3d916c4f21e55cdcd096741b895cc76ac353e6023a05f4f7cc00000000d86149304602210086e5f736a2c3622ebb62bd9d93d8e5d76508b98be922b97160edc3dcca6d8c47022100b23c312ac232a4473f19d2aeb95ab7bdf2b65518911a0d72d50e38b5dd31dc820121038479a0fa998cd35259a2ef0a7a5c68662c1474f88ccb6d08a7677bbec7f22041ac4730440220508fa761865c8abd81244a168392876ee1d94e8ed83897066b5e2df2400dad24022043f5ee7538e87e9c6aef7ef55133d3e51da7cc522830a9c4d736977a76ef755c0121038479a0fa998cd35259a2ef0a7a5c68662c1474f88ccb6d08a7677bbec7f22041ffffffff010000000000000000016a00000000', ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']],
531
+ [
532
+ [
533
+ [
534
+ 'ccf7f4053a02e653c36ac75c891b7496d0dc5ce5214f6c913d9cf8f1329ebee0',
535
+ 0,
536
+ 'DUP HASH160 0x14 0xee5a6aa40facefb2655ac23c0c28c57c65c41f9b EQUALVERIFY CHECKSIG'
537
+ ]
538
+ ],
539
+ '0100000001e0be9e32f1f89c3d916c4f21e55cdcd096741b895cc76ac353e6023a05f4f7cc00000000d86149304602210086e5f736a2c3622ebb62bd9d93d8e5d76508b98be922b97160edc3dcca6d8c47022100b23c312ac232a4473f19d2aeb95ab7bdf2b65518911a0d72d50e38b5dd31dc820121038479a0fa998cd35259a2ef0a7a5c68662c1474f88ccb6d08a7677bbec7f22041ac4730440220508fa761865c8abd81244a168392876ee1d94e8ed83897066b5e2df2400dad24022043f5ee7538e87e9c6aef7ef55133d3e51da7cc522830a9c4d736977a76ef755c0121038479a0fa998cd35259a2ef0a7a5c68662c1474f88ccb6d08a7677bbec7f22041ffffffff010000000000000000016a00000000',
540
+ ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']
541
+ ],
162
542
 
163
543
  ['Same semantics for OP_CODESEPARATOR'],
164
- [[['10c9f0effe83e97f80f067de2b11c6a00c3088a4bce42c5ae761519af9306f3c', 1, 'DUP HASH160 0x14 0xee5a6aa40facefb2655ac23c0c28c57c65c41f9b EQUALVERIFY CHECKSIG']],
165
- '01000000013c6f30f99a5161e75a2ce4bca488300ca0c6112bde67f0807fe983feeff0c91001000000e608646561646265656675ab61493046022100ce18d384221a731c993939015e3d1bcebafb16e8c0b5b5d14097ec8177ae6f28022100bcab227af90bab33c3fe0a9abfee03ba976ee25dc6ce542526e9b2e56e14b7f10121038479a0fa998cd35259a2ef0a7a5c68662c1474f88ccb6d08a7677bbec7f22041ac493046022100c3b93edcc0fd6250eb32f2dd8a0bba1754b0f6c3be8ed4100ed582f3db73eba2022100bf75b5bd2eff4d6bf2bda2e34a40fcc07d4aa3cf862ceaa77b47b81eff829f9a01ab21038479a0fa998cd35259a2ef0a7a5c68662c1474f88ccb6d08a7677bbec7f22041ffffffff010000000000000000016a00000000', ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']],
166
-
167
- ['Signatures are removed from the script they are in by FindAndDelete() in the CHECKSIG code; even multiple instances of one signature can be removed.'],
168
- [[['6056ebd549003b10cbbd915cea0d82209fe40b8617104be917a26fa92cbe3d6f', 0, 'DUP HASH160 0x14 0xee5a6aa40facefb2655ac23c0c28c57c65c41f9b EQUALVERIFY CHECKSIG']],
169
- '01000000016f3dbe2ca96fa217e94b1017860be49f20820dea5c91bdcb103b0049d5eb566000000000fd1d0147304402203989ac8f9ad36b5d0919d97fa0a7f70c5272abee3b14477dc646288a8b976df5022027d19da84a066af9053ad3d1d7459d171b7e3a80bc6c4ef7a330677a6be548140147304402203989ac8f9ad36b5d0919d97fa0a7f70c5272abee3b14477dc646288a8b976df5022027d19da84a066af9053ad3d1d7459d171b7e3a80bc6c4ef7a330677a6be548140121038479a0fa998cd35259a2ef0a7a5c68662c1474f88ccb6d08a7677bbec7f22041ac47304402203757e937ba807e4a5da8534c17f9d121176056406a6465054bdd260457515c1a02200f02eccf1bec0f3a0d65df37889143c2e88ab7acec61a7b6f5aa264139141a2b0121038479a0fa998cd35259a2ef0a7a5c68662c1474f88ccb6d08a7677bbec7f22041ffffffff010000000000000000016a00000000', ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']],
544
+ [
545
+ [
546
+ [
547
+ '10c9f0effe83e97f80f067de2b11c6a00c3088a4bce42c5ae761519af9306f3c',
548
+ 1,
549
+ 'DUP HASH160 0x14 0xee5a6aa40facefb2655ac23c0c28c57c65c41f9b EQUALVERIFY CHECKSIG'
550
+ ]
551
+ ],
552
+ '01000000013c6f30f99a5161e75a2ce4bca488300ca0c6112bde67f0807fe983feeff0c91001000000e608646561646265656675ab61493046022100ce18d384221a731c993939015e3d1bcebafb16e8c0b5b5d14097ec8177ae6f28022100bcab227af90bab33c3fe0a9abfee03ba976ee25dc6ce542526e9b2e56e14b7f10121038479a0fa998cd35259a2ef0a7a5c68662c1474f88ccb6d08a7677bbec7f22041ac493046022100c3b93edcc0fd6250eb32f2dd8a0bba1754b0f6c3be8ed4100ed582f3db73eba2022100bf75b5bd2eff4d6bf2bda2e34a40fcc07d4aa3cf862ceaa77b47b81eff829f9a01ab21038479a0fa998cd35259a2ef0a7a5c68662c1474f88ccb6d08a7677bbec7f22041ffffffff010000000000000000016a00000000',
553
+ ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']
554
+ ],
555
+
556
+ [
557
+ 'Signatures are removed from the script they are in by FindAndDelete() in the CHECKSIG code; even multiple instances of one signature can be removed.'
558
+ ],
559
+ [
560
+ [
561
+ [
562
+ '6056ebd549003b10cbbd915cea0d82209fe40b8617104be917a26fa92cbe3d6f',
563
+ 0,
564
+ 'DUP HASH160 0x14 0xee5a6aa40facefb2655ac23c0c28c57c65c41f9b EQUALVERIFY CHECKSIG'
565
+ ]
566
+ ],
567
+ '01000000016f3dbe2ca96fa217e94b1017860be49f20820dea5c91bdcb103b0049d5eb566000000000fd1d0147304402203989ac8f9ad36b5d0919d97fa0a7f70c5272abee3b14477dc646288a8b976df5022027d19da84a066af9053ad3d1d7459d171b7e3a80bc6c4ef7a330677a6be548140147304402203989ac8f9ad36b5d0919d97fa0a7f70c5272abee3b14477dc646288a8b976df5022027d19da84a066af9053ad3d1d7459d171b7e3a80bc6c4ef7a330677a6be548140121038479a0fa998cd35259a2ef0a7a5c68662c1474f88ccb6d08a7677bbec7f22041ac47304402203757e937ba807e4a5da8534c17f9d121176056406a6465054bdd260457515c1a02200f02eccf1bec0f3a0d65df37889143c2e88ab7acec61a7b6f5aa264139141a2b0121038479a0fa998cd35259a2ef0a7a5c68662c1474f88ccb6d08a7677bbec7f22041ffffffff010000000000000000016a00000000',
568
+ ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']
569
+ ],
170
570
 
171
571
  ['That also includes ahead of the opcode being executed.'],
172
- [[['5a6b0021a6042a686b6b94abc36b387bef9109847774e8b1e51eb8cc55c53921', 1, 'DUP HASH160 0x14 0xee5a6aa40facefb2655ac23c0c28c57c65c41f9b EQUALVERIFY CHECKSIG']],
173
- '01000000012139c555ccb81ee5b1e87477840991ef7b386bc3ab946b6b682a04a621006b5a01000000fdb40148304502201723e692e5f409a7151db386291b63524c5eb2030df652b1f53022fd8207349f022100b90d9bbf2f3366ce176e5e780a00433da67d9e5c79312c6388312a296a5800390148304502201723e692e5f409a7151db386291b63524c5eb2030df652b1f53022fd8207349f022100b90d9bbf2f3366ce176e5e780a00433da67d9e5c79312c6388312a296a5800390121038479a0fa998cd35259a2ef0a7a5c68662c1474f88ccb6d08a7677bbec7f2204148304502201723e692e5f409a7151db386291b63524c5eb2030df652b1f53022fd8207349f022100b90d9bbf2f3366ce176e5e780a00433da67d9e5c79312c6388312a296a5800390175ac4830450220646b72c35beeec51f4d5bc1cbae01863825750d7f490864af354e6ea4f625e9c022100f04b98432df3a9641719dbced53393022e7249fb59db993af1118539830aab870148304502201723e692e5f409a7151db386291b63524c5eb2030df652b1f53022fd8207349f022100b90d9bbf2f3366ce176e5e780a00433da67d9e5c79312c6388312a296a580039017521038479a0fa998cd35259a2ef0a7a5c68662c1474f88ccb6d08a7677bbec7f22041ffffffff010000000000000000016a00000000', ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']],
174
-
175
- ["Finally CHECKMULTISIG removes all signatures prior to hashing the script containing those signatures. In conjunction with the SIGHASH_SINGLE bug this lets us test whether or not FindAndDelete() is actually present in scriptPubKey/redeemScript evaluation by including a signature of the digest 0x01 We can compute in advance for our pubkey, embed it it in the scriptPubKey, and then also using a normal SIGHASH_ALL signature. If FindAndDelete() wasn't run, the 'bugged' signature would still be in the hashed script, and the normal signature would fail."],
176
-
177
- ["Here's an example on mainnet within a P2SH redeemScript. Remarkably it's a standard transaction in <0.9"],
178
- [[['b5b598de91787439afd5938116654e0b16b7a0d0f82742ba37564219c5afcbf9', 0, 'DUP HASH160 0x14 0xf6f365c40f0739b61de827a44751e5e99032ed8f EQUALVERIFY CHECKSIG'],
179
- ['ab9805c6d57d7070d9a42c5176e47bb705023e6b67249fb6760880548298e742', 0, 'HASH160 0x14 0xd8dacdadb7462ae15cd906f1878706d0da8660e6 EQUAL']],
180
- '0100000002f9cbafc519425637ba4227f8d0a0b7160b4e65168193d5af39747891de98b5b5000000006b4830450221008dd619c563e527c47d9bd53534a770b102e40faa87f61433580e04e271ef2f960220029886434e18122b53d5decd25f1f4acb2480659fea20aabd856987ba3c3907e0121022b78b756e2258af13779c1a1f37ea6800259716ca4b7f0b87610e0bf3ab52a01ffffffff42e7988254800876b69f24676b3e0205b77be476512ca4d970707dd5c60598ab00000000fd260100483045022015bd0139bcccf990a6af6ec5c1c52ed8222e03a0d51c334df139968525d2fcd20221009f9efe325476eb64c3958e4713e9eefe49bf1d820ed58d2112721b134e2a1a53034930460221008431bdfa72bc67f9d41fe72e94c88fb8f359ffa30b33c72c121c5a877d922e1002210089ef5fc22dd8bfc6bf9ffdb01a9862d27687d424d1fefbab9e9c7176844a187a014c9052483045022015bd0139bcccf990a6af6ec5c1c52ed8222e03a0d51c334df139968525d2fcd20221009f9efe325476eb64c3958e4713e9eefe49bf1d820ed58d2112721b134e2a1a5303210378d430274f8c5ec1321338151e9f27f4c676a008bdf8638d07c0b6be9ab35c71210378d430274f8c5ec1321338151e9f27f4c676a008bdf8638d07c0b6be9ab35c7153aeffffffff01a08601000000000017a914d8dacdadb7462ae15cd906f1878706d0da8660e68700000000', ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']],
181
-
182
- ['An valid Transaction with invalid redeem script, it is valid because UTXO_AFTER_GENESIS is set'],
183
- [[['0000000000000000000000000000000000000000000000000000000000000100', 0, 'HASH160 0x14 0x7a052c840ba73af26755de42cf01cc9e0a49fef0 EQUAL']],
184
- '010000000100010000000000000000000000000000000000000000000000000000000000000000000009085768617420697320ffffffff010000000000000000015100000000', 'P2SH,UTXO_AFTER_GENESIS'],
572
+ [
573
+ [
574
+ [
575
+ '5a6b0021a6042a686b6b94abc36b387bef9109847774e8b1e51eb8cc55c53921',
576
+ 1,
577
+ 'DUP HASH160 0x14 0xee5a6aa40facefb2655ac23c0c28c57c65c41f9b EQUALVERIFY CHECKSIG'
578
+ ]
579
+ ],
580
+ '01000000012139c555ccb81ee5b1e87477840991ef7b386bc3ab946b6b682a04a621006b5a01000000fdb40148304502201723e692e5f409a7151db386291b63524c5eb2030df652b1f53022fd8207349f022100b90d9bbf2f3366ce176e5e780a00433da67d9e5c79312c6388312a296a5800390148304502201723e692e5f409a7151db386291b63524c5eb2030df652b1f53022fd8207349f022100b90d9bbf2f3366ce176e5e780a00433da67d9e5c79312c6388312a296a5800390121038479a0fa998cd35259a2ef0a7a5c68662c1474f88ccb6d08a7677bbec7f2204148304502201723e692e5f409a7151db386291b63524c5eb2030df652b1f53022fd8207349f022100b90d9bbf2f3366ce176e5e780a00433da67d9e5c79312c6388312a296a5800390175ac4830450220646b72c35beeec51f4d5bc1cbae01863825750d7f490864af354e6ea4f625e9c022100f04b98432df3a9641719dbced53393022e7249fb59db993af1118539830aab870148304502201723e692e5f409a7151db386291b63524c5eb2030df652b1f53022fd8207349f022100b90d9bbf2f3366ce176e5e780a00433da67d9e5c79312c6388312a296a580039017521038479a0fa998cd35259a2ef0a7a5c68662c1474f88ccb6d08a7677bbec7f22041ffffffff010000000000000000016a00000000',
581
+ ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']
582
+ ],
583
+
584
+ [
585
+ "Finally CHECKMULTISIG removes all signatures prior to hashing the script containing those signatures. In conjunction with the SIGHASH_SINGLE bug this lets us test whether or not FindAndDelete() is actually present in scriptPubKey/redeemScript evaluation by including a signature of the digest 0x01 We can compute in advance for our pubkey, embed it it in the scriptPubKey, and then also using a normal SIGHASH_ALL signature. If FindAndDelete() wasn't run, the 'bugged' signature would still be in the hashed script, and the normal signature would fail."
586
+ ],
587
+
588
+ [
589
+ "Here's an example on mainnet within a P2SH redeemScript. Remarkably it's a standard transaction in <0.9"
590
+ ],
591
+ [
592
+ [
593
+ [
594
+ 'b5b598de91787439afd5938116654e0b16b7a0d0f82742ba37564219c5afcbf9',
595
+ 0,
596
+ 'DUP HASH160 0x14 0xf6f365c40f0739b61de827a44751e5e99032ed8f EQUALVERIFY CHECKSIG'
597
+ ],
598
+ [
599
+ 'ab9805c6d57d7070d9a42c5176e47bb705023e6b67249fb6760880548298e742',
600
+ 0,
601
+ 'HASH160 0x14 0xd8dacdadb7462ae15cd906f1878706d0da8660e6 EQUAL'
602
+ ]
603
+ ],
604
+ '0100000002f9cbafc519425637ba4227f8d0a0b7160b4e65168193d5af39747891de98b5b5000000006b4830450221008dd619c563e527c47d9bd53534a770b102e40faa87f61433580e04e271ef2f960220029886434e18122b53d5decd25f1f4acb2480659fea20aabd856987ba3c3907e0121022b78b756e2258af13779c1a1f37ea6800259716ca4b7f0b87610e0bf3ab52a01ffffffff42e7988254800876b69f24676b3e0205b77be476512ca4d970707dd5c60598ab00000000fd260100483045022015bd0139bcccf990a6af6ec5c1c52ed8222e03a0d51c334df139968525d2fcd20221009f9efe325476eb64c3958e4713e9eefe49bf1d820ed58d2112721b134e2a1a53034930460221008431bdfa72bc67f9d41fe72e94c88fb8f359ffa30b33c72c121c5a877d922e1002210089ef5fc22dd8bfc6bf9ffdb01a9862d27687d424d1fefbab9e9c7176844a187a014c9052483045022015bd0139bcccf990a6af6ec5c1c52ed8222e03a0d51c334df139968525d2fcd20221009f9efe325476eb64c3958e4713e9eefe49bf1d820ed58d2112721b134e2a1a5303210378d430274f8c5ec1321338151e9f27f4c676a008bdf8638d07c0b6be9ab35c71210378d430274f8c5ec1321338151e9f27f4c676a008bdf8638d07c0b6be9ab35c7153aeffffffff01a08601000000000017a914d8dacdadb7462ae15cd906f1878706d0da8660e68700000000',
605
+ ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']
606
+ ],
607
+
608
+ [
609
+ 'An valid Transaction with invalid redeem script, it is valid because UTXO_AFTER_GENESIS is set'
610
+ ],
611
+ [
612
+ [
613
+ [
614
+ '0000000000000000000000000000000000000000000000000000000000000100',
615
+ 0,
616
+ 'HASH160 0x14 0x7a052c840ba73af26755de42cf01cc9e0a49fef0 EQUAL'
617
+ ]
618
+ ],
619
+ '010000000100010000000000000000000000000000000000000000000000000000000000000000000009085768617420697320ffffffff010000000000000000015100000000',
620
+ 'P2SH,UTXO_AFTER_GENESIS'
621
+ ],
185
622
 
186
623
  ['Same idea, but with bare CHECKMULTISIG'],
187
- [[['ceafe58e0f6e7d67c0409fbbf673c84c166e3c5d3c24af58f7175b18df3bb3db', 0, 'DUP HASH160 0x14 0xf6f365c40f0739b61de827a44751e5e99032ed8f EQUALVERIFY CHECKSIG'],
188
- ['ceafe58e0f6e7d67c0409fbbf673c84c166e3c5d3c24af58f7175b18df3bb3db', 1, '2 0x48 0x3045022015bd0139bcccf990a6af6ec5c1c52ed8222e03a0d51c334df139968525d2fcd20221009f9efe325476eb64c3958e4713e9eefe49bf1d820ed58d2112721b134e2a1a5303 0x21 0x0378d430274f8c5ec1321338151e9f27f4c676a008bdf8638d07c0b6be9ab35c71 0x21 0x0378d430274f8c5ec1321338151e9f27f4c676a008bdf8638d07c0b6be9ab35c71 3 CHECKMULTISIG']],
189
- '0100000002dbb33bdf185b17f758af243c5d3c6e164cc873f6bb9f40c0677d6e0f8ee5afce000000006b4830450221009627444320dc5ef8d7f68f35010b4c050a6ed0d96b67a84db99fda9c9de58b1e02203e4b4aaa019e012e65d69b487fdf8719df72f488fa91506a80c49a33929f1fd50121022b78b756e2258af13779c1a1f37ea6800259716ca4b7f0b87610e0bf3ab52a01ffffffffdbb33bdf185b17f758af243c5d3c6e164cc873f6bb9f40c0677d6e0f8ee5afce010000009300483045022015bd0139bcccf990a6af6ec5c1c52ed8222e03a0d51c334df139968525d2fcd20221009f9efe325476eb64c3958e4713e9eefe49bf1d820ed58d2112721b134e2a1a5303483045022015bd0139bcccf990a6af6ec5c1c52ed8222e03a0d51c334df139968525d2fcd20221009f9efe325476eb64c3958e4713e9eefe49bf1d820ed58d2112721b134e2a1a5303ffffffff01a0860100000000001976a9149bc0bbdd3024da4d0c38ed1aecf5c68dd1d3fa1288ac00000000', ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']],
624
+ [
625
+ [
626
+ [
627
+ 'ceafe58e0f6e7d67c0409fbbf673c84c166e3c5d3c24af58f7175b18df3bb3db',
628
+ 0,
629
+ 'DUP HASH160 0x14 0xf6f365c40f0739b61de827a44751e5e99032ed8f EQUALVERIFY CHECKSIG'
630
+ ],
631
+ [
632
+ 'ceafe58e0f6e7d67c0409fbbf673c84c166e3c5d3c24af58f7175b18df3bb3db',
633
+ 1,
634
+ '2 0x48 0x3045022015bd0139bcccf990a6af6ec5c1c52ed8222e03a0d51c334df139968525d2fcd20221009f9efe325476eb64c3958e4713e9eefe49bf1d820ed58d2112721b134e2a1a5303 0x21 0x0378d430274f8c5ec1321338151e9f27f4c676a008bdf8638d07c0b6be9ab35c71 0x21 0x0378d430274f8c5ec1321338151e9f27f4c676a008bdf8638d07c0b6be9ab35c71 3 CHECKMULTISIG'
635
+ ]
636
+ ],
637
+ '0100000002dbb33bdf185b17f758af243c5d3c6e164cc873f6bb9f40c0677d6e0f8ee5afce000000006b4830450221009627444320dc5ef8d7f68f35010b4c050a6ed0d96b67a84db99fda9c9de58b1e02203e4b4aaa019e012e65d69b487fdf8719df72f488fa91506a80c49a33929f1fd50121022b78b756e2258af13779c1a1f37ea6800259716ca4b7f0b87610e0bf3ab52a01ffffffffdbb33bdf185b17f758af243c5d3c6e164cc873f6bb9f40c0677d6e0f8ee5afce010000009300483045022015bd0139bcccf990a6af6ec5c1c52ed8222e03a0d51c334df139968525d2fcd20221009f9efe325476eb64c3958e4713e9eefe49bf1d820ed58d2112721b134e2a1a5303483045022015bd0139bcccf990a6af6ec5c1c52ed8222e03a0d51c334df139968525d2fcd20221009f9efe325476eb64c3958e4713e9eefe49bf1d820ed58d2112721b134e2a1a5303ffffffff01a0860100000000001976a9149bc0bbdd3024da4d0c38ed1aecf5c68dd1d3fa1288ac00000000',
638
+ ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']
639
+ ],
190
640
 
191
641
  ['CHECKLOCKTIMEVERIFY tests'],
192
642
 
193
643
  ['By-height locks, with argument == 0 and == tx nLockTime'],
194
- [[['0000000000000000000000000000000000000000000000000000000000000100', 0, '0 CHECKLOCKTIMEVERIFY 1']],
195
- '010000000100010000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000', ['P2SH,CHECKLOCKTIMEVERIFY', 'P2SH,UTXO_AFTER_GENESIS,CHECKLOCKTIMEVERIFY']],
196
- [[['0000000000000000000000000000000000000000000000000000000000000100', 0, '499999999 CHECKLOCKTIMEVERIFY 1']],
197
- '0100000001000100000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000ff64cd1d', ['P2SH,CHECKLOCKTIMEVERIFY', 'P2SH,UTXO_AFTER_GENESIS,CHECKLOCKTIMEVERIFY']],
198
- [[['0000000000000000000000000000000000000000000000000000000000000100', 0, '0 CHECKLOCKTIMEVERIFY 1']],
199
- '0100000001000100000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000ff64cd1d', ['P2SH,CHECKLOCKTIMEVERIFY', 'P2SH,UTXO_AFTER_GENESIS,CHECKLOCKTIMEVERIFY']],
200
-
201
- ['By-height locks, with argument just beyond tx nLockTime. This script should be invalid but passes because of UTXO_AFTER_GENESIS flag'],
202
- [[['0000000000000000000000000000000000000000000000000000000000000100', 0, '1 CHECKLOCKTIMEVERIFY 1']],
203
- '010000000100010000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000', ['P2SH,UTXO_AFTER_GENESIS,CHECKLOCKTIMEVERIFY']],
204
- [[['0000000000000000000000000000000000000000000000000000000000000100', 0, '499999999 CHECKLOCKTIMEVERIFY 1']],
205
- '0100000001000100000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000fe64cd1d', ['P2SH,UTXO_AFTER_GENESIS,CHECKLOCKTIMEVERIFY']],
206
-
207
- ['By-time locks, with argument just beyond tx nLockTime (but within numerical boundaries)'],
208
- [[['0000000000000000000000000000000000000000000000000000000000000100', 0, '500000000 CHECKLOCKTIMEVERIFY 1']],
209
- '01000000010001000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000065cd1d', ['P2SH,CHECKLOCKTIMEVERIFY', 'P2SH,UTXO_AFTER_GENESIS,CHECKLOCKTIMEVERIFY']],
210
- [[['0000000000000000000000000000000000000000000000000000000000000100', 0, '4294967295 CHECKLOCKTIMEVERIFY 1']],
211
- '0100000001000100000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000ffffffff', ['P2SH,CHECKLOCKTIMEVERIFY', 'P2SH,UTXO_AFTER_GENESIS,CHECKLOCKTIMEVERIFY']],
212
- [[['0000000000000000000000000000000000000000000000000000000000000100', 0, '500000000 CHECKLOCKTIMEVERIFY 1']],
213
- '0100000001000100000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000ffffffff', ['P2SH,CHECKLOCKTIMEVERIFY', 'P2SH,UTXO_AFTER_GENESIS,CHECKLOCKTIMEVERIFY']],
644
+ [
645
+ [
646
+ [
647
+ '0000000000000000000000000000000000000000000000000000000000000100',
648
+ 0,
649
+ '0 CHECKLOCKTIMEVERIFY 1'
650
+ ]
651
+ ],
652
+ '010000000100010000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000',
653
+ ['P2SH,CHECKLOCKTIMEVERIFY', 'P2SH,UTXO_AFTER_GENESIS,CHECKLOCKTIMEVERIFY']
654
+ ],
655
+ [
656
+ [
657
+ [
658
+ '0000000000000000000000000000000000000000000000000000000000000100',
659
+ 0,
660
+ '499999999 CHECKLOCKTIMEVERIFY 1'
661
+ ]
662
+ ],
663
+ '0100000001000100000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000ff64cd1d',
664
+ ['P2SH,CHECKLOCKTIMEVERIFY', 'P2SH,UTXO_AFTER_GENESIS,CHECKLOCKTIMEVERIFY']
665
+ ],
666
+ [
667
+ [
668
+ [
669
+ '0000000000000000000000000000000000000000000000000000000000000100',
670
+ 0,
671
+ '0 CHECKLOCKTIMEVERIFY 1'
672
+ ]
673
+ ],
674
+ '0100000001000100000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000ff64cd1d',
675
+ ['P2SH,CHECKLOCKTIMEVERIFY', 'P2SH,UTXO_AFTER_GENESIS,CHECKLOCKTIMEVERIFY']
676
+ ],
677
+
678
+ [
679
+ 'By-height locks, with argument just beyond tx nLockTime. This script should be invalid but passes because of UTXO_AFTER_GENESIS flag'
680
+ ],
681
+ [
682
+ [
683
+ [
684
+ '0000000000000000000000000000000000000000000000000000000000000100',
685
+ 0,
686
+ '1 CHECKLOCKTIMEVERIFY 1'
687
+ ]
688
+ ],
689
+ '010000000100010000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000',
690
+ ['P2SH,UTXO_AFTER_GENESIS,CHECKLOCKTIMEVERIFY']
691
+ ],
692
+ [
693
+ [
694
+ [
695
+ '0000000000000000000000000000000000000000000000000000000000000100',
696
+ 0,
697
+ '499999999 CHECKLOCKTIMEVERIFY 1'
698
+ ]
699
+ ],
700
+ '0100000001000100000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000fe64cd1d',
701
+ ['P2SH,UTXO_AFTER_GENESIS,CHECKLOCKTIMEVERIFY']
702
+ ],
703
+
704
+ [
705
+ 'By-time locks, with argument just beyond tx nLockTime (but within numerical boundaries)'
706
+ ],
707
+ [
708
+ [
709
+ [
710
+ '0000000000000000000000000000000000000000000000000000000000000100',
711
+ 0,
712
+ '500000000 CHECKLOCKTIMEVERIFY 1'
713
+ ]
714
+ ],
715
+ '01000000010001000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000065cd1d',
716
+ ['P2SH,CHECKLOCKTIMEVERIFY', 'P2SH,UTXO_AFTER_GENESIS,CHECKLOCKTIMEVERIFY']
717
+ ],
718
+ [
719
+ [
720
+ [
721
+ '0000000000000000000000000000000000000000000000000000000000000100',
722
+ 0,
723
+ '4294967295 CHECKLOCKTIMEVERIFY 1'
724
+ ]
725
+ ],
726
+ '0100000001000100000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000ffffffff',
727
+ ['P2SH,CHECKLOCKTIMEVERIFY', 'P2SH,UTXO_AFTER_GENESIS,CHECKLOCKTIMEVERIFY']
728
+ ],
729
+ [
730
+ [
731
+ [
732
+ '0000000000000000000000000000000000000000000000000000000000000100',
733
+ 0,
734
+ '500000000 CHECKLOCKTIMEVERIFY 1'
735
+ ]
736
+ ],
737
+ '0100000001000100000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000ffffffff',
738
+ ['P2SH,CHECKLOCKTIMEVERIFY', 'P2SH,UTXO_AFTER_GENESIS,CHECKLOCKTIMEVERIFY']
739
+ ],
214
740
 
215
741
  ['Any non-maxint nSequence is fine'],
216
- [[['0000000000000000000000000000000000000000000000000000000000000100', 0, '0 CHECKLOCKTIMEVERIFY 1']],
217
- '010000000100010000000000000000000000000000000000000000000000000000000000000000000000feffffff0100000000000000000000000000', ['P2SH,CHECKLOCKTIMEVERIFY', 'P2SH,UTXO_AFTER_GENESIS,CHECKLOCKTIMEVERIFY']],
742
+ [
743
+ [
744
+ [
745
+ '0000000000000000000000000000000000000000000000000000000000000100',
746
+ 0,
747
+ '0 CHECKLOCKTIMEVERIFY 1'
748
+ ]
749
+ ],
750
+ '010000000100010000000000000000000000000000000000000000000000000000000000000000000000feffffff0100000000000000000000000000',
751
+ ['P2SH,CHECKLOCKTIMEVERIFY', 'P2SH,UTXO_AFTER_GENESIS,CHECKLOCKTIMEVERIFY']
752
+ ],
218
753
 
219
754
  ['The argument can be calculated rather than created directly by a PUSHDATA'],
220
- [[['0000000000000000000000000000000000000000000000000000000000000100', 0, '499999999 1ADD CHECKLOCKTIMEVERIFY 1']],
221
- '01000000010001000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000065cd1d', ['P2SH,CHECKLOCKTIMEVERIFY', 'P2SH,UTXO_AFTER_GENESIS,CHECKLOCKTIMEVERIFY']],
222
-
223
- ['Perhaps even by an ADD producing a 5-byte result that is out of bounds for other opcodes'],
224
- [[['0000000000000000000000000000000000000000000000000000000000000100', 0, '2147483647 2147483647 ADD CHECKLOCKTIMEVERIFY 1']],
225
- '0100000001000100000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000feffffff', ['P2SH,CHECKLOCKTIMEVERIFY', 'P2SH,UTXO_AFTER_GENESIS,CHECKLOCKTIMEVERIFY']],
755
+ [
756
+ [
757
+ [
758
+ '0000000000000000000000000000000000000000000000000000000000000100',
759
+ 0,
760
+ '499999999 1ADD CHECKLOCKTIMEVERIFY 1'
761
+ ]
762
+ ],
763
+ '01000000010001000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000065cd1d',
764
+ ['P2SH,CHECKLOCKTIMEVERIFY', 'P2SH,UTXO_AFTER_GENESIS,CHECKLOCKTIMEVERIFY']
765
+ ],
766
+
767
+ [
768
+ 'Perhaps even by an ADD producing a 5-byte result that is out of bounds for other opcodes'
769
+ ],
770
+ [
771
+ [
772
+ [
773
+ '0000000000000000000000000000000000000000000000000000000000000100',
774
+ 0,
775
+ '2147483647 2147483647 ADD CHECKLOCKTIMEVERIFY 1'
776
+ ]
777
+ ],
778
+ '0100000001000100000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000feffffff',
779
+ ['P2SH,CHECKLOCKTIMEVERIFY', 'P2SH,UTXO_AFTER_GENESIS,CHECKLOCKTIMEVERIFY']
780
+ ],
226
781
 
227
782
  ['5 byte non-minimally-encoded arguments are valid'],
228
- [[['0000000000000000000000000000000000000000000000000000000000000100', 0, '0x05 0x0000000000 CHECKLOCKTIMEVERIFY 1']],
229
- '010000000100010000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000', ['P2SH,CHECKLOCKTIMEVERIFY', 'P2SH,UTXO_AFTER_GENESIS,CHECKLOCKTIMEVERIFY']],
783
+ [
784
+ [
785
+ [
786
+ '0000000000000000000000000000000000000000000000000000000000000100',
787
+ 0,
788
+ '0x05 0x0000000000 CHECKLOCKTIMEVERIFY 1'
789
+ ]
790
+ ],
791
+ '010000000100010000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000',
792
+ ['P2SH,CHECKLOCKTIMEVERIFY', 'P2SH,UTXO_AFTER_GENESIS,CHECKLOCKTIMEVERIFY']
793
+ ],
230
794
 
231
795
  ['Valid CHECKLOCKTIMEVERIFY in scriptSig'],
232
- [[['0000000000000000000000000000000000000000000000000000000000000100', 0, '1']],
233
- '01000000010001000000000000000000000000000000000000000000000000000000000000000000000251b1000000000100000000000000000001000000', ['P2SH,CHECKLOCKTIMEVERIFY', 'P2SH,UTXO_AFTER_GENESIS,CHECKLOCKTIMEVERIFY']],
796
+ [
797
+ [
798
+ [
799
+ '0000000000000000000000000000000000000000000000000000000000000100',
800
+ 0,
801
+ '1'
802
+ ]
803
+ ],
804
+ '01000000010001000000000000000000000000000000000000000000000000000000000000000000000251b1000000000100000000000000000001000000',
805
+ ['P2SH,CHECKLOCKTIMEVERIFY', 'P2SH,UTXO_AFTER_GENESIS,CHECKLOCKTIMEVERIFY']
806
+ ],
234
807
 
235
808
  ['Valid CHECKLOCKTIMEVERIFY in redeemScript'],
236
- [[['0000000000000000000000000000000000000000000000000000000000000100', 0, 'HASH160 0x14 0xc5b93064159b3b2d6ab506a41b1f50463771b988 EQUAL']],
237
- '0100000001000100000000000000000000000000000000000000000000000000000000000000000000030251b1000000000100000000000000000001000000', ['P2SH,CHECKLOCKTIMEVERIFY', 'P2SH,UTXO_AFTER_GENESIS,CHECKLOCKTIMEVERIFY']],
238
-
239
- ['the redeem script fails due to failing CHECKLOCKTIMEVERIFY, but it is not executed because the UTXO_AFTER_GENESIS is set'],
240
- [[['0000000000000000000000000000000000000000000000000000000000000100', 0, 'HASH160 0x14 0xc5b93064159b3b2d6ab506a41b1f50463771b988 EQUAL']],
241
- '0100000001000100000000000000000000000000000000000000000000000000000000000000000000030251b1000000000100000000000000000000000000', 'P2SH,UTXO_AFTER_GENESIS,CHECKLOCKTIMEVERIFY'],
809
+ [
810
+ [
811
+ [
812
+ '0000000000000000000000000000000000000000000000000000000000000100',
813
+ 0,
814
+ 'HASH160 0x14 0xc5b93064159b3b2d6ab506a41b1f50463771b988 EQUAL'
815
+ ]
816
+ ],
817
+ '0100000001000100000000000000000000000000000000000000000000000000000000000000000000030251b1000000000100000000000000000001000000',
818
+ ['P2SH,CHECKLOCKTIMEVERIFY', 'P2SH,UTXO_AFTER_GENESIS,CHECKLOCKTIMEVERIFY']
819
+ ],
820
+
821
+ [
822
+ 'the redeem script fails due to failing CHECKLOCKTIMEVERIFY, but it is not executed because the UTXO_AFTER_GENESIS is set'
823
+ ],
824
+ [
825
+ [
826
+ [
827
+ '0000000000000000000000000000000000000000000000000000000000000100',
828
+ 0,
829
+ 'HASH160 0x14 0xc5b93064159b3b2d6ab506a41b1f50463771b988 EQUAL'
830
+ ]
831
+ ],
832
+ '0100000001000100000000000000000000000000000000000000000000000000000000000000000000030251b1000000000100000000000000000000000000',
833
+ 'P2SH,UTXO_AFTER_GENESIS,CHECKLOCKTIMEVERIFY'
834
+ ],
242
835
 
243
836
  ['A transaction with a non-standard DER signature.'],
244
- [[['b1dbc81696c8a9c0fccd0693ab66d7c368dbc38c0def4e800685560ddd1b2132', 0, 'DUP HASH160 0x14 0x4b3bd7eba3bc0284fd3007be7f3be275e94f5826 EQUALVERIFY CHECKSIG']],
245
- '010000000132211bdd0d568506804eef0d8cc3db68c3d766ab9306cdfcc0a9c89616c8dbb1000000006c493045022100c7bb0faea0522e74ff220c20c022d2cb6033f8d167fb89e75a50e237a35fd6d202203064713491b1f8ad5f79e623d0219ad32510bfaa1009ab30cbee77b59317d6e30001210237af13eb2d84e4545af287b919c2282019c9691cc509e78e196a9d8274ed1be0ffffffff0100000000000000001976a914f1b3ed2eda9a2ebe5a9374f692877cdf87c0f95b88ac00000000', ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']],
837
+ [
838
+ [
839
+ [
840
+ 'b1dbc81696c8a9c0fccd0693ab66d7c368dbc38c0def4e800685560ddd1b2132',
841
+ 0,
842
+ 'DUP HASH160 0x14 0x4b3bd7eba3bc0284fd3007be7f3be275e94f5826 EQUALVERIFY CHECKSIG'
843
+ ]
844
+ ],
845
+ '010000000132211bdd0d568506804eef0d8cc3db68c3d766ab9306cdfcc0a9c89616c8dbb1000000006c493045022100c7bb0faea0522e74ff220c20c022d2cb6033f8d167fb89e75a50e237a35fd6d202203064713491b1f8ad5f79e623d0219ad32510bfaa1009ab30cbee77b59317d6e30001210237af13eb2d84e4545af287b919c2282019c9691cc509e78e196a9d8274ed1be0ffffffff0100000000000000001976a914f1b3ed2eda9a2ebe5a9374f692877cdf87c0f95b88ac00000000',
846
+ ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']
847
+ ],
246
848
 
247
849
  ['CHECKSEQUENCEVERIFY tests'],
248
850
 
249
851
  ['By-height locks, with argument == 0 and == txin.nSequence'],
250
- [[['0000000000000000000000000000000000000000000000000000000000000100', 0, '0 CHECKSEQUENCEVERIFY 1']],
251
- '020000000100010000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000', ['P2SH,CHECKSEQUENCEVERIFY', 'P2SH,UTXO_AFTER_GENESIS,CHECKSEQUENCEVERIFY']],
252
- [[['0000000000000000000000000000000000000000000000000000000000000100', 0, '65535 CHECKSEQUENCEVERIFY 1']],
253
- '020000000100010000000000000000000000000000000000000000000000000000000000000000000000ffff00000100000000000000000000000000', ['P2SH,CHECKSEQUENCEVERIFY', 'P2SH,UTXO_AFTER_GENESIS,CHECKSEQUENCEVERIFY']],
254
- [[['0000000000000000000000000000000000000000000000000000000000000100', 0, '65535 CHECKSEQUENCEVERIFY 1']],
255
- '020000000100010000000000000000000000000000000000000000000000000000000000000000000000ffffbf7f0100000000000000000000000000', ['P2SH,CHECKSEQUENCEVERIFY', 'P2SH,UTXO_AFTER_GENESIS,CHECKSEQUENCEVERIFY']],
256
- [[['0000000000000000000000000000000000000000000000000000000000000100', 0, '0 CHECKSEQUENCEVERIFY 1']],
257
- '020000000100010000000000000000000000000000000000000000000000000000000000000000000000ffffbf7f0100000000000000000000000000', ['P2SH,CHECKSEQUENCEVERIFY', 'P2SH,UTXO_AFTER_GENESIS,CHECKSEQUENCEVERIFY']],
258
-
259
- ['By-height locks, with argument just beyond txin.nSequence. This script should be invalid but passes because of UTXO_AFTER_GENESIS flag'],
260
- [[['0000000000000000000000000000000000000000000000000000000000000100', 0, '1 CHECKSEQUENCEVERIFY 1']],
261
- '020000000100010000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000', ['P2SH,UTXO_AFTER_GENESIS,CHECKSEQUENCEVERIFY']],
262
- [[['0000000000000000000000000000000000000000000000000000000000000100', 0, '4259839 CHECKSEQUENCEVERIFY 1']],
263
- '020000000100010000000000000000000000000000000000000000000000000000000000000000000000feff40000100000000000000000000000000', ['P2SH,UTXO_AFTER_GENESIS,CHECKSEQUENCEVERIFY']],
852
+ [
853
+ [
854
+ [
855
+ '0000000000000000000000000000000000000000000000000000000000000100',
856
+ 0,
857
+ '0 CHECKSEQUENCEVERIFY 1'
858
+ ]
859
+ ],
860
+ '020000000100010000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000',
861
+ ['P2SH,CHECKSEQUENCEVERIFY', 'P2SH,UTXO_AFTER_GENESIS,CHECKSEQUENCEVERIFY']
862
+ ],
863
+ [
864
+ [
865
+ [
866
+ '0000000000000000000000000000000000000000000000000000000000000100',
867
+ 0,
868
+ '65535 CHECKSEQUENCEVERIFY 1'
869
+ ]
870
+ ],
871
+ '020000000100010000000000000000000000000000000000000000000000000000000000000000000000ffff00000100000000000000000000000000',
872
+ ['P2SH,CHECKSEQUENCEVERIFY', 'P2SH,UTXO_AFTER_GENESIS,CHECKSEQUENCEVERIFY']
873
+ ],
874
+ [
875
+ [
876
+ [
877
+ '0000000000000000000000000000000000000000000000000000000000000100',
878
+ 0,
879
+ '65535 CHECKSEQUENCEVERIFY 1'
880
+ ]
881
+ ],
882
+ '020000000100010000000000000000000000000000000000000000000000000000000000000000000000ffffbf7f0100000000000000000000000000',
883
+ ['P2SH,CHECKSEQUENCEVERIFY', 'P2SH,UTXO_AFTER_GENESIS,CHECKSEQUENCEVERIFY']
884
+ ],
885
+ [
886
+ [
887
+ [
888
+ '0000000000000000000000000000000000000000000000000000000000000100',
889
+ 0,
890
+ '0 CHECKSEQUENCEVERIFY 1'
891
+ ]
892
+ ],
893
+ '020000000100010000000000000000000000000000000000000000000000000000000000000000000000ffffbf7f0100000000000000000000000000',
894
+ ['P2SH,CHECKSEQUENCEVERIFY', 'P2SH,UTXO_AFTER_GENESIS,CHECKSEQUENCEVERIFY']
895
+ ],
896
+
897
+ [
898
+ 'By-height locks, with argument just beyond txin.nSequence. This script should be invalid but passes because of UTXO_AFTER_GENESIS flag'
899
+ ],
900
+ [
901
+ [
902
+ [
903
+ '0000000000000000000000000000000000000000000000000000000000000100',
904
+ 0,
905
+ '1 CHECKSEQUENCEVERIFY 1'
906
+ ]
907
+ ],
908
+ '020000000100010000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000',
909
+ ['P2SH,UTXO_AFTER_GENESIS,CHECKSEQUENCEVERIFY']
910
+ ],
911
+ [
912
+ [
913
+ [
914
+ '0000000000000000000000000000000000000000000000000000000000000100',
915
+ 0,
916
+ '4259839 CHECKSEQUENCEVERIFY 1'
917
+ ]
918
+ ],
919
+ '020000000100010000000000000000000000000000000000000000000000000000000000000000000000feff40000100000000000000000000000000',
920
+ ['P2SH,UTXO_AFTER_GENESIS,CHECKSEQUENCEVERIFY']
921
+ ],
264
922
 
265
923
  ['By-time locks, with argument == 0 and == txin.nSequence'],
266
- [[['0000000000000000000000000000000000000000000000000000000000000100', 0, '4194304 CHECKSEQUENCEVERIFY 1']],
267
- '020000000100010000000000000000000000000000000000000000000000000000000000000000000000000040000100000000000000000000000000', ['P2SH,CHECKSEQUENCEVERIFY', 'P2SH,UTXO_AFTER_GENESIS,CHECKSEQUENCEVERIFY']],
268
- [[['0000000000000000000000000000000000000000000000000000000000000100', 0, '4259839 CHECKSEQUENCEVERIFY 1']],
269
- '020000000100010000000000000000000000000000000000000000000000000000000000000000000000ffff40000100000000000000000000000000', ['P2SH,CHECKSEQUENCEVERIFY', 'P2SH,UTXO_AFTER_GENESIS,CHECKSEQUENCEVERIFY']],
270
- [[['0000000000000000000000000000000000000000000000000000000000000100', 0, '4259839 CHECKSEQUENCEVERIFY 1']],
271
- '020000000100010000000000000000000000000000000000000000000000000000000000000000000000ffffff7f0100000000000000000000000000', ['P2SH,CHECKSEQUENCEVERIFY', 'P2SH,UTXO_AFTER_GENESIS,CHECKSEQUENCEVERIFY']],
272
- [[['0000000000000000000000000000000000000000000000000000000000000100', 0, '4194304 CHECKSEQUENCEVERIFY 1']],
273
- '020000000100010000000000000000000000000000000000000000000000000000000000000000000000ffffff7f0100000000000000000000000000', ['P2SH,CHECKSEQUENCEVERIFY', 'P2SH,UTXO_AFTER_GENESIS,CHECKSEQUENCEVERIFY']],
924
+ [
925
+ [
926
+ [
927
+ '0000000000000000000000000000000000000000000000000000000000000100',
928
+ 0,
929
+ '4194304 CHECKSEQUENCEVERIFY 1'
930
+ ]
931
+ ],
932
+ '020000000100010000000000000000000000000000000000000000000000000000000000000000000000000040000100000000000000000000000000',
933
+ ['P2SH,CHECKSEQUENCEVERIFY', 'P2SH,UTXO_AFTER_GENESIS,CHECKSEQUENCEVERIFY']
934
+ ],
935
+ [
936
+ [
937
+ [
938
+ '0000000000000000000000000000000000000000000000000000000000000100',
939
+ 0,
940
+ '4259839 CHECKSEQUENCEVERIFY 1'
941
+ ]
942
+ ],
943
+ '020000000100010000000000000000000000000000000000000000000000000000000000000000000000ffff40000100000000000000000000000000',
944
+ ['P2SH,CHECKSEQUENCEVERIFY', 'P2SH,UTXO_AFTER_GENESIS,CHECKSEQUENCEVERIFY']
945
+ ],
946
+ [
947
+ [
948
+ [
949
+ '0000000000000000000000000000000000000000000000000000000000000100',
950
+ 0,
951
+ '4259839 CHECKSEQUENCEVERIFY 1'
952
+ ]
953
+ ],
954
+ '020000000100010000000000000000000000000000000000000000000000000000000000000000000000ffffff7f0100000000000000000000000000',
955
+ ['P2SH,CHECKSEQUENCEVERIFY', 'P2SH,UTXO_AFTER_GENESIS,CHECKSEQUENCEVERIFY']
956
+ ],
957
+ [
958
+ [
959
+ [
960
+ '0000000000000000000000000000000000000000000000000000000000000100',
961
+ 0,
962
+ '4194304 CHECKSEQUENCEVERIFY 1'
963
+ ]
964
+ ],
965
+ '020000000100010000000000000000000000000000000000000000000000000000000000000000000000ffffff7f0100000000000000000000000000',
966
+ ['P2SH,CHECKSEQUENCEVERIFY', 'P2SH,UTXO_AFTER_GENESIS,CHECKSEQUENCEVERIFY']
967
+ ],
274
968
 
275
969
  ['Upper sequence with upper sequence is fine'],
276
- [[['0000000000000000000000000000000000000000000000000000000000000100', 0, '2147483648 CHECKSEQUENCEVERIFY 1']],
277
- '020000000100010000000000000000000000000000000000000000000000000000000000000000000000000000800100000000000000000000000000', ['P2SH,CHECKSEQUENCEVERIFY', 'P2SH,UTXO_AFTER_GENESIS,CHECKSEQUENCEVERIFY']],
278
- [[['0000000000000000000000000000000000000000000000000000000000000100', 0, '4294967295 CHECKSEQUENCEVERIFY 1']],
279
- '020000000100010000000000000000000000000000000000000000000000000000000000000000000000000000800100000000000000000000000000', ['P2SH,CHECKSEQUENCEVERIFY', 'P2SH,UTXO_AFTER_GENESIS,CHECKSEQUENCEVERIFY']],
280
- [[['0000000000000000000000000000000000000000000000000000000000000100', 0, '2147483648 CHECKSEQUENCEVERIFY 1']],
281
- '020000000100010000000000000000000000000000000000000000000000000000000000000000000000feffffff0100000000000000000000000000', ['P2SH,CHECKSEQUENCEVERIFY', 'P2SH,UTXO_AFTER_GENESIS,CHECKSEQUENCEVERIFY']],
282
- [[['0000000000000000000000000000000000000000000000000000000000000100', 0, '4294967295 CHECKSEQUENCEVERIFY 1']],
283
- '020000000100010000000000000000000000000000000000000000000000000000000000000000000000feffffff0100000000000000000000000000', ['P2SH,CHECKSEQUENCEVERIFY', 'P2SH,UTXO_AFTER_GENESIS,CHECKSEQUENCEVERIFY']],
284
- [[['0000000000000000000000000000000000000000000000000000000000000100', 0, '2147483648 CHECKSEQUENCEVERIFY 1']],
285
- '020000000100010000000000000000000000000000000000000000000000000000000000000000000000ffffffff0100000000000000000000000000', ['P2SH,CHECKSEQUENCEVERIFY', 'P2SH,UTXO_AFTER_GENESIS,CHECKSEQUENCEVERIFY']],
286
- [[['0000000000000000000000000000000000000000000000000000000000000100', 0, '4294967295 CHECKSEQUENCEVERIFY 1']],
287
- '020000000100010000000000000000000000000000000000000000000000000000000000000000000000ffffffff0100000000000000000000000000', ['P2SH,CHECKSEQUENCEVERIFY', 'P2SH,UTXO_AFTER_GENESIS,CHECKSEQUENCEVERIFY']],
970
+ [
971
+ [
972
+ [
973
+ '0000000000000000000000000000000000000000000000000000000000000100',
974
+ 0,
975
+ '2147483648 CHECKSEQUENCEVERIFY 1'
976
+ ]
977
+ ],
978
+ '020000000100010000000000000000000000000000000000000000000000000000000000000000000000000000800100000000000000000000000000',
979
+ ['P2SH,CHECKSEQUENCEVERIFY', 'P2SH,UTXO_AFTER_GENESIS,CHECKSEQUENCEVERIFY']
980
+ ],
981
+ [
982
+ [
983
+ [
984
+ '0000000000000000000000000000000000000000000000000000000000000100',
985
+ 0,
986
+ '4294967295 CHECKSEQUENCEVERIFY 1'
987
+ ]
988
+ ],
989
+ '020000000100010000000000000000000000000000000000000000000000000000000000000000000000000000800100000000000000000000000000',
990
+ ['P2SH,CHECKSEQUENCEVERIFY', 'P2SH,UTXO_AFTER_GENESIS,CHECKSEQUENCEVERIFY']
991
+ ],
992
+ [
993
+ [
994
+ [
995
+ '0000000000000000000000000000000000000000000000000000000000000100',
996
+ 0,
997
+ '2147483648 CHECKSEQUENCEVERIFY 1'
998
+ ]
999
+ ],
1000
+ '020000000100010000000000000000000000000000000000000000000000000000000000000000000000feffffff0100000000000000000000000000',
1001
+ ['P2SH,CHECKSEQUENCEVERIFY', 'P2SH,UTXO_AFTER_GENESIS,CHECKSEQUENCEVERIFY']
1002
+ ],
1003
+ [
1004
+ [
1005
+ [
1006
+ '0000000000000000000000000000000000000000000000000000000000000100',
1007
+ 0,
1008
+ '4294967295 CHECKSEQUENCEVERIFY 1'
1009
+ ]
1010
+ ],
1011
+ '020000000100010000000000000000000000000000000000000000000000000000000000000000000000feffffff0100000000000000000000000000',
1012
+ ['P2SH,CHECKSEQUENCEVERIFY', 'P2SH,UTXO_AFTER_GENESIS,CHECKSEQUENCEVERIFY']
1013
+ ],
1014
+ [
1015
+ [
1016
+ [
1017
+ '0000000000000000000000000000000000000000000000000000000000000100',
1018
+ 0,
1019
+ '2147483648 CHECKSEQUENCEVERIFY 1'
1020
+ ]
1021
+ ],
1022
+ '020000000100010000000000000000000000000000000000000000000000000000000000000000000000ffffffff0100000000000000000000000000',
1023
+ ['P2SH,CHECKSEQUENCEVERIFY', 'P2SH,UTXO_AFTER_GENESIS,CHECKSEQUENCEVERIFY']
1024
+ ],
1025
+ [
1026
+ [
1027
+ [
1028
+ '0000000000000000000000000000000000000000000000000000000000000100',
1029
+ 0,
1030
+ '4294967295 CHECKSEQUENCEVERIFY 1'
1031
+ ]
1032
+ ],
1033
+ '020000000100010000000000000000000000000000000000000000000000000000000000000000000000ffffffff0100000000000000000000000000',
1034
+ ['P2SH,CHECKSEQUENCEVERIFY', 'P2SH,UTXO_AFTER_GENESIS,CHECKSEQUENCEVERIFY']
1035
+ ],
288
1036
 
289
1037
  ['Argument 2^31 with various nSequence'],
290
- [[['0000000000000000000000000000000000000000000000000000000000000100', 0, '2147483648 CHECKSEQUENCEVERIFY 1']],
291
- '020000000100010000000000000000000000000000000000000000000000000000000000000000000000ffffbf7f0100000000000000000000000000', ['P2SH,CHECKSEQUENCEVERIFY', 'P2SH,UTXO_AFTER_GENESIS,CHECKSEQUENCEVERIFY']],
292
- [[['0000000000000000000000000000000000000000000000000000000000000100', 0, '2147483648 CHECKSEQUENCEVERIFY 1']],
293
- '020000000100010000000000000000000000000000000000000000000000000000000000000000000000ffffff7f0100000000000000000000000000', ['P2SH,CHECKSEQUENCEVERIFY', 'P2SH,UTXO_AFTER_GENESIS,CHECKSEQUENCEVERIFY']],
294
- [[['0000000000000000000000000000000000000000000000000000000000000100', 0, '2147483648 CHECKSEQUENCEVERIFY 1']],
295
- '020000000100010000000000000000000000000000000000000000000000000000000000000000000000ffffffff0100000000000000000000000000', ['P2SH,CHECKSEQUENCEVERIFY', 'P2SH,UTXO_AFTER_GENESIS,CHECKSEQUENCEVERIFY']],
1038
+ [
1039
+ [
1040
+ [
1041
+ '0000000000000000000000000000000000000000000000000000000000000100',
1042
+ 0,
1043
+ '2147483648 CHECKSEQUENCEVERIFY 1'
1044
+ ]
1045
+ ],
1046
+ '020000000100010000000000000000000000000000000000000000000000000000000000000000000000ffffbf7f0100000000000000000000000000',
1047
+ ['P2SH,CHECKSEQUENCEVERIFY', 'P2SH,UTXO_AFTER_GENESIS,CHECKSEQUENCEVERIFY']
1048
+ ],
1049
+ [
1050
+ [
1051
+ [
1052
+ '0000000000000000000000000000000000000000000000000000000000000100',
1053
+ 0,
1054
+ '2147483648 CHECKSEQUENCEVERIFY 1'
1055
+ ]
1056
+ ],
1057
+ '020000000100010000000000000000000000000000000000000000000000000000000000000000000000ffffff7f0100000000000000000000000000',
1058
+ ['P2SH,CHECKSEQUENCEVERIFY', 'P2SH,UTXO_AFTER_GENESIS,CHECKSEQUENCEVERIFY']
1059
+ ],
1060
+ [
1061
+ [
1062
+ [
1063
+ '0000000000000000000000000000000000000000000000000000000000000100',
1064
+ 0,
1065
+ '2147483648 CHECKSEQUENCEVERIFY 1'
1066
+ ]
1067
+ ],
1068
+ '020000000100010000000000000000000000000000000000000000000000000000000000000000000000ffffffff0100000000000000000000000000',
1069
+ ['P2SH,CHECKSEQUENCEVERIFY', 'P2SH,UTXO_AFTER_GENESIS,CHECKSEQUENCEVERIFY']
1070
+ ],
296
1071
 
297
1072
  ['Argument 2^32-1 with various nSequence'],
298
- [[['0000000000000000000000000000000000000000000000000000000000000100', 0, '4294967295 CHECKSEQUENCEVERIFY 1']],
299
- '020000000100010000000000000000000000000000000000000000000000000000000000000000000000ffffbf7f0100000000000000000000000000', ['P2SH,CHECKSEQUENCEVERIFY', 'P2SH,UTXO_AFTER_GENESIS,CHECKSEQUENCEVERIFY']],
300
- [[['0000000000000000000000000000000000000000000000000000000000000100', 0, '4294967295 CHECKSEQUENCEVERIFY 1']],
301
- '020000000100010000000000000000000000000000000000000000000000000000000000000000000000ffffff7f0100000000000000000000000000', ['P2SH,CHECKSEQUENCEVERIFY', 'P2SH,UTXO_AFTER_GENESIS,CHECKSEQUENCEVERIFY']],
302
- [[['0000000000000000000000000000000000000000000000000000000000000100', 0, '4294967295 CHECKSEQUENCEVERIFY 1']],
303
- '020000000100010000000000000000000000000000000000000000000000000000000000000000000000ffffffff0100000000000000000000000000', ['P2SH,CHECKSEQUENCEVERIFY', 'P2SH,UTXO_AFTER_GENESIS,CHECKSEQUENCEVERIFY']],
1073
+ [
1074
+ [
1075
+ [
1076
+ '0000000000000000000000000000000000000000000000000000000000000100',
1077
+ 0,
1078
+ '4294967295 CHECKSEQUENCEVERIFY 1'
1079
+ ]
1080
+ ],
1081
+ '020000000100010000000000000000000000000000000000000000000000000000000000000000000000ffffbf7f0100000000000000000000000000',
1082
+ ['P2SH,CHECKSEQUENCEVERIFY', 'P2SH,UTXO_AFTER_GENESIS,CHECKSEQUENCEVERIFY']
1083
+ ],
1084
+ [
1085
+ [
1086
+ [
1087
+ '0000000000000000000000000000000000000000000000000000000000000100',
1088
+ 0,
1089
+ '4294967295 CHECKSEQUENCEVERIFY 1'
1090
+ ]
1091
+ ],
1092
+ '020000000100010000000000000000000000000000000000000000000000000000000000000000000000ffffff7f0100000000000000000000000000',
1093
+ ['P2SH,CHECKSEQUENCEVERIFY', 'P2SH,UTXO_AFTER_GENESIS,CHECKSEQUENCEVERIFY']
1094
+ ],
1095
+ [
1096
+ [
1097
+ [
1098
+ '0000000000000000000000000000000000000000000000000000000000000100',
1099
+ 0,
1100
+ '4294967295 CHECKSEQUENCEVERIFY 1'
1101
+ ]
1102
+ ],
1103
+ '020000000100010000000000000000000000000000000000000000000000000000000000000000000000ffffffff0100000000000000000000000000',
1104
+ ['P2SH,CHECKSEQUENCEVERIFY', 'P2SH,UTXO_AFTER_GENESIS,CHECKSEQUENCEVERIFY']
1105
+ ],
304
1106
 
305
1107
  ['Argument 3<<31 with various nSequence'],
306
- [[['0000000000000000000000000000000000000000000000000000000000000100', 0, '6442450944 CHECKSEQUENCEVERIFY 1']],
307
- '020000000100010000000000000000000000000000000000000000000000000000000000000000000000ffffbf7f0100000000000000000000000000', ['P2SH,CHECKSEQUENCEVERIFY', 'P2SH,UTXO_AFTER_GENESIS,CHECKSEQUENCEVERIFY']],
308
- [[['0000000000000000000000000000000000000000000000000000000000000100', 0, '6442450944 CHECKSEQUENCEVERIFY 1']],
309
- '020000000100010000000000000000000000000000000000000000000000000000000000000000000000ffffff7f0100000000000000000000000000', ['P2SH,CHECKSEQUENCEVERIFY', 'P2SH,UTXO_AFTER_GENESIS,CHECKSEQUENCEVERIFY']],
310
- [[['0000000000000000000000000000000000000000000000000000000000000100', 0, '6442450944 CHECKSEQUENCEVERIFY 1']],
311
- '020000000100010000000000000000000000000000000000000000000000000000000000000000000000ffffffff0100000000000000000000000000', ['P2SH,CHECKSEQUENCEVERIFY', 'P2SH,UTXO_AFTER_GENESIS,CHECKSEQUENCEVERIFY']],
1108
+ [
1109
+ [
1110
+ [
1111
+ '0000000000000000000000000000000000000000000000000000000000000100',
1112
+ 0,
1113
+ '6442450944 CHECKSEQUENCEVERIFY 1'
1114
+ ]
1115
+ ],
1116
+ '020000000100010000000000000000000000000000000000000000000000000000000000000000000000ffffbf7f0100000000000000000000000000',
1117
+ ['P2SH,CHECKSEQUENCEVERIFY', 'P2SH,UTXO_AFTER_GENESIS,CHECKSEQUENCEVERIFY']
1118
+ ],
1119
+ [
1120
+ [
1121
+ [
1122
+ '0000000000000000000000000000000000000000000000000000000000000100',
1123
+ 0,
1124
+ '6442450944 CHECKSEQUENCEVERIFY 1'
1125
+ ]
1126
+ ],
1127
+ '020000000100010000000000000000000000000000000000000000000000000000000000000000000000ffffff7f0100000000000000000000000000',
1128
+ ['P2SH,CHECKSEQUENCEVERIFY', 'P2SH,UTXO_AFTER_GENESIS,CHECKSEQUENCEVERIFY']
1129
+ ],
1130
+ [
1131
+ [
1132
+ [
1133
+ '0000000000000000000000000000000000000000000000000000000000000100',
1134
+ 0,
1135
+ '6442450944 CHECKSEQUENCEVERIFY 1'
1136
+ ]
1137
+ ],
1138
+ '020000000100010000000000000000000000000000000000000000000000000000000000000000000000ffffffff0100000000000000000000000000',
1139
+ ['P2SH,CHECKSEQUENCEVERIFY', 'P2SH,UTXO_AFTER_GENESIS,CHECKSEQUENCEVERIFY']
1140
+ ],
312
1141
 
313
1142
  ['5 byte non-minimally-encoded operandss are valid'],
314
- [[['0000000000000000000000000000000000000000000000000000000000000100', 0, '0x05 0x0000000000 CHECKSEQUENCEVERIFY 1']],
315
- '020000000100010000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000', ['P2SH,CHECKSEQUENCEVERIFY', 'P2SH,UTXO_AFTER_GENESIS,CHECKSEQUENCEVERIFY']],
1143
+ [
1144
+ [
1145
+ [
1146
+ '0000000000000000000000000000000000000000000000000000000000000100',
1147
+ 0,
1148
+ '0x05 0x0000000000 CHECKSEQUENCEVERIFY 1'
1149
+ ]
1150
+ ],
1151
+ '020000000100010000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000',
1152
+ ['P2SH,CHECKSEQUENCEVERIFY', 'P2SH,UTXO_AFTER_GENESIS,CHECKSEQUENCEVERIFY']
1153
+ ],
316
1154
 
317
1155
  ['The argument can be calculated rather than created directly by a PUSHDATA'],
318
- [[['0000000000000000000000000000000000000000000000000000000000000100', 0, '4194303 1ADD CHECKSEQUENCEVERIFY 1']],
319
- '020000000100010000000000000000000000000000000000000000000000000000000000000000000000000040000100000000000000000000000000', ['P2SH,CHECKSEQUENCEVERIFY', 'P2SH,UTXO_AFTER_GENESIS,CHECKSEQUENCEVERIFY']],
320
- [[['0000000000000000000000000000000000000000000000000000000000000100', 0, '4194304 1SUB CHECKSEQUENCEVERIFY 1']],
321
- '020000000100010000000000000000000000000000000000000000000000000000000000000000000000ffff00000100000000000000000000000000', ['P2SH,CHECKSEQUENCEVERIFY', 'P2SH,UTXO_AFTER_GENESIS,CHECKSEQUENCEVERIFY']],
322
-
323
- ['An ADD producing a 5-byte result that sets CTxIn::SEQUENCE_LOCKTIME_DISABLE_FLAG'],
324
- [[['0000000000000000000000000000000000000000000000000000000000000100', 0, '2147483647 65536 CHECKSEQUENCEVERIFY 1']],
325
- '020000000100010000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000', ['P2SH,CHECKSEQUENCEVERIFY', 'P2SH,UTXO_AFTER_GENESIS,CHECKSEQUENCEVERIFY']],
326
- [[['0000000000000000000000000000000000000000000000000000000000000100', 0, '2147483647 4259840 ADD CHECKSEQUENCEVERIFY 1']],
327
- '020000000100010000000000000000000000000000000000000000000000000000000000000000000000000040000100000000000000000000000000', ['P2SH,CHECKSEQUENCEVERIFY', 'P2SH,UTXO_AFTER_GENESIS,CHECKSEQUENCEVERIFY']],
1156
+ [
1157
+ [
1158
+ [
1159
+ '0000000000000000000000000000000000000000000000000000000000000100',
1160
+ 0,
1161
+ '4194303 1ADD CHECKSEQUENCEVERIFY 1'
1162
+ ]
1163
+ ],
1164
+ '020000000100010000000000000000000000000000000000000000000000000000000000000000000000000040000100000000000000000000000000',
1165
+ ['P2SH,CHECKSEQUENCEVERIFY', 'P2SH,UTXO_AFTER_GENESIS,CHECKSEQUENCEVERIFY']
1166
+ ],
1167
+ [
1168
+ [
1169
+ [
1170
+ '0000000000000000000000000000000000000000000000000000000000000100',
1171
+ 0,
1172
+ '4194304 1SUB CHECKSEQUENCEVERIFY 1'
1173
+ ]
1174
+ ],
1175
+ '020000000100010000000000000000000000000000000000000000000000000000000000000000000000ffff00000100000000000000000000000000',
1176
+ ['P2SH,CHECKSEQUENCEVERIFY', 'P2SH,UTXO_AFTER_GENESIS,CHECKSEQUENCEVERIFY']
1177
+ ],
1178
+
1179
+ [
1180
+ 'An ADD producing a 5-byte result that sets CTxIn::SEQUENCE_LOCKTIME_DISABLE_FLAG'
1181
+ ],
1182
+ [
1183
+ [
1184
+ [
1185
+ '0000000000000000000000000000000000000000000000000000000000000100',
1186
+ 0,
1187
+ '2147483647 65536 CHECKSEQUENCEVERIFY 1'
1188
+ ]
1189
+ ],
1190
+ '020000000100010000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000',
1191
+ ['P2SH,CHECKSEQUENCEVERIFY', 'P2SH,UTXO_AFTER_GENESIS,CHECKSEQUENCEVERIFY']
1192
+ ],
1193
+ [
1194
+ [
1195
+ [
1196
+ '0000000000000000000000000000000000000000000000000000000000000100',
1197
+ 0,
1198
+ '2147483647 4259840 ADD CHECKSEQUENCEVERIFY 1'
1199
+ ]
1200
+ ],
1201
+ '020000000100010000000000000000000000000000000000000000000000000000000000000000000000000040000100000000000000000000000000',
1202
+ ['P2SH,CHECKSEQUENCEVERIFY', 'P2SH,UTXO_AFTER_GENESIS,CHECKSEQUENCEVERIFY']
1203
+ ],
328
1204
 
329
1205
  ['Valid CHECKSEQUENCEVERIFY in scriptSig'],
330
- [[['0000000000000000000000000000000000000000000000000000000000000100', 0, '1']],
331
- '02000000010001000000000000000000000000000000000000000000000000000000000000000000000251b2010000000100000000000000000000000000', ['P2SH,CHECKSEQUENCEVERIFY', 'P2SH,UTXO_AFTER_GENESIS,CHECKSEQUENCEVERIFY']],
1206
+ [
1207
+ [
1208
+ [
1209
+ '0000000000000000000000000000000000000000000000000000000000000100',
1210
+ 0,
1211
+ '1'
1212
+ ]
1213
+ ],
1214
+ '02000000010001000000000000000000000000000000000000000000000000000000000000000000000251b2010000000100000000000000000000000000',
1215
+ ['P2SH,CHECKSEQUENCEVERIFY', 'P2SH,UTXO_AFTER_GENESIS,CHECKSEQUENCEVERIFY']
1216
+ ],
332
1217
 
333
1218
  ['Valid CHECKSEQUENCEVERIFY in redeemScript'],
334
- [[['0000000000000000000000000000000000000000000000000000000000000100', 0, 'HASH160 0x14 0x7c17aff532f22beb54069942f9bf567a66133eaf EQUAL']],
335
- '0200000001000100000000000000000000000000000000000000000000000000000000000000000000030251b2010000000100000000000000000000000000', ['P2SH,CHECKSEQUENCEVERIFY', 'P2SH,UTXO_AFTER_GENESIS,CHECKSEQUENCEVERIFY']],
1219
+ [
1220
+ [
1221
+ [
1222
+ '0000000000000000000000000000000000000000000000000000000000000100',
1223
+ 0,
1224
+ 'HASH160 0x14 0x7c17aff532f22beb54069942f9bf567a66133eaf EQUAL'
1225
+ ]
1226
+ ],
1227
+ '0200000001000100000000000000000000000000000000000000000000000000000000000000000000030251b2010000000100000000000000000000000000',
1228
+ ['P2SH,CHECKSEQUENCEVERIFY', 'P2SH,UTXO_AFTER_GENESIS,CHECKSEQUENCEVERIFY']
1229
+ ],
336
1230
 
337
1231
  ['Unknown version witness program with empty witness'],
338
- [[['0000000000000000000000000000000000000000000000000000000000000100', 0, '0x60 0x14 0x4c9c3dfac4207d5d8cb89df5722cb3d712385e3f', 1000]],
339
- '010000000100010000000000000000000000000000000000000000000000000000000000000000000000ffffffff01e803000000000000015100000000', ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']],
1232
+ [
1233
+ [
1234
+ [
1235
+ '0000000000000000000000000000000000000000000000000000000000000100',
1236
+ 0,
1237
+ '0x60 0x14 0x4c9c3dfac4207d5d8cb89df5722cb3d712385e3f',
1238
+ 1000
1239
+ ]
1240
+ ],
1241
+ '010000000100010000000000000000000000000000000000000000000000000000000000000000000000ffffffff01e803000000000000015100000000',
1242
+ ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']
1243
+ ],
340
1244
 
341
1245
  ["Non witness Single|AnyoneCanPay hash input's position"],
342
- [[['0000000000000000000000000000000000000000000000000000000000000100', 0, '0x21 0x03596d3451025c19dbbdeb932d6bf8bfb4ad499b95b6f88db8899efac102e5fc71 CHECKSIG', 1000],
343
- ['0000000000000000000000000000000000000000000000000000000000000100', 1, '0x21 0x03596d3451025c19dbbdeb932d6bf8bfb4ad499b95b6f88db8899efac102e5fc71 CHECKSIG', 1001]],
344
- '01000000020001000000000000000000000000000000000000000000000000000000000000000000004847304402202a0b4b1294d70540235ae033d78e64b4897ec859c7b6f1b2b1d8a02e1d46006702201445e756d2254b0f1dfda9ab8e1e1bc26df9668077403204f32d16a49a36eb6983ffffffff00010000000000000000000000000000000000000000000000000000000000000100000049483045022100acb96cfdbda6dc94b489fd06f2d720983b5f350e31ba906cdbd800773e80b21c02200d74ea5bdf114212b4bbe9ed82c36d2e369e302dff57cb60d01c428f0bd3daab83ffffffff02e8030000000000000151e903000000000000015100000000', ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']],
1246
+ [
1247
+ [
1248
+ [
1249
+ '0000000000000000000000000000000000000000000000000000000000000100',
1250
+ 0,
1251
+ '0x21 0x03596d3451025c19dbbdeb932d6bf8bfb4ad499b95b6f88db8899efac102e5fc71 CHECKSIG',
1252
+ 1000
1253
+ ],
1254
+ [
1255
+ '0000000000000000000000000000000000000000000000000000000000000100',
1256
+ 1,
1257
+ '0x21 0x03596d3451025c19dbbdeb932d6bf8bfb4ad499b95b6f88db8899efac102e5fc71 CHECKSIG',
1258
+ 1001
1259
+ ]
1260
+ ],
1261
+ '01000000020001000000000000000000000000000000000000000000000000000000000000000000004847304402202a0b4b1294d70540235ae033d78e64b4897ec859c7b6f1b2b1d8a02e1d46006702201445e756d2254b0f1dfda9ab8e1e1bc26df9668077403204f32d16a49a36eb6983ffffffff00010000000000000000000000000000000000000000000000000000000000000100000049483045022100acb96cfdbda6dc94b489fd06f2d720983b5f350e31ba906cdbd800773e80b21c02200d74ea5bdf114212b4bbe9ed82c36d2e369e302dff57cb60d01c428f0bd3daab83ffffffff02e8030000000000000151e903000000000000015100000000',
1262
+ ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']
1263
+ ],
345
1264
 
346
1265
  ['FindAndDelete tests'],
347
- ['This is a test of FindAndDelete. The first tx is a spend of normal P2SH and the second tx is a spend of bare P2WSH.'],
348
- ['The redeemScript/witnessScript is CHECKSIGVERIFY <0x30450220487fb382c4974de3f7d834c1b617fe15860828c7f96454490edd6d891556dcc9022100baf95feb48f845d5bfc9882eb6aeefa1bc3790e39f59eaa46ff7f15ae626c53e01>.'],
349
- ['The signature is <0x30450220487fb382c4974de3f7d834c1b617fe15860828c7f96454490edd6d891556dcc9022100baf95feb48f845d5bfc9882eb6aeefa1bc3790e39f59eaa46ff7f15ae626c53e01> <pubkey>,'],
350
- ['where the pubkey is obtained through key recovery with sig and correct sighash.'],
1266
+ [
1267
+ 'This is a test of FindAndDelete. The first tx is a spend of normal P2SH and the second tx is a spend of bare P2WSH.'
1268
+ ],
1269
+ [
1270
+ 'The redeemScript/witnessScript is CHECKSIGVERIFY <0x30450220487fb382c4974de3f7d834c1b617fe15860828c7f96454490edd6d891556dcc9022100baf95feb48f845d5bfc9882eb6aeefa1bc3790e39f59eaa46ff7f15ae626c53e01>.'
1271
+ ],
1272
+ [
1273
+ 'The signature is <0x30450220487fb382c4974de3f7d834c1b617fe15860828c7f96454490edd6d891556dcc9022100baf95feb48f845d5bfc9882eb6aeefa1bc3790e39f59eaa46ff7f15ae626c53e01> <pubkey>,'
1274
+ ],
1275
+ [
1276
+ 'where the pubkey is obtained through key recovery with sig and correct sighash.'
1277
+ ],
351
1278
  ['This is to show that FindAndDelete is applied only to non-segwit scripts'],
352
- ['Non-segwit: correct sighash (with FindAndDelete) = 1ba1fe3bc90c5d1265460e684ce6774e324f0fabdf67619eda729e64e8b6bc08'],
353
- [[['f18783ace138abac5d3a7a5cf08e88fe6912f267ef936452e0c27d090621c169', 7000, 'HASH160 0x14 0x0c746489e2d83cdbb5b90b432773342ba809c134 EQUAL', 200000]],
354
- '010000000169c12106097dc2e0526493ef67f21269fe888ef05c7a3a5dacab38e1ac8387f1581b0000b64830450220487fb382c4974de3f7d834c1b617fe15860828c7f96454490edd6d891556dcc9022100baf95feb48f845d5bfc9882eb6aeefa1bc3790e39f59eaa46ff7f15ae626c53e0121037a3fb04bcdb09eba90f69961ba1692a3528e45e67c85b200df820212d7594d334aad4830450220487fb382c4974de3f7d834c1b617fe15860828c7f96454490edd6d891556dcc9022100baf95feb48f845d5bfc9882eb6aeefa1bc3790e39f59eaa46ff7f15ae626c53e01ffffffff0101000000000000000000000000', ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']],
1279
+ [
1280
+ 'Non-segwit: correct sighash (with FindAndDelete) = 1ba1fe3bc90c5d1265460e684ce6774e324f0fabdf67619eda729e64e8b6bc08'
1281
+ ],
1282
+ [
1283
+ [
1284
+ [
1285
+ 'f18783ace138abac5d3a7a5cf08e88fe6912f267ef936452e0c27d090621c169',
1286
+ 7000,
1287
+ 'HASH160 0x14 0x0c746489e2d83cdbb5b90b432773342ba809c134 EQUAL',
1288
+ 200000
1289
+ ]
1290
+ ],
1291
+ '010000000169c12106097dc2e0526493ef67f21269fe888ef05c7a3a5dacab38e1ac8387f1581b0000b64830450220487fb382c4974de3f7d834c1b617fe15860828c7f96454490edd6d891556dcc9022100baf95feb48f845d5bfc9882eb6aeefa1bc3790e39f59eaa46ff7f15ae626c53e0121037a3fb04bcdb09eba90f69961ba1692a3528e45e67c85b200df820212d7594d334aad4830450220487fb382c4974de3f7d834c1b617fe15860828c7f96454490edd6d891556dcc9022100baf95feb48f845d5bfc9882eb6aeefa1bc3790e39f59eaa46ff7f15ae626c53e01ffffffff0101000000000000000000000000',
1292
+ ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']
1293
+ ],
355
1294
  ['This is multisig version of the FindAndDelete tests'],
356
1295
  ['Script is 2 CHECKMULTISIGVERIFY <sig1> <sig2> DROP'],
357
- ['52af4830450220487fb382c4974de3f7d834c1b617fe15860828c7f96454490edd6d891556dcc9022100baf95feb48f845d5bfc9882eb6aeefa1bc3790e39f59eaa46ff7f15ae626c53e0148304502205286f726690b2e9b0207f0345711e63fa7012045b9eb0f19c2458ce1db90cf43022100e89f17f86abc5b149eba4115d4f128bcf45d77fb3ecdd34f594091340c0395960175'],
1296
+ [
1297
+ '52af4830450220487fb382c4974de3f7d834c1b617fe15860828c7f96454490edd6d891556dcc9022100baf95feb48f845d5bfc9882eb6aeefa1bc3790e39f59eaa46ff7f15ae626c53e0148304502205286f726690b2e9b0207f0345711e63fa7012045b9eb0f19c2458ce1db90cf43022100e89f17f86abc5b149eba4115d4f128bcf45d77fb3ecdd34f594091340c0395960175'
1298
+ ],
358
1299
  ['Signature is 0 <sig1> <sig2> 2 <key1> <key2>'],
359
- ['Non-segwit: correct sighash (with FindAndDelete) = 1d50f00ba4db2917b903b0ec5002e017343bb38876398c9510570f5dce099295'],
360
- [[['9628667ad48219a169b41b020800162287d2c0f713c04157e95c484a8dcb7592', 7000, 'HASH160 0x14 0x5748407f5ca5cdca53ba30b79040260770c9ee1b EQUAL', 200000]],
361
- '01000000019275cb8d4a485ce95741c013f7c0d28722160008021bb469a11982d47a662896581b0000fd6f01004830450220487fb382c4974de3f7d834c1b617fe15860828c7f96454490edd6d891556dcc9022100baf95feb48f845d5bfc9882eb6aeefa1bc3790e39f59eaa46ff7f15ae626c53e0148304502205286f726690b2e9b0207f0345711e63fa7012045b9eb0f19c2458ce1db90cf43022100e89f17f86abc5b149eba4115d4f128bcf45d77fb3ecdd34f594091340c03959601522102cd74a2809ffeeed0092bc124fd79836706e41f048db3f6ae9df8708cefb83a1c2102e615999372426e46fd107b76eaf007156a507584aa2cc21de9eee3bdbd26d36c4c9552af4830450220487fb382c4974de3f7d834c1b617fe15860828c7f96454490edd6d891556dcc9022100baf95feb48f845d5bfc9882eb6aeefa1bc3790e39f59eaa46ff7f15ae626c53e0148304502205286f726690b2e9b0207f0345711e63fa7012045b9eb0f19c2458ce1db90cf43022100e89f17f86abc5b149eba4115d4f128bcf45d77fb3ecdd34f594091340c0395960175ffffffff0101000000000000000000000000', ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']],
1300
+ [
1301
+ 'Non-segwit: correct sighash (with FindAndDelete) = 1d50f00ba4db2917b903b0ec5002e017343bb38876398c9510570f5dce099295'
1302
+ ],
1303
+ [
1304
+ [
1305
+ [
1306
+ '9628667ad48219a169b41b020800162287d2c0f713c04157e95c484a8dcb7592',
1307
+ 7000,
1308
+ 'HASH160 0x14 0x5748407f5ca5cdca53ba30b79040260770c9ee1b EQUAL',
1309
+ 200000
1310
+ ]
1311
+ ],
1312
+ '01000000019275cb8d4a485ce95741c013f7c0d28722160008021bb469a11982d47a662896581b0000fd6f01004830450220487fb382c4974de3f7d834c1b617fe15860828c7f96454490edd6d891556dcc9022100baf95feb48f845d5bfc9882eb6aeefa1bc3790e39f59eaa46ff7f15ae626c53e0148304502205286f726690b2e9b0207f0345711e63fa7012045b9eb0f19c2458ce1db90cf43022100e89f17f86abc5b149eba4115d4f128bcf45d77fb3ecdd34f594091340c03959601522102cd74a2809ffeeed0092bc124fd79836706e41f048db3f6ae9df8708cefb83a1c2102e615999372426e46fd107b76eaf007156a507584aa2cc21de9eee3bdbd26d36c4c9552af4830450220487fb382c4974de3f7d834c1b617fe15860828c7f96454490edd6d891556dcc9022100baf95feb48f845d5bfc9882eb6aeefa1bc3790e39f59eaa46ff7f15ae626c53e0148304502205286f726690b2e9b0207f0345711e63fa7012045b9eb0f19c2458ce1db90cf43022100e89f17f86abc5b149eba4115d4f128bcf45d77fb3ecdd34f594091340c0395960175ffffffff0101000000000000000000000000',
1313
+ ['P2SH', 'P2SH,UTXO_AFTER_GENESIS']
1314
+ ],
362
1315
 
363
1316
  ['Make diffs cleaner by leaving a comment here without comma at the end']
364
1317
  ]