@bitgo/account-lib 2.21.0-hotfix.1 → 2.21.0-rc.10

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 (629) hide show
  1. package/CHANGELOG.md +2 -2
  2. package/dist/tsconfig.tsbuildinfo +1092 -4480
  3. package/package.json +22 -22
  4. package/dist/browser/bitgo-account-lib.js +0 -2
  5. package/dist/browser/bitgo-account-lib.js.LICENSE.txt +0 -337
  6. package/dist/resources/hbar/protobuf/BasicTypes.proto +0 -424
  7. package/dist/resources/hbar/protobuf/CryptoCreate.proto +0 -47
  8. package/dist/resources/hbar/protobuf/CryptoTransfer.proto +0 -33
  9. package/dist/resources/hbar/protobuf/Duration.proto +0 -28
  10. package/dist/resources/hbar/protobuf/Timestamp.proto +0 -34
  11. package/dist/resources/hbar/protobuf/Transaction.proto +0 -35
  12. package/dist/resources/hbar/protobuf/TransactionBody.proto +0 -24
  13. package/dist/resources/hbar/protobuf/TransactionContents.proto +0 -33
  14. package/dist/resources/hbar/protobuf/hedera.d.ts +0 -4612
  15. package/dist/resources/hbar/protobuf/hedera.js +0 -12192
  16. package/dist/resources/trx/protobuf/Contract.proto +0 -256
  17. package/dist/resources/trx/protobuf/Discover.proto +0 -44
  18. package/dist/resources/trx/protobuf/tron.d.ts +0 -11024
  19. package/dist/resources/trx/protobuf/tron.js +0 -31510
  20. package/dist/resources/trx/protobuf/tron.proto +0 -677
  21. package/dist/src/coin/algo/assetTransferBuilder.d.ts +0 -42
  22. package/dist/src/coin/algo/assetTransferBuilder.d.ts.map +0 -1
  23. package/dist/src/coin/algo/assetTransferBuilder.js +0 -105
  24. package/dist/src/coin/algo/errors.d.ts +0 -11
  25. package/dist/src/coin/algo/errors.d.ts.map +0 -1
  26. package/dist/src/coin/algo/errors.js +0 -27
  27. package/dist/src/coin/algo/ifaces.d.ts +0 -46
  28. package/dist/src/coin/algo/ifaces.d.ts.map +0 -1
  29. package/dist/src/coin/algo/ifaces.js +0 -3
  30. package/dist/src/coin/algo/index.d.ts +0 -13
  31. package/dist/src/coin/algo/index.d.ts.map +0 -1
  32. package/dist/src/coin/algo/index.js +0 -47
  33. package/dist/src/coin/algo/keyPair.d.ts +0 -25
  34. package/dist/src/coin/algo/keyPair.d.ts.map +0 -1
  35. package/dist/src/coin/algo/keyPair.js +0 -77
  36. package/dist/src/coin/algo/keyRegistrationBuilder.d.ts +0 -104
  37. package/dist/src/coin/algo/keyRegistrationBuilder.d.ts.map +0 -1
  38. package/dist/src/coin/algo/keyRegistrationBuilder.js +0 -239
  39. package/dist/src/coin/algo/seedEncoding.d.ts +0 -25
  40. package/dist/src/coin/algo/seedEncoding.d.ts.map +0 -1
  41. package/dist/src/coin/algo/seedEncoding.js +0 -97
  42. package/dist/src/coin/algo/transaction.d.ts +0 -75
  43. package/dist/src/coin/algo/transaction.d.ts.map +0 -1
  44. package/dist/src/coin/algo/transaction.js +0 -251
  45. package/dist/src/coin/algo/transactionBuilder.d.ts +0 -204
  46. package/dist/src/coin/algo/transactionBuilder.d.ts.map +0 -1
  47. package/dist/src/coin/algo/transactionBuilder.js +0 -373
  48. package/dist/src/coin/algo/transactionBuilderFactory.d.ts +0 -16
  49. package/dist/src/coin/algo/transactionBuilderFactory.d.ts.map +0 -1
  50. package/dist/src/coin/algo/transactionBuilderFactory.js +0 -52
  51. package/dist/src/coin/algo/transferBuilder.d.ts +0 -40
  52. package/dist/src/coin/algo/transferBuilder.d.ts.map +0 -1
  53. package/dist/src/coin/algo/transferBuilder.js +0 -89
  54. package/dist/src/coin/algo/txnSchema.d.ts +0 -7
  55. package/dist/src/coin/algo/txnSchema.d.ts.map +0 -1
  56. package/dist/src/coin/algo/txnSchema.js +0 -68
  57. package/dist/src/coin/algo/utils.d.ts +0 -249
  58. package/dist/src/coin/algo/utils.d.ts.map +0 -1
  59. package/dist/src/coin/algo/utils.js +0 -539
  60. package/dist/src/coin/avaxc/index.d.ts +0 -8
  61. package/dist/src/coin/avaxc/index.d.ts.map +0 -1
  62. package/dist/src/coin/avaxc/index.js +0 -35
  63. package/dist/src/coin/avaxc/keyPair.d.ts +0 -26
  64. package/dist/src/coin/avaxc/keyPair.d.ts.map +0 -1
  65. package/dist/src/coin/avaxc/keyPair.js +0 -83
  66. package/dist/src/coin/avaxc/resources.d.ts +0 -12
  67. package/dist/src/coin/avaxc/resources.d.ts.map +0 -1
  68. package/dist/src/coin/avaxc/resources.js +0 -27
  69. package/dist/src/coin/avaxc/transactionBuilder.d.ts +0 -17
  70. package/dist/src/coin/avaxc/transactionBuilder.d.ts.map +0 -1
  71. package/dist/src/coin/avaxc/transactionBuilder.js +0 -45
  72. package/dist/src/coin/avaxc/transferBuilder.d.ts +0 -17
  73. package/dist/src/coin/avaxc/transferBuilder.d.ts.map +0 -1
  74. package/dist/src/coin/avaxc/transferBuilder.js +0 -25
  75. package/dist/src/coin/avaxc/utils.d.ts +0 -39
  76. package/dist/src/coin/avaxc/utils.d.ts.map +0 -1
  77. package/dist/src/coin/avaxc/utils.js +0 -70
  78. package/dist/src/coin/avaxc/walletUtil.d.ts +0 -22
  79. package/dist/src/coin/avaxc/walletUtil.d.ts.map +0 -1
  80. package/dist/src/coin/avaxc/walletUtil.js +0 -62
  81. package/dist/src/coin/baseCoin/baseKeyPair.d.ts +0 -27
  82. package/dist/src/coin/baseCoin/baseKeyPair.d.ts.map +0 -1
  83. package/dist/src/coin/baseCoin/baseKeyPair.js +0 -3
  84. package/dist/src/coin/baseCoin/baseTransaction.d.ts +0 -71
  85. package/dist/src/coin/baseCoin/baseTransaction.d.ts.map +0 -1
  86. package/dist/src/coin/baseCoin/baseTransaction.js +0 -94
  87. package/dist/src/coin/baseCoin/baseTransactionBuilder.d.ts +0 -128
  88. package/dist/src/coin/baseCoin/baseTransactionBuilder.d.ts.map +0 -1
  89. package/dist/src/coin/baseCoin/baseTransactionBuilder.js +0 -179
  90. package/dist/src/coin/baseCoin/baseTransactionBuilderFactory.d.ts +0 -30
  91. package/dist/src/coin/baseCoin/baseTransactionBuilderFactory.d.ts.map +0 -1
  92. package/dist/src/coin/baseCoin/baseTransactionBuilderFactory.js +0 -20
  93. package/dist/src/coin/baseCoin/baseUtils.d.ts +0 -45
  94. package/dist/src/coin/baseCoin/baseUtils.d.ts.map +0 -1
  95. package/dist/src/coin/baseCoin/baseUtils.js +0 -3
  96. package/dist/src/coin/baseCoin/blsKeyPair.d.ts +0 -75
  97. package/dist/src/coin/baseCoin/blsKeyPair.d.ts.map +0 -1
  98. package/dist/src/coin/baseCoin/blsKeyPair.js +0 -232
  99. package/dist/src/coin/baseCoin/ed25519KeyPair.d.ts +0 -50
  100. package/dist/src/coin/baseCoin/ed25519KeyPair.d.ts.map +0 -1
  101. package/dist/src/coin/baseCoin/ed25519KeyPair.js +0 -141
  102. package/dist/src/coin/baseCoin/enum.d.ts +0 -43
  103. package/dist/src/coin/baseCoin/enum.d.ts.map +0 -1
  104. package/dist/src/coin/baseCoin/enum.js +0 -70
  105. package/dist/src/coin/baseCoin/errors.d.ts +0 -65
  106. package/dist/src/coin/baseCoin/errors.d.ts.map +0 -1
  107. package/dist/src/coin/baseCoin/errors.js +0 -156
  108. package/dist/src/coin/baseCoin/iface.d.ts +0 -162
  109. package/dist/src/coin/baseCoin/iface.d.ts.map +0 -1
  110. package/dist/src/coin/baseCoin/iface.js +0 -38
  111. package/dist/src/coin/baseCoin/index.d.ts +0 -12
  112. package/dist/src/coin/baseCoin/index.d.ts.map +0 -1
  113. package/dist/src/coin/baseCoin/index.js +0 -41
  114. package/dist/src/coin/baseCoin/secp256k1ExtendedKeyPair.d.ts +0 -55
  115. package/dist/src/coin/baseCoin/secp256k1ExtendedKeyPair.d.ts.map +0 -1
  116. package/dist/src/coin/baseCoin/secp256k1ExtendedKeyPair.js +0 -124
  117. package/dist/src/coin/celo/index.d.ts +0 -8
  118. package/dist/src/coin/celo/index.d.ts.map +0 -1
  119. package/dist/src/coin/celo/index.js +0 -35
  120. package/dist/src/coin/celo/resources.d.ts +0 -10
  121. package/dist/src/coin/celo/resources.d.ts.map +0 -1
  122. package/dist/src/coin/celo/resources.js +0 -26
  123. package/dist/src/coin/celo/stakingBuilder.d.ts +0 -91
  124. package/dist/src/coin/celo/stakingBuilder.d.ts.map +0 -1
  125. package/dist/src/coin/celo/stakingBuilder.js +0 -277
  126. package/dist/src/coin/celo/stakingCall.d.ts +0 -7
  127. package/dist/src/coin/celo/stakingCall.d.ts.map +0 -1
  128. package/dist/src/coin/celo/stakingCall.js +0 -13
  129. package/dist/src/coin/celo/stakingUtils.d.ts +0 -15
  130. package/dist/src/coin/celo/stakingUtils.d.ts.map +0 -1
  131. package/dist/src/coin/celo/stakingUtils.js +0 -98
  132. package/dist/src/coin/celo/transaction.d.ts +0 -10
  133. package/dist/src/coin/celo/transaction.d.ts.map +0 -1
  134. package/dist/src/coin/celo/transaction.js +0 -37
  135. package/dist/src/coin/celo/transactionBuilder.d.ts +0 -86
  136. package/dist/src/coin/celo/transactionBuilder.d.ts.map +0 -1
  137. package/dist/src/coin/celo/transactionBuilder.js +0 -228
  138. package/dist/src/coin/celo/transferBuilder.d.ts +0 -19
  139. package/dist/src/coin/celo/transferBuilder.d.ts.map +0 -1
  140. package/dist/src/coin/celo/transferBuilder.js +0 -27
  141. package/dist/src/coin/celo/types.d.ts +0 -52
  142. package/dist/src/coin/celo/types.d.ts.map +0 -1
  143. package/dist/src/coin/celo/types.js +0 -222
  144. package/dist/src/coin/celo/utils.d.ts +0 -18
  145. package/dist/src/coin/celo/utils.d.ts.map +0 -1
  146. package/dist/src/coin/celo/utils.js +0 -99
  147. package/dist/src/coin/cspr/constants.d.ts +0 -19
  148. package/dist/src/coin/cspr/constants.d.ts.map +0 -1
  149. package/dist/src/coin/cspr/constants.js +0 -28
  150. package/dist/src/coin/cspr/delegateBuilder.d.ts +0 -49
  151. package/dist/src/coin/cspr/delegateBuilder.d.ts.map +0 -1
  152. package/dist/src/coin/cspr/delegateBuilder.js +0 -111
  153. package/dist/src/coin/cspr/ifaces.d.ts +0 -69
  154. package/dist/src/coin/cspr/ifaces.d.ts.map +0 -1
  155. package/dist/src/coin/cspr/ifaces.js +0 -3
  156. package/dist/src/coin/cspr/index.d.ts +0 -6
  157. package/dist/src/coin/cspr/index.d.ts.map +0 -1
  158. package/dist/src/coin/cspr/index.js +0 -31
  159. package/dist/src/coin/cspr/keyPair.d.ts +0 -18
  160. package/dist/src/coin/cspr/keyPair.d.ts.map +0 -1
  161. package/dist/src/coin/cspr/keyPair.js +0 -75
  162. package/dist/src/coin/cspr/transaction.d.ts +0 -55
  163. package/dist/src/coin/cspr/transaction.d.ts.map +0 -1
  164. package/dist/src/coin/cspr/transaction.js +0 -227
  165. package/dist/src/coin/cspr/transactionBuilder.d.ts +0 -124
  166. package/dist/src/coin/cspr/transactionBuilder.d.ts.map +0 -1
  167. package/dist/src/coin/cspr/transactionBuilder.js +0 -312
  168. package/dist/src/coin/cspr/transactionBuilderFactory.d.ts +0 -46
  169. package/dist/src/coin/cspr/transactionBuilderFactory.d.ts.map +0 -1
  170. package/dist/src/coin/cspr/transactionBuilderFactory.js +0 -98
  171. package/dist/src/coin/cspr/transferBuilder.d.ts +0 -39
  172. package/dist/src/coin/cspr/transferBuilder.d.ts.map +0 -1
  173. package/dist/src/coin/cspr/transferBuilder.js +0 -106
  174. package/dist/src/coin/cspr/undelegateBuilder.d.ts +0 -49
  175. package/dist/src/coin/cspr/undelegateBuilder.d.ts.map +0 -1
  176. package/dist/src/coin/cspr/undelegateBuilder.js +0 -111
  177. package/dist/src/coin/cspr/utils.d.ts +0 -188
  178. package/dist/src/coin/cspr/utils.d.ts.map +0 -1
  179. package/dist/src/coin/cspr/utils.js +0 -477
  180. package/dist/src/coin/cspr/walletInitializationBuilder.d.ts +0 -27
  181. package/dist/src/coin/cspr/walletInitializationBuilder.d.ts.map +0 -1
  182. package/dist/src/coin/cspr/walletInitializationBuilder.js +0 -95
  183. package/dist/src/coin/dot/addressInitializationBuilder.d.ts +0 -79
  184. package/dist/src/coin/dot/addressInitializationBuilder.d.ts.map +0 -1
  185. package/dist/src/coin/dot/addressInitializationBuilder.js +0 -182
  186. package/dist/src/coin/dot/batchTransactionBuilder.d.ts +0 -47
  187. package/dist/src/coin/dot/batchTransactionBuilder.d.ts.map +0 -1
  188. package/dist/src/coin/dot/batchTransactionBuilder.js +0 -122
  189. package/dist/src/coin/dot/claimBuilder.d.ts +0 -58
  190. package/dist/src/coin/dot/claimBuilder.d.ts.map +0 -1
  191. package/dist/src/coin/dot/claimBuilder.js +0 -119
  192. package/dist/src/coin/dot/errors.d.ts +0 -8
  193. package/dist/src/coin/dot/errors.d.ts.map +0 -1
  194. package/dist/src/coin/dot/errors.js +0 -19
  195. package/dist/src/coin/dot/iface.d.ts +0 -194
  196. package/dist/src/coin/dot/iface.d.ts.map +0 -1
  197. package/dist/src/coin/dot/iface.js +0 -39
  198. package/dist/src/coin/dot/index.d.ts +0 -17
  199. package/dist/src/coin/dot/index.d.ts.map +0 -1
  200. package/dist/src/coin/dot/index.js +0 -53
  201. package/dist/src/coin/dot/keyPair.d.ts +0 -31
  202. package/dist/src/coin/dot/keyPair.d.ts.map +0 -1
  203. package/dist/src/coin/dot/keyPair.js +0 -70
  204. package/dist/src/coin/dot/singletonRegistry.d.ts +0 -7
  205. package/dist/src/coin/dot/singletonRegistry.d.ts.map +0 -1
  206. package/dist/src/coin/dot/singletonRegistry.js +0 -20
  207. package/dist/src/coin/dot/stakingBuilder.d.ts +0 -58
  208. package/dist/src/coin/dot/stakingBuilder.d.ts.map +0 -1
  209. package/dist/src/coin/dot/stakingBuilder.js +0 -139
  210. package/dist/src/coin/dot/transaction.d.ts +0 -65
  211. package/dist/src/coin/dot/transaction.d.ts.map +0 -1
  212. package/dist/src/coin/dot/transaction.js +0 -396
  213. package/dist/src/coin/dot/transactionBuilder.d.ts +0 -131
  214. package/dist/src/coin/dot/transactionBuilder.d.ts.map +0 -1
  215. package/dist/src/coin/dot/transactionBuilder.js +0 -332
  216. package/dist/src/coin/dot/transactionBuilderFactory.d.ts +0 -26
  217. package/dist/src/coin/dot/transactionBuilderFactory.d.ts.map +0 -1
  218. package/dist/src/coin/dot/transactionBuilderFactory.js +0 -93
  219. package/dist/src/coin/dot/transferBuilder.d.ts +0 -71
  220. package/dist/src/coin/dot/transferBuilder.d.ts.map +0 -1
  221. package/dist/src/coin/dot/transferBuilder.js +0 -177
  222. package/dist/src/coin/dot/txnSchema.d.ts +0 -14
  223. package/dist/src/coin/dot/txnSchema.d.ts.map +0 -1
  224. package/dist/src/coin/dot/txnSchema.js +0 -104
  225. package/dist/src/coin/dot/unnominateBuilder.d.ts +0 -24
  226. package/dist/src/coin/dot/unnominateBuilder.d.ts.map +0 -1
  227. package/dist/src/coin/dot/unnominateBuilder.js +0 -50
  228. package/dist/src/coin/dot/unstakeBuilder.d.ts +0 -38
  229. package/dist/src/coin/dot/unstakeBuilder.d.ts.map +0 -1
  230. package/dist/src/coin/dot/unstakeBuilder.js +0 -89
  231. package/dist/src/coin/dot/utils.d.ts +0 -145
  232. package/dist/src/coin/dot/utils.d.ts.map +0 -1
  233. package/dist/src/coin/dot/utils.js +0 -283
  234. package/dist/src/coin/dot/withdrawUnstakedBuilder.d.ts +0 -38
  235. package/dist/src/coin/dot/withdrawUnstakedBuilder.d.ts.map +0 -1
  236. package/dist/src/coin/dot/withdrawUnstakedBuilder.js +0 -90
  237. package/dist/src/coin/etc/index.d.ts +0 -8
  238. package/dist/src/coin/etc/index.d.ts.map +0 -1
  239. package/dist/src/coin/etc/index.js +0 -35
  240. package/dist/src/coin/etc/resources.d.ts +0 -10
  241. package/dist/src/coin/etc/resources.d.ts.map +0 -1
  242. package/dist/src/coin/etc/resources.js +0 -26
  243. package/dist/src/coin/etc/transactionBuilder.d.ts +0 -17
  244. package/dist/src/coin/etc/transactionBuilder.d.ts.map +0 -1
  245. package/dist/src/coin/etc/transactionBuilder.js +0 -45
  246. package/dist/src/coin/etc/transferBuilder.d.ts +0 -19
  247. package/dist/src/coin/etc/transferBuilder.d.ts.map +0 -1
  248. package/dist/src/coin/etc/transferBuilder.js +0 -27
  249. package/dist/src/coin/etc/utils.d.ts +0 -18
  250. package/dist/src/coin/etc/utils.d.ts.map +0 -1
  251. package/dist/src/coin/etc/utils.js +0 -42
  252. package/dist/src/coin/eth/contractCall.d.ts +0 -8
  253. package/dist/src/coin/eth/contractCall.d.ts.map +0 -1
  254. package/dist/src/coin/eth/contractCall.js +0 -17
  255. package/dist/src/coin/eth/iface.d.ts +0 -122
  256. package/dist/src/coin/eth/iface.d.ts.map +0 -1
  257. package/dist/src/coin/eth/iface.js +0 -8
  258. package/dist/src/coin/eth/index.d.ts +0 -10
  259. package/dist/src/coin/eth/index.d.ts.map +0 -1
  260. package/dist/src/coin/eth/index.js +0 -39
  261. package/dist/src/coin/eth/keyPair.d.ts +0 -26
  262. package/dist/src/coin/eth/keyPair.d.ts.map +0 -1
  263. package/dist/src/coin/eth/keyPair.js +0 -85
  264. package/dist/src/coin/eth/transaction.d.ts +0 -64
  265. package/dist/src/coin/eth/transaction.d.ts.map +0 -1
  266. package/dist/src/coin/eth/transaction.js +0 -137
  267. package/dist/src/coin/eth/transactionBuilder.d.ts +0 -194
  268. package/dist/src/coin/eth/transactionBuilder.d.ts.map +0 -1
  269. package/dist/src/coin/eth/transactionBuilder.js +0 -624
  270. package/dist/src/coin/eth/transferBuilder/baseNFTTransferBuilder.d.ts +0 -47
  271. package/dist/src/coin/eth/transferBuilder/baseNFTTransferBuilder.d.ts.map +0 -1
  272. package/dist/src/coin/eth/transferBuilder/baseNFTTransferBuilder.js +0 -113
  273. package/dist/src/coin/eth/transferBuilder/transferBuilderERC1155.d.ts +0 -14
  274. package/dist/src/coin/eth/transferBuilder/transferBuilderERC1155.d.ts.map +0 -1
  275. package/dist/src/coin/eth/transferBuilder/transferBuilderERC1155.js +0 -83
  276. package/dist/src/coin/eth/transferBuilder/transferBuilderERC721.d.ts +0 -13
  277. package/dist/src/coin/eth/transferBuilder/transferBuilderERC721.d.ts.map +0 -1
  278. package/dist/src/coin/eth/transferBuilder/transferBuilderERC721.js +0 -68
  279. package/dist/src/coin/eth/transferBuilder.d.ts +0 -65
  280. package/dist/src/coin/eth/transferBuilder.d.ts.map +0 -1
  281. package/dist/src/coin/eth/transferBuilder.js +0 -197
  282. package/dist/src/coin/eth/types.d.ts +0 -39
  283. package/dist/src/coin/eth/types.d.ts.map +0 -1
  284. package/dist/src/coin/eth/types.js +0 -135
  285. package/dist/src/coin/eth/utils.d.ts +0 -201
  286. package/dist/src/coin/eth/utils.d.ts.map +0 -1
  287. package/dist/src/coin/eth/utils.js +0 -486
  288. package/dist/src/coin/eth/walletUtil.d.ts +0 -21
  289. package/dist/src/coin/eth/walletUtil.d.ts.map +0 -1
  290. package/dist/src/coin/eth/walletUtil.js +0 -31
  291. package/dist/src/coin/eth2/index.d.ts +0 -2
  292. package/dist/src/coin/eth2/index.d.ts.map +0 -1
  293. package/dist/src/coin/eth2/index.js +0 -6
  294. package/dist/src/coin/eth2/keyPair.d.ts +0 -33
  295. package/dist/src/coin/eth2/keyPair.d.ts.map +0 -1
  296. package/dist/src/coin/eth2/keyPair.js +0 -65
  297. package/dist/src/coin/hbar/constants.d.ts +0 -8
  298. package/dist/src/coin/hbar/constants.d.ts.map +0 -1
  299. package/dist/src/coin/hbar/constants.js +0 -12
  300. package/dist/src/coin/hbar/iface.d.ts +0 -26
  301. package/dist/src/coin/hbar/iface.d.ts.map +0 -1
  302. package/dist/src/coin/hbar/iface.js +0 -3
  303. package/dist/src/coin/hbar/ifaces.d.ts +0 -26
  304. package/dist/src/coin/hbar/ifaces.d.ts.map +0 -1
  305. package/dist/src/coin/hbar/ifaces.js +0 -3
  306. package/dist/src/coin/hbar/index.d.ts +0 -6
  307. package/dist/src/coin/hbar/index.d.ts.map +0 -1
  308. package/dist/src/coin/hbar/index.js +0 -31
  309. package/dist/src/coin/hbar/keyPair.d.ts +0 -23
  310. package/dist/src/coin/hbar/keyPair.d.ts.map +0 -1
  311. package/dist/src/coin/hbar/keyPair.js +0 -70
  312. package/dist/src/coin/hbar/tokenAssociateBuilder.d.ts +0 -35
  313. package/dist/src/coin/hbar/tokenAssociateBuilder.d.ts.map +0 -1
  314. package/dist/src/coin/hbar/tokenAssociateBuilder.js +0 -118
  315. package/dist/src/coin/hbar/transaction.d.ts +0 -97
  316. package/dist/src/coin/hbar/transaction.d.ts.map +0 -1
  317. package/dist/src/coin/hbar/transaction.js +0 -255
  318. package/dist/src/coin/hbar/transactionBuilder.d.ts +0 -111
  319. package/dist/src/coin/hbar/transactionBuilder.d.ts.map +0 -1
  320. package/dist/src/coin/hbar/transactionBuilder.js +0 -270
  321. package/dist/src/coin/hbar/transactionBuilderFactory.d.ts +0 -42
  322. package/dist/src/coin/hbar/transactionBuilderFactory.d.ts.map +0 -1
  323. package/dist/src/coin/hbar/transactionBuilderFactory.js +0 -79
  324. package/dist/src/coin/hbar/transferBuilder.d.ts +0 -43
  325. package/dist/src/coin/hbar/transferBuilder.d.ts.map +0 -1
  326. package/dist/src/coin/hbar/transferBuilder.js +0 -124
  327. package/dist/src/coin/hbar/utils.d.ts +0 -186
  328. package/dist/src/coin/hbar/utils.d.ts.map +0 -1
  329. package/dist/src/coin/hbar/utils.js +0 -400
  330. package/dist/src/coin/hbar/walletInitializationBuilder.d.ts +0 -28
  331. package/dist/src/coin/hbar/walletInitializationBuilder.d.ts.map +0 -1
  332. package/dist/src/coin/hbar/walletInitializationBuilder.js +0 -110
  333. package/dist/src/coin/near/constants.d.ts +0 -12
  334. package/dist/src/coin/near/constants.d.ts.map +0 -1
  335. package/dist/src/coin/near/constants.js +0 -15
  336. package/dist/src/coin/near/contractCallWrapper.d.ts +0 -33
  337. package/dist/src/coin/near/contractCallWrapper.d.ts.map +0 -1
  338. package/dist/src/coin/near/contractCallWrapper.js +0 -68
  339. package/dist/src/coin/near/errors.d.ts +0 -5
  340. package/dist/src/coin/near/errors.d.ts.map +0 -1
  341. package/dist/src/coin/near/errors.js +0 -12
  342. package/dist/src/coin/near/iface.d.ts +0 -40
  343. package/dist/src/coin/near/iface.d.ts.map +0 -1
  344. package/dist/src/coin/near/iface.js +0 -8
  345. package/dist/src/coin/near/index.d.ts +0 -11
  346. package/dist/src/coin/near/index.d.ts.map +0 -1
  347. package/dist/src/coin/near/index.js +0 -41
  348. package/dist/src/coin/near/keyPair.d.ts +0 -25
  349. package/dist/src/coin/near/keyPair.d.ts.map +0 -1
  350. package/dist/src/coin/near/keyPair.js +0 -73
  351. package/dist/src/coin/near/stakingActivateBuilder.d.ts +0 -32
  352. package/dist/src/coin/near/stakingActivateBuilder.d.ts.map +0 -1
  353. package/dist/src/coin/near/stakingActivateBuilder.js +0 -90
  354. package/dist/src/coin/near/stakingDeactivateBuilder.d.ts +0 -32
  355. package/dist/src/coin/near/stakingDeactivateBuilder.d.ts.map +0 -1
  356. package/dist/src/coin/near/stakingDeactivateBuilder.js +0 -89
  357. package/dist/src/coin/near/stakingWithdrawBuilder.d.ts +0 -32
  358. package/dist/src/coin/near/stakingWithdrawBuilder.d.ts.map +0 -1
  359. package/dist/src/coin/near/stakingWithdrawBuilder.js +0 -89
  360. package/dist/src/coin/near/transaction.d.ts +0 -90
  361. package/dist/src/coin/near/transaction.d.ts.map +0 -1
  362. package/dist/src/coin/near/transaction.js +0 -368
  363. package/dist/src/coin/near/transactionBuilder.d.ts +0 -89
  364. package/dist/src/coin/near/transactionBuilder.d.ts.map +0 -1
  365. package/dist/src/coin/near/transactionBuilder.js +0 -216
  366. package/dist/src/coin/near/transactionBuilderFactory.d.ts +0 -30
  367. package/dist/src/coin/near/transactionBuilderFactory.d.ts.map +0 -1
  368. package/dist/src/coin/near/transactionBuilderFactory.js +0 -71
  369. package/dist/src/coin/near/transferBuilder.d.ts +0 -26
  370. package/dist/src/coin/near/transferBuilder.d.ts.map +0 -1
  371. package/dist/src/coin/near/transferBuilder.js +0 -72
  372. package/dist/src/coin/near/utils.d.ts +0 -42
  373. package/dist/src/coin/near/utils.d.ts.map +0 -1
  374. package/dist/src/coin/near/utils.js +0 -85
  375. package/dist/src/coin/near/walletInitializationBuilder.d.ts +0 -12
  376. package/dist/src/coin/near/walletInitializationBuilder.d.ts.map +0 -1
  377. package/dist/src/coin/near/walletInitializationBuilder.js +0 -20
  378. package/dist/src/coin/polygon/index.d.ts +0 -8
  379. package/dist/src/coin/polygon/index.d.ts.map +0 -1
  380. package/dist/src/coin/polygon/index.js +0 -35
  381. package/dist/src/coin/polygon/resources.d.ts +0 -10
  382. package/dist/src/coin/polygon/resources.d.ts.map +0 -1
  383. package/dist/src/coin/polygon/resources.js +0 -25
  384. package/dist/src/coin/polygon/transactionBuilder.d.ts +0 -17
  385. package/dist/src/coin/polygon/transactionBuilder.d.ts.map +0 -1
  386. package/dist/src/coin/polygon/transactionBuilder.js +0 -44
  387. package/dist/src/coin/polygon/transferBuilder.d.ts +0 -19
  388. package/dist/src/coin/polygon/transferBuilder.d.ts.map +0 -1
  389. package/dist/src/coin/polygon/transferBuilder.js +0 -27
  390. package/dist/src/coin/polygon/utils.d.ts +0 -18
  391. package/dist/src/coin/polygon/utils.d.ts.map +0 -1
  392. package/dist/src/coin/polygon/utils.js +0 -42
  393. package/dist/src/coin/polygon/walletUtil.d.ts +0 -48
  394. package/dist/src/coin/polygon/walletUtil.d.ts.map +0 -1
  395. package/dist/src/coin/polygon/walletUtil.js +0 -632
  396. package/dist/src/coin/rbtc/index.d.ts +0 -8
  397. package/dist/src/coin/rbtc/index.d.ts.map +0 -1
  398. package/dist/src/coin/rbtc/index.js +0 -35
  399. package/dist/src/coin/rbtc/resources.d.ts +0 -10
  400. package/dist/src/coin/rbtc/resources.d.ts.map +0 -1
  401. package/dist/src/coin/rbtc/resources.js +0 -25
  402. package/dist/src/coin/rbtc/transactionBuilder.d.ts +0 -17
  403. package/dist/src/coin/rbtc/transactionBuilder.d.ts.map +0 -1
  404. package/dist/src/coin/rbtc/transactionBuilder.js +0 -44
  405. package/dist/src/coin/rbtc/transferBuilder.d.ts +0 -19
  406. package/dist/src/coin/rbtc/transferBuilder.d.ts.map +0 -1
  407. package/dist/src/coin/rbtc/transferBuilder.js +0 -27
  408. package/dist/src/coin/rbtc/utils.d.ts +0 -18
  409. package/dist/src/coin/rbtc/utils.d.ts.map +0 -1
  410. package/dist/src/coin/rbtc/utils.js +0 -42
  411. package/dist/src/coin/sol/ataInitializationBuilder.d.ts +0 -41
  412. package/dist/src/coin/sol/ataInitializationBuilder.d.ts.map +0 -1
  413. package/dist/src/coin/sol/ataInitializationBuilder.js +0 -110
  414. package/dist/src/coin/sol/ataInitializationTransaction.d.ts +0 -14
  415. package/dist/src/coin/sol/ataInitializationTransaction.d.ts.map +0 -1
  416. package/dist/src/coin/sol/ataInitializationTransaction.js +0 -81
  417. package/dist/src/coin/sol/constants.d.ts +0 -58
  418. package/dist/src/coin/sol/constants.d.ts.map +0 -1
  419. package/dist/src/coin/sol/constants.js +0 -76
  420. package/dist/src/coin/sol/iface.d.ts +0 -99
  421. package/dist/src/coin/sol/iface.d.ts.map +0 -1
  422. package/dist/src/coin/sol/iface.js +0 -3
  423. package/dist/src/coin/sol/index.d.ts +0 -11
  424. package/dist/src/coin/sol/index.d.ts.map +0 -1
  425. package/dist/src/coin/sol/index.js +0 -41
  426. package/dist/src/coin/sol/instructionParamsFactory.d.ts +0 -12
  427. package/dist/src/coin/sol/instructionParamsFactory.d.ts.map +0 -1
  428. package/dist/src/coin/sol/instructionParamsFactory.js +0 -260
  429. package/dist/src/coin/sol/keyPair.d.ts +0 -26
  430. package/dist/src/coin/sol/keyPair.d.ts.map +0 -1
  431. package/dist/src/coin/sol/keyPair.js +0 -63
  432. package/dist/src/coin/sol/solInstructionFactory.d.ts +0 -10
  433. package/dist/src/coin/sol/solInstructionFactory.d.ts.map +0 -1
  434. package/dist/src/coin/sol/solInstructionFactory.js +0 -213
  435. package/dist/src/coin/sol/stakingActivateBuilder.d.ts +0 -41
  436. package/dist/src/coin/sol/stakingActivateBuilder.d.ts.map +0 -1
  437. package/dist/src/coin/sol/stakingActivateBuilder.js +0 -94
  438. package/dist/src/coin/sol/stakingDeactivateBuilder.d.ts +0 -23
  439. package/dist/src/coin/sol/stakingDeactivateBuilder.d.ts.map +0 -1
  440. package/dist/src/coin/sol/stakingDeactivateBuilder.js +0 -62
  441. package/dist/src/coin/sol/stakingWithdrawBuilder.d.ts +0 -31
  442. package/dist/src/coin/sol/stakingWithdrawBuilder.d.ts.map +0 -1
  443. package/dist/src/coin/sol/stakingWithdrawBuilder.js +0 -78
  444. package/dist/src/coin/sol/tokenEncodeDecode.d.ts +0 -85
  445. package/dist/src/coin/sol/tokenEncodeDecode.d.ts.map +0 -1
  446. package/dist/src/coin/sol/tokenEncodeDecode.js +0 -133
  447. package/dist/src/coin/sol/tokenTransferBuilder.d.ts +0 -27
  448. package/dist/src/coin/sol/tokenTransferBuilder.d.ts.map +0 -1
  449. package/dist/src/coin/sol/tokenTransferBuilder.js +0 -73
  450. package/dist/src/coin/sol/transaction.d.ts +0 -61
  451. package/dist/src/coin/sol/transaction.d.ts.map +0 -1
  452. package/dist/src/coin/sol/transaction.js +0 -369
  453. package/dist/src/coin/sol/transactionBuilder.d.ts +0 -101
  454. package/dist/src/coin/sol/transactionBuilder.d.ts.map +0 -1
  455. package/dist/src/coin/sol/transactionBuilder.js +0 -261
  456. package/dist/src/coin/sol/transactionBuilderFactory.d.ts +0 -76
  457. package/dist/src/coin/sol/transactionBuilderFactory.d.ts.map +0 -1
  458. package/dist/src/coin/sol/transactionBuilderFactory.js +0 -136
  459. package/dist/src/coin/sol/transferBuilder.d.ts +0 -26
  460. package/dist/src/coin/sol/transferBuilder.d.ts.map +0 -1
  461. package/dist/src/coin/sol/transferBuilder.js +0 -67
  462. package/dist/src/coin/sol/utils.d.ts +0 -146
  463. package/dist/src/coin/sol/utils.d.ts.map +0 -1
  464. package/dist/src/coin/sol/utils.js +0 -361
  465. package/dist/src/coin/sol/walletInitializationBuilder.d.ts +0 -26
  466. package/dist/src/coin/sol/walletInitializationBuilder.d.ts.map +0 -1
  467. package/dist/src/coin/sol/walletInitializationBuilder.js +0 -71
  468. package/dist/src/coin/stx/abstractContractBuilder.d.ts +0 -19
  469. package/dist/src/coin/stx/abstractContractBuilder.d.ts.map +0 -1
  470. package/dist/src/coin/stx/abstractContractBuilder.js +0 -70
  471. package/dist/src/coin/stx/constants.d.ts +0 -8
  472. package/dist/src/coin/stx/constants.d.ts.map +0 -1
  473. package/dist/src/coin/stx/constants.js +0 -19
  474. package/dist/src/coin/stx/contractBuilder.d.ts +0 -33
  475. package/dist/src/coin/stx/contractBuilder.d.ts.map +0 -1
  476. package/dist/src/coin/stx/contractBuilder.js +0 -116
  477. package/dist/src/coin/stx/iface.d.ts +0 -48
  478. package/dist/src/coin/stx/iface.d.ts.map +0 -1
  479. package/dist/src/coin/stx/iface.js +0 -3
  480. package/dist/src/coin/stx/index.d.ts +0 -6
  481. package/dist/src/coin/stx/index.d.ts.map +0 -1
  482. package/dist/src/coin/stx/index.js +0 -32
  483. package/dist/src/coin/stx/keyPair.d.ts +0 -55
  484. package/dist/src/coin/stx/keyPair.d.ts.map +0 -1
  485. package/dist/src/coin/stx/keyPair.js +0 -140
  486. package/dist/src/coin/stx/sendmanyBuilder.d.ts +0 -23
  487. package/dist/src/coin/stx/sendmanyBuilder.d.ts.map +0 -1
  488. package/dist/src/coin/stx/sendmanyBuilder.js +0 -75
  489. package/dist/src/coin/stx/transaction.d.ts +0 -49
  490. package/dist/src/coin/stx/transaction.d.ts.map +0 -1
  491. package/dist/src/coin/stx/transaction.js +0 -225
  492. package/dist/src/coin/stx/transactionBuilder.d.ts +0 -86
  493. package/dist/src/coin/stx/transactionBuilder.d.ts.map +0 -1
  494. package/dist/src/coin/stx/transactionBuilder.js +0 -263
  495. package/dist/src/coin/stx/transactionBuilderFactory.d.ts +0 -30
  496. package/dist/src/coin/stx/transactionBuilderFactory.d.ts.map +0 -1
  497. package/dist/src/coin/stx/transactionBuilderFactory.js +0 -81
  498. package/dist/src/coin/stx/transferBuilder.d.ts +0 -30
  499. package/dist/src/coin/stx/transferBuilder.d.ts.map +0 -1
  500. package/dist/src/coin/stx/transferBuilder.js +0 -99
  501. package/dist/src/coin/stx/utils.d.ts +0 -207
  502. package/dist/src/coin/stx/utils.d.ts.map +0 -1
  503. package/dist/src/coin/stx/utils.js +0 -503
  504. package/dist/src/coin/trx/address.d.ts +0 -11
  505. package/dist/src/coin/trx/address.d.ts.map +0 -1
  506. package/dist/src/coin/trx/address.js +0 -13
  507. package/dist/src/coin/trx/contractCallBuilder.d.ts +0 -96
  508. package/dist/src/coin/trx/contractCallBuilder.d.ts.map +0 -1
  509. package/dist/src/coin/trx/contractCallBuilder.js +0 -281
  510. package/dist/src/coin/trx/enum.d.ts +0 -23
  511. package/dist/src/coin/trx/enum.d.ts.map +0 -1
  512. package/dist/src/coin/trx/enum.js +0 -28
  513. package/dist/src/coin/trx/iface.d.ts +0 -92
  514. package/dist/src/coin/trx/iface.d.ts.map +0 -1
  515. package/dist/src/coin/trx/iface.js +0 -3
  516. package/dist/src/coin/trx/index.d.ts +0 -10
  517. package/dist/src/coin/trx/index.d.ts.map +0 -1
  518. package/dist/src/coin/trx/index.js +0 -39
  519. package/dist/src/coin/trx/keyPair.d.ts +0 -44
  520. package/dist/src/coin/trx/keyPair.d.ts.map +0 -1
  521. package/dist/src/coin/trx/keyPair.js +0 -121
  522. package/dist/src/coin/trx/transaction.d.ts +0 -74
  523. package/dist/src/coin/trx/transaction.d.ts.map +0 -1
  524. package/dist/src/coin/trx/transaction.js +0 -205
  525. package/dist/src/coin/trx/transactionBuilder.d.ts +0 -65
  526. package/dist/src/coin/trx/transactionBuilder.d.ts.map +0 -1
  527. package/dist/src/coin/trx/transactionBuilder.js +0 -215
  528. package/dist/src/coin/trx/utils.d.ts +0 -127
  529. package/dist/src/coin/trx/utils.d.ts.map +0 -1
  530. package/dist/src/coin/trx/utils.js +0 -369
  531. package/dist/src/coin/trx/wrappedBuilder.d.ts +0 -52
  532. package/dist/src/coin/trx/wrappedBuilder.d.ts.map +0 -1
  533. package/dist/src/coin/trx/wrappedBuilder.js +0 -104
  534. package/dist/src/coin/xrp/index.d.ts +0 -5
  535. package/dist/src/coin/xrp/index.d.ts.map +0 -1
  536. package/dist/src/coin/xrp/index.js +0 -29
  537. package/dist/src/coin/xrp/keyPair.d.ts +0 -10
  538. package/dist/src/coin/xrp/keyPair.d.ts.map +0 -1
  539. package/dist/src/coin/xrp/keyPair.js +0 -16
  540. package/dist/src/coin/xrp/transaction.d.ts +0 -10
  541. package/dist/src/coin/xrp/transaction.d.ts.map +0 -1
  542. package/dist/src/coin/xrp/transaction.js +0 -20
  543. package/dist/src/coin/xrp/transactionBuilder.d.ts +0 -27
  544. package/dist/src/coin/xrp/transactionBuilder.d.ts.map +0 -1
  545. package/dist/src/coin/xrp/transactionBuilder.js +0 -46
  546. package/dist/src/coin/xrp/transactionBuilderFactory.d.ts +0 -24
  547. package/dist/src/coin/xrp/transactionBuilderFactory.d.ts.map +0 -1
  548. package/dist/src/coin/xrp/transactionBuilderFactory.js +0 -38
  549. package/dist/src/coin/xrp/transferBuilder.d.ts +0 -14
  550. package/dist/src/coin/xrp/transferBuilder.d.ts.map +0 -1
  551. package/dist/src/coin/xrp/transferBuilder.js +0 -24
  552. package/dist/src/coin/xrp/utils.d.ts +0 -16
  553. package/dist/src/coin/xrp/utils.d.ts.map +0 -1
  554. package/dist/src/coin/xrp/utils.js +0 -32
  555. package/dist/src/coin/xrp/walletInitializationBuilder.d.ts +0 -14
  556. package/dist/src/coin/xrp/walletInitializationBuilder.d.ts.map +0 -1
  557. package/dist/src/coin/xrp/walletInitializationBuilder.js +0 -24
  558. package/dist/src/coin/xtz/address.d.ts +0 -8
  559. package/dist/src/coin/xtz/address.d.ts.map +0 -1
  560. package/dist/src/coin/xtz/address.js +0 -10
  561. package/dist/src/coin/xtz/iface.d.ts +0 -81
  562. package/dist/src/coin/xtz/iface.d.ts.map +0 -1
  563. package/dist/src/coin/xtz/iface.js +0 -3
  564. package/dist/src/coin/xtz/index.d.ts +0 -8
  565. package/dist/src/coin/xtz/index.d.ts.map +0 -1
  566. package/dist/src/coin/xtz/index.js +0 -37
  567. package/dist/src/coin/xtz/keyPair.d.ts +0 -40
  568. package/dist/src/coin/xtz/keyPair.d.ts.map +0 -1
  569. package/dist/src/coin/xtz/keyPair.js +0 -136
  570. package/dist/src/coin/xtz/multisigUtils.d.ts +0 -134
  571. package/dist/src/coin/xtz/multisigUtils.d.ts.map +0 -1
  572. package/dist/src/coin/xtz/multisigUtils.js +0 -1180
  573. package/dist/src/coin/xtz/transaction.d.ts +0 -119
  574. package/dist/src/coin/xtz/transaction.d.ts.map +0 -1
  575. package/dist/src/coin/xtz/transaction.js +0 -315
  576. package/dist/src/coin/xtz/transactionBuilder.d.ts +0 -171
  577. package/dist/src/coin/xtz/transactionBuilder.d.ts.map +0 -1
  578. package/dist/src/coin/xtz/transactionBuilder.js +0 -453
  579. package/dist/src/coin/xtz/transferBuilder.d.ts +0 -24
  580. package/dist/src/coin/xtz/transferBuilder.d.ts.map +0 -1
  581. package/dist/src/coin/xtz/transferBuilder.js +0 -64
  582. package/dist/src/coin/xtz/utils.d.ts +0 -265
  583. package/dist/src/coin/xtz/utils.d.ts.map +0 -1
  584. package/dist/src/coin/xtz/utils.js +0 -460
  585. package/dist/src/mpc/curves/baseCurve.d.ts +0 -18
  586. package/dist/src/mpc/curves/baseCurve.d.ts.map +0 -1
  587. package/dist/src/mpc/curves/baseCurve.js +0 -6
  588. package/dist/src/mpc/curves/ed25519.d.ts +0 -17
  589. package/dist/src/mpc/curves/ed25519.d.ts.map +0 -1
  590. package/dist/src/mpc/curves/ed25519.js +0 -48
  591. package/dist/src/mpc/curves/index.d.ts +0 -5
  592. package/dist/src/mpc/curves/index.d.ts.map +0 -1
  593. package/dist/src/mpc/curves/index.js +0 -6
  594. package/dist/src/mpc/curves/secp256k1.d.ts +0 -16
  595. package/dist/src/mpc/curves/secp256k1.d.ts.map +0 -1
  596. package/dist/src/mpc/curves/secp256k1.js +0 -66
  597. package/dist/src/mpc/curves.d.ts +0 -29
  598. package/dist/src/mpc/curves.d.ts.map +0 -1
  599. package/dist/src/mpc/curves.js +0 -96
  600. package/dist/src/mpc/hdTree.d.ts +0 -24
  601. package/dist/src/mpc/hdTree.d.ts.map +0 -1
  602. package/dist/src/mpc/hdTree.js +0 -143
  603. package/dist/src/mpc/shamir.d.ts +0 -26
  604. package/dist/src/mpc/shamir.d.ts.map +0 -1
  605. package/dist/src/mpc/shamir.js +0 -87
  606. package/dist/src/mpc/tss/eddsa/eddsa.d.ts +0 -29
  607. package/dist/src/mpc/tss/eddsa/eddsa.d.ts.map +0 -1
  608. package/dist/src/mpc/tss/eddsa/eddsa.js +0 -273
  609. package/dist/src/mpc/tss/eddsa/index.d.ts +0 -4
  610. package/dist/src/mpc/tss/eddsa/index.d.ts.map +0 -1
  611. package/dist/src/mpc/tss/eddsa/index.js +0 -30
  612. package/dist/src/mpc/tss/eddsa/types.d.ts +0 -70
  613. package/dist/src/mpc/tss/eddsa/types.d.ts.map +0 -1
  614. package/dist/src/mpc/tss/eddsa/types.js +0 -3
  615. package/dist/src/mpc/tss/index.d.ts +0 -5
  616. package/dist/src/mpc/tss/index.d.ts.map +0 -1
  617. package/dist/src/mpc/tss/index.js +0 -32
  618. package/dist/src/mpc/tss.d.ts +0 -98
  619. package/dist/src/mpc/tss.d.ts.map +0 -1
  620. package/dist/src/mpc/tss.js +0 -344
  621. package/dist/src/mpc/util.d.ts +0 -7
  622. package/dist/src/mpc/util.d.ts.map +0 -1
  623. package/dist/src/mpc/util.js +0 -38
  624. package/dist/src/utils/crypto.d.ts +0 -99
  625. package/dist/src/utils/crypto.d.ts.map +0 -1
  626. package/dist/src/utils/crypto.js +0 -260
  627. package/dist/src/utils/ed25519KeyDeriver.d.ts +0 -49
  628. package/dist/src/utils/ed25519KeyDeriver.d.ts.map +0 -1
  629. package/dist/src/utils/ed25519KeyDeriver.js +0 -92
@@ -1,119 +0,0 @@
1
- import { BaseCoin as CoinConfig } from '@bitgo/statics';
2
- import { BaseKey, BaseTransaction } from '@bitgo/sdk-core';
3
- import { KeyPair } from './keyPair';
4
- import { IndexedSignature, ParsedTransaction } from './iface';
5
- /**
6
- * Tezos transaction model.
7
- */
8
- export declare class Transaction extends BaseTransaction {
9
- private _parsedTransaction?;
10
- private _encodedTransaction?;
11
- private _source;
12
- private _delegate?;
13
- private _forwarderDestination?;
14
- private _publicKeyToReveal?;
15
- private _owners;
16
- /**
17
- * Public constructor.
18
- *
19
- * @param {Readonly<CoinConfig>} coinConfig
20
- */
21
- constructor(coinConfig: Readonly<CoinConfig>);
22
- /**
23
- * Initialize the transaction fields based on another serialized transaction.
24
- *
25
- * @param serializedTransaction Transaction in broadcast format.
26
- */
27
- initFromSerializedTransaction(serializedTransaction: string): Promise<void>;
28
- /**
29
- * Initialize the transaction fields based on another parsed transaction.
30
- *
31
- * @param {ParsedTransaction} parsedTransaction A Tezos transaction object
32
- * @param {string} transactionId The transaction id of the parsedTransaction if it is signed
33
- */
34
- initFromParsedTransaction(parsedTransaction: ParsedTransaction, transactionId?: string): Promise<void>;
35
- /**
36
- * Record the most important fields from an origination operation.
37
- *
38
- * @param {Operation} operation An operation object from a Tezos transaction
39
- * @param {number} index The origination operation index in the transaction. Used to calculate the
40
- * originated address
41
- */
42
- private recordOriginationOpFields;
43
- /**
44
- * Record the most important fields from a reveal operation.
45
- *
46
- * @param {RevealOp} operation A reveal operation object from a Tezos transaction
47
- */
48
- private recordRevealOpFields;
49
- /**
50
- * Record the most important fields for a Transaction operation.
51
- *
52
- * @param {TransactionOp} operation A transaction object from a Tezos operation
53
- */
54
- private recordTransactionOpFields;
55
- /**
56
- * Sign the transaction with the provided key. It does not check if the signer is allowed to sign
57
- * it or not.
58
- *
59
- * @param {KeyPair} keyPair The key to sign the transaction with
60
- */
61
- sign(keyPair: KeyPair): Promise<void>;
62
- /**
63
- * Update the list of signatures for a multisig transaction operation.
64
- *
65
- * @param {IndexedSignature[]} signatures List of signatures and the index they should be put on
66
- * in the multisig transfer
67
- * @param {number} index The transfer index to add the signatures to
68
- */
69
- addTransferSignature(signatures: IndexedSignature[], index: number): Promise<void>;
70
- /** @inheritdoc */
71
- canSign(key: BaseKey): boolean;
72
- /** @inheritdoc */
73
- toJson(): ParsedTransaction;
74
- /** @inheritdoc */
75
- toBroadcastFormat(): string;
76
- /**
77
- * Get the transaction source if it is available.
78
- *
79
- * @returns {string} Source of the transaction
80
- */
81
- get source(): string;
82
- /**
83
- * Get the transaction delegation address if it is available.
84
- *
85
- * @returns {string} transaction delegation address
86
- */
87
- get delegate(): string | undefined;
88
- /**
89
- * Get the public key revealed by the transaction if it exists
90
- *
91
- * @returns {string} public key
92
- */
93
- get publicKeyToReveal(): string | undefined;
94
- /**
95
- * Get the destination of an address initialization transaction if it exists
96
- *
97
- * @returns {string} forwarder destination
98
- */
99
- get forwarderDestination(): string | undefined;
100
- get owners(): string[];
101
- /**
102
- * Get the signatures for the given multisig transfer,
103
- *
104
- * @param {number} transferIndex The transfer script index in the Tezos transaction
105
- * @returns {IndexedSignature[]} A list of signatures with their index inside the multisig transfer
106
- * script
107
- */
108
- getTransferSignatures(transferIndex?: number): IndexedSignature[];
109
- /**
110
- * Get the list of index per tezos transaction type. This is useful to locate specific operations
111
- * within the transaction and verify or sign them.
112
- *
113
- * @returns {{[p: string]: number[]}} List of indexes where the key is the transaction kind
114
- */
115
- getIndexesByTransactionType(): {
116
- [kind: string]: number[];
117
- };
118
- }
119
- //# sourceMappingURL=transaction.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../../../src/coin/xtz/transaction.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EACL,OAAO,EACP,eAAe,EAIhB,MAAM,iBAAiB,CAAC;AAQzB,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAiB,iBAAiB,EAA2B,MAAM,SAAS,CAAC;AAGtG;;GAEG;AACH,qBAAa,WAAY,SAAQ,eAAe;IAC9C,OAAO,CAAC,kBAAkB,CAAC,CAAoB;IAC/C,OAAO,CAAC,mBAAmB,CAAC,CAAS;IACrC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,SAAS,CAAC,CAAS;IAC3B,OAAO,CAAC,qBAAqB,CAAC,CAAS;IACvC,OAAO,CAAC,kBAAkB,CAAC,CAAS;IACpC,OAAO,CAAC,OAAO,CAAW;IAE1B;;;;OAIG;gBACS,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC;IAK5C;;;;OAIG;IACG,6BAA6B,CAAC,qBAAqB,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAoBjF;;;;;OAKG;IACG,yBAAyB,CAAC,iBAAiB,EAAE,iBAAiB,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAwC5G;;;;;;OAMG;YACW,yBAAyB;IAwBvC;;;;OAIG;IACH,OAAO,CAAC,oBAAoB;IAU5B;;;;OAIG;IACH,OAAO,CAAC,yBAAyB;IA6BjC;;;;;OAKG;IACG,IAAI,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAmB3C;;;;;;OAMG;IACG,oBAAoB,CAAC,UAAU,EAAE,gBAAgB,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQxF,kBAAkB;IAClB,OAAO,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO;IAK9B,kBAAkB;IAClB,MAAM,IAAI,iBAAiB;IAO3B,kBAAkB;IAClB,iBAAiB,IAAI,MAAM;IAO3B;;;;OAIG;IACH,IAAI,MAAM,IAAI,MAAM,CAKnB;IAED;;;;OAIG;IACH,IAAI,QAAQ,IAAI,MAAM,GAAG,SAAS,CAEjC;IAED;;;;OAIG;IACH,IAAI,iBAAiB,IAAI,MAAM,GAAG,SAAS,CAE1C;IAED;;;;OAIG;IACH,IAAI,oBAAoB,IAAI,MAAM,GAAG,SAAS,CAE7C;IAED,IAAI,MAAM,IAAI,MAAM,EAAE,CAErB;IAED;;;;;;OAMG;IACH,qBAAqB,CAAC,aAAa,SAAI,GAAG,gBAAgB,EAAE;IAO5D;;;;;OAKG;IACH,2BAA2B,IAAI;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;KAAE;CAW5D"}
@@ -1,315 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
- }) : (function(o, m, k, k2) {
6
- if (k2 === undefined) k2 = k;
7
- o[k2] = m[k];
8
- }));
9
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
- Object.defineProperty(o, "default", { enumerable: true, value: v });
11
- }) : function(o, v) {
12
- o["default"] = v;
13
- });
14
- var __importStar = (this && this.__importStar) || function (mod) {
15
- if (mod && mod.__esModule) return mod;
16
- var result = {};
17
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
- __setModuleDefault(result, mod);
19
- return result;
20
- };
21
- var __importDefault = (this && this.__importDefault) || function (mod) {
22
- return (mod && mod.__esModule) ? mod : { "default": mod };
23
- };
24
- Object.defineProperty(exports, "__esModule", { value: true });
25
- exports.Transaction = void 0;
26
- const local_forging_1 = require("@taquito/local-forging");
27
- const bignumber_js_1 = __importDefault(require("bignumber.js"));
28
- const sdk_core_1 = require("@bitgo/sdk-core");
29
- const multisigUtils_1 = require("./multisigUtils");
30
- const Utils = __importStar(require("./utils"));
31
- /**
32
- * Tezos transaction model.
33
- */
34
- class Transaction extends sdk_core_1.BaseTransaction {
35
- /**
36
- * Public constructor.
37
- *
38
- * @param {Readonly<CoinConfig>} coinConfig
39
- */
40
- constructor(coinConfig) {
41
- super(coinConfig);
42
- this._owners = [];
43
- }
44
- /**
45
- * Initialize the transaction fields based on another serialized transaction.
46
- *
47
- * @param serializedTransaction Transaction in broadcast format.
48
- */
49
- async initFromSerializedTransaction(serializedTransaction) {
50
- this._encodedTransaction = serializedTransaction;
51
- try {
52
- const parsedTransaction = await local_forging_1.localForger.parse(serializedTransaction);
53
- await this.initFromParsedTransaction(parsedTransaction);
54
- }
55
- catch (e) {
56
- // If it throws, it is possible the serialized transaction is signed, which is not supported
57
- // by local-forging. Try extracting the last 64 bytes and parse it again.
58
- const unsignedSerializedTransaction = serializedTransaction.slice(0, -128);
59
- const signature = serializedTransaction.slice(-128);
60
- if (Utils.isValidSignature(signature)) {
61
- throw new sdk_core_1.ParseTransactionError('Invalid transaction');
62
- }
63
- // TODO: encode the signature and save it in _signature
64
- const parsedTransaction = await local_forging_1.localForger.parse(unsignedSerializedTransaction);
65
- const transactionId = await Utils.calculateTransactionId(serializedTransaction);
66
- await this.initFromParsedTransaction(parsedTransaction, transactionId);
67
- }
68
- }
69
- /**
70
- * Initialize the transaction fields based on another parsed transaction.
71
- *
72
- * @param {ParsedTransaction} parsedTransaction A Tezos transaction object
73
- * @param {string} transactionId The transaction id of the parsedTransaction if it is signed
74
- */
75
- async initFromParsedTransaction(parsedTransaction, transactionId) {
76
- if (!this._encodedTransaction) {
77
- this._encodedTransaction = await local_forging_1.localForger.forge(parsedTransaction);
78
- }
79
- if (transactionId) {
80
- // If the transaction id is passed, save it and clean up the entries since they will be
81
- // recalculated
82
- this._id = transactionId;
83
- this._inputs = [];
84
- this._outputs = [];
85
- }
86
- else {
87
- this._id = '';
88
- }
89
- this._parsedTransaction = parsedTransaction;
90
- let operationIndex = 0;
91
- for (const operation of parsedTransaction.contents) {
92
- if (this._source && this._source !== operation.source) {
93
- throw new sdk_core_1.InvalidTransactionError('Source must be the same for every operation but it changed from ' + this._source + ' to ' + operation.source);
94
- }
95
- else {
96
- this._source = operation.source;
97
- }
98
- switch (operation.kind) {
99
- case local_forging_1.CODEC.OP_ORIGINATION:
100
- await this.recordOriginationOpFields(operation, operationIndex);
101
- operationIndex++;
102
- break;
103
- case local_forging_1.CODEC.OP_REVEAL:
104
- this.recordRevealOpFields(operation);
105
- break;
106
- case local_forging_1.CODEC.OP_TRANSACTION:
107
- this.recordTransactionOpFields(operation);
108
- break;
109
- default:
110
- break;
111
- }
112
- }
113
- }
114
- /**
115
- * Record the most important fields from an origination operation.
116
- *
117
- * @param {Operation} operation An operation object from a Tezos transaction
118
- * @param {number} index The origination operation index in the transaction. Used to calculate the
119
- * originated address
120
- */
121
- async recordOriginationOpFields(operation, index) {
122
- const originationData = multisigUtils_1.getOriginationDataFromOperation(operation);
123
- if (originationData.forwarderDestination) {
124
- this._type = sdk_core_1.TransactionType.AddressInitialization;
125
- this._forwarderDestination = originationData.forwarderDestination;
126
- }
127
- else {
128
- this._type = sdk_core_1.TransactionType.WalletInitialization;
129
- this._owners = multisigUtils_1.getOwnersPublicKeys(operation);
130
- }
131
- this._delegate = operation.delegate;
132
- this._outputs.push({
133
- // Kt addresses can only be calculated for signed transactions with an id
134
- address: this._id ? await Utils.calculateOriginatedAddress(this._id, index) : '',
135
- // Balance
136
- value: operation.balance,
137
- });
138
- this._inputs.push({
139
- address: operation.source,
140
- // Balance + fees + max gas + max storage are paid by the source account
141
- value: new bignumber_js_1.default(operation.balance).plus(operation.fee).toString(),
142
- });
143
- }
144
- /**
145
- * Record the most important fields from a reveal operation.
146
- *
147
- * @param {RevealOp} operation A reveal operation object from a Tezos transaction
148
- */
149
- recordRevealOpFields(operation) {
150
- this._type = sdk_core_1.TransactionType.AccountUpdate;
151
- this._publicKeyToReveal = operation.public_key;
152
- this._inputs.push({
153
- address: operation.source,
154
- // Balance + fees + max gas + max storage are paid by the source account
155
- value: operation.fee,
156
- });
157
- }
158
- /**
159
- * Record the most important fields for a Transaction operation.
160
- *
161
- * @param {TransactionOp} operation A transaction object from a Tezos operation
162
- */
163
- recordTransactionOpFields(operation) {
164
- if (operation.parameters) {
165
- this._type = sdk_core_1.TransactionType.Send;
166
- }
167
- else {
168
- this._type = sdk_core_1.TransactionType.SingleSigSend;
169
- }
170
- const transferData = multisigUtils_1.getMultisigTransferDataFromOperation(operation);
171
- // Fees are paid by the source account, along with the amount in the transaction
172
- this._inputs.push({
173
- address: operation.source,
174
- value: new bignumber_js_1.default(transferData.fee.fee).toFixed(0),
175
- });
176
- if (transferData.coin === 'mutez') {
177
- this._outputs.push({
178
- // Kt addresses can only be calculated for signed transactions with an id
179
- address: transferData.to,
180
- // Balance
181
- value: transferData.amount,
182
- });
183
- // The funds being transferred from the wallet
184
- this._inputs.push({
185
- address: transferData.from,
186
- // Balance + fees + max gas + max storage are paid by the source account
187
- value: transferData.amount,
188
- });
189
- }
190
- }
191
- /**
192
- * Sign the transaction with the provided key. It does not check if the signer is allowed to sign
193
- * it or not.
194
- *
195
- * @param {KeyPair} keyPair The key to sign the transaction with
196
- */
197
- async sign(keyPair) {
198
- // TODO: fail if the transaction is already signed
199
- // Check if there is a transaction to sign
200
- if (!this._parsedTransaction) {
201
- throw new sdk_core_1.InvalidTransactionError('Empty transaction');
202
- }
203
- // Get the transaction body to sign
204
- const encodedTransaction = await local_forging_1.localForger.forge(this._parsedTransaction);
205
- const signedTransaction = await Utils.sign(keyPair, encodedTransaction);
206
- this._encodedTransaction = signedTransaction.sbytes;
207
- // The transaction id can only be calculated for signed transactions
208
- this._id = await Utils.calculateTransactionId(this._encodedTransaction);
209
- await this.initFromParsedTransaction(this._parsedTransaction, this._id);
210
- this._signatures.push(signedTransaction.sig);
211
- }
212
- /**
213
- * Update the list of signatures for a multisig transaction operation.
214
- *
215
- * @param {IndexedSignature[]} signatures List of signatures and the index they should be put on
216
- * in the multisig transfer
217
- * @param {number} index The transfer index to add the signatures to
218
- */
219
- async addTransferSignature(signatures, index) {
220
- if (!this._parsedTransaction) {
221
- throw new sdk_core_1.InvalidTransactionError('Empty transaction');
222
- }
223
- multisigUtils_1.updateMultisigTransferSignatures(this._parsedTransaction.contents[index], signatures);
224
- this._encodedTransaction = await local_forging_1.localForger.forge(this._parsedTransaction);
225
- }
226
- /** @inheritdoc */
227
- canSign(key) {
228
- // TODO: check the key belongs to the _source account in _parsedTransaction
229
- return true;
230
- }
231
- /** @inheritdoc */
232
- toJson() {
233
- if (!this._parsedTransaction) {
234
- throw new sdk_core_1.InvalidTransactionError('Empty transaction');
235
- }
236
- return this._parsedTransaction;
237
- }
238
- /** @inheritdoc */
239
- toBroadcastFormat() {
240
- if (!this._encodedTransaction) {
241
- throw new sdk_core_1.InvalidTransactionError('Missing encoded transaction');
242
- }
243
- return this._encodedTransaction;
244
- }
245
- /**
246
- * Get the transaction source if it is available.
247
- *
248
- * @returns {string} Source of the transaction
249
- */
250
- get source() {
251
- if (!this._source) {
252
- throw new sdk_core_1.InvalidTransactionError('Transaction not initialized');
253
- }
254
- return this._source;
255
- }
256
- /**
257
- * Get the transaction delegation address if it is available.
258
- *
259
- * @returns {string} transaction delegation address
260
- */
261
- get delegate() {
262
- return this._delegate;
263
- }
264
- /**
265
- * Get the public key revealed by the transaction if it exists
266
- *
267
- * @returns {string} public key
268
- */
269
- get publicKeyToReveal() {
270
- return this._publicKeyToReveal;
271
- }
272
- /**
273
- * Get the destination of an address initialization transaction if it exists
274
- *
275
- * @returns {string} forwarder destination
276
- */
277
- get forwarderDestination() {
278
- return this._forwarderDestination;
279
- }
280
- get owners() {
281
- return this._owners;
282
- }
283
- /**
284
- * Get the signatures for the given multisig transfer,
285
- *
286
- * @param {number} transferIndex The transfer script index in the Tezos transaction
287
- * @returns {IndexedSignature[]} A list of signatures with their index inside the multisig transfer
288
- * script
289
- */
290
- getTransferSignatures(transferIndex = 0) {
291
- if (!this._parsedTransaction) {
292
- return [];
293
- }
294
- return multisigUtils_1.getMultisigTransferSignatures(this._parsedTransaction.contents[transferIndex]);
295
- }
296
- /**
297
- * Get the list of index per tezos transaction type. This is useful to locate specific operations
298
- * within the transaction and verify or sign them.
299
- *
300
- * @returns {{[p: string]: number[]}} List of indexes where the key is the transaction kind
301
- */
302
- getIndexesByTransactionType() {
303
- if (!this._parsedTransaction) {
304
- return {};
305
- }
306
- const indexes = {};
307
- for (let i = 0; i < this._parsedTransaction.contents.length; i++) {
308
- const kind = this._parsedTransaction.contents[i].kind;
309
- indexes[kind] = indexes[kind] ? indexes[kind].concat([i]) : [i];
310
- }
311
- return indexes;
312
- }
313
- }
314
- exports.Transaction = Transaction;
315
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29pbi94dHovdHJhbnNhY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDBEQUE0RDtBQUM1RCxnRUFBcUM7QUFFckMsOENBTXlCO0FBQ3pCLG1EQU15QjtBQUd6QiwrQ0FBaUM7QUFFakM7O0dBRUc7QUFDSCxNQUFhLFdBQVksU0FBUSwwQkFBZTtJQVM5Qzs7OztPQUlHO0lBQ0gsWUFBWSxVQUFnQztRQUMxQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDbEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7SUFDcEIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxLQUFLLENBQUMsNkJBQTZCLENBQUMscUJBQTZCO1FBQy9ELElBQUksQ0FBQyxtQkFBbUIsR0FBRyxxQkFBcUIsQ0FBQztRQUNqRCxJQUFJO1lBQ0YsTUFBTSxpQkFBaUIsR0FBRyxNQUFNLDJCQUFXLENBQUMsS0FBSyxDQUFDLHFCQUFxQixDQUFDLENBQUM7WUFDekUsTUFBTSxJQUFJLENBQUMseUJBQXlCLENBQUMsaUJBQWlCLENBQUMsQ0FBQztTQUN6RDtRQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ1YsNEZBQTRGO1lBQzVGLHlFQUF5RTtZQUN6RSxNQUFNLDZCQUE2QixHQUFHLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUMzRSxNQUFNLFNBQVMsR0FBRyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNwRCxJQUFJLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsRUFBRTtnQkFDckMsTUFBTSxJQUFJLGdDQUFxQixDQUFDLHFCQUFxQixDQUFDLENBQUM7YUFDeEQ7WUFDRCx1REFBdUQ7WUFDdkQsTUFBTSxpQkFBaUIsR0FBRyxNQUFNLDJCQUFXLENBQUMsS0FBSyxDQUFDLDZCQUE2QixDQUFDLENBQUM7WUFDakYsTUFBTSxhQUFhLEdBQUcsTUFBTSxLQUFLLENBQUMsc0JBQXNCLENBQUMscUJBQXFCLENBQUMsQ0FBQztZQUNoRixNQUFNLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxpQkFBaUIsRUFBRSxhQUFhLENBQUMsQ0FBQztTQUN4RTtJQUNILENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxpQkFBb0MsRUFBRSxhQUFzQjtRQUMxRixJQUFJLENBQUMsSUFBSSxDQUFDLG1CQUFtQixFQUFFO1lBQzdCLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxNQUFNLDJCQUFXLENBQUMsS0FBSyxDQUFDLGlCQUFpQixDQUFDLENBQUM7U0FDdkU7UUFDRCxJQUFJLGFBQWEsRUFBRTtZQUNqQix1RkFBdUY7WUFDdkYsZUFBZTtZQUNmLElBQUksQ0FBQyxHQUFHLEdBQUcsYUFBYSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO1NBQ3BCO2FBQU07WUFDTCxJQUFJLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQztTQUNmO1FBQ0QsSUFBSSxDQUFDLGtCQUFrQixHQUFHLGlCQUFpQixDQUFDO1FBQzVDLElBQUksY0FBYyxHQUFHLENBQUMsQ0FBQztRQUN2QixLQUFLLE1BQU0sU0FBUyxJQUFJLGlCQUFpQixDQUFDLFFBQVEsRUFBRTtZQUNsRCxJQUFJLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLE9BQU8sS0FBSyxTQUFTLENBQUMsTUFBTSxFQUFFO2dCQUNyRCxNQUFNLElBQUksa0NBQXVCLENBQy9CLGtFQUFrRSxHQUFHLElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQzlHLENBQUM7YUFDSDtpQkFBTTtnQkFDTCxJQUFJLENBQUMsT0FBTyxHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQUM7YUFDakM7WUFDRCxRQUFRLFNBQVMsQ0FBQyxJQUFJLEVBQUU7Z0JBQ3RCLEtBQUsscUJBQUssQ0FBQyxjQUFjO29CQUN2QixNQUFNLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxTQUEwQixFQUFFLGNBQWMsQ0FBQyxDQUFDO29CQUNqRixjQUFjLEVBQUUsQ0FBQztvQkFDakIsTUFBTTtnQkFDUixLQUFLLHFCQUFLLENBQUMsU0FBUztvQkFDbEIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFNBQXFCLENBQUMsQ0FBQztvQkFDakQsTUFBTTtnQkFDUixLQUFLLHFCQUFLLENBQUMsY0FBYztvQkFDdkIsSUFBSSxDQUFDLHlCQUF5QixDQUFDLFNBQTBCLENBQUMsQ0FBQztvQkFDM0QsTUFBTTtnQkFDUjtvQkFDRSxNQUFNO2FBQ1Q7U0FDRjtJQUNILENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSyxLQUFLLENBQUMseUJBQXlCLENBQUMsU0FBd0IsRUFBRSxLQUFhO1FBQzdFLE1BQU0sZUFBZSxHQUFHLCtDQUErQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ25FLElBQUksZUFBZSxDQUFDLG9CQUFvQixFQUFFO1lBQ3hDLElBQUksQ0FBQyxLQUFLLEdBQUcsMEJBQWUsQ0FBQyxxQkFBcUIsQ0FBQztZQUNuRCxJQUFJLENBQUMscUJBQXFCLEdBQUcsZUFBZSxDQUFDLG9CQUFvQixDQUFDO1NBQ25FO2FBQU07WUFDTCxJQUFJLENBQUMsS0FBSyxHQUFHLDBCQUFlLENBQUMsb0JBQW9CLENBQUM7WUFDbEQsSUFBSSxDQUFDLE9BQU8sR0FBRyxtQ0FBbUIsQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUMvQztRQUVELElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDLFFBQVEsQ0FBQztRQUNwQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztZQUNqQix5RUFBeUU7WUFDekUsT0FBTyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDLDBCQUEwQixDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDaEYsVUFBVTtZQUNWLEtBQUssRUFBRSxTQUFTLENBQUMsT0FBTztTQUN6QixDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztZQUNoQixPQUFPLEVBQUUsU0FBUyxDQUFDLE1BQU07WUFDekIsd0VBQXdFO1lBQ3hFLEtBQUssRUFBRSxJQUFJLHNCQUFTLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFO1NBQ3ZFLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ssb0JBQW9CLENBQUMsU0FBbUI7UUFDOUMsSUFBSSxDQUFDLEtBQUssR0FBRywwQkFBZSxDQUFDLGFBQWEsQ0FBQztRQUMzQyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsU0FBUyxDQUFDLFVBQVUsQ0FBQztRQUMvQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztZQUNoQixPQUFPLEVBQUUsU0FBUyxDQUFDLE1BQU07WUFDekIsd0VBQXdFO1lBQ3hFLEtBQUssRUFBRSxTQUFTLENBQUMsR0FBRztTQUNyQixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNLLHlCQUF5QixDQUFDLFNBQXdCO1FBQ3hELElBQUksU0FBUyxDQUFDLFVBQVUsRUFBRTtZQUN4QixJQUFJLENBQUMsS0FBSyxHQUFHLDBCQUFlLENBQUMsSUFBSSxDQUFDO1NBQ25DO2FBQU07WUFDTCxJQUFJLENBQUMsS0FBSyxHQUFHLDBCQUFlLENBQUMsYUFBYSxDQUFDO1NBQzVDO1FBQ0QsTUFBTSxZQUFZLEdBQUcsb0RBQW9DLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDckUsZ0ZBQWdGO1FBQ2hGLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO1lBQ2hCLE9BQU8sRUFBRSxTQUFTLENBQUMsTUFBTTtZQUN6QixLQUFLLEVBQUUsSUFBSSxzQkFBUyxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztTQUN0RCxDQUFDLENBQUM7UUFFSCxJQUFJLFlBQVksQ0FBQyxJQUFJLEtBQUssT0FBTyxFQUFFO1lBQ2pDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO2dCQUNqQix5RUFBeUU7Z0JBQ3pFLE9BQU8sRUFBRSxZQUFZLENBQUMsRUFBRTtnQkFDeEIsVUFBVTtnQkFDVixLQUFLLEVBQUUsWUFBWSxDQUFDLE1BQU07YUFDM0IsQ0FBQyxDQUFDO1lBQ0gsOENBQThDO1lBQzlDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO2dCQUNoQixPQUFPLEVBQUUsWUFBWSxDQUFDLElBQUk7Z0JBQzFCLHdFQUF3RTtnQkFDeEUsS0FBSyxFQUFFLFlBQVksQ0FBQyxNQUFNO2FBQzNCLENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFnQjtRQUN6QixrREFBa0Q7UUFDbEQsMENBQTBDO1FBQzFDLElBQUksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUU7WUFDNUIsTUFBTSxJQUFJLGtDQUF1QixDQUFDLG1CQUFtQixDQUFDLENBQUM7U0FDeEQ7UUFDRCxtQ0FBbUM7UUFDbkMsTUFBTSxrQkFBa0IsR0FBRyxNQUFNLDJCQUFXLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBRTVFLE1BQU0saUJBQWlCLEdBQUcsTUFBTSxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO1FBQ3hFLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxpQkFBaUIsQ0FBQyxNQUFNLENBQUM7UUFFcEQsb0VBQW9FO1FBQ3BFLElBQUksQ0FBQyxHQUFHLEdBQUcsTUFBTSxLQUFLLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDeEUsTUFBTSxJQUFJLENBQUMseUJBQXlCLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUV4RSxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsS0FBSyxDQUFDLG9CQUFvQixDQUFDLFVBQThCLEVBQUUsS0FBYTtRQUN0RSxJQUFJLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFO1lBQzVCLE1BQU0sSUFBSSxrQ0FBdUIsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1NBQ3hEO1FBQ0QsZ0RBQWdDLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQWtCLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDdkcsSUFBSSxDQUFDLG1CQUFtQixHQUFHLE1BQU0sMkJBQVcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDOUUsQ0FBQztJQUVELGtCQUFrQjtJQUNsQixPQUFPLENBQUMsR0FBWTtRQUNsQiwyRUFBMkU7UUFDM0UsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLE1BQU07UUFDSixJQUFJLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFO1lBQzVCLE1BQU0sSUFBSSxrQ0FBdUIsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1NBQ3hEO1FBQ0QsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUM7SUFDakMsQ0FBQztJQUVELGtCQUFrQjtJQUNsQixpQkFBaUI7UUFDZixJQUFJLENBQUMsSUFBSSxDQUFDLG1CQUFtQixFQUFFO1lBQzdCLE1BQU0sSUFBSSxrQ0FBdUIsQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO1NBQ2xFO1FBQ0QsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUM7SUFDbEMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxJQUFJLE1BQU07UUFDUixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNqQixNQUFNLElBQUksa0NBQXVCLENBQUMsNkJBQTZCLENBQUMsQ0FBQztTQUNsRTtRQUNELE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILElBQUksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILElBQUksaUJBQWlCO1FBQ25CLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDO0lBQ2pDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsSUFBSSxvQkFBb0I7UUFDdEIsT0FBTyxJQUFJLENBQUMscUJBQXFCLENBQUM7SUFDcEMsQ0FBQztJQUVELElBQUksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gscUJBQXFCLENBQUMsYUFBYSxHQUFHLENBQUM7UUFDckMsSUFBSSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRTtZQUM1QixPQUFPLEVBQUUsQ0FBQztTQUNYO1FBQ0QsT0FBTyw2Q0FBNkIsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBa0IsQ0FBQyxDQUFDO0lBQ3pHLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILDJCQUEyQjtRQUN6QixJQUFJLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFO1lBQzVCLE9BQU8sRUFBRSxDQUFDO1NBQ1g7UUFDRCxNQUFNLE9BQU8sR0FBRyxFQUFFLENBQUM7UUFDbkIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ2hFLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1lBQ3RELE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ2pFO1FBQ0QsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztDQUNGO0FBbFRELGtDQWtUQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENPREVDLCBsb2NhbEZvcmdlciB9IGZyb20gJ0B0YXF1aXRvL2xvY2FsLWZvcmdpbmcnO1xuaW1wb3J0IEJpZ051bWJlciBmcm9tICdiaWdudW1iZXIuanMnO1xuaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZyB9IGZyb20gJ0BiaXRnby9zdGF0aWNzJztcbmltcG9ydCB7XG4gIEJhc2VLZXksXG4gIEJhc2VUcmFuc2FjdGlvbixcbiAgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IsXG4gIFBhcnNlVHJhbnNhY3Rpb25FcnJvcixcbiAgVHJhbnNhY3Rpb25UeXBlLFxufSBmcm9tICdAYml0Z28vc2RrLWNvcmUnO1xuaW1wb3J0IHtcbiAgZ2V0TXVsdGlzaWdUcmFuc2ZlckRhdGFGcm9tT3BlcmF0aW9uLFxuICBnZXRNdWx0aXNpZ1RyYW5zZmVyU2lnbmF0dXJlcyxcbiAgZ2V0T3JpZ2luYXRpb25EYXRhRnJvbU9wZXJhdGlvbixcbiAgZ2V0T3duZXJzUHVibGljS2V5cyxcbiAgdXBkYXRlTXVsdGlzaWdUcmFuc2ZlclNpZ25hdHVyZXMsXG59IGZyb20gJy4vbXVsdGlzaWdVdGlscyc7XG5pbXBvcnQgeyBLZXlQYWlyIH0gZnJvbSAnLi9rZXlQYWlyJztcbmltcG9ydCB7IEluZGV4ZWRTaWduYXR1cmUsIE9yaWdpbmF0aW9uT3AsIFBhcnNlZFRyYW5zYWN0aW9uLCBSZXZlYWxPcCwgVHJhbnNhY3Rpb25PcCB9IGZyb20gJy4vaWZhY2UnO1xuaW1wb3J0ICogYXMgVXRpbHMgZnJvbSAnLi91dGlscyc7XG5cbi8qKlxuICogVGV6b3MgdHJhbnNhY3Rpb24gbW9kZWwuXG4gKi9cbmV4cG9ydCBjbGFzcyBUcmFuc2FjdGlvbiBleHRlbmRzIEJhc2VUcmFuc2FjdGlvbiB7XG4gIHByaXZhdGUgX3BhcnNlZFRyYW5zYWN0aW9uPzogUGFyc2VkVHJhbnNhY3Rpb247IC8vIHRyYW5zYWN0aW9uIGluIEpTT04gZm9ybWF0XG4gIHByaXZhdGUgX2VuY29kZWRUcmFuc2FjdGlvbj86IHN0cmluZzsgLy8gdHJhbnNhY3Rpb24gaW4gaGV4IGZvcm1hdFxuICBwcml2YXRlIF9zb3VyY2U6IHN0cmluZztcbiAgcHJpdmF0ZSBfZGVsZWdhdGU/OiBzdHJpbmc7XG4gIHByaXZhdGUgX2ZvcndhcmRlckRlc3RpbmF0aW9uPzogc3RyaW5nO1xuICBwcml2YXRlIF9wdWJsaWNLZXlUb1JldmVhbD86IHN0cmluZztcbiAgcHJpdmF0ZSBfb3duZXJzOiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogUHVibGljIGNvbnN0cnVjdG9yLlxuICAgKlxuICAgKiBAcGFyYW0ge1JlYWRvbmx5PENvaW5Db25maWc+fSBjb2luQ29uZmlnXG4gICAqL1xuICBjb25zdHJ1Y3Rvcihjb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKGNvaW5Db25maWcpO1xuICAgIHRoaXMuX293bmVycyA9IFtdO1xuICB9XG5cbiAgLyoqXG4gICAqIEluaXRpYWxpemUgdGhlIHRyYW5zYWN0aW9uIGZpZWxkcyBiYXNlZCBvbiBhbm90aGVyIHNlcmlhbGl6ZWQgdHJhbnNhY3Rpb24uXG4gICAqXG4gICAqIEBwYXJhbSBzZXJpYWxpemVkVHJhbnNhY3Rpb24gVHJhbnNhY3Rpb24gaW4gYnJvYWRjYXN0IGZvcm1hdC5cbiAgICovXG4gIGFzeW5jIGluaXRGcm9tU2VyaWFsaXplZFRyYW5zYWN0aW9uKHNlcmlhbGl6ZWRUcmFuc2FjdGlvbjogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdGhpcy5fZW5jb2RlZFRyYW5zYWN0aW9uID0gc2VyaWFsaXplZFRyYW5zYWN0aW9uO1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBwYXJzZWRUcmFuc2FjdGlvbiA9IGF3YWl0IGxvY2FsRm9yZ2VyLnBhcnNlKHNlcmlhbGl6ZWRUcmFuc2FjdGlvbik7XG4gICAgICBhd2FpdCB0aGlzLmluaXRGcm9tUGFyc2VkVHJhbnNhY3Rpb24ocGFyc2VkVHJhbnNhY3Rpb24pO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIC8vIElmIGl0IHRocm93cywgaXQgaXMgcG9zc2libGUgdGhlIHNlcmlhbGl6ZWQgdHJhbnNhY3Rpb24gaXMgc2lnbmVkLCB3aGljaCBpcyBub3Qgc3VwcG9ydGVkXG4gICAgICAvLyBieSBsb2NhbC1mb3JnaW5nLiBUcnkgZXh0cmFjdGluZyB0aGUgbGFzdCA2NCBieXRlcyBhbmQgcGFyc2UgaXQgYWdhaW4uXG4gICAgICBjb25zdCB1bnNpZ25lZFNlcmlhbGl6ZWRUcmFuc2FjdGlvbiA9IHNlcmlhbGl6ZWRUcmFuc2FjdGlvbi5zbGljZSgwLCAtMTI4KTtcbiAgICAgIGNvbnN0IHNpZ25hdHVyZSA9IHNlcmlhbGl6ZWRUcmFuc2FjdGlvbi5zbGljZSgtMTI4KTtcbiAgICAgIGlmIChVdGlscy5pc1ZhbGlkU2lnbmF0dXJlKHNpZ25hdHVyZSkpIHtcbiAgICAgICAgdGhyb3cgbmV3IFBhcnNlVHJhbnNhY3Rpb25FcnJvcignSW52YWxpZCB0cmFuc2FjdGlvbicpO1xuICAgICAgfVxuICAgICAgLy8gVE9ETzogZW5jb2RlIHRoZSBzaWduYXR1cmUgYW5kIHNhdmUgaXQgaW4gX3NpZ25hdHVyZVxuICAgICAgY29uc3QgcGFyc2VkVHJhbnNhY3Rpb24gPSBhd2FpdCBsb2NhbEZvcmdlci5wYXJzZSh1bnNpZ25lZFNlcmlhbGl6ZWRUcmFuc2FjdGlvbik7XG4gICAgICBjb25zdCB0cmFuc2FjdGlvbklkID0gYXdhaXQgVXRpbHMuY2FsY3VsYXRlVHJhbnNhY3Rpb25JZChzZXJpYWxpemVkVHJhbnNhY3Rpb24pO1xuICAgICAgYXdhaXQgdGhpcy5pbml0RnJvbVBhcnNlZFRyYW5zYWN0aW9uKHBhcnNlZFRyYW5zYWN0aW9uLCB0cmFuc2FjdGlvbklkKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogSW5pdGlhbGl6ZSB0aGUgdHJhbnNhY3Rpb24gZmllbGRzIGJhc2VkIG9uIGFub3RoZXIgcGFyc2VkIHRyYW5zYWN0aW9uLlxuICAgKlxuICAgKiBAcGFyYW0ge1BhcnNlZFRyYW5zYWN0aW9ufSBwYXJzZWRUcmFuc2FjdGlvbiBBIFRlem9zIHRyYW5zYWN0aW9uIG9iamVjdFxuICAgKiBAcGFyYW0ge3N0cmluZ30gdHJhbnNhY3Rpb25JZCBUaGUgdHJhbnNhY3Rpb24gaWQgb2YgdGhlIHBhcnNlZFRyYW5zYWN0aW9uIGlmIGl0IGlzIHNpZ25lZFxuICAgKi9cbiAgYXN5bmMgaW5pdEZyb21QYXJzZWRUcmFuc2FjdGlvbihwYXJzZWRUcmFuc2FjdGlvbjogUGFyc2VkVHJhbnNhY3Rpb24sIHRyYW5zYWN0aW9uSWQ/OiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAoIXRoaXMuX2VuY29kZWRUcmFuc2FjdGlvbikge1xuICAgICAgdGhpcy5fZW5jb2RlZFRyYW5zYWN0aW9uID0gYXdhaXQgbG9jYWxGb3JnZXIuZm9yZ2UocGFyc2VkVHJhbnNhY3Rpb24pO1xuICAgIH1cbiAgICBpZiAodHJhbnNhY3Rpb25JZCkge1xuICAgICAgLy8gSWYgdGhlIHRyYW5zYWN0aW9uIGlkIGlzIHBhc3NlZCwgc2F2ZSBpdCBhbmQgY2xlYW4gdXAgdGhlIGVudHJpZXMgc2luY2UgdGhleSB3aWxsIGJlXG4gICAgICAvLyByZWNhbGN1bGF0ZWRcbiAgICAgIHRoaXMuX2lkID0gdHJhbnNhY3Rpb25JZDtcbiAgICAgIHRoaXMuX2lucHV0cyA9IFtdO1xuICAgICAgdGhpcy5fb3V0cHV0cyA9IFtdO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9pZCA9ICcnO1xuICAgIH1cbiAgICB0aGlzLl9wYXJzZWRUcmFuc2FjdGlvbiA9IHBhcnNlZFRyYW5zYWN0aW9uO1xuICAgIGxldCBvcGVyYXRpb25JbmRleCA9IDA7XG4gICAgZm9yIChjb25zdCBvcGVyYXRpb24gb2YgcGFyc2VkVHJhbnNhY3Rpb24uY29udGVudHMpIHtcbiAgICAgIGlmICh0aGlzLl9zb3VyY2UgJiYgdGhpcy5fc291cmNlICE9PSBvcGVyYXRpb24uc291cmNlKSB7XG4gICAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcihcbiAgICAgICAgICAnU291cmNlIG11c3QgYmUgdGhlIHNhbWUgZm9yIGV2ZXJ5IG9wZXJhdGlvbiBidXQgaXQgY2hhbmdlZCBmcm9tICcgKyB0aGlzLl9zb3VyY2UgKyAnIHRvICcgKyBvcGVyYXRpb24uc291cmNlLFxuICAgICAgICApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5fc291cmNlID0gb3BlcmF0aW9uLnNvdXJjZTtcbiAgICAgIH1cbiAgICAgIHN3aXRjaCAob3BlcmF0aW9uLmtpbmQpIHtcbiAgICAgICAgY2FzZSBDT0RFQy5PUF9PUklHSU5BVElPTjpcbiAgICAgICAgICBhd2FpdCB0aGlzLnJlY29yZE9yaWdpbmF0aW9uT3BGaWVsZHMob3BlcmF0aW9uIGFzIE9yaWdpbmF0aW9uT3AsIG9wZXJhdGlvbkluZGV4KTtcbiAgICAgICAgICBvcGVyYXRpb25JbmRleCsrO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIENPREVDLk9QX1JFVkVBTDpcbiAgICAgICAgICB0aGlzLnJlY29yZFJldmVhbE9wRmllbGRzKG9wZXJhdGlvbiBhcyBSZXZlYWxPcCk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgQ09ERUMuT1BfVFJBTlNBQ1RJT046XG4gICAgICAgICAgdGhpcy5yZWNvcmRUcmFuc2FjdGlvbk9wRmllbGRzKG9wZXJhdGlvbiBhcyBUcmFuc2FjdGlvbk9wKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUmVjb3JkIHRoZSBtb3N0IGltcG9ydGFudCBmaWVsZHMgZnJvbSBhbiBvcmlnaW5hdGlvbiBvcGVyYXRpb24uXG4gICAqXG4gICAqIEBwYXJhbSB7T3BlcmF0aW9ufSBvcGVyYXRpb24gQW4gb3BlcmF0aW9uIG9iamVjdCBmcm9tIGEgVGV6b3MgdHJhbnNhY3Rpb25cbiAgICogQHBhcmFtIHtudW1iZXJ9IGluZGV4IFRoZSBvcmlnaW5hdGlvbiBvcGVyYXRpb24gaW5kZXggaW4gdGhlIHRyYW5zYWN0aW9uLiBVc2VkIHRvIGNhbGN1bGF0ZSB0aGVcbiAgICogICAgICBvcmlnaW5hdGVkIGFkZHJlc3NcbiAgICovXG4gIHByaXZhdGUgYXN5bmMgcmVjb3JkT3JpZ2luYXRpb25PcEZpZWxkcyhvcGVyYXRpb246IE9yaWdpbmF0aW9uT3AsIGluZGV4OiBudW1iZXIpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBvcmlnaW5hdGlvbkRhdGEgPSBnZXRPcmlnaW5hdGlvbkRhdGFGcm9tT3BlcmF0aW9uKG9wZXJhdGlvbik7XG4gICAgaWYgKG9yaWdpbmF0aW9uRGF0YS5mb3J3YXJkZXJEZXN0aW5hdGlvbikge1xuICAgICAgdGhpcy5fdHlwZSA9IFRyYW5zYWN0aW9uVHlwZS5BZGRyZXNzSW5pdGlhbGl6YXRpb247XG4gICAgICB0aGlzLl9mb3J3YXJkZXJEZXN0aW5hdGlvbiA9IG9yaWdpbmF0aW9uRGF0YS5mb3J3YXJkZXJEZXN0aW5hdGlvbjtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fdHlwZSA9IFRyYW5zYWN0aW9uVHlwZS5XYWxsZXRJbml0aWFsaXphdGlvbjtcbiAgICAgIHRoaXMuX293bmVycyA9IGdldE93bmVyc1B1YmxpY0tleXMob3BlcmF0aW9uKTtcbiAgICB9XG5cbiAgICB0aGlzLl9kZWxlZ2F0ZSA9IG9wZXJhdGlvbi5kZWxlZ2F0ZTtcbiAgICB0aGlzLl9vdXRwdXRzLnB1c2goe1xuICAgICAgLy8gS3QgYWRkcmVzc2VzIGNhbiBvbmx5IGJlIGNhbGN1bGF0ZWQgZm9yIHNpZ25lZCB0cmFuc2FjdGlvbnMgd2l0aCBhbiBpZFxuICAgICAgYWRkcmVzczogdGhpcy5faWQgPyBhd2FpdCBVdGlscy5jYWxjdWxhdGVPcmlnaW5hdGVkQWRkcmVzcyh0aGlzLl9pZCwgaW5kZXgpIDogJycsXG4gICAgICAvLyBCYWxhbmNlXG4gICAgICB2YWx1ZTogb3BlcmF0aW9uLmJhbGFuY2UsXG4gICAgfSk7XG4gICAgdGhpcy5faW5wdXRzLnB1c2goe1xuICAgICAgYWRkcmVzczogb3BlcmF0aW9uLnNvdXJjZSxcbiAgICAgIC8vIEJhbGFuY2UgKyBmZWVzICsgbWF4IGdhcyArIG1heCBzdG9yYWdlIGFyZSBwYWlkIGJ5IHRoZSBzb3VyY2UgYWNjb3VudFxuICAgICAgdmFsdWU6IG5ldyBCaWdOdW1iZXIob3BlcmF0aW9uLmJhbGFuY2UpLnBsdXMob3BlcmF0aW9uLmZlZSkudG9TdHJpbmcoKSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWNvcmQgdGhlIG1vc3QgaW1wb3J0YW50IGZpZWxkcyBmcm9tIGEgcmV2ZWFsIG9wZXJhdGlvbi5cbiAgICpcbiAgICogQHBhcmFtIHtSZXZlYWxPcH0gb3BlcmF0aW9uIEEgcmV2ZWFsIG9wZXJhdGlvbiBvYmplY3QgZnJvbSBhIFRlem9zIHRyYW5zYWN0aW9uXG4gICAqL1xuICBwcml2YXRlIHJlY29yZFJldmVhbE9wRmllbGRzKG9wZXJhdGlvbjogUmV2ZWFsT3ApOiB2b2lkIHtcbiAgICB0aGlzLl90eXBlID0gVHJhbnNhY3Rpb25UeXBlLkFjY291bnRVcGRhdGU7XG4gICAgdGhpcy5fcHVibGljS2V5VG9SZXZlYWwgPSBvcGVyYXRpb24ucHVibGljX2tleTtcbiAgICB0aGlzLl9pbnB1dHMucHVzaCh7XG4gICAgICBhZGRyZXNzOiBvcGVyYXRpb24uc291cmNlLFxuICAgICAgLy8gQmFsYW5jZSArIGZlZXMgKyBtYXggZ2FzICsgbWF4IHN0b3JhZ2UgYXJlIHBhaWQgYnkgdGhlIHNvdXJjZSBhY2NvdW50XG4gICAgICB2YWx1ZTogb3BlcmF0aW9uLmZlZSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWNvcmQgdGhlIG1vc3QgaW1wb3J0YW50IGZpZWxkcyBmb3IgYSBUcmFuc2FjdGlvbiBvcGVyYXRpb24uXG4gICAqXG4gICAqIEBwYXJhbSB7VHJhbnNhY3Rpb25PcH0gb3BlcmF0aW9uIEEgdHJhbnNhY3Rpb24gb2JqZWN0IGZyb20gYSBUZXpvcyBvcGVyYXRpb25cbiAgICovXG4gIHByaXZhdGUgcmVjb3JkVHJhbnNhY3Rpb25PcEZpZWxkcyhvcGVyYXRpb246IFRyYW5zYWN0aW9uT3ApOiB2b2lkIHtcbiAgICBpZiAob3BlcmF0aW9uLnBhcmFtZXRlcnMpIHtcbiAgICAgIHRoaXMuX3R5cGUgPSBUcmFuc2FjdGlvblR5cGUuU2VuZDtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fdHlwZSA9IFRyYW5zYWN0aW9uVHlwZS5TaW5nbGVTaWdTZW5kO1xuICAgIH1cbiAgICBjb25zdCB0cmFuc2ZlckRhdGEgPSBnZXRNdWx0aXNpZ1RyYW5zZmVyRGF0YUZyb21PcGVyYXRpb24ob3BlcmF0aW9uKTtcbiAgICAvLyBGZWVzIGFyZSBwYWlkIGJ5IHRoZSBzb3VyY2UgYWNjb3VudCwgYWxvbmcgd2l0aCB0aGUgYW1vdW50IGluIHRoZSB0cmFuc2FjdGlvblxuICAgIHRoaXMuX2lucHV0cy5wdXNoKHtcbiAgICAgIGFkZHJlc3M6IG9wZXJhdGlvbi5zb3VyY2UsXG4gICAgICB2YWx1ZTogbmV3IEJpZ051bWJlcih0cmFuc2ZlckRhdGEuZmVlLmZlZSkudG9GaXhlZCgwKSxcbiAgICB9KTtcblxuICAgIGlmICh0cmFuc2ZlckRhdGEuY29pbiA9PT0gJ211dGV6Jykge1xuICAgICAgdGhpcy5fb3V0cHV0cy5wdXNoKHtcbiAgICAgICAgLy8gS3QgYWRkcmVzc2VzIGNhbiBvbmx5IGJlIGNhbGN1bGF0ZWQgZm9yIHNpZ25lZCB0cmFuc2FjdGlvbnMgd2l0aCBhbiBpZFxuICAgICAgICBhZGRyZXNzOiB0cmFuc2ZlckRhdGEudG8sXG4gICAgICAgIC8vIEJhbGFuY2VcbiAgICAgICAgdmFsdWU6IHRyYW5zZmVyRGF0YS5hbW91bnQsXG4gICAgICB9KTtcbiAgICAgIC8vIFRoZSBmdW5kcyBiZWluZyB0cmFuc2ZlcnJlZCBmcm9tIHRoZSB3YWxsZXRcbiAgICAgIHRoaXMuX2lucHV0cy5wdXNoKHtcbiAgICAgICAgYWRkcmVzczogdHJhbnNmZXJEYXRhLmZyb20sXG4gICAgICAgIC8vIEJhbGFuY2UgKyBmZWVzICsgbWF4IGdhcyArIG1heCBzdG9yYWdlIGFyZSBwYWlkIGJ5IHRoZSBzb3VyY2UgYWNjb3VudFxuICAgICAgICB2YWx1ZTogdHJhbnNmZXJEYXRhLmFtb3VudCxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBTaWduIHRoZSB0cmFuc2FjdGlvbiB3aXRoIHRoZSBwcm92aWRlZCBrZXkuIEl0IGRvZXMgbm90IGNoZWNrIGlmIHRoZSBzaWduZXIgaXMgYWxsb3dlZCB0byBzaWduXG4gICAqIGl0IG9yIG5vdC5cbiAgICpcbiAgICogQHBhcmFtIHtLZXlQYWlyfSBrZXlQYWlyIFRoZSBrZXkgdG8gc2lnbiB0aGUgdHJhbnNhY3Rpb24gd2l0aFxuICAgKi9cbiAgYXN5bmMgc2lnbihrZXlQYWlyOiBLZXlQYWlyKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgLy8gVE9ETzogZmFpbCBpZiB0aGUgdHJhbnNhY3Rpb24gaXMgYWxyZWFkeSBzaWduZWRcbiAgICAvLyBDaGVjayBpZiB0aGVyZSBpcyBhIHRyYW5zYWN0aW9uIHRvIHNpZ25cbiAgICBpZiAoIXRoaXMuX3BhcnNlZFRyYW5zYWN0aW9uKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoJ0VtcHR5IHRyYW5zYWN0aW9uJyk7XG4gICAgfVxuICAgIC8vIEdldCB0aGUgdHJhbnNhY3Rpb24gYm9keSB0byBzaWduXG4gICAgY29uc3QgZW5jb2RlZFRyYW5zYWN0aW9uID0gYXdhaXQgbG9jYWxGb3JnZXIuZm9yZ2UodGhpcy5fcGFyc2VkVHJhbnNhY3Rpb24pO1xuXG4gICAgY29uc3Qgc2lnbmVkVHJhbnNhY3Rpb24gPSBhd2FpdCBVdGlscy5zaWduKGtleVBhaXIsIGVuY29kZWRUcmFuc2FjdGlvbik7XG4gICAgdGhpcy5fZW5jb2RlZFRyYW5zYWN0aW9uID0gc2lnbmVkVHJhbnNhY3Rpb24uc2J5dGVzO1xuXG4gICAgLy8gVGhlIHRyYW5zYWN0aW9uIGlkIGNhbiBvbmx5IGJlIGNhbGN1bGF0ZWQgZm9yIHNpZ25lZCB0cmFuc2FjdGlvbnNcbiAgICB0aGlzLl9pZCA9IGF3YWl0IFV0aWxzLmNhbGN1bGF0ZVRyYW5zYWN0aW9uSWQodGhpcy5fZW5jb2RlZFRyYW5zYWN0aW9uKTtcbiAgICBhd2FpdCB0aGlzLmluaXRGcm9tUGFyc2VkVHJhbnNhY3Rpb24odGhpcy5fcGFyc2VkVHJhbnNhY3Rpb24sIHRoaXMuX2lkKTtcblxuICAgIHRoaXMuX3NpZ25hdHVyZXMucHVzaChzaWduZWRUcmFuc2FjdGlvbi5zaWcpO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZSB0aGUgbGlzdCBvZiBzaWduYXR1cmVzIGZvciBhIG11bHRpc2lnIHRyYW5zYWN0aW9uIG9wZXJhdGlvbi5cbiAgICpcbiAgICogQHBhcmFtIHtJbmRleGVkU2lnbmF0dXJlW119IHNpZ25hdHVyZXMgTGlzdCBvZiBzaWduYXR1cmVzIGFuZCB0aGUgaW5kZXggdGhleSBzaG91bGQgYmUgcHV0IG9uXG4gICAqICAgIGluIHRoZSBtdWx0aXNpZyB0cmFuc2ZlclxuICAgKiBAcGFyYW0ge251bWJlcn0gaW5kZXggVGhlIHRyYW5zZmVyIGluZGV4IHRvIGFkZCB0aGUgc2lnbmF0dXJlcyB0b1xuICAgKi9cbiAgYXN5bmMgYWRkVHJhbnNmZXJTaWduYXR1cmUoc2lnbmF0dXJlczogSW5kZXhlZFNpZ25hdHVyZVtdLCBpbmRleDogbnVtYmVyKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKCF0aGlzLl9wYXJzZWRUcmFuc2FjdGlvbikge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKCdFbXB0eSB0cmFuc2FjdGlvbicpO1xuICAgIH1cbiAgICB1cGRhdGVNdWx0aXNpZ1RyYW5zZmVyU2lnbmF0dXJlcyh0aGlzLl9wYXJzZWRUcmFuc2FjdGlvbi5jb250ZW50c1tpbmRleF0gYXMgVHJhbnNhY3Rpb25PcCwgc2lnbmF0dXJlcyk7XG4gICAgdGhpcy5fZW5jb2RlZFRyYW5zYWN0aW9uID0gYXdhaXQgbG9jYWxGb3JnZXIuZm9yZ2UodGhpcy5fcGFyc2VkVHJhbnNhY3Rpb24pO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIGNhblNpZ24oa2V5OiBCYXNlS2V5KTogYm9vbGVhbiB7XG4gICAgLy8gVE9ETzogY2hlY2sgdGhlIGtleSBiZWxvbmdzIHRvIHRoZSBfc291cmNlIGFjY291bnQgaW4gX3BhcnNlZFRyYW5zYWN0aW9uXG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgdG9Kc29uKCk6IFBhcnNlZFRyYW5zYWN0aW9uIHtcbiAgICBpZiAoIXRoaXMuX3BhcnNlZFRyYW5zYWN0aW9uKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoJ0VtcHR5IHRyYW5zYWN0aW9uJyk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9wYXJzZWRUcmFuc2FjdGlvbjtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICB0b0Jyb2FkY2FzdEZvcm1hdCgpOiBzdHJpbmcge1xuICAgIGlmICghdGhpcy5fZW5jb2RlZFRyYW5zYWN0aW9uKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoJ01pc3NpbmcgZW5jb2RlZCB0cmFuc2FjdGlvbicpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fZW5jb2RlZFRyYW5zYWN0aW9uO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgdHJhbnNhY3Rpb24gc291cmNlIGlmIGl0IGlzIGF2YWlsYWJsZS5cbiAgICpcbiAgICogQHJldHVybnMge3N0cmluZ30gU291cmNlIG9mIHRoZSB0cmFuc2FjdGlvblxuICAgKi9cbiAgZ2V0IHNvdXJjZSgpOiBzdHJpbmcge1xuICAgIGlmICghdGhpcy5fc291cmNlKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoJ1RyYW5zYWN0aW9uIG5vdCBpbml0aWFsaXplZCcpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fc291cmNlO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgdHJhbnNhY3Rpb24gZGVsZWdhdGlvbiBhZGRyZXNzIGlmIGl0IGlzIGF2YWlsYWJsZS5cbiAgICpcbiAgICogQHJldHVybnMge3N0cmluZ30gdHJhbnNhY3Rpb24gZGVsZWdhdGlvbiBhZGRyZXNzXG4gICAqL1xuICBnZXQgZGVsZWdhdGUoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5fZGVsZWdhdGU7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBwdWJsaWMga2V5IHJldmVhbGVkIGJ5IHRoZSB0cmFuc2FjdGlvbiBpZiBpdCBleGlzdHNcbiAgICpcbiAgICogQHJldHVybnMge3N0cmluZ30gcHVibGljIGtleVxuICAgKi9cbiAgZ2V0IHB1YmxpY0tleVRvUmV2ZWFsKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuX3B1YmxpY0tleVRvUmV2ZWFsO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgZGVzdGluYXRpb24gb2YgYW4gYWRkcmVzcyBpbml0aWFsaXphdGlvbiB0cmFuc2FjdGlvbiBpZiBpdCBleGlzdHNcbiAgICpcbiAgICogQHJldHVybnMge3N0cmluZ30gZm9yd2FyZGVyIGRlc3RpbmF0aW9uXG4gICAqL1xuICBnZXQgZm9yd2FyZGVyRGVzdGluYXRpb24oKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5fZm9yd2FyZGVyRGVzdGluYXRpb247XG4gIH1cblxuICBnZXQgb3duZXJzKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gdGhpcy5fb3duZXJzO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgc2lnbmF0dXJlcyBmb3IgdGhlIGdpdmVuIG11bHRpc2lnIHRyYW5zZmVyLFxuICAgKlxuICAgKiBAcGFyYW0ge251bWJlcn0gdHJhbnNmZXJJbmRleCBUaGUgdHJhbnNmZXIgc2NyaXB0IGluZGV4IGluIHRoZSBUZXpvcyB0cmFuc2FjdGlvblxuICAgKiBAcmV0dXJucyB7SW5kZXhlZFNpZ25hdHVyZVtdfSBBIGxpc3Qgb2Ygc2lnbmF0dXJlcyB3aXRoIHRoZWlyIGluZGV4IGluc2lkZSB0aGUgbXVsdGlzaWcgdHJhbnNmZXJcbiAgICogICAgICBzY3JpcHRcbiAgICovXG4gIGdldFRyYW5zZmVyU2lnbmF0dXJlcyh0cmFuc2ZlckluZGV4ID0gMCk6IEluZGV4ZWRTaWduYXR1cmVbXSB7XG4gICAgaWYgKCF0aGlzLl9wYXJzZWRUcmFuc2FjdGlvbikge1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cbiAgICByZXR1cm4gZ2V0TXVsdGlzaWdUcmFuc2ZlclNpZ25hdHVyZXModGhpcy5fcGFyc2VkVHJhbnNhY3Rpb24uY29udGVudHNbdHJhbnNmZXJJbmRleF0gYXMgVHJhbnNhY3Rpb25PcCk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBsaXN0IG9mIGluZGV4IHBlciB0ZXpvcyB0cmFuc2FjdGlvbiB0eXBlLiBUaGlzIGlzIHVzZWZ1bCB0byBsb2NhdGUgc3BlY2lmaWMgb3BlcmF0aW9uc1xuICAgKiB3aXRoaW4gdGhlIHRyYW5zYWN0aW9uIGFuZCB2ZXJpZnkgb3Igc2lnbiB0aGVtLlxuICAgKlxuICAgKiBAcmV0dXJucyB7e1twOiBzdHJpbmddOiBudW1iZXJbXX19IExpc3Qgb2YgaW5kZXhlcyB3aGVyZSB0aGUga2V5IGlzIHRoZSB0cmFuc2FjdGlvbiBraW5kXG4gICAqL1xuICBnZXRJbmRleGVzQnlUcmFuc2FjdGlvblR5cGUoKTogeyBba2luZDogc3RyaW5nXTogbnVtYmVyW10gfSB7XG4gICAgaWYgKCF0aGlzLl9wYXJzZWRUcmFuc2FjdGlvbikge1xuICAgICAgcmV0dXJuIHt9O1xuICAgIH1cbiAgICBjb25zdCBpbmRleGVzID0ge307XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLl9wYXJzZWRUcmFuc2FjdGlvbi5jb250ZW50cy5sZW5ndGg7IGkrKykge1xuICAgICAgY29uc3Qga2luZCA9IHRoaXMuX3BhcnNlZFRyYW5zYWN0aW9uLmNvbnRlbnRzW2ldLmtpbmQ7XG4gICAgICBpbmRleGVzW2tpbmRdID0gaW5kZXhlc1traW5kXSA/IGluZGV4ZXNba2luZF0uY29uY2F0KFtpXSkgOiBbaV07XG4gICAgfVxuICAgIHJldHVybiBpbmRleGVzO1xuICB9XG59XG4iXX0=
@@ -1,171 +0,0 @@
1
- import BigNumber from 'bignumber.js';
2
- import { BaseCoin as CoinConfig } from '@bitgo/statics';
3
- import { BaseKey, BaseTransactionBuilder, TransactionType } from '@bitgo/sdk-core';
4
- import { Address } from './address';
5
- import { Transaction } from './transaction';
6
- import { Fee, IndexedData, Key } from './iface';
7
- import { TransferBuilder } from './transferBuilder';
8
- interface DataToSignOverride extends IndexedData {
9
- dataToSign: string;
10
- }
11
- /**
12
- * Tezos transaction builder.
13
- */
14
- export declare class TransactionBuilder extends BaseTransactionBuilder {
15
- private _serializedTransaction;
16
- private _transaction;
17
- private _type;
18
- private _blockHeader;
19
- private _counter;
20
- private _fee;
21
- private _sourceAddress;
22
- private _sourceKeyPair?;
23
- private _publicKeyToReveal;
24
- private _initialBalance;
25
- private _initialDelegate;
26
- private _walletOwnerPublicKeys;
27
- private _multisigSignerKeyPairs;
28
- private _dataToSignOverride;
29
- private _transfers;
30
- private _forwarderDestination;
31
- /**
32
- * Public constructor.
33
- *
34
- * @param {CoinConfig} _coinConfig - coin configuration
35
- */
36
- constructor(_coinConfig: Readonly<CoinConfig>);
37
- /** @inheritdoc */
38
- protected fromImplementation(rawTransaction: string): Transaction;
39
- /** @inheritdoc */
40
- protected signImplementation(key: Key): Transaction;
41
- /** @inheritdoc */
42
- protected buildImplementation(): Promise<Transaction>;
43
- /**
44
- * Set the transaction branch id.
45
- *
46
- * @param {string} blockId A block hash to use as branch reference
47
- */
48
- branch(blockId: string): void;
49
- /**
50
- * The type of transaction being built.
51
- *
52
- * @param {TransactionType} type - type of the transaction
53
- */
54
- type(type: TransactionType): void;
55
- /**
56
- * Set the transaction fees. Low fees may get a transaction rejected or never picked up by bakers.
57
- *
58
- * @param {Fee} fee Baker fees. May also include the maximum gas and storage fees to pay
59
- */
60
- fee(fee: Fee): void;
61
- /**
62
- * Set the transaction initiator. This account will pay for the transaction fees, but it will not
63
- * be added as an owner of a wallet in a init transaction, unless manually set as one of the
64
- * owners.
65
- *
66
- * @param {string} source A Tezos address
67
- */
68
- source(source: string): void;
69
- /**
70
- * Set an amount of mutez to transfer in this transaction this transaction. This is different than
71
- * the amount to transfer from a multisig wallet.
72
- *
73
- * @param {string} amount Amount in mutez (1/1000000 Tezies)
74
- */
75
- initialBalance(amount: string): void;
76
- /**
77
- * Set the transaction counter to prevent submitting repeated transactions.
78
- *
79
- * @param {string} counter The counter to use
80
- */
81
- counter(counter: string): void;
82
- /**
83
- * Set the destination address of a forwarder contract
84
- * Used in forwarder contract deployment as destination address
85
- *
86
- * @param {string} contractAddress - contract address to use
87
- */
88
- forwarderDestination(contractAddress: string): void;
89
- /**
90
- * The public key to reveal.
91
- *
92
- * @param {string} publicKey A Tezos public key
93
- */
94
- publicKeyToReveal(publicKey: string): void;
95
- /**
96
- * Build a reveal operation for the source account with default fees.
97
- *
98
- * @returns {RevealOp} A Tezos reveal operation
99
- */
100
- private buildPublicKeyRevelationOperation;
101
- /**
102
- * Set one of the owners of the multisig wallet.
103
- *
104
- * @param {string} publicKey A Tezos public key
105
- */
106
- owner(publicKey: string): void;
107
- /**
108
- * Set an initial delegate to initialize this wallet to. This is different than the delegation to
109
- * set while doing a separate delegation transaction.
110
- *
111
- * @param {string} delegate The address to delegate the funds to
112
- */
113
- initialDelegate(delegate: string): void;
114
- /**
115
- * Build an origination operation for a generic multisig contract.
116
- *
117
- * @returns {Operation} A Tezos origination operation
118
- */
119
- private buildWalletInitializationOperations;
120
- /**
121
- * Initialize a new TransferBuilder to for a singlesig or multisig transaction.
122
- *
123
- * @param {string} amount Amount in mutez to be transferred
124
- * @returns {TransferBuilder} A transfer builder
125
- */
126
- transfer(amount: string): TransferBuilder;
127
- /**
128
- * Calculate the signatures for the multisig transaction.
129
- *
130
- * @param {string} packedData The string in hexadecimal to sign
131
- * @returns {Promise<string[]>} List of signatures for packedData
132
- */
133
- private getSignatures;
134
- /**
135
- * Override the data to sign for a specific transfer. Used for offline signing to pass the
136
- * respective dataToSign for transfer at a particular index.
137
- *
138
- * @param {DataToSignOverride} data - data to override
139
- */
140
- overrideDataToSign(data: DataToSignOverride): void;
141
- /**
142
- * Build a transaction operation for a generic multisig contract.
143
- *
144
- * @returns {Promise<TransactionOp[]>} A Tezos transaction operation
145
- */
146
- private buildSendTransactionContent;
147
- /**
148
- * Build a transaction operation for a forwarder contract
149
- *
150
- * @returns {OriginationOp} a Tezos transaction operation
151
- */
152
- private buildForwarderDeploymentContent;
153
- /** @inheritdoc */
154
- validateValue(value: BigNumber): void;
155
- /** @inheritdoc */
156
- validateAddress(address: Address): void;
157
- /** @inheritdoc */
158
- validateKey(key: BaseKey): void;
159
- /** @inheritdoc */
160
- validateRawTransaction(rawTransaction: any): void;
161
- /** @inheritdoc */
162
- validateTransaction(transaction: Transaction): void;
163
- /** @inheritdoc */
164
- displayName(): string;
165
- /** @inheritdoc */
166
- protected get transaction(): Transaction;
167
- /** @inheritdoc */
168
- protected set transaction(transaction: Transaction);
169
- }
170
- export {};
171
- //# sourceMappingURL=transactionBuilder.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"transactionBuilder.d.ts","sourceRoot":"","sources":["../../../../src/coin/xtz/transactionBuilder.ts"],"names":[],"mappings":"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"}