@bitgo/account-lib 2.20.0-rc.30 → 2.20.0-rc.33

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 (440) hide show
  1. package/CHANGELOG.md +29 -0
  2. package/dist/resources/README.md +0 -22
  3. package/dist/src/coin/hbar/coinTransferBuilder.js +2 -2
  4. package/dist/src/coin/hbar/iface.d.ts +21 -4
  5. package/dist/src/coin/hbar/iface.d.ts.map +1 -1
  6. package/dist/src/coin/hbar/iface.js +1 -1
  7. package/dist/src/coin/hbar/index.d.ts +3 -0
  8. package/dist/src/coin/hbar/index.d.ts.map +1 -1
  9. package/dist/src/coin/hbar/index.js +8 -2
  10. package/dist/src/coin/hbar/tokenAssociateBuilder.d.ts +4 -1
  11. package/dist/src/coin/hbar/tokenAssociateBuilder.d.ts.map +1 -1
  12. package/dist/src/coin/hbar/tokenAssociateBuilder.js +18 -10
  13. package/dist/src/coin/hbar/tokenTransferBuilder.js +2 -2
  14. package/dist/src/coin/hbar/transaction.d.ts +10 -2
  15. package/dist/src/coin/hbar/transaction.d.ts.map +1 -1
  16. package/dist/src/coin/hbar/transaction.js +76 -29
  17. package/dist/src/coin/hbar/utils.d.ts +0 -1
  18. package/dist/src/coin/hbar/utils.d.ts.map +1 -1
  19. package/dist/src/coin/hbar/utils.js +1 -2
  20. package/dist/src/index.d.ts +20 -10
  21. package/dist/src/index.d.ts.map +1 -1
  22. package/dist/src/index.js +27 -17
  23. package/dist/tsconfig.tsbuildinfo +6757 -19435
  24. package/package.json +19 -32
  25. package/resources/README.md +0 -22
  26. package/dist/browser/bitgo-account-lib.js +0 -2
  27. package/dist/browser/bitgo-account-lib.js.LICENSE.txt +0 -337
  28. package/dist/resources/hbar/protobuf/BasicTypes.proto +0 -424
  29. package/dist/resources/hbar/protobuf/CryptoCreate.proto +0 -47
  30. package/dist/resources/hbar/protobuf/CryptoTransfer.proto +0 -33
  31. package/dist/resources/hbar/protobuf/Duration.proto +0 -28
  32. package/dist/resources/hbar/protobuf/Timestamp.proto +0 -34
  33. package/dist/resources/hbar/protobuf/Transaction.proto +0 -35
  34. package/dist/resources/hbar/protobuf/TransactionBody.proto +0 -24
  35. package/dist/resources/hbar/protobuf/TransactionContents.proto +0 -33
  36. package/dist/resources/hbar/protobuf/hedera.d.ts +0 -4612
  37. package/dist/resources/hbar/protobuf/hedera.js +0 -12192
  38. package/dist/resources/trx/protobuf/Contract.proto +0 -256
  39. package/dist/resources/trx/protobuf/Discover.proto +0 -44
  40. package/dist/resources/trx/protobuf/tron.d.ts +0 -11024
  41. package/dist/resources/trx/protobuf/tron.js +0 -31510
  42. package/dist/resources/trx/protobuf/tron.proto +0 -677
  43. package/dist/src/coin/algo/assetTransferBuilder.d.ts +0 -42
  44. package/dist/src/coin/algo/assetTransferBuilder.d.ts.map +0 -1
  45. package/dist/src/coin/algo/assetTransferBuilder.js +0 -105
  46. package/dist/src/coin/algo/errors.d.ts +0 -11
  47. package/dist/src/coin/algo/errors.d.ts.map +0 -1
  48. package/dist/src/coin/algo/errors.js +0 -27
  49. package/dist/src/coin/algo/ifaces.d.ts +0 -46
  50. package/dist/src/coin/algo/ifaces.d.ts.map +0 -1
  51. package/dist/src/coin/algo/ifaces.js +0 -3
  52. package/dist/src/coin/algo/index.d.ts +0 -13
  53. package/dist/src/coin/algo/index.d.ts.map +0 -1
  54. package/dist/src/coin/algo/index.js +0 -47
  55. package/dist/src/coin/algo/keyPair.d.ts +0 -25
  56. package/dist/src/coin/algo/keyPair.d.ts.map +0 -1
  57. package/dist/src/coin/algo/keyPair.js +0 -77
  58. package/dist/src/coin/algo/keyRegistrationBuilder.d.ts +0 -104
  59. package/dist/src/coin/algo/keyRegistrationBuilder.d.ts.map +0 -1
  60. package/dist/src/coin/algo/keyRegistrationBuilder.js +0 -239
  61. package/dist/src/coin/algo/seedEncoding.d.ts +0 -25
  62. package/dist/src/coin/algo/seedEncoding.d.ts.map +0 -1
  63. package/dist/src/coin/algo/seedEncoding.js +0 -97
  64. package/dist/src/coin/algo/transaction.d.ts +0 -75
  65. package/dist/src/coin/algo/transaction.d.ts.map +0 -1
  66. package/dist/src/coin/algo/transaction.js +0 -251
  67. package/dist/src/coin/algo/transactionBuilder.d.ts +0 -204
  68. package/dist/src/coin/algo/transactionBuilder.d.ts.map +0 -1
  69. package/dist/src/coin/algo/transactionBuilder.js +0 -373
  70. package/dist/src/coin/algo/transactionBuilderFactory.d.ts +0 -16
  71. package/dist/src/coin/algo/transactionBuilderFactory.d.ts.map +0 -1
  72. package/dist/src/coin/algo/transactionBuilderFactory.js +0 -52
  73. package/dist/src/coin/algo/transferBuilder.d.ts +0 -40
  74. package/dist/src/coin/algo/transferBuilder.d.ts.map +0 -1
  75. package/dist/src/coin/algo/transferBuilder.js +0 -89
  76. package/dist/src/coin/algo/txnSchema.d.ts +0 -7
  77. package/dist/src/coin/algo/txnSchema.d.ts.map +0 -1
  78. package/dist/src/coin/algo/txnSchema.js +0 -68
  79. package/dist/src/coin/algo/utils.d.ts +0 -249
  80. package/dist/src/coin/algo/utils.d.ts.map +0 -1
  81. package/dist/src/coin/algo/utils.js +0 -539
  82. package/dist/src/coin/avaxc/index.d.ts +0 -7
  83. package/dist/src/coin/avaxc/index.d.ts.map +0 -1
  84. package/dist/src/coin/avaxc/index.js +0 -34
  85. package/dist/src/coin/avaxc/keyPair.d.ts +0 -26
  86. package/dist/src/coin/avaxc/keyPair.d.ts.map +0 -1
  87. package/dist/src/coin/avaxc/keyPair.js +0 -83
  88. package/dist/src/coin/avaxc/resources.d.ts +0 -12
  89. package/dist/src/coin/avaxc/resources.d.ts.map +0 -1
  90. package/dist/src/coin/avaxc/resources.js +0 -27
  91. package/dist/src/coin/avaxc/transactionBuilder.d.ts +0 -17
  92. package/dist/src/coin/avaxc/transactionBuilder.d.ts.map +0 -1
  93. package/dist/src/coin/avaxc/transactionBuilder.js +0 -45
  94. package/dist/src/coin/avaxc/transferBuilder.d.ts +0 -17
  95. package/dist/src/coin/avaxc/transferBuilder.d.ts.map +0 -1
  96. package/dist/src/coin/avaxc/transferBuilder.js +0 -25
  97. package/dist/src/coin/avaxc/utils.d.ts +0 -38
  98. package/dist/src/coin/avaxc/utils.d.ts.map +0 -1
  99. package/dist/src/coin/avaxc/utils.js +0 -70
  100. package/dist/src/coin/avaxc/walletUtil.d.ts +0 -22
  101. package/dist/src/coin/avaxc/walletUtil.d.ts.map +0 -1
  102. package/dist/src/coin/avaxc/walletUtil.js +0 -62
  103. package/dist/src/coin/celo/index.d.ts +0 -7
  104. package/dist/src/coin/celo/index.d.ts.map +0 -1
  105. package/dist/src/coin/celo/index.js +0 -34
  106. package/dist/src/coin/celo/resources.d.ts +0 -10
  107. package/dist/src/coin/celo/resources.d.ts.map +0 -1
  108. package/dist/src/coin/celo/resources.js +0 -26
  109. package/dist/src/coin/celo/stakingBuilder.d.ts +0 -91
  110. package/dist/src/coin/celo/stakingBuilder.d.ts.map +0 -1
  111. package/dist/src/coin/celo/stakingBuilder.js +0 -276
  112. package/dist/src/coin/celo/stakingCall.d.ts +0 -7
  113. package/dist/src/coin/celo/stakingCall.d.ts.map +0 -1
  114. package/dist/src/coin/celo/stakingCall.js +0 -13
  115. package/dist/src/coin/celo/stakingUtils.d.ts +0 -15
  116. package/dist/src/coin/celo/stakingUtils.d.ts.map +0 -1
  117. package/dist/src/coin/celo/stakingUtils.js +0 -98
  118. package/dist/src/coin/celo/transaction.d.ts +0 -9
  119. package/dist/src/coin/celo/transaction.d.ts.map +0 -1
  120. package/dist/src/coin/celo/transaction.js +0 -37
  121. package/dist/src/coin/celo/transactionBuilder.d.ts +0 -85
  122. package/dist/src/coin/celo/transactionBuilder.d.ts.map +0 -1
  123. package/dist/src/coin/celo/transactionBuilder.js +0 -208
  124. package/dist/src/coin/celo/transferBuilder.d.ts +0 -19
  125. package/dist/src/coin/celo/transferBuilder.d.ts.map +0 -1
  126. package/dist/src/coin/celo/transferBuilder.js +0 -27
  127. package/dist/src/coin/celo/types.d.ts +0 -51
  128. package/dist/src/coin/celo/types.d.ts.map +0 -1
  129. package/dist/src/coin/celo/types.js +0 -222
  130. package/dist/src/coin/celo/utils.d.ts +0 -18
  131. package/dist/src/coin/celo/utils.d.ts.map +0 -1
  132. package/dist/src/coin/celo/utils.js +0 -99
  133. package/dist/src/coin/cspr/constants.d.ts +0 -19
  134. package/dist/src/coin/cspr/constants.d.ts.map +0 -1
  135. package/dist/src/coin/cspr/constants.js +0 -28
  136. package/dist/src/coin/cspr/delegateBuilder.d.ts +0 -49
  137. package/dist/src/coin/cspr/delegateBuilder.d.ts.map +0 -1
  138. package/dist/src/coin/cspr/delegateBuilder.js +0 -111
  139. package/dist/src/coin/cspr/ifaces.d.ts +0 -69
  140. package/dist/src/coin/cspr/ifaces.d.ts.map +0 -1
  141. package/dist/src/coin/cspr/ifaces.js +0 -3
  142. package/dist/src/coin/cspr/index.d.ts +0 -6
  143. package/dist/src/coin/cspr/index.d.ts.map +0 -1
  144. package/dist/src/coin/cspr/index.js +0 -31
  145. package/dist/src/coin/cspr/keyPair.d.ts +0 -18
  146. package/dist/src/coin/cspr/keyPair.d.ts.map +0 -1
  147. package/dist/src/coin/cspr/keyPair.js +0 -75
  148. package/dist/src/coin/cspr/transaction.d.ts +0 -55
  149. package/dist/src/coin/cspr/transaction.d.ts.map +0 -1
  150. package/dist/src/coin/cspr/transaction.js +0 -227
  151. package/dist/src/coin/cspr/transactionBuilder.d.ts +0 -124
  152. package/dist/src/coin/cspr/transactionBuilder.d.ts.map +0 -1
  153. package/dist/src/coin/cspr/transactionBuilder.js +0 -312
  154. package/dist/src/coin/cspr/transactionBuilderFactory.d.ts +0 -46
  155. package/dist/src/coin/cspr/transactionBuilderFactory.d.ts.map +0 -1
  156. package/dist/src/coin/cspr/transactionBuilderFactory.js +0 -98
  157. package/dist/src/coin/cspr/transferBuilder.d.ts +0 -39
  158. package/dist/src/coin/cspr/transferBuilder.d.ts.map +0 -1
  159. package/dist/src/coin/cspr/transferBuilder.js +0 -106
  160. package/dist/src/coin/cspr/undelegateBuilder.d.ts +0 -49
  161. package/dist/src/coin/cspr/undelegateBuilder.d.ts.map +0 -1
  162. package/dist/src/coin/cspr/undelegateBuilder.js +0 -111
  163. package/dist/src/coin/cspr/utils.d.ts +0 -188
  164. package/dist/src/coin/cspr/utils.d.ts.map +0 -1
  165. package/dist/src/coin/cspr/utils.js +0 -477
  166. package/dist/src/coin/cspr/walletInitializationBuilder.d.ts +0 -27
  167. package/dist/src/coin/cspr/walletInitializationBuilder.d.ts.map +0 -1
  168. package/dist/src/coin/cspr/walletInitializationBuilder.js +0 -95
  169. package/dist/src/coin/etc/index.d.ts +0 -6
  170. package/dist/src/coin/etc/index.d.ts.map +0 -1
  171. package/dist/src/coin/etc/index.js +0 -33
  172. package/dist/src/coin/etc/resources.d.ts +0 -10
  173. package/dist/src/coin/etc/resources.d.ts.map +0 -1
  174. package/dist/src/coin/etc/resources.js +0 -26
  175. package/dist/src/coin/etc/transactionBuilder.d.ts +0 -17
  176. package/dist/src/coin/etc/transactionBuilder.d.ts.map +0 -1
  177. package/dist/src/coin/etc/transactionBuilder.js +0 -45
  178. package/dist/src/coin/etc/transferBuilder.d.ts +0 -19
  179. package/dist/src/coin/etc/transferBuilder.d.ts.map +0 -1
  180. package/dist/src/coin/etc/transferBuilder.js +0 -27
  181. package/dist/src/coin/etc/utils.d.ts +0 -17
  182. package/dist/src/coin/etc/utils.d.ts.map +0 -1
  183. package/dist/src/coin/etc/utils.js +0 -42
  184. package/dist/src/coin/eth/contractCall.d.ts +0 -8
  185. package/dist/src/coin/eth/contractCall.d.ts.map +0 -1
  186. package/dist/src/coin/eth/contractCall.js +0 -17
  187. package/dist/src/coin/eth/iface.d.ts +0 -122
  188. package/dist/src/coin/eth/iface.d.ts.map +0 -1
  189. package/dist/src/coin/eth/iface.js +0 -8
  190. package/dist/src/coin/eth/index.d.ts +0 -10
  191. package/dist/src/coin/eth/index.d.ts.map +0 -1
  192. package/dist/src/coin/eth/index.js +0 -39
  193. package/dist/src/coin/eth/keyPair.d.ts +0 -26
  194. package/dist/src/coin/eth/keyPair.d.ts.map +0 -1
  195. package/dist/src/coin/eth/keyPair.js +0 -85
  196. package/dist/src/coin/eth/transaction.d.ts +0 -64
  197. package/dist/src/coin/eth/transaction.d.ts.map +0 -1
  198. package/dist/src/coin/eth/transaction.js +0 -137
  199. package/dist/src/coin/eth/transactionBuilder.d.ts +0 -194
  200. package/dist/src/coin/eth/transactionBuilder.d.ts.map +0 -1
  201. package/dist/src/coin/eth/transactionBuilder.js +0 -624
  202. package/dist/src/coin/eth/transferBuilder/baseNFTTransferBuilder.d.ts +0 -47
  203. package/dist/src/coin/eth/transferBuilder/baseNFTTransferBuilder.d.ts.map +0 -1
  204. package/dist/src/coin/eth/transferBuilder/baseNFTTransferBuilder.js +0 -113
  205. package/dist/src/coin/eth/transferBuilder/transferBuilderERC1155.d.ts +0 -14
  206. package/dist/src/coin/eth/transferBuilder/transferBuilderERC1155.d.ts.map +0 -1
  207. package/dist/src/coin/eth/transferBuilder/transferBuilderERC1155.js +0 -83
  208. package/dist/src/coin/eth/transferBuilder/transferBuilderERC721.d.ts +0 -13
  209. package/dist/src/coin/eth/transferBuilder/transferBuilderERC721.d.ts.map +0 -1
  210. package/dist/src/coin/eth/transferBuilder/transferBuilderERC721.js +0 -68
  211. package/dist/src/coin/eth/transferBuilder.d.ts +0 -65
  212. package/dist/src/coin/eth/transferBuilder.d.ts.map +0 -1
  213. package/dist/src/coin/eth/transferBuilder.js +0 -197
  214. package/dist/src/coin/eth/types.d.ts +0 -39
  215. package/dist/src/coin/eth/types.d.ts.map +0 -1
  216. package/dist/src/coin/eth/types.js +0 -135
  217. package/dist/src/coin/eth/utils.d.ts +0 -201
  218. package/dist/src/coin/eth/utils.d.ts.map +0 -1
  219. package/dist/src/coin/eth/utils.js +0 -486
  220. package/dist/src/coin/eth/walletUtil.d.ts +0 -21
  221. package/dist/src/coin/eth/walletUtil.d.ts.map +0 -1
  222. package/dist/src/coin/eth/walletUtil.js +0 -31
  223. package/dist/src/coin/hbar/ifaces.d.ts +0 -26
  224. package/dist/src/coin/hbar/ifaces.d.ts.map +0 -1
  225. package/dist/src/coin/hbar/ifaces.js +0 -3
  226. package/dist/src/coin/near/constants.d.ts +0 -12
  227. package/dist/src/coin/near/constants.d.ts.map +0 -1
  228. package/dist/src/coin/near/constants.js +0 -15
  229. package/dist/src/coin/near/contractCallWrapper.d.ts +0 -33
  230. package/dist/src/coin/near/contractCallWrapper.d.ts.map +0 -1
  231. package/dist/src/coin/near/contractCallWrapper.js +0 -68
  232. package/dist/src/coin/near/errors.d.ts +0 -5
  233. package/dist/src/coin/near/errors.d.ts.map +0 -1
  234. package/dist/src/coin/near/errors.js +0 -12
  235. package/dist/src/coin/near/iface.d.ts +0 -40
  236. package/dist/src/coin/near/iface.d.ts.map +0 -1
  237. package/dist/src/coin/near/iface.js +0 -8
  238. package/dist/src/coin/near/index.d.ts +0 -11
  239. package/dist/src/coin/near/index.d.ts.map +0 -1
  240. package/dist/src/coin/near/index.js +0 -41
  241. package/dist/src/coin/near/keyPair.d.ts +0 -25
  242. package/dist/src/coin/near/keyPair.d.ts.map +0 -1
  243. package/dist/src/coin/near/keyPair.js +0 -73
  244. package/dist/src/coin/near/stakingActivateBuilder.d.ts +0 -32
  245. package/dist/src/coin/near/stakingActivateBuilder.d.ts.map +0 -1
  246. package/dist/src/coin/near/stakingActivateBuilder.js +0 -90
  247. package/dist/src/coin/near/stakingDeactivateBuilder.d.ts +0 -32
  248. package/dist/src/coin/near/stakingDeactivateBuilder.d.ts.map +0 -1
  249. package/dist/src/coin/near/stakingDeactivateBuilder.js +0 -89
  250. package/dist/src/coin/near/stakingWithdrawBuilder.d.ts +0 -32
  251. package/dist/src/coin/near/stakingWithdrawBuilder.d.ts.map +0 -1
  252. package/dist/src/coin/near/stakingWithdrawBuilder.js +0 -89
  253. package/dist/src/coin/near/transaction.d.ts +0 -90
  254. package/dist/src/coin/near/transaction.d.ts.map +0 -1
  255. package/dist/src/coin/near/transaction.js +0 -368
  256. package/dist/src/coin/near/transactionBuilder.d.ts +0 -89
  257. package/dist/src/coin/near/transactionBuilder.d.ts.map +0 -1
  258. package/dist/src/coin/near/transactionBuilder.js +0 -216
  259. package/dist/src/coin/near/transactionBuilderFactory.d.ts +0 -30
  260. package/dist/src/coin/near/transactionBuilderFactory.d.ts.map +0 -1
  261. package/dist/src/coin/near/transactionBuilderFactory.js +0 -71
  262. package/dist/src/coin/near/transferBuilder.d.ts +0 -26
  263. package/dist/src/coin/near/transferBuilder.d.ts.map +0 -1
  264. package/dist/src/coin/near/transferBuilder.js +0 -72
  265. package/dist/src/coin/near/utils.d.ts +0 -42
  266. package/dist/src/coin/near/utils.d.ts.map +0 -1
  267. package/dist/src/coin/near/utils.js +0 -85
  268. package/dist/src/coin/near/walletInitializationBuilder.d.ts +0 -12
  269. package/dist/src/coin/near/walletInitializationBuilder.d.ts.map +0 -1
  270. package/dist/src/coin/near/walletInitializationBuilder.js +0 -20
  271. package/dist/src/coin/rbtc/index.d.ts +0 -6
  272. package/dist/src/coin/rbtc/index.d.ts.map +0 -1
  273. package/dist/src/coin/rbtc/index.js +0 -33
  274. package/dist/src/coin/rbtc/resources.d.ts +0 -10
  275. package/dist/src/coin/rbtc/resources.d.ts.map +0 -1
  276. package/dist/src/coin/rbtc/resources.js +0 -25
  277. package/dist/src/coin/rbtc/transactionBuilder.d.ts +0 -17
  278. package/dist/src/coin/rbtc/transactionBuilder.d.ts.map +0 -1
  279. package/dist/src/coin/rbtc/transactionBuilder.js +0 -44
  280. package/dist/src/coin/rbtc/transferBuilder.d.ts +0 -19
  281. package/dist/src/coin/rbtc/transferBuilder.d.ts.map +0 -1
  282. package/dist/src/coin/rbtc/transferBuilder.js +0 -27
  283. package/dist/src/coin/rbtc/utils.d.ts +0 -17
  284. package/dist/src/coin/rbtc/utils.d.ts.map +0 -1
  285. package/dist/src/coin/rbtc/utils.js +0 -42
  286. package/dist/src/coin/sol/ataInitializationBuilder.d.ts +0 -41
  287. package/dist/src/coin/sol/ataInitializationBuilder.d.ts.map +0 -1
  288. package/dist/src/coin/sol/ataInitializationBuilder.js +0 -110
  289. package/dist/src/coin/sol/ataInitializationTransaction.d.ts +0 -14
  290. package/dist/src/coin/sol/ataInitializationTransaction.d.ts.map +0 -1
  291. package/dist/src/coin/sol/ataInitializationTransaction.js +0 -81
  292. package/dist/src/coin/sol/constants.d.ts +0 -58
  293. package/dist/src/coin/sol/constants.d.ts.map +0 -1
  294. package/dist/src/coin/sol/constants.js +0 -76
  295. package/dist/src/coin/sol/iface.d.ts +0 -99
  296. package/dist/src/coin/sol/iface.d.ts.map +0 -1
  297. package/dist/src/coin/sol/iface.js +0 -3
  298. package/dist/src/coin/sol/index.d.ts +0 -11
  299. package/dist/src/coin/sol/index.d.ts.map +0 -1
  300. package/dist/src/coin/sol/index.js +0 -41
  301. package/dist/src/coin/sol/instructionParamsFactory.d.ts +0 -12
  302. package/dist/src/coin/sol/instructionParamsFactory.d.ts.map +0 -1
  303. package/dist/src/coin/sol/instructionParamsFactory.js +0 -260
  304. package/dist/src/coin/sol/keyPair.d.ts +0 -26
  305. package/dist/src/coin/sol/keyPair.d.ts.map +0 -1
  306. package/dist/src/coin/sol/keyPair.js +0 -63
  307. package/dist/src/coin/sol/solInstructionFactory.d.ts +0 -10
  308. package/dist/src/coin/sol/solInstructionFactory.d.ts.map +0 -1
  309. package/dist/src/coin/sol/solInstructionFactory.js +0 -213
  310. package/dist/src/coin/sol/stakingActivateBuilder.d.ts +0 -41
  311. package/dist/src/coin/sol/stakingActivateBuilder.d.ts.map +0 -1
  312. package/dist/src/coin/sol/stakingActivateBuilder.js +0 -94
  313. package/dist/src/coin/sol/stakingDeactivateBuilder.d.ts +0 -23
  314. package/dist/src/coin/sol/stakingDeactivateBuilder.d.ts.map +0 -1
  315. package/dist/src/coin/sol/stakingDeactivateBuilder.js +0 -62
  316. package/dist/src/coin/sol/stakingWithdrawBuilder.d.ts +0 -31
  317. package/dist/src/coin/sol/stakingWithdrawBuilder.d.ts.map +0 -1
  318. package/dist/src/coin/sol/stakingWithdrawBuilder.js +0 -78
  319. package/dist/src/coin/sol/tokenEncodeDecode.d.ts +0 -85
  320. package/dist/src/coin/sol/tokenEncodeDecode.d.ts.map +0 -1
  321. package/dist/src/coin/sol/tokenEncodeDecode.js +0 -133
  322. package/dist/src/coin/sol/tokenTransferBuilder.d.ts +0 -27
  323. package/dist/src/coin/sol/tokenTransferBuilder.d.ts.map +0 -1
  324. package/dist/src/coin/sol/tokenTransferBuilder.js +0 -73
  325. package/dist/src/coin/sol/transaction.d.ts +0 -61
  326. package/dist/src/coin/sol/transaction.d.ts.map +0 -1
  327. package/dist/src/coin/sol/transaction.js +0 -369
  328. package/dist/src/coin/sol/transactionBuilder.d.ts +0 -101
  329. package/dist/src/coin/sol/transactionBuilder.d.ts.map +0 -1
  330. package/dist/src/coin/sol/transactionBuilder.js +0 -261
  331. package/dist/src/coin/sol/transactionBuilderFactory.d.ts +0 -76
  332. package/dist/src/coin/sol/transactionBuilderFactory.d.ts.map +0 -1
  333. package/dist/src/coin/sol/transactionBuilderFactory.js +0 -136
  334. package/dist/src/coin/sol/transferBuilder.d.ts +0 -26
  335. package/dist/src/coin/sol/transferBuilder.d.ts.map +0 -1
  336. package/dist/src/coin/sol/transferBuilder.js +0 -67
  337. package/dist/src/coin/sol/utils.d.ts +0 -146
  338. package/dist/src/coin/sol/utils.d.ts.map +0 -1
  339. package/dist/src/coin/sol/utils.js +0 -361
  340. package/dist/src/coin/sol/walletInitializationBuilder.d.ts +0 -26
  341. package/dist/src/coin/sol/walletInitializationBuilder.d.ts.map +0 -1
  342. package/dist/src/coin/sol/walletInitializationBuilder.js +0 -71
  343. package/dist/src/coin/stx/abstractContractBuilder.d.ts +0 -19
  344. package/dist/src/coin/stx/abstractContractBuilder.d.ts.map +0 -1
  345. package/dist/src/coin/stx/abstractContractBuilder.js +0 -70
  346. package/dist/src/coin/stx/constants.d.ts +0 -8
  347. package/dist/src/coin/stx/constants.d.ts.map +0 -1
  348. package/dist/src/coin/stx/constants.js +0 -19
  349. package/dist/src/coin/stx/contractBuilder.d.ts +0 -33
  350. package/dist/src/coin/stx/contractBuilder.d.ts.map +0 -1
  351. package/dist/src/coin/stx/contractBuilder.js +0 -116
  352. package/dist/src/coin/stx/iface.d.ts +0 -48
  353. package/dist/src/coin/stx/iface.d.ts.map +0 -1
  354. package/dist/src/coin/stx/iface.js +0 -3
  355. package/dist/src/coin/stx/index.d.ts +0 -6
  356. package/dist/src/coin/stx/index.d.ts.map +0 -1
  357. package/dist/src/coin/stx/index.js +0 -32
  358. package/dist/src/coin/stx/keyPair.d.ts +0 -55
  359. package/dist/src/coin/stx/keyPair.d.ts.map +0 -1
  360. package/dist/src/coin/stx/keyPair.js +0 -140
  361. package/dist/src/coin/stx/sendmanyBuilder.d.ts +0 -23
  362. package/dist/src/coin/stx/sendmanyBuilder.d.ts.map +0 -1
  363. package/dist/src/coin/stx/sendmanyBuilder.js +0 -75
  364. package/dist/src/coin/stx/transaction.d.ts +0 -49
  365. package/dist/src/coin/stx/transaction.d.ts.map +0 -1
  366. package/dist/src/coin/stx/transaction.js +0 -225
  367. package/dist/src/coin/stx/transactionBuilder.d.ts +0 -86
  368. package/dist/src/coin/stx/transactionBuilder.d.ts.map +0 -1
  369. package/dist/src/coin/stx/transactionBuilder.js +0 -263
  370. package/dist/src/coin/stx/transactionBuilderFactory.d.ts +0 -30
  371. package/dist/src/coin/stx/transactionBuilderFactory.d.ts.map +0 -1
  372. package/dist/src/coin/stx/transactionBuilderFactory.js +0 -81
  373. package/dist/src/coin/stx/transferBuilder.d.ts +0 -30
  374. package/dist/src/coin/stx/transferBuilder.d.ts.map +0 -1
  375. package/dist/src/coin/stx/transferBuilder.js +0 -99
  376. package/dist/src/coin/stx/utils.d.ts +0 -207
  377. package/dist/src/coin/stx/utils.d.ts.map +0 -1
  378. package/dist/src/coin/stx/utils.js +0 -503
  379. package/dist/src/coin/trx/address.d.ts +0 -11
  380. package/dist/src/coin/trx/address.d.ts.map +0 -1
  381. package/dist/src/coin/trx/address.js +0 -13
  382. package/dist/src/coin/trx/contractCallBuilder.d.ts +0 -96
  383. package/dist/src/coin/trx/contractCallBuilder.d.ts.map +0 -1
  384. package/dist/src/coin/trx/contractCallBuilder.js +0 -281
  385. package/dist/src/coin/trx/enum.d.ts +0 -23
  386. package/dist/src/coin/trx/enum.d.ts.map +0 -1
  387. package/dist/src/coin/trx/enum.js +0 -28
  388. package/dist/src/coin/trx/iface.d.ts +0 -92
  389. package/dist/src/coin/trx/iface.d.ts.map +0 -1
  390. package/dist/src/coin/trx/iface.js +0 -3
  391. package/dist/src/coin/trx/index.d.ts +0 -10
  392. package/dist/src/coin/trx/index.d.ts.map +0 -1
  393. package/dist/src/coin/trx/index.js +0 -39
  394. package/dist/src/coin/trx/keyPair.d.ts +0 -44
  395. package/dist/src/coin/trx/keyPair.d.ts.map +0 -1
  396. package/dist/src/coin/trx/keyPair.js +0 -121
  397. package/dist/src/coin/trx/transaction.d.ts +0 -74
  398. package/dist/src/coin/trx/transaction.d.ts.map +0 -1
  399. package/dist/src/coin/trx/transaction.js +0 -205
  400. package/dist/src/coin/trx/transactionBuilder.d.ts +0 -65
  401. package/dist/src/coin/trx/transactionBuilder.d.ts.map +0 -1
  402. package/dist/src/coin/trx/transactionBuilder.js +0 -215
  403. package/dist/src/coin/trx/utils.d.ts +0 -127
  404. package/dist/src/coin/trx/utils.d.ts.map +0 -1
  405. package/dist/src/coin/trx/utils.js +0 -369
  406. package/dist/src/coin/trx/wrappedBuilder.d.ts +0 -52
  407. package/dist/src/coin/trx/wrappedBuilder.d.ts.map +0 -1
  408. package/dist/src/coin/trx/wrappedBuilder.js +0 -104
  409. package/dist/src/coin/xtz/address.d.ts +0 -8
  410. package/dist/src/coin/xtz/address.d.ts.map +0 -1
  411. package/dist/src/coin/xtz/address.js +0 -10
  412. package/dist/src/coin/xtz/iface.d.ts +0 -81
  413. package/dist/src/coin/xtz/iface.d.ts.map +0 -1
  414. package/dist/src/coin/xtz/iface.js +0 -3
  415. package/dist/src/coin/xtz/index.d.ts +0 -8
  416. package/dist/src/coin/xtz/index.d.ts.map +0 -1
  417. package/dist/src/coin/xtz/index.js +0 -37
  418. package/dist/src/coin/xtz/keyPair.d.ts +0 -40
  419. package/dist/src/coin/xtz/keyPair.d.ts.map +0 -1
  420. package/dist/src/coin/xtz/keyPair.js +0 -136
  421. package/dist/src/coin/xtz/multisigUtils.d.ts +0 -134
  422. package/dist/src/coin/xtz/multisigUtils.d.ts.map +0 -1
  423. package/dist/src/coin/xtz/multisigUtils.js +0 -1180
  424. package/dist/src/coin/xtz/transaction.d.ts +0 -119
  425. package/dist/src/coin/xtz/transaction.d.ts.map +0 -1
  426. package/dist/src/coin/xtz/transaction.js +0 -315
  427. package/dist/src/coin/xtz/transactionBuilder.d.ts +0 -171
  428. package/dist/src/coin/xtz/transactionBuilder.d.ts.map +0 -1
  429. package/dist/src/coin/xtz/transactionBuilder.js +0 -453
  430. package/dist/src/coin/xtz/transferBuilder.d.ts +0 -24
  431. package/dist/src/coin/xtz/transferBuilder.d.ts.map +0 -1
  432. package/dist/src/coin/xtz/transferBuilder.js +0 -64
  433. package/dist/src/coin/xtz/utils.d.ts +0 -265
  434. package/dist/src/coin/xtz/utils.d.ts.map +0 -1
  435. package/dist/src/coin/xtz/utils.js +0 -460
  436. package/resources/trx/protobuf/Contract.proto +0 -256
  437. package/resources/trx/protobuf/Discover.proto +0 -44
  438. package/resources/trx/protobuf/tron.d.ts +0 -11024
  439. package/resources/trx/protobuf/tron.js +0 -31510
  440. package/resources/trx/protobuf/tron.proto +0 -677
@@ -1,34 +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
- Object.defineProperty(exports, "__esModule", { value: true });
22
- exports.Utils = exports.TransferBuilder = exports.TransactionBuilder = exports.Transaction = exports.Interface = exports.KeyPair = void 0;
23
- var sdk_coin_eth_1 = require("@bitgo/sdk-coin-eth");
24
- Object.defineProperty(exports, "KeyPair", { enumerable: true, get: function () { return sdk_coin_eth_1.KeyPair; } });
25
- Object.defineProperty(exports, "Interface", { enumerable: true, get: function () { return sdk_coin_eth_1.Interface; } });
26
- var transaction_1 = require("./transaction");
27
- Object.defineProperty(exports, "Transaction", { enumerable: true, get: function () { return transaction_1.Transaction; } });
28
- var transactionBuilder_1 = require("./transactionBuilder");
29
- Object.defineProperty(exports, "TransactionBuilder", { enumerable: true, get: function () { return transactionBuilder_1.TransactionBuilder; } });
30
- var transferBuilder_1 = require("./transferBuilder");
31
- Object.defineProperty(exports, "TransferBuilder", { enumerable: true, get: function () { return transferBuilder_1.TransferBuilder; } });
32
- const Utils = __importStar(require("./utils"));
33
- exports.Utils = Utils;
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29pbi9jZWxvL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxvREFBeUQ7QUFBaEQsdUdBQUEsT0FBTyxPQUFBO0FBQUUseUdBQUEsU0FBUyxPQUFBO0FBQzNCLDZDQUE0QztBQUFuQywwR0FBQSxXQUFXLE9BQUE7QUFDcEIsMkRBQTBEO0FBQWpELHdIQUFBLGtCQUFrQixPQUFBO0FBQzNCLHFEQUFvRDtBQUEzQyxrSEFBQSxlQUFlLE9BQUE7QUFFeEIsK0NBQWlDO0FBRXhCLHNCQUFLIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgS2V5UGFpciwgSW50ZXJmYWNlIH0gZnJvbSAnQGJpdGdvL3Nkay1jb2luLWV0aCc7XG5leHBvcnQgeyBUcmFuc2FjdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb24nO1xuZXhwb3J0IHsgVHJhbnNhY3Rpb25CdWlsZGVyIH0gZnJvbSAnLi90cmFuc2FjdGlvbkJ1aWxkZXInO1xuZXhwb3J0IHsgVHJhbnNmZXJCdWlsZGVyIH0gZnJvbSAnLi90cmFuc2ZlckJ1aWxkZXInO1xuXG5pbXBvcnQgKiBhcyBVdGlscyBmcm9tICcuL3V0aWxzJztcblxuZXhwb3J0IHsgVXRpbHMgfTtcbiJdfQ==
@@ -1,10 +0,0 @@
1
- import EthereumCommon from '@ethereumjs/common';
2
- /**
3
- * A Common object defining the chain and the hardfork for CELO Testnet
4
- */
5
- export declare const testnetCommon: EthereumCommon;
6
- /**
7
- * A Common object defining the chain and the hardfork for CELO Mainnet
8
- */
9
- export declare const mainnetCommon: EthereumCommon;
10
- //# sourceMappingURL=resources.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"resources.d.ts","sourceRoot":"","sources":["../../../../src/coin/celo/resources.ts"],"names":[],"mappings":"AACA,OAAO,cAAc,MAAM,oBAAoB,CAAC;AAEhD;;GAEG;AACH,eAAO,MAAM,aAAa,gBAQzB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,aAAa,gBAQzB,CAAC"}
@@ -1,26 +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.mainnetCommon = exports.testnetCommon = void 0;
7
- const statics_1 = require("@bitgo/statics");
8
- const common_1 = __importDefault(require("@ethereumjs/common"));
9
- /**
10
- * A Common object defining the chain and the hardfork for CELO Testnet
11
- */
12
- exports.testnetCommon = common_1.default.forCustomChain('mainnet', // It's a test net based on the main ethereum net
13
- {
14
- name: 'alfajores',
15
- networkId: statics_1.coins.get('tcelo').network.chainId,
16
- chainId: statics_1.coins.get('tcelo').network.chainId,
17
- }, 'petersburg');
18
- /**
19
- * A Common object defining the chain and the hardfork for CELO Mainnet
20
- */
21
- exports.mainnetCommon = common_1.default.forCustomChain('mainnet', {
22
- name: 'rc1',
23
- networkId: statics_1.coins.get('celo').network.chainId,
24
- chainId: statics_1.coins.get('celo').network.chainId,
25
- }, 'petersburg');
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb3VyY2VzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvaW4vY2Vsby9yZXNvdXJjZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsNENBQXdEO0FBQ3hELGdFQUFnRDtBQUVoRDs7R0FFRztBQUNVLFFBQUEsYUFBYSxHQUFHLGdCQUFjLENBQUMsY0FBYyxDQUN4RCxTQUFTLEVBQUUsaURBQWlEO0FBQzVEO0lBQ0UsSUFBSSxFQUFFLFdBQVc7SUFDakIsU0FBUyxFQUFHLGVBQUssQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBMkIsQ0FBQyxPQUFPO0lBQ2xFLE9BQU8sRUFBRyxlQUFLLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQTJCLENBQUMsT0FBTztDQUNqRSxFQUNELFlBQVksQ0FDYixDQUFDO0FBRUY7O0dBRUc7QUFDVSxRQUFBLGFBQWEsR0FBRyxnQkFBYyxDQUFDLGNBQWMsQ0FDeEQsU0FBUyxFQUNUO0lBQ0UsSUFBSSxFQUFFLEtBQUs7SUFDWCxTQUFTLEVBQUcsZUFBSyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUEyQixDQUFDLE9BQU87SUFDakUsT0FBTyxFQUFHLGVBQUssQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBMkIsQ0FBQyxPQUFPO0NBQ2hFLEVBQ0QsWUFBWSxDQUNiLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb2lucywgRXRoZXJldW1OZXR3b3JrIH0gZnJvbSAnQGJpdGdvL3N0YXRpY3MnO1xuaW1wb3J0IEV0aGVyZXVtQ29tbW9uIGZyb20gJ0BldGhlcmV1bWpzL2NvbW1vbic7XG5cbi8qKlxuICogQSBDb21tb24gb2JqZWN0IGRlZmluaW5nIHRoZSBjaGFpbiBhbmQgdGhlIGhhcmRmb3JrIGZvciBDRUxPIFRlc3RuZXRcbiAqL1xuZXhwb3J0IGNvbnN0IHRlc3RuZXRDb21tb24gPSBFdGhlcmV1bUNvbW1vbi5mb3JDdXN0b21DaGFpbihcbiAgJ21haW5uZXQnLCAvLyBJdCdzIGEgdGVzdCBuZXQgYmFzZWQgb24gdGhlIG1haW4gZXRoZXJldW0gbmV0XG4gIHtcbiAgICBuYW1lOiAnYWxmYWpvcmVzJyxcbiAgICBuZXR3b3JrSWQ6IChjb2lucy5nZXQoJ3RjZWxvJykubmV0d29yayBhcyBFdGhlcmV1bU5ldHdvcmspLmNoYWluSWQsXG4gICAgY2hhaW5JZDogKGNvaW5zLmdldCgndGNlbG8nKS5uZXR3b3JrIGFzIEV0aGVyZXVtTmV0d29yaykuY2hhaW5JZCxcbiAgfSxcbiAgJ3BldGVyc2J1cmcnLFxuKTtcblxuLyoqXG4gKiBBIENvbW1vbiBvYmplY3QgZGVmaW5pbmcgdGhlIGNoYWluIGFuZCB0aGUgaGFyZGZvcmsgZm9yIENFTE8gTWFpbm5ldFxuICovXG5leHBvcnQgY29uc3QgbWFpbm5ldENvbW1vbiA9IEV0aGVyZXVtQ29tbW9uLmZvckN1c3RvbUNoYWluKFxuICAnbWFpbm5ldCcsXG4gIHtcbiAgICBuYW1lOiAncmMxJyxcbiAgICBuZXR3b3JrSWQ6IChjb2lucy5nZXQoJ2NlbG8nKS5uZXR3b3JrIGFzIEV0aGVyZXVtTmV0d29yaykuY2hhaW5JZCxcbiAgICBjaGFpbklkOiAoY29pbnMuZ2V0KCdjZWxvJykubmV0d29yayBhcyBFdGhlcmV1bU5ldHdvcmspLmNoYWluSWQsXG4gIH0sXG4gICdwZXRlcnNidXJnJyxcbik7XG4iXX0=
@@ -1,91 +0,0 @@
1
- import { BaseCoin as CoinConfig } from '@bitgo/statics';
2
- import { StakingOperationTypes } from '@bitgo/sdk-core';
3
- import { StakingCall } from './stakingCall';
4
- export declare class StakingBuilder {
5
- private readonly DEFAULT_ADDRESS;
6
- private _amount;
7
- private _validatorGroup;
8
- private _lesser;
9
- private _greater;
10
- private _index;
11
- private _type;
12
- private _coinConfig;
13
- constructor(coinConfig: Readonly<CoinConfig>, serializedData?: string);
14
- type(type: StakingOperationTypes): this;
15
- amount(value: string): this;
16
- group(validatorGroup: string): this;
17
- lesser(lesser: string): this;
18
- greater(greater: string): this;
19
- index(index: number): this;
20
- build(): StakingCall;
21
- /**
22
- * Builds a lock gold operation sending the amount on the transaction value field
23
- *
24
- * @returns {StakingCall} a lock gold operation using the LockedGold contract
25
- */
26
- private buildLockStaking;
27
- /**
28
- * Builds an unlock gold operation sending the amount encoded on the data field
29
- *
30
- * params
31
- * amount: amount of locked gold to be unlocked
32
- *
33
- * @returns {StakingCall} an unlock gold operation using the LockedGold contract
34
- */
35
- private buildUnlockStaking;
36
- /**
37
- * Builds a vote operation that uses locked gold to add pending votes for a validator group.
38
- *
39
- * params
40
- * validatorGroup: group to vote for
41
- * amount: amount of votes (locked gold) for the group
42
- * lesser: validator group that has less votes than the validatorGroup
43
- * greater: validator group that has more vots than the validatorGroup
44
- *
45
- * @returns {StakingCall} an vote operation using the Election contract
46
- */
47
- private buildVoteStaking;
48
- /**
49
- * Builds an unvote operation to revoke active votes for a validator group.
50
- *
51
- * params
52
- * validatorGroup: group whose votes will be revoked
53
- * amount: amount of votes (locked gold) that will be revoked
54
- * lesser: validator group that has less votes than the validatorGroup
55
- * greater: validator group that has more vots than the validatorGroup
56
- * index: index of the validatorGroup on the list of groups the address has voted for
57
- *
58
- * @returns {StakingCall} an vote operation using the Election contract
59
- */
60
- private buildUnvoteStaking;
61
- /**
62
- * Builds an activate vote operation to change all the votes casted for a validator
63
- * from 'pending' to 'active'
64
- *
65
- * params
66
- * validatorGroup: group whose votes will be activated
67
- *
68
- * @returns {StakingCall} an activate votes operation
69
- */
70
- private buildActivateStaking;
71
- /**
72
- * Builds a withdraw operation for locked gold that has been unlocked
73
- * after the unlocking period has passed.
74
- *
75
- * params
76
- * index: index of the unlock operation whose unlocking period has passed.
77
- *
78
- * @returns {StakingCall} an activate votes operation
79
- */
80
- private buildWithdrawStaking;
81
- private validateMandatoryFields;
82
- private validateElectionFields;
83
- private validateIndex;
84
- private validateAmount;
85
- private validateUnvoteFields;
86
- private validateGroup;
87
- private decodeStakingData;
88
- private validateDecodedDataLength;
89
- private classifyStakingType;
90
- }
91
- //# sourceMappingURL=stakingBuilder.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"stakingBuilder.d.ts","sourceRoot":"","sources":["../../../../src/coin/celo/stakingBuilder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAQxD,OAAO,EAML,qBAAqB,EAKtB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAgD;IAChF,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,OAAO,CAAwB;IACvC,OAAO,CAAC,QAAQ,CAAwB;IACxC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,KAAK,CAAwB;IACrC,OAAO,CAAC,WAAW,CAAuB;gBAE9B,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC,EAAE,cAAc,CAAC,EAAE,MAAM;IASrE,IAAI,CAAC,IAAI,EAAE,qBAAqB,GAAG,IAAI;IAKvC,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAQ3B,KAAK,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI;IAQnC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAQ5B,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAQ9B,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAY1B,KAAK,IAAI,WAAW;IA0BpB;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;IAKxB;;;;;;;OAOG;IACH,OAAO,CAAC,kBAAkB;IAM1B;;;;;;;;;;OAUG;IACH,OAAO,CAAC,gBAAgB;IAMxB;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,kBAAkB;IAM1B;;;;;;;;OAQG;IACH,OAAO,CAAC,oBAAoB;IAM5B;;;;;;;;OAQG;IACH,OAAO,CAAC,oBAAoB;IAU5B,OAAO,CAAC,uBAAuB;IAM/B,OAAO,CAAC,sBAAsB;IAQ9B,OAAO,CAAC,aAAa;IAMrB,OAAO,CAAC,cAAc;IAMtB,OAAO,CAAC,oBAAoB;IAK5B,OAAO,CAAC,aAAa;IASrB,OAAO,CAAC,iBAAiB;IA6CzB,OAAO,CAAC,yBAAyB;IAMjC,OAAO,CAAC,mBAAmB;CAiB5B"}
@@ -1,276 +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.StakingBuilder = void 0;
7
- const ethereumjs_utils_old_1 = __importDefault(require("@bitgo/ethereumjs-utils-old"));
8
- const sdk_coin_eth_1 = require("@bitgo/sdk-coin-eth");
9
- const sdk_core_1 = require("@bitgo/sdk-core");
10
- const stakingCall_1 = require("./stakingCall");
11
- class StakingBuilder {
12
- constructor(coinConfig, serializedData) {
13
- this.DEFAULT_ADDRESS = '0x0000000000000000000000000000000000000000';
14
- this._lesser = this.DEFAULT_ADDRESS;
15
- this._greater = this.DEFAULT_ADDRESS;
16
- this._coinConfig = coinConfig;
17
- if (serializedData) {
18
- this.decodeStakingData(serializedData);
19
- }
20
- }
21
- // region Staking properties
22
- type(type) {
23
- this._type = type;
24
- return this;
25
- }
26
- amount(value) {
27
- if (!sdk_coin_eth_1.isValidAmount(value)) {
28
- throw new sdk_core_1.InvalidParameterValueError('Invalid value for stake transaction');
29
- }
30
- this._amount = value;
31
- return this;
32
- }
33
- group(validatorGroup) {
34
- if (!sdk_coin_eth_1.isValidEthAddress(validatorGroup)) {
35
- throw new sdk_core_1.InvalidParameterValueError('Invalid validator group address');
36
- }
37
- this._validatorGroup = validatorGroup;
38
- return this;
39
- }
40
- lesser(lesser) {
41
- if (!sdk_coin_eth_1.isValidEthAddress(lesser)) {
42
- throw new sdk_core_1.InvalidParameterValueError('Invalid address for lesser');
43
- }
44
- this._lesser = lesser;
45
- return this;
46
- }
47
- greater(greater) {
48
- if (!sdk_coin_eth_1.isValidEthAddress(greater)) {
49
- throw new sdk_core_1.InvalidParameterValueError('Invalid address for greater');
50
- }
51
- this._greater = greater;
52
- return this;
53
- }
54
- index(index) {
55
- if (index < 0) {
56
- throw new sdk_core_1.InvalidParameterValueError('Invalid index for staking transaction');
57
- }
58
- this._index = index;
59
- return this;
60
- }
61
- // endregion
62
- // region Staking building
63
- build() {
64
- this.validateMandatoryFields();
65
- switch (this._type) {
66
- case sdk_core_1.StakingOperationTypes.LOCK:
67
- this.validateAmount();
68
- return this.buildLockStaking();
69
- case sdk_core_1.StakingOperationTypes.VOTE:
70
- this.validateElectionFields();
71
- return this.buildVoteStaking();
72
- case sdk_core_1.StakingOperationTypes.ACTIVATE:
73
- this.validateGroup();
74
- return this.buildActivateStaking();
75
- case sdk_core_1.StakingOperationTypes.UNVOTE:
76
- this.validateUnvoteFields();
77
- return this.buildUnvoteStaking();
78
- case sdk_core_1.StakingOperationTypes.UNLOCK:
79
- this.validateAmount();
80
- return this.buildUnlockStaking();
81
- case sdk_core_1.StakingOperationTypes.WITHDRAW:
82
- this.validateIndex();
83
- return this.buildWithdrawStaking();
84
- default:
85
- throw new sdk_core_1.InvalidTransactionError('Invalid staking operation: ' + this._type);
86
- }
87
- }
88
- /**
89
- * Builds a lock gold operation sending the amount on the transaction value field
90
- *
91
- * @returns {StakingCall} a lock gold operation using the LockedGold contract
92
- */
93
- buildLockStaking() {
94
- const operation = sdk_core_1.getOperationConfig(this._type, this._coinConfig.network.type);
95
- return new stakingCall_1.StakingCall(this._amount, operation.contractAddress, operation.methodId, operation.types, []);
96
- }
97
- /**
98
- * Builds an unlock gold operation sending the amount encoded on the data field
99
- *
100
- * params
101
- * amount: amount of locked gold to be unlocked
102
- *
103
- * @returns {StakingCall} an unlock gold operation using the LockedGold contract
104
- */
105
- buildUnlockStaking() {
106
- const operation = sdk_core_1.getOperationConfig(this._type, this._coinConfig.network.type);
107
- const params = [this._amount];
108
- return new stakingCall_1.StakingCall('0', operation.contractAddress, operation.methodId, operation.types, params);
109
- }
110
- /**
111
- * Builds a vote operation that uses locked gold to add pending votes for a validator group.
112
- *
113
- * params
114
- * validatorGroup: group to vote for
115
- * amount: amount of votes (locked gold) for the group
116
- * lesser: validator group that has less votes than the validatorGroup
117
- * greater: validator group that has more vots than the validatorGroup
118
- *
119
- * @returns {StakingCall} an vote operation using the Election contract
120
- */
121
- buildVoteStaking() {
122
- const operation = sdk_core_1.getOperationConfig(this._type, this._coinConfig.network.type);
123
- const params = [this._validatorGroup, this._amount, this._lesser, this._greater];
124
- return new stakingCall_1.StakingCall('0', operation.contractAddress, operation.methodId, operation.types, params);
125
- }
126
- /**
127
- * Builds an unvote operation to revoke active votes for a validator group.
128
- *
129
- * params
130
- * validatorGroup: group whose votes will be revoked
131
- * amount: amount of votes (locked gold) that will be revoked
132
- * lesser: validator group that has less votes than the validatorGroup
133
- * greater: validator group that has more vots than the validatorGroup
134
- * index: index of the validatorGroup on the list of groups the address has voted for
135
- *
136
- * @returns {StakingCall} an vote operation using the Election contract
137
- */
138
- buildUnvoteStaking() {
139
- const operation = sdk_core_1.getOperationConfig(this._type, this._coinConfig.network.type);
140
- const params = [this._validatorGroup, this._amount, this._lesser, this._greater, this._index.toString()];
141
- return new stakingCall_1.StakingCall('0', operation.contractAddress, operation.methodId, operation.types, params);
142
- }
143
- /**
144
- * Builds an activate vote operation to change all the votes casted for a validator
145
- * from 'pending' to 'active'
146
- *
147
- * params
148
- * validatorGroup: group whose votes will be activated
149
- *
150
- * @returns {StakingCall} an activate votes operation
151
- */
152
- buildActivateStaking() {
153
- const operation = sdk_core_1.getOperationConfig(this._type, this._coinConfig.network.type);
154
- const params = [this._validatorGroup];
155
- return new stakingCall_1.StakingCall('0', operation.contractAddress, operation.methodId, operation.types, params);
156
- }
157
- /**
158
- * Builds a withdraw operation for locked gold that has been unlocked
159
- * after the unlocking period has passed.
160
- *
161
- * params
162
- * index: index of the unlock operation whose unlocking period has passed.
163
- *
164
- * @returns {StakingCall} an activate votes operation
165
- */
166
- buildWithdrawStaking() {
167
- const operation = sdk_core_1.getOperationConfig(this._type, this._coinConfig.network.type);
168
- const params = [this._index.toString()];
169
- return new stakingCall_1.StakingCall('0', operation.contractAddress, operation.methodId, operation.types, params);
170
- }
171
- // endregion
172
- // region Validation methods
173
- validateMandatoryFields() {
174
- if (!(this._type !== undefined && this._coinConfig)) {
175
- throw new sdk_core_1.BuildTransactionError('Missing staking mandatory fields. Type and coin are required');
176
- }
177
- }
178
- validateElectionFields() {
179
- this.validateGroup();
180
- this.validateAmount();
181
- if (this._lesser === this._greater) {
182
- throw new sdk_core_1.BuildTransactionError('Greater and lesser values should not be the same');
183
- }
184
- }
185
- validateIndex() {
186
- if (this._index === undefined) {
187
- throw new sdk_core_1.BuildTransactionError('Missing index for staking transaction');
188
- }
189
- }
190
- validateAmount() {
191
- if (this._amount === undefined) {
192
- throw new sdk_core_1.BuildTransactionError('Missing amount for staking transaction');
193
- }
194
- }
195
- validateUnvoteFields() {
196
- this.validateElectionFields();
197
- this.validateIndex();
198
- }
199
- validateGroup() {
200
- if (!this._validatorGroup) {
201
- throw new sdk_core_1.BuildTransactionError('Missing validator group for staking transaction');
202
- }
203
- }
204
- // endregion
205
- // region Deserialization methods
206
- decodeStakingData(data) {
207
- this.classifyStakingType(data);
208
- const operation = sdk_core_1.getOperationConfig(this._type, this._coinConfig.network.type);
209
- const decoded = sdk_coin_eth_1.getRawDecoded(operation.types, sdk_coin_eth_1.getBufferedByteCode(operation.methodId, data));
210
- switch (this._type) {
211
- case sdk_core_1.StakingOperationTypes.VOTE:
212
- this.validateDecodedDataLength(decoded.length, 4, data);
213
- const [groupToVote, amount, lesser, greater] = decoded;
214
- this._amount = ethereumjs_utils_old_1.default.bufferToHex(amount);
215
- this._validatorGroup = ethereumjs_utils_old_1.default.addHexPrefix(groupToVote);
216
- this._lesser = ethereumjs_utils_old_1.default.addHexPrefix(lesser);
217
- this._greater = ethereumjs_utils_old_1.default.addHexPrefix(greater);
218
- break;
219
- case sdk_core_1.StakingOperationTypes.UNVOTE:
220
- this.validateDecodedDataLength(decoded.length, 5, data);
221
- const [groupToUnvote, amountUnvote, lesserUnvote, greaterUnvote, indexUnvote] = decoded;
222
- this._validatorGroup = ethereumjs_utils_old_1.default.addHexPrefix(groupToUnvote);
223
- this._amount = ethereumjs_utils_old_1.default.bufferToHex(amountUnvote);
224
- this._lesser = ethereumjs_utils_old_1.default.addHexPrefix(lesserUnvote);
225
- this._greater = ethereumjs_utils_old_1.default.addHexPrefix(greaterUnvote);
226
- this._index = sdk_coin_eth_1.hexStringToNumber(ethereumjs_utils_old_1.default.bufferToHex(indexUnvote));
227
- break;
228
- case sdk_core_1.StakingOperationTypes.ACTIVATE:
229
- this.validateDecodedDataLength(decoded.length, 1, data);
230
- const [groupToActivate] = decoded;
231
- this._validatorGroup = ethereumjs_utils_old_1.default.addHexPrefix(groupToActivate);
232
- break;
233
- case sdk_core_1.StakingOperationTypes.UNLOCK:
234
- if (decoded.length !== 1) {
235
- throw new sdk_core_1.BuildTransactionError(`Invalid unlock decoded data: ${data}`);
236
- }
237
- const [decodedAmount] = decoded;
238
- this._amount = ethereumjs_utils_old_1.default.bufferToHex(decodedAmount);
239
- break;
240
- case sdk_core_1.StakingOperationTypes.WITHDRAW:
241
- this.validateDecodedDataLength(decoded.length, 1, data);
242
- const [index] = decoded;
243
- this._index = sdk_coin_eth_1.hexStringToNumber(ethereumjs_utils_old_1.default.bufferToHex(index));
244
- break;
245
- default:
246
- throw new sdk_core_1.BuildTransactionError(`Invalid staking data: ${this._type}`);
247
- }
248
- }
249
- validateDecodedDataLength(actual, expected, data) {
250
- if (actual !== expected) {
251
- throw new sdk_core_1.BuildTransactionError(`Invalid staking decoded data: ${data}`);
252
- }
253
- }
254
- classifyStakingType(data) {
255
- if (data.startsWith(sdk_core_1.VoteMethodId)) {
256
- this._type = sdk_core_1.StakingOperationTypes.VOTE;
257
- }
258
- else if (data.startsWith(sdk_core_1.UnvoteMethodId)) {
259
- this._type = sdk_core_1.StakingOperationTypes.UNVOTE;
260
- }
261
- else if (data.startsWith(sdk_core_1.ActivateMethodId)) {
262
- this._type = sdk_core_1.StakingOperationTypes.ACTIVATE;
263
- }
264
- else if (data.startsWith(sdk_core_1.UnlockMethodId)) {
265
- this._type = sdk_core_1.StakingOperationTypes.UNLOCK;
266
- }
267
- else if (data.startsWith(sdk_core_1.WithdrawMethodId)) {
268
- this._type = sdk_core_1.StakingOperationTypes.WITHDRAW;
269
- }
270
- else {
271
- throw new sdk_core_1.BuildTransactionError(`Invalid staking bytecode: ${data}`);
272
- }
273
- }
274
- }
275
- exports.StakingBuilder = StakingBuilder;
276
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Rha2luZ0J1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29pbi9jZWxvL3N0YWtpbmdCdWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLHVGQUFrRDtBQUVsRCxzREFNNkI7QUFDN0IsOENBV3lCO0FBQ3pCLCtDQUE0QztBQUU1QyxNQUFhLGNBQWM7SUFVekIsWUFBWSxVQUFnQyxFQUFFLGNBQXVCO1FBVHBELG9CQUFlLEdBQUcsNENBQTRDLENBQUM7UUFHeEUsWUFBTyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUM7UUFDL0IsYUFBUSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUM7UUFNdEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxVQUFVLENBQUM7UUFDOUIsSUFBSSxjQUFjLEVBQUU7WUFDbEIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGNBQWMsQ0FBQyxDQUFDO1NBQ3hDO0lBQ0gsQ0FBQztJQUVELDRCQUE0QjtJQUU1QixJQUFJLENBQUMsSUFBMkI7UUFDOUIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7UUFDbEIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQWE7UUFDbEIsSUFBSSxDQUFDLDRCQUFhLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDekIsTUFBTSxJQUFJLHFDQUEwQixDQUFDLHFDQUFxQyxDQUFDLENBQUM7U0FDN0U7UUFDRCxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztRQUNyQixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxLQUFLLENBQUMsY0FBc0I7UUFDMUIsSUFBSSxDQUFDLGdDQUFpQixDQUFDLGNBQWMsQ0FBQyxFQUFFO1lBQ3RDLE1BQU0sSUFBSSxxQ0FBMEIsQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFDO1NBQ3pFO1FBQ0QsSUFBSSxDQUFDLGVBQWUsR0FBRyxjQUFjLENBQUM7UUFDdEMsT0FBTyxJQUFJ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LENBQUMsdUJBQVksQ0FBQyxFQUFFO1lBQ2pDLElBQUksQ0FBQyxLQUFLLEdBQUcsZ0NBQXFCLENBQUMsSUFBSSxDQUFDO1NBQ3pDO2FBQU0sSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLHlCQUFjLENBQUMsRUFBRTtZQUMxQyxJQUFJLENBQUMsS0FBSyxHQUFHLGdDQUFxQixDQUFDLE1BQU0sQ0FBQztTQUMzQzthQUFNLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQywyQkFBZ0IsQ0FBQyxFQUFFO1lBQzVDLElBQUksQ0FBQyxLQUFLLEdBQUcsZ0NBQXFCLENBQUMsUUFBUSxDQUFDO1NBQzdDO2FBQU0sSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLHlCQUFjLENBQUMsRUFBRTtZQUMxQyxJQUFJLENBQUMsS0FBSyxHQUFHLGdDQUFxQixDQUFDLE1BQU0sQ0FBQztTQUMzQzthQUFNLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQywyQkFBZ0IsQ0FBQyxFQUFFO1lBQzVDLElBQUksQ0FBQyxLQUFLLEdBQUcsZ0NBQXFCLENBQUMsUUFBUSxDQUFDO1NBQzdDO2FBQU07WUFDTCxNQUFNLElBQUksZ0NBQXFCLENBQUMsNkJBQTZCLElBQUksRUFBRSxDQUFDLENBQUM7U0FDdEU7SUFDSCxDQUFDO0NBR0Y7QUF2U0Qsd0NBdVNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGV0aFV0aWwgZnJvbSAnQGJpdGdvL2V0aGVyZXVtanMtdXRpbHMtb2xkJztcbmltcG9ydCB7IEJhc2VDb2luIGFzIENvaW5Db25maWcgfSBmcm9tICdAYml0Z28vc3RhdGljcyc7XG5pbXBvcnQge1xuICBpc1ZhbGlkQW1vdW50LFxuICBpc1ZhbGlkRXRoQWRkcmVzcyxcbiAgZ2V0UmF3RGVjb2RlZCxcbiAgZ2V0QnVmZmVyZWRCeXRlQ29kZSxcbiAgaGV4U3RyaW5nVG9OdW1iZXIsXG59IGZyb20gJ0BiaXRnby9zZGstY29pbi1ldGgnO1xuaW1wb3J0IHtcbiAgQWN0aXZhdGVNZXRob2RJZCxcbiAgQnVpbGRUcmFuc2FjdGlvbkVycm9yLFxuICBnZXRPcGVyYXRpb25Db25maWcsXG4gIEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yLFxuICBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcixcbiAgU3Rha2luZ09wZXJhdGlvblR5cGVzLFxuICBVbmxvY2tNZXRob2RJZCxcbiAgVW52b3RlTWV0aG9kSWQsXG4gIFZvdGVNZXRob2RJZCxcbiAgV2l0aGRyYXdNZXRob2RJZCxcbn0gZnJvbSAnQGJpdGdvL3Nkay1jb3JlJztcbmltcG9ydCB7IFN0YWtpbmdDYWxsIH0gZnJvbSAnLi9zdGFraW5nQ2FsbCc7XG5cbmV4cG9ydCBjbGFzcyBTdGFraW5nQnVpbGRlciB7XG4gIHByaXZhdGUgcmVhZG9ubHkgREVGQVVMVF9BRERSRVNTID0gJzB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCc7XG4gIHByaXZhdGUgX2Ftb3VudDogc3RyaW5nO1xuICBwcml2YXRlIF92YWxpZGF0b3JHcm91cDogc3RyaW5nO1xuICBwcml2YXRlIF9sZXNzZXIgPSB0aGlzLkRFRkFVTFRfQUREUkVTUztcbiAgcHJpdmF0ZSBfZ3JlYXRlciA9IHRoaXMuREVGQVVMVF9BRERSRVNTO1xuICBwcml2YXRlIF9pbmRleDogbnVtYmVyO1xuICBwcml2YXRlIF90eXBlOiBTdGFraW5nT3BlcmF0aW9uVHlwZXM7XG4gIHByaXZhdGUgX2NvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+O1xuXG4gIGNvbnN0cnVjdG9yKGNvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+LCBzZXJpYWxpemVkRGF0YT86IHN0cmluZykge1xuICAgIHRoaXMuX2NvaW5Db25maWcgPSBjb2luQ29uZmlnO1xuICAgIGlmIChzZXJpYWxpemVkRGF0YSkge1xuICAgICAgdGhpcy5kZWNvZGVTdGFraW5nRGF0YShzZXJpYWxpemVkRGF0YSk7XG4gICAgfVxuICB9XG5cbiAgLy8gcmVnaW9uIFN0YWtpbmcgcHJvcGVydGllc1xuXG4gIHR5cGUodHlwZTogU3Rha2luZ09wZXJhdGlvblR5cGVzKTogdGhpcyB7XG4gICAgdGhpcy5fdHlwZSA9IHR5cGU7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBhbW91bnQodmFsdWU6IHN0cmluZyk6IHRoaXMge1xuICAgIGlmICghaXNWYWxpZEFtb3VudCh2YWx1ZSkpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvcignSW52YWxpZCB2YWx1ZSBmb3Igc3Rha2UgdHJhbnNhY3Rpb24nKTtcbiAgICB9XG4gICAgdGhpcy5fYW1vdW50ID0gdmFsdWU7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBncm91cCh2YWxpZGF0b3JHcm91cDogc3RyaW5nKTogdGhpcyB7XG4gICAgaWYgKCFpc1ZhbGlkRXRoQWRkcmVzcyh2YWxpZGF0b3JHcm91cCkpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvcignSW52YWxpZCB2YWxpZGF0b3IgZ3JvdXAgYWRkcmVzcycpO1xuICAgIH1cbiAgICB0aGlzLl92YWxpZGF0b3JHcm91cCA9IHZhbGlkYXRvckdyb3VwO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgbGVzc2VyKGxlc3Nlcjogc3RyaW5nKTogdGhpcyB7XG4gICAgaWYgKCFpc1ZhbGlkRXRoQWRkcmVzcyhsZXNzZXIpKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3IoJ0ludmFsaWQgYWRkcmVzcyBmb3IgbGVzc2VyJyk7XG4gICAgfVxuICAgIHRoaXMuX2xlc3NlciA9IGxlc3NlcjtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIGdyZWF0ZXIoZ3JlYXRlcjogc3RyaW5nKTogdGhpcyB7XG4gICAgaWYgKCFpc1ZhbGlkRXRoQWRkcmVzcyhncmVhdGVyKSkge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yKCdJbnZhbGlkIGFkZHJlc3MgZm9yIGdyZWF0ZXInKTtcbiAgICB9XG4gICAgdGhpcy5fZ3JlYXRlciA9IGdyZWF0ZXI7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBpbmRleChpbmRleDogbnVtYmVyKTogdGhpcyB7XG4gICAgaWYgKGluZGV4IDwgMCkge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yKCdJbnZhbGlkIGluZGV4IGZvciBzdGFraW5nIHRyYW5zYWN0aW9uJyk7XG4gICAgfVxuICAgIHRoaXMuX2luZGV4ID0gaW5kZXg7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvLyBlbmRyZWdpb25cblxuICAvLyByZWdpb24gU3Rha2luZyBidWlsZGluZ1xuXG4gIGJ1aWxkKCk6IFN0YWtpbmdDYWxsIHtcbiAgICB0aGlzLnZhbGlkYXRlTWFuZGF0b3J5RmllbGRzKCk7XG4gICAgc3dpdGNoICh0aGlzLl90eXBlKSB7XG4gICAgICBjYXNlIFN0YWtpbmdPcGVyYXRpb25UeXBlcy5MT0NLOlxuICAgICAgICB0aGlzLnZhbGlkYXRlQW1vdW50KCk7XG4gICAgICAgIHJldHVybiB0aGlzLmJ1aWxkTG9ja1N0YWtpbmcoKTtcbiAgICAgIGNhc2UgU3Rha2luZ09wZXJhdGlvblR5cGVzLlZPVEU6XG4gICAgICAgIHRoaXMudmFsaWRhdGVFbGVjdGlvbkZpZWxkcygpO1xuICAgICAgICByZXR1cm4gdGhpcy5idWlsZFZvdGVTdGFraW5nKCk7XG4gICAgICBjYXNlIFN0YWtpbmdPcGVyYXRpb25UeXBlcy5BQ1RJVkFURTpcbiAgICAgICAgdGhpcy52YWxpZGF0ZUdyb3VwKCk7XG4gICAgICAgIHJldHVybiB0aGlzLmJ1aWxkQWN0aXZhdGVTdGFraW5nKCk7XG4gICAgICBjYXNlIFN0YWtpbmdPcGVyYXRpb25UeXBlcy5VTlZPVEU6XG4gICAgICAgIHRoaXMudmFsaWRhdGVVbnZvdGVGaWVsZHMoKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuYnVpbGRVbnZvdGVTdGFraW5nKCk7XG4gICAgICBjYXNlIFN0YWtpbmdPcGVyYXRpb25UeXBlcy5VTkxPQ0s6XG4gICAgICAgIHRoaXMudmFsaWRhdGVBbW91bnQoKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuYnVpbGRVbmxvY2tTdGFraW5nKCk7XG4gICAgICBjYXNlIFN0YWtpbmdPcGVyYXRpb25UeXBlcy5XSVRIRFJBVzpcbiAgICAgICAgdGhpcy52YWxpZGF0ZUluZGV4KCk7XG4gICAgICAgIHJldHVybiB0aGlzLmJ1aWxkV2l0aGRyYXdTdGFraW5nKCk7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoJ0ludmFsaWQgc3Rha2luZyBvcGVyYXRpb246ICcgKyB0aGlzLl90eXBlKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQnVpbGRzIGEgbG9jayBnb2xkIG9wZXJhdGlvbiBzZW5kaW5nIHRoZSBhbW91bnQgb24gdGhlIHRyYW5zYWN0aW9uIHZhbHVlIGZpZWxkXG4gICAqXG4gICAqIEByZXR1cm5zIHtTdGFraW5nQ2FsbH0gYSBsb2NrIGdvbGQgb3BlcmF0aW9uIHVzaW5nIHRoZSBMb2NrZWRHb2xkIGNvbnRyYWN0XG4gICAqL1xuICBwcml2YXRlIGJ1aWxkTG9ja1N0YWtpbmcoKTogU3Rha2luZ0NhbGwge1xuICAgIGNvbnN0IG9wZXJhdGlvbiA9IGdldE9wZXJhdGlvbkNvbmZpZyh0aGlzLl90eXBlLCB0aGlzLl9jb2luQ29uZmlnLm5ldHdvcmsudHlwZSk7XG4gICAgcmV0dXJuIG5ldyBTdGFraW5nQ2FsbCh0aGlzLl9hbW91bnQsIG9wZXJhdGlvbi5jb250cmFjdEFkZHJlc3MsIG9wZXJhdGlvbi5tZXRob2RJZCwgb3BlcmF0aW9uLnR5cGVzLCBbXSk7XG4gIH1cblxuICAvKipcbiAgICogQnVpbGRzIGFuIHVubG9jayBnb2xkIG9wZXJhdGlvbiBzZW5kaW5nIHRoZSBhbW91bnQgZW5jb2RlZCBvbiB0aGUgZGF0YSBmaWVsZFxuICAgKlxuICAgKiBwYXJhbXNcbiAgICogYW1vdW50OiBhbW91bnQgb2YgbG9ja2VkIGdvbGQgdG8gYmUgdW5sb2NrZWRcbiAgICpcbiAgICogQHJldHVybnMge1N0YWtpbmdDYWxsfSBhbiB1bmxvY2sgZ29sZCBvcGVyYXRpb24gdXNpbmcgdGhlIExvY2tlZEdvbGQgY29udHJhY3RcbiAgICovXG4gIHByaXZhdGUgYnVpbGRVbmxvY2tTdGFraW5nKCk6IFN0YWtpbmdDYWxsIHtcbiAgICBjb25zdCBvcGVyYXRpb24gPSBnZXRPcGVyYXRpb25Db25maWcodGhpcy5fdHlwZSwgdGhpcy5fY29pbkNvbmZpZy5uZXR3b3JrLnR5cGUpO1xuICAgIGNvbnN0IHBhcmFtcyA9IFt0aGlzLl9hbW91bnRdO1xuICAgIHJldHVybiBuZXcgU3Rha2luZ0NhbGwoJzAnLCBvcGVyYXRpb24uY29udHJhY3RBZGRyZXNzLCBvcGVyYXRpb24ubWV0aG9kSWQsIG9wZXJhdGlvbi50eXBlcywgcGFyYW1zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBCdWlsZHMgYSB2b3RlIG9wZXJhdGlvbiB0aGF0IHVzZXMgbG9ja2VkIGdvbGQgdG8gYWRkIHBlbmRpbmcgdm90ZXMgZm9yIGEgdmFsaWRhdG9yIGdyb3VwLlxuICAgKlxuICAgKiBwYXJhbXNcbiAgICogdmFsaWRhdG9yR3JvdXA6IGdyb3VwIHRvIHZvdGUgZm9yXG4gICAqIGFtb3VudDogYW1vdW50IG9mIHZvdGVzIChsb2NrZWQgZ29sZCkgZm9yIHRoZSBncm91cFxuICAgKiBsZXNzZXI6IHZhbGlkYXRvciBncm91cCB0aGF0IGhhcyBsZXNzIHZvdGVzIHRoYW4gdGhlIHZhbGlkYXRvckdyb3VwXG4gICAqIGdyZWF0ZXI6IHZhbGlkYXRvciBncm91cCB0aGF0IGhhcyBtb3JlIHZvdHMgdGhhbiB0aGUgdmFsaWRhdG9yR3JvdXBcbiAgICpcbiAgICogQHJldHVybnMge1N0YWtpbmdDYWxsfSBhbiB2b3RlIG9wZXJhdGlvbiB1c2luZyB0aGUgRWxlY3Rpb24gY29udHJhY3RcbiAgICovXG4gIHByaXZhdGUgYnVpbGRWb3RlU3Rha2luZygpOiBTdGFraW5nQ2FsbCB7XG4gICAgY29uc3Qgb3BlcmF0aW9uID0gZ2V0T3BlcmF0aW9uQ29uZmlnKHRoaXMuX3R5cGUsIHRoaXMuX2NvaW5Db25maWcubmV0d29yay50eXBlKTtcbiAgICBjb25zdCBwYXJhbXMgPSBbdGhpcy5fdmFsaWRhdG9yR3JvdXAsIHRoaXMuX2Ftb3VudCwgdGhpcy5fbGVzc2VyLCB0aGlzLl9ncmVhdGVyXTtcbiAgICByZXR1cm4gbmV3IFN0YWtpbmdDYWxsKCcwJywgb3BlcmF0aW9uLmNvbnRyYWN0QWRkcmVzcywgb3BlcmF0aW9uLm1ldGhvZElkLCBvcGVyYXRpb24udHlwZXMsIHBhcmFtcyk7XG4gIH1cblxuICAvKipcbiAgICogQnVpbGRzIGFuIHVudm90ZSBvcGVyYXRpb24gdG8gcmV2b2tlIGFjdGl2ZSB2b3RlcyBmb3IgYSB2YWxpZGF0b3IgZ3JvdXAuXG4gICAqXG4gICAqIHBhcmFtc1xuICAgKiB2YWxpZGF0b3JHcm91cDogZ3JvdXAgd2hvc2Ugdm90ZXMgd2lsbCBiZSByZXZva2VkXG4gICAqIGFtb3VudDogYW1vdW50IG9mIHZvdGVzIChsb2NrZWQgZ29sZCkgdGhhdCB3aWxsIGJlIHJldm9rZWRcbiAgICogbGVzc2VyOiB2YWxpZGF0b3IgZ3JvdXAgdGhhdCBoYXMgbGVzcyB2b3RlcyB0aGFuIHRoZSB2YWxpZGF0b3JHcm91cFxuICAgKiBncmVhdGVyOiB2YWxpZGF0b3IgZ3JvdXAgdGhhdCBoYXMgbW9yZSB2b3RzIHRoYW4gdGhlIHZhbGlkYXRvckdyb3VwXG4gICAqIGluZGV4OiBpbmRleCBvZiB0aGUgdmFsaWRhdG9yR3JvdXAgb24gdGhlIGxpc3Qgb2YgZ3JvdXBzIHRoZSBhZGRyZXNzIGhhcyB2b3RlZCBmb3JcbiAgICpcbiAgICogQHJldHVybnMge1N0YWtpbmdDYWxsfSBhbiB2b3RlIG9wZXJhdGlvbiB1c2luZyB0aGUgRWxlY3Rpb24gY29udHJhY3RcbiAgICovXG4gIHByaXZhdGUgYnVpbGRVbnZvdGVTdGFraW5nKCk6IFN0YWtpbmdDYWxsIHtcbiAgICBjb25zdCBvcGVyYXRpb24gPSBnZXRPcGVyYXRpb25Db25maWcodGhpcy5fdHlwZSwgdGhpcy5fY29pbkNvbmZpZy5uZXR3b3JrLnR5cGUpO1xuICAgIGNvbnN0IHBhcmFtcyA9IFt0aGlzLl92YWxpZGF0b3JHcm91cCwgdGhpcy5fYW1vdW50LCB0aGlzLl9sZXNzZXIsIHRoaXMuX2dyZWF0ZXIsIHRoaXMuX2luZGV4LnRvU3RyaW5nKCldO1xuICAgIHJldHVybiBuZXcgU3Rha2luZ0NhbGwoJzAnLCBvcGVyYXRpb24uY29udHJhY3RBZGRyZXNzLCBvcGVyYXRpb24ubWV0aG9kSWQsIG9wZXJhdGlvbi50eXBlcywgcGFyYW1zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBCdWlsZHMgYW4gYWN0aXZhdGUgdm90ZSBvcGVyYXRpb24gdG8gY2hhbmdlIGFsbCB0aGUgdm90ZXMgY2FzdGVkIGZvciBhIHZhbGlkYXRvclxuICAgKiBmcm9tICdwZW5kaW5nJyB0byAnYWN0aXZlJ1xuICAgKlxuICAgKiBwYXJhbXNcbiAgICogdmFsaWRhdG9yR3JvdXA6IGdyb3VwIHdob3NlIHZvdGVzIHdpbGwgYmUgYWN0aXZhdGVkXG4gICAqXG4gICAqIEByZXR1cm5zIHtTdGFraW5nQ2FsbH0gYW4gYWN0aXZhdGUgdm90ZXMgb3BlcmF0aW9uXG4gICAqL1xuICBwcml2YXRlIGJ1aWxkQWN0aXZhdGVTdGFraW5nKCk6IFN0YWtpbmdDYWxsIHtcbiAgICBjb25zdCBvcGVyYXRpb24gPSBnZXRPcGVyYXRpb25Db25maWcodGhpcy5fdHlwZSwgdGhpcy5fY29pbkNvbmZpZy5uZXR3b3JrLnR5cGUpO1xuICAgIGNvbnN0IHBhcmFtcyA9IFt0aGlzLl92YWxpZGF0b3JHcm91cF07XG4gICAgcmV0dXJuIG5ldyBTdGFraW5nQ2FsbCgnMCcsIG9wZXJhdGlvbi5jb250cmFjdEFkZHJlc3MsIG9wZXJhdGlvbi5tZXRob2RJZCwgb3BlcmF0aW9uLnR5cGVzLCBwYXJhbXMpO1xuICB9XG5cbiAgLyoqXG4gICAqIEJ1aWxkcyBhIHdpdGhkcmF3IG9wZXJhdGlvbiBmb3IgbG9ja2VkIGdvbGQgdGhhdCBoYXMgYmVlbiB1bmxvY2tlZFxuICAgKiBhZnRlciB0aGUgdW5sb2NraW5nIHBlcmlvZCBoYXMgcGFzc2VkLlxuICAgKlxuICAgKiBwYXJhbXNcbiAgICogaW5kZXg6IGluZGV4IG9mIHRoZSB1bmxvY2sgb3BlcmF0aW9uIHdob3NlIHVubG9ja2luZyBwZXJpb2QgaGFzIHBhc3NlZC5cbiAgICpcbiAgICogQHJldHVybnMge1N0YWtpbmdDYWxsfSBhbiBhY3RpdmF0ZSB2b3RlcyBvcGVyYXRpb25cbiAgICovXG4gIHByaXZhdGUgYnVpbGRXaXRoZHJhd1N0YWtpbmcoKTogU3Rha2luZ0NhbGwge1xuICAgIGNvbnN0IG9wZXJhdGlvbiA9IGdldE9wZXJhdGlvbkNvbmZpZyh0aGlzLl90eXBlLCB0aGlzLl9jb2luQ29uZmlnLm5ldHdvcmsudHlwZSk7XG4gICAgY29uc3QgcGFyYW1zID0gW3RoaXMuX2luZGV4LnRvU3RyaW5nKCldO1xuICAgIHJldHVybiBuZXcgU3Rha2luZ0NhbGwoJzAnLCBvcGVyYXRpb24uY29udHJhY3RBZGRyZXNzLCBvcGVyYXRpb24ubWV0aG9kSWQsIG9wZXJhdGlvbi50eXBlcywgcGFyYW1zKTtcbiAgfVxuXG4gIC8vIGVuZHJlZ2lvblxuXG4gIC8vIHJlZ2lvbiBWYWxpZGF0aW9uIG1ldGhvZHNcblxuICBwcml2YXRlIHZhbGlkYXRlTWFuZGF0b3J5RmllbGRzKCk6IHZvaWQge1xuICAgIGlmICghKHRoaXMuX3R5cGUgIT09IHVuZGVmaW5lZCAmJiB0aGlzLl9jb2luQ29uZmlnKSkge1xuICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignTWlzc2luZyBzdGFraW5nIG1hbmRhdG9yeSBmaWVsZHMuIFR5cGUgYW5kIGNvaW4gYXJlIHJlcXVpcmVkJyk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB2YWxpZGF0ZUVsZWN0aW9uRmllbGRzKCk6IHZvaWQge1xuICAgIHRoaXMudmFsaWRhdGVHcm91cCgpO1xuICAgIHRoaXMudmFsaWRhdGVBbW91bnQoKTtcbiAgICBpZiAodGhpcy5fbGVzc2VyID09PSB0aGlzLl9ncmVhdGVyKSB7XG4gICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCdHcmVhdGVyIGFuZCBsZXNzZXIgdmFsdWVzIHNob3VsZCBub3QgYmUgdGhlIHNhbWUnKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHZhbGlkYXRlSW5kZXgoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX2luZGV4ID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ01pc3NpbmcgaW5kZXggZm9yIHN0YWtpbmcgdHJhbnNhY3Rpb24nKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHZhbGlkYXRlQW1vdW50KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9hbW91bnQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignTWlzc2luZyBhbW91bnQgZm9yIHN0YWtpbmcgdHJhbnNhY3Rpb24nKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHZhbGlkYXRlVW52b3RlRmllbGRzKCk6IHZvaWQge1xuICAgIHRoaXMudmFsaWRhdGVFbGVjdGlvbkZpZWxkcygpO1xuICAgIHRoaXMudmFsaWRhdGVJbmRleCgpO1xuICB9XG5cbiAgcHJpdmF0ZSB2YWxpZGF0ZUdyb3VwKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5fdmFsaWRhdG9yR3JvdXApIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ01pc3NpbmcgdmFsaWRhdG9yIGdyb3VwIGZvciBzdGFraW5nIHRyYW5zYWN0aW9uJyk7XG4gICAgfVxuICB9XG5cbiAgLy8gZW5kcmVnaW9uXG5cbiAgLy8gcmVnaW9uIERlc2VyaWFsaXphdGlvbiBtZXRob2RzXG4gIHByaXZhdGUgZGVjb2RlU3Rha2luZ0RhdGEoZGF0YTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5jbGFzc2lmeVN0YWtpbmdUeXBlKGRhdGEpO1xuXG4gICAgY29uc3Qgb3BlcmF0aW9uID0gZ2V0T3BlcmF0aW9uQ29uZmlnKHRoaXMuX3R5cGUsIHRoaXMuX2NvaW5Db25maWcubmV0d29yay50eXBlKTtcbiAgICBjb25zdCBkZWNvZGVkID0gZ2V0UmF3RGVjb2RlZChvcGVyYXRpb24udHlwZXMsIGdldEJ1ZmZlcmVkQnl0ZUNvZGUob3BlcmF0aW9uLm1ldGhvZElkLCBkYXRhKSk7XG4gICAgc3dpdGNoICh0aGlzLl90eXBlKSB7XG4gICAgICBjYXNlIFN0YWtpbmdPcGVyYXRpb25UeXBlcy5WT1RFOlxuICAgICAgICB0aGlzLnZhbGlkYXRlRGVjb2RlZERhdGFMZW5ndGgoZGVjb2RlZC5sZW5ndGgsIDQsIGRhdGEpO1xuICAgICAgICBjb25zdCBbZ3JvdXBUb1ZvdGUsIGFtb3VudCwgbGVzc2VyLCBncmVhdGVyXSA9IGRlY29kZWQ7XG4gICAgICAgIHRoaXMuX2Ftb3VudCA9IGV0aFV0aWwuYnVmZmVyVG9IZXgoYW1vdW50KTtcbiAgICAgICAgdGhpcy5fdmFsaWRhdG9yR3JvdXAgPSBldGhVdGlsLmFkZEhleFByZWZpeChncm91cFRvVm90ZSk7XG4gICAgICAgIHRoaXMuX2xlc3NlciA9IGV0aFV0aWwuYWRkSGV4UHJlZml4KGxlc3Nlcik7XG4gICAgICAgIHRoaXMuX2dyZWF0ZXIgPSBldGhVdGlsLmFkZEhleFByZWZpeChncmVhdGVyKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFN0YWtpbmdPcGVyYXRpb25UeXBlcy5VTlZPVEU6XG4gICAgICAgIHRoaXMudmFsaWRhdGVEZWNvZGVkRGF0YUxlbmd0aChkZWNvZGVkLmxlbmd0aCwgNSwgZGF0YSk7XG4gICAgICAgIGNvbnN0IFtncm91cFRvVW52b3RlLCBhbW91bnRVbnZvdGUsIGxlc3NlclVudm90ZSwgZ3JlYXRlclVudm90ZSwgaW5kZXhVbnZvdGVdID0gZGVjb2RlZDtcbiAgICAgICAgdGhpcy5fdmFsaWRhdG9yR3JvdXAgPSBldGhVdGlsLmFkZEhleFByZWZpeChncm91cFRvVW52b3RlKTtcbiAgICAgICAgdGhpcy5fYW1vdW50ID0gZXRoVXRpbC5idWZmZXJUb0hleChhbW91bnRVbnZvdGUpO1xuICAgICAgICB0aGlzLl9sZXNzZXIgPSBldGhVdGlsLmFkZEhleFByZWZpeChsZXNzZXJVbnZvdGUpO1xuICAgICAgICB0aGlzLl9ncmVhdGVyID0gZXRoVXRpbC5hZGRIZXhQcmVmaXgoZ3JlYXRlclVudm90ZSk7XG4gICAgICAgIHRoaXMuX2luZGV4ID0gaGV4U3RyaW5nVG9OdW1iZXIoZXRoVXRpbC5idWZmZXJUb0hleChpbmRleFVudm90ZSkpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgU3Rha2luZ09wZXJhdGlvblR5cGVzLkFDVElWQVRFOlxuICAgICAgICB0aGlzLnZhbGlkYXRlRGVjb2RlZERhdGFMZW5ndGgoZGVjb2RlZC5sZW5ndGgsIDEsIGRhdGEpO1xuICAgICAgICBjb25zdCBbZ3JvdXBUb0FjdGl2YXRlXSA9IGRlY29kZWQ7XG4gICAgICAgIHRoaXMuX3ZhbGlkYXRvckdyb3VwID0gZXRoVXRpbC5hZGRIZXhQcmVmaXgoZ3JvdXBUb0FjdGl2YXRlKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFN0YWtpbmdPcGVyYXRpb25UeXBlcy5VTkxPQ0s6XG4gICAgICAgIGlmIChkZWNvZGVkLmxlbmd0aCAhPT0gMSkge1xuICAgICAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoYEludmFsaWQgdW5sb2NrIGRlY29kZWQgZGF0YTogJHtkYXRhfWApO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IFtkZWNvZGVkQW1vdW50XSA9IGRlY29kZWQ7XG4gICAgICAgIHRoaXMuX2Ftb3VudCA9IGV0aFV0aWwuYnVmZmVyVG9IZXgoZGVjb2RlZEFtb3VudCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBTdGFraW5nT3BlcmF0aW9uVHlwZXMuV0lUSERSQVc6XG4gICAgICAgIHRoaXMudmFsaWRhdGVEZWNvZGVkRGF0YUxlbmd0aChkZWNvZGVkLmxlbmd0aCwgMSwgZGF0YSk7XG4gICAgICAgIGNvbnN0IFtpbmRleF0gPSBkZWNvZGVkO1xuICAgICAgICB0aGlzLl9pbmRleCA9IGhleFN0cmluZ1RvTnVtYmVyKGV0aFV0aWwuYnVmZmVyVG9IZXgoaW5kZXgpKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKGBJbnZhbGlkIHN0YWtpbmcgZGF0YTogJHt0aGlzLl90eXBlfWApO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgdmFsaWRhdGVEZWNvZGVkRGF0YUxlbmd0aChhY3R1YWw6IG51bWJlciwgZXhwZWN0ZWQ6IG51bWJlciwgZGF0YTogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoYEludmFsaWQgc3Rha2luZyBkZWNvZGVkIGRhdGE6ICR7ZGF0YX1gKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGNsYXNzaWZ5U3Rha2luZ1R5cGUoZGF0YTogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKGRhdGEuc3RhcnRzV2l0aChWb3RlTWV0aG9kSWQpKSB7XG4gICAgICB0aGlzLl90eXBlID0gU3Rha2luZ09wZXJhdGlvblR5cGVzLlZPVEU7XG4gICAgfSBlbHNlIGlmIChkYXRhLnN0YXJ0c1dpdGgoVW52b3RlTWV0aG9kSWQpKSB7XG4gICAgICB0aGlzLl90eXBlID0gU3Rha2luZ09wZXJhdGlvblR5cGVzLlVOVk9URTtcbiAgICB9IGVsc2UgaWYgKGRhdGEuc3RhcnRzV2l0aChBY3RpdmF0ZU1ldGhvZElkKSkge1xuICAgICAgdGhpcy5fdHlwZSA9IFN0YWtpbmdPcGVyYXRpb25UeXBlcy5BQ1RJVkFURTtcbiAgICB9IGVsc2UgaWYgKGRhdGEuc3RhcnRzV2l0aChVbmxvY2tNZXRob2RJZCkpIHtcbiAgICAgIHRoaXMuX3R5cGUgPSBTdGFraW5nT3BlcmF0aW9uVHlwZXMuVU5MT0NLO1xuICAgIH0gZWxzZSBpZiAoZGF0YS5zdGFydHNXaXRoKFdpdGhkcmF3TWV0aG9kSWQpKSB7XG4gICAgICB0aGlzLl90eXBlID0gU3Rha2luZ09wZXJhdGlvblR5cGVzLldJVEhEUkFXO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKGBJbnZhbGlkIHN0YWtpbmcgYnl0ZWNvZGU6ICR7ZGF0YX1gKTtcbiAgICB9XG4gIH1cblxuICAvLyBlbmRyZWdpb25cbn1cbiJdfQ==
@@ -1,7 +0,0 @@
1
- import { ContractCall } from '@bitgo/sdk-coin-eth';
2
- export declare class StakingCall extends ContractCall {
3
- amount: string;
4
- address: string;
5
- constructor(amount: string, address: string, _methodId: string, _types: string[], _params: string[]);
6
- }
7
- //# sourceMappingURL=stakingCall.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"stakingCall.d.ts","sourceRoot":"","sources":["../../../../src/coin/celo/stakingCall.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,qBAAa,WAAY,SAAQ,YAAY;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;gBACX,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE;CAKpG"}
@@ -1,13 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.StakingCall = void 0;
4
- const sdk_coin_eth_1 = require("@bitgo/sdk-coin-eth");
5
- class StakingCall extends sdk_coin_eth_1.ContractCall {
6
- constructor(amount, address, _methodId, _types, _params) {
7
- super(_methodId, _types, _params);
8
- this.amount = amount;
9
- this.address = address;
10
- }
11
- }
12
- exports.StakingCall = StakingCall;
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Rha2luZ0NhbGwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29pbi9jZWxvL3N0YWtpbmdDYWxsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHNEQUFtRDtBQUVuRCxNQUFhLFdBQVksU0FBUSwyQkFBWTtJQUczQyxZQUFZLE1BQWMsRUFBRSxPQUFlLEVBQUUsU0FBaUIsRUFBRSxNQUFnQixFQUFFLE9BQWlCO1FBQ2pHLEtBQUssQ0FBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO0lBQ3pCLENBQUM7Q0FDRjtBQVJELGtDQVFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29udHJhY3RDYWxsIH0gZnJvbSAnQGJpdGdvL3Nkay1jb2luLWV0aCc7XG5cbmV4cG9ydCBjbGFzcyBTdGFraW5nQ2FsbCBleHRlbmRzIENvbnRyYWN0Q2FsbCB7XG4gIHB1YmxpYyBhbW91bnQ6IHN0cmluZztcbiAgcHVibGljIGFkZHJlc3M6IHN0cmluZztcbiAgY29uc3RydWN0b3IoYW1vdW50OiBzdHJpbmcsIGFkZHJlc3M6IHN0cmluZywgX21ldGhvZElkOiBzdHJpbmcsIF90eXBlczogc3RyaW5nW10sIF9wYXJhbXM6IHN0cmluZ1tdKSB7XG4gICAgc3VwZXIoX21ldGhvZElkLCBfdHlwZXMsIF9wYXJhbXMpO1xuICAgIHRoaXMuYW1vdW50ID0gYW1vdW50O1xuICAgIHRoaXMuYWRkcmVzcyA9IGFkZHJlc3M7XG4gIH1cbn1cbiJdfQ==
@@ -1,15 +0,0 @@
1
- import { NetworkType } from '@bitgo/statics';
2
- import { StakingOperationTypes } from '@bitgo/sdk-core';
3
- import { ContractMethodConfig } from '../eth/iface';
4
- export declare const LockMethodId = "0xf83d08ba";
5
- export declare const UnlockMethodId = "0x6198e339";
6
- export declare const VoteMethodId = "0x580d747a";
7
- export declare const UnvoteMethodId = "0x6e198475";
8
- export declare const ActivateMethodId = "0x1c5a9d9c";
9
- export declare const WithdrawMethodId = "0x2e1a7d4d";
10
- /**
11
- * @param type
12
- * @param network
13
- */
14
- export declare function getOperationConfig(type: StakingOperationTypes, network: NetworkType): ContractMethodConfig;
15
- //# sourceMappingURL=stakingUtils.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"stakingUtils.d.ts","sourceRoot":"","sources":["../../../../src/coin/celo/stakingUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAEpD,eAAO,MAAM,YAAY,eAAe,CAAC;AACzC,eAAO,MAAM,cAAc,eAAe,CAAC;AAC3C,eAAO,MAAM,YAAY,eAAe,CAAC;AACzC,eAAO,MAAM,cAAc,eAAe,CAAC;AAC3C,eAAO,MAAM,gBAAgB,eAAe,CAAC;AAC7C,eAAO,MAAM,gBAAgB,eAAe,CAAC;AAkF7C;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,qBAAqB,EAAE,OAAO,EAAE,WAAW,GAAG,oBAAoB,CAE1G"}