@airgap/coinlib-core 0.13.10 → 0.13.11-beta.1

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 (644) hide show
  1. package/package.json +6 -3
  2. package/actions/Action.d.ts +0 -24
  3. package/actions/Action.js +0 -119
  4. package/actions/Action.js.map +0 -1
  5. package/actions/LinkedAction.d.ts +0 -10
  6. package/actions/LinkedAction.js +0 -95
  7. package/actions/LinkedAction.js.map +0 -1
  8. package/actions/RepeatableAction.d.ts +0 -8
  9. package/actions/RepeatableAction.js +0 -92
  10. package/actions/RepeatableAction.js.map +0 -1
  11. package/actions/SimpleAction.d.ts +0 -7
  12. package/actions/SimpleAction.js +0 -80
  13. package/actions/SimpleAction.js.map +0 -1
  14. package/actions/StateMachine.d.ts +0 -9
  15. package/actions/StateMachine.js +0 -42
  16. package/actions/StateMachine.js.map +0 -1
  17. package/airgap-coinlib-core.min.js +0 -31685
  18. package/data/KeyPair.d.ts +0 -5
  19. package/data/KeyPair.js +0 -3
  20. package/data/KeyPair.js.map +0 -1
  21. package/data/Lazy.d.ts +0 -14
  22. package/data/Lazy.js +0 -83
  23. package/data/Lazy.js.map +0 -1
  24. package/data/RPCBody.d.ts +0 -7
  25. package/data/RPCBody.js +0 -16
  26. package/data/RPCBody.js.map +0 -1
  27. package/dependencies/src/@stablelib/binary-1.0.1/packages/binary/binary.d.ts +0 -230
  28. package/dependencies/src/@stablelib/binary-1.0.1/packages/binary/binary.js +0 -471
  29. package/dependencies/src/@stablelib/binary-1.0.1/packages/binary/binary.js.map +0 -1
  30. package/dependencies/src/@stablelib/blake2b-1.0.1/packages/blake2b/blake2b.d.ts +0 -76
  31. package/dependencies/src/@stablelib/blake2b-1.0.1/packages/blake2b/blake2b.js +0 -455
  32. package/dependencies/src/@stablelib/blake2b-1.0.1/packages/blake2b/blake2b.js.map +0 -1
  33. package/dependencies/src/@stablelib/ed25519-1.0.3/packages/ed25519/ed25519.d.ts +0 -27
  34. package/dependencies/src/@stablelib/ed25519-1.0.3/packages/ed25519/ed25519.js +0 -848
  35. package/dependencies/src/@stablelib/ed25519-1.0.3/packages/ed25519/ed25519.js.map +0 -1
  36. package/dependencies/src/@stablelib/hash-1.0.1/packages/hash/hash.d.ts +0 -22
  37. package/dependencies/src/@stablelib/hash-1.0.1/packages/hash/hash.js +0 -14
  38. package/dependencies/src/@stablelib/hash-1.0.1/packages/hash/hash.js.map +0 -1
  39. package/dependencies/src/@stablelib/int-1.0.1/packages/int/int.d.ts +0 -29
  40. package/dependencies/src/@stablelib/int-1.0.1/packages/int/int.js +0 -63
  41. package/dependencies/src/@stablelib/int-1.0.1/packages/int/int.js.map +0 -1
  42. package/dependencies/src/@stablelib/random-1.0.2/packages/random/random.d.ts +0 -36
  43. package/dependencies/src/@stablelib/random-1.0.2/packages/random/random.js +0 -87
  44. package/dependencies/src/@stablelib/random-1.0.2/packages/random/random.js.map +0 -1
  45. package/dependencies/src/@stablelib/random-1.0.2/packages/random/source/browser.d.ts +0 -8
  46. package/dependencies/src/@stablelib/random-1.0.2/packages/random/source/browser.js +0 -33
  47. package/dependencies/src/@stablelib/random-1.0.2/packages/random/source/browser.js.map +0 -1
  48. package/dependencies/src/@stablelib/random-1.0.2/packages/random/source/index.d.ts +0 -11
  49. package/dependencies/src/@stablelib/random-1.0.2/packages/random/source/index.js +0 -5
  50. package/dependencies/src/@stablelib/random-1.0.2/packages/random/source/index.js.map +0 -1
  51. package/dependencies/src/@stablelib/random-1.0.2/packages/random/source/node.d.ts +0 -8
  52. package/dependencies/src/@stablelib/random-1.0.2/packages/random/source/node.js +0 -43
  53. package/dependencies/src/@stablelib/random-1.0.2/packages/random/source/node.js.map +0 -1
  54. package/dependencies/src/@stablelib/random-1.0.2/packages/random/source/system.d.ts +0 -8
  55. package/dependencies/src/@stablelib/random-1.0.2/packages/random/source/system.js +0 -37
  56. package/dependencies/src/@stablelib/random-1.0.2/packages/random/source/system.js.map +0 -1
  57. package/dependencies/src/@stablelib/sha512/packages/sha512/sha512.d.ts +0 -73
  58. package/dependencies/src/@stablelib/sha512/packages/sha512/sha512.js +0 -552
  59. package/dependencies/src/@stablelib/sha512/packages/sha512/sha512.js.map +0 -1
  60. package/dependencies/src/@stablelib/sha512-1.0.1/packages/sha512/sha512.d.ts +0 -73
  61. package/dependencies/src/@stablelib/sha512-1.0.1/packages/sha512/sha512.js +0 -552
  62. package/dependencies/src/@stablelib/sha512-1.0.1/packages/sha512/sha512.js.map +0 -1
  63. package/dependencies/src/@stablelib/wipe-1.0.1/packages/wipe/wipe.d.ts +0 -18
  64. package/dependencies/src/@stablelib/wipe-1.0.1/packages/wipe/wipe.js +0 -29
  65. package/dependencies/src/@stablelib/wipe-1.0.1/packages/wipe/wipe.js.map +0 -1
  66. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/codec.d.ts +0 -57
  67. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/codec.js +0 -384
  68. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/codec.js.map +0 -1
  69. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/constants.d.ts +0 -63
  70. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/constants.js +0 -264
  71. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/constants.js.map +0 -1
  72. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/decoder.d.ts +0 -5
  73. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/decoder.js +0 -82
  74. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/decoder.js.map +0 -1
  75. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/encoder.d.ts +0 -4
  76. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/encoder.js +0 -67
  77. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/encoder.js.map +0 -1
  78. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/error.d.ts +0 -89
  79. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/error.js +0 -169
  80. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/error.js.map +0 -1
  81. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/interface.d.ts +0 -9
  82. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/interface.js +0 -3
  83. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/interface.js.map +0 -1
  84. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/michelson/codec.d.ts +0 -42
  85. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/michelson/codec.js +0 -270
  86. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/michelson/codec.js.map +0 -1
  87. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/proto14-kathmandu/codec-proto14.d.ts +0 -15
  88. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/proto14-kathmandu/codec-proto14.js +0 -80
  89. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/proto14-kathmandu/codec-proto14.js.map +0 -1
  90. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/proto14-kathmandu/constants-proto14.d.ts +0 -12
  91. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/proto14-kathmandu/constants-proto14.js +0 -184
  92. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/proto14-kathmandu/constants-proto14.js.map +0 -1
  93. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/proto14-kathmandu/decoder-proto14.d.ts +0 -5
  94. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/proto14-kathmandu/decoder-proto14.js +0 -81
  95. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/proto14-kathmandu/decoder-proto14.js.map +0 -1
  96. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/proto14-kathmandu/encoder-proto14.d.ts +0 -4
  97. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/proto14-kathmandu/encoder-proto14.js +0 -76
  98. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/proto14-kathmandu/encoder-proto14.js.map +0 -1
  99. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/proto14-kathmandu/michelson/codec-proto14.d.ts +0 -14
  100. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/proto14-kathmandu/michelson/codec-proto14.js +0 -150
  101. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/proto14-kathmandu/michelson/codec-proto14.js.map +0 -1
  102. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/protocols.d.ts +0 -17
  103. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/protocols.js +0 -41
  104. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/protocols.js.map +0 -1
  105. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/schema/operation.d.ts +0 -150
  106. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/schema/operation.js +0 -217
  107. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/schema/operation.js.map +0 -1
  108. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/taquito-local-forging.d.ts +0 -26
  109. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/taquito-local-forging.js +0 -115
  110. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/taquito-local-forging.js.map +0 -1
  111. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/uint8array-consumer.d.ts +0 -9
  112. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/uint8array-consumer.js +0 -35
  113. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/uint8array-consumer.js.map +0 -1
  114. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/utils.d.ts +0 -3
  115. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/utils.js +0 -26
  116. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/utils.js.map +0 -1
  117. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/validator.d.ts +0 -13
  118. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/validator.js +0 -52
  119. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/validator.js.map +0 -1
  120. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/version.d.ts +0 -4
  121. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/version.js +0 -9
  122. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/version.js.map +0 -1
  123. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-rpc/src/opkind.d.ts +0 -34
  124. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-rpc/src/opkind.js +0 -39
  125. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-rpc/src/opkind.js.map +0 -1
  126. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-rpc/src/types.d.ts +0 -1590
  127. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-rpc/src/types.js +0 -35
  128. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-rpc/src/types.js.map +0 -1
  129. package/dependencies/src/@taquito/utils-15.0.1/packages/taquito-utils/src/constants.d.ts +0 -91
  130. package/dependencies/src/@taquito/utils-15.0.1/packages/taquito-utils/src/constants.js +0 -127
  131. package/dependencies/src/@taquito/utils-15.0.1/packages/taquito-utils/src/constants.js.map +0 -1
  132. package/dependencies/src/@taquito/utils-15.0.1/packages/taquito-utils/src/errors.d.ts +0 -145
  133. package/dependencies/src/@taquito/utils-15.0.1/packages/taquito-utils/src/errors.js +0 -270
  134. package/dependencies/src/@taquito/utils-15.0.1/packages/taquito-utils/src/errors.js.map +0 -1
  135. package/dependencies/src/@taquito/utils-15.0.1/packages/taquito-utils/src/format.d.ts +0 -4
  136. package/dependencies/src/@taquito/utils-15.0.1/packages/taquito-utils/src/format.js +0 -33
  137. package/dependencies/src/@taquito/utils-15.0.1/packages/taquito-utils/src/format.js.map +0 -1
  138. package/dependencies/src/@taquito/utils-15.0.1/packages/taquito-utils/src/taquito-utils.d.ts +0 -163
  139. package/dependencies/src/@taquito/utils-15.0.1/packages/taquito-utils/src/taquito-utils.js +0 -438
  140. package/dependencies/src/@taquito/utils-15.0.1/packages/taquito-utils/src/taquito-utils.js.map +0 -1
  141. package/dependencies/src/@taquito/utils-15.0.1/packages/taquito-utils/src/validators.d.ts +0 -158
  142. package/dependencies/src/@taquito/utils-15.0.1/packages/taquito-utils/src/validators.js +0 -254
  143. package/dependencies/src/@taquito/utils-15.0.1/packages/taquito-utils/src/validators.js.map +0 -1
  144. package/dependencies/src/@taquito/utils-15.0.1/packages/taquito-utils/src/verify-signature.d.ts +0 -24
  145. package/dependencies/src/@taquito/utils-15.0.1/packages/taquito-utils/src/verify-signature.js +0 -126
  146. package/dependencies/src/@taquito/utils-15.0.1/packages/taquito-utils/src/verify-signature.js.map +0 -1
  147. package/dependencies/src/@taquito/utils-15.0.1/packages/taquito-utils/src/version.d.ts +0 -4
  148. package/dependencies/src/@taquito/utils-15.0.1/packages/taquito-utils/src/version.js +0 -9
  149. package/dependencies/src/@taquito/utils-15.0.1/packages/taquito-utils/src/version.js.map +0 -1
  150. package/dependencies/src/axios-0.19.0/index.d.ts +0 -152
  151. package/dependencies/src/axios-0.19.0/index.js +0 -1
  152. package/dependencies/src/axios-0.19.0/lib/adapters/http.js +0 -275
  153. package/dependencies/src/axios-0.19.0/lib/adapters/xhr.js +0 -174
  154. package/dependencies/src/axios-0.19.0/lib/axios.js +0 -53
  155. package/dependencies/src/axios-0.19.0/lib/cancel/Cancel.js +0 -19
  156. package/dependencies/src/axios-0.19.0/lib/cancel/CancelToken.js +0 -57
  157. package/dependencies/src/axios-0.19.0/lib/cancel/isCancel.js +0 -5
  158. package/dependencies/src/axios-0.19.0/lib/core/Axios.js +0 -86
  159. package/dependencies/src/axios-0.19.0/lib/core/InterceptorManager.js +0 -52
  160. package/dependencies/src/axios-0.19.0/lib/core/createError.js +0 -18
  161. package/dependencies/src/axios-0.19.0/lib/core/dispatchRequest.js +0 -86
  162. package/dependencies/src/axios-0.19.0/lib/core/enhanceError.js +0 -42
  163. package/dependencies/src/axios-0.19.0/lib/core/mergeConfig.js +0 -51
  164. package/dependencies/src/axios-0.19.0/lib/core/settle.js +0 -25
  165. package/dependencies/src/axios-0.19.0/lib/core/transformData.js +0 -20
  166. package/dependencies/src/axios-0.19.0/lib/defaults.js +0 -98
  167. package/dependencies/src/axios-0.19.0/lib/helpers/bind.js +0 -11
  168. package/dependencies/src/axios-0.19.0/lib/helpers/buildURL.js +0 -71
  169. package/dependencies/src/axios-0.19.0/lib/helpers/combineURLs.js +0 -14
  170. package/dependencies/src/axios-0.19.0/lib/helpers/cookies.js +0 -53
  171. package/dependencies/src/axios-0.19.0/lib/helpers/deprecatedMethod.js +0 -24
  172. package/dependencies/src/axios-0.19.0/lib/helpers/isAbsoluteURL.js +0 -14
  173. package/dependencies/src/axios-0.19.0/lib/helpers/isURLSameOrigin.js +0 -68
  174. package/dependencies/src/axios-0.19.0/lib/helpers/normalizeHeaderName.js +0 -12
  175. package/dependencies/src/axios-0.19.0/lib/helpers/parseHeaders.js +0 -53
  176. package/dependencies/src/axios-0.19.0/lib/helpers/spread.js +0 -27
  177. package/dependencies/src/axios-0.19.0/lib/utils.js +0 -334
  178. package/dependencies/src/axios-0.19.0/package.json +0 -85
  179. package/dependencies/src/base-x-3.0.7/src/index.d.ts +0 -10
  180. package/dependencies/src/base-x-3.0.7/src/index.js +0 -120
  181. package/dependencies/src/base64-js-1.3.1/index.js +0 -152
  182. package/dependencies/src/bech32-0.0.3/index.js +0 -139
  183. package/dependencies/src/bech32-1.1.3/index.js +0 -147
  184. package/dependencies/src/big-integer-1.6.45/BigInteger.d.ts +0 -2393
  185. package/dependencies/src/big-integer-1.6.45/BigInteger.js +0 -1452
  186. package/dependencies/src/bigi-1.4.2/lib/bigi.js +0 -1509
  187. package/dependencies/src/bigi-1.4.2/lib/convert.js +0 -91
  188. package/dependencies/src/bigi-1.4.2/lib/index.js +0 -6
  189. package/dependencies/src/bigi-1.4.2/package.json +0 -55
  190. package/dependencies/src/bignumber.js-9.0.0/bignumber.d.ts +0 -1829
  191. package/dependencies/src/bignumber.js-9.0.0/bignumber.js +0 -2902
  192. package/dependencies/src/bip32-2.0.4/src/bip32.js +0 -290
  193. package/dependencies/src/bip32-2.0.4/src/crypto.js +0 -26
  194. package/dependencies/src/bip32-2.0.4/src/index.js +0 -7
  195. package/dependencies/src/bip32-path-0.4.2/index.js +0 -96
  196. package/dependencies/src/bip39-2.5.0/index.js +0 -153
  197. package/dependencies/src/bip39-2.5.0/wordlists/chinese_simplified.json +0 -2050
  198. package/dependencies/src/bip39-2.5.0/wordlists/chinese_traditional.json +0 -2050
  199. package/dependencies/src/bip39-2.5.0/wordlists/english.json +0 -2050
  200. package/dependencies/src/bip39-2.5.0/wordlists/french.json +0 -2050
  201. package/dependencies/src/bip39-2.5.0/wordlists/italian.json +0 -2050
  202. package/dependencies/src/bip39-2.5.0/wordlists/japanese.json +0 -2050
  203. package/dependencies/src/bip39-2.5.0/wordlists/korean.json +0 -2050
  204. package/dependencies/src/bip39-2.5.0/wordlists/spanish.json +0 -2050
  205. package/dependencies/src/bip66-1.1.5/index.js +0 -113
  206. package/dependencies/src/bitcoin-ops-1.4.1/index.json +0 -120
  207. package/dependencies/src/bitcoin-ops-1.4.1/map.js +0 -9
  208. package/dependencies/src/bitcoinjs-message-2.1.1/index.js +0 -157
  209. package/dependencies/src/bitgo-utxo-lib-5d91049fd7a988382df81c8260e244ee56d57aac/src/address.js +0 -109
  210. package/dependencies/src/bitgo-utxo-lib-5d91049fd7a988382df81c8260e244ee56d57aac/src/block.js +0 -234
  211. package/dependencies/src/bitgo-utxo-lib-5d91049fd7a988382df81c8260e244ee56d57aac/src/bufferWriter.js +0 -40
  212. package/dependencies/src/bitgo-utxo-lib-5d91049fd7a988382df81c8260e244ee56d57aac/src/bufferutils.js +0 -65
  213. package/dependencies/src/bitgo-utxo-lib-5d91049fd7a988382df81c8260e244ee56d57aac/src/coins.js +0 -53
  214. package/dependencies/src/bitgo-utxo-lib-5d91049fd7a988382df81c8260e244ee56d57aac/src/crypto.js +0 -43
  215. package/dependencies/src/bitgo-utxo-lib-5d91049fd7a988382df81c8260e244ee56d57aac/src/ecdsa.js +0 -161
  216. package/dependencies/src/bitgo-utxo-lib-5d91049fd7a988382df81c8260e244ee56d57aac/src/ecpair.js +0 -155
  217. package/dependencies/src/bitgo-utxo-lib-5d91049fd7a988382df81c8260e244ee56d57aac/src/ecsignature.js +0 -97
  218. package/dependencies/src/bitgo-utxo-lib-5d91049fd7a988382df81c8260e244ee56d57aac/src/fastcurve.js +0 -92
  219. package/dependencies/src/bitgo-utxo-lib-5d91049fd7a988382df81c8260e244ee56d57aac/src/hdnode.js +0 -363
  220. package/dependencies/src/bitgo-utxo-lib-5d91049fd7a988382df81c8260e244ee56d57aac/src/index.js +0 -24
  221. package/dependencies/src/bitgo-utxo-lib-5d91049fd7a988382df81c8260e244ee56d57aac/src/networks.js +0 -214
  222. package/dependencies/src/bitgo-utxo-lib-5d91049fd7a988382df81c8260e244ee56d57aac/src/script.js +0 -214
  223. package/dependencies/src/bitgo-utxo-lib-5d91049fd7a988382df81c8260e244ee56d57aac/src/script_number.js +0 -68
  224. package/dependencies/src/bitgo-utxo-lib-5d91049fd7a988382df81c8260e244ee56d57aac/src/templates/index.js +0 -74
  225. package/dependencies/src/bitgo-utxo-lib-5d91049fd7a988382df81c8260e244ee56d57aac/src/templates/multisig/index.js +0 -4
  226. package/dependencies/src/bitgo-utxo-lib-5d91049fd7a988382df81c8260e244ee56d57aac/src/templates/multisig/input.js +0 -71
  227. package/dependencies/src/bitgo-utxo-lib-5d91049fd7a988382df81c8260e244ee56d57aac/src/templates/multisig/output.js +0 -64
  228. package/dependencies/src/bitgo-utxo-lib-5d91049fd7a988382df81c8260e244ee56d57aac/src/templates/nulldata.js +0 -39
  229. package/dependencies/src/bitgo-utxo-lib-5d91049fd7a988382df81c8260e244ee56d57aac/src/templates/pubkey/index.js +0 -4
  230. package/dependencies/src/bitgo-utxo-lib-5d91049fd7a988382df81c8260e244ee56d57aac/src/templates/pubkey/input.js +0 -39
  231. package/dependencies/src/bitgo-utxo-lib-5d91049fd7a988382df81c8260e244ee56d57aac/src/templates/pubkey/output.js +0 -33
  232. package/dependencies/src/bitgo-utxo-lib-5d91049fd7a988382df81c8260e244ee56d57aac/src/templates/pubkeyhash/index.js +0 -4
  233. package/dependencies/src/bitgo-utxo-lib-5d91049fd7a988382df81c8260e244ee56d57aac/src/templates/pubkeyhash/input.js +0 -51
  234. package/dependencies/src/bitgo-utxo-lib-5d91049fd7a988382df81c8260e244ee56d57aac/src/templates/pubkeyhash/output.js +0 -42
  235. package/dependencies/src/bitgo-utxo-lib-5d91049fd7a988382df81c8260e244ee56d57aac/src/templates/scripthash/index.js +0 -4
  236. package/dependencies/src/bitgo-utxo-lib-5d91049fd7a988382df81c8260e244ee56d57aac/src/templates/scripthash/input.js +0 -84
  237. package/dependencies/src/bitgo-utxo-lib-5d91049fd7a988382df81c8260e244ee56d57aac/src/templates/scripthash/output.js +0 -34
  238. package/dependencies/src/bitgo-utxo-lib-5d91049fd7a988382df81c8260e244ee56d57aac/src/templates/witnesscommitment/index.js +0 -3
  239. package/dependencies/src/bitgo-utxo-lib-5d91049fd7a988382df81c8260e244ee56d57aac/src/templates/witnesscommitment/output.js +0 -42
  240. package/dependencies/src/bitgo-utxo-lib-5d91049fd7a988382df81c8260e244ee56d57aac/src/templates/witnesspubkeyhash/index.js +0 -4
  241. package/dependencies/src/bitgo-utxo-lib-5d91049fd7a988382df81c8260e244ee56d57aac/src/templates/witnesspubkeyhash/input.js +0 -44
  242. package/dependencies/src/bitgo-utxo-lib-5d91049fd7a988382df81c8260e244ee56d57aac/src/templates/witnesspubkeyhash/output.js +0 -33
  243. package/dependencies/src/bitgo-utxo-lib-5d91049fd7a988382df81c8260e244ee56d57aac/src/templates/witnessscripthash/index.js +0 -4
  244. package/dependencies/src/bitgo-utxo-lib-5d91049fd7a988382df81c8260e244ee56d57aac/src/templates/witnessscripthash/input.js +0 -63
  245. package/dependencies/src/bitgo-utxo-lib-5d91049fd7a988382df81c8260e244ee56d57aac/src/templates/witnessscripthash/output.js +0 -33
  246. package/dependencies/src/bitgo-utxo-lib-5d91049fd7a988382df81c8260e244ee56d57aac/src/transaction.js +0 -1125
  247. package/dependencies/src/bitgo-utxo-lib-5d91049fd7a988382df81c8260e244ee56d57aac/src/transaction_builder.js +0 -892
  248. package/dependencies/src/bitgo-utxo-lib-5d91049fd7a988382df81c8260e244ee56d57aac/src/types.js +0 -55
  249. package/dependencies/src/blake2b-6268e6dd678661e0acc4359e9171b97eb1ebf8ac/index.js +0 -313
  250. package/dependencies/src/blake2b-wasm-193cdb71656c1a6c7f89b05d0327bb9b758d071b/blake2b.js +0 -63
  251. package/dependencies/src/blake2b-wasm-193cdb71656c1a6c7f89b05d0327bb9b758d071b/index.js +0 -128
  252. package/dependencies/src/blakejs-1.1.0/blake2b.js +0 -273
  253. package/dependencies/src/blakejs-1.1.0/blake2s.js +0 -190
  254. package/dependencies/src/blakejs-1.1.0/index.js +0 -15
  255. package/dependencies/src/blakejs-1.1.0/util.js +0 -81
  256. package/dependencies/src/bn.js-4.11.8/lib/bn.js +0 -3427
  257. package/dependencies/src/brorand-1.1.0/index.js +0 -65
  258. package/dependencies/src/bs58-4.0.1/index.js +0 -4
  259. package/dependencies/src/bs58check-2.1.2/base.js +0 -50
  260. package/dependencies/src/bs58check-2.1.2/index.js +0 -12
  261. package/dependencies/src/bs58grscheck-2.1.2/base.js +0 -50
  262. package/dependencies/src/bs58grscheck-2.1.2/index.js +0 -12
  263. package/dependencies/src/buffer-5.6.0/index.d.ts +0 -186
  264. package/dependencies/src/buffer-5.6.0/index.js +0 -1794
  265. package/dependencies/src/buffer-equals-1.0.4/index.js +0 -26
  266. package/dependencies/src/cbor-sync-1.0.4/index.d.ts +0 -11
  267. package/dependencies/src/cbor-sync-1.0.4/index.js +0 -632
  268. package/dependencies/src/cipher-base-1.0.4/index.js +0 -99
  269. package/dependencies/src/cosmjs/index.d.ts +0 -379
  270. package/dependencies/src/cosmjs/index.js +0 -1297
  271. package/dependencies/src/cosmjs/index.js.map +0 -1
  272. package/dependencies/src/create-hash-1.2.0/browser.js +0 -30
  273. package/dependencies/src/create-hash-1.2.0/index.js +0 -1
  274. package/dependencies/src/create-hash-1.2.0/md5.js +0 -5
  275. package/dependencies/src/create-hmac-1.1.4/browser.js +0 -68
  276. package/dependencies/src/create-hmac-1.1.4/index.js +0 -1
  277. package/dependencies/src/create-hmac-1.1.7/browser.js +0 -62
  278. package/dependencies/src/create-hmac-1.1.7/legacy.js +0 -46
  279. package/dependencies/src/cryptocompare-0.5.0/index.js +0 -138
  280. package/dependencies/src/cuint-0.2.2/index.js +0 -2
  281. package/dependencies/src/cuint-0.2.2/lib/uint32.js +0 -451
  282. package/dependencies/src/cuint-0.2.2/lib/uint64.js +0 -648
  283. package/dependencies/src/debug-3.1.0/src/browser.js +0 -195
  284. package/dependencies/src/debug-3.1.0/src/debug.js +0 -225
  285. package/dependencies/src/drbg.js-1.0.1/hash.js +0 -92
  286. package/dependencies/src/drbg.js-1.0.1/hmac.js +0 -71
  287. package/dependencies/src/drbg.js-1.0.1/index.js +0 -4
  288. package/dependencies/src/drbg.js-1.0.1/lib/hash-info.json +0 -27
  289. package/dependencies/src/drbg.js-1.0.1/lib/util.js +0 -36
  290. package/dependencies/src/eciesjs-0.3.9/src/index.d.ts +0 -12
  291. package/dependencies/src/eciesjs-0.3.9/src/index.js +0 -35
  292. package/dependencies/src/eciesjs-0.3.9/src/index.js.map +0 -1
  293. package/dependencies/src/eciesjs-0.3.9/src/keys/PrivateKey.d.ts +0 -12
  294. package/dependencies/src/eciesjs-0.3.9/src/keys/PrivateKey.js +0 -62
  295. package/dependencies/src/eciesjs-0.3.9/src/keys/PrivateKey.js.map +0 -1
  296. package/dependencies/src/eciesjs-0.3.9/src/keys/PublicKey.d.ts +0 -11
  297. package/dependencies/src/eciesjs-0.3.9/src/keys/PublicKey.js +0 -65
  298. package/dependencies/src/eciesjs-0.3.9/src/keys/PublicKey.js.map +0 -1
  299. package/dependencies/src/eciesjs-0.3.9/src/keys/index.d.ts +0 -2
  300. package/dependencies/src/eciesjs-0.3.9/src/keys/index.js +0 -11
  301. package/dependencies/src/eciesjs-0.3.9/src/keys/index.js.map +0 -1
  302. package/dependencies/src/eciesjs-0.3.9/src/utils.d.ts +0 -6
  303. package/dependencies/src/eciesjs-0.3.9/src/utils.js +0 -65
  304. package/dependencies/src/eciesjs-0.3.9/src/utils.js.map +0 -1
  305. package/dependencies/src/ecurve-1.0.6/lib/curve.js +0 -77
  306. package/dependencies/src/ecurve-1.0.6/lib/curves.json +0 -65
  307. package/dependencies/src/ecurve-1.0.6/lib/index.js +0 -10
  308. package/dependencies/src/ecurve-1.0.6/lib/names.js +0 -21
  309. package/dependencies/src/ecurve-1.0.6/lib/point.js +0 -244
  310. package/dependencies/src/elliptic-6.5.1/lib/elliptic/curve/base.js +0 -374
  311. package/dependencies/src/elliptic-6.5.1/lib/elliptic/curve/edwards.js +0 -432
  312. package/dependencies/src/elliptic-6.5.1/lib/elliptic/curve/index.js +0 -8
  313. package/dependencies/src/elliptic-6.5.1/lib/elliptic/curve/mont.js +0 -178
  314. package/dependencies/src/elliptic-6.5.1/lib/elliptic/curve/short.js +0 -937
  315. package/dependencies/src/elliptic-6.5.1/lib/elliptic/curves.js +0 -206
  316. package/dependencies/src/elliptic-6.5.1/lib/elliptic/ec/index.js +0 -241
  317. package/dependencies/src/elliptic-6.5.1/lib/elliptic/ec/key.js +0 -118
  318. package/dependencies/src/elliptic-6.5.1/lib/elliptic/ec/signature.js +0 -134
  319. package/dependencies/src/elliptic-6.5.1/lib/elliptic/eddsa/index.js +0 -118
  320. package/dependencies/src/elliptic-6.5.1/lib/elliptic/eddsa/key.js +0 -95
  321. package/dependencies/src/elliptic-6.5.1/lib/elliptic/eddsa/signature.js +0 -65
  322. package/dependencies/src/elliptic-6.5.1/lib/elliptic/precomputed/secp256k1.js +0 -780
  323. package/dependencies/src/elliptic-6.5.1/lib/elliptic/utils.js +0 -120
  324. package/dependencies/src/elliptic-6.5.1/lib/elliptic.js +0 -13
  325. package/dependencies/src/elliptic-6.5.1/package.json +0 -55
  326. package/dependencies/src/elliptic-6.5.3/lib/elliptic/curve/base.js +0 -376
  327. package/dependencies/src/elliptic-6.5.3/lib/elliptic/curve/edwards.js +0 -432
  328. package/dependencies/src/elliptic-6.5.3/lib/elliptic/curve/index.js +0 -8
  329. package/dependencies/src/elliptic-6.5.3/lib/elliptic/curve/mont.js +0 -178
  330. package/dependencies/src/elliptic-6.5.3/lib/elliptic/curve/short.js +0 -937
  331. package/dependencies/src/elliptic-6.5.3/lib/elliptic/curves.js +0 -206
  332. package/dependencies/src/elliptic-6.5.3/lib/elliptic/ec/index.js +0 -241
  333. package/dependencies/src/elliptic-6.5.3/lib/elliptic/ec/key.js +0 -118
  334. package/dependencies/src/elliptic-6.5.3/lib/elliptic/ec/signature.js +0 -166
  335. package/dependencies/src/elliptic-6.5.3/lib/elliptic/eddsa/index.js +0 -118
  336. package/dependencies/src/elliptic-6.5.3/lib/elliptic/eddsa/key.js +0 -95
  337. package/dependencies/src/elliptic-6.5.3/lib/elliptic/eddsa/signature.js +0 -65
  338. package/dependencies/src/elliptic-6.5.3/lib/elliptic/precomputed/secp256k1.js +0 -780
  339. package/dependencies/src/elliptic-6.5.3/lib/elliptic/utils.js +0 -119
  340. package/dependencies/src/elliptic-6.5.3/lib/elliptic.js +0 -13
  341. package/dependencies/src/elliptic-6.5.3/package.json +0 -55
  342. package/dependencies/src/ethereum-common-0.2.1/bootstrapNodes.json +0 -92
  343. package/dependencies/src/ethereum-common-0.2.1/genesisState.json +0 -8895
  344. package/dependencies/src/ethereum-common-0.2.1/index.js +0 -4
  345. package/dependencies/src/ethereum-common-0.2.1/params.json +0 -245
  346. package/dependencies/src/ethereumjs-tx-1.3.7/index.js +0 -298
  347. package/dependencies/src/ethereumjs-util-5.2.0/index.js +0 -714
  348. package/dependencies/src/ethjs-util-0.1.4/src/index.js +0 -203
  349. package/dependencies/src/follow-redirects-1.5.10/http.js +0 -1
  350. package/dependencies/src/follow-redirects-1.5.10/https.js +0 -1
  351. package/dependencies/src/follow-redirects-1.5.10/index.js +0 -322
  352. package/dependencies/src/futoin-hkdf-1.3.3/hkdf.d.ts +0 -29
  353. package/dependencies/src/futoin-hkdf-1.3.3/hkdf.js +0 -174
  354. package/dependencies/src/groestl-hash-js-ef6a04f1c4d2f0448f0882b5f213ef7a0659baee/index.js +0 -39
  355. package/dependencies/src/groestl-hash-js-ef6a04f1c4d2f0448f0882b5f213ef7a0659baee/lib/groestl.js +0 -1248
  356. package/dependencies/src/groestl-hash-js-ef6a04f1c4d2f0448f0882b5f213ef7a0659baee/lib/helper.js +0 -253
  357. package/dependencies/src/groestl-hash-js-ef6a04f1c4d2f0448f0882b5f213ef7a0659baee/lib/op.js +0 -462
  358. package/dependencies/src/groestlcoinjs-message-2.1.0/index.js +0 -245
  359. package/dependencies/src/hash-base-3.0.4/index.js +0 -95
  360. package/dependencies/src/hash.js-1.1.7/lib/hash/common.js +0 -92
  361. package/dependencies/src/hash.js-1.1.7/lib/hash/hmac.js +0 -47
  362. package/dependencies/src/hash.js-1.1.7/lib/hash/ripemd.js +0 -146
  363. package/dependencies/src/hash.js-1.1.7/lib/hash/sha/1.js +0 -74
  364. package/dependencies/src/hash.js-1.1.7/lib/hash/sha/224.js +0 -30
  365. package/dependencies/src/hash.js-1.1.7/lib/hash/sha/256.js +0 -105
  366. package/dependencies/src/hash.js-1.1.7/lib/hash/sha/384.js +0 -35
  367. package/dependencies/src/hash.js-1.1.7/lib/hash/sha/512.js +0 -330
  368. package/dependencies/src/hash.js-1.1.7/lib/hash/sha/common.js +0 -49
  369. package/dependencies/src/hash.js-1.1.7/lib/hash/sha.js +0 -7
  370. package/dependencies/src/hash.js-1.1.7/lib/hash/utils.js +0 -278
  371. package/dependencies/src/hash.js-1.1.7/lib/hash.js +0 -15
  372. package/dependencies/src/hd-wallet-js-b216450e56954a6e82ace0aade9474673de5d9d5/src/hd-key.d.ts +0 -15
  373. package/dependencies/src/hd-wallet-js-b216450e56954a6e82ace0aade9474673de5d9d5/src/hd-key.js +0 -101
  374. package/dependencies/src/hd-wallet-js-b216450e56954a6e82ace0aade9474673de5d9d5/src/hd-key.js.map +0 -1
  375. package/dependencies/src/hd-wallet-js-b216450e56954a6e82ace0aade9474673de5d9d5/src/hd-wallet.d.ts +0 -3
  376. package/dependencies/src/hd-wallet-js-b216450e56954a6e82ace0aade9474673de5d9d5/src/hd-wallet.js +0 -37
  377. package/dependencies/src/hd-wallet-js-b216450e56954a6e82ace0aade9474673de5d9d5/src/hd-wallet.js.map +0 -1
  378. package/dependencies/src/hd-wallet-js-b216450e56954a6e82ace0aade9474673de5d9d5/src/index.d.ts +0 -1
  379. package/dependencies/src/hd-wallet-js-b216450e56954a6e82ace0aade9474673de5d9d5/src/index.js +0 -34
  380. package/dependencies/src/hd-wallet-js-b216450e56954a6e82ace0aade9474673de5d9d5/src/index.js.map +0 -1
  381. package/dependencies/src/hmac-drbg-1.0.1/lib/hmac-drbg.js +0 -113
  382. package/dependencies/src/idna-uts46-hx-3.4.0/idna-map.js +0 -23865
  383. package/dependencies/src/idna-uts46-hx-3.4.0/index.d.ts +0 -6
  384. package/dependencies/src/idna-uts46-hx-3.4.0/uts46.js +0 -170
  385. package/dependencies/src/ieee754-1.1.13/index.js +0 -84
  386. package/dependencies/src/inherits-2.0.4/inherits.js +0 -9
  387. package/dependencies/src/inherits-2.0.4/inherits_browser.js +0 -27
  388. package/dependencies/src/is-buffer-2.0.3/index.js +0 -11
  389. package/dependencies/src/is-hex-prefixed-1.0.0/src/index.js +0 -13
  390. package/dependencies/src/js-cuint-0.2.2/index.js +0 -2
  391. package/dependencies/src/js-cuint-0.2.2/lib/uint32.js +0 -451
  392. package/dependencies/src/js-cuint-0.2.2/lib/uint64.js +0 -648
  393. package/dependencies/src/keccak-1.0.2/js.js +0 -2
  394. package/dependencies/src/keccak-1.0.2/lib/api/index.js +0 -28
  395. package/dependencies/src/keccak-1.0.2/lib/api/keccak.js +0 -83
  396. package/dependencies/src/keccak-1.0.2/lib/api/shake.js +0 -74
  397. package/dependencies/src/keccak-1.0.2/lib/keccak-state.js +0 -187
  398. package/dependencies/src/keccak-1.0.2/lib/keccak.js +0 -69
  399. package/dependencies/src/md5.js-1.3.5/index.js +0 -146
  400. package/dependencies/src/merkle-lib-2.0.10/fastRoot.js +0 -24
  401. package/dependencies/src/merkle-lib-2.0.10/index.js +0 -34
  402. package/dependencies/src/minimalistic-assert-1.0.1/index.js +0 -11
  403. package/dependencies/src/minimalistic-crypto-utils-1.0.1/lib/utils.js +0 -58
  404. package/dependencies/src/ms-2.1.2/index.js +0 -162
  405. package/dependencies/src/nan-2.14.0/include_dirs.js +0 -1
  406. package/dependencies/src/nanoassert-1.1.0/index.js +0 -22
  407. package/dependencies/src/pako-2.0.3/index.js +0 -18
  408. package/dependencies/src/pako-2.0.3/lib/deflate.js +0 -373
  409. package/dependencies/src/pako-2.0.3/lib/inflate.js +0 -402
  410. package/dependencies/src/pako-2.0.3/lib/utils/common.js +0 -48
  411. package/dependencies/src/pako-2.0.3/lib/utils/strings.js +0 -187
  412. package/dependencies/src/pako-2.0.3/lib/zlib/adler32.js +0 -50
  413. package/dependencies/src/pako-2.0.3/lib/zlib/constants.js +0 -66
  414. package/dependencies/src/pako-2.0.3/lib/zlib/crc32.js +0 -58
  415. package/dependencies/src/pako-2.0.3/lib/zlib/deflate.js +0 -1849
  416. package/dependencies/src/pako-2.0.3/lib/zlib/gzheader.js +0 -58
  417. package/dependencies/src/pako-2.0.3/lib/zlib/inffast.js +0 -347
  418. package/dependencies/src/pako-2.0.3/lib/zlib/inflate.js +0 -1625
  419. package/dependencies/src/pako-2.0.3/lib/zlib/inftrees.js +0 -462
  420. package/dependencies/src/pako-2.0.3/lib/zlib/messages.js +0 -32
  421. package/dependencies/src/pako-2.0.3/lib/zlib/trees.js +0 -1192
  422. package/dependencies/src/pako-2.0.3/lib/zlib/zstream.js +0 -47
  423. package/dependencies/src/pbkdf2-3.0.17/bench/index.js +0 -35
  424. package/dependencies/src/pbkdf2-3.0.17/bench/old.js +0 -47
  425. package/dependencies/src/pbkdf2-3.0.17/browser.js +0 -2
  426. package/dependencies/src/pbkdf2-3.0.17/index.js +0 -31
  427. package/dependencies/src/pbkdf2-3.0.17/lib/async.js +0 -100
  428. package/dependencies/src/pbkdf2-3.0.17/lib/default-encoding.js +0 -10
  429. package/dependencies/src/pbkdf2-3.0.17/lib/precondition.js +0 -28
  430. package/dependencies/src/pbkdf2-3.0.17/lib/sync-browser.js +0 -104
  431. package/dependencies/src/pbkdf2-3.0.17/lib/sync.js +0 -51
  432. package/dependencies/src/punycode-2.1.1/punycode.js +0 -429
  433. package/dependencies/src/pushdata-bitcoin-1.0.1/index.js +0 -77
  434. package/dependencies/src/randombytes-2.1.0/browser.js +0 -50
  435. package/dependencies/src/randombytes-2.1.0/index.js +0 -1
  436. package/dependencies/src/ripemd160-2.0.2/index.js +0 -163
  437. package/dependencies/src/rlp-2.2.3/index.js +0 -230
  438. package/dependencies/src/safe-buffer-5.2.0/index.js +0 -64
  439. package/dependencies/src/secp256k1-3.7.1/elliptic.js +0 -2
  440. package/dependencies/src/secp256k1-3.7.1/lib/assert.js +0 -44
  441. package/dependencies/src/secp256k1-3.7.1/lib/der.js +0 -193
  442. package/dependencies/src/secp256k1-3.7.1/lib/elliptic/index.js +0 -263
  443. package/dependencies/src/secp256k1-3.7.1/lib/index.js +0 -245
  444. package/dependencies/src/secp256k1-3.7.1/lib/messages.json +0 -37
  445. package/dependencies/src/secp256k1-4.0.2/elliptic.js +0 -1
  446. package/dependencies/src/secp256k1-4.0.2/lib/elliptic.js +0 -402
  447. package/dependencies/src/secp256k1-4.0.2/lib/index.js +0 -336
  448. package/dependencies/src/sha.js-2.4.11/hash.js +0 -81
  449. package/dependencies/src/sha.js-2.4.11/index.js +0 -16
  450. package/dependencies/src/sha.js-2.4.11/sha.js +0 -94
  451. package/dependencies/src/sha.js-2.4.11/sha1.js +0 -99
  452. package/dependencies/src/sha.js-2.4.11/sha224.js +0 -53
  453. package/dependencies/src/sha.js-2.4.11/sha256.js +0 -135
  454. package/dependencies/src/sha.js-2.4.11/sha384.js +0 -57
  455. package/dependencies/src/sha.js-2.4.11/sha512.js +0 -260
  456. package/dependencies/src/strip-hex-prefix-1.0.0/src/index.js +0 -14
  457. package/dependencies/src/tiny-secp256k1-1.1.3/js.js +0 -276
  458. package/dependencies/src/tiny-secp256k1-1.1.3/rfc6979.js +0 -62
  459. package/dependencies/src/tweetnacl-1.0.1/nacl.d.ts +0 -98
  460. package/dependencies/src/tweetnacl-1.0.1/nacl.js +0 -1164
  461. package/dependencies/src/tweetnacl-auth-1.0.1/nacl-auth.js +0 -47
  462. package/dependencies/src/typedarray-to-buffer-4.0.0/index.js +0 -17
  463. package/dependencies/src/typeforce-1.18.0/errors.js +0 -110
  464. package/dependencies/src/typeforce-1.18.0/extra.js +0 -91
  465. package/dependencies/src/typeforce-1.18.0/index.js +0 -260
  466. package/dependencies/src/typeforce-1.18.0/native.js +0 -21
  467. package/dependencies/src/unorm-1.6.0/lib/unorm.js +0 -452
  468. package/dependencies/src/utf8-3.0.0/utf8.js +0 -202
  469. package/dependencies/src/validate.js-0.13.1/validate.d.ts +0 -55
  470. package/dependencies/src/validate.js-0.13.1/validate.js +0 -1253
  471. package/dependencies/src/varuint-bitcoin-1.1.2/index.d.ts +0 -13
  472. package/dependencies/src/varuint-bitcoin-1.1.2/index.js +0 -90
  473. package/dependencies/src/wif-2.0.6/index.js +0 -63
  474. package/dependencies/src/xxhashjs-0.2.2/lib/index.js +0 -4
  475. package/dependencies/src/xxhashjs-0.2.2/lib/xxhash.js +0 -389
  476. package/dependencies/src/xxhashjs-0.2.2/lib/xxhash64.js +0 -444
  477. package/errors/coinlib-error.d.ts +0 -30
  478. package/errors/coinlib-error.js +0 -62
  479. package/errors/coinlib-error.js.map +0 -1
  480. package/errors/index.d.ts +0 -156
  481. package/errors/index.js +0 -281
  482. package/errors/index.js.map +0 -1
  483. package/errors/network.d.ts +0 -0
  484. package/errors/network.js +0 -2
  485. package/errors/network.js.map +0 -1
  486. package/index.d.ts +0 -33
  487. package/index.js +0 -58
  488. package/index.js.map +0 -1
  489. package/interfaces/IAirGapAddress.d.ts +0 -10
  490. package/interfaces/IAirGapAddress.js +0 -3
  491. package/interfaces/IAirGapAddress.js.map +0 -1
  492. package/interfaces/IAirGapSignedTransaction.d.ts +0 -1
  493. package/interfaces/IAirGapSignedTransaction.js +0 -3
  494. package/interfaces/IAirGapSignedTransaction.js.map +0 -1
  495. package/interfaces/IAirGapTransaction.d.ts +0 -53
  496. package/interfaces/IAirGapTransaction.js +0 -22
  497. package/interfaces/IAirGapTransaction.js.map +0 -1
  498. package/interfaces/IAirGapWallet.d.ts +0 -6
  499. package/interfaces/IAirGapWallet.js +0 -3
  500. package/interfaces/IAirGapWallet.js.map +0 -1
  501. package/interfaces/JSONConvertible.d.ts +0 -3
  502. package/interfaces/JSONConvertible.js +0 -3
  503. package/interfaces/JSONConvertible.js.map +0 -1
  504. package/interfaces/RPCConvertible.d.ts +0 -3
  505. package/interfaces/RPCConvertible.js +0 -3
  506. package/interfaces/RPCConvertible.js.map +0 -1
  507. package/networks.d.ts +0 -19
  508. package/networks.js +0 -1341
  509. package/networks.js.map +0 -1
  510. package/protocols/BlockExplorerProtocol.d.ts +0 -6
  511. package/protocols/BlockExplorerProtocol.js +0 -60
  512. package/protocols/BlockExplorerProtocol.js.map +0 -1
  513. package/protocols/CryptoClient.d.ts +0 -15
  514. package/protocols/CryptoClient.js +0 -84
  515. package/protocols/CryptoClient.js.map +0 -1
  516. package/protocols/Ed25519CryptoClient.d.ts +0 -8
  517. package/protocols/Ed25519CryptoClient.js +0 -107
  518. package/protocols/Ed25519CryptoClient.js.map +0 -1
  519. package/protocols/HasConfigurableContract.d.ts +0 -4
  520. package/protocols/HasConfigurableContract.js +0 -3
  521. package/protocols/HasConfigurableContract.js.map +0 -1
  522. package/protocols/ICoinBaseProtocol.d.ts +0 -107
  523. package/protocols/ICoinBaseProtocol.js +0 -3
  524. package/protocols/ICoinBaseProtocol.js.map +0 -1
  525. package/protocols/ICoinDelegateProtocol.d.ts +0 -40
  526. package/protocols/ICoinDelegateProtocol.js +0 -3
  527. package/protocols/ICoinDelegateProtocol.js.map +0 -1
  528. package/protocols/ICoinOfflineProtocol.d.ts +0 -24
  529. package/protocols/ICoinOfflineProtocol.js +0 -3
  530. package/protocols/ICoinOfflineProtocol.js.map +0 -1
  531. package/protocols/ICoinOnlineProtocol.d.ts +0 -46
  532. package/protocols/ICoinOnlineProtocol.js +0 -3
  533. package/protocols/ICoinOnlineProtocol.js.map +0 -1
  534. package/protocols/ICoinProtocol.d.ts +0 -9
  535. package/protocols/ICoinProtocol.js +0 -3
  536. package/protocols/ICoinProtocol.js.map +0 -1
  537. package/protocols/ICoinSubProtocol.d.ts +0 -22
  538. package/protocols/ICoinSubProtocol.js +0 -9
  539. package/protocols/ICoinSubProtocol.js.map +0 -1
  540. package/protocols/NonExtendedProtocol.d.ts +0 -17
  541. package/protocols/NonExtendedProtocol.js +0 -49
  542. package/protocols/NonExtendedProtocol.js.map +0 -1
  543. package/protocols/Secp256k1CryptoClient.d.ts +0 -8
  544. package/protocols/Secp256k1CryptoClient.js +0 -79
  545. package/protocols/Secp256k1CryptoClient.js.map +0 -1
  546. package/protocols/Sr25519CryptoClient.d.ts +0 -8
  547. package/protocols/Sr25519CryptoClient.js +0 -82
  548. package/protocols/Sr25519CryptoClient.js.map +0 -1
  549. package/types/signed-transaction.d.ts +0 -4
  550. package/types/signed-transaction.js +0 -3
  551. package/types/signed-transaction.js.map +0 -1
  552. package/types/unsigned-transaction.d.ts +0 -5
  553. package/types/unsigned-transaction.js +0 -3
  554. package/types/unsigned-transaction.js.map +0 -1
  555. package/utils/AES.d.ts +0 -10
  556. package/utils/AES.js +0 -165
  557. package/utils/AES.js.map +0 -1
  558. package/utils/ErrorWithData.d.ts +0 -4
  559. package/utils/ErrorWithData.js +0 -29
  560. package/utils/ErrorWithData.js.map +0 -1
  561. package/utils/Network.d.ts +0 -2
  562. package/utils/Network.js +0 -8
  563. package/utils/Network.js.map +0 -1
  564. package/utils/ProtocolBlockExplorer.d.ts +0 -6
  565. package/utils/ProtocolBlockExplorer.js +0 -11
  566. package/utils/ProtocolBlockExplorer.js.map +0 -1
  567. package/utils/ProtocolNetwork.d.ts +0 -15
  568. package/utils/ProtocolNetwork.js +0 -35
  569. package/utils/ProtocolNetwork.js.map +0 -1
  570. package/utils/ProtocolOptions.d.ts +0 -5
  571. package/utils/ProtocolOptions.js +0 -3
  572. package/utils/ProtocolOptions.js.map +0 -1
  573. package/utils/ProtocolSymbols.d.ts +0 -45
  574. package/utils/ProtocolSymbols.js +0 -59
  575. package/utils/ProtocolSymbols.js.map +0 -1
  576. package/utils/array.d.ts +0 -4
  577. package/utils/array.js +0 -36
  578. package/utils/array.js.map +0 -1
  579. package/utils/assert.d.ts +0 -2
  580. package/utils/assert.js +0 -20
  581. package/utils/assert.js.map +0 -1
  582. package/utils/base64Check.d.ts +0 -7
  583. package/utils/base64Check.js +0 -39
  584. package/utils/base64Check.js.map +0 -1
  585. package/utils/blake2b.d.ts +0 -7
  586. package/utils/blake2b.js +0 -23
  587. package/utils/blake2b.js.map +0 -1
  588. package/utils/buffer.d.ts +0 -2
  589. package/utils/buffer.js +0 -8
  590. package/utils/buffer.js.map +0 -1
  591. package/utils/cache.d.ts +0 -15
  592. package/utils/cache.js +0 -97
  593. package/utils/cache.js.map +0 -1
  594. package/utils/error.d.ts +0 -1
  595. package/utils/error.js +0 -8
  596. package/utils/error.js.map +0 -1
  597. package/utils/hex.d.ts +0 -14
  598. package/utils/hex.js +0 -112
  599. package/utils/hex.js.map +0 -1
  600. package/utils/interfaces.d.ts +0 -3
  601. package/utils/interfaces.js +0 -18
  602. package/utils/interfaces.js.map +0 -1
  603. package/utils/object.d.ts +0 -1
  604. package/utils/object.js +0 -23
  605. package/utils/object.js.map +0 -1
  606. package/utils/padStart.d.ts +0 -1
  607. package/utils/padStart.js +0 -20
  608. package/utils/padStart.js.map +0 -1
  609. package/utils/remote-data/HttpRemoteData.d.ts +0 -8
  610. package/utils/remote-data/HttpRemoteData.js +0 -117
  611. package/utils/remote-data/HttpRemoteData.js.map +0 -1
  612. package/utils/remote-data/IpfsRemoteData.d.ts +0 -8
  613. package/utils/remote-data/IpfsRemoteData.js +0 -142
  614. package/utils/remote-data/IpfsRemoteData.js.map +0 -1
  615. package/utils/remote-data/RemoteData.d.ts +0 -11
  616. package/utils/remote-data/RemoteData.js +0 -11
  617. package/utils/remote-data/RemoteData.js.map +0 -1
  618. package/utils/remote-data/RemoteDataFactory.d.ts +0 -11
  619. package/utils/remote-data/RemoteDataFactory.js +0 -29
  620. package/utils/remote-data/RemoteDataFactory.js.map +0 -1
  621. package/utils/remote-data/Sha256RemoteData.d.ts +0 -11
  622. package/utils/remote-data/Sha256RemoteData.js +0 -139
  623. package/utils/remote-data/Sha256RemoteData.js.map +0 -1
  624. package/utils/string.d.ts +0 -7
  625. package/utils/string.js +0 -50
  626. package/utils/string.js.map +0 -1
  627. package/utils/type.d.ts +0 -1
  628. package/utils/type.js +0 -16
  629. package/utils/type.js.map +0 -1
  630. package/utils/xxhash.d.ts +0 -5
  631. package/utils/xxhash.js +0 -18
  632. package/utils/xxhash.js.map +0 -1
  633. package/wallet/AirGapCoinWallet.d.ts +0 -19
  634. package/wallet/AirGapCoinWallet.js +0 -199
  635. package/wallet/AirGapCoinWallet.js.map +0 -1
  636. package/wallet/AirGapMarketWallet.d.ts +0 -40
  637. package/wallet/AirGapMarketWallet.js +0 -221
  638. package/wallet/AirGapMarketWallet.js.map +0 -1
  639. package/wallet/AirGapNFTWallet.d.ts +0 -15
  640. package/wallet/AirGapNFTWallet.js +0 -179
  641. package/wallet/AirGapNFTWallet.js.map +0 -1
  642. package/wallet/AirGapWallet.d.ts +0 -35
  643. package/wallet/AirGapWallet.js +0 -142
  644. package/wallet/AirGapWallet.js.map +0 -1
@@ -1,1125 +0,0 @@
1
- var Buffer = require('../../safe-buffer-5.2.0/index').Buffer
2
- var BufferWriter = require('./bufferWriter')
3
- var bcrypto = require('./crypto')
4
- var bscript = require('./script')
5
- var bufferutils = require('./bufferutils')
6
- var coins = require('./coins')
7
- var opcodes = require('../../bitcoin-ops-1.4.1/index.json')
8
- var networks = require('./networks')
9
- var typeforce = require('../../typeforce-1.18.0/index')
10
- var types = require('./types')
11
- var varuint = require('../../varuint-bitcoin-1.1.2/index')
12
- var blake2b = require('../../blake2b-6268e6dd678661e0acc4359e9171b97eb1ebf8ac/index')
13
-
14
- function varSliceSize (someScript) {
15
- var length = someScript.length
16
-
17
- return varuint.encodingLength(length) + length
18
- }
19
-
20
- function vectorSize (someVector) {
21
- var length = someVector.length
22
-
23
- return varuint.encodingLength(length) + someVector.reduce(function (sum, witness) {
24
- return sum + varSliceSize(witness)
25
- }, 0)
26
- }
27
-
28
- function Transaction (network = networks.bitcoin) {
29
- this.version = 1
30
- this.locktime = 0
31
- this.ins = []
32
- this.outs = []
33
- this.network = network
34
- if (coins.isZcash(network)) {
35
- // ZCash version >= 2
36
- this.joinsplits = []
37
- this.joinsplitPubkey = []
38
- this.joinsplitSig = []
39
- // ZCash version >= 3
40
- this.overwintered = 0 // 1 if the transaction is post overwinter upgrade, 0 otherwise
41
- this.versionGroupId = 0 // 0x03C48270 (63210096) for overwinter and 0x892F2085 (2301567109) for sapling
42
- this.expiryHeight = 0 // Block height after which this transactions will expire, or 0 to disable expiry
43
- // ZCash version >= 4
44
- this.valueBalance = 0
45
- this.vShieldedSpend = []
46
- this.vShieldedOutput = []
47
- this.bindingSig = 0
48
- }
49
- }
50
-
51
- Transaction.DEFAULT_SEQUENCE = 0xffffffff
52
- Transaction.SIGHASH_ALL = 0x01
53
- Transaction.SIGHASH_NONE = 0x02
54
- Transaction.SIGHASH_SINGLE = 0x03
55
- Transaction.SIGHASH_ANYONECANPAY = 0x80
56
- Transaction.SIGHASH_BITCOINCASHBIP143 = 0x40
57
- Transaction.ADVANCED_TRANSACTION_MARKER = 0x00
58
- Transaction.ADVANCED_TRANSACTION_FLAG = 0x01
59
-
60
- var EMPTY_SCRIPT = Buffer.allocUnsafe(0)
61
- var EMPTY_WITNESS = []
62
- var ZERO = Buffer.from('0000000000000000000000000000000000000000000000000000000000000000', 'hex')
63
- var ONE = Buffer.from('0000000000000000000000000000000000000000000000000000000000000001', 'hex')
64
- // Used to represent the absence of a value
65
- var VALUE_UINT64_MAX = Buffer.from('ffffffffffffffff', 'hex')
66
- var BLANK_OUTPUT = {
67
- script: EMPTY_SCRIPT,
68
- valueBuffer: VALUE_UINT64_MAX
69
- }
70
-
71
- Transaction.ZCASH_OVERWINTER_VERSION = 3
72
- Transaction.ZCASH_SAPLING_VERSION = 4
73
- Transaction.ZCASH_JOINSPLITS_SUPPORT_VERSION = 2
74
- Transaction.ZCASH_NUM_JOINSPLITS_INPUTS = 2
75
- Transaction.ZCASH_NUM_JOINSPLITS_OUTPUTS = 2
76
- Transaction.ZCASH_NOTECIPHERTEXT_SIZE = 1 + 8 + 32 + 32 + 512 + 16
77
-
78
- Transaction.ZCASH_G1_PREFIX_MASK = 0x02
79
- Transaction.ZCASH_G2_PREFIX_MASK = 0x0a
80
-
81
- Transaction.fromBuffer = function (buffer, network = networks.bitcoin, __noStrict) {
82
- var offset = 0
83
- function readSlice (n) {
84
- offset += n
85
- return buffer.slice(offset - n, offset)
86
- }
87
-
88
- function readUInt8 () {
89
- var i = buffer.readUInt8(offset)
90
- offset += 1
91
- return i
92
- }
93
-
94
- function readUInt32 () {
95
- var i = buffer.readUInt32LE(offset)
96
- offset += 4
97
- return i
98
- }
99
-
100
- function readInt32 () {
101
- var i = buffer.readInt32LE(offset)
102
- offset += 4
103
- return i
104
- }
105
-
106
- function readInt64 () {
107
- var i = bufferutils.readInt64LE(buffer, offset)
108
- offset += 8
109
- return i
110
- }
111
-
112
- function readUInt64 () {
113
- var i = bufferutils.readUInt64LE(buffer, offset)
114
- offset += 8
115
- return i
116
- }
117
-
118
- function readVarInt () {
119
- var vi = varuint.decode(buffer, offset)
120
- offset += varuint.decode.bytes
121
- return vi
122
- }
123
-
124
- function readVarSlice () {
125
- return readSlice(readVarInt())
126
- }
127
-
128
- function readVector () {
129
- var count = readVarInt()
130
- var vector = []
131
- for (var i = 0; i < count; i++) vector.push(readVarSlice())
132
- return vector
133
- }
134
-
135
- function readCompressedG1 () {
136
- var yLsb = readUInt8() & 1
137
- var x = readSlice(32)
138
- return {
139
- x: x,
140
- yLsb: yLsb
141
- }
142
- }
143
-
144
- function readCompressedG2 () {
145
- var yLsb = readUInt8() & 1
146
- var x = readSlice(64)
147
- return {
148
- x: x,
149
- yLsb: yLsb
150
- }
151
- }
152
-
153
- function readZKProof () {
154
- var zkproof
155
- if (tx.isSaplingCompatible()) {
156
- zkproof = {
157
- sA: readSlice(48),
158
- sB: readSlice(96),
159
- sC: readSlice(48)
160
- }
161
- } else {
162
- zkproof = {
163
- gA: readCompressedG1(),
164
- gAPrime: readCompressedG1(),
165
- gB: readCompressedG2(),
166
- gBPrime: readCompressedG1(),
167
- gC: readCompressedG1(),
168
- gCPrime: readCompressedG1(),
169
- gK: readCompressedG1(),
170
- gH: readCompressedG1()
171
- }
172
- }
173
- return zkproof
174
- }
175
-
176
- function readJoinSplit () {
177
- var vpubOld = readUInt64()
178
- var vpubNew = readUInt64()
179
- var anchor = readSlice(32)
180
- var nullifiers = []
181
- for (var j = 0; j < Transaction.ZCASH_NUM_JOINSPLITS_INPUTS; j++) {
182
- nullifiers.push(readSlice(32))
183
- }
184
- var commitments = []
185
- for (j = 0; j < Transaction.ZCASH_NUM_JOINSPLITS_OUTPUTS; j++) {
186
- commitments.push(readSlice(32))
187
- }
188
- var ephemeralKey = readSlice(32)
189
- var randomSeed = readSlice(32)
190
- var macs = []
191
- for (j = 0; j < Transaction.ZCASH_NUM_JOINSPLITS_INPUTS; j++) {
192
- macs.push(readSlice(32))
193
- }
194
-
195
- var zkproof = readZKProof()
196
- var ciphertexts = []
197
- for (j = 0; j < Transaction.ZCASH_NUM_JOINSPLITS_OUTPUTS; j++) {
198
- ciphertexts.push(readSlice(Transaction.ZCASH_NOTECIPHERTEXT_SIZE))
199
- }
200
- return {
201
- vpubOld: vpubOld,
202
- vpubNew: vpubNew,
203
- anchor: anchor,
204
- nullifiers: nullifiers,
205
- commitments: commitments,
206
- ephemeralKey: ephemeralKey,
207
- randomSeed: randomSeed,
208
- macs: macs,
209
- zkproof: zkproof,
210
- ciphertexts: ciphertexts
211
- }
212
- }
213
-
214
- function readShieldedSpend () {
215
- var cv = readSlice(32)
216
- var anchor = readSlice(32)
217
- var nullifier = readSlice(32)
218
- var rk = readSlice(32)
219
- var zkproof = readZKProof()
220
- var spendAuthSig = readSlice(64)
221
- return {
222
- cv: cv,
223
- anchor: anchor,
224
- nullifier: nullifier,
225
- rk: rk,
226
- zkproof: zkproof,
227
- spendAuthSig: spendAuthSig
228
- }
229
- }
230
-
231
- function readShieldedOutput () {
232
- var cv = readSlice(32)
233
- var cmu = readSlice(32)
234
- var ephemeralKey = readSlice(32)
235
- var encCiphertext = readSlice(580)
236
- var outCiphertext = readSlice(80)
237
- var zkproof = readZKProof()
238
-
239
- return {
240
- cv: cv,
241
- cmu: cmu,
242
- ephemeralKey: ephemeralKey,
243
- encCiphertext: encCiphertext,
244
- outCiphertext: outCiphertext,
245
- zkproof: zkproof
246
- }
247
- }
248
- var tx = new Transaction(network)
249
- tx.version = readInt32()
250
-
251
- if (coins.isZcash(network)) {
252
- // Split the header into fOverwintered and nVersion
253
- tx.overwintered = tx.version >>> 31 // Must be 1 for version 3 and up
254
- tx.version = tx.version & 0x07FFFFFFF // 3 for overwinter
255
- if (!network.consensusBranchId.hasOwnProperty(tx.version)) {
256
- throw new Error('Unsupported Zcash transaction')
257
- }
258
- }
259
-
260
- var marker = buffer.readUInt8(offset)
261
- var flag = buffer.readUInt8(offset + 1)
262
-
263
- var hasWitnesses = false
264
- if (marker === Transaction.ADVANCED_TRANSACTION_MARKER &&
265
- flag === Transaction.ADVANCED_TRANSACTION_FLAG &&
266
- !coins.isZcash(network)) {
267
- offset += 2
268
- hasWitnesses = true
269
- }
270
-
271
- if (tx.isOverwinterCompatible()) {
272
- tx.versionGroupId = readUInt32()
273
- }
274
-
275
- var vinLen = readVarInt()
276
- for (var i = 0; i < vinLen; ++i) {
277
- tx.ins.push({
278
- hash: readSlice(32),
279
- index: readUInt32(),
280
- script: readVarSlice(),
281
- sequence: readUInt32(),
282
- witness: EMPTY_WITNESS
283
- })
284
- }
285
-
286
- var voutLen = readVarInt()
287
- for (i = 0; i < voutLen; ++i) {
288
- tx.outs.push({
289
- value: readUInt64(),
290
- script: readVarSlice()
291
- })
292
- }
293
-
294
- if (hasWitnesses) {
295
- for (i = 0; i < vinLen; ++i) {
296
- tx.ins[i].witness = readVector()
297
- }
298
-
299
- // was this pointless?
300
- if (!tx.hasWitnesses()) throw new Error('Transaction has superfluous witness data')
301
- }
302
-
303
- tx.locktime = readUInt32()
304
-
305
- if (coins.isZcash(network)) {
306
- if (tx.isOverwinterCompatible()) {
307
- tx.expiryHeight = readUInt32()
308
- }
309
-
310
- if (tx.isSaplingCompatible()) {
311
- tx.valueBalance = readInt64()
312
- var nShieldedSpend = readVarInt()
313
- for (i = 0; i < nShieldedSpend; ++i) {
314
- tx.vShieldedSpend.push(readShieldedSpend())
315
- }
316
-
317
- var nShieldedOutput = readVarInt()
318
- for (i = 0; i < nShieldedOutput; ++i) {
319
- tx.vShieldedOutput.push(readShieldedOutput())
320
- }
321
- }
322
-
323
- if (tx.supportsJoinSplits()) {
324
- var joinSplitsLen = readVarInt()
325
- for (i = 0; i < joinSplitsLen; ++i) {
326
- tx.joinsplits.push(readJoinSplit())
327
- }
328
- if (joinSplitsLen > 0) {
329
- tx.joinsplitPubkey = readSlice(32)
330
- tx.joinsplitSig = readSlice(64)
331
- }
332
- }
333
-
334
- if (tx.isSaplingCompatible() &&
335
- tx.vShieldedSpend.length + tx.vShieldedOutput.length > 0) {
336
- tx.bindingSig = readSlice(64)
337
- }
338
- }
339
-
340
- tx.network = network
341
-
342
- if (__noStrict) return tx
343
- if (offset !== buffer.length) throw new Error('Transaction has unexpected data')
344
-
345
- return tx
346
- }
347
-
348
- Transaction.fromHex = function (hex, network) {
349
- return Transaction.fromBuffer(Buffer.from(hex, 'hex'), network)
350
- }
351
-
352
- Transaction.isCoinbaseHash = function (buffer) {
353
- typeforce(types.Hash256bit, buffer)
354
- for (var i = 0; i < 32; ++i) {
355
- if (buffer[i] !== 0) return false
356
- }
357
- return true
358
- }
359
-
360
- Transaction.prototype.isSaplingCompatible = function () {
361
- return coins.isZcash(this.network) && this.version >= Transaction.ZCASH_SAPLING_VERSION
362
- }
363
-
364
- Transaction.prototype.isOverwinterCompatible = function () {
365
- return coins.isZcash(this.network) && this.version >= Transaction.ZCASH_OVERWINTER_VERSION
366
- }
367
-
368
- Transaction.prototype.supportsJoinSplits = function () {
369
- return coins.isZcash(this.network) && this.version >= Transaction.ZCASH_JOINSPLITS_SUPPORT_VERSION
370
- }
371
-
372
- Transaction.prototype.isCoinbase = function () {
373
- return this.ins.length === 1 && Transaction.isCoinbaseHash(this.ins[0].hash)
374
- }
375
-
376
- Transaction.prototype.addInput = function (hash, index, sequence, scriptSig) {
377
- typeforce(types.tuple(
378
- types.Hash256bit,
379
- types.UInt32,
380
- types.maybe(types.UInt32),
381
- types.maybe(types.Buffer)
382
- ), arguments)
383
-
384
- if (types.Null(sequence)) {
385
- sequence = Transaction.DEFAULT_SEQUENCE
386
- }
387
-
388
- // Add the input and return the input's index
389
- return (this.ins.push({
390
- hash: hash,
391
- index: index,
392
- script: scriptSig || EMPTY_SCRIPT,
393
- sequence: sequence,
394
- witness: EMPTY_WITNESS
395
- }) - 1)
396
- }
397
-
398
- Transaction.prototype.addOutput = function (scriptPubKey, value) {
399
- typeforce(types.tuple(types.Buffer, types.Satoshi), arguments)
400
-
401
- // Add the output and return the output's index
402
- return (this.outs.push({
403
- script: scriptPubKey,
404
- value: value
405
- }) - 1)
406
- }
407
-
408
- Transaction.prototype.hasWitnesses = function () {
409
- return this.ins.some(function (x) {
410
- return x.witness.length !== 0
411
- })
412
- }
413
-
414
- Transaction.prototype.weight = function () {
415
- var base = this.__byteLength(false)
416
- var total = this.__byteLength(true)
417
- return base * 3 + total
418
- }
419
-
420
- Transaction.prototype.virtualSize = function () {
421
- return Math.ceil(this.weight() / 4)
422
- }
423
-
424
- Transaction.prototype.byteLength = function () {
425
- return this.__byteLength(true)
426
- }
427
-
428
- Transaction.prototype.getShieldedSpendByteLength = function () {
429
- if (!this.isSaplingCompatible()) {
430
- return 0
431
- }
432
-
433
- var byteLength = 0
434
- byteLength += varuint.encodingLength(this.vShieldedSpend.length) // nShieldedSpend
435
- byteLength += (384 * this.vShieldedSpend.length) // vShieldedSpend
436
- return byteLength
437
- }
438
-
439
- Transaction.prototype.getShieldedOutputByteLength = function () {
440
- if (!this.isSaplingCompatible()) {
441
- return 0
442
- }
443
- var byteLength = 0
444
- byteLength += varuint.encodingLength(this.vShieldedOutput.length) // nShieldedOutput
445
- byteLength += (948 * this.vShieldedOutput.length) // vShieldedOutput
446
- return byteLength
447
- }
448
-
449
- Transaction.prototype.getJoinSplitByteLength = function () {
450
- if (!this.supportsJoinSplits()) {
451
- return 0
452
- }
453
- var joinSplitsLen = this.joinsplits.length
454
- var byteLength = 0
455
- byteLength += bufferutils.varIntSize(joinSplitsLen) // vJoinSplit
456
-
457
- if (joinSplitsLen > 0) {
458
- // Both pre and post Sapling JoinSplits are encoded with the following data:
459
- // 8 vpub_old, 8 vpub_new, 32 anchor, joinSplitsLen * 32 nullifiers, joinSplitsLen * 32 commitments, 32 ephemeralKey
460
- // 32 ephemeralKey, 32 randomSeed, joinsplit.macs.length * 32 vmacs
461
- if (this.isSaplingCompatible()) {
462
- byteLength += 1698 * joinSplitsLen // vJoinSplit using JSDescriptionGroth16
463
- } else {
464
- byteLength += 1802 * joinSplitsLen // vJoinSplit using JSDescriptionPHGR13
465
- }
466
- byteLength += 32 // joinSplitPubKey
467
- byteLength += 64 // joinSplitSig
468
- }
469
-
470
- return byteLength
471
- }
472
-
473
- Transaction.prototype.zcashTransactionByteLength = function () {
474
- if (!coins.isZcash(this.network)) {
475
- throw new Error('zcashTransactionByteLength can only be called when using Zcash network')
476
- }
477
- var byteLength = 0
478
- byteLength += 4 // Header
479
- if (this.isOverwinterCompatible()) {
480
- byteLength += 4 // nVersionGroupId
481
- }
482
- byteLength += varuint.encodingLength(this.ins.length) // tx_in_count
483
- byteLength += this.ins.reduce(function (sum, input) { return sum + 40 + varSliceSize(input.script) }, 0) // tx_in
484
- byteLength += varuint.encodingLength(this.outs.length) // tx_out_count
485
- byteLength += this.outs.reduce(function (sum, output) { return sum + 8 + varSliceSize(output.script) }, 0) // tx_out
486
- byteLength += 4 // lock_time
487
- if (this.isOverwinterCompatible()) {
488
- byteLength += 4 // nExpiryHeight
489
- }
490
- if (this.isSaplingCompatible()) {
491
- byteLength += 8 // valueBalance
492
- byteLength += this.getShieldedSpendByteLength()
493
- byteLength += this.getShieldedOutputByteLength()
494
- }
495
- if (this.supportsJoinSplits()) {
496
- byteLength += this.getJoinSplitByteLength()
497
- }
498
- if (this.isSaplingCompatible() &&
499
- this.vShieldedSpend.length + this.vShieldedOutput.length > 0) {
500
- byteLength += 64 // bindingSig
501
- }
502
- return byteLength
503
- }
504
-
505
- Transaction.prototype.__byteLength = function (__allowWitness) {
506
- var hasWitnesses = __allowWitness && this.hasWitnesses()
507
-
508
- if (coins.isZcash(this.network)) {
509
- return this.zcashTransactionByteLength()
510
- }
511
-
512
- return (
513
- (hasWitnesses ? 10 : 8) +
514
- varuint.encodingLength(this.ins.length) +
515
- varuint.encodingLength(this.outs.length) +
516
- this.ins.reduce(function (sum, input) { return sum + 40 + varSliceSize(input.script) }, 0) +
517
- this.outs.reduce(function (sum, output) { return sum + 8 + varSliceSize(output.script) }, 0) +
518
- (hasWitnesses ? this.ins.reduce(function (sum, input) { return sum + vectorSize(input.witness) }, 0) : 0)
519
- )
520
- }
521
-
522
- Transaction.prototype.clone = function () {
523
- var newTx = new Transaction(this.network)
524
- newTx.version = this.version
525
- newTx.locktime = this.locktime
526
- newTx.network = this.network
527
-
528
- if (this.isOverwinterCompatible()) {
529
- newTx.overwintered = this.overwintered
530
- newTx.versionGroupId = this.versionGroupId
531
- newTx.expiryHeight = this.expiryHeight
532
- }
533
- if (this.isSaplingCompatible()) {
534
- newTx.valueBalance = this.valueBalance
535
- }
536
-
537
- newTx.ins = this.ins.map(function (txIn) {
538
- return {
539
- hash: txIn.hash,
540
- index: txIn.index,
541
- script: txIn.script,
542
- sequence: txIn.sequence,
543
- witness: txIn.witness
544
- }
545
- })
546
-
547
- newTx.outs = this.outs.map(function (txOut) {
548
- return {
549
- script: txOut.script,
550
- value: txOut.value
551
- }
552
- })
553
- if (this.isSaplingCompatible()) {
554
- newTx.vShieldedSpend = this.vShieldedSpend.map(function (shieldedSpend) {
555
- return {
556
- cv: shieldedSpend.cv,
557
- anchor: shieldedSpend.anchor,
558
- nullifier: shieldedSpend.nullifier,
559
- rk: shieldedSpend.rk,
560
- zkproof: shieldedSpend.zkproof,
561
- spendAuthSig: shieldedSpend.spendAuthSig
562
- }
563
- })
564
-
565
- newTx.vShieldedOutput = this.vShieldedOutput.map(function (shieldedOutput) {
566
- return {
567
- cv: shieldedOutput.cv,
568
- cmu: shieldedOutput.cmu,
569
- ephemeralKey: shieldedOutput.ephemeralKey,
570
- encCiphertext: shieldedOutput.encCiphertext,
571
- outCiphertext: shieldedOutput.outCiphertext,
572
- zkproof: shieldedOutput.zkproof
573
- }
574
- })
575
- }
576
-
577
- if (this.supportsJoinSplits()) {
578
- newTx.joinsplits = this.joinsplits.map(function (txJoinsplit) {
579
- return {
580
- vpubOld: txJoinsplit.vpubOld,
581
- vpubNew: txJoinsplit.vpubNew,
582
- anchor: txJoinsplit.anchor,
583
- nullifiers: txJoinsplit.nullifiers,
584
- commitments: txJoinsplit.commitments,
585
- ephemeralKey: txJoinsplit.ephemeralKey,
586
- randomSeed: txJoinsplit.randomSeed,
587
- macs: txJoinsplit.macs,
588
- zkproof: txJoinsplit.zkproof,
589
- ciphertexts: txJoinsplit.ciphertexts
590
- }
591
- })
592
-
593
- newTx.joinsplitPubkey = this.joinsplitPubkey
594
- newTx.joinsplitSig = this.joinsplitSig
595
- }
596
-
597
- if (this.isSaplingCompatible() && this.vShieldedSpend.length + this.vShieldedOutput.length > 0) {
598
- newTx.bindingSig = this.bindingSig
599
- }
600
-
601
- return newTx
602
- }
603
-
604
- /**
605
- * Get Zcash header or version
606
- * @returns {number}
607
- */
608
- Transaction.prototype.getHeader = function () {
609
- var mask = (this.overwintered ? 1 : 0)
610
- var header = this.version | (mask << 31)
611
- return header
612
- }
613
-
614
- /**
615
- * Hash transaction for signing a specific input.
616
- *
617
- * Bitcoin uses a different hash for each signed transaction input.
618
- * This method copies the transaction, makes the necessary changes based on the
619
- * hashType, and then hashes the result.
620
- * This hash can then be used to sign the provided transaction input.
621
- */
622
- Transaction.prototype.hashForSignature = function (inIndex, prevOutScript, hashType) {
623
- typeforce(types.tuple(types.UInt32, types.Buffer, /* types.UInt8 */ types.Number), arguments)
624
-
625
- // https://github.com/bitcoin/bitcoin/blob/master/src/test/sighash_tests.cpp#L29
626
- if (inIndex >= this.ins.length) return ONE
627
-
628
- // ignore OP_CODESEPARATOR
629
- var ourScript = bscript.compile(bscript.decompile(prevOutScript).filter(function (x) {
630
- return x !== opcodes.OP_CODESEPARATOR
631
- }))
632
-
633
- var txTmp = this.clone()
634
-
635
- // SIGHASH_NONE: ignore all outputs? (wildcard payee)
636
- if ((hashType & 0x1f) === Transaction.SIGHASH_NONE) {
637
- txTmp.outs = []
638
-
639
- // ignore sequence numbers (except at inIndex)
640
- txTmp.ins.forEach(function (input, i) {
641
- if (i === inIndex) return
642
-
643
- input.sequence = 0
644
- })
645
-
646
- // SIGHASH_SINGLE: ignore all outputs, except at the same index?
647
- } else if ((hashType & 0x1f) === Transaction.SIGHASH_SINGLE) {
648
- // https://github.com/bitcoin/bitcoin/blob/master/src/test/sighash_tests.cpp#L60
649
- if (inIndex >= this.outs.length) return ONE
650
-
651
- // truncate outputs after
652
- txTmp.outs.length = inIndex + 1
653
-
654
- // "blank" outputs before
655
- for (var i = 0; i < inIndex; i++) {
656
- txTmp.outs[i] = BLANK_OUTPUT
657
- }
658
-
659
- // ignore sequence numbers (except at inIndex)
660
- txTmp.ins.forEach(function (input, y) {
661
- if (y === inIndex) return
662
-
663
- input.sequence = 0
664
- })
665
- }
666
-
667
- // SIGHASH_ANYONECANPAY: ignore inputs entirely?
668
- if (hashType & Transaction.SIGHASH_ANYONECANPAY) {
669
- txTmp.ins = [txTmp.ins[inIndex]]
670
- txTmp.ins[0].script = ourScript
671
-
672
- // SIGHASH_ALL: only ignore input scripts
673
- } else {
674
- // "blank" others input scripts
675
- txTmp.ins.forEach(function (input) { input.script = EMPTY_SCRIPT })
676
- txTmp.ins[inIndex].script = ourScript
677
- }
678
-
679
- // serialize and hash
680
- var buffer = Buffer.allocUnsafe(txTmp.__byteLength(false) + 4)
681
- buffer.writeInt32LE(hashType, buffer.length - 4)
682
- txTmp.__toBuffer(buffer, 0, false)
683
-
684
- return this.network.hashFunctions.transaction(buffer)
685
- }
686
-
687
- /**
688
- * Blake2b hashing algorithm for Zcash
689
- * @param bufferToHash
690
- * @param personalization
691
- * @returns 256-bit BLAKE2b hash
692
- */
693
- Transaction.prototype.getBlake2bHash = function (bufferToHash, personalization) {
694
- var out = Buffer.allocUnsafe(32)
695
- return blake2b(out.length, null, null, Buffer.from(personalization)).update(bufferToHash).digest(out)
696
- }
697
-
698
- /**
699
- * Build a hash for all or none of the transaction inputs depending on the hashtype
700
- * @param hashType
701
- * @returns double SHA-256, 256-bit BLAKE2b hash or 256-bit zero if doesn't apply
702
- */
703
- Transaction.prototype.getPrevoutHash = function (hashType) {
704
- if (!(hashType & Transaction.SIGHASH_ANYONECANPAY)) {
705
- var bufferWriter = new BufferWriter(36 * this.ins.length)
706
-
707
- this.ins.forEach(function (txIn) {
708
- bufferWriter.writeSlice(txIn.hash)
709
- bufferWriter.writeUInt32(txIn.index)
710
- })
711
-
712
- if (coins.isZcash(this.network)) {
713
- return this.getBlake2bHash(bufferWriter.getBuffer(), 'ZcashPrevoutHash')
714
- }
715
- return this.network.hashFunctions.transaction(bufferWriter.getBuffer())
716
- }
717
- return ZERO
718
- }
719
-
720
- /**
721
- * Build a hash for all or none of the transactions inputs sequence numbers depending on the hashtype
722
- * @param hashType
723
- * @returns double SHA-256, 256-bit BLAKE2b hash or 256-bit zero if doesn't apply
724
- */
725
- Transaction.prototype.getSequenceHash = function (hashType) {
726
- if (!(hashType & Transaction.SIGHASH_ANYONECANPAY) &&
727
- (hashType & 0x1f) !== Transaction.SIGHASH_SINGLE &&
728
- (hashType & 0x1f) !== Transaction.SIGHASH_NONE) {
729
- var bufferWriter = new BufferWriter(4 * this.ins.length)
730
-
731
- this.ins.forEach(function (txIn) {
732
- bufferWriter.writeUInt32(txIn.sequence)
733
- })
734
-
735
- if (coins.isZcash(this.network)) {
736
- return this.getBlake2bHash(bufferWriter.getBuffer(), 'ZcashSequencHash')
737
- }
738
- return this.network.hashFunctions.transaction(bufferWriter.getBuffer())
739
- }
740
- return ZERO
741
- }
742
-
743
- /**
744
- * Build a hash for one, all or none of the transaction outputs depending on the hashtype
745
- * @param hashType
746
- * @param inIndex
747
- * @returns double SHA-256, 256-bit BLAKE2b hash or 256-bit zero if doesn't apply
748
- */
749
- Transaction.prototype.getOutputsHash = function (hashType, inIndex) {
750
- var bufferWriter
751
- if ((hashType & 0x1f) !== Transaction.SIGHASH_SINGLE && (hashType & 0x1f) !== Transaction.SIGHASH_NONE) {
752
- // Find out the size of the outputs and write them
753
- var txOutsSize = this.outs.reduce(function (sum, output) {
754
- return sum + 8 + varSliceSize(output.script)
755
- }, 0)
756
-
757
- bufferWriter = new BufferWriter(txOutsSize)
758
-
759
- this.outs.forEach(function (out) {
760
- bufferWriter.writeUInt64(out.value)
761
- bufferWriter.writeVarSlice(out.script)
762
- })
763
-
764
- if (coins.isZcash(this.network)) {
765
- return this.getBlake2bHash(bufferWriter.getBuffer(), 'ZcashOutputsHash')
766
- }
767
- return this.network.hashFunctions.transaction(bufferWriter.getBuffer())
768
- } else if ((hashType & 0x1f) === Transaction.SIGHASH_SINGLE && inIndex < this.outs.length) {
769
- // Write only the output specified in inIndex
770
- var output = this.outs[inIndex]
771
-
772
- bufferWriter = new BufferWriter(8 + varSliceSize(output.script))
773
- bufferWriter.writeUInt64(output.value)
774
- bufferWriter.writeVarSlice(output.script)
775
-
776
- if (coins.isZcash(this.network)) {
777
- return this.getBlake2bHash(bufferWriter.getBuffer(), 'ZcashOutputsHash')
778
- }
779
- return this.network.hashFunctions.transaction(bufferWriter.getBuffer())
780
- }
781
- return ZERO
782
- }
783
-
784
- /**
785
- * Hash transaction for signing a transparent transaction in Zcash. Protected transactions are not supported.
786
- * @param inIndex
787
- * @param prevOutScript
788
- * @param value
789
- * @param hashType
790
- * @returns double SHA-256 or 256-bit BLAKE2b hash
791
- */
792
- Transaction.prototype.hashForZcashSignature = function (inIndex, prevOutScript, value, hashType) {
793
- typeforce(types.tuple(types.UInt32, types.Buffer, types.Satoshi, types.UInt32), arguments)
794
- if (!coins.isZcash(this.network)) {
795
- throw new Error('hashForZcashSignature can only be called when using Zcash network')
796
- }
797
- if (this.joinsplits.length > 0) {
798
- throw new Error('Hash signature for Zcash protected transactions is not supported')
799
- }
800
-
801
- if (inIndex >= this.ins.length && inIndex !== VALUE_UINT64_MAX) {
802
- throw new Error('Input index is out of range')
803
- }
804
-
805
- if (this.isOverwinterCompatible()) {
806
- var hashPrevouts = this.getPrevoutHash(hashType)
807
- var hashSequence = this.getSequenceHash(hashType)
808
- var hashOutputs = this.getOutputsHash(hashType, inIndex)
809
- var hashJoinSplits = ZERO
810
- var hashShieldedSpends = ZERO
811
- var hashShieldedOutputs = ZERO
812
-
813
- var bufferWriter
814
- var baseBufferSize = 0
815
- baseBufferSize += 4 * 5 // header, nVersionGroupId, lock_time, nExpiryHeight, hashType
816
- baseBufferSize += 32 * 4 // 256 hashes: hashPrevouts, hashSequence, hashOutputs, hashJoinSplits
817
- if (inIndex !== VALUE_UINT64_MAX) {
818
- // If this hash is for a transparent input signature (i.e. not for txTo.joinSplitSig), we need extra space
819
- baseBufferSize += 4 * 2 // input.index, input.sequence
820
- baseBufferSize += 8 // value
821
- baseBufferSize += 32 // input.hash
822
- baseBufferSize += varSliceSize(prevOutScript) // prevOutScript
823
- }
824
- if (this.isSaplingCompatible()) {
825
- baseBufferSize += 32 * 2 // hashShieldedSpends and hashShieldedOutputs
826
- baseBufferSize += 8 // valueBalance
827
- }
828
- bufferWriter = new BufferWriter(baseBufferSize)
829
-
830
- bufferWriter.writeInt32(this.getHeader())
831
- bufferWriter.writeUInt32(this.versionGroupId)
832
- bufferWriter.writeSlice(hashPrevouts)
833
- bufferWriter.writeSlice(hashSequence)
834
- bufferWriter.writeSlice(hashOutputs)
835
- bufferWriter.writeSlice(hashJoinSplits)
836
- if (this.isSaplingCompatible()) {
837
- bufferWriter.writeSlice(hashShieldedSpends)
838
- bufferWriter.writeSlice(hashShieldedOutputs)
839
- }
840
- bufferWriter.writeUInt32(this.locktime)
841
- bufferWriter.writeUInt32(this.expiryHeight)
842
- if (this.isSaplingCompatible()) {
843
- bufferWriter.writeUInt64(this.valueBalance)
844
- }
845
- bufferWriter.writeUInt32(hashType)
846
-
847
- // If this hash is for a transparent input signature (i.e. not for txTo.joinSplitSig):
848
- if (inIndex !== VALUE_UINT64_MAX) {
849
- // The input being signed (replacing the scriptSig with scriptCode + amount)
850
- // The prevout may already be contained in hashPrevout, and the nSequence
851
- // may already be contained in hashSequence.
852
- var input = this.ins[inIndex]
853
- bufferWriter.writeSlice(input.hash)
854
- bufferWriter.writeUInt32(input.index)
855
- bufferWriter.writeVarSlice(prevOutScript)
856
- bufferWriter.writeUInt64(value)
857
- bufferWriter.writeUInt32(input.sequence)
858
- }
859
-
860
- var personalization = Buffer.alloc(16)
861
- var prefix = 'ZcashSigHash'
862
- personalization.write(prefix)
863
- personalization.writeUInt32LE(this.network.consensusBranchId[this.version], prefix.length)
864
-
865
- return this.getBlake2bHash(bufferWriter.getBuffer(), personalization)
866
- }
867
- // TODO: support non overwinter transactions
868
- }
869
-
870
- Transaction.prototype.hashForWitnessV0 = function (inIndex, prevOutScript, value, hashType) {
871
- typeforce(types.tuple(types.UInt32, types.Buffer, types.Satoshi, types.UInt32), arguments)
872
-
873
- var hashPrevouts = this.getPrevoutHash(hashType)
874
- var hashSequence = this.getSequenceHash(hashType)
875
- var hashOutputs = this.getOutputsHash(hashType, inIndex)
876
-
877
- var bufferWriter = new BufferWriter(156 + varSliceSize(prevOutScript))
878
- var input = this.ins[inIndex]
879
- bufferWriter.writeUInt32(this.version)
880
- bufferWriter.writeSlice(hashPrevouts)
881
- bufferWriter.writeSlice(hashSequence)
882
- bufferWriter.writeSlice(input.hash)
883
- bufferWriter.writeUInt32(input.index)
884
- bufferWriter.writeVarSlice(prevOutScript)
885
- bufferWriter.writeUInt64(value)
886
- bufferWriter.writeUInt32(input.sequence)
887
- bufferWriter.writeSlice(hashOutputs)
888
- bufferWriter.writeUInt32(this.locktime)
889
- bufferWriter.writeUInt32(hashType)
890
- return this.network.hashFunctions.transaction(bufferWriter.getBuffer())
891
- }
892
-
893
- /**
894
- * Hash transaction for signing a specific input for Bitcoin Cash.
895
- */
896
- Transaction.prototype.hashForCashSignature = function (inIndex, prevOutScript, inAmount, hashType) {
897
- typeforce(types.tuple(types.UInt32, types.Buffer, /* types.UInt8 */ types.Number, types.maybe(types.UInt53)), arguments)
898
-
899
- // This function works the way it does because Bitcoin Cash
900
- // uses BIP143 as their replay protection, AND their algo
901
- // includes `forkId | hashType`, AND since their forkId=0,
902
- // this is a NOP, and has no difference to segwit. To support
903
- // other forks, another parameter is required, and a new parameter
904
- // would be required in the hashForWitnessV0 function, or
905
- // it could be broken into two..
906
-
907
- // BIP143 sighash activated in BitcoinCash via 0x40 bit
908
- if (hashType & Transaction.SIGHASH_BITCOINCASHBIP143) {
909
- if (types.Null(inAmount)) {
910
- throw new Error('Bitcoin Cash sighash requires value of input to be signed.')
911
- }
912
- return this.hashForWitnessV0(inIndex, prevOutScript, inAmount, hashType)
913
- } else {
914
- return this.hashForSignature(inIndex, prevOutScript, hashType)
915
- }
916
- }
917
-
918
- /**
919
- * Hash transaction for signing a specific input for Bitcoin Gold.
920
- */
921
- Transaction.prototype.hashForGoldSignature = function (inIndex, prevOutScript, inAmount, hashType, sigVersion) {
922
- typeforce(types.tuple(types.UInt32, types.Buffer, /* types.UInt8 */ types.Number, types.maybe(types.UInt53)), arguments)
923
-
924
- // Bitcoin Gold also implements segregated witness
925
- // therefore we can pull out the setting of nForkHashType
926
- // and pass it into the functions.
927
-
928
- var nForkHashType = hashType
929
- var fUseForkId = (hashType & Transaction.SIGHASH_BITCOINCASHBIP143) > 0
930
- if (fUseForkId) {
931
- nForkHashType |= this.network.forkId << 8
932
- }
933
-
934
- // BIP143 sighash activated in BitcoinCash via 0x40 bit
935
- if (sigVersion || fUseForkId) {
936
- if (types.Null(inAmount)) {
937
- throw new Error('Bitcoin Cash sighash requires value of input to be signed.')
938
- }
939
- return this.hashForWitnessV0(inIndex, prevOutScript, inAmount, nForkHashType)
940
- } else {
941
- return this.hashForSignature(inIndex, prevOutScript, nForkHashType)
942
- }
943
- }
944
-
945
- Transaction.prototype.getHash = function () {
946
- return this.network.hashFunctions.transaction(this.__toBuffer(undefined, undefined, false))
947
- }
948
-
949
- Transaction.prototype.getId = function () {
950
- // transaction hash's are displayed in reverse order
951
- return this.getHash().reverse().toString('hex')
952
- }
953
-
954
- Transaction.prototype.toBuffer = function (buffer, initialOffset) {
955
- return this.__toBuffer(buffer, initialOffset, true)
956
- }
957
-
958
- Transaction.prototype.__toBuffer = function (buffer, initialOffset, __allowWitness) {
959
- if (!buffer) buffer = Buffer.allocUnsafe(this.__byteLength(__allowWitness))
960
-
961
- var offset = initialOffset || 0
962
- function writeSlice (slice) { offset += slice.copy(buffer, offset) }
963
- function writeUInt8 (i) { offset = buffer.writeUInt8(i, offset) }
964
- function writeUInt32 (i) { offset = buffer.writeUInt32LE(i, offset) }
965
- function writeInt32 (i) { offset = buffer.writeInt32LE(i, offset) }
966
- function writeUInt64 (i) { offset = bufferutils.writeUInt64LE(buffer, i, offset) }
967
- function writeVarInt (i) {
968
- varuint.encode(i, buffer, offset)
969
- offset += varuint.encode.bytes
970
- }
971
- function writeVarSlice (slice) { writeVarInt(slice.length); writeSlice(slice) }
972
- function writeVector (vector) { writeVarInt(vector.length); vector.forEach(writeVarSlice) }
973
-
974
- function writeCompressedG1 (i) {
975
- writeUInt8(Transaction.ZCASH_G1_PREFIX_MASK | i.yLsb)
976
- writeSlice(i.x)
977
- }
978
-
979
- function writeCompressedG2 (i) {
980
- writeUInt8(Transaction.ZCASH_G2_PREFIX_MASK | i.yLsb)
981
- writeSlice(i.x)
982
- }
983
-
984
- if (this.isOverwinterCompatible()) {
985
- var mask = (this.overwintered ? 1 : 0)
986
- writeInt32(this.version | (mask << 31)) // Set overwinter bit
987
- writeUInt32(this.versionGroupId)
988
- } else {
989
- writeInt32(this.version)
990
- }
991
-
992
- var hasWitnesses = __allowWitness && this.hasWitnesses()
993
-
994
- if (hasWitnesses) {
995
- writeUInt8(Transaction.ADVANCED_TRANSACTION_MARKER)
996
- writeUInt8(Transaction.ADVANCED_TRANSACTION_FLAG)
997
- }
998
-
999
- writeVarInt(this.ins.length)
1000
-
1001
- this.ins.forEach(function (txIn) {
1002
- writeSlice(txIn.hash)
1003
- writeUInt32(txIn.index)
1004
- writeVarSlice(txIn.script)
1005
- writeUInt32(txIn.sequence)
1006
- })
1007
-
1008
- writeVarInt(this.outs.length)
1009
- this.outs.forEach(function (txOut) {
1010
- if (!txOut.valueBuffer) {
1011
- writeUInt64(txOut.value)
1012
- } else {
1013
- writeSlice(txOut.valueBuffer)
1014
- }
1015
-
1016
- writeVarSlice(txOut.script)
1017
- })
1018
-
1019
- if (hasWitnesses) {
1020
- this.ins.forEach(function (input) {
1021
- writeVector(input.witness)
1022
- })
1023
- }
1024
-
1025
- writeUInt32(this.locktime)
1026
-
1027
- if (this.isOverwinterCompatible()) {
1028
- writeUInt32(this.expiryHeight)
1029
- }
1030
-
1031
- if (this.isSaplingCompatible()) {
1032
- writeUInt64(this.valueBalance)
1033
-
1034
- writeVarInt(this.vShieldedSpend.length)
1035
- this.vShieldedSpend.forEach(function (shieldedSpend) {
1036
- writeSlice(shieldedSpend.cv)
1037
- writeSlice(shieldedSpend.anchor)
1038
- writeSlice(shieldedSpend.nullifier)
1039
- writeSlice(shieldedSpend.rk)
1040
- writeSlice(shieldedSpend.zkproof.sA)
1041
- writeSlice(shieldedSpend.zkproof.sB)
1042
- writeSlice(shieldedSpend.zkproof.sC)
1043
- writeSlice(shieldedSpend.spendAuthSig)
1044
- })
1045
- writeVarInt(this.vShieldedOutput.length)
1046
- this.vShieldedOutput.forEach(function (shieldedOutput) {
1047
- writeSlice(shieldedOutput.cv)
1048
- writeSlice(shieldedOutput.cmu)
1049
- writeSlice(shieldedOutput.ephemeralKey)
1050
- writeSlice(shieldedOutput.encCiphertext)
1051
- writeSlice(shieldedOutput.outCiphertext)
1052
- writeSlice(shieldedOutput.zkproof.sA)
1053
- writeSlice(shieldedOutput.zkproof.sB)
1054
- writeSlice(shieldedOutput.zkproof.sC)
1055
- })
1056
- }
1057
-
1058
- if (this.supportsJoinSplits()) {
1059
- writeVarInt(this.joinsplits.length)
1060
- this.joinsplits.forEach(function (joinsplit) {
1061
- writeUInt64(joinsplit.vpubOld)
1062
- writeUInt64(joinsplit.vpubNew)
1063
- writeSlice(joinsplit.anchor)
1064
- joinsplit.nullifiers.forEach(function (nullifier) {
1065
- writeSlice(nullifier)
1066
- })
1067
- joinsplit.commitments.forEach(function (nullifier) {
1068
- writeSlice(nullifier)
1069
- })
1070
- writeSlice(joinsplit.ephemeralKey)
1071
- writeSlice(joinsplit.randomSeed)
1072
- joinsplit.macs.forEach(function (nullifier) {
1073
- writeSlice(nullifier)
1074
- })
1075
- if (this.isSaplingCompatible()) {
1076
- writeSlice(joinsplit.zkproof.sA)
1077
- writeSlice(joinsplit.zkproof.sB)
1078
- writeSlice(joinsplit.zkproof.sC)
1079
- } else {
1080
- writeCompressedG1(joinsplit.zkproof.gA)
1081
- writeCompressedG1(joinsplit.zkproof.gAPrime)
1082
- writeCompressedG2(joinsplit.zkproof.gB)
1083
- writeCompressedG1(joinsplit.zkproof.gBPrime)
1084
- writeCompressedG1(joinsplit.zkproof.gC)
1085
- writeCompressedG1(joinsplit.zkproof.gCPrime)
1086
- writeCompressedG1(joinsplit.zkproof.gK)
1087
- writeCompressedG1(joinsplit.zkproof.gH)
1088
- }
1089
- joinsplit.ciphertexts.forEach(function (ciphertext) {
1090
- writeSlice(ciphertext)
1091
- })
1092
- }, this)
1093
- if (this.joinsplits.length > 0) {
1094
- writeSlice(this.joinsplitPubkey)
1095
- writeSlice(this.joinsplitSig)
1096
- }
1097
- }
1098
-
1099
- if (this.isSaplingCompatible() && this.vShieldedSpend.length + this.vShieldedOutput.length > 0) {
1100
- writeSlice(this.bindingSig)
1101
- }
1102
-
1103
- // avoid slicing unless necessary
1104
- if (initialOffset !== undefined) return buffer.slice(initialOffset, offset)
1105
- // TODO (https://github.com/BitGo/bitgo-utxo-lib/issues/11): we shouldn't have to slice the final buffer
1106
- return buffer.slice(0, offset)
1107
- }
1108
-
1109
- Transaction.prototype.toHex = function () {
1110
- return this.toBuffer().toString('hex')
1111
- }
1112
-
1113
- Transaction.prototype.setInputScript = function (index, scriptSig) {
1114
- typeforce(types.tuple(types.Number, types.Buffer), arguments)
1115
-
1116
- this.ins[index].script = scriptSig
1117
- }
1118
-
1119
- Transaction.prototype.setWitness = function (index, witness) {
1120
- typeforce(types.tuple(types.Number, [types.Buffer]), arguments)
1121
-
1122
- this.ins[index].witness = witness
1123
- }
1124
-
1125
- module.exports = Transaction