@bsv/sdk 1.6.8 → 1.6.9

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 (603) hide show
  1. package/dist/cjs/package.json +4 -4
  2. package/dist/cjs/src/auth/__tests/Peer.test.js +446 -0
  3. package/dist/cjs/src/auth/__tests/Peer.test.js.map +1 -0
  4. package/dist/cjs/src/auth/__tests/SessionManager.test.js +69 -0
  5. package/dist/cjs/src/auth/__tests/SessionManager.test.js.map +1 -0
  6. package/dist/cjs/src/auth/certificates/__tests/Certificate.test.js +182 -0
  7. package/dist/cjs/src/auth/certificates/__tests/Certificate.test.js.map +1 -0
  8. package/dist/cjs/src/auth/certificates/__tests/MasterCertificate.test.js +184 -0
  9. package/dist/cjs/src/auth/certificates/__tests/MasterCertificate.test.js.map +1 -0
  10. package/dist/cjs/src/auth/certificates/__tests/VerifiableCertificate.test.js +75 -0
  11. package/dist/cjs/src/auth/certificates/__tests/VerifiableCertificate.test.js.map +1 -0
  12. package/dist/cjs/src/auth/utils/__tests/cryptononce.test.js +101 -0
  13. package/dist/cjs/src/auth/utils/__tests/cryptononce.test.js.map +1 -0
  14. package/dist/cjs/src/auth/utils/__tests/getVerifiableCertificates.test.js +106 -0
  15. package/dist/cjs/src/auth/utils/__tests/getVerifiableCertificates.test.js.map +1 -0
  16. package/dist/cjs/src/auth/utils/__tests/validateCertificates.test.js +111 -0
  17. package/dist/cjs/src/auth/utils/__tests/validateCertificates.test.js.map +1 -0
  18. package/dist/cjs/src/auth/utils/certificateHelpers.js +51 -0
  19. package/dist/cjs/src/auth/utils/certificateHelpers.js.map +1 -0
  20. package/dist/cjs/src/compat/__tests/BSM.test.js +69 -0
  21. package/dist/cjs/src/compat/__tests/BSM.test.js.map +1 -0
  22. package/dist/cjs/src/compat/__tests/ECIES.test.js +115 -0
  23. package/dist/cjs/src/compat/__tests/ECIES.test.js.map +1 -0
  24. package/dist/cjs/src/compat/__tests/HD.test.js +336 -0
  25. package/dist/cjs/src/compat/__tests/HD.test.js.map +1 -0
  26. package/dist/cjs/src/compat/__tests/Mnemonic.test.js +150 -0
  27. package/dist/cjs/src/compat/__tests/Mnemonic.test.js.map +1 -0
  28. package/dist/cjs/src/compat/__tests/Mnemonic.vectors.js +175 -0
  29. package/dist/cjs/src/compat/__tests/Mnemonic.vectors.js.map +1 -0
  30. package/dist/cjs/src/messages/__tests/EncryptedMessage.test.js +57 -0
  31. package/dist/cjs/src/messages/__tests/EncryptedMessage.test.js.map +1 -0
  32. package/dist/cjs/src/messages/__tests/SignedMessage.test.js +52 -0
  33. package/dist/cjs/src/messages/__tests/SignedMessage.test.js.map +1 -0
  34. package/dist/cjs/src/overlay-tools/__tests/LookupResolver.test.js +1471 -0
  35. package/dist/cjs/src/overlay-tools/__tests/LookupResolver.test.js.map +1 -0
  36. package/dist/cjs/src/overlay-tools/__tests/OverlayAdminTokenTemplate.test.js +78 -0
  37. package/dist/cjs/src/overlay-tools/__tests/OverlayAdminTokenTemplate.test.js.map +1 -0
  38. package/dist/cjs/src/overlay-tools/__tests/SHIPBroadcaster.test.js +933 -0
  39. package/dist/cjs/src/overlay-tools/__tests/SHIPBroadcaster.test.js.map +1 -0
  40. package/dist/cjs/src/primitives/__tests/AESGCM.test.js +248 -0
  41. package/dist/cjs/src/primitives/__tests/AESGCM.test.js.map +1 -0
  42. package/dist/cjs/src/primitives/__tests/BRC42.private.vectors.js +36 -0
  43. package/dist/cjs/src/primitives/__tests/BRC42.private.vectors.js.map +1 -0
  44. package/dist/cjs/src/primitives/__tests/BRC42.public.vectors.js +36 -0
  45. package/dist/cjs/src/primitives/__tests/BRC42.public.vectors.js.map +1 -0
  46. package/dist/cjs/src/primitives/__tests/BigNumber.arithmatic.test.js +501 -0
  47. package/dist/cjs/src/primitives/__tests/BigNumber.arithmatic.test.js.map +1 -0
  48. package/dist/cjs/src/primitives/__tests/BigNumber.binary.test.js +185 -0
  49. package/dist/cjs/src/primitives/__tests/BigNumber.binary.test.js.map +1 -0
  50. package/dist/cjs/src/primitives/__tests/BigNumber.constructor.test.js +149 -0
  51. package/dist/cjs/src/primitives/__tests/BigNumber.constructor.test.js.map +1 -0
  52. package/dist/cjs/src/primitives/__tests/BigNumber.dhGroup.test.js +23 -0
  53. package/dist/cjs/src/primitives/__tests/BigNumber.dhGroup.test.js.map +1 -0
  54. package/dist/cjs/src/primitives/__tests/BigNumber.fixtures.js +268 -0
  55. package/dist/cjs/src/primitives/__tests/BigNumber.fixtures.js.map +1 -0
  56. package/dist/cjs/src/primitives/__tests/BigNumber.serializers.test.js +147 -0
  57. package/dist/cjs/src/primitives/__tests/BigNumber.serializers.test.js.map +1 -0
  58. package/dist/cjs/src/primitives/__tests/BigNumber.utils.test.js +322 -0
  59. package/dist/cjs/src/primitives/__tests/BigNumber.utils.test.js.map +1 -0
  60. package/dist/cjs/src/primitives/__tests/Curve.unit.test.js +145 -0
  61. package/dist/cjs/src/primitives/__tests/Curve.unit.test.js.map +1 -0
  62. package/dist/cjs/src/primitives/__tests/DRBG.test.js +22 -0
  63. package/dist/cjs/src/primitives/__tests/DRBG.test.js.map +1 -0
  64. package/dist/cjs/src/primitives/__tests/DRBG.vectors.js +170 -0
  65. package/dist/cjs/src/primitives/__tests/DRBG.vectors.js.map +1 -0
  66. package/dist/cjs/src/primitives/__tests/ECDH.test.js +34 -0
  67. package/dist/cjs/src/primitives/__tests/ECDH.test.js.map +1 -0
  68. package/dist/cjs/src/primitives/__tests/ECDSA.test.js +89 -0
  69. package/dist/cjs/src/primitives/__tests/ECDSA.test.js.map +1 -0
  70. package/dist/cjs/src/primitives/__tests/HMAC.test.js +60 -0
  71. package/dist/cjs/src/primitives/__tests/HMAC.test.js.map +1 -0
  72. package/dist/cjs/src/primitives/__tests/Hash.test.js +159 -0
  73. package/dist/cjs/src/primitives/__tests/Hash.test.js.map +1 -0
  74. package/dist/cjs/src/primitives/__tests/PBKDF2.vectors.js +122 -0
  75. package/dist/cjs/src/primitives/__tests/PBKDF2.vectors.js.map +1 -0
  76. package/dist/cjs/src/primitives/__tests/PrivateKey.split.test.js +105 -0
  77. package/dist/cjs/src/primitives/__tests/PrivateKey.split.test.js.map +1 -0
  78. package/dist/cjs/src/primitives/__tests/PrivateKey.test.js +90 -0
  79. package/dist/cjs/src/primitives/__tests/PrivateKey.test.js.map +1 -0
  80. package/dist/cjs/src/primitives/__tests/PublicKey.test.js +83 -0
  81. package/dist/cjs/src/primitives/__tests/PublicKey.test.js.map +1 -0
  82. package/dist/cjs/src/primitives/__tests/Random.test.js +19 -0
  83. package/dist/cjs/src/primitives/__tests/Random.test.js.map +1 -0
  84. package/dist/cjs/src/primitives/__tests/Reader.test.js +282 -0
  85. package/dist/cjs/src/primitives/__tests/Reader.test.js.map +1 -0
  86. package/dist/cjs/src/primitives/__tests/ReductionContext.test.js +224 -0
  87. package/dist/cjs/src/primitives/__tests/ReductionContext.test.js.map +1 -0
  88. package/dist/cjs/src/primitives/__tests/Schnorr.test.js +213 -0
  89. package/dist/cjs/src/primitives/__tests/Schnorr.test.js.map +1 -0
  90. package/dist/cjs/src/primitives/__tests/SymmetricKey.test.js +51 -0
  91. package/dist/cjs/src/primitives/__tests/SymmetricKey.test.js.map +1 -0
  92. package/dist/cjs/src/primitives/__tests/SymmetricKey.vectors.js +43 -0
  93. package/dist/cjs/src/primitives/__tests/SymmetricKey.vectors.js.map +1 -0
  94. package/dist/cjs/src/primitives/__tests/Writer.test.js +176 -0
  95. package/dist/cjs/src/primitives/__tests/Writer.test.js.map +1 -0
  96. package/dist/cjs/src/primitives/__tests/bug-31.test.js +32 -0
  97. package/dist/cjs/src/primitives/__tests/bug-31.test.js.map +1 -0
  98. package/dist/cjs/src/primitives/__tests/sighash.vectors.js +3506 -0
  99. package/dist/cjs/src/primitives/__tests/sighash.vectors.js.map +1 -0
  100. package/dist/cjs/src/primitives/__tests/utils.test.js +110 -0
  101. package/dist/cjs/src/primitives/__tests/utils.test.js.map +1 -0
  102. package/dist/cjs/src/script/__tests/Script.test.js +347 -0
  103. package/dist/cjs/src/script/__tests/Script.test.js.map +1 -0
  104. package/dist/cjs/src/script/__tests/Spend.test.js +282 -0
  105. package/dist/cjs/src/script/__tests/Spend.test.js.map +1 -0
  106. package/dist/cjs/src/script/__tests/SpendComplex.test.js +52 -0
  107. package/dist/cjs/src/script/__tests/SpendComplex.test.js.map +1 -0
  108. package/dist/cjs/src/script/__tests/script.invalid.vectors.js +2370 -0
  109. package/dist/cjs/src/script/__tests/script.invalid.vectors.js.map +1 -0
  110. package/dist/cjs/src/script/__tests/script.valid.vectors.js +1181 -0
  111. package/dist/cjs/src/script/__tests/script.valid.vectors.js.map +1 -0
  112. package/dist/cjs/src/script/__tests/spend.valid.vectors.js +2298 -0
  113. package/dist/cjs/src/script/__tests/spend.valid.vectors.js.map +1 -0
  114. package/dist/cjs/src/script/templates/__tests/PushDrop.test.js +161 -0
  115. package/dist/cjs/src/script/templates/__tests/PushDrop.test.js.map +1 -0
  116. package/dist/cjs/src/totp/__tests/totp.test.js +67 -0
  117. package/dist/cjs/src/totp/__tests/totp.test.js.map +1 -0
  118. package/dist/cjs/src/transaction/__tests/Beef.test.js +393 -0
  119. package/dist/cjs/src/transaction/__tests/Beef.test.js.map +1 -0
  120. package/dist/cjs/src/transaction/__tests/MerklePath.test.js +209 -0
  121. package/dist/cjs/src/transaction/__tests/MerklePath.test.js.map +1 -0
  122. package/dist/cjs/src/transaction/__tests/Transaction.benchmarks.test.js +219 -0
  123. package/dist/cjs/src/transaction/__tests/Transaction.benchmarks.test.js.map +1 -0
  124. package/dist/cjs/src/transaction/__tests/Transaction.test.js +1073 -0
  125. package/dist/cjs/src/transaction/__tests/Transaction.test.js.map +1 -0
  126. package/dist/cjs/src/transaction/__tests/bigtx.vectors.js +7 -0
  127. package/dist/cjs/src/transaction/__tests/bigtx.vectors.js.map +1 -0
  128. package/dist/cjs/src/transaction/__tests/bump.invalid.vectors.js +11 -0
  129. package/dist/cjs/src/transaction/__tests/bump.invalid.vectors.js.map +1 -0
  130. package/dist/cjs/src/transaction/__tests/bump.valid.vectors.js +7 -0
  131. package/dist/cjs/src/transaction/__tests/bump.valid.vectors.js.map +1 -0
  132. package/dist/cjs/src/transaction/__tests/tx.invalid.vectors.js +230 -0
  133. package/dist/cjs/src/transaction/__tests/tx.invalid.vectors.js.map +1 -0
  134. package/dist/cjs/src/transaction/__tests/tx.valid.vectors.js +296 -0
  135. package/dist/cjs/src/transaction/__tests/tx.valid.vectors.js.map +1 -0
  136. package/dist/cjs/src/transaction/broadcasters/__tests/ARC.test.js +246 -0
  137. package/dist/cjs/src/transaction/broadcasters/__tests/ARC.test.js.map +1 -0
  138. package/dist/cjs/src/transaction/broadcasters/__tests/WhatsOnChainBroadcaster.test.js +148 -0
  139. package/dist/cjs/src/transaction/broadcasters/__tests/WhatsOnChainBroadcaster.test.js.map +1 -0
  140. package/dist/cjs/src/transaction/chaintrackers/__tests/WhatsOnChainChainTracker.test.js +155 -0
  141. package/dist/cjs/src/transaction/chaintrackers/__tests/WhatsOnChainChainTracker.test.js.map +1 -0
  142. package/dist/cjs/src/wallet/ScriptTemplateSABPPP.js +39 -0
  143. package/dist/cjs/src/wallet/ScriptTemplateSABPPP.js.map +1 -0
  144. package/dist/cjs/src/wallet/WalletSigner.js +260 -0
  145. package/dist/cjs/src/wallet/WalletSigner.js.map +1 -0
  146. package/dist/cjs/src/wallet/__tests/CachedKeyDeriver.test.js +269 -0
  147. package/dist/cjs/src/wallet/__tests/CachedKeyDeriver.test.js.map +1 -0
  148. package/dist/cjs/src/wallet/__tests/KeyDeriver.test.js +114 -0
  149. package/dist/cjs/src/wallet/__tests/KeyDeriver.test.js.map +1 -0
  150. package/dist/cjs/src/wallet/__tests/ProtoWallet.test.js +475 -0
  151. package/dist/cjs/src/wallet/__tests/ProtoWallet.test.js.map +1 -0
  152. package/dist/cjs/src/wallet/createActionSdk.js +230 -0
  153. package/dist/cjs/src/wallet/createActionSdk.js.map +1 -0
  154. package/dist/cjs/src/wallet/sdk/CachedKeyDeriver.js +174 -0
  155. package/dist/cjs/src/wallet/sdk/CachedKeyDeriver.js.map +1 -0
  156. package/dist/cjs/src/wallet/sdk/CertOps.js +181 -0
  157. package/dist/cjs/src/wallet/sdk/CertOps.js.map +1 -0
  158. package/dist/cjs/src/wallet/sdk/Certificate.js +162 -0
  159. package/dist/cjs/src/wallet/sdk/Certificate.js.map +1 -0
  160. package/dist/cjs/src/wallet/sdk/KeyDeriver.js +176 -0
  161. package/dist/cjs/src/wallet/sdk/KeyDeriver.js.map +1 -0
  162. package/dist/cjs/src/wallet/sdk/ProtoWallet.js +75 -0
  163. package/dist/cjs/src/wallet/sdk/ProtoWallet.js.map +1 -0
  164. package/dist/cjs/src/wallet/sdk/StorageSyncReader.js +3 -0
  165. package/dist/cjs/src/wallet/sdk/StorageSyncReader.js.map +1 -0
  166. package/dist/cjs/src/wallet/sdk/WERR_errors.js +107 -0
  167. package/dist/cjs/src/wallet/sdk/WERR_errors.js.map +1 -0
  168. package/dist/cjs/src/wallet/sdk/Wallet.interfaces.js +3 -0
  169. package/dist/cjs/src/wallet/sdk/Wallet.interfaces.js.map +1 -0
  170. package/dist/cjs/src/wallet/sdk/WalletCrypto.js +171 -0
  171. package/dist/cjs/src/wallet/sdk/WalletCrypto.js.map +1 -0
  172. package/dist/cjs/src/wallet/sdk/WalletError.js +103 -0
  173. package/dist/cjs/src/wallet/sdk/WalletError.js.map +1 -0
  174. package/dist/cjs/src/wallet/sdk/WalletServices.interfaces.js +3 -0
  175. package/dist/cjs/src/wallet/sdk/WalletServices.interfaces.js.map +1 -0
  176. package/dist/cjs/src/wallet/sdk/WalletSigner.interfaces.js +3 -0
  177. package/dist/cjs/src/wallet/sdk/WalletSigner.interfaces.js.map +1 -0
  178. package/dist/cjs/src/wallet/sdk/WalletStorage.interfaces.js +3 -0
  179. package/dist/cjs/src/wallet/sdk/WalletStorage.interfaces.js.map +1 -0
  180. package/dist/cjs/src/wallet/sdk/index.js +31 -0
  181. package/dist/cjs/src/wallet/sdk/index.js.map +1 -0
  182. package/dist/cjs/src/wallet/sdk/types.js +11 -0
  183. package/dist/cjs/src/wallet/sdk/types.js.map +1 -0
  184. package/dist/cjs/src/wallet/sdk/validationHelpers.js +601 -0
  185. package/dist/cjs/src/wallet/sdk/validationHelpers.js.map +1 -0
  186. package/dist/cjs/src/wallet/substrates/HTTPWalletJSON.js +11 -3
  187. package/dist/cjs/src/wallet/substrates/HTTPWalletJSON.js.map +1 -1
  188. package/dist/cjs/src/wallet/substrates/WalletWireProcessor.js +1 -1
  189. package/dist/cjs/src/wallet/substrates/WalletWireProcessor.js.map +1 -1
  190. package/dist/cjs/src/wallet/substrates/__tests/WalletWire.integration.test.js +1962 -0
  191. package/dist/cjs/src/wallet/substrates/__tests/WalletWire.integration.test.js.map +1 -0
  192. package/dist/cjs/src/wallet/substrates/__tests/XDM.test.js +579 -0
  193. package/dist/cjs/src/wallet/substrates/__tests/XDM.test.js.map +1 -0
  194. package/dist/cjs/src/wallet/substrates/utils/toOriginHeader.js +21 -0
  195. package/dist/cjs/src/wallet/substrates/utils/toOriginHeader.js.map +1 -0
  196. package/dist/cjs/src/wallet/utilityHelpers.js +305 -0
  197. package/dist/cjs/src/wallet/utilityHelpers.js.map +1 -0
  198. package/dist/cjs/src/wallet/validationHelpers.js +601 -0
  199. package/dist/cjs/src/wallet/validationHelpers.js.map +1 -0
  200. package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  201. package/dist/esm/src/auth/__tests/Peer.test.js +448 -0
  202. package/dist/esm/src/auth/__tests/Peer.test.js.map +1 -0
  203. package/dist/esm/src/auth/__tests/SessionManager.test.js +69 -0
  204. package/dist/esm/src/auth/__tests/SessionManager.test.js.map +1 -0
  205. package/dist/esm/src/auth/certificates/__tests/Certificate.test.js +182 -0
  206. package/dist/esm/src/auth/certificates/__tests/Certificate.test.js.map +1 -0
  207. package/dist/esm/src/auth/certificates/__tests/MasterCertificate.test.js +184 -0
  208. package/dist/esm/src/auth/certificates/__tests/MasterCertificate.test.js.map +1 -0
  209. package/dist/esm/src/auth/certificates/__tests/VerifiableCertificate.test.js +75 -0
  210. package/dist/esm/src/auth/certificates/__tests/VerifiableCertificate.test.js.map +1 -0
  211. package/dist/esm/src/auth/utils/__tests/cryptononce.test.js +101 -0
  212. package/dist/esm/src/auth/utils/__tests/cryptononce.test.js.map +1 -0
  213. package/dist/esm/src/auth/utils/__tests/getVerifiableCertificates.test.js +106 -0
  214. package/dist/esm/src/auth/utils/__tests/getVerifiableCertificates.test.js.map +1 -0
  215. package/dist/esm/src/auth/utils/__tests/validateCertificates.test.js +111 -0
  216. package/dist/esm/src/auth/utils/__tests/validateCertificates.test.js.map +1 -0
  217. package/dist/esm/src/auth/utils/certificateHelpers.js +47 -0
  218. package/dist/esm/src/auth/utils/certificateHelpers.js.map +1 -0
  219. package/dist/esm/src/compat/__tests/BSM.test.js +69 -0
  220. package/dist/esm/src/compat/__tests/BSM.test.js.map +1 -0
  221. package/dist/esm/src/compat/__tests/ECIES.test.js +115 -0
  222. package/dist/esm/src/compat/__tests/ECIES.test.js.map +1 -0
  223. package/dist/esm/src/compat/__tests/HD.test.js +336 -0
  224. package/dist/esm/src/compat/__tests/HD.test.js.map +1 -0
  225. package/dist/esm/src/compat/__tests/Mnemonic.test.js +150 -0
  226. package/dist/esm/src/compat/__tests/Mnemonic.test.js.map +1 -0
  227. package/dist/esm/src/compat/__tests/Mnemonic.vectors.js +175 -0
  228. package/dist/esm/src/compat/__tests/Mnemonic.vectors.js.map +1 -0
  229. package/dist/esm/src/messages/__tests/EncryptedMessage.test.js +57 -0
  230. package/dist/esm/src/messages/__tests/EncryptedMessage.test.js.map +1 -0
  231. package/dist/esm/src/messages/__tests/SignedMessage.test.js +52 -0
  232. package/dist/esm/src/messages/__tests/SignedMessage.test.js.map +1 -0
  233. package/dist/esm/src/overlay-tools/__tests/LookupResolver.test.js +1471 -0
  234. package/dist/esm/src/overlay-tools/__tests/LookupResolver.test.js.map +1 -0
  235. package/dist/esm/src/overlay-tools/__tests/OverlayAdminTokenTemplate.test.js +78 -0
  236. package/dist/esm/src/overlay-tools/__tests/OverlayAdminTokenTemplate.test.js.map +1 -0
  237. package/dist/esm/src/overlay-tools/__tests/SHIPBroadcaster.test.js +933 -0
  238. package/dist/esm/src/overlay-tools/__tests/SHIPBroadcaster.test.js.map +1 -0
  239. package/dist/esm/src/primitives/__tests/AESGCM.test.js +248 -0
  240. package/dist/esm/src/primitives/__tests/AESGCM.test.js.map +1 -0
  241. package/dist/esm/src/primitives/__tests/BRC42.private.vectors.js +36 -0
  242. package/dist/esm/src/primitives/__tests/BRC42.private.vectors.js.map +1 -0
  243. package/dist/esm/src/primitives/__tests/BRC42.public.vectors.js +36 -0
  244. package/dist/esm/src/primitives/__tests/BRC42.public.vectors.js.map +1 -0
  245. package/dist/esm/src/primitives/__tests/BigNumber.arithmatic.test.js +501 -0
  246. package/dist/esm/src/primitives/__tests/BigNumber.arithmatic.test.js.map +1 -0
  247. package/dist/esm/src/primitives/__tests/BigNumber.binary.test.js +185 -0
  248. package/dist/esm/src/primitives/__tests/BigNumber.binary.test.js.map +1 -0
  249. package/dist/esm/src/primitives/__tests/BigNumber.constructor.test.js +149 -0
  250. package/dist/esm/src/primitives/__tests/BigNumber.constructor.test.js.map +1 -0
  251. package/dist/esm/src/primitives/__tests/BigNumber.dhGroup.test.js +23 -0
  252. package/dist/esm/src/primitives/__tests/BigNumber.dhGroup.test.js.map +1 -0
  253. package/dist/esm/src/primitives/__tests/BigNumber.fixtures.js +268 -0
  254. package/dist/esm/src/primitives/__tests/BigNumber.fixtures.js.map +1 -0
  255. package/dist/esm/src/primitives/__tests/BigNumber.serializers.test.js +147 -0
  256. package/dist/esm/src/primitives/__tests/BigNumber.serializers.test.js.map +1 -0
  257. package/dist/esm/src/primitives/__tests/BigNumber.utils.test.js +322 -0
  258. package/dist/esm/src/primitives/__tests/BigNumber.utils.test.js.map +1 -0
  259. package/dist/esm/src/primitives/__tests/Curve.unit.test.js +145 -0
  260. package/dist/esm/src/primitives/__tests/Curve.unit.test.js.map +1 -0
  261. package/dist/esm/src/primitives/__tests/DRBG.test.js +22 -0
  262. package/dist/esm/src/primitives/__tests/DRBG.test.js.map +1 -0
  263. package/dist/esm/src/primitives/__tests/DRBG.vectors.js +170 -0
  264. package/dist/esm/src/primitives/__tests/DRBG.vectors.js.map +1 -0
  265. package/dist/esm/src/primitives/__tests/ECDH.test.js +34 -0
  266. package/dist/esm/src/primitives/__tests/ECDH.test.js.map +1 -0
  267. package/dist/esm/src/primitives/__tests/ECDSA.test.js +89 -0
  268. package/dist/esm/src/primitives/__tests/ECDSA.test.js.map +1 -0
  269. package/dist/esm/src/primitives/__tests/HMAC.test.js +60 -0
  270. package/dist/esm/src/primitives/__tests/HMAC.test.js.map +1 -0
  271. package/dist/esm/src/primitives/__tests/Hash.test.js +159 -0
  272. package/dist/esm/src/primitives/__tests/Hash.test.js.map +1 -0
  273. package/dist/esm/src/primitives/__tests/PBKDF2.vectors.js +122 -0
  274. package/dist/esm/src/primitives/__tests/PBKDF2.vectors.js.map +1 -0
  275. package/dist/esm/src/primitives/__tests/PrivateKey.split.test.js +105 -0
  276. package/dist/esm/src/primitives/__tests/PrivateKey.split.test.js.map +1 -0
  277. package/dist/esm/src/primitives/__tests/PrivateKey.test.js +90 -0
  278. package/dist/esm/src/primitives/__tests/PrivateKey.test.js.map +1 -0
  279. package/dist/esm/src/primitives/__tests/PublicKey.test.js +83 -0
  280. package/dist/esm/src/primitives/__tests/PublicKey.test.js.map +1 -0
  281. package/dist/esm/src/primitives/__tests/Random.test.js +19 -0
  282. package/dist/esm/src/primitives/__tests/Random.test.js.map +1 -0
  283. package/dist/esm/src/primitives/__tests/Reader.test.js +282 -0
  284. package/dist/esm/src/primitives/__tests/Reader.test.js.map +1 -0
  285. package/dist/esm/src/primitives/__tests/ReductionContext.test.js +223 -0
  286. package/dist/esm/src/primitives/__tests/ReductionContext.test.js.map +1 -0
  287. package/dist/esm/src/primitives/__tests/Schnorr.test.js +213 -0
  288. package/dist/esm/src/primitives/__tests/Schnorr.test.js.map +1 -0
  289. package/dist/esm/src/primitives/__tests/SymmetricKey.test.js +51 -0
  290. package/dist/esm/src/primitives/__tests/SymmetricKey.test.js.map +1 -0
  291. package/dist/esm/src/primitives/__tests/SymmetricKey.vectors.js +43 -0
  292. package/dist/esm/src/primitives/__tests/SymmetricKey.vectors.js.map +1 -0
  293. package/dist/esm/src/primitives/__tests/Writer.test.js +176 -0
  294. package/dist/esm/src/primitives/__tests/Writer.test.js.map +1 -0
  295. package/dist/esm/src/primitives/__tests/bug-31.test.js +32 -0
  296. package/dist/esm/src/primitives/__tests/bug-31.test.js.map +1 -0
  297. package/dist/esm/src/primitives/__tests/sighash.vectors.js +3506 -0
  298. package/dist/esm/src/primitives/__tests/sighash.vectors.js.map +1 -0
  299. package/dist/esm/src/primitives/__tests/utils.test.js +110 -0
  300. package/dist/esm/src/primitives/__tests/utils.test.js.map +1 -0
  301. package/dist/esm/src/script/__tests/Script.test.js +347 -0
  302. package/dist/esm/src/script/__tests/Script.test.js.map +1 -0
  303. package/dist/esm/src/script/__tests/Spend.test.js +282 -0
  304. package/dist/esm/src/script/__tests/Spend.test.js.map +1 -0
  305. package/dist/esm/src/script/__tests/SpendComplex.test.js +51 -0
  306. package/dist/esm/src/script/__tests/SpendComplex.test.js.map +1 -0
  307. package/dist/esm/src/script/__tests/script.invalid.vectors.js +2370 -0
  308. package/dist/esm/src/script/__tests/script.invalid.vectors.js.map +1 -0
  309. package/dist/esm/src/script/__tests/script.valid.vectors.js +1181 -0
  310. package/dist/esm/src/script/__tests/script.valid.vectors.js.map +1 -0
  311. package/dist/esm/src/script/__tests/spend.valid.vectors.js +2298 -0
  312. package/dist/esm/src/script/__tests/spend.valid.vectors.js.map +1 -0
  313. package/dist/esm/src/script/templates/__tests/PushDrop.test.js +161 -0
  314. package/dist/esm/src/script/templates/__tests/PushDrop.test.js.map +1 -0
  315. package/dist/esm/src/totp/__tests/totp.test.js +67 -0
  316. package/dist/esm/src/totp/__tests/totp.test.js.map +1 -0
  317. package/dist/esm/src/transaction/__tests/Beef.test.js +393 -0
  318. package/dist/esm/src/transaction/__tests/Beef.test.js.map +1 -0
  319. package/dist/esm/src/transaction/__tests/MerklePath.test.js +209 -0
  320. package/dist/esm/src/transaction/__tests/MerklePath.test.js.map +1 -0
  321. package/dist/esm/src/transaction/__tests/Transaction.benchmarks.test.js +219 -0
  322. package/dist/esm/src/transaction/__tests/Transaction.benchmarks.test.js.map +1 -0
  323. package/dist/esm/src/transaction/__tests/Transaction.test.js +1072 -0
  324. package/dist/esm/src/transaction/__tests/Transaction.test.js.map +1 -0
  325. package/dist/esm/src/transaction/__tests/bigtx.vectors.js +7 -0
  326. package/dist/esm/src/transaction/__tests/bigtx.vectors.js.map +1 -0
  327. package/dist/esm/src/transaction/__tests/bump.invalid.vectors.js +11 -0
  328. package/dist/esm/src/transaction/__tests/bump.invalid.vectors.js.map +1 -0
  329. package/dist/esm/src/transaction/__tests/bump.valid.vectors.js +7 -0
  330. package/dist/esm/src/transaction/__tests/bump.valid.vectors.js.map +1 -0
  331. package/dist/esm/src/transaction/__tests/tx.invalid.vectors.js +230 -0
  332. package/dist/esm/src/transaction/__tests/tx.invalid.vectors.js.map +1 -0
  333. package/dist/esm/src/transaction/__tests/tx.valid.vectors.js +296 -0
  334. package/dist/esm/src/transaction/__tests/tx.valid.vectors.js.map +1 -0
  335. package/dist/esm/src/transaction/broadcasters/__tests/ARC.test.js +246 -0
  336. package/dist/esm/src/transaction/broadcasters/__tests/ARC.test.js.map +1 -0
  337. package/dist/esm/src/transaction/broadcasters/__tests/WhatsOnChainBroadcaster.test.js +148 -0
  338. package/dist/esm/src/transaction/broadcasters/__tests/WhatsOnChainBroadcaster.test.js.map +1 -0
  339. package/dist/esm/src/transaction/chaintrackers/__tests/WhatsOnChainChainTracker.test.js +155 -0
  340. package/dist/esm/src/transaction/chaintrackers/__tests/WhatsOnChainChainTracker.test.js.map +1 -0
  341. package/dist/esm/src/wallet/ScriptTemplateSABPPP.js +37 -0
  342. package/dist/esm/src/wallet/ScriptTemplateSABPPP.js.map +1 -0
  343. package/dist/esm/src/wallet/WalletSigner.js +263 -0
  344. package/dist/esm/src/wallet/WalletSigner.js.map +1 -0
  345. package/dist/esm/src/wallet/__tests/CachedKeyDeriver.test.js +269 -0
  346. package/dist/esm/src/wallet/__tests/CachedKeyDeriver.test.js.map +1 -0
  347. package/dist/esm/src/wallet/__tests/KeyDeriver.test.js +113 -0
  348. package/dist/esm/src/wallet/__tests/KeyDeriver.test.js.map +1 -0
  349. package/dist/esm/src/wallet/__tests/ProtoWallet.test.js +475 -0
  350. package/dist/esm/src/wallet/__tests/ProtoWallet.test.js.map +1 -0
  351. package/dist/esm/src/wallet/createActionSdk.js +223 -0
  352. package/dist/esm/src/wallet/createActionSdk.js.map +1 -0
  353. package/dist/esm/src/wallet/sdk/CachedKeyDeriver.js +174 -0
  354. package/dist/esm/src/wallet/sdk/CachedKeyDeriver.js.map +1 -0
  355. package/dist/esm/src/wallet/sdk/CertOps.js +181 -0
  356. package/dist/esm/src/wallet/sdk/CertOps.js.map +1 -0
  357. package/dist/esm/src/wallet/sdk/Certificate.js +186 -0
  358. package/dist/esm/src/wallet/sdk/Certificate.js.map +1 -0
  359. package/dist/esm/src/wallet/sdk/KeyDeriver.js +174 -0
  360. package/dist/esm/src/wallet/sdk/KeyDeriver.js.map +1 -0
  361. package/dist/esm/src/wallet/sdk/ProtoWallet.js +71 -0
  362. package/dist/esm/src/wallet/sdk/ProtoWallet.js.map +1 -0
  363. package/dist/esm/src/wallet/sdk/StorageSyncReader.js +2 -0
  364. package/dist/esm/src/wallet/sdk/StorageSyncReader.js.map +1 -0
  365. package/dist/esm/src/wallet/sdk/WERR_errors.js +99 -0
  366. package/dist/esm/src/wallet/sdk/WERR_errors.js.map +1 -0
  367. package/dist/esm/src/wallet/sdk/Wallet.interfaces.js +2 -0
  368. package/dist/esm/src/wallet/sdk/Wallet.interfaces.js.map +1 -0
  369. package/dist/esm/src/wallet/sdk/WalletCrypto.js +168 -0
  370. package/dist/esm/src/wallet/sdk/WalletCrypto.js.map +1 -0
  371. package/dist/esm/src/wallet/sdk/WalletError.js +100 -0
  372. package/dist/esm/src/wallet/sdk/WalletError.js.map +1 -0
  373. package/dist/esm/src/wallet/sdk/WalletServices.interfaces.js +2 -0
  374. package/dist/esm/src/wallet/sdk/WalletServices.interfaces.js.map +1 -0
  375. package/dist/esm/src/wallet/sdk/WalletSigner.interfaces.js +2 -0
  376. package/dist/esm/src/wallet/sdk/WalletSigner.interfaces.js.map +1 -0
  377. package/dist/esm/src/wallet/sdk/WalletStorage.interfaces.js +2 -0
  378. package/dist/esm/src/wallet/sdk/WalletStorage.interfaces.js.map +1 -0
  379. package/dist/esm/src/wallet/sdk/index.js +15 -0
  380. package/dist/esm/src/wallet/sdk/index.js.map +1 -0
  381. package/dist/esm/src/wallet/sdk/types.js +8 -0
  382. package/dist/esm/src/wallet/sdk/types.js.map +1 -0
  383. package/dist/esm/src/wallet/sdk/validationHelpers.js +566 -0
  384. package/dist/esm/src/wallet/sdk/validationHelpers.js.map +1 -0
  385. package/dist/esm/src/wallet/substrates/HTTPWalletJSON.js +9 -1
  386. package/dist/esm/src/wallet/substrates/HTTPWalletJSON.js.map +1 -1
  387. package/dist/esm/src/wallet/substrates/WalletWireProcessor.js +1 -1
  388. package/dist/esm/src/wallet/substrates/WalletWireProcessor.js.map +1 -1
  389. package/dist/esm/src/wallet/substrates/__tests/WalletWire.integration.test.js +1962 -0
  390. package/dist/esm/src/wallet/substrates/__tests/WalletWire.integration.test.js.map +1 -0
  391. package/dist/esm/src/wallet/substrates/__tests/XDM.test.js +579 -0
  392. package/dist/esm/src/wallet/substrates/__tests/XDM.test.js.map +1 -0
  393. package/dist/esm/src/wallet/substrates/utils/toOriginHeader.js +17 -0
  394. package/dist/esm/src/wallet/substrates/utils/toOriginHeader.js.map +1 -0
  395. package/dist/esm/src/wallet/utilityHelpers.js +275 -0
  396. package/dist/esm/src/wallet/utilityHelpers.js.map +1 -0
  397. package/dist/esm/src/wallet/validationHelpers.js +566 -0
  398. package/dist/esm/src/wallet/validationHelpers.js.map +1 -0
  399. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
  400. package/dist/types/src/auth/__tests/Peer.test.d.ts +2 -0
  401. package/dist/types/src/auth/__tests/Peer.test.d.ts.map +1 -0
  402. package/dist/types/src/auth/__tests/SessionManager.test.d.ts +2 -0
  403. package/dist/types/src/auth/__tests/SessionManager.test.d.ts.map +1 -0
  404. package/dist/types/src/auth/certificates/__tests/Certificate.test.d.ts +2 -0
  405. package/dist/types/src/auth/certificates/__tests/Certificate.test.d.ts.map +1 -0
  406. package/dist/types/src/auth/certificates/__tests/MasterCertificate.test.d.ts +2 -0
  407. package/dist/types/src/auth/certificates/__tests/MasterCertificate.test.d.ts.map +1 -0
  408. package/dist/types/src/auth/certificates/__tests/VerifiableCertificate.test.d.ts +2 -0
  409. package/dist/types/src/auth/certificates/__tests/VerifiableCertificate.test.d.ts.map +1 -0
  410. package/dist/types/src/auth/utils/__tests/cryptononce.test.d.ts +2 -0
  411. package/dist/types/src/auth/utils/__tests/cryptononce.test.d.ts.map +1 -0
  412. package/dist/types/src/auth/utils/__tests/getVerifiableCertificates.test.d.ts +2 -0
  413. package/dist/types/src/auth/utils/__tests/getVerifiableCertificates.test.d.ts.map +1 -0
  414. package/dist/types/src/auth/utils/__tests/validateCertificates.test.d.ts +2 -0
  415. package/dist/types/src/auth/utils/__tests/validateCertificates.test.d.ts.map +1 -0
  416. package/dist/types/src/auth/utils/certificateHelpers.d.ts +26 -0
  417. package/dist/types/src/auth/utils/certificateHelpers.d.ts.map +1 -0
  418. package/dist/types/src/compat/__tests/BSM.test.d.ts +2 -0
  419. package/dist/types/src/compat/__tests/BSM.test.d.ts.map +1 -0
  420. package/dist/types/src/compat/__tests/ECIES.test.d.ts +2 -0
  421. package/dist/types/src/compat/__tests/ECIES.test.d.ts.map +1 -0
  422. package/dist/types/src/compat/__tests/HD.test.d.ts +2 -0
  423. package/dist/types/src/compat/__tests/HD.test.d.ts.map +1 -0
  424. package/dist/types/src/compat/__tests/Mnemonic.test.d.ts +2 -0
  425. package/dist/types/src/compat/__tests/Mnemonic.test.d.ts.map +1 -0
  426. package/dist/types/src/compat/__tests/Mnemonic.vectors.d.ts +11 -0
  427. package/dist/types/src/compat/__tests/Mnemonic.vectors.d.ts.map +1 -0
  428. package/dist/types/src/messages/__tests/EncryptedMessage.test.d.ts +2 -0
  429. package/dist/types/src/messages/__tests/EncryptedMessage.test.d.ts.map +1 -0
  430. package/dist/types/src/messages/__tests/SignedMessage.test.d.ts +2 -0
  431. package/dist/types/src/messages/__tests/SignedMessage.test.d.ts.map +1 -0
  432. package/dist/types/src/overlay-tools/__tests/LookupResolver.test.d.ts +2 -0
  433. package/dist/types/src/overlay-tools/__tests/LookupResolver.test.d.ts.map +1 -0
  434. package/dist/types/src/overlay-tools/__tests/OverlayAdminTokenTemplate.test.d.ts +2 -0
  435. package/dist/types/src/overlay-tools/__tests/OverlayAdminTokenTemplate.test.d.ts.map +1 -0
  436. package/dist/types/src/overlay-tools/__tests/SHIPBroadcaster.test.d.ts +2 -0
  437. package/dist/types/src/overlay-tools/__tests/SHIPBroadcaster.test.d.ts.map +1 -0
  438. package/dist/types/src/primitives/__tests/AESGCM.test.d.ts +2 -0
  439. package/dist/types/src/primitives/__tests/AESGCM.test.d.ts.map +1 -0
  440. package/dist/types/src/primitives/__tests/BRC42.private.vectors.d.ts +8 -0
  441. package/dist/types/src/primitives/__tests/BRC42.private.vectors.d.ts.map +1 -0
  442. package/dist/types/src/primitives/__tests/BRC42.public.vectors.d.ts +8 -0
  443. package/dist/types/src/primitives/__tests/BRC42.public.vectors.d.ts.map +1 -0
  444. package/dist/types/src/primitives/__tests/BigNumber.arithmatic.test.d.ts +2 -0
  445. package/dist/types/src/primitives/__tests/BigNumber.arithmatic.test.d.ts.map +1 -0
  446. package/dist/types/src/primitives/__tests/BigNumber.binary.test.d.ts +2 -0
  447. package/dist/types/src/primitives/__tests/BigNumber.binary.test.d.ts.map +1 -0
  448. package/dist/types/src/primitives/__tests/BigNumber.constructor.test.d.ts +2 -0
  449. package/dist/types/src/primitives/__tests/BigNumber.constructor.test.d.ts.map +1 -0
  450. package/dist/types/src/primitives/__tests/BigNumber.dhGroup.test.d.ts +2 -0
  451. package/dist/types/src/primitives/__tests/BigNumber.dhGroup.test.d.ts.map +1 -0
  452. package/dist/types/src/primitives/__tests/BigNumber.fixtures.d.ts +15 -0
  453. package/dist/types/src/primitives/__tests/BigNumber.fixtures.d.ts.map +1 -0
  454. package/dist/types/src/primitives/__tests/BigNumber.serializers.test.d.ts +2 -0
  455. package/dist/types/src/primitives/__tests/BigNumber.serializers.test.d.ts.map +1 -0
  456. package/dist/types/src/primitives/__tests/BigNumber.utils.test.d.ts +2 -0
  457. package/dist/types/src/primitives/__tests/BigNumber.utils.test.d.ts.map +1 -0
  458. package/dist/types/src/primitives/__tests/Curve.unit.test.d.ts +2 -0
  459. package/dist/types/src/primitives/__tests/Curve.unit.test.d.ts.map +1 -0
  460. package/dist/types/src/primitives/__tests/DRBG.test.d.ts +2 -0
  461. package/dist/types/src/primitives/__tests/DRBG.test.d.ts.map +1 -0
  462. package/dist/types/src/primitives/__tests/DRBG.vectors.d.ts +10 -0
  463. package/dist/types/src/primitives/__tests/DRBG.vectors.d.ts.map +1 -0
  464. package/dist/types/src/primitives/__tests/ECDH.test.d.ts +2 -0
  465. package/dist/types/src/primitives/__tests/ECDH.test.d.ts.map +1 -0
  466. package/dist/types/src/primitives/__tests/ECDSA.test.d.ts +2 -0
  467. package/dist/types/src/primitives/__tests/ECDSA.test.d.ts.map +1 -0
  468. package/dist/types/src/primitives/__tests/HMAC.test.d.ts +2 -0
  469. package/dist/types/src/primitives/__tests/HMAC.test.d.ts.map +1 -0
  470. package/dist/types/src/primitives/__tests/Hash.test.d.ts +2 -0
  471. package/dist/types/src/primitives/__tests/Hash.test.d.ts.map +1 -0
  472. package/dist/types/src/primitives/__tests/PBKDF2.vectors.d.ts +68 -0
  473. package/dist/types/src/primitives/__tests/PBKDF2.vectors.d.ts.map +1 -0
  474. package/dist/types/src/primitives/__tests/PrivateKey.split.test.d.ts +2 -0
  475. package/dist/types/src/primitives/__tests/PrivateKey.split.test.d.ts.map +1 -0
  476. package/dist/types/src/primitives/__tests/PrivateKey.test.d.ts +2 -0
  477. package/dist/types/src/primitives/__tests/PrivateKey.test.d.ts.map +1 -0
  478. package/dist/types/src/primitives/__tests/PublicKey.test.d.ts +2 -0
  479. package/dist/types/src/primitives/__tests/PublicKey.test.d.ts.map +1 -0
  480. package/dist/types/src/primitives/__tests/Random.test.d.ts +2 -0
  481. package/dist/types/src/primitives/__tests/Random.test.d.ts.map +1 -0
  482. package/dist/types/src/primitives/__tests/Reader.test.d.ts +2 -0
  483. package/dist/types/src/primitives/__tests/Reader.test.d.ts.map +1 -0
  484. package/dist/types/src/primitives/__tests/ReductionContext.test.d.ts +2 -0
  485. package/dist/types/src/primitives/__tests/ReductionContext.test.d.ts.map +1 -0
  486. package/dist/types/src/primitives/__tests/Schnorr.test.d.ts +2 -0
  487. package/dist/types/src/primitives/__tests/Schnorr.test.d.ts.map +1 -0
  488. package/dist/types/src/primitives/__tests/SymmetricKey.test.d.ts +2 -0
  489. package/dist/types/src/primitives/__tests/SymmetricKey.test.d.ts.map +1 -0
  490. package/dist/types/src/primitives/__tests/SymmetricKey.vectors.d.ts +20 -0
  491. package/dist/types/src/primitives/__tests/SymmetricKey.vectors.d.ts.map +1 -0
  492. package/dist/types/src/primitives/__tests/Writer.test.d.ts +2 -0
  493. package/dist/types/src/primitives/__tests/Writer.test.d.ts.map +1 -0
  494. package/dist/types/src/primitives/__tests/bug-31.test.d.ts +2 -0
  495. package/dist/types/src/primitives/__tests/bug-31.test.d.ts.map +1 -0
  496. package/dist/types/src/primitives/__tests/sighash.vectors.d.ts +3 -0
  497. package/dist/types/src/primitives/__tests/sighash.vectors.d.ts.map +1 -0
  498. package/dist/types/src/primitives/__tests/utils.test.d.ts +2 -0
  499. package/dist/types/src/primitives/__tests/utils.test.d.ts.map +1 -0
  500. package/dist/types/src/script/__tests/Script.test.d.ts +2 -0
  501. package/dist/types/src/script/__tests/Script.test.d.ts.map +1 -0
  502. package/dist/types/src/script/__tests/Spend.test.d.ts +2 -0
  503. package/dist/types/src/script/__tests/Spend.test.d.ts.map +1 -0
  504. package/dist/types/src/script/__tests/SpendComplex.test.d.ts +2 -0
  505. package/dist/types/src/script/__tests/SpendComplex.test.d.ts.map +1 -0
  506. package/dist/types/src/script/__tests/script.invalid.vectors.d.ts +3 -0
  507. package/dist/types/src/script/__tests/script.invalid.vectors.d.ts.map +1 -0
  508. package/dist/types/src/script/__tests/script.valid.vectors.d.ts +3 -0
  509. package/dist/types/src/script/__tests/script.valid.vectors.d.ts.map +1 -0
  510. package/dist/types/src/script/__tests/spend.valid.vectors.d.ts +3 -0
  511. package/dist/types/src/script/__tests/spend.valid.vectors.d.ts.map +1 -0
  512. package/dist/types/src/script/templates/__tests/PushDrop.test.d.ts +2 -0
  513. package/dist/types/src/script/templates/__tests/PushDrop.test.d.ts.map +1 -0
  514. package/dist/types/src/totp/__tests/totp.test.d.ts +2 -0
  515. package/dist/types/src/totp/__tests/totp.test.d.ts.map +1 -0
  516. package/dist/types/src/transaction/__tests/Beef.test.d.ts +2 -0
  517. package/dist/types/src/transaction/__tests/Beef.test.d.ts.map +1 -0
  518. package/dist/types/src/transaction/__tests/MerklePath.test.d.ts +2 -0
  519. package/dist/types/src/transaction/__tests/MerklePath.test.d.ts.map +1 -0
  520. package/dist/types/src/transaction/__tests/Transaction.benchmarks.test.d.ts +2 -0
  521. package/dist/types/src/transaction/__tests/Transaction.benchmarks.test.d.ts.map +1 -0
  522. package/dist/types/src/transaction/__tests/Transaction.test.d.ts +2 -0
  523. package/dist/types/src/transaction/__tests/Transaction.test.d.ts.map +1 -0
  524. package/dist/types/src/transaction/__tests/bigtx.vectors.d.ts +6 -0
  525. package/dist/types/src/transaction/__tests/bigtx.vectors.d.ts.map +1 -0
  526. package/dist/types/src/transaction/__tests/bump.invalid.vectors.d.ts +6 -0
  527. package/dist/types/src/transaction/__tests/bump.invalid.vectors.d.ts.map +1 -0
  528. package/dist/types/src/transaction/__tests/bump.valid.vectors.d.ts +5 -0
  529. package/dist/types/src/transaction/__tests/bump.valid.vectors.d.ts.map +1 -0
  530. package/dist/types/src/transaction/__tests/tx.invalid.vectors.d.ts +3 -0
  531. package/dist/types/src/transaction/__tests/tx.invalid.vectors.d.ts.map +1 -0
  532. package/dist/types/src/transaction/__tests/tx.valid.vectors.d.ts +3 -0
  533. package/dist/types/src/transaction/__tests/tx.valid.vectors.d.ts.map +1 -0
  534. package/dist/types/src/transaction/broadcasters/__tests/ARC.test.d.ts +2 -0
  535. package/dist/types/src/transaction/broadcasters/__tests/ARC.test.d.ts.map +1 -0
  536. package/dist/types/src/transaction/broadcasters/__tests/WhatsOnChainBroadcaster.test.d.ts +2 -0
  537. package/dist/types/src/transaction/broadcasters/__tests/WhatsOnChainBroadcaster.test.d.ts.map +1 -0
  538. package/dist/types/src/transaction/chaintrackers/__tests/WhatsOnChainChainTracker.test.d.ts +2 -0
  539. package/dist/types/src/transaction/chaintrackers/__tests/WhatsOnChainChainTracker.test.d.ts.map +1 -0
  540. package/dist/types/src/wallet/ScriptTemplateSABPPP.d.ts +25 -0
  541. package/dist/types/src/wallet/ScriptTemplateSABPPP.d.ts.map +1 -0
  542. package/dist/types/src/wallet/WalletSigner.d.ts +110 -0
  543. package/dist/types/src/wallet/WalletSigner.d.ts.map +1 -0
  544. package/dist/types/src/wallet/__tests/CachedKeyDeriver.test.d.ts +2 -0
  545. package/dist/types/src/wallet/__tests/CachedKeyDeriver.test.d.ts.map +1 -0
  546. package/dist/types/src/wallet/__tests/KeyDeriver.test.d.ts +2 -0
  547. package/dist/types/src/wallet/__tests/KeyDeriver.test.d.ts.map +1 -0
  548. package/dist/types/src/wallet/__tests/ProtoWallet.test.d.ts +2 -0
  549. package/dist/types/src/wallet/__tests/ProtoWallet.test.d.ts.map +1 -0
  550. package/dist/types/src/wallet/createActionSdk.d.ts +8 -0
  551. package/dist/types/src/wallet/createActionSdk.d.ts.map +1 -0
  552. package/dist/types/src/wallet/sdk/CachedKeyDeriver.d.ts +94 -0
  553. package/dist/types/src/wallet/sdk/CachedKeyDeriver.d.ts.map +1 -0
  554. package/dist/types/src/wallet/sdk/CertOps.d.ts +63 -0
  555. package/dist/types/src/wallet/sdk/CertOps.d.ts.map +1 -0
  556. package/dist/types/src/wallet/sdk/Certificate.d.ts +77 -0
  557. package/dist/types/src/wallet/sdk/Certificate.d.ts.map +1 -0
  558. package/dist/types/src/wallet/sdk/KeyDeriver.d.ts +128 -0
  559. package/dist/types/src/wallet/sdk/KeyDeriver.d.ts.map +1 -0
  560. package/dist/types/src/wallet/sdk/ProtoWallet.d.ts +30 -0
  561. package/dist/types/src/wallet/sdk/ProtoWallet.d.ts.map +1 -0
  562. package/dist/types/src/wallet/sdk/StorageSyncReader.d.ts +102 -0
  563. package/dist/types/src/wallet/sdk/StorageSyncReader.d.ts.map +1 -0
  564. package/dist/types/src/wallet/sdk/WERR_errors.d.ts +84 -0
  565. package/dist/types/src/wallet/sdk/WERR_errors.d.ts.map +1 -0
  566. package/dist/types/src/wallet/sdk/Wallet.interfaces.d.ts +1036 -0
  567. package/dist/types/src/wallet/sdk/Wallet.interfaces.d.ts.map +1 -0
  568. package/dist/types/src/wallet/sdk/WalletCrypto.d.ts +31 -0
  569. package/dist/types/src/wallet/sdk/WalletCrypto.d.ts.map +1 -0
  570. package/dist/types/src/wallet/sdk/WalletError.d.ts +46 -0
  571. package/dist/types/src/wallet/sdk/WalletError.d.ts.map +1 -0
  572. package/dist/types/src/wallet/sdk/WalletServices.interfaces.d.ts +293 -0
  573. package/dist/types/src/wallet/sdk/WalletServices.interfaces.d.ts.map +1 -0
  574. package/dist/types/src/wallet/sdk/WalletSigner.interfaces.d.ts +48 -0
  575. package/dist/types/src/wallet/sdk/WalletSigner.interfaces.d.ts.map +1 -0
  576. package/dist/types/src/wallet/sdk/WalletStorage.interfaces.d.ts +296 -0
  577. package/dist/types/src/wallet/sdk/WalletStorage.interfaces.d.ts.map +1 -0
  578. package/dist/types/src/wallet/sdk/index.d.ts +15 -0
  579. package/dist/types/src/wallet/sdk/index.d.ts.map +1 -0
  580. package/dist/types/src/wallet/sdk/types.d.ts +56 -0
  581. package/dist/types/src/wallet/sdk/types.d.ts.map +1 -0
  582. package/dist/types/src/wallet/sdk/validationHelpers.d.ts +301 -0
  583. package/dist/types/src/wallet/sdk/validationHelpers.d.ts.map +1 -0
  584. package/dist/types/src/wallet/substrates/HTTPWalletJSON.d.ts.map +1 -1
  585. package/dist/types/src/wallet/substrates/__tests/WalletWire.integration.test.d.ts +2 -0
  586. package/dist/types/src/wallet/substrates/__tests/WalletWire.integration.test.d.ts.map +1 -0
  587. package/dist/types/src/wallet/substrates/__tests/XDM.test.d.ts +5 -0
  588. package/dist/types/src/wallet/substrates/__tests/XDM.test.d.ts.map +1 -0
  589. package/dist/types/src/wallet/substrates/utils/toOriginHeader.d.ts +2 -0
  590. package/dist/types/src/wallet/substrates/utils/toOriginHeader.d.ts.map +1 -0
  591. package/dist/types/src/wallet/utilityHelpers.d.ts +142 -0
  592. package/dist/types/src/wallet/utilityHelpers.d.ts.map +1 -0
  593. package/dist/types/src/wallet/validationHelpers.d.ts +301 -0
  594. package/dist/types/src/wallet/validationHelpers.d.ts.map +1 -0
  595. package/dist/types/tsconfig.types.tsbuildinfo +1 -1
  596. package/dist/umd/bundle.js +1 -1
  597. package/docs/wallet.md +9 -0
  598. package/package.json +4 -4
  599. package/src/transaction/__tests/Transaction.test.ts +1 -1
  600. package/src/wallet/substrates/HTTPWalletJSON.ts +11 -1
  601. package/src/wallet/substrates/WalletWireProcessor.ts +1 -1
  602. package/src/wallet/substrates/__tests/toOriginHeader.test.ts +34 -0
  603. package/src/wallet/substrates/utils/toOriginHeader.ts +15 -0
@@ -0,0 +1,2370 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = [
4
+ [
5
+ 'Format is: [scriptSig, scriptPubKey, flags, ... comments]'
6
+ ],
7
+ [
8
+ 'It is evaluated as if there was a crediting coinbase transaction with two 0'
9
+ ],
10
+ [
11
+ 'pushes as scriptSig, and one output of 0 satoshi and given scriptPubKey,'
12
+ ],
13
+ [
14
+ 'followed by a spending transaction which spends this output as only input (and'
15
+ ],
16
+ [
17
+ 'correct prevout hash), using the given scriptSig. All nLockTimes are 0, all'
18
+ ],
19
+ [
20
+ 'nSequences are max.'
21
+ ],
22
+ [
23
+ '',
24
+ '74',
25
+ 'P2SH,STRICTENC',
26
+ 'Test the test: we should have an empty stack after scriptSig evaluation'
27
+ ],
28
+ [
29
+ '',
30
+ '74',
31
+ 'P2SH,STRICTENC',
32
+ 'and multiple spaces should not change that.'
33
+ ],
34
+ [
35
+ '',
36
+ '74',
37
+ 'P2SH,STRICTENC'
38
+ ],
39
+ [
40
+ '',
41
+ '74',
42
+ 'P2SH,STRICTENC'
43
+ ],
44
+ [
45
+ '',
46
+ '',
47
+ 'P2SH,STRICTENC'
48
+ ],
49
+ [
50
+ '',
51
+ '61',
52
+ 'P2SH,STRICTENC'
53
+ ],
54
+ [
55
+ '',
56
+ '6174',
57
+ 'P2SH,STRICTENC'
58
+ ],
59
+ [
60
+ '61',
61
+ '',
62
+ 'P2SH,STRICTENC'
63
+ ],
64
+ [
65
+ '61',
66
+ '74',
67
+ 'P2SH,STRICTENC'
68
+ ],
69
+ [
70
+ '61',
71
+ '61',
72
+ 'P2SH,STRICTENC'
73
+ ],
74
+ [
75
+ '61',
76
+ '6174',
77
+ 'P2SH,STRICTENC'
78
+ ],
79
+ [
80
+ '74',
81
+ '',
82
+ 'P2SH,STRICTENC'
83
+ ],
84
+ [
85
+ '4c00',
86
+ '0161',
87
+ 'P2SH,STRICTENC',
88
+ 'PUSHDATA1 with not enough bytes'
89
+ ],
90
+ [
91
+ '4d0100ff',
92
+ '0161',
93
+ 'P2SH,STRICTENC',
94
+ 'PUSHDATA2 with not enough bytes'
95
+ ],
96
+ [
97
+ '4e02000000ffff',
98
+ '0161',
99
+ 'P2SH,STRICTENC',
100
+ 'PUSHDATA4 with not enough bytes'
101
+ ],
102
+ [
103
+ '51',
104
+ '63506851',
105
+ 'P2SH,STRICTENC',
106
+ '0x50 is reserved'
107
+ ],
108
+ [
109
+ '52',
110
+ '5f936087',
111
+ 'P2SH,STRICTENC',
112
+ '0x51 through 0x60 push 1 through 16 onto stack'
113
+ ],
114
+ [
115
+ '00',
116
+ '61',
117
+ 'P2SH,STRICTENC'
118
+ ],
119
+ [
120
+ '51',
121
+ '6362675168',
122
+ 'P2SH,STRICTENC',
123
+ 'VER non-functional'
124
+ ],
125
+ [
126
+ '00',
127
+ '6365675168',
128
+ 'P2SH,STRICTENC',
129
+ 'VERIF illegal everywhere'
130
+ ],
131
+ [
132
+ '00',
133
+ '636751676568',
134
+ 'P2SH,STRICTENC',
135
+ 'VERIF illegal everywhere'
136
+ ],
137
+ [
138
+ '00',
139
+ '6366675168',
140
+ 'P2SH,STRICTENC',
141
+ 'VERNOTIF illegal everywhere'
142
+ ],
143
+ [
144
+ '00',
145
+ '636751676668',
146
+ 'P2SH,STRICTENC',
147
+ 'VERNOTIF illegal everywhere'
148
+ ],
149
+ [
150
+ '5163',
151
+ '5168',
152
+ 'P2SH,STRICTENC',
153
+ "IF/ENDIF can't span scriptSig/scriptPubKey"
154
+ ],
155
+ [
156
+ '51630068',
157
+ '5168',
158
+ 'P2SH,STRICTENC'
159
+ ],
160
+ [
161
+ '51670068',
162
+ '51',
163
+ 'P2SH,STRICTENC'
164
+ ],
165
+ [
166
+ '0064',
167
+ '017b',
168
+ 'P2SH,STRICTENC'
169
+ ],
170
+ [
171
+ '00',
172
+ '766368',
173
+ 'P2SH,STRICTENC'
174
+ ],
175
+ [
176
+ '00',
177
+ '635168',
178
+ 'P2SH,STRICTENC'
179
+ ],
180
+ [
181
+ '00',
182
+ '76636768',
183
+ 'P2SH,STRICTENC'
184
+ ],
185
+ [
186
+ '00',
187
+ '63516768',
188
+ 'P2SH,STRICTENC'
189
+ ],
190
+ [
191
+ '00',
192
+ '64675168',
193
+ 'P2SH,STRICTENC'
194
+ ],
195
+ [
196
+ '0051',
197
+ '63635167006868',
198
+ 'P2SH,STRICTENC'
199
+ ],
200
+ [
201
+ '0000',
202
+ '63635167006868',
203
+ 'P2SH,STRICTENC'
204
+ ],
205
+ [
206
+ '5100',
207
+ '63635167006867630067516868',
208
+ 'P2SH,STRICTENC'
209
+ ],
210
+ [
211
+ '0051',
212
+ '63635167006867630067516868',
213
+ 'P2SH,STRICTENC'
214
+ ],
215
+ [
216
+ '0000',
217
+ '64635167006868',
218
+ 'P2SH,STRICTENC'
219
+ ],
220
+ [
221
+ '0051',
222
+ '64635167006868',
223
+ 'P2SH,STRICTENC'
224
+ ],
225
+ [
226
+ '5151',
227
+ '64635167006867630067516868',
228
+ 'P2SH,STRICTENC'
229
+ ],
230
+ [
231
+ '0000',
232
+ '64635167006867630067516868',
233
+ 'P2SH,STRICTENC'
234
+ ],
235
+ [
236
+ '51',
237
+ '636a67675168',
238
+ 'P2SH,STRICTENC',
239
+ 'Multiple ELSEs'
240
+ ],
241
+ [
242
+ '51',
243
+ '635167676a68',
244
+ 'P2SH,STRICTENC'
245
+ ],
246
+ [
247
+ '51',
248
+ '68',
249
+ 'P2SH,STRICTENC',
250
+ 'Malformed IF/ELSE/ENDIF sequence'
251
+ ],
252
+ [
253
+ '51',
254
+ '6768',
255
+ 'P2SH,STRICTENC'
256
+ ],
257
+ [
258
+ '51',
259
+ '6867',
260
+ 'P2SH,STRICTENC'
261
+ ],
262
+ [
263
+ '51',
264
+ '686763',
265
+ 'P2SH,STRICTENC'
266
+ ],
267
+ [
268
+ '51',
269
+ '63676867',
270
+ 'P2SH,STRICTENC'
271
+ ],
272
+ [
273
+ '51',
274
+ '6367686768',
275
+ 'P2SH,STRICTENC'
276
+ ],
277
+ [
278
+ '51',
279
+ '636868',
280
+ 'P2SH,STRICTENC'
281
+ ],
282
+ [
283
+ '51',
284
+ '6367676868',
285
+ 'P2SH,STRICTENC'
286
+ ],
287
+ [
288
+ '51',
289
+ '6a',
290
+ 'P2SH,STRICTENC'
291
+ ],
292
+ [
293
+ '51',
294
+ '76636a68',
295
+ 'P2SH,STRICTENC'
296
+ ],
297
+ [
298
+ '51',
299
+ '6a64617461',
300
+ 'P2SH,STRICTENC',
301
+ 'canonical prunable txout format'
302
+ ],
303
+ [
304
+ '0063',
305
+ '6a6851',
306
+ 'P2SH,STRICTENC',
307
+ "still prunable because IF/ENDIF can't span scriptSig/scriptPubKey"
308
+ ],
309
+ [
310
+ '00',
311
+ '6951',
312
+ 'P2SH,STRICTENC'
313
+ ],
314
+ [
315
+ '51',
316
+ '69',
317
+ 'P2SH,STRICTENC'
318
+ ],
319
+ [
320
+ '51',
321
+ '6900',
322
+ 'P2SH,STRICTENC'
323
+ ],
324
+ [
325
+ '516b',
326
+ '6c51',
327
+ 'P2SH,STRICTENC',
328
+ 'alt stack not shared between sig/pubkey'
329
+ ],
330
+ [
331
+ '73',
332
+ '740087',
333
+ 'P2SH,STRICTENC'
334
+ ],
335
+ [
336
+ '75',
337
+ '740087',
338
+ 'P2SH,STRICTENC'
339
+ ],
340
+ [
341
+ '76',
342
+ '740087',
343
+ 'P2SH,STRICTENC'
344
+ ],
345
+ [
346
+ '51',
347
+ '76519352880087',
348
+ 'P2SH,STRICTENC'
349
+ ],
350
+ [
351
+ '61',
352
+ '77',
353
+ 'P2SH,STRICTENC'
354
+ ],
355
+ [
356
+ '61',
357
+ '5177',
358
+ 'P2SH,STRICTENC'
359
+ ],
360
+ [
361
+ '61',
362
+ '510077',
363
+ 'P2SH,STRICTENC'
364
+ ],
365
+ [
366
+ '61',
367
+ '7851',
368
+ 'P2SH,STRICTENC'
369
+ ],
370
+ [
371
+ '51',
372
+ '78',
373
+ 'P2SH,STRICTENC'
374
+ ],
375
+ [
376
+ '0051',
377
+ '78745388',
378
+ 'P2SH,STRICTENC'
379
+ ],
380
+ [
381
+ '011301140115',
382
+ '79011388745287',
383
+ 'P2SH,STRICTENC'
384
+ ],
385
+ [
386
+ '61',
387
+ '0079',
388
+ 'P2SH,STRICTENC'
389
+ ],
390
+ [
391
+ '51',
392
+ '4f79',
393
+ 'P2SH,STRICTENC'
394
+ ],
395
+ [
396
+ '011301140115',
397
+ '0079011488745387',
398
+ 'P2SH,STRICTENC'
399
+ ],
400
+ [
401
+ '011301140115',
402
+ '5179011588745387',
403
+ 'P2SH,STRICTENC'
404
+ ],
405
+ [
406
+ '011301140115',
407
+ '5279011688745387',
408
+ 'P2SH,STRICTENC'
409
+ ],
410
+ [
411
+ '61',
412
+ '007a',
413
+ 'P2SH,STRICTENC'
414
+ ],
415
+ [
416
+ '51',
417
+ '4f7a',
418
+ 'P2SH,STRICTENC'
419
+ ],
420
+ [
421
+ '011301140115',
422
+ '007a011488745287',
423
+ 'P2SH,STRICTENC'
424
+ ],
425
+ [
426
+ '011301140115',
427
+ '517a011588745287',
428
+ 'P2SH,STRICTENC'
429
+ ],
430
+ [
431
+ '011301140115',
432
+ '527a011688745287',
433
+ 'P2SH,STRICTENC'
434
+ ],
435
+ [
436
+ '61',
437
+ '7b51',
438
+ 'P2SH,STRICTENC'
439
+ ],
440
+ [
441
+ '61',
442
+ '517b51',
443
+ 'P2SH,STRICTENC'
444
+ ],
445
+ [
446
+ '61',
447
+ '51527b51',
448
+ 'P2SH,STRICTENC'
449
+ ],
450
+ [
451
+ '61',
452
+ '0051527b',
453
+ 'P2SH,STRICTENC'
454
+ ],
455
+ [
456
+ '61',
457
+ '7c51',
458
+ 'P2SH,STRICTENC'
459
+ ],
460
+ [
461
+ '51',
462
+ '7c51',
463
+ 'P2SH,STRICTENC'
464
+ ],
465
+ [
466
+ '0051',
467
+ '7c5188',
468
+ 'P2SH,STRICTENC'
469
+ ],
470
+ [
471
+ '61',
472
+ '7d51',
473
+ 'P2SH,STRICTENC'
474
+ ],
475
+ [
476
+ '51',
477
+ '7d51',
478
+ 'P2SH,STRICTENC'
479
+ ],
480
+ [
481
+ '5100',
482
+ '7d7453887c6d',
483
+ 'P2SH,STRICTENC'
484
+ ],
485
+ [
486
+ '61',
487
+ '6e51',
488
+ 'P2SH,STRICTENC'
489
+ ],
490
+ [
491
+ '51',
492
+ '6e51',
493
+ 'P2SH,STRICTENC'
494
+ ],
495
+ [
496
+ '61',
497
+ '6f51',
498
+ 'P2SH,STRICTENC'
499
+ ],
500
+ [
501
+ '51',
502
+ '6f51',
503
+ 'P2SH,STRICTENC'
504
+ ],
505
+ [
506
+ '5152',
507
+ '6f51',
508
+ 'P2SH,STRICTENC'
509
+ ],
510
+ [
511
+ '61',
512
+ '7051',
513
+ 'P2SH,STRICTENC'
514
+ ],
515
+ [
516
+ '51',
517
+ '52537051',
518
+ 'P2SH,STRICTENC'
519
+ ],
520
+ [
521
+ '61',
522
+ '7251',
523
+ 'P2SH,STRICTENC'
524
+ ],
525
+ [
526
+ '51',
527
+ '52537251',
528
+ 'P2SH,STRICTENC'
529
+ ],
530
+ [
531
+ '6162635200',
532
+ '6380675168',
533
+ 'P2SH,STRICTENC',
534
+ 'LEFT disabled'
535
+ ],
536
+ [
537
+ '6162635200',
538
+ '6381675168',
539
+ 'P2SH,STRICTENC',
540
+ 'RIGHT disabled'
541
+ ],
542
+ [
543
+ '61',
544
+ '8251',
545
+ 'P2SH,STRICTENC'
546
+ ],
547
+ [
548
+ '616263',
549
+ '6383675168',
550
+ 'P2SH,STRICTENC',
551
+ 'INVERT disabled'
552
+ ],
553
+ [
554
+ '5200638d675168',
555
+ '61',
556
+ 'P2SH,STRICTENC',
557
+ '2MUL disabled'
558
+ ],
559
+ [
560
+ '5200638e675168',
561
+ '61',
562
+ 'P2SH,STRICTENC',
563
+ '2DIV disabled'
564
+ ],
565
+ [
566
+ '',
567
+ '8791',
568
+ 'P2SH,STRICTENC',
569
+ 'EQUAL must error when there are no stack items'
570
+ ],
571
+ [
572
+ '00',
573
+ '8791',
574
+ 'P2SH,STRICTENC',
575
+ 'EQUAL must error when there are not 2 stack items'
576
+ ],
577
+ [
578
+ '0051',
579
+ '87',
580
+ 'P2SH,STRICTENC'
581
+ ],
582
+ [
583
+ '515193',
584
+ '0087',
585
+ 'P2SH,STRICTENC'
586
+ ],
587
+ [
588
+ '5b51935c94',
589
+ '5b87',
590
+ 'P2SH,STRICTENC'
591
+ ],
592
+ [
593
+ '0500000080000093',
594
+ '61',
595
+ 'P2SH,STRICTENC',
596
+ 'arithmetic operands must be in range [-2^31...2^31] '
597
+ ],
598
+ [
599
+ '0500000080800093',
600
+ '61',
601
+ 'P2SH,STRICTENC',
602
+ 'arithmetic operands must be in range [-2^31...2^31] '
603
+ ],
604
+ [
605
+ '04ffffff7f7693',
606
+ '05feffffff009c',
607
+ 'P2SH,STRICTENC',
608
+ 'NUMEQUAL must be in numeric range'
609
+ ],
610
+ [
611
+ '61626364656691',
612
+ '0087',
613
+ 'P2SH,STRICTENC',
614
+ 'NOT is an arithmetic operand'
615
+ ],
616
+ [
617
+ '528d',
618
+ '5487',
619
+ 'P2SH,STRICTENC',
620
+ 'disabled'
621
+ ],
622
+ [
623
+ '528e',
624
+ '5187',
625
+ 'P2SH,STRICTENC',
626
+ 'disabled'
627
+ ],
628
+ [
629
+ '51',
630
+ 'b0b1b2b3b4b5b6b7b8b95287',
631
+ 'P2SH,STRICTENC'
632
+ ],
633
+ [
634
+ '4e060000005f746f5f3130b0b1b2b3b4b5b6b7b8b9',
635
+ '4e060000005f746f5f313187',
636
+ 'P2SH,STRICTENC'
637
+ ],
638
+ [
639
+ 'Ensure 100% coverage of discouraged NOPS'
640
+ ],
641
+ [
642
+ '51',
643
+ 'b0',
644
+ 'P2SH,DISCOURAGE_UPGRADABLE_NOPS'
645
+ ],
646
+ [
647
+ '51',
648
+ 'b1',
649
+ 'P2SH,DISCOURAGE_UPGRADABLE_NOPS'
650
+ ],
651
+ [
652
+ '51',
653
+ 'b2',
654
+ 'P2SH,DISCOURAGE_UPGRADABLE_NOPS'
655
+ ],
656
+ [
657
+ '51',
658
+ 'b3',
659
+ 'P2SH,DISCOURAGE_UPGRADABLE_NOPS'
660
+ ],
661
+ [
662
+ '51',
663
+ 'b4',
664
+ 'P2SH,DISCOURAGE_UPGRADABLE_NOPS'
665
+ ],
666
+ [
667
+ '51',
668
+ 'b5',
669
+ 'P2SH,DISCOURAGE_UPGRADABLE_NOPS'
670
+ ],
671
+ [
672
+ '51',
673
+ 'b6',
674
+ 'P2SH,DISCOURAGE_UPGRADABLE_NOPS'
675
+ ],
676
+ [
677
+ '51',
678
+ 'b7',
679
+ 'P2SH,DISCOURAGE_UPGRADABLE_NOPS'
680
+ ],
681
+ [
682
+ '51',
683
+ 'b8',
684
+ 'P2SH,DISCOURAGE_UPGRADABLE_NOPS'
685
+ ],
686
+ [
687
+ '51',
688
+ 'b9',
689
+ 'P2SH,DISCOURAGE_UPGRADABLE_NOPS'
690
+ ],
691
+ [
692
+ 'b9',
693
+ '51',
694
+ 'P2SH,DISCOURAGE_UPGRADABLE_NOPS',
695
+ 'Discouraged NOP10 in scriptSig'
696
+ ],
697
+ [
698
+ '5101b9',
699
+ 'a91415727299b05b45fdaf9ac9ecf7565cfe27c3e56787',
700
+ 'P2SH,DISCOURAGE_UPGRADABLE_NOPS',
701
+ 'Discouraged NOP10 in redeemScript'
702
+ ],
703
+ [
704
+ '50',
705
+ '51',
706
+ 'P2SH,STRICTENC',
707
+ 'opcode 0x50 is reserved'
708
+ ],
709
+ [
710
+ '51',
711
+ '63ba675168',
712
+ 'P2SH,STRICTENC',
713
+ 'opcodes above NOP10 invalid if executed'
714
+ ],
715
+ [
716
+ '51',
717
+ '63bb675168',
718
+ 'P2SH,STRICTENC'
719
+ ],
720
+ [
721
+ '51',
722
+ '63bc675168',
723
+ 'P2SH,STRICTENC'
724
+ ],
725
+ [
726
+ '51',
727
+ '63bd675168',
728
+ 'P2SH,STRICTENC'
729
+ ],
730
+ [
731
+ '51',
732
+ '63be675168',
733
+ 'P2SH,STRICTENC'
734
+ ],
735
+ [
736
+ '51',
737
+ '63bf675168',
738
+ 'P2SH,STRICTENC'
739
+ ],
740
+ [
741
+ '51',
742
+ '63c0675168',
743
+ 'P2SH,STRICTENC'
744
+ ],
745
+ [
746
+ '51',
747
+ '63c1675168',
748
+ 'P2SH,STRICTENC'
749
+ ],
750
+ [
751
+ '51',
752
+ '63c2675168',
753
+ 'P2SH,STRICTENC'
754
+ ],
755
+ [
756
+ '51',
757
+ '63c3675168',
758
+ 'P2SH,STRICTENC'
759
+ ],
760
+ [
761
+ '51',
762
+ '63c4675168',
763
+ 'P2SH,STRICTENC'
764
+ ],
765
+ [
766
+ '51',
767
+ '63c5675168',
768
+ 'P2SH,STRICTENC'
769
+ ],
770
+ [
771
+ '51',
772
+ '63c6675168',
773
+ 'P2SH,STRICTENC'
774
+ ],
775
+ [
776
+ '51',
777
+ '63c7675168',
778
+ 'P2SH,STRICTENC'
779
+ ],
780
+ [
781
+ '51',
782
+ '63c8675168',
783
+ 'P2SH,STRICTENC'
784
+ ],
785
+ [
786
+ '51',
787
+ '63c9675168',
788
+ 'P2SH,STRICTENC'
789
+ ],
790
+ [
791
+ '51',
792
+ '63ca675168',
793
+ 'P2SH,STRICTENC'
794
+ ],
795
+ [
796
+ '51',
797
+ '63cb675168',
798
+ 'P2SH,STRICTENC'
799
+ ],
800
+ [
801
+ '51',
802
+ '63cc675168',
803
+ 'P2SH,STRICTENC'
804
+ ],
805
+ [
806
+ '51',
807
+ '63cd675168',
808
+ 'P2SH,STRICTENC'
809
+ ],
810
+ [
811
+ '51',
812
+ '63ce675168',
813
+ 'P2SH,STRICTENC'
814
+ ],
815
+ [
816
+ '51',
817
+ '63cf675168',
818
+ 'P2SH,STRICTENC'
819
+ ],
820
+ [
821
+ '51',
822
+ '63d0675168',
823
+ 'P2SH,STRICTENC'
824
+ ],
825
+ [
826
+ '51',
827
+ '63d1675168',
828
+ 'P2SH,STRICTENC'
829
+ ],
830
+ [
831
+ '51',
832
+ '63d2675168',
833
+ 'P2SH,STRICTENC'
834
+ ],
835
+ [
836
+ '51',
837
+ '63d3675168',
838
+ 'P2SH,STRICTENC'
839
+ ],
840
+ [
841
+ '51',
842
+ '63d4675168',
843
+ 'P2SH,STRICTENC'
844
+ ],
845
+ [
846
+ '51',
847
+ '63d5675168',
848
+ 'P2SH,STRICTENC'
849
+ ],
850
+ [
851
+ '51',
852
+ '63d6675168',
853
+ 'P2SH,STRICTENC'
854
+ ],
855
+ [
856
+ '51',
857
+ '63d7675168',
858
+ 'P2SH,STRICTENC'
859
+ ],
860
+ [
861
+ '51',
862
+ '63d8675168',
863
+ 'P2SH,STRICTENC'
864
+ ],
865
+ [
866
+ '51',
867
+ '63d9675168',
868
+ 'P2SH,STRICTENC'
869
+ ],
870
+ [
871
+ '51',
872
+ '63da675168',
873
+ 'P2SH,STRICTENC'
874
+ ],
875
+ [
876
+ '51',
877
+ '63db675168',
878
+ 'P2SH,STRICTENC'
879
+ ],
880
+ [
881
+ '51',
882
+ '63dc675168',
883
+ 'P2SH,STRICTENC'
884
+ ],
885
+ [
886
+ '51',
887
+ '63dd675168',
888
+ 'P2SH,STRICTENC'
889
+ ],
890
+ [
891
+ '51',
892
+ '63de675168',
893
+ 'P2SH,STRICTENC'
894
+ ],
895
+ [
896
+ '51',
897
+ '63df675168',
898
+ 'P2SH,STRICTENC'
899
+ ],
900
+ [
901
+ '51',
902
+ '63e0675168',
903
+ 'P2SH,STRICTENC'
904
+ ],
905
+ [
906
+ '51',
907
+ '63e1675168',
908
+ 'P2SH,STRICTENC'
909
+ ],
910
+ [
911
+ '51',
912
+ '63e2675168',
913
+ 'P2SH,STRICTENC'
914
+ ],
915
+ [
916
+ '51',
917
+ '63e3675168',
918
+ 'P2SH,STRICTENC'
919
+ ],
920
+ [
921
+ '51',
922
+ '63e4675168',
923
+ 'P2SH,STRICTENC'
924
+ ],
925
+ [
926
+ '51',
927
+ '63e5675168',
928
+ 'P2SH,STRICTENC'
929
+ ],
930
+ [
931
+ '51',
932
+ '63e6675168',
933
+ 'P2SH,STRICTENC'
934
+ ],
935
+ [
936
+ '51',
937
+ '63e7675168',
938
+ 'P2SH,STRICTENC'
939
+ ],
940
+ [
941
+ '51',
942
+ '63e8675168',
943
+ 'P2SH,STRICTENC'
944
+ ],
945
+ [
946
+ '51',
947
+ '63e9675168',
948
+ 'P2SH,STRICTENC'
949
+ ],
950
+ [
951
+ '51',
952
+ '63ea675168',
953
+ 'P2SH,STRICTENC'
954
+ ],
955
+ [
956
+ '51',
957
+ '63eb675168',
958
+ 'P2SH,STRICTENC'
959
+ ],
960
+ [
961
+ '51',
962
+ '63ec675168',
963
+ 'P2SH,STRICTENC'
964
+ ],
965
+ [
966
+ '51',
967
+ '63ed675168',
968
+ 'P2SH,STRICTENC'
969
+ ],
970
+ [
971
+ '51',
972
+ '63ee675168',
973
+ 'P2SH,STRICTENC'
974
+ ],
975
+ [
976
+ '51',
977
+ '63ef675168',
978
+ 'P2SH,STRICTENC'
979
+ ],
980
+ [
981
+ '51',
982
+ '63f0675168',
983
+ 'P2SH,STRICTENC'
984
+ ],
985
+ [
986
+ '51',
987
+ '63f1675168',
988
+ 'P2SH,STRICTENC'
989
+ ],
990
+ [
991
+ '51',
992
+ '63f2675168',
993
+ 'P2SH,STRICTENC'
994
+ ],
995
+ [
996
+ '51',
997
+ '63f3675168',
998
+ 'P2SH,STRICTENC'
999
+ ],
1000
+ [
1001
+ '51',
1002
+ '63f4675168',
1003
+ 'P2SH,STRICTENC'
1004
+ ],
1005
+ [
1006
+ '51',
1007
+ '63f5675168',
1008
+ 'P2SH,STRICTENC'
1009
+ ],
1010
+ [
1011
+ '51',
1012
+ '63f6675168',
1013
+ 'P2SH,STRICTENC'
1014
+ ],
1015
+ [
1016
+ '51',
1017
+ '63f7675168',
1018
+ 'P2SH,STRICTENC'
1019
+ ],
1020
+ [
1021
+ '51',
1022
+ '63f8675168',
1023
+ 'P2SH,STRICTENC'
1024
+ ],
1025
+ [
1026
+ '51',
1027
+ '63f9675168',
1028
+ 'P2SH,STRICTENC'
1029
+ ],
1030
+ [
1031
+ '51',
1032
+ '63fa675168',
1033
+ 'P2SH,STRICTENC'
1034
+ ],
1035
+ [
1036
+ '51',
1037
+ '63fb675168',
1038
+ 'P2SH,STRICTENC'
1039
+ ],
1040
+ [
1041
+ '51',
1042
+ '63fc675168',
1043
+ 'P2SH,STRICTENC'
1044
+ ],
1045
+ [
1046
+ '51',
1047
+ '63fd675168',
1048
+ 'P2SH,STRICTENC'
1049
+ ],
1050
+ [
1051
+ '51',
1052
+ '63fe675168',
1053
+ 'P2SH,STRICTENC'
1054
+ ],
1055
+ [
1056
+ '51',
1057
+ '63ff675168',
1058
+ 'P2SH,STRICTENC'
1059
+ ],
1060
+ [
1061
+ '51635167',
1062
+ 'ff68',
1063
+ 'P2SH,STRICTENC',
1064
+ 'invalid because scriptSig and scriptPubKey are processed separately'
1065
+ ],
1066
+ [
1067
+ '61',
1068
+ 'a6',
1069
+ 'P2SH,STRICTENC'
1070
+ ],
1071
+ [
1072
+ '61',
1073
+ 'a7',
1074
+ 'P2SH,STRICTENC'
1075
+ ],
1076
+ [
1077
+ '61',
1078
+ 'a8',
1079
+ 'P2SH,STRICTENC'
1080
+ ],
1081
+ [
1082
+ '61',
1083
+ 'a9',
1084
+ 'P2SH,STRICTENC'
1085
+ ],
1086
+ [
1087
+ '61',
1088
+ 'aa',
1089
+ 'P2SH,STRICTENC'
1090
+ ],
1091
+ [
1092
+ '61',
1093
+ '6262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262',
1094
+ 'P2SH,STRICTENC',
1095
+ '>520 byte push'
1096
+ ],
1097
+ [
1098
+ '00',
1099
+ '6362626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626851',
1100
+ 'P2SH,STRICTENC',
1101
+ '>520 byte push in non-executed IF branch'
1102
+ ],
1103
+ [
1104
+ '51',
1105
+ '61616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161',
1106
+ 'P2SH,STRICTENC',
1107
+ '>201 opcodes executed. 0x61 is NOP'
1108
+ ],
1109
+ [
1110
+ '00',
1111
+ '6361616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616851',
1112
+ 'P2SH,STRICTENC',
1113
+ '>201 opcodes including non-executed IF branch. 0x61 is NOP'
1114
+ ],
1115
+ [
1116
+ '51525354556f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f',
1117
+ '5152535455566f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f',
1118
+ 'P2SH,STRICTENC',
1119
+ '>1,000 stack size (0x6f is 3DUP)'
1120
+ ],
1121
+ [
1122
+ '51525354556f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f',
1123
+ '516b526b535455566f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f',
1124
+ 'P2SH,STRICTENC',
1125
+ '>1,000 stack+altstack size'
1126
+ ],
1127
+ [
1128
+ '61',
1129
+ '00616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6e616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161',
1130
+ 'P2SH,STRICTENC',
1131
+ '10,001-byte scriptPubKey'
1132
+ ],
1133
+ [
1134
+ 'b0',
1135
+ 'b9',
1136
+ 'P2SH,STRICTENC'
1137
+ ],
1138
+ [
1139
+ '51',
1140
+ '62',
1141
+ 'P2SH,STRICTENC',
1142
+ 'OP_VER is reserved'
1143
+ ],
1144
+ [
1145
+ '51',
1146
+ '65',
1147
+ 'P2SH,STRICTENC',
1148
+ 'OP_VERIF is reserved'
1149
+ ],
1150
+ [
1151
+ '51',
1152
+ '66',
1153
+ 'P2SH,STRICTENC',
1154
+ 'OP_VERNOTIF is reserved'
1155
+ ],
1156
+ [
1157
+ '51',
1158
+ '50',
1159
+ 'P2SH,STRICTENC',
1160
+ 'OP_RESERVED is reserved'
1161
+ ],
1162
+ [
1163
+ '51',
1164
+ '89',
1165
+ 'P2SH,STRICTENC',
1166
+ 'OP_RESERVED1 is reserved'
1167
+ ],
1168
+ [
1169
+ '51',
1170
+ '8a',
1171
+ 'P2SH,STRICTENC',
1172
+ 'OP_RESERVED2 is reserved'
1173
+ ],
1174
+ [
1175
+ '51',
1176
+ 'ba',
1177
+ 'P2SH,STRICTENC',
1178
+ '0xba == OP_NOP10 + 1'
1179
+ ],
1180
+ [
1181
+ '050000008000',
1182
+ '8b51',
1183
+ 'P2SH,STRICTENC',
1184
+ 'We cannot do math on 5-byte integers'
1185
+ ],
1186
+ [
1187
+ '050000008000',
1188
+ '8f51',
1189
+ 'P2SH,STRICTENC',
1190
+ 'We cannot do math on 5-byte integers'
1191
+ ],
1192
+ [
1193
+ '050000008080',
1194
+ '8b51',
1195
+ 'P2SH,STRICTENC',
1196
+ 'Because we use a sign bit, -2147483648 is also 5 bytes'
1197
+ ],
1198
+ [
1199
+ '04ffffff7f',
1200
+ '8b8c51',
1201
+ 'P2SH,STRICTENC',
1202
+ 'We cannot do math on 5-byte integers, even if the result is 4-bytes'
1203
+ ],
1204
+ [
1205
+ '050000008000',
1206
+ '8c51',
1207
+ 'P2SH,STRICTENC',
1208
+ 'We cannot do math on 5-byte integers, even if the result is 4-bytes'
1209
+ ],
1210
+ [
1211
+ '05000000800051',
1212
+ '9b51',
1213
+ 'P2SH,STRICTENC',
1214
+ 'We cannot do BOOLOR on 5-byte integers (but we can still do IF etc)'
1215
+ ],
1216
+ [
1217
+ '05000000800051',
1218
+ '9a51',
1219
+ 'P2SH,STRICTENC',
1220
+ 'We cannot do BOOLAND on 5-byte integers'
1221
+ ],
1222
+ [
1223
+ '51',
1224
+ '5168',
1225
+ 'P2SH,STRICTENC',
1226
+ 'ENDIF without IF'
1227
+ ],
1228
+ [
1229
+ '51',
1230
+ '6351',
1231
+ 'P2SH,STRICTENC',
1232
+ 'IF without ENDIF'
1233
+ ],
1234
+ [
1235
+ '516351',
1236
+ '68',
1237
+ 'P2SH,STRICTENC',
1238
+ "IFs don't carry over"
1239
+ ],
1240
+ [
1241
+ '61',
1242
+ '635168',
1243
+ 'P2SH,STRICTENC',
1244
+ 'The following tests check the if(stack.size() < N) tests in each opcode'
1245
+ ],
1246
+ [
1247
+ '61',
1248
+ '645168',
1249
+ 'P2SH,STRICTENC',
1250
+ 'They are here to catch copy-and-paste errors'
1251
+ ],
1252
+ [
1253
+ '61',
1254
+ '6951',
1255
+ 'P2SH,STRICTENC',
1256
+ 'Most of them are duplicated elsewhere,'
1257
+ ],
1258
+ [
1259
+ '61',
1260
+ '6b51',
1261
+ 'P2SH,STRICTENC',
1262
+ 'but, hey, more is always better, right?'
1263
+ ],
1264
+ [
1265
+ '51',
1266
+ '6c',
1267
+ 'P2SH,STRICTENC'
1268
+ ],
1269
+ [
1270
+ '51',
1271
+ '6d51',
1272
+ 'P2SH,STRICTENC'
1273
+ ],
1274
+ [
1275
+ '51',
1276
+ '6e',
1277
+ 'P2SH,STRICTENC'
1278
+ ],
1279
+ [
1280
+ '5151',
1281
+ '6f',
1282
+ 'P2SH,STRICTENC'
1283
+ ],
1284
+ [
1285
+ '515151',
1286
+ '70',
1287
+ 'P2SH,STRICTENC'
1288
+ ],
1289
+ [
1290
+ '5151515151',
1291
+ '71',
1292
+ 'P2SH,STRICTENC'
1293
+ ],
1294
+ [
1295
+ '515151',
1296
+ '72',
1297
+ 'P2SH,STRICTENC'
1298
+ ],
1299
+ [
1300
+ '61',
1301
+ '7351',
1302
+ 'P2SH,STRICTENC'
1303
+ ],
1304
+ [
1305
+ '61',
1306
+ '7551',
1307
+ 'P2SH,STRICTENC'
1308
+ ],
1309
+ [
1310
+ '61',
1311
+ '7651',
1312
+ 'P2SH,STRICTENC'
1313
+ ],
1314
+ [
1315
+ '51',
1316
+ '77',
1317
+ 'P2SH,STRICTENC'
1318
+ ],
1319
+ [
1320
+ '51',
1321
+ '78',
1322
+ 'P2SH,STRICTENC'
1323
+ ],
1324
+ [
1325
+ '51515153',
1326
+ '79',
1327
+ 'P2SH,STRICTENC'
1328
+ ],
1329
+ [
1330
+ '00',
1331
+ '7951',
1332
+ 'P2SH,STRICTENC'
1333
+ ],
1334
+ [
1335
+ '51515153',
1336
+ '7a',
1337
+ 'P2SH,STRICTENC'
1338
+ ],
1339
+ [
1340
+ '00',
1341
+ '7a51',
1342
+ 'P2SH,STRICTENC'
1343
+ ],
1344
+ [
1345
+ '5151',
1346
+ '7b',
1347
+ 'P2SH,STRICTENC'
1348
+ ],
1349
+ [
1350
+ '51',
1351
+ '7c',
1352
+ 'P2SH,STRICTENC'
1353
+ ],
1354
+ [
1355
+ '51',
1356
+ '7d',
1357
+ 'P2SH,STRICTENC'
1358
+ ],
1359
+ [
1360
+ '61',
1361
+ '8251',
1362
+ 'P2SH,STRICTENC'
1363
+ ],
1364
+ [
1365
+ '51',
1366
+ '8751',
1367
+ 'P2SH,STRICTENC'
1368
+ ],
1369
+ [
1370
+ '51',
1371
+ '8851',
1372
+ 'P2SH,STRICTENC'
1373
+ ],
1374
+ [
1375
+ '61',
1376
+ '8b51',
1377
+ 'P2SH,STRICTENC'
1378
+ ],
1379
+ [
1380
+ '61',
1381
+ '8c51',
1382
+ 'P2SH,STRICTENC'
1383
+ ],
1384
+ [
1385
+ '61',
1386
+ '8f51',
1387
+ 'P2SH,STRICTENC'
1388
+ ],
1389
+ [
1390
+ '61',
1391
+ '9051',
1392
+ 'P2SH,STRICTENC'
1393
+ ],
1394
+ [
1395
+ '61',
1396
+ '9151',
1397
+ 'P2SH,STRICTENC'
1398
+ ],
1399
+ [
1400
+ '61',
1401
+ '9251',
1402
+ 'P2SH,STRICTENC'
1403
+ ],
1404
+ [
1405
+ '51',
1406
+ '93',
1407
+ 'P2SH,STRICTENC'
1408
+ ],
1409
+ [
1410
+ '51',
1411
+ '94',
1412
+ 'P2SH,STRICTENC'
1413
+ ],
1414
+ [
1415
+ '51',
1416
+ '9a',
1417
+ 'P2SH,STRICTENC'
1418
+ ],
1419
+ [
1420
+ '51',
1421
+ '9b',
1422
+ 'P2SH,STRICTENC'
1423
+ ],
1424
+ [
1425
+ '51',
1426
+ '9c',
1427
+ 'P2SH,STRICTENC'
1428
+ ],
1429
+ [
1430
+ '51',
1431
+ '9d51',
1432
+ 'P2SH,STRICTENC'
1433
+ ],
1434
+ [
1435
+ '51',
1436
+ '9e',
1437
+ 'P2SH,STRICTENC'
1438
+ ],
1439
+ [
1440
+ '51',
1441
+ '9f',
1442
+ 'P2SH,STRICTENC'
1443
+ ],
1444
+ [
1445
+ '51',
1446
+ 'a0',
1447
+ 'P2SH,STRICTENC'
1448
+ ],
1449
+ [
1450
+ '51',
1451
+ 'a1',
1452
+ 'P2SH,STRICTENC'
1453
+ ],
1454
+ [
1455
+ '51',
1456
+ 'a2',
1457
+ 'P2SH,STRICTENC'
1458
+ ],
1459
+ [
1460
+ '51',
1461
+ 'a3',
1462
+ 'P2SH,STRICTENC'
1463
+ ],
1464
+ [
1465
+ '51',
1466
+ 'a4',
1467
+ 'P2SH,STRICTENC'
1468
+ ],
1469
+ [
1470
+ '5151',
1471
+ 'a5',
1472
+ 'P2SH,STRICTENC'
1473
+ ],
1474
+ [
1475
+ '61',
1476
+ 'a651',
1477
+ 'P2SH,STRICTENC'
1478
+ ],
1479
+ [
1480
+ '61',
1481
+ 'a751',
1482
+ 'P2SH,STRICTENC'
1483
+ ],
1484
+ [
1485
+ '61',
1486
+ 'a851',
1487
+ 'P2SH,STRICTENC'
1488
+ ],
1489
+ [
1490
+ '61',
1491
+ 'a951',
1492
+ 'P2SH,STRICTENC'
1493
+ ],
1494
+ [
1495
+ '61',
1496
+ 'aa51',
1497
+ 'P2SH,STRICTENC'
1498
+ ],
1499
+ [
1500
+ 'Increase CHECKSIG and CHECKMULTISIG negative test coverage'
1501
+ ],
1502
+ [
1503
+ '',
1504
+ 'ac91',
1505
+ 'STRICTENC',
1506
+ 'CHECKSIG must error when there are no stack items'
1507
+ ],
1508
+ [
1509
+ '00',
1510
+ 'ac91',
1511
+ 'STRICTENC',
1512
+ 'CHECKSIG must error when there are not 2 stack items'
1513
+ ],
1514
+ [
1515
+ '',
1516
+ 'ae91',
1517
+ 'STRICTENC',
1518
+ 'CHECKMULTISIG must error when there are no stack items'
1519
+ ],
1520
+ [
1521
+ '',
1522
+ '4fae91',
1523
+ 'STRICTENC',
1524
+ 'CHECKMULTISIG must error when the specified number of pubkeys is negative'
1525
+ ],
1526
+ [
1527
+ '',
1528
+ '51ae91',
1529
+ 'STRICTENC',
1530
+ 'CHECKMULTISIG must error when there are not enough pubkeys on the stack'
1531
+ ],
1532
+ [
1533
+ '',
1534
+ '4f00ae91',
1535
+ 'STRICTENC',
1536
+ 'CHECKMULTISIG must error when the specified number of signatures is negative'
1537
+ ],
1538
+ [
1539
+ '',
1540
+ '51706b3151ae91',
1541
+ 'STRICTENC',
1542
+ 'CHECKMULTISIG must error when there are not enough signatures on the stack'
1543
+ ],
1544
+ [
1545
+ '',
1546
+ '64756d6d797369673151706b3151ae635168',
1547
+ '',
1548
+ 'CHECKMULTISIG must push false to stack when signature is invalid when NOT in strict enc mode'
1549
+ ],
1550
+ [
1551
+ '',
1552
+ '000000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae0000ae',
1553
+ 'P2SH,STRICTENC',
1554
+ '202 CHECKMULTISIGS, fails due to 201 op limit'
1555
+ ],
1556
+ [
1557
+ '51',
1558
+ '000000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af0000af',
1559
+ 'P2SH,STRICTENC'
1560
+ ],
1561
+ [
1562
+ '',
1563
+ '6161616161616161616161616100006162636465666768696a6b6c6d6e6f70717273740114ae00006162636465666768696a6b6c6d6e6f70717273740114ae00006162636465666768696a6b6c6d6e6f70717273740114ae00006162636465666768696a6b6c6d6e6f70717273740114ae00006162636465666768696a6b6c6d6e6f70717273740114ae00006162636465666768696a6b6c6d6e6f70717273740114ae00006162636465666768696a6b6c6d6e6f70717273740114ae00006162636465666768696a6b6c6d6e6f70717273740114ae00006162636465666768696a6b6c6d6e6f70717273740114ae',
1564
+ 'P2SH,STRICTENC',
1565
+ 'Fails due to 201 sig op limit'
1566
+ ],
1567
+ [
1568
+ '51',
1569
+ '6161616161616161616161616100006162636465666768696a6b6c6d6e6f70717273740114af00006162636465666768696a6b6c6d6e6f70717273740114af00006162636465666768696a6b6c6d6e6f70717273740114af00006162636465666768696a6b6c6d6e6f70717273740114af00006162636465666768696a6b6c6d6e6f70717273740114af00006162636465666768696a6b6c6d6e6f70717273740114af00006162636465666768696a6b6c6d6e6f70717273740114af00006162636465666768696a6b6c6d6e6f70717273740114af00006162636465666768696a6b6c6d6e6f70717273740114af',
1570
+ 'P2SH,STRICTENC'
1571
+ ],
1572
+ [
1573
+ '00005152535455565758595a5b5c5d5e5f6001110112011301140115',
1574
+ '0115ae51',
1575
+ 'P2SH,STRICTENC',
1576
+ 'nPubKeys > 20'
1577
+ ],
1578
+ [
1579
+ '007369675100',
1580
+ 'ae51',
1581
+ 'P2SH,STRICTENC',
1582
+ 'nSigs > nPubKeys'
1583
+ ],
1584
+ [
1585
+ '610151',
1586
+ 'a914da1745e9b549bd0bfa1a569971c77eba30cd5a4b87',
1587
+ 'P2SH,STRICTENC',
1588
+ 'Tests for Script.IsPushOnly()'
1589
+ ],
1590
+ [
1591
+ 'b00151',
1592
+ 'a914da1745e9b549bd0bfa1a569971c77eba30cd5a4b87',
1593
+ 'P2SH,STRICTENC'
1594
+ ],
1595
+ [
1596
+ '000150',
1597
+ 'a914ece424a6bb6ddf4db592c0faed60685047a361b187',
1598
+ 'P2SH,STRICTENC',
1599
+ 'OP_RESERVED in P2SH should fail'
1600
+ ],
1601
+ [
1602
+ '000162',
1603
+ 'a9140f4d7845db968f2a81b530b6f3c1d6246d4c7e0187',
1604
+ 'P2SH,STRICTENC',
1605
+ 'OP_VER in P2SH should fail'
1606
+ ],
1607
+ [
1608
+ '00',
1609
+ '303087',
1610
+ 'P2SH,STRICTENC',
1611
+ 'Basic OP_0 execution'
1612
+ ],
1613
+ [
1614
+ 'MINIMALDATA enforcement for PUSHDATAs'
1615
+ ],
1616
+ [
1617
+ '4c00',
1618
+ '7551',
1619
+ 'MINIMALDATA',
1620
+ 'Empty vector minimally represented by OP_0'
1621
+ ],
1622
+ [
1623
+ '0181',
1624
+ '7551',
1625
+ 'MINIMALDATA',
1626
+ '-1 minimally represented by OP_1NEGATE'
1627
+ ],
1628
+ [
1629
+ '0101',
1630
+ '7551',
1631
+ 'MINIMALDATA',
1632
+ '1 to 16 minimally represented by OP_1 to OP_16'
1633
+ ],
1634
+ [
1635
+ '0102',
1636
+ '7551',
1637
+ 'MINIMALDATA'
1638
+ ],
1639
+ [
1640
+ '0103',
1641
+ '7551',
1642
+ 'MINIMALDATA'
1643
+ ],
1644
+ [
1645
+ '0104',
1646
+ '7551',
1647
+ 'MINIMALDATA'
1648
+ ],
1649
+ [
1650
+ '0105',
1651
+ '7551',
1652
+ 'MINIMALDATA'
1653
+ ],
1654
+ [
1655
+ '0106',
1656
+ '7551',
1657
+ 'MINIMALDATA'
1658
+ ],
1659
+ [
1660
+ '0107',
1661
+ '7551',
1662
+ 'MINIMALDATA'
1663
+ ],
1664
+ [
1665
+ '0108',
1666
+ '7551',
1667
+ 'MINIMALDATA'
1668
+ ],
1669
+ [
1670
+ '0109',
1671
+ '7551',
1672
+ 'MINIMALDATA'
1673
+ ],
1674
+ [
1675
+ '010a',
1676
+ '7551',
1677
+ 'MINIMALDATA'
1678
+ ],
1679
+ [
1680
+ '010b',
1681
+ '7551',
1682
+ 'MINIMALDATA'
1683
+ ],
1684
+ [
1685
+ '010c',
1686
+ '7551',
1687
+ 'MINIMALDATA'
1688
+ ],
1689
+ [
1690
+ '010d',
1691
+ '7551',
1692
+ 'MINIMALDATA'
1693
+ ],
1694
+ [
1695
+ '010e',
1696
+ '7551',
1697
+ 'MINIMALDATA'
1698
+ ],
1699
+ [
1700
+ '010f',
1701
+ '7551',
1702
+ 'MINIMALDATA'
1703
+ ],
1704
+ [
1705
+ '0110',
1706
+ '7551',
1707
+ 'MINIMALDATA'
1708
+ ],
1709
+ [
1710
+ '4c48111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111',
1711
+ '7551',
1712
+ 'MINIMALDATA',
1713
+ 'PUSHDATA1 of 72 bytes minimally represented by direct push'
1714
+ ],
1715
+ [
1716
+ '4dff00111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111',
1717
+ '7551',
1718
+ 'MINIMALDATA',
1719
+ 'PUSHDATA2 of 255 bytes minimally represented by PUSHDATA1'
1720
+ ],
1721
+ [
1722
+ '4e0001000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111',
1723
+ '7551',
1724
+ 'MINIMALDATA',
1725
+ 'PUSHDATA4 of 256 bytes minimally represented by PUSHDATA2'
1726
+ ],
1727
+ [
1728
+ 'MINIMALDATA enforcement for numeric arguments'
1729
+ ],
1730
+ [
1731
+ '0100',
1732
+ '917551',
1733
+ 'MINIMALDATA',
1734
+ 'numequals 0'
1735
+ ],
1736
+ [
1737
+ '020000',
1738
+ '917551',
1739
+ 'MINIMALDATA',
1740
+ 'numequals 0'
1741
+ ],
1742
+ [
1743
+ '0180',
1744
+ '917551',
1745
+ 'MINIMALDATA',
1746
+ '0x80 (negative zero) numequals 0'
1747
+ ],
1748
+ [
1749
+ '020080',
1750
+ '917551',
1751
+ 'MINIMALDATA',
1752
+ 'numequals 0'
1753
+ ],
1754
+ [
1755
+ '020500',
1756
+ '917551',
1757
+ 'MINIMALDATA',
1758
+ 'numequals 5'
1759
+ ],
1760
+ [
1761
+ '03050000',
1762
+ '917551',
1763
+ 'MINIMALDATA',
1764
+ 'numequals 5'
1765
+ ],
1766
+ [
1767
+ '020580',
1768
+ '917551',
1769
+ 'MINIMALDATA',
1770
+ 'numequals -5'
1771
+ ],
1772
+ [
1773
+ '03050080',
1774
+ '917551',
1775
+ 'MINIMALDATA',
1776
+ 'numequals -5'
1777
+ ],
1778
+ [
1779
+ '03ff7f80',
1780
+ '917551',
1781
+ 'MINIMALDATA',
1782
+ 'Minimal encoding is 0xffff'
1783
+ ],
1784
+ [
1785
+ '03ff7f00',
1786
+ '917551',
1787
+ 'MINIMALDATA',
1788
+ 'Minimal encoding is 0xff7f'
1789
+ ],
1790
+ [
1791
+ '04ffff7f80',
1792
+ '917551',
1793
+ 'MINIMALDATA',
1794
+ 'Minimal encoding is 0xffffff'
1795
+ ],
1796
+ [
1797
+ '04ffff7f00',
1798
+ '917551',
1799
+ 'MINIMALDATA',
1800
+ 'Minimal encoding is 0xffff7f'
1801
+ ],
1802
+ [
1803
+ 'Test every numeric-accepting opcode for correct handling of the numeric minimal encoding rule'
1804
+ ],
1805
+ [
1806
+ '51020000',
1807
+ '7975',
1808
+ 'MINIMALDATA'
1809
+ ],
1810
+ [
1811
+ '51020000',
1812
+ '7a7551',
1813
+ 'MINIMALDATA'
1814
+ ],
1815
+ [
1816
+ '020000',
1817
+ '8b7551',
1818
+ 'MINIMALDATA'
1819
+ ],
1820
+ [
1821
+ '020000',
1822
+ '8c7551',
1823
+ 'MINIMALDATA'
1824
+ ],
1825
+ [
1826
+ '020000',
1827
+ '8f7551',
1828
+ 'MINIMALDATA'
1829
+ ],
1830
+ [
1831
+ '020000',
1832
+ '907551',
1833
+ 'MINIMALDATA'
1834
+ ],
1835
+ [
1836
+ '020000',
1837
+ '917551',
1838
+ 'MINIMALDATA'
1839
+ ],
1840
+ [
1841
+ '020000',
1842
+ '927551',
1843
+ 'MINIMALDATA'
1844
+ ],
1845
+ [
1846
+ '00020000',
1847
+ '937551',
1848
+ 'MINIMALDATA'
1849
+ ],
1850
+ [
1851
+ '02000000',
1852
+ '937551',
1853
+ 'MINIMALDATA'
1854
+ ],
1855
+ [
1856
+ '00020000',
1857
+ '947551',
1858
+ 'MINIMALDATA'
1859
+ ],
1860
+ [
1861
+ '02000000',
1862
+ '947551',
1863
+ 'MINIMALDATA'
1864
+ ],
1865
+ [
1866
+ '00020000',
1867
+ '9a7551',
1868
+ 'MINIMALDATA'
1869
+ ],
1870
+ [
1871
+ '02000000',
1872
+ '9a7551',
1873
+ 'MINIMALDATA'
1874
+ ],
1875
+ [
1876
+ '00020000',
1877
+ '9b7551',
1878
+ 'MINIMALDATA'
1879
+ ],
1880
+ [
1881
+ '02000000',
1882
+ '9b7551',
1883
+ 'MINIMALDATA'
1884
+ ],
1885
+ [
1886
+ '00020000',
1887
+ '9c7551',
1888
+ 'MINIMALDATA'
1889
+ ],
1890
+ [
1891
+ '02000051',
1892
+ '9c7551',
1893
+ 'MINIMALDATA'
1894
+ ],
1895
+ [
1896
+ '00020000',
1897
+ '9d51',
1898
+ 'MINIMALDATA'
1899
+ ],
1900
+ [
1901
+ '02000000',
1902
+ '9d51',
1903
+ 'MINIMALDATA'
1904
+ ],
1905
+ [
1906
+ '00020000',
1907
+ '9e7551',
1908
+ 'MINIMALDATA'
1909
+ ],
1910
+ [
1911
+ '02000000',
1912
+ '9e7551',
1913
+ 'MINIMALDATA'
1914
+ ],
1915
+ [
1916
+ '00020000',
1917
+ '9f7551',
1918
+ 'MINIMALDATA'
1919
+ ],
1920
+ [
1921
+ '02000000',
1922
+ '9f7551',
1923
+ 'MINIMALDATA'
1924
+ ],
1925
+ [
1926
+ '00020000',
1927
+ 'a07551',
1928
+ 'MINIMALDATA'
1929
+ ],
1930
+ [
1931
+ '02000000',
1932
+ 'a07551',
1933
+ 'MINIMALDATA'
1934
+ ],
1935
+ [
1936
+ '00020000',
1937
+ 'a17551',
1938
+ 'MINIMALDATA'
1939
+ ],
1940
+ [
1941
+ '02000000',
1942
+ 'a17551',
1943
+ 'MINIMALDATA'
1944
+ ],
1945
+ [
1946
+ '00020000',
1947
+ 'a27551',
1948
+ 'MINIMALDATA'
1949
+ ],
1950
+ [
1951
+ '02000000',
1952
+ 'a27551',
1953
+ 'MINIMALDATA'
1954
+ ],
1955
+ [
1956
+ '00020000',
1957
+ 'a37551',
1958
+ 'MINIMALDATA'
1959
+ ],
1960
+ [
1961
+ '02000000',
1962
+ 'a37551',
1963
+ 'MINIMALDATA'
1964
+ ],
1965
+ [
1966
+ '00020000',
1967
+ 'a47551',
1968
+ 'MINIMALDATA'
1969
+ ],
1970
+ [
1971
+ '02000000',
1972
+ 'a47551',
1973
+ 'MINIMALDATA'
1974
+ ],
1975
+ [
1976
+ '0200000000',
1977
+ 'a57551',
1978
+ 'MINIMALDATA'
1979
+ ],
1980
+ [
1981
+ '0002000000',
1982
+ 'a57551',
1983
+ 'MINIMALDATA'
1984
+ ],
1985
+ [
1986
+ '0000020000',
1987
+ 'a57551',
1988
+ 'MINIMALDATA'
1989
+ ],
1990
+ [
1991
+ '0000020000',
1992
+ 'ae7551',
1993
+ 'MINIMALDATA'
1994
+ ],
1995
+ [
1996
+ '0002000000',
1997
+ 'ae7551',
1998
+ 'MINIMALDATA'
1999
+ ],
2000
+ [
2001
+ '000200000051',
2002
+ 'ae7551',
2003
+ 'MINIMALDATA'
2004
+ ],
2005
+ [
2006
+ '0000020000',
2007
+ 'af51',
2008
+ 'MINIMALDATA'
2009
+ ],
2010
+ [
2011
+ '0002000000',
2012
+ 'af51',
2013
+ 'MINIMALDATA'
2014
+ ],
2015
+ [
2016
+ 'Order of CHECKMULTISIG evaluation tests, inverted by swapping the order of'
2017
+ ],
2018
+ [
2019
+ 'pubkeys/signatures so they fail due to the STRICTENC rules on validly encoded'
2020
+ ],
2021
+ [
2022
+ 'signatures and pubkeys.'
2023
+ ],
2024
+ [
2025
+ '00473044022044dc17b0887c161bb67ba9635bf758735bdde503e4b0a0987f587f14a4e1143d022009a215772d49a85dae40d8ca03955af26ad3978a0ff965faa12915e9586249a501473044022044dc17b0887c161bb67ba9635bf758735bdde503e4b0a0987f587f14a4e1143d022009a215772d49a85dae40d8ca03955af26ad3978a0ff965faa12915e9586249a501',
2026
+ '522102865c40293a680cb9c020e7b1e106d8c1916d3cef99aa431a56d253e69256dac00052ae91',
2027
+ 'STRICTENC',
2028
+ '2-of-2 CHECKMULTISIG NOT with the first pubkey invalid, and both signatures validly encoded.'
2029
+ ],
2030
+ [
2031
+ '00473044022044dc17b0887c161bb67ba9635bf758735bdde503e4b0a0987f587f14a4e1143d022009a215772d49a85dae40d8ca03955af26ad3978a0ff965faa12915e9586249a50151',
2032
+ '522102865c40293a680cb9c020e7b1e106d8c1916d3cef99aa431a56d253e69256dac02102865c40293a680cb9c020e7b1e106d8c1916d3cef99aa431a56d253e69256dac052ae91',
2033
+ 'STRICTENC',
2034
+ '2-of-2 CHECKMULTISIG NOT with both pubkeys valid, but first signature invalid.'
2035
+ ],
2036
+ [
2037
+ 'Increase DERSIG test coverage'
2038
+ ],
2039
+ [
2040
+ '4a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000',
2041
+ '00ac91',
2042
+ 'DERSIG',
2043
+ 'Overly long signature is incorrectly encoded for DERSIG'
2044
+ ],
2045
+ [
2046
+ '2530220220000000000000000000000000000000000000000000000000000000000000000000',
2047
+ '00ac91',
2048
+ 'DERSIG',
2049
+ 'Missing S is incorrectly encoded for DERSIG'
2050
+ ],
2051
+ [
2052
+ '273024021077777777777777777777777777777777020a7777777777777777777777777777777701',
2053
+ '00ac91',
2054
+ 'DERSIG',
2055
+ 'S with invalid S length is incorrectly encoded for DERSIG'
2056
+ ],
2057
+ [
2058
+ '27302403107777777777777777777777777777777702107777777777777777777777777777777701',
2059
+ '00ac91',
2060
+ 'DERSIG',
2061
+ 'Non-integer R is incorrectly encoded for DERSIG'
2062
+ ],
2063
+ [
2064
+ '27302402107777777777777777777777777777777703107777777777777777777777777777777701',
2065
+ '00ac91',
2066
+ 'DERSIG',
2067
+ 'Non-integer S is incorrectly encoded for DERSIG'
2068
+ ],
2069
+ [
2070
+ '173014020002107777777777777777777777777777777701',
2071
+ '00ac91',
2072
+ 'DERSIG',
2073
+ 'Zero-length R is incorrectly encoded for DERSIG'
2074
+ ],
2075
+ [
2076
+ '173014021077777777777777777777777777777777020001',
2077
+ '00ac91',
2078
+ 'DERSIG',
2079
+ 'Zero-length S is incorrectly encoded for DERSIG'
2080
+ ],
2081
+ [
2082
+ '27302402107777777777777777777777777777777702108777777777777777777777777777777701',
2083
+ '00ac91',
2084
+ 'DERSIG',
2085
+ 'Negative S is incorrectly encoded for DERSIG'
2086
+ ],
2087
+ [
2088
+ 'Automatically generated test cases'
2089
+ ],
2090
+ [
2091
+ '47304402200a5c6163f07b8c3b013c4d1d6dba25e780b39658d79ba37af7057a3b7f15ffa102201fd9b4eaa9943f734928b99a83592c2e7bf342ea2680f6a2bb705167966b742001',
2092
+ '410479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8ac',
2093
+ '',
2094
+ 'P2PK, bad sig'
2095
+ ],
2096
+ [
2097
+ '473044022034bb0494b50b8ef130e2185bb220265b9284ef5b4b8a8da4d8415df489c83b5102206259a26d9cc0a125ac26af6153b17c02956855ebe1467412f066e402f5f05d12012103363d90d446b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff4640',
2098
+ '76a914c0834c0c158f53be706d234c38fd52de7eece65688ac',
2099
+ '',
2100
+ 'P2PKH, bad pubkey'
2101
+ ],
2102
+ [
2103
+ '47304402204710a85181663b32d25c70ec2bbd14adff5ddfff6cb50d09e155ef5f541fc86c0220056b0cc949be9386ecc5f6c2ac0493269031dbb185781db90171b54ac127790201',
2104
+ '41048282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f5150811f8a8098557dfe45e8256e830b60ace62d613ac2f7b17bed31b6eaff6e26cafac',
2105
+ '',
2106
+ 'P2PK anyonecanpay marked with normal hashtype'
2107
+ ],
2108
+ [
2109
+ '473044022003fef42ed6c7be8917441218f525a60e2431be978e28b7aca4d7a532cc413ae8022067a1f82c74e8d69291b90d148778405c6257bbcfc2353cc38a3e1f22bf4425460123210279be667ef9dcbbac54a06295ce870b07029bfcdb2dce28d959f2815b16f81798ac',
2110
+ 'a91423b0ad3477f2178bc0b3eed26e4e6316f4e83aa187',
2111
+ 'P2SH',
2112
+ 'P2SH(P2PK), bad redeemscript'
2113
+ ],
2114
+ [
2115
+ '47304402204e2eb034be7b089534ac9e798cf6a2c79f38bcb34d1b179efd6f2de0841735db022071461beb056b5a7be1819da6a3e3ce3662831ecc298419ca101eb6887b5dd6a4011976a9147cf9c846cd4882efec4bf07e44ebdad495c94f4b88ac',
2116
+ 'a9142df519943d5acc0ef5222091f9dfe3543f489a8287',
2117
+ 'P2SH',
2118
+ 'P2SH(P2PKH), bad sig'
2119
+ ],
2120
+ [
2121
+ '00473044022051254b9fb476a52d85530792b578f86fea70ec1ffb4393e661bcccb23d8d63d3022076505f94a403c86097841944e044c70c2045ce90e36de51f7e9d3828db98a0750147304402200a358f750934b3feb822f1966bfcd8bbec9eeaa3a8ca941e11ee5960e181fa01022050bf6b5a8e7750f70354ae041cb68a7bade67ec6c3ab19eb359638974410626e0100',
2122
+ '53210279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f8179821038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f515082103363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff464053ae',
2123
+ '',
2124
+ '3-of-3, 2 sigs'
2125
+ ],
2126
+ [
2127
+ '0047304402205b7d2c2f177ae76cfbbf14d589c113b0b35db753d305d5562dd0b61cbf366cfb02202e56f93c4f08a27f986cd424ffc48a462c3202c4902104d4d0ff98ed28f4bf8001004c6952210279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f8179821038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f515082103363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff464053ae',
2128
+ 'a914c9e4a896d149702d0d1695434feddd52e24ad78d87',
2129
+ 'P2SH',
2130
+ 'P2SH(2-of-3), 1 sig'
2131
+ ],
2132
+ [
2133
+ '47304402200060558477337b9022e70534f1fea71a318caf836812465a2509931c5e7c4987022078ec32bd50ac9e03a349ba953dfd9fe1c8d2dd8bdb1d38ddca844d3d5c78c11801',
2134
+ '21038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508ac',
2135
+ 'DERSIG',
2136
+ 'P2PK with too much R padding'
2137
+ ],
2138
+ [
2139
+ '48304502202de8c03fc525285c9c535631019a5f2af7c6454fa9eb392a3756a4917c420edd02210046130bf2baf7cfc065067c8b9e33a066d9c15edcea9feb0ca2d233e3597925b401',
2140
+ '21038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508ac',
2141
+ 'DERSIG',
2142
+ 'P2PK with too much S padding'
2143
+ ],
2144
+ [
2145
+ '4730440220d7a0417c3f6d1a15094d1cf2a3378ca0503eb8a57630953a9e2987e21ddd0a6502207a6266d686c99090920249991d3d42065b6d43eb70187b219c0db82e4f94d1a201',
2146
+ '21038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508ac',
2147
+ 'DERSIG',
2148
+ 'P2PK with too little R padding'
2149
+ ],
2150
+ [
2151
+ '4730440220005ece1335e7f757a1a1f476a7fb5bd90964e8a022489f890614a04acfb734c002206c12b8294a6513c7710e8c82d3c23d75cdbfe83200eb7efb495701958501a5d601',
2152
+ '2103363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff4640ac91',
2153
+ 'DERSIG',
2154
+ 'P2PK NOT with bad sig with too much R padding'
2155
+ ],
2156
+ [
2157
+ '4730440220005ece1335e7f657a1a1f476a7fb5bd90964e8a022489f890614a04acfb734c002206c12b8294a6513c7710e8c82d3c23d75cdbfe83200eb7efb495701958501a5d601',
2158
+ '2103363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff4640ac91',
2159
+ '',
2160
+ 'P2PK NOT with too much R padding but no DERSIG'
2161
+ ],
2162
+ [
2163
+ '4730440220005ece1335e7f657a1a1f476a7fb5bd90964e8a022489f890614a04acfb734c002206c12b8294a6513c7710e8c82d3c23d75cdbfe83200eb7efb495701958501a5d601',
2164
+ '2103363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff4640ac91',
2165
+ 'DERSIG',
2166
+ 'P2PK NOT with too much R padding'
2167
+ ],
2168
+ [
2169
+ '4730440220d7a0417c3f6d1a15094d1cf2a3378ca0503eb8a57630953a9e2987e21ddd0a6502207a6266d686c99090920249991d3d42065b6d43eb70187b219c0db82e4f94d1a201',
2170
+ '21038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508ac',
2171
+ 'DERSIG',
2172
+ 'BIP66 example 1, with DERSIG'
2173
+ ],
2174
+ [
2175
+ '47304402208e43c0b91f7c1e5bc58e41c8185f8a6086e111b0090187968a86f2822462d3c902200a58f4076b1133b18ff1dc83ee51676e44c60cc608d9534e0df5ace0424fc0be01',
2176
+ '21038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508ac91',
2177
+ '',
2178
+ 'BIP66 example 2, without DERSIG'
2179
+ ],
2180
+ [
2181
+ '47304402208e43c0b91f7c1e5bc58e41c8185f8a6086e111b0090187968a86f2822462d3c902200a58f4076b1133b18ff1dc83ee51676e44c60cc608d9534e0df5ace0424fc0be01',
2182
+ '21038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508ac91',
2183
+ 'DERSIG',
2184
+ 'BIP66 example 2, with DERSIG'
2185
+ ],
2186
+ [
2187
+ '00',
2188
+ '21038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508ac',
2189
+ '',
2190
+ 'BIP66 example 3, without DERSIG'
2191
+ ],
2192
+ [
2193
+ '00',
2194
+ '21038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508ac',
2195
+ 'DERSIG',
2196
+ 'BIP66 example 3, with DERSIG'
2197
+ ],
2198
+ [
2199
+ '51',
2200
+ '21038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508ac',
2201
+ '',
2202
+ 'BIP66 example 5, without DERSIG'
2203
+ ],
2204
+ [
2205
+ '51',
2206
+ '21038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508ac',
2207
+ 'DERSIG',
2208
+ 'BIP66 example 5, with DERSIG'
2209
+ ],
2210
+ [
2211
+ '51',
2212
+ '21038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508ac91',
2213
+ 'DERSIG',
2214
+ 'BIP66 example 6, with DERSIG'
2215
+ ],
2216
+ [
2217
+ '004730440220cae00b1444babfbf6071b0ba8707f6bd373da3df494d6e74119b0430c5db810502205d5231b8c5939c8ff0c82242656d6e06edb073d42af336c99fe8837c36ea39d501473044022027c2714269ca5aeecc4d70edc88ba5ee0e3da4986e9216028f489ab4f1b8efce022022bd545b4951215267e4c5ceabd4c5350331b2e4a0b6494c56f361fa5a57a1a201',
2218
+ '5221038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f515082103363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff464052ae',
2219
+ 'DERSIG',
2220
+ 'BIP66 example 7, with DERSIG'
2221
+ ],
2222
+ [
2223
+ '004730440220b119d67d389315308d1745f734a51ff3ec72e06081e84e236fdf9dc2f5d2a64802204b04e3bc38674c4422ea317231d642b56dc09d214a1ecbbf16ecca01ed996e2201473044022079ea80afd538d9ada421b5101febeb6bc874e01dde5bca108c1d0479aec339a4022004576db8f66130d1df686ccf00935703689d69cf539438da1edab208b0d63c4801',
2224
+ '5221038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f515082103363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff464052ae91',
2225
+ '',
2226
+ 'BIP66 example 8, without DERSIG'
2227
+ ],
2228
+ [
2229
+ '004730440220b119d67d389315308d1745f734a51ff3ec72e06081e84e236fdf9dc2f5d2a64802204b04e3bc38674c4422ea317231d642b56dc09d214a1ecbbf16ecca01ed996e2201473044022079ea80afd538d9ada421b5101febeb6bc874e01dde5bca108c1d0479aec339a4022004576db8f66130d1df686ccf00935703689d69cf539438da1edab208b0d63c4801',
2230
+ '5221038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f515082103363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff464052ae91',
2231
+ 'DERSIG',
2232
+ 'BIP66 example 8, with DERSIG'
2233
+ ],
2234
+ [
2235
+ '0000473044022081aa9d436f2154e8b6d600516db03d78de71df685b585a9807ead4210bd883490220534bb6bdf318a419ac0749660b60e78d17d515558ef369bf872eff405b676b2e01',
2236
+ '5221038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f515082103363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff464052ae',
2237
+ '',
2238
+ 'BIP66 example 9, without DERSIG'
2239
+ ],
2240
+ [
2241
+ '0000473044022081aa9d436f2154e8b6d600516db03d78de71df685b585a9807ead4210bd883490220534bb6bdf318a419ac0749660b60e78d17d515558ef369bf872eff405b676b2e01',
2242
+ '5221038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f515082103363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff464052ae',
2243
+ 'DERSIG',
2244
+ 'BIP66 example 9, with DERSIG'
2245
+ ],
2246
+ [
2247
+ '00004730440220da6f441dc3b4b2c84cfa8db0cd5b34ed92c9e01686de5a800d40498b70c0dcac02207c2cf91b0c32b860c4cd4994be36cfb84caf8bb7c3a8e4d96a31b2022c5299c501',
2248
+ '5221038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f515082103363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff464052ae91',
2249
+ 'DERSIG',
2250
+ 'BIP66 example 10, with DERSIG'
2251
+ ],
2252
+ [
2253
+ '004730440220cae00b1444babfbf6071b0ba8707f6bd373da3df494d6e74119b0430c5db810502205d5231b8c5939c8ff0c82242656d6e06edb073d42af336c99fe8837c36ea39d50100',
2254
+ '5221038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f515082103363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff464052ae',
2255
+ '',
2256
+ 'BIP66 example 11, without DERSIG'
2257
+ ],
2258
+ [
2259
+ '004730440220cae00b1444babfbf6071b0ba8707f6bd373da3df494d6e74119b0430c5db810502205d5231b8c5939c8ff0c82242656d6e06edb073d42af336c99fe8837c36ea39d50100',
2260
+ '5221038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f515082103363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff464052ae',
2261
+ 'DERSIG',
2262
+ 'BIP66 example 11, with DERSIG'
2263
+ ],
2264
+ [
2265
+ '48304402203e4516da7253cf068effec6b95c41221c0cf3a8e6ccb8cbf1725b562e9afde2c022054e1c258c2981cdfba5df1f46661fb6541c44f77ca0092f3600331abfffb12510101',
2266
+ '2103363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff4640ac',
2267
+ 'DERSIG',
2268
+ 'P2PK with multi-byte hashtype, with DERSIG'
2269
+ ],
2270
+ [
2271
+ '48304502203e4516da7253cf068effec6b95c41221c0cf3a8e6ccb8cbf1725b562e9afde2c022100ab1e3da73d67e32045a20e0b999e049978ea8d6ee5480d485fcf2ce0d03b2ef001',
2272
+ '2103363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff4640ac',
2273
+ 'LOW_S',
2274
+ 'P2PK with high S'
2275
+ ],
2276
+ [
2277
+ '473044022057292e2d4dfe775becdd0a9e6547997c728cdf35390f6a017da56d654d374e4902206b643be2fc53763b4e284845bfea2c597d2dc7759941dce937636c9d341b71ed01',
2278
+ '410679be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8ac',
2279
+ 'STRICTENC',
2280
+ 'P2PK with hybrid pubkey'
2281
+ ],
2282
+ [
2283
+ '4730440220035d554e3153c14950c9993f41c496607a8e24093db0595be7bf875cf64fcf1f02204731c8c4e5daf15e706cec19cdd8f2c5b1d05490e11dab8465ed426569b6e92101',
2284
+ '410679be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8ac91',
2285
+ '',
2286
+ 'P2PK NOT with hybrid pubkey but no STRICTENC'
2287
+ ],
2288
+ [
2289
+ '4730440220035d554e3153c14950c9993f41c496607a8e24093db0595be7bf875cf64fcf1f02204731c8c4e5daf15e706cec19cdd8f2c5b1d05490e11dab8465ed426569b6e92101',
2290
+ '410679be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8ac91',
2291
+ 'STRICTENC',
2292
+ 'P2PK NOT with hybrid pubkey'
2293
+ ],
2294
+ [
2295
+ '4730440220035d554e3153c04950c9993f41c496607a8e24093db0595be7bf875cf64fcf1f02204731c8c4e5daf15e706cec19cdd8f2c5b1d05490e11dab8465ed426569b6e92101',
2296
+ '410679be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8ac91',
2297
+ 'STRICTENC',
2298
+ 'P2PK NOT with invalid hybrid pubkey'
2299
+ ],
2300
+ [
2301
+ '00473044022079c7824d6c868e0e1a273484e28c2654a27d043c8a27f49f52cb72efed0759090220452bbbf7089574fa082095a4fc1b3a16bafcf97a3a34d745fafc922cce66b27201',
2302
+ '5121038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508410679be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b852ae',
2303
+ 'STRICTENC',
2304
+ '1-of-2 with the first 1 hybrid pubkey'
2305
+ ],
2306
+ [
2307
+ '47304402206177d513ec2cda444c021a1f4f656fc4c72ba108ae063e157eb86dc3575784940220666fc66702815d0e5413bb9b1df22aed44f5f1efb8b99d41dd5dc9a5be6d205205',
2308
+ '41048282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f5150811f8a8098557dfe45e8256e830b60ace62d613ac2f7b17bed31b6eaff6e26cafac',
2309
+ 'STRICTENC',
2310
+ 'P2PK with undefined hashtype'
2311
+ ],
2312
+ [
2313
+ '47304402207409b5b320296e5e2136a7b281a7f803028ca4ca44e2b83eebd46932677725de02202d4eea1c8d3c98e6f42614f54764e6e5e6542e213eb4d079737e9a8b6e9812ec05',
2314
+ '41048282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f5150811f8a8098557dfe45e8256e830b60ace62d613ac2f7b17bed31b6eaff6e26cafac91',
2315
+ 'STRICTENC',
2316
+ 'P2PK NOT with invalid sig and undefined hashtype'
2317
+ ],
2318
+ [
2319
+ '51473044022051254b9fb476a52d85530792b578f86fea70ec1ffb4393e661bcccb23d8d63d3022076505f94a403c86097841944e044c70c2045ce90e36de51f7e9d3828db98a0750147304402200a358f750934b3feb822f1966bfcd8bbec9eeaa3a8ca941e11ee5960e181fa01022050bf6b5a8e7750f70354ae041cb68a7bade67ec6c3ab19eb359638974410626e0147304402200955d031fff71d8653221e85e36c3c85533d2312fc3045314b19650b7ae2f81002202a6bb8505e36201909d0921f01abff390ae6b7ff97bbf959f98aedeb0a56730901',
2320
+ '53210279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f8179821038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f515082103363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff464053ae',
2321
+ 'NULLDUMMY',
2322
+ '3-of-3 with nonzero dummy'
2323
+ ],
2324
+ [
2325
+ '5147304402201bb2edab700a5d020236df174fefed78087697143731f659bea59642c759c16d022061f42cdbae5bcd3e8790f20bf76687443436e94a634321c16a72aa54cbc7c2ea0147304402204bb4a64f2a6e5c7fb2f07fef85ee56fde5e6da234c6a984262307a20e99842d702206f8303aaba5e625d223897e2ffd3f88ef1bcffef55f38dc3768e5f2e94c923f901473044022040c2809b71fffb155ec8b82fe7a27f666bd97f941207be4e14ade85a1249dd4d02204d56c85ec525dd18e29a0533d5ddf61b6b1bb32980c2f63edf951aebf7a27bfe01',
2326
+ '53210279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f8179821038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f515082103363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff464053ae91',
2327
+ 'NULLDUMMY',
2328
+ '3-of-3 NOT with invalid sig with nonzero dummy'
2329
+ ],
2330
+ [
2331
+ '0047304402200abeb4bd07f84222f474aed558cfbdfc0b4e96cde3c2935ba7098b1ff0bd74c302204a04c1ca67b2a20abee210cf9a21023edccbbf8024b988812634233115c6b7390176',
2332
+ '5221038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f5150821038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f5150852ae',
2333
+ 'SIGPUSHONLY',
2334
+ '2-of-2 with two identical keys and sigs pushed using OP_DUP'
2335
+ ],
2336
+ [
2337
+ '47304402203e4516da7253cf068effec6b95c41221c0cf3a8e6ccb8cbf1725b562e9afde2c022054e1c258c2981cdfba5df1f46661fb6541c44f77ca0092f3600331abfffb125101232103363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff4640ac',
2338
+ '2103363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff4640ac',
2339
+ '',
2340
+ 'P2SH(P2PK) with non-push scriptSig but no SIGPUSHONLY'
2341
+ ],
2342
+ [
2343
+ '47304402203e4516da7253cf068effec6b95c41221c0cf3a8e6ccb8cbf1725b562e9afde2c022054e1c258c2981cdfba5df1f46661fb6541c44f77ca0092f3600331abfffb125101232103363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff4640ac',
2344
+ '2103363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff4640ac',
2345
+ 'SIGPUSHONLY',
2346
+ 'P2SH(P2PK) with non-push scriptSig'
2347
+ ],
2348
+ [
2349
+ '0047304402205451ce65ad844dbb978b8bdedf5082e33b43cae8279c30f2c74d9e9ee49a94f802203fe95a7ccf74da7a232ee523ef4a53cb4d14bdd16289680cdb97a63819b8f42f0146304402205451ce65ad844dbb978b8bdedf5082e33b43cae8279c30f2c74d9e9ee49a94f802203fe95a7ccf74da7a232ee523ef4a53cb4d14bdd16289680cdb97a63819b8f42f',
2350
+ '522102a673638cb9587cb68ea08dbef685c6f2d2a751a8b3c6f2a7e9a4999e6e4bfaf52102a673638cb9587cb68ea08dbef685c6f2d2a751a8b3c6f2a7e9a4999e6e4bfaf52102a673638cb9587cb68ea08dbef685c6f2d2a751a8b3c6f2a7e9a4999e6e4bfaf553ae',
2351
+ 'P2SH,STRICTENC',
2352
+ '2-of-3 with one valid and one invalid signature due to parse error, nSigs > validSigs'
2353
+ ],
2354
+ [
2355
+ '5b47304402200a5c6163f07b8d3b013c4d1d6dba25e780b39658d79ba37af7057a3b7f15ffa102201fd9b4eaa9943f734928b99a83592c2e7bf342ea2680f6a2bb705167966b742001',
2356
+ '410479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8ac',
2357
+ 'CLEANSTACK,P2SH',
2358
+ 'P2PK with unnecessary input'
2359
+ ],
2360
+ [
2361
+ '5b47304402202f7505132be14872581f35d74b759212d9da40482653f1ffa3116c3294a4a51702206adbf347a2240ca41c66522b1a22a41693610b76a8e7770645dc721d1635854f0143410479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8ac',
2362
+ 'a91431edc23bdafda4639e669f89ad6b2318dd79d03287',
2363
+ 'CLEANSTACK,P2SH',
2364
+ 'P2SH with unnecessary input'
2365
+ ],
2366
+ [
2367
+ 'The End'
2368
+ ]
2369
+ ];
2370
+ //# sourceMappingURL=script.invalid.vectors.js.map