@bitgo-beta/sdk-core 8.2.1-beta.1225 → 8.2.1-beta.1227

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 (604) hide show
  1. package/dist/src/account-lib/baseCoin/baseKeyPair.d.ts +27 -0
  2. package/dist/src/account-lib/baseCoin/baseKeyPair.d.ts.map +1 -0
  3. package/dist/src/account-lib/baseCoin/baseKeyPair.js +3 -0
  4. package/dist/src/account-lib/baseCoin/baseTransaction.d.ts +70 -0
  5. package/dist/src/account-lib/baseCoin/baseTransaction.d.ts.map +1 -0
  6. package/dist/src/account-lib/baseCoin/baseTransaction.js +69 -0
  7. package/dist/src/account-lib/baseCoin/baseTransactionBuilder.d.ts +128 -0
  8. package/dist/src/account-lib/baseCoin/baseTransactionBuilder.d.ts.map +1 -0
  9. package/dist/src/account-lib/baseCoin/baseTransactionBuilder.js +139 -0
  10. package/dist/src/account-lib/baseCoin/baseTransactionBuilderFactory.d.ts +29 -0
  11. package/dist/src/account-lib/baseCoin/baseTransactionBuilderFactory.d.ts.map +1 -0
  12. package/dist/src/account-lib/baseCoin/baseTransactionBuilderFactory.js +19 -0
  13. package/dist/src/account-lib/baseCoin/baseUtils.d.ts +45 -0
  14. package/dist/src/account-lib/baseCoin/baseUtils.d.ts.map +1 -0
  15. package/dist/src/account-lib/baseCoin/baseUtils.js +3 -0
  16. package/dist/src/account-lib/baseCoin/ed25519KeyPair.d.ts +51 -0
  17. package/dist/src/account-lib/baseCoin/ed25519KeyPair.d.ts.map +1 -0
  18. package/dist/src/account-lib/baseCoin/ed25519KeyPair.js +157 -0
  19. package/dist/src/account-lib/baseCoin/enum.d.ts +82 -0
  20. package/dist/src/account-lib/baseCoin/enum.d.ts.map +1 -0
  21. package/dist/src/account-lib/baseCoin/enum.js +137 -0
  22. package/dist/src/account-lib/baseCoin/errors.d.ts +65 -0
  23. package/dist/src/account-lib/baseCoin/errors.d.ts.map +1 -0
  24. package/dist/src/account-lib/baseCoin/errors.js +117 -0
  25. package/dist/src/account-lib/baseCoin/iface.d.ts +141 -0
  26. package/dist/src/account-lib/baseCoin/iface.d.ts.map +1 -0
  27. package/dist/src/account-lib/baseCoin/iface.js +46 -0
  28. package/dist/src/account-lib/baseCoin/index.d.ts +12 -0
  29. package/dist/src/account-lib/baseCoin/index.d.ts.map +1 -0
  30. package/dist/src/account-lib/baseCoin/index.js +35 -0
  31. package/dist/src/account-lib/baseCoin/messages/baseMessage.d.ts +88 -0
  32. package/dist/src/account-lib/baseCoin/messages/baseMessage.d.ts.map +1 -0
  33. package/dist/src/account-lib/baseCoin/messages/baseMessage.js +154 -0
  34. package/dist/src/account-lib/baseCoin/messages/baseMessageBuilder.d.ts +67 -0
  35. package/dist/src/account-lib/baseCoin/messages/baseMessageBuilder.d.ts.map +1 -0
  36. package/dist/src/account-lib/baseCoin/messages/baseMessageBuilder.js +144 -0
  37. package/dist/src/account-lib/baseCoin/messages/baseMessageBuilderFactory.d.ts +33 -0
  38. package/dist/src/account-lib/baseCoin/messages/baseMessageBuilderFactory.d.ts.map +1 -0
  39. package/dist/src/account-lib/baseCoin/messages/baseMessageBuilderFactory.js +45 -0
  40. package/dist/src/account-lib/baseCoin/messages/iface.d.ts +164 -0
  41. package/dist/src/account-lib/baseCoin/messages/iface.d.ts.map +1 -0
  42. package/dist/src/account-lib/baseCoin/messages/iface.js +3 -0
  43. package/dist/src/account-lib/baseCoin/messages/index.d.ts +6 -0
  44. package/dist/src/account-lib/baseCoin/messages/index.d.ts.map +1 -0
  45. package/dist/src/account-lib/baseCoin/messages/index.js +22 -0
  46. package/dist/src/account-lib/baseCoin/messages/simple/index.d.ts +3 -0
  47. package/dist/src/account-lib/baseCoin/messages/simple/index.d.ts.map +1 -0
  48. package/dist/src/account-lib/baseCoin/messages/simple/index.js +19 -0
  49. package/dist/src/account-lib/baseCoin/messages/simple/simpleMessage.d.ts +13 -0
  50. package/dist/src/account-lib/baseCoin/messages/simple/simpleMessage.d.ts.map +1 -0
  51. package/dist/src/account-lib/baseCoin/messages/simple/simpleMessage.js +28 -0
  52. package/dist/src/account-lib/baseCoin/messages/simple/simpleMessageBuilder.d.ts +21 -0
  53. package/dist/src/account-lib/baseCoin/messages/simple/simpleMessageBuilder.d.ts.map +1 -0
  54. package/dist/src/account-lib/baseCoin/messages/simple/simpleMessageBuilder.js +28 -0
  55. package/dist/src/account-lib/baseCoin/secp256k1ExtendedKeyPair.d.ts +53 -0
  56. package/dist/src/account-lib/baseCoin/secp256k1ExtendedKeyPair.d.ts.map +1 -0
  57. package/dist/src/account-lib/baseCoin/secp256k1ExtendedKeyPair.js +135 -0
  58. package/dist/src/account-lib/index.d.ts +8 -0
  59. package/dist/src/account-lib/index.d.ts.map +1 -0
  60. package/dist/src/account-lib/index.js +49 -0
  61. package/dist/src/account-lib/mpc/curves/baseCurve.d.ts +8 -0
  62. package/dist/src/account-lib/mpc/curves/baseCurve.d.ts.map +1 -0
  63. package/dist/src/account-lib/mpc/curves/baseCurve.js +3 -0
  64. package/dist/src/account-lib/mpc/curves/ed25519.d.ts +5 -0
  65. package/dist/src/account-lib/mpc/curves/ed25519.d.ts.map +1 -0
  66. package/dist/src/account-lib/mpc/curves/ed25519.js +9 -0
  67. package/dist/src/account-lib/mpc/curves/index.d.ts +6 -0
  68. package/dist/src/account-lib/mpc/curves/index.d.ts.map +1 -0
  69. package/dist/src/account-lib/mpc/curves/index.js +8 -0
  70. package/dist/src/account-lib/mpc/curves/secp256k1.d.ts +5 -0
  71. package/dist/src/account-lib/mpc/curves/secp256k1.d.ts.map +1 -0
  72. package/dist/src/account-lib/mpc/curves/secp256k1.js +9 -0
  73. package/dist/src/account-lib/mpc/index.d.ts +9 -0
  74. package/dist/src/account-lib/mpc/index.d.ts.map +1 -0
  75. package/dist/src/account-lib/mpc/index.js +34 -0
  76. package/dist/src/account-lib/mpc/shamir.d.ts +6 -0
  77. package/dist/src/account-lib/mpc/shamir.d.ts.map +1 -0
  78. package/dist/src/account-lib/mpc/shamir.js +8 -0
  79. package/dist/src/account-lib/mpc/tss/ecdsa/ecdsa.d.ts +172 -0
  80. package/dist/src/account-lib/mpc/tss/ecdsa/ecdsa.d.ts.map +1 -0
  81. package/dist/src/account-lib/mpc/tss/ecdsa/ecdsa.js +1259 -0
  82. package/dist/src/account-lib/mpc/tss/ecdsa/index.d.ts +5 -0
  83. package/dist/src/account-lib/mpc/tss/ecdsa/index.d.ts.map +1 -0
  84. package/dist/src/account-lib/mpc/tss/ecdsa/index.js +44 -0
  85. package/dist/src/account-lib/mpc/tss/ecdsa/rangeproof.d.ts +11 -0
  86. package/dist/src/account-lib/mpc/tss/ecdsa/rangeproof.d.ts.map +1 -0
  87. package/dist/src/account-lib/mpc/tss/ecdsa/rangeproof.js +19 -0
  88. package/dist/src/account-lib/mpc/tss/ecdsa/types.d.ts +255 -0
  89. package/dist/src/account-lib/mpc/tss/ecdsa/types.d.ts.map +1 -0
  90. package/dist/src/account-lib/mpc/tss/ecdsa/types.js +3 -0
  91. package/dist/src/account-lib/mpc/tss/eddsa/eddsa.d.ts +29 -0
  92. package/dist/src/account-lib/mpc/tss/eddsa/eddsa.d.ts.map +1 -0
  93. package/dist/src/account-lib/mpc/tss/eddsa/eddsa.js +304 -0
  94. package/dist/src/account-lib/mpc/tss/eddsa/index.d.ts +4 -0
  95. package/dist/src/account-lib/mpc/tss/eddsa/index.d.ts.map +1 -0
  96. package/dist/src/account-lib/mpc/tss/eddsa/index.js +44 -0
  97. package/dist/src/account-lib/mpc/tss/eddsa/types.d.ts +73 -0
  98. package/dist/src/account-lib/mpc/tss/eddsa/types.d.ts.map +1 -0
  99. package/dist/src/account-lib/mpc/tss/eddsa/types.js +3 -0
  100. package/dist/src/account-lib/mpc/tss/index.d.ts +6 -0
  101. package/dist/src/account-lib/mpc/tss/index.d.ts.map +1 -0
  102. package/dist/src/account-lib/mpc/tss/index.js +50 -0
  103. package/dist/src/account-lib/mpc/util.d.ts +12 -0
  104. package/dist/src/account-lib/mpc/util.d.ts.map +1 -0
  105. package/dist/src/account-lib/mpc/util.js +30 -0
  106. package/dist/src/account-lib/staking/index.d.ts +2 -0
  107. package/dist/src/account-lib/staking/index.d.ts.map +1 -0
  108. package/dist/src/account-lib/staking/index.js +18 -0
  109. package/dist/src/account-lib/staking/utils.d.ts +19 -0
  110. package/dist/src/account-lib/staking/utils.d.ts.map +1 -0
  111. package/dist/src/account-lib/staking/utils.js +98 -0
  112. package/dist/src/account-lib/util/crypto.d.ts +114 -0
  113. package/dist/src/account-lib/util/crypto.d.ts.map +1 -0
  114. package/dist/src/account-lib/util/crypto.js +312 -0
  115. package/dist/src/account-lib/util/ed25519KeyDeriver.d.ts +50 -0
  116. package/dist/src/account-lib/util/ed25519KeyDeriver.d.ts.map +1 -0
  117. package/dist/src/account-lib/util/ed25519KeyDeriver.js +89 -0
  118. package/dist/src/api/bip32path.d.ts +24 -0
  119. package/dist/src/api/bip32path.d.ts.map +1 -0
  120. package/dist/src/api/bip32path.js +44 -0
  121. package/dist/src/api/index.d.ts +3 -0
  122. package/dist/src/api/index.d.ts.map +1 -0
  123. package/dist/src/api/index.js +19 -0
  124. package/dist/src/api/types.d.ts +28 -0
  125. package/dist/src/api/types.d.ts.map +1 -0
  126. package/dist/src/api/types.js +3 -0
  127. package/dist/src/bitgo/address-book/address-book.d.ts +61 -0
  128. package/dist/src/bitgo/address-book/address-book.d.ts.map +1 -0
  129. package/dist/src/bitgo/address-book/address-book.js +139 -0
  130. package/dist/src/bitgo/address-book/index.d.ts +3 -0
  131. package/dist/src/bitgo/address-book/index.d.ts.map +1 -0
  132. package/dist/src/bitgo/address-book/index.js +19 -0
  133. package/dist/src/bitgo/address-book/types.d.ts +170 -0
  134. package/dist/src/bitgo/address-book/types.d.ts.map +1 -0
  135. package/dist/src/bitgo/address-book/types.js +3 -0
  136. package/dist/src/bitgo/baseCoin/baseCoin.d.ts +369 -0
  137. package/dist/src/bitgo/baseCoin/baseCoin.d.ts.map +1 -0
  138. package/dist/src/bitgo/baseCoin/baseCoin.js +489 -0
  139. package/dist/src/bitgo/baseCoin/iBaseCoin.d.ts +536 -0
  140. package/dist/src/bitgo/baseCoin/iBaseCoin.d.ts.map +1 -0
  141. package/dist/src/bitgo/baseCoin/iBaseCoin.js +14 -0
  142. package/dist/src/bitgo/baseCoin/index.d.ts +3 -0
  143. package/dist/src/bitgo/baseCoin/index.d.ts.map +1 -0
  144. package/dist/src/bitgo/baseCoin/index.js +19 -0
  145. package/dist/src/bitgo/bip32util.d.ts +4 -0
  146. package/dist/src/bitgo/bip32util.d.ts.map +1 -0
  147. package/dist/src/bitgo/bip32util.js +7 -0
  148. package/dist/src/bitgo/bitcoin.d.ts +15 -0
  149. package/dist/src/bitgo/bitcoin.d.ts.map +1 -0
  150. package/dist/src/bitgo/bitcoin.js +65 -0
  151. package/dist/src/bitgo/bitgoBase.d.ts +30 -0
  152. package/dist/src/bitgo/bitgoBase.d.ts.map +1 -0
  153. package/dist/src/bitgo/bitgoBase.js +3 -0
  154. package/dist/src/bitgo/coinFactory.d.ts +49 -0
  155. package/dist/src/bitgo/coinFactory.d.ts.map +1 -0
  156. package/dist/src/bitgo/coinFactory.js +79 -0
  157. package/dist/src/bitgo/config.d.ts +261 -0
  158. package/dist/src/bitgo/config.d.ts.map +1 -0
  159. package/dist/src/bitgo/config.js +83 -0
  160. package/dist/src/bitgo/ecdh.d.ts +33 -0
  161. package/dist/src/bitgo/ecdh.d.ts.map +1 -0
  162. package/dist/src/bitgo/ecdh.js +112 -0
  163. package/dist/src/bitgo/enterprise/enterprise.d.ts +93 -0
  164. package/dist/src/bitgo/enterprise/enterprise.d.ts.map +1 -0
  165. package/dist/src/bitgo/enterprise/enterprise.js +205 -0
  166. package/dist/src/bitgo/enterprise/enterprises.d.ts +31 -0
  167. package/dist/src/bitgo/enterprise/enterprises.d.ts.map +1 -0
  168. package/dist/src/bitgo/enterprise/enterprises.js +109 -0
  169. package/dist/src/bitgo/enterprise/iEnterprise.d.ts +27 -0
  170. package/dist/src/bitgo/enterprise/iEnterprise.d.ts.map +1 -0
  171. package/dist/src/bitgo/enterprise/iEnterprise.js +3 -0
  172. package/dist/src/bitgo/enterprise/iEnterprises.d.ts +12 -0
  173. package/dist/src/bitgo/enterprise/iEnterprises.d.ts.map +1 -0
  174. package/dist/src/bitgo/enterprise/iEnterprises.js +3 -0
  175. package/dist/src/bitgo/enterprise/index.d.ts +5 -0
  176. package/dist/src/bitgo/enterprise/index.d.ts.map +1 -0
  177. package/dist/src/bitgo/enterprise/index.js +21 -0
  178. package/dist/src/bitgo/environments.d.ts +129 -0
  179. package/dist/src/bitgo/environments.d.ts.map +1 -0
  180. package/dist/src/bitgo/environments.js +355 -0
  181. package/dist/src/bitgo/errors.d.ts +95 -0
  182. package/dist/src/bitgo/errors.d.ts.map +1 -0
  183. package/dist/src/bitgo/errors.js +187 -0
  184. package/dist/src/bitgo/evm/evmUtils.d.ts +26 -0
  185. package/dist/src/bitgo/evm/evmUtils.d.ts.map +1 -0
  186. package/dist/src/bitgo/evm/evmUtils.js +50 -0
  187. package/dist/src/bitgo/index.d.ts +32 -0
  188. package/dist/src/bitgo/index.d.ts.map +1 -0
  189. package/dist/src/bitgo/index.js +73 -0
  190. package/dist/src/bitgo/inscriptionBuilder/iInscriptionBuilder.d.ts +59 -0
  191. package/dist/src/bitgo/inscriptionBuilder/iInscriptionBuilder.d.ts.map +1 -0
  192. package/dist/src/bitgo/inscriptionBuilder/iInscriptionBuilder.js +3 -0
  193. package/dist/src/bitgo/inscriptionBuilder/index.d.ts +2 -0
  194. package/dist/src/bitgo/inscriptionBuilder/index.d.ts.map +1 -0
  195. package/dist/src/bitgo/inscriptionBuilder/index.js +18 -0
  196. package/dist/src/bitgo/internal/index.d.ts +3 -0
  197. package/dist/src/bitgo/internal/index.d.ts.map +1 -0
  198. package/dist/src/bitgo/internal/index.js +19 -0
  199. package/dist/src/bitgo/internal/internal.d.ts +19 -0
  200. package/dist/src/bitgo/internal/internal.d.ts.map +1 -0
  201. package/dist/src/bitgo/internal/internal.js +32 -0
  202. package/dist/src/bitgo/internal/keycard.d.ts +33 -0
  203. package/dist/src/bitgo/internal/keycard.d.ts.map +1 -0
  204. package/dist/src/bitgo/internal/keycard.js +303 -0
  205. package/dist/src/bitgo/keychain/decryptKeychain.d.ts +13 -0
  206. package/dist/src/bitgo/keychain/decryptKeychain.d.ts.map +1 -0
  207. package/dist/src/bitgo/keychain/decryptKeychain.js +35 -0
  208. package/dist/src/bitgo/keychain/iKeychains.d.ts +190 -0
  209. package/dist/src/bitgo/keychain/iKeychains.d.ts.map +1 -0
  210. package/dist/src/bitgo/keychain/iKeychains.js +10 -0
  211. package/dist/src/bitgo/keychain/index.d.ts +5 -0
  212. package/dist/src/bitgo/keychain/index.d.ts.map +1 -0
  213. package/dist/src/bitgo/keychain/index.js +21 -0
  214. package/dist/src/bitgo/keychain/keychains.d.ts +110 -0
  215. package/dist/src/bitgo/keychain/keychains.d.ts.map +1 -0
  216. package/dist/src/bitgo/keychain/keychains.js +483 -0
  217. package/dist/src/bitgo/keychain/ovcJsonCodec.d.ts +231 -0
  218. package/dist/src/bitgo/keychain/ovcJsonCodec.d.ts.map +1 -0
  219. package/dist/src/bitgo/keychain/ovcJsonCodec.js +99 -0
  220. package/dist/src/bitgo/legacyBitcoin.d.ts +36 -0
  221. package/dist/src/bitgo/legacyBitcoin.d.ts.map +1 -0
  222. package/dist/src/bitgo/legacyBitcoin.js +111 -0
  223. package/dist/src/bitgo/lightning/lightningWalletUtil.d.ts +7 -0
  224. package/dist/src/bitgo/lightning/lightningWalletUtil.d.ts.map +1 -0
  225. package/dist/src/bitgo/lightning/lightningWalletUtil.js +25 -0
  226. package/dist/src/bitgo/market/iMarkets.d.ts +12 -0
  227. package/dist/src/bitgo/market/iMarkets.d.ts.map +1 -0
  228. package/dist/src/bitgo/market/iMarkets.js +3 -0
  229. package/dist/src/bitgo/market/index.d.ts +3 -0
  230. package/dist/src/bitgo/market/index.d.ts.map +1 -0
  231. package/dist/src/bitgo/market/index.js +19 -0
  232. package/dist/src/bitgo/market/markets.d.ts +29 -0
  233. package/dist/src/bitgo/market/markets.d.ts.map +1 -0
  234. package/dist/src/bitgo/market/markets.js +84 -0
  235. package/dist/src/bitgo/pendingApproval/iPendingApproval.d.ts +77 -0
  236. package/dist/src/bitgo/pendingApproval/iPendingApproval.d.ts.map +1 -0
  237. package/dist/src/bitgo/pendingApproval/iPendingApproval.js +29 -0
  238. package/dist/src/bitgo/pendingApproval/iPendingApprovals.d.ts +16 -0
  239. package/dist/src/bitgo/pendingApproval/iPendingApprovals.d.ts.map +1 -0
  240. package/dist/src/bitgo/pendingApproval/iPendingApprovals.js +3 -0
  241. package/dist/src/bitgo/pendingApproval/index.d.ts +5 -0
  242. package/dist/src/bitgo/pendingApproval/index.d.ts.map +1 -0
  243. package/dist/src/bitgo/pendingApproval/index.js +21 -0
  244. package/dist/src/bitgo/pendingApproval/pendingApproval.d.ts +111 -0
  245. package/dist/src/bitgo/pendingApproval/pendingApproval.d.ts.map +1 -0
  246. package/dist/src/bitgo/pendingApproval/pendingApproval.js +446 -0
  247. package/dist/src/bitgo/pendingApproval/pendingApprovals.d.ts +19 -0
  248. package/dist/src/bitgo/pendingApproval/pendingApprovals.d.ts.map +1 -0
  249. package/dist/src/bitgo/pendingApproval/pendingApprovals.js +90 -0
  250. package/dist/src/bitgo/proofs/WalletProofs.d.ts +19 -0
  251. package/dist/src/bitgo/proofs/WalletProofs.d.ts.map +1 -0
  252. package/dist/src/bitgo/proofs/WalletProofs.js +37 -0
  253. package/dist/src/bitgo/proofs/index.d.ts +2 -0
  254. package/dist/src/bitgo/proofs/index.d.ts.map +1 -0
  255. package/dist/src/bitgo/proofs/index.js +6 -0
  256. package/dist/src/bitgo/proofs/types.d.ts +80 -0
  257. package/dist/src/bitgo/proofs/types.d.ts.map +1 -0
  258. package/dist/src/bitgo/proofs/types.js +80 -0
  259. package/dist/src/bitgo/recovery/index.d.ts +2 -0
  260. package/dist/src/bitgo/recovery/index.d.ts.map +1 -0
  261. package/dist/src/bitgo/recovery/index.js +18 -0
  262. package/dist/src/bitgo/recovery/initiate.d.ts +63 -0
  263. package/dist/src/bitgo/recovery/initiate.d.ts.map +1 -0
  264. package/dist/src/bitgo/recovery/initiate.js +114 -0
  265. package/dist/src/bitgo/staking/goStakingInterfaces.d.ts +129 -0
  266. package/dist/src/bitgo/staking/goStakingInterfaces.d.ts.map +1 -0
  267. package/dist/src/bitgo/staking/goStakingInterfaces.js +3 -0
  268. package/dist/src/bitgo/staking/goStakingWallet.d.ts +62 -0
  269. package/dist/src/bitgo/staking/goStakingWallet.d.ts.map +1 -0
  270. package/dist/src/bitgo/staking/goStakingWallet.js +143 -0
  271. package/dist/src/bitgo/staking/iGoStakingWallet.d.ts +17 -0
  272. package/dist/src/bitgo/staking/iGoStakingWallet.d.ts.map +1 -0
  273. package/dist/src/bitgo/staking/iGoStakingWallet.js +3 -0
  274. package/dist/src/bitgo/staking/iStakingWallet.d.ts +258 -0
  275. package/dist/src/bitgo/staking/iStakingWallet.d.ts.map +1 -0
  276. package/dist/src/bitgo/staking/iStakingWallet.js +12 -0
  277. package/dist/src/bitgo/staking/index.d.ts +6 -0
  278. package/dist/src/bitgo/staking/index.d.ts.map +1 -0
  279. package/dist/src/bitgo/staking/index.js +22 -0
  280. package/dist/src/bitgo/staking/stakingWallet.d.ts +122 -0
  281. package/dist/src/bitgo/staking/stakingWallet.d.ts.map +1 -0
  282. package/dist/src/bitgo/staking/stakingWallet.js +363 -0
  283. package/dist/src/bitgo/trading/iTradingAccount.d.ts +11 -0
  284. package/dist/src/bitgo/trading/iTradingAccount.d.ts.map +1 -0
  285. package/dist/src/bitgo/trading/iTradingAccount.js +3 -0
  286. package/dist/src/bitgo/trading/index.d.ts +4 -0
  287. package/dist/src/bitgo/trading/index.d.ts.map +1 -0
  288. package/dist/src/bitgo/trading/index.js +20 -0
  289. package/dist/src/bitgo/trading/network/decrypt-aes-gcm.d.ts +8 -0
  290. package/dist/src/bitgo/trading/network/decrypt-aes-gcm.d.ts.map +1 -0
  291. package/dist/src/bitgo/trading/network/decrypt-aes-gcm.js +31 -0
  292. package/dist/src/bitgo/trading/network/decrypt-rsa.d.ts +8 -0
  293. package/dist/src/bitgo/trading/network/decrypt-rsa.d.ts.map +1 -0
  294. package/dist/src/bitgo/trading/network/decrypt-rsa.js +23 -0
  295. package/dist/src/bitgo/trading/network/decrypt.d.ts +14 -0
  296. package/dist/src/bitgo/trading/network/decrypt.d.ts.map +1 -0
  297. package/dist/src/bitgo/trading/network/decrypt.js +23 -0
  298. package/dist/src/bitgo/trading/network/encrypt-aes-gcm.d.ts +8 -0
  299. package/dist/src/bitgo/trading/network/encrypt-aes-gcm.d.ts.map +1 -0
  300. package/dist/src/bitgo/trading/network/encrypt-aes-gcm.js +25 -0
  301. package/dist/src/bitgo/trading/network/encrypt-rsa-browser.d.ts +8 -0
  302. package/dist/src/bitgo/trading/network/encrypt-rsa-browser.d.ts.map +1 -0
  303. package/dist/src/bitgo/trading/network/encrypt-rsa-browser.js +65 -0
  304. package/dist/src/bitgo/trading/network/encrypt-rsa.d.ts +8 -0
  305. package/dist/src/bitgo/trading/network/encrypt-rsa.d.ts.map +1 -0
  306. package/dist/src/bitgo/trading/network/encrypt-rsa.js +23 -0
  307. package/dist/src/bitgo/trading/network/encrypt.d.ts +37 -0
  308. package/dist/src/bitgo/trading/network/encrypt.d.ts.map +1 -0
  309. package/dist/src/bitgo/trading/network/encrypt.js +58 -0
  310. package/dist/src/bitgo/trading/network/index.d.ts +5 -0
  311. package/dist/src/bitgo/trading/network/index.d.ts.map +1 -0
  312. package/dist/src/bitgo/trading/network/index.js +21 -0
  313. package/dist/src/bitgo/trading/network/network.d.ts +36 -0
  314. package/dist/src/bitgo/trading/network/network.d.ts.map +1 -0
  315. package/dist/src/bitgo/trading/network/network.js +101 -0
  316. package/dist/src/bitgo/trading/network/types.d.ts +277 -0
  317. package/dist/src/bitgo/trading/network/types.d.ts.map +1 -0
  318. package/dist/src/bitgo/trading/network/types.js +3 -0
  319. package/dist/src/bitgo/trading/network/utils.d.ts +20 -0
  320. package/dist/src/bitgo/trading/network/utils.d.ts.map +1 -0
  321. package/dist/src/bitgo/trading/network/utils.js +54 -0
  322. package/dist/src/bitgo/trading/tradingAccount.d.ts +29 -0
  323. package/dist/src/bitgo/trading/tradingAccount.d.ts.map +1 -0
  324. package/dist/src/bitgo/trading/tradingAccount.js +40 -0
  325. package/dist/src/bitgo/tss/bitgoPubKeys.d.ts +27 -0
  326. package/dist/src/bitgo/tss/bitgoPubKeys.d.ts.map +1 -0
  327. package/dist/src/bitgo/tss/bitgoPubKeys.js +61 -0
  328. package/dist/src/bitgo/tss/common.d.ts +95 -0
  329. package/dist/src/bitgo/tss/common.d.ts.map +1 -0
  330. package/dist/src/bitgo/tss/common.js +223 -0
  331. package/dist/src/bitgo/tss/ecdsa/ecdsa.d.ts +252 -0
  332. package/dist/src/bitgo/tss/ecdsa/ecdsa.d.ts.map +1 -0
  333. package/dist/src/bitgo/tss/ecdsa/ecdsa.js +822 -0
  334. package/dist/src/bitgo/tss/ecdsa/ecdsaMPCv2.d.ts +15 -0
  335. package/dist/src/bitgo/tss/ecdsa/ecdsaMPCv2.d.ts.map +1 -0
  336. package/dist/src/bitgo/tss/ecdsa/ecdsaMPCv2.js +162 -0
  337. package/dist/src/bitgo/tss/ecdsa/index.d.ts +5 -0
  338. package/dist/src/bitgo/tss/ecdsa/index.d.ts.map +1 -0
  339. package/dist/src/bitgo/tss/ecdsa/index.js +41 -0
  340. package/dist/src/bitgo/tss/ecdsa/types.d.ts +64 -0
  341. package/dist/src/bitgo/tss/ecdsa/types.d.ts.map +1 -0
  342. package/dist/src/bitgo/tss/ecdsa/types.js +16 -0
  343. package/dist/src/bitgo/tss/eddsa/eddsa.d.ts +129 -0
  344. package/dist/src/bitgo/tss/eddsa/eddsa.d.ts.map +1 -0
  345. package/dist/src/bitgo/tss/eddsa/eddsa.js +330 -0
  346. package/dist/src/bitgo/tss/eddsa/index.d.ts +6 -0
  347. package/dist/src/bitgo/tss/eddsa/index.d.ts.map +1 -0
  348. package/dist/src/bitgo/tss/eddsa/index.js +51 -0
  349. package/dist/src/bitgo/tss/eddsa/types.d.ts +36 -0
  350. package/dist/src/bitgo/tss/eddsa/types.d.ts.map +1 -0
  351. package/dist/src/bitgo/tss/eddsa/types.js +3 -0
  352. package/dist/src/bitgo/tss/index.d.ts +9 -0
  353. package/dist/src/bitgo/tss/index.d.ts.map +1 -0
  354. package/dist/src/bitgo/tss/index.js +60 -0
  355. package/dist/src/bitgo/tss/types.d.ts +25 -0
  356. package/dist/src/bitgo/tss/types.d.ts.map +1 -0
  357. package/dist/src/bitgo/tss/types.js +10 -0
  358. package/dist/src/bitgo/types.d.ts +4 -0
  359. package/dist/src/bitgo/types.d.ts.map +1 -0
  360. package/dist/src/bitgo/types.js +3 -0
  361. package/dist/src/bitgo/utils/abstractUtxoCoinUtil.d.ts +17 -0
  362. package/dist/src/bitgo/utils/abstractUtxoCoinUtil.d.ts.map +1 -0
  363. package/dist/src/bitgo/utils/abstractUtxoCoinUtil.js +86 -0
  364. package/dist/src/bitgo/utils/codecProps.d.ts +7 -0
  365. package/dist/src/bitgo/utils/codecProps.d.ts.map +1 -0
  366. package/dist/src/bitgo/utils/codecProps.js +54 -0
  367. package/dist/src/bitgo/utils/decode.d.ts +15 -0
  368. package/dist/src/bitgo/utils/decode.d.ts.map +1 -0
  369. package/dist/src/bitgo/utils/decode.js +70 -0
  370. package/dist/src/bitgo/utils/index.d.ts +14 -0
  371. package/dist/src/bitgo/utils/index.d.ts.map +1 -0
  372. package/dist/src/bitgo/utils/index.js +53 -0
  373. package/dist/src/bitgo/utils/messageTypes.d.ts +38 -0
  374. package/dist/src/bitgo/utils/messageTypes.d.ts.map +1 -0
  375. package/dist/src/bitgo/utils/messageTypes.js +15 -0
  376. package/dist/src/bitgo/utils/mpcUtils.d.ts +40 -0
  377. package/dist/src/bitgo/utils/mpcUtils.d.ts.map +1 -0
  378. package/dist/src/bitgo/utils/mpcUtils.js +178 -0
  379. package/dist/src/bitgo/utils/notEmpty.d.ts +2 -0
  380. package/dist/src/bitgo/utils/notEmpty.d.ts.map +1 -0
  381. package/dist/src/bitgo/utils/notEmpty.js +7 -0
  382. package/dist/src/bitgo/utils/opengpgUtils.d.ts +126 -0
  383. package/dist/src/bitgo/utils/opengpgUtils.d.ts.map +1 -0
  384. package/dist/src/bitgo/utils/opengpgUtils.js +401 -0
  385. package/dist/src/bitgo/utils/postWithCodec.d.ts +18 -0
  386. package/dist/src/bitgo/utils/postWithCodec.d.ts.map +1 -0
  387. package/dist/src/bitgo/utils/postWithCodec.js +25 -0
  388. package/dist/src/bitgo/utils/promise-utils.d.ts +5 -0
  389. package/dist/src/bitgo/utils/promise-utils.d.ts.map +1 -0
  390. package/dist/src/bitgo/utils/promise-utils.js +11 -0
  391. package/dist/src/bitgo/utils/transactionUtils.d.ts +9 -0
  392. package/dist/src/bitgo/utils/transactionUtils.d.ts.map +1 -0
  393. package/dist/src/bitgo/utils/transactionUtils.js +29 -0
  394. package/dist/src/bitgo/utils/triple.d.ts +3 -0
  395. package/dist/src/bitgo/utils/triple.d.ts.map +1 -0
  396. package/dist/src/bitgo/utils/triple.js +7 -0
  397. package/dist/src/bitgo/utils/tss/baseTSSUtils.d.ts +224 -0
  398. package/dist/src/bitgo/utils/tss/baseTSSUtils.d.ts.map +1 -0
  399. package/dist/src/bitgo/utils/tss/baseTSSUtils.js +466 -0
  400. package/dist/src/bitgo/utils/tss/baseTypes.d.ts +591 -0
  401. package/dist/src/bitgo/utils/tss/baseTypes.d.ts.map +1 -0
  402. package/dist/src/bitgo/utils/tss/baseTypes.js +47 -0
  403. package/dist/src/bitgo/utils/tss/ecdsa/SMC/utils.d.ts +23 -0
  404. package/dist/src/bitgo/utils/tss/ecdsa/SMC/utils.d.ts.map +1 -0
  405. package/dist/src/bitgo/utils/tss/ecdsa/SMC/utils.js +157 -0
  406. package/dist/src/bitgo/utils/tss/ecdsa/base.d.ts +28 -0
  407. package/dist/src/bitgo/utils/tss/ecdsa/base.d.ts.map +1 -0
  408. package/dist/src/bitgo/utils/tss/ecdsa/base.js +53 -0
  409. package/dist/src/bitgo/utils/tss/ecdsa/ecdsa.d.ts +183 -0
  410. package/dist/src/bitgo/utils/tss/ecdsa/ecdsa.d.ts.map +1 -0
  411. package/dist/src/bitgo/utils/tss/ecdsa/ecdsa.js +850 -0
  412. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2.d.ts +199 -0
  413. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2.d.ts.map +1 -0
  414. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2.js +950 -0
  415. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2KeyGenSender.d.ts +8 -0
  416. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2KeyGenSender.d.ts.map +1 -0
  417. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2KeyGenSender.js +13 -0
  418. package/dist/src/bitgo/utils/tss/ecdsa/index.d.ts +7 -0
  419. package/dist/src/bitgo/utils/tss/ecdsa/index.d.ts.map +1 -0
  420. package/dist/src/bitgo/utils/tss/ecdsa/index.js +23 -0
  421. package/dist/src/bitgo/utils/tss/ecdsa/types.d.ts +33 -0
  422. package/dist/src/bitgo/utils/tss/ecdsa/types.d.ts.map +1 -0
  423. package/dist/src/bitgo/utils/tss/ecdsa/types.js +3 -0
  424. package/dist/src/bitgo/utils/tss/ecdsa/typesMPCv2.d.ts +107 -0
  425. package/dist/src/bitgo/utils/tss/ecdsa/typesMPCv2.d.ts.map +1 -0
  426. package/dist/src/bitgo/utils/tss/ecdsa/typesMPCv2.js +55 -0
  427. package/dist/src/bitgo/utils/tss/eddsa/eddsa.d.ts +117 -0
  428. package/dist/src/bitgo/utils/tss/eddsa/eddsa.d.ts.map +1 -0
  429. package/dist/src/bitgo/utils/tss/eddsa/eddsa.js +515 -0
  430. package/dist/src/bitgo/utils/tss/eddsa/index.d.ts +8 -0
  431. package/dist/src/bitgo/utils/tss/eddsa/index.d.ts.map +1 -0
  432. package/dist/src/bitgo/utils/tss/eddsa/index.js +44 -0
  433. package/dist/src/bitgo/utils/tss/eddsa/types.d.ts +19 -0
  434. package/dist/src/bitgo/utils/tss/eddsa/types.d.ts.map +1 -0
  435. package/dist/src/bitgo/utils/tss/eddsa/types.js +7 -0
  436. package/dist/src/bitgo/utils/tss/index.d.ts +13 -0
  437. package/dist/src/bitgo/utils/tss/index.d.ts.map +1 -0
  438. package/dist/src/bitgo/utils/tss/index.js +48 -0
  439. package/dist/src/bitgo/utils/txRequest.d.ts +10 -0
  440. package/dist/src/bitgo/utils/txRequest.d.ts.map +1 -0
  441. package/dist/src/bitgo/utils/txRequest.js +47 -0
  442. package/dist/src/bitgo/utils/util.d.ts +77 -0
  443. package/dist/src/bitgo/utils/util.d.ts.map +1 -0
  444. package/dist/src/bitgo/utils/util.js +212 -0
  445. package/dist/src/bitgo/utils/wallet.d.ts +7 -0
  446. package/dist/src/bitgo/utils/wallet.d.ts.map +1 -0
  447. package/dist/src/bitgo/utils/wallet.js +48 -0
  448. package/dist/src/bitgo/wallet/BuildParams.d.ts +133 -0
  449. package/dist/src/bitgo/wallet/BuildParams.d.ts.map +1 -0
  450. package/dist/src/bitgo/wallet/BuildParams.js +149 -0
  451. package/dist/src/bitgo/wallet/iWallet.d.ts +847 -0
  452. package/dist/src/bitgo/wallet/iWallet.d.ts.map +1 -0
  453. package/dist/src/bitgo/wallet/iWallet.js +3 -0
  454. package/dist/src/bitgo/wallet/iWallets.d.ts +205 -0
  455. package/dist/src/bitgo/wallet/iWallets.d.ts.map +1 -0
  456. package/dist/src/bitgo/wallet/iWallets.js +45 -0
  457. package/dist/src/bitgo/wallet/index.d.ts +5 -0
  458. package/dist/src/bitgo/wallet/index.d.ts.map +1 -0
  459. package/dist/src/bitgo/wallet/index.js +21 -0
  460. package/dist/src/bitgo/wallet/wallet.d.ts +933 -0
  461. package/dist/src/bitgo/wallet/wallet.d.ts.map +1 -0
  462. package/dist/src/bitgo/wallet/wallet.js +3424 -0
  463. package/dist/src/bitgo/wallet/wallets.d.ts +223 -0
  464. package/dist/src/bitgo/wallet/wallets.d.ts.map +1 -0
  465. package/dist/src/bitgo/wallet/wallets.js +1281 -0
  466. package/dist/src/bitgo/walletUtil/iMessageProvider.d.ts +12 -0
  467. package/dist/src/bitgo/walletUtil/iMessageProvider.d.ts.map +1 -0
  468. package/dist/src/bitgo/walletUtil/iMessageProvider.js +3 -0
  469. package/dist/src/bitgo/walletUtil/index.d.ts +3 -0
  470. package/dist/src/bitgo/walletUtil/index.d.ts.map +1 -0
  471. package/dist/src/bitgo/walletUtil/index.js +19 -0
  472. package/dist/src/bitgo/walletUtil/midnightMessageProvider.d.ts +22 -0
  473. package/dist/src/bitgo/walletUtil/midnightMessageProvider.d.ts.map +1 -0
  474. package/dist/src/bitgo/walletUtil/midnightMessageProvider.js +95 -0
  475. package/dist/src/bitgo/walletUtil/signAccountBasedMidnightClaimMessages.d.ts +9 -0
  476. package/dist/src/bitgo/walletUtil/signAccountBasedMidnightClaimMessages.d.ts.map +1 -0
  477. package/dist/src/bitgo/walletUtil/signAccountBasedMidnightClaimMessages.js +72 -0
  478. package/dist/src/bitgo/walletUtil/utxoMessageProof.d.ts +15 -0
  479. package/dist/src/bitgo/walletUtil/utxoMessageProof.d.ts.map +1 -0
  480. package/dist/src/bitgo/walletUtil/utxoMessageProof.js +40 -0
  481. package/dist/src/bitgo/webhook/iWebhooks.d.ts +26 -0
  482. package/dist/src/bitgo/webhook/iWebhooks.d.ts.map +1 -0
  483. package/dist/src/bitgo/webhook/iWebhooks.js +3 -0
  484. package/dist/src/bitgo/webhook/index.d.ts +3 -0
  485. package/dist/src/bitgo/webhook/index.d.ts.map +1 -0
  486. package/dist/src/bitgo/webhook/index.js +19 -0
  487. package/dist/src/bitgo/webhook/webhooks.d.ts +43 -0
  488. package/dist/src/bitgo/webhook/webhooks.d.ts.map +1 -0
  489. package/dist/src/bitgo/webhook/webhooks.js +116 -0
  490. package/dist/src/bitgojsError.d.ts +4 -0
  491. package/dist/src/bitgojsError.d.ts.map +1 -0
  492. package/dist/src/bitgojsError.js +11 -0
  493. package/dist/src/coins/fiataed.d.ts +32 -0
  494. package/dist/src/coins/fiataed.d.ts.map +1 -0
  495. package/dist/src/coins/fiataed.js +61 -0
  496. package/dist/src/coins/fiateur.d.ts +32 -0
  497. package/dist/src/coins/fiateur.d.ts.map +1 -0
  498. package/dist/src/coins/fiateur.js +61 -0
  499. package/dist/src/coins/fiatgbp.d.ts +32 -0
  500. package/dist/src/coins/fiatgbp.d.ts.map +1 -0
  501. package/dist/src/coins/fiatgbp.js +61 -0
  502. package/dist/src/coins/fiatsgd.d.ts +32 -0
  503. package/dist/src/coins/fiatsgd.d.ts.map +1 -0
  504. package/dist/src/coins/fiatsgd.js +61 -0
  505. package/dist/src/coins/fiatusd.d.ts +32 -0
  506. package/dist/src/coins/fiatusd.d.ts.map +1 -0
  507. package/dist/src/coins/fiatusd.js +61 -0
  508. package/dist/src/coins/index.d.ts +15 -0
  509. package/dist/src/coins/index.d.ts.map +1 -0
  510. package/dist/src/coins/index.js +31 -0
  511. package/dist/src/coins/ofc.d.ts +38 -0
  512. package/dist/src/coins/ofc.d.ts.map +1 -0
  513. package/dist/src/coins/ofc.js +90 -0
  514. package/dist/src/coins/ofcToken.d.ts +47 -0
  515. package/dist/src/coins/ofcToken.d.ts.map +1 -0
  516. package/dist/src/coins/ofcToken.js +84 -0
  517. package/dist/src/coins/susd.d.ts +32 -0
  518. package/dist/src/coins/susd.d.ts.map +1 -0
  519. package/dist/src/coins/susd.js +61 -0
  520. package/dist/src/coins/tfiataed.d.ts +11 -0
  521. package/dist/src/coins/tfiataed.d.ts.map +1 -0
  522. package/dist/src/coins/tfiataed.js +17 -0
  523. package/dist/src/coins/tfiateur.d.ts +11 -0
  524. package/dist/src/coins/tfiateur.d.ts.map +1 -0
  525. package/dist/src/coins/tfiateur.js +17 -0
  526. package/dist/src/coins/tfiatgbp.d.ts +11 -0
  527. package/dist/src/coins/tfiatgbp.d.ts.map +1 -0
  528. package/dist/src/coins/tfiatgbp.js +17 -0
  529. package/dist/src/coins/tfiatsgd.d.ts +11 -0
  530. package/dist/src/coins/tfiatsgd.d.ts.map +1 -0
  531. package/dist/src/coins/tfiatsgd.js +17 -0
  532. package/dist/src/coins/tfiatusd.d.ts +11 -0
  533. package/dist/src/coins/tfiatusd.d.ts.map +1 -0
  534. package/dist/src/coins/tfiatusd.js +17 -0
  535. package/dist/src/coins/tsusd.d.ts +11 -0
  536. package/dist/src/coins/tsusd.d.ts.map +1 -0
  537. package/dist/src/coins/tsusd.js +17 -0
  538. package/dist/src/common.d.ts +27 -0
  539. package/dist/src/common.d.ts.map +1 -0
  540. package/dist/src/common.js +105 -0
  541. package/dist/src/index.d.ts +19 -0
  542. package/dist/src/index.d.ts.map +1 -0
  543. package/dist/src/index.js +55 -0
  544. package/dist/src/units.d.ts +29 -0
  545. package/dist/src/units.d.ts.map +1 -0
  546. package/dist/src/units.js +51 -0
  547. package/dist/test/node.utils.d.ts +2 -0
  548. package/dist/test/node.utils.d.ts.map +1 -0
  549. package/dist/test/node.utils.js +5 -0
  550. package/dist/test/unit/account-lib/baseCoin/messages/baseMessage.d.ts +2 -0
  551. package/dist/test/unit/account-lib/baseCoin/messages/baseMessage.d.ts.map +1 -0
  552. package/dist/test/unit/account-lib/baseCoin/messages/baseMessage.js +207 -0
  553. package/dist/test/unit/account-lib/baseCoin/messages/baseMessageBuilder.d.ts +2 -0
  554. package/dist/test/unit/account-lib/baseCoin/messages/baseMessageBuilder.d.ts.map +1 -0
  555. package/dist/test/unit/account-lib/baseCoin/messages/baseMessageBuilder.js +174 -0
  556. package/dist/test/unit/account-lib/baseCoin/messages/baseMessageBuilderFactory.d.ts +2 -0
  557. package/dist/test/unit/account-lib/baseCoin/messages/baseMessageBuilderFactory.d.ts.map +1 -0
  558. package/dist/test/unit/account-lib/baseCoin/messages/baseMessageBuilderFactory.js +108 -0
  559. package/dist/test/unit/account-lib/baseCoin/messages/fixtures.d.ts +46 -0
  560. package/dist/test/unit/account-lib/baseCoin/messages/fixtures.d.ts.map +1 -0
  561. package/dist/test/unit/account-lib/baseCoin/messages/fixtures.js +69 -0
  562. package/dist/test/unit/account-lib/mpc/tss/ecdsa/ecdsa.d.ts +2 -0
  563. package/dist/test/unit/account-lib/mpc/tss/ecdsa/ecdsa.d.ts.map +1 -0
  564. package/dist/test/unit/account-lib/mpc/tss/ecdsa/ecdsa.js +235 -0
  565. package/dist/test/unit/account-lib/mpc/tss/ecdsa/fixtures.d.ts +3 -0
  566. package/dist/test/unit/account-lib/mpc/tss/ecdsa/fixtures.d.ts.map +1 -0
  567. package/dist/test/unit/account-lib/mpc/tss/ecdsa/fixtures.js +24 -0
  568. package/dist/test/unit/bitgo/trading/network/encrypt.d.ts +2 -0
  569. package/dist/test/unit/bitgo/trading/network/encrypt.d.ts.map +1 -0
  570. package/dist/test/unit/bitgo/trading/network/encrypt.js +71 -0
  571. package/dist/test/unit/bitgo/utils/abstractUtxoCoinUtil.d.ts +2 -0
  572. package/dist/test/unit/bitgo/utils/abstractUtxoCoinUtil.d.ts.map +1 -0
  573. package/dist/test/unit/bitgo/utils/abstractUtxoCoinUtil.js +45 -0
  574. package/dist/test/unit/bitgo/utils/messageTypes.d.ts +2 -0
  575. package/dist/test/unit/bitgo/utils/messageTypes.d.ts.map +1 -0
  576. package/dist/test/unit/bitgo/utils/messageTypes.js +64 -0
  577. package/dist/test/unit/bitgo/utils/notEmpty.d.ts +2 -0
  578. package/dist/test/unit/bitgo/utils/notEmpty.d.ts.map +1 -0
  579. package/dist/test/unit/bitgo/utils/notEmpty.js +15 -0
  580. package/dist/test/unit/bitgo/utils/postWithCodec.d.ts +2 -0
  581. package/dist/test/unit/bitgo/utils/postWithCodec.d.ts.map +1 -0
  582. package/dist/test/unit/bitgo/utils/postWithCodec.js +73 -0
  583. package/dist/test/unit/bitgo/utils/txRequest.d.ts +2 -0
  584. package/dist/test/unit/bitgo/utils/txRequest.d.ts.map +1 -0
  585. package/dist/test/unit/bitgo/utils/txRequest.js +105 -0
  586. package/dist/test/unit/bitgo/wallet/BuildParams.d.ts +2 -0
  587. package/dist/test/unit/bitgo/wallet/BuildParams.d.ts.map +1 -0
  588. package/dist/test/unit/bitgo/wallet/BuildParams.js +68 -0
  589. package/dist/test/unit/bitgo/wallet/SendTransactionRequest.d.ts +2 -0
  590. package/dist/test/unit/bitgo/wallet/SendTransactionRequest.d.ts.map +1 -0
  591. package/dist/test/unit/bitgo/wallet/SendTransactionRequest.js +58 -0
  592. package/dist/test/unit/bitgo/wallet/walletEvmAddressCreation.d.ts +2 -0
  593. package/dist/test/unit/bitgo/wallet/walletEvmAddressCreation.d.ts.map +1 -0
  594. package/dist/test/unit/bitgo/wallet/walletEvmAddressCreation.js +181 -0
  595. package/dist/test/unit/bitgo/wallet/walletsEvmKeyring.d.ts +2 -0
  596. package/dist/test/unit/bitgo/wallet/walletsEvmKeyring.d.ts.map +1 -0
  597. package/dist/test/unit/bitgo/wallet/walletsEvmKeyring.js +216 -0
  598. package/dist/test/unit/units.d.ts +2 -0
  599. package/dist/test/unit/units.d.ts.map +1 -0
  600. package/dist/test/unit/units.js +98 -0
  601. package/dist/tsconfig.tsbuildinfo +1 -1
  602. package/package.json +12 -9
  603. package/.eslintignore +0 -5
  604. package/CHANGELOG.md +0 -3848
@@ -0,0 +1,27 @@
1
+ import { AddressFormat } from './enum';
2
+ /**
3
+ * Base keys and address management.
4
+ */
5
+ export interface BaseKeyPair {
6
+ /**
7
+ * Build a set of keys from a prv
8
+ *
9
+ * @param {string} prv A raw private key
10
+ */
11
+ recordKeysFromPrivateKey(prv: string): void;
12
+ /**
13
+ * Build a set of keys from a pub
14
+ *
15
+ * @param {string} pub A raw pub key
16
+ */
17
+ recordKeysFromPublicKey(pub: string): void;
18
+ /**
19
+ * Returns the keys in the protocol default key format
20
+ */
21
+ getKeys(): any;
22
+ /**
23
+ * Returns the address in the protocol default format
24
+ */
25
+ getAddress(format?: AddressFormat): string;
26
+ }
27
+ //# sourceMappingURL=baseKeyPair.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"baseKeyPair.d.ts","sourceRoot":"","sources":["../../../../src/account-lib/baseCoin/baseKeyPair.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAEvC;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B;;;;OAIG;IACH,wBAAwB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAE5C;;;;OAIG;IACH,uBAAuB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAE3C;;OAEG;IACH,OAAO,IAAI,GAAG,CAAC;IAEf;;OAEG;IACH,UAAU,CAAC,MAAM,CAAC,EAAE,aAAa,GAAG,MAAM,CAAC;CAC5C"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZUtleVBhaXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYWNjb3VudC1saWIvYmFzZUNvaW4vYmFzZUtleVBhaXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFkZHJlc3NGb3JtYXQgfSBmcm9tICcuL2VudW0nO1xuXG4vKipcbiAqIEJhc2Uga2V5cyBhbmQgYWRkcmVzcyBtYW5hZ2VtZW50LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJhc2VLZXlQYWlyIHtcbiAgLyoqXG4gICAqIEJ1aWxkIGEgc2V0IG9mIGtleXMgZnJvbSBhIHBydlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gcHJ2IEEgcmF3IHByaXZhdGUga2V5XG4gICAqL1xuICByZWNvcmRLZXlzRnJvbVByaXZhdGVLZXkocHJ2OiBzdHJpbmcpOiB2b2lkO1xuXG4gIC8qKlxuICAgKiBCdWlsZCBhIHNldCBvZiBrZXlzIGZyb20gYSBwdWJcbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IHB1YiBBIHJhdyBwdWIga2V5XG4gICAqL1xuICByZWNvcmRLZXlzRnJvbVB1YmxpY0tleShwdWI6IHN0cmluZyk6IHZvaWQ7XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGtleXMgaW4gdGhlIHByb3RvY29sIGRlZmF1bHQga2V5IGZvcm1hdFxuICAgKi9cbiAgZ2V0S2V5cygpOiBhbnk7XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGFkZHJlc3MgaW4gdGhlIHByb3RvY29sIGRlZmF1bHQgZm9ybWF0XG4gICAqL1xuICBnZXRBZGRyZXNzKGZvcm1hdD86IEFkZHJlc3NGb3JtYXQpOiBzdHJpbmc7XG59XG4iXX0=
@@ -0,0 +1,70 @@
1
+ import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
2
+ import { BaseKey, Entry } from './iface';
3
+ import { TransactionType } from './enum';
4
+ /**
5
+ * Generic transaction to be extended with coin specific logic.
6
+ */
7
+ export declare abstract class BaseTransaction {
8
+ protected _id: string | undefined;
9
+ protected _inputs: Entry[];
10
+ protected _outputs: Entry[];
11
+ protected _type: TransactionType | undefined;
12
+ protected _signatures: string[];
13
+ protected _coinConfig: Readonly<CoinConfig>;
14
+ /**
15
+ * Base constructor.
16
+ *
17
+ * @param _coinConfig BaseCoin from statics library
18
+ */
19
+ protected constructor(_coinConfig: Readonly<CoinConfig>);
20
+ /**
21
+ * Get the transaction id as seen in the blockchain. Transactions computed offline may not have an
22
+ * id, however, this is left to the coin implementation.
23
+ */
24
+ get id(): string;
25
+ /**
26
+ * One of {@link TransactionType}
27
+ */
28
+ get type(): TransactionType;
29
+ /**
30
+ * Get the list of outputs. Amounts are expressed in absolute value.
31
+ */
32
+ get outputs(): Entry[];
33
+ /**
34
+ * Get the list of inputs. Amounts are expressed in absolute value.
35
+ */
36
+ get inputs(): Entry[];
37
+ /**
38
+ * Get the list of signatures (if any) produced for this transaction.
39
+ */
40
+ get signature(): string[];
41
+ /**
42
+ * Whether the private key can sign this transaction in its current state or not. it is possible
43
+ * some transactions can only enforce this check after some other fields have been filled already
44
+ * or even during build time.
45
+ *
46
+ * @param {BaseKey} key Private key to verify permissions on
47
+ * @returns {boolean} false if the key cannot sign the transaction without a doubt, true otherwise
48
+ */
49
+ abstract canSign(key: BaseKey): boolean;
50
+ /**
51
+ * Return the transaction in a coin specific JSON format.
52
+ */
53
+ abstract toJson(): any;
54
+ /**
55
+ * Return the transaction in a format it can be broadcasted to the blockchain.
56
+ */
57
+ abstract toBroadcastFormat(): any;
58
+ /**
59
+ * Returns the portion of the transaction that needs to be signed in Buffer format.
60
+ * Only needed for coins that support adding signatures directly (e.g. TSS).
61
+ */
62
+ get signablePayload(): Buffer;
63
+ /**
64
+ * Explain/parse a given coin transaction
65
+ * TODO: Move all previous explainTransactions from 'core' to 'account-lib' for other coins,
66
+ * TODO: convert to abstract
67
+ */
68
+ explainTransaction(): any;
69
+ }
70
+ //# sourceMappingURL=baseTransaction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"baseTransaction.d.ts","sourceRoot":"","sources":["../../../../src/account-lib/baseCoin/baseTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AAGzC;;GAEG;AACH,8BAAsB,eAAe;IACnC,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,SAAS,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;IAC3B,SAAS,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC;IAC5B,SAAS,CAAC,KAAK,EAAE,eAAe,GAAG,SAAS,CAAC;IAC7C,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,CAAC;IAChC,SAAS,CAAC,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;IAC5C;;;;OAIG;IACH,SAAS,aAAa,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IASvD;;;OAGG;IACH,IAAI,EAAE,IAAI,MAAM,CAEf;IAED;;OAEG;IACH,IAAI,IAAI,IAAI,eAAe,CAE1B;IAED;;OAEG;IACH,IAAI,OAAO,IAAI,KAAK,EAAE,CAErB;IAED;;OAEG;IACH,IAAI,MAAM,IAAI,KAAK,EAAE,CAEpB;IAED;;OAEG;IACH,IAAI,SAAS,IAAI,MAAM,EAAE,CAExB;IAED;;;;;;;OAOG;IACH,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO;IAEvC;;OAEG;IACH,QAAQ,CAAC,MAAM,IAAI,GAAG;IAEtB;;OAEG;IACH,QAAQ,CAAC,iBAAiB,IAAI,GAAG;IAEjC;;;OAGG;IACH,IAAI,eAAe,IAAI,MAAM,CAE5B;IAED;;;;OAIG;IAEH,kBAAkB,IAAI,GAAG;CAC1B"}
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BaseTransaction = void 0;
4
+ const errors_1 = require("./errors");
5
+ /**
6
+ * Generic transaction to be extended with coin specific logic.
7
+ */
8
+ class BaseTransaction {
9
+ /**
10
+ * Base constructor.
11
+ *
12
+ * @param _coinConfig BaseCoin from statics library
13
+ */
14
+ constructor(_coinConfig) {
15
+ this._coinConfig = _coinConfig;
16
+ this._inputs = [];
17
+ this._outputs = [];
18
+ this._signatures = [];
19
+ this._id = undefined;
20
+ this._type = undefined;
21
+ }
22
+ /**
23
+ * Get the transaction id as seen in the blockchain. Transactions computed offline may not have an
24
+ * id, however, this is left to the coin implementation.
25
+ */
26
+ get id() {
27
+ return this._id;
28
+ }
29
+ /**
30
+ * One of {@link TransactionType}
31
+ */
32
+ get type() {
33
+ return this._type;
34
+ }
35
+ /**
36
+ * Get the list of outputs. Amounts are expressed in absolute value.
37
+ */
38
+ get outputs() {
39
+ return this._outputs;
40
+ }
41
+ /**
42
+ * Get the list of inputs. Amounts are expressed in absolute value.
43
+ */
44
+ get inputs() {
45
+ return this._inputs;
46
+ }
47
+ /**
48
+ * Get the list of signatures (if any) produced for this transaction.
49
+ */
50
+ get signature() {
51
+ return this._signatures;
52
+ }
53
+ /**
54
+ * Returns the portion of the transaction that needs to be signed in Buffer format.
55
+ * Only needed for coins that support adding signatures directly (e.g. TSS).
56
+ */
57
+ get signablePayload() {
58
+ throw new errors_1.NotImplementedError('signablePayload not implemented');
59
+ }
60
+ /**
61
+ * Explain/parse a given coin transaction
62
+ * TODO: Move all previous explainTransactions from 'core' to 'account-lib' for other coins,
63
+ * TODO: convert to abstract
64
+ */
65
+ // eslint-disable-next-line @typescript-eslint/no-empty-function
66
+ explainTransaction() { }
67
+ }
68
+ exports.BaseTransaction = BaseTransaction;
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZVRyYW5zYWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FjY291bnQtbGliL2Jhc2VDb2luL2Jhc2VUcmFuc2FjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFHQSxxQ0FBK0M7QUFFL0M7O0dBRUc7QUFDSCxNQUFzQixlQUFlO0lBT25DOzs7O09BSUc7SUFDSCxZQUFzQixXQUFpQztRQUNyRCxJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztRQUMvQixJQUFJLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztRQUNsQixJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztRQUNuQixJQUFJLENBQUMsV0FBVyxHQUFHLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsR0FBRyxHQUFHLFNBQVMsQ0FBQztRQUNyQixJQUFJLENBQUMsS0FBSyxHQUFHLFNBQVMsQ0FBQztJQUN6QixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsSUFBSSxFQUFFO1FBQ0osT0FBTyxJQUFJLENBQUMsR0FBYSxDQUFDO0lBQzVCLENBQUM7SUFFRDs7T0FFRztJQUNILElBQUksSUFBSTtRQUNOLE9BQU8sSUFBSSxDQUFDLEtBQXdCLENBQUM7SUFDdkMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7SUFFRDs7T0FFRztJQUNILElBQUksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFJLFNBQVM7UUFDWCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDMUIsQ0FBQztJQXNCRDs7O09BR0c7SUFDSCxJQUFJLGVBQWU7UUFDakIsTUFBTSxJQUFJLDRCQUFtQixDQUFDLGlDQUFpQyxDQUFDLENBQUM7SUFDbkUsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxnRUFBZ0U7SUFDaEUsa0JBQWtCLEtBQVMsQ0FBQztDQUM3QjtBQTVGRCwwQ0E0RkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQgeyBCYXNlS2V5LCBFbnRyeSB9IGZyb20gJy4vaWZhY2UnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25UeXBlIH0gZnJvbSAnLi9lbnVtJztcbmltcG9ydCB7IE5vdEltcGxlbWVudGVkRXJyb3IgfSBmcm9tICcuL2Vycm9ycyc7XG5cbi8qKlxuICogR2VuZXJpYyB0cmFuc2FjdGlvbiB0byBiZSBleHRlbmRlZCB3aXRoIGNvaW4gc3BlY2lmaWMgbG9naWMuXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlVHJhbnNhY3Rpb24ge1xuICBwcm90ZWN0ZWQgX2lkOiBzdHJpbmcgfCB1bmRlZmluZWQ7IC8vIFRoZSB0cmFuc2FjdGlvbiBpZCBhcyBzZWVuIGluIHRoZSBibG9ja2NoYWluXG4gIHByb3RlY3RlZCBfaW5wdXRzOiBFbnRyeVtdO1xuICBwcm90ZWN0ZWQgX291dHB1dHM6IEVudHJ5W107XG4gIHByb3RlY3RlZCBfdHlwZTogVHJhbnNhY3Rpb25UeXBlIHwgdW5kZWZpbmVkO1xuICBwcm90ZWN0ZWQgX3NpZ25hdHVyZXM6IHN0cmluZ1tdO1xuICBwcm90ZWN0ZWQgX2NvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+O1xuICAvKipcbiAgICogQmFzZSBjb25zdHJ1Y3Rvci5cbiAgICpcbiAgICogQHBhcmFtIF9jb2luQ29uZmlnIEJhc2VDb2luIGZyb20gc3RhdGljcyBsaWJyYXJ5XG4gICAqL1xuICBwcm90ZWN0ZWQgY29uc3RydWN0b3IoX2NvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KSB7XG4gICAgdGhpcy5fY29pbkNvbmZpZyA9IF9jb2luQ29uZmlnO1xuICAgIHRoaXMuX2lucHV0cyA9IFtdO1xuICAgIHRoaXMuX291dHB1dHMgPSBbXTtcbiAgICB0aGlzLl9zaWduYXR1cmVzID0gW107XG4gICAgdGhpcy5faWQgPSB1bmRlZmluZWQ7XG4gICAgdGhpcy5fdHlwZSA9IHVuZGVmaW5lZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIHRyYW5zYWN0aW9uIGlkIGFzIHNlZW4gaW4gdGhlIGJsb2NrY2hhaW4uIFRyYW5zYWN0aW9ucyBjb21wdXRlZCBvZmZsaW5lIG1heSBub3QgaGF2ZSBhblxuICAgKiBpZCwgaG93ZXZlciwgdGhpcyBpcyBsZWZ0IHRvIHRoZSBjb2luIGltcGxlbWVudGF0aW9uLlxuICAgKi9cbiAgZ2V0IGlkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2lkIGFzIHN0cmluZztcbiAgfVxuXG4gIC8qKlxuICAgKiBPbmUgb2Yge0BsaW5rIFRyYW5zYWN0aW9uVHlwZX1cbiAgICovXG4gIGdldCB0eXBlKCk6IFRyYW5zYWN0aW9uVHlwZSB7XG4gICAgcmV0dXJuIHRoaXMuX3R5cGUgYXMgVHJhbnNhY3Rpb25UeXBlO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgbGlzdCBvZiBvdXRwdXRzLiBBbW91bnRzIGFyZSBleHByZXNzZWQgaW4gYWJzb2x1dGUgdmFsdWUuXG4gICAqL1xuICBnZXQgb3V0cHV0cygpOiBFbnRyeVtdIHtcbiAgICByZXR1cm4gdGhpcy5fb3V0cHV0cztcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIGxpc3Qgb2YgaW5wdXRzLiBBbW91bnRzIGFyZSBleHByZXNzZWQgaW4gYWJzb2x1dGUgdmFsdWUuXG4gICAqL1xuICBnZXQgaW5wdXRzKCk6IEVudHJ5W10ge1xuICAgIHJldHVybiB0aGlzLl9pbnB1dHM7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBsaXN0IG9mIHNpZ25hdHVyZXMgKGlmIGFueSkgcHJvZHVjZWQgZm9yIHRoaXMgdHJhbnNhY3Rpb24uXG4gICAqL1xuICBnZXQgc2lnbmF0dXJlKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gdGhpcy5fc2lnbmF0dXJlcztcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBwcml2YXRlIGtleSBjYW4gc2lnbiB0aGlzIHRyYW5zYWN0aW9uIGluIGl0cyBjdXJyZW50IHN0YXRlIG9yIG5vdC4gaXQgaXMgcG9zc2libGVcbiAgICogc29tZSB0cmFuc2FjdGlvbnMgY2FuIG9ubHkgZW5mb3JjZSB0aGlzIGNoZWNrIGFmdGVyIHNvbWUgb3RoZXIgZmllbGRzIGhhdmUgYmVlbiBmaWxsZWQgYWxyZWFkeVxuICAgKiBvciBldmVuIGR1cmluZyBidWlsZCB0aW1lLlxuICAgKlxuICAgKiBAcGFyYW0ge0Jhc2VLZXl9IGtleSBQcml2YXRlIGtleSB0byB2ZXJpZnkgcGVybWlzc2lvbnMgb25cbiAgICogQHJldHVybnMge2Jvb2xlYW59IGZhbHNlIGlmIHRoZSBrZXkgY2Fubm90IHNpZ24gdGhlIHRyYW5zYWN0aW9uIHdpdGhvdXQgYSBkb3VidCwgdHJ1ZSBvdGhlcndpc2VcbiAgICovXG4gIGFic3RyYWN0IGNhblNpZ24oa2V5OiBCYXNlS2V5KTogYm9vbGVhbjtcblxuICAvKipcbiAgICogUmV0dXJuIHRoZSB0cmFuc2FjdGlvbiBpbiBhIGNvaW4gc3BlY2lmaWMgSlNPTiBmb3JtYXQuXG4gICAqL1xuICBhYnN0cmFjdCB0b0pzb24oKTogYW55O1xuXG4gIC8qKlxuICAgKiBSZXR1cm4gdGhlIHRyYW5zYWN0aW9uIGluIGEgZm9ybWF0IGl0IGNhbiBiZSBicm9hZGNhc3RlZCB0byB0aGUgYmxvY2tjaGFpbi5cbiAgICovXG4gIGFic3RyYWN0IHRvQnJvYWRjYXN0Rm9ybWF0KCk6IGFueTtcblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgcG9ydGlvbiBvZiB0aGUgdHJhbnNhY3Rpb24gdGhhdCBuZWVkcyB0byBiZSBzaWduZWQgaW4gQnVmZmVyIGZvcm1hdC5cbiAgICogT25seSBuZWVkZWQgZm9yIGNvaW5zIHRoYXQgc3VwcG9ydCBhZGRpbmcgc2lnbmF0dXJlcyBkaXJlY3RseSAoZS5nLiBUU1MpLlxuICAgKi9cbiAgZ2V0IHNpZ25hYmxlUGF5bG9hZCgpOiBCdWZmZXIge1xuICAgIHRocm93IG5ldyBOb3RJbXBsZW1lbnRlZEVycm9yKCdzaWduYWJsZVBheWxvYWQgbm90IGltcGxlbWVudGVkJyk7XG4gIH1cblxuICAvKipcbiAgICogRXhwbGFpbi9wYXJzZSBhIGdpdmVuIGNvaW4gdHJhbnNhY3Rpb25cbiAgICogVE9ETzogTW92ZSBhbGwgcHJldmlvdXMgZXhwbGFpblRyYW5zYWN0aW9ucyBmcm9tICdjb3JlJyB0byAnYWNjb3VudC1saWInIGZvciBvdGhlciBjb2lucyxcbiAgICogVE9ETzogY29udmVydCB0byBhYnN0cmFjdFxuICAgKi9cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1mdW5jdGlvblxuICBleHBsYWluVHJhbnNhY3Rpb24oKTogYW55IHt9XG59XG4iXX0=
@@ -0,0 +1,128 @@
1
+ import BigNumber from 'bignumber.js';
2
+ import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
3
+ import { BaseAddress, BaseKey, PublicKey, ValidityWindow } from './iface';
4
+ import { BaseTransaction } from './baseTransaction';
5
+ /**
6
+ * Generic transaction builder to be extended with coin specific logic.
7
+ * Provide a set of default steps (i.e. from, sign, build) and enforces mandatory validations.
8
+ */
9
+ export declare abstract class BaseTransactionBuilder {
10
+ protected _coinConfig: Readonly<CoinConfig>;
11
+ /**
12
+ * Base constructor.
13
+ *
14
+ * @param _coinConfig BaseCoin from statics library
15
+ */
16
+ protected constructor(_coinConfig: Readonly<CoinConfig>);
17
+ /**
18
+ * Parse a transaction based on existing data. The input format is determined by the coin
19
+ * extending this class. Some examples are hex, base64, or JSON.
20
+ *
21
+ * @param rawTransaction A raw transaction to be parsed
22
+ * @param isFirstSigner Whether the transaction is being signed by the first signer
23
+ */
24
+ from(rawTransaction: any, isFirstSigner?: boolean): void;
25
+ /**
26
+ * Coin specific implementation of {@code from}.
27
+ *
28
+ * @see {@link from}
29
+ * @returns the parsed coin specific transaction object
30
+ */
31
+ protected abstract fromImplementation(rawTransaction: any, isFirstSigner?: boolean): BaseTransaction;
32
+ /**
33
+ * Validate keys and sign the transaction.
34
+ *
35
+ * @param key One of the keys associated with this transaction
36
+ */
37
+ sign(key: BaseKey): void;
38
+ /**
39
+ * Adds a signature to the transaction.
40
+ *
41
+ * @param publicKey public key that produced the signature
42
+ * @param signature raw signature as a hex encoded Buffer
43
+ */
44
+ addSignature(publicKey: PublicKey, signature: Buffer): void;
45
+ /**
46
+ * Coin specific implementation of {@code sign}.
47
+ *
48
+ * @see {@link sign}
49
+ * @returns coin specific transaction with signature data
50
+ */
51
+ protected abstract signImplementation(key: BaseKey): BaseTransaction;
52
+ /**
53
+ * Finalize the transaction by performing any extra step like calculating hashes, verifying
54
+ * integrity, or adding default values.
55
+ *
56
+ * @returns valid coin specific transaction (signed or unsigned)
57
+ */
58
+ build(): Promise<BaseTransaction>;
59
+ /**
60
+ * Coin specific implementation of {@code build}.
61
+ *
62
+ * @see {@link build}
63
+ * @returns valid coin specific transaction (signed or unsigned)
64
+ */
65
+ protected abstract buildImplementation(): Promise<BaseTransaction>;
66
+ /**
67
+ * Check the private key is present and is valid in the blockchain context, throw otherwise.
68
+ *
69
+ * @param {BaseKey} key Private key to validate
70
+ */
71
+ abstract validateKey(key: BaseKey): void;
72
+ /**
73
+ * Check the address provided is valid in the blockchain context, throw otherwise.
74
+ *
75
+ * @param address Address data to be validated
76
+ * @param addressFormat The format the address should be in if more than one is supported
77
+ */
78
+ abstract validateAddress(address: BaseAddress, addressFormat?: string): void;
79
+ /**
80
+ * Check the amount provided is valid in the blockchain context, throw otherwise.
81
+ *
82
+ * @param {BigNumber} value Transaction amount
83
+ */
84
+ abstract validateValue(value: BigNumber): void;
85
+ /**
86
+ * Check the raw transaction has a valid format in the blockchain context, throw otherwise.
87
+ *
88
+ * @param rawTransaction Transaction in any format
89
+ */
90
+ abstract validateRawTransaction(rawTransaction: any): void;
91
+ /**
92
+ * Check the transaction mandatory fields per transaction type and ensures it is valid, throw
93
+ * otherwise.
94
+ *
95
+ * @param {BaseTransaction} transaction
96
+ */
97
+ abstract validateTransaction(transaction?: BaseTransaction): void;
98
+ /**
99
+ * Get the underlying coin full name as specified in the statics library.
100
+ */
101
+ displayName(): string;
102
+ /**
103
+ * Get the underlying coin full name as specified in the statics library.
104
+ */
105
+ coinName(): string;
106
+ /**
107
+ * Verified validity windows params if them exist and return a valid validity windows.
108
+ * Unit param must be specified
109
+ * If params are not consistent, default params will be return based on firstValid and minDuration
110
+ * @param {ValidityWindow} params validity windows parameters to validate.
111
+ * @param {String} params.unit Parameter that could be 'blockheight' or 'timestamp'
112
+ * @param {Number} [params.minDuration] Optional - Minimum duration of the window
113
+ * @param {Number} [params.maxDuration] Optional - Maximum duration of the window
114
+ * @param {Number} [params.firstValid] Optional - First valid value
115
+ * @param {Number} [params.lastValid] Optional - Last valid value
116
+ * @returns {ValidityWindow} verified validity windows or default values
117
+ */
118
+ getValidityWindow(params: ValidityWindow): ValidityWindow;
119
+ /**
120
+ * Get the transaction being built.
121
+ */
122
+ protected abstract get transaction(): BaseTransaction;
123
+ /**
124
+ * Set the transaction being built.
125
+ */
126
+ protected abstract set transaction(transaction: BaseTransaction);
127
+ }
128
+ //# sourceMappingURL=baseTransactionBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"baseTransactionBuilder.d.ts","sourceRoot":"","sources":["../../../../src/account-lib/baseCoin/baseTransactionBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGpD;;;GAGG;AACH,8BAAsB,sBAAsB;IAC1C,SAAS,CAAC,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;IAC5C;;;;OAIG;IACH,SAAS,aAAa,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAIvD;;;;;;OAMG;IACH,IAAI,CAAC,cAAc,EAAE,GAAG,EAAE,aAAa,CAAC,EAAE,OAAO,GAAG,IAAI;IAKxD;;;;;OAKG;IACH,SAAS,CAAC,QAAQ,CAAC,kBAAkB,CAAC,cAAc,EAAE,GAAG,EAAE,aAAa,CAAC,EAAE,OAAO,GAAG,eAAe;IAEpG;;;;OAIG;IACH,IAAI,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;IASxB;;;;;OAKG;IACH,YAAY,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAI3D;;;;;OAKG;IACH,SAAS,CAAC,QAAQ,CAAC,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,eAAe;IAEpE;;;;;OAKG;IACG,KAAK,IAAI,OAAO,CAAC,eAAe,CAAC;IAKvC;;;;;OAKG;IACH,SAAS,CAAC,QAAQ,CAAC,mBAAmB,IAAI,OAAO,CAAC,eAAe,CAAC;IAElE;;;;OAIG;IACH,QAAQ,CAAC,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;IAExC;;;;;OAKG;IACH,QAAQ,CAAC,eAAe,CAAC,OAAO,EAAE,WAAW,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI;IAE5E;;;;OAIG;IACH,QAAQ,CAAC,aAAa,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IAE9C;;;;OAIG;IACH,QAAQ,CAAC,sBAAsB,CAAC,cAAc,EAAE,GAAG,GAAG,IAAI;IAE1D;;;;;OAKG;IACH,QAAQ,CAAC,mBAAmB,CAAC,WAAW,CAAC,EAAE,eAAe,GAAG,IAAI;IAEjE;;OAEG;IACH,WAAW,IAAI,MAAM;IAIrB;;OAEG;IACH,QAAQ,IAAI,MAAM;IAIlB;;;;;;;;;;;OAWG;IACH,iBAAiB,CAAC,MAAM,EAAE,cAAc,GAAG,cAAc;IAyDzD;;OAEG;IACH,SAAS,CAAC,QAAQ,KAAK,WAAW,IAAI,eAAe,CAAC;IAEtD;;OAEG;IACH,SAAS,CAAC,QAAQ,KAAK,WAAW,CAAC,WAAW,EAAE,eAAe,EAAE;CAClE"}
@@ -0,0 +1,139 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BaseTransactionBuilder = void 0;
4
+ const errors_1 = require("./errors");
5
+ /**
6
+ * Generic transaction builder to be extended with coin specific logic.
7
+ * Provide a set of default steps (i.e. from, sign, build) and enforces mandatory validations.
8
+ */
9
+ class BaseTransactionBuilder {
10
+ /**
11
+ * Base constructor.
12
+ *
13
+ * @param _coinConfig BaseCoin from statics library
14
+ */
15
+ constructor(_coinConfig) {
16
+ this._coinConfig = _coinConfig;
17
+ }
18
+ /**
19
+ * Parse a transaction based on existing data. The input format is determined by the coin
20
+ * extending this class. Some examples are hex, base64, or JSON.
21
+ *
22
+ * @param rawTransaction A raw transaction to be parsed
23
+ * @param isFirstSigner Whether the transaction is being signed by the first signer
24
+ */
25
+ from(rawTransaction, isFirstSigner) {
26
+ this.validateRawTransaction(rawTransaction);
27
+ this.transaction = this.fromImplementation(rawTransaction, isFirstSigner);
28
+ }
29
+ /**
30
+ * Validate keys and sign the transaction.
31
+ *
32
+ * @param key One of the keys associated with this transaction
33
+ */
34
+ sign(key) {
35
+ this.validateKey(key);
36
+ if (!this.transaction.canSign(key)) {
37
+ throw new errors_1.SigningError('Private key cannot sign the transaction');
38
+ }
39
+ this.transaction = this.signImplementation(key);
40
+ }
41
+ /**
42
+ * Adds a signature to the transaction.
43
+ *
44
+ * @param publicKey public key that produced the signature
45
+ * @param signature raw signature as a hex encoded Buffer
46
+ */
47
+ addSignature(publicKey, signature) {
48
+ throw new errors_1.SigningError(`${this.coinName()} does not support adding signatures directly.`);
49
+ }
50
+ /**
51
+ * Finalize the transaction by performing any extra step like calculating hashes, verifying
52
+ * integrity, or adding default values.
53
+ *
54
+ * @returns valid coin specific transaction (signed or unsigned)
55
+ */
56
+ async build() {
57
+ this.validateTransaction(this.transaction);
58
+ return this.buildImplementation();
59
+ }
60
+ /**
61
+ * Get the underlying coin full name as specified in the statics library.
62
+ */
63
+ displayName() {
64
+ return this._coinConfig.fullName;
65
+ }
66
+ /**
67
+ * Get the underlying coin full name as specified in the statics library.
68
+ */
69
+ coinName() {
70
+ return this._coinConfig.name;
71
+ }
72
+ /**
73
+ * Verified validity windows params if them exist and return a valid validity windows.
74
+ * Unit param must be specified
75
+ * If params are not consistent, default params will be return based on firstValid and minDuration
76
+ * @param {ValidityWindow} params validity windows parameters to validate.
77
+ * @param {String} params.unit Parameter that could be 'blockheight' or 'timestamp'
78
+ * @param {Number} [params.minDuration] Optional - Minimum duration of the window
79
+ * @param {Number} [params.maxDuration] Optional - Maximum duration of the window
80
+ * @param {Number} [params.firstValid] Optional - First valid value
81
+ * @param {Number} [params.lastValid] Optional - Last valid value
82
+ * @returns {ValidityWindow} verified validity windows or default values
83
+ */
84
+ getValidityWindow(params) {
85
+ if (!params.unit || (params.unit !== 'timestamp' && params.unit !== 'blockheight')) {
86
+ throw new Error('Unit parameter must be specified as blockheight or timestamp');
87
+ }
88
+ const unit = params.unit;
89
+ let defaultMinDuration;
90
+ let defaultMaxDuration;
91
+ let defaultFirstValid;
92
+ let defaultLastValid;
93
+ /* Set Default Params
94
+ minimum duration is set as 1 hr (3600000 msec) if unit is timestamp or 20 blocks if it is blockheight
95
+ maximum duration is set as 1 year (31536000000 msec) if unit is timestamp or 1000000 blocks if it is blockheight.
96
+ */
97
+ if (unit === 'timestamp') {
98
+ defaultMinDuration = 0;
99
+ defaultMaxDuration = 31536000000;
100
+ defaultFirstValid = Date.now();
101
+ defaultLastValid = defaultFirstValid + defaultMaxDuration;
102
+ }
103
+ else {
104
+ defaultMinDuration = 0;
105
+ defaultMaxDuration = 1000000;
106
+ defaultFirstValid = 0;
107
+ defaultLastValid = defaultFirstValid + defaultMaxDuration;
108
+ }
109
+ // If any params exist, they will be used, otherwise it will be used default params.
110
+ let firstValid = params.firstValid || defaultFirstValid;
111
+ let lastValid = params.lastValid || defaultLastValid;
112
+ let minDuration = params.minDuration || defaultMinDuration;
113
+ let maxDuration = params.maxDuration || defaultMaxDuration;
114
+ /* Validate Params:
115
+ minDuration < maxDuration
116
+ firstValid < lastValid
117
+ firstValid + minDuration <= lastValid <= firstValid + maxDuration
118
+ */
119
+ if (minDuration >= maxDuration) {
120
+ throw new Error(`Expected maxDuration (${maxDuration}) to be grather than minDuration (${minDuration})`);
121
+ }
122
+ firstValid = firstValid >= 0 ? firstValid : defaultFirstValid;
123
+ minDuration = minDuration >= 0 ? minDuration : defaultMinDuration;
124
+ maxDuration = maxDuration > minDuration ? maxDuration : defaultMaxDuration;
125
+ lastValid =
126
+ lastValid >= firstValid + minDuration && lastValid <= firstValid + maxDuration
127
+ ? lastValid
128
+ : firstValid + maxDuration;
129
+ return {
130
+ firstValid,
131
+ lastValid,
132
+ minDuration,
133
+ maxDuration,
134
+ unit,
135
+ };
136
+ }
137
+ }
138
+ exports.BaseTransactionBuilder = BaseTransactionBuilder;
139
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZVRyYW5zYWN0aW9uQnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hY2NvdW50LWxpYi9iYXNlQ29pbi9iYXNlVHJhbnNhY3Rpb25CdWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUlBLHFDQUF3QztBQUV4Qzs7O0dBR0c7QUFDSCxNQUFzQixzQkFBc0I7SUFFMUM7Ozs7T0FJRztJQUNILFlBQXNCLFdBQWlDO1FBQ3JELElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO0lBQ2pDLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxJQUFJLENBQUMsY0FBbUIsRUFBRSxhQUF1QjtRQUMvQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDNUMsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsY0FBYyxFQUFFLGFBQWEsQ0FBQyxDQUFDO0lBQzVFLENBQUM7SUFVRDs7OztPQUlHO0lBQ0gsSUFBSSxDQUFDLEdBQVk7UUFDZixJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ25DLE1BQU0sSUFBSSxxQkFBWSxDQUFDLHlDQUF5QyxDQUFDLENBQUM7UUFDcEUsQ0FBQztRQUVELElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILFlBQVksQ0FBQyxTQUFvQixFQUFFLFNBQWlCO1FBQ2xELE1BQU0sSUFBSSxxQkFBWSxDQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSwrQ0FBK0MsQ0FBQyxDQUFDO0lBQzVGLENBQUM7SUFVRDs7Ozs7T0FLRztJQUNILEtBQUssQ0FBQyxLQUFLO1FBQ1QsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUMzQyxPQUFPLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUErQ0Q7O09BRUc7SUFDSCxXQUFXO1FBQ1QsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQztJQUNuQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxRQUFRO1FBQ04sT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQztJQUMvQixDQUFDO0lBRUQ7Ozs7Ozs7Ozs7O09BV0c7SUFDSCxpQkFBaUIsQ0FBQyxNQUFzQjtRQUN0QyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssV0FBVyxJQUFJLE1BQU0sQ0FBQyxJQUFJLEtBQUssYUFBYSxDQUFDLEVBQUUsQ0FBQztZQUNuRixNQUFNLElBQUksS0FBSyxDQUFDLDhEQUE4RCxDQUFDLENBQUM7UUFDbEYsQ0FBQztRQUNELE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUM7UUFDekIsSUFBSSxrQkFBMEIsQ0FBQztRQUMvQixJQUFJLGtCQUEwQixDQUFDO1FBQy9CLElBQUksaUJBQXlCLENBQUM7UUFDOUIsSUFBSSxnQkFBd0IsQ0FBQztRQUU3Qjs7O1dBR0c7UUFDSCxJQUFJLElBQUksS0FBSyxXQUFXLEVBQUUsQ0FBQztZQUN6QixrQkFBa0IsR0FBRyxDQUFDLENBQUM7WUFDdkIsa0JBQWtCLEdBQUcsV0FBVyxDQUFDO1lBQ2pDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUMvQixnQkFBZ0IsR0FBRyxpQkFBaUIsR0FBRyxrQkFBa0IsQ0FBQztRQUM1RCxDQUFDO2FBQU0sQ0FBQztZQUNOLGtCQUFrQixHQUFHLENBQUMsQ0FBQztZQUN2QixrQkFBa0IsR0FBRyxPQUFPLENBQUM7WUFDN0IsaUJBQWlCLEdBQUcsQ0FBQyxDQUFDO1lBQ3RCLGdCQUFnQixHQUFHLGlCQUFpQixHQUFHLGtCQUFrQixDQUFDO1FBQzVELENBQUM7UUFFRCxvRkFBb0Y7UUFDcEYsSUFBSSxVQUFVLEdBQVcsTUFBTSxDQUFDLFVBQVUsSUFBSSxpQkFBaUIsQ0FBQztRQUNoRSxJQUFJLFNBQVMsR0FBVyxNQUFNLENBQUMsU0FBUyxJQUFJLGdCQUFnQixDQUFDO1FBQzdELElBQUksV0FBVyxHQUFXLE1BQU0sQ0FBQyxXQUFXLElBQUksa0JBQWtCLENBQUM7UUFDbkUsSUFBSSxXQUFXLEdBQVcsTUFBTSxDQUFDLFdBQVcsSUFBSSxrQkFBa0IsQ0FBQztRQUVuRTs7OztXQUlHO1FBQ0gsSUFBSSxXQUFXLElBQUksV0FBVyxFQUFFLENBQUM7WUFDL0IsTUFBTSxJQUFJLEtBQUssQ0FBQyx5QkFBeUIsV0FBVyxxQ0FBcUMsV0FBVyxHQUFHLENBQUMsQ0FBQztRQUMzRyxDQUFDO1FBQ0QsVUFBVSxHQUFHLFVBQVUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUM7UUFDOUQsV0FBVyxHQUFHLFdBQVcsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUM7UUFDbEUsV0FBVyxHQUFHLFdBQVcsR0FBRyxXQUFXLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUM7UUFDM0UsU0FBUztZQUNQLFNBQVMsSUFBSSxVQUFVLEdBQUcsV0FBVyxJQUFJLFNBQVMsSUFBSSxVQUFVLEdBQUcsV0FBVztnQkFDNUUsQ0FBQyxDQUFDLFNBQVM7Z0JBQ1gsQ0FBQyxDQUFDLFVBQVUsR0FBRyxXQUFXLENBQUM7UUFFL0IsT0FBTztZQUNMLFVBQVU7WUFDVixTQUFTO1lBQ1QsV0FBVztZQUNYLFdBQVc7WUFDWCxJQUFJO1NBQ0wsQ0FBQztJQUNKLENBQUM7Q0FXRjtBQW5ORCx3REFtTkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQmlnTnVtYmVyIGZyb20gJ2JpZ251bWJlci5qcyc7XG5pbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQgeyBCYXNlQWRkcmVzcywgQmFzZUtleSwgUHVibGljS2V5LCBWYWxpZGl0eVdpbmRvdyB9IGZyb20gJy4vaWZhY2UnO1xuaW1wb3J0IHsgQmFzZVRyYW5zYWN0aW9uIH0gZnJvbSAnLi9iYXNlVHJhbnNhY3Rpb24nO1xuaW1wb3J0IHsgU2lnbmluZ0Vycm9yIH0gZnJvbSAnLi9lcnJvcnMnO1xuXG4vKipcbiAqIEdlbmVyaWMgdHJhbnNhY3Rpb24gYnVpbGRlciB0byBiZSBleHRlbmRlZCB3aXRoIGNvaW4gc3BlY2lmaWMgbG9naWMuXG4gKiBQcm92aWRlIGEgc2V0IG9mIGRlZmF1bHQgc3RlcHMgKGkuZS4gZnJvbSwgc2lnbiwgYnVpbGQpIGFuZCBlbmZvcmNlcyBtYW5kYXRvcnkgdmFsaWRhdGlvbnMuXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlVHJhbnNhY3Rpb25CdWlsZGVyIHtcbiAgcHJvdGVjdGVkIF9jb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPjtcbiAgLyoqXG4gICAqIEJhc2UgY29uc3RydWN0b3IuXG4gICAqXG4gICAqIEBwYXJhbSBfY29pbkNvbmZpZyBCYXNlQ29pbiBmcm9tIHN0YXRpY3MgbGlicmFyeVxuICAgKi9cbiAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKF9jb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHRoaXMuX2NvaW5Db25maWcgPSBfY29pbkNvbmZpZztcbiAgfVxuXG4gIC8qKlxuICAgKiBQYXJzZSBhIHRyYW5zYWN0aW9uIGJhc2VkIG9uIGV4aXN0aW5nIGRhdGEuIFRoZSBpbnB1dCBmb3JtYXQgaXMgZGV0ZXJtaW5lZCBieSB0aGUgY29pblxuICAgKiBleHRlbmRpbmcgdGhpcyBjbGFzcy4gU29tZSBleGFtcGxlcyBhcmUgaGV4LCBiYXNlNjQsIG9yIEpTT04uXG4gICAqXG4gICAqIEBwYXJhbSByYXdUcmFuc2FjdGlvbiBBIHJhdyB0cmFuc2FjdGlvbiB0byBiZSBwYXJzZWRcbiAgICogQHBhcmFtIGlzRmlyc3RTaWduZXIgV2hldGhlciB0aGUgdHJhbnNhY3Rpb24gaXMgYmVpbmcgc2lnbmVkIGJ5IHRoZSBmaXJzdCBzaWduZXJcbiAgICovXG4gIGZyb20ocmF3VHJhbnNhY3Rpb246IGFueSwgaXNGaXJzdFNpZ25lcj86IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLnZhbGlkYXRlUmF3VHJhbnNhY3Rpb24ocmF3VHJhbnNhY3Rpb24pO1xuICAgIHRoaXMudHJhbnNhY3Rpb24gPSB0aGlzLmZyb21JbXBsZW1lbnRhdGlvbihyYXdUcmFuc2FjdGlvbiwgaXNGaXJzdFNpZ25lcik7XG4gIH1cblxuICAvKipcbiAgICogQ29pbiBzcGVjaWZpYyBpbXBsZW1lbnRhdGlvbiBvZiB7QGNvZGUgZnJvbX0uXG4gICAqXG4gICAqIEBzZWUge0BsaW5rIGZyb219XG4gICAqIEByZXR1cm5zIHRoZSBwYXJzZWQgY29pbiBzcGVjaWZpYyB0cmFuc2FjdGlvbiBvYmplY3RcbiAgICovXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBmcm9tSW1wbGVtZW50YXRpb24ocmF3VHJhbnNhY3Rpb246IGFueSwgaXNGaXJzdFNpZ25lcj86IGJvb2xlYW4pOiBCYXNlVHJhbnNhY3Rpb247XG5cbiAgLyoqXG4gICAqIFZhbGlkYXRlIGtleXMgYW5kIHNpZ24gdGhlIHRyYW5zYWN0aW9uLlxuICAgKlxuICAgKiBAcGFyYW0ga2V5IE9uZSBvZiB0aGUga2V5cyBhc3NvY2lhdGVkIHdpdGggdGhpcyB0cmFuc2FjdGlvblxuICAgKi9cbiAgc2lnbihrZXk6IEJhc2VLZXkpOiB2b2lkIHtcbiAgICB0aGlzLnZhbGlkYXRlS2V5KGtleSk7XG4gICAgaWYgKCF0aGlzLnRyYW5zYWN0aW9uLmNhblNpZ24oa2V5KSkge1xuICAgICAgdGhyb3cgbmV3IFNpZ25pbmdFcnJvcignUHJpdmF0ZSBrZXkgY2Fubm90IHNpZ24gdGhlIHRyYW5zYWN0aW9uJyk7XG4gICAgfVxuXG4gICAgdGhpcy50cmFuc2FjdGlvbiA9IHRoaXMuc2lnbkltcGxlbWVudGF0aW9uKGtleSk7XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhIHNpZ25hdHVyZSB0byB0aGUgdHJhbnNhY3Rpb24uXG4gICAqXG4gICAqIEBwYXJhbSBwdWJsaWNLZXkgcHVibGljIGtleSB0aGF0IHByb2R1Y2VkIHRoZSBzaWduYXR1cmVcbiAgICogQHBhcmFtIHNpZ25hdHVyZSByYXcgc2lnbmF0dXJlIGFzIGEgaGV4IGVuY29kZWQgQnVmZmVyXG4gICAqL1xuICBhZGRTaWduYXR1cmUocHVibGljS2V5OiBQdWJsaWNLZXksIHNpZ25hdHVyZTogQnVmZmVyKTogdm9pZCB7XG4gICAgdGhyb3cgbmV3IFNpZ25pbmdFcnJvcihgJHt0aGlzLmNvaW5OYW1lKCl9IGRvZXMgbm90IHN1cHBvcnQgYWRkaW5nIHNpZ25hdHVyZXMgZGlyZWN0bHkuYCk7XG4gIH1cblxuICAvKipcbiAgICogQ29pbiBzcGVjaWZpYyBpbXBsZW1lbnRhdGlvbiBvZiB7QGNvZGUgc2lnbn0uXG4gICAqXG4gICAqIEBzZWUge0BsaW5rIHNpZ259XG4gICAqIEByZXR1cm5zIGNvaW4gc3BlY2lmaWMgdHJhbnNhY3Rpb24gd2l0aCBzaWduYXR1cmUgZGF0YVxuICAgKi9cbiAgcHJvdGVjdGVkIGFic3RyYWN0IHNpZ25JbXBsZW1lbnRhdGlvbihrZXk6IEJhc2VLZXkpOiBCYXNlVHJhbnNhY3Rpb247XG5cbiAgLyoqXG4gICAqIEZpbmFsaXplIHRoZSB0cmFuc2FjdGlvbiBieSBwZXJmb3JtaW5nIGFueSBleHRyYSBzdGVwIGxpa2UgY2FsY3VsYXRpbmcgaGFzaGVzLCB2ZXJpZnlpbmdcbiAgICogaW50ZWdyaXR5LCBvciBhZGRpbmcgZGVmYXVsdCB2YWx1ZXMuXG4gICAqXG4gICAqIEByZXR1cm5zIHZhbGlkIGNvaW4gc3BlY2lmaWMgdHJhbnNhY3Rpb24gKHNpZ25lZCBvciB1bnNpZ25lZClcbiAgICovXG4gIGFzeW5jIGJ1aWxkKCk6IFByb21pc2U8QmFzZVRyYW5zYWN0aW9uPiB7XG4gICAgdGhpcy52YWxpZGF0ZVRyYW5zYWN0aW9uKHRoaXMudHJhbnNhY3Rpb24pO1xuICAgIHJldHVybiB0aGlzLmJ1aWxkSW1wbGVtZW50YXRpb24oKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb2luIHNwZWNpZmljIGltcGxlbWVudGF0aW9uIG9mIHtAY29kZSBidWlsZH0uXG4gICAqXG4gICAqIEBzZWUge0BsaW5rIGJ1aWxkfVxuICAgKiBAcmV0dXJucyB2YWxpZCBjb2luIHNwZWNpZmljIHRyYW5zYWN0aW9uIChzaWduZWQgb3IgdW5zaWduZWQpXG4gICAqL1xuICBwcm90ZWN0ZWQgYWJzdHJhY3QgYnVpbGRJbXBsZW1lbnRhdGlvbigpOiBQcm9taXNlPEJhc2VUcmFuc2FjdGlvbj47XG5cbiAgLyoqXG4gICAqIENoZWNrIHRoZSBwcml2YXRlIGtleSBpcyBwcmVzZW50IGFuZCBpcyB2YWxpZCBpbiB0aGUgYmxvY2tjaGFpbiBjb250ZXh0LCB0aHJvdyBvdGhlcndpc2UuXG4gICAqXG4gICAqIEBwYXJhbSB7QmFzZUtleX0ga2V5IFByaXZhdGUga2V5IHRvIHZhbGlkYXRlXG4gICAqL1xuICBhYnN0cmFjdCB2YWxpZGF0ZUtleShrZXk6IEJhc2VLZXkpOiB2b2lkO1xuXG4gIC8qKlxuICAgKiBDaGVjayB0aGUgYWRkcmVzcyBwcm92aWRlZCBpcyB2YWxpZCBpbiB0aGUgYmxvY2tjaGFpbiBjb250ZXh0LCB0aHJvdyBvdGhlcndpc2UuXG4gICAqXG4gICAqIEBwYXJhbSBhZGRyZXNzIEFkZHJlc3MgZGF0YSB0byBiZSB2YWxpZGF0ZWRcbiAgICogQHBhcmFtIGFkZHJlc3NGb3JtYXQgVGhlIGZvcm1hdCB0aGUgYWRkcmVzcyBzaG91bGQgYmUgaW4gaWYgbW9yZSB0aGFuIG9uZSBpcyBzdXBwb3J0ZWRcbiAgICovXG4gIGFic3RyYWN0IHZhbGlkYXRlQWRkcmVzcyhhZGRyZXNzOiBCYXNlQWRkcmVzcywgYWRkcmVzc0Zvcm1hdD86IHN0cmluZyk6IHZvaWQ7XG5cbiAgLyoqXG4gICAqIENoZWNrIHRoZSBhbW91bnQgcHJvdmlkZWQgaXMgdmFsaWQgaW4gdGhlIGJsb2NrY2hhaW4gY29udGV4dCwgdGhyb3cgb3RoZXJ3aXNlLlxuICAgKlxuICAgKiBAcGFyYW0ge0JpZ051bWJlcn0gdmFsdWUgVHJhbnNhY3Rpb24gYW1vdW50XG4gICAqL1xuICBhYnN0cmFjdCB2YWxpZGF0ZVZhbHVlKHZhbHVlOiBCaWdOdW1iZXIpOiB2b2lkO1xuXG4gIC8qKlxuICAgKiBDaGVjayB0aGUgcmF3IHRyYW5zYWN0aW9uIGhhcyBhIHZhbGlkIGZvcm1hdCBpbiB0aGUgYmxvY2tjaGFpbiBjb250ZXh0LCB0aHJvdyBvdGhlcndpc2UuXG4gICAqXG4gICAqIEBwYXJhbSByYXdUcmFuc2FjdGlvbiBUcmFuc2FjdGlvbiBpbiBhbnkgZm9ybWF0XG4gICAqL1xuICBhYnN0cmFjdCB2YWxpZGF0ZVJhd1RyYW5zYWN0aW9uKHJhd1RyYW5zYWN0aW9uOiBhbnkpOiB2b2lkO1xuXG4gIC8qKlxuICAgKiBDaGVjayB0aGUgdHJhbnNhY3Rpb24gbWFuZGF0b3J5IGZpZWxkcyBwZXIgdHJhbnNhY3Rpb24gdHlwZSBhbmQgZW5zdXJlcyBpdCBpcyB2YWxpZCwgdGhyb3dcbiAgICogb3RoZXJ3aXNlLlxuICAgKlxuICAgKiBAcGFyYW0ge0Jhc2VUcmFuc2FjdGlvbn0gdHJhbnNhY3Rpb25cbiAgICovXG4gIGFic3RyYWN0IHZhbGlkYXRlVHJhbnNhY3Rpb24odHJhbnNhY3Rpb24/OiBCYXNlVHJhbnNhY3Rpb24pOiB2b2lkO1xuXG4gIC8qKlxuICAgKiBHZXQgdGhlIHVuZGVybHlpbmcgY29pbiBmdWxsIG5hbWUgYXMgc3BlY2lmaWVkIGluIHRoZSBzdGF0aWNzIGxpYnJhcnkuXG4gICAqL1xuICBkaXNwbGF5TmFtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9jb2luQ29uZmlnLmZ1bGxOYW1lO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgdW5kZXJseWluZyBjb2luIGZ1bGwgbmFtZSBhcyBzcGVjaWZpZWQgaW4gdGhlIHN0YXRpY3MgbGlicmFyeS5cbiAgICovXG4gIGNvaW5OYW1lKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2NvaW5Db25maWcubmFtZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBWZXJpZmllZCB2YWxpZGl0eSB3aW5kb3dzIHBhcmFtcyBpZiB0aGVtIGV4aXN0IGFuZCByZXR1cm4gYSB2YWxpZCB2YWxpZGl0eSB3aW5kb3dzLlxuICAgKiBVbml0IHBhcmFtIG11c3QgYmUgc3BlY2lmaWVkXG4gICAqIElmIHBhcmFtcyBhcmUgbm90IGNvbnNpc3RlbnQsIGRlZmF1bHQgcGFyYW1zIHdpbGwgYmUgcmV0dXJuIGJhc2VkIG9uIGZpcnN0VmFsaWQgYW5kIG1pbkR1cmF0aW9uXG4gICAqIEBwYXJhbSB7VmFsaWRpdHlXaW5kb3d9IHBhcmFtcyB2YWxpZGl0eSB3aW5kb3dzIHBhcmFtZXRlcnMgdG8gdmFsaWRhdGUuXG4gICAqIEBwYXJhbSB7U3RyaW5nfSBwYXJhbXMudW5pdCBQYXJhbWV0ZXIgdGhhdCBjb3VsZCBiZSAnYmxvY2toZWlnaHQnIG9yICd0aW1lc3RhbXAnXG4gICAqIEBwYXJhbSB7TnVtYmVyfSBbcGFyYW1zLm1pbkR1cmF0aW9uXSBPcHRpb25hbCAtIE1pbmltdW0gZHVyYXRpb24gb2YgdGhlIHdpbmRvd1xuICAgKiBAcGFyYW0ge051bWJlcn0gW3BhcmFtcy5tYXhEdXJhdGlvbl0gT3B0aW9uYWwgLSBNYXhpbXVtIGR1cmF0aW9uIG9mIHRoZSB3aW5kb3dcbiAgICogQHBhcmFtIHtOdW1iZXJ9IFtwYXJhbXMuZmlyc3RWYWxpZF0gT3B0aW9uYWwgLSBGaXJzdCB2YWxpZCB2YWx1ZVxuICAgKiBAcGFyYW0ge051bWJlcn0gW3BhcmFtcy5sYXN0VmFsaWRdIE9wdGlvbmFsIC0gTGFzdCB2YWxpZCB2YWx1ZVxuICAgKiBAcmV0dXJucyB7VmFsaWRpdHlXaW5kb3d9IHZlcmlmaWVkIHZhbGlkaXR5IHdpbmRvd3Mgb3IgZGVmYXVsdCB2YWx1ZXNcbiAgICovXG4gIGdldFZhbGlkaXR5V2luZG93KHBhcmFtczogVmFsaWRpdHlXaW5kb3cpOiBWYWxpZGl0eVdpbmRvdyB7XG4gICAgaWYgKCFwYXJhbXMudW5pdCB8fCAocGFyYW1zLnVuaXQgIT09ICd0aW1lc3RhbXAnICYmIHBhcmFtcy51bml0ICE9PSAnYmxvY2toZWlnaHQnKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdVbml0IHBhcmFtZXRlciBtdXN0IGJlIHNwZWNpZmllZCBhcyBibG9ja2hlaWdodCBvciB0aW1lc3RhbXAnKTtcbiAgICB9XG4gICAgY29uc3QgdW5pdCA9IHBhcmFtcy51bml0O1xuICAgIGxldCBkZWZhdWx0TWluRHVyYXRpb246IG51bWJlcjtcbiAgICBsZXQgZGVmYXVsdE1heER1cmF0aW9uOiBudW1iZXI7XG4gICAgbGV0IGRlZmF1bHRGaXJzdFZhbGlkOiBudW1iZXI7XG4gICAgbGV0IGRlZmF1bHRMYXN0VmFsaWQ6IG51bWJlcjtcblxuICAgIC8qIFNldCBEZWZhdWx0IFBhcmFtc1xuICAgICAgbWluaW11bSBkdXJhdGlvbiBpcyBzZXQgYXMgMSBociAoMzYwMDAwMCBtc2VjKSBpZiB1bml0IGlzIHRpbWVzdGFtcCBvciAyMCBibG9ja3MgaWYgaXQgaXMgYmxvY2toZWlnaHRcbiAgICAgIG1heGltdW0gZHVyYXRpb24gaXMgc2V0IGFzIDEgeWVhciAoMzE1MzYwMDAwMDAgbXNlYykgaWYgdW5pdCBpcyB0aW1lc3RhbXAgb3IgMTAwMDAwMCBibG9ja3MgaWYgaXQgaXMgYmxvY2toZWlnaHQuXG4gICAgICovXG4gICAgaWYgKHVuaXQgPT09ICd0aW1lc3RhbXAnKSB7XG4gICAgICBkZWZhdWx0TWluRHVyYXRpb24gPSAwO1xuICAgICAgZGVmYXVsdE1heER1cmF0aW9uID0gMzE1MzYwMDAwMDA7XG4gICAgICBkZWZhdWx0Rmlyc3RWYWxpZCA9IERhdGUubm93KCk7XG4gICAgICBkZWZhdWx0TGFzdFZhbGlkID0gZGVmYXVsdEZpcnN0VmFsaWQgKyBkZWZhdWx0TWF4RHVyYXRpb247XG4gICAgfSBlbHNlIHtcbiAgICAgIGRlZmF1bHRNaW5EdXJhdGlvbiA9IDA7XG4gICAgICBkZWZhdWx0TWF4RHVyYXRpb24gPSAxMDAwMDAwO1xuICAgICAgZGVmYXVsdEZpcnN0VmFsaWQgPSAwO1xuICAgICAgZGVmYXVsdExhc3RWYWxpZCA9IGRlZmF1bHRGaXJzdFZhbGlkICsgZGVmYXVsdE1heER1cmF0aW9uO1xuICAgIH1cblxuICAgIC8vIElmIGFueSBwYXJhbXMgZXhpc3QsIHRoZXkgd2lsbCBiZSB1c2VkLCBvdGhlcndpc2UgaXQgd2lsbCBiZSB1c2VkIGRlZmF1bHQgcGFyYW1zLlxuICAgIGxldCBmaXJzdFZhbGlkOiBudW1iZXIgPSBwYXJhbXMuZmlyc3RWYWxpZCB8fCBkZWZhdWx0Rmlyc3RWYWxpZDtcbiAgICBsZXQgbGFzdFZhbGlkOiBudW1iZXIgPSBwYXJhbXMubGFzdFZhbGlkIHx8IGRlZmF1bHRMYXN0VmFsaWQ7XG4gICAgbGV0IG1pbkR1cmF0aW9uOiBudW1iZXIgPSBwYXJhbXMubWluRHVyYXRpb24gfHwgZGVmYXVsdE1pbkR1cmF0aW9uO1xuICAgIGxldCBtYXhEdXJhdGlvbjogbnVtYmVyID0gcGFyYW1zLm1heER1cmF0aW9uIHx8IGRlZmF1bHRNYXhEdXJhdGlvbjtcblxuICAgIC8qIFZhbGlkYXRlIFBhcmFtczpcbiAgICAgIG1pbkR1cmF0aW9uIDwgbWF4RHVyYXRpb25cbiAgICAgIGZpcnN0VmFsaWQgPCBsYXN0VmFsaWRcbiAgICAgIGZpcnN0VmFsaWQgKyBtaW5EdXJhdGlvbiA8PSBsYXN0VmFsaWQgPD0gZmlyc3RWYWxpZCArIG1heER1cmF0aW9uXG4gICAgICovXG4gICAgaWYgKG1pbkR1cmF0aW9uID49IG1heER1cmF0aW9uKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYEV4cGVjdGVkIG1heER1cmF0aW9uICgke21heER1cmF0aW9ufSkgdG8gYmUgZ3JhdGhlciB0aGFuIG1pbkR1cmF0aW9uICgke21pbkR1cmF0aW9ufSlgKTtcbiAgICB9XG4gICAgZmlyc3RWYWxpZCA9IGZpcnN0VmFsaWQgPj0gMCA/IGZpcnN0VmFsaWQgOiBkZWZhdWx0Rmlyc3RWYWxpZDtcbiAgICBtaW5EdXJhdGlvbiA9IG1pbkR1cmF0aW9uID49IDAgPyBtaW5EdXJhdGlvbiA6IGRlZmF1bHRNaW5EdXJhdGlvbjtcbiAgICBtYXhEdXJhdGlvbiA9IG1heER1cmF0aW9uID4gbWluRHVyYXRpb24gPyBtYXhEdXJhdGlvbiA6IGRlZmF1bHRNYXhEdXJhdGlvbjtcbiAgICBsYXN0VmFsaWQgPVxuICAgICAgbGFzdFZhbGlkID49IGZpcnN0VmFsaWQgKyBtaW5EdXJhdGlvbiAmJiBsYXN0VmFsaWQgPD0gZmlyc3RWYWxpZCArIG1heER1cmF0aW9uXG4gICAgICAgID8gbGFzdFZhbGlkXG4gICAgICAgIDogZmlyc3RWYWxpZCArIG1heER1cmF0aW9uO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGZpcnN0VmFsaWQsXG4gICAgICBsYXN0VmFsaWQsXG4gICAgICBtaW5EdXJhdGlvbixcbiAgICAgIG1heER1cmF0aW9uLFxuICAgICAgdW5pdCxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgdHJhbnNhY3Rpb24gYmVpbmcgYnVpbHQuXG4gICAqL1xuICBwcm90ZWN0ZWQgYWJzdHJhY3QgZ2V0IHRyYW5zYWN0aW9uKCk6IEJhc2VUcmFuc2FjdGlvbjtcblxuICAvKipcbiAgICogU2V0IHRoZSB0cmFuc2FjdGlvbiBiZWluZyBidWlsdC5cbiAgICovXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBzZXQgdHJhbnNhY3Rpb24odHJhbnNhY3Rpb246IEJhc2VUcmFuc2FjdGlvbik7XG59XG4iXX0=
@@ -0,0 +1,29 @@
1
+ import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
2
+ /**
3
+ * Generic transaction builder factory to be extended with coin specific logic.
4
+ * Provide a set of transaction builders to create each transaction type.
5
+ */
6
+ export declare abstract class BaseTransactionBuilderFactory {
7
+ protected _coinConfig: Readonly<CoinConfig>;
8
+ /**
9
+ * Base constructor.
10
+ *
11
+ * @param {CoinConfig} _coinConfig BaseCoin from statics library
12
+ */
13
+ protected constructor(_coinConfig: Readonly<CoinConfig>);
14
+ /**
15
+ * Returns a specific builder to create a wallet initialization transaction
16
+ */
17
+ abstract getWalletInitializationBuilder(): any;
18
+ /**
19
+ * Returns a specific builder to create a funds transfer transaction
20
+ */
21
+ abstract getTransferBuilder(): any;
22
+ /**
23
+ * Returns a proper builder for the given encoded transaction
24
+ *
25
+ * @param {Uint8Array | string} raw - Encoded transaction in hex string or Uint8Array format
26
+ */
27
+ abstract from(raw: Uint8Array | string): any;
28
+ }
29
+ //# sourceMappingURL=baseTransactionBuilderFactory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"baseTransactionBuilderFactory.d.ts","sourceRoot":"","sources":["../../../../src/account-lib/baseCoin/baseTransactionBuilderFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAE7D;;;GAGG;AACH,8BAAsB,6BAA6B;IACjD,SAAS,CAAC,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;IAC5C;;;;OAIG;IACH,SAAS,aAAa,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAIvD;;OAEG;aACa,8BAA8B;IAE9C;;OAEG;aACa,kBAAkB;IAElC;;;;OAIG;aACa,IAAI,CAAC,GAAG,EAAE,UAAU,GAAG,MAAM;CAC9C"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BaseTransactionBuilderFactory = void 0;
4
+ /**
5
+ * Generic transaction builder factory to be extended with coin specific logic.
6
+ * Provide a set of transaction builders to create each transaction type.
7
+ */
8
+ class BaseTransactionBuilderFactory {
9
+ /**
10
+ * Base constructor.
11
+ *
12
+ * @param {CoinConfig} _coinConfig BaseCoin from statics library
13
+ */
14
+ constructor(_coinConfig) {
15
+ this._coinConfig = _coinConfig;
16
+ }
17
+ }
18
+ exports.BaseTransactionBuilderFactory = BaseTransactionBuilderFactory;
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZVRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYWNjb3VudC1saWIvYmFzZUNvaW4vYmFzZVRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRUE7OztHQUdHO0FBQ0gsTUFBc0IsNkJBQTZCO0lBRWpEOzs7O09BSUc7SUFDSCxZQUFzQixXQUFpQztRQUNyRCxJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztJQUNqQyxDQUFDO0NBa0JGO0FBM0JELHNFQTJCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VDb2luIGFzIENvaW5Db25maWcgfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcblxuLyoqXG4gKiBHZW5lcmljIHRyYW5zYWN0aW9uIGJ1aWxkZXIgZmFjdG9yeSB0byBiZSBleHRlbmRlZCB3aXRoIGNvaW4gc3BlY2lmaWMgbG9naWMuXG4gKiBQcm92aWRlIGEgc2V0IG9mIHRyYW5zYWN0aW9uIGJ1aWxkZXJzIHRvIGNyZWF0ZSBlYWNoIHRyYW5zYWN0aW9uIHR5cGUuXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSB7XG4gIHByb3RlY3RlZCBfY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz47XG4gIC8qKlxuICAgKiBCYXNlIGNvbnN0cnVjdG9yLlxuICAgKlxuICAgKiBAcGFyYW0ge0NvaW5Db25maWd9IF9jb2luQ29uZmlnIEJhc2VDb2luIGZyb20gc3RhdGljcyBsaWJyYXJ5XG4gICAqL1xuICBwcm90ZWN0ZWQgY29uc3RydWN0b3IoX2NvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KSB7XG4gICAgdGhpcy5fY29pbkNvbmZpZyA9IF9jb2luQ29uZmlnO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSBzcGVjaWZpYyBidWlsZGVyIHRvIGNyZWF0ZSBhIHdhbGxldCBpbml0aWFsaXphdGlvbiB0cmFuc2FjdGlvblxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IGdldFdhbGxldEluaXRpYWxpemF0aW9uQnVpbGRlcigpO1xuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGEgc3BlY2lmaWMgYnVpbGRlciB0byBjcmVhdGUgYSBmdW5kcyB0cmFuc2ZlciB0cmFuc2FjdGlvblxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IGdldFRyYW5zZmVyQnVpbGRlcigpO1xuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGEgcHJvcGVyIGJ1aWxkZXIgZm9yIHRoZSBnaXZlbiBlbmNvZGVkIHRyYW5zYWN0aW9uXG4gICAqXG4gICAqIEBwYXJhbSB7VWludDhBcnJheSB8IHN0cmluZ30gcmF3IC0gRW5jb2RlZCB0cmFuc2FjdGlvbiBpbiBoZXggc3RyaW5nIG9yIFVpbnQ4QXJyYXkgZm9ybWF0XG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgZnJvbShyYXc6IFVpbnQ4QXJyYXkgfCBzdHJpbmcpO1xufVxuIl19
@@ -0,0 +1,45 @@
1
+ export interface BaseUtils {
2
+ /**
3
+ * Returns whether or not the string is a valid protocol address
4
+ *
5
+ * @param {string} address - the address to be validated
6
+ * @returns {boolean} - the validation result
7
+ */
8
+ isValidAddress(address: string): boolean;
9
+ /**
10
+ * Returns whether or not the string is a valid protocol transaction id or not
11
+ *
12
+ * @param {string} txId - the transaction id to be validated
13
+ * @returns {boolean} - the validation result
14
+ */
15
+ isValidTransactionId(txId: string): boolean;
16
+ /**
17
+ * Returns whether or not the string is a valid protocol public key
18
+ *
19
+ * @param {string} key - the public key to be validated
20
+ * @returns {boolean} - the validation result
21
+ */
22
+ isValidPublicKey(key: string): boolean;
23
+ /**
24
+ * Returns whether or not the string is a valid protocol private key
25
+ *
26
+ * @param {string} key - the private key to be validated
27
+ * @returns {boolean} - the validation result
28
+ */
29
+ isValidPrivateKey(key: string): boolean;
30
+ /**
31
+ * Returns whether or not the string is a valid protocol signature
32
+ *
33
+ * @param {string} signature - the signature to validate
34
+ * @returns {boolean} - the validation result
35
+ */
36
+ isValidSignature(signature: string): boolean;
37
+ /**
38
+ * Returns whether or not the string is a valid protocol block hash
39
+ *
40
+ * @param {string} hash - the address to validate
41
+ * @returns {boolean} - the validation result
42
+ */
43
+ isValidBlockId(hash: string): boolean;
44
+ }
45
+ //# sourceMappingURL=baseUtils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"baseUtils.d.ts","sourceRoot":"","sources":["../../../../src/account-lib/baseCoin/baseUtils.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,SAAS;IACxB;;;;;OAKG;IACH,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;IAEzC;;;;;OAKG;IACH,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IAE5C;;;;;OAKG;IACH,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IAEvC;;;;;OAKG;IACH,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IAExC;;;;;OAKG;IACH,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;IAE7C;;;;;OAKG;IACH,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;CACvC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZVV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FjY291bnQtbGliL2Jhc2VDb2luL2Jhc2VVdGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBCYXNlVXRpbHMge1xuICAvKipcbiAgICogUmV0dXJucyB3aGV0aGVyIG9yIG5vdCB0aGUgc3RyaW5nIGlzIGEgdmFsaWQgcHJvdG9jb2wgYWRkcmVzc1xuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gYWRkcmVzcyAtIHRoZSBhZGRyZXNzIHRvIGJlIHZhbGlkYXRlZFxuICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gLSB0aGUgdmFsaWRhdGlvbiByZXN1bHRcbiAgICovXG4gIGlzVmFsaWRBZGRyZXNzKGFkZHJlc3M6IHN0cmluZyk6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFJldHVybnMgd2hldGhlciBvciBub3QgdGhlIHN0cmluZyBpcyBhIHZhbGlkIHByb3RvY29sIHRyYW5zYWN0aW9uIGlkIG9yIG5vdFxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gdHhJZCAtIHRoZSB0cmFuc2FjdGlvbiBpZCB0byBiZSB2YWxpZGF0ZWRcbiAgICogQHJldHVybnMge2Jvb2xlYW59IC0gdGhlIHZhbGlkYXRpb24gcmVzdWx0XG4gICAqL1xuICBpc1ZhbGlkVHJhbnNhY3Rpb25JZCh0eElkOiBzdHJpbmcpOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHdoZXRoZXIgb3Igbm90IHRoZSBzdHJpbmcgaXMgYSB2YWxpZCBwcm90b2NvbCBwdWJsaWMga2V5XG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgLSB0aGUgIHB1YmxpYyBrZXkgdG8gYmUgdmFsaWRhdGVkXG4gICAqIEByZXR1cm5zIHtib29sZWFufSAtIHRoZSB2YWxpZGF0aW9uIHJlc3VsdFxuICAgKi9cbiAgaXNWYWxpZFB1YmxpY0tleShrZXk6IHN0cmluZyk6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFJldHVybnMgd2hldGhlciBvciBub3QgdGhlIHN0cmluZyBpcyBhIHZhbGlkIHByb3RvY29sIHByaXZhdGUga2V5XG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgLSB0aGUgIHByaXZhdGUga2V5IHRvIGJlIHZhbGlkYXRlZFxuICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gLSB0aGUgdmFsaWRhdGlvbiByZXN1bHRcbiAgICovXG4gIGlzVmFsaWRQcml2YXRlS2V5KGtleTogc3RyaW5nKTogYm9vbGVhbjtcblxuICAvKipcbiAgICogUmV0dXJucyB3aGV0aGVyIG9yIG5vdCB0aGUgc3RyaW5nIGlzIGEgdmFsaWQgcHJvdG9jb2wgc2lnbmF0dXJlXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBzaWduYXR1cmUgLSB0aGUgc2lnbmF0dXJlIHRvIHZhbGlkYXRlXG4gICAqIEByZXR1cm5zIHtib29sZWFufSAtIHRoZSB2YWxpZGF0aW9uIHJlc3VsdFxuICAgKi9cbiAgaXNWYWxpZFNpZ25hdHVyZShzaWduYXR1cmU6IHN0cmluZyk6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFJldHVybnMgd2hldGhlciBvciBub3QgdGhlIHN0cmluZyBpcyBhIHZhbGlkIHByb3RvY29sIGJsb2NrIGhhc2hcbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IGhhc2ggLSB0aGUgYWRkcmVzcyB0byB2YWxpZGF0ZVxuICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gLSB0aGUgdmFsaWRhdGlvbiByZXN1bHRcbiAgICovXG4gIGlzVmFsaWRCbG9ja0lkKGhhc2g6IHN0cmluZyk6IGJvb2xlYW47XG59XG4iXX0=