@bitgo/account-lib 3.0.0-hotfix.0 → 3.0.0

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 (621) hide show
  1. package/.mocharc.js +1 -1
  2. package/CHANGELOG.md +192 -30
  3. package/README.md +5 -7
  4. package/dist/resources/README.md +0 -22
  5. package/dist/src/index.d.ts +34 -20
  6. package/dist/src/index.d.ts.map +1 -1
  7. package/dist/src/index.js +57 -40
  8. package/dist/tsconfig.tsbuildinfo +25937 -40830
  9. package/package.json +29 -77
  10. package/resources/README.md +0 -22
  11. package/dist/browser/bitgo-account-lib.js +0 -2
  12. package/dist/browser/bitgo-account-lib.js.LICENSE.txt +0 -335
  13. package/dist/resources/hbar/protobuf/BasicTypes.proto +0 -424
  14. package/dist/resources/hbar/protobuf/CryptoCreate.proto +0 -47
  15. package/dist/resources/hbar/protobuf/CryptoTransfer.proto +0 -33
  16. package/dist/resources/hbar/protobuf/Duration.proto +0 -28
  17. package/dist/resources/hbar/protobuf/Timestamp.proto +0 -34
  18. package/dist/resources/hbar/protobuf/Transaction.proto +0 -35
  19. package/dist/resources/hbar/protobuf/TransactionBody.proto +0 -24
  20. package/dist/resources/hbar/protobuf/TransactionContents.proto +0 -33
  21. package/dist/resources/hbar/protobuf/hedera.d.ts +0 -4612
  22. package/dist/resources/hbar/protobuf/hedera.js +0 -12192
  23. package/dist/resources/trx/protobuf/Contract.proto +0 -256
  24. package/dist/resources/trx/protobuf/Discover.proto +0 -44
  25. package/dist/resources/trx/protobuf/tron.d.ts +0 -11024
  26. package/dist/resources/trx/protobuf/tron.js +0 -31510
  27. package/dist/resources/trx/protobuf/tron.proto +0 -677
  28. package/dist/src/coin/algo/assetTransferBuilder.d.ts +0 -42
  29. package/dist/src/coin/algo/assetTransferBuilder.d.ts.map +0 -1
  30. package/dist/src/coin/algo/assetTransferBuilder.js +0 -105
  31. package/dist/src/coin/algo/errors.d.ts +0 -11
  32. package/dist/src/coin/algo/errors.d.ts.map +0 -1
  33. package/dist/src/coin/algo/errors.js +0 -27
  34. package/dist/src/coin/algo/ifaces.d.ts +0 -46
  35. package/dist/src/coin/algo/ifaces.d.ts.map +0 -1
  36. package/dist/src/coin/algo/ifaces.js +0 -3
  37. package/dist/src/coin/algo/index.d.ts +0 -13
  38. package/dist/src/coin/algo/index.d.ts.map +0 -1
  39. package/dist/src/coin/algo/index.js +0 -47
  40. package/dist/src/coin/algo/keyPair.d.ts +0 -25
  41. package/dist/src/coin/algo/keyPair.d.ts.map +0 -1
  42. package/dist/src/coin/algo/keyPair.js +0 -77
  43. package/dist/src/coin/algo/keyRegistrationBuilder.d.ts +0 -104
  44. package/dist/src/coin/algo/keyRegistrationBuilder.d.ts.map +0 -1
  45. package/dist/src/coin/algo/keyRegistrationBuilder.js +0 -239
  46. package/dist/src/coin/algo/seedEncoding.d.ts +0 -25
  47. package/dist/src/coin/algo/seedEncoding.d.ts.map +0 -1
  48. package/dist/src/coin/algo/seedEncoding.js +0 -97
  49. package/dist/src/coin/algo/transaction.d.ts +0 -75
  50. package/dist/src/coin/algo/transaction.d.ts.map +0 -1
  51. package/dist/src/coin/algo/transaction.js +0 -251
  52. package/dist/src/coin/algo/transactionBuilder.d.ts +0 -204
  53. package/dist/src/coin/algo/transactionBuilder.d.ts.map +0 -1
  54. package/dist/src/coin/algo/transactionBuilder.js +0 -373
  55. package/dist/src/coin/algo/transactionBuilderFactory.d.ts +0 -16
  56. package/dist/src/coin/algo/transactionBuilderFactory.d.ts.map +0 -1
  57. package/dist/src/coin/algo/transactionBuilderFactory.js +0 -52
  58. package/dist/src/coin/algo/transferBuilder.d.ts +0 -40
  59. package/dist/src/coin/algo/transferBuilder.d.ts.map +0 -1
  60. package/dist/src/coin/algo/transferBuilder.js +0 -89
  61. package/dist/src/coin/algo/txnSchema.d.ts +0 -7
  62. package/dist/src/coin/algo/txnSchema.d.ts.map +0 -1
  63. package/dist/src/coin/algo/txnSchema.js +0 -68
  64. package/dist/src/coin/algo/utils.d.ts +0 -249
  65. package/dist/src/coin/algo/utils.d.ts.map +0 -1
  66. package/dist/src/coin/algo/utils.js +0 -539
  67. package/dist/src/coin/avaxc/index.d.ts +0 -8
  68. package/dist/src/coin/avaxc/index.d.ts.map +0 -1
  69. package/dist/src/coin/avaxc/index.js +0 -35
  70. package/dist/src/coin/avaxc/keyPair.d.ts +0 -26
  71. package/dist/src/coin/avaxc/keyPair.d.ts.map +0 -1
  72. package/dist/src/coin/avaxc/keyPair.js +0 -83
  73. package/dist/src/coin/avaxc/resources.d.ts +0 -12
  74. package/dist/src/coin/avaxc/resources.d.ts.map +0 -1
  75. package/dist/src/coin/avaxc/resources.js +0 -27
  76. package/dist/src/coin/avaxc/transactionBuilder.d.ts +0 -17
  77. package/dist/src/coin/avaxc/transactionBuilder.d.ts.map +0 -1
  78. package/dist/src/coin/avaxc/transactionBuilder.js +0 -45
  79. package/dist/src/coin/avaxc/transferBuilder.d.ts +0 -17
  80. package/dist/src/coin/avaxc/transferBuilder.d.ts.map +0 -1
  81. package/dist/src/coin/avaxc/transferBuilder.js +0 -25
  82. package/dist/src/coin/avaxc/utils.d.ts +0 -39
  83. package/dist/src/coin/avaxc/utils.d.ts.map +0 -1
  84. package/dist/src/coin/avaxc/utils.js +0 -70
  85. package/dist/src/coin/avaxc/walletUtil.d.ts +0 -22
  86. package/dist/src/coin/avaxc/walletUtil.d.ts.map +0 -1
  87. package/dist/src/coin/avaxc/walletUtil.js +0 -62
  88. package/dist/src/coin/baseCoin/baseKeyPair.d.ts +0 -27
  89. package/dist/src/coin/baseCoin/baseKeyPair.d.ts.map +0 -1
  90. package/dist/src/coin/baseCoin/baseKeyPair.js +0 -3
  91. package/dist/src/coin/baseCoin/baseTransaction.d.ts +0 -71
  92. package/dist/src/coin/baseCoin/baseTransaction.d.ts.map +0 -1
  93. package/dist/src/coin/baseCoin/baseTransaction.js +0 -94
  94. package/dist/src/coin/baseCoin/baseTransactionBuilder.d.ts +0 -128
  95. package/dist/src/coin/baseCoin/baseTransactionBuilder.d.ts.map +0 -1
  96. package/dist/src/coin/baseCoin/baseTransactionBuilder.js +0 -179
  97. package/dist/src/coin/baseCoin/baseTransactionBuilderFactory.d.ts +0 -30
  98. package/dist/src/coin/baseCoin/baseTransactionBuilderFactory.d.ts.map +0 -1
  99. package/dist/src/coin/baseCoin/baseTransactionBuilderFactory.js +0 -20
  100. package/dist/src/coin/baseCoin/baseUtils.d.ts +0 -45
  101. package/dist/src/coin/baseCoin/baseUtils.d.ts.map +0 -1
  102. package/dist/src/coin/baseCoin/baseUtils.js +0 -3
  103. package/dist/src/coin/baseCoin/blsKeyPair.d.ts +0 -75
  104. package/dist/src/coin/baseCoin/blsKeyPair.d.ts.map +0 -1
  105. package/dist/src/coin/baseCoin/blsKeyPair.js +0 -232
  106. package/dist/src/coin/baseCoin/ed25519KeyPair.d.ts +0 -50
  107. package/dist/src/coin/baseCoin/ed25519KeyPair.d.ts.map +0 -1
  108. package/dist/src/coin/baseCoin/ed25519KeyPair.js +0 -141
  109. package/dist/src/coin/baseCoin/enum.d.ts +0 -43
  110. package/dist/src/coin/baseCoin/enum.d.ts.map +0 -1
  111. package/dist/src/coin/baseCoin/enum.js +0 -70
  112. package/dist/src/coin/baseCoin/errors.d.ts +0 -65
  113. package/dist/src/coin/baseCoin/errors.d.ts.map +0 -1
  114. package/dist/src/coin/baseCoin/errors.js +0 -156
  115. package/dist/src/coin/baseCoin/iface.d.ts +0 -162
  116. package/dist/src/coin/baseCoin/iface.d.ts.map +0 -1
  117. package/dist/src/coin/baseCoin/iface.js +0 -38
  118. package/dist/src/coin/baseCoin/index.d.ts +0 -12
  119. package/dist/src/coin/baseCoin/index.d.ts.map +0 -1
  120. package/dist/src/coin/baseCoin/index.js +0 -41
  121. package/dist/src/coin/baseCoin/secp256k1ExtendedKeyPair.d.ts +0 -55
  122. package/dist/src/coin/baseCoin/secp256k1ExtendedKeyPair.d.ts.map +0 -1
  123. package/dist/src/coin/baseCoin/secp256k1ExtendedKeyPair.js +0 -124
  124. package/dist/src/coin/celo/index.d.ts +0 -8
  125. package/dist/src/coin/celo/index.d.ts.map +0 -1
  126. package/dist/src/coin/celo/index.js +0 -35
  127. package/dist/src/coin/celo/resources.d.ts +0 -10
  128. package/dist/src/coin/celo/resources.d.ts.map +0 -1
  129. package/dist/src/coin/celo/resources.js +0 -26
  130. package/dist/src/coin/celo/stakingBuilder.d.ts +0 -91
  131. package/dist/src/coin/celo/stakingBuilder.d.ts.map +0 -1
  132. package/dist/src/coin/celo/stakingBuilder.js +0 -277
  133. package/dist/src/coin/celo/stakingCall.d.ts +0 -7
  134. package/dist/src/coin/celo/stakingCall.d.ts.map +0 -1
  135. package/dist/src/coin/celo/stakingCall.js +0 -13
  136. package/dist/src/coin/celo/stakingUtils.d.ts +0 -15
  137. package/dist/src/coin/celo/stakingUtils.d.ts.map +0 -1
  138. package/dist/src/coin/celo/stakingUtils.js +0 -98
  139. package/dist/src/coin/celo/transaction.d.ts +0 -10
  140. package/dist/src/coin/celo/transaction.d.ts.map +0 -1
  141. package/dist/src/coin/celo/transaction.js +0 -37
  142. package/dist/src/coin/celo/transactionBuilder.d.ts +0 -86
  143. package/dist/src/coin/celo/transactionBuilder.d.ts.map +0 -1
  144. package/dist/src/coin/celo/transactionBuilder.js +0 -228
  145. package/dist/src/coin/celo/transferBuilder.d.ts +0 -19
  146. package/dist/src/coin/celo/transferBuilder.d.ts.map +0 -1
  147. package/dist/src/coin/celo/transferBuilder.js +0 -27
  148. package/dist/src/coin/celo/types.d.ts +0 -52
  149. package/dist/src/coin/celo/types.d.ts.map +0 -1
  150. package/dist/src/coin/celo/types.js +0 -222
  151. package/dist/src/coin/celo/utils.d.ts +0 -18
  152. package/dist/src/coin/celo/utils.d.ts.map +0 -1
  153. package/dist/src/coin/celo/utils.js +0 -99
  154. package/dist/src/coin/cspr/constants.d.ts +0 -19
  155. package/dist/src/coin/cspr/constants.d.ts.map +0 -1
  156. package/dist/src/coin/cspr/constants.js +0 -28
  157. package/dist/src/coin/cspr/delegateBuilder.d.ts +0 -49
  158. package/dist/src/coin/cspr/delegateBuilder.d.ts.map +0 -1
  159. package/dist/src/coin/cspr/delegateBuilder.js +0 -111
  160. package/dist/src/coin/cspr/ifaces.d.ts +0 -69
  161. package/dist/src/coin/cspr/ifaces.d.ts.map +0 -1
  162. package/dist/src/coin/cspr/ifaces.js +0 -3
  163. package/dist/src/coin/cspr/index.d.ts +0 -5
  164. package/dist/src/coin/cspr/index.d.ts.map +0 -1
  165. package/dist/src/coin/cspr/index.js +0 -29
  166. package/dist/src/coin/cspr/keyPair.d.ts +0 -18
  167. package/dist/src/coin/cspr/keyPair.d.ts.map +0 -1
  168. package/dist/src/coin/cspr/keyPair.js +0 -75
  169. package/dist/src/coin/cspr/transaction.d.ts +0 -55
  170. package/dist/src/coin/cspr/transaction.d.ts.map +0 -1
  171. package/dist/src/coin/cspr/transaction.js +0 -227
  172. package/dist/src/coin/cspr/transactionBuilder.d.ts +0 -124
  173. package/dist/src/coin/cspr/transactionBuilder.d.ts.map +0 -1
  174. package/dist/src/coin/cspr/transactionBuilder.js +0 -312
  175. package/dist/src/coin/cspr/transactionBuilderFactory.d.ts +0 -46
  176. package/dist/src/coin/cspr/transactionBuilderFactory.d.ts.map +0 -1
  177. package/dist/src/coin/cspr/transactionBuilderFactory.js +0 -98
  178. package/dist/src/coin/cspr/transferBuilder.d.ts +0 -39
  179. package/dist/src/coin/cspr/transferBuilder.d.ts.map +0 -1
  180. package/dist/src/coin/cspr/transferBuilder.js +0 -106
  181. package/dist/src/coin/cspr/undelegateBuilder.d.ts +0 -49
  182. package/dist/src/coin/cspr/undelegateBuilder.d.ts.map +0 -1
  183. package/dist/src/coin/cspr/undelegateBuilder.js +0 -111
  184. package/dist/src/coin/cspr/utils.d.ts +0 -188
  185. package/dist/src/coin/cspr/utils.d.ts.map +0 -1
  186. package/dist/src/coin/cspr/utils.js +0 -478
  187. package/dist/src/coin/cspr/walletInitializationBuilder.d.ts +0 -27
  188. package/dist/src/coin/cspr/walletInitializationBuilder.d.ts.map +0 -1
  189. package/dist/src/coin/cspr/walletInitializationBuilder.js +0 -95
  190. package/dist/src/coin/dot/addressInitializationBuilder.d.ts +0 -79
  191. package/dist/src/coin/dot/addressInitializationBuilder.d.ts.map +0 -1
  192. package/dist/src/coin/dot/addressInitializationBuilder.js +0 -182
  193. package/dist/src/coin/dot/batchTransactionBuilder.d.ts +0 -47
  194. package/dist/src/coin/dot/batchTransactionBuilder.d.ts.map +0 -1
  195. package/dist/src/coin/dot/batchTransactionBuilder.js +0 -122
  196. package/dist/src/coin/dot/claimBuilder.d.ts +0 -58
  197. package/dist/src/coin/dot/claimBuilder.d.ts.map +0 -1
  198. package/dist/src/coin/dot/claimBuilder.js +0 -117
  199. package/dist/src/coin/dot/errors.d.ts +0 -8
  200. package/dist/src/coin/dot/errors.d.ts.map +0 -1
  201. package/dist/src/coin/dot/errors.js +0 -19
  202. package/dist/src/coin/dot/iface.d.ts +0 -194
  203. package/dist/src/coin/dot/iface.d.ts.map +0 -1
  204. package/dist/src/coin/dot/iface.js +0 -39
  205. package/dist/src/coin/dot/index.d.ts +0 -17
  206. package/dist/src/coin/dot/index.d.ts.map +0 -1
  207. package/dist/src/coin/dot/index.js +0 -53
  208. package/dist/src/coin/dot/keyPair.d.ts +0 -31
  209. package/dist/src/coin/dot/keyPair.d.ts.map +0 -1
  210. package/dist/src/coin/dot/keyPair.js +0 -74
  211. package/dist/src/coin/dot/singletonRegistry.d.ts +0 -7
  212. package/dist/src/coin/dot/singletonRegistry.d.ts.map +0 -1
  213. package/dist/src/coin/dot/singletonRegistry.js +0 -20
  214. package/dist/src/coin/dot/stakingBuilder.d.ts +0 -58
  215. package/dist/src/coin/dot/stakingBuilder.d.ts.map +0 -1
  216. package/dist/src/coin/dot/stakingBuilder.js +0 -135
  217. package/dist/src/coin/dot/transaction.d.ts +0 -65
  218. package/dist/src/coin/dot/transaction.d.ts.map +0 -1
  219. package/dist/src/coin/dot/transaction.js +0 -396
  220. package/dist/src/coin/dot/transactionBuilder.d.ts +0 -131
  221. package/dist/src/coin/dot/transactionBuilder.d.ts.map +0 -1
  222. package/dist/src/coin/dot/transactionBuilder.js +0 -332
  223. package/dist/src/coin/dot/transactionBuilderFactory.d.ts +0 -26
  224. package/dist/src/coin/dot/transactionBuilderFactory.d.ts.map +0 -1
  225. package/dist/src/coin/dot/transactionBuilderFactory.js +0 -93
  226. package/dist/src/coin/dot/transferBuilder.d.ts +0 -71
  227. package/dist/src/coin/dot/transferBuilder.d.ts.map +0 -1
  228. package/dist/src/coin/dot/transferBuilder.js +0 -171
  229. package/dist/src/coin/dot/txnSchema.d.ts +0 -14
  230. package/dist/src/coin/dot/txnSchema.d.ts.map +0 -1
  231. package/dist/src/coin/dot/txnSchema.js +0 -104
  232. package/dist/src/coin/dot/unnominateBuilder.d.ts +0 -24
  233. package/dist/src/coin/dot/unnominateBuilder.d.ts.map +0 -1
  234. package/dist/src/coin/dot/unnominateBuilder.js +0 -50
  235. package/dist/src/coin/dot/unstakeBuilder.d.ts +0 -38
  236. package/dist/src/coin/dot/unstakeBuilder.d.ts.map +0 -1
  237. package/dist/src/coin/dot/unstakeBuilder.js +0 -89
  238. package/dist/src/coin/dot/utils.d.ts +0 -138
  239. package/dist/src/coin/dot/utils.d.ts.map +0 -1
  240. package/dist/src/coin/dot/utils.js +0 -269
  241. package/dist/src/coin/dot/withdrawUnstakedBuilder.d.ts +0 -38
  242. package/dist/src/coin/dot/withdrawUnstakedBuilder.d.ts.map +0 -1
  243. package/dist/src/coin/dot/withdrawUnstakedBuilder.js +0 -90
  244. package/dist/src/coin/etc/index.d.ts +0 -8
  245. package/dist/src/coin/etc/index.d.ts.map +0 -1
  246. package/dist/src/coin/etc/index.js +0 -35
  247. package/dist/src/coin/etc/resources.d.ts +0 -10
  248. package/dist/src/coin/etc/resources.d.ts.map +0 -1
  249. package/dist/src/coin/etc/resources.js +0 -26
  250. package/dist/src/coin/etc/transactionBuilder.d.ts +0 -17
  251. package/dist/src/coin/etc/transactionBuilder.d.ts.map +0 -1
  252. package/dist/src/coin/etc/transactionBuilder.js +0 -45
  253. package/dist/src/coin/etc/transferBuilder.d.ts +0 -19
  254. package/dist/src/coin/etc/transferBuilder.d.ts.map +0 -1
  255. package/dist/src/coin/etc/transferBuilder.js +0 -27
  256. package/dist/src/coin/etc/utils.d.ts +0 -18
  257. package/dist/src/coin/etc/utils.d.ts.map +0 -1
  258. package/dist/src/coin/etc/utils.js +0 -42
  259. package/dist/src/coin/eth/contractCall.d.ts +0 -8
  260. package/dist/src/coin/eth/contractCall.d.ts.map +0 -1
  261. package/dist/src/coin/eth/contractCall.js +0 -17
  262. package/dist/src/coin/eth/iface.d.ts +0 -122
  263. package/dist/src/coin/eth/iface.d.ts.map +0 -1
  264. package/dist/src/coin/eth/iface.js +0 -8
  265. package/dist/src/coin/eth/index.d.ts +0 -10
  266. package/dist/src/coin/eth/index.d.ts.map +0 -1
  267. package/dist/src/coin/eth/index.js +0 -39
  268. package/dist/src/coin/eth/keyPair.d.ts +0 -26
  269. package/dist/src/coin/eth/keyPair.d.ts.map +0 -1
  270. package/dist/src/coin/eth/keyPair.js +0 -85
  271. package/dist/src/coin/eth/transaction.d.ts +0 -64
  272. package/dist/src/coin/eth/transaction.d.ts.map +0 -1
  273. package/dist/src/coin/eth/transaction.js +0 -137
  274. package/dist/src/coin/eth/transactionBuilder.d.ts +0 -194
  275. package/dist/src/coin/eth/transactionBuilder.d.ts.map +0 -1
  276. package/dist/src/coin/eth/transactionBuilder.js +0 -624
  277. package/dist/src/coin/eth/transferBuilder/baseNFTTransferBuilder.d.ts +0 -47
  278. package/dist/src/coin/eth/transferBuilder/baseNFTTransferBuilder.d.ts.map +0 -1
  279. package/dist/src/coin/eth/transferBuilder/baseNFTTransferBuilder.js +0 -113
  280. package/dist/src/coin/eth/transferBuilder/transferBuilderERC1155.d.ts +0 -14
  281. package/dist/src/coin/eth/transferBuilder/transferBuilderERC1155.d.ts.map +0 -1
  282. package/dist/src/coin/eth/transferBuilder/transferBuilderERC1155.js +0 -83
  283. package/dist/src/coin/eth/transferBuilder/transferBuilderERC721.d.ts +0 -13
  284. package/dist/src/coin/eth/transferBuilder/transferBuilderERC721.d.ts.map +0 -1
  285. package/dist/src/coin/eth/transferBuilder/transferBuilderERC721.js +0 -68
  286. package/dist/src/coin/eth/transferBuilder.d.ts +0 -65
  287. package/dist/src/coin/eth/transferBuilder.d.ts.map +0 -1
  288. package/dist/src/coin/eth/transferBuilder.js +0 -197
  289. package/dist/src/coin/eth/types.d.ts +0 -39
  290. package/dist/src/coin/eth/types.d.ts.map +0 -1
  291. package/dist/src/coin/eth/types.js +0 -135
  292. package/dist/src/coin/eth/utils.d.ts +0 -202
  293. package/dist/src/coin/eth/utils.d.ts.map +0 -1
  294. package/dist/src/coin/eth/utils.js +0 -485
  295. package/dist/src/coin/eth/walletUtil.d.ts +0 -19
  296. package/dist/src/coin/eth/walletUtil.d.ts.map +0 -1
  297. package/dist/src/coin/eth/walletUtil.js +0 -29
  298. package/dist/src/coin/eth2/index.d.ts +0 -2
  299. package/dist/src/coin/eth2/index.d.ts.map +0 -1
  300. package/dist/src/coin/eth2/index.js +0 -6
  301. package/dist/src/coin/eth2/keyPair.d.ts +0 -33
  302. package/dist/src/coin/eth2/keyPair.d.ts.map +0 -1
  303. package/dist/src/coin/eth2/keyPair.js +0 -65
  304. package/dist/src/coin/hbar/ifaces.d.ts +0 -26
  305. package/dist/src/coin/hbar/ifaces.d.ts.map +0 -1
  306. package/dist/src/coin/hbar/ifaces.js +0 -3
  307. package/dist/src/coin/hbar/index.d.ts +0 -6
  308. package/dist/src/coin/hbar/index.d.ts.map +0 -1
  309. package/dist/src/coin/hbar/index.js +0 -31
  310. package/dist/src/coin/hbar/keyPair.d.ts +0 -23
  311. package/dist/src/coin/hbar/keyPair.d.ts.map +0 -1
  312. package/dist/src/coin/hbar/keyPair.js +0 -70
  313. package/dist/src/coin/hbar/transaction.d.ts +0 -98
  314. package/dist/src/coin/hbar/transaction.d.ts.map +0 -1
  315. package/dist/src/coin/hbar/transaction.js +0 -245
  316. package/dist/src/coin/hbar/transactionBuilder.d.ts +0 -112
  317. package/dist/src/coin/hbar/transactionBuilder.d.ts.map +0 -1
  318. package/dist/src/coin/hbar/transactionBuilder.js +0 -264
  319. package/dist/src/coin/hbar/transactionBuilderFactory.d.ts +0 -37
  320. package/dist/src/coin/hbar/transactionBuilderFactory.d.ts.map +0 -1
  321. package/dist/src/coin/hbar/transactionBuilderFactory.js +0 -77
  322. package/dist/src/coin/hbar/transferBuilder.d.ts +0 -44
  323. package/dist/src/coin/hbar/transferBuilder.d.ts.map +0 -1
  324. package/dist/src/coin/hbar/transferBuilder.js +0 -130
  325. package/dist/src/coin/hbar/utils.d.ts +0 -139
  326. package/dist/src/coin/hbar/utils.d.ts.map +0 -1
  327. package/dist/src/coin/hbar/utils.js +0 -310
  328. package/dist/src/coin/hbar/walletInitializationBuilder.d.ts +0 -28
  329. package/dist/src/coin/hbar/walletInitializationBuilder.d.ts.map +0 -1
  330. package/dist/src/coin/hbar/walletInitializationBuilder.js +0 -90
  331. package/dist/src/coin/near/constants.d.ts +0 -12
  332. package/dist/src/coin/near/constants.d.ts.map +0 -1
  333. package/dist/src/coin/near/constants.js +0 -15
  334. package/dist/src/coin/near/contractCallWrapper.d.ts +0 -33
  335. package/dist/src/coin/near/contractCallWrapper.d.ts.map +0 -1
  336. package/dist/src/coin/near/contractCallWrapper.js +0 -68
  337. package/dist/src/coin/near/errors.d.ts +0 -5
  338. package/dist/src/coin/near/errors.d.ts.map +0 -1
  339. package/dist/src/coin/near/errors.js +0 -12
  340. package/dist/src/coin/near/iface.d.ts +0 -40
  341. package/dist/src/coin/near/iface.d.ts.map +0 -1
  342. package/dist/src/coin/near/iface.js +0 -8
  343. package/dist/src/coin/near/index.d.ts +0 -11
  344. package/dist/src/coin/near/index.d.ts.map +0 -1
  345. package/dist/src/coin/near/index.js +0 -41
  346. package/dist/src/coin/near/keyPair.d.ts +0 -25
  347. package/dist/src/coin/near/keyPair.d.ts.map +0 -1
  348. package/dist/src/coin/near/keyPair.js +0 -73
  349. package/dist/src/coin/near/stakingActivateBuilder.d.ts +0 -32
  350. package/dist/src/coin/near/stakingActivateBuilder.d.ts.map +0 -1
  351. package/dist/src/coin/near/stakingActivateBuilder.js +0 -90
  352. package/dist/src/coin/near/stakingDeactivateBuilder.d.ts +0 -32
  353. package/dist/src/coin/near/stakingDeactivateBuilder.d.ts.map +0 -1
  354. package/dist/src/coin/near/stakingDeactivateBuilder.js +0 -89
  355. package/dist/src/coin/near/stakingWithdrawBuilder.d.ts +0 -32
  356. package/dist/src/coin/near/stakingWithdrawBuilder.d.ts.map +0 -1
  357. package/dist/src/coin/near/stakingWithdrawBuilder.js +0 -89
  358. package/dist/src/coin/near/transaction.d.ts +0 -90
  359. package/dist/src/coin/near/transaction.d.ts.map +0 -1
  360. package/dist/src/coin/near/transaction.js +0 -368
  361. package/dist/src/coin/near/transactionBuilder.d.ts +0 -89
  362. package/dist/src/coin/near/transactionBuilder.d.ts.map +0 -1
  363. package/dist/src/coin/near/transactionBuilder.js +0 -216
  364. package/dist/src/coin/near/transactionBuilderFactory.d.ts +0 -30
  365. package/dist/src/coin/near/transactionBuilderFactory.d.ts.map +0 -1
  366. package/dist/src/coin/near/transactionBuilderFactory.js +0 -71
  367. package/dist/src/coin/near/transferBuilder.d.ts +0 -26
  368. package/dist/src/coin/near/transferBuilder.d.ts.map +0 -1
  369. package/dist/src/coin/near/transferBuilder.js +0 -72
  370. package/dist/src/coin/near/utils.d.ts +0 -42
  371. package/dist/src/coin/near/utils.d.ts.map +0 -1
  372. package/dist/src/coin/near/utils.js +0 -92
  373. package/dist/src/coin/near/walletInitializationBuilder.d.ts +0 -12
  374. package/dist/src/coin/near/walletInitializationBuilder.d.ts.map +0 -1
  375. package/dist/src/coin/near/walletInitializationBuilder.js +0 -20
  376. package/dist/src/coin/rbtc/index.d.ts +0 -8
  377. package/dist/src/coin/rbtc/index.d.ts.map +0 -1
  378. package/dist/src/coin/rbtc/index.js +0 -35
  379. package/dist/src/coin/rbtc/resources.d.ts +0 -10
  380. package/dist/src/coin/rbtc/resources.d.ts.map +0 -1
  381. package/dist/src/coin/rbtc/resources.js +0 -25
  382. package/dist/src/coin/rbtc/transactionBuilder.d.ts +0 -17
  383. package/dist/src/coin/rbtc/transactionBuilder.d.ts.map +0 -1
  384. package/dist/src/coin/rbtc/transactionBuilder.js +0 -44
  385. package/dist/src/coin/rbtc/transferBuilder.d.ts +0 -19
  386. package/dist/src/coin/rbtc/transferBuilder.d.ts.map +0 -1
  387. package/dist/src/coin/rbtc/transferBuilder.js +0 -27
  388. package/dist/src/coin/rbtc/utils.d.ts +0 -18
  389. package/dist/src/coin/rbtc/utils.d.ts.map +0 -1
  390. package/dist/src/coin/rbtc/utils.js +0 -42
  391. package/dist/src/coin/sol/ataInitializationBuilder.d.ts +0 -33
  392. package/dist/src/coin/sol/ataInitializationBuilder.d.ts.map +0 -1
  393. package/dist/src/coin/sol/ataInitializationBuilder.js +0 -93
  394. package/dist/src/coin/sol/ataInitializationTransaction.d.ts +0 -14
  395. package/dist/src/coin/sol/ataInitializationTransaction.d.ts.map +0 -1
  396. package/dist/src/coin/sol/ataInitializationTransaction.js +0 -81
  397. package/dist/src/coin/sol/constants.d.ts +0 -58
  398. package/dist/src/coin/sol/constants.d.ts.map +0 -1
  399. package/dist/src/coin/sol/constants.js +0 -76
  400. package/dist/src/coin/sol/iface.d.ts +0 -99
  401. package/dist/src/coin/sol/iface.d.ts.map +0 -1
  402. package/dist/src/coin/sol/iface.js +0 -3
  403. package/dist/src/coin/sol/index.d.ts +0 -11
  404. package/dist/src/coin/sol/index.d.ts.map +0 -1
  405. package/dist/src/coin/sol/index.js +0 -41
  406. package/dist/src/coin/sol/instructionParamsFactory.d.ts +0 -12
  407. package/dist/src/coin/sol/instructionParamsFactory.d.ts.map +0 -1
  408. package/dist/src/coin/sol/instructionParamsFactory.js +0 -260
  409. package/dist/src/coin/sol/keyPair.d.ts +0 -26
  410. package/dist/src/coin/sol/keyPair.d.ts.map +0 -1
  411. package/dist/src/coin/sol/keyPair.js +0 -63
  412. package/dist/src/coin/sol/solInstructionFactory.d.ts +0 -10
  413. package/dist/src/coin/sol/solInstructionFactory.d.ts.map +0 -1
  414. package/dist/src/coin/sol/solInstructionFactory.js +0 -213
  415. package/dist/src/coin/sol/stakingActivateBuilder.d.ts +0 -41
  416. package/dist/src/coin/sol/stakingActivateBuilder.d.ts.map +0 -1
  417. package/dist/src/coin/sol/stakingActivateBuilder.js +0 -94
  418. package/dist/src/coin/sol/stakingDeactivateBuilder.d.ts +0 -23
  419. package/dist/src/coin/sol/stakingDeactivateBuilder.d.ts.map +0 -1
  420. package/dist/src/coin/sol/stakingDeactivateBuilder.js +0 -62
  421. package/dist/src/coin/sol/stakingWithdrawBuilder.d.ts +0 -31
  422. package/dist/src/coin/sol/stakingWithdrawBuilder.d.ts.map +0 -1
  423. package/dist/src/coin/sol/stakingWithdrawBuilder.js +0 -78
  424. package/dist/src/coin/sol/tokenEncodeDecode.d.ts +0 -85
  425. package/dist/src/coin/sol/tokenEncodeDecode.d.ts.map +0 -1
  426. package/dist/src/coin/sol/tokenEncodeDecode.js +0 -133
  427. package/dist/src/coin/sol/tokenTransferBuilder.d.ts +0 -27
  428. package/dist/src/coin/sol/tokenTransferBuilder.d.ts.map +0 -1
  429. package/dist/src/coin/sol/tokenTransferBuilder.js +0 -73
  430. package/dist/src/coin/sol/transaction.d.ts +0 -61
  431. package/dist/src/coin/sol/transaction.d.ts.map +0 -1
  432. package/dist/src/coin/sol/transaction.js +0 -369
  433. package/dist/src/coin/sol/transactionBuilder.d.ts +0 -101
  434. package/dist/src/coin/sol/transactionBuilder.d.ts.map +0 -1
  435. package/dist/src/coin/sol/transactionBuilder.js +0 -261
  436. package/dist/src/coin/sol/transactionBuilderFactory.d.ts +0 -76
  437. package/dist/src/coin/sol/transactionBuilderFactory.d.ts.map +0 -1
  438. package/dist/src/coin/sol/transactionBuilderFactory.js +0 -136
  439. package/dist/src/coin/sol/transferBuilder.d.ts +0 -26
  440. package/dist/src/coin/sol/transferBuilder.d.ts.map +0 -1
  441. package/dist/src/coin/sol/transferBuilder.js +0 -67
  442. package/dist/src/coin/sol/utils.d.ts +0 -146
  443. package/dist/src/coin/sol/utils.d.ts.map +0 -1
  444. package/dist/src/coin/sol/utils.js +0 -361
  445. package/dist/src/coin/sol/walletInitializationBuilder.d.ts +0 -26
  446. package/dist/src/coin/sol/walletInitializationBuilder.d.ts.map +0 -1
  447. package/dist/src/coin/sol/walletInitializationBuilder.js +0 -71
  448. package/dist/src/coin/stx/abstractContractBuilder.d.ts +0 -19
  449. package/dist/src/coin/stx/abstractContractBuilder.d.ts.map +0 -1
  450. package/dist/src/coin/stx/abstractContractBuilder.js +0 -70
  451. package/dist/src/coin/stx/constants.d.ts +0 -8
  452. package/dist/src/coin/stx/constants.d.ts.map +0 -1
  453. package/dist/src/coin/stx/constants.js +0 -19
  454. package/dist/src/coin/stx/contractBuilder.d.ts +0 -33
  455. package/dist/src/coin/stx/contractBuilder.d.ts.map +0 -1
  456. package/dist/src/coin/stx/contractBuilder.js +0 -116
  457. package/dist/src/coin/stx/iface.d.ts +0 -48
  458. package/dist/src/coin/stx/iface.d.ts.map +0 -1
  459. package/dist/src/coin/stx/iface.js +0 -3
  460. package/dist/src/coin/stx/index.d.ts +0 -6
  461. package/dist/src/coin/stx/index.d.ts.map +0 -1
  462. package/dist/src/coin/stx/index.js +0 -32
  463. package/dist/src/coin/stx/keyPair.d.ts +0 -55
  464. package/dist/src/coin/stx/keyPair.d.ts.map +0 -1
  465. package/dist/src/coin/stx/keyPair.js +0 -140
  466. package/dist/src/coin/stx/sendmanyBuilder.d.ts +0 -23
  467. package/dist/src/coin/stx/sendmanyBuilder.d.ts.map +0 -1
  468. package/dist/src/coin/stx/sendmanyBuilder.js +0 -75
  469. package/dist/src/coin/stx/transaction.d.ts +0 -49
  470. package/dist/src/coin/stx/transaction.d.ts.map +0 -1
  471. package/dist/src/coin/stx/transaction.js +0 -225
  472. package/dist/src/coin/stx/transactionBuilder.d.ts +0 -86
  473. package/dist/src/coin/stx/transactionBuilder.d.ts.map +0 -1
  474. package/dist/src/coin/stx/transactionBuilder.js +0 -263
  475. package/dist/src/coin/stx/transactionBuilderFactory.d.ts +0 -30
  476. package/dist/src/coin/stx/transactionBuilderFactory.d.ts.map +0 -1
  477. package/dist/src/coin/stx/transactionBuilderFactory.js +0 -81
  478. package/dist/src/coin/stx/transferBuilder.d.ts +0 -30
  479. package/dist/src/coin/stx/transferBuilder.d.ts.map +0 -1
  480. package/dist/src/coin/stx/transferBuilder.js +0 -99
  481. package/dist/src/coin/stx/utils.d.ts +0 -207
  482. package/dist/src/coin/stx/utils.d.ts.map +0 -1
  483. package/dist/src/coin/stx/utils.js +0 -504
  484. package/dist/src/coin/trx/address.d.ts +0 -11
  485. package/dist/src/coin/trx/address.d.ts.map +0 -1
  486. package/dist/src/coin/trx/address.js +0 -13
  487. package/dist/src/coin/trx/contractCallBuilder.d.ts +0 -96
  488. package/dist/src/coin/trx/contractCallBuilder.d.ts.map +0 -1
  489. package/dist/src/coin/trx/contractCallBuilder.js +0 -281
  490. package/dist/src/coin/trx/enum.d.ts +0 -23
  491. package/dist/src/coin/trx/enum.d.ts.map +0 -1
  492. package/dist/src/coin/trx/enum.js +0 -28
  493. package/dist/src/coin/trx/iface.d.ts +0 -92
  494. package/dist/src/coin/trx/iface.d.ts.map +0 -1
  495. package/dist/src/coin/trx/iface.js +0 -3
  496. package/dist/src/coin/trx/index.d.ts +0 -10
  497. package/dist/src/coin/trx/index.d.ts.map +0 -1
  498. package/dist/src/coin/trx/index.js +0 -39
  499. package/dist/src/coin/trx/keyPair.d.ts +0 -44
  500. package/dist/src/coin/trx/keyPair.d.ts.map +0 -1
  501. package/dist/src/coin/trx/keyPair.js +0 -121
  502. package/dist/src/coin/trx/transaction.d.ts +0 -74
  503. package/dist/src/coin/trx/transaction.d.ts.map +0 -1
  504. package/dist/src/coin/trx/transaction.js +0 -205
  505. package/dist/src/coin/trx/transactionBuilder.d.ts +0 -65
  506. package/dist/src/coin/trx/transactionBuilder.d.ts.map +0 -1
  507. package/dist/src/coin/trx/transactionBuilder.js +0 -215
  508. package/dist/src/coin/trx/utils.d.ts +0 -127
  509. package/dist/src/coin/trx/utils.d.ts.map +0 -1
  510. package/dist/src/coin/trx/utils.js +0 -369
  511. package/dist/src/coin/trx/wrappedBuilder.d.ts +0 -52
  512. package/dist/src/coin/trx/wrappedBuilder.d.ts.map +0 -1
  513. package/dist/src/coin/trx/wrappedBuilder.js +0 -104
  514. package/dist/src/coin/xrp/index.d.ts +0 -5
  515. package/dist/src/coin/xrp/index.d.ts.map +0 -1
  516. package/dist/src/coin/xrp/index.js +0 -29
  517. package/dist/src/coin/xrp/keyPair.d.ts +0 -10
  518. package/dist/src/coin/xrp/keyPair.d.ts.map +0 -1
  519. package/dist/src/coin/xrp/keyPair.js +0 -16
  520. package/dist/src/coin/xrp/transaction.d.ts +0 -10
  521. package/dist/src/coin/xrp/transaction.d.ts.map +0 -1
  522. package/dist/src/coin/xrp/transaction.js +0 -20
  523. package/dist/src/coin/xrp/transactionBuilder.d.ts +0 -27
  524. package/dist/src/coin/xrp/transactionBuilder.d.ts.map +0 -1
  525. package/dist/src/coin/xrp/transactionBuilder.js +0 -46
  526. package/dist/src/coin/xrp/transactionBuilderFactory.d.ts +0 -24
  527. package/dist/src/coin/xrp/transactionBuilderFactory.d.ts.map +0 -1
  528. package/dist/src/coin/xrp/transactionBuilderFactory.js +0 -38
  529. package/dist/src/coin/xrp/transferBuilder.d.ts +0 -14
  530. package/dist/src/coin/xrp/transferBuilder.d.ts.map +0 -1
  531. package/dist/src/coin/xrp/transferBuilder.js +0 -24
  532. package/dist/src/coin/xrp/utils.d.ts +0 -16
  533. package/dist/src/coin/xrp/utils.d.ts.map +0 -1
  534. package/dist/src/coin/xrp/utils.js +0 -32
  535. package/dist/src/coin/xrp/walletInitializationBuilder.d.ts +0 -14
  536. package/dist/src/coin/xrp/walletInitializationBuilder.d.ts.map +0 -1
  537. package/dist/src/coin/xrp/walletInitializationBuilder.js +0 -24
  538. package/dist/src/coin/xtz/address.d.ts +0 -8
  539. package/dist/src/coin/xtz/address.d.ts.map +0 -1
  540. package/dist/src/coin/xtz/address.js +0 -10
  541. package/dist/src/coin/xtz/iface.d.ts +0 -81
  542. package/dist/src/coin/xtz/iface.d.ts.map +0 -1
  543. package/dist/src/coin/xtz/iface.js +0 -3
  544. package/dist/src/coin/xtz/index.d.ts +0 -8
  545. package/dist/src/coin/xtz/index.d.ts.map +0 -1
  546. package/dist/src/coin/xtz/index.js +0 -37
  547. package/dist/src/coin/xtz/keyPair.d.ts +0 -40
  548. package/dist/src/coin/xtz/keyPair.d.ts.map +0 -1
  549. package/dist/src/coin/xtz/keyPair.js +0 -136
  550. package/dist/src/coin/xtz/multisigUtils.d.ts +0 -134
  551. package/dist/src/coin/xtz/multisigUtils.d.ts.map +0 -1
  552. package/dist/src/coin/xtz/multisigUtils.js +0 -1180
  553. package/dist/src/coin/xtz/transaction.d.ts +0 -119
  554. package/dist/src/coin/xtz/transaction.d.ts.map +0 -1
  555. package/dist/src/coin/xtz/transaction.js +0 -315
  556. package/dist/src/coin/xtz/transactionBuilder.d.ts +0 -171
  557. package/dist/src/coin/xtz/transactionBuilder.d.ts.map +0 -1
  558. package/dist/src/coin/xtz/transactionBuilder.js +0 -453
  559. package/dist/src/coin/xtz/transferBuilder.d.ts +0 -24
  560. package/dist/src/coin/xtz/transferBuilder.d.ts.map +0 -1
  561. package/dist/src/coin/xtz/transferBuilder.js +0 -64
  562. package/dist/src/coin/xtz/utils.d.ts +0 -265
  563. package/dist/src/coin/xtz/utils.d.ts.map +0 -1
  564. package/dist/src/coin/xtz/utils.js +0 -460
  565. package/dist/src/mpc/curves/baseCurve.d.ts +0 -18
  566. package/dist/src/mpc/curves/baseCurve.d.ts.map +0 -1
  567. package/dist/src/mpc/curves/baseCurve.js +0 -6
  568. package/dist/src/mpc/curves/ed25519.d.ts +0 -17
  569. package/dist/src/mpc/curves/ed25519.d.ts.map +0 -1
  570. package/dist/src/mpc/curves/ed25519.js +0 -48
  571. package/dist/src/mpc/curves/index.d.ts +0 -5
  572. package/dist/src/mpc/curves/index.d.ts.map +0 -1
  573. package/dist/src/mpc/curves/index.js +0 -6
  574. package/dist/src/mpc/curves/secp256k1.d.ts +0 -16
  575. package/dist/src/mpc/curves/secp256k1.d.ts.map +0 -1
  576. package/dist/src/mpc/curves/secp256k1.js +0 -66
  577. package/dist/src/mpc/hdTree.d.ts +0 -24
  578. package/dist/src/mpc/hdTree.d.ts.map +0 -1
  579. package/dist/src/mpc/hdTree.js +0 -94
  580. package/dist/src/mpc/shamir.d.ts +0 -26
  581. package/dist/src/mpc/shamir.d.ts.map +0 -1
  582. package/dist/src/mpc/shamir.js +0 -86
  583. package/dist/src/mpc/tss/eddsa/eddsa.d.ts +0 -29
  584. package/dist/src/mpc/tss/eddsa/eddsa.d.ts.map +0 -1
  585. package/dist/src/mpc/tss/eddsa/eddsa.js +0 -273
  586. package/dist/src/mpc/tss/eddsa/index.d.ts +0 -4
  587. package/dist/src/mpc/tss/eddsa/index.d.ts.map +0 -1
  588. package/dist/src/mpc/tss/eddsa/index.js +0 -30
  589. package/dist/src/mpc/tss/eddsa/types.d.ts +0 -70
  590. package/dist/src/mpc/tss/eddsa/types.d.ts.map +0 -1
  591. package/dist/src/mpc/tss/eddsa/types.js +0 -3
  592. package/dist/src/mpc/tss/index.d.ts +0 -5
  593. package/dist/src/mpc/tss/index.d.ts.map +0 -1
  594. package/dist/src/mpc/tss/index.js +0 -32
  595. package/dist/src/mpc/tss.d.ts +0 -98
  596. package/dist/src/mpc/tss.d.ts.map +0 -1
  597. package/dist/src/mpc/tss.js +0 -277
  598. package/dist/src/mpc/util.d.ts +0 -7
  599. package/dist/src/mpc/util.d.ts.map +0 -1
  600. package/dist/src/mpc/util.js +0 -38
  601. package/dist/src/utils/crypto.d.ts +0 -99
  602. package/dist/src/utils/crypto.d.ts.map +0 -1
  603. package/dist/src/utils/crypto.js +0 -260
  604. package/dist/src/utils/ed25519KeyDeriver.d.ts +0 -49
  605. package/dist/src/utils/ed25519KeyDeriver.d.ts.map +0 -1
  606. package/dist/src/utils/ed25519KeyDeriver.js +0 -92
  607. package/resources/hbar/protobuf/BasicTypes.proto +0 -424
  608. package/resources/hbar/protobuf/CryptoCreate.proto +0 -47
  609. package/resources/hbar/protobuf/CryptoTransfer.proto +0 -33
  610. package/resources/hbar/protobuf/Duration.proto +0 -28
  611. package/resources/hbar/protobuf/Timestamp.proto +0 -34
  612. package/resources/hbar/protobuf/Transaction.proto +0 -35
  613. package/resources/hbar/protobuf/TransactionBody.proto +0 -24
  614. package/resources/hbar/protobuf/TransactionContents.proto +0 -33
  615. package/resources/hbar/protobuf/hedera.d.ts +0 -4612
  616. package/resources/hbar/protobuf/hedera.js +0 -12192
  617. package/resources/trx/protobuf/Contract.proto +0 -256
  618. package/resources/trx/protobuf/Discover.proto +0 -44
  619. package/resources/trx/protobuf/tron.d.ts +0 -11024
  620. package/resources/trx/protobuf/tron.js +0 -31510
  621. package/resources/trx/protobuf/tron.proto +0 -677
@@ -1,228 +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.TransactionBuilder = void 0;
26
- const ethereumjs_abi_1 = __importDefault(require("ethereumjs-abi"));
27
- const Eth = __importStar(require("../eth"));
28
- const sdk_core_1 = require("@bitgo/sdk-core");
29
- const walletUtil_1 = require("../eth/walletUtil");
30
- const transaction_1 = require("./transaction");
31
- const stakingBuilder_1 = require("./stakingBuilder");
32
- const utils_1 = require("./utils");
33
- const transferBuilder_1 = require("./transferBuilder");
34
- const ethereumjs_util_1 = require("ethereumjs-util");
35
- class TransactionBuilder extends Eth.TransactionBuilder {
36
- constructor(_coinConfig) {
37
- super(_coinConfig);
38
- this._common = utils_1.getCommon(this._coinConfig.network.type);
39
- this.transaction = new transaction_1.Transaction(this._coinConfig, this._common);
40
- }
41
- /** @inheritdoc */
42
- type(type) {
43
- super.type(type);
44
- this._stakingBuilder = undefined;
45
- }
46
- getTransactionData() {
47
- switch (this._type) {
48
- case sdk_core_1.TransactionType.StakingLock:
49
- return this.buildLockStakeTransaction();
50
- case sdk_core_1.TransactionType.StakingUnlock:
51
- case sdk_core_1.TransactionType.StakingVote:
52
- case sdk_core_1.TransactionType.StakingUnvote:
53
- case sdk_core_1.TransactionType.StakingActivate:
54
- case sdk_core_1.TransactionType.StakingWithdraw:
55
- return this.buildStakingTransaction();
56
- }
57
- return super.getTransactionData();
58
- }
59
- /** @inheritdoc */
60
- fromImplementation(rawTransaction) {
61
- let tx;
62
- if (/^0x?[0-9a-f]{1,}$/.test(rawTransaction.toLowerCase())) {
63
- tx = transaction_1.Transaction.fromSerialized(this._coinConfig, this._common, rawTransaction);
64
- super.loadBuilderInput(tx.toJson());
65
- }
66
- else {
67
- const txData = JSON.parse(rawTransaction);
68
- tx = new transaction_1.Transaction(this._coinConfig, this._common, txData);
69
- }
70
- return tx;
71
- }
72
- setTransactionTypeFields(decodedType, transactionJson) {
73
- switch (decodedType) {
74
- case sdk_core_1.TransactionType.StakingLock:
75
- this._stakingBuilder = new stakingBuilder_1.StakingBuilder(this._coinConfig)
76
- .type(sdk_core_1.StakingOperationTypes.LOCK)
77
- .amount(transactionJson.value);
78
- break;
79
- case sdk_core_1.TransactionType.StakingUnlock:
80
- case sdk_core_1.TransactionType.StakingVote:
81
- case sdk_core_1.TransactionType.StakingUnvote:
82
- case sdk_core_1.TransactionType.StakingActivate:
83
- case sdk_core_1.TransactionType.StakingWithdraw:
84
- this._stakingBuilder = new stakingBuilder_1.StakingBuilder(this._coinConfig, transactionJson.data);
85
- break;
86
- default:
87
- super.setTransactionTypeFields(decodedType, transactionJson);
88
- break;
89
- }
90
- }
91
- /**
92
- * Returns the smart contract encoded data
93
- *
94
- * @param {string[]} addresses - the contract signers
95
- * @returns {string} - the smart contract encoded data
96
- */
97
- getContractData(addresses) {
98
- const params = [addresses];
99
- const resultEncodedParameters = ethereumjs_abi_1.default.rawEncode(walletUtil_1.walletSimpleConstructor, params)
100
- .toString('hex')
101
- .replace('0x', '');
102
- return utils_1.walletSimpleByteCode + resultEncodedParameters;
103
- }
104
- // region Stake methods
105
- /**
106
- * Gets the staking lock builder if exist, or creates a new one for this transaction and returns it
107
- * requires: amount
108
- *
109
- * @returns {StakingBuilder} the staking builder
110
- */
111
- lock() {
112
- if (this._type !== sdk_core_1.TransactionType.StakingLock) {
113
- throw new sdk_core_1.BuildTransactionError('Lock can only be set for Staking Lock transactions type');
114
- }
115
- return this.getBuilder(sdk_core_1.StakingOperationTypes.LOCK);
116
- }
117
- /**
118
- * Gets the staking vote builder if exist, or creates a new one for this transaction and returns it
119
- * requires: group, lesser, greater, amount
120
- *
121
- * @returns {StakingBuilder} the staking builder
122
- */
123
- vote() {
124
- if (this._type !== sdk_core_1.TransactionType.StakingVote) {
125
- throw new sdk_core_1.BuildTransactionError('Votes can only be set for a staking transaction');
126
- }
127
- return this.getBuilder(sdk_core_1.StakingOperationTypes.VOTE);
128
- }
129
- /**
130
- * Gets the staking activate builder if exist, or creates a new one for this transaction and returns it
131
- * requires: group
132
- *
133
- * @returns {StakingBuilder} the staking builder
134
- */
135
- activate() {
136
- if (this._type !== sdk_core_1.TransactionType.StakingActivate) {
137
- throw new sdk_core_1.BuildTransactionError('Activation can only be set for a staking transaction');
138
- }
139
- return this.getBuilder(sdk_core_1.StakingOperationTypes.ACTIVATE);
140
- }
141
- /**
142
- * Gets the staking unlock builder if exist, or creates a new one for this transaction and returns it
143
- * requires: amount
144
- *
145
- * @returns {StakingBuilder} the staking builder
146
- */
147
- unlock() {
148
- if (this._type !== sdk_core_1.TransactionType.StakingUnlock) {
149
- throw new sdk_core_1.BuildTransactionError('Unlock can only be set for Staking Unlock transactions type');
150
- }
151
- return this.getBuilder(sdk_core_1.StakingOperationTypes.UNLOCK);
152
- }
153
- /**
154
- * Gets the staking unvote builder if exist, or creates a new one for this transaction and returns it
155
- * requires: group, lesser, greater, amount, index
156
- *
157
- * @returns {StakingBuilder} the staking builder
158
- */
159
- unvote() {
160
- if (this._type !== sdk_core_1.TransactionType.StakingUnvote) {
161
- throw new sdk_core_1.BuildTransactionError('Unvote can only be set for a staking transaction');
162
- }
163
- return this.getBuilder(sdk_core_1.StakingOperationTypes.UNVOTE);
164
- }
165
- /**
166
- * Gets the staking withdraw builder if exist, or creates a new one for this transaction and returns it
167
- * requires: index (unlock list)
168
- *
169
- * @returns {StakingBuilder} the staking builder
170
- */
171
- withdraw() {
172
- if (this._type !== sdk_core_1.TransactionType.StakingWithdraw) {
173
- throw new sdk_core_1.BuildTransactionError('Withdraw can only be set for a staking transaction');
174
- }
175
- return this.getBuilder(sdk_core_1.StakingOperationTypes.WITHDRAW);
176
- }
177
- /** @inheritdoc */
178
- transfer(data) {
179
- if (this._type !== sdk_core_1.TransactionType.Send) {
180
- throw new sdk_core_1.BuildTransactionError('Transfers can only be set for send transactions');
181
- }
182
- if (!this._transfer) {
183
- this._transfer = new transferBuilder_1.TransferBuilder(data);
184
- }
185
- return this._transfer;
186
- }
187
- /**
188
- * Get the appropriate builder for the selected type
189
- *
190
- * @param {StakingOperationTypes} type the selected type for the staking builder
191
- * @returns {StakingBuilder} the staking builder for the selected type
192
- */
193
- getBuilder(type) {
194
- if (!this._stakingBuilder) {
195
- this._stakingBuilder = new stakingBuilder_1.StakingBuilder(this._coinConfig).type(type);
196
- }
197
- return this._stakingBuilder;
198
- }
199
- getStaking() {
200
- if (!this._stakingBuilder) {
201
- throw new sdk_core_1.BuildTransactionError('No staking information set');
202
- }
203
- return this._stakingBuilder.build();
204
- }
205
- buildLockStakeTransaction() {
206
- const stake = this.getStaking();
207
- const data = this.buildBase(stake.serialize());
208
- data.to = stake.address;
209
- data.value = stake.amount;
210
- return data;
211
- }
212
- buildStakingTransaction() {
213
- const stake = this.getStaking();
214
- const data = this.buildBase(stake.serialize());
215
- data.to = stake.address;
216
- return data;
217
- }
218
- /**
219
- * Get the final v value. Final v is described in EIP-155.
220
- *
221
- * @protected for internal use when the enableFinalVField flag is true.
222
- */
223
- getFinalV() {
224
- return ethereumjs_util_1.addHexPrefix(this._common.chainIdBN().toString(16));
225
- }
226
- }
227
- exports.TransactionBuilder = TransactionBuilder;
228
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb25CdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvaW4vY2Vsby90cmFuc2FjdGlvbkJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUNBLG9FQUF5QztBQUN6Qyw0Q0FBOEI7QUFDOUIsOENBQWdHO0FBRWhHLGtEQUE0RDtBQUM1RCwrQ0FBNEM7QUFDNUMscURBQWtEO0FBRWxELG1DQUEwRDtBQUMxRCx1REFBb0Q7QUFDcEQscURBQStDO0FBRS9DLE1BQWEsa0JBQW1CLFNBQVEsR0FBRyxDQUFDLGtCQUFrQjtJQUs1RCxZQUFZLFdBQWlDO1FBQzNDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNuQixJQUFJLENBQUMsT0FBTyxHQUFHLGlCQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDeEQsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLHlCQUFXLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDckUsQ0FBQztJQUVELGtCQUFrQjtJQUNsQixJQUFJLENBQUMsSUFBcUI7UUFDeEIsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNqQixJQUFJLENBQUMsZUFBZSxHQUFHLFNBQVMsQ0FBQztJQUNuQyxDQUFDO0lBRVMsa0JBQWtCO1FBQzFCLFFBQVEsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNsQixLQUFLLDBCQUFlLENBQUMsV0FBVztnQkFDOUIsT0FBTyxJQUFJLENBQUMseUJBQXlCLEVBQUUsQ0FBQztZQUMxQyxLQUFLLDBCQUFlLENBQUMsYUFBYSxDQUFDO1lBQ25DLEtBQUssMEJBQWUsQ0FBQyxXQUFXLENBQUM7WUFDakMsS0FBSywwQkFBZSxDQUFDLGFBQWEsQ0FBQztZQUNuQyxLQUFLLDBCQUFlLENB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QVMsRUFBRSxDQUFDLENBQUM7UUFDL0MsSUFBSSxDQUFDLEVBQUUsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDO1FBRXhCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVEOzs7O09BSUc7SUFDTyxTQUFTO1FBQ2pCLE9BQU8sOEJBQVksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzdELENBQUM7Q0FFRjtBQTlORCxnREE4TkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvL3N0YXRpY3MnO1xuaW1wb3J0IEV0aGVyZXVtQWJpIGZyb20gJ2V0aGVyZXVtanMtYWJpJztcbmltcG9ydCAqIGFzIEV0aCBmcm9tICcuLi9ldGgnO1xuaW1wb3J0IHsgQnVpbGRUcmFuc2FjdGlvbkVycm9yLCBUcmFuc2FjdGlvblR5cGUsIFN0YWtpbmdPcGVyYXRpb25UeXBlcyB9IGZyb20gJ0BiaXRnby9zZGstY29yZSc7XG5pbXBvcnQgeyBUeERhdGEgfSBmcm9tICcuLi9ldGgvaWZhY2UnO1xuaW1wb3J0IHsgd2FsbGV0U2ltcGxlQ29uc3RydWN0b3IgfSBmcm9tICcuLi9ldGgvd2FsbGV0VXRpbCc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb24nO1xuaW1wb3J0IHsgU3Rha2luZ0J1aWxkZXIgfSBmcm9tICcuL3N0YWtpbmdCdWlsZGVyJztcbmltcG9ydCB7IFN0YWtpbmdDYWxsIH0gZnJvbSAnLi9zdGFraW5nQ2FsbCc7XG5pbXBvcnQgeyBnZXRDb21tb24sIHdhbGxldFNpbXBsZUJ5dGVDb2RlIH0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgeyBUcmFuc2ZlckJ1aWxkZXIgfSBmcm9tICcuL3RyYW5zZmVyQnVpbGRlcic7XG5pbXBvcnQgeyBhZGRIZXhQcmVmaXggfSBmcm9tICdldGhlcmV1bWpzLXV0aWwnO1xuXG5leHBvcnQgY2xhc3MgVHJhbnNhY3Rpb25CdWlsZGVyIGV4dGVuZHMgRXRoLlRyYW5zYWN0aW9uQnVpbGRlciB7XG4gIC8vIFN0YWtpbmcgc3BlY2lmaWMgcGFyYW1ldGVyc1xuICBwcml2YXRlIF9zdGFraW5nQnVpbGRlcj86IFN0YWtpbmdCdWlsZGVyO1xuICBwcm90ZWN0ZWQgX3RyYW5zZmVyOiBUcmFuc2ZlckJ1aWxkZXI7XG5cbiAgY29uc3RydWN0b3IoX2NvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KSB7XG4gICAgc3VwZXIoX2NvaW5Db25maWcpO1xuICAgIHRoaXMuX2NvbW1vbiA9IGdldENvbW1vbih0aGlzLl9jb2luQ29uZmlnLm5ldHdvcmsudHlwZSk7XG4gICAgdGhpcy50cmFuc2FjdGlvbiA9IG5ldyBUcmFuc2FjdGlvbih0aGlzLl9jb2luQ29uZmlnLCB0aGlzLl9jb21tb24pO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHR5cGUodHlwZTogVHJhbnNhY3Rpb25UeXBlKTogdm9pZCB7XG4gICAgc3VwZXIudHlwZSh0eXBlKTtcbiAgICB0aGlzLl9zdGFraW5nQnVpbGRlciA9IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRUcmFuc2FjdGlvbkRhdGEoKTogVHhEYXRhIHtcbiAgICBzd2l0Y2ggKHRoaXMuX3R5cGUpIHtcbiAgICAgIGNhc2UgVHJhbnNhY3Rpb25UeXBlLlN0YWtpbmdMb2NrOlxuICAgICAgICByZXR1cm4gdGhpcy5idWlsZExvY2tTdGFrZVRyYW5zYWN0aW9uKCk7XG4gICAgICBjYXNlIFRyYW5zYWN0aW9uVHlwZS5TdGFraW5nVW5sb2NrOlxuICAgICAgY2FzZSBUcmFuc2FjdGlvblR5cGUuU3Rha2luZ1ZvdGU6XG4gICAgICBjYXNlIFRyYW5zYWN0aW9uVHlwZS5TdGFraW5nVW52b3RlOlxuICAgICAgY2FzZSBUcmFuc2FjdGlvblR5cGUuU3Rha2luZ0FjdGl2YXRlOlxuICAgICAgY2FzZSBUcmFuc2FjdGlvblR5cGUuU3Rha2luZ1dpdGhkcmF3OlxuICAgICAgICByZXR1cm4gdGhpcy5idWlsZFN0YWtpbmdUcmFuc2FjdGlvbigpO1xuICAgIH1cbiAgICByZXR1cm4gc3VwZXIuZ2V0VHJhbnNhY3Rpb25EYXRhKCk7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcHJvdGVjdGVkIGZyb21JbXBsZW1lbnRhdGlvbihyYXdUcmFuc2FjdGlvbjogc3RyaW5nKTogVHJhbnNhY3Rpb24ge1xuICAgIGxldCB0eDogVHJhbnNhY3Rpb247XG4gICAgaWYgKC9eMHg/WzAtOWEtZl17MSx9JC8udGVzdChyYXdUcmFuc2FjdGlvbi50b0xvd2VyQ2FzZSgpKSkge1xuICAgICAgdHggPSBUcmFuc2FjdGlvbi5mcm9tU2VyaWFsaXplZCh0aGlzLl9jb2luQ29uZmlnLCB0aGlzLl9jb21tb24sIHJhd1RyYW5zYWN0aW9uKTtcbiAgICAgIHN1cGVyLmxvYWRCdWlsZGVySW5wdXQodHgudG9Kc29uKCkpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCB0eERhdGEgPSBKU09OLnBhcnNlKHJhd1RyYW5zYWN0aW9uKTtcbiAgICAgIHR4ID0gbmV3IFRyYW5zYWN0aW9uKHRoaXMuX2NvaW5Db25maWcsIHRoaXMuX2NvbW1vbiwgdHhEYXRhKTtcbiAgICB9XG4gICAgcmV0dXJuIHR4O1xuICB9XG5cbiAgcHJvdGVjdGVkIHNldFRyYW5zYWN0aW9uVHlwZUZpZWxkcyhkZWNvZGVkVHlwZTogVHJhbnNhY3Rpb25UeXBlLCB0cmFuc2FjdGlvbkpzb246IFR4RGF0YSk6IHZvaWQge1xuICAgIHN3aXRjaCAoZGVjb2RlZFR5cGUpIHtcbiAgICAgIGNhc2UgVHJhbnNhY3Rpb25UeXBlLlN0YWtpbmdMb2NrOlxuICAgICAgICB0aGlzLl9zdGFraW5nQnVpbGRlciA9IG5ldyBTdGFraW5nQnVpbGRlcih0aGlzLl9jb2luQ29uZmlnKVxuICAgICAgICAgIC50eXBlKFN0YWtpbmdPcGVyYXRpb25UeXBlcy5MT0NLKVxuICAgICAgICAgIC5hbW91bnQodHJhbnNhY3Rpb25Kc29uLnZhbHVlKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFRyYW5zYWN0aW9uVHlwZS5TdGFraW5nVW5sb2NrOlxuICAgICAgY2FzZSBUcmFuc2FjdGlvblR5cGUuU3Rha2luZ1ZvdGU6XG4gICAgICBjYXNlIFRyYW5zYWN0aW9uVHlwZS5TdGFraW5nVW52b3RlOlxuICAgICAgY2FzZSBUcmFuc2FjdGlvblR5cGUuU3Rha2luZ0FjdGl2YXRlOlxuICAgICAgY2FzZSBUcmFuc2FjdGlvblR5cGUuU3Rha2luZ1dpdGhkcmF3OlxuICAgICAgICB0aGlzLl9zdGFraW5nQnVpbGRlciA9IG5ldyBTdGFraW5nQnVpbGRlcih0aGlzLl9jb2luQ29uZmlnLCB0cmFuc2FjdGlvbkpzb24uZGF0YSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgc3VwZXIuc2V0VHJhbnNhY3Rpb25UeXBlRmllbGRzKGRlY29kZWRUeXBlLCB0cmFuc2FjdGlvbkpzb24pO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgc21hcnQgY29udHJhY3QgZW5jb2RlZCBkYXRhXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nW119IGFkZHJlc3NlcyAtIHRoZSBjb250cmFjdCBzaWduZXJzXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9IC0gdGhlIHNtYXJ0IGNvbnRyYWN0IGVuY29kZWQgZGF0YVxuICAgKi9cbiAgcHJvdGVjdGVkIGdldENvbnRyYWN0RGF0YShhZGRyZXNzZXM6IHN0cmluZ1tdKTogc3RyaW5nIHtcbiAgICBjb25zdCBwYXJhbXMgPSBbYWRkcmVzc2VzXTtcbiAgICBjb25zdCByZXN1bHRFbmNvZGVkUGFyYW1ldGVycyA9IEV0aGVyZXVtQWJpLnJhd0VuY29kZSh3YWxsZXRTaW1wbGVDb25zdHJ1Y3RvciwgcGFyYW1zKVxuICAgICAgLnRvU3RyaW5nKCdoZXgnKVxuICAgICAgLnJlcGxhY2UoJzB4JywgJycpO1xuICAgIHJldHVybiB3YWxsZXRTaW1wbGVCeXRlQ29kZSArIHJlc3VsdEVuY29kZWRQYXJhbWV0ZXJzO1xuICB9XG5cbiAgLy8gcmVnaW9uIFN0YWtlIG1ldGhvZHNcblxuICAvKipcbiAgICogR2V0cyB0aGUgc3Rha2luZyBsb2NrIGJ1aWxkZXIgaWYgZXhpc3QsIG9yIGNyZWF0ZXMgYSBuZXcgb25lIGZvciB0aGlzIHRyYW5zYWN0aW9uIGFuZCByZXR1cm5zIGl0XG4gICAqIHJlcXVpcmVzOiBhbW91bnRcbiAgICpcbiAgICogQHJldHVybnMge1N0YWtpbmdCdWlsZGVyfSB0aGUgc3Rha2luZyBidWlsZGVyXG4gICAqL1xuICBsb2NrKCk6IFN0YWtpbmdCdWlsZGVyIHtcbiAgICBpZiAodGhpcy5fdHlwZSAhPT0gVHJhbnNhY3Rpb25UeXBlLlN0YWtpbmdMb2NrKSB7XG4gICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCdMb2NrIGNhbiBvbmx5IGJlIHNldCBmb3IgU3Rha2luZyBMb2NrIHRyYW5zYWN0aW9ucyB0eXBlJyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuZ2V0QnVpbGRlcihTdGFraW5nT3BlcmF0aW9uVHlwZXMuTE9DSyk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgc3Rha2luZyB2b3RlIGJ1aWxkZXIgaWYgZXhpc3QsIG9yIGNyZWF0ZXMgYSBuZXcgb25lIGZvciB0aGlzIHRyYW5zYWN0aW9uIGFuZCByZXR1cm5zIGl0XG4gICAqIHJlcXVpcmVzOiBncm91cCwgbGVzc2VyLCBncmVhdGVyLCBhbW91bnRcbiAgICpcbiAgICogQHJldHVybnMge1N0YWtpbmdCdWlsZGVyfSB0aGUgc3Rha2luZyBidWlsZGVyXG4gICAqL1xuICB2b3RlKCk6IFN0YWtpbmdCdWlsZGVyIHtcbiAgICBpZiAodGhpcy5fdHlwZSAhPT0gVHJhbnNhY3Rpb25UeXBlLlN0YWtpbmdWb3RlKSB7XG4gICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCdWb3RlcyBjYW4gb25seSBiZSBzZXQgZm9yIGEgc3Rha2luZyB0cmFuc2FjdGlvbicpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmdldEJ1aWxkZXIoU3Rha2luZ09wZXJhdGlvblR5cGVzLlZPVEUpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIHN0YWtpbmcgYWN0aXZhdGUgYnVpbGRlciBpZiBleGlzdCwgb3IgY3JlYXRlcyBhIG5ldyBvbmUgZm9yIHRoaXMgdHJhbnNhY3Rpb24gYW5kIHJldHVybnMgaXRcbiAgICogcmVxdWlyZXM6IGdyb3VwXG4gICAqXG4gICAqIEByZXR1cm5zIHtTdGFraW5nQnVpbGRlcn0gdGhlIHN0YWtpbmcgYnVpbGRlclxuICAgKi9cbiAgYWN0aXZhdGUoKTogU3Rha2luZ0J1aWxkZXIge1xuICAgIGlmICh0aGlzLl90eXBlICE9PSBUcmFuc2FjdGlvblR5cGUuU3Rha2luZ0FjdGl2YXRlKSB7XG4gICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCdBY3RpdmF0aW9uIGNhbiBvbmx5IGJlIHNldCBmb3IgYSBzdGFraW5nIHRyYW5zYWN0aW9uJyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuZ2V0QnVpbGRlcihTdGFraW5nT3BlcmF0aW9uVHlwZXMuQUNUSVZBVEUpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIHN0YWtpbmcgdW5sb2NrIGJ1aWxkZXIgaWYgZXhpc3QsIG9yIGNyZWF0ZXMgYSBuZXcgb25lIGZvciB0aGlzIHRyYW5zYWN0aW9uIGFuZCByZXR1cm5zIGl0XG4gICAqIHJlcXVpcmVzOiBhbW91bnRcbiAgICpcbiAgICogQHJldHVybnMge1N0YWtpbmdCdWlsZGVyfSB0aGUgc3Rha2luZyBidWlsZGVyXG4gICAqL1xuICB1bmxvY2soKTogU3Rha2luZ0J1aWxkZXIge1xuICAgIGlmICh0aGlzLl90eXBlICE9PSBUcmFuc2FjdGlvblR5cGUuU3Rha2luZ1VubG9jaykge1xuICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignVW5sb2NrIGNhbiBvbmx5IGJlIHNldCBmb3IgU3Rha2luZyBVbmxvY2sgdHJhbnNhY3Rpb25zIHR5cGUnKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5nZXRCdWlsZGVyKFN0YWtpbmdPcGVyYXRpb25UeXBlcy5VTkxPQ0spO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIHN0YWtpbmcgdW52b3RlIGJ1aWxkZXIgaWYgZXhpc3QsIG9yIGNyZWF0ZXMgYSBuZXcgb25lIGZvciB0aGlzIHRyYW5zYWN0aW9uIGFuZCByZXR1cm5zIGl0XG4gICAqIHJlcXVpcmVzOiBncm91cCwgbGVzc2VyLCBncmVhdGVyLCBhbW91bnQsIGluZGV4XG4gICAqXG4gICAqIEByZXR1cm5zIHtTdGFraW5nQnVpbGRlcn0gdGhlIHN0YWtpbmcgYnVpbGRlclxuICAgKi9cbiAgdW52b3RlKCk6IFN0YWtpbmdCdWlsZGVyIHtcbiAgICBpZiAodGhpcy5fdHlwZSAhPT0gVHJhbnNhY3Rpb25UeXBlLlN0YWtpbmdVbnZvdGUpIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ1Vudm90ZSBjYW4gb25seSBiZSBzZXQgZm9yIGEgc3Rha2luZyB0cmFuc2FjdGlvbicpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmdldEJ1aWxkZXIoU3Rha2luZ09wZXJhdGlvblR5cGVzLlVOVk9URSk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgc3Rha2luZyB3aXRoZHJhdyBidWlsZGVyIGlmIGV4aXN0LCBvciBjcmVhdGVzIGEgbmV3IG9uZSBmb3IgdGhpcyB0cmFuc2FjdGlvbiBhbmQgcmV0dXJucyBpdFxuICAgKiByZXF1aXJlczogaW5kZXggKHVubG9jayBsaXN0KVxuICAgKlxuICAgKiBAcmV0dXJucyB7U3Rha2luZ0J1aWxkZXJ9IHRoZSBzdGFraW5nIGJ1aWxkZXJcbiAgICovXG4gIHdpdGhkcmF3KCk6IFN0YWtpbmdCdWlsZGVyIHtcbiAgICBpZiAodGhpcy5fdHlwZSAhPT0gVHJhbnNhY3Rpb25UeXBlLlN0YWtpbmdXaXRoZHJhdykge1xuICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignV2l0aGRyYXcgY2FuIG9ubHkgYmUgc2V0IGZvciBhIHN0YWtpbmcgdHJhbnNhY3Rpb24nKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5nZXRCdWlsZGVyKFN0YWtpbmdPcGVyYXRpb25UeXBlcy5XSVRIRFJBVyk7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgdHJhbnNmZXIoZGF0YT86IHN0cmluZyk6IFRyYW5zZmVyQnVpbGRlciB7XG4gICAgaWYgKHRoaXMuX3R5cGUgIT09IFRyYW5zYWN0aW9uVHlwZS5TZW5kKSB7XG4gICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCdUcmFuc2ZlcnMgY2FuIG9ubHkgYmUgc2V0IGZvciBzZW5kIHRyYW5zYWN0aW9ucycpO1xuICAgIH1cbiAgICBpZiAoIXRoaXMuX3RyYW5zZmVyKSB7XG4gICAgICB0aGlzLl90cmFuc2ZlciA9IG5ldyBUcmFuc2ZlckJ1aWxkZXIoZGF0YSk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl90cmFuc2ZlcjtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIGFwcHJvcHJpYXRlIGJ1aWxkZXIgZm9yIHRoZSBzZWxlY3RlZCB0eXBlXG4gICAqXG4gICAqIEBwYXJhbSB7U3Rha2luZ09wZXJhdGlvblR5cGVzfSB0eXBlIHRoZSBzZWxlY3RlZCB0eXBlIGZvciB0aGUgc3Rha2luZyBidWlsZGVyXG4gICAqIEByZXR1cm5zIHtTdGFraW5nQnVpbGRlcn0gdGhlIHN0YWtpbmcgYnVpbGRlciBmb3IgdGhlIHNlbGVjdGVkIHR5cGVcbiAgICovXG4gIHByaXZhdGUgZ2V0QnVpbGRlcih0eXBlOiBTdGFraW5nT3BlcmF0aW9uVHlwZXMpOiBTdGFraW5nQnVpbGRlciB7XG4gICAgaWYgKCF0aGlzLl9zdGFraW5nQnVpbGRlcikge1xuICAgICAgdGhpcy5fc3Rha2luZ0J1aWxkZXIgPSBuZXcgU3Rha2luZ0J1aWxkZXIodGhpcy5fY29pbkNvbmZpZykudHlwZSh0eXBlKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5fc3Rha2luZ0J1aWxkZXI7XG4gIH1cblxuICBwcml2YXRlIGdldFN0YWtpbmcoKTogU3Rha2luZ0NhbGwge1xuICAgIGlmICghdGhpcy5fc3Rha2luZ0J1aWxkZXIpIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ05vIHN0YWtpbmcgaW5mb3JtYXRpb24gc2V0Jyk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9zdGFraW5nQnVpbGRlci5idWlsZCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBidWlsZExvY2tTdGFrZVRyYW5zYWN0aW9uKCk6IFR4RGF0YSB7XG4gICAgY29uc3Qgc3Rha2UgPSB0aGlzLmdldFN0YWtpbmcoKTtcbiAgICBjb25zdCBkYXRhID0gdGhpcy5idWlsZEJhc2Uoc3Rha2Uuc2VyaWFsaXplKCkpO1xuICAgIGRhdGEudG8gPSBzdGFrZS5hZGRyZXNzO1xuICAgIGRhdGEudmFsdWUgPSBzdGFrZS5hbW91bnQ7XG5cbiAgICByZXR1cm4gZGF0YTtcbiAgfVxuXG4gIHByaXZhdGUgYnVpbGRTdGFraW5nVHJhbnNhY3Rpb24oKTogVHhEYXRhIHtcbiAgICBjb25zdCBzdGFrZSA9IHRoaXMuZ2V0U3Rha2luZygpO1xuICAgIGNvbnN0IGRhdGEgPSB0aGlzLmJ1aWxkQmFzZShzdGFrZS5zZXJpYWxpemUoKSk7XG4gICAgZGF0YS50byA9IHN0YWtlLmFkZHJlc3M7XG5cbiAgICByZXR1cm4gZGF0YTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIGZpbmFsIHYgdmFsdWUuIEZpbmFsIHYgaXMgZGVzY3JpYmVkIGluIEVJUC0xNTUuXG4gICAqXG4gICAqIEBwcm90ZWN0ZWQgZm9yIGludGVybmFsIHVzZSB3aGVuIHRoZSBlbmFibGVGaW5hbFZGaWVsZCBmbGFnIGlzIHRydWUuXG4gICAqL1xuICBwcm90ZWN0ZWQgZ2V0RmluYWxWKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGFkZEhleFByZWZpeCh0aGlzLl9jb21tb24uY2hhaW5JZEJOKCkudG9TdHJpbmcoMTYpKTtcbiAgfVxuICAvLyBlbmRyZWdpb25cbn1cbiJdfQ==
@@ -1,19 +0,0 @@
1
- import { TransferBuilder as EthTransferBuilder } from '../eth';
2
- /** CELO transfer builder */
3
- export declare class TransferBuilder extends EthTransferBuilder {
4
- /**
5
- * Get the prefix used in generating an operation hash for sending tokens
6
- * See https://github.com/BitGo/eth-multisig-v2/blob/master/contracts/coins/CeloWalletSimple.sol
7
- *
8
- * @returns the string prefix
9
- */
10
- protected getTokenOperationHashPrefix(): string;
11
- /**
12
- * Get the prefix used in generating an operation hash for sending native coins
13
- * See https://github.com/BitGo/eth-multisig-v2/blob/master/contracts/coins/CeloWalletSimple.sol
14
- *
15
- * @returns the string prefix
16
- */
17
- protected getNativeOperationHashPrefix(): string;
18
- }
19
- //# sourceMappingURL=transferBuilder.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"transferBuilder.d.ts","sourceRoot":"","sources":["../../../../src/coin/celo/transferBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,IAAI,kBAAkB,EAAE,MAAM,QAAQ,CAAC;AAE/D,4BAA4B;AAC5B,qBAAa,eAAgB,SAAQ,kBAAkB;IACrD;;;;;OAKG;IACH,SAAS,CAAC,2BAA2B,IAAI,MAAM;IAI/C;;;;;OAKG;IACH,SAAS,CAAC,4BAA4B,IAAI,MAAM;CAGjD"}
@@ -1,27 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TransferBuilder = void 0;
4
- const eth_1 = require("../eth");
5
- /** CELO transfer builder */
6
- class TransferBuilder extends eth_1.TransferBuilder {
7
- /**
8
- * Get the prefix used in generating an operation hash for sending tokens
9
- * See https://github.com/BitGo/eth-multisig-v2/blob/master/contracts/coins/CeloWalletSimple.sol
10
- *
11
- * @returns the string prefix
12
- */
13
- getTokenOperationHashPrefix() {
14
- return 'CELO-ERC20';
15
- }
16
- /**
17
- * Get the prefix used in generating an operation hash for sending native coins
18
- * See https://github.com/BitGo/eth-multisig-v2/blob/master/contracts/coins/CeloWalletSimple.sol
19
- *
20
- * @returns the string prefix
21
- */
22
- getNativeOperationHashPrefix() {
23
- return 'CELO';
24
- }
25
- }
26
- exports.TransferBuilder = TransferBuilder;
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmZXJCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvaW4vY2Vsby90cmFuc2ZlckJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsZ0NBQStEO0FBRS9ELDRCQUE0QjtBQUM1QixNQUFhLGVBQWdCLFNBQVEscUJBQWtCO0lBQ3JEOzs7OztPQUtHO0lBQ08sMkJBQTJCO1FBQ25DLE9BQU8sWUFBWSxDQUFDO0lBQ3RCLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNPLDRCQUE0QjtRQUNwQyxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0NBQ0Y7QUFwQkQsMENBb0JDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHJhbnNmZXJCdWlsZGVyIGFzIEV0aFRyYW5zZmVyQnVpbGRlciB9IGZyb20gJy4uL2V0aCc7XG5cbi8qKiBDRUxPIHRyYW5zZmVyIGJ1aWxkZXIgKi9cbmV4cG9ydCBjbGFzcyBUcmFuc2ZlckJ1aWxkZXIgZXh0ZW5kcyBFdGhUcmFuc2ZlckJ1aWxkZXIge1xuICAvKipcbiAgICogR2V0IHRoZSBwcmVmaXggdXNlZCBpbiBnZW5lcmF0aW5nIGFuIG9wZXJhdGlvbiBoYXNoIGZvciBzZW5kaW5nIHRva2Vuc1xuICAgKiBTZWUgaHR0cHM6Ly9naXRodWIuY29tL0JpdEdvL2V0aC1tdWx0aXNpZy12Mi9ibG9iL21hc3Rlci9jb250cmFjdHMvY29pbnMvQ2Vsb1dhbGxldFNpbXBsZS5zb2xcbiAgICpcbiAgICogQHJldHVybnMgdGhlIHN0cmluZyBwcmVmaXhcbiAgICovXG4gIHByb3RlY3RlZCBnZXRUb2tlbk9wZXJhdGlvbkhhc2hQcmVmaXgoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gJ0NFTE8tRVJDMjAnO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgcHJlZml4IHVzZWQgaW4gZ2VuZXJhdGluZyBhbiBvcGVyYXRpb24gaGFzaCBmb3Igc2VuZGluZyBuYXRpdmUgY29pbnNcbiAgICogU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9CaXRHby9ldGgtbXVsdGlzaWctdjIvYmxvYi9tYXN0ZXIvY29udHJhY3RzL2NvaW5zL0NlbG9XYWxsZXRTaW1wbGUuc29sXG4gICAqXG4gICAqIEByZXR1cm5zIHRoZSBzdHJpbmcgcHJlZml4XG4gICAqL1xuICBwcm90ZWN0ZWQgZ2V0TmF0aXZlT3BlcmF0aW9uSGFzaFByZWZpeCgpOiBzdHJpbmcge1xuICAgIHJldHVybiAnQ0VMTyc7XG4gIH1cbn1cbiJdfQ==
@@ -1,52 +0,0 @@
1
- /// <reference types="node" />
2
- import { EthLikeTransactionData, LegacyTxData } from '../eth/iface';
3
- import { KeyPair } from '../eth';
4
- export declare class CeloTransaction {
5
- private raw;
6
- private _from;
7
- private _senderPubKey?;
8
- private _signatures;
9
- private _feeCurrency;
10
- private _gatewayFeeRecipient;
11
- private _gatewayFee;
12
- nonce: Buffer;
13
- gasLimit: Buffer;
14
- gasPrice: Buffer;
15
- data: Buffer;
16
- value: Buffer;
17
- to: Buffer;
18
- v: Buffer;
19
- r: Buffer;
20
- s: Buffer;
21
- /**
22
- * Clean hex formatted values ensuring they have an even length
23
- *
24
- * @param numberValue Hex formatted number value. Example '0x01'
25
- * @returns sanitized value
26
- */
27
- private sanitizeHexString;
28
- constructor(tx: LegacyTxData);
29
- private initRaw;
30
- hash(includeSignature?: boolean): Buffer;
31
- getSenderAddress(): Buffer;
32
- getSenderPublicKey(): any;
33
- serialize(): Buffer;
34
- sign(privateKey: Buffer): void;
35
- verifySignature(): boolean;
36
- getChainId(): number;
37
- }
38
- export declare class CeloTransactionData implements EthLikeTransactionData {
39
- private tx;
40
- private deployedAddress?;
41
- constructor(tx: CeloTransaction, deployedAddress?: string);
42
- static fromJson(tx: LegacyTxData): CeloTransactionData;
43
- sign(keyPair: KeyPair): Promise<void>;
44
- /** @inheritdoc */
45
- toJson(): LegacyTxData;
46
- private setSignatureFields;
47
- /** @inheritdoc */
48
- toSerialized(): string;
49
- private static txJsonToCeloTx;
50
- private static encodedTxToJson;
51
- }
52
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/coin/celo/types.ts"],"names":[],"mappings":";AAcA,OAAO,EAAE,sBAAsB,EAAsB,YAAY,EAAE,MAAM,cAAc,CAAC;AACxF,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAEjC,qBAAa,eAAe;IAC1B,OAAO,CAAC,GAAG,CAAW;IACtB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,aAAa,CAAC,CAAC;IACvB,OAAO,CAAC,WAAW,CAAW;IAC9B,OAAO,CAAC,YAAY,CAA0B;IAC9C,OAAO,CAAC,oBAAoB,CAA0B;IACtD,OAAO,CAAC,WAAW,CAA0B;IAC7C,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,MAAM,CAAgB;IAC1B,CAAC,EAAE,MAAM,CAAgB;IACzB,CAAC,EAAE,MAAM,CAAgB;IACzB,CAAC,EAAE,MAAM,CAAgB;IAGzB;;;;;OAKG;IACH,OAAO,CAAC,iBAAiB;gBASb,EAAE,EAAE,YAAY;IAwB5B,OAAO,CAAC,OAAO;IAiBf,IAAI,CAAC,gBAAgB,CAAC,EAAE,OAAO,GAAG,MAAM;IAUxC,gBAAgB,IAAI,MAAM;IAS1B,kBAAkB;IAQlB,SAAS,IAAI,MAAM;IAInB,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAI9B,eAAe,IAAI,OAAO;IAY1B,UAAU,IAAI,MAAM;CAOrB;AAED,qBAAa,mBAAoB,YAAW,sBAAsB;IAChE,OAAO,CAAC,EAAE,CAAkB;IAC5B,OAAO,CAAC,eAAe,CAAC,CAAS;gBAErB,EAAE,EAAE,eAAe,EAAE,eAAe,CAAC,EAAE,MAAM;WAK3C,QAAQ,CAAC,EAAE,EAAE,YAAY,GAAG,mBAAmB;IAoBvD,IAAI,CAAC,OAAO,EAAE,OAAO;IAe3B,kBAAkB;IAClB,MAAM,IAAI,YAAY;IAiCtB,OAAO,CAAC,kBAAkB;IAc1B,kBAAkB;IAClB,YAAY,IAAI,MAAM;IAItB,OAAO,CAAC,MAAM,CAAC,cAAc;IAS7B,OAAO,CAAC,MAAM,CAAC,eAAe;CAS/B"}
@@ -1,222 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.CeloTransactionData = exports.CeloTransaction = void 0;
7
- const bignumber_js_1 = __importDefault(require("bignumber.js"));
8
- const wallet_local_1 = require("@celo/wallet-local");
9
- const ethereumjs_utils_old_1 = require("ethereumjs-utils-old");
10
- const ethereumjs_util_1 = require("ethereumjs-util");
11
- const iface_1 = require("../eth/iface");
12
- class CeloTransaction {
13
- constructor(tx) {
14
- this._feeCurrency = ethereumjs_utils_old_1.toBuffer('0x');
15
- this._gatewayFeeRecipient = ethereumjs_utils_old_1.toBuffer('0x');
16
- this._gatewayFee = ethereumjs_utils_old_1.toBuffer('0x');
17
- this.to = ethereumjs_utils_old_1.toBuffer([]);
18
- this.v = ethereumjs_utils_old_1.toBuffer([]);
19
- this.r = ethereumjs_utils_old_1.toBuffer([]);
20
- this.s = ethereumjs_utils_old_1.toBuffer([]);
21
- this.nonce = ethereumjs_util_1.unpad(ethereumjs_utils_old_1.toBuffer(tx.nonce));
22
- this.gasLimit = ethereumjs_utils_old_1.toBuffer(this.sanitizeHexString(tx.gasLimit));
23
- this.gasPrice = ethereumjs_utils_old_1.toBuffer(this.sanitizeHexString(tx.gasPrice));
24
- this.data = ethereumjs_utils_old_1.toBuffer(tx.data);
25
- this.value = ethereumjs_utils_old_1.toBuffer(this.sanitizeHexString(tx.value));
26
- if (tx.to) {
27
- this.to = ethereumjs_utils_old_1.toBuffer(tx.to);
28
- }
29
- if (tx.v) {
30
- this.v = ethereumjs_utils_old_1.toBuffer(tx.v);
31
- }
32
- if (tx.r) {
33
- this.r = ethereumjs_utils_old_1.toBuffer(tx.r);
34
- }
35
- if (tx.s) {
36
- this.s = ethereumjs_utils_old_1.toBuffer(tx.s);
37
- }
38
- if (tx.from) {
39
- this._from = ethereumjs_utils_old_1.toBuffer(tx.from);
40
- }
41
- this.initRaw();
42
- }
43
- // TODO: validate if this needs to be moved to Utils class
44
- /**
45
- * Clean hex formatted values ensuring they have an even length
46
- *
47
- * @param numberValue Hex formatted number value. Example '0x01'
48
- * @returns sanitized value
49
- */
50
- sanitizeHexString(numberValue) {
51
- if (numberValue === '0x0') {
52
- return '0x';
53
- }
54
- else if (numberValue.length % 2 === 0) {
55
- return numberValue;
56
- }
57
- return '0x0' + numberValue.slice(2);
58
- }
59
- initRaw() {
60
- this.raw = [
61
- this.nonce,
62
- this.gasPrice,
63
- this.gasLimit,
64
- this._feeCurrency,
65
- this._gatewayFeeRecipient,
66
- this._gatewayFee,
67
- this.to,
68
- this.value,
69
- this.data,
70
- this.v,
71
- this.r,
72
- this.s,
73
- ];
74
- }
75
- hash(includeSignature) {
76
- let items;
77
- if (includeSignature) {
78
- items = this.raw;
79
- }
80
- else {
81
- items = this.raw.slice(0, 9).concat([ethereumjs_utils_old_1.toBuffer(this.getChainId()), ethereumjs_util_1.unpad(ethereumjs_utils_old_1.toBuffer(0)), ethereumjs_util_1.unpad(ethereumjs_utils_old_1.toBuffer(0))]);
82
- }
83
- return ethereumjs_utils_old_1.rlphash(items);
84
- }
85
- getSenderAddress() {
86
- if (this._from) {
87
- return this._from;
88
- }
89
- const pubKey = this.getSenderPublicKey();
90
- this._from = ethereumjs_utils_old_1.publicToAddress(pubKey);
91
- return this._from;
92
- }
93
- getSenderPublicKey() {
94
- if (this.verifySignature()) {
95
- // If the signature was verified successfully the _senderPubKey field is defined
96
- return this._senderPubKey;
97
- }
98
- throw new Error('Invalid Signature');
99
- }
100
- serialize() {
101
- return ethereumjs_utils_old_1.rlp.encode(this.raw);
102
- }
103
- sign(privateKey) {
104
- this._signatures = [this.v, this.r, this.s, privateKey];
105
- }
106
- verifySignature() {
107
- const msgHash = this.hash(false);
108
- try {
109
- const chainId = this.getChainId();
110
- const v = ethereumjs_utils_old_1.bufferToInt(this.v) - (2 * chainId + 35);
111
- this._senderPubKey = ethereumjs_utils_old_1.ecrecover(msgHash, v + 27, this.r, this.s);
112
- }
113
- catch (e) {
114
- return false;
115
- }
116
- return !!this._senderPubKey;
117
- }
118
- getChainId() {
119
- let chainId = ethereumjs_utils_old_1.bufferToInt(this.v);
120
- if (this.r.length && this.s.length) {
121
- chainId = (chainId - 35) >> 1;
122
- }
123
- return chainId;
124
- }
125
- }
126
- exports.CeloTransaction = CeloTransaction;
127
- class CeloTransactionData {
128
- constructor(tx, deployedAddress) {
129
- this.tx = tx;
130
- this.deployedAddress = deployedAddress;
131
- }
132
- static fromJson(tx) {
133
- const chainId = ethereumjs_utils_old_1.addHexPrefix(new bignumber_js_1.default(Number(tx.chainId)).toString(16));
134
- return new CeloTransactionData(new CeloTransaction({
135
- _type: iface_1.ETHTransactionType.LEGACY,
136
- nonce: tx.nonce,
137
- to: tx.to,
138
- gasPrice: ethereumjs_utils_old_1.addHexPrefix(new bignumber_js_1.default(tx.gasPrice).toString(16)),
139
- gasLimit: ethereumjs_utils_old_1.addHexPrefix(new bignumber_js_1.default(tx.gasLimit).toString(16)),
140
- value: ethereumjs_utils_old_1.addHexPrefix(new bignumber_js_1.default(tx.value).toString(16)),
141
- data: tx.data === '0x' ? '' : tx.data,
142
- from: tx.from,
143
- s: tx.s,
144
- r: tx.r,
145
- v: tx.v || chainId,
146
- }), tx.deployedAddress);
147
- }
148
- async sign(keyPair) {
149
- const privateKey = ethereumjs_utils_old_1.addHexPrefix(keyPair.getKeys().prv);
150
- const data = CeloTransactionData.txJsonToCeloTx(this.toJson(), keyPair.getAddress());
151
- const celoLocalWallet = new wallet_local_1.LocalWallet();
152
- celoLocalWallet.addAccount(privateKey);
153
- const rawTransaction = await celoLocalWallet.signTransaction(data);
154
- const nonceBigNumber = new bignumber_js_1.default(rawTransaction.tx.nonce);
155
- rawTransaction.tx.nonce = ethereumjs_utils_old_1.addHexPrefix(nonceBigNumber.toString(16));
156
- rawTransaction.raw = data.data === undefined ? '' : data.data;
157
- rawTransaction.tx.gas = rawTransaction.tx.gas;
158
- this.tx = new CeloTransaction(CeloTransactionData.encodedTxToJson(rawTransaction));
159
- this.tx.sign(ethereumjs_utils_old_1.toBuffer(privateKey));
160
- }
161
- /** @inheritdoc */
162
- toJson() {
163
- const result = {
164
- _type: iface_1.ETHTransactionType.LEGACY,
165
- nonce: ethereumjs_utils_old_1.bufferToInt(this.tx.nonce),
166
- gasPrice: new bignumber_js_1.default(ethereumjs_utils_old_1.bufferToHex(this.tx.gasPrice), 16).toString(10),
167
- gasLimit: new bignumber_js_1.default(ethereumjs_utils_old_1.bufferToHex(this.tx.gasLimit), 16).toString(10),
168
- value: this.tx.value.length === 0 ? '0' : new bignumber_js_1.default(ethereumjs_utils_old_1.bufferToHex(this.tx.value), 16).toString(10),
169
- data: ethereumjs_utils_old_1.bufferToHex(this.tx.data),
170
- id: ethereumjs_utils_old_1.addHexPrefix(ethereumjs_utils_old_1.bufferToHex(this.tx.hash(true))),
171
- };
172
- if (this.tx.to && this.tx.to.length) {
173
- result.to = ethereumjs_utils_old_1.bufferToHex(this.tx.to);
174
- }
175
- if (this.tx.verifySignature()) {
176
- result.from = ethereumjs_utils_old_1.bufferToHex(this.tx.getSenderAddress());
177
- }
178
- const chainId = this.tx.getChainId();
179
- if (chainId) {
180
- result.chainId = chainId.toString();
181
- }
182
- if (this.deployedAddress) {
183
- result.deployedAddress = this.deployedAddress;
184
- }
185
- this.setSignatureFields(result);
186
- return result;
187
- }
188
- setSignatureFields(result) {
189
- if (this.tx.v && this.tx.v.length) {
190
- result.v = ethereumjs_utils_old_1.bufferToHex(this.tx.v);
191
- }
192
- if (this.tx.r && this.tx.r.length) {
193
- result.r = ethereumjs_utils_old_1.bufferToHex(this.tx.r);
194
- }
195
- if (this.tx.s && this.tx.s.length) {
196
- result.s = ethereumjs_utils_old_1.bufferToHex(this.tx.s);
197
- }
198
- }
199
- /** @inheritdoc */
200
- toSerialized() {
201
- return ethereumjs_utils_old_1.addHexPrefix(this.tx.serialize().toString('hex'));
202
- }
203
- static txJsonToCeloTx(txJson, signer) {
204
- // the celo library requires you to specify the signer address with the from field
205
- return Object.assign({}, txJson, {
206
- chainId: txJson.chainId === undefined ? 0 : parseInt(txJson.chainId, 10),
207
- gas: txJson.gasLimit,
208
- from: signer,
209
- });
210
- }
211
- static encodedTxToJson(encodedTx) {
212
- return {
213
- ...encodedTx.tx,
214
- _type: iface_1.ETHTransactionType.LEGACY,
215
- nonce: parseInt(encodedTx.tx.nonce, 16),
216
- gasLimit: encodedTx.tx.gas,
217
- data: encodedTx.raw,
218
- };
219
- }
220
- }
221
- exports.CeloTransactionData = CeloTransactionData;
222
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29pbi9jZWxvL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLGdFQUFxQztBQUNyQyxxREFBaUQ7QUFDakQsK0RBUzhCO0FBQzlCLHFEQUF3QztBQUV4Qyx3Q0FBd0Y7QUFHeEYsTUFBYSxlQUFlO0lBa0MxQixZQUFZLEVBQWdCO1FBN0JwQixpQkFBWSxHQUFXLCtCQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdEMseUJBQW9CLEdBQVcsK0JBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM5QyxnQkFBVyxHQUFXLCtCQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFNN0MsT0FBRSxHQUFXLCtCQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDMUIsTUFBQyxHQUFXLCtCQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDekIsTUFBQyxHQUFXLCtCQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDekIsTUFBQyxHQUFXLCtCQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7UUFtQnZCLElBQUksQ0FBQyxLQUFLLEdBQUcsdUJBQUssQ0FBQywrQkFBUSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxRQUFRLEdBQUcsK0JBQVEsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDOUQsSUFBSSxDQUFDLFFBQVEsR0FBRywrQkFBUSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztRQUM5RCxJQUFJLENBQUMsSUFBSSxHQUFHLCtCQUFRLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzlCLElBQUksQ0FBQyxLQUFLLEdBQUcsK0JBQVEsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDeEQsSUFBSSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ1QsSUFBSSxDQUFDLEVBQUUsR0FBRywrQkFBUSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUMzQjtRQUNELElBQUksRUFBRSxDQUFDLENBQUMsRUFBRTtZQUNSLElBQUksQ0FBQyxDQUFDLEdBQUcsK0JBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDekI7UUFDRCxJQUFJLEVBQUUsQ0FBQyxDQUFDLEVBQUU7WUFDUixJQUFJLENBQUMsQ0FBQyxHQUFHLCtCQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ3pCO1FBQ0QsSUFBSSxFQUFFLENBQUMsQ0FBQyxFQUFFO1lBQ1IsSUFBSSxDQUFDLENBQUMsR0FBRywrQkFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUN6QjtRQUNELElBQUksRUFBRSxDQUFDLElBQUksRUFBRTtZQUNYLElBQUksQ0FBQyxLQUFLLEdBQUcsK0JBQVEsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDaEM7UUFDRCxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDakIsQ0FBQztJQXRDRCwwREFBMEQ7SUFDMUQ7Ozs7O09BS0c7SUFDSyxpQkFBaUIsQ0FBQyxXQUFXO1FBQ25DLElBQUksV0FBVyxLQUFLLEtBQUssRUFBRTtZQUN6QixPQUFPLElBQUksQ0FBQztTQUNiO2FBQU0sSUFBSSxXQUFXLENBQUMsTUFBTSxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDdkMsT0FBTyxXQUFXLENBQUM7U0FDcEI7UUFDRCxPQUFPLEtBQUssR0FBRyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUEwQk8sT0FBTztRQUNiLElBQUksQ0FBQyxHQUFHLEdBQUc7WUFDVCxJQUFJLENBQUMsS0FBSztZQUNWLElBQUksQ0FBQyxRQUFRO1lBQ2IsSUFBSSxDQUFDLFFBQVE7WUFDYixJQUFJLENBQUMsWUFBWTtZQUNqQixJQUFJLENBQUMsb0JBQW9CO1lBQ3pCLElBQUksQ0FBQyxXQUFXO1lBQ2hCLElBQUksQ0FBQyxFQUFFO1lBQ1AsSUFBSSxDQUFDLEtBQUs7WUFDVixJQUFJLENBQUMsSUFBSTtZQUNULElBQUksQ0FBQyxDQUFDO1lBQ04sSUFBSSxDQUFDLENBQUM7WUFDTixJQUFJLENBQUMsQ0FBQztTQUNQLENBQUM7SUFDSixDQUFDO0lBRUQsSUFBSSxDQUFDLGdCQUEwQjtRQUM3QixJQUFJLEtBQUssQ0FBQztRQUNWLElBQUksZ0JBQWdCLEVBQUU7WUFDcEIsS0FBSyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUM7U0FDbEI7YUFBTTtZQUNMLEtBQUssR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsK0JBQVEsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsRUFBRSx1QkFBSyxDQUFDLCtCQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSx1QkFBSyxDQUFDLCtCQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDNUc7UUFDRCxPQUFPLDhCQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDeEIsQ0FBQztJQUVELGdCQUFnQjtRQUNkLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNkLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztTQUNuQjtRQUNELE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQ3pDLElBQUksQ0FBQyxLQUFLLEdBQUcsc0NBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNyQyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUVELGtCQUFrQjtRQUNoQixJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUUsRUFBRTtZQUMxQixnRkFBZ0Y7WUFDaEYsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO1NBQzNCO1FBQ0QsTUFBTSxJQUFJLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxTQUFTO1FBQ1AsT0FBTywwQkFBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVELElBQUksQ0FBQyxVQUFrQjtRQUNyQixJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVELGVBQWU7UUFDYixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2pDLElBQUk7WUFDRixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDbEMsTUFBTSxDQUFDLEdBQUcsa0NBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsT0FBTyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1lBQ25ELElBQUksQ0FBQyxhQUFhLEdBQUcsZ0NBQVMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNqRTtRQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ1YsT0FBTyxLQUFLLENBQUM7U0FDZDtRQUNELE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDOUIsQ0FBQztJQUVELFVBQVU7UUFDUixJQUFJLE9BQU8sR0FBRyxrQ0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNsQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFO1lBQ2xDLE9BQU8sR0FBRyxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDL0I7UUFDRCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0NBQ0Y7QUFqSUQsMENBaUlDO0FBRUQsTUFBYSxtQkFBbUI7SUFJOUIsWUFBWSxFQUFtQixFQUFFLGVBQXdCO1FBQ3ZELElBQUksQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDO1FBQ2IsSUFBSSxDQUFDLGVBQWUsR0FBRyxlQUFlLENBQUM7SUFDekMsQ0FBQztJQUVNLE1BQU0sQ0FBQyxRQUFRLENBQUMsRUFBZ0I7UUFDckMsTUFBTSxPQUFPLEdBQUcsbUNBQVksQ0FBQyxJQUFJLHNCQUFTLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzdFLE9BQU8sSUFBSSxtQkFBbUIsQ0FDNUIsSUFBSSxlQUFlLENBQUM7WUFDbEIsS0FBSyxFQUFFLDBCQUFrQixDQUFDLE1BQU07WUFDaEMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLO1lBQ2YsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFO1lBQ1QsUUFBUSxFQUFFLG1DQUFZLENBQUMsSUFBSSxzQkFBUyxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDL0QsUUFBUSxFQUFFLG1DQUFZLENBQUMsSUFBSSxzQkFBUyxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDL0QsS0FBSyxFQUFFLG1DQUFZLENBQUMsSUFBSSxzQkFBUyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDekQsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJO1lBQ3JDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSTtZQUNiLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUNQLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUNQLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLE9BQU87U0FDbkIsQ0FBQyxFQUNGLEVBQUUsQ0FBQyxlQUFlLENBQ25CLENBQUM7SUFDSixDQUFDO0lBRUQsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFnQjtRQUN6QixNQUFNLFVBQVUsR0FBRyxtQ0FBWSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxHQUFhLENBQUMsQ0FBQztRQUNqRSxNQUFNLElBQUksR0FBRyxtQkFBbUIsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxFQUFFLE9BQU8sQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO1FBQ3JGLE1BQU0sZUFBZSxHQUFHLElBQUksMEJBQVcsRUFBRSxDQUFDO1FBQzFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDdkMsTUFBTSxjQUFjLEdBQUcsTUFBTSxlQUFlLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRW5FLE1BQU0sY0FBYyxHQUFHLElBQUksc0JBQVMsQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzlELGNBQWMsQ0FBQyxFQUFFLENBQUMsS0FBSyxHQUFHLG1DQUFZLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3BFLGNBQWMsQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLElBQUksS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztRQUM5RCxjQUFjLENBQUMsRUFBRSxDQUFDLEdBQUcsR0FBRyxjQUFjLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQztRQUM5QyxJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksZUFBZSxDQUFDLG1CQUFtQixDQUFDLGVBQWUsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDO1FBQ25GLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLCtCQUFRLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLE1BQU07UUFDSixNQUFNLE1BQU0sR0FBaUI7WUFDM0IsS0FBSyxFQUFFLDBCQUFrQixDQUFDLE1BQU07WUFDaEMsS0FBSyxFQUFFLGtDQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUM7WUFDakMsUUFBUSxFQUFFLElBQUksc0JBQVMsQ0FBQyxrQ0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztZQUN2RSxRQUFRLEVBQUUsSUFBSSxzQkFBUyxDQUFDLGtDQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO1lBQ3ZFLEtBQUssRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksc0JBQVMsQ0FBQyxrQ0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztZQUNwRyxJQUFJLEVBQUUsa0NBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQztZQUMvQixFQUFFLEVBQUUsbUNBQVksQ0FBQyxrQ0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7U0FDbEQsQ0FBQztRQUVGLElBQUksSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLElBQUksSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsTUFBTSxFQUFFO1lBQ25DLE1BQU0sQ0FBQyxFQUFFLEdBQUcsa0NBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1NBQ3JDO1FBRUQsSUFBSSxJQUFJLENBQUMsRUFBRSxDQUFDLGVBQWUsRUFBRSxFQUFFO1lBQzdCLE1BQU0sQ0FBQyxJQUFJLEdBQUcsa0NBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGdCQUFnQixFQUFFLENBQUMsQ0FBQztTQUN2RDtRQUVELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDckMsSUFBSSxPQUFPLEVBQUU7WUFDWCxNQUFNLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQztTQUNyQztRQUVELElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRTtZQUN4QixNQUFNLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUM7U0FDL0M7UUFFRCxJQUFJLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFaEMsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVPLGtCQUFrQixDQUFDLE1BQW9CO1FBQzdDLElBQUksSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFO1lBQ2pDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsa0NBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ25DO1FBRUQsSUFBSSxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUU7WUFDakMsTUFBTSxDQUFDLENBQUMsR0FBRyxrQ0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDbkM7UUFFRCxJQUFJLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRTtZQUNqQyxNQUFNLENBQUMsQ0FBQyxHQUFHLGtDQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNuQztJQUNILENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsWUFBWTtRQUNWLE9BQU8sbUNBQVksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLFNBQVMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFTyxNQUFNLENBQUMsY0FBYyxDQUFDLE1BQW9CLEVBQUUsTUFBYztRQUNoRSxrRkFBa0Y7UUFDbEYsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxNQUFNLEVBQUU7WUFDL0IsT0FBTyxFQUFFLE1BQU0sQ0FBQyxPQUFPLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQztZQUN4RSxHQUFHLEVBQUUsTUFBTSxDQUFDLFFBQVE7WUFDcEIsSUFBSSxFQUFFLE1BQU07U0FDYixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sTUFBTSxDQUFDLGVBQWUsQ0FBQyxTQUE2QjtRQUMxRCxPQUFPO1lBQ0wsR0FBRyxTQUFTLENBQUMsRUFBRTtZQUNmLEtBQUssRUFBRSwwQkFBa0IsQ0FBQyxNQUFNO1lBQ2hDLEtBQUssRUFBRSxRQUFRLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDO1lBQ3ZDLFFBQVEsRUFBRSxTQUFTLENBQUMsRUFBRSxDQUFDLEdBQUc7WUFDMUIsSUFBSSxFQUFFLFNBQVMsQ0FBQyxHQUFHO1NBQ3BCLENBQUM7SUFDSixDQUFDO0NBQ0Y7QUFuSEQsa0RBbUhDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEJpZ051bWJlciBmcm9tICdiaWdudW1iZXIuanMnO1xuaW1wb3J0IHsgTG9jYWxXYWxsZXQgfSBmcm9tICdAY2Vsby93YWxsZXQtbG9jYWwnO1xuaW1wb3J0IHtcbiAgYWRkSGV4UHJlZml4LFxuICB0b0J1ZmZlcixcbiAgYnVmZmVyVG9IZXgsXG4gIGJ1ZmZlclRvSW50LFxuICBybHAsXG4gIHJscGhhc2gsXG4gIGVjcmVjb3ZlcixcbiAgcHVibGljVG9BZGRyZXNzLFxufSBmcm9tICdldGhlcmV1bWpzLXV0aWxzLW9sZCc7XG5pbXBvcnQgeyB1bnBhZCB9IGZyb20gJ2V0aGVyZXVtanMtdXRpbCc7XG5pbXBvcnQgeyBDZWxvVHgsIEVuY29kZWRUcmFuc2FjdGlvbiB9IGZyb20gJ0BjZWxvL2Nvbm5lY3QnO1xuaW1wb3J0IHsgRXRoTGlrZVRyYW5zYWN0aW9uRGF0YSwgRVRIVHJhbnNhY3Rpb25UeXBlLCBMZWdhY3lUeERhdGEgfSBmcm9tICcuLi9ldGgvaWZhY2UnO1xuaW1wb3J0IHsgS2V5UGFpciB9IGZyb20gJy4uL2V0aCc7XG5cbmV4cG9ydCBjbGFzcyBDZWxvVHJhbnNhY3Rpb24ge1xuICBwcml2YXRlIHJhdzogQnVmZmVyW107XG4gIHByaXZhdGUgX2Zyb206IEJ1ZmZlcjtcbiAgcHJpdmF0ZSBfc2VuZGVyUHViS2V5PztcbiAgcHJpdmF0ZSBfc2lnbmF0dXJlczogQnVmZmVyW107XG4gIHByaXZhdGUgX2ZlZUN1cnJlbmN5OiBCdWZmZXIgPSB0b0J1ZmZlcignMHgnKTtcbiAgcHJpdmF0ZSBfZ2F0ZXdheUZlZVJlY2lwaWVudDogQnVmZmVyID0gdG9CdWZmZXIoJzB4Jyk7XG4gIHByaXZhdGUgX2dhdGV3YXlGZWU6IEJ1ZmZlciA9IHRvQnVmZmVyKCcweCcpO1xuICBub25jZTogQnVmZmVyO1xuICBnYXNMaW1pdDogQnVmZmVyO1xuICBnYXNQcmljZTogQnVmZmVyO1xuICBkYXRhOiBCdWZmZXI7XG4gIHZhbHVlOiBCdWZmZXI7XG4gIHRvOiBCdWZmZXIgPSB0b0J1ZmZlcihbXSk7XG4gIHY6IEJ1ZmZlciA9IHRvQnVmZmVyKFtdKTtcbiAgcjogQnVmZmVyID0gdG9CdWZmZXIoW10pO1xuICBzOiBCdWZmZXIgPSB0b0J1ZmZlcihbXSk7XG5cbiAgLy8gVE9ETzogdmFsaWRhdGUgaWYgdGhpcyBuZWVkcyB0byBiZSBtb3ZlZCB0byBVdGlscyBjbGFzc1xuICAvKipcbiAgICogQ2xlYW4gaGV4IGZvcm1hdHRlZCB2YWx1ZXMgZW5zdXJpbmcgdGhleSBoYXZlIGFuIGV2ZW4gbGVuZ3RoXG4gICAqXG4gICAqIEBwYXJhbSBudW1iZXJWYWx1ZSBIZXggZm9ybWF0dGVkIG51bWJlciB2YWx1ZS4gRXhhbXBsZSAnMHgwMSdcbiAgICogQHJldHVybnMgc2FuaXRpemVkIHZhbHVlXG4gICAqL1xuICBwcml2YXRlIHNhbml0aXplSGV4U3RyaW5nKG51bWJlclZhbHVlKSB7XG4gICAgaWYgKG51bWJlclZhbHVlID09PSAnMHgwJykge1xuICAgICAgcmV0dXJuICcweCc7XG4gICAgfSBlbHNlIGlmIChudW1iZXJWYWx1ZS5sZW5ndGggJSAyID09PSAwKSB7XG4gICAgICByZXR1cm4gbnVtYmVyVmFsdWU7XG4gICAgfVxuICAgIHJldHVybiAnMHgwJyArIG51bWJlclZhbHVlLnNsaWNlKDIpO1xuICB9XG5cbiAgY29uc3RydWN0b3IodHg6IExlZ2FjeVR4RGF0YSkge1xuICAgIHRoaXMubm9uY2UgPSB1bnBhZCh0b0J1ZmZlcih0eC5ub25jZSkpO1xuICAgIHRoaXMuZ2FzTGltaXQgPSB0b0J1ZmZlcih0aGlzLnNhbml0aXplSGV4U3RyaW5nKHR4Lmdhc0xpbWl0KSk7XG4gICAgdGhpcy5nYXNQcmljZSA9IHRvQnVmZmVyKHRoaXMuc2FuaXRpemVIZXhTdHJpbmcodHguZ2FzUHJpY2UpKTtcbiAgICB0aGlzLmRhdGEgPSB0b0J1ZmZlcih0eC5kYXRhKTtcbiAgICB0aGlzLnZhbHVlID0gdG9CdWZmZXIodGhpcy5zYW5pdGl6ZUhleFN0cmluZyh0eC52YWx1ZSkpO1xuICAgIGlmICh0eC50bykge1xuICAgICAgdGhpcy50byA9IHRvQnVmZmVyKHR4LnRvKTtcbiAgICB9XG4gICAgaWYgKHR4LnYpIHtcbiAgICAgIHRoaXMudiA9IHRvQnVmZmVyKHR4LnYpO1xuICAgIH1cbiAgICBpZiAodHgucikge1xuICAgICAgdGhpcy5yID0gdG9CdWZmZXIodHgucik7XG4gICAgfVxuICAgIGlmICh0eC5zKSB7XG4gICAgICB0aGlzLnMgPSB0b0J1ZmZlcih0eC5zKTtcbiAgICB9XG4gICAgaWYgKHR4LmZyb20pIHtcbiAgICAgIHRoaXMuX2Zyb20gPSB0b0J1ZmZlcih0eC5mcm9tKTtcbiAgICB9XG4gICAgdGhpcy5pbml0UmF3KCk7XG4gIH1cblxuICBwcml2YXRlIGluaXRSYXcoKSB7XG4gICAgdGhpcy5yYXcgPSBbXG4gICAgICB0aGlzLm5vbmNlLFxuICAgICAgdGhpcy5nYXNQcmljZSxcbiAgICAgIHRoaXMuZ2FzTGltaXQsXG4gICAgICB0aGlzLl9mZWVDdXJyZW5jeSxcbiAgICAgIHRoaXMuX2dhdGV3YXlGZWVSZWNpcGllbnQsXG4gICAgICB0aGlzLl9nYXRld2F5RmVlLFxuICAgICAgdGhpcy50byxcbiAgICAgIHRoaXMudmFsdWUsXG4gICAgICB0aGlzLmRhdGEsXG4gICAgICB0aGlzLnYsXG4gICAgICB0aGlzLnIsXG4gICAgICB0aGlzLnMsXG4gICAgXTtcbiAgfVxuXG4gIGhhc2goaW5jbHVkZVNpZ25hdHVyZT86IGJvb2xlYW4pOiBCdWZmZXIge1xuICAgIGxldCBpdGVtcztcbiAgICBpZiAoaW5jbHVkZVNpZ25hdHVyZSkge1xuICAgICAgaXRlbXMgPSB0aGlzLnJhdztcbiAgICB9IGVsc2Uge1xuICAgICAgaXRlbXMgPSB0aGlzLnJhdy5zbGljZSgwLCA5KS5jb25jYXQoW3RvQnVmZmVyKHRoaXMuZ2V0Q2hhaW5JZCgpKSwgdW5wYWQodG9CdWZmZXIoMCkpLCB1bnBhZCh0b0J1ZmZlcigwKSldKTtcbiAgICB9XG4gICAgcmV0dXJuIHJscGhhc2goaXRlbXMpO1xuICB9XG5cbiAgZ2V0U2VuZGVyQWRkcmVzcygpOiBCdWZmZXIge1xuICAgIGlmICh0aGlzLl9mcm9tKSB7XG4gICAgICByZXR1cm4gdGhpcy5fZnJvbTtcbiAgICB9XG4gICAgY29uc3QgcHViS2V5ID0gdGhpcy5nZXRTZW5kZXJQdWJsaWNLZXkoKTtcbiAgICB0aGlzLl9mcm9tID0gcHVibGljVG9BZGRyZXNzKHB1YktleSk7XG4gICAgcmV0dXJuIHRoaXMuX2Zyb207XG4gIH1cblxuICBnZXRTZW5kZXJQdWJsaWNLZXkoKSB7XG4gICAgaWYgKHRoaXMudmVyaWZ5U2lnbmF0dXJlKCkpIHtcbiAgICAgIC8vIElmIHRoZSBzaWduYXR1cmUgd2FzIHZlcmlmaWVkIHN1Y2Nlc3NmdWxseSB0aGUgX3NlbmRlclB1YktleSBmaWVsZCBpcyBkZWZpbmVkXG4gICAgICByZXR1cm4gdGhpcy5fc2VuZGVyUHViS2V5O1xuICAgIH1cbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgU2lnbmF0dXJlJyk7XG4gIH1cblxuICBzZXJpYWxpemUoKTogQnVmZmVyIHtcbiAgICByZXR1cm4gcmxwLmVuY29kZSh0aGlzLnJhdyk7XG4gIH1cblxuICBzaWduKHByaXZhdGVLZXk6IEJ1ZmZlcik6IHZvaWQge1xuICAgIHRoaXMuX3NpZ25hdHVyZXMgPSBbdGhpcy52LCB0aGlzLnIsIHRoaXMucywgcHJpdmF0ZUtleV07XG4gIH1cblxuICB2ZXJpZnlTaWduYXR1cmUoKTogYm9vbGVhbiB7XG4gICAgY29uc3QgbXNnSGFzaCA9IHRoaXMuaGFzaChmYWxzZSk7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGNoYWluSWQgPSB0aGlzLmdldENoYWluSWQoKTtcbiAgICAgIGNvbnN0IHYgPSBidWZmZXJUb0ludCh0aGlzLnYpIC0gKDIgKiBjaGFpbklkICsgMzUpO1xuICAgICAgdGhpcy5fc2VuZGVyUHViS2V5ID0gZWNyZWNvdmVyKG1zZ0hhc2gsIHYgKyAyNywgdGhpcy5yLCB0aGlzLnMpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuICEhdGhpcy5fc2VuZGVyUHViS2V5O1xuICB9XG5cbiAgZ2V0Q2hhaW5JZCgpOiBudW1iZXIge1xuICAgIGxldCBjaGFpbklkID0gYnVmZmVyVG9JbnQodGhpcy52KTtcbiAgICBpZiAodGhpcy5yLmxlbmd0aCAmJiB0aGlzLnMubGVuZ3RoKSB7XG4gICAgICBjaGFpbklkID0gKGNoYWluSWQgLSAzNSkgPj4gMTtcbiAgICB9XG4gICAgcmV0dXJuIGNoYWluSWQ7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIENlbG9UcmFuc2FjdGlvbkRhdGEgaW1wbGVtZW50cyBFdGhMaWtlVHJhbnNhY3Rpb25EYXRhIHtcbiAgcHJpdmF0ZSB0eDogQ2Vsb1RyYW5zYWN0aW9uO1xuICBwcml2YXRlIGRlcGxveWVkQWRkcmVzcz86IHN0cmluZztcblxuICBjb25zdHJ1Y3Rvcih0eDogQ2Vsb1RyYW5zYWN0aW9uLCBkZXBsb3llZEFkZHJlc3M/OiBzdHJpbmcpIHtcbiAgICB0aGlzLnR4ID0gdHg7XG4gICAgdGhpcy5kZXBsb3llZEFkZHJlc3MgPSBkZXBsb3llZEFkZHJlc3M7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGZyb21Kc29uKHR4OiBMZWdhY3lUeERhdGEpOiBDZWxvVHJhbnNhY3Rpb25EYXRhIHtcbiAgICBjb25zdCBjaGFpbklkID0gYWRkSGV4UHJlZml4KG5ldyBCaWdOdW1iZXIoTnVtYmVyKHR4LmNoYWluSWQpKS50b1N0cmluZygxNikpO1xuICAgIHJldHVybiBuZXcgQ2Vsb1RyYW5zYWN0aW9uRGF0YShcbiAgICAgIG5ldyBDZWxvVHJhbnNhY3Rpb24oe1xuICAgICAgICBfdHlwZTogRVRIVHJhbnNhY3Rpb25UeXBlLkxFR0FDWSxcbiAgICAgICAgbm9uY2U6IHR4Lm5vbmNlLFxuICAgICAgICB0bzogdHgudG8sXG4gICAgICAgIGdhc1ByaWNlOiBhZGRIZXhQcmVmaXgobmV3IEJpZ051bWJlcih0eC5nYXNQcmljZSkudG9TdHJpbmcoMTYpKSxcbiAgICAgICAgZ2FzTGltaXQ6IGFkZEhleFByZWZpeChuZXcgQmlnTnVtYmVyKHR4Lmdhc0xpbWl0KS50b1N0cmluZygxNikpLFxuICAgICAgICB2YWx1ZTogYWRkSGV4UHJlZml4KG5ldyBCaWdOdW1iZXIodHgudmFsdWUpLnRvU3RyaW5nKDE2KSksXG4gICAgICAgIGRhdGE6IHR4LmRhdGEgPT09ICcweCcgPyAnJyA6IHR4LmRhdGEsXG4gICAgICAgIGZyb206IHR4LmZyb20sXG4gICAgICAgIHM6IHR4LnMsXG4gICAgICAgIHI6IHR4LnIsXG4gICAgICAgIHY6IHR4LnYgfHwgY2hhaW5JZCxcbiAgICAgIH0pLFxuICAgICAgdHguZGVwbG95ZWRBZGRyZXNzLFxuICAgICk7XG4gIH1cblxuICBhc3luYyBzaWduKGtleVBhaXI6IEtleVBhaXIpIHtcbiAgICBjb25zdCBwcml2YXRlS2V5ID0gYWRkSGV4UHJlZml4KGtleVBhaXIuZ2V0S2V5cygpLnBydiBhcyBzdHJpbmcpO1xuICAgIGNvbnN0IGRhdGEgPSBDZWxvVHJhbnNhY3Rpb25EYXRhLnR4SnNvblRvQ2Vsb1R4KHRoaXMudG9Kc29uKCksIGtleVBhaXIuZ2V0QWRkcmVzcygpKTtcbiAgICBjb25zdCBjZWxvTG9jYWxXYWxsZXQgPSBuZXcgTG9jYWxXYWxsZXQoKTtcbiAgICBjZWxvTG9jYWxXYWxsZXQuYWRkQWNjb3VudChwcml2YXRlS2V5KTtcbiAgICBjb25zdCByYXdUcmFuc2FjdGlvbiA9IGF3YWl0IGNlbG9Mb2NhbFdhbGxldC5zaWduVHJhbnNhY3Rpb24oZGF0YSk7XG5cbiAgICBjb25zdCBub25jZUJpZ051bWJlciA9IG5ldyBCaWdOdW1iZXIocmF3VHJhbnNhY3Rpb24udHgubm9uY2UpO1xuICAgIHJhd1RyYW5zYWN0aW9uLnR4Lm5vbmNlID0gYWRkSGV4UHJlZml4KG5vbmNlQmlnTnVtYmVyLnRvU3RyaW5nKDE2KSk7XG4gICAgcmF3VHJhbnNhY3Rpb24ucmF3ID0gZGF0YS5kYXRhID09PSB1bmRlZmluZWQgPyAnJyA6IGRhdGEuZGF0YTtcbiAgICByYXdUcmFuc2FjdGlvbi50eC5nYXMgPSByYXdUcmFuc2FjdGlvbi50eC5nYXM7XG4gICAgdGhpcy50eCA9IG5ldyBDZWxvVHJhbnNhY3Rpb24oQ2Vsb1RyYW5zYWN0aW9uRGF0YS5lbmNvZGVkVHhUb0pzb24ocmF3VHJhbnNhY3Rpb24pKTtcbiAgICB0aGlzLnR4LnNpZ24odG9CdWZmZXIocHJpdmF0ZUtleSkpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHRvSnNvbigpOiBMZWdhY3lUeERhdGEge1xuICAgIGNvbnN0IHJlc3VsdDogTGVnYWN5VHhEYXRhID0ge1xuICAgICAgX3R5cGU6IEVUSFRyYW5zYWN0aW9uVHlwZS5MRUdBQ1ksXG4gICAgICBub25jZTogYnVmZmVyVG9JbnQodGhpcy50eC5ub25jZSksXG4gICAgICBnYXNQcmljZTogbmV3IEJpZ051bWJlcihidWZmZXJUb0hleCh0aGlzLnR4Lmdhc1ByaWNlKSwgMTYpLnRvU3RyaW5nKDEwKSxcbiAgICAgIGdhc0xpbWl0OiBuZXcgQmlnTnVtYmVyKGJ1ZmZlclRvSGV4KHRoaXMudHguZ2FzTGltaXQpLCAxNikudG9TdHJpbmcoMTApLFxuICAgICAgdmFsdWU6IHRoaXMudHgudmFsdWUubGVuZ3RoID09PSAwID8gJzAnIDogbmV3IEJpZ051bWJlcihidWZmZXJUb0hleCh0aGlzLnR4LnZhbHVlKSwgMTYpLnRvU3RyaW5nKDEwKSxcbiAgICAgIGRhdGE6IGJ1ZmZlclRvSGV4KHRoaXMudHguZGF0YSksXG4gICAgICBpZDogYWRkSGV4UHJlZml4KGJ1ZmZlclRvSGV4KHRoaXMudHguaGFzaCh0cnVlKSkpLFxuICAgIH07XG5cbiAgICBpZiAodGhpcy50eC50byAmJiB0aGlzLnR4LnRvLmxlbmd0aCkge1xuICAgICAgcmVzdWx0LnRvID0gYnVmZmVyVG9IZXgodGhpcy50eC50byk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMudHgudmVyaWZ5U2lnbmF0dXJlKCkpIHtcbiAgICAgIHJlc3VsdC5mcm9tID0gYnVmZmVyVG9IZXgodGhpcy50eC5nZXRTZW5kZXJBZGRyZXNzKCkpO1xuICAgIH1cblxuICAgIGNvbnN0IGNoYWluSWQgPSB0aGlzLnR4LmdldENoYWluSWQoKTtcbiAgICBpZiAoY2hhaW5JZCkge1xuICAgICAgcmVzdWx0LmNoYWluSWQgPSBjaGFpbklkLnRvU3RyaW5nKCk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuZGVwbG95ZWRBZGRyZXNzKSB7XG4gICAgICByZXN1bHQuZGVwbG95ZWRBZGRyZXNzID0gdGhpcy5kZXBsb3llZEFkZHJlc3M7XG4gICAgfVxuXG4gICAgdGhpcy5zZXRTaWduYXR1cmVGaWVsZHMocmVzdWx0KTtcblxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBwcml2YXRlIHNldFNpZ25hdHVyZUZpZWxkcyhyZXN1bHQ6IExlZ2FjeVR4RGF0YSk6IHZvaWQge1xuICAgIGlmICh0aGlzLnR4LnYgJiYgdGhpcy50eC52Lmxlbmd0aCkge1xuICAgICAgcmVzdWx0LnYgPSBidWZmZXJUb0hleCh0aGlzLnR4LnYpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnR4LnIgJiYgdGhpcy50eC5yLmxlbmd0aCkge1xuICAgICAgcmVzdWx0LnIgPSBidWZmZXJUb0hleCh0aGlzLnR4LnIpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnR4LnMgJiYgdGhpcy50eC5zLmxlbmd0aCkge1xuICAgICAgcmVzdWx0LnMgPSBidWZmZXJUb0hleCh0aGlzLnR4LnMpO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICB0b1NlcmlhbGl6ZWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYWRkSGV4UHJlZml4KHRoaXMudHguc2VyaWFsaXplKCkudG9TdHJpbmcoJ2hleCcpKTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIHR4SnNvblRvQ2Vsb1R4KHR4SnNvbjogTGVnYWN5VHhEYXRhLCBzaWduZXI6IHN0cmluZyk6IENlbG9UeCB7XG4gICAgLy8gdGhlIGNlbG8gbGlicmFyeSByZXF1aXJlcyB5b3UgdG8gc3BlY2lmeSB0aGUgc2lnbmVyIGFkZHJlc3Mgd2l0aCB0aGUgZnJvbSBmaWVsZFxuICAgIHJldHVybiBPYmplY3QuYXNzaWduKHt9LCB0eEpzb24sIHtcbiAgICAgIGNoYWluSWQ6IHR4SnNvbi5jaGFpbklkID09PSB1bmRlZmluZWQgPyAwIDogcGFyc2VJbnQodHhKc29uLmNoYWluSWQsIDEwKSxcbiAgICAgIGdhczogdHhKc29uLmdhc0xpbWl0LFxuICAgICAgZnJvbTogc2lnbmVyLFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgZW5jb2RlZFR4VG9Kc29uKGVuY29kZWRUeDogRW5jb2RlZFRyYW5zYWN0aW9uKTogTGVnYWN5VHhEYXRhIHtcbiAgICByZXR1cm4ge1xuICAgICAgLi4uZW5jb2RlZFR4LnR4LFxuICAgICAgX3R5cGU6IEVUSFRyYW5zYWN0aW9uVHlwZS5MRUdBQ1ksXG4gICAgICBub25jZTogcGFyc2VJbnQoZW5jb2RlZFR4LnR4Lm5vbmNlLCAxNiksXG4gICAgICBnYXNMaW1pdDogZW5jb2RlZFR4LnR4LmdhcyxcbiAgICAgIGRhdGE6IGVuY29kZWRUeC5yYXcsXG4gICAgfTtcbiAgfVxufVxuIl19