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

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 (643) hide show
  1. package/actions/Action.d.ts +24 -0
  2. package/actions/Action.js +119 -0
  3. package/actions/Action.js.map +1 -0
  4. package/actions/LinkedAction.d.ts +10 -0
  5. package/actions/LinkedAction.js +95 -0
  6. package/actions/LinkedAction.js.map +1 -0
  7. package/actions/RepeatableAction.d.ts +8 -0
  8. package/actions/RepeatableAction.js +92 -0
  9. package/actions/RepeatableAction.js.map +1 -0
  10. package/actions/SimpleAction.d.ts +7 -0
  11. package/actions/SimpleAction.js +80 -0
  12. package/actions/SimpleAction.js.map +1 -0
  13. package/actions/StateMachine.d.ts +9 -0
  14. package/actions/StateMachine.js +42 -0
  15. package/actions/StateMachine.js.map +1 -0
  16. package/data/KeyPair.d.ts +5 -0
  17. package/data/KeyPair.js +3 -0
  18. package/data/KeyPair.js.map +1 -0
  19. package/data/Lazy.d.ts +14 -0
  20. package/data/Lazy.js +83 -0
  21. package/data/Lazy.js.map +1 -0
  22. package/data/RPCBody.d.ts +7 -0
  23. package/data/RPCBody.js +16 -0
  24. package/data/RPCBody.js.map +1 -0
  25. package/dependencies/src/@stablelib/binary-1.0.1/packages/binary/binary.d.ts +230 -0
  26. package/dependencies/src/@stablelib/binary-1.0.1/packages/binary/binary.js +471 -0
  27. package/dependencies/src/@stablelib/binary-1.0.1/packages/binary/binary.js.map +1 -0
  28. package/dependencies/src/@stablelib/blake2b-1.0.1/packages/blake2b/blake2b.d.ts +76 -0
  29. package/dependencies/src/@stablelib/blake2b-1.0.1/packages/blake2b/blake2b.js +455 -0
  30. package/dependencies/src/@stablelib/blake2b-1.0.1/packages/blake2b/blake2b.js.map +1 -0
  31. package/dependencies/src/@stablelib/ed25519-1.0.3/packages/ed25519/ed25519.d.ts +27 -0
  32. package/dependencies/src/@stablelib/ed25519-1.0.3/packages/ed25519/ed25519.js +848 -0
  33. package/dependencies/src/@stablelib/ed25519-1.0.3/packages/ed25519/ed25519.js.map +1 -0
  34. package/dependencies/src/@stablelib/hash-1.0.1/packages/hash/hash.d.ts +22 -0
  35. package/dependencies/src/@stablelib/hash-1.0.1/packages/hash/hash.js +14 -0
  36. package/dependencies/src/@stablelib/hash-1.0.1/packages/hash/hash.js.map +1 -0
  37. package/dependencies/src/@stablelib/int-1.0.1/packages/int/int.d.ts +29 -0
  38. package/dependencies/src/@stablelib/int-1.0.1/packages/int/int.js +63 -0
  39. package/dependencies/src/@stablelib/int-1.0.1/packages/int/int.js.map +1 -0
  40. package/dependencies/src/@stablelib/random-1.0.2/packages/random/random.d.ts +36 -0
  41. package/dependencies/src/@stablelib/random-1.0.2/packages/random/random.js +87 -0
  42. package/dependencies/src/@stablelib/random-1.0.2/packages/random/random.js.map +1 -0
  43. package/dependencies/src/@stablelib/random-1.0.2/packages/random/source/browser.d.ts +8 -0
  44. package/dependencies/src/@stablelib/random-1.0.2/packages/random/source/browser.js +33 -0
  45. package/dependencies/src/@stablelib/random-1.0.2/packages/random/source/browser.js.map +1 -0
  46. package/dependencies/src/@stablelib/random-1.0.2/packages/random/source/index.d.ts +11 -0
  47. package/dependencies/src/@stablelib/random-1.0.2/packages/random/source/index.js +5 -0
  48. package/dependencies/src/@stablelib/random-1.0.2/packages/random/source/index.js.map +1 -0
  49. package/dependencies/src/@stablelib/random-1.0.2/packages/random/source/node.d.ts +8 -0
  50. package/dependencies/src/@stablelib/random-1.0.2/packages/random/source/node.js +43 -0
  51. package/dependencies/src/@stablelib/random-1.0.2/packages/random/source/node.js.map +1 -0
  52. package/dependencies/src/@stablelib/random-1.0.2/packages/random/source/system.d.ts +8 -0
  53. package/dependencies/src/@stablelib/random-1.0.2/packages/random/source/system.js +37 -0
  54. package/dependencies/src/@stablelib/random-1.0.2/packages/random/source/system.js.map +1 -0
  55. package/dependencies/src/@stablelib/sha512/packages/sha512/sha512.d.ts +73 -0
  56. package/dependencies/src/@stablelib/sha512/packages/sha512/sha512.js +552 -0
  57. package/dependencies/src/@stablelib/sha512/packages/sha512/sha512.js.map +1 -0
  58. package/dependencies/src/@stablelib/sha512-1.0.1/packages/sha512/sha512.d.ts +73 -0
  59. package/dependencies/src/@stablelib/sha512-1.0.1/packages/sha512/sha512.js +552 -0
  60. package/dependencies/src/@stablelib/sha512-1.0.1/packages/sha512/sha512.js.map +1 -0
  61. package/dependencies/src/@stablelib/wipe-1.0.1/packages/wipe/wipe.d.ts +18 -0
  62. package/dependencies/src/@stablelib/wipe-1.0.1/packages/wipe/wipe.js +29 -0
  63. package/dependencies/src/@stablelib/wipe-1.0.1/packages/wipe/wipe.js.map +1 -0
  64. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/codec.d.ts +57 -0
  65. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/codec.js +384 -0
  66. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/codec.js.map +1 -0
  67. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/constants.d.ts +63 -0
  68. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/constants.js +264 -0
  69. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/constants.js.map +1 -0
  70. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/decoder.d.ts +5 -0
  71. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/decoder.js +82 -0
  72. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/decoder.js.map +1 -0
  73. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/encoder.d.ts +4 -0
  74. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/encoder.js +67 -0
  75. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/encoder.js.map +1 -0
  76. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/error.d.ts +89 -0
  77. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/error.js +169 -0
  78. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/error.js.map +1 -0
  79. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/interface.d.ts +9 -0
  80. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/interface.js +3 -0
  81. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/interface.js.map +1 -0
  82. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/michelson/codec.d.ts +42 -0
  83. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/michelson/codec.js +270 -0
  84. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/michelson/codec.js.map +1 -0
  85. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/proto14-kathmandu/codec-proto14.d.ts +15 -0
  86. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/proto14-kathmandu/codec-proto14.js +80 -0
  87. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/proto14-kathmandu/codec-proto14.js.map +1 -0
  88. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/proto14-kathmandu/constants-proto14.d.ts +12 -0
  89. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/proto14-kathmandu/constants-proto14.js +184 -0
  90. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/proto14-kathmandu/constants-proto14.js.map +1 -0
  91. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/proto14-kathmandu/decoder-proto14.d.ts +5 -0
  92. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/proto14-kathmandu/decoder-proto14.js +81 -0
  93. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/proto14-kathmandu/decoder-proto14.js.map +1 -0
  94. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/proto14-kathmandu/encoder-proto14.d.ts +4 -0
  95. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/proto14-kathmandu/encoder-proto14.js +76 -0
  96. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/proto14-kathmandu/encoder-proto14.js.map +1 -0
  97. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/proto14-kathmandu/michelson/codec-proto14.d.ts +14 -0
  98. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/proto14-kathmandu/michelson/codec-proto14.js +150 -0
  99. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/proto14-kathmandu/michelson/codec-proto14.js.map +1 -0
  100. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/protocols.d.ts +17 -0
  101. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/protocols.js +41 -0
  102. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/protocols.js.map +1 -0
  103. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/schema/operation.d.ts +150 -0
  104. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/schema/operation.js +217 -0
  105. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/schema/operation.js.map +1 -0
  106. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/taquito-local-forging.d.ts +26 -0
  107. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/taquito-local-forging.js +115 -0
  108. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/taquito-local-forging.js.map +1 -0
  109. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/uint8array-consumer.d.ts +9 -0
  110. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/uint8array-consumer.js +35 -0
  111. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/uint8array-consumer.js.map +1 -0
  112. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/utils.d.ts +3 -0
  113. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/utils.js +26 -0
  114. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/utils.js.map +1 -0
  115. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/validator.d.ts +13 -0
  116. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/validator.js +52 -0
  117. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/validator.js.map +1 -0
  118. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/version.d.ts +4 -0
  119. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/version.js +9 -0
  120. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/version.js.map +1 -0
  121. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-rpc/src/opkind.d.ts +34 -0
  122. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-rpc/src/opkind.js +39 -0
  123. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-rpc/src/opkind.js.map +1 -0
  124. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-rpc/src/types.d.ts +1590 -0
  125. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-rpc/src/types.js +35 -0
  126. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-rpc/src/types.js.map +1 -0
  127. package/dependencies/src/@taquito/utils-15.0.1/packages/taquito-utils/src/constants.d.ts +91 -0
  128. package/dependencies/src/@taquito/utils-15.0.1/packages/taquito-utils/src/constants.js +127 -0
  129. package/dependencies/src/@taquito/utils-15.0.1/packages/taquito-utils/src/constants.js.map +1 -0
  130. package/dependencies/src/@taquito/utils-15.0.1/packages/taquito-utils/src/errors.d.ts +145 -0
  131. package/dependencies/src/@taquito/utils-15.0.1/packages/taquito-utils/src/errors.js +270 -0
  132. package/dependencies/src/@taquito/utils-15.0.1/packages/taquito-utils/src/errors.js.map +1 -0
  133. package/dependencies/src/@taquito/utils-15.0.1/packages/taquito-utils/src/format.d.ts +4 -0
  134. package/dependencies/src/@taquito/utils-15.0.1/packages/taquito-utils/src/format.js +33 -0
  135. package/dependencies/src/@taquito/utils-15.0.1/packages/taquito-utils/src/format.js.map +1 -0
  136. package/dependencies/src/@taquito/utils-15.0.1/packages/taquito-utils/src/taquito-utils.d.ts +163 -0
  137. package/dependencies/src/@taquito/utils-15.0.1/packages/taquito-utils/src/taquito-utils.js +438 -0
  138. package/dependencies/src/@taquito/utils-15.0.1/packages/taquito-utils/src/taquito-utils.js.map +1 -0
  139. package/dependencies/src/@taquito/utils-15.0.1/packages/taquito-utils/src/validators.d.ts +158 -0
  140. package/dependencies/src/@taquito/utils-15.0.1/packages/taquito-utils/src/validators.js +254 -0
  141. package/dependencies/src/@taquito/utils-15.0.1/packages/taquito-utils/src/validators.js.map +1 -0
  142. package/dependencies/src/@taquito/utils-15.0.1/packages/taquito-utils/src/verify-signature.d.ts +24 -0
  143. package/dependencies/src/@taquito/utils-15.0.1/packages/taquito-utils/src/verify-signature.js +126 -0
  144. package/dependencies/src/@taquito/utils-15.0.1/packages/taquito-utils/src/verify-signature.js.map +1 -0
  145. package/dependencies/src/@taquito/utils-15.0.1/packages/taquito-utils/src/version.d.ts +4 -0
  146. package/dependencies/src/@taquito/utils-15.0.1/packages/taquito-utils/src/version.js +9 -0
  147. package/dependencies/src/@taquito/utils-15.0.1/packages/taquito-utils/src/version.js.map +1 -0
  148. package/dependencies/src/axios-0.19.0/index.d.ts +152 -0
  149. package/dependencies/src/axios-0.19.0/index.js +1 -0
  150. package/dependencies/src/axios-0.19.0/lib/adapters/http.js +275 -0
  151. package/dependencies/src/axios-0.19.0/lib/adapters/xhr.js +174 -0
  152. package/dependencies/src/axios-0.19.0/lib/axios.js +53 -0
  153. package/dependencies/src/axios-0.19.0/lib/cancel/Cancel.js +19 -0
  154. package/dependencies/src/axios-0.19.0/lib/cancel/CancelToken.js +57 -0
  155. package/dependencies/src/axios-0.19.0/lib/cancel/isCancel.js +5 -0
  156. package/dependencies/src/axios-0.19.0/lib/core/Axios.js +86 -0
  157. package/dependencies/src/axios-0.19.0/lib/core/InterceptorManager.js +52 -0
  158. package/dependencies/src/axios-0.19.0/lib/core/createError.js +18 -0
  159. package/dependencies/src/axios-0.19.0/lib/core/dispatchRequest.js +86 -0
  160. package/dependencies/src/axios-0.19.0/lib/core/enhanceError.js +42 -0
  161. package/dependencies/src/axios-0.19.0/lib/core/mergeConfig.js +51 -0
  162. package/dependencies/src/axios-0.19.0/lib/core/settle.js +25 -0
  163. package/dependencies/src/axios-0.19.0/lib/core/transformData.js +20 -0
  164. package/dependencies/src/axios-0.19.0/lib/defaults.js +98 -0
  165. package/dependencies/src/axios-0.19.0/lib/helpers/bind.js +11 -0
  166. package/dependencies/src/axios-0.19.0/lib/helpers/buildURL.js +71 -0
  167. package/dependencies/src/axios-0.19.0/lib/helpers/combineURLs.js +14 -0
  168. package/dependencies/src/axios-0.19.0/lib/helpers/cookies.js +53 -0
  169. package/dependencies/src/axios-0.19.0/lib/helpers/deprecatedMethod.js +24 -0
  170. package/dependencies/src/axios-0.19.0/lib/helpers/isAbsoluteURL.js +14 -0
  171. package/dependencies/src/axios-0.19.0/lib/helpers/isURLSameOrigin.js +68 -0
  172. package/dependencies/src/axios-0.19.0/lib/helpers/normalizeHeaderName.js +12 -0
  173. package/dependencies/src/axios-0.19.0/lib/helpers/parseHeaders.js +53 -0
  174. package/dependencies/src/axios-0.19.0/lib/helpers/spread.js +27 -0
  175. package/dependencies/src/axios-0.19.0/lib/utils.js +334 -0
  176. package/dependencies/src/axios-0.19.0/package.json +85 -0
  177. package/dependencies/src/base-x-3.0.7/src/index.d.ts +10 -0
  178. package/dependencies/src/base-x-3.0.7/src/index.js +120 -0
  179. package/dependencies/src/base64-js-1.3.1/index.js +152 -0
  180. package/dependencies/src/bech32-0.0.3/index.js +139 -0
  181. package/dependencies/src/bech32-1.1.3/index.js +147 -0
  182. package/dependencies/src/big-integer-1.6.45/BigInteger.d.ts +2393 -0
  183. package/dependencies/src/big-integer-1.6.45/BigInteger.js +1452 -0
  184. package/dependencies/src/bigi-1.4.2/lib/bigi.js +1509 -0
  185. package/dependencies/src/bigi-1.4.2/lib/convert.js +91 -0
  186. package/dependencies/src/bigi-1.4.2/lib/index.js +6 -0
  187. package/dependencies/src/bigi-1.4.2/package.json +55 -0
  188. package/dependencies/src/bignumber.js-9.0.0/bignumber.d.ts +1829 -0
  189. package/dependencies/src/bignumber.js-9.0.0/bignumber.js +2902 -0
  190. package/dependencies/src/bip32-2.0.4/src/bip32.js +290 -0
  191. package/dependencies/src/bip32-2.0.4/src/crypto.js +26 -0
  192. package/dependencies/src/bip32-2.0.4/src/index.js +7 -0
  193. package/dependencies/src/bip32-path-0.4.2/index.js +96 -0
  194. package/dependencies/src/bip39-2.5.0/index.js +153 -0
  195. package/dependencies/src/bip39-2.5.0/wordlists/chinese_simplified.json +2050 -0
  196. package/dependencies/src/bip39-2.5.0/wordlists/chinese_traditional.json +2050 -0
  197. package/dependencies/src/bip39-2.5.0/wordlists/english.json +2050 -0
  198. package/dependencies/src/bip39-2.5.0/wordlists/french.json +2050 -0
  199. package/dependencies/src/bip39-2.5.0/wordlists/italian.json +2050 -0
  200. package/dependencies/src/bip39-2.5.0/wordlists/japanese.json +2050 -0
  201. package/dependencies/src/bip39-2.5.0/wordlists/korean.json +2050 -0
  202. package/dependencies/src/bip39-2.5.0/wordlists/spanish.json +2050 -0
  203. package/dependencies/src/bip66-1.1.5/index.js +113 -0
  204. package/dependencies/src/bitcoin-ops-1.4.1/index.json +120 -0
  205. package/dependencies/src/bitcoin-ops-1.4.1/map.js +9 -0
  206. package/dependencies/src/bitcoinjs-message-2.1.1/index.js +157 -0
  207. package/dependencies/src/bitgo-utxo-lib-5d91049fd7a988382df81c8260e244ee56d57aac/src/address.js +109 -0
  208. package/dependencies/src/bitgo-utxo-lib-5d91049fd7a988382df81c8260e244ee56d57aac/src/block.js +234 -0
  209. package/dependencies/src/bitgo-utxo-lib-5d91049fd7a988382df81c8260e244ee56d57aac/src/bufferWriter.js +40 -0
  210. package/dependencies/src/bitgo-utxo-lib-5d91049fd7a988382df81c8260e244ee56d57aac/src/bufferutils.js +65 -0
  211. package/dependencies/src/bitgo-utxo-lib-5d91049fd7a988382df81c8260e244ee56d57aac/src/coins.js +53 -0
  212. package/dependencies/src/bitgo-utxo-lib-5d91049fd7a988382df81c8260e244ee56d57aac/src/crypto.js +43 -0
  213. package/dependencies/src/bitgo-utxo-lib-5d91049fd7a988382df81c8260e244ee56d57aac/src/ecdsa.js +161 -0
  214. package/dependencies/src/bitgo-utxo-lib-5d91049fd7a988382df81c8260e244ee56d57aac/src/ecpair.js +155 -0
  215. package/dependencies/src/bitgo-utxo-lib-5d91049fd7a988382df81c8260e244ee56d57aac/src/ecsignature.js +97 -0
  216. package/dependencies/src/bitgo-utxo-lib-5d91049fd7a988382df81c8260e244ee56d57aac/src/fastcurve.js +92 -0
  217. package/dependencies/src/bitgo-utxo-lib-5d91049fd7a988382df81c8260e244ee56d57aac/src/hdnode.js +363 -0
  218. package/dependencies/src/bitgo-utxo-lib-5d91049fd7a988382df81c8260e244ee56d57aac/src/index.js +24 -0
  219. package/dependencies/src/bitgo-utxo-lib-5d91049fd7a988382df81c8260e244ee56d57aac/src/networks.js +214 -0
  220. package/dependencies/src/bitgo-utxo-lib-5d91049fd7a988382df81c8260e244ee56d57aac/src/script.js +214 -0
  221. package/dependencies/src/bitgo-utxo-lib-5d91049fd7a988382df81c8260e244ee56d57aac/src/script_number.js +68 -0
  222. package/dependencies/src/bitgo-utxo-lib-5d91049fd7a988382df81c8260e244ee56d57aac/src/templates/index.js +74 -0
  223. package/dependencies/src/bitgo-utxo-lib-5d91049fd7a988382df81c8260e244ee56d57aac/src/templates/multisig/index.js +4 -0
  224. package/dependencies/src/bitgo-utxo-lib-5d91049fd7a988382df81c8260e244ee56d57aac/src/templates/multisig/input.js +71 -0
  225. package/dependencies/src/bitgo-utxo-lib-5d91049fd7a988382df81c8260e244ee56d57aac/src/templates/multisig/output.js +64 -0
  226. package/dependencies/src/bitgo-utxo-lib-5d91049fd7a988382df81c8260e244ee56d57aac/src/templates/nulldata.js +39 -0
  227. package/dependencies/src/bitgo-utxo-lib-5d91049fd7a988382df81c8260e244ee56d57aac/src/templates/pubkey/index.js +4 -0
  228. package/dependencies/src/bitgo-utxo-lib-5d91049fd7a988382df81c8260e244ee56d57aac/src/templates/pubkey/input.js +39 -0
  229. package/dependencies/src/bitgo-utxo-lib-5d91049fd7a988382df81c8260e244ee56d57aac/src/templates/pubkey/output.js +33 -0
  230. package/dependencies/src/bitgo-utxo-lib-5d91049fd7a988382df81c8260e244ee56d57aac/src/templates/pubkeyhash/index.js +4 -0
  231. package/dependencies/src/bitgo-utxo-lib-5d91049fd7a988382df81c8260e244ee56d57aac/src/templates/pubkeyhash/input.js +51 -0
  232. package/dependencies/src/bitgo-utxo-lib-5d91049fd7a988382df81c8260e244ee56d57aac/src/templates/pubkeyhash/output.js +42 -0
  233. package/dependencies/src/bitgo-utxo-lib-5d91049fd7a988382df81c8260e244ee56d57aac/src/templates/scripthash/index.js +4 -0
  234. package/dependencies/src/bitgo-utxo-lib-5d91049fd7a988382df81c8260e244ee56d57aac/src/templates/scripthash/input.js +84 -0
  235. package/dependencies/src/bitgo-utxo-lib-5d91049fd7a988382df81c8260e244ee56d57aac/src/templates/scripthash/output.js +34 -0
  236. package/dependencies/src/bitgo-utxo-lib-5d91049fd7a988382df81c8260e244ee56d57aac/src/templates/witnesscommitment/index.js +3 -0
  237. package/dependencies/src/bitgo-utxo-lib-5d91049fd7a988382df81c8260e244ee56d57aac/src/templates/witnesscommitment/output.js +42 -0
  238. package/dependencies/src/bitgo-utxo-lib-5d91049fd7a988382df81c8260e244ee56d57aac/src/templates/witnesspubkeyhash/index.js +4 -0
  239. package/dependencies/src/bitgo-utxo-lib-5d91049fd7a988382df81c8260e244ee56d57aac/src/templates/witnesspubkeyhash/input.js +44 -0
  240. package/dependencies/src/bitgo-utxo-lib-5d91049fd7a988382df81c8260e244ee56d57aac/src/templates/witnesspubkeyhash/output.js +33 -0
  241. package/dependencies/src/bitgo-utxo-lib-5d91049fd7a988382df81c8260e244ee56d57aac/src/templates/witnessscripthash/index.js +4 -0
  242. package/dependencies/src/bitgo-utxo-lib-5d91049fd7a988382df81c8260e244ee56d57aac/src/templates/witnessscripthash/input.js +63 -0
  243. package/dependencies/src/bitgo-utxo-lib-5d91049fd7a988382df81c8260e244ee56d57aac/src/templates/witnessscripthash/output.js +33 -0
  244. package/dependencies/src/bitgo-utxo-lib-5d91049fd7a988382df81c8260e244ee56d57aac/src/transaction.js +1125 -0
  245. package/dependencies/src/bitgo-utxo-lib-5d91049fd7a988382df81c8260e244ee56d57aac/src/transaction_builder.js +892 -0
  246. package/dependencies/src/bitgo-utxo-lib-5d91049fd7a988382df81c8260e244ee56d57aac/src/types.js +55 -0
  247. package/dependencies/src/blake2b-6268e6dd678661e0acc4359e9171b97eb1ebf8ac/index.js +313 -0
  248. package/dependencies/src/blake2b-wasm-193cdb71656c1a6c7f89b05d0327bb9b758d071b/blake2b.js +63 -0
  249. package/dependencies/src/blake2b-wasm-193cdb71656c1a6c7f89b05d0327bb9b758d071b/index.js +128 -0
  250. package/dependencies/src/blakejs-1.1.0/blake2b.js +273 -0
  251. package/dependencies/src/blakejs-1.1.0/blake2s.js +190 -0
  252. package/dependencies/src/blakejs-1.1.0/index.js +15 -0
  253. package/dependencies/src/blakejs-1.1.0/util.js +81 -0
  254. package/dependencies/src/bn.js-4.11.8/lib/bn.js +3427 -0
  255. package/dependencies/src/brorand-1.1.0/index.js +65 -0
  256. package/dependencies/src/bs58-4.0.1/index.js +4 -0
  257. package/dependencies/src/bs58check-2.1.2/base.js +50 -0
  258. package/dependencies/src/bs58check-2.1.2/index.js +12 -0
  259. package/dependencies/src/bs58grscheck-2.1.2/base.js +50 -0
  260. package/dependencies/src/bs58grscheck-2.1.2/index.js +12 -0
  261. package/dependencies/src/buffer-5.6.0/index.d.ts +186 -0
  262. package/dependencies/src/buffer-5.6.0/index.js +1794 -0
  263. package/dependencies/src/buffer-equals-1.0.4/index.js +26 -0
  264. package/dependencies/src/cbor-sync-1.0.4/index.d.ts +11 -0
  265. package/dependencies/src/cbor-sync-1.0.4/index.js +632 -0
  266. package/dependencies/src/cipher-base-1.0.4/index.js +99 -0
  267. package/dependencies/src/cosmjs/index.d.ts +379 -0
  268. package/dependencies/src/cosmjs/index.js +1297 -0
  269. package/dependencies/src/cosmjs/index.js.map +1 -0
  270. package/dependencies/src/create-hash-1.2.0/browser.js +30 -0
  271. package/dependencies/src/create-hash-1.2.0/index.js +1 -0
  272. package/dependencies/src/create-hash-1.2.0/md5.js +5 -0
  273. package/dependencies/src/create-hmac-1.1.4/browser.js +68 -0
  274. package/dependencies/src/create-hmac-1.1.4/index.js +1 -0
  275. package/dependencies/src/create-hmac-1.1.7/browser.js +62 -0
  276. package/dependencies/src/create-hmac-1.1.7/legacy.js +46 -0
  277. package/dependencies/src/cryptocompare-0.5.0/index.js +138 -0
  278. package/dependencies/src/cuint-0.2.2/index.js +2 -0
  279. package/dependencies/src/cuint-0.2.2/lib/uint32.js +451 -0
  280. package/dependencies/src/cuint-0.2.2/lib/uint64.js +648 -0
  281. package/dependencies/src/debug-3.1.0/src/browser.js +195 -0
  282. package/dependencies/src/debug-3.1.0/src/debug.js +225 -0
  283. package/dependencies/src/drbg.js-1.0.1/hash.js +92 -0
  284. package/dependencies/src/drbg.js-1.0.1/hmac.js +71 -0
  285. package/dependencies/src/drbg.js-1.0.1/index.js +4 -0
  286. package/dependencies/src/drbg.js-1.0.1/lib/hash-info.json +27 -0
  287. package/dependencies/src/drbg.js-1.0.1/lib/util.js +36 -0
  288. package/dependencies/src/eciesjs-0.3.9/src/index.d.ts +12 -0
  289. package/dependencies/src/eciesjs-0.3.9/src/index.js +35 -0
  290. package/dependencies/src/eciesjs-0.3.9/src/index.js.map +1 -0
  291. package/dependencies/src/eciesjs-0.3.9/src/keys/PrivateKey.d.ts +12 -0
  292. package/dependencies/src/eciesjs-0.3.9/src/keys/PrivateKey.js +62 -0
  293. package/dependencies/src/eciesjs-0.3.9/src/keys/PrivateKey.js.map +1 -0
  294. package/dependencies/src/eciesjs-0.3.9/src/keys/PublicKey.d.ts +11 -0
  295. package/dependencies/src/eciesjs-0.3.9/src/keys/PublicKey.js +65 -0
  296. package/dependencies/src/eciesjs-0.3.9/src/keys/PublicKey.js.map +1 -0
  297. package/dependencies/src/eciesjs-0.3.9/src/keys/index.d.ts +2 -0
  298. package/dependencies/src/eciesjs-0.3.9/src/keys/index.js +11 -0
  299. package/dependencies/src/eciesjs-0.3.9/src/keys/index.js.map +1 -0
  300. package/dependencies/src/eciesjs-0.3.9/src/utils.d.ts +6 -0
  301. package/dependencies/src/eciesjs-0.3.9/src/utils.js +65 -0
  302. package/dependencies/src/eciesjs-0.3.9/src/utils.js.map +1 -0
  303. package/dependencies/src/ecurve-1.0.6/lib/curve.js +77 -0
  304. package/dependencies/src/ecurve-1.0.6/lib/curves.json +65 -0
  305. package/dependencies/src/ecurve-1.0.6/lib/index.js +10 -0
  306. package/dependencies/src/ecurve-1.0.6/lib/names.js +21 -0
  307. package/dependencies/src/ecurve-1.0.6/lib/point.js +244 -0
  308. package/dependencies/src/elliptic-6.5.1/lib/elliptic/curve/base.js +374 -0
  309. package/dependencies/src/elliptic-6.5.1/lib/elliptic/curve/edwards.js +432 -0
  310. package/dependencies/src/elliptic-6.5.1/lib/elliptic/curve/index.js +8 -0
  311. package/dependencies/src/elliptic-6.5.1/lib/elliptic/curve/mont.js +178 -0
  312. package/dependencies/src/elliptic-6.5.1/lib/elliptic/curve/short.js +937 -0
  313. package/dependencies/src/elliptic-6.5.1/lib/elliptic/curves.js +206 -0
  314. package/dependencies/src/elliptic-6.5.1/lib/elliptic/ec/index.js +241 -0
  315. package/dependencies/src/elliptic-6.5.1/lib/elliptic/ec/key.js +118 -0
  316. package/dependencies/src/elliptic-6.5.1/lib/elliptic/ec/signature.js +134 -0
  317. package/dependencies/src/elliptic-6.5.1/lib/elliptic/eddsa/index.js +118 -0
  318. package/dependencies/src/elliptic-6.5.1/lib/elliptic/eddsa/key.js +95 -0
  319. package/dependencies/src/elliptic-6.5.1/lib/elliptic/eddsa/signature.js +65 -0
  320. package/dependencies/src/elliptic-6.5.1/lib/elliptic/precomputed/secp256k1.js +780 -0
  321. package/dependencies/src/elliptic-6.5.1/lib/elliptic/utils.js +120 -0
  322. package/dependencies/src/elliptic-6.5.1/lib/elliptic.js +13 -0
  323. package/dependencies/src/elliptic-6.5.1/package.json +55 -0
  324. package/dependencies/src/elliptic-6.5.3/lib/elliptic/curve/base.js +376 -0
  325. package/dependencies/src/elliptic-6.5.3/lib/elliptic/curve/edwards.js +432 -0
  326. package/dependencies/src/elliptic-6.5.3/lib/elliptic/curve/index.js +8 -0
  327. package/dependencies/src/elliptic-6.5.3/lib/elliptic/curve/mont.js +178 -0
  328. package/dependencies/src/elliptic-6.5.3/lib/elliptic/curve/short.js +937 -0
  329. package/dependencies/src/elliptic-6.5.3/lib/elliptic/curves.js +206 -0
  330. package/dependencies/src/elliptic-6.5.3/lib/elliptic/ec/index.js +241 -0
  331. package/dependencies/src/elliptic-6.5.3/lib/elliptic/ec/key.js +118 -0
  332. package/dependencies/src/elliptic-6.5.3/lib/elliptic/ec/signature.js +166 -0
  333. package/dependencies/src/elliptic-6.5.3/lib/elliptic/eddsa/index.js +118 -0
  334. package/dependencies/src/elliptic-6.5.3/lib/elliptic/eddsa/key.js +95 -0
  335. package/dependencies/src/elliptic-6.5.3/lib/elliptic/eddsa/signature.js +65 -0
  336. package/dependencies/src/elliptic-6.5.3/lib/elliptic/precomputed/secp256k1.js +780 -0
  337. package/dependencies/src/elliptic-6.5.3/lib/elliptic/utils.js +119 -0
  338. package/dependencies/src/elliptic-6.5.3/lib/elliptic.js +13 -0
  339. package/dependencies/src/elliptic-6.5.3/package.json +55 -0
  340. package/dependencies/src/ethereum-common-0.2.1/bootstrapNodes.json +92 -0
  341. package/dependencies/src/ethereum-common-0.2.1/genesisState.json +8895 -0
  342. package/dependencies/src/ethereum-common-0.2.1/index.js +4 -0
  343. package/dependencies/src/ethereum-common-0.2.1/params.json +245 -0
  344. package/dependencies/src/ethereumjs-tx-1.3.7/index.js +298 -0
  345. package/dependencies/src/ethereumjs-util-5.2.0/index.js +714 -0
  346. package/dependencies/src/ethjs-util-0.1.4/src/index.js +203 -0
  347. package/dependencies/src/follow-redirects-1.5.10/http.js +1 -0
  348. package/dependencies/src/follow-redirects-1.5.10/https.js +1 -0
  349. package/dependencies/src/follow-redirects-1.5.10/index.js +322 -0
  350. package/dependencies/src/futoin-hkdf-1.3.3/hkdf.d.ts +29 -0
  351. package/dependencies/src/futoin-hkdf-1.3.3/hkdf.js +174 -0
  352. package/dependencies/src/groestl-hash-js-ef6a04f1c4d2f0448f0882b5f213ef7a0659baee/index.js +39 -0
  353. package/dependencies/src/groestl-hash-js-ef6a04f1c4d2f0448f0882b5f213ef7a0659baee/lib/groestl.js +1248 -0
  354. package/dependencies/src/groestl-hash-js-ef6a04f1c4d2f0448f0882b5f213ef7a0659baee/lib/helper.js +253 -0
  355. package/dependencies/src/groestl-hash-js-ef6a04f1c4d2f0448f0882b5f213ef7a0659baee/lib/op.js +462 -0
  356. package/dependencies/src/groestlcoinjs-message-2.1.0/index.js +245 -0
  357. package/dependencies/src/hash-base-3.0.4/index.js +95 -0
  358. package/dependencies/src/hash.js-1.1.7/lib/hash/common.js +92 -0
  359. package/dependencies/src/hash.js-1.1.7/lib/hash/hmac.js +47 -0
  360. package/dependencies/src/hash.js-1.1.7/lib/hash/ripemd.js +146 -0
  361. package/dependencies/src/hash.js-1.1.7/lib/hash/sha/1.js +74 -0
  362. package/dependencies/src/hash.js-1.1.7/lib/hash/sha/224.js +30 -0
  363. package/dependencies/src/hash.js-1.1.7/lib/hash/sha/256.js +105 -0
  364. package/dependencies/src/hash.js-1.1.7/lib/hash/sha/384.js +35 -0
  365. package/dependencies/src/hash.js-1.1.7/lib/hash/sha/512.js +330 -0
  366. package/dependencies/src/hash.js-1.1.7/lib/hash/sha/common.js +49 -0
  367. package/dependencies/src/hash.js-1.1.7/lib/hash/sha.js +7 -0
  368. package/dependencies/src/hash.js-1.1.7/lib/hash/utils.js +278 -0
  369. package/dependencies/src/hash.js-1.1.7/lib/hash.js +15 -0
  370. package/dependencies/src/hd-wallet-js-b216450e56954a6e82ace0aade9474673de5d9d5/src/hd-key.d.ts +15 -0
  371. package/dependencies/src/hd-wallet-js-b216450e56954a6e82ace0aade9474673de5d9d5/src/hd-key.js +101 -0
  372. package/dependencies/src/hd-wallet-js-b216450e56954a6e82ace0aade9474673de5d9d5/src/hd-key.js.map +1 -0
  373. package/dependencies/src/hd-wallet-js-b216450e56954a6e82ace0aade9474673de5d9d5/src/hd-wallet.d.ts +3 -0
  374. package/dependencies/src/hd-wallet-js-b216450e56954a6e82ace0aade9474673de5d9d5/src/hd-wallet.js +37 -0
  375. package/dependencies/src/hd-wallet-js-b216450e56954a6e82ace0aade9474673de5d9d5/src/hd-wallet.js.map +1 -0
  376. package/dependencies/src/hd-wallet-js-b216450e56954a6e82ace0aade9474673de5d9d5/src/index.d.ts +1 -0
  377. package/dependencies/src/hd-wallet-js-b216450e56954a6e82ace0aade9474673de5d9d5/src/index.js +34 -0
  378. package/dependencies/src/hd-wallet-js-b216450e56954a6e82ace0aade9474673de5d9d5/src/index.js.map +1 -0
  379. package/dependencies/src/hmac-drbg-1.0.1/lib/hmac-drbg.js +113 -0
  380. package/dependencies/src/idna-uts46-hx-3.4.0/idna-map.js +23865 -0
  381. package/dependencies/src/idna-uts46-hx-3.4.0/index.d.ts +6 -0
  382. package/dependencies/src/idna-uts46-hx-3.4.0/uts46.js +170 -0
  383. package/dependencies/src/ieee754-1.1.13/index.js +84 -0
  384. package/dependencies/src/inherits-2.0.4/inherits.js +9 -0
  385. package/dependencies/src/inherits-2.0.4/inherits_browser.js +27 -0
  386. package/dependencies/src/is-buffer-2.0.3/index.js +11 -0
  387. package/dependencies/src/is-hex-prefixed-1.0.0/src/index.js +13 -0
  388. package/dependencies/src/js-cuint-0.2.2/index.js +2 -0
  389. package/dependencies/src/js-cuint-0.2.2/lib/uint32.js +451 -0
  390. package/dependencies/src/js-cuint-0.2.2/lib/uint64.js +648 -0
  391. package/dependencies/src/keccak-1.0.2/js.js +2 -0
  392. package/dependencies/src/keccak-1.0.2/lib/api/index.js +28 -0
  393. package/dependencies/src/keccak-1.0.2/lib/api/keccak.js +83 -0
  394. package/dependencies/src/keccak-1.0.2/lib/api/shake.js +74 -0
  395. package/dependencies/src/keccak-1.0.2/lib/keccak-state.js +187 -0
  396. package/dependencies/src/keccak-1.0.2/lib/keccak.js +69 -0
  397. package/dependencies/src/md5.js-1.3.5/index.js +146 -0
  398. package/dependencies/src/merkle-lib-2.0.10/fastRoot.js +24 -0
  399. package/dependencies/src/merkle-lib-2.0.10/index.js +34 -0
  400. package/dependencies/src/minimalistic-assert-1.0.1/index.js +11 -0
  401. package/dependencies/src/minimalistic-crypto-utils-1.0.1/lib/utils.js +58 -0
  402. package/dependencies/src/ms-2.1.2/index.js +162 -0
  403. package/dependencies/src/nan-2.14.0/include_dirs.js +1 -0
  404. package/dependencies/src/nanoassert-1.1.0/index.js +22 -0
  405. package/dependencies/src/pako-2.0.3/index.js +18 -0
  406. package/dependencies/src/pako-2.0.3/lib/deflate.js +373 -0
  407. package/dependencies/src/pako-2.0.3/lib/inflate.js +402 -0
  408. package/dependencies/src/pako-2.0.3/lib/utils/common.js +48 -0
  409. package/dependencies/src/pako-2.0.3/lib/utils/strings.js +187 -0
  410. package/dependencies/src/pako-2.0.3/lib/zlib/adler32.js +50 -0
  411. package/dependencies/src/pako-2.0.3/lib/zlib/constants.js +66 -0
  412. package/dependencies/src/pako-2.0.3/lib/zlib/crc32.js +58 -0
  413. package/dependencies/src/pako-2.0.3/lib/zlib/deflate.js +1849 -0
  414. package/dependencies/src/pako-2.0.3/lib/zlib/gzheader.js +58 -0
  415. package/dependencies/src/pako-2.0.3/lib/zlib/inffast.js +347 -0
  416. package/dependencies/src/pako-2.0.3/lib/zlib/inflate.js +1625 -0
  417. package/dependencies/src/pako-2.0.3/lib/zlib/inftrees.js +462 -0
  418. package/dependencies/src/pako-2.0.3/lib/zlib/messages.js +32 -0
  419. package/dependencies/src/pako-2.0.3/lib/zlib/trees.js +1192 -0
  420. package/dependencies/src/pako-2.0.3/lib/zlib/zstream.js +47 -0
  421. package/dependencies/src/pbkdf2-3.0.17/bench/index.js +35 -0
  422. package/dependencies/src/pbkdf2-3.0.17/bench/old.js +47 -0
  423. package/dependencies/src/pbkdf2-3.0.17/browser.js +2 -0
  424. package/dependencies/src/pbkdf2-3.0.17/index.js +31 -0
  425. package/dependencies/src/pbkdf2-3.0.17/lib/async.js +100 -0
  426. package/dependencies/src/pbkdf2-3.0.17/lib/default-encoding.js +10 -0
  427. package/dependencies/src/pbkdf2-3.0.17/lib/precondition.js +28 -0
  428. package/dependencies/src/pbkdf2-3.0.17/lib/sync-browser.js +104 -0
  429. package/dependencies/src/pbkdf2-3.0.17/lib/sync.js +51 -0
  430. package/dependencies/src/punycode-2.1.1/punycode.js +429 -0
  431. package/dependencies/src/pushdata-bitcoin-1.0.1/index.js +77 -0
  432. package/dependencies/src/randombytes-2.1.0/browser.js +50 -0
  433. package/dependencies/src/randombytes-2.1.0/index.js +1 -0
  434. package/dependencies/src/ripemd160-2.0.2/index.js +163 -0
  435. package/dependencies/src/rlp-2.2.3/index.js +230 -0
  436. package/dependencies/src/safe-buffer-5.2.0/index.js +64 -0
  437. package/dependencies/src/secp256k1-3.7.1/elliptic.js +2 -0
  438. package/dependencies/src/secp256k1-3.7.1/lib/assert.js +44 -0
  439. package/dependencies/src/secp256k1-3.7.1/lib/der.js +193 -0
  440. package/dependencies/src/secp256k1-3.7.1/lib/elliptic/index.js +263 -0
  441. package/dependencies/src/secp256k1-3.7.1/lib/index.js +245 -0
  442. package/dependencies/src/secp256k1-3.7.1/lib/messages.json +37 -0
  443. package/dependencies/src/secp256k1-4.0.2/elliptic.js +1 -0
  444. package/dependencies/src/secp256k1-4.0.2/lib/elliptic.js +402 -0
  445. package/dependencies/src/secp256k1-4.0.2/lib/index.js +336 -0
  446. package/dependencies/src/sha.js-2.4.11/hash.js +81 -0
  447. package/dependencies/src/sha.js-2.4.11/index.js +16 -0
  448. package/dependencies/src/sha.js-2.4.11/sha.js +94 -0
  449. package/dependencies/src/sha.js-2.4.11/sha1.js +99 -0
  450. package/dependencies/src/sha.js-2.4.11/sha224.js +53 -0
  451. package/dependencies/src/sha.js-2.4.11/sha256.js +135 -0
  452. package/dependencies/src/sha.js-2.4.11/sha384.js +57 -0
  453. package/dependencies/src/sha.js-2.4.11/sha512.js +260 -0
  454. package/dependencies/src/strip-hex-prefix-1.0.0/src/index.js +14 -0
  455. package/dependencies/src/tiny-secp256k1-1.1.3/js.js +276 -0
  456. package/dependencies/src/tiny-secp256k1-1.1.3/rfc6979.js +62 -0
  457. package/dependencies/src/tweetnacl-1.0.1/nacl.d.ts +98 -0
  458. package/dependencies/src/tweetnacl-1.0.1/nacl.js +1164 -0
  459. package/dependencies/src/tweetnacl-auth-1.0.1/nacl-auth.js +47 -0
  460. package/dependencies/src/typedarray-to-buffer-4.0.0/index.js +17 -0
  461. package/dependencies/src/typeforce-1.18.0/errors.js +110 -0
  462. package/dependencies/src/typeforce-1.18.0/extra.js +91 -0
  463. package/dependencies/src/typeforce-1.18.0/index.js +260 -0
  464. package/dependencies/src/typeforce-1.18.0/native.js +21 -0
  465. package/dependencies/src/unorm-1.6.0/lib/unorm.js +452 -0
  466. package/dependencies/src/utf8-3.0.0/utf8.js +202 -0
  467. package/dependencies/src/validate.js-0.13.1/validate.d.ts +55 -0
  468. package/dependencies/src/validate.js-0.13.1/validate.js +1253 -0
  469. package/dependencies/src/varuint-bitcoin-1.1.2/index.d.ts +13 -0
  470. package/dependencies/src/varuint-bitcoin-1.1.2/index.js +90 -0
  471. package/dependencies/src/wif-2.0.6/index.js +63 -0
  472. package/dependencies/src/xxhashjs-0.2.2/lib/index.js +4 -0
  473. package/dependencies/src/xxhashjs-0.2.2/lib/xxhash.js +389 -0
  474. package/dependencies/src/xxhashjs-0.2.2/lib/xxhash64.js +444 -0
  475. package/errors/coinlib-error.d.ts +30 -0
  476. package/errors/coinlib-error.js +62 -0
  477. package/errors/coinlib-error.js.map +1 -0
  478. package/errors/index.d.ts +156 -0
  479. package/errors/index.js +281 -0
  480. package/errors/index.js.map +1 -0
  481. package/errors/network.d.ts +0 -0
  482. package/errors/network.js +2 -0
  483. package/errors/network.js.map +1 -0
  484. package/index.d.ts +33 -0
  485. package/index.js +58 -0
  486. package/index.js.map +1 -0
  487. package/interfaces/IAirGapAddress.d.ts +10 -0
  488. package/interfaces/IAirGapAddress.js +3 -0
  489. package/interfaces/IAirGapAddress.js.map +1 -0
  490. package/interfaces/IAirGapSignedTransaction.d.ts +1 -0
  491. package/interfaces/IAirGapSignedTransaction.js +3 -0
  492. package/interfaces/IAirGapSignedTransaction.js.map +1 -0
  493. package/interfaces/IAirGapTransaction.d.ts +53 -0
  494. package/interfaces/IAirGapTransaction.js +22 -0
  495. package/interfaces/IAirGapTransaction.js.map +1 -0
  496. package/interfaces/IAirGapWallet.d.ts +6 -0
  497. package/interfaces/IAirGapWallet.js +3 -0
  498. package/interfaces/IAirGapWallet.js.map +1 -0
  499. package/interfaces/JSONConvertible.d.ts +3 -0
  500. package/interfaces/JSONConvertible.js +3 -0
  501. package/interfaces/JSONConvertible.js.map +1 -0
  502. package/interfaces/RPCConvertible.d.ts +3 -0
  503. package/interfaces/RPCConvertible.js +3 -0
  504. package/interfaces/RPCConvertible.js.map +1 -0
  505. package/networks.d.ts +19 -0
  506. package/networks.js +1341 -0
  507. package/networks.js.map +1 -0
  508. package/package.json +1 -5
  509. package/protocols/BlockExplorerProtocol.d.ts +6 -0
  510. package/protocols/BlockExplorerProtocol.js +60 -0
  511. package/protocols/BlockExplorerProtocol.js.map +1 -0
  512. package/protocols/CryptoClient.d.ts +15 -0
  513. package/protocols/CryptoClient.js +84 -0
  514. package/protocols/CryptoClient.js.map +1 -0
  515. package/protocols/Ed25519CryptoClient.d.ts +8 -0
  516. package/protocols/Ed25519CryptoClient.js +107 -0
  517. package/protocols/Ed25519CryptoClient.js.map +1 -0
  518. package/protocols/HasConfigurableContract.d.ts +4 -0
  519. package/protocols/HasConfigurableContract.js +3 -0
  520. package/protocols/HasConfigurableContract.js.map +1 -0
  521. package/protocols/ICoinBaseProtocol.d.ts +107 -0
  522. package/protocols/ICoinBaseProtocol.js +3 -0
  523. package/protocols/ICoinBaseProtocol.js.map +1 -0
  524. package/protocols/ICoinDelegateProtocol.d.ts +40 -0
  525. package/protocols/ICoinDelegateProtocol.js +3 -0
  526. package/protocols/ICoinDelegateProtocol.js.map +1 -0
  527. package/protocols/ICoinOfflineProtocol.d.ts +24 -0
  528. package/protocols/ICoinOfflineProtocol.js +3 -0
  529. package/protocols/ICoinOfflineProtocol.js.map +1 -0
  530. package/protocols/ICoinOnlineProtocol.d.ts +46 -0
  531. package/protocols/ICoinOnlineProtocol.js +3 -0
  532. package/protocols/ICoinOnlineProtocol.js.map +1 -0
  533. package/protocols/ICoinProtocol.d.ts +9 -0
  534. package/protocols/ICoinProtocol.js +3 -0
  535. package/protocols/ICoinProtocol.js.map +1 -0
  536. package/protocols/ICoinSubProtocol.d.ts +22 -0
  537. package/protocols/ICoinSubProtocol.js +9 -0
  538. package/protocols/ICoinSubProtocol.js.map +1 -0
  539. package/protocols/NonExtendedProtocol.d.ts +17 -0
  540. package/protocols/NonExtendedProtocol.js +49 -0
  541. package/protocols/NonExtendedProtocol.js.map +1 -0
  542. package/protocols/Secp256k1CryptoClient.d.ts +8 -0
  543. package/protocols/Secp256k1CryptoClient.js +79 -0
  544. package/protocols/Secp256k1CryptoClient.js.map +1 -0
  545. package/protocols/Sr25519CryptoClient.d.ts +8 -0
  546. package/protocols/Sr25519CryptoClient.js +82 -0
  547. package/protocols/Sr25519CryptoClient.js.map +1 -0
  548. package/types/signed-transaction.d.ts +4 -0
  549. package/types/signed-transaction.js +3 -0
  550. package/types/signed-transaction.js.map +1 -0
  551. package/types/unsigned-transaction.d.ts +5 -0
  552. package/types/unsigned-transaction.js +3 -0
  553. package/types/unsigned-transaction.js.map +1 -0
  554. package/utils/AES.d.ts +10 -0
  555. package/utils/AES.js +165 -0
  556. package/utils/AES.js.map +1 -0
  557. package/utils/ErrorWithData.d.ts +4 -0
  558. package/utils/ErrorWithData.js +29 -0
  559. package/utils/ErrorWithData.js.map +1 -0
  560. package/utils/Network.d.ts +2 -0
  561. package/utils/Network.js +8 -0
  562. package/utils/Network.js.map +1 -0
  563. package/utils/ProtocolBlockExplorer.d.ts +6 -0
  564. package/utils/ProtocolBlockExplorer.js +11 -0
  565. package/utils/ProtocolBlockExplorer.js.map +1 -0
  566. package/utils/ProtocolNetwork.d.ts +15 -0
  567. package/utils/ProtocolNetwork.js +35 -0
  568. package/utils/ProtocolNetwork.js.map +1 -0
  569. package/utils/ProtocolOptions.d.ts +5 -0
  570. package/utils/ProtocolOptions.js +3 -0
  571. package/utils/ProtocolOptions.js.map +1 -0
  572. package/utils/ProtocolSymbols.d.ts +45 -0
  573. package/utils/ProtocolSymbols.js +59 -0
  574. package/utils/ProtocolSymbols.js.map +1 -0
  575. package/utils/array.d.ts +4 -0
  576. package/utils/array.js +36 -0
  577. package/utils/array.js.map +1 -0
  578. package/utils/assert.d.ts +2 -0
  579. package/utils/assert.js +20 -0
  580. package/utils/assert.js.map +1 -0
  581. package/utils/base64Check.d.ts +7 -0
  582. package/utils/base64Check.js +39 -0
  583. package/utils/base64Check.js.map +1 -0
  584. package/utils/blake2b.d.ts +7 -0
  585. package/utils/blake2b.js +23 -0
  586. package/utils/blake2b.js.map +1 -0
  587. package/utils/buffer.d.ts +2 -0
  588. package/utils/buffer.js +8 -0
  589. package/utils/buffer.js.map +1 -0
  590. package/utils/cache.d.ts +15 -0
  591. package/utils/cache.js +97 -0
  592. package/utils/cache.js.map +1 -0
  593. package/utils/error.d.ts +1 -0
  594. package/utils/error.js +8 -0
  595. package/utils/error.js.map +1 -0
  596. package/utils/hex.d.ts +14 -0
  597. package/utils/hex.js +112 -0
  598. package/utils/hex.js.map +1 -0
  599. package/utils/interfaces.d.ts +3 -0
  600. package/utils/interfaces.js +18 -0
  601. package/utils/interfaces.js.map +1 -0
  602. package/utils/object.d.ts +1 -0
  603. package/utils/object.js +23 -0
  604. package/utils/object.js.map +1 -0
  605. package/utils/padStart.d.ts +1 -0
  606. package/utils/padStart.js +20 -0
  607. package/utils/padStart.js.map +1 -0
  608. package/utils/remote-data/HttpRemoteData.d.ts +8 -0
  609. package/utils/remote-data/HttpRemoteData.js +117 -0
  610. package/utils/remote-data/HttpRemoteData.js.map +1 -0
  611. package/utils/remote-data/IpfsRemoteData.d.ts +8 -0
  612. package/utils/remote-data/IpfsRemoteData.js +142 -0
  613. package/utils/remote-data/IpfsRemoteData.js.map +1 -0
  614. package/utils/remote-data/RemoteData.d.ts +11 -0
  615. package/utils/remote-data/RemoteData.js +11 -0
  616. package/utils/remote-data/RemoteData.js.map +1 -0
  617. package/utils/remote-data/RemoteDataFactory.d.ts +11 -0
  618. package/utils/remote-data/RemoteDataFactory.js +29 -0
  619. package/utils/remote-data/RemoteDataFactory.js.map +1 -0
  620. package/utils/remote-data/Sha256RemoteData.d.ts +11 -0
  621. package/utils/remote-data/Sha256RemoteData.js +139 -0
  622. package/utils/remote-data/Sha256RemoteData.js.map +1 -0
  623. package/utils/string.d.ts +7 -0
  624. package/utils/string.js +50 -0
  625. package/utils/string.js.map +1 -0
  626. package/utils/type.d.ts +1 -0
  627. package/utils/type.js +16 -0
  628. package/utils/type.js.map +1 -0
  629. package/utils/xxhash.d.ts +5 -0
  630. package/utils/xxhash.js +18 -0
  631. package/utils/xxhash.js.map +1 -0
  632. package/wallet/AirGapCoinWallet.d.ts +19 -0
  633. package/wallet/AirGapCoinWallet.js +199 -0
  634. package/wallet/AirGapCoinWallet.js.map +1 -0
  635. package/wallet/AirGapMarketWallet.d.ts +40 -0
  636. package/wallet/AirGapMarketWallet.js +221 -0
  637. package/wallet/AirGapMarketWallet.js.map +1 -0
  638. package/wallet/AirGapNFTWallet.d.ts +15 -0
  639. package/wallet/AirGapNFTWallet.js +179 -0
  640. package/wallet/AirGapNFTWallet.js.map +1 -0
  641. package/wallet/AirGapWallet.d.ts +35 -0
  642. package/wallet/AirGapWallet.js +142 -0
  643. package/wallet/AirGapWallet.js.map +1 -0
@@ -0,0 +1,155 @@
1
+ var baddress = require('./address')
2
+ var bcrypto = require('./crypto')
3
+ var ecdsa = require('./ecdsa')
4
+ var randomBytes = require('../../randombytes-2.1.0/browser')
5
+ var typeforce = require('../../typeforce-1.18.0/index')
6
+ var types = require('./types')
7
+ var wif = require('../../wif-2.0.6/index')
8
+
9
+ var NETWORKS = require('./networks')
10
+ var BigInteger = require('../../bigi-1.4.2/lib/index')
11
+
12
+ var ecurve = require('../../ecurve-1.0.6/lib/index')
13
+ var secp256k1 = ecdsa.__curve
14
+
15
+ var fastcurve = require('./fastcurve')
16
+
17
+ function ECPair (d, Q, options) {
18
+ if (options) {
19
+ typeforce({
20
+ compressed: types.maybe(types.Boolean),
21
+ network: types.maybe(types.Network)
22
+ }, options)
23
+ }
24
+
25
+ options = options || {}
26
+
27
+ if (d) {
28
+ if (d.signum() <= 0) throw new Error('Private key must be greater than 0')
29
+ if (d.compareTo(secp256k1.n) >= 0) throw new Error('Private key must be less than the curve order')
30
+ if (Q) throw new TypeError('Unexpected publicKey parameter')
31
+
32
+ this.d = d
33
+ } else {
34
+ typeforce(types.ECPoint, Q)
35
+
36
+ this.__Q = Q
37
+ }
38
+
39
+ this.compressed = options.compressed === undefined ? true : options.compressed
40
+ this.network = options.network || NETWORKS.bitcoin
41
+ }
42
+
43
+ Object.defineProperty(ECPair.prototype, 'Q', {
44
+ get: function () {
45
+ if (!this.__Q && this.d) {
46
+ this.__Q = secp256k1.G.multiply(this.d)
47
+ }
48
+
49
+ return this.__Q
50
+ }
51
+ })
52
+
53
+ ECPair.fromPublicKeyBuffer = function (buffer, network) {
54
+ var Q = ecurve.Point.decodeFrom(secp256k1, buffer)
55
+
56
+ return new ECPair(null, Q, {
57
+ compressed: Q.compressed,
58
+ network: network
59
+ })
60
+ }
61
+
62
+ ECPair.fromWIF = function (string, network) {
63
+ var decoded = wif.decode(string)
64
+ var version = decoded.version
65
+
66
+ // list of networks?
67
+ if (types.Array(network)) {
68
+ network = network.filter(function (x) {
69
+ return version === x.wif
70
+ }).pop() // We should not use pop since it depends on the order of the networks for the same wif
71
+
72
+ if (!network) throw new Error('Unknown network version')
73
+
74
+ // otherwise, assume a network object (or default to bitcoin)
75
+ } else {
76
+ network = network || NETWORKS.bitcoin
77
+
78
+ if (version !== network.wif) throw new Error('Invalid network version')
79
+ }
80
+
81
+ var d = BigInteger.fromBuffer(decoded.privateKey)
82
+
83
+ return new ECPair(d, null, {
84
+ compressed: decoded.compressed,
85
+ network: network
86
+ })
87
+ }
88
+
89
+ ECPair.makeRandom = function (options) {
90
+ options = options || {}
91
+
92
+ var rng = options.rng || randomBytes
93
+
94
+ var d
95
+ do {
96
+ var buffer = rng(32)
97
+ typeforce(types.Buffer256bit, buffer)
98
+
99
+ d = BigInteger.fromBuffer(buffer)
100
+ } while (d.signum() <= 0 || d.compareTo(secp256k1.n) >= 0)
101
+
102
+ return new ECPair(d, null, options)
103
+ }
104
+
105
+ ECPair.prototype.getAddress = function () {
106
+ return baddress.toBase58Check(bcrypto.hash160(this.getPublicKeyBuffer()), this.getNetwork().pubKeyHash, this.network)
107
+ }
108
+
109
+ ECPair.prototype.getNetwork = function () {
110
+ return this.network
111
+ }
112
+
113
+ ECPair.prototype.getPublicKeyBuffer = function () {
114
+ return this.Q.getEncoded(this.compressed)
115
+ }
116
+
117
+ /**
118
+ * Get the private key as a 32 bytes buffer. If it is smaller than 32 bytes, pad it with zeros
119
+ * @return Buffer
120
+ */
121
+ ECPair.prototype.getPrivateKeyBuffer = function () {
122
+ if (!this.d) throw new Error('Missing private key')
123
+
124
+ var bigIntBuffer = this.d.toBuffer()
125
+ if (bigIntBuffer.length > 32) throw new Error('Private key size exceeds 32 bytes')
126
+
127
+ if (bigIntBuffer.length === 32) {
128
+ return bigIntBuffer
129
+ }
130
+ var newBuffer = Buffer.alloc(32)
131
+ bigIntBuffer.copy(newBuffer, newBuffer.length - bigIntBuffer.length, 0, bigIntBuffer.length)
132
+ return newBuffer
133
+ }
134
+
135
+ ECPair.prototype.sign = function (hash) {
136
+ if (!this.d) throw new Error('Missing private key')
137
+
138
+ var sig = fastcurve.sign(hash, this.d)
139
+ if (sig !== undefined) return sig
140
+ return ecdsa.sign(hash, this.d)
141
+ }
142
+
143
+ ECPair.prototype.toWIF = function () {
144
+ if (!this.d) throw new Error('Missing private key')
145
+
146
+ return wif.encode(this.network.wif, this.d.toBuffer(32), this.compressed)
147
+ }
148
+
149
+ ECPair.prototype.verify = function (hash, signature) {
150
+ var fastsig = fastcurve.verify(hash, signature, this.getPublicKeyBuffer())
151
+ if (fastsig !== undefined) return fastsig
152
+ return ecdsa.verify(hash, signature, this.Q)
153
+ }
154
+
155
+ module.exports = ECPair
@@ -0,0 +1,97 @@
1
+ var bip66 = require('../../bip66-1.1.5/index')
2
+ var typeforce = require('../../typeforce-1.18.0/index')
3
+ var types = require('./types')
4
+
5
+ var BigInteger = require('../../bigi-1.4.2/lib/index')
6
+
7
+ function ECSignature (r, s) {
8
+ typeforce(types.tuple(types.BigInt, types.BigInt), arguments)
9
+
10
+ this.r = r
11
+ this.s = s
12
+ }
13
+
14
+ ECSignature.parseCompact = function (buffer) {
15
+ typeforce(types.BufferN(65), buffer)
16
+
17
+ var flagByte = buffer.readUInt8(0) - 27
18
+ if (flagByte !== (flagByte & 7)) throw new Error('Invalid signature parameter')
19
+
20
+ var compressed = !!(flagByte & 4)
21
+ var recoveryParam = flagByte & 3
22
+ var signature = ECSignature.fromRSBuffer(buffer.slice(1))
23
+
24
+ return {
25
+ compressed: compressed,
26
+ i: recoveryParam,
27
+ signature: signature
28
+ }
29
+ }
30
+
31
+ ECSignature.fromRSBuffer = function (buffer) {
32
+ typeforce(types.BufferN(64), buffer)
33
+
34
+ var r = BigInteger.fromBuffer(buffer.slice(0, 32))
35
+ var s = BigInteger.fromBuffer(buffer.slice(32, 64))
36
+ return new ECSignature(r, s)
37
+ }
38
+
39
+ ECSignature.fromDER = function (buffer) {
40
+ var decode = bip66.decode(buffer)
41
+ var r = BigInteger.fromDERInteger(decode.r)
42
+ var s = BigInteger.fromDERInteger(decode.s)
43
+
44
+ return new ECSignature(r, s)
45
+ }
46
+
47
+ // BIP62: 1 byte hashType flag (only 0x01, 0x02, 0x03, 0x81, 0x82 and 0x83 are allowed)
48
+ ECSignature.parseScriptSignature = function (buffer) {
49
+ var hashType = buffer.readUInt8(buffer.length - 1)
50
+ var hashTypeMod = hashType & ~0xc0
51
+
52
+ if (hashTypeMod <= 0x00 || hashTypeMod >= 0x04) throw new Error('Invalid hashType ' + hashType)
53
+
54
+ return {
55
+ signature: ECSignature.fromDER(buffer.slice(0, -1)),
56
+ hashType: hashType
57
+ }
58
+ }
59
+
60
+ ECSignature.prototype.toCompact = function (i, compressed) {
61
+ if (compressed) {
62
+ i += 4
63
+ }
64
+
65
+ i += 27
66
+
67
+ var buffer = Buffer.alloc(65)
68
+ buffer.writeUInt8(i, 0)
69
+ this.toRSBuffer(buffer, 1)
70
+ return buffer
71
+ }
72
+
73
+ ECSignature.prototype.toDER = function () {
74
+ var r = Buffer.from(this.r.toDERInteger())
75
+ var s = Buffer.from(this.s.toDERInteger())
76
+
77
+ return bip66.encode(r, s)
78
+ }
79
+
80
+ ECSignature.prototype.toRSBuffer = function (buffer, offset) {
81
+ buffer = buffer || Buffer.alloc(64)
82
+ this.r.toBuffer(32).copy(buffer, offset)
83
+ this.s.toBuffer(32).copy(buffer, offset + 32)
84
+ return buffer
85
+ }
86
+
87
+ ECSignature.prototype.toScriptSignature = function (hashType) {
88
+ var hashTypeMod = hashType & ~0xc0
89
+ if (hashTypeMod <= 0 || hashTypeMod >= 4) throw new Error('Invalid hashType ' + hashType)
90
+
91
+ var hashTypeBuffer = Buffer.alloc(1)
92
+ hashTypeBuffer.writeUInt8(hashType, 0)
93
+
94
+ return Buffer.concat([this.toDER(), hashTypeBuffer])
95
+ }
96
+
97
+ module.exports = ECSignature
@@ -0,0 +1,92 @@
1
+ var typeforce = require('../../typeforce-1.18.0/index')
2
+
3
+ var ECSignature = require('./ecsignature')
4
+ var types = require('./types')
5
+
6
+ var secp256k1
7
+ var available = false
8
+ try {
9
+ // secp256k1 is an optional native module used for accelerating
10
+ // low-level elliptic curve operations. It's nice to have, but
11
+ // we can live without it too
12
+ secp256k1 = require('../../secp256k1-3.7.1/elliptic')
13
+ available = true
14
+ } catch (e) {
15
+ // secp256k1 is not available, this is alright
16
+ }
17
+
18
+ /**
19
+ * Derive a public key from a 32 byte private key buffer.
20
+ *
21
+ * Uses secp256k1 for acceleration. If secp256k1 is not available,
22
+ * this function returns undefined.
23
+ *
24
+ * @param buffer {Buffer} Private key buffer
25
+ * @param compressed {Boolean} Whether the public key should be compressed
26
+ * @return {undefined}
27
+ */
28
+ var publicKeyCreate = function (buffer, compressed) {
29
+ typeforce(types.tuple(types.Buffer256bit, types.Boolean), arguments)
30
+
31
+ if (!available) {
32
+ return undefined
33
+ }
34
+
35
+ return secp256k1.publicKeyCreate(buffer, compressed)
36
+ }
37
+
38
+ /**
39
+ * Create an ECDSA signature over the given message hash `hash` with
40
+ * the private key `d`.
41
+ *
42
+ * Uses secp256k1 for acceleration. If secp256k1 is not available,
43
+ * this function returns undefined.
44
+ * @param hash {Buffer} hash of the message which is to be signed
45
+ * @param d {BigInteger} private key which is to be used for signing
46
+ * @return {ECSignature}
47
+ */
48
+ var sign = function (hash, d) {
49
+ typeforce(types.tuple(types.Buffer256bit, types.BigInt), arguments)
50
+
51
+ if (!available) {
52
+ return undefined
53
+ }
54
+
55
+ var sig = secp256k1.sign(hash, d.toBuffer(32)).signature
56
+ return ECSignature.fromDER(secp256k1.signatureExport(sig))
57
+ }
58
+
59
+ /**
60
+ * Verify an ECDSA signature over the given message hash `hash` with signature `sig`
61
+ * and public key `pubkey`.
62
+ *
63
+ * Uses secp256k1 for acceleration. If secp256k1 is not available,
64
+ * this function returns undefined.
65
+ * @param hash {Buffer} hash of the message which is to be verified
66
+ * @param sig {ECSignature} signature which is to be verified
67
+ * @param pubkey {Buffer} public key which will be used to verify the message signature
68
+ * @return {Boolean}
69
+ */
70
+ var verify = function (hash, sig, pubkey) {
71
+ typeforce(types.tuple(
72
+ types.Hash256bit,
73
+ types.ECSignature,
74
+ // both compressed and uncompressed public keys are fine
75
+ types.oneOf(types.BufferN(33), types.BufferN(65))),
76
+ arguments)
77
+
78
+ if (!available) {
79
+ return undefined
80
+ }
81
+
82
+ sig = new ECSignature(sig.r, sig.s)
83
+ sig = secp256k1.signatureNormalize(secp256k1.signatureImport(sig.toDER()))
84
+ return secp256k1.verify(hash, sig, pubkey)
85
+ }
86
+
87
+ module.exports = {
88
+ available: available,
89
+ publicKeyCreate: publicKeyCreate,
90
+ sign: sign,
91
+ verify: verify
92
+ }
@@ -0,0 +1,363 @@
1
+ var Buffer = require('../../safe-buffer-5.2.0/index').Buffer
2
+ var base58check = require('../../bs58check-2.1.2/index')
3
+ var bcrypto = require('./crypto')
4
+ var createHmac = require('../../create-hmac-1.1.4/browser')
5
+ var typeforce = require('../../typeforce-1.18.0/index')
6
+ var types = require('./types')
7
+ var NETWORKS = require('./networks')
8
+
9
+ var BigInteger = require('../../bigi-1.4.2/lib/index')
10
+ var ECPair = require('./ecpair')
11
+
12
+ var ecurve = require('../../ecurve-1.0.6/lib/index')
13
+ var curve = ecurve.getCurveByName('secp256k1')
14
+
15
+ var bs58checkBase = require('../../bs58check-2.1.2/base')
16
+
17
+ var fastcurve = require('./fastcurve')
18
+
19
+ function HDNode (keyPair, chainCode) {
20
+ typeforce(types.tuple('ECPair', types.Buffer256bit), arguments)
21
+
22
+ if (!keyPair.compressed) throw new TypeError('BIP32 only allows compressed keyPairs')
23
+
24
+ this.keyPair = keyPair
25
+ this.chainCode = chainCode
26
+ this.depth = 0
27
+ this.index = 0
28
+ this.parentFingerprint = 0x00000000
29
+ this.derivationCache = {}
30
+ }
31
+
32
+ HDNode.HIGHEST_BIT = 0x80000000
33
+ HDNode.LENGTH = 78
34
+ HDNode.MASTER_SECRET = Buffer.from('Bitcoin seed', 'utf8')
35
+
36
+ HDNode.fromSeedBuffer = function (seed, network) {
37
+ typeforce(types.tuple(types.Buffer, types.maybe(types.Network)), arguments)
38
+
39
+ if (seed.length < 16) throw new TypeError('Seed should be at least 128 bits')
40
+ if (seed.length > 64) throw new TypeError('Seed should be at most 512 bits')
41
+
42
+ var I = createHmac('sha512', HDNode.MASTER_SECRET).update(seed).digest()
43
+ var IL = I.slice(0, 32)
44
+ var IR = I.slice(32)
45
+
46
+ // In case IL is 0 or >= n, the master key is invalid
47
+ // This is handled by the ECPair constructor
48
+ var pIL = BigInteger.fromBuffer(IL)
49
+ var keyPair = new ECPair(pIL, null, {
50
+ network: network
51
+ })
52
+
53
+ return new HDNode(keyPair, IR)
54
+ }
55
+
56
+ HDNode.fromSeedHex = function (hex, network) {
57
+ return HDNode.fromSeedBuffer(Buffer.from(hex, 'hex'), network)
58
+ }
59
+
60
+ HDNode.fromBase58 = function (string, networks) {
61
+ if (Array.isArray(networks)) {
62
+ networks = networks[0] || NETWORKS.bitcoin
63
+ }
64
+ var buffer = bs58checkBase(networks.hashFunctions.address).decode(string)
65
+ if (buffer.length !== 78) throw new Error('Invalid buffer length')
66
+
67
+ // 4 bytes: version bytes
68
+ var version = buffer.readUInt32BE(0)
69
+ var network
70
+
71
+ // list of networks?
72
+ if (Array.isArray(networks)) {
73
+ network = networks.filter(function (x) {
74
+ return version === x.bip32.private ||
75
+ version === x.bip32.public
76
+ }).pop()
77
+
78
+ if (!network) throw new Error('Unknown network version')
79
+
80
+ // otherwise, assume a network object (or default to bitcoin)
81
+ } else {
82
+ network = networks || NETWORKS.bitcoin
83
+ }
84
+
85
+ if (version !== network.bip32.private &&
86
+ version !== network.bip32.public) throw new Error('Invalid network version')
87
+
88
+ // 1 byte: depth: 0x00 for master nodes, 0x01 for level-1 descendants, ...
89
+ var depth = buffer[4]
90
+
91
+ // 4 bytes: the fingerprint of the parent's key (0x00000000 if master key)
92
+ var parentFingerprint = buffer.readUInt32BE(5)
93
+ if (depth === 0) {
94
+ if (parentFingerprint !== 0x00000000) throw new Error('Invalid parent fingerprint')
95
+ }
96
+
97
+ // 4 bytes: child number. This is the number i in xi = xpar/i, with xi the key being serialized.
98
+ // This is encoded in MSB order. (0x00000000 if master key)
99
+ var index = buffer.readUInt32BE(9)
100
+ if (depth === 0 && index !== 0) throw new Error('Invalid index')
101
+
102
+ // 32 bytes: the chain code
103
+ var chainCode = buffer.slice(13, 45)
104
+ var keyPair
105
+
106
+ // 33 bytes: private key data (0x00 + k)
107
+ if (version === network.bip32.private) {
108
+ if (buffer.readUInt8(45) !== 0x00) throw new Error('Invalid private key')
109
+
110
+ var d = BigInteger.fromBuffer(buffer.slice(46, 78))
111
+ keyPair = new ECPair(d, null, { network: network })
112
+
113
+ // 33 bytes: public key data (0x02 + X or 0x03 + X)
114
+ } else {
115
+ var Q = ecurve.Point.decodeFrom(curve, buffer.slice(45, 78))
116
+ // Q.compressed is assumed, if somehow this assumption is broken, `new HDNode` will throw
117
+
118
+ // Verify that the X coordinate in the public point corresponds to a point on the curve.
119
+ // If not, the extended public key is invalid.
120
+ curve.validate(Q)
121
+
122
+ keyPair = new ECPair(null, Q, { network: network })
123
+ }
124
+
125
+ var hd = new HDNode(keyPair, chainCode)
126
+ hd.depth = depth
127
+ hd.index = index
128
+ hd.parentFingerprint = parentFingerprint
129
+
130
+ return hd
131
+ }
132
+
133
+ HDNode.prototype.getAddress = function () {
134
+ return this.keyPair.getAddress()
135
+ }
136
+
137
+ HDNode.prototype.getIdentifier = function () {
138
+ return bcrypto.hash160(this.keyPair.getPublicKeyBuffer())
139
+ }
140
+
141
+ HDNode.prototype.getFingerprint = function () {
142
+ return this.getIdentifier().slice(0, 4)
143
+ }
144
+
145
+ HDNode.prototype.getNetwork = function () {
146
+ return this.keyPair.getNetwork()
147
+ }
148
+
149
+ HDNode.prototype.getPublicKeyBuffer = function () {
150
+ return this.keyPair.getPublicKeyBuffer()
151
+ }
152
+
153
+ HDNode.prototype.neutered = function () {
154
+ var neuteredKeyPair = new ECPair(null, this.keyPair.Q, {
155
+ network: this.keyPair.network
156
+ })
157
+
158
+ var neutered = new HDNode(neuteredKeyPair, this.chainCode)
159
+ neutered.depth = this.depth
160
+ neutered.index = this.index
161
+ neutered.parentFingerprint = this.parentFingerprint
162
+
163
+ return neutered
164
+ }
165
+
166
+ HDNode.prototype.sign = function (hash) {
167
+ return this.keyPair.sign(hash)
168
+ }
169
+
170
+ HDNode.prototype.verify = function (hash, signature) {
171
+ return this.keyPair.verify(hash, signature)
172
+ }
173
+
174
+ HDNode.prototype.toBase58 = function (__isPrivate) {
175
+ if (__isPrivate !== undefined) throw new TypeError('Unsupported argument in 2.0.0')
176
+
177
+ // Version
178
+ var network = this.keyPair.network
179
+ var version = (!this.isNeutered()) ? network.bip32.private : network.bip32.public
180
+ var buffer = Buffer.allocUnsafe(78)
181
+
182
+ // 4 bytes: version bytes
183
+ buffer.writeUInt32BE(version, 0)
184
+
185
+ // 1 byte: depth: 0x00 for master nodes, 0x01 for level-1 descendants, ....
186
+ buffer.writeUInt8(this.depth, 4)
187
+
188
+ // 4 bytes: the fingerprint of the parent's key (0x00000000 if master key)
189
+ buffer.writeUInt32BE(this.parentFingerprint, 5)
190
+
191
+ // 4 bytes: child number. This is the number i in xi = xpar/i, with xi the key being serialized.
192
+ // This is encoded in big endian. (0x00000000 if master key)
193
+ buffer.writeUInt32BE(this.index, 9)
194
+
195
+ // 32 bytes: the chain code
196
+ this.chainCode.copy(buffer, 13)
197
+
198
+ // 33 bytes: the public key or private key data
199
+ if (!this.isNeutered()) {
200
+ // 0x00 + k for private keys
201
+ buffer.writeUInt8(0, 45)
202
+ this.keyPair.d.toBuffer(32).copy(buffer, 46)
203
+
204
+ // 33 bytes: the public key
205
+ } else {
206
+ // X9.62 encoding for public keys
207
+ this.keyPair.getPublicKeyBuffer().copy(buffer, 45)
208
+ }
209
+
210
+ return bs58checkBase(network.hashFunctions.address).encode(buffer)
211
+ }
212
+
213
+ // https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki#child-key-derivation-ckd-functions
214
+ HDNode.prototype.derive = function (index) {
215
+ typeforce(types.UInt32, index)
216
+
217
+ var isHardened = index >= HDNode.HIGHEST_BIT
218
+ var data = Buffer.allocUnsafe(37)
219
+
220
+ // Hardened child
221
+ if (isHardened) {
222
+ if (this.isNeutered()) throw new TypeError('Could not derive hardened child key')
223
+
224
+ // data = 0x00 || ser256(kpar) || ser32(index)
225
+ data[0] = 0x00
226
+ this.keyPair.d.toBuffer(32).copy(data, 1)
227
+ data.writeUInt32BE(index, 33)
228
+
229
+ // Normal child
230
+ } else {
231
+ // data = serP(point(kpar)) || ser32(index)
232
+ // = serP(Kpar) || ser32(index)
233
+ this.keyPair.getPublicKeyBuffer().copy(data, 0)
234
+ data.writeUInt32BE(index, 33)
235
+ }
236
+
237
+ var I = createHmac('sha512', this.chainCode).update(data).digest()
238
+ var IL = I.slice(0, 32)
239
+ var IR = I.slice(32)
240
+
241
+ var pIL = BigInteger.fromBuffer(IL)
242
+
243
+ // In case parse256(IL) >= n, proceed with the next value for i
244
+ if (pIL.compareTo(curve.n) >= 0) {
245
+ return this.derive(index + 1)
246
+ }
247
+
248
+ // Private parent key -> private child key
249
+ var derivedKeyPair
250
+ if (!this.isNeutered()) {
251
+ // ki = parse256(IL) + kpar (mod n)
252
+ var ki = pIL.add(this.keyPair.d).mod(curve.n)
253
+
254
+ // In case ki == 0, proceed with the next value for i
255
+ if (ki.signum() === 0) {
256
+ return this.derive(index + 1)
257
+ }
258
+
259
+ derivedKeyPair = new ECPair(ki, null, {
260
+ network: this.keyPair.network
261
+ })
262
+
263
+ // Public parent key -> public child key
264
+ } else {
265
+ // Ki = point(parse256(IL)) + Kpar
266
+ // = G*IL + Kpar
267
+ var point = fastcurve.publicKeyCreate(IL, false)
268
+ var Ki = point !== undefined
269
+ ? ecurve.Point.decodeFrom(curve, point).add(this.keyPair.Q)
270
+ : curve.G.multiply(pIL).add(this.keyPair.Q)
271
+
272
+ // In case Ki is the point at infinity, proceed with the next value for i
273
+ if (curve.isInfinity(Ki)) {
274
+ return this.derive(index + 1)
275
+ }
276
+
277
+ derivedKeyPair = new ECPair(null, Ki, {
278
+ network: this.keyPair.network
279
+ })
280
+ }
281
+
282
+ var hd = new HDNode(derivedKeyPair, IR)
283
+ hd.depth = this.depth + 1
284
+ hd.index = index
285
+ hd.parentFingerprint = this.getFingerprint().readUInt32BE(0)
286
+
287
+ return hd
288
+ }
289
+
290
+ HDNode.prototype.deriveHardened = function (index) {
291
+ typeforce(types.UInt31, index)
292
+
293
+ // Only derives hardened private keys by default
294
+ return this.derive(index + HDNode.HIGHEST_BIT)
295
+ }
296
+
297
+ // Private === not neutered
298
+ // Public === neutered
299
+ HDNode.prototype.isNeutered = function () {
300
+ return !(this.keyPair.d)
301
+ }
302
+
303
+ HDNode.prototype.derivePath = function (path, cache) {
304
+ typeforce(types.BIP32Path, path)
305
+ typeforce(types.maybe(types.Object), cache)
306
+
307
+ cache = cache || this.derivationCache
308
+
309
+ var splitPath = path.split('/')
310
+ if (splitPath[0] === 'm') {
311
+ if (this.parentFingerprint) {
312
+ throw new Error('Not a master node')
313
+ }
314
+
315
+ splitPath = splitPath.slice(1)
316
+ }
317
+
318
+ return splitPath.reduce(function (prevHd, indexStr) {
319
+ var index
320
+ var cacheObject = cache[indexStr] || {}
321
+ if (cacheObject.node) {
322
+ cache = cacheObject.next
323
+ return cacheObject.node
324
+ }
325
+ if (indexStr.slice(-1) === "'") {
326
+ index = parseInt(indexStr.slice(0, -1), 10)
327
+ cacheObject.node = prevHd.deriveHardened(index)
328
+ } else {
329
+ index = parseInt(indexStr, 10)
330
+ cacheObject.node = prevHd.derive(index)
331
+ }
332
+
333
+ cache[indexStr] = cacheObject
334
+ cacheObject.next = {}
335
+ cache = cacheObject.next
336
+ return cacheObject.node
337
+ }, this)
338
+ }
339
+
340
+ /**
341
+ * Create a new ECPair object from this HDNode's ECPair.
342
+ *
343
+ * Uses secp256k1 if available for accelerated computation of the cloned public key.
344
+ * @return {ECPair}
345
+ */
346
+ HDNode.prototype.cloneKeypair = function () {
347
+ var k = this.keyPair
348
+ var result = new ECPair(k.d, k.d ? null : k.Q, {
349
+ network: k.network,
350
+ compressed: k.compressed
351
+ })
352
+ // Creating Q from d takes ~25ms, so if it's not created, use native bindings to pre-compute
353
+ // if Q is not set here, it will be lazily computed via the slow path
354
+ if (!result.__Q) {
355
+ var point = fastcurve.publicKeyCreate(k.d.toBuffer(32), false)
356
+ if (point !== undefined) {
357
+ result.__Q = ecurve.Point.decodeFrom(curve, point)
358
+ }
359
+ }
360
+ return result
361
+ }
362
+
363
+ module.exports = HDNode