@bitgo/account-lib 2.20.0-rc.31 → 2.20.0-rc.34

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 (245) hide show
  1. package/CHANGELOG.md +19 -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 +7 -7
  21. package/dist/src/index.d.ts.map +1 -1
  22. package/dist/src/index.js +8 -8
  23. package/dist/tsconfig.tsbuildinfo +6110 -17174
  24. package/package.json +19 -26
  25. package/resources/README.md +0 -22
  26. package/dist/resources/trx/protobuf/Contract.proto +0 -256
  27. package/dist/resources/trx/protobuf/Discover.proto +0 -44
  28. package/dist/resources/trx/protobuf/tron.d.ts +0 -11024
  29. package/dist/resources/trx/protobuf/tron.js +0 -31510
  30. package/dist/resources/trx/protobuf/tron.proto +0 -677
  31. package/dist/src/coin/avaxc/index.d.ts +0 -7
  32. package/dist/src/coin/avaxc/index.d.ts.map +0 -1
  33. package/dist/src/coin/avaxc/index.js +0 -34
  34. package/dist/src/coin/avaxc/keyPair.d.ts +0 -26
  35. package/dist/src/coin/avaxc/keyPair.d.ts.map +0 -1
  36. package/dist/src/coin/avaxc/keyPair.js +0 -83
  37. package/dist/src/coin/avaxc/resources.d.ts +0 -12
  38. package/dist/src/coin/avaxc/resources.d.ts.map +0 -1
  39. package/dist/src/coin/avaxc/resources.js +0 -27
  40. package/dist/src/coin/avaxc/transactionBuilder.d.ts +0 -17
  41. package/dist/src/coin/avaxc/transactionBuilder.d.ts.map +0 -1
  42. package/dist/src/coin/avaxc/transactionBuilder.js +0 -45
  43. package/dist/src/coin/avaxc/transferBuilder.d.ts +0 -17
  44. package/dist/src/coin/avaxc/transferBuilder.d.ts.map +0 -1
  45. package/dist/src/coin/avaxc/transferBuilder.js +0 -25
  46. package/dist/src/coin/avaxc/utils.d.ts +0 -38
  47. package/dist/src/coin/avaxc/utils.d.ts.map +0 -1
  48. package/dist/src/coin/avaxc/utils.js +0 -70
  49. package/dist/src/coin/avaxc/walletUtil.d.ts +0 -22
  50. package/dist/src/coin/avaxc/walletUtil.d.ts.map +0 -1
  51. package/dist/src/coin/avaxc/walletUtil.js +0 -62
  52. package/dist/src/coin/celo/index.d.ts +0 -7
  53. package/dist/src/coin/celo/index.d.ts.map +0 -1
  54. package/dist/src/coin/celo/index.js +0 -34
  55. package/dist/src/coin/celo/resources.d.ts +0 -10
  56. package/dist/src/coin/celo/resources.d.ts.map +0 -1
  57. package/dist/src/coin/celo/resources.js +0 -26
  58. package/dist/src/coin/celo/stakingBuilder.d.ts +0 -91
  59. package/dist/src/coin/celo/stakingBuilder.d.ts.map +0 -1
  60. package/dist/src/coin/celo/stakingBuilder.js +0 -276
  61. package/dist/src/coin/celo/stakingCall.d.ts +0 -7
  62. package/dist/src/coin/celo/stakingCall.d.ts.map +0 -1
  63. package/dist/src/coin/celo/stakingCall.js +0 -13
  64. package/dist/src/coin/celo/transaction.d.ts +0 -9
  65. package/dist/src/coin/celo/transaction.d.ts.map +0 -1
  66. package/dist/src/coin/celo/transaction.js +0 -37
  67. package/dist/src/coin/celo/transactionBuilder.d.ts +0 -85
  68. package/dist/src/coin/celo/transactionBuilder.d.ts.map +0 -1
  69. package/dist/src/coin/celo/transactionBuilder.js +0 -208
  70. package/dist/src/coin/celo/transferBuilder.d.ts +0 -19
  71. package/dist/src/coin/celo/transferBuilder.d.ts.map +0 -1
  72. package/dist/src/coin/celo/transferBuilder.js +0 -27
  73. package/dist/src/coin/celo/types.d.ts +0 -51
  74. package/dist/src/coin/celo/types.d.ts.map +0 -1
  75. package/dist/src/coin/celo/types.js +0 -222
  76. package/dist/src/coin/celo/utils.d.ts +0 -18
  77. package/dist/src/coin/celo/utils.d.ts.map +0 -1
  78. package/dist/src/coin/celo/utils.js +0 -99
  79. package/dist/src/coin/etc/index.d.ts +0 -6
  80. package/dist/src/coin/etc/index.d.ts.map +0 -1
  81. package/dist/src/coin/etc/index.js +0 -33
  82. package/dist/src/coin/etc/resources.d.ts +0 -10
  83. package/dist/src/coin/etc/resources.d.ts.map +0 -1
  84. package/dist/src/coin/etc/resources.js +0 -26
  85. package/dist/src/coin/etc/transactionBuilder.d.ts +0 -17
  86. package/dist/src/coin/etc/transactionBuilder.d.ts.map +0 -1
  87. package/dist/src/coin/etc/transactionBuilder.js +0 -45
  88. package/dist/src/coin/etc/transferBuilder.d.ts +0 -19
  89. package/dist/src/coin/etc/transferBuilder.d.ts.map +0 -1
  90. package/dist/src/coin/etc/transferBuilder.js +0 -27
  91. package/dist/src/coin/etc/utils.d.ts +0 -17
  92. package/dist/src/coin/etc/utils.d.ts.map +0 -1
  93. package/dist/src/coin/etc/utils.js +0 -42
  94. package/dist/src/coin/near/constants.d.ts +0 -12
  95. package/dist/src/coin/near/constants.d.ts.map +0 -1
  96. package/dist/src/coin/near/constants.js +0 -15
  97. package/dist/src/coin/near/contractCallWrapper.d.ts +0 -33
  98. package/dist/src/coin/near/contractCallWrapper.d.ts.map +0 -1
  99. package/dist/src/coin/near/contractCallWrapper.js +0 -68
  100. package/dist/src/coin/near/errors.d.ts +0 -5
  101. package/dist/src/coin/near/errors.d.ts.map +0 -1
  102. package/dist/src/coin/near/errors.js +0 -12
  103. package/dist/src/coin/near/iface.d.ts +0 -40
  104. package/dist/src/coin/near/iface.d.ts.map +0 -1
  105. package/dist/src/coin/near/iface.js +0 -8
  106. package/dist/src/coin/near/index.d.ts +0 -11
  107. package/dist/src/coin/near/index.d.ts.map +0 -1
  108. package/dist/src/coin/near/index.js +0 -41
  109. package/dist/src/coin/near/keyPair.d.ts +0 -25
  110. package/dist/src/coin/near/keyPair.d.ts.map +0 -1
  111. package/dist/src/coin/near/keyPair.js +0 -73
  112. package/dist/src/coin/near/stakingActivateBuilder.d.ts +0 -32
  113. package/dist/src/coin/near/stakingActivateBuilder.d.ts.map +0 -1
  114. package/dist/src/coin/near/stakingActivateBuilder.js +0 -90
  115. package/dist/src/coin/near/stakingDeactivateBuilder.d.ts +0 -32
  116. package/dist/src/coin/near/stakingDeactivateBuilder.d.ts.map +0 -1
  117. package/dist/src/coin/near/stakingDeactivateBuilder.js +0 -89
  118. package/dist/src/coin/near/stakingWithdrawBuilder.d.ts +0 -32
  119. package/dist/src/coin/near/stakingWithdrawBuilder.d.ts.map +0 -1
  120. package/dist/src/coin/near/stakingWithdrawBuilder.js +0 -89
  121. package/dist/src/coin/near/transaction.d.ts +0 -90
  122. package/dist/src/coin/near/transaction.d.ts.map +0 -1
  123. package/dist/src/coin/near/transaction.js +0 -368
  124. package/dist/src/coin/near/transactionBuilder.d.ts +0 -89
  125. package/dist/src/coin/near/transactionBuilder.d.ts.map +0 -1
  126. package/dist/src/coin/near/transactionBuilder.js +0 -216
  127. package/dist/src/coin/near/transactionBuilderFactory.d.ts +0 -30
  128. package/dist/src/coin/near/transactionBuilderFactory.d.ts.map +0 -1
  129. package/dist/src/coin/near/transactionBuilderFactory.js +0 -71
  130. package/dist/src/coin/near/transferBuilder.d.ts +0 -26
  131. package/dist/src/coin/near/transferBuilder.d.ts.map +0 -1
  132. package/dist/src/coin/near/transferBuilder.js +0 -72
  133. package/dist/src/coin/near/utils.d.ts +0 -42
  134. package/dist/src/coin/near/utils.d.ts.map +0 -1
  135. package/dist/src/coin/near/utils.js +0 -85
  136. package/dist/src/coin/near/walletInitializationBuilder.d.ts +0 -12
  137. package/dist/src/coin/near/walletInitializationBuilder.d.ts.map +0 -1
  138. package/dist/src/coin/near/walletInitializationBuilder.js +0 -20
  139. package/dist/src/coin/rbtc/index.d.ts +0 -6
  140. package/dist/src/coin/rbtc/index.d.ts.map +0 -1
  141. package/dist/src/coin/rbtc/index.js +0 -33
  142. package/dist/src/coin/rbtc/resources.d.ts +0 -10
  143. package/dist/src/coin/rbtc/resources.d.ts.map +0 -1
  144. package/dist/src/coin/rbtc/resources.js +0 -25
  145. package/dist/src/coin/rbtc/transactionBuilder.d.ts +0 -17
  146. package/dist/src/coin/rbtc/transactionBuilder.d.ts.map +0 -1
  147. package/dist/src/coin/rbtc/transactionBuilder.js +0 -44
  148. package/dist/src/coin/rbtc/transferBuilder.d.ts +0 -19
  149. package/dist/src/coin/rbtc/transferBuilder.d.ts.map +0 -1
  150. package/dist/src/coin/rbtc/transferBuilder.js +0 -27
  151. package/dist/src/coin/rbtc/utils.d.ts +0 -17
  152. package/dist/src/coin/rbtc/utils.d.ts.map +0 -1
  153. package/dist/src/coin/rbtc/utils.js +0 -42
  154. package/dist/src/coin/sol/ataInitializationBuilder.d.ts +0 -42
  155. package/dist/src/coin/sol/ataInitializationBuilder.d.ts.map +0 -1
  156. package/dist/src/coin/sol/ataInitializationBuilder.js +0 -112
  157. package/dist/src/coin/sol/ataInitializationTransaction.d.ts +0 -14
  158. package/dist/src/coin/sol/ataInitializationTransaction.d.ts.map +0 -1
  159. package/dist/src/coin/sol/ataInitializationTransaction.js +0 -81
  160. package/dist/src/coin/sol/constants.d.ts +0 -58
  161. package/dist/src/coin/sol/constants.d.ts.map +0 -1
  162. package/dist/src/coin/sol/constants.js +0 -76
  163. package/dist/src/coin/sol/iface.d.ts +0 -100
  164. package/dist/src/coin/sol/iface.d.ts.map +0 -1
  165. package/dist/src/coin/sol/iface.js +0 -3
  166. package/dist/src/coin/sol/index.d.ts +0 -11
  167. package/dist/src/coin/sol/index.d.ts.map +0 -1
  168. package/dist/src/coin/sol/index.js +0 -41
  169. package/dist/src/coin/sol/instructionParamsFactory.d.ts +0 -12
  170. package/dist/src/coin/sol/instructionParamsFactory.d.ts.map +0 -1
  171. package/dist/src/coin/sol/instructionParamsFactory.js +0 -267
  172. package/dist/src/coin/sol/keyPair.d.ts +0 -26
  173. package/dist/src/coin/sol/keyPair.d.ts.map +0 -1
  174. package/dist/src/coin/sol/keyPair.js +0 -63
  175. package/dist/src/coin/sol/solInstructionFactory.d.ts +0 -10
  176. package/dist/src/coin/sol/solInstructionFactory.d.ts.map +0 -1
  177. package/dist/src/coin/sol/solInstructionFactory.js +0 -213
  178. package/dist/src/coin/sol/stakingActivateBuilder.d.ts +0 -41
  179. package/dist/src/coin/sol/stakingActivateBuilder.d.ts.map +0 -1
  180. package/dist/src/coin/sol/stakingActivateBuilder.js +0 -94
  181. package/dist/src/coin/sol/stakingDeactivateBuilder.d.ts +0 -23
  182. package/dist/src/coin/sol/stakingDeactivateBuilder.d.ts.map +0 -1
  183. package/dist/src/coin/sol/stakingDeactivateBuilder.js +0 -62
  184. package/dist/src/coin/sol/stakingWithdrawBuilder.d.ts +0 -31
  185. package/dist/src/coin/sol/stakingWithdrawBuilder.d.ts.map +0 -1
  186. package/dist/src/coin/sol/stakingWithdrawBuilder.js +0 -78
  187. package/dist/src/coin/sol/tokenEncodeDecode.d.ts +0 -85
  188. package/dist/src/coin/sol/tokenEncodeDecode.d.ts.map +0 -1
  189. package/dist/src/coin/sol/tokenEncodeDecode.js +0 -133
  190. package/dist/src/coin/sol/tokenTransferBuilder.d.ts +0 -27
  191. package/dist/src/coin/sol/tokenTransferBuilder.d.ts.map +0 -1
  192. package/dist/src/coin/sol/tokenTransferBuilder.js +0 -73
  193. package/dist/src/coin/sol/transaction.d.ts +0 -61
  194. package/dist/src/coin/sol/transaction.d.ts.map +0 -1
  195. package/dist/src/coin/sol/transaction.js +0 -369
  196. package/dist/src/coin/sol/transactionBuilder.d.ts +0 -101
  197. package/dist/src/coin/sol/transactionBuilder.d.ts.map +0 -1
  198. package/dist/src/coin/sol/transactionBuilder.js +0 -261
  199. package/dist/src/coin/sol/transactionBuilderFactory.d.ts +0 -76
  200. package/dist/src/coin/sol/transactionBuilderFactory.d.ts.map +0 -1
  201. package/dist/src/coin/sol/transactionBuilderFactory.js +0 -136
  202. package/dist/src/coin/sol/transferBuilder.d.ts +0 -26
  203. package/dist/src/coin/sol/transferBuilder.d.ts.map +0 -1
  204. package/dist/src/coin/sol/transferBuilder.js +0 -67
  205. package/dist/src/coin/sol/utils.d.ts +0 -146
  206. package/dist/src/coin/sol/utils.d.ts.map +0 -1
  207. package/dist/src/coin/sol/utils.js +0 -361
  208. package/dist/src/coin/sol/walletInitializationBuilder.d.ts +0 -26
  209. package/dist/src/coin/sol/walletInitializationBuilder.d.ts.map +0 -1
  210. package/dist/src/coin/sol/walletInitializationBuilder.js +0 -71
  211. package/dist/src/coin/trx/address.d.ts +0 -11
  212. package/dist/src/coin/trx/address.d.ts.map +0 -1
  213. package/dist/src/coin/trx/address.js +0 -13
  214. package/dist/src/coin/trx/contractCallBuilder.d.ts +0 -96
  215. package/dist/src/coin/trx/contractCallBuilder.d.ts.map +0 -1
  216. package/dist/src/coin/trx/contractCallBuilder.js +0 -281
  217. package/dist/src/coin/trx/enum.d.ts +0 -23
  218. package/dist/src/coin/trx/enum.d.ts.map +0 -1
  219. package/dist/src/coin/trx/enum.js +0 -28
  220. package/dist/src/coin/trx/iface.d.ts +0 -92
  221. package/dist/src/coin/trx/iface.d.ts.map +0 -1
  222. package/dist/src/coin/trx/iface.js +0 -3
  223. package/dist/src/coin/trx/index.d.ts +0 -10
  224. package/dist/src/coin/trx/index.d.ts.map +0 -1
  225. package/dist/src/coin/trx/index.js +0 -39
  226. package/dist/src/coin/trx/keyPair.d.ts +0 -44
  227. package/dist/src/coin/trx/keyPair.d.ts.map +0 -1
  228. package/dist/src/coin/trx/keyPair.js +0 -121
  229. package/dist/src/coin/trx/transaction.d.ts +0 -74
  230. package/dist/src/coin/trx/transaction.d.ts.map +0 -1
  231. package/dist/src/coin/trx/transaction.js +0 -205
  232. package/dist/src/coin/trx/transactionBuilder.d.ts +0 -65
  233. package/dist/src/coin/trx/transactionBuilder.d.ts.map +0 -1
  234. package/dist/src/coin/trx/transactionBuilder.js +0 -215
  235. package/dist/src/coin/trx/utils.d.ts +0 -127
  236. package/dist/src/coin/trx/utils.d.ts.map +0 -1
  237. package/dist/src/coin/trx/utils.js +0 -369
  238. package/dist/src/coin/trx/wrappedBuilder.d.ts +0 -52
  239. package/dist/src/coin/trx/wrappedBuilder.d.ts.map +0 -1
  240. package/dist/src/coin/trx/wrappedBuilder.js +0 -104
  241. package/resources/trx/protobuf/Contract.proto +0 -256
  242. package/resources/trx/protobuf/Discover.proto +0 -44
  243. package/resources/trx/protobuf/tron.d.ts +0 -11024
  244. package/resources/trx/protobuf/tron.js +0 -31510
  245. 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,9 +0,0 @@
1
- import { BaseCoin as CoinConfig } from '@bitgo/statics';
2
- import EthereumCommon from '@ethereumjs/common';
3
- import { Transaction as EthTransaction, LegacyTxData } from '@bitgo/sdk-coin-eth';
4
- export declare class Transaction extends EthTransaction {
5
- setTransactionData(txData: LegacyTxData): void;
6
- /** @inheritdoc */
7
- static fromSerialized(coinConfig: Readonly<CoinConfig>, common: EthereumCommon, serializedTx: string): Transaction;
8
- }
9
- //# sourceMappingURL=transaction.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../../../src/coin/celo/transaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,cAAc,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,WAAW,IAAI,cAAc,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAIlF,qBAAa,WAAY,SAAQ,cAAc;IAC7C,kBAAkB,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI;IAK9C,kBAAkB;WACJ,cAAc,CAC1B,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC,EAChC,MAAM,EAAE,cAAc,EACtB,YAAY,EAAE,MAAM,GACnB,WAAW;CAGf"}
@@ -1,37 +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.Transaction = void 0;
23
- const sdk_coin_eth_1 = require("@bitgo/sdk-coin-eth");
24
- const types_1 = require("./types");
25
- const Utils = __importStar(require("./utils"));
26
- class Transaction extends sdk_coin_eth_1.Transaction {
27
- setTransactionData(txData) {
28
- this._transactionData = types_1.CeloTransactionData.fromJson(txData);
29
- this.updateFields();
30
- }
31
- /** @inheritdoc */
32
- static fromSerialized(coinConfig, common, serializedTx) {
33
- return new Transaction(coinConfig, common, Utils.deserialize(serializedTx));
34
- }
35
- }
36
- exports.Transaction = Transaction;
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29pbi9jZWxvL3RyYW5zYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFQSxzREFBa0Y7QUFDbEYsbUNBQThDO0FBQzlDLCtDQUFpQztBQUVqQyxNQUFhLFdBQVksU0FBUSwwQkFBYztJQUM3QyxrQkFBa0IsQ0FBQyxNQUFvQjtRQUNyQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsMkJBQW1CLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzdELElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsa0JBQWtCO0lBQ1gsTUFBTSxDQUFDLGNBQWMsQ0FDMUIsVUFBZ0MsRUFDaEMsTUFBc0IsRUFDdEIsWUFBb0I7UUFFcEIsT0FBTyxJQUFJLFdBQVcsQ0FBQyxVQUFVLEVBQUUsTUFBTSxFQUFFLEtBQUssQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztJQUM5RSxDQUFDO0NBQ0Y7QUFkRCxrQ0FjQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VDb2luIGFzIENvaW5Db25maWcgfSBmcm9tICdAYml0Z28vc3RhdGljcyc7XG5pbXBvcnQgRXRoZXJldW1Db21tb24gZnJvbSAnQGV0aGVyZXVtanMvY29tbW9uJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uIGFzIEV0aFRyYW5zYWN0aW9uLCBMZWdhY3lUeERhdGEgfSBmcm9tICdAYml0Z28vc2RrLWNvaW4tZXRoJztcbmltcG9ydCB7IENlbG9UcmFuc2FjdGlvbkRhdGEgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCAqIGFzIFV0aWxzIGZyb20gJy4vdXRpbHMnO1xuXG5leHBvcnQgY2xhc3MgVHJhbnNhY3Rpb24gZXh0ZW5kcyBFdGhUcmFuc2FjdGlvbiB7XG4gIHNldFRyYW5zYWN0aW9uRGF0YSh0eERhdGE6IExlZ2FjeVR4RGF0YSk6IHZvaWQge1xuICAgIHRoaXMuX3RyYW5zYWN0aW9uRGF0YSA9IENlbG9UcmFuc2FjdGlvbkRhdGEuZnJvbUpzb24odHhEYXRhKTtcbiAgICB0aGlzLnVwZGF0ZUZpZWxkcygpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHB1YmxpYyBzdGF0aWMgZnJvbVNlcmlhbGl6ZWQoXG4gICAgY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz4sXG4gICAgY29tbW9uOiBFdGhlcmV1bUNvbW1vbixcbiAgICBzZXJpYWxpemVkVHg6IHN0cmluZyxcbiAgKTogVHJhbnNhY3Rpb24ge1xuICAgIHJldHVybiBuZXcgVHJhbnNhY3Rpb24oY29pbkNvbmZpZywgY29tbW9uLCBVdGlscy5kZXNlcmlhbGl6ZShzZXJpYWxpemVkVHgpKTtcbiAgfVxufVxuIl19