@bitgo/sdk-coin-dot 4.11.7 → 4.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (316) hide show
  1. package/dist/{src → cjs/src}/dot.d.ts +0 -7
  2. package/dist/cjs/src/dot.d.ts.map +1 -0
  3. package/dist/{src → cjs/src}/dot.js +1 -1
  4. package/dist/cjs/src/index.d.ts.map +1 -0
  5. package/dist/{src → cjs/src}/index.js +1 -1
  6. package/dist/cjs/src/lib/addressInitializationBuilder.d.ts.map +1 -0
  7. package/dist/cjs/src/lib/addressInitializationBuilder.js +182 -0
  8. package/dist/cjs/src/lib/batchTransactionBuilder.d.ts.map +1 -0
  9. package/dist/cjs/src/lib/batchTransactionBuilder.js +229 -0
  10. package/dist/cjs/src/lib/claimBuilder.d.ts.map +1 -0
  11. package/dist/cjs/src/lib/claimBuilder.js +117 -0
  12. package/dist/cjs/src/lib/errors.d.ts.map +1 -0
  13. package/dist/cjs/src/lib/errors.js +19 -0
  14. package/dist/cjs/src/lib/iface.d.ts.map +1 -0
  15. package/dist/cjs/src/lib/iface.js +128 -0
  16. package/dist/cjs/src/lib/iface_utils.d.ts.map +1 -0
  17. package/dist/cjs/src/lib/iface_utils.js +92 -0
  18. package/dist/{src → cjs/src}/lib/index.d.ts +2 -0
  19. package/dist/cjs/src/lib/index.d.ts.map +1 -0
  20. package/dist/{src → cjs/src}/lib/index.js +4 -2
  21. package/dist/cjs/src/lib/keyPair.d.ts.map +1 -0
  22. package/dist/cjs/src/lib/keyPair.js +117 -0
  23. package/dist/cjs/src/lib/nativeTransferBuilder.d.ts.map +1 -0
  24. package/dist/cjs/src/lib/nativeTransferBuilder.js +219 -0
  25. package/dist/cjs/src/lib/proxyBuilder.d.ts.map +1 -0
  26. package/dist/cjs/src/lib/proxyBuilder.js +116 -0
  27. package/dist/cjs/src/lib/singletonRegistry.d.ts.map +1 -0
  28. package/dist/cjs/src/lib/singletonRegistry.js +20 -0
  29. package/dist/cjs/src/lib/stakingBuilder.d.ts.map +1 -0
  30. package/dist/cjs/src/lib/stakingBuilder.js +167 -0
  31. package/dist/cjs/src/lib/transaction.d.ts.map +1 -0
  32. package/dist/cjs/src/lib/transaction.js +624 -0
  33. package/dist/cjs/src/lib/transactionBuilder.d.ts.map +1 -0
  34. package/dist/cjs/src/lib/transactionBuilder.js +351 -0
  35. package/dist/cjs/src/lib/transactionBuilderFactory.d.ts.map +1 -0
  36. package/dist/cjs/src/lib/transactionBuilderFactory.js +104 -0
  37. package/dist/cjs/src/lib/transferBuilder.d.ts.map +1 -0
  38. package/dist/cjs/src/lib/transferBuilder.js +11 -0
  39. package/dist/cjs/src/lib/txnSchema.d.ts.map +1 -0
  40. package/dist/cjs/src/lib/txnSchema.js +117 -0
  41. package/dist/cjs/src/lib/unnominateBuilder.d.ts.map +1 -0
  42. package/dist/cjs/src/lib/unnominateBuilder.js +48 -0
  43. package/dist/cjs/src/lib/unstakeBuilder.d.ts.map +1 -0
  44. package/dist/cjs/src/lib/unstakeBuilder.js +87 -0
  45. package/dist/cjs/src/lib/utils.d.ts.map +1 -0
  46. package/dist/cjs/src/lib/utils.js +491 -0
  47. package/dist/cjs/src/lib/wasmParser.d.ts +57 -0
  48. package/dist/cjs/src/lib/wasmParser.d.ts.map +1 -0
  49. package/dist/cjs/src/lib/wasmParser.js +345 -0
  50. package/dist/cjs/src/lib/withdrawUnstakedBuilder.d.ts.map +1 -0
  51. package/dist/cjs/src/lib/withdrawUnstakedBuilder.js +88 -0
  52. package/dist/cjs/src/register.d.ts.map +1 -0
  53. package/dist/cjs/src/register.js +11 -0
  54. package/dist/cjs/src/resources/index.d.ts.map +1 -0
  55. package/dist/{src → cjs/src}/resources/index.js +1 -1
  56. package/dist/cjs/src/resources/mainnet.d.ts.map +1 -0
  57. package/dist/cjs/src/resources/mainnet.js +5 -0
  58. package/dist/cjs/src/resources/polkadotAssetHub.d.ts.map +1 -0
  59. package/dist/cjs/src/resources/polkadotAssetHub.js +5 -0
  60. package/dist/cjs/src/resources/westend.d.ts.map +1 -0
  61. package/dist/{test/resources/testnet.js → cjs/src/resources/westend.js} +3 -3
  62. package/dist/cjs/src/resources/westendAssetHub.d.ts.map +1 -0
  63. package/dist/{src → cjs/src}/resources/westendAssetHub.js +1 -1
  64. package/dist/cjs/src/tdot.d.ts.map +1 -0
  65. package/dist/cjs/src/tdot.js +27 -0
  66. package/dist/cjs/test/fixtures.d.ts.map +1 -0
  67. package/dist/cjs/test/fixtures.js +439 -0
  68. package/dist/cjs/test/resources/index.d.ts.map +1 -0
  69. package/dist/cjs/test/resources/index.js +157 -0
  70. package/dist/cjs/test/resources/testnet.d.ts.map +1 -0
  71. package/dist/{src/resources/westend.js → cjs/test/resources/testnet.js} +3 -3
  72. package/dist/{test → cjs/test}/unit/address.d.ts.map +1 -1
  73. package/dist/cjs/test/unit/address.js +45 -0
  74. package/dist/{test → cjs/test}/unit/dot.d.ts.map +1 -1
  75. package/dist/cjs/test/unit/dot.js +880 -0
  76. package/dist/{test → cjs/test}/unit/keypair.d.ts.map +1 -1
  77. package/dist/cjs/test/unit/keypair.js +111 -0
  78. package/dist/cjs/test/unit/transaction.d.ts.map +1 -0
  79. package/dist/cjs/test/unit/transaction.js +269 -0
  80. package/dist/cjs/test/unit/transactionBuilder/addressInitializationBuilder.d.ts.map +1 -0
  81. package/dist/cjs/test/unit/transactionBuilder/addressInitializationBuilder.js +265 -0
  82. package/dist/cjs/test/unit/transactionBuilder/base.d.ts.map +1 -0
  83. package/dist/cjs/test/unit/transactionBuilder/base.js +233 -0
  84. package/dist/cjs/test/unit/transactionBuilder/batchTransactionBuilder.d.ts.map +1 -0
  85. package/dist/cjs/test/unit/transactionBuilder/batchTransactionBuilder.js +521 -0
  86. package/dist/cjs/test/unit/transactionBuilder/claimBuilder.d.ts.map +1 -0
  87. package/dist/cjs/test/unit/transactionBuilder/claimBuilder.js +129 -0
  88. package/dist/cjs/test/unit/transactionBuilder/proxyBuilder.d.ts.map +1 -0
  89. package/dist/cjs/test/unit/transactionBuilder/proxyBuilder.js +88 -0
  90. package/dist/cjs/test/unit/transactionBuilder/singeltonRegistry.d.ts.map +1 -0
  91. package/dist/{test → cjs/test}/unit/transactionBuilder/singeltonRegistry.js +1 -1
  92. package/dist/cjs/test/unit/transactionBuilder/stakingBuilder.d.ts.map +1 -0
  93. package/dist/cjs/test/unit/transactionBuilder/stakingBuilder.js +235 -0
  94. package/dist/cjs/test/unit/transactionBuilder/transactionBuilderFactory.d.ts.map +1 -0
  95. package/dist/cjs/test/unit/transactionBuilder/transactionBuilderFactory.js +107 -0
  96. package/dist/cjs/test/unit/transactionBuilder/transferBuilder.d.ts.map +1 -0
  97. package/dist/cjs/test/unit/transactionBuilder/transferBuilder.js +437 -0
  98. package/dist/cjs/test/unit/transactionBuilder/unnominateBuilder.d.ts.map +1 -0
  99. package/dist/cjs/test/unit/transactionBuilder/unnominateBuilder.js +97 -0
  100. package/dist/cjs/test/unit/transactionBuilder/unstakeBuilder.d.ts.map +1 -0
  101. package/dist/cjs/test/unit/transactionBuilder/unstakeBuilder.js +116 -0
  102. package/dist/cjs/test/unit/transactionBuilder/withdrawUnstakedBuilder.d.ts.map +1 -0
  103. package/dist/cjs/test/unit/transactionBuilder/withdrawUnstakedBuilder.js +115 -0
  104. package/dist/{test → cjs/test}/unit/utils.d.ts.map +1 -1
  105. package/dist/cjs/test/unit/utils.js +117 -0
  106. package/dist/cjs/test/unit/wasmBuilderByteComparison.d.ts +22 -0
  107. package/dist/cjs/test/unit/wasmBuilderByteComparison.d.ts.map +1 -0
  108. package/dist/cjs/test/unit/wasmBuilderByteComparison.js +197 -0
  109. package/dist/cjs/test/unit/wasmParserExplanation.d.ts +15 -0
  110. package/dist/cjs/test/unit/wasmParserExplanation.d.ts.map +1 -0
  111. package/dist/cjs/test/unit/wasmParserExplanation.js +147 -0
  112. package/dist/cjs/tsconfig.tsbuildinfo +1 -0
  113. package/dist/esm/dot.d.ts +147 -0
  114. package/dist/esm/dot.d.ts.map +1 -0
  115. package/dist/esm/dot.js +570 -0
  116. package/dist/esm/index.d.ts +5 -0
  117. package/dist/esm/index.js +5 -0
  118. package/dist/esm/lib/addressInitializationBuilder.d.ts +79 -0
  119. package/dist/esm/lib/addressInitializationBuilder.js +175 -0
  120. package/dist/esm/lib/batchTransactionBuilder.d.ts +62 -0
  121. package/dist/esm/lib/batchTransactionBuilder.js +222 -0
  122. package/dist/esm/lib/claimBuilder.d.ts +58 -0
  123. package/dist/esm/lib/claimBuilder.js +110 -0
  124. package/dist/esm/lib/errors.d.ts +8 -0
  125. package/dist/esm/lib/errors.js +14 -0
  126. package/dist/esm/lib/iface.d.ts +337 -0
  127. package/dist/esm/lib/iface.js +125 -0
  128. package/dist/esm/lib/iface_utils.d.ts +59 -0
  129. package/dist/esm/lib/iface_utils.js +83 -0
  130. package/dist/esm/lib/index.d.ts +21 -0
  131. package/dist/{src → esm}/lib/index.d.ts.map +1 -1
  132. package/dist/esm/lib/index.js +20 -0
  133. package/dist/esm/lib/keyPair.d.ts +38 -0
  134. package/dist/esm/lib/keyPair.js +77 -0
  135. package/dist/esm/lib/nativeTransferBuilder.d.ts +84 -0
  136. package/dist/esm/lib/nativeTransferBuilder.js +212 -0
  137. package/dist/esm/lib/proxyBuilder.d.ts +54 -0
  138. package/dist/esm/lib/proxyBuilder.js +109 -0
  139. package/dist/esm/lib/singletonRegistry.d.ts +7 -0
  140. package/dist/esm/lib/singletonRegistry.js +16 -0
  141. package/dist/esm/lib/stakingBuilder.d.ts +66 -0
  142. package/dist/esm/lib/stakingBuilder.js +160 -0
  143. package/dist/esm/lib/transaction.d.ts +83 -0
  144. package/dist/{src → esm}/lib/transaction.d.ts.map +1 -1
  145. package/dist/esm/lib/transaction.js +584 -0
  146. package/dist/esm/lib/transactionBuilder.d.ts +131 -0
  147. package/dist/esm/lib/transactionBuilder.js +311 -0
  148. package/dist/esm/lib/transactionBuilderFactory.d.ts +28 -0
  149. package/dist/esm/lib/transactionBuilderFactory.js +97 -0
  150. package/dist/esm/lib/transferBuilder.d.ts +11 -0
  151. package/dist/esm/lib/transferBuilder.js +7 -0
  152. package/dist/esm/lib/txnSchema.d.ts +15 -0
  153. package/dist/esm/lib/txnSchema.js +111 -0
  154. package/dist/esm/lib/unnominateBuilder.d.ts +24 -0
  155. package/dist/esm/lib/unnominateBuilder.js +44 -0
  156. package/dist/esm/lib/unstakeBuilder.d.ts +38 -0
  157. package/dist/esm/lib/unstakeBuilder.js +80 -0
  158. package/dist/esm/lib/utils.d.ts +261 -0
  159. package/dist/esm/lib/utils.js +451 -0
  160. package/dist/esm/lib/wasmParser.d.ts +57 -0
  161. package/dist/esm/lib/wasmParser.d.ts.map +1 -0
  162. package/dist/esm/lib/wasmParser.js +341 -0
  163. package/dist/esm/lib/withdrawUnstakedBuilder.d.ts +38 -0
  164. package/dist/esm/lib/withdrawUnstakedBuilder.js +81 -0
  165. package/dist/esm/register.d.ts +3 -0
  166. package/dist/esm/register.js +7 -0
  167. package/dist/esm/resources/index.d.ts +5 -0
  168. package/dist/esm/resources/index.js +5 -0
  169. package/dist/esm/resources/mainnet.d.ts +2 -0
  170. package/dist/esm/resources/mainnet.js +2 -0
  171. package/dist/esm/resources/polkadotAssetHub.d.ts +2 -0
  172. package/dist/esm/resources/polkadotAssetHub.js +2 -0
  173. package/dist/esm/resources/westend.d.ts +2 -0
  174. package/dist/esm/resources/westend.js +2 -0
  175. package/dist/esm/resources/westendAssetHub.d.ts +2 -0
  176. package/dist/esm/resources/westendAssetHub.js +2 -0
  177. package/dist/esm/tdot.d.ts +12 -0
  178. package/dist/esm/tdot.js +23 -0
  179. package/package.json +29 -11
  180. package/dist/src/dot.d.ts.map +0 -1
  181. package/dist/src/lib/addressInitializationBuilder.js +0 -182
  182. package/dist/src/lib/batchTransactionBuilder.js +0 -229
  183. package/dist/src/lib/claimBuilder.js +0 -117
  184. package/dist/src/lib/errors.js +0 -19
  185. package/dist/src/lib/iface.js +0 -128
  186. package/dist/src/lib/iface_utils.js +0 -92
  187. package/dist/src/lib/keyPair.js +0 -117
  188. package/dist/src/lib/nativeTransferBuilder.js +0 -219
  189. package/dist/src/lib/proxyBuilder.js +0 -116
  190. package/dist/src/lib/singletonRegistry.js +0 -20
  191. package/dist/src/lib/stakingBuilder.js +0 -167
  192. package/dist/src/lib/transaction.js +0 -610
  193. package/dist/src/lib/transactionBuilder.js +0 -351
  194. package/dist/src/lib/transactionBuilderFactory.js +0 -104
  195. package/dist/src/lib/transferBuilder.js +0 -11
  196. package/dist/src/lib/txnSchema.js +0 -117
  197. package/dist/src/lib/unnominateBuilder.js +0 -48
  198. package/dist/src/lib/unstakeBuilder.js +0 -87
  199. package/dist/src/lib/utils.js +0 -491
  200. package/dist/src/lib/withdrawUnstakedBuilder.js +0 -88
  201. package/dist/src/register.js +0 -11
  202. package/dist/src/resources/mainnet.js +0 -5
  203. package/dist/src/resources/polkadotAssetHub.js +0 -5
  204. package/dist/src/tdot.js +0 -27
  205. package/dist/test/fixtures.d.ts.map +0 -1
  206. package/dist/test/fixtures.js +0 -439
  207. package/dist/test/resources/index.d.ts.map +0 -1
  208. package/dist/test/resources/index.js +0 -157
  209. package/dist/test/resources/testnet.d.ts.map +0 -1
  210. package/dist/test/unit/address.js +0 -45
  211. package/dist/test/unit/dot.js +0 -816
  212. package/dist/test/unit/keypair.js +0 -111
  213. package/dist/test/unit/transaction.d.ts.map +0 -1
  214. package/dist/test/unit/transaction.js +0 -269
  215. package/dist/test/unit/transactionBuilder/addressInitializationBuilder.d.ts.map +0 -1
  216. package/dist/test/unit/transactionBuilder/addressInitializationBuilder.js +0 -265
  217. package/dist/test/unit/transactionBuilder/base.d.ts.map +0 -1
  218. package/dist/test/unit/transactionBuilder/base.js +0 -233
  219. package/dist/test/unit/transactionBuilder/batchTransactionBuilder.d.ts.map +0 -1
  220. package/dist/test/unit/transactionBuilder/batchTransactionBuilder.js +0 -521
  221. package/dist/test/unit/transactionBuilder/claimBuilder.d.ts.map +0 -1
  222. package/dist/test/unit/transactionBuilder/claimBuilder.js +0 -129
  223. package/dist/test/unit/transactionBuilder/proxyBuilder.d.ts.map +0 -1
  224. package/dist/test/unit/transactionBuilder/proxyBuilder.js +0 -88
  225. package/dist/test/unit/transactionBuilder/singeltonRegistry.d.ts.map +0 -1
  226. package/dist/test/unit/transactionBuilder/stakingBuilder.d.ts.map +0 -1
  227. package/dist/test/unit/transactionBuilder/stakingBuilder.js +0 -235
  228. package/dist/test/unit/transactionBuilder/transactionBuilderFactory.d.ts.map +0 -1
  229. package/dist/test/unit/transactionBuilder/transactionBuilderFactory.js +0 -107
  230. package/dist/test/unit/transactionBuilder/transferBuilder.d.ts.map +0 -1
  231. package/dist/test/unit/transactionBuilder/transferBuilder.js +0 -437
  232. package/dist/test/unit/transactionBuilder/unnominateBuilder.d.ts.map +0 -1
  233. package/dist/test/unit/transactionBuilder/unnominateBuilder.js +0 -97
  234. package/dist/test/unit/transactionBuilder/unstakeBuilder.d.ts.map +0 -1
  235. package/dist/test/unit/transactionBuilder/unstakeBuilder.js +0 -116
  236. package/dist/test/unit/transactionBuilder/withdrawUnstakedBuilder.d.ts.map +0 -1
  237. package/dist/test/unit/transactionBuilder/withdrawUnstakedBuilder.js +0 -115
  238. package/dist/test/unit/utils.js +0 -117
  239. package/dist/tsconfig.tsbuildinfo +0 -1
  240. /package/dist/{src → cjs/src}/index.d.ts +0 -0
  241. /package/dist/{src → cjs/src}/lib/addressInitializationBuilder.d.ts +0 -0
  242. /package/dist/{src → cjs/src}/lib/batchTransactionBuilder.d.ts +0 -0
  243. /package/dist/{src → cjs/src}/lib/claimBuilder.d.ts +0 -0
  244. /package/dist/{src → cjs/src}/lib/errors.d.ts +0 -0
  245. /package/dist/{src → cjs/src}/lib/iface.d.ts +0 -0
  246. /package/dist/{src → cjs/src}/lib/iface_utils.d.ts +0 -0
  247. /package/dist/{src → cjs/src}/lib/keyPair.d.ts +0 -0
  248. /package/dist/{src → cjs/src}/lib/nativeTransferBuilder.d.ts +0 -0
  249. /package/dist/{src → cjs/src}/lib/proxyBuilder.d.ts +0 -0
  250. /package/dist/{src → cjs/src}/lib/singletonRegistry.d.ts +0 -0
  251. /package/dist/{src → cjs/src}/lib/stakingBuilder.d.ts +0 -0
  252. /package/dist/{src → cjs/src}/lib/transaction.d.ts +0 -0
  253. /package/dist/{src → cjs/src}/lib/transactionBuilder.d.ts +0 -0
  254. /package/dist/{src → cjs/src}/lib/transactionBuilderFactory.d.ts +0 -0
  255. /package/dist/{src → cjs/src}/lib/transferBuilder.d.ts +0 -0
  256. /package/dist/{src → cjs/src}/lib/txnSchema.d.ts +0 -0
  257. /package/dist/{src → cjs/src}/lib/unnominateBuilder.d.ts +0 -0
  258. /package/dist/{src → cjs/src}/lib/unstakeBuilder.d.ts +0 -0
  259. /package/dist/{src → cjs/src}/lib/utils.d.ts +0 -0
  260. /package/dist/{src → cjs/src}/lib/withdrawUnstakedBuilder.d.ts +0 -0
  261. /package/dist/{src → cjs/src}/register.d.ts +0 -0
  262. /package/dist/{src → cjs/src}/resources/index.d.ts +0 -0
  263. /package/dist/{src → cjs/src}/resources/mainnet.d.ts +0 -0
  264. /package/dist/{src → cjs/src}/resources/polkadotAssetHub.d.ts +0 -0
  265. /package/dist/{src → cjs/src}/resources/westend.d.ts +0 -0
  266. /package/dist/{src → cjs/src}/resources/westendAssetHub.d.ts +0 -0
  267. /package/dist/{src → cjs/src}/tdot.d.ts +0 -0
  268. /package/dist/{test → cjs/test}/fixtures.d.ts +0 -0
  269. /package/dist/{test → cjs/test}/resources/index.d.ts +0 -0
  270. /package/dist/{test → cjs/test}/resources/materialData.json +0 -0
  271. /package/dist/{test → cjs/test}/resources/materialDataModified.json +0 -0
  272. /package/dist/{test → cjs/test}/resources/testnet.d.ts +0 -0
  273. /package/dist/{test → cjs/test}/unit/address.d.ts +0 -0
  274. /package/dist/{test → cjs/test}/unit/dot.d.ts +0 -0
  275. /package/dist/{test → cjs/test}/unit/keypair.d.ts +0 -0
  276. /package/dist/{test → cjs/test}/unit/transaction.d.ts +0 -0
  277. /package/dist/{test → cjs/test}/unit/transactionBuilder/addressInitializationBuilder.d.ts +0 -0
  278. /package/dist/{test → cjs/test}/unit/transactionBuilder/base.d.ts +0 -0
  279. /package/dist/{test → cjs/test}/unit/transactionBuilder/batchTransactionBuilder.d.ts +0 -0
  280. /package/dist/{test → cjs/test}/unit/transactionBuilder/claimBuilder.d.ts +0 -0
  281. /package/dist/{test → cjs/test}/unit/transactionBuilder/proxyBuilder.d.ts +0 -0
  282. /package/dist/{test → cjs/test}/unit/transactionBuilder/singeltonRegistry.d.ts +0 -0
  283. /package/dist/{test → cjs/test}/unit/transactionBuilder/stakingBuilder.d.ts +0 -0
  284. /package/dist/{test → cjs/test}/unit/transactionBuilder/transactionBuilderFactory.d.ts +0 -0
  285. /package/dist/{test → cjs/test}/unit/transactionBuilder/transferBuilder.d.ts +0 -0
  286. /package/dist/{test → cjs/test}/unit/transactionBuilder/unnominateBuilder.d.ts +0 -0
  287. /package/dist/{test → cjs/test}/unit/transactionBuilder/unstakeBuilder.d.ts +0 -0
  288. /package/dist/{test → cjs/test}/unit/transactionBuilder/withdrawUnstakedBuilder.d.ts +0 -0
  289. /package/dist/{test → cjs/test}/unit/utils.d.ts +0 -0
  290. /package/dist/{src → esm}/index.d.ts.map +0 -0
  291. /package/dist/{src → esm}/lib/addressInitializationBuilder.d.ts.map +0 -0
  292. /package/dist/{src → esm}/lib/batchTransactionBuilder.d.ts.map +0 -0
  293. /package/dist/{src → esm}/lib/claimBuilder.d.ts.map +0 -0
  294. /package/dist/{src → esm}/lib/errors.d.ts.map +0 -0
  295. /package/dist/{src → esm}/lib/iface.d.ts.map +0 -0
  296. /package/dist/{src → esm}/lib/iface_utils.d.ts.map +0 -0
  297. /package/dist/{src → esm}/lib/keyPair.d.ts.map +0 -0
  298. /package/dist/{src → esm}/lib/nativeTransferBuilder.d.ts.map +0 -0
  299. /package/dist/{src → esm}/lib/proxyBuilder.d.ts.map +0 -0
  300. /package/dist/{src → esm}/lib/singletonRegistry.d.ts.map +0 -0
  301. /package/dist/{src → esm}/lib/stakingBuilder.d.ts.map +0 -0
  302. /package/dist/{src → esm}/lib/transactionBuilder.d.ts.map +0 -0
  303. /package/dist/{src → esm}/lib/transactionBuilderFactory.d.ts.map +0 -0
  304. /package/dist/{src → esm}/lib/transferBuilder.d.ts.map +0 -0
  305. /package/dist/{src → esm}/lib/txnSchema.d.ts.map +0 -0
  306. /package/dist/{src → esm}/lib/unnominateBuilder.d.ts.map +0 -0
  307. /package/dist/{src → esm}/lib/unstakeBuilder.d.ts.map +0 -0
  308. /package/dist/{src → esm}/lib/utils.d.ts.map +0 -0
  309. /package/dist/{src → esm}/lib/withdrawUnstakedBuilder.d.ts.map +0 -0
  310. /package/dist/{src → esm}/register.d.ts.map +0 -0
  311. /package/dist/{src → esm}/resources/index.d.ts.map +0 -0
  312. /package/dist/{src → esm}/resources/mainnet.d.ts.map +0 -0
  313. /package/dist/{src → esm}/resources/polkadotAssetHub.d.ts.map +0 -0
  314. /package/dist/{src → esm}/resources/westend.d.ts.map +0 -0
  315. /package/dist/{src → esm}/resources/westendAssetHub.d.ts.map +0 -0
  316. /package/dist/{src → esm}/tdot.d.ts.map +0 -0
@@ -1,233 +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.buildTestConfig = void 0;
7
- const sdk_core_1 = require("@bitgo/sdk-core");
8
- const statics_1 = require("@bitgo/statics");
9
- const assert_1 = __importDefault(require("assert"));
10
- const should_1 = __importDefault(require("should"));
11
- const sinon_1 = __importDefault(require("sinon"));
12
- const lib_1 = require("../../../src/lib");
13
- const utils_1 = __importDefault(require("../../../src/lib/utils"));
14
- const resources_1 = require("../../resources");
15
- const buildTestConfig = () => {
16
- return statics_1.coins.get('tdot');
17
- };
18
- exports.buildTestConfig = buildTestConfig;
19
- class StubTransactionBuilder extends lib_1.TransactionBuilder {
20
- validateDecodedTransaction(decodedTxn) {
21
- return;
22
- }
23
- buildTransaction() {
24
- throw new Error('Method not implemented.');
25
- }
26
- getSender() {
27
- return this._sender;
28
- }
29
- getReferenceBlock() {
30
- return this._referenceBlock;
31
- }
32
- getNonce() {
33
- return this._nonce;
34
- }
35
- getTip() {
36
- return this._tip;
37
- }
38
- getEraPeriod() {
39
- return this._eraPeriod;
40
- }
41
- buildImplementation() {
42
- return super.buildImplementation();
43
- }
44
- fromImplementation(rawTransaction) {
45
- return super.fromImplementation(rawTransaction);
46
- }
47
- signImplementation(key) {
48
- return super.signImplementation(key);
49
- }
50
- get transactionType() {
51
- throw new Error('Method not implemented.');
52
- }
53
- getTransaction() {
54
- return this._transaction;
55
- }
56
- getMaterial() {
57
- return this._material;
58
- }
59
- }
60
- describe('Dot Transfer Builder Base', () => {
61
- let builder;
62
- const sender = resources_1.accounts.account1;
63
- const receiver = resources_1.accounts.account2;
64
- beforeEach(() => {
65
- builder = new StubTransactionBuilder((0, exports.buildTestConfig)());
66
- });
67
- describe('setter validation', () => {
68
- it('should validate sender address', () => {
69
- const spy = sinon_1.default.spy(builder, 'validateAddress');
70
- assert_1.default.throws(() => builder.sender({ address: 'asd' }), (e) => e.message === `The address 'asd' is not a well-formed dot address`);
71
- should_1.default.doesNotThrow(() => builder.sender({ address: sender.address }));
72
- sinon_1.default.assert.calledTwice(spy);
73
- });
74
- it('should validate eraPeriod', () => {
75
- const spy = sinon_1.default.spy(builder, 'validateValue');
76
- assert_1.default.throws(() => builder.validity({ maxDuration: -1 }), (e) => e.message === 'Value cannot be less than zero');
77
- should_1.default.doesNotThrow(() => builder.validity({ maxDuration: 64 }));
78
- sinon_1.default.assert.calledTwice(spy);
79
- });
80
- it('should validate nonce', () => {
81
- const spy = sinon_1.default.spy(builder, 'validateValue');
82
- assert_1.default.throws(() => builder.sequenceId({ name: 'Nonce', keyword: 'nonce', value: -1 }), (e) => e.message === 'Value cannot be less than zero');
83
- should_1.default.doesNotThrow(() => builder.sequenceId({ name: 'Nonce', keyword: 'nonce', value: 10 }));
84
- sinon_1.default.assert.calledTwice(spy);
85
- });
86
- it('should validate tip', () => {
87
- const spy = sinon_1.default.spy(builder, 'validateValue');
88
- assert_1.default.throws(() => builder.fee({ amount: -1, type: 'tip' }), (e) => e.message === 'Value cannot be less than zero');
89
- should_1.default.doesNotThrow(() => builder.fee({ amount: 10, type: 'tip' }));
90
- sinon_1.default.assert.calledTwice(spy);
91
- });
92
- it('should validate blockNumber', () => {
93
- const spy = sinon_1.default.spy(builder, 'validateValue');
94
- assert_1.default.throws(() => builder.validity({ firstValid: -1 }), (e) => e.message === 'Value cannot be less than zero');
95
- should_1.default.doesNotThrow(() => builder.validity({ firstValid: 10 }));
96
- sinon_1.default.assert.calledTwice(spy);
97
- });
98
- });
99
- describe('build base transaction', () => {
100
- it('should build validate base fields', async () => {
101
- builder
102
- .material(utils_1.default.getMaterial((0, exports.buildTestConfig)()))
103
- .sender({ address: sender.address })
104
- .validity({ firstValid: 3933, maxDuration: 64 })
105
- .referenceBlock('0x149799bc9602cb5cf201f3425fb8d253b2d4e61fc119dcab3249f307f594754d')
106
- .sequenceId({ name: 'Nonce', keyword: 'nonce', value: 200 })
107
- .fee({ amount: 0, type: 'tip' });
108
- should_1.default.doesNotThrow(() => builder.validateTransaction(builder.getTransaction()));
109
- });
110
- it('should build a base transaction on testnet', async () => {
111
- const material = builder.getMaterial();
112
- should_1.default.deepEqual(material.specName, resources_1.specName);
113
- should_1.default.deepEqual(material.genesisHash, resources_1.genesisHash);
114
- should_1.default.deepEqual(material.specVersion, resources_1.specVersion);
115
- should_1.default.deepEqual(material.chainName, resources_1.chainName);
116
- });
117
- it('should build from raw signed tx', async () => {
118
- builder.from(resources_1.rawTx.transfer.signed);
119
- should_1.default.deepEqual(builder.getSender(), sender.address);
120
- should_1.default.deepEqual(builder.getNonce(), 200);
121
- should_1.default.deepEqual(builder.getEraPeriod(), 64);
122
- should_1.default.deepEqual(builder.getTip(), undefined);
123
- });
124
- it('should build from raw unsigned tx', async () => {
125
- builder.from(resources_1.rawTx.transfer.unsigned);
126
- should_1.default.deepEqual(builder.getReferenceBlock(), '0x149799bc9602cb5cf201f3425fb8d253b2d4e61fc119dcab3249f307f594754d');
127
- should_1.default.deepEqual(builder.getNonce(), 200);
128
- should_1.default.deepEqual(builder.getEraPeriod(), 64);
129
- should_1.default.deepEqual(builder.getTip(), undefined);
130
- });
131
- });
132
- describe('add TSS signature', function () {
133
- let MPC;
134
- before('initialize mpc module', async () => {
135
- MPC = await sdk_core_1.Eddsa.initialize();
136
- });
137
- it('should add TSS signature', async () => {
138
- const factory = new lib_1.TransactionBuilderFactory(statics_1.coins.get('tdot'));
139
- const A = MPC.keyShare(1, 2, 3);
140
- const B = MPC.keyShare(2, 2, 3);
141
- const C = MPC.keyShare(3, 2, 3);
142
- const A_combine = MPC.keyCombine(A.uShare, [B.yShares[1], C.yShares[1]]);
143
- const B_combine = MPC.keyCombine(B.uShare, [A.yShares[2], C.yShares[2]]);
144
- const C_combine = MPC.keyCombine(C.uShare, [A.yShares[3], B.yShares[3]]);
145
- const commonPub = A_combine.pShare.y;
146
- const dotKeyPair = new lib_1.KeyPair({ pub: commonPub });
147
- const sender = dotKeyPair.getAddress(sdk_core_1.DotAddressFormat.substrate);
148
- let transferBuilder = factory
149
- .getTransferBuilder()
150
- .amount('90034235235322')
151
- .to({ address: '5Ffp1wJCPu4hzVDTo7XaMLqZSvSadyUQmxWPDw74CBjECSoq' })
152
- .sender({ address: sender })
153
- .to({ address: receiver.address })
154
- .validity({ firstValid: 3933, maxDuration: 64 })
155
- .referenceBlock('0x149799bc9602cb5cf201f3425fb8d253b2d4e61fc119dcab3249f307f594754d')
156
- .sequenceId({ name: 'Nonce', keyword: 'nonce', value: 200 })
157
- .fee({ amount: 0, type: 'tip' });
158
- const unsignedTransaction = await transferBuilder.build();
159
- const signablePayload = unsignedTransaction.signablePayload;
160
- // signing with A and B
161
- let A_sign_share = MPC.signShare(signablePayload, A_combine.pShare, [A_combine.jShares[2]]);
162
- let B_sign_share = MPC.signShare(signablePayload, B_combine.pShare, [B_combine.jShares[1]]);
163
- let A_sign = MPC.sign(signablePayload, A_sign_share.xShare, [B_sign_share.rShares[1]], [C.yShares[1]]);
164
- let B_sign = MPC.sign(signablePayload, B_sign_share.xShare, [A_sign_share.rShares[2]], [C.yShares[2]]);
165
- // sign the message_buffer (unsigned txHex)
166
- let signature = MPC.signCombine([A_sign, B_sign]);
167
- let rawSignature = Buffer.concat([Buffer.from(signature.R, 'hex'), Buffer.from(signature.sigma, 'hex')]);
168
- transferBuilder = factory
169
- .getTransferBuilder()
170
- .amount('90034235235322')
171
- .to({ address: '5Ffp1wJCPu4hzVDTo7XaMLqZSvSadyUQmxWPDw74CBjECSoq' })
172
- .sender({ address: sender })
173
- .to({ address: receiver.address })
174
- .validity({ firstValid: 3933, maxDuration: 64 })
175
- .referenceBlock('0x149799bc9602cb5cf201f3425fb8d253b2d4e61fc119dcab3249f307f594754d')
176
- .sequenceId({ name: 'Nonce', keyword: 'nonce', value: 200 })
177
- .fee({ amount: 0, type: 'tip' });
178
- transferBuilder.addSignature({ pub: dotKeyPair.getKeys().pub }, rawSignature);
179
- let signedTransaction = await transferBuilder.build();
180
- signedTransaction.signature.length.should.equal(1);
181
- signedTransaction.signature[0].should.equal(rawSignature.toString('hex'));
182
- // signing with A and C
183
- A_sign_share = MPC.signShare(signablePayload, A_combine.pShare, [A_combine.jShares[3]]);
184
- let C_sign_share = MPC.signShare(signablePayload, C_combine.pShare, [C_combine.jShares[1]]);
185
- A_sign = MPC.sign(signablePayload, A_sign_share.xShare, [C_sign_share.rShares[1]], [B.yShares[1]]);
186
- let C_sign = MPC.sign(signablePayload, C_sign_share.xShare, [A_sign_share.rShares[3]], [B.yShares[3]]);
187
- signature = MPC.signCombine([A_sign, C_sign]);
188
- rawSignature = Buffer.concat([Buffer.from(signature.R, 'hex'), Buffer.from(signature.sigma, 'hex')]);
189
- transferBuilder = factory
190
- .getTransferBuilder()
191
- .amount('90034235235322')
192
- .to({ address: '5Ffp1wJCPu4hzVDTo7XaMLqZSvSadyUQmxWPDw74CBjECSoq' })
193
- .sender({ address: sender })
194
- .to({ address: receiver.address })
195
- .validity({ firstValid: 3933, maxDuration: 64 })
196
- .referenceBlock('0x149799bc9602cb5cf201f3425fb8d253b2d4e61fc119dcab3249f307f594754d')
197
- .sequenceId({ name: 'Nonce', keyword: 'nonce', value: 200 })
198
- .fee({ amount: 0, type: 'tip' });
199
- transferBuilder.addSignature({ pub: dotKeyPair.getKeys().pub }, rawSignature);
200
- signedTransaction = await transferBuilder.build();
201
- signedTransaction.signature.length.should.equal(1);
202
- signedTransaction.signature[0].should.equal(rawSignature.toString('hex'));
203
- // signing with B and C
204
- B_sign_share = MPC.signShare(signablePayload, B_combine.pShare, [B_combine.jShares[3]]);
205
- C_sign_share = MPC.signShare(signablePayload, C_combine.pShare, [C_combine.jShares[2]]);
206
- B_sign = MPC.sign(signablePayload, B_sign_share.xShare, [C_sign_share.rShares[2]], [A.yShares[2]]);
207
- C_sign = MPC.sign(signablePayload, C_sign_share.xShare, [B_sign_share.rShares[3]], [A.yShares[3]]);
208
- signature = MPC.signCombine([B_sign, C_sign]);
209
- rawSignature = Buffer.concat([Buffer.from(signature.R, 'hex'), Buffer.from(signature.sigma, 'hex')]);
210
- transferBuilder = factory
211
- .getTransferBuilder()
212
- .amount('90034235235322')
213
- .to({ address: '5Ffp1wJCPu4hzVDTo7XaMLqZSvSadyUQmxWPDw74CBjECSoq' })
214
- .sender({ address: sender })
215
- .to({ address: receiver.address })
216
- .validity({ firstValid: 3933, maxDuration: 64 })
217
- .referenceBlock('0x149799bc9602cb5cf201f3425fb8d253b2d4e61fc119dcab3249f307f594754d')
218
- .sequenceId({ name: 'Nonce', keyword: 'nonce', value: 200 })
219
- .fee({ amount: 0, type: 'tip' });
220
- transferBuilder.addSignature({ pub: dotKeyPair.getKeys().pub }, rawSignature);
221
- signedTransaction = await transferBuilder.build();
222
- signedTransaction.signature.length.should.equal(1);
223
- signedTransaction.signature[0].should.equal(rawSignature.toString('hex'));
224
- const rebuiltTransaction = await factory
225
- .from(signedTransaction.toBroadcastFormat())
226
- .validity({ firstValid: 3933, maxDuration: 64 })
227
- .referenceBlock('0x149799bc9602cb5cf201f3425fb8d253b2d4e61fc119dcab3249f307f594754d')
228
- .build();
229
- rebuiltTransaction.signature[0].should.equal(rawSignature.toString('hex'));
230
- });
231
- });
232
- });
233
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Rlc3QvdW5pdC90cmFuc2FjdGlvbkJ1aWxkZXIvYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSw4Q0FBb0Y7QUFDcEYsNENBQTJFO0FBRTNFLG9EQUE0QjtBQUM1QixvREFBNEI7QUFDNUIsa0RBQTBCO0FBQzFCLDBDQUF1RztBQUV2RyxtRUFBMkM7QUFDM0MsK0NBQWlHO0FBUTFGLE1BQU0sZUFBZSxHQUFHLEdBQXlCLEVBQUU7SUFDeEQsT0FBTyxlQUFLLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQzNCLENBQUMsQ0FBQztBQUZXLFFBQUEsZUFBZSxtQkFFMUI7QUFFRixNQUFNLHNCQUF1QixTQUFRLHdCQUFrQjtJQUMzQywwQkFBMEIsQ0FBQyxVQUFtRDtRQUN0RixPQUFPO0lBQ1QsQ0FBQztJQUNTLGdCQUFnQjtRQUN4QixNQUFNLElBQUksS0FBSyxDQUFDLHlCQUF5QixDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVELFNBQVM7UUFDUCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdEIsQ0FBQztJQUVELGlCQUFpQjtRQUNmLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQztJQUM5QixDQUFDO0lBRUQsUUFBUTtRQUNOLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBRUQsTUFBTTtRQUNKLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztJQUNuQixDQUFDO0lBRUQsWUFBWTtRQUNWLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUN6QixDQUFDO0lBRUQsbUJBQW1CO1FBQ2pCLE9BQU8sS0FBSyxDQUFDLG1CQUFtQixFQUFFLENBQUM7SUFDckMsQ0FBQztJQUVELGtCQUFrQixDQUFDLGNBQXNCO1FBQ3ZDLE9BQU8sS0FBSyxDQUFDLGtCQUFrQixDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFF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RUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLENBQUM7aUJBQzNELEdBQUcsQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7WUFDbkMsZUFBZSxDQUFDLFlBQVksQ0FBQyxFQUFFLEdBQUcsRUFBRSxVQUFVLENBQUMsT0FBTyxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUUsWUFBWSxDQUFDLENBQUM7WUFDOUUsaUJBQWlCLEdBQUcsTUFBTSxlQUFlLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDbEQsaUJBQWlCLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ25ELGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUUxRSxNQUFNLGtCQUFrQixHQUFHLE1BQU0sT0FBTztpQkFDckMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGlCQUFpQixFQUFFLENBQUM7aUJBQzNDLFFBQVEsQ0FBQyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLEVBQUUsRUFBRSxDQUFDO2lCQUMvQyxjQUFjLENBQUMsb0VBQW9FLENBQUM7aUJBQ3BGLEtBQUssRUFBRSxDQUFDO1lBRVgsa0JBQWtCLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQzdFLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VLZXksIERvdEFkZHJlc3NGb3JtYXQsIEVkZHNhLCBUcmFuc2FjdGlvblR5cGUgfSBmcm9tICdAYml0Z28vc2RrLWNvcmUnO1xuaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZywgY29pbnMsIERvdE5ldHdvcmsgfSBmcm9tICdAYml0Z28vc3RhdGljcyc7XG5pbXBvcnQgeyBEZWNvZGVkU2lnbmVkVHgsIERlY29kZWRTaWduaW5nUGF5bG9hZCwgVW5zaWduZWRUcmFuc2FjdGlvbiB9IGZyb20gJ0BzdWJzdHJhdGUvdHh3cmFwcGVyLWNvcmUnO1xuaW1wb3J0IGFzc2VydCBmcm9tICdhc3NlcnQnO1xuaW1wb3J0IHNob3VsZCBmcm9tICdzaG91bGQnO1xuaW1wb3J0IHNpbm9uIGZyb20gJ3Npbm9uJztcbmltcG9ydCB7IEtleVBhaXIsIFRyYW5zYWN0aW9uLCBUcmFuc2FjdGlvbkJ1aWxkZXIsIFRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnkgfSBmcm9tICcuLi8uLi8uLi9zcmMvbGliJztcbmltcG9ydCB7IE1hdGVyaWFsIH0gZnJvbSAnLi4vLi4vLi4vc3JjL2xpYi9pZmFjZSc7XG5pbXBvcnQgdXRpbHMgZnJvbSAnLi4vLi4vLi4vc3JjL2xpYi91dGlscyc7XG5pbXBvcnQgeyBhY2NvdW50cywgY2hhaW5OYW1lLCBnZW5lc2lzSGFzaCwgcmF3VHgsIHNwZWNOYW1lLCBzcGVjVmVyc2lvbiB9IGZyb20gJy4uLy4uL3Jlc291cmNlcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGVzdERvdE5ldHdvcmsgZXh0ZW5kcyBEb3ROZXR3b3JrIHtcbiAgZ2VuZXNpc0hhc2g6IHN0cmluZztcbiAgc3BlY1ZlcnNpb246IG51bWJlcjtcbiAgbWV0YWRhdGFScGM6IGAweCR7c3RyaW5nfWA7XG59XG5cbmV4cG9ydCBjb25zdCBidWlsZFRlc3RDb25maWcgPSAoKTogUmVhZG9ubHk8Q29pbkNvbmZpZz4gPT4ge1xuICByZXR1cm4gY29pbnMuZ2V0KCd0ZG90Jyk7XG59O1xuXG5jbGFzcyBTdHViVHJhbnNhY3Rpb25CdWlsZGVyIGV4dGVuZHMgVHJhbnNhY3Rpb25CdWlsZGVyIHtcbiAgcHJvdGVjdGVkIHZhbGlkYXRlRGVjb2RlZFRyYW5zYWN0aW9uKGRlY29kZWRUeG46IERlY29kZWRTaWduaW5nUGF5bG9hZCB8IERlY29kZWRTaWduZWRUeCk6IHZvaWQge1xuICAgIHJldHVybjtcbiAgfVxuICBwcm90ZWN0ZWQgYnVpbGRUcmFuc2FjdGlvbigpOiBVbnNpZ25lZFRyYW5zYWN0aW9uIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ01ldGhvZCBub3QgaW1wbGVtZW50ZWQuJyk7XG4gIH1cblxuICBnZXRTZW5kZXIoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fc2VuZGVyO1xuICB9XG5cbiAgZ2V0UmVmZXJlbmNlQmxvY2soKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fcmVmZXJlbmNlQmxvY2s7XG4gIH1cblxuICBnZXROb25jZSgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9ub25jZTtcbiAgfVxuXG4gIGdldFRpcCgpOiBudW1iZXIgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLl90aXA7XG4gIH1cblxuICBnZXRFcmFQZXJpb2QoKTogbnVtYmVyIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5fZXJhUGVyaW9kO1xuICB9XG5cbiAgYnVpbGRJbXBsZW1lbnRhdGlvbigpOiBQcm9taXNlPFRyYW5zYWN0aW9uPiB7XG4gICAgcmV0dXJuIHN1cGVyLmJ1aWxkSW1wbGVtZW50YXRpb24oKTtcbiAgfVxuXG4gIGZyb21JbXBsZW1lbnRhdGlvbihyYXdUcmFuc2FjdGlvbjogc3RyaW5nKTogVHJhbnNhY3Rpb24ge1xuICAgIHJldHVybiBzdXBlci5mcm9tSW1wbGVtZW50YXRpb24ocmF3VHJhbnNhY3Rpb24pO1xuICB9XG5cbiAgc2lnbkltcGxlbWVudGF0aW9uKGtleTogQmFzZUtleSk6IFRyYW5zYWN0aW9uIHtcbiAgICByZXR1cm4gc3VwZXIuc2lnbkltcGxlbWVudGF0aW9uKGtleSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IHRyYW5zYWN0aW9uVHlwZSgpOiBUcmFuc2FjdGlvblR5cGUge1xuICAgIHRocm93IG5ldyBFcnJvcignTWV0aG9kIG5vdCBpbXBsZW1lbnRlZC4nKTtcbiAgfVxuXG4gIGdldFRyYW5zYWN0aW9uKCk6IFRyYW5zYWN0aW9uIHtcbiAgICByZXR1cm4gdGhpcy5fdHJhbnNhY3Rpb247XG4gIH1cblxuICBnZXRNYXRlcmlhbCgpOiBNYXRlcmlhbCB7XG4gICAgcmV0dXJuIHRoaXMuX21hdGVyaWFsO1xuICB9XG59XG5cbmRlc2NyaWJlKCdEb3QgVHJhbnNmZXIgQnVpbGRlciBCYXNlJywgKCkgPT4ge1xuICBsZXQgYnVpbGRlcjogU3R1YlRyYW5zYWN0aW9uQnVpbGRlcjtcblxuICBjb25zdCBzZW5kZXIgPSBhY2NvdW50cy5hY2NvdW50MTtcbiAgY29uc3QgcmVjZWl2ZXIgPSBhY2NvdW50cy5hY2NvdW50MjtcblxuICBiZWZvcmVFYWNoKCgpID0+IHtcbiAgICBidWlsZGVyID0gbmV3IFN0dWJUcmFuc2FjdGlvbkJ1aWxkZXIoYnVpbGRUZXN0Q29uZmlnKCkpO1xuICB9KTtcblxuICBkZXNjcmliZSgnc2V0dGVyIHZhbGlkYXRpb24nLCAoKSA9PiB7XG4gICAgaXQoJ3Nob3VsZCB2YWxpZGF0ZSBzZW5kZXIgYWRkcmVzcycsICgpID0+IHtcbiAgICAgIGNvbnN0IHNweSA9IHNpbm9uLnNweShidWlsZGVyLCAndmFsaWRhdGVBZGRyZXNzJyk7XG4gICAgICBhc3NlcnQudGhyb3dzKFxuICAgICAgICAoKSA9PiBidWlsZGVyLnNlbmRlcih7IGFkZHJlc3M6ICdhc2QnIH0pLFxuICAgICAgICAoZTogRXJyb3IpID0+IGUubWVzc2FnZSA9PT0gYFRoZSBhZGRyZXNzICdhc2QnIGlzIG5vdCBhIHdlbGwtZm9ybWVkIGRvdCBhZGRyZXNzYFxuICAgICAgKTtcbiAgICAgIHNob3VsZC5kb2VzTm90VGhyb3coKCkgPT4gYnVpbGRlci5zZW5kZXIoeyBhZGRyZXNzOiBzZW5kZXIuYWRkcmVzcyB9KSk7XG4gICAgICBzaW5vbi5hc3NlcnQuY2FsbGVkVHdpY2Uoc3B5KTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgdmFsaWRhdGUgZXJhUGVyaW9kJywgKCkgPT4ge1xuICAgICAgY29uc3Qgc3B5ID0gc2lub24uc3B5KGJ1aWxkZXIsICd2YWxpZGF0ZVZhbHVlJyk7XG4gICAgICBhc3NlcnQudGhyb3dzKFxuICAgICAgICAoKSA9PiBidWlsZGVyLnZhbGlkaXR5KHsgbWF4RHVyYXRpb246IC0xIH0pLFxuICAgICAgICAoZTogRXJyb3IpID0+IGUubWVzc2FnZSA9PT0gJ1ZhbHVlIGNhbm5vdCBiZSBsZXNzIHRoYW4gemVybydcbiAgICAgICk7XG4gICAgICBzaG91bGQuZG9lc05vdFRocm93KCgpID0+IGJ1aWxkZXIudmFsaWRpdHkoeyBtYXhEdXJhdGlvbjogNjQgfSkpO1xuICAgICAgc2lub24uYXNzZXJ0LmNhbGxlZFR3aWNlKHNweSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHZhbGlkYXRlIG5vbmNlJywgKCkgPT4ge1xuICAgICAgY29uc3Qgc3B5ID0gc2lub24uc3B5KGJ1aWxkZXIsICd2YWxpZGF0ZVZhbHVlJyk7XG4gICAgICBhc3NlcnQudGhyb3dzKFxuICAgICAgICAoKSA9PiBidWlsZGVyLnNlcXVlbmNlSWQoeyBuYW1lOiAnTm9uY2UnLCBrZXl3b3JkOiAnbm9uY2UnLCB2YWx1ZTogLTEgfSksXG4gICAgICAgIChlOiBFcnJvcikgPT4gZS5tZXNzYWdlID09PSAnVmFsdWUgY2Fubm90IGJlIGxlc3MgdGhhbiB6ZXJvJ1xuICAgICAgKTtcbiAgICAgIHNob3VsZC5kb2VzTm90VGhyb3coKCkgPT4gYnVpbGRlci5zZXF1ZW5jZUlkKHsgbmFtZTogJ05vbmNlJywga2V5d29yZDogJ25vbmNlJywgdmFsdWU6IDEwIH0pKTtcbiAgICAgIHNpbm9uLmFzc2VydC5jYWxsZWRUd2ljZShzcHkpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCB2YWxpZGF0ZSB0aXAnLCAoKSA9PiB7XG4gICAgICBjb25zdCBzcHkgPSBzaW5vbi5zcHkoYnVpbGRlciwgJ3ZhbGlkYXRlVmFsdWUnKTtcbiAgICAgIGFzc2VydC50aHJvd3MoXG4gICAgICAgICgpID0+IGJ1aWxkZXIuZmVlKHsgYW1vdW50OiAtMSwgdHlwZTogJ3RpcCcgfSksXG4gICAgICAgIChlOiBFcnJvcikgPT4gZS5tZXNzYWdlID09PSAnVmFsdWUgY2Fubm90IGJlIGxlc3MgdGhhbiB6ZXJvJ1xuICAgICAgKTtcbiAgICAgIHNob3VsZC5kb2VzTm90VGhyb3coKCkgPT4gYnVpbGRlci5mZWUoeyBhbW91bnQ6IDEwLCB0eXBlOiAndGlwJyB9KSk7XG4gICAgICBzaW5vbi5hc3NlcnQuY2FsbGVkVHdpY2Uoc3B5KTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgdmFsaWRhdGUgYmxvY2tOdW1iZXInLCAoKSA9PiB7XG4gICAgICBjb25zdCBzcHkgPSBzaW5vbi5zcHkoYnVpbGRlciwgJ3ZhbGlkYXRlVmFsdWUnKTtcbiAgICAgIGFzc2VydC50aHJvd3MoXG4gICAgICAgICgpID0+IGJ1aWxkZXIudmFsaWRpdHkoeyBmaXJzdFZhbGlkOiAtMSB9KSxcbiAgICAgICAgKGU6IEVycm9yKSA9PiBlLm1lc3NhZ2UgPT09ICdWYWx1ZSBjYW5ub3QgYmUgbGVzcyB0aGFuIHplcm8nXG4gICAgICApO1xuICAgICAgc2hvdWxkLmRvZXNOb3RUaHJvdygoKSA9PiBidWlsZGVyLnZhbGlkaXR5KHsgZmlyc3RWYWxpZDogMTAgfSkpO1xuICAgICAgc2lub24uYXNzZXJ0LmNhbGxlZFR3aWNlKHNweSk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdidWlsZCBiYXNlIHRyYW5zYWN0aW9uJywgKCkgPT4ge1xuICAgIGl0KCdzaG91bGQgYnVpbGQgdmFsaWRhdGUgYmFzZSBmaWVsZHMnLCBhc3luYyAoKSA9PiB7XG4gICAgICBidWlsZGVyXG4gICAgICAgIC5tYXRlcmlhbCh1dGlscy5nZXRNYXRlcmlhbChidWlsZFRlc3RDb25maWcoKSkpXG4gICAgICAgIC5zZW5kZXIoeyBhZGRyZXNzOiBzZW5kZXIuYWRkcmVzcyB9KVxuICAgICAgICAudmFsaWRpdHkoeyBmaXJzdFZhbGlkOiAzOTMzLCBtYXhEdXJhdGlvbjogNjQgfSlcbiAgICAgICAgLnJlZmVyZW5jZUJsb2NrKCcweDE0OTc5OWJjOTYwMmNiNWNmMjAxZjM0MjVmYjhkMjUzYjJkNGU2MWZjMTE5ZGNhYjMyNDlmMzA3ZjU5NDc1NGQnKVxuICAgICAgICAuc2VxdWVuY2VJZCh7IG5hbWU6ICdOb25jZScsIGtleXdvcmQ6ICdub25jZScsIHZhbHVlOiAyMDAgfSlcbiAgICAgICAgLmZlZSh7IGFtb3VudDogMCwgdHlwZTogJ3RpcCcgfSk7XG4gICAgICBzaG91bGQuZG9lc05vdFRocm93KCgpID0+IGJ1aWxkZXIudmFsaWRhdGVUcmFuc2FjdGlvbihidWlsZGVyLmdldFRyYW5zYWN0aW9uKCkpKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgYnVpbGQgYSBiYXNlIHRyYW5zYWN0aW9uIG9uIHRlc3RuZXQnLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCBtYXRlcmlhbCA9IGJ1aWxkZXIuZ2V0TWF0ZXJpYWwoKTtcbiAgICAgIHNob3VsZC5kZWVwRXF1YWwobWF0ZXJpYWwuc3BlY05hbWUsIHNwZWNOYW1lKTtcbiAgICAgIHNob3VsZC5kZWVwRXF1YWwobWF0ZXJpYWwuZ2VuZXNpc0hhc2gsIGdlbmVzaXNIYXNoKTtcbiAgICAgIHNob3VsZC5kZWVwRXF1YWwobWF0ZXJpYWwuc3BlY1ZlcnNpb24sIHNwZWNWZXJzaW9uKTtcbiAgICAgIHNob3VsZC5kZWVwRXF1YWwobWF0ZXJpYWwuY2hhaW5OYW1lLCBjaGFpbk5hbWUpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBidWlsZCBmcm9tIHJhdyBzaWduZWQgdHgnLCBhc3luYyAoKSA9PiB7XG4gICAgICBidWlsZGVyLmZyb20ocmF3VHgudHJhbnNmZXIuc2lnbmVkKTtcbiAgICAgIHNob3VsZC5kZWVwRXF1YWwoYnVpbGRlci5nZXRTZW5kZXIoKSwgc2VuZGVyLmFkZHJlc3MpO1xuICAgICAgc2hvdWxkLmRlZXBFcXVhbChidWlsZGVyLmdldE5vbmNlKCksIDIwMCk7XG4gICAgICBzaG91bGQuZGVlcEVxdWFsKGJ1aWxkZXIuZ2V0RXJhUGVyaW9kKCksIDY0KTtcbiAgICAgIHNob3VsZC5kZWVwRXF1YWwoYnVpbGRlci5nZXRUaXAoKSwgdW5kZWZpbmVkKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgYnVpbGQgZnJvbSByYXcgdW5zaWduZWQgdHgnLCBhc3luYyAoKSA9PiB7XG4gICAgICBidWlsZGVyLmZyb20ocmF3VHgudHJhbnNmZXIudW5zaWduZWQpO1xuICAgICAgc2hvdWxkLmRlZXBFcXVhbChcbiAgICAgICAgYnVpbGRlci5nZXRSZWZlcmVuY2VCbG9jaygpLFxuICAgICAgICAnMHgxNDk3OTliYzk2MDJjYjVjZjIwMWYzNDI1ZmI4ZDI1M2IyZDRlNjFmYzExOWRjYWIzMjQ5ZjMwN2Y1OTQ3NTRkJ1xuICAgICAgKTtcbiAgICAgIHNob3VsZC5kZWVwRXF1YWwoYnVpbGRlci5nZXROb25jZSgpLCAyMDApO1xuICAgICAgc2hvdWxkLmRlZXBFcXVhbChidWlsZGVyLmdldEVyYVBlcmlvZCgpLCA2NCk7XG4gICAgICBzaG91bGQuZGVlcEVxdWFsKGJ1aWxkZXIuZ2V0VGlwKCksIHVuZGVmaW5lZCk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdhZGQgVFNTIHNpZ25hdHVyZScsIGZ1bmN0aW9uICgpIHtcbiAgICBsZXQgTVBDOiBFZGRzYTtcbiAgICBiZWZvcmUoJ2luaXRpYWxpemUgbXBjIG1vZHVsZScsIGFzeW5jICgpID0+IHtcbiAgICAgIE1QQyA9IGF3YWl0IEVkZHNhLmluaXRpYWxpemUoKTtcbiAgICB9KTtcbiAgICBpdCgnc2hvdWxkIGFkZCBUU1Mgc2lnbmF0dXJlJywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgZmFjdG9yeSA9IG5ldyBUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5KGNvaW5zLmdldCgndGRvdCcpKTtcblxuICAgICAgY29uc3QgQSA9IE1QQy5rZXlTaGFyZSgxLCAyLCAzKTtcbiAgICAgIGNvbnN0IEIgPSBNUEMua2V5U2hhcmUoMiwgMiwgMyk7XG4gICAgICBjb25zdCBDID0gTVBDLmtleVNoYXJlKDMsIDIsIDMpO1xuXG4gICAgICBjb25zdCBBX2NvbWJpbmUgPSBNUEMua2V5Q29tYmluZShBLnVTaGFyZSwgW0IueVNoYXJlc1sxXSwgQy55U2hhcmVzWzFdXSk7XG4gICAgICBjb25zdCBCX2NvbWJpbmUgPSBNUEMua2V5Q29tYmluZShCLnVTaGFyZSwgW0EueVNoYXJlc1syXSwgQy55U2hhcmVzWzJdXSk7XG4gICAgICBjb25zdCBDX2NvbWJpbmUgPSBNUEMua2V5Q29tYmluZShDLnVTaGFyZSwgW0EueVNoYXJlc1szXSwgQi55U2hhcmVzWzNdXSk7XG5cbiAgICAgIGNvbnN0IGNvbW1vblB1YiA9IEFfY29tYmluZS5wU2hhcmUueTtcbiAgICAgIGNvbnN0IGRvdEtleVBhaXIgPSBuZXcgS2V5UGFpcih7IHB1YjogY29tbW9uUHViIH0pO1xuICAgICAgY29uc3Qgc2VuZGVyID0gZG90S2V5UGFpci5nZXRBZGRyZXNzKERvdEFkZHJlc3NGb3JtYXQuc3Vic3RyYXRlKTtcblxuICAgICAgbGV0IHRyYW5zZmVyQnVpbGRlciA9IGZhY3RvcnlcbiAgICAgICAgLmdldFRyYW5zZmVyQnVpbGRlcigpXG4gICAgICAgIC5hbW91bnQoJzkwMDM0MjM1MjM1MzIyJylcbiAgICAgICAgLnRvKHsgYWRkcmVzczogJzVGZnAxd0pDUHU0aHpWRFRvN1hhTUxxWlN2U2FkeVVRbXhXUER3NzRDQmpFQ1NvcScgfSlcbiAgICAgICAgLnNlbmRlcih7IGFkZHJlc3M6IHNlbmRlciB9KVxuICAgICAgICAudG8oeyBhZGRyZXNzOiByZWNlaXZlci5hZGRyZXNzIH0pXG4gICAgICAgIC52YWxpZGl0eSh7IGZpcnN0VmFsaWQ6IDM5MzMsIG1heER1cmF0aW9uOiA2NCB9KVxuICAgICAgICAucmVmZXJlbmNlQmxvY2soJzB4MTQ5Nzk5YmM5NjAyY2I1Y2YyMDFmMzQyNWZiOGQyNTNiMmQ0ZTYxZmMxMTlkY2FiMzI0OWYzMDdmNTk0NzU0ZCcpXG4gICAgICAgIC5zZXF1ZW5jZUlkKHsgbmFtZTogJ05vbmNlJywga2V5d29yZDogJ25vbmNlJywgdmFsdWU6IDIwMCB9KVxuICAgICAgICAuZmVlKHsgYW1vdW50OiAwLCB0eXBlOiAndGlwJyB9KTtcbiAgICAgIGNvbnN0IHVuc2lnbmVkVHJhbnNhY3Rpb24gPSBhd2FpdCB0cmFuc2ZlckJ1aWxkZXIuYnVpbGQoKTtcbiAgICAgIGNvbnN0IHNpZ25hYmxlUGF5bG9hZCA9IHVuc2lnbmVkVHJhbnNhY3Rpb24uc2lnbmFibGVQYXlsb2FkO1xuXG4gICAgICAvLyBzaWduaW5nIHdpdGggQSBhbmQgQlxuICAgICAgbGV0IEFfc2lnbl9zaGFyZSA9IE1QQy5zaWduU2hhcmUoc2lnbmFibGVQYXlsb2FkLCBBX2NvbWJpbmUucFNoYXJlLCBbQV9jb21iaW5lLmpTaGFyZXNbMl1dKTtcbiAgICAgIGxldCBCX3NpZ25fc2hhcmUgPSBNUEMuc2lnblNoYXJlKHNpZ25hYmxlUGF5bG9hZCwgQl9jb21iaW5lLnBTaGFyZSwgW0JfY29tYmluZS5qU2hhcmVzWzFdXSk7XG4gICAgICBsZXQgQV9zaWduID0gTVBDLnNpZ24oc2lnbmFibGVQYXlsb2FkLCBBX3NpZ25fc2hhcmUueFNoYXJlLCBbQl9zaWduX3NoYXJlLnJTaGFyZXNbMV1dLCBbQy55U2hhcmVzWzFdXSk7XG4gICAgICBsZXQgQl9zaWduID0gTVBDLnNpZ24oc2lnbmFibGVQYXlsb2FkLCBCX3NpZ25fc2hhcmUueFNoYXJlLCBbQV9zaWduX3NoYXJlLnJTaGFyZXNbMl1dLCBbQy55U2hhcmVzWzJdXSk7XG4gICAgICAvLyBzaWduIHRoZSBtZXNzYWdlX2J1ZmZlciAodW5zaWduZWQgdHhIZXgpXG4gICAgICBsZXQgc2lnbmF0dXJlID0gTVBDLnNpZ25Db21iaW5lKFtBX3NpZ24sIEJfc2lnbl0pO1xuICAgICAgbGV0IHJhd1NpZ25hdHVyZSA9IEJ1ZmZlci5jb25jYXQoW0J1ZmZlci5mcm9tKHNpZ25hdHVyZS5SLCAnaGV4JyksIEJ1ZmZlci5mcm9tKHNpZ25hdHVyZS5zaWdtYSwgJ2hleCcpXSk7XG4gICAgICB0cmFuc2ZlckJ1aWxkZXIgPSBmYWN0b3J5XG4gICAgICAgIC5nZXRUcmFuc2ZlckJ1aWxkZXIoKVxuICAgICAgICAuYW1vdW50KCc5MDAzNDIzNTIzNTMyMicpXG4gICAgICAgIC50byh7IGFkZHJlc3M6ICc1RmZwMXdKQ1B1NGh6VkRUbzdYYU1McVpTdlNhZHlVUW14V1BEdzc0Q0JqRUNTb3EnIH0pXG4gICAgICAgIC5zZW5kZXIoeyBhZGRyZXNzOiBzZW5kZXIgfSlcbiAgICAgICAgLnRvKHsgYWRkcmVzczogcmVjZWl2ZXIuYWRkcmVzcyB9KVxuICAgICAgICAudmFsaWRpdHkoeyBmaXJzdFZhbGlkOiAzOTMzLCBtYXhEdXJhdGlvbjogNjQgfSlcbiAgICAgICAgLnJlZmVyZW5jZUJsb2NrKCcweDE0OTc5OWJjOTYwMmNiNWNmMjAxZjM0MjVmYjhkMjUzYjJkNGU2MWZjMTE5ZGNhYjMyNDlmMzA3ZjU5NDc1NGQnKVxuICAgICAgICAuc2VxdWVuY2VJZCh7IG5hbWU6ICdOb25jZScsIGtleXdvcmQ6ICdub25jZScsIHZhbHVlOiAyMDAgfSlcbiAgICAgICAgLmZlZSh7IGFtb3VudDogMCwgdHlwZTogJ3RpcCcgfSk7XG4gICAgICB0cmFuc2ZlckJ1aWxkZXIuYWRkU2lnbmF0dXJlKHsgcHViOiBkb3RLZXlQYWlyLmdldEtleXMoKS5wdWIgfSwgcmF3U2lnbmF0dXJlKTtcbiAgICAgIGxldCBzaWduZWRUcmFuc2FjdGlvbiA9IGF3YWl0IHRyYW5zZmVyQnVpbGRlci5idWlsZCgpO1xuICAgICAgc2lnbmVkVHJhbnNhY3Rpb24uc2lnbmF0dXJlLmxlbmd0aC5zaG91bGQuZXF1YWwoMSk7XG4gICAgICBzaWduZWRUcmFuc2FjdGlvbi5zaWduYXR1cmVbMF0uc2hvdWxkLmVxdWFsKHJhd1NpZ25hdHVyZS50b1N0cmluZygnaGV4JykpO1xuXG4gICAgICAvLyBzaWduaW5nIHdpdGggQSBhbmQgQ1xuICAgICAgQV9zaWduX3NoYXJlID0gTVBDLnNpZ25TaGFyZShzaWduYWJsZVBheWxvYWQsIEFfY29tYmluZS5wU2hhcmUsIFtBX2NvbWJpbmUualNoYXJlc1szXV0pO1xuICAgICAgbGV0IENfc2lnbl9zaGFyZSA9IE1QQy5zaWduU2hhcmUoc2lnbmFibGVQYXlsb2FkLCBDX2NvbWJpbmUucFNoYXJlLCBbQ19jb21iaW5lLmpTaGFyZXNbMV1dKTtcbiAgICAgIEFfc2lnbiA9IE1QQy5zaWduKHNpZ25hYmxlUGF5bG9hZCwgQV9zaWduX3NoYXJlLnhTaGFyZSwgW0Nfc2lnbl9zaGFyZS5yU2hhcmVzWzFdXSwgW0IueVNoYXJlc1sxXV0pO1xuICAgICAgbGV0IENfc2lnbiA9IE1QQy5zaWduKHNpZ25hYmxlUGF5bG9hZCwgQ19zaWduX3NoYXJlLnhTaGFyZSwgW0Ffc2lnbl9zaGFyZS5yU2hhcmVzWzNdXSwgW0IueVNoYXJlc1szXV0pO1xuICAgICAgc2lnbmF0dXJlID0gTVBDLnNpZ25Db21iaW5lKFtBX3NpZ24sIENfc2lnbl0pO1xuICAgICAgcmF3U2lnbmF0dXJlID0gQnVmZmVyLmNvbmNhdChbQnVmZmVyLmZyb20oc2lnbmF0dXJlLlIsICdoZXgnKSwgQnVmZmVyLmZyb20oc2lnbmF0dXJlLnNpZ21hLCAnaGV4JyldKTtcbiAgICAgIHRyYW5zZmVyQnVpbGRlciA9IGZhY3RvcnlcbiAgICAgICAgLmdldFRyYW5zZmVyQnVpbGRlcigpXG4gICAgICAgIC5hbW91bnQoJzkwMDM0MjM1MjM1MzIyJylcbiAgICAgICAgLnRvKHsgYWRkcmVzczogJzVGZnAxd0pDUHU0aHpWRFRvN1hhTUxxWlN2U2FkeVVRbXhXUER3NzRDQmpFQ1NvcScgfSlcbiAgICAgICAgLnNlbmRlcih7IGFkZHJlc3M6IHNlbmRlciB9KVxuICAgICAgICAudG8oeyBhZGRyZXNzOiByZWNlaXZlci5hZGRyZXNzIH0pXG4gICAgICAgIC52YWxpZGl0eSh7IGZpcnN0VmFsaWQ6IDM5MzMsIG1heER1cmF0aW9uOiA2NCB9KVxuICAgICAgICAucmVmZXJlbmNlQmxvY2soJzB4MTQ5Nzk5YmM5NjAyY2I1Y2YyMDFmMzQyNWZiOGQyNTNiMmQ0ZTYxZmMxMTlkY2FiMzI0OWYzMDdmNTk0NzU0ZCcpXG4gICAgICAgIC5zZXF1ZW5jZUlkKHsgbmFtZTogJ05vbmNlJywga2V5d29yZDogJ25vbmNlJywgdmFsdWU6IDIwMCB9KVxuICAgICAgICAuZmVlKHsgYW1vdW50OiAwLCB0eXBlOiAndGlwJyB9KTtcbiAgICAgIHRyYW5zZmVyQnVpbGRlci5hZGRTaWduYXR1cmUoeyBwdWI6IGRvdEtleVBhaXIuZ2V0S2V5cygpLnB1YiB9LCByYXdTaWduYXR1cmUpO1xuICAgICAgc2lnbmVkVHJhbnNhY3Rpb24gPSBhd2FpdCB0cmFuc2ZlckJ1aWxkZXIuYnVpbGQoKTtcbiAgICAgIHNpZ25lZFRyYW5zYWN0aW9uLnNpZ25hdHVyZS5sZW5ndGguc2hvdWxkLmVxdWFsKDEpO1xuICAgICAgc2lnbmVkVHJhbnNhY3Rpb24uc2lnbmF0dXJlWzBdLnNob3VsZC5lcXVhbChyYXdTaWduYXR1cmUudG9TdHJpbmcoJ2hleCcpKTtcblxuICAgICAgLy8gc2lnbmluZyB3aXRoIEIgYW5kIENcbiAgICAgIEJfc2lnbl9zaGFyZSA9IE1QQy5zaWduU2hhcmUoc2lnbmFibGVQYXlsb2FkLCBCX2NvbWJpbmUucFNoYXJlLCBbQl9jb21iaW5lLmpTaGFyZXNbM11dKTtcbiAgICAgIENfc2lnbl9zaGFyZSA9IE1QQy5zaWduU2hhcmUoc2lnbmFibGVQYXlsb2FkLCBDX2NvbWJpbmUucFNoYXJlLCBbQ19jb21iaW5lLmpTaGFyZXNbMl1dKTtcbiAgICAgIEJfc2lnbiA9IE1QQy5zaWduKHNpZ25hYmxlUGF5bG9hZCwgQl9zaWduX3NoYXJlLnhTaGFyZSwgW0Nfc2lnbl9zaGFyZS5yU2hhcmVzWzJdXSwgW0EueVNoYXJlc1syXV0pO1xuICAgICAgQ19zaWduID0gTVBDLnNpZ24oc2lnbmFibGVQYXlsb2FkLCBDX3NpZ25fc2hhcmUueFNoYXJlLCBbQl9zaWduX3NoYXJlLnJTaGFyZXNbM11dLCBbQS55U2hhcmVzWzNdXSk7XG4gICAgICBzaWduYXR1cmUgPSBNUEMuc2lnbkNvbWJpbmUoW0Jfc2lnbiwgQ19zaWduXSk7XG4gICAgICByYXdTaWduYXR1cmUgPSBCdWZmZXIuY29uY2F0KFtCdWZmZXIuZnJvbShzaWduYXR1cmUuUiwgJ2hleCcpLCBCdWZmZXIuZnJvbShzaWduYXR1cmUuc2lnbWEsICdoZXgnKV0pO1xuICAgICAgdHJhbnNmZXJCdWlsZGVyID0gZmFjdG9yeVxuICAgICAgICAuZ2V0VHJhbnNmZXJCdWlsZGVyKClcbiAgICAgICAgLmFtb3VudCgnOTAwMzQyMzUyMzUzMjInKVxuICAgICAgICAudG8oeyBhZGRyZXNzOiAnNUZmcDF3SkNQdTRoelZEVG83WGFNTHFaU3ZTYWR5VVFteFdQRHc3NENCakVDU29xJyB9KVxuICAgICAgICAuc2VuZGVyKHsgYWRkcmVzczogc2VuZGVyIH0pXG4gICAgICAgIC50byh7IGFkZHJlc3M6IHJlY2VpdmVyLmFkZHJlc3MgfSlcbiAgICAgICAgLnZhbGlkaXR5KHsgZmlyc3RWYWxpZDogMzkzMywgbWF4RHVyYXRpb246IDY0IH0pXG4gICAgICAgIC5yZWZlcmVuY2VCbG9jaygnMHgxNDk3OTliYzk2MDJjYjVjZjIwMWYzNDI1ZmI4ZDI1M2IyZDRlNjFmYzExOWRjYWIzMjQ5ZjMwN2Y1OTQ3NTRkJylcbiAgICAgICAgLnNlcXVlbmNlSWQoeyBuYW1lOiAnTm9uY2UnLCBrZXl3b3JkOiAnbm9uY2UnLCB2YWx1ZTogMjAwIH0pXG4gICAgICAgIC5mZWUoeyBhbW91bnQ6IDAsIHR5cGU6ICd0aXAnIH0pO1xuICAgICAgdHJhbnNmZXJCdWlsZGVyLmFkZFNpZ25hdHVyZSh7IHB1YjogZG90S2V5UGFpci5nZXRLZXlzKCkucHViIH0sIHJhd1NpZ25hdHVyZSk7XG4gICAgICBzaWduZWRUcmFuc2FjdGlvbiA9IGF3YWl0IHRyYW5zZmVyQnVpbGRlci5idWlsZCgpO1xuICAgICAgc2lnbmVkVHJhbnNhY3Rpb24uc2lnbmF0dXJlLmxlbmd0aC5zaG91bGQuZXF1YWwoMSk7XG4gICAgICBzaWduZWRUcmFuc2FjdGlvbi5zaWduYXR1cmVbMF0uc2hvdWxkLmVxdWFsKHJhd1NpZ25hdHVyZS50b1N0cmluZygnaGV4JykpO1xuXG4gICAgICBjb25zdCByZWJ1aWx0VHJhbnNhY3Rpb24gPSBhd2FpdCBmYWN0b3J5XG4gICAgICAgIC5mcm9tKHNpZ25lZFRyYW5zYWN0aW9uLnRvQnJvYWRjYXN0Rm9ybWF0KCkpXG4gICAgICAgIC52YWxpZGl0eSh7IGZpcnN0VmFsaWQ6IDM5MzMsIG1heER1cmF0aW9uOiA2NCB9KVxuICAgICAgICAucmVmZXJlbmNlQmxvY2soJzB4MTQ5Nzk5YmM5NjAyY2I1Y2YyMDFmMzQyNWZiOGQyNTNiMmQ0ZTYxZmMxMTlkY2FiMzI0OWYzMDdmNTk0NzU0ZCcpXG4gICAgICAgIC5idWlsZCgpO1xuXG4gICAgICByZWJ1aWx0VHJhbnNhY3Rpb24uc2lnbmF0dXJlWzBdLnNob3VsZC5lcXVhbChyYXdTaWduYXR1cmUudG9TdHJpbmcoJ2hleCcpKTtcbiAgICB9KTtcbiAgfSk7XG59KTtcbiJdfQ==
@@ -1 +0,0 @@
1
- {"version":3,"file":"batchTransactionBuilder.d.ts","sourceRoot":"","sources":["../../../../test/unit/transactionBuilder/batchTransactionBuilder.ts"],"names":[],"mappings":""}