@bsv/sdk 1.3.12 → 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 (607) hide show
  1. package/dist/cjs/package.json +15 -3
  2. package/dist/cjs/src/auth/Peer.js +83 -57
  3. package/dist/cjs/src/auth/Peer.js.map +1 -1
  4. package/dist/cjs/src/auth/SessionManager.js +14 -9
  5. package/dist/cjs/src/auth/SessionManager.js.map +1 -1
  6. package/dist/cjs/src/auth/certificates/Certificate.js +16 -10
  7. package/dist/cjs/src/auth/certificates/Certificate.js.map +1 -1
  8. package/dist/cjs/src/auth/certificates/MasterCertificate.js +25 -23
  9. package/dist/cjs/src/auth/certificates/MasterCertificate.js.map +1 -1
  10. package/dist/cjs/src/auth/certificates/VerifiableCertificate.js +2 -2
  11. package/dist/cjs/src/auth/certificates/VerifiableCertificate.js.map +1 -1
  12. package/dist/cjs/src/auth/certificates/__tests/CompletedProtoWallet.js +62 -46
  13. package/dist/cjs/src/auth/certificates/__tests/CompletedProtoWallet.js.map +1 -1
  14. package/dist/cjs/src/auth/clients/AuthFetch.js +1 -0
  15. package/dist/cjs/src/auth/clients/AuthFetch.js.map +1 -1
  16. package/dist/cjs/src/auth/transports/SimplifiedFetchTransport.js +70 -43
  17. package/dist/cjs/src/auth/transports/SimplifiedFetchTransport.js.map +1 -1
  18. package/dist/cjs/src/auth/utils/createNonce.js +2 -1
  19. package/dist/cjs/src/auth/utils/createNonce.js.map +1 -1
  20. package/dist/cjs/src/auth/utils/getVerifiableCertificates.js.map +1 -1
  21. package/dist/cjs/src/auth/utils/validateCertificates.js +5 -2
  22. package/dist/cjs/src/auth/utils/validateCertificates.js.map +1 -1
  23. package/dist/cjs/src/auth/utils/verifyNonce.js +2 -1
  24. package/dist/cjs/src/auth/utils/verifyNonce.js.map +1 -1
  25. package/dist/cjs/src/compat/BSM.js +7 -17
  26. package/dist/cjs/src/compat/BSM.js.map +1 -1
  27. package/dist/cjs/src/compat/ECIES.js +172 -133
  28. package/dist/cjs/src/compat/ECIES.js.map +1 -1
  29. package/dist/cjs/src/compat/HD.js +63 -73
  30. package/dist/cjs/src/compat/HD.js.map +1 -1
  31. package/dist/cjs/src/compat/Mnemonic.js +102 -106
  32. package/dist/cjs/src/compat/Mnemonic.js.map +1 -1
  33. package/dist/cjs/src/compat/Utxo.js +2 -2
  34. package/dist/cjs/src/compat/Utxo.js.map +1 -1
  35. package/dist/cjs/src/compat/index.js +7 -17
  36. package/dist/cjs/src/compat/index.js.map +1 -1
  37. package/dist/cjs/src/messages/EncryptedMessage.js +3 -1
  38. package/dist/cjs/src/messages/EncryptedMessage.js.map +1 -1
  39. package/dist/cjs/src/messages/SignedMessage.js +1 -0
  40. package/dist/cjs/src/messages/SignedMessage.js.map +1 -1
  41. package/dist/cjs/src/messages/index.js +7 -17
  42. package/dist/cjs/src/messages/index.js.map +1 -1
  43. package/dist/cjs/src/overlay-tools/LookupResolver.js +54 -35
  44. package/dist/cjs/src/overlay-tools/LookupResolver.js.map +1 -1
  45. package/dist/cjs/src/overlay-tools/OverlayAdminTokenTemplate.js +32 -20
  46. package/dist/cjs/src/overlay-tools/OverlayAdminTokenTemplate.js.map +1 -1
  47. package/dist/cjs/src/overlay-tools/SHIPBroadcaster.js +40 -28
  48. package/dist/cjs/src/overlay-tools/SHIPBroadcaster.js.map +1 -1
  49. package/dist/cjs/src/primitives/AESGCM.js +6 -5
  50. package/dist/cjs/src/primitives/AESGCM.js.map +1 -1
  51. package/dist/cjs/src/primitives/BasePoint.js +1 -1
  52. package/dist/cjs/src/primitives/BasePoint.js.map +1 -1
  53. package/dist/cjs/src/primitives/BigNumber.js +50 -62
  54. package/dist/cjs/src/primitives/BigNumber.js.map +1 -1
  55. package/dist/cjs/src/primitives/Curve.js +46 -22
  56. package/dist/cjs/src/primitives/Curve.js.map +1 -1
  57. package/dist/cjs/src/primitives/DRBG.js +2 -8
  58. package/dist/cjs/src/primitives/DRBG.js.map +1 -1
  59. package/dist/cjs/src/primitives/ECDSA.js +51 -35
  60. package/dist/cjs/src/primitives/ECDSA.js.map +1 -1
  61. package/dist/cjs/src/primitives/Hash.js +191 -216
  62. package/dist/cjs/src/primitives/Hash.js.map +1 -1
  63. package/dist/cjs/src/primitives/JacobianPoint.js +19 -5
  64. package/dist/cjs/src/primitives/JacobianPoint.js.map +1 -1
  65. package/dist/cjs/src/primitives/K256.js.map +1 -1
  66. package/dist/cjs/src/primitives/Mersenne.js.map +1 -1
  67. package/dist/cjs/src/primitives/MontgomoryMethod.js.map +1 -1
  68. package/dist/cjs/src/primitives/Point.js +117 -88
  69. package/dist/cjs/src/primitives/Point.js.map +1 -1
  70. package/dist/cjs/src/primitives/Polynomial.js +4 -2
  71. package/dist/cjs/src/primitives/Polynomial.js.map +1 -1
  72. package/dist/cjs/src/primitives/PrivateKey.js +32 -33
  73. package/dist/cjs/src/primitives/PrivateKey.js.map +1 -1
  74. package/dist/cjs/src/primitives/PublicKey.js.map +1 -1
  75. package/dist/cjs/src/primitives/Random.js +6 -5
  76. package/dist/cjs/src/primitives/Random.js.map +1 -1
  77. package/dist/cjs/src/primitives/ReductionContext.js +1 -1
  78. package/dist/cjs/src/primitives/ReductionContext.js.map +1 -1
  79. package/dist/cjs/src/primitives/Schnorr.js +21 -15
  80. package/dist/cjs/src/primitives/Schnorr.js.map +1 -1
  81. package/dist/cjs/src/primitives/Signature.js +8 -7
  82. package/dist/cjs/src/primitives/Signature.js.map +1 -1
  83. package/dist/cjs/src/primitives/SymmetricKey.js +13 -13
  84. package/dist/cjs/src/primitives/SymmetricKey.js.map +1 -1
  85. package/dist/cjs/src/primitives/TransactionSignature.js +31 -29
  86. package/dist/cjs/src/primitives/TransactionSignature.js.map +1 -1
  87. package/dist/cjs/src/primitives/index.js +7 -17
  88. package/dist/cjs/src/primitives/index.js.map +1 -1
  89. package/dist/cjs/src/primitives/utils.js +79 -68
  90. package/dist/cjs/src/primitives/utils.js.map +1 -1
  91. package/dist/cjs/src/script/OP.js +3 -3
  92. package/dist/cjs/src/script/OP.js.map +1 -1
  93. package/dist/cjs/src/script/Script.js +12 -10
  94. package/dist/cjs/src/script/Script.js.map +1 -1
  95. package/dist/cjs/src/script/Spend.js +47 -49
  96. package/dist/cjs/src/script/Spend.js.map +1 -1
  97. package/dist/cjs/src/script/templates/P2PKH.js +24 -12
  98. package/dist/cjs/src/script/templates/P2PKH.js.map +1 -1
  99. package/dist/cjs/src/script/templates/PushDrop.js +28 -23
  100. package/dist/cjs/src/script/templates/PushDrop.js.map +1 -1
  101. package/dist/cjs/src/script/templates/RPuzzle.js +10 -6
  102. package/dist/cjs/src/script/templates/RPuzzle.js.map +1 -1
  103. package/dist/cjs/src/totp/totp.js +2 -1
  104. package/dist/cjs/src/totp/totp.js.map +1 -1
  105. package/dist/cjs/src/transaction/Beef.js +177 -154
  106. package/dist/cjs/src/transaction/Beef.js.map +1 -1
  107. package/dist/cjs/src/transaction/BeefParty.js +24 -24
  108. package/dist/cjs/src/transaction/BeefParty.js.map +1 -1
  109. package/dist/cjs/src/transaction/BeefTx.js +26 -18
  110. package/dist/cjs/src/transaction/BeefTx.js.map +1 -1
  111. package/dist/cjs/src/transaction/Broadcaster.js +3 -2
  112. package/dist/cjs/src/transaction/Broadcaster.js.map +1 -1
  113. package/dist/cjs/src/transaction/MerklePath.js +64 -37
  114. package/dist/cjs/src/transaction/MerklePath.js.map +1 -1
  115. package/dist/cjs/src/transaction/Transaction.js +111 -137
  116. package/dist/cjs/src/transaction/Transaction.js.map +1 -1
  117. package/dist/cjs/src/transaction/broadcasters/ARC.js +25 -16
  118. package/dist/cjs/src/transaction/broadcasters/ARC.js.map +1 -1
  119. package/dist/cjs/src/transaction/broadcasters/DefaultBroadcaster.js +2 -1
  120. package/dist/cjs/src/transaction/broadcasters/DefaultBroadcaster.js.map +1 -1
  121. package/dist/cjs/src/transaction/broadcasters/WhatsOnChainBroadcaster.js.map +1 -1
  122. package/dist/cjs/src/transaction/chaintrackers/DefaultChainTracker.js +2 -1
  123. package/dist/cjs/src/transaction/chaintrackers/DefaultChainTracker.js.map +1 -1
  124. package/dist/cjs/src/transaction/chaintrackers/WhatsOnChain.js +3 -3
  125. package/dist/cjs/src/transaction/chaintrackers/WhatsOnChain.js.map +1 -1
  126. package/dist/cjs/src/transaction/fee-models/SatoshisPerKilobyte.js.map +1 -1
  127. package/dist/cjs/src/transaction/http/DefaultHttpClient.js +5 -3
  128. package/dist/cjs/src/transaction/http/DefaultHttpClient.js.map +1 -1
  129. package/dist/cjs/src/transaction/http/FetchHttpClient.js +5 -2
  130. package/dist/cjs/src/transaction/http/FetchHttpClient.js.map +1 -1
  131. package/dist/cjs/src/transaction/http/NodejsHttpClient.js +5 -3
  132. package/dist/cjs/src/transaction/http/NodejsHttpClient.js.map +1 -1
  133. package/dist/cjs/src/transaction/http/index.js.map +1 -1
  134. package/dist/cjs/src/transaction/index.js.map +1 -1
  135. package/dist/cjs/src/wallet/CachedKeyDeriver.js +91 -66
  136. package/dist/cjs/src/wallet/CachedKeyDeriver.js.map +1 -1
  137. package/dist/cjs/src/wallet/KeyDeriver.js +61 -52
  138. package/dist/cjs/src/wallet/KeyDeriver.js.map +1 -1
  139. package/dist/cjs/src/wallet/ProtoWallet.js +79 -29
  140. package/dist/cjs/src/wallet/ProtoWallet.js.map +1 -1
  141. package/dist/cjs/src/wallet/WalletClient.js +7 -2
  142. package/dist/cjs/src/wallet/WalletClient.js.map +1 -1
  143. package/dist/cjs/src/wallet/WalletError.js +2 -2
  144. package/dist/cjs/src/wallet/WalletError.js.map +1 -1
  145. package/dist/cjs/src/wallet/substrates/HTTPWalletJSON.js +4 -3
  146. package/dist/cjs/src/wallet/substrates/HTTPWalletJSON.js.map +1 -1
  147. package/dist/cjs/src/wallet/substrates/HTTPWalletWire.js +2 -2
  148. package/dist/cjs/src/wallet/substrates/HTTPWalletWire.js.map +1 -1
  149. package/dist/cjs/src/wallet/substrates/WalletWireProcessor.js +1239 -1261
  150. package/dist/cjs/src/wallet/substrates/WalletWireProcessor.js.map +1 -1
  151. package/dist/cjs/src/wallet/substrates/WalletWireTransceiver.js +102 -43
  152. package/dist/cjs/src/wallet/substrates/WalletWireTransceiver.js.map +1 -1
  153. package/dist/cjs/src/wallet/substrates/XDM.js +8 -3
  154. package/dist/cjs/src/wallet/substrates/XDM.js.map +1 -1
  155. package/dist/cjs/src/wallet/substrates/window.CWI.js +28 -28
  156. package/dist/cjs/src/wallet/substrates/window.CWI.js.map +1 -1
  157. package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  158. package/dist/esm/mod.js +15 -15
  159. package/dist/esm/src/auth/Peer.js +75 -54
  160. package/dist/esm/src/auth/Peer.js.map +1 -1
  161. package/dist/esm/src/auth/SessionManager.js +14 -9
  162. package/dist/esm/src/auth/SessionManager.js.map +1 -1
  163. package/dist/esm/src/auth/certificates/Certificate.js +15 -11
  164. package/dist/esm/src/auth/certificates/Certificate.js.map +1 -1
  165. package/dist/esm/src/auth/certificates/MasterCertificate.js +25 -23
  166. package/dist/esm/src/auth/certificates/MasterCertificate.js.map +1 -1
  167. package/dist/esm/src/auth/certificates/VerifiableCertificate.js +2 -2
  168. package/dist/esm/src/auth/certificates/VerifiableCertificate.js.map +1 -1
  169. package/dist/esm/src/auth/certificates/__tests/CompletedProtoWallet.js +64 -47
  170. package/dist/esm/src/auth/certificates/__tests/CompletedProtoWallet.js.map +1 -1
  171. package/dist/esm/src/auth/clients/AuthFetch.js +1 -0
  172. package/dist/esm/src/auth/clients/AuthFetch.js.map +1 -1
  173. package/dist/esm/src/auth/transports/SimplifiedFetchTransport.js +69 -43
  174. package/dist/esm/src/auth/transports/SimplifiedFetchTransport.js.map +1 -1
  175. package/dist/esm/src/auth/utils/createNonce.js.map +1 -1
  176. package/dist/esm/src/auth/utils/getVerifiableCertificates.js +1 -1
  177. package/dist/esm/src/auth/utils/getVerifiableCertificates.js.map +1 -1
  178. package/dist/esm/src/auth/utils/validateCertificates.js +6 -3
  179. package/dist/esm/src/auth/utils/validateCertificates.js.map +1 -1
  180. package/dist/esm/src/auth/utils/verifyNonce.js.map +1 -1
  181. package/dist/esm/src/compat/BSM.js.map +1 -1
  182. package/dist/esm/src/compat/ECIES.js +165 -116
  183. package/dist/esm/src/compat/ECIES.js.map +1 -1
  184. package/dist/esm/src/compat/HD.js +56 -56
  185. package/dist/esm/src/compat/HD.js.map +1 -1
  186. package/dist/esm/src/compat/Mnemonic.js +95 -89
  187. package/dist/esm/src/compat/Mnemonic.js.map +1 -1
  188. package/dist/esm/src/compat/Utxo.js +1 -1
  189. package/dist/esm/src/compat/Utxo.js.map +1 -1
  190. package/dist/esm/src/messages/EncryptedMessage.js +3 -1
  191. package/dist/esm/src/messages/EncryptedMessage.js.map +1 -1
  192. package/dist/esm/src/messages/SignedMessage.js +1 -0
  193. package/dist/esm/src/messages/SignedMessage.js.map +1 -1
  194. package/dist/esm/src/overlay-tools/LookupResolver.js +53 -35
  195. package/dist/esm/src/overlay-tools/LookupResolver.js.map +1 -1
  196. package/dist/esm/src/overlay-tools/OverlayAdminTokenTemplate.js +32 -20
  197. package/dist/esm/src/overlay-tools/OverlayAdminTokenTemplate.js.map +1 -1
  198. package/dist/esm/src/overlay-tools/SHIPBroadcaster.js +40 -28
  199. package/dist/esm/src/overlay-tools/SHIPBroadcaster.js.map +1 -1
  200. package/dist/esm/src/primitives/AESGCM.js +1 -0
  201. package/dist/esm/src/primitives/AESGCM.js.map +1 -1
  202. package/dist/esm/src/primitives/BasePoint.js +1 -1
  203. package/dist/esm/src/primitives/BasePoint.js.map +1 -1
  204. package/dist/esm/src/primitives/BigNumber.js +50 -62
  205. package/dist/esm/src/primitives/BigNumber.js.map +1 -1
  206. package/dist/esm/src/primitives/Curve.js +45 -22
  207. package/dist/esm/src/primitives/Curve.js.map +1 -1
  208. package/dist/esm/src/primitives/DRBG.js +2 -8
  209. package/dist/esm/src/primitives/DRBG.js.map +1 -1
  210. package/dist/esm/src/primitives/ECDSA.js +50 -35
  211. package/dist/esm/src/primitives/ECDSA.js.map +1 -1
  212. package/dist/esm/src/primitives/Hash.js +188 -213
  213. package/dist/esm/src/primitives/Hash.js.map +1 -1
  214. package/dist/esm/src/primitives/JacobianPoint.js +18 -5
  215. package/dist/esm/src/primitives/JacobianPoint.js.map +1 -1
  216. package/dist/esm/src/primitives/K256.js.map +1 -1
  217. package/dist/esm/src/primitives/Mersenne.js.map +1 -1
  218. package/dist/esm/src/primitives/MontgomoryMethod.js.map +1 -1
  219. package/dist/esm/src/primitives/Point.js +107 -88
  220. package/dist/esm/src/primitives/Point.js.map +1 -1
  221. package/dist/esm/src/primitives/Polynomial.js +4 -2
  222. package/dist/esm/src/primitives/Polynomial.js.map +1 -1
  223. package/dist/esm/src/primitives/PrivateKey.js +25 -16
  224. package/dist/esm/src/primitives/PrivateKey.js.map +1 -1
  225. package/dist/esm/src/primitives/PublicKey.js.map +1 -1
  226. package/dist/esm/src/primitives/Random.js +7 -6
  227. package/dist/esm/src/primitives/Random.js.map +1 -1
  228. package/dist/esm/src/primitives/ReductionContext.js +1 -1
  229. package/dist/esm/src/primitives/ReductionContext.js.map +1 -1
  230. package/dist/esm/src/primitives/Schnorr.js +21 -15
  231. package/dist/esm/src/primitives/Schnorr.js.map +1 -1
  232. package/dist/esm/src/primitives/Signature.js +8 -7
  233. package/dist/esm/src/primitives/Signature.js.map +1 -1
  234. package/dist/esm/src/primitives/SymmetricKey.js +13 -13
  235. package/dist/esm/src/primitives/SymmetricKey.js.map +1 -1
  236. package/dist/esm/src/primitives/TransactionSignature.js +22 -12
  237. package/dist/esm/src/primitives/TransactionSignature.js.map +1 -1
  238. package/dist/esm/src/primitives/utils.js +76 -66
  239. package/dist/esm/src/primitives/utils.js.map +1 -1
  240. package/dist/esm/src/script/OP.js +3 -3
  241. package/dist/esm/src/script/OP.js.map +1 -1
  242. package/dist/esm/src/script/Script.js +12 -10
  243. package/dist/esm/src/script/Script.js.map +1 -1
  244. package/dist/esm/src/script/Spend.js +39 -32
  245. package/dist/esm/src/script/Spend.js.map +1 -1
  246. package/dist/esm/src/script/templates/P2PKH.js +26 -11
  247. package/dist/esm/src/script/templates/P2PKH.js.map +1 -1
  248. package/dist/esm/src/script/templates/PushDrop.js +29 -22
  249. package/dist/esm/src/script/templates/PushDrop.js.map +1 -1
  250. package/dist/esm/src/script/templates/RPuzzle.js +11 -6
  251. package/dist/esm/src/script/templates/RPuzzle.js.map +1 -1
  252. package/dist/esm/src/totp/totp.js +2 -1
  253. package/dist/esm/src/totp/totp.js.map +1 -1
  254. package/dist/esm/src/transaction/Beef.js +176 -154
  255. package/dist/esm/src/transaction/Beef.js.map +1 -1
  256. package/dist/esm/src/transaction/BeefParty.js +24 -24
  257. package/dist/esm/src/transaction/BeefParty.js.map +1 -1
  258. package/dist/esm/src/transaction/BeefTx.js +26 -18
  259. package/dist/esm/src/transaction/BeefTx.js.map +1 -1
  260. package/dist/esm/src/transaction/Broadcaster.js.map +1 -1
  261. package/dist/esm/src/transaction/MerklePath.js +61 -36
  262. package/dist/esm/src/transaction/MerklePath.js.map +1 -1
  263. package/dist/esm/src/transaction/Transaction.js +105 -138
  264. package/dist/esm/src/transaction/Transaction.js.map +1 -1
  265. package/dist/esm/src/transaction/broadcasters/ARC.js +25 -16
  266. package/dist/esm/src/transaction/broadcasters/ARC.js.map +1 -1
  267. package/dist/esm/src/transaction/broadcasters/DefaultBroadcaster.js.map +1 -1
  268. package/dist/esm/src/transaction/broadcasters/WhatsOnChainBroadcaster.js.map +1 -1
  269. package/dist/esm/src/transaction/chaintrackers/WhatsOnChain.js +3 -3
  270. package/dist/esm/src/transaction/chaintrackers/WhatsOnChain.js.map +1 -1
  271. package/dist/esm/src/transaction/fee-models/SatoshisPerKilobyte.js.map +1 -1
  272. package/dist/esm/src/transaction/http/DefaultHttpClient.js +3 -2
  273. package/dist/esm/src/transaction/http/DefaultHttpClient.js.map +1 -1
  274. package/dist/esm/src/transaction/http/FetchHttpClient.js +4 -2
  275. package/dist/esm/src/transaction/http/FetchHttpClient.js.map +1 -1
  276. package/dist/esm/src/transaction/http/NodejsHttpClient.js +5 -3
  277. package/dist/esm/src/transaction/http/NodejsHttpClient.js.map +1 -1
  278. package/dist/esm/src/transaction/http/index.js.map +1 -1
  279. package/dist/esm/src/transaction/index.js.map +1 -1
  280. package/dist/esm/src/wallet/CachedKeyDeriver.js +91 -66
  281. package/dist/esm/src/wallet/CachedKeyDeriver.js.map +1 -1
  282. package/dist/esm/src/wallet/KeyDeriver.js +60 -52
  283. package/dist/esm/src/wallet/KeyDeriver.js.map +1 -1
  284. package/dist/esm/src/wallet/ProtoWallet.js +75 -29
  285. package/dist/esm/src/wallet/ProtoWallet.js.map +1 -1
  286. package/dist/esm/src/wallet/WalletClient.js +7 -2
  287. package/dist/esm/src/wallet/WalletClient.js.map +1 -1
  288. package/dist/esm/src/wallet/WalletError.js +2 -2
  289. package/dist/esm/src/wallet/WalletError.js.map +1 -1
  290. package/dist/esm/src/wallet/substrates/HTTPWalletJSON.js +4 -4
  291. package/dist/esm/src/wallet/substrates/HTTPWalletJSON.js.map +1 -1
  292. package/dist/esm/src/wallet/substrates/HTTPWalletWire.js +2 -2
  293. package/dist/esm/src/wallet/substrates/HTTPWalletWire.js.map +1 -1
  294. package/dist/esm/src/wallet/substrates/WalletWireProcessor.js +1239 -1261
  295. package/dist/esm/src/wallet/substrates/WalletWireProcessor.js.map +1 -1
  296. package/dist/esm/src/wallet/substrates/WalletWireTransceiver.js +95 -43
  297. package/dist/esm/src/wallet/substrates/WalletWireTransceiver.js.map +1 -1
  298. package/dist/esm/src/wallet/substrates/XDM.js +8 -3
  299. package/dist/esm/src/wallet/substrates/XDM.js.map +1 -1
  300. package/dist/esm/src/wallet/substrates/window.CWI.js +28 -28
  301. package/dist/esm/src/wallet/substrates/window.CWI.js.map +1 -1
  302. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
  303. package/dist/types/mod.d.ts +15 -15
  304. package/dist/types/src/auth/Peer.d.ts +10 -10
  305. package/dist/types/src/auth/Peer.d.ts.map +1 -1
  306. package/dist/types/src/auth/SessionManager.d.ts +4 -4
  307. package/dist/types/src/auth/SessionManager.d.ts.map +1 -1
  308. package/dist/types/src/auth/certificates/Certificate.d.ts +6 -6
  309. package/dist/types/src/auth/certificates/Certificate.d.ts.map +1 -1
  310. package/dist/types/src/auth/certificates/MasterCertificate.d.ts +5 -5
  311. package/dist/types/src/auth/certificates/MasterCertificate.d.ts.map +1 -1
  312. package/dist/types/src/auth/certificates/VerifiableCertificate.d.ts.map +1 -1
  313. package/dist/types/src/auth/certificates/__tests/CompletedProtoWallet.d.ts +23 -22
  314. package/dist/types/src/auth/certificates/__tests/CompletedProtoWallet.d.ts.map +1 -1
  315. package/dist/types/src/auth/clients/AuthFetch.d.ts.map +1 -1
  316. package/dist/types/src/auth/transports/SimplifiedFetchTransport.d.ts +1 -1
  317. package/dist/types/src/auth/transports/SimplifiedFetchTransport.d.ts.map +1 -1
  318. package/dist/types/src/auth/utils/createNonce.d.ts.map +1 -1
  319. package/dist/types/src/auth/utils/getVerifiableCertificates.d.ts +3 -3
  320. package/dist/types/src/auth/utils/getVerifiableCertificates.d.ts.map +1 -1
  321. package/dist/types/src/auth/utils/validateCertificates.d.ts +2 -2
  322. package/dist/types/src/auth/utils/validateCertificates.d.ts.map +1 -1
  323. package/dist/types/src/auth/utils/verifyNonce.d.ts +1 -1
  324. package/dist/types/src/auth/utils/verifyNonce.d.ts.map +1 -1
  325. package/dist/types/src/compat/BSM.d.ts +1 -1
  326. package/dist/types/src/compat/BSM.d.ts.map +1 -1
  327. package/dist/types/src/compat/ECIES.d.ts +36 -36
  328. package/dist/types/src/compat/ECIES.d.ts.map +1 -1
  329. package/dist/types/src/compat/HD.d.ts +51 -51
  330. package/dist/types/src/compat/HD.d.ts.map +1 -1
  331. package/dist/types/src/compat/Mnemonic.d.ts +79 -79
  332. package/dist/types/src/compat/Mnemonic.d.ts.map +1 -1
  333. package/dist/types/src/compat/Utxo.d.ts.map +1 -1
  334. package/dist/types/src/messages/EncryptedMessage.d.ts.map +1 -1
  335. package/dist/types/src/messages/SignedMessage.d.ts.map +1 -1
  336. package/dist/types/src/overlay-tools/LookupResolver.d.ts +9 -9
  337. package/dist/types/src/overlay-tools/LookupResolver.d.ts.map +1 -1
  338. package/dist/types/src/overlay-tools/OverlayAdminTokenTemplate.d.ts +17 -17
  339. package/dist/types/src/overlay-tools/OverlayAdminTokenTemplate.d.ts.map +1 -1
  340. package/dist/types/src/overlay-tools/SHIPBroadcaster.d.ts +14 -14
  341. package/dist/types/src/overlay-tools/SHIPBroadcaster.d.ts.map +1 -1
  342. package/dist/types/src/primitives/AESGCM.d.ts.map +1 -1
  343. package/dist/types/src/primitives/BasePoint.d.ts +8 -8
  344. package/dist/types/src/primitives/BasePoint.d.ts.map +1 -1
  345. package/dist/types/src/primitives/BigNumber.d.ts.map +1 -1
  346. package/dist/types/src/primitives/Curve.d.ts +14 -7
  347. package/dist/types/src/primitives/Curve.d.ts.map +1 -1
  348. package/dist/types/src/primitives/DRBG.d.ts.map +1 -1
  349. package/dist/types/src/primitives/ECDSA.d.ts +1 -1
  350. package/dist/types/src/primitives/ECDSA.d.ts.map +1 -1
  351. package/dist/types/src/primitives/Hash.d.ts +11 -11
  352. package/dist/types/src/primitives/Hash.d.ts.map +1 -1
  353. package/dist/types/src/primitives/JacobianPoint.d.ts.map +1 -1
  354. package/dist/types/src/primitives/Point.d.ts +14 -10
  355. package/dist/types/src/primitives/Point.d.ts.map +1 -1
  356. package/dist/types/src/primitives/Polynomial.d.ts.map +1 -1
  357. package/dist/types/src/primitives/PrivateKey.d.ts +2 -2
  358. package/dist/types/src/primitives/PrivateKey.d.ts.map +1 -1
  359. package/dist/types/src/primitives/PublicKey.d.ts.map +1 -1
  360. package/dist/types/src/primitives/Random.d.ts.map +1 -1
  361. package/dist/types/src/primitives/Schnorr.d.ts +14 -14
  362. package/dist/types/src/primitives/Schnorr.d.ts.map +1 -1
  363. package/dist/types/src/primitives/Signature.d.ts +1 -1
  364. package/dist/types/src/primitives/Signature.d.ts.map +1 -1
  365. package/dist/types/src/primitives/SymmetricKey.d.ts +13 -13
  366. package/dist/types/src/primitives/SymmetricKey.d.ts.map +1 -1
  367. package/dist/types/src/primitives/TransactionSignature.d.ts +4 -4
  368. package/dist/types/src/primitives/TransactionSignature.d.ts.map +1 -1
  369. package/dist/types/src/primitives/utils.d.ts +3 -6
  370. package/dist/types/src/primitives/utils.d.ts.map +1 -1
  371. package/dist/types/src/script/Script.d.ts +3 -3
  372. package/dist/types/src/script/Script.d.ts.map +1 -1
  373. package/dist/types/src/script/ScriptTemplate.d.ts +2 -2
  374. package/dist/types/src/script/ScriptTemplate.d.ts.map +1 -1
  375. package/dist/types/src/script/Spend.d.ts.map +1 -1
  376. package/dist/types/src/script/templates/P2PKH.d.ts.map +1 -1
  377. package/dist/types/src/script/templates/PushDrop.d.ts +1 -2
  378. package/dist/types/src/script/templates/PushDrop.d.ts.map +1 -1
  379. package/dist/types/src/script/templates/RPuzzle.d.ts.map +1 -1
  380. package/dist/types/src/totp/totp.d.ts.map +1 -1
  381. package/dist/types/src/transaction/Beef.d.ts +96 -96
  382. package/dist/types/src/transaction/Beef.d.ts.map +1 -1
  383. package/dist/types/src/transaction/BeefParty.d.ts +22 -22
  384. package/dist/types/src/transaction/BeefParty.d.ts.map +1 -1
  385. package/dist/types/src/transaction/BeefTx.d.ts +5 -5
  386. package/dist/types/src/transaction/BeefTx.d.ts.map +1 -1
  387. package/dist/types/src/transaction/Broadcaster.d.ts.map +1 -1
  388. package/dist/types/src/transaction/ChainTracker.d.ts +2 -2
  389. package/dist/types/src/transaction/FeeModel.d.ts.map +1 -1
  390. package/dist/types/src/transaction/MerklePath.d.ts.map +1 -1
  391. package/dist/types/src/transaction/Transaction.d.ts +4 -12
  392. package/dist/types/src/transaction/Transaction.d.ts.map +1 -1
  393. package/dist/types/src/transaction/TransactionOutput.d.ts.map +1 -1
  394. package/dist/types/src/transaction/broadcasters/ARC.d.ts +1 -1
  395. package/dist/types/src/transaction/broadcasters/ARC.d.ts.map +1 -1
  396. package/dist/types/src/transaction/broadcasters/DefaultBroadcaster.d.ts.map +1 -1
  397. package/dist/types/src/transaction/broadcasters/WhatsOnChainBroadcaster.d.ts.map +1 -1
  398. package/dist/types/src/transaction/chaintrackers/DefaultChainTracker.d.ts.map +1 -1
  399. package/dist/types/src/transaction/chaintrackers/WhatsOnChain.d.ts.map +1 -1
  400. package/dist/types/src/transaction/fee-models/SatoshisPerKilobyte.d.ts.map +1 -1
  401. package/dist/types/src/transaction/http/DefaultHttpClient.d.ts +1 -1
  402. package/dist/types/src/transaction/http/DefaultHttpClient.d.ts.map +1 -1
  403. package/dist/types/src/transaction/http/FetchHttpClient.d.ts +5 -5
  404. package/dist/types/src/transaction/http/FetchHttpClient.d.ts.map +1 -1
  405. package/dist/types/src/transaction/http/HttpClient.d.ts +4 -4
  406. package/dist/types/src/transaction/http/HttpClient.d.ts.map +1 -1
  407. package/dist/types/src/transaction/http/NodejsHttpClient.d.ts +3 -3
  408. package/dist/types/src/transaction/http/NodejsHttpClient.d.ts.map +1 -1
  409. package/dist/types/src/transaction/http/index.d.ts.map +1 -1
  410. package/dist/types/src/transaction/index.d.ts.map +1 -1
  411. package/dist/types/src/wallet/CachedKeyDeriver.d.ts +58 -58
  412. package/dist/types/src/wallet/CachedKeyDeriver.d.ts.map +1 -1
  413. package/dist/types/src/wallet/KeyDeriver.d.ts +78 -78
  414. package/dist/types/src/wallet/KeyDeriver.d.ts.map +1 -1
  415. package/dist/types/src/wallet/ProtoWallet.d.ts +10 -10
  416. package/dist/types/src/wallet/ProtoWallet.d.ts.map +1 -1
  417. package/dist/types/src/wallet/Wallet.interfaces.d.ts +151 -152
  418. package/dist/types/src/wallet/Wallet.interfaces.d.ts.map +1 -1
  419. package/dist/types/src/wallet/WalletClient.d.ts +5 -5
  420. package/dist/types/src/wallet/WalletClient.d.ts.map +1 -1
  421. package/dist/types/src/wallet/substrates/HTTPWalletJSON.d.ts +6 -6
  422. package/dist/types/src/wallet/substrates/HTTPWalletJSON.d.ts.map +1 -1
  423. package/dist/types/src/wallet/substrates/HTTPWalletWire.d.ts.map +1 -1
  424. package/dist/types/src/wallet/substrates/WalletWireProcessor.d.ts.map +1 -1
  425. package/dist/types/src/wallet/substrates/WalletWireTransceiver.d.ts.map +1 -1
  426. package/dist/types/src/wallet/substrates/XDM.d.ts +1 -1
  427. package/dist/types/src/wallet/substrates/XDM.d.ts.map +1 -1
  428. package/dist/types/src/wallet/substrates/window.CWI.d.ts +6 -6
  429. package/dist/types/src/wallet/substrates/window.CWI.d.ts.map +1 -1
  430. package/dist/types/tsconfig.types.tsbuildinfo +1 -1
  431. package/dist/umd/bundle.js +1 -1
  432. package/docs/auth.md +92 -82
  433. package/docs/compat.md +24 -24
  434. package/docs/messages.md +7 -5
  435. package/docs/overlay-tools.md +21 -21
  436. package/docs/primitives.md +336 -315
  437. package/docs/script.md +35 -35
  438. package/docs/swagger/dist/swagger-initializer.js +7 -7
  439. package/docs/swagger/dist/swagger-ui-bundle.js +1 -1
  440. package/docs/swagger/dist/swagger-ui-es-bundle-core.js +2 -2
  441. package/docs/swagger/dist/swagger-ui-es-bundle.js +1 -1
  442. package/docs/swagger/dist/swagger-ui-standalone-preset.js +1 -1
  443. package/docs/swagger/dist/swagger-ui.js +2 -2
  444. package/docs/totp.md +5 -5
  445. package/docs/transaction.md +103 -105
  446. package/docs/wallet-substrates.md +17 -17
  447. package/docs/wallet.md +202 -204
  448. package/mod.ts +15 -15
  449. package/package.json +15 -3
  450. package/src/auth/Peer.ts +271 -121
  451. package/src/auth/SessionManager.ts +17 -10
  452. package/src/auth/__tests/Peer.test.ts +361 -179
  453. package/src/auth/__tests/SessionManager.test.ts +67 -19
  454. package/src/auth/__tests/build.test.ts +11 -0
  455. package/src/auth/certificates/Certificate.ts +27 -14
  456. package/src/auth/certificates/MasterCertificate.ts +106 -62
  457. package/src/auth/certificates/VerifiableCertificate.ts +30 -8
  458. package/src/auth/certificates/__tests/Certificate.test.ts +32 -17
  459. package/src/auth/certificates/__tests/CompletedProtoWallet.ts +171 -68
  460. package/src/auth/certificates/__tests/MasterCertificate.test.ts +63 -47
  461. package/src/auth/certificates/__tests/VerifiableCertificate.test.ts +42 -31
  462. package/src/auth/certificates/index.ts +1 -1
  463. package/src/auth/clients/AuthFetch.ts +1 -0
  464. package/src/auth/clients/index.ts +1 -1
  465. package/src/auth/transports/SimplifiedFetchTransport.ts +145 -72
  466. package/src/auth/transports/index.ts +1 -1
  467. package/src/auth/utils/__tests/cryptononce.test.ts +52 -23
  468. package/src/auth/utils/__tests/getVerifiableCertificates.test.ts +56 -30
  469. package/src/auth/utils/__tests/validateCertificates.test.ts +53 -31
  470. package/src/auth/utils/createNonce.ts +11 -3
  471. package/src/auth/utils/getVerifiableCertificates.ts +12 -7
  472. package/src/auth/utils/validateCertificates.ts +57 -39
  473. package/src/auth/utils/verifyNonce.ts +6 -2
  474. package/src/compat/BSM.ts +10 -2
  475. package/src/compat/ECIES.ts +265 -141
  476. package/src/compat/HD.ts +81 -63
  477. package/src/compat/Mnemonic.ts +104 -91
  478. package/src/compat/Utxo.ts +8 -5
  479. package/src/compat/__tests/BSM.test.ts +42 -16
  480. package/src/compat/__tests/ECIES.test.ts +117 -52
  481. package/src/compat/__tests/HD.test.ts +55 -42
  482. package/src/compat/__tests/Mnemonic.test.ts +11 -12
  483. package/src/compat/__tests/Mnemonic.vectors.ts +110 -55
  484. package/src/messages/EncryptedMessage.ts +6 -2
  485. package/src/messages/SignedMessage.ts +14 -8
  486. package/src/messages/__tests/EncryptedMessage.test.ts +23 -24
  487. package/src/messages/__tests/SignedMessage.test.ts +17 -11
  488. package/src/overlay-tools/LookupResolver.ts +108 -56
  489. package/src/overlay-tools/OverlayAdminTokenTemplate.ts +52 -23
  490. package/src/overlay-tools/SHIPBroadcaster.ts +135 -59
  491. package/src/overlay-tools/__tests/LookupResolver.test.ts +723 -323
  492. package/src/overlay-tools/__tests/OverlayAdminTokenTemplate.test.ts +50 -22
  493. package/src/overlay-tools/__tests/SHIPBroadcaster.test.ts +607 -290
  494. package/src/primitives/AESGCM.ts +2 -0
  495. package/src/primitives/BasePoint.ts +4 -4
  496. package/src/primitives/BigNumber.ts +99 -90
  497. package/src/primitives/Curve.ts +117 -46
  498. package/src/primitives/DRBG.ts +9 -11
  499. package/src/primitives/ECDSA.ts +109 -63
  500. package/src/primitives/Hash.ts +492 -321
  501. package/src/primitives/JacobianPoint.ts +67 -19
  502. package/src/primitives/Point.ts +254 -152
  503. package/src/primitives/Polynomial.ts +8 -3
  504. package/src/primitives/PrivateKey.ts +41 -17
  505. package/src/primitives/PublicKey.ts +13 -3
  506. package/src/primitives/Random.ts +14 -8
  507. package/src/primitives/ReductionContext.ts +1 -1
  508. package/src/primitives/Schnorr.ts +40 -18
  509. package/src/primitives/Signature.ts +26 -16
  510. package/src/primitives/SymmetricKey.ts +14 -14
  511. package/src/primitives/TransactionSignature.ts +41 -17
  512. package/src/primitives/__tests/AESGCM.test.ts +457 -151
  513. package/src/primitives/__tests/BRC42.private.vectors.ts +30 -15
  514. package/src/primitives/__tests/BRC42.public.vectors.ts +30 -15
  515. package/src/primitives/__tests/BigNumber.arithmatic.test.ts +344 -125
  516. package/src/primitives/__tests/BigNumber.binary.test.ts +148 -67
  517. package/src/primitives/__tests/BigNumber.constructor.test.ts +65 -25
  518. package/src/primitives/__tests/BigNumber.dhGroup.test.ts +15 -11
  519. package/src/primitives/__tests/BigNumber.fixtures.ts +16 -8
  520. package/src/primitives/__tests/BigNumber.serializers.test.ts +41 -15
  521. package/src/primitives/__tests/BigNumber.utils.test.ts +132 -42
  522. package/src/primitives/__tests/Curve.unit.test.ts +75 -53
  523. package/src/primitives/__tests/DRBG.test.ts +1 -1
  524. package/src/primitives/__tests/DRBG.vectors.ts +45 -75
  525. package/src/primitives/__tests/ECDH.test.ts +15 -8
  526. package/src/primitives/__tests/ECDSA.test.ts +12 -6
  527. package/src/primitives/__tests/HMAC.test.ts +24 -18
  528. package/src/primitives/__tests/Hash.test.ts +57 -46
  529. package/src/primitives/__tests/PBKDF2.vectors.ts +130 -117
  530. package/src/primitives/__tests/PrivateKey.split.test.ts +33 -11
  531. package/src/primitives/__tests/PrivateKey.test.ts +11 -10
  532. package/src/primitives/__tests/PublicKey.test.ts +64 -53
  533. package/src/primitives/__tests/Random.test.ts +1 -1
  534. package/src/primitives/__tests/Reader.test.ts +240 -219
  535. package/src/primitives/__tests/ReductionContext.test.ts +98 -61
  536. package/src/primitives/__tests/Schnorr.test.ts +249 -237
  537. package/src/primitives/__tests/SymmetricKey.test.ts +18 -15
  538. package/src/primitives/__tests/SymmetricKey.vectors.ts +16 -8
  539. package/src/primitives/__tests/Writer.test.ts +23 -13
  540. package/src/primitives/__tests/bug-31.test.ts +6 -10
  541. package/src/primitives/__tests/utils.test.ts +70 -19
  542. package/src/primitives/utils.ts +103 -79
  543. package/src/script/Script.ts +18 -12
  544. package/src/script/ScriptTemplate.ts +3 -5
  545. package/src/script/Spend.ts +306 -108
  546. package/src/script/__tests/Script.test.ts +73 -55
  547. package/src/script/__tests/Spend.test.ts +208 -83
  548. package/src/script/__tests/SpendComplex.test.ts +19 -13
  549. package/src/script/__tests/script.invalid.vectors.ts +428 -1796
  550. package/src/script/__tests/script.valid.vectors.ts +728 -2764
  551. package/src/script/templates/P2PKH.ts +34 -12
  552. package/src/script/templates/PushDrop.ts +65 -31
  553. package/src/script/templates/RPuzzle.ts +29 -8
  554. package/src/script/templates/__tests/PushDrop.test.ts +146 -41
  555. package/src/totp/__tests/totp.test.ts +45 -44
  556. package/src/totp/totp.ts +3 -2
  557. package/src/transaction/Beef.ts +269 -174
  558. package/src/transaction/BeefParty.ts +41 -31
  559. package/src/transaction/BeefTx.ts +36 -26
  560. package/src/transaction/Broadcaster.ts +10 -6
  561. package/src/transaction/ChainTracker.ts +2 -2
  562. package/src/transaction/FeeModel.ts +0 -1
  563. package/src/transaction/MerklePath.ts +124 -59
  564. package/src/transaction/Transaction.ts +188 -187
  565. package/src/transaction/TransactionOutput.ts +0 -1
  566. package/src/transaction/__tests/Beef.test.ts +390 -287
  567. package/src/transaction/__tests/MerklePath.test.ts +59 -26
  568. package/src/transaction/__tests/Transaction.benchmarks.test.ts +231 -201
  569. package/src/transaction/__tests/Transaction.test.ts +758 -482
  570. package/src/transaction/__tests/bigtx.vectors.ts +2 -1
  571. package/src/transaction/__tests/bump.invalid.vectors.ts +24 -6
  572. package/src/transaction/__tests/bump.valid.vectors.ts +6 -2
  573. package/src/transaction/__tests/tx.invalid.vectors.ts +881 -185
  574. package/src/transaction/__tests/tx.valid.vectors.ts +1210 -257
  575. package/src/transaction/broadcasters/ARC.ts +69 -38
  576. package/src/transaction/broadcasters/DefaultBroadcaster.ts +9 -3
  577. package/src/transaction/broadcasters/WhatsOnChainBroadcaster.ts +20 -7
  578. package/src/transaction/broadcasters/__tests/ARC.test.ts +127 -59
  579. package/src/transaction/broadcasters/__tests/WhatsOnChainBroadcaster.test.ts +27 -18
  580. package/src/transaction/chaintrackers/DefaultChainTracker.ts +1 -1
  581. package/src/transaction/chaintrackers/WhatsOnChain.ts +27 -11
  582. package/src/transaction/chaintrackers/__tests/WhatsOnChainChainTracker.test.ts +59 -23
  583. package/src/transaction/fee-models/SatoshisPerKilobyte.ts +9 -5
  584. package/src/transaction/http/DefaultHttpClient.ts +5 -4
  585. package/src/transaction/http/FetchHttpClient.ts +18 -9
  586. package/src/transaction/http/HttpClient.ts +27 -22
  587. package/src/transaction/http/NodejsHttpClient.ts +23 -9
  588. package/src/transaction/http/index.ts +5 -1
  589. package/src/transaction/index.ts +5 -1
  590. package/src/wallet/CachedKeyDeriver.ts +151 -82
  591. package/src/wallet/KeyDeriver.ts +186 -105
  592. package/src/wallet/ProtoWallet.ts +121 -52
  593. package/src/wallet/Wallet.interfaces.ts +167 -156
  594. package/src/wallet/WalletClient.ts +314 -59
  595. package/src/wallet/WalletError.ts +2 -2
  596. package/src/wallet/__tests/CachedKeyDeriver.test.ts +86 -27
  597. package/src/wallet/__tests/KeyDeriver.test.ts +136 -33
  598. package/src/wallet/__tests/ProtoWallet.test.ts +190 -102
  599. package/src/wallet/substrates/HTTPWalletJSON.ts +250 -67
  600. package/src/wallet/substrates/HTTPWalletWire.ts +7 -3
  601. package/src/wallet/substrates/WalletWireCalls.ts +2 -2
  602. package/src/wallet/substrates/WalletWireProcessor.ts +1412 -1277
  603. package/src/wallet/substrates/WalletWireTransceiver.ts +713 -138
  604. package/src/wallet/substrates/XDM.ts +425 -36
  605. package/src/wallet/substrates/__tests/WalletWire.integration.test.ts +488 -225
  606. package/src/wallet/substrates/__tests/XDM.test.ts +232 -234
  607. package/src/wallet/substrates/window.CWI.ts +520 -61
@@ -1,22 +1,16 @@
1
1
  export default [
2
- [
3
- 'Format is: [scriptSig, scriptPubKey, flags, ... comments]'
4
- ],
2
+ ['Format is: [scriptSig, scriptPubKey, flags, ... comments]'],
5
3
  [
6
4
  'It is evaluated as if there was a crediting coinbase transaction with two 0'
7
5
  ],
8
- [
9
- 'pushes as scriptSig, and one output of 0 satoshi and given scriptPubKey,'
10
- ],
6
+ ['pushes as scriptSig, and one output of 0 satoshi and given scriptPubKey,'],
11
7
  [
12
8
  'followed by a spending transaction which spends this output as only input (and'
13
9
  ],
14
10
  [
15
11
  'correct prevout hash), using the given scriptSig. All nLockTimes are 0, all'
16
12
  ],
17
- [
18
- 'nSequences are max.'
19
- ],
13
+ ['nSequences are max.'],
20
14
  [
21
15
  '',
22
16
  '740087',
@@ -29,2878 +23,858 @@ export default [
29
23
  'P2SH,STRICTENC',
30
24
  'and multiple spaces should not change that.'
31
25
  ],
26
+ ['', '740087', 'P2SH,STRICTENC'],
27
+ ['', '740087', 'P2SH,STRICTENC'],
32
28
  [
33
- '',
34
- '740087',
35
- 'P2SH,STRICTENC'
36
- ],
37
- [
38
- '',
39
- '740087',
40
- 'P2SH,STRICTENC'
41
- ],
42
- [
43
- '5152',
44
- '52885187',
45
- 'P2SH,STRICTENC',
46
- 'Similarly whitespace around and between symbols'
47
- ],
48
- [
49
- '5152',
50
- '52885187',
51
- 'P2SH,STRICTENC'
52
- ],
53
- [
54
- '5152',
55
- '52885187',
56
- 'P2SH,STRICTENC'
57
- ],
58
- [
59
- '5152',
60
- '52885187',
61
- 'P2SH,STRICTENC'
62
- ],
63
- [
64
- '5152',
65
- '52885187',
66
- 'P2SH,STRICTENC'
67
- ],
68
- [
69
- '51',
70
- '',
71
- 'P2SH,STRICTENC'
72
- ],
73
- [
74
- '020100',
75
- '',
76
- 'P2SH,STRICTENC',
77
- 'all bytes are significant, not only the last one'
78
- ],
79
- [
80
- '09000000000000000010',
81
- '',
82
- 'P2SH,STRICTENC',
83
- 'equals zero when cast to Int64'
84
- ],
85
- [
86
- '010b',
87
- '5b87',
88
- 'P2SH,STRICTENC',
89
- 'push 1 byte'
90
- ],
91
- [
92
- '02417a',
93
- '417a87',
94
- 'P2SH,STRICTENC'
95
- ],
96
- [
97
- '4b417a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a',
98
- '417a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a87',
99
- 'P2SH,STRICTENC',
100
- 'push 75 bytes'
101
- ],
102
- [
103
- '4c0107',
104
- '5787',
105
- 'P2SH,STRICTENC',
106
- '0x4c is OP_PUSHDATA1'
107
- ],
108
- [
109
- '4d010008',
110
- '5887',
111
- 'P2SH,STRICTENC',
112
- '0x4d is OP_PUSHDATA2'
113
- ],
114
- [
115
- '4e0100000009',
116
- '5987',
117
- 'P2SH,STRICTENC',
118
- '0x4e is OP_PUSHDATA4'
119
- ],
120
- [
121
- '4c00',
122
- '0087',
123
- 'P2SH,STRICTENC'
124
- ],
125
- [
126
- '4d0000',
127
- '0087',
128
- 'P2SH,STRICTENC'
129
- ],
130
- [
131
- '4e00000000',
132
- '0087',
133
- 'P2SH,STRICTENC'
134
- ],
135
- [
136
- '4f02e80393',
137
- '02e70387',
138
- 'P2SH,STRICTENC'
139
- ],
140
- [
141
- '00',
142
- '63506851',
143
- 'P2SH,STRICTENC',
144
- '0x50 is reserved (ok if not executed)'
145
- ],
146
- [
147
- '51',
148
- '5f936087',
149
- 'P2SH,STRICTENC',
150
- '0x51 through 0x60 push 1 through 16 onto stack'
151
- ],
152
- [
153
- '51',
154
- '61',
155
- 'P2SH,STRICTENC'
156
- ],
157
- [
158
- '00',
159
- '6362675168',
160
- 'P2SH,STRICTENC',
161
- 'VER non-functional (ok if not executed)'
162
- ],
163
- [
164
- '00',
165
- '6350898a675168',
166
- 'P2SH,STRICTENC',
167
- 'RESERVED ok in un-executed IF'
168
- ],
169
- [
170
- '51',
171
- '766368',
172
- 'P2SH,STRICTENC'
173
- ],
174
- [
175
- '51',
176
- '635168',
177
- 'P2SH,STRICTENC'
178
- ],
179
- [
180
- '51',
181
- '76636768',
182
- 'P2SH,STRICTENC'
183
- ],
184
- [
185
- '51',
186
- '63516768',
187
- 'P2SH,STRICTENC'
188
- ],
189
- [
190
- '00',
191
- '63675168',
192
- 'P2SH,STRICTENC'
193
- ],
194
- [
195
- '5151',
196
- '63635167006868',
197
- 'P2SH,STRICTENC'
198
- ],
199
- [
200
- '5100',
201
- '63635167006868',
202
- 'P2SH,STRICTENC'
203
- ],
204
- [
205
- '5151',
206
- '63635167006867630067516868',
207
- 'P2SH,STRICTENC'
208
- ],
209
- [
210
- '0000',
211
- '63635167006867630067516868',
212
- 'P2SH,STRICTENC'
213
- ],
214
- [
215
- '5100',
216
- '64635167006868',
217
- 'P2SH,STRICTENC'
218
- ],
219
- [
220
- '5151',
221
- '64635167006868',
222
- 'P2SH,STRICTENC'
223
- ],
224
- [
225
- '5100',
226
- '64635167006867630067516868',
227
- 'P2SH,STRICTENC'
228
- ],
229
- [
230
- '0051',
231
- '64635167006867630067516868',
232
- 'P2SH,STRICTENC'
233
- ],
234
- [
235
- '00',
236
- '63006751670068',
237
- 'P2SH,STRICTENC',
238
- "Multiple ELSE's are valid and executed inverts on each ELSE encountered"
239
- ],
240
- [
241
- '51',
242
- '635167006768',
243
- 'P2SH,STRICTENC'
244
- ],
245
- [
246
- '51',
247
- '636700675168',
248
- 'P2SH,STRICTENC'
249
- ],
250
- [
251
- '51',
252
- '63516700675168935287',
253
- 'P2SH,STRICTENC'
254
- ],
255
- [
256
- '51',
257
- '63a76767a76767a76767a76767a76767a76767a76767a76767a76767a76767a76767a76767a76767a76767a76767a76767a76767a76767a76767a7681468ca4fec736264c13b859bac43d5173df687168287',
258
- 'P2SH,STRICTENC'
259
- ],
260
- [
261
- '51',
262
- '64006751670068',
263
- 'P2SH,STRICTENC',
264
- "Multiple ELSE's are valid and execution inverts on each ELSE encountered"
265
- ],
266
- [
267
- '00',
268
- '645167006768',
269
- 'P2SH,STRICTENC'
270
- ],
271
- [
272
- '00',
273
- '646700675168',
274
- 'P2SH,STRICTENC'
275
- ],
276
- [
277
- '00',
278
- '64516700675168935287',
279
- 'P2SH,STRICTENC'
280
- ],
281
- [
282
- '00',
283
- '64a76767a76767a76767a76767a76767a76767a76767a76767a76767a76767a76767a76767a76767a76767a76767a76767a76767a76767a76767a7681468ca4fec736264c13b859bac43d5173df687168287',
284
- 'P2SH,STRICTENC'
285
- ],
286
- [
287
- '00',
288
- '6351636a676a676a6867516351676a675168676a68935287',
289
- 'P2SH,STRICTENC',
290
- 'Nested ELSE ELSE'
291
- ],
292
- [
293
- '51',
294
- '6400646a676a676a6867006451676a675168676a68935287',
295
- 'P2SH,STRICTENC'
296
- ],
297
- [
298
- '00',
299
- '636a6851',
300
- 'P2SH,STRICTENC',
301
- 'RETURN only works if executed'
302
- ],
303
- [
304
- '5151',
305
- '69',
306
- 'P2SH,STRICTENC'
307
- ],
308
- [
309
- '51050100000000',
310
- '69',
311
- 'P2SH,STRICTENC',
312
- 'values >4 bytes can be cast to boolean'
313
- ],
314
- [
315
- '510180',
316
- '630068',
317
- 'P2SH,STRICTENC',
318
- 'negative 0 is false'
319
- ],
320
- [
321
- '5a005b6b756c',
322
- '93011587',
323
- 'P2SH,STRICTENC'
324
- ],
325
- [
326
- '676176696e5f7761735f686572656b5b6c',
327
- '676176696e5f7761735f68657265885b87',
328
- 'P2SH,STRICTENC'
329
- ],
330
- [
331
- '0073',
332
- '7451880087',
333
- 'P2SH,STRICTENC'
334
- ],
335
- [
336
- '5173',
337
- '74528851885187',
338
- 'P2SH,STRICTENC'
339
- ],
340
- [
341
- '05010000000073',
342
- '74528805010000000087',
343
- 'P2SH,STRICTENC',
344
- 'IFDUP dups non ints'
345
- ],
346
- [
347
- '0075',
348
- '740087',
349
- 'P2SH,STRICTENC'
350
- ],
351
- [
352
- '00',
353
- '76519351880087',
354
- 'P2SH,STRICTENC'
355
- ],
356
- [
357
- '0051',
358
- '77',
359
- 'P2SH,STRICTENC'
360
- ],
361
- [
362
- '5100',
363
- '78745388',
364
- 'P2SH,STRICTENC'
365
- ],
366
- [
367
- '011601150114',
368
- '0079011488745387',
369
- 'P2SH,STRICTENC'
370
- ],
371
- [
372
- '011601150114',
373
- '5179011588745387',
374
- 'P2SH,STRICTENC'
375
- ],
376
- [
377
- '011601150114',
378
- '5279011688745387',
379
- 'P2SH,STRICTENC'
380
- ],
381
- [
382
- '011601150114',
383
- '007a011488745287',
384
- 'P2SH,STRICTENC'
385
- ],
386
- [
387
- '011601150114',
388
- '517a011588745287',
389
- 'P2SH,STRICTENC'
390
- ],
391
- [
392
- '011601150114',
393
- '527a011688745287',
394
- 'P2SH,STRICTENC'
395
- ],
396
- [
397
- '011601150114',
398
- '7b011687',
399
- 'P2SH,STRICTENC'
400
- ],
401
- [
402
- '011601150114',
403
- '7b75011487',
404
- 'P2SH,STRICTENC'
405
- ],
406
- [
407
- '011601150114',
408
- '7b7575011587',
409
- 'P2SH,STRICTENC'
410
- ],
411
- [
412
- '011601150114',
413
- '7b7b011587',
414
- 'P2SH,STRICTENC'
415
- ],
416
- [
417
- '011601150114',
418
- '7b7b7b011487',
419
- 'P2SH,STRICTENC'
420
- ],
421
- [
422
- '011901180117011601150114',
423
- '71011887',
424
- 'P2SH,STRICTENC'
425
- ],
426
- [
427
- '011901180117011601150114',
428
- '7175011987',
429
- 'P2SH,STRICTENC'
430
- ],
431
- [
432
- '011901180117011601150114',
433
- '716d011487',
434
- 'P2SH,STRICTENC'
435
- ],
436
- [
437
- '011901180117011601150114',
438
- '716d75011587',
439
- 'P2SH,STRICTENC'
440
- ],
441
- [
442
- '011901180117011601150114',
443
- '716d6d011687',
444
- 'P2SH,STRICTENC'
445
- ],
446
- [
447
- '011901180117011601150114',
448
- '716d6d75011787',
449
- 'P2SH,STRICTENC'
450
- ],
451
- [
452
- '011901180117011601150114',
453
- '7171011687',
454
- 'P2SH,STRICTENC'
455
- ],
456
- [
457
- '011901180117011601150114',
458
- '717171011487',
459
- 'P2SH,STRICTENC'
460
- ],
461
- [
462
- '5100',
463
- '7c51880087',
464
- 'P2SH,STRICTENC'
465
- ],
466
- [
467
- '0051',
468
- '7d7453887c6d',
469
- 'P2SH,STRICTENC'
470
- ],
471
- [
472
- '5d5e',
473
- '6e7b8887',
474
- 'P2SH,STRICTENC'
475
- ],
476
- [
477
- '4f005152',
478
- '6f745788939353886d0088',
479
- 'P2SH,STRICTENC'
480
- ],
481
- [
482
- '51525355',
483
- '709393588893935687',
484
- 'P2SH,STRICTENC'
485
- ],
486
- [
487
- '51535557',
488
- '72935488935c87',
489
- 'P2SH,STRICTENC'
490
- ],
491
- [
492
- '00',
493
- '820087',
494
- 'P2SH,STRICTENC'
495
- ],
496
- [
497
- '51',
498
- '825187',
499
- 'P2SH,STRICTENC'
500
- ],
501
- [
502
- '017f',
503
- '825187',
504
- 'P2SH,STRICTENC'
505
- ],
506
- [
507
- '028000',
508
- '825287',
509
- 'P2SH,STRICTENC'
510
- ],
511
- [
512
- '02ff7f',
513
- '825287',
514
- 'P2SH,STRICTENC'
515
- ],
516
- [
517
- '03008000',
518
- '825387',
519
- 'P2SH,STRICTENC'
520
- ],
521
- [
522
- '03ffff7f',
523
- '825387',
524
- 'P2SH,STRICTENC'
525
- ],
526
- [
527
- '0400008000',
528
- '825487',
529
- 'P2SH,STRICTENC'
530
- ],
531
- [
532
- '04ffffff7f',
533
- '825487',
534
- 'P2SH,STRICTENC'
535
- ],
536
- [
537
- '050000008000',
538
- '825587',
539
- 'P2SH,STRICTENC'
540
- ],
541
- [
542
- '05ffffffff7f',
543
- '825587',
544
- 'P2SH,STRICTENC'
545
- ],
546
- [
547
- '06000000008000',
548
- '825687',
549
- 'P2SH,STRICTENC'
550
- ],
551
- [
552
- '08ffffffffffffff7f',
553
- '825887',
554
- 'P2SH,STRICTENC'
555
- ],
556
- [
557
- '4f',
558
- '825187',
559
- 'P2SH,STRICTENC'
560
- ],
561
- [
562
- '01ff',
563
- '825187',
564
- 'P2SH,STRICTENC'
565
- ],
566
- [
567
- '028080',
568
- '825287',
569
- 'P2SH,STRICTENC'
570
- ],
571
- [
572
- '02ffff',
573
- '825287',
574
- 'P2SH,STRICTENC'
575
- ],
576
- [
577
- '03008080',
578
- '825387',
579
- 'P2SH,STRICTENC'
580
- ],
581
- [
582
- '03ffffff',
583
- '825387',
584
- 'P2SH,STRICTENC'
585
- ],
586
- [
587
- '0400008080',
588
- '825487',
589
- 'P2SH,STRICTENC'
590
- ],
591
- [
592
- '04ffffffff',
593
- '825487',
594
- 'P2SH,STRICTENC'
595
- ],
596
- [
597
- '050000008080',
598
- '825587',
599
- 'P2SH,STRICTENC'
600
- ],
601
- [
602
- '05ffffffffff',
603
- '825587',
604
- 'P2SH,STRICTENC'
605
- ],
606
- [
607
- '06000000008080',
608
- '825687',
609
- 'P2SH,STRICTENC'
610
- ],
611
- [
612
- '08ffffffffffffffff',
613
- '825887',
614
- 'P2SH,STRICTENC'
615
- ],
616
- [
617
- '6162636465666768696a6b6c6d6e6f707172737475767778797a',
618
- '82011a87',
619
- 'P2SH,STRICTENC'
620
- ],
621
- [
622
- '012a',
623
- '825188012a87',
624
- 'P2SH,STRICTENC',
625
- 'SIZE does not consume argument'
626
- ],
627
- [
628
- '52018293',
629
- '0087',
630
- 'P2SH,STRICTENC'
631
- ],
632
- [
633
- '04ffffff7f04ffffffff93',
634
- '0087',
635
- 'P2SH,STRICTENC'
636
- ],
637
- [
638
- '4f4f93',
639
- '018287',
640
- 'P2SH,STRICTENC'
641
- ],
642
- [
643
- '0000',
644
- '87',
645
- 'P2SH,STRICTENC'
646
- ],
647
- [
648
- '515193',
649
- '5287',
650
- 'P2SH,STRICTENC'
651
- ],
652
- [
653
- '518b',
654
- '5287',
655
- 'P2SH,STRICTENC'
656
- ],
657
- [
658
- '016f8c',
659
- '016e87',
660
- 'P2SH,STRICTENC'
661
- ],
662
- [
663
- '016f51935c94',
664
- '016487',
665
- 'P2SH,STRICTENC'
666
- ],
667
- [
668
- '0090',
669
- '0087',
670
- 'P2SH,STRICTENC'
671
- ],
672
- [
673
- '6090',
674
- '6087',
675
- 'P2SH,STRICTENC'
676
- ],
677
- [
678
- '019090',
679
- '01908f87',
680
- 'P2SH,STRICTENC'
681
- ],
682
- [
683
- '0091',
684
- '61',
685
- 'P2SH,STRICTENC'
686
- ],
687
- [
688
- '5191',
689
- '0087',
690
- 'P2SH,STRICTENC'
691
- ],
692
- [
693
- '5b91',
694
- '0087',
695
- 'P2SH,STRICTENC'
696
- ],
697
- [
698
- '0092',
699
- '0087',
700
- 'P2SH,STRICTENC'
701
- ],
702
- [
703
- '5192',
704
- '5187',
705
- 'P2SH,STRICTENC'
706
- ],
707
- [
708
- '016f92',
709
- '5187',
710
- 'P2SH,STRICTENC'
711
- ],
712
- [
713
- '01ef92',
714
- '5187',
715
- 'P2SH,STRICTENC'
716
- ],
717
- [
718
- '51519a',
719
- '61',
720
- 'P2SH,STRICTENC'
721
- ],
722
- [
723
- '51009a',
724
- '91',
725
- 'P2SH,STRICTENC'
726
- ],
727
- [
728
- '00519a',
729
- '91',
730
- 'P2SH,STRICTENC'
731
- ],
732
- [
733
- '00009a',
734
- '91',
735
- 'P2SH,STRICTENC'
736
- ],
737
- [
738
- '6001119a',
739
- '61',
740
- 'P2SH,STRICTENC'
741
- ],
742
- [
743
- '51519b',
744
- '61',
745
- 'P2SH,STRICTENC'
746
- ],
747
- [
748
- '51009b',
749
- '61',
750
- 'P2SH,STRICTENC'
751
- ],
752
- [
753
- '00519b',
754
- '61',
755
- 'P2SH,STRICTENC'
756
- ],
757
- [
758
- '00009b',
759
- '91',
760
- 'P2SH,STRICTENC'
761
- ],
762
- [
763
- '6001119b',
764
- '61',
765
- 'P2SH,STRICTENC'
766
- ],
767
- [
768
- '5b5a5193',
769
- '9c',
770
- 'P2SH,STRICTENC'
771
- ],
772
- [
773
- '5b5a5193',
774
- '9d51',
775
- 'P2SH,STRICTENC'
776
- ],
777
- [
778
- '5b5a5193',
779
- '9e91',
780
- 'P2SH,STRICTENC'
781
- ],
782
- [
783
- '016f5a5193',
784
- '9e',
785
- 'P2SH,STRICTENC'
786
- ],
787
- [
788
- '5b5a',
789
- '9f91',
790
- 'P2SH,STRICTENC'
791
- ],
792
- [
793
- '5454',
794
- '9f91',
795
- 'P2SH,STRICTENC'
796
- ],
797
- [
798
- '5a5b',
799
- '9f',
800
- 'P2SH,STRICTENC'
801
- ],
802
- [
803
- '018b5b',
804
- '9f',
805
- 'P2SH,STRICTENC'
806
- ],
807
- [
808
- '018b018a',
809
- '9f',
810
- 'P2SH,STRICTENC'
811
- ],
812
- [
813
- '5b5a',
814
- 'a0',
815
- 'P2SH,STRICTENC'
816
- ],
817
- [
818
- '5454',
819
- 'a091',
820
- 'P2SH,STRICTENC'
821
- ],
822
- [
823
- '5a5b',
824
- 'a091',
825
- 'P2SH,STRICTENC'
826
- ],
827
- [
828
- '018b5b',
829
- 'a091',
830
- 'P2SH,STRICTENC'
831
- ],
832
- [
833
- '018b018a',
834
- 'a091',
835
- 'P2SH,STRICTENC'
836
- ],
837
- [
838
- '5b5a',
839
- 'a191',
840
- 'P2SH,STRICTENC'
841
- ],
842
- [
843
- '5454',
844
- 'a1',
845
- 'P2SH,STRICTENC'
846
- ],
847
- [
848
- '5a5b',
849
- 'a1',
850
- 'P2SH,STRICTENC'
851
- ],
852
- [
853
- '018b5b',
854
- 'a1',
855
- 'P2SH,STRICTENC'
856
- ],
857
- [
858
- '018b018a',
859
- 'a1',
860
- 'P2SH,STRICTENC'
861
- ],
862
- [
863
- '5b5a',
864
- 'a2',
865
- 'P2SH,STRICTENC'
866
- ],
867
- [
868
- '5454',
869
- 'a2',
870
- 'P2SH,STRICTENC'
871
- ],
872
- [
873
- '5a5b',
874
- 'a291',
875
- 'P2SH,STRICTENC'
876
- ],
877
- [
878
- '018b5b',
879
- 'a291',
880
- 'P2SH,STRICTENC'
881
- ],
882
- [
883
- '018b018a',
884
- 'a291',
885
- 'P2SH,STRICTENC'
886
- ],
887
- [
888
- '5100a3',
889
- '009c',
890
- 'P2SH,STRICTENC'
891
- ],
892
- [
893
- '0051a3',
894
- '009c',
895
- 'P2SH,STRICTENC'
896
- ],
897
- [
898
- '4f00a3',
899
- '4f9c',
900
- 'P2SH,STRICTENC'
901
- ],
902
- [
903
- '0004ffffffffa3',
904
- '04ffffffff9c',
905
- 'P2SH,STRICTENC'
906
- ],
907
- [
908
- '04ffffff7f00a4',
909
- '04ffffff7f9c',
910
- 'P2SH,STRICTENC'
911
- ],
912
- [
913
- '000164a4',
914
- '01649c',
915
- 'P2SH,STRICTENC'
916
- ],
917
- [
918
- '01e400a4',
919
- '009c',
920
- 'P2SH,STRICTENC'
921
- ],
922
- [
923
- '0004ffffffffa4',
924
- '009c',
925
- 'P2SH,STRICTENC'
926
- ],
927
- [
928
- '000051',
929
- 'a5',
930
- 'P2SH,STRICTENC'
931
- ],
932
- [
933
- '510051',
934
- 'a591',
935
- 'P2SH,STRICTENC'
936
- ],
937
- [
938
- '0004ffffffff04ffffff7f',
939
- 'a5',
940
- 'P2SH,STRICTENC'
941
- ],
942
- [
943
- '4f01e40164',
944
- 'a5',
945
- 'P2SH,STRICTENC'
946
- ],
947
- [
948
- '5b01e40164',
949
- 'a5',
950
- 'P2SH,STRICTENC'
951
- ],
952
- [
953
- '04ffffffff01e40164',
954
- 'a591',
955
- 'P2SH,STRICTENC'
956
- ],
957
- [
958
- '04ffffff7f01e40164',
959
- 'a591',
960
- 'P2SH,STRICTENC'
961
- ],
962
- [
963
- '04ffffff7f04ffffff7f94',
964
- '0087',
965
- 'P2SH,STRICTENC'
966
- ],
967
- [
968
- '04ffffff7f7693',
969
- '05feffffff0087',
970
- 'P2SH,STRICTENC',
971
- '>32 bit EQUAL is valid'
972
- ],
973
- [
974
- '04ffffff7f8f7693',
975
- '05feffffff8087',
976
- 'P2SH,STRICTENC'
977
- ],
978
- [
979
- '',
980
- 'a6149c1185a5c5e9fc54612808977ee8f548b2258d3187',
981
- 'P2SH,STRICTENC'
982
- ],
983
- [
984
- '61',
985
- 'a6140bdc9d2d256b3ee9daae347be6f4dc835a467ffe87',
986
- 'P2SH,STRICTENC'
987
- ],
988
- [
989
- '6162636465666768696a6b6c6d6e6f707172737475767778797a',
990
- 'a614f71c27109c692c1b56bbdceb5b9d2865b3708dbc87',
991
- 'P2SH,STRICTENC'
992
- ],
993
- [
994
- '',
995
- 'a714da39a3ee5e6b4b0d3255bfef95601890afd8070987',
996
- 'P2SH,STRICTENC'
997
- ],
998
- [
999
- '61',
1000
- 'a71486f7e437faa5a7fce15d1ddcb9eaeaea377667b887',
1001
- 'P2SH,STRICTENC'
1002
- ],
1003
- [
1004
- '6162636465666768696a6b6c6d6e6f707172737475767778797a',
1005
- 'a71432d10c7b8cf96570ca04ce37f2a19d84240d3a8987',
1006
- 'P2SH,STRICTENC'
1007
- ],
1008
- [
1009
- '',
1010
- 'a820e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b85587',
1011
- 'P2SH,STRICTENC'
1012
- ],
1013
- [
1014
- '61',
1015
- 'a820ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb87',
1016
- 'P2SH,STRICTENC'
1017
- ],
1018
- [
1019
- '6162636465666768696a6b6c6d6e6f707172737475767778797a',
1020
- 'a82071c480df93d6ae2f1efad1447c66c9525e316218cf51fc8d9ed832f2daf18b7387',
1021
- 'P2SH,STRICTENC'
1022
- ],
1023
- [
1024
- '',
1025
- '76a97ca8a687',
1026
- 'P2SH,STRICTENC'
1027
- ],
1028
- [
1029
- '',
1030
- '76aa7ca8a887',
1031
- 'P2SH,STRICTENC'
1032
- ],
1033
- [
1034
- '',
1035
- '61a914b472a266d0bd89c13706a4132ccfb16f7c3b9fcb87',
1036
- 'P2SH,STRICTENC'
1037
- ],
1038
- [
1039
- '61',
1040
- 'a96114994355199e516ff76c4fa4aab39337b9d84cf12b87',
1041
- 'P2SH,STRICTENC'
1042
- ],
1043
- [
1044
- '6162636465666768696a6b6c6d6e6f707172737475767778797a',
1045
- 'a94c14c286a1af0947f58d1ad787385b1c2c4a976f9e7187',
1046
- 'P2SH,STRICTENC'
1047
- ],
1048
- [
1049
- '',
1050
- 'aa205df6e0e2761359d30a8275058e299fcc0381534545f55cf43e41983f5d4c945687',
1051
- 'P2SH,STRICTENC'
1052
- ],
1053
- [
1054
- '61',
1055
- 'aa20bf5d3affb73efd2ec6c36ad3112dd933efed63c4e1cbffcfa88e2759c144f2d887',
1056
- 'P2SH,STRICTENC'
1057
- ],
1058
- [
1059
- '6162636465666768696a6b6c6d6e6f707172737475767778797a',
1060
- 'aa4c20ca139bc10c2f660da42666f72e89a225936fc60f193c161124a672050c43467187',
1061
- 'P2SH,STRICTENC'
1062
- ],
1063
- [
1064
- '51',
1065
- 'b0b1b2b3b4b5b6b7b8b95187',
1066
- 'P2SH,STRICTENC'
1067
- ],
1068
- [
1069
- '4e060000005f746f5f3130b0b1b2b3b4b5b6b7b8b9',
1070
- '4e060000005f746f5f313087',
1071
- 'P2SH,STRICTENC'
1072
- ],
1073
- [
1074
- '51',
1075
- '61',
1076
- 'P2SH,STRICTENC,DISCOURAGE_UPGRADABLE_NOPS',
1077
- 'Discourage NOPx flag allows OP_NOP'
1078
- ],
1079
- [
1080
- '00',
1081
- '63b96851',
1082
- 'P2SH,STRICTENC,DISCOURAGE_UPGRADABLE_NOPS',
1083
- 'Discouraged NOPs are allowed if not executed'
1084
- ],
1085
- [
1086
- '00',
1087
- '63ba675168',
1088
- 'P2SH,STRICTENC',
1089
- 'opcodes above NOP10 invalid if executed'
1090
- ],
1091
- [
1092
- '00',
1093
- '63bb675168',
1094
- 'P2SH,STRICTENC'
1095
- ],
1096
- [
1097
- '00',
1098
- '63bc675168',
1099
- 'P2SH,STRICTENC'
1100
- ],
1101
- [
1102
- '00',
1103
- '63bd675168',
1104
- 'P2SH,STRICTENC'
1105
- ],
1106
- [
1107
- '00',
1108
- '63be675168',
1109
- 'P2SH,STRICTENC'
1110
- ],
1111
- [
1112
- '00',
1113
- '63bf675168',
1114
- 'P2SH,STRICTENC'
1115
- ],
1116
- [
1117
- '00',
1118
- '63c0675168',
1119
- 'P2SH,STRICTENC'
1120
- ],
1121
- [
1122
- '00',
1123
- '63c1675168',
1124
- 'P2SH,STRICTENC'
1125
- ],
1126
- [
1127
- '00',
1128
- '63c2675168',
1129
- 'P2SH,STRICTENC'
1130
- ],
1131
- [
1132
- '00',
1133
- '63c3675168',
1134
- 'P2SH,STRICTENC'
1135
- ],
1136
- [
1137
- '00',
1138
- '63c4675168',
1139
- 'P2SH,STRICTENC'
1140
- ],
1141
- [
1142
- '00',
1143
- '63c5675168',
1144
- 'P2SH,STRICTENC'
1145
- ],
1146
- [
1147
- '00',
1148
- '63c6675168',
1149
- 'P2SH,STRICTENC'
1150
- ],
1151
- [
1152
- '00',
1153
- '63c7675168',
1154
- 'P2SH,STRICTENC'
1155
- ],
1156
- [
1157
- '00',
1158
- '63c8675168',
1159
- 'P2SH,STRICTENC'
1160
- ],
1161
- [
1162
- '00',
1163
- '63c9675168',
1164
- 'P2SH,STRICTENC'
1165
- ],
1166
- [
1167
- '00',
1168
- '63ca675168',
1169
- 'P2SH,STRICTENC'
1170
- ],
1171
- [
1172
- '00',
1173
- '63cb675168',
1174
- 'P2SH,STRICTENC'
1175
- ],
1176
- [
1177
- '00',
1178
- '63cc675168',
1179
- 'P2SH,STRICTENC'
1180
- ],
1181
- [
1182
- '00',
1183
- '63cd675168',
1184
- 'P2SH,STRICTENC'
1185
- ],
1186
- [
1187
- '00',
1188
- '63ce675168',
1189
- 'P2SH,STRICTENC'
1190
- ],
1191
- [
1192
- '00',
1193
- '63cf675168',
1194
- 'P2SH,STRICTENC'
1195
- ],
1196
- [
1197
- '00',
1198
- '63d0675168',
1199
- 'P2SH,STRICTENC'
1200
- ],
1201
- [
1202
- '00',
1203
- '63d1675168',
1204
- 'P2SH,STRICTENC'
1205
- ],
1206
- [
1207
- '00',
1208
- '63d2675168',
1209
- 'P2SH,STRICTENC'
1210
- ],
1211
- [
1212
- '00',
1213
- '63d3675168',
1214
- 'P2SH,STRICTENC'
1215
- ],
1216
- [
1217
- '00',
1218
- '63d4675168',
1219
- 'P2SH,STRICTENC'
1220
- ],
1221
- [
1222
- '00',
1223
- '63d5675168',
1224
- 'P2SH,STRICTENC'
1225
- ],
1226
- [
1227
- '00',
1228
- '63d6675168',
1229
- 'P2SH,STRICTENC'
1230
- ],
1231
- [
1232
- '00',
1233
- '63d7675168',
1234
- 'P2SH,STRICTENC'
1235
- ],
1236
- [
1237
- '00',
1238
- '63d8675168',
1239
- 'P2SH,STRICTENC'
1240
- ],
1241
- [
1242
- '00',
1243
- '63d9675168',
1244
- 'P2SH,STRICTENC'
1245
- ],
1246
- [
1247
- '00',
1248
- '63da675168',
1249
- 'P2SH,STRICTENC'
1250
- ],
1251
- [
1252
- '00',
1253
- '63db675168',
1254
- 'P2SH,STRICTENC'
1255
- ],
1256
- [
1257
- '00',
1258
- '63dc675168',
1259
- 'P2SH,STRICTENC'
1260
- ],
1261
- [
1262
- '00',
1263
- '63dd675168',
1264
- 'P2SH,STRICTENC'
1265
- ],
1266
- [
1267
- '00',
1268
- '63de675168',
1269
- 'P2SH,STRICTENC'
1270
- ],
1271
- [
1272
- '00',
1273
- '63df675168',
1274
- 'P2SH,STRICTENC'
1275
- ],
1276
- [
1277
- '00',
1278
- '63e0675168',
1279
- 'P2SH,STRICTENC'
1280
- ],
1281
- [
1282
- '00',
1283
- '63e1675168',
1284
- 'P2SH,STRICTENC'
1285
- ],
1286
- [
1287
- '00',
1288
- '63e2675168',
1289
- 'P2SH,STRICTENC'
1290
- ],
1291
- [
1292
- '00',
1293
- '63e3675168',
1294
- 'P2SH,STRICTENC'
1295
- ],
1296
- [
1297
- '00',
1298
- '63e4675168',
1299
- 'P2SH,STRICTENC'
1300
- ],
1301
- [
1302
- '00',
1303
- '63e5675168',
1304
- 'P2SH,STRICTENC'
1305
- ],
1306
- [
1307
- '00',
1308
- '63e6675168',
1309
- 'P2SH,STRICTENC'
1310
- ],
1311
- [
1312
- '00',
1313
- '63e7675168',
1314
- 'P2SH,STRICTENC'
1315
- ],
1316
- [
1317
- '00',
1318
- '63e8675168',
1319
- 'P2SH,STRICTENC'
1320
- ],
1321
- [
1322
- '00',
1323
- '63e9675168',
1324
- 'P2SH,STRICTENC'
1325
- ],
1326
- [
1327
- '00',
1328
- '63ea675168',
1329
- 'P2SH,STRICTENC'
1330
- ],
1331
- [
1332
- '00',
1333
- '63eb675168',
1334
- 'P2SH,STRICTENC'
1335
- ],
1336
- [
1337
- '00',
1338
- '63ec675168',
1339
- 'P2SH,STRICTENC'
1340
- ],
1341
- [
1342
- '00',
1343
- '63ed675168',
1344
- 'P2SH,STRICTENC'
1345
- ],
1346
- [
1347
- '00',
1348
- '63ee675168',
1349
- 'P2SH,STRICTENC'
1350
- ],
1351
- [
1352
- '00',
1353
- '63ef675168',
1354
- 'P2SH,STRICTENC'
1355
- ],
1356
- [
1357
- '00',
1358
- '63f0675168',
1359
- 'P2SH,STRICTENC'
1360
- ],
1361
- [
1362
- '00',
1363
- '63f1675168',
1364
- 'P2SH,STRICTENC'
1365
- ],
1366
- [
1367
- '00',
1368
- '63f2675168',
1369
- 'P2SH,STRICTENC'
1370
- ],
1371
- [
1372
- '00',
1373
- '63f3675168',
1374
- 'P2SH,STRICTENC'
1375
- ],
1376
- [
1377
- '00',
1378
- '63f4675168',
1379
- 'P2SH,STRICTENC'
1380
- ],
1381
- [
1382
- '00',
1383
- '63f5675168',
1384
- 'P2SH,STRICTENC'
1385
- ],
1386
- [
1387
- '00',
1388
- '63f6675168',
1389
- 'P2SH,STRICTENC'
1390
- ],
1391
- [
1392
- '00',
1393
- '63f7675168',
1394
- 'P2SH,STRICTENC'
1395
- ],
1396
- [
1397
- '00',
1398
- '63f8675168',
1399
- 'P2SH,STRICTENC'
1400
- ],
1401
- [
1402
- '00',
1403
- '63f9675168',
1404
- 'P2SH,STRICTENC'
1405
- ],
1406
- [
1407
- '00',
1408
- '63fa675168',
1409
- 'P2SH,STRICTENC'
1410
- ],
1411
- [
1412
- '00',
1413
- '63fb675168',
1414
- 'P2SH,STRICTENC'
1415
- ],
1416
- [
1417
- '00',
1418
- '63fc675168',
1419
- 'P2SH,STRICTENC'
1420
- ],
1421
- [
1422
- '00',
1423
- '63fd675168',
1424
- 'P2SH,STRICTENC'
1425
- ],
1426
- [
1427
- '00',
1428
- '63fe675168',
1429
- 'P2SH,STRICTENC'
1430
- ],
1431
- [
1432
- '00',
1433
- '63ff675168',
1434
- 'P2SH,STRICTENC'
1435
- ],
1436
- [
1437
- '61',
1438
- '62626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262',
1439
- 'P2SH,STRICTENC',
1440
- '520 byte push'
1441
- ],
1442
- [
1443
- '51',
1444
- '616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161',
1445
- 'P2SH,STRICTENC',
1446
- '201 opcodes executed. 0x61 is NOP'
1447
- ],
1448
- [
1449
- '51525354556f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f',
1450
- '51525354556f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f',
1451
- 'P2SH,STRICTENC',
1452
- '1,000 stack size (0x6f is 3DUP)'
1453
- ],
1454
- [
1455
- '516b526b5354556f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f',
1456
- '515253545556576f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f',
1457
- 'P2SH,STRICTENC',
1458
- '1,000 stack size (altstack cleared between scriptSig/scriptPubKey)'
1459
- ],
1460
- [
1461
- '616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f',
1462
- '616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6e616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161',
1463
- 'P2SH,STRICTENC',
1464
- 'Max-size (10,000-byte), max-push(520 bytes), max-opcodes(201), max stack size(1,000 items). 0x6f is 3DUP, 0x61 is NOP'
1465
- ],
1466
- [
1467
- '00',
1468
- '6350505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050506851',
1469
- 'P2SH,STRICTENC',
1470
- ">201 opcodes, but RESERVED (0x50) doesn't count towards opcode limit."
1471
- ],
1472
- [
1473
- '61',
1474
- '51',
1475
- 'P2SH,STRICTENC'
1476
- ],
1477
- [
1478
- '51',
1479
- '010187',
1480
- 'P2SH,STRICTENC',
1481
- 'The following is useful for checking implementations of BN_bn2mpi'
1482
- ],
1483
- [
1484
- '017f',
1485
- '017f87',
1486
- 'P2SH,STRICTENC'
1487
- ],
1488
- [
1489
- '028000',
1490
- '02800087',
1491
- 'P2SH,STRICTENC',
1492
- 'Leave room for the sign bit'
1493
- ],
1494
- [
1495
- '02ff7f',
1496
- '02ff7f87',
1497
- 'P2SH,STRICTENC'
1498
- ],
1499
- [
1500
- '03008000',
1501
- '0300800087',
1502
- 'P2SH,STRICTENC'
1503
- ],
1504
- [
1505
- '03ffff7f',
1506
- '03ffff7f87',
1507
- 'P2SH,STRICTENC'
1508
- ],
1509
- [
1510
- '0400008000',
1511
- '040000800087',
1512
- 'P2SH,STRICTENC'
1513
- ],
1514
- [
1515
- '04ffffff7f',
1516
- '04ffffff7f87',
1517
- 'P2SH,STRICTENC'
1518
- ],
1519
- [
1520
- '050000008000',
1521
- '05000000800087',
1522
- 'P2SH,STRICTENC'
1523
- ],
1524
- [
1525
- '05ffffffff7f',
1526
- '05ffffffff7f87',
1527
- 'P2SH,STRICTENC'
1528
- ],
1529
- [
1530
- '06000000008000',
1531
- '06ffffffff7f87',
1532
- 'P2SH,STRICTENC'
1533
- ],
1534
- [
1535
- '08ffffffffffffff7f',
1536
- '08ffffffffffffff7f87',
1537
- 'P2SH,STRICTENC'
1538
- ],
1539
- [
1540
- '4f',
1541
- '018187',
1542
- 'P2SH,STRICTENC',
1543
- 'Numbers are little-endian with the MSB being a sign bit'
1544
- ],
1545
- [
1546
- '01ff',
1547
- '01ff87',
1548
- 'P2SH,STRICTENC'
1549
- ],
1550
- [
1551
- '028080',
1552
- '02808087',
1553
- 'P2SH,STRICTENC'
1554
- ],
1555
- [
1556
- '02ffff',
1557
- '02ffff87',
1558
- 'P2SH,STRICTENC'
1559
- ],
1560
- [
1561
- '03008080',
1562
- '0300808087',
1563
- 'P2SH,STRICTENC'
1564
- ],
1565
- [
1566
- '03ffffff',
1567
- '03ffffff87',
1568
- 'P2SH,STRICTENC'
1569
- ],
1570
- [
1571
- '0400008080',
1572
- '040000808087',
1573
- 'P2SH,STRICTENC'
1574
- ],
1575
- [
1576
- '04ffffffff',
1577
- '04ffffffff87',
1578
- 'P2SH,STRICTENC'
1579
- ],
1580
- [
1581
- '050000008080',
1582
- '05000000808087',
1583
- 'P2SH,STRICTENC'
1584
- ],
1585
- [
1586
- '05ffffffff80',
1587
- '05ffffffff8087',
1588
- 'P2SH,STRICTENC'
1589
- ],
1590
- [
1591
- '05ffffffffff',
1592
- '05ffffffffff87',
1593
- 'P2SH,STRICTENC'
1594
- ],
1595
- [
1596
- '06000000008080',
1597
- '0600000000808087',
1598
- 'P2SH,STRICTENC'
1599
- ],
1600
- [
1601
- '08ffffffffffffffff',
1602
- '08ffffffffffffffff87',
1603
- 'P2SH,STRICTENC'
1604
- ],
1605
- [
1606
- '04ffffff7f',
1607
- '8b05000000800087',
1608
- 'P2SH,STRICTENC',
1609
- 'We can do math on 4-byte integers, and compare 5-byte ones'
1610
- ],
1611
- [
1612
- '04ffffff7f',
1613
- '8b51',
1614
- 'P2SH,STRICTENC'
1615
- ],
1616
- [
1617
- '04ffffffff',
1618
- '8b51',
1619
- 'P2SH,STRICTENC'
1620
- ],
1621
- [
1622
- '51',
1623
- '0201008791',
1624
- 'P2SH,STRICTENC',
1625
- 'Not the same byte array...'
1626
- ],
1627
- [
1628
- '51',
1629
- '0201009c',
1630
- 'P2SH,STRICTENC',
1631
- '... but they are numerically equal'
1632
- ],
1633
- [
1634
- '5b',
1635
- '4c030b00009c',
1636
- 'P2SH,STRICTENC'
1637
- ],
1638
- [
1639
- '00',
1640
- '01808791',
1641
- 'P2SH,STRICTENC'
1642
- ],
1643
- [
1644
- '00',
1645
- '01809c',
1646
- 'P2SH,STRICTENC',
1647
- 'Zero numerically equals negative zero'
1648
- ],
1649
- [
1650
- '00',
1651
- '0200809c',
1652
- 'P2SH,STRICTENC'
1653
- ],
1654
- [
1655
- '03000080',
1656
- '04000000809c',
1657
- 'P2SH,STRICTENC'
1658
- ],
1659
- [
1660
- '03100080',
1661
- '04100000809c',
1662
- 'P2SH,STRICTENC'
1663
- ],
1664
- [
1665
- '03100000',
1666
- '04100000009c',
1667
- 'P2SH,STRICTENC'
1668
- ],
1669
- [
1670
- '61',
1671
- '6151',
1672
- 'P2SH,STRICTENC',
1673
- 'The following tests check the if(stack.size() < N) tests in each opcode'
1674
- ],
1675
- [
1676
- '51',
1677
- '635168',
1678
- 'P2SH,STRICTENC',
1679
- 'They are here to catch copy-and-paste errors'
1680
- ],
1681
- [
1682
- '00',
1683
- '645168',
1684
- 'P2SH,STRICTENC',
1685
- 'Most of them are duplicated elsewhere,'
1686
- ],
1687
- [
1688
- '51',
1689
- '6951',
1690
- 'P2SH,STRICTENC',
1691
- 'but, hey, more is always better, right?'
1692
- ],
1693
- [
1694
- '00',
1695
- '6b51',
1696
- 'P2SH,STRICTENC'
1697
- ],
1698
- [
1699
- '51',
1700
- '6b6c',
1701
- 'P2SH,STRICTENC'
1702
- ],
1703
- [
1704
- '0000',
1705
- '6d51',
1706
- 'P2SH,STRICTENC'
1707
- ],
1708
- [
1709
- '0051',
1710
- '6e',
1711
- 'P2SH,STRICTENC'
1712
- ],
1713
- [
1714
- '000051',
1715
- '6f',
1716
- 'P2SH,STRICTENC'
1717
- ],
1718
- [
1719
- '00510000',
1720
- '70',
1721
- 'P2SH,STRICTENC'
1722
- ],
1723
- [
1724
- '005100000000',
1725
- '71',
1726
- 'P2SH,STRICTENC'
1727
- ],
1728
- [
1729
- '00510000',
1730
- '72',
1731
- 'P2SH,STRICTENC'
1732
- ],
1733
- [
1734
- '51',
1735
- '73',
1736
- 'P2SH,STRICTENC'
1737
- ],
1738
- [
1739
- '61',
1740
- '7451',
1741
- 'P2SH,STRICTENC'
1742
- ],
1743
- [
1744
- '00',
1745
- '7551',
1746
- 'P2SH,STRICTENC'
1747
- ],
1748
- [
1749
- '51',
1750
- '76',
1751
- 'P2SH,STRICTENC'
1752
- ],
1753
- [
1754
- '0051',
1755
- '77',
1756
- 'P2SH,STRICTENC'
1757
- ],
1758
- [
1759
- '5100',
1760
- '78',
1761
- 'P2SH,STRICTENC'
1762
- ],
1763
- [
1764
- '5100000053',
1765
- '79',
1766
- 'P2SH,STRICTENC'
1767
- ],
1768
- [
1769
- '5100',
1770
- '79',
1771
- 'P2SH,STRICTENC'
1772
- ],
1773
- [
1774
- '5100000053',
1775
- '7a',
1776
- 'P2SH,STRICTENC'
1777
- ],
1778
- [
1779
- '5100',
1780
- '7a',
1781
- 'P2SH,STRICTENC'
1782
- ],
1783
- [
1784
- '510000',
1785
- '7b',
1786
- 'P2SH,STRICTENC'
1787
- ],
1788
- [
1789
- '5100',
1790
- '7c',
1791
- 'P2SH,STRICTENC'
1792
- ],
1793
- [
1794
- '0051',
1795
- '7d',
1796
- 'P2SH,STRICTENC'
1797
- ],
1798
- [
1799
- '51',
1800
- '82',
1801
- 'P2SH,STRICTENC'
1802
- ],
1803
- [
1804
- '0000',
1805
- '87',
1806
- 'P2SH,STRICTENC'
1807
- ],
1808
- [
1809
- '0000',
1810
- '8851',
1811
- 'P2SH,STRICTENC'
1812
- ],
1813
- [
1814
- '000051',
1815
- '8787',
1816
- 'P2SH,STRICTENC',
1817
- 'OP_0 and bools must have identical byte representations'
1818
- ],
1819
- [
1820
- '00',
1821
- '8b',
1822
- 'P2SH,STRICTENC'
1823
- ],
1824
- [
1825
- '52',
1826
- '8c',
1827
- 'P2SH,STRICTENC'
1828
- ],
1829
- [
1830
- '4f',
1831
- '8f',
1832
- 'P2SH,STRICTENC'
1833
- ],
1834
- [
1835
- '4f',
1836
- '90',
1837
- 'P2SH,STRICTENC'
1838
- ],
1839
- [
1840
- '00',
1841
- '91',
1842
- 'P2SH,STRICTENC'
1843
- ],
1844
- [
1845
- '4f',
1846
- '92',
1847
- 'P2SH,STRICTENC'
1848
- ],
1849
- [
1850
- '5100',
1851
- '93',
1852
- 'P2SH,STRICTENC'
1853
- ],
1854
- [
1855
- '5100',
1856
- '94',
1857
- 'P2SH,STRICTENC'
1858
- ],
1859
- [
1860
- '4f4f',
1861
- '9a',
1862
- 'P2SH,STRICTENC'
1863
- ],
1864
- [
1865
- '4f00',
1866
- '9b',
1867
- 'P2SH,STRICTENC'
1868
- ],
1869
- [
1870
- '0000',
1871
- '9c',
1872
- 'P2SH,STRICTENC'
1873
- ],
1874
- [
1875
- '0000',
1876
- '9d51',
1877
- 'P2SH,STRICTENC'
1878
- ],
1879
- [
1880
- '4f00',
1881
- '9e',
1882
- 'P2SH,STRICTENC'
1883
- ],
1884
- [
1885
- '4f00',
1886
- '9f',
1887
- 'P2SH,STRICTENC'
1888
- ],
1889
- [
1890
- '5100',
1891
- 'a0',
1892
- 'P2SH,STRICTENC'
1893
- ],
1894
- [
1895
- '0000',
1896
- 'a1',
1897
- 'P2SH,STRICTENC'
1898
- ],
1899
- [
1900
- '0000',
1901
- 'a2',
1902
- 'P2SH,STRICTENC'
1903
- ],
1904
- [
1905
- '4f00',
1906
- 'a3',
1907
- 'P2SH,STRICTENC'
1908
- ],
1909
- [
1910
- '5100',
1911
- 'a4',
1912
- 'P2SH,STRICTENC'
1913
- ],
1914
- [
1915
- '4f4f00',
1916
- 'a5',
1917
- 'P2SH,STRICTENC'
1918
- ],
1919
- [
1920
- '00',
1921
- 'a6',
1922
- 'P2SH,STRICTENC'
1923
- ],
1924
- [
1925
- '00',
1926
- 'a7',
1927
- 'P2SH,STRICTENC'
1928
- ],
1929
- [
1930
- '00',
1931
- 'a8',
1932
- 'P2SH,STRICTENC'
1933
- ],
1934
- [
1935
- '00',
1936
- 'a9',
1937
- 'P2SH,STRICTENC'
1938
- ],
1939
- [
1940
- '00',
1941
- 'aa',
1942
- 'P2SH,STRICTENC'
1943
- ],
1944
- [
1945
- '61',
1946
- 'ab51',
1947
- 'P2SH,STRICTENC'
1948
- ],
1949
- [
1950
- '61',
1951
- 'b051',
1952
- 'P2SH,STRICTENC'
1953
- ],
1954
- [
1955
- '61',
1956
- 'b151',
1957
- 'P2SH,STRICTENC'
1958
- ],
1959
- [
1960
- '61',
1961
- 'b251',
1962
- 'P2SH,STRICTENC'
1963
- ],
1964
- [
1965
- '61',
1966
- 'b351',
1967
- 'P2SH,STRICTENC'
1968
- ],
1969
- [
1970
- '61',
1971
- 'b451',
1972
- 'P2SH,STRICTENC'
1973
- ],
1974
- [
1975
- '61',
1976
- 'b551',
1977
- 'P2SH,STRICTENC'
1978
- ],
1979
- [
1980
- '61',
1981
- 'b651',
1982
- 'P2SH,STRICTENC'
1983
- ],
1984
- [
1985
- '61',
1986
- 'b751',
1987
- 'P2SH,STRICTENC'
1988
- ],
1989
- [
1990
- '61',
1991
- 'b851',
1992
- 'P2SH,STRICTENC'
1993
- ],
1994
- [
1995
- '61',
1996
- 'b951',
1997
- 'P2SH,STRICTENC'
1998
- ],
1999
- [
2000
- '',
2001
- '000000ae69740087',
2002
- 'P2SH,STRICTENC',
2003
- 'CHECKMULTISIG is allowed to have zero keys and/or sigs'
2004
- ],
2005
- [
2006
- '',
2007
- '000000af740087',
2008
- 'P2SH,STRICTENC'
2009
- ],
2010
- [
2011
- '',
2012
- '00000051ae69740087',
2013
- 'P2SH,STRICTENC',
2014
- 'Zero sigs means no sigs are checked'
2015
- ],
2016
- [
2017
- '',
2018
- '00000051af740087',
2019
- 'P2SH,STRICTENC'
2020
- ],
2021
- [
2022
- '',
2023
- '000000ae69740087',
2024
- 'P2SH,STRICTENC',
2025
- 'CHECKMULTISIG is allowed to have zero keys and/or sigs'
2026
- ],
2027
- [
2028
- '',
2029
- '000000af740087',
2030
- 'P2SH,STRICTENC'
2031
- ],
2032
- [
2033
- '',
2034
- '00000051ae69740087',
2035
- 'P2SH,STRICTENC',
2036
- 'Zero sigs means no sigs are checked'
2037
- ],
2038
- [
2039
- '',
2040
- '00000051af740087',
2041
- 'P2SH,STRICTENC'
2042
- ],
2043
- [
2044
- '',
2045
- '0000616252ae69740087',
2046
- 'P2SH,STRICTENC',
2047
- 'Test from up to 20 pubkeys, all not checked'
2048
- ],
2049
- [
2050
- '',
2051
- '000061626353ae69740087',
2052
- 'P2SH,STRICTENC'
2053
- ],
2054
- [
2055
- '',
2056
- '00006162636454ae69740087',
2057
- 'P2SH,STRICTENC'
2058
- ],
2059
- [
2060
- '',
2061
- '0000616263646555ae69740087',
2062
- 'P2SH,STRICTENC'
2063
- ],
2064
- [
2065
- '',
2066
- '000061626364656656ae69740087',
2067
- 'P2SH,STRICTENC'
2068
- ],
2069
- [
2070
- '',
2071
- '00006162636465666757ae69740087',
2072
- 'P2SH,STRICTENC'
2073
- ],
2074
- [
2075
- '',
2076
- '0000616263646566676858ae69740087',
2077
- 'P2SH,STRICTENC'
2078
- ],
2079
- [
2080
- '',
2081
- '000061626364656667686959ae69740087',
2082
- 'P2SH,STRICTENC'
2083
- ],
2084
- [
2085
- '',
2086
- '00006162636465666768696a5aae69740087',
2087
- 'P2SH,STRICTENC'
2088
- ],
2089
- [
2090
- '',
2091
- '00006162636465666768696a6b5bae69740087',
2092
- 'P2SH,STRICTENC'
2093
- ],
2094
- [
2095
- '',
2096
- '00006162636465666768696a6b6c5cae69740087',
2097
- 'P2SH,STRICTENC'
2098
- ],
2099
- [
2100
- '',
2101
- '00006162636465666768696a6b6c6d5dae69740087',
2102
- 'P2SH,STRICTENC'
2103
- ],
2104
- [
2105
- '',
2106
- '00006162636465666768696a6b6c6d6e5eae69740087',
2107
- 'P2SH,STRICTENC'
2108
- ],
2109
- [
2110
- '',
2111
- '00006162636465666768696a6b6c6d6e6f5fae69740087',
2112
- 'P2SH,STRICTENC'
2113
- ],
2114
- [
2115
- '',
2116
- '00006162636465666768696a6b6c6d6e6f7060ae69740087',
2117
- 'P2SH,STRICTENC'
2118
- ],
2119
- [
2120
- '',
2121
- '00006162636465666768696a6b6c6d6e6f70710111ae69740087',
2122
- 'P2SH,STRICTENC'
2123
- ],
2124
- [
2125
- '',
2126
- '00006162636465666768696a6b6c6d6e6f7071720112ae69740087',
2127
- 'P2SH,STRICTENC'
2128
- ],
2129
- [
2130
- '',
2131
- '00006162636465666768696a6b6c6d6e6f707172730113ae69740087',
2132
- 'P2SH,STRICTENC'
2133
- ],
2134
- [
2135
- '',
2136
- '00006162636465666768696a6b6c6d6e6f70717273740114ae69740087',
2137
- 'P2SH,STRICTENC'
2138
- ],
2139
- [
2140
- '',
2141
- '00006151af740087',
2142
- 'P2SH,STRICTENC'
2143
- ],
2144
- [
2145
- '',
2146
- '0000616252af740087',
2147
- 'P2SH,STRICTENC'
2148
- ],
2149
- [
2150
- '',
2151
- '000061626353af740087',
2152
- 'P2SH,STRICTENC'
2153
- ],
2154
- [
2155
- '',
2156
- '00006162636454af740087',
2157
- 'P2SH,STRICTENC'
2158
- ],
2159
- [
2160
- '',
2161
- '0000616263646555af740087',
2162
- 'P2SH,STRICTENC'
2163
- ],
2164
- [
2165
- '',
2166
- '000061626364656656af740087',
2167
- 'P2SH,STRICTENC'
2168
- ],
2169
- [
2170
- '',
2171
- '00006162636465666757af740087',
2172
- 'P2SH,STRICTENC'
2173
- ],
2174
- [
2175
- '',
2176
- '0000616263646566676858af740087',
2177
- 'P2SH,STRICTENC'
2178
- ],
2179
- [
2180
- '',
2181
- '000061626364656667686959af740087',
2182
- 'P2SH,STRICTENC'
2183
- ],
2184
- [
2185
- '',
2186
- '00006162636465666768696a5aaf740087',
2187
- 'P2SH,STRICTENC'
2188
- ],
2189
- [
2190
- '',
2191
- '00006162636465666768696a6b5baf740087',
2192
- 'P2SH,STRICTENC'
2193
- ],
2194
- [
2195
- '',
2196
- '00006162636465666768696a6b6c5caf740087',
2197
- 'P2SH,STRICTENC'
2198
- ],
2199
- [
2200
- '',
2201
- '00006162636465666768696a6b6c6d5daf740087',
2202
- 'P2SH,STRICTENC'
2203
- ],
2204
- [
2205
- '',
2206
- '00006162636465666768696a6b6c6d6e5eaf740087',
2207
- 'P2SH,STRICTENC'
2208
- ],
2209
- [
2210
- '',
2211
- '00006162636465666768696a6b6c6d6e6f5faf740087',
2212
- 'P2SH,STRICTENC'
2213
- ],
2214
- [
2215
- '',
2216
- '00006162636465666768696a6b6c6d6e6f7060af740087',
2217
- 'P2SH,STRICTENC'
2218
- ],
2219
- [
2220
- '',
2221
- '00006162636465666768696a6b6c6d6e6f70710111af740087',
2222
- 'P2SH,STRICTENC'
2223
- ],
2224
- [
2225
- '',
2226
- '00006162636465666768696a6b6c6d6e6f7071720112af740087',
2227
- 'P2SH,STRICTENC'
2228
- ],
2229
- [
2230
- '',
2231
- '00006162636465666768696a6b6c6d6e6f707172730113af740087',
2232
- 'P2SH,STRICTENC'
2233
- ],
2234
- [
2235
- '',
2236
- '00006162636465666768696a6b6c6d6e6f70717273740114af740087',
2237
- 'P2SH,STRICTENC'
2238
- ],
2239
- [
2240
- '',
2241
- '000000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae',
2242
- 'P2SH,STRICTENC',
2243
- 'nOpCount is incremented by the number of keys evaluated in addition to the usual one op per op. In this case we have zero keys, so we can execute 201 CHECKMULTISIGS'
2244
- ],
2245
- [
2246
- '51',
2247
- '000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af',
2248
- 'P2SH,STRICTENC'
2249
- ],
2250
- [
2251
- '',
2252
- '61616161616161616161616100006162636465666768696a6b6c6d6e6f70717273740114ae00006162636465666768696a6b6c6d6e6f70717273740114ae00006162636465666768696a6b6c6d6e6f70717273740114ae00006162636465666768696a6b6c6d6e6f70717273740114ae00006162636465666768696a6b6c6d6e6f70717273740114ae00006162636465666768696a6b6c6d6e6f70717273740114ae00006162636465666768696a6b6c6d6e6f70717273740114ae00006162636465666768696a6b6c6d6e6f70717273740114ae00006162636465666768696a6b6c6d6e6f70717273740114ae',
2253
- 'P2SH,STRICTENC',
2254
- 'Even though there are no signatures being checked nOpCount is incremented by the number of keys.'
2255
- ],
2256
- [
2257
- '51',
2258
- '61616161616161616161616100006162636465666768696a6b6c6d6e6f70717273740114af00006162636465666768696a6b6c6d6e6f70717273740114af00006162636465666768696a6b6c6d6e6f70717273740114af00006162636465666768696a6b6c6d6e6f70717273740114af00006162636465666768696a6b6c6d6e6f70717273740114af00006162636465666768696a6b6c6d6e6f70717273740114af00006162636465666768696a6b6c6d6e6f70717273740114af00006162636465666768696a6b6c6d6e6f70717273740114af00006162636465666768696a6b6c6d6e6f70717273740114af',
2259
- 'P2SH,STRICTENC'
2260
- ],
2261
- [
2262
- '000151',
2263
- 'a914da1745e9b549bd0bfa1a569971c77eba30cd5a4b87',
2264
- 'P2SH,STRICTENC',
2265
- 'Very basic P2SH'
2266
- ],
2267
- [
2268
- '4c000151',
2269
- 'a914da1745e9b549bd0bfa1a569971c77eba30cd5a4b87',
2270
- 'P2SH,STRICTENC'
2271
- ],
2272
- [
2273
- '4042424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242',
2274
- '4d40004242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424287',
2275
- 'P2SH,STRICTENC',
2276
- 'Basic PUSH signedness check'
2277
- ],
2278
- [
2279
- '4c4042424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242',
2280
- '4d40004242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424287',
2281
- 'P2SH,STRICTENC',
2282
- 'Basic PUSHDATA1 signedness check'
2283
- ],
2284
- [
2285
- 'all PUSHDATA forms are equivalent'
2286
- ],
2287
- [
2288
- '4c4b111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111',
2289
- '4b11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111187',
2290
- '',
2291
- 'PUSHDATA1 of 75 bytes equals direct push of it'
2292
- ],
2293
- [
2294
- '4dff00111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111',
2295
- '4cff11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111187',
2296
- '',
2297
- 'PUSHDATA2 of 255 bytes equals PUSHDATA1 of it'
2298
- ],
2299
- [
2300
- '00',
2301
- '820087',
2302
- 'P2SH,STRICTENC',
2303
- 'Basic OP_0 execution'
2304
- ],
2305
- [
2306
- 'Numeric pushes'
2307
- ],
2308
- [
2309
- '0181',
2310
- '4f87',
2311
- '',
2312
- 'OP1_NEGATE pushes 0x81'
2313
- ],
2314
- [
2315
- '0101',
2316
- '5187',
2317
- '',
2318
- 'OP_1 pushes 0x01'
2319
- ],
2320
- [
2321
- '0102',
2322
- '5287',
2323
- '',
2324
- 'OP_2 pushes 0x02'
2325
- ],
2326
- [
2327
- '0103',
2328
- '5387',
2329
- '',
2330
- 'OP_3 pushes 0x03'
2331
- ],
2332
- [
2333
- '0104',
2334
- '5487',
2335
- '',
2336
- 'OP_4 pushes 0x04'
2337
- ],
2338
- [
2339
- '0105',
2340
- '5587',
2341
- '',
2342
- 'OP_5 pushes 0x05'
2343
- ],
2344
- [
2345
- '0106',
2346
- '5687',
2347
- '',
2348
- 'OP_6 pushes 0x06'
2349
- ],
2350
- [
2351
- '0107',
2352
- '5787',
2353
- '',
2354
- 'OP_7 pushes 0x07'
2355
- ],
2356
- [
2357
- '0108',
2358
- '5887',
2359
- '',
2360
- 'OP_8 pushes 0x08'
2361
- ],
2362
- [
2363
- '0109',
2364
- '5987',
2365
- '',
2366
- 'OP_9 pushes 0x09'
2367
- ],
2368
- [
2369
- '010a',
2370
- '5a87',
2371
- '',
2372
- 'OP_10 pushes 0x0a'
2373
- ],
2374
- [
2375
- '010b',
2376
- '5b87',
2377
- '',
2378
- 'OP_11 pushes 0x0b'
2379
- ],
2380
- [
2381
- '010c',
2382
- '5c87',
2383
- '',
2384
- 'OP_12 pushes 0x0c'
2385
- ],
2386
- [
2387
- '010d',
2388
- '5d87',
2389
- '',
2390
- 'OP_13 pushes 0x0d'
2391
- ],
2392
- [
2393
- '010e',
2394
- '5e87',
2395
- '',
2396
- 'OP_14 pushes 0x0e'
2397
- ],
2398
- [
2399
- '010f',
2400
- '5f87',
2401
- '',
2402
- 'OP_15 pushes 0x0f'
2403
- ],
2404
- [
2405
- '0110',
2406
- '6087',
2407
- '',
2408
- 'OP_16 pushes 0x10'
2409
- ],
2410
- [
2411
- 'Equivalency of different numeric encodings'
2412
- ],
2413
- [
2414
- '028000',
2415
- '0280009c',
2416
- '',
2417
- '0x8000 equals 128'
2418
- ],
2419
- [
2420
- '0100',
2421
- '009c',
2422
- '',
2423
- '0x00 numequals 0'
2424
- ],
2425
- [
2426
- '0180',
2427
- '009c',
2428
- '',
2429
- '0x80 (negative zero) numequals 0'
2430
- ],
2431
- [
2432
- '020080',
2433
- '009c',
2434
- '',
2435
- '0x0080 numequals 0'
2436
- ],
2437
- [
2438
- '020500',
2439
- '559c',
2440
- '',
2441
- '0x0500 numequals 5'
2442
- ],
2443
- [
2444
- '03ff7f80',
2445
- '02ffff9c',
2446
- '',
2447
- ''
2448
- ],
2449
- [
2450
- '03ff7f00',
2451
- '02ff7f9c',
2452
- '',
2453
- ''
2454
- ],
2455
- [
2456
- '04ffff7f80',
2457
- '03ffffff9c',
2458
- '',
2459
- ''
2460
- ],
2461
- [
2462
- '04ffff7f00',
2463
- '03ffff7f9c',
2464
- '',
2465
- ''
2466
- ],
2467
- [
2468
- 'Unevaluated non-minimal pushes are ignored'
2469
- ],
2470
- [
2471
- '00634c006851',
2472
- '',
2473
- 'MINIMALDATA',
2474
- 'non-minimal PUSHDATA1 ignored'
2475
- ],
2476
- [
2477
- '00634d00006851',
2478
- '',
2479
- 'MINIMALDATA',
2480
- 'non-minimal PUSHDATA2 ignored'
2481
- ],
2482
- [
2483
- '00634c000000006851',
2484
- '',
2485
- 'MINIMALDATA',
2486
- 'non-minimal PUSHDATA4 ignored'
2487
- ],
2488
- [
2489
- '006301816851',
2490
- '',
2491
- 'MINIMALDATA',
2492
- '1NEGATE equiv'
2493
- ],
2494
- [
2495
- '006301016851',
2496
- '',
2497
- 'MINIMALDATA',
2498
- 'OP_1 equiv'
2499
- ],
2500
- [
2501
- '006301026851',
2502
- '',
2503
- 'MINIMALDATA',
2504
- 'OP_2 equiv'
2505
- ],
2506
- [
2507
- '006301036851',
2508
- '',
2509
- 'MINIMALDATA',
2510
- 'OP_3 equiv'
2511
- ],
2512
- [
2513
- '006301046851',
2514
- '',
2515
- 'MINIMALDATA',
2516
- 'OP_4 equiv'
2517
- ],
2518
- [
2519
- '006301056851',
2520
- '',
2521
- 'MINIMALDATA',
2522
- 'OP_5 equiv'
2523
- ],
2524
- [
2525
- '006301066851',
2526
- '',
2527
- 'MINIMALDATA',
2528
- 'OP_6 equiv'
2529
- ],
2530
- [
2531
- '006301076851',
2532
- '',
2533
- 'MINIMALDATA',
2534
- 'OP_7 equiv'
2535
- ],
2536
- [
2537
- '006301086851',
2538
- '',
2539
- 'MINIMALDATA',
2540
- 'OP_8 equiv'
2541
- ],
2542
- [
2543
- '006301096851',
2544
- '',
2545
- 'MINIMALDATA',
2546
- 'OP_9 equiv'
2547
- ],
2548
- [
2549
- '0063010a6851',
2550
- '',
2551
- 'MINIMALDATA',
2552
- 'OP_10 equiv'
2553
- ],
2554
- [
2555
- '0063010b6851',
2556
- '',
2557
- 'MINIMALDATA',
2558
- 'OP_11 equiv'
2559
- ],
2560
- [
2561
- '0063010c6851',
2562
- '',
2563
- 'MINIMALDATA',
2564
- 'OP_12 equiv'
2565
- ],
2566
- [
2567
- '0063010d6851',
2568
- '',
2569
- 'MINIMALDATA',
2570
- 'OP_13 equiv'
2571
- ],
2572
- [
2573
- '0063010e6851',
2574
- '',
2575
- 'MINIMALDATA',
2576
- 'OP_14 equiv'
2577
- ],
2578
- [
2579
- '0063010f6851',
2580
- '',
2581
- 'MINIMALDATA',
2582
- 'OP_15 equiv'
2583
- ],
2584
- [
2585
- '006301106851',
2586
- '',
2587
- 'MINIMALDATA',
2588
- 'OP_16 equiv'
29
+ '5152',
30
+ '52885187',
31
+ 'P2SH,STRICTENC',
32
+ 'Similarly whitespace around and between symbols'
2589
33
  ],
34
+ ['5152', '52885187', 'P2SH,STRICTENC'],
35
+ ['5152', '52885187', 'P2SH,STRICTENC'],
36
+ ['5152', '52885187', 'P2SH,STRICTENC'],
37
+ ['5152', '52885187', 'P2SH,STRICTENC'],
38
+ ['51', '', 'P2SH,STRICTENC'],
2590
39
  [
2591
- 'Numeric minimaldata rules are only applied when a stack item is numerically evaluated; the push itself is allowed'
40
+ '020100',
41
+ '',
42
+ 'P2SH,STRICTENC',
43
+ 'all bytes are significant, not only the last one'
2592
44
  ],
2593
45
  [
2594
- '0100',
2595
- '51',
2596
- 'MINIMALDATA'
46
+ '09000000000000000010',
47
+ '',
48
+ 'P2SH,STRICTENC',
49
+ 'equals zero when cast to Int64'
2597
50
  ],
51
+ ['010b', '5b87', 'P2SH,STRICTENC', 'push 1 byte'],
52
+ ['02417a', '417a87', 'P2SH,STRICTENC'],
2598
53
  [
2599
- '0180',
2600
- '51',
2601
- 'MINIMALDATA'
54
+ '4b417a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a',
55
+ '417a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a87',
56
+ 'P2SH,STRICTENC',
57
+ 'push 75 bytes'
2602
58
  ],
59
+ ['4c0107', '5787', 'P2SH,STRICTENC', '0x4c is OP_PUSHDATA1'],
60
+ ['4d010008', '5887', 'P2SH,STRICTENC', '0x4d is OP_PUSHDATA2'],
61
+ ['4e0100000009', '5987', 'P2SH,STRICTENC', '0x4e is OP_PUSHDATA4'],
62
+ ['4c00', '0087', 'P2SH,STRICTENC'],
63
+ ['4d0000', '0087', 'P2SH,STRICTENC'],
64
+ ['4e00000000', '0087', 'P2SH,STRICTENC'],
65
+ ['4f02e80393', '02e70387', 'P2SH,STRICTENC'],
66
+ ['00', '63506851', 'P2SH,STRICTENC', '0x50 is reserved (ok if not executed)'],
2603
67
  [
2604
- '020180',
2605
68
  '51',
2606
- 'MINIMALDATA'
69
+ '5f936087',
70
+ 'P2SH,STRICTENC',
71
+ '0x51 through 0x60 push 1 through 16 onto stack'
2607
72
  ],
73
+ ['51', '61', 'P2SH,STRICTENC'],
2608
74
  [
2609
- '020100',
2610
- '51',
2611
- 'MINIMALDATA'
75
+ '00',
76
+ '6362675168',
77
+ 'P2SH,STRICTENC',
78
+ 'VER non-functional (ok if not executed)'
2612
79
  ],
80
+ ['00', '6350898a675168', 'P2SH,STRICTENC', 'RESERVED ok in un-executed IF'],
81
+ ['51', '766368', 'P2SH,STRICTENC'],
82
+ ['51', '635168', 'P2SH,STRICTENC'],
83
+ ['51', '76636768', 'P2SH,STRICTENC'],
84
+ ['51', '63516768', 'P2SH,STRICTENC'],
85
+ ['00', '63675168', 'P2SH,STRICTENC'],
86
+ ['5151', '63635167006868', 'P2SH,STRICTENC'],
87
+ ['5100', '63635167006868', 'P2SH,STRICTENC'],
88
+ ['5151', '63635167006867630067516868', 'P2SH,STRICTENC'],
89
+ ['0000', '63635167006867630067516868', 'P2SH,STRICTENC'],
90
+ ['5100', '64635167006868', 'P2SH,STRICTENC'],
91
+ ['5151', '64635167006868', 'P2SH,STRICTENC'],
92
+ ['5100', '64635167006867630067516868', 'P2SH,STRICTENC'],
93
+ ['0051', '64635167006867630067516868', 'P2SH,STRICTENC'],
2613
94
  [
2614
- '020200',
2615
- '51',
2616
- 'MINIMALDATA'
95
+ '00',
96
+ '63006751670068',
97
+ 'P2SH,STRICTENC',
98
+ "Multiple ELSE's are valid and executed inverts on each ELSE encountered"
2617
99
  ],
100
+ ['51', '635167006768', 'P2SH,STRICTENC'],
101
+ ['51', '636700675168', 'P2SH,STRICTENC'],
102
+ ['51', '63516700675168935287', 'P2SH,STRICTENC'],
2618
103
  [
2619
- '020300',
2620
104
  '51',
2621
- 'MINIMALDATA'
105
+ '63a76767a76767a76767a76767a76767a76767a76767a76767a76767a76767a76767a76767a76767a76767a76767a76767a76767a76767a76767a7681468ca4fec736264c13b859bac43d5173df687168287',
106
+ 'P2SH,STRICTENC'
2622
107
  ],
2623
108
  [
2624
- '020400',
2625
109
  '51',
2626
- 'MINIMALDATA'
110
+ '64006751670068',
111
+ 'P2SH,STRICTENC',
112
+ "Multiple ELSE's are valid and execution inverts on each ELSE encountered"
2627
113
  ],
114
+ ['00', '645167006768', 'P2SH,STRICTENC'],
115
+ ['00', '646700675168', 'P2SH,STRICTENC'],
116
+ ['00', '64516700675168935287', 'P2SH,STRICTENC'],
2628
117
  [
2629
- '020500',
2630
- '51',
2631
- 'MINIMALDATA'
118
+ '00',
119
+ '64a76767a76767a76767a76767a76767a76767a76767a76767a76767a76767a76767a76767a76767a76767a76767a76767a76767a76767a76767a7681468ca4fec736264c13b859bac43d5173df687168287',
120
+ 'P2SH,STRICTENC'
2632
121
  ],
2633
122
  [
2634
- '020600',
2635
- '51',
2636
- 'MINIMALDATA'
123
+ '00',
124
+ '6351636a676a676a6867516351676a675168676a68935287',
125
+ 'P2SH,STRICTENC',
126
+ 'Nested ELSE ELSE'
2637
127
  ],
128
+ ['51', '6400646a676a676a6867006451676a675168676a68935287', 'P2SH,STRICTENC'],
129
+ ['00', '636a6851', 'P2SH,STRICTENC', 'RETURN only works if executed'],
130
+ ['5151', '69', 'P2SH,STRICTENC'],
2638
131
  [
2639
- '020700',
2640
- '51',
2641
- 'MINIMALDATA'
132
+ '51050100000000',
133
+ '69',
134
+ 'P2SH,STRICTENC',
135
+ 'values >4 bytes can be cast to boolean'
2642
136
  ],
137
+ ['510180', '630068', 'P2SH,STRICTENC', 'negative 0 is false'],
138
+ ['5a005b6b756c', '93011587', 'P2SH,STRICTENC'],
2643
139
  [
2644
- '020800',
2645
- '51',
2646
- 'MINIMALDATA'
140
+ '676176696e5f7761735f686572656b5b6c',
141
+ '676176696e5f7761735f68657265885b87',
142
+ 'P2SH,STRICTENC'
2647
143
  ],
144
+ ['0073', '7451880087', 'P2SH,STRICTENC'],
145
+ ['5173', '74528851885187', 'P2SH,STRICTENC'],
2648
146
  [
2649
- '020900',
2650
- '51',
2651
- 'MINIMALDATA'
147
+ '05010000000073',
148
+ '74528805010000000087',
149
+ 'P2SH,STRICTENC',
150
+ 'IFDUP dups non ints'
2652
151
  ],
152
+ ['0075', '740087', 'P2SH,STRICTENC'],
153
+ ['00', '76519351880087', 'P2SH,STRICTENC'],
154
+ ['0051', '77', 'P2SH,STRICTENC'],
155
+ ['5100', '78745388', 'P2SH,STRICTENC'],
156
+ ['011601150114', '0079011488745387', 'P2SH,STRICTENC'],
157
+ ['011601150114', '5179011588745387', 'P2SH,STRICTENC'],
158
+ ['011601150114', '5279011688745387', 'P2SH,STRICTENC'],
159
+ ['011601150114', '007a011488745287', 'P2SH,STRICTENC'],
160
+ ['011601150114', '517a011588745287', 'P2SH,STRICTENC'],
161
+ ['011601150114', '527a011688745287', 'P2SH,STRICTENC'],
162
+ ['011601150114', '7b011687', 'P2SH,STRICTENC'],
163
+ ['011601150114', '7b75011487', 'P2SH,STRICTENC'],
164
+ ['011601150114', '7b7575011587', 'P2SH,STRICTENC'],
165
+ ['011601150114', '7b7b011587', 'P2SH,STRICTENC'],
166
+ ['011601150114', '7b7b7b011487', 'P2SH,STRICTENC'],
167
+ ['011901180117011601150114', '71011887', 'P2SH,STRICTENC'],
168
+ ['011901180117011601150114', '7175011987', 'P2SH,STRICTENC'],
169
+ ['011901180117011601150114', '716d011487', 'P2SH,STRICTENC'],
170
+ ['011901180117011601150114', '716d75011587', 'P2SH,STRICTENC'],
171
+ ['011901180117011601150114', '716d6d011687', 'P2SH,STRICTENC'],
172
+ ['011901180117011601150114', '716d6d75011787', 'P2SH,STRICTENC'],
173
+ ['011901180117011601150114', '7171011687', 'P2SH,STRICTENC'],
174
+ ['011901180117011601150114', '717171011487', 'P2SH,STRICTENC'],
175
+ ['5100', '7c51880087', 'P2SH,STRICTENC'],
176
+ ['0051', '7d7453887c6d', 'P2SH,STRICTENC'],
177
+ ['5d5e', '6e7b8887', 'P2SH,STRICTENC'],
178
+ ['4f005152', '6f745788939353886d0088', 'P2SH,STRICTENC'],
179
+ ['51525355', '709393588893935687', 'P2SH,STRICTENC'],
180
+ ['51535557', '72935488935c87', 'P2SH,STRICTENC'],
181
+ ['00', '820087', 'P2SH,STRICTENC'],
182
+ ['51', '825187', 'P2SH,STRICTENC'],
183
+ ['017f', '825187', 'P2SH,STRICTENC'],
184
+ ['028000', '825287', 'P2SH,STRICTENC'],
185
+ ['02ff7f', '825287', 'P2SH,STRICTENC'],
186
+ ['03008000', '825387', 'P2SH,STRICTENC'],
187
+ ['03ffff7f', '825387', 'P2SH,STRICTENC'],
188
+ ['0400008000', '825487', 'P2SH,STRICTENC'],
189
+ ['04ffffff7f', '825487', 'P2SH,STRICTENC'],
190
+ ['050000008000', '825587', 'P2SH,STRICTENC'],
191
+ ['05ffffffff7f', '825587', 'P2SH,STRICTENC'],
192
+ ['06000000008000', '825687', 'P2SH,STRICTENC'],
193
+ ['08ffffffffffffff7f', '825887', 'P2SH,STRICTENC'],
194
+ ['4f', '825187', 'P2SH,STRICTENC'],
195
+ ['01ff', '825187', 'P2SH,STRICTENC'],
196
+ ['028080', '825287', 'P2SH,STRICTENC'],
197
+ ['02ffff', '825287', 'P2SH,STRICTENC'],
198
+ ['03008080', '825387', 'P2SH,STRICTENC'],
199
+ ['03ffffff', '825387', 'P2SH,STRICTENC'],
200
+ ['0400008080', '825487', 'P2SH,STRICTENC'],
201
+ ['04ffffffff', '825487', 'P2SH,STRICTENC'],
202
+ ['050000008080', '825587', 'P2SH,STRICTENC'],
203
+ ['05ffffffffff', '825587', 'P2SH,STRICTENC'],
204
+ ['06000000008080', '825687', 'P2SH,STRICTENC'],
205
+ ['08ffffffffffffffff', '825887', 'P2SH,STRICTENC'],
2653
206
  [
2654
- '020a00',
2655
- '51',
2656
- 'MINIMALDATA'
207
+ '6162636465666768696a6b6c6d6e6f707172737475767778797a',
208
+ '82011a87',
209
+ 'P2SH,STRICTENC'
2657
210
  ],
211
+ ['012a', '825188012a87', 'P2SH,STRICTENC', 'SIZE does not consume argument'],
212
+ ['52018293', '0087', 'P2SH,STRICTENC'],
213
+ ['04ffffff7f04ffffffff93', '0087', 'P2SH,STRICTENC'],
214
+ ['4f4f93', '018287', 'P2SH,STRICTENC'],
215
+ ['0000', '87', 'P2SH,STRICTENC'],
216
+ ['515193', '5287', 'P2SH,STRICTENC'],
217
+ ['518b', '5287', 'P2SH,STRICTENC'],
218
+ ['016f8c', '016e87', 'P2SH,STRICTENC'],
219
+ ['016f51935c94', '016487', 'P2SH,STRICTENC'],
220
+ ['0090', '0087', 'P2SH,STRICTENC'],
221
+ ['6090', '6087', 'P2SH,STRICTENC'],
222
+ ['019090', '01908f87', 'P2SH,STRICTENC'],
223
+ ['0091', '61', 'P2SH,STRICTENC'],
224
+ ['5191', '0087', 'P2SH,STRICTENC'],
225
+ ['5b91', '0087', 'P2SH,STRICTENC'],
226
+ ['0092', '0087', 'P2SH,STRICTENC'],
227
+ ['5192', '5187', 'P2SH,STRICTENC'],
228
+ ['016f92', '5187', 'P2SH,STRICTENC'],
229
+ ['01ef92', '5187', 'P2SH,STRICTENC'],
230
+ ['51519a', '61', 'P2SH,STRICTENC'],
231
+ ['51009a', '91', 'P2SH,STRICTENC'],
232
+ ['00519a', '91', 'P2SH,STRICTENC'],
233
+ ['00009a', '91', 'P2SH,STRICTENC'],
234
+ ['6001119a', '61', 'P2SH,STRICTENC'],
235
+ ['51519b', '61', 'P2SH,STRICTENC'],
236
+ ['51009b', '61', 'P2SH,STRICTENC'],
237
+ ['00519b', '61', 'P2SH,STRICTENC'],
238
+ ['00009b', '91', 'P2SH,STRICTENC'],
239
+ ['6001119b', '61', 'P2SH,STRICTENC'],
240
+ ['5b5a5193', '9c', 'P2SH,STRICTENC'],
241
+ ['5b5a5193', '9d51', 'P2SH,STRICTENC'],
242
+ ['5b5a5193', '9e91', 'P2SH,STRICTENC'],
243
+ ['016f5a5193', '9e', 'P2SH,STRICTENC'],
244
+ ['5b5a', '9f91', 'P2SH,STRICTENC'],
245
+ ['5454', '9f91', 'P2SH,STRICTENC'],
246
+ ['5a5b', '9f', 'P2SH,STRICTENC'],
247
+ ['018b5b', '9f', 'P2SH,STRICTENC'],
248
+ ['018b018a', '9f', 'P2SH,STRICTENC'],
249
+ ['5b5a', 'a0', 'P2SH,STRICTENC'],
250
+ ['5454', 'a091', 'P2SH,STRICTENC'],
251
+ ['5a5b', 'a091', 'P2SH,STRICTENC'],
252
+ ['018b5b', 'a091', 'P2SH,STRICTENC'],
253
+ ['018b018a', 'a091', 'P2SH,STRICTENC'],
254
+ ['5b5a', 'a191', 'P2SH,STRICTENC'],
255
+ ['5454', 'a1', 'P2SH,STRICTENC'],
256
+ ['5a5b', 'a1', 'P2SH,STRICTENC'],
257
+ ['018b5b', 'a1', 'P2SH,STRICTENC'],
258
+ ['018b018a', 'a1', 'P2SH,STRICTENC'],
259
+ ['5b5a', 'a2', 'P2SH,STRICTENC'],
260
+ ['5454', 'a2', 'P2SH,STRICTENC'],
261
+ ['5a5b', 'a291', 'P2SH,STRICTENC'],
262
+ ['018b5b', 'a291', 'P2SH,STRICTENC'],
263
+ ['018b018a', 'a291', 'P2SH,STRICTENC'],
264
+ ['5100a3', '009c', 'P2SH,STRICTENC'],
265
+ ['0051a3', '009c', 'P2SH,STRICTENC'],
266
+ ['4f00a3', '4f9c', 'P2SH,STRICTENC'],
267
+ ['0004ffffffffa3', '04ffffffff9c', 'P2SH,STRICTENC'],
268
+ ['04ffffff7f00a4', '04ffffff7f9c', 'P2SH,STRICTENC'],
269
+ ['000164a4', '01649c', 'P2SH,STRICTENC'],
270
+ ['01e400a4', '009c', 'P2SH,STRICTENC'],
271
+ ['0004ffffffffa4', '009c', 'P2SH,STRICTENC'],
272
+ ['000051', 'a5', 'P2SH,STRICTENC'],
273
+ ['510051', 'a591', 'P2SH,STRICTENC'],
274
+ ['0004ffffffff04ffffff7f', 'a5', 'P2SH,STRICTENC'],
275
+ ['4f01e40164', 'a5', 'P2SH,STRICTENC'],
276
+ ['5b01e40164', 'a5', 'P2SH,STRICTENC'],
277
+ ['04ffffffff01e40164', 'a591', 'P2SH,STRICTENC'],
278
+ ['04ffffff7f01e40164', 'a591', 'P2SH,STRICTENC'],
279
+ ['04ffffff7f04ffffff7f94', '0087', 'P2SH,STRICTENC'],
2658
280
  [
2659
- '020b00',
2660
- '51',
2661
- 'MINIMALDATA'
281
+ '04ffffff7f7693',
282
+ '05feffffff0087',
283
+ 'P2SH,STRICTENC',
284
+ '>32 bit EQUAL is valid'
2662
285
  ],
286
+ ['04ffffff7f8f7693', '05feffffff8087', 'P2SH,STRICTENC'],
287
+ ['', 'a6149c1185a5c5e9fc54612808977ee8f548b2258d3187', 'P2SH,STRICTENC'],
288
+ ['61', 'a6140bdc9d2d256b3ee9daae347be6f4dc835a467ffe87', 'P2SH,STRICTENC'],
2663
289
  [
2664
- '020c00',
2665
- '51',
2666
- 'MINIMALDATA'
290
+ '6162636465666768696a6b6c6d6e6f707172737475767778797a',
291
+ 'a614f71c27109c692c1b56bbdceb5b9d2865b3708dbc87',
292
+ 'P2SH,STRICTENC'
2667
293
  ],
294
+ ['', 'a714da39a3ee5e6b4b0d3255bfef95601890afd8070987', 'P2SH,STRICTENC'],
295
+ ['61', 'a71486f7e437faa5a7fce15d1ddcb9eaeaea377667b887', 'P2SH,STRICTENC'],
2668
296
  [
2669
- '020d00',
2670
- '51',
2671
- 'MINIMALDATA'
297
+ '6162636465666768696a6b6c6d6e6f707172737475767778797a',
298
+ 'a71432d10c7b8cf96570ca04ce37f2a19d84240d3a8987',
299
+ 'P2SH,STRICTENC'
2672
300
  ],
2673
301
  [
2674
- '020e00',
2675
- '51',
2676
- 'MINIMALDATA'
302
+ '',
303
+ 'a820e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b85587',
304
+ 'P2SH,STRICTENC'
2677
305
  ],
2678
306
  [
2679
- '020f00',
2680
- '51',
2681
- 'MINIMALDATA'
307
+ '61',
308
+ 'a820ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb87',
309
+ 'P2SH,STRICTENC'
2682
310
  ],
2683
311
  [
2684
- '021000',
2685
- '51',
2686
- 'MINIMALDATA'
312
+ '6162636465666768696a6b6c6d6e6f707172737475767778797a',
313
+ 'a82071c480df93d6ae2f1efad1447c66c9525e316218cf51fc8d9ed832f2daf18b7387',
314
+ 'P2SH,STRICTENC'
2687
315
  ],
316
+ ['', '76a97ca8a687', 'P2SH,STRICTENC'],
317
+ ['', '76aa7ca8a887', 'P2SH,STRICTENC'],
318
+ ['', '61a914b472a266d0bd89c13706a4132ccfb16f7c3b9fcb87', 'P2SH,STRICTENC'],
319
+ ['61', 'a96114994355199e516ff76c4fa4aab39337b9d84cf12b87', 'P2SH,STRICTENC'],
2688
320
  [
2689
- "Valid version of the 'Test every numeric-accepting opcode for correct handling of the numeric minimal encoding rule' script_invalid test"
321
+ '6162636465666768696a6b6c6d6e6f707172737475767778797a',
322
+ 'a94c14c286a1af0947f58d1ad787385b1c2c4a976f9e7187',
323
+ 'P2SH,STRICTENC'
2690
324
  ],
2691
325
  [
2692
- '51020000',
2693
- '7975',
2694
- ''
326
+ '',
327
+ 'aa205df6e0e2761359d30a8275058e299fcc0381534545f55cf43e41983f5d4c945687',
328
+ 'P2SH,STRICTENC'
2695
329
  ],
2696
330
  [
2697
- '51020000',
2698
- '7a7551',
2699
- ''
331
+ '61',
332
+ 'aa20bf5d3affb73efd2ec6c36ad3112dd933efed63c4e1cbffcfa88e2759c144f2d887',
333
+ 'P2SH,STRICTENC'
2700
334
  ],
2701
335
  [
2702
- '020000',
2703
- '8b7551',
2704
- ''
336
+ '6162636465666768696a6b6c6d6e6f707172737475767778797a',
337
+ 'aa4c20ca139bc10c2f660da42666f72e89a225936fc60f193c161124a672050c43467187',
338
+ 'P2SH,STRICTENC'
2705
339
  ],
340
+ ['51', 'b0b1b2b3b4b5b6b7b8b95187', 'P2SH,STRICTENC'],
2706
341
  [
2707
- '020000',
2708
- '8c7551',
2709
- ''
342
+ '4e060000005f746f5f3130b0b1b2b3b4b5b6b7b8b9',
343
+ '4e060000005f746f5f313087',
344
+ 'P2SH,STRICTENC'
2710
345
  ],
2711
346
  [
2712
- '020000',
2713
- '8f7551',
2714
- ''
347
+ '51',
348
+ '61',
349
+ 'P2SH,STRICTENC,DISCOURAGE_UPGRADABLE_NOPS',
350
+ 'Discourage NOPx flag allows OP_NOP'
2715
351
  ],
2716
352
  [
2717
- '020000',
2718
- '907551',
2719
- ''
353
+ '00',
354
+ '63b96851',
355
+ 'P2SH,STRICTENC,DISCOURAGE_UPGRADABLE_NOPS',
356
+ 'Discouraged NOPs are allowed if not executed'
2720
357
  ],
2721
358
  [
2722
- '020000',
2723
- '917551',
2724
- ''
359
+ '00',
360
+ '63ba675168',
361
+ 'P2SH,STRICTENC',
362
+ 'opcodes above NOP10 invalid if executed'
2725
363
  ],
364
+ ['00', '63bb675168', 'P2SH,STRICTENC'],
365
+ ['00', '63bc675168', 'P2SH,STRICTENC'],
366
+ ['00', '63bd675168', 'P2SH,STRICTENC'],
367
+ ['00', '63be675168', 'P2SH,STRICTENC'],
368
+ ['00', '63bf675168', 'P2SH,STRICTENC'],
369
+ ['00', '63c0675168', 'P2SH,STRICTENC'],
370
+ ['00', '63c1675168', 'P2SH,STRICTENC'],
371
+ ['00', '63c2675168', 'P2SH,STRICTENC'],
372
+ ['00', '63c3675168', 'P2SH,STRICTENC'],
373
+ ['00', '63c4675168', 'P2SH,STRICTENC'],
374
+ ['00', '63c5675168', 'P2SH,STRICTENC'],
375
+ ['00', '63c6675168', 'P2SH,STRICTENC'],
376
+ ['00', '63c7675168', 'P2SH,STRICTENC'],
377
+ ['00', '63c8675168', 'P2SH,STRICTENC'],
378
+ ['00', '63c9675168', 'P2SH,STRICTENC'],
379
+ ['00', '63ca675168', 'P2SH,STRICTENC'],
380
+ ['00', '63cb675168', 'P2SH,STRICTENC'],
381
+ ['00', '63cc675168', 'P2SH,STRICTENC'],
382
+ ['00', '63cd675168', 'P2SH,STRICTENC'],
383
+ ['00', '63ce675168', 'P2SH,STRICTENC'],
384
+ ['00', '63cf675168', 'P2SH,STRICTENC'],
385
+ ['00', '63d0675168', 'P2SH,STRICTENC'],
386
+ ['00', '63d1675168', 'P2SH,STRICTENC'],
387
+ ['00', '63d2675168', 'P2SH,STRICTENC'],
388
+ ['00', '63d3675168', 'P2SH,STRICTENC'],
389
+ ['00', '63d4675168', 'P2SH,STRICTENC'],
390
+ ['00', '63d5675168', 'P2SH,STRICTENC'],
391
+ ['00', '63d6675168', 'P2SH,STRICTENC'],
392
+ ['00', '63d7675168', 'P2SH,STRICTENC'],
393
+ ['00', '63d8675168', 'P2SH,STRICTENC'],
394
+ ['00', '63d9675168', 'P2SH,STRICTENC'],
395
+ ['00', '63da675168', 'P2SH,STRICTENC'],
396
+ ['00', '63db675168', 'P2SH,STRICTENC'],
397
+ ['00', '63dc675168', 'P2SH,STRICTENC'],
398
+ ['00', '63dd675168', 'P2SH,STRICTENC'],
399
+ ['00', '63de675168', 'P2SH,STRICTENC'],
400
+ ['00', '63df675168', 'P2SH,STRICTENC'],
401
+ ['00', '63e0675168', 'P2SH,STRICTENC'],
402
+ ['00', '63e1675168', 'P2SH,STRICTENC'],
403
+ ['00', '63e2675168', 'P2SH,STRICTENC'],
404
+ ['00', '63e3675168', 'P2SH,STRICTENC'],
405
+ ['00', '63e4675168', 'P2SH,STRICTENC'],
406
+ ['00', '63e5675168', 'P2SH,STRICTENC'],
407
+ ['00', '63e6675168', 'P2SH,STRICTENC'],
408
+ ['00', '63e7675168', 'P2SH,STRICTENC'],
409
+ ['00', '63e8675168', 'P2SH,STRICTENC'],
410
+ ['00', '63e9675168', 'P2SH,STRICTENC'],
411
+ ['00', '63ea675168', 'P2SH,STRICTENC'],
412
+ ['00', '63eb675168', 'P2SH,STRICTENC'],
413
+ ['00', '63ec675168', 'P2SH,STRICTENC'],
414
+ ['00', '63ed675168', 'P2SH,STRICTENC'],
415
+ ['00', '63ee675168', 'P2SH,STRICTENC'],
416
+ ['00', '63ef675168', 'P2SH,STRICTENC'],
417
+ ['00', '63f0675168', 'P2SH,STRICTENC'],
418
+ ['00', '63f1675168', 'P2SH,STRICTENC'],
419
+ ['00', '63f2675168', 'P2SH,STRICTENC'],
420
+ ['00', '63f3675168', 'P2SH,STRICTENC'],
421
+ ['00', '63f4675168', 'P2SH,STRICTENC'],
422
+ ['00', '63f5675168', 'P2SH,STRICTENC'],
423
+ ['00', '63f6675168', 'P2SH,STRICTENC'],
424
+ ['00', '63f7675168', 'P2SH,STRICTENC'],
425
+ ['00', '63f8675168', 'P2SH,STRICTENC'],
426
+ ['00', '63f9675168', 'P2SH,STRICTENC'],
427
+ ['00', '63fa675168', 'P2SH,STRICTENC'],
428
+ ['00', '63fb675168', 'P2SH,STRICTENC'],
429
+ ['00', '63fc675168', 'P2SH,STRICTENC'],
430
+ ['00', '63fd675168', 'P2SH,STRICTENC'],
431
+ ['00', '63fe675168', 'P2SH,STRICTENC'],
432
+ ['00', '63ff675168', 'P2SH,STRICTENC'],
2726
433
  [
2727
- '020000',
2728
- '927551',
2729
- ''
434
+ '61',
435
+ '62626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262',
436
+ 'P2SH,STRICTENC',
437
+ '520 byte push'
2730
438
  ],
2731
439
  [
2732
- '00020000',
2733
- '937551',
2734
- ''
440
+ '51',
441
+ '616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161',
442
+ 'P2SH,STRICTENC',
443
+ '201 opcodes executed. 0x61 is NOP'
2735
444
  ],
2736
445
  [
2737
- '02000000',
2738
- '937551',
2739
- ''
446
+ '51525354556f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f',
447
+ '51525354556f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f',
448
+ 'P2SH,STRICTENC',
449
+ '1,000 stack size (0x6f is 3DUP)'
2740
450
  ],
2741
451
  [
2742
- '00020000',
2743
- '947551',
2744
- ''
452
+ '516b526b5354556f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f',
453
+ '515253545556576f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f',
454
+ 'P2SH,STRICTENC',
455
+ '1,000 stack size (altstack cleared between scriptSig/scriptPubKey)'
2745
456
  ],
2746
457
  [
2747
- '02000000',
2748
- '947551',
2749
- ''
458
+ '616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f',
459
+ '616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6e616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161',
460
+ 'P2SH,STRICTENC',
461
+ 'Max-size (10,000-byte), max-push(520 bytes), max-opcodes(201), max stack size(1,000 items). 0x6f is 3DUP, 0x61 is NOP'
2750
462
  ],
2751
463
  [
2752
- '00020000',
2753
- '9a7551',
2754
- ''
464
+ '00',
465
+ '6350505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050506851',
466
+ 'P2SH,STRICTENC',
467
+ ">201 opcodes, but RESERVED (0x50) doesn't count towards opcode limit."
2755
468
  ],
469
+ ['61', '51', 'P2SH,STRICTENC'],
2756
470
  [
2757
- '02000000',
2758
- '9a7551',
2759
- ''
471
+ '51',
472
+ '010187',
473
+ 'P2SH,STRICTENC',
474
+ 'The following is useful for checking implementations of BN_bn2mpi'
2760
475
  ],
476
+ ['017f', '017f87', 'P2SH,STRICTENC'],
477
+ ['028000', '02800087', 'P2SH,STRICTENC', 'Leave room for the sign bit'],
478
+ ['02ff7f', '02ff7f87', 'P2SH,STRICTENC'],
479
+ ['03008000', '0300800087', 'P2SH,STRICTENC'],
480
+ ['03ffff7f', '03ffff7f87', 'P2SH,STRICTENC'],
481
+ ['0400008000', '040000800087', 'P2SH,STRICTENC'],
482
+ ['04ffffff7f', '04ffffff7f87', 'P2SH,STRICTENC'],
483
+ ['050000008000', '05000000800087', 'P2SH,STRICTENC'],
484
+ ['05ffffffff7f', '05ffffffff7f87', 'P2SH,STRICTENC'],
485
+ ['06000000008000', '06ffffffff7f87', 'P2SH,STRICTENC'],
486
+ ['08ffffffffffffff7f', '08ffffffffffffff7f87', 'P2SH,STRICTENC'],
2761
487
  [
2762
- '00020000',
2763
- '9b7551',
2764
- ''
488
+ '4f',
489
+ '018187',
490
+ 'P2SH,STRICTENC',
491
+ 'Numbers are little-endian with the MSB being a sign bit'
2765
492
  ],
493
+ ['01ff', '01ff87', 'P2SH,STRICTENC'],
494
+ ['028080', '02808087', 'P2SH,STRICTENC'],
495
+ ['02ffff', '02ffff87', 'P2SH,STRICTENC'],
496
+ ['03008080', '0300808087', 'P2SH,STRICTENC'],
497
+ ['03ffffff', '03ffffff87', 'P2SH,STRICTENC'],
498
+ ['0400008080', '040000808087', 'P2SH,STRICTENC'],
499
+ ['04ffffffff', '04ffffffff87', 'P2SH,STRICTENC'],
500
+ ['050000008080', '05000000808087', 'P2SH,STRICTENC'],
501
+ ['05ffffffff80', '05ffffffff8087', 'P2SH,STRICTENC'],
502
+ ['05ffffffffff', '05ffffffffff87', 'P2SH,STRICTENC'],
503
+ ['06000000008080', '0600000000808087', 'P2SH,STRICTENC'],
504
+ ['08ffffffffffffffff', '08ffffffffffffffff87', 'P2SH,STRICTENC'],
2766
505
  [
2767
- '02000000',
2768
- '9b7551',
2769
- ''
506
+ '04ffffff7f',
507
+ '8b05000000800087',
508
+ 'P2SH,STRICTENC',
509
+ 'We can do math on 4-byte integers, and compare 5-byte ones'
2770
510
  ],
511
+ ['04ffffff7f', '8b51', 'P2SH,STRICTENC'],
512
+ ['04ffffffff', '8b51', 'P2SH,STRICTENC'],
513
+ ['51', '0201008791', 'P2SH,STRICTENC', 'Not the same byte array...'],
514
+ ['51', '0201009c', 'P2SH,STRICTENC', '... but they are numerically equal'],
515
+ ['5b', '4c030b00009c', 'P2SH,STRICTENC'],
516
+ ['00', '01808791', 'P2SH,STRICTENC'],
517
+ ['00', '01809c', 'P2SH,STRICTENC', 'Zero numerically equals negative zero'],
518
+ ['00', '0200809c', 'P2SH,STRICTENC'],
519
+ ['03000080', '04000000809c', 'P2SH,STRICTENC'],
520
+ ['03100080', '04100000809c', 'P2SH,STRICTENC'],
521
+ ['03100000', '04100000009c', 'P2SH,STRICTENC'],
2771
522
  [
2772
- '00020000',
2773
- '9c7551',
2774
- ''
523
+ '61',
524
+ '6151',
525
+ 'P2SH,STRICTENC',
526
+ 'The following tests check the if(stack.size() < N) tests in each opcode'
2775
527
  ],
2776
528
  [
2777
- '02000051',
2778
- '9c7551',
2779
- ''
529
+ '51',
530
+ '635168',
531
+ 'P2SH,STRICTENC',
532
+ 'They are here to catch copy-and-paste errors'
2780
533
  ],
534
+ ['00', '645168', 'P2SH,STRICTENC', 'Most of them are duplicated elsewhere,'],
535
+ ['51', '6951', 'P2SH,STRICTENC', 'but, hey, more is always better, right?'],
536
+ ['00', '6b51', 'P2SH,STRICTENC'],
537
+ ['51', '6b6c', 'P2SH,STRICTENC'],
538
+ ['0000', '6d51', 'P2SH,STRICTENC'],
539
+ ['0051', '6e', 'P2SH,STRICTENC'],
540
+ ['000051', '6f', 'P2SH,STRICTENC'],
541
+ ['00510000', '70', 'P2SH,STRICTENC'],
542
+ ['005100000000', '71', 'P2SH,STRICTENC'],
543
+ ['00510000', '72', 'P2SH,STRICTENC'],
544
+ ['51', '73', 'P2SH,STRICTENC'],
545
+ ['61', '7451', 'P2SH,STRICTENC'],
546
+ ['00', '7551', 'P2SH,STRICTENC'],
547
+ ['51', '76', 'P2SH,STRICTENC'],
548
+ ['0051', '77', 'P2SH,STRICTENC'],
549
+ ['5100', '78', 'P2SH,STRICTENC'],
550
+ ['5100000053', '79', 'P2SH,STRICTENC'],
551
+ ['5100', '79', 'P2SH,STRICTENC'],
552
+ ['5100000053', '7a', 'P2SH,STRICTENC'],
553
+ ['5100', '7a', 'P2SH,STRICTENC'],
554
+ ['510000', '7b', 'P2SH,STRICTENC'],
555
+ ['5100', '7c', 'P2SH,STRICTENC'],
556
+ ['0051', '7d', 'P2SH,STRICTENC'],
557
+ ['51', '82', 'P2SH,STRICTENC'],
558
+ ['0000', '87', 'P2SH,STRICTENC'],
559
+ ['0000', '8851', 'P2SH,STRICTENC'],
2781
560
  [
2782
- '00020000',
2783
- '9d51',
2784
- ''
561
+ '000051',
562
+ '8787',
563
+ 'P2SH,STRICTENC',
564
+ 'OP_0 and bools must have identical byte representations'
2785
565
  ],
566
+ ['00', '8b', 'P2SH,STRICTENC'],
567
+ ['52', '8c', 'P2SH,STRICTENC'],
568
+ ['4f', '8f', 'P2SH,STRICTENC'],
569
+ ['4f', '90', 'P2SH,STRICTENC'],
570
+ ['00', '91', 'P2SH,STRICTENC'],
571
+ ['4f', '92', 'P2SH,STRICTENC'],
572
+ ['5100', '93', 'P2SH,STRICTENC'],
573
+ ['5100', '94', 'P2SH,STRICTENC'],
574
+ ['4f4f', '9a', 'P2SH,STRICTENC'],
575
+ ['4f00', '9b', 'P2SH,STRICTENC'],
576
+ ['0000', '9c', 'P2SH,STRICTENC'],
577
+ ['0000', '9d51', 'P2SH,STRICTENC'],
578
+ ['4f00', '9e', 'P2SH,STRICTENC'],
579
+ ['4f00', '9f', 'P2SH,STRICTENC'],
580
+ ['5100', 'a0', 'P2SH,STRICTENC'],
581
+ ['0000', 'a1', 'P2SH,STRICTENC'],
582
+ ['0000', 'a2', 'P2SH,STRICTENC'],
583
+ ['4f00', 'a3', 'P2SH,STRICTENC'],
584
+ ['5100', 'a4', 'P2SH,STRICTENC'],
585
+ ['4f4f00', 'a5', 'P2SH,STRICTENC'],
586
+ ['00', 'a6', 'P2SH,STRICTENC'],
587
+ ['00', 'a7', 'P2SH,STRICTENC'],
588
+ ['00', 'a8', 'P2SH,STRICTENC'],
589
+ ['00', 'a9', 'P2SH,STRICTENC'],
590
+ ['00', 'aa', 'P2SH,STRICTENC'],
591
+ ['61', 'ab51', 'P2SH,STRICTENC'],
592
+ ['61', 'b051', 'P2SH,STRICTENC'],
593
+ ['61', 'b151', 'P2SH,STRICTENC'],
594
+ ['61', 'b251', 'P2SH,STRICTENC'],
595
+ ['61', 'b351', 'P2SH,STRICTENC'],
596
+ ['61', 'b451', 'P2SH,STRICTENC'],
597
+ ['61', 'b551', 'P2SH,STRICTENC'],
598
+ ['61', 'b651', 'P2SH,STRICTENC'],
599
+ ['61', 'b751', 'P2SH,STRICTENC'],
600
+ ['61', 'b851', 'P2SH,STRICTENC'],
601
+ ['61', 'b951', 'P2SH,STRICTENC'],
2786
602
  [
2787
- '02000000',
2788
- '9d51',
2789
- ''
603
+ '',
604
+ '000000ae69740087',
605
+ 'P2SH,STRICTENC',
606
+ 'CHECKMULTISIG is allowed to have zero keys and/or sigs'
2790
607
  ],
608
+ ['', '000000af740087', 'P2SH,STRICTENC'],
2791
609
  [
2792
- '00020000',
2793
- '9e7551',
2794
- ''
610
+ '',
611
+ '00000051ae69740087',
612
+ 'P2SH,STRICTENC',
613
+ 'Zero sigs means no sigs are checked'
2795
614
  ],
615
+ ['', '00000051af740087', 'P2SH,STRICTENC'],
2796
616
  [
2797
- '02000000',
2798
- '9e7551',
2799
- ''
617
+ '',
618
+ '000000ae69740087',
619
+ 'P2SH,STRICTENC',
620
+ 'CHECKMULTISIG is allowed to have zero keys and/or sigs'
2800
621
  ],
622
+ ['', '000000af740087', 'P2SH,STRICTENC'],
2801
623
  [
2802
- '00020000',
2803
- '9f7551',
2804
- ''
624
+ '',
625
+ '00000051ae69740087',
626
+ 'P2SH,STRICTENC',
627
+ 'Zero sigs means no sigs are checked'
2805
628
  ],
629
+ ['', '00000051af740087', 'P2SH,STRICTENC'],
2806
630
  [
2807
- '02000000',
2808
- '9f7551',
2809
- ''
631
+ '',
632
+ '0000616252ae69740087',
633
+ 'P2SH,STRICTENC',
634
+ 'Test from up to 20 pubkeys, all not checked'
2810
635
  ],
636
+ ['', '000061626353ae69740087', 'P2SH,STRICTENC'],
637
+ ['', '00006162636454ae69740087', 'P2SH,STRICTENC'],
638
+ ['', '0000616263646555ae69740087', 'P2SH,STRICTENC'],
639
+ ['', '000061626364656656ae69740087', 'P2SH,STRICTENC'],
640
+ ['', '00006162636465666757ae69740087', 'P2SH,STRICTENC'],
641
+ ['', '0000616263646566676858ae69740087', 'P2SH,STRICTENC'],
642
+ ['', '000061626364656667686959ae69740087', 'P2SH,STRICTENC'],
643
+ ['', '00006162636465666768696a5aae69740087', 'P2SH,STRICTENC'],
644
+ ['', '00006162636465666768696a6b5bae69740087', 'P2SH,STRICTENC'],
645
+ ['', '00006162636465666768696a6b6c5cae69740087', 'P2SH,STRICTENC'],
646
+ ['', '00006162636465666768696a6b6c6d5dae69740087', 'P2SH,STRICTENC'],
647
+ ['', '00006162636465666768696a6b6c6d6e5eae69740087', 'P2SH,STRICTENC'],
648
+ ['', '00006162636465666768696a6b6c6d6e6f5fae69740087', 'P2SH,STRICTENC'],
649
+ ['', '00006162636465666768696a6b6c6d6e6f7060ae69740087', 'P2SH,STRICTENC'],
2811
650
  [
2812
- '00020000',
2813
- 'a07551',
2814
- ''
651
+ '',
652
+ '00006162636465666768696a6b6c6d6e6f70710111ae69740087',
653
+ 'P2SH,STRICTENC'
2815
654
  ],
2816
655
  [
2817
- '02000000',
2818
- 'a07551',
2819
- ''
656
+ '',
657
+ '00006162636465666768696a6b6c6d6e6f7071720112ae69740087',
658
+ 'P2SH,STRICTENC'
2820
659
  ],
2821
660
  [
2822
- '00020000',
2823
- 'a17551',
2824
- ''
661
+ '',
662
+ '00006162636465666768696a6b6c6d6e6f707172730113ae69740087',
663
+ 'P2SH,STRICTENC'
2825
664
  ],
2826
665
  [
2827
- '02000000',
2828
- 'a17551',
2829
- ''
666
+ '',
667
+ '00006162636465666768696a6b6c6d6e6f70717273740114ae69740087',
668
+ 'P2SH,STRICTENC'
2830
669
  ],
670
+ ['', '00006151af740087', 'P2SH,STRICTENC'],
671
+ ['', '0000616252af740087', 'P2SH,STRICTENC'],
672
+ ['', '000061626353af740087', 'P2SH,STRICTENC'],
673
+ ['', '00006162636454af740087', 'P2SH,STRICTENC'],
674
+ ['', '0000616263646555af740087', 'P2SH,STRICTENC'],
675
+ ['', '000061626364656656af740087', 'P2SH,STRICTENC'],
676
+ ['', '00006162636465666757af740087', 'P2SH,STRICTENC'],
677
+ ['', '0000616263646566676858af740087', 'P2SH,STRICTENC'],
678
+ ['', '000061626364656667686959af740087', 'P2SH,STRICTENC'],
679
+ ['', '00006162636465666768696a5aaf740087', 'P2SH,STRICTENC'],
680
+ ['', '00006162636465666768696a6b5baf740087', 'P2SH,STRICTENC'],
681
+ ['', '00006162636465666768696a6b6c5caf740087', 'P2SH,STRICTENC'],
682
+ ['', '00006162636465666768696a6b6c6d5daf740087', 'P2SH,STRICTENC'],
683
+ ['', '00006162636465666768696a6b6c6d6e5eaf740087', 'P2SH,STRICTENC'],
684
+ ['', '00006162636465666768696a6b6c6d6e6f5faf740087', 'P2SH,STRICTENC'],
685
+ ['', '00006162636465666768696a6b6c6d6e6f7060af740087', 'P2SH,STRICTENC'],
686
+ ['', '00006162636465666768696a6b6c6d6e6f70710111af740087', 'P2SH,STRICTENC'],
2831
687
  [
2832
- '00020000',
2833
- 'a27551',
2834
- ''
688
+ '',
689
+ '00006162636465666768696a6b6c6d6e6f7071720112af740087',
690
+ 'P2SH,STRICTENC'
2835
691
  ],
2836
692
  [
2837
- '02000000',
2838
- 'a27551',
2839
- ''
693
+ '',
694
+ '00006162636465666768696a6b6c6d6e6f707172730113af740087',
695
+ 'P2SH,STRICTENC'
2840
696
  ],
2841
697
  [
2842
- '00020000',
2843
- 'a37551',
2844
- ''
698
+ '',
699
+ '00006162636465666768696a6b6c6d6e6f70717273740114af740087',
700
+ 'P2SH,STRICTENC'
2845
701
  ],
2846
702
  [
2847
- '02000000',
2848
- 'a37551',
2849
- ''
703
+ '',
704
+ '000000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae',
705
+ 'P2SH,STRICTENC',
706
+ 'nOpCount is incremented by the number of keys evaluated in addition to the usual one op per op. In this case we have zero keys, so we can execute 201 CHECKMULTISIGS'
2850
707
  ],
2851
708
  [
2852
- '00020000',
2853
- 'a47551',
2854
- ''
709
+ '51',
710
+ '000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af000000af',
711
+ 'P2SH,STRICTENC'
2855
712
  ],
2856
713
  [
2857
- '02000000',
2858
- 'a47551',
2859
- ''
714
+ '',
715
+ '61616161616161616161616100006162636465666768696a6b6c6d6e6f70717273740114ae00006162636465666768696a6b6c6d6e6f70717273740114ae00006162636465666768696a6b6c6d6e6f70717273740114ae00006162636465666768696a6b6c6d6e6f70717273740114ae00006162636465666768696a6b6c6d6e6f70717273740114ae00006162636465666768696a6b6c6d6e6f70717273740114ae00006162636465666768696a6b6c6d6e6f70717273740114ae00006162636465666768696a6b6c6d6e6f70717273740114ae00006162636465666768696a6b6c6d6e6f70717273740114ae',
716
+ 'P2SH,STRICTENC',
717
+ 'Even though there are no signatures being checked nOpCount is incremented by the number of keys.'
2860
718
  ],
2861
719
  [
2862
- '0200000000',
2863
- 'a57551',
2864
- ''
720
+ '51',
721
+ '61616161616161616161616100006162636465666768696a6b6c6d6e6f70717273740114af00006162636465666768696a6b6c6d6e6f70717273740114af00006162636465666768696a6b6c6d6e6f70717273740114af00006162636465666768696a6b6c6d6e6f70717273740114af00006162636465666768696a6b6c6d6e6f70717273740114af00006162636465666768696a6b6c6d6e6f70717273740114af00006162636465666768696a6b6c6d6e6f70717273740114af00006162636465666768696a6b6c6d6e6f70717273740114af00006162636465666768696a6b6c6d6e6f70717273740114af',
722
+ 'P2SH,STRICTENC'
2865
723
  ],
2866
724
  [
2867
- '0002000000',
2868
- 'a57551',
2869
- ''
725
+ '000151',
726
+ 'a914da1745e9b549bd0bfa1a569971c77eba30cd5a4b87',
727
+ 'P2SH,STRICTENC',
728
+ 'Very basic P2SH'
2870
729
  ],
2871
730
  [
2872
- '0000020000',
2873
- 'a57551',
2874
- ''
731
+ '4c000151',
732
+ 'a914da1745e9b549bd0bfa1a569971c77eba30cd5a4b87',
733
+ 'P2SH,STRICTENC'
2875
734
  ],
2876
735
  [
2877
- '0000020000',
2878
- 'ae7551',
2879
- ''
736
+ '4042424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242',
737
+ '4d40004242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424287',
738
+ 'P2SH,STRICTENC',
739
+ 'Basic PUSH signedness check'
2880
740
  ],
2881
741
  [
2882
- '0002000000',
2883
- 'ae7551',
2884
- ''
742
+ '4c4042424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242',
743
+ '4d40004242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424287',
744
+ 'P2SH,STRICTENC',
745
+ 'Basic PUSHDATA1 signedness check'
2885
746
  ],
747
+ ['all PUSHDATA forms are equivalent'],
2886
748
  [
2887
- '000200000051',
2888
- 'ae7551',
2889
- ''
749
+ '4c4b111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111',
750
+ '4b11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111187',
751
+ '',
752
+ 'PUSHDATA1 of 75 bytes equals direct push of it'
2890
753
  ],
2891
754
  [
2892
- '0000020000',
2893
- 'af51',
2894
- ''
755
+ '4dff00111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111',
756
+ '4cff11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111187',
757
+ '',
758
+ 'PUSHDATA2 of 255 bytes equals PUSHDATA1 of it'
2895
759
  ],
760
+ ['00', '820087', 'P2SH,STRICTENC', 'Basic OP_0 execution'],
761
+ ['Numeric pushes'],
762
+ ['0181', '4f87', '', 'OP1_NEGATE pushes 0x81'],
763
+ ['0101', '5187', '', 'OP_1 pushes 0x01'],
764
+ ['0102', '5287', '', 'OP_2 pushes 0x02'],
765
+ ['0103', '5387', '', 'OP_3 pushes 0x03'],
766
+ ['0104', '5487', '', 'OP_4 pushes 0x04'],
767
+ ['0105', '5587', '', 'OP_5 pushes 0x05'],
768
+ ['0106', '5687', '', 'OP_6 pushes 0x06'],
769
+ ['0107', '5787', '', 'OP_7 pushes 0x07'],
770
+ ['0108', '5887', '', 'OP_8 pushes 0x08'],
771
+ ['0109', '5987', '', 'OP_9 pushes 0x09'],
772
+ ['010a', '5a87', '', 'OP_10 pushes 0x0a'],
773
+ ['010b', '5b87', '', 'OP_11 pushes 0x0b'],
774
+ ['010c', '5c87', '', 'OP_12 pushes 0x0c'],
775
+ ['010d', '5d87', '', 'OP_13 pushes 0x0d'],
776
+ ['010e', '5e87', '', 'OP_14 pushes 0x0e'],
777
+ ['010f', '5f87', '', 'OP_15 pushes 0x0f'],
778
+ ['0110', '6087', '', 'OP_16 pushes 0x10'],
779
+ ['Equivalency of different numeric encodings'],
780
+ ['028000', '0280009c', '', '0x8000 equals 128'],
781
+ ['0100', '009c', '', '0x00 numequals 0'],
782
+ ['0180', '009c', '', '0x80 (negative zero) numequals 0'],
783
+ ['020080', '009c', '', '0x0080 numequals 0'],
784
+ ['020500', '559c', '', '0x0500 numequals 5'],
785
+ ['03ff7f80', '02ffff9c', '', ''],
786
+ ['03ff7f00', '02ff7f9c', '', ''],
787
+ ['04ffff7f80', '03ffffff9c', '', ''],
788
+ ['04ffff7f00', '03ffff7f9c', '', ''],
789
+ ['Unevaluated non-minimal pushes are ignored'],
790
+ ['00634c006851', '', 'MINIMALDATA', 'non-minimal PUSHDATA1 ignored'],
791
+ ['00634d00006851', '', 'MINIMALDATA', 'non-minimal PUSHDATA2 ignored'],
792
+ ['00634c000000006851', '', 'MINIMALDATA', 'non-minimal PUSHDATA4 ignored'],
793
+ ['006301816851', '', 'MINIMALDATA', '1NEGATE equiv'],
794
+ ['006301016851', '', 'MINIMALDATA', 'OP_1 equiv'],
795
+ ['006301026851', '', 'MINIMALDATA', 'OP_2 equiv'],
796
+ ['006301036851', '', 'MINIMALDATA', 'OP_3 equiv'],
797
+ ['006301046851', '', 'MINIMALDATA', 'OP_4 equiv'],
798
+ ['006301056851', '', 'MINIMALDATA', 'OP_5 equiv'],
799
+ ['006301066851', '', 'MINIMALDATA', 'OP_6 equiv'],
800
+ ['006301076851', '', 'MINIMALDATA', 'OP_7 equiv'],
801
+ ['006301086851', '', 'MINIMALDATA', 'OP_8 equiv'],
802
+ ['006301096851', '', 'MINIMALDATA', 'OP_9 equiv'],
803
+ ['0063010a6851', '', 'MINIMALDATA', 'OP_10 equiv'],
804
+ ['0063010b6851', '', 'MINIMALDATA', 'OP_11 equiv'],
805
+ ['0063010c6851', '', 'MINIMALDATA', 'OP_12 equiv'],
806
+ ['0063010d6851', '', 'MINIMALDATA', 'OP_13 equiv'],
807
+ ['0063010e6851', '', 'MINIMALDATA', 'OP_14 equiv'],
808
+ ['0063010f6851', '', 'MINIMALDATA', 'OP_15 equiv'],
809
+ ['006301106851', '', 'MINIMALDATA', 'OP_16 equiv'],
2896
810
  [
2897
- '0002000000',
2898
- 'af51',
2899
- ''
811
+ 'Numeric minimaldata rules are only applied when a stack item is numerically evaluated; the push itself is allowed'
2900
812
  ],
813
+ ['0100', '51', 'MINIMALDATA'],
814
+ ['0180', '51', 'MINIMALDATA'],
815
+ ['020180', '51', 'MINIMALDATA'],
816
+ ['020100', '51', 'MINIMALDATA'],
817
+ ['020200', '51', 'MINIMALDATA'],
818
+ ['020300', '51', 'MINIMALDATA'],
819
+ ['020400', '51', 'MINIMALDATA'],
820
+ ['020500', '51', 'MINIMALDATA'],
821
+ ['020600', '51', 'MINIMALDATA'],
822
+ ['020700', '51', 'MINIMALDATA'],
823
+ ['020800', '51', 'MINIMALDATA'],
824
+ ['020900', '51', 'MINIMALDATA'],
825
+ ['020a00', '51', 'MINIMALDATA'],
826
+ ['020b00', '51', 'MINIMALDATA'],
827
+ ['020c00', '51', 'MINIMALDATA'],
828
+ ['020d00', '51', 'MINIMALDATA'],
829
+ ['020e00', '51', 'MINIMALDATA'],
830
+ ['020f00', '51', 'MINIMALDATA'],
831
+ ['021000', '51', 'MINIMALDATA'],
2901
832
  [
2902
- 'While not really correctly DER encoded, the empty signature is allowed by'
833
+ "Valid version of the 'Test every numeric-accepting opcode for correct handling of the numeric minimal encoding rule' script_invalid test"
2903
834
  ],
835
+ ['51020000', '7975', ''],
836
+ ['51020000', '7a7551', ''],
837
+ ['020000', '8b7551', ''],
838
+ ['020000', '8c7551', ''],
839
+ ['020000', '8f7551', ''],
840
+ ['020000', '907551', ''],
841
+ ['020000', '917551', ''],
842
+ ['020000', '927551', ''],
843
+ ['00020000', '937551', ''],
844
+ ['02000000', '937551', ''],
845
+ ['00020000', '947551', ''],
846
+ ['02000000', '947551', ''],
847
+ ['00020000', '9a7551', ''],
848
+ ['02000000', '9a7551', ''],
849
+ ['00020000', '9b7551', ''],
850
+ ['02000000', '9b7551', ''],
851
+ ['00020000', '9c7551', ''],
852
+ ['02000051', '9c7551', ''],
853
+ ['00020000', '9d51', ''],
854
+ ['02000000', '9d51', ''],
855
+ ['00020000', '9e7551', ''],
856
+ ['02000000', '9e7551', ''],
857
+ ['00020000', '9f7551', ''],
858
+ ['02000000', '9f7551', ''],
859
+ ['00020000', 'a07551', ''],
860
+ ['02000000', 'a07551', ''],
861
+ ['00020000', 'a17551', ''],
862
+ ['02000000', 'a17551', ''],
863
+ ['00020000', 'a27551', ''],
864
+ ['02000000', 'a27551', ''],
865
+ ['00020000', 'a37551', ''],
866
+ ['02000000', 'a37551', ''],
867
+ ['00020000', 'a47551', ''],
868
+ ['02000000', 'a47551', ''],
869
+ ['0200000000', 'a57551', ''],
870
+ ['0002000000', 'a57551', ''],
871
+ ['0000020000', 'a57551', ''],
872
+ ['0000020000', 'ae7551', ''],
873
+ ['0002000000', 'ae7551', ''],
874
+ ['000200000051', 'ae7551', ''],
875
+ ['0000020000', 'af51', ''],
876
+ ['0002000000', 'af51', ''],
877
+ ['While not really correctly DER encoded, the empty signature is allowed by'],
2904
878
  [
2905
879
  'STRICTENC to provide a compact way to provide a delibrately invalid signature.'
2906
880
  ],
@@ -2926,17 +900,13 @@ export default [
2926
900
  [
2927
901
  'script when it reaches an invalidly encoded signature or pubkey, we can use it'
2928
902
  ],
2929
- [
2930
- 'to test the exact order in which signatures and pubkeys are evaluated by'
2931
- ],
903
+ ['to test the exact order in which signatures and pubkeys are evaluated by'],
2932
904
  [
2933
905
  'distinguishing CHECKMULTISIG returning false on the stack and the script as a'
2934
906
  ],
907
+ ['whole failing.'],
2935
908
  [
2936
- 'whole failing.'
2937
- ],
2938
- [
2939
- 'See also the corresponding inverted versions of these tests in script_invalid.json'
909
+ 'See also the corresponding inverted versions of these tests in script_invalid'
2940
910
  ],
2941
911
  [
2942
912
  '00473044022044dc17b0887c161bb67ba9635bf758735bdde503e4b0a0987f587f14a4e1143d022009a215772d49a85dae40d8ca03955af26ad3978a0ff965faa12915e9586249a501473044022044dc17b0887c161bb67ba9635bf758735bdde503e4b0a0987f587f14a4e1143d022009a215772d49a85dae40d8ca03955af26ad3978a0ff965faa12915e9586249a501',
@@ -2950,9 +920,7 @@ export default [
2950
920
  'STRICTENC',
2951
921
  '2-of-2 CHECKMULTISIG NOT with both pubkeys valid, but second signature invalid. Valid pubkey fails, and CHECKMULTISIG exits early, prior to evaluation of second invalid signature.'
2952
922
  ],
2953
- [
2954
- 'Increase test coverage for DERSIG'
2955
- ],
923
+ ['Increase test coverage for DERSIG'],
2956
924
  [
2957
925
  '4a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000',
2958
926
  '00ac91',
@@ -3001,9 +969,7 @@ export default [
3001
969
  '',
3002
970
  'Negative S is correctly encoded'
3003
971
  ],
3004
- [
3005
- 'Automatically generated test cases'
3006
- ],
972
+ ['Automatically generated test cases'],
3007
973
  [
3008
974
  '47304402200a5c6163f07b8d3b013c4d1d6dba25e780b39658d79ba37af7057a3b7f15ffa102201fd9b4eaa9943f734928b99a83592c2e7bf342ea2680f6a2bb705167966b742001',
3009
975
  '410479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8ac',
@@ -3208,7 +1174,5 @@ export default [
3208
1174
  'CLEANSTACK,P2SH',
3209
1175
  'P2SH with CLEANSTACK'
3210
1176
  ],
3211
- [
3212
- 'The End'
3213
- ]
1177
+ ['The End']
3214
1178
  ]