@bitgo-beta/sdk-coin-dot 2.2.8-beta.18 → 2.2.8-beta.1800

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 (289) hide show
  1. package/dist/{src → cjs/src}/dot.d.ts +22 -28
  2. package/dist/cjs/src/dot.d.ts.map +1 -0
  3. package/dist/cjs/src/dot.js +623 -0
  4. package/dist/cjs/src/index.d.ts.map +1 -0
  5. package/dist/{src → cjs/src}/index.js +6 -2
  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/{src → cjs/src}/lib/batchTransactionBuilder.d.ts +1 -0
  9. package/dist/cjs/src/lib/batchTransactionBuilder.d.ts.map +1 -0
  10. package/dist/cjs/src/lib/batchTransactionBuilder.js +229 -0
  11. package/dist/cjs/src/lib/claimBuilder.d.ts.map +1 -0
  12. package/dist/cjs/src/lib/claimBuilder.js +117 -0
  13. package/dist/cjs/src/lib/errors.d.ts.map +1 -0
  14. package/dist/cjs/src/lib/errors.js +19 -0
  15. package/dist/{src → cjs/src}/lib/iface.d.ts +17 -14
  16. package/dist/cjs/src/lib/iface.d.ts.map +1 -0
  17. package/dist/cjs/src/lib/iface.js +128 -0
  18. package/dist/cjs/src/lib/iface_utils.d.ts.map +1 -0
  19. package/dist/cjs/src/lib/iface_utils.js +92 -0
  20. package/dist/{src → cjs/src}/lib/index.d.ts +2 -0
  21. package/dist/cjs/src/lib/index.d.ts.map +1 -0
  22. package/dist/cjs/src/lib/index.js +73 -0
  23. package/dist/{src → cjs/src}/lib/keyPair.d.ts +7 -0
  24. package/dist/cjs/src/lib/keyPair.d.ts.map +1 -0
  25. package/dist/cjs/src/lib/keyPair.js +117 -0
  26. package/dist/cjs/src/lib/nativeTransferBuilder.d.ts.map +1 -0
  27. package/dist/cjs/src/lib/nativeTransferBuilder.js +219 -0
  28. package/dist/cjs/src/lib/proxyBuilder.d.ts.map +1 -0
  29. package/dist/cjs/src/lib/proxyBuilder.js +116 -0
  30. package/dist/cjs/src/lib/singletonRegistry.d.ts.map +1 -0
  31. package/dist/cjs/src/lib/singletonRegistry.js +20 -0
  32. package/dist/cjs/src/lib/stakingBuilder.d.ts.map +1 -0
  33. package/dist/cjs/src/lib/stakingBuilder.js +167 -0
  34. package/dist/{src → cjs/src}/lib/transaction.d.ts +0 -1
  35. package/dist/cjs/src/lib/transaction.d.ts.map +1 -0
  36. package/dist/cjs/src/lib/transaction.js +624 -0
  37. package/dist/{src → cjs/src}/lib/transactionBuilder.d.ts +0 -1
  38. package/dist/cjs/src/lib/transactionBuilder.d.ts.map +1 -0
  39. package/dist/cjs/src/lib/transactionBuilder.js +351 -0
  40. package/dist/cjs/src/lib/transactionBuilderFactory.d.ts.map +1 -0
  41. package/dist/cjs/src/lib/transactionBuilderFactory.js +104 -0
  42. package/dist/cjs/src/lib/transferBuilder.d.ts.map +1 -0
  43. package/dist/cjs/src/lib/transferBuilder.js +11 -0
  44. package/dist/cjs/src/lib/txnSchema.d.ts.map +1 -0
  45. package/dist/cjs/src/lib/txnSchema.js +117 -0
  46. package/dist/cjs/src/lib/unnominateBuilder.d.ts.map +1 -0
  47. package/dist/cjs/src/lib/unnominateBuilder.js +48 -0
  48. package/dist/cjs/src/lib/unstakeBuilder.d.ts.map +1 -0
  49. package/dist/cjs/src/lib/unstakeBuilder.js +87 -0
  50. package/dist/{src → cjs/src}/lib/utils.d.ts +10 -2
  51. package/dist/cjs/src/lib/utils.d.ts.map +1 -0
  52. package/dist/cjs/src/lib/utils.js +491 -0
  53. package/dist/cjs/src/lib/wasmParser.d.ts +57 -0
  54. package/dist/cjs/src/lib/wasmParser.d.ts.map +1 -0
  55. package/dist/cjs/src/lib/wasmParser.js +345 -0
  56. package/dist/cjs/src/lib/withdrawUnstakedBuilder.d.ts.map +1 -0
  57. package/dist/cjs/src/lib/withdrawUnstakedBuilder.js +88 -0
  58. package/dist/cjs/src/register.d.ts.map +1 -0
  59. package/dist/cjs/src/register.js +11 -0
  60. package/dist/cjs/src/resources/index.d.ts +5 -0
  61. package/dist/cjs/src/resources/index.d.ts.map +1 -0
  62. package/dist/cjs/src/resources/index.js +21 -0
  63. package/dist/cjs/src/resources/mainnet.d.ts +2 -0
  64. package/dist/cjs/src/resources/mainnet.d.ts.map +1 -0
  65. package/dist/cjs/src/resources/mainnet.js +5 -0
  66. package/dist/cjs/src/resources/polkadotAssetHub.d.ts +2 -0
  67. package/dist/cjs/src/resources/polkadotAssetHub.d.ts.map +1 -0
  68. package/dist/cjs/src/resources/polkadotAssetHub.js +5 -0
  69. package/dist/cjs/src/resources/westend.d.ts +2 -0
  70. package/dist/cjs/src/resources/westend.d.ts.map +1 -0
  71. package/dist/cjs/src/resources/westend.js +5 -0
  72. package/dist/cjs/src/resources/westendAssetHub.d.ts +2 -0
  73. package/dist/cjs/src/resources/westendAssetHub.d.ts.map +1 -0
  74. package/dist/cjs/src/resources/westendAssetHub.js +5 -0
  75. package/dist/cjs/src/tdot.d.ts.map +1 -0
  76. package/dist/cjs/src/tdot.js +27 -0
  77. package/dist/cjs/test/fixtures.d.ts +283 -0
  78. package/dist/cjs/test/fixtures.d.ts.map +1 -0
  79. package/dist/cjs/test/fixtures.js +439 -0
  80. package/dist/cjs/test/resources/index.d.ts +141 -0
  81. package/dist/cjs/test/resources/index.d.ts.map +1 -0
  82. package/dist/cjs/test/resources/index.js +157 -0
  83. package/dist/cjs/test/resources/materialData.json +8 -0
  84. package/dist/cjs/test/resources/materialDataModified.json +8 -0
  85. package/dist/cjs/test/resources/testnet.d.ts +2 -0
  86. package/dist/cjs/test/resources/testnet.d.ts.map +1 -0
  87. package/dist/cjs/test/resources/testnet.js +5 -0
  88. package/dist/cjs/test/unit/address.d.ts +2 -0
  89. package/dist/cjs/test/unit/address.d.ts.map +1 -0
  90. package/dist/cjs/test/unit/address.js +45 -0
  91. package/dist/cjs/test/unit/dot.d.ts +2 -0
  92. package/dist/cjs/test/unit/dot.d.ts.map +1 -0
  93. package/dist/cjs/test/unit/dot.js +953 -0
  94. package/dist/cjs/test/unit/keypair.d.ts +2 -0
  95. package/dist/cjs/test/unit/keypair.d.ts.map +1 -0
  96. package/dist/cjs/test/unit/keypair.js +111 -0
  97. package/dist/cjs/test/unit/transaction.d.ts +2 -0
  98. package/dist/cjs/test/unit/transaction.d.ts.map +1 -0
  99. package/dist/cjs/test/unit/transaction.js +269 -0
  100. package/dist/cjs/test/unit/transactionBuilder/addressInitializationBuilder.d.ts +2 -0
  101. package/dist/cjs/test/unit/transactionBuilder/addressInitializationBuilder.d.ts.map +1 -0
  102. package/dist/cjs/test/unit/transactionBuilder/addressInitializationBuilder.js +265 -0
  103. package/dist/cjs/test/unit/transactionBuilder/base.d.ts +8 -0
  104. package/dist/cjs/test/unit/transactionBuilder/base.d.ts.map +1 -0
  105. package/dist/cjs/test/unit/transactionBuilder/base.js +233 -0
  106. package/dist/cjs/test/unit/transactionBuilder/batchTransactionBuilder.d.ts +2 -0
  107. package/dist/cjs/test/unit/transactionBuilder/batchTransactionBuilder.d.ts.map +1 -0
  108. package/dist/cjs/test/unit/transactionBuilder/batchTransactionBuilder.js +521 -0
  109. package/dist/cjs/test/unit/transactionBuilder/claimBuilder.d.ts +2 -0
  110. package/dist/cjs/test/unit/transactionBuilder/claimBuilder.d.ts.map +1 -0
  111. package/dist/cjs/test/unit/transactionBuilder/claimBuilder.js +129 -0
  112. package/dist/cjs/test/unit/transactionBuilder/proxyBuilder.d.ts +2 -0
  113. package/dist/cjs/test/unit/transactionBuilder/proxyBuilder.d.ts.map +1 -0
  114. package/dist/cjs/test/unit/transactionBuilder/proxyBuilder.js +88 -0
  115. package/dist/cjs/test/unit/transactionBuilder/singeltonRegistry.d.ts +2 -0
  116. package/dist/cjs/test/unit/transactionBuilder/singeltonRegistry.d.ts.map +1 -0
  117. package/dist/cjs/test/unit/transactionBuilder/singeltonRegistry.js +59 -0
  118. package/dist/cjs/test/unit/transactionBuilder/stakingBuilder.d.ts +2 -0
  119. package/dist/cjs/test/unit/transactionBuilder/stakingBuilder.d.ts.map +1 -0
  120. package/dist/cjs/test/unit/transactionBuilder/stakingBuilder.js +235 -0
  121. package/dist/cjs/test/unit/transactionBuilder/transactionBuilderFactory.d.ts +2 -0
  122. package/dist/cjs/test/unit/transactionBuilder/transactionBuilderFactory.d.ts.map +1 -0
  123. package/dist/cjs/test/unit/transactionBuilder/transactionBuilderFactory.js +107 -0
  124. package/dist/cjs/test/unit/transactionBuilder/transferBuilder.d.ts +2 -0
  125. package/dist/cjs/test/unit/transactionBuilder/transferBuilder.d.ts.map +1 -0
  126. package/dist/cjs/test/unit/transactionBuilder/transferBuilder.js +437 -0
  127. package/dist/cjs/test/unit/transactionBuilder/unnominateBuilder.d.ts +2 -0
  128. package/dist/cjs/test/unit/transactionBuilder/unnominateBuilder.d.ts.map +1 -0
  129. package/dist/cjs/test/unit/transactionBuilder/unnominateBuilder.js +97 -0
  130. package/dist/cjs/test/unit/transactionBuilder/unstakeBuilder.d.ts +2 -0
  131. package/dist/cjs/test/unit/transactionBuilder/unstakeBuilder.d.ts.map +1 -0
  132. package/dist/cjs/test/unit/transactionBuilder/unstakeBuilder.js +116 -0
  133. package/dist/cjs/test/unit/transactionBuilder/withdrawUnstakedBuilder.d.ts +2 -0
  134. package/dist/cjs/test/unit/transactionBuilder/withdrawUnstakedBuilder.d.ts.map +1 -0
  135. package/dist/cjs/test/unit/transactionBuilder/withdrawUnstakedBuilder.js +115 -0
  136. package/dist/cjs/test/unit/utils.d.ts +2 -0
  137. package/dist/cjs/test/unit/utils.d.ts.map +1 -0
  138. package/dist/cjs/test/unit/utils.js +117 -0
  139. package/dist/cjs/test/unit/wasmBuilderByteComparison.d.ts +22 -0
  140. package/dist/cjs/test/unit/wasmBuilderByteComparison.d.ts.map +1 -0
  141. package/dist/cjs/test/unit/wasmBuilderByteComparison.js +197 -0
  142. package/dist/cjs/test/unit/wasmParserExplanation.d.ts +15 -0
  143. package/dist/cjs/test/unit/wasmParserExplanation.d.ts.map +1 -0
  144. package/dist/cjs/test/unit/wasmParserExplanation.js +147 -0
  145. package/dist/cjs/tsconfig.tsbuildinfo +1 -0
  146. package/dist/esm/dot.d.ts +147 -0
  147. package/dist/esm/dot.d.ts.map +1 -0
  148. package/dist/esm/dot.js +583 -0
  149. package/dist/esm/index.d.ts +5 -0
  150. package/dist/esm/index.js +5 -0
  151. package/dist/esm/lib/addressInitializationBuilder.d.ts +79 -0
  152. package/dist/esm/lib/addressInitializationBuilder.js +175 -0
  153. package/dist/esm/lib/batchTransactionBuilder.d.ts +62 -0
  154. package/dist/{src → esm}/lib/batchTransactionBuilder.d.ts.map +1 -1
  155. package/dist/esm/lib/batchTransactionBuilder.js +222 -0
  156. package/dist/esm/lib/claimBuilder.d.ts +58 -0
  157. package/dist/esm/lib/claimBuilder.js +110 -0
  158. package/dist/esm/lib/errors.d.ts +8 -0
  159. package/dist/esm/lib/errors.js +14 -0
  160. package/dist/esm/lib/iface.d.ts +337 -0
  161. package/dist/esm/lib/iface.d.ts.map +1 -0
  162. package/dist/esm/lib/iface.js +125 -0
  163. package/dist/esm/lib/iface_utils.d.ts +59 -0
  164. package/dist/esm/lib/iface_utils.js +83 -0
  165. package/dist/esm/lib/index.d.ts +21 -0
  166. package/dist/{src → esm}/lib/index.d.ts.map +1 -1
  167. package/dist/esm/lib/index.js +20 -0
  168. package/dist/esm/lib/keyPair.d.ts +38 -0
  169. package/dist/esm/lib/keyPair.d.ts.map +1 -0
  170. package/dist/esm/lib/keyPair.js +77 -0
  171. package/dist/esm/lib/nativeTransferBuilder.d.ts +84 -0
  172. package/dist/esm/lib/nativeTransferBuilder.js +212 -0
  173. package/dist/esm/lib/proxyBuilder.d.ts +54 -0
  174. package/dist/esm/lib/proxyBuilder.js +109 -0
  175. package/dist/esm/lib/singletonRegistry.d.ts +7 -0
  176. package/dist/esm/lib/singletonRegistry.js +16 -0
  177. package/dist/esm/lib/stakingBuilder.d.ts +66 -0
  178. package/dist/{src → esm}/lib/stakingBuilder.d.ts.map +1 -1
  179. package/dist/esm/lib/stakingBuilder.js +160 -0
  180. package/dist/esm/lib/transaction.d.ts +83 -0
  181. package/dist/esm/lib/transaction.d.ts.map +1 -0
  182. package/dist/esm/lib/transaction.js +584 -0
  183. package/dist/esm/lib/transactionBuilder.d.ts +131 -0
  184. package/dist/esm/lib/transactionBuilder.d.ts.map +1 -0
  185. package/dist/esm/lib/transactionBuilder.js +311 -0
  186. package/dist/esm/lib/transactionBuilderFactory.d.ts +28 -0
  187. package/dist/esm/lib/transactionBuilderFactory.js +97 -0
  188. package/dist/esm/lib/transferBuilder.d.ts +11 -0
  189. package/dist/esm/lib/transferBuilder.js +7 -0
  190. package/dist/esm/lib/txnSchema.d.ts +15 -0
  191. package/dist/esm/lib/txnSchema.js +111 -0
  192. package/dist/esm/lib/unnominateBuilder.d.ts +24 -0
  193. package/dist/esm/lib/unnominateBuilder.js +44 -0
  194. package/dist/esm/lib/unstakeBuilder.d.ts +38 -0
  195. package/dist/esm/lib/unstakeBuilder.js +80 -0
  196. package/dist/esm/lib/utils.d.ts +261 -0
  197. package/dist/esm/lib/utils.d.ts.map +1 -0
  198. package/dist/esm/lib/utils.js +451 -0
  199. package/dist/esm/lib/wasmParser.d.ts +57 -0
  200. package/dist/esm/lib/wasmParser.d.ts.map +1 -0
  201. package/dist/esm/lib/wasmParser.js +341 -0
  202. package/dist/esm/lib/withdrawUnstakedBuilder.d.ts +38 -0
  203. package/dist/esm/lib/withdrawUnstakedBuilder.js +81 -0
  204. package/dist/esm/register.d.ts +3 -0
  205. package/dist/esm/register.js +7 -0
  206. package/dist/esm/resources/index.d.ts +5 -0
  207. package/dist/esm/resources/index.d.ts.map +1 -0
  208. package/dist/esm/resources/index.js +5 -0
  209. package/dist/esm/resources/mainnet.d.ts +2 -0
  210. package/dist/esm/resources/mainnet.d.ts.map +1 -0
  211. package/dist/esm/resources/mainnet.js +2 -0
  212. package/dist/esm/resources/polkadotAssetHub.d.ts +2 -0
  213. package/dist/esm/resources/polkadotAssetHub.d.ts.map +1 -0
  214. package/dist/esm/resources/polkadotAssetHub.js +2 -0
  215. package/dist/esm/resources/westend.d.ts +2 -0
  216. package/dist/esm/resources/westend.d.ts.map +1 -0
  217. package/dist/esm/resources/westend.js +2 -0
  218. package/dist/esm/resources/westendAssetHub.d.ts +2 -0
  219. package/dist/esm/resources/westendAssetHub.d.ts.map +1 -0
  220. package/dist/esm/resources/westendAssetHub.js +2 -0
  221. package/dist/esm/tdot.d.ts +12 -0
  222. package/dist/esm/tdot.js +23 -0
  223. package/package.json +43 -20
  224. package/.eslintignore +0 -5
  225. package/.mocharc.yml +0 -8
  226. package/CHANGELOG.md +0 -124
  227. package/dist/src/dot.d.ts.map +0 -1
  228. package/dist/src/dot.js +0 -378
  229. package/dist/src/lib/addressInitializationBuilder.js +0 -184
  230. package/dist/src/lib/batchTransactionBuilder.js +0 -221
  231. package/dist/src/lib/claimBuilder.js +0 -119
  232. package/dist/src/lib/errors.js +0 -19
  233. package/dist/src/lib/iface.d.ts.map +0 -1
  234. package/dist/src/lib/iface.js +0 -128
  235. package/dist/src/lib/iface_utils.js +0 -93
  236. package/dist/src/lib/index.js +0 -57
  237. package/dist/src/lib/keyPair.d.ts.map +0 -1
  238. package/dist/src/lib/keyPair.js +0 -70
  239. package/dist/src/lib/nativeTransferBuilder.js +0 -221
  240. package/dist/src/lib/proxyBuilder.js +0 -118
  241. package/dist/src/lib/singletonRegistry.js +0 -20
  242. package/dist/src/lib/stakingBuilder.js +0 -170
  243. package/dist/src/lib/transaction.d.ts.map +0 -1
  244. package/dist/src/lib/transaction.js +0 -590
  245. package/dist/src/lib/transactionBuilder.d.ts.map +0 -1
  246. package/dist/src/lib/transactionBuilder.js +0 -337
  247. package/dist/src/lib/transactionBuilderFactory.js +0 -105
  248. package/dist/src/lib/transferBuilder.js +0 -11
  249. package/dist/src/lib/txnSchema.js +0 -117
  250. package/dist/src/lib/unnominateBuilder.js +0 -50
  251. package/dist/src/lib/unstakeBuilder.js +0 -89
  252. package/dist/src/lib/utils.d.ts.map +0 -1
  253. package/dist/src/lib/utils.js +0 -460
  254. package/dist/src/lib/withdrawUnstakedBuilder.js +0 -90
  255. package/dist/src/register.js +0 -11
  256. package/dist/src/tdot.js +0 -27
  257. /package/dist/{src → cjs/src}/index.d.ts +0 -0
  258. /package/dist/{src → cjs/src}/lib/addressInitializationBuilder.d.ts +0 -0
  259. /package/dist/{src → cjs/src}/lib/claimBuilder.d.ts +0 -0
  260. /package/dist/{src → cjs/src}/lib/errors.d.ts +0 -0
  261. /package/dist/{src → cjs/src}/lib/iface_utils.d.ts +0 -0
  262. /package/dist/{src → cjs/src}/lib/nativeTransferBuilder.d.ts +0 -0
  263. /package/dist/{src → cjs/src}/lib/proxyBuilder.d.ts +0 -0
  264. /package/dist/{src → cjs/src}/lib/singletonRegistry.d.ts +0 -0
  265. /package/dist/{src → cjs/src}/lib/stakingBuilder.d.ts +0 -0
  266. /package/dist/{src → cjs/src}/lib/transactionBuilderFactory.d.ts +0 -0
  267. /package/dist/{src → cjs/src}/lib/transferBuilder.d.ts +0 -0
  268. /package/dist/{src → cjs/src}/lib/txnSchema.d.ts +0 -0
  269. /package/dist/{src → cjs/src}/lib/unnominateBuilder.d.ts +0 -0
  270. /package/dist/{src → cjs/src}/lib/unstakeBuilder.d.ts +0 -0
  271. /package/dist/{src → cjs/src}/lib/withdrawUnstakedBuilder.d.ts +0 -0
  272. /package/dist/{src → cjs/src}/register.d.ts +0 -0
  273. /package/dist/{src → cjs/src}/tdot.d.ts +0 -0
  274. /package/dist/{src → esm}/index.d.ts.map +0 -0
  275. /package/dist/{src → esm}/lib/addressInitializationBuilder.d.ts.map +0 -0
  276. /package/dist/{src → esm}/lib/claimBuilder.d.ts.map +0 -0
  277. /package/dist/{src → esm}/lib/errors.d.ts.map +0 -0
  278. /package/dist/{src → esm}/lib/iface_utils.d.ts.map +0 -0
  279. /package/dist/{src → esm}/lib/nativeTransferBuilder.d.ts.map +0 -0
  280. /package/dist/{src → esm}/lib/proxyBuilder.d.ts.map +0 -0
  281. /package/dist/{src → esm}/lib/singletonRegistry.d.ts.map +0 -0
  282. /package/dist/{src → esm}/lib/transactionBuilderFactory.d.ts.map +0 -0
  283. /package/dist/{src → esm}/lib/transferBuilder.d.ts.map +0 -0
  284. /package/dist/{src → esm}/lib/txnSchema.d.ts.map +0 -0
  285. /package/dist/{src → esm}/lib/unnominateBuilder.d.ts.map +0 -0
  286. /package/dist/{src → esm}/lib/unstakeBuilder.d.ts.map +0 -0
  287. /package/dist/{src → esm}/lib/withdrawUnstakedBuilder.d.ts.map +0 -0
  288. /package/dist/{src → esm}/register.d.ts.map +0 -0
  289. /package/dist/{src → esm}/tdot.d.ts.map +0 -0
@@ -1,93 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getAddress = exports.isStakeBatchCallPayeeAccount = exports.isStakeBatchCallPayeeController = exports.isStakeBatchCallPayeeStash = exports.isStakeBatchCallPayeeStaked = exports.getDelegateAddress = exports.isAccountId = void 0;
4
- /**
5
- * Returns true if value is of type AccountId, false otherwise.
6
- *
7
- * @param value The object to test.
8
- *
9
- * @return true if value is of type AccountId, false otherwise.
10
- */
11
- function isAccountId(value) {
12
- return value.hasOwnProperty('id');
13
- }
14
- exports.isAccountId = isAccountId;
15
- /**
16
- * Extracts the proxy address being added from an add proxy batch call or an add proxy call.
17
-
18
- * @param call A batched add proxy call or an add proxy call from which to extract the proxy
19
- * address.
20
- *
21
- * @return the proxy address being added from an add proxy batch call or an add proxy call.
22
- */
23
- function getDelegateAddress(call) {
24
- if (isAccountId(call.delegate)) {
25
- return call.delegate.id;
26
- }
27
- else {
28
- return call.delegate;
29
- }
30
- }
31
- exports.getDelegateAddress = getDelegateAddress;
32
- /**
33
- * Returns true if value is of type StakeBatchCallPayeeStaked, false otherwise.
34
- *
35
- * @param value The object to test.
36
- *
37
- * @return true if value is of type StakeBatchCallPayeeStaked, false otherwise.
38
- */
39
- function isStakeBatchCallPayeeStaked(value) {
40
- return value.hasOwnProperty('staked');
41
- }
42
- exports.isStakeBatchCallPayeeStaked = isStakeBatchCallPayeeStaked;
43
- /**
44
- * Returns true if value is of type StakeBatchCallPayeeStash, false otherwise.
45
- *
46
- * @param value The object to test.
47
- *
48
- * @return true if value is of type StakeBatchCallPayeeStash, false otherwise.
49
- */
50
- function isStakeBatchCallPayeeStash(value) {
51
- return value.hasOwnProperty('stash');
52
- }
53
- exports.isStakeBatchCallPayeeStash = isStakeBatchCallPayeeStash;
54
- /**
55
- * Returns true if value is of type StakeBatchCallPayeeController, false otherwise.
56
- *
57
- * @param value The object to test.
58
- *
59
- * @return true if value is of type StakeBatchCallPayeeController, false otherwise.
60
- */
61
- function isStakeBatchCallPayeeController(value) {
62
- return value.hasOwnProperty('controller');
63
- }
64
- exports.isStakeBatchCallPayeeController = isStakeBatchCallPayeeController;
65
- /**
66
- * Returns true if value is of type StakeBatchCallPayeeAccount, false otherwise.
67
- *
68
- * @param value The object to test.
69
- *
70
- * @return true if value is of type StakeBatchCallPayeeAccount, false otherwise.
71
- */
72
- function isStakeBatchCallPayeeAccount(value) {
73
- return (value.account !== undefined &&
74
- value.account !== null);
75
- }
76
- exports.isStakeBatchCallPayeeAccount = isStakeBatchCallPayeeAccount;
77
- /**
78
- * Extracts the proxy address being added from ProxyArgs.
79
-
80
- * @param args the ProxyArgs object from which to extract the proxy address.
81
- *
82
- * @return the proxy address being added.
83
- */
84
- function getAddress(args) {
85
- if (isAccountId(args.real)) {
86
- return args.real.id;
87
- }
88
- else {
89
- return args.real;
90
- }
91
- }
92
- exports.getAddress = getAddress;
93
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWZhY2VfdXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2lmYWNlX3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQVlBOzs7Ozs7R0FNRztBQUNILFNBQWdCLFdBQVcsQ0FBQyxLQUF5QjtJQUNuRCxPQUFPLEtBQUssQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDcEMsQ0FBQztBQUZELGtDQUVDO0FBRUQ7Ozs7Ozs7R0FPRztBQUNILFNBQWdCLGtCQUFrQixDQUFDLElBQTBDO0lBQzNFLElBQUksV0FBVyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRTtRQUM5QixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO0tBQ3pCO1NBQU07UUFDTCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7S0FDdEI7QUFDSCxDQUFDO0FBTkQsZ0RBTUM7QUFFRDs7Ozs7O0dBTUc7QUFDSCxTQUFnQiwyQkFBMkIsQ0FBQyxLQUEwQjtJQUNwRSxPQUFRLEtBQW1DLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBQ3ZFLENBQUM7QUFGRCxrRUFFQztBQUVEOzs7Ozs7R0FNRztBQUNILFNBQWdCLDBCQUEwQixDQUFDLEtBQTBCO0lBQ25FLE9BQVEsS0FBa0MsQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUM7QUFDckUsQ0FBQztBQUZELGdFQUVDO0FBRUQ7Ozs7OztHQU1HO0FBQ0gsU0FBZ0IsK0JBQStCLENBQUMsS0FBMEI7SUFDeEUsT0FBUSxLQUF1QyxDQUFDLGNBQWMsQ0FBQyxZQUFZLENBQUMsQ0FBQztBQUMvRSxDQUFDO0FBRkQsMEVBRUM7QUFFRDs7Ozs7O0dBTUc7QUFDSCxTQUFnQiw0QkFBNEIsQ0FBQyxLQUEwQjtJQUNyRSxPQUFPLENBQ0osS0FBb0MsQ0FBQyxPQUFPLEtBQUssU0FBUztRQUMxRCxLQUFvQyxDQUFDLE9BQU8sS0FBSyxJQUFJLENBQ3ZELENBQUM7QUFDSixDQUFDO0FBTEQsb0VBS0M7QUFFRDs7Ozs7O0dBTUc7QUFDSCxTQUFnQixVQUFVLENBQUMsSUFBZTtJQUN4QyxJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUU7UUFDMUIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztLQUNyQjtTQUFNO1FBQ0wsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDO0tBQ2xCO0FBQ0gsQ0FBQztBQU5ELGdDQU1DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWNjb3VudElkLFxuICBBZGRQcm94eUFyZ3MsXG4gIEFkZFByb3h5QmF0Y2hDYWxsQXJncyxcbiAgU3Rha2VCYXRjaENhbGxQYXllZSxcbiAgU3Rha2VCYXRjaENhbGxQYXllZUFjY291bnQsXG4gIFN0YWtlQmF0Y2hDYWxsUGF5ZWVDb250cm9sbGVyLFxuICBTdGFrZUJhdGNoQ2FsbFBheWVlU3Rha2VkLFxuICBTdGFrZUJhdGNoQ2FsbFBheWVlU3Rhc2gsXG4gIFByb3h5QXJncyxcbn0gZnJvbSAnLi9pZmFjZSc7XG5cbi8qKlxuICogUmV0dXJucyB0cnVlIGlmIHZhbHVlIGlzIG9mIHR5cGUgQWNjb3VudElkLCBmYWxzZSBvdGhlcndpc2UuXG4gKlxuICogQHBhcmFtIHZhbHVlIFRoZSBvYmplY3QgdG8gdGVzdC5cbiAqXG4gKiBAcmV0dXJuIHRydWUgaWYgdmFsdWUgaXMgb2YgdHlwZSBBY2NvdW50SWQsIGZhbHNlIG90aGVyd2lzZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzQWNjb3VudElkKHZhbHVlOiBzdHJpbmcgfCBBY2NvdW50SWQpOiB2YWx1ZSBpcyBBY2NvdW50SWQge1xuICByZXR1cm4gdmFsdWUuaGFzT3duUHJvcGVydHkoJ2lkJyk7XG59XG5cbi8qKlxuICogRXh0cmFjdHMgdGhlIHByb3h5IGFkZHJlc3MgYmVpbmcgYWRkZWQgZnJvbSBhbiBhZGQgcHJveHkgYmF0Y2ggY2FsbCBvciBhbiBhZGQgcHJveHkgY2FsbC5cblxuICogQHBhcmFtIGNhbGwgQSBiYXRjaGVkIGFkZCBwcm94eSBjYWxsIG9yIGFuIGFkZCBwcm94eSBjYWxsIGZyb20gd2hpY2ggdG8gZXh0cmFjdCB0aGUgcHJveHlcbiAqIGFkZHJlc3MuXG4gKlxuICogQHJldHVybiB0aGUgcHJveHkgYWRkcmVzcyBiZWluZyBhZGRlZCBmcm9tIGFuIGFkZCBwcm94eSBiYXRjaCBjYWxsIG9yIGFuIGFkZCBwcm94eSBjYWxsLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0RGVsZWdhdGVBZGRyZXNzKGNhbGw6IEFkZFByb3h5QmF0Y2hDYWxsQXJncyB8IEFkZFByb3h5QXJncyk6IHN0cmluZyB7XG4gIGlmIChpc0FjY291bnRJZChjYWxsLmRlbGVnYXRlKSkge1xuICAgIHJldHVybiBjYWxsLmRlbGVnYXRlLmlkO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBjYWxsLmRlbGVnYXRlO1xuICB9XG59XG5cbi8qKlxuICogUmV0dXJucyB0cnVlIGlmIHZhbHVlIGlzIG9mIHR5cGUgU3Rha2VCYXRjaENhbGxQYXllZVN0YWtlZCwgZmFsc2Ugb3RoZXJ3aXNlLlxuICpcbiAqIEBwYXJhbSB2YWx1ZSBUaGUgb2JqZWN0IHRvIHRlc3QuXG4gKlxuICogQHJldHVybiB0cnVlIGlmIHZhbHVlIGlzIG9mIHR5cGUgU3Rha2VCYXRjaENhbGxQYXllZVN0YWtlZCwgZmFsc2Ugb3RoZXJ3aXNlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNTdGFrZUJhdGNoQ2FsbFBheWVlU3Rha2VkKHZhbHVlOiBTdGFrZUJhdGNoQ2FsbFBheWVlKTogdmFsdWUgaXMgU3Rha2VCYXRjaENhbGxQYXllZVN0YWtlZCB7XG4gIHJldHVybiAodmFsdWUgYXMgU3Rha2VCYXRjaENhbGxQYXllZVN0YWtlZCkuaGFzT3duUHJvcGVydHkoJ3N0YWtlZCcpO1xufVxuXG4vKipcbiAqIFJldHVybnMgdHJ1ZSBpZiB2YWx1ZSBpcyBvZiB0eXBlIFN0YWtlQmF0Y2hDYWxsUGF5ZWVTdGFzaCwgZmFsc2Ugb3RoZXJ3aXNlLlxuICpcbiAqIEBwYXJhbSB2YWx1ZSBUaGUgb2JqZWN0IHRvIHRlc3QuXG4gKlxuICogQHJldHVybiB0cnVlIGlmIHZhbHVlIGlzIG9mIHR5cGUgU3Rha2VCYXRjaENhbGxQYXllZVN0YXNoLCBmYWxzZSBvdGhlcndpc2UuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc1N0YWtlQmF0Y2hDYWxsUGF5ZWVTdGFzaCh2YWx1ZTogU3Rha2VCYXRjaENhbGxQYXllZSk6IHZhbHVlIGlzIFN0YWtlQmF0Y2hDYWxsUGF5ZWVTdGFzaCB7XG4gIHJldHVybiAodmFsdWUgYXMgU3Rha2VCYXRjaENhbGxQYXllZVN0YXNoKS5oYXNPd25Qcm9wZXJ0eSgnc3Rhc2gnKTtcbn1cblxuLyoqXG4gKiBSZXR1cm5zIHRydWUgaWYgdmFsdWUgaXMgb2YgdHlwZSBTdGFrZUJhdGNoQ2FsbFBheWVlQ29udHJvbGxlciwgZmFsc2Ugb3RoZXJ3aXNlLlxuICpcbiAqIEBwYXJhbSB2YWx1ZSBUaGUgb2JqZWN0IHRvIHRlc3QuXG4gKlxuICogQHJldHVybiB0cnVlIGlmIHZhbHVlIGlzIG9mIHR5cGUgU3Rha2VCYXRjaENhbGxQYXllZUNvbnRyb2xsZXIsIGZhbHNlIG90aGVyd2lzZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzU3Rha2VCYXRjaENhbGxQYXllZUNvbnRyb2xsZXIodmFsdWU6IFN0YWtlQmF0Y2hDYWxsUGF5ZWUpOiB2YWx1ZSBpcyBTdGFrZUJhdGNoQ2FsbFBheWVlQ29udHJvbGxlciB7XG4gIHJldHVybiAodmFsdWUgYXMgU3Rha2VCYXRjaENhbGxQYXllZUNvbnRyb2xsZXIpLmhhc093blByb3BlcnR5KCdjb250cm9sbGVyJyk7XG59XG5cbi8qKlxuICogUmV0dXJucyB0cnVlIGlmIHZhbHVlIGlzIG9mIHR5cGUgU3Rha2VCYXRjaENhbGxQYXllZUFjY291bnQsIGZhbHNlIG90aGVyd2lzZS5cbiAqXG4gKiBAcGFyYW0gdmFsdWUgVGhlIG9iamVjdCB0byB0ZXN0LlxuICpcbiAqIEByZXR1cm4gdHJ1ZSBpZiB2YWx1ZSBpcyBvZiB0eXBlIFN0YWtlQmF0Y2hDYWxsUGF5ZWVBY2NvdW50LCBmYWxzZSBvdGhlcndpc2UuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc1N0YWtlQmF0Y2hDYWxsUGF5ZWVBY2NvdW50KHZhbHVlOiBTdGFrZUJhdGNoQ2FsbFBheWVlKTogdmFsdWUgaXMgU3Rha2VCYXRjaENhbGxQYXllZUFjY291bnQge1xuICByZXR1cm4gKFxuICAgICh2YWx1ZSBhcyBTdGFrZUJhdGNoQ2FsbFBheWVlQWNjb3VudCkuYWNjb3VudCAhPT0gdW5kZWZpbmVkICYmXG4gICAgKHZhbHVlIGFzIFN0YWtlQmF0Y2hDYWxsUGF5ZWVBY2NvdW50KS5hY2NvdW50ICE9PSBudWxsXG4gICk7XG59XG5cbi8qKlxuICogRXh0cmFjdHMgdGhlIHByb3h5IGFkZHJlc3MgYmVpbmcgYWRkZWQgZnJvbSBQcm94eUFyZ3MuXG5cbiAqIEBwYXJhbSBhcmdzIHRoZSBQcm94eUFyZ3Mgb2JqZWN0IGZyb20gd2hpY2ggdG8gZXh0cmFjdCB0aGUgcHJveHkgYWRkcmVzcy5cbiAqXG4gKiBAcmV0dXJuIHRoZSBwcm94eSBhZGRyZXNzIGJlaW5nIGFkZGVkLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0QWRkcmVzcyhhcmdzOiBQcm94eUFyZ3MpOiBzdHJpbmcge1xuICBpZiAoaXNBY2NvdW50SWQoYXJncy5yZWFsKSkge1xuICAgIHJldHVybiBhcmdzLnJlYWwuaWQ7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIGFyZ3MucmVhbDtcbiAgfVxufVxuIl19
@@ -1,57 +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.Interface = exports.RemoveProxyBuilder = exports.NativeTransferBuilder = exports.SingletonRegistry = exports.TransactionBuilderFactory = exports.ClaimBuilder = exports.WithdrawUnstakedBuilder = exports.UnnominateBuilder = exports.UnstakeBuilder = exports.BatchTransactionBuilder = exports.AddressInitializationBuilder = exports.TransferBuilder = exports.StakingBuilder = exports.TransactionBuilder = exports.Transaction = exports.KeyPair = void 0;
23
- const Utils = __importStar(require("./utils"));
24
- exports.Utils = Utils;
25
- const Interface = __importStar(require("./iface"));
26
- exports.Interface = Interface;
27
- var keyPair_1 = require("./keyPair");
28
- Object.defineProperty(exports, "KeyPair", { enumerable: true, get: function () { return keyPair_1.KeyPair; } });
29
- var transaction_1 = require("./transaction");
30
- Object.defineProperty(exports, "Transaction", { enumerable: true, get: function () { return transaction_1.Transaction; } });
31
- var transactionBuilder_1 = require("./transactionBuilder");
32
- Object.defineProperty(exports, "TransactionBuilder", { enumerable: true, get: function () { return transactionBuilder_1.TransactionBuilder; } });
33
- var stakingBuilder_1 = require("./stakingBuilder");
34
- Object.defineProperty(exports, "StakingBuilder", { enumerable: true, get: function () { return stakingBuilder_1.StakingBuilder; } });
35
- var transferBuilder_1 = require("./transferBuilder");
36
- Object.defineProperty(exports, "TransferBuilder", { enumerable: true, get: function () { return transferBuilder_1.TransferBuilder; } });
37
- var addressInitializationBuilder_1 = require("./addressInitializationBuilder");
38
- Object.defineProperty(exports, "AddressInitializationBuilder", { enumerable: true, get: function () { return addressInitializationBuilder_1.AddressInitializationBuilder; } });
39
- var batchTransactionBuilder_1 = require("./batchTransactionBuilder");
40
- Object.defineProperty(exports, "BatchTransactionBuilder", { enumerable: true, get: function () { return batchTransactionBuilder_1.BatchTransactionBuilder; } });
41
- var unstakeBuilder_1 = require("./unstakeBuilder");
42
- Object.defineProperty(exports, "UnstakeBuilder", { enumerable: true, get: function () { return unstakeBuilder_1.UnstakeBuilder; } });
43
- var unnominateBuilder_1 = require("./unnominateBuilder");
44
- Object.defineProperty(exports, "UnnominateBuilder", { enumerable: true, get: function () { return unnominateBuilder_1.UnnominateBuilder; } });
45
- var withdrawUnstakedBuilder_1 = require("./withdrawUnstakedBuilder");
46
- Object.defineProperty(exports, "WithdrawUnstakedBuilder", { enumerable: true, get: function () { return withdrawUnstakedBuilder_1.WithdrawUnstakedBuilder; } });
47
- var claimBuilder_1 = require("./claimBuilder");
48
- Object.defineProperty(exports, "ClaimBuilder", { enumerable: true, get: function () { return claimBuilder_1.ClaimBuilder; } });
49
- var transactionBuilderFactory_1 = require("./transactionBuilderFactory");
50
- Object.defineProperty(exports, "TransactionBuilderFactory", { enumerable: true, get: function () { return transactionBuilderFactory_1.TransactionBuilderFactory; } });
51
- var singletonRegistry_1 = require("./singletonRegistry");
52
- Object.defineProperty(exports, "SingletonRegistry", { enumerable: true, get: function () { return singletonRegistry_1.SingletonRegistry; } });
53
- var nativeTransferBuilder_1 = require("./nativeTransferBuilder");
54
- Object.defineProperty(exports, "NativeTransferBuilder", { enumerable: true, get: function () { return nativeTransferBuilder_1.NativeTransferBuilder; } });
55
- var proxyBuilder_1 = require("./proxyBuilder");
56
- Object.defineProperty(exports, "RemoveProxyBuilder", { enumerable: true, get: function () { return proxyBuilder_1.RemoveProxyBuilder; } });
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwrQ0FBaUM7QUFrQmIsc0JBQUs7QUFqQnpCLG1EQUFxQztBQWlCNUIsOEJBQVM7QUFmbEIscUNBQW9DO0FBQTNCLGtHQUFBLE9BQU8sT0FBQTtBQUNoQiw2Q0FBNEM7QUFBbkMsMEdBQUEsV0FBVyxPQUFBO0FBQ3BCLDJEQUEwRDtBQUFqRCx3SEFBQSxrQkFBa0IsT0FBQTtBQUMzQixtREFBa0Q7QUFBekMsZ0hBQUEsY0FBYyxPQUFBO0FBQ3ZCLHFEQUFvRDtBQUEzQyxrSEFBQSxlQUFlLE9BQUE7QUFDeEIsK0VBQThFO0FBQXJFLDRJQUFBLDRCQUE0QixPQUFBO0FBQ3JDLHFFQUFvRTtBQUEzRCxrSUFBQSx1QkFBdUIsT0FBQTtBQUNoQyxtREFBa0Q7QUFBekMsZ0hBQUEsY0FBYyxPQUFBO0FBQ3ZCLHlEQUF3RDtBQUEvQyxzSEFBQSxpQkFBaUIsT0FBQTtBQUMxQixxRUFBb0U7QUFBM0Qsa0lBQUEsdUJBQXVCLE9BQUE7QUFDaEMsK0NBQThDO0FBQXJDLDRHQUFBLFlBQVksT0FBQTtBQUNyQix5RUFBd0U7QUFBL0Qsc0lBQUEseUJBQXlCLE9BQUE7QUFDbEMseURBQXdEO0FBQS9DLHNIQUFBLGlCQUFpQixPQUFBO0FBQzFCLGlFQUFnRTtBQUF2RCw4SEFBQSxxQkFBcUIsT0FBQTtBQUM5QiwrQ0FBb0Q7QUFBM0Msa0hBQUEsa0JBQWtCLE9BQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBVdGlscyBmcm9tICcuL3V0aWxzJztcbmltcG9ydCAqIGFzIEludGVyZmFjZSBmcm9tICcuL2lmYWNlJztcblxuZXhwb3J0IHsgS2V5UGFpciB9IGZyb20gJy4va2V5UGFpcic7XG5leHBvcnQgeyBUcmFuc2FjdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb24nO1xuZXhwb3J0IHsgVHJhbnNhY3Rpb25CdWlsZGVyIH0gZnJvbSAnLi90cmFuc2FjdGlvbkJ1aWxkZXInO1xuZXhwb3J0IHsgU3Rha2luZ0J1aWxkZXIgfSBmcm9tICcuL3N0YWtpbmdCdWlsZGVyJztcbmV4cG9ydCB7IFRyYW5zZmVyQnVpbGRlciB9IGZyb20gJy4vdHJhbnNmZXJCdWlsZGVyJztcbmV4cG9ydCB7IEFkZHJlc3NJbml0aWFsaXphdGlvbkJ1aWxkZXIgfSBmcm9tICcuL2FkZHJlc3NJbml0aWFsaXphdGlvbkJ1aWxkZXInO1xuZXhwb3J0IHsgQmF0Y2hUcmFuc2FjdGlvbkJ1aWxkZXIgfSBmcm9tICcuL2JhdGNoVHJhbnNhY3Rpb25CdWlsZGVyJztcbmV4cG9ydCB7IFVuc3Rha2VCdWlsZGVyIH0gZnJvbSAnLi91bnN0YWtlQnVpbGRlcic7XG5leHBvcnQgeyBVbm5vbWluYXRlQnVpbGRlciB9IGZyb20gJy4vdW5ub21pbmF0ZUJ1aWxkZXInO1xuZXhwb3J0IHsgV2l0aGRyYXdVbnN0YWtlZEJ1aWxkZXIgfSBmcm9tICcuL3dpdGhkcmF3VW5zdGFrZWRCdWlsZGVyJztcbmV4cG9ydCB7IENsYWltQnVpbGRlciB9IGZyb20gJy4vY2xhaW1CdWlsZGVyJztcbmV4cG9ydCB7IFRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnkgfSBmcm9tICcuL3RyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnknO1xuZXhwb3J0IHsgU2luZ2xldG9uUmVnaXN0cnkgfSBmcm9tICcuL3NpbmdsZXRvblJlZ2lzdHJ5JztcbmV4cG9ydCB7IE5hdGl2ZVRyYW5zZmVyQnVpbGRlciB9IGZyb20gJy4vbmF0aXZlVHJhbnNmZXJCdWlsZGVyJztcbmV4cG9ydCB7IFJlbW92ZVByb3h5QnVpbGRlciB9IGZyb20gJy4vcHJveHlCdWlsZGVyJztcbmV4cG9ydCB7IEludGVyZmFjZSwgVXRpbHMgfTtcbiJdfQ==
@@ -1 +0,0 @@
1
- {"version":3,"file":"keyPair.d.ts","sourceRoot":"","sources":["../../../src/lib/keyPair.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,cAAc,EAAY,cAAc,EAAS,MAAM,sBAAsB,CAAC;AAOtH,qBAAa,OAAQ,SAAQ,cAAc;IACzC;;;;OAIG;gBACS,MAAM,CAAC,EAAE,cAAc;IAInC;;;;;;OAMG;IACH,SAAS,CAAC,kBAAkB,IAAI,WAAW;IAM3C;;;;OAIG;IACH,UAAU,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM;IAO5C,kBAAkB;IAClB,OAAO,IAAI,WAAW;IAQtB,kBAAkB;IAClB,wCAAwC,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW;IAMlE,kBAAkB;IAClB,uCAAuC,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW;CAQlE"}
@@ -1,70 +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.KeyPair = void 0;
7
- const keyring_1 = require("@polkadot/keyring");
8
- const pair_1 = require("@polkadot/keyring/pair");
9
- const sdk_core_1 = require("@bitgo-beta/sdk-core");
10
- const bs58_1 = __importDefault(require("bs58"));
11
- const utils_1 = __importDefault(require("./utils"));
12
- const TYPE = 'ed25519';
13
- const keyring = new keyring_1.Keyring({ type: TYPE });
14
- class KeyPair extends sdk_core_1.Ed25519KeyPair {
15
- /**
16
- * Public constructor. By default, creates a key pair with a random master seed.
17
- *
18
- * @param { KeyPairOptions } source Either a master seed, a private key, or a public key
19
- */
20
- constructor(source) {
21
- super(source);
22
- }
23
- /**
24
- * Helper function to create the KeyringPair for signing a dot transaction.
25
- *
26
- * @returns {KeyringPair} dot KeyringPair
27
- *
28
- * @see https://polkadot.js.org/docs/api/start/keyring
29
- */
30
- createPolkadotPair() {
31
- const secretKey = this.keyPair.prv ? new Uint8Array(Buffer.from(this.keyPair.prv, 'hex')) : undefined;
32
- const publicKey = new Uint8Array(Buffer.from(this.keyPair.pub, 'hex'));
33
- return pair_1.createPair({ toSS58: keyring.encodeAddress, type: TYPE }, { secretKey, publicKey });
34
- }
35
- /**
36
- // https://wiki.polkadot.network/docs/learn-accounts#address-format
37
- * Returns the address in either mainnet polkadot format (starts with 1)
38
- * or substrate format used for westend (starts with 5)
39
- */
40
- getAddress(format) {
41
- let encodedAddress = this.createPolkadotPair().address;
42
- encodedAddress = keyring.encodeAddress(encodedAddress, format);
43
- return encodedAddress;
44
- }
45
- /** @inheritdoc */
46
- getKeys() {
47
- const result = { pub: this.keyPair.pub };
48
- if (this.keyPair.prv) {
49
- result.prv = this.keyPair.prv;
50
- }
51
- return result;
52
- }
53
- /** @inheritdoc */
54
- recordKeysFromPrivateKeyInProtocolFormat(prv) {
55
- const decodedSeed = utils_1.default.decodeSeed(prv);
56
- const bufferFromSeed = Buffer.from(decodedSeed.seed);
57
- return utils_1.default.keyPairFromSeed(bufferFromSeed).keyPair;
58
- }
59
- /** @inheritdoc */
60
- recordKeysFromPublicKeyInProtocolFormat(pub) {
61
- const publicKey = keyring.addFromPair({
62
- // tss common pub is in base58 format and decodes to length of 32
63
- publicKey: sdk_core_1.isBase58(pub, 32) ? new Uint8Array(bs58_1.default.decode(pub)) : new Uint8Array(Buffer.from(pub, 'hex')),
64
- secretKey: new Uint8Array(),
65
- }).publicKey;
66
- return { pub: sdk_core_1.toHex(publicKey) };
67
- }
68
- }
69
- exports.KeyPair = KeyPair;
70
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5UGFpci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIva2V5UGFpci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSwrQ0FBNEM7QUFDNUMsaURBQW9EO0FBRXBELG1EQUFzSDtBQUN0SCxnREFBd0I7QUFDeEIsb0RBQTRCO0FBRTVCLE1BQU0sSUFBSSxHQUFHLFNBQVMsQ0FBQztBQUN2QixNQUFNLE9BQU8sR0FBRyxJQUFJLGlCQUFPLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztBQUU1QyxNQUFhLE9BQVEsU0FBUSx5QkFBYztJQUN6Qzs7OztPQUlHO0lBQ0gsWUFBWSxNQUF1QjtRQUNqQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDaEIsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNPLGtCQUFrQjtRQUMxQixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFDdEcsTUFBTSxTQUFTLEdBQUcsSUFBSSxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ3ZFLE9BQU8saUJBQVUsQ0FBQyxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsYUFBYSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDO0lBQzdGLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsVUFBVSxDQUFDLE1BQXdCO1FBQ2pDLElBQUksY0FBYyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLE9BQU8sQ0FBQztRQUN2RCxjQUFjLEdBQUcsT0FBTyxDQUFDLGFBQWEsQ0FBQyxjQUFjLEVBQUUsTUFBZ0IsQ0FBQyxDQUFDO1FBRXpFLE9BQU8sY0FBYyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsT0FBTztRQUNMLE1BQU0sTUFBTSxHQUFnQixFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ3RELElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUU7WUFDcEIsTUFBTSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQztTQUMvQjtRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsd0NBQXdDLENBQUMsR0FBVztRQUNsRCxNQUFNLFdBQVcsR0FBRyxlQUFLLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzFDLE1BQU0sY0FBYyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3JELE9BQU8sZUFBSyxDQUFDLGVBQWUsQ0FBQyxjQUFjLENBQUMsQ0FBQyxPQUFPLENBQUM7SUFDdkQsQ0FBQztJQUVELGtCQUFrQjtJQUNsQix1Q0FBdUMsQ0FBQyxHQUFXO1FBQ2pELE1BQU0sU0FBUyxHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQUM7WUFDcEMsaUVBQWlFO1lBQ2pFLFNBQVMsRUFBRSxtQkFBUSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxVQUFVLENBQUMsY0FBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUN6RyxTQUFTLEVBQUUsSUFBSSxVQUFVLEVBQUU7U0FDNUIsQ0FBQyxDQUFDLFNBQVMsQ0FBQztRQUNiLE9BQU8sRUFBRSxHQUFHLEVBQUUsZ0JBQUssQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO0lBQ25DLENBQUM7Q0FDRjtBQTVERCwwQkE0REMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBLZXlyaW5nIH0gZnJvbSAnQHBvbGthZG90L2tleXJpbmcnO1xuaW1wb3J0IHsgY3JlYXRlUGFpciB9IGZyb20gJ0Bwb2xrYWRvdC9rZXlyaW5nL3BhaXInO1xuaW1wb3J0IHsgS2V5cmluZ1BhaXIgfSBmcm9tICdAcG9sa2Fkb3Qva2V5cmluZy90eXBlcyc7XG5pbXBvcnQgeyBEb3RBZGRyZXNzRm9ybWF0LCBEZWZhdWx0S2V5cywgRWQyNTUxOUtleVBhaXIsIGlzQmFzZTU4LCBLZXlQYWlyT3B0aW9ucywgdG9IZXggfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgYnM1OCBmcm9tICdiczU4JztcbmltcG9ydCB1dGlscyBmcm9tICcuL3V0aWxzJztcblxuY29uc3QgVFlQRSA9ICdlZDI1NTE5JztcbmNvbnN0IGtleXJpbmcgPSBuZXcgS2V5cmluZyh7IHR5cGU6IFRZUEUgfSk7XG5cbmV4cG9ydCBjbGFzcyBLZXlQYWlyIGV4dGVuZHMgRWQyNTUxOUtleVBhaXIge1xuICAvKipcbiAgICogUHVibGljIGNvbnN0cnVjdG9yLiBCeSBkZWZhdWx0LCBjcmVhdGVzIGEga2V5IHBhaXIgd2l0aCBhIHJhbmRvbSBtYXN0ZXIgc2VlZC5cbiAgICpcbiAgICogQHBhcmFtIHsgS2V5UGFpck9wdGlvbnMgfSBzb3VyY2UgRWl0aGVyIGEgbWFzdGVyIHNlZWQsIGEgcHJpdmF0ZSBrZXksIG9yIGEgcHVibGljIGtleVxuICAgKi9cbiAgY29uc3RydWN0b3Ioc291cmNlPzogS2V5UGFpck9wdGlvbnMpIHtcbiAgICBzdXBlcihzb3VyY2UpO1xuICB9XG5cbiAgLyoqXG4gICAqIEhlbHBlciBmdW5jdGlvbiB0byBjcmVhdGUgdGhlIEtleXJpbmdQYWlyIGZvciBzaWduaW5nIGEgZG90IHRyYW5zYWN0aW9uLlxuICAgKlxuICAgKiBAcmV0dXJucyB7S2V5cmluZ1BhaXJ9IGRvdCBLZXlyaW5nUGFpclxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vcG9sa2Fkb3QuanMub3JnL2RvY3MvYXBpL3N0YXJ0L2tleXJpbmdcbiAgICovXG4gIHByb3RlY3RlZCBjcmVhdGVQb2xrYWRvdFBhaXIoKTogS2V5cmluZ1BhaXIge1xuICAgIGNvbnN0IHNlY3JldEtleSA9IHRoaXMua2V5UGFpci5wcnYgPyBuZXcgVWludDhBcnJheShCdWZmZXIuZnJvbSh0aGlzLmtleVBhaXIucHJ2LCAnaGV4JykpIDogdW5kZWZpbmVkO1xuICAgIGNvbnN0IHB1YmxpY0tleSA9IG5ldyBVaW50OEFycmF5KEJ1ZmZlci5mcm9tKHRoaXMua2V5UGFpci5wdWIsICdoZXgnKSk7XG4gICAgcmV0dXJuIGNyZWF0ZVBhaXIoeyB0b1NTNTg6IGtleXJpbmcuZW5jb2RlQWRkcmVzcywgdHlwZTogVFlQRSB9LCB7IHNlY3JldEtleSwgcHVibGljS2V5IH0pO1xuICB9XG5cbiAgLyoqXG4gICAvLyBodHRwczovL3dpa2kucG9sa2Fkb3QubmV0d29yay9kb2NzL2xlYXJuLWFjY291bnRzI2FkZHJlc3MtZm9ybWF0XG4gICAqIFJldHVybnMgdGhlIGFkZHJlc3MgaW4gZWl0aGVyIG1haW5uZXQgcG9sa2Fkb3QgZm9ybWF0IChzdGFydHMgd2l0aCAxKVxuICAgKiBvciBzdWJzdHJhdGUgZm9ybWF0IHVzZWQgZm9yIHdlc3RlbmQgKHN0YXJ0cyB3aXRoIDUpXG4gICAqL1xuICBnZXRBZGRyZXNzKGZvcm1hdDogRG90QWRkcmVzc0Zvcm1hdCk6IHN0cmluZyB7XG4gICAgbGV0IGVuY29kZWRBZGRyZXNzID0gdGhpcy5jcmVhdGVQb2xrYWRvdFBhaXIoKS5hZGRyZXNzO1xuICAgIGVuY29kZWRBZGRyZXNzID0ga2V5cmluZy5lbmNvZGVBZGRyZXNzKGVuY29kZWRBZGRyZXNzLCBmb3JtYXQgYXMgbnVtYmVyKTtcblxuICAgIHJldHVybiBlbmNvZGVkQWRkcmVzcztcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBnZXRLZXlzKCk6IERlZmF1bHRLZXlzIHtcbiAgICBjb25zdCByZXN1bHQ6IERlZmF1bHRLZXlzID0geyBwdWI6IHRoaXMua2V5UGFpci5wdWIgfTtcbiAgICBpZiAodGhpcy5rZXlQYWlyLnBydikge1xuICAgICAgcmVzdWx0LnBydiA9IHRoaXMua2V5UGFpci5wcnY7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcmVjb3JkS2V5c0Zyb21Qcml2YXRlS2V5SW5Qcm90b2NvbEZvcm1hdChwcnY6IHN0cmluZyk6IERlZmF1bHRLZXlzIHtcbiAgICBjb25zdCBkZWNvZGVkU2VlZCA9IHV0aWxzLmRlY29kZVNlZWQocHJ2KTtcbiAgICBjb25zdCBidWZmZXJGcm9tU2VlZCA9IEJ1ZmZlci5mcm9tKGRlY29kZWRTZWVkLnNlZWQpO1xuICAgIHJldHVybiB1dGlscy5rZXlQYWlyRnJvbVNlZWQoYnVmZmVyRnJvbVNlZWQpLmtleVBhaXI7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcmVjb3JkS2V5c0Zyb21QdWJsaWNLZXlJblByb3RvY29sRm9ybWF0KHB1Yjogc3RyaW5nKTogRGVmYXVsdEtleXMge1xuICAgIGNvbnN0IHB1YmxpY0tleSA9IGtleXJpbmcuYWRkRnJvbVBhaXIoe1xuICAgICAgLy8gdHNzIGNvbW1vbiBwdWIgaXMgaW4gYmFzZTU4IGZvcm1hdCBhbmQgZGVjb2RlcyB0byBsZW5ndGggb2YgMzJcbiAgICAgIHB1YmxpY0tleTogaXNCYXNlNTgocHViLCAzMikgPyBuZXcgVWludDhBcnJheShiczU4LmRlY29kZShwdWIpKSA6IG5ldyBVaW50OEFycmF5KEJ1ZmZlci5mcm9tKHB1YiwgJ2hleCcpKSxcbiAgICAgIHNlY3JldEtleTogbmV3IFVpbnQ4QXJyYXkoKSxcbiAgICB9KS5wdWJsaWNLZXk7XG4gICAgcmV0dXJuIHsgcHViOiB0b0hleChwdWJsaWNLZXkpIH07XG4gIH1cbn1cbiJdfQ==
@@ -1,221 +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.NativeTransferBuilder = void 0;
7
- const sdk_core_1 = require("@bitgo-beta/sdk-core");
8
- const txwrapper_polkadot_1 = require("@substrate/txwrapper-polkadot");
9
- const bignumber_js_1 = __importDefault(require("bignumber.js"));
10
- const iface_1 = require("./iface");
11
- const iface_utils_1 = require("./iface_utils");
12
- const singletonRegistry_1 = require("./singletonRegistry");
13
- const transactionBuilder_1 = require("./transactionBuilder");
14
- const txnSchema_1 = require("./txnSchema");
15
- const utils_1 = __importDefault(require("./utils"));
16
- class NativeTransferBuilder extends transactionBuilder_1.TransactionBuilder {
17
- constructor(_coinConfig) {
18
- super(_coinConfig);
19
- this._sweepFreeBalance = false;
20
- this._keepAddressAlive = true;
21
- }
22
- /**
23
- *
24
- * Dispatch the given call from an account that the sender is authorised for through add_proxy.
25
- *
26
- * @returns {UnsignedTransaction} an unsigned Dot transaction
27
- *
28
- * @see https://polkadot.js.org/docs/substrate/extrinsics/#proxy
29
- */
30
- buildTransaction() {
31
- const baseTxInfo = this.createBaseTxInfo();
32
- let transferTx;
33
- if (this._sweepFreeBalance) {
34
- transferTx = txwrapper_polkadot_1.methods.balances.transferAll({
35
- dest: this._to,
36
- keepAlive: this._keepAddressAlive,
37
- }, baseTxInfo.baseTxInfo, baseTxInfo.options);
38
- }
39
- else {
40
- transferTx = txwrapper_polkadot_1.methods.balances.transferKeepAlive({
41
- value: this._amount,
42
- dest: this._to,
43
- }, baseTxInfo.baseTxInfo, baseTxInfo.options);
44
- }
45
- if (!this._owner) {
46
- return transferTx;
47
- }
48
- return txwrapper_polkadot_1.methods.proxy.proxy({
49
- real: this._owner,
50
- forceProxyType: this._forceProxyType,
51
- call: transferTx.method,
52
- }, baseTxInfo.baseTxInfo, baseTxInfo.options);
53
- }
54
- get transactionType() {
55
- return sdk_core_1.TransactionType.Send;
56
- }
57
- /**
58
- *
59
- * Set this to be a sweep transaction, using TransferAll with keepAlive set to true by default.
60
- * If keepAlive is false, the entire address will be swept (including the 1 DOT minimum).
61
- *
62
- * @param {boolean} keepAlive - keep the address alive after this sweep
63
- * @returns {TransferBuilder} This transfer builder.
64
- *
65
- * @see https://github.com/paritytech/txwrapper-core/blob/main/docs/modules/txwrapper_substrate_src.methods.balances.md#transferall
66
- */
67
- sweep(keepAlive) {
68
- this._sweepFreeBalance = true;
69
- if (keepAlive !== undefined) {
70
- this._keepAddressAlive = keepAlive;
71
- }
72
- return this;
73
- }
74
- /**
75
- *
76
- * The amount for transfer transaction.
77
- *
78
- * @param {string} amount
79
- * @returns {TransferBuilder} This transfer builder.
80
- *
81
- * @see https://wiki.polkadot.network/docs/build-protocol-info
82
- */
83
- amount(amount) {
84
- this.validateValue(new bignumber_js_1.default(amount));
85
- this._amount = amount;
86
- return this;
87
- }
88
- /**
89
- *
90
- * The destination address for transfer transaction.
91
- *
92
- * @param {string} dest
93
- * @returns {TransferBuilder} This transfer builder.
94
- *
95
- * @see https://wiki.polkadot.network/docs/build-protocol-info
96
- */
97
- to({ address }) {
98
- this.validateAddress({ address });
99
- this._to = address;
100
- return this;
101
- }
102
- /**
103
- *
104
- * The real address of the original tx
105
- *
106
- * @param {BaseAddress} real
107
- * @returns {TransferBuilder} This builder.
108
- *
109
- * @see https://wiki.polkadot.network/docs/learn-proxies#why-use-a-proxy
110
- */
111
- owner(owner) {
112
- this.validateAddress({ address: owner.address });
113
- this._owner = owner.address;
114
- return this;
115
- }
116
- /**
117
- *
118
- * The proxy type to execute
119
- *
120
- * @param {proxyType} forceProxyType
121
- * @returns {TransferBuilder} This builder.
122
- *
123
- * @see https://wiki.polkadot.network/docs/learn-proxies#proxy-types
124
- */
125
- forceProxyType(forceProxyType) {
126
- this._forceProxyType = forceProxyType;
127
- return this;
128
- }
129
- /** @inheritdoc */
130
- validateDecodedTransaction(decodedTxn, rawTransaction) {
131
- var _a, _b;
132
- if (((_a = decodedTxn.method) === null || _a === void 0 ? void 0 : _a.name) === iface_1.MethodNames.TransferKeepAlive) {
133
- const txMethod = decodedTxn.method.args;
134
- const amount = `${txMethod.value}`;
135
- const to = txMethod.dest.id;
136
- const validationResult = txnSchema_1.TransferTransactionSchema.validate({ amount, to });
137
- if (validationResult.error) {
138
- throw new sdk_core_1.InvalidTransactionError(`Transfer Transaction validation failed: ${validationResult.error.message}`);
139
- }
140
- }
141
- else if (((_b = decodedTxn.method) === null || _b === void 0 ? void 0 : _b.name) === iface_1.MethodNames.Proxy) {
142
- const txMethod = decodedTxn.method.args;
143
- const real = iface_utils_1.getAddress(txMethod);
144
- const forceProxyType = txMethod.forceProxyType;
145
- const decodedCall = utils_1.default.decodeCallMethod(rawTransaction, {
146
- registry: singletonRegistry_1.SingletonRegistry.getInstance(this._material),
147
- metadataRpc: this._material.metadata,
148
- });
149
- const amount = `${decodedCall.value}`;
150
- const to = decodedCall.dest.id;
151
- const validationResult = txnSchema_1.ProxyTransactionSchema.validate({ real, forceProxyType, amount, to });
152
- if (validationResult.error) {
153
- throw new sdk_core_1.InvalidTransactionError(`Proxy Transaction validation failed: ${validationResult.error.message}`);
154
- }
155
- }
156
- }
157
- /** @inheritdoc */
158
- fromImplementation(rawTransaction) {
159
- var _a, _b, _c, _d, _e;
160
- const tx = super.fromImplementation(rawTransaction);
161
- if (((_a = this._method) === null || _a === void 0 ? void 0 : _a.name) === iface_1.MethodNames.TransferKeepAlive) {
162
- const txMethod = this._method.args;
163
- this.amount(txMethod.value);
164
- this.to({
165
- address: utils_1.default.decodeDotAddress(txMethod.dest.id, utils_1.default.getAddressFormat(this._coinConfig.name)),
166
- });
167
- }
168
- else if (((_b = this._method) === null || _b === void 0 ? void 0 : _b.name) === iface_1.MethodNames.TransferAll) {
169
- this._sweepFreeBalance = true;
170
- const txMethod = this._method.args;
171
- this.sweep(txMethod.keepAlive);
172
- this.to({
173
- address: utils_1.default.decodeDotAddress(txMethod.dest.id, utils_1.default.getAddressFormat(this._coinConfig.name)),
174
- });
175
- }
176
- else if (((_c = this._method) === null || _c === void 0 ? void 0 : _c.name) === iface_1.MethodNames.Proxy) {
177
- const txMethod = this._method.args;
178
- this.owner({
179
- address: utils_1.default.decodeDotAddress(iface_utils_1.getAddress(txMethod), utils_1.default.getAddressFormat(this._coinConfig.name)),
180
- });
181
- this.forceProxyType(txMethod.forceProxyType);
182
- const decodedCall = utils_1.default.decodeCallMethod(rawTransaction, {
183
- registry: singletonRegistry_1.SingletonRegistry.getInstance(this._material),
184
- metadataRpc: this._material.metadata,
185
- });
186
- if (!decodedCall.value || !decodedCall.dest) {
187
- throw new sdk_core_1.InvalidTransactionError(`Invalid Proxy Transaction Method: ${(_d = this._method) === null || _d === void 0 ? void 0 : _d.name}. Expected transferKeepAlive`);
188
- }
189
- this.amount(`${decodedCall.value}`);
190
- this.to({
191
- address: utils_1.default.decodeDotAddress(decodedCall.dest.id, utils_1.default.getAddressFormat(this._coinConfig.name)),
192
- });
193
- }
194
- else {
195
- throw new sdk_core_1.InvalidTransactionError(`Invalid Transaction Type: ${(_e = this._method) === null || _e === void 0 ? void 0 : _e.name}. Expected a transferKeepAlive or a proxy transferKeepAlive transaction`);
196
- }
197
- return tx;
198
- }
199
- /** @inheritdoc */
200
- validateTransaction(_) {
201
- super.validateTransaction(_);
202
- this.validateFields(this._to, this._amount, this._owner, this._forceProxyType);
203
- }
204
- validateFields(to, amount, real, forceProxyType) {
205
- let validationResult;
206
- if (forceProxyType) {
207
- validationResult = txnSchema_1.ProxyTransactionSchema.validate({ to, amount, real, forceProxyType });
208
- }
209
- else if (this._sweepFreeBalance) {
210
- validationResult = txnSchema_1.TransferAllTransactionSchema.validate({ to });
211
- }
212
- else {
213
- validationResult = txnSchema_1.TransferTransactionSchema.validate({ amount, to });
214
- }
215
- if (validationResult.error) {
216
- throw new sdk_core_1.InvalidTransactionError(`Proxy/TransferAll/TransferKeepAlive Transaction validation failed: ${validationResult.error.message}`);
217
- }
218
- }
219
- }
220
- exports.NativeTransferBuilder = NativeTransferBuilder;
221
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF0aXZlVHJhbnNmZXJCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9uYXRpdmVUcmFuc2ZlckJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsbURBQTRHO0FBRTVHLHNFQUF3RDtBQUV4RCxnRUFBcUM7QUFDckMsbUNBQTJGO0FBQzNGLCtDQUEyQztBQUMzQywyREFBd0Q7QUFFeEQsNkRBQTBEO0FBQzFELDJDQUE4RztBQUM5RyxvREFBNEI7QUFFNUIsTUFBc0IscUJBQXNCLFNBQVEsdUNBQWtCO0lBUXBFLFlBQVksV0FBaUM7UUFDM0MsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBUlgsc0JBQWlCLEdBQUcsS0FBSyxDQUFDO1FBQzFCLHNCQUFpQixHQUFHLElBQUksQ0FBQztJQVFuQyxDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNPLGdCQUFnQjtRQUN4QixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUMzQyxJQUFJLFVBQVUsQ0FBQztRQUNmLElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFO1lBQzFCLFVBQVUsR0FBRyw0QkFBTyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQ3ZDO2dCQUNFLElBQUksRUFBRSxJQUFJLENBQUMsR0FBRztnQkFDZCxTQUFTLEVBQUUsSUFBSSxDQUFDLGlCQUFpQjthQUNsQyxFQUNELFVBQVUsQ0FBQyxVQUFVLEVBQ3JCLFVBQVUsQ0FBQyxPQUFPLENBQ25CLENBQUM7U0FDSDthQUFNO1lBQ0wsVUFBVSxHQUFHLDRCQUFPLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUM3QztnQkFDRSxLQUFLLEVBQUUsSUFBSSxDQUFDLE9BQU87Z0JBQ25CLElBQUksRUFBRSxJQUFJLENBQUMsR0FBRzthQUNmLEVBQ0QsVUFBVSxDQUFDLFVBQVUsRUFDckIsVUFBVSxDQUFDLE9BQU8sQ0FDbkIsQ0FBQztTQUNIO1FBRUQsSUFB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QyxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLGNBQWMsRUFBRSxDQUFDLENBQUM7U0FDMUY7YUFBTSxJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtZQUNqQyxnQkFBZ0IsR0FBRyx3Q0FBNEIsQ0FBQyxRQUFRLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1NBQ2xFO2FBQU07WUFDTCxnQkFBZ0IsR0FBRyxxQ0FBeUIsQ0FBQyxRQUFRLENBQUMsRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztTQUN2RTtRQUVELElBQUksZ0JBQWdCLENBQUMsS0FBSyxFQUFFO1lBQzFCLE1BQU0sSUFBSSxrQ0FBdUIsQ0FDL0Isc0VBQXNFLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FDdkcsQ0FBQztTQUNIO0lBQ0gsQ0FBQztDQUNGO0FBbFBELHNEQWtQQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VBZGRyZXNzLCBEb3RBc3NldFR5cGVzLCBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvciwgVHJhbnNhY3Rpb25UeXBlIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZyB9IGZyb20gJ0BiaXRnby1iZXRhL3N0YXRpY3MnO1xuaW1wb3J0IHsgbWV0aG9kcyB9IGZyb20gJ0BzdWJzdHJhdGUvdHh3cmFwcGVyLXBvbGthZG90JztcbmltcG9ydCB7IERlY29kZWRTaWduZWRUeCwgRGVjb2RlZFNpZ25pbmdQYXlsb2FkLCBVbnNpZ25lZFRyYW5zYWN0aW9uIH0gZnJvbSAnQHN1YnN0cmF0ZS90eHdyYXBwZXItY29yZSc7XG5pbXBvcnQgQmlnTnVtYmVyIGZyb20gJ2JpZ251bWJlci5qcyc7XG5pbXBvcnQgeyBNZXRob2ROYW1lcywgUHJveHlBcmdzLCBQcm94eVR5cGUsIFRyYW5zZmVyQWxsQXJncywgVHJhbnNmZXJBcmdzIH0gZnJvbSAnLi9pZmFjZSc7XG5pbXBvcnQgeyBnZXRBZGRyZXNzIH0gZnJvbSAnLi9pZmFjZV91dGlscyc7XG5pbXBvcnQgeyBTaW5nbGV0b25SZWdpc3RyeSB9IGZyb20gJy4vc2luZ2xldG9uUmVnaXN0cnknO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb24gfSBmcm9tICcuL3RyYW5zYWN0aW9uJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uQnVpbGRlciB9IGZyb20gJy4vdHJhbnNhY3Rpb25CdWlsZGVyJztcbmltcG9ydCB7IFByb3h5VHJhbnNhY3Rpb25TY2hlbWEsIFRyYW5zZmVyQWxsVHJhbnNhY3Rpb25TY2hlbWEsIFRyYW5zZmVyVHJhbnNhY3Rpb25TY2hlbWEgfSBmcm9tICcuL3R4blNjaGVtYSc7XG5pbXBvcnQgdXRpbHMgZnJvbSAnLi91dGlscyc7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBOYXRpdmVUcmFuc2ZlckJ1aWxkZXIgZXh0ZW5kcyBUcmFuc2FjdGlvbkJ1aWxkZXIge1xuICBwcm90ZWN0ZWQgX3N3ZWVwRnJlZUJhbGFuY2UgPSBmYWxzZTtcbiAgcHJvdGVjdGVkIF9rZWVwQWRkcmVzc0FsaXZlID0gdHJ1ZTtcbiAgcHJvdGVjdGVkIF9hbW91bnQ6IHN0cmluZztcbiAgcHJvdGVjdGVkIF90bzogc3RyaW5nO1xuICBwcm90ZWN0ZWQgX293bmVyOiBzdHJpbmc7XG4gIHByb3RlY3RlZCBfZm9yY2VQcm94eVR5cGU6IFByb3h5VHlwZTtcblxuICBjb25zdHJ1Y3RvcihfY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz4pIHtcbiAgICBzdXBlcihfY29pbkNvbmZpZyk7XG4gIH1cblxuICAvKipcbiAgICpcbiAgICogRGlzcGF0Y2ggdGhlIGdpdmVuIGNhbGwgZnJvbSBhbiBhY2NvdW50IHRoYXQgdGhlIHNlbmRlciBpcyBhdXRob3Jpc2VkIGZvciB0aHJvdWdoIGFkZF9wcm94eS5cbiAgICpcbiAgICogQHJldHVybnMge1Vuc2lnbmVkVHJhbnNhY3Rpb259IGFuIHVuc2lnbmVkIERvdCB0cmFuc2FjdGlvblxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vcG9sa2Fkb3QuanMub3JnL2RvY3Mvc3Vic3RyYXRlL2V4dHJpbnNpY3MvI3Byb3h5XG4gICAqL1xuICBwcm90ZWN0ZWQgYnVpbGRUcmFuc2FjdGlvbigpOiBVbnNpZ25lZFRyYW5zYWN0aW9uIHtcbiAgICBjb25zdCBiYXNlVHhJbmZvID0gdGhpcy5jcmVhdGVCYXNlVHhJbmZvKCk7XG4gICAgbGV0IHRyYW5zZmVyVHg7XG4gICAgaWYgKHRoaXMuX3N3ZWVwRnJlZUJhbGFuY2UpIHtcbiAgICAgIHRyYW5zZmVyVHggPSBtZXRob2RzLmJhbGFuY2VzLnRyYW5zZmVyQWxsKFxuICAgICAgICB7XG4gICAgICAgICAgZGVzdDogdGhpcy5fdG8sXG4gICAgICAgICAga2VlcEFsaXZlOiB0aGlzLl9rZWVwQWRkcmVzc0FsaXZlLFxuICAgICAgICB9LFxuICAgICAgICBiYXNlVHhJbmZvLmJhc2VUeEluZm8sXG4gICAgICAgIGJhc2VUeEluZm8ub3B0aW9uc1xuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdHJhbnNmZXJUeCA9IG1ldGhvZHMuYmFsYW5jZXMudHJhbnNmZXJLZWVwQWxpdmUoXG4gICAgICAgIHtcbiAgICAgICAgICB2YWx1ZTogdGhpcy5fYW1vdW50LFxuICAgICAgICAgIGRlc3Q6IHRoaXMuX3RvLFxuICAgICAgICB9LFxuICAgICAgICBiYXNlVHhJbmZvLmJhc2VUeEluZm8sXG4gICAgICAgIGJhc2VUeEluZm8ub3B0aW9uc1xuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMuX293bmVyKSB7XG4gICAgICByZXR1cm4gdHJhbnNmZXJUeDtcbiAgICB9XG4gICAgcmV0dXJuIG1ldGhvZHMucHJveHkucHJveHkoXG4gICAgICB7XG4gICAgICAgIHJlYWw6IHRoaXMuX293bmVyLFxuICAgICAgICBmb3JjZVByb3h5VHlwZTogdGhpcy5fZm9yY2VQcm94eVR5cGUsXG4gICAgICAgIGNhbGw6IHRyYW5zZmVyVHgubWV0aG9kLFxuICAgICAgfSxcbiAgICAgIGJhc2VUeEluZm8uYmFzZVR4SW5mbyxcbiAgICAgIGJhc2VUeEluZm8ub3B0aW9uc1xuICAgICk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IHRyYW5zYWN0aW9uVHlwZSgpOiBUcmFuc2FjdGlvblR5cGUge1xuICAgIHJldHVybiBUcmFuc2FjdGlvblR5cGUuU2VuZDtcbiAgfVxuXG4gIC8qKlxuICAgKlxuICAgKiBTZXQgdGhpcyB0byBiZSBhIHN3ZWVwIHRyYW5zYWN0aW9uLCB1c2luZyBUcmFuc2ZlckFsbCB3aXRoIGtlZXBBbGl2ZSBzZXQgdG8gdHJ1ZSBieSBkZWZhdWx0LlxuICAgKiBJZiBrZWVwQWxpdmUgaXMgZmFsc2UsIHRoZSBlbnRpcmUgYWRkcmVzcyB3aWxsIGJlIHN3ZXB0IChpbmNsdWRpbmcgdGhlIDEgRE9UIG1pbmltdW0pLlxuICAgKlxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IGtlZXBBbGl2ZSAtIGtlZXAgdGhlIGFkZHJlc3MgYWxpdmUgYWZ0ZXIgdGhpcyBzd2VlcFxuICAgKiBAcmV0dXJucyB7VHJhbnNmZXJCdWlsZGVyfSBUaGlzIHRyYW5zZmVyIGJ1aWxkZXIuXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9naXRodWIuY29tL3Bhcml0eXRlY2gvdHh3cmFwcGVyLWNvcmUvYmxvYi9tYWluL2RvY3MvbW9kdWxlcy90eHdyYXBwZXJfc3Vic3RyYXRlX3NyYy5tZXRob2RzLmJhbGFuY2VzLm1kI3RyYW5zZmVyYWxsXG4gICAqL1xuICBzd2VlcChrZWVwQWxpdmU/OiBib29sZWFuKTogdGhpcyB7XG4gICAgdGhpcy5fc3dlZXBGcmVlQmFsYW5jZSA9IHRydWU7XG4gICAgaWYgKGtlZXBBbGl2ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLl9rZWVwQWRkcmVzc0FsaXZlID0ga2VlcEFsaXZlO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKlxuICAgKiBUaGUgYW1vdW50IGZvciB0cmFuc2ZlciB0cmFuc2FjdGlvbi5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IGFtb3VudFxuICAgKiBAcmV0dXJucyB7VHJhbnNmZXJCdWlsZGVyfSBUaGlzIHRyYW5zZmVyIGJ1aWxkZXIuXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly93aWtpLnBvbGthZG90Lm5ldHdvcmsvZG9jcy9idWlsZC1wcm90b2NvbC1pbmZvXG4gICAqL1xuICBhbW91bnQoYW1vdW50OiBzdHJpbmcpOiB0aGlzIHtcbiAgICB0aGlzLnZhbGlkYXRlVmFsdWUobmV3IEJpZ051bWJlcihhbW91bnQpKTtcbiAgICB0aGlzLl9hbW91bnQgPSBhbW91bnQ7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICpcbiAgICogVGhlIGRlc3RpbmF0aW9uIGFkZHJlc3MgZm9yIHRyYW5zZmVyIHRyYW5zYWN0aW9uLlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gZGVzdFxuICAgKiBAcmV0dXJucyB7VHJhbnNmZXJCdWlsZGVyfSBUaGlzIHRyYW5zZmVyIGJ1aWxkZXIuXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly93aWtpLnBvbGthZG90Lm5ldHdvcmsvZG9jcy9idWlsZC1wcm90b2NvbC1pbmZvXG4gICAqL1xuICB0byh7IGFkZHJlc3MgfTogQmFzZUFkZHJlc3MpOiB0aGlzIHtcbiAgICB0aGlzLnZhbGlkYXRlQWRkcmVzcyh7IGFkZHJlc3MgfSk7XG4gICAgdGhpcy5fdG8gPSBhZGRyZXNzO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqXG4gICAqIFRoZSByZWFsIGFkZHJlc3Mgb2YgdGhlIG9yaWdpbmFsIHR4XG4gICAqXG4gICAqIEBwYXJhbSB7QmFzZUFkZHJlc3N9IHJlYWxcbiAgICogQHJldHVybnMge1RyYW5zZmVyQnVpbGRlcn0gVGhpcyBidWlsZGVyLlxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vd2lraS5wb2xrYWRvdC5uZXR3b3JrL2RvY3MvbGVhcm4tcHJveGllcyN3aHktdXNlLWEtcHJveHlcbiAgICovXG4gIG93bmVyKG93bmVyOiBCYXNlQWRkcmVzcyk6IHRoaXMge1xuICAgIHRoaXMudmFsaWRhdGVBZGRyZXNzKHsgYWRkcmVzczogb3duZXIuYWRkcmVzcyB9KTtcbiAgICB0aGlzLl9vd25lciA9IG93bmVyLmFkZHJlc3M7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICpcbiAgICogVGhlIHByb3h5IHR5cGUgdG8gZXhlY3V0ZVxuICAgKlxuICAgKiBAcGFyYW0ge3Byb3h5VHlwZX0gZm9yY2VQcm94eVR5cGVcbiAgICogQHJldHVybnMge1RyYW5zZmVyQnVpbGRlcn0gVGhpcyBidWlsZGVyLlxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vd2lraS5wb2xrYWRvdC5uZXR3b3JrL2RvY3MvbGVhcm4tcHJveGllcyNwcm94eS10eXBlc1xuICAgKi9cbiAgZm9yY2VQcm94eVR5cGUoZm9yY2VQcm94eVR5cGU6IFByb3h5VHlwZSk6IHRoaXMge1xuICAgIHRoaXMuX2ZvcmNlUHJveHlUeXBlID0gZm9yY2VQcm94eVR5cGU7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgdmFsaWRhdGVEZWNvZGVkVHJhbnNhY3Rpb24oZGVjb2RlZFR4bjogRGVjb2RlZFNpZ25pbmdQYXlsb2FkIHwgRGVjb2RlZFNpZ25lZFR4LCByYXdUcmFuc2FjdGlvbjogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKGRlY29kZWRUeG4ubWV0aG9kPy5uYW1lID09PSBNZXRob2ROYW1lcy5UcmFuc2ZlcktlZXBBbGl2ZSkge1xuICAgICAgY29uc3QgdHhNZXRob2QgPSBkZWNvZGVkVHhuLm1ldGhvZC5hcmdzIGFzIHVua25vd24gYXMgVHJhbnNmZXJBcmdzO1xuICAgICAgY29uc3QgYW1vdW50ID0gYCR7dHhNZXRob2QudmFsdWV9YDtcbiAgICAgIGNvbnN0IHRvID0gdHhNZXRob2QuZGVzdC5pZDtcbiAgICAgIGNvbnN0IHZhbGlkYXRpb25SZXN1bHQgPSBUcmFuc2ZlclRyYW5zYWN0aW9uU2NoZW1hLnZhbGlkYXRlKHsgYW1vdW50LCB0byB9KTtcbiAgICAgIGlmICh2YWxpZGF0aW9uUmVzdWx0LmVycm9yKSB7XG4gICAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcihgVHJhbnNmZXIgVHJhbnNhY3Rpb24gdmFsaWRhdGlvbiBmYWlsZWQ6ICR7dmFsaWRhdGlvblJlc3VsdC5lcnJvci5tZXNzYWdlfWApO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoZGVjb2RlZFR4bi5tZXRob2Q/Lm5hbWUgPT09IE1ldGhvZE5hbWVzLlByb3h5KSB7XG4gICAgICBjb25zdCB0eE1ldGhvZCA9IGRlY29kZWRUeG4ubWV0aG9kLmFyZ3MgYXMgdW5rbm93biBhcyBQcm94eUFyZ3M7XG4gICAgICBjb25zdCByZWFsID0gZ2V0QWRkcmVzcyh0eE1ldGhvZCk7XG4gICAgICBjb25zdCBmb3JjZVByb3h5VHlwZSA9IHR4TWV0aG9kLmZvcmNlUHJveHlUeXBlO1xuICAgICAgY29uc3QgZGVjb2RlZENhbGwgPSB1dGlscy5kZWNvZGVDYWxsTWV0aG9kKHJhd1RyYW5zYWN0aW9uLCB7XG4gICAgICAgIHJlZ2lzdHJ5OiBTaW5nbGV0b25SZWdpc3RyeS5nZXRJbnN0YW5jZSh0aGlzLl9tYXRlcmlhbCksXG4gICAgICAgIG1ldGFkYXRhUnBjOiB0aGlzLl9tYXRlcmlhbC5tZXRhZGF0YSxcbiAgICAgIH0pO1xuICAgICAgY29uc3QgYW1vdW50ID0gYCR7ZGVjb2RlZENhbGwudmFsdWV9YDtcbiAgICAgIGNvbnN0IHRvID0gZGVjb2RlZENhbGwuZGVzdC5pZDtcbiAgICAgIGNvbnN0IHZhbGlkYXRpb25SZXN1bHQgPSBQcm94eVRyYW5zYWN0aW9uU2NoZW1hLnZhbGlkYXRlKHsgcmVhbCwgZm9yY2VQcm94eVR5cGUsIGFtb3VudCwgdG8gfSk7XG4gICAgICBpZiAodmFsaWRhdGlvblJlc3VsdC5lcnJvcikge1xuICAgICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoYFByb3h5IFRyYW5zYWN0aW9uIHZhbGlkYXRpb24gZmFpbGVkOiAke3ZhbGlkYXRpb25SZXN1bHQuZXJyb3IubWVzc2FnZX1gKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcHJvdGVjdGVkIGZyb21JbXBsZW1lbnRhdGlvbihyYXdUcmFuc2FjdGlvbjogc3RyaW5nKTogVHJhbnNhY3Rpb24ge1xuICAgIGNvbnN0IHR4ID0gc3VwZXIuZnJvbUltcGxlbWVudGF0aW9uKHJhd1RyYW5zYWN0aW9uKTtcbiAgICBpZiAodGhpcy5fbWV0aG9kPy5uYW1lID09PSBNZXRob2ROYW1lcy5UcmFuc2ZlcktlZXBBbGl2ZSkge1xuICAgICAgY29uc3QgdHhNZXRob2QgPSB0aGlzLl9tZXRob2QuYXJncyBhcyBUcmFuc2ZlckFyZ3M7XG4gICAgICB0aGlzLmFtb3VudCh0eE1ldGhvZC52YWx1ZSk7XG4gICAgICB0aGlzLnRvKHtcbiAgICAgICAgYWRkcmVzczogdXRpbHMuZGVjb2RlRG90QWRkcmVzcyhcbiAgICAgICAgICB0eE1ldGhvZC5kZXN0LmlkLFxuICAgICAgICAgIHV0aWxzLmdldEFkZHJlc3NGb3JtYXQodGhpcy5fY29pbkNvbmZpZy5uYW1lIGFzIERvdEFzc2V0VHlwZXMpXG4gICAgICAgICksXG4gICAgICB9KTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuX21ldGhvZD8ubmFtZSA9PT0gTWV0aG9kTmFtZXMuVHJhbnNmZXJBbGwpIHtcbiAgICAgIHRoaXMuX3N3ZWVwRnJlZUJhbGFuY2UgPSB0cnVlO1xuICAgICAgY29uc3QgdHhNZXRob2QgPSB0aGlzLl9tZXRob2QuYXJncyBhcyBUcmFuc2ZlckFsbEFyZ3M7XG4gICAgICB0aGlzLnN3ZWVwKHR4TWV0aG9kLmtlZXBBbGl2ZSk7XG4gICAgICB0aGlzLnRvKHtcbiAgICAgICAgYWRkcmVzczogdXRpbHMuZGVjb2RlRG90QWRkcmVzcyhcbiAgICAgICAgICB0eE1ldGhvZC5kZXN0LmlkLFxuICAgICAgICAgIHV0aWxzLmdldEFkZHJlc3NGb3JtYXQodGhpcy5fY29pbkNvbmZpZy5uYW1lIGFzIERvdEFzc2V0VHlwZXMpXG4gICAgICAgICksXG4gICAgICB9KTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuX21ldGhvZD8ubmFtZSA9PT0gTWV0aG9kTmFtZXMuUHJveHkpIHtcbiAgICAgIGNvbnN0IHR4TWV0aG9kID0gdGhpcy5fbWV0aG9kLmFyZ3MgYXMgUHJveHlBcmdzO1xuICAgICAgdGhpcy5vd25lcih7XG4gICAgICAgIGFkZHJlc3M6IHV0aWxzLmRlY29kZURvdEFkZHJlc3MoXG4gICAgICAgICAgZ2V0QWRkcmVzcyh0eE1ldGhvZCksXG4gICAgICAgICAgdXRpbHMuZ2V0QWRkcmVzc0Zvcm1hdCh0aGlzLl9jb2luQ29uZmlnLm5hbWUgYXMgRG90QXNzZXRUeXBlcylcbiAgICAgICAgKSxcbiAgICAgIH0pO1xuICAgICAgdGhpcy5mb3JjZVByb3h5VHlwZSh0eE1ldGhvZC5mb3JjZVByb3h5VHlwZSk7XG4gICAgICBjb25zdCBkZWNvZGVkQ2FsbCA9IHV0aWxzLmRlY29kZUNhbGxNZXRob2QocmF3VHJhbnNhY3Rpb24sIHtcbiAgICAgICAgcmVnaXN0cnk6IFNpbmdsZXRvblJlZ2lzdHJ5LmdldEluc3RhbmNlKHRoaXMuX21hdGVyaWFsKSxcbiAgICAgICAgbWV0YWRhdGFScGM6IHRoaXMuX21hdGVyaWFsLm1ldGFkYXRhLFxuICAgICAgfSk7XG4gICAgICBpZiAoIWRlY29kZWRDYWxsLnZhbHVlIHx8ICFkZWNvZGVkQ2FsbC5kZXN0KSB7XG4gICAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcihcbiAgICAgICAgICBgSW52YWxpZCBQcm94eSBUcmFuc2FjdGlvbiBNZXRob2Q6ICR7dGhpcy5fbWV0aG9kPy5uYW1lfS4gRXhwZWN0ZWQgdHJhbnNmZXJLZWVwQWxpdmVgXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICB0aGlzLmFtb3VudChgJHtkZWNvZGVkQ2FsbC52YWx1ZX1gKTtcbiAgICAgIHRoaXMudG8oe1xuICAgICAgICBhZGRyZXNzOiB1dGlscy5kZWNvZGVEb3RBZGRyZXNzKFxuICAgICAgICAgIGRlY29kZWRDYWxsLmRlc3QuaWQsXG4gICAgICAgICAgdXRpbHMuZ2V0QWRkcmVzc0Zvcm1hdCh0aGlzLl9jb2luQ29uZmlnLm5hbWUgYXMgRG90QXNzZXRUeXBlcylcbiAgICAgICAgKSxcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoXG4gICAgICAgIGBJbnZhbGlkIFRyYW5zYWN0aW9uIFR5cGU6ICR7dGhpcy5fbWV0aG9kPy5uYW1lfS4gRXhwZWN0ZWQgYSB0cmFuc2ZlcktlZXBBbGl2ZSBvciBhIHByb3h5IHRyYW5zZmVyS2VlcEFsaXZlIHRyYW5zYWN0aW9uYFxuICAgICAgKTtcbiAgICB9XG4gICAgcmV0dXJuIHR4O1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHZhbGlkYXRlVHJhbnNhY3Rpb24oXzogVHJhbnNhY3Rpb24pOiB2b2lkIHtcbiAgICBzdXBlci52YWxpZGF0ZVRyYW5zYWN0aW9uKF8pO1xuICAgIHRoaXMudmFsaWRhdGVGaWVsZHModGhpcy5fdG8sIHRoaXMuX2Ftb3VudCwgdGhpcy5fb3duZXIsIHRoaXMuX2ZvcmNlUHJveHlUeXBlKTtcbiAgfVxuXG4gIHByaXZhdGUgdmFsaWRhdGVGaWVsZHModG86IHN0cmluZywgYW1vdW50OiBzdHJpbmcsIHJlYWw/OiBzdHJpbmcsIGZvcmNlUHJveHlUeXBlPzogc3RyaW5nKTogdm9pZCB7XG4gICAgbGV0IHZhbGlkYXRpb25SZXN1bHQ7XG4gICAgaWYgKGZvcmNlUHJveHlUeXBlKSB7XG4gICAgICB2YWxpZGF0aW9uUmVzdWx0ID0gUHJveHlUcmFuc2FjdGlvblNjaGVtYS52YWxpZGF0ZSh7IHRvLCBhbW91bnQsIHJlYWwsIGZvcmNlUHJveHlUeXBlIH0pO1xuICAgIH0gZWxzZSBpZiAodGhpcy5fc3dlZXBGcmVlQmFsYW5jZSkge1xuICAgICAgdmFsaWRhdGlvblJlc3VsdCA9IFRyYW5zZmVyQWxsVHJhbnNhY3Rpb25TY2hlbWEudmFsaWRhdGUoeyB0byB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdmFsaWRhdGlvblJlc3VsdCA9IFRyYW5zZmVyVHJhbnNhY3Rpb25TY2hlbWEudmFsaWRhdGUoeyBhbW91bnQsIHRvIH0pO1xuICAgIH1cblxuICAgIGlmICh2YWxpZGF0aW9uUmVzdWx0LmVycm9yKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoXG4gICAgICAgIGBQcm94eS9UcmFuc2ZlckFsbC9UcmFuc2ZlcktlZXBBbGl2ZSBUcmFuc2FjdGlvbiB2YWxpZGF0aW9uIGZhaWxlZDogJHt2YWxpZGF0aW9uUmVzdWx0LmVycm9yLm1lc3NhZ2V9YFxuICAgICAgKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -1,118 +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.RemoveProxyBuilder = void 0;
7
- const sdk_core_1 = require("@bitgo-beta/sdk-core");
8
- const txwrapper_polkadot_1 = require("@substrate/txwrapper-polkadot");
9
- const bignumber_js_1 = __importDefault(require("bignumber.js"));
10
- const iface_1 = require("./iface");
11
- const iface_utils_1 = require("./iface_utils");
12
- const transactionBuilder_1 = require("./transactionBuilder");
13
- const txnSchema_1 = require("./txnSchema");
14
- class RemoveProxyBuilder extends transactionBuilder_1.TransactionBuilder {
15
- constructor(_coinConfig) {
16
- super(_coinConfig);
17
- }
18
- /** @inheritDoc */
19
- buildTransaction() {
20
- const baseTxInfo = this.createBaseTxInfo();
21
- return txwrapper_polkadot_1.methods.proxy.removeProxy({
22
- delegate: this._delegate,
23
- proxyType: this._proxyType,
24
- delay: this._delay,
25
- }, baseTxInfo.baseTxInfo, baseTxInfo.options);
26
- }
27
- get transactionType() {
28
- return sdk_core_1.TransactionType.AddressInitialization;
29
- }
30
- /**
31
- * The proxy account to remove.
32
- *
33
- * @param {BaseAddress} owner
34
- * @returns {AddressInitializationBuilder} This builder.
35
- *
36
- * @see https://wiki.polkadot.network/docs/learn-proxies#why-use-a-proxy
37
- */
38
- owner(owner) {
39
- this.validateAddress({ address: owner.address });
40
- this._delegate = owner.address;
41
- return this;
42
- }
43
- /**
44
- * The proxy type to remove.
45
- *
46
- * @param {proxyType} proxyType
47
- * @returns {AddressInitializationBuilder} This builder.
48
- *
49
- * @see https://wiki.polkadot.network/docs/learn-proxies#proxy-types
50
- */
51
- type(proxyType) {
52
- this._proxyType = proxyType;
53
- return this;
54
- }
55
- /**
56
- * The number of blocks that an announcement must be in place for.
57
- * before the corresponding call may be dispatched.
58
- * If zero, then no announcement is needed.
59
- * TODO: move to the validity window method once it has been standardized
60
- *
61
- * @param {string} delay
62
- * @returns {AddressInitializationBuilder} This transfer builder.
63
- *
64
- * @see https://wiki.polkadot.network/docs/learn-proxies#time-delayed-proxies
65
- */
66
- delay(delay) {
67
- this.validateValue(new bignumber_js_1.default(parseInt(delay, 10)));
68
- this._delay = delay;
69
- return this;
70
- }
71
- /** @inheritdoc */
72
- validateDecodedTransaction(decodedTxn) {
73
- var _a;
74
- let validationResult;
75
- if (((_a = decodedTxn.method) === null || _a === void 0 ? void 0 : _a.name) === iface_1.MethodNames.RemoveProxy) {
76
- const txMethod = decodedTxn.method.args;
77
- validationResult = this.validateRemoveProxyFields(iface_utils_1.getDelegateAddress(txMethod), txMethod.proxyType, txMethod.delay);
78
- if (validationResult.error) {
79
- throw new sdk_core_1.InvalidTransactionError(`Transaction validation failed: ${validationResult.error.message}`);
80
- }
81
- }
82
- }
83
- /** @inheritdoc */
84
- fromImplementation(rawTransaction) {
85
- var _a, _b;
86
- const tx = super.fromImplementation(rawTransaction);
87
- if (((_a = this._method) === null || _a === void 0 ? void 0 : _a.name) === iface_1.MethodNames.RemoveProxy) {
88
- const txMethod = this._method.args;
89
- this.owner({ address: iface_utils_1.getDelegateAddress(txMethod) });
90
- this.type(txMethod.proxyType);
91
- this.delay(new bignumber_js_1.default(txMethod.delay).toString());
92
- }
93
- else {
94
- throw new sdk_core_1.InvalidTransactionError(`Invalid Transaction Type: ${(_b = this._method) === null || _b === void 0 ? void 0 : _b.name}. Expected ${iface_1.MethodNames.RemoveProxy}`);
95
- }
96
- return tx;
97
- }
98
- /** @inheritdoc */
99
- validateTransaction(_) {
100
- super.validateTransaction(_);
101
- this.validateFields();
102
- }
103
- validateFields() {
104
- const validationResult = this.validateRemoveProxyFields(this._delegate, this._proxyType, this._delay);
105
- if (validationResult.error) {
106
- throw new sdk_core_1.InvalidTransactionError(`RemoveProxy Transaction validation failed: ${validationResult.error.message}`);
107
- }
108
- }
109
- validateRemoveProxyFields(delegate, proxyType, delay) {
110
- return txnSchema_1.AddressInitializationSchema.validate({
111
- delegate,
112
- proxyType,
113
- delay,
114
- });
115
- }
116
- }
117
- exports.RemoveProxyBuilder = RemoveProxyBuilder;
118
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJveHlCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9wcm94eUJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsbURBQTZGO0FBRzdGLHNFQUF3RDtBQUN4RCxnRUFBcUM7QUFFckMsbUNBQStEO0FBQy9ELCtDQUFtRDtBQUVuRCw2REFBMEQ7QUFDMUQsMkNBQTBEO0FBRTFELE1BQWEsa0JBQW1CLFNBQVEsdUNBQWtCO0lBS3hELFlBQVksV0FBaUM7UUFDM0MsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxrQkFBa0I7SUFDUixnQkFBZ0I7UUFDeEIsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDM0MsT0FBTyw0QkFBTyxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQzlCO1lBQ0UsUUFBUSxFQUFFLElBQUksQ0FBQyxTQUFTO1lBQ3hCLFNBQVMsRUFBRSxJQUFJLENBQUMsVUFBVTtZQUMxQixLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU07U0FDbkIsRUFDRCxVQUFVLENBQUMsVUFBVSxFQUNyQixVQUFVLENBQUMsT0FBTyxDQUNuQixDQUFDO0lBQ0osQ0FBQztJQUVELElBQWMsZUFBZTtRQUMzQixPQUFPLDBCQUFlLENBQUMscUJBQXFCLENBQUM7SUFDL0MsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSCxLQUFLLENBQUMsS0FBa0I7UUFDdEIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUNqRCxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUM7UUFDL0IsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNILElBQUksQ0FBQyxTQUFvQjtRQUN2QixJQUFJLENBQUMsVUFBVSxHQUFHLFNBQVMsQ0FB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IEludmFsaWRUcmFuc2FjdGlvbkVycm9yLCBUcmFuc2FjdGlvblR5cGUgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQgeyBEZWNvZGVkU2lnbmVkVHgsIERlY29kZWRTaWduaW5nUGF5bG9hZCwgVW5zaWduZWRUcmFuc2FjdGlvbiB9IGZyb20gJ0BzdWJzdHJhdGUvdHh3cmFwcGVyLWNvcmUnO1xuaW1wb3J0IHsgbWV0aG9kcyB9IGZyb20gJ0BzdWJzdHJhdGUvdHh3cmFwcGVyLXBvbGthZG90JztcbmltcG9ydCBCaWdOdW1iZXIgZnJvbSAnYmlnbnVtYmVyLmpzJztcbmltcG9ydCB7IFZhbGlkYXRpb25SZXN1bHQgfSBmcm9tICdqb2knO1xuaW1wb3J0IHsgQWRkUHJveHlBcmdzLCBNZXRob2ROYW1lcywgUHJveHlUeXBlIH0gZnJvbSAnLi9pZmFjZSc7XG5pbXBvcnQgeyBnZXREZWxlZ2F0ZUFkZHJlc3MgfSBmcm9tICcuL2lmYWNlX3V0aWxzJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uIH0gZnJvbSAnLi90cmFuc2FjdGlvbic7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbkJ1aWxkZXIgfSBmcm9tICcuL3RyYW5zYWN0aW9uQnVpbGRlcic7XG5pbXBvcnQgeyBBZGRyZXNzSW5pdGlhbGl6YXRpb25TY2hlbWEgfSBmcm9tICcuL3R4blNjaGVtYSc7XG5cbmV4cG9ydCBjbGFzcyBSZW1vdmVQcm94eUJ1aWxkZXIgZXh0ZW5kcyBUcmFuc2FjdGlvbkJ1aWxkZXIge1xuICBwcm90ZWN0ZWQgX2RlbGVnYXRlOiBzdHJpbmc7XG4gIHByb3RlY3RlZCBfcHJveHlUeXBlOiBQcm94eVR5cGU7XG4gIHByb3RlY3RlZCBfZGVsYXk6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihfY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz4pIHtcbiAgICBzdXBlcihfY29pbkNvbmZpZyk7XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKi9cbiAgcHJvdGVjdGVkIGJ1aWxkVHJhbnNhY3Rpb24oKTogVW5zaWduZWRUcmFuc2FjdGlvbiB7XG4gICAgY29uc3QgYmFzZVR4SW5mbyA9IHRoaXMuY3JlYXRlQmFzZVR4SW5mbygpO1xuICAgIHJldHVybiBtZXRob2RzLnByb3h5LnJlbW92ZVByb3h5KFxuICAgICAge1xuICAgICAgICBkZWxlZ2F0ZTogdGhpcy5fZGVsZWdhdGUsXG4gICAgICAgIHByb3h5VHlwZTogdGhpcy5fcHJveHlUeXBlLFxuICAgICAgICBkZWxheTogdGhpcy5fZGVsYXksXG4gICAgICB9LFxuICAgICAgYmFzZVR4SW5mby5iYXNlVHhJbmZvLFxuICAgICAgYmFzZVR4SW5mby5vcHRpb25zXG4gICAgKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgdHJhbnNhY3Rpb25UeXBlKCk6IFRyYW5zYWN0aW9uVHlwZSB7XG4gICAgcmV0dXJuIFRyYW5zYWN0aW9uVHlwZS5BZGRyZXNzSW5pdGlhbGl6YXRpb247XG4gIH1cblxuICAvKipcbiAgICogVGhlIHByb3h5IGFjY291bnQgdG8gcmVtb3ZlLlxuICAgKlxuICAgKiBAcGFyYW0ge0Jhc2VBZGRyZXNzfSBvd25lclxuICAgKiBAcmV0dXJucyB7QWRkcmVzc0luaXRpYWxpemF0aW9uQnVpbGRlcn0gVGhpcyBidWlsZGVyLlxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vd2lraS5wb2xrYWRvdC5uZXR3b3JrL2RvY3MvbGVhcm4tcHJveGllcyN3aHktdXNlLWEtcHJveHlcbiAgICovXG4gIG93bmVyKG93bmVyOiBCYXNlQWRkcmVzcyk6IHRoaXMge1xuICAgIHRoaXMudmFsaWRhdGVBZGRyZXNzKHsgYWRkcmVzczogb3duZXIuYWRkcmVzcyB9KTtcbiAgICB0aGlzLl9kZWxlZ2F0ZSA9IG93bmVyLmFkZHJlc3M7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogVGhlIHByb3h5IHR5cGUgdG8gcmVtb3ZlLlxuICAgKlxuICAgKiBAcGFyYW0ge3Byb3h5VHlwZX0gcHJveHlUeXBlXG4gICAqIEByZXR1cm5zIHtBZGRyZXNzSW5pdGlhbGl6YXRpb25CdWlsZGVyfSBUaGlzIGJ1aWxkZXIuXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly93aWtpLnBvbGthZG90Lm5ldHdvcmsvZG9jcy9sZWFybi1wcm94aWVzI3Byb3h5LXR5cGVzXG4gICAqL1xuICB0eXBlKHByb3h5VHlwZTogUHJveHlUeXBlKTogdGhpcyB7XG4gICAgdGhpcy5fcHJveHlUeXBlID0gcHJveHlUeXBlO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBudW1iZXIgb2YgYmxvY2tzIHRoYXQgYW4gYW5ub3VuY2VtZW50IG11c3QgYmUgaW4gcGxhY2UgZm9yLlxuICAgKiBiZWZvcmUgdGhlIGNvcnJlc3BvbmRpbmcgY2FsbCBtYXkgYmUgZGlzcGF0Y2hlZC5cbiAgICogSWYgemVybywgdGhlbiBubyBhbm5vdW5jZW1lbnQgaXMgbmVlZGVkLlxuICAgKiBUT0RPOiBtb3ZlIHRvIHRoZSB2YWxpZGl0eSB3aW5kb3cgbWV0aG9kIG9uY2UgaXQgaGFzIGJlZW4gc3RhbmRhcmRpemVkXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBkZWxheVxuICAgKiBAcmV0dXJucyB7QWRkcmVzc0luaXRpYWxpemF0aW9uQnVpbGRlcn0gVGhpcyB0cmFuc2ZlciBidWlsZGVyLlxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vd2lraS5wb2xrYWRvdC5uZXR3b3JrL2RvY3MvbGVhcm4tcHJveGllcyN0aW1lLWRlbGF5ZWQtcHJveGllc1xuICAgKi9cbiAgZGVsYXkoZGVsYXk6IHN0cmluZyk6IHRoaXMge1xuICAgIHRoaXMudmFsaWRhdGVWYWx1ZShuZXcgQmlnTnVtYmVyKHBhcnNlSW50KGRlbGF5LCAxMCkpKTtcbiAgICB0aGlzLl9kZWxheSA9IGRlbGF5O1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHZhbGlkYXRlRGVjb2RlZFRyYW5zYWN0aW9uKGRlY29kZWRUeG46IERlY29kZWRTaWduaW5nUGF5bG9hZCB8IERlY29kZWRTaWduZWRUeCk6IHZvaWQge1xuICAgIGxldCB2YWxpZGF0aW9uUmVzdWx0O1xuICAgIGlmIChkZWNvZGVkVHhuLm1ldGhvZD8ubmFtZSA9PT0gTWV0aG9kTmFtZXMuUmVtb3ZlUHJveHkpIHtcbiAgICAgIGNvbnN0IHR4TWV0aG9kID0gZGVjb2RlZFR4bi5tZXRob2QuYXJncyBhcyB1bmtub3duIGFzIEFkZFByb3h5QXJncztcbiAgICAgIHZhbGlkYXRpb25SZXN1bHQgPSB0aGlzLnZhbGlkYXRlUmVtb3ZlUHJveHlGaWVsZHMoXG4gICAgICAgIGdldERlbGVnYXRlQWRkcmVzcyh0eE1ldGhvZCksXG4gICAgICAgIHR4TWV0aG9kLnByb3h5VHlwZSxcbiAgICAgICAgdHhNZXRob2QuZGVsYXlcbiAgICAgICk7XG4gICAgICBpZiAodmFsaWRhdGlvblJlc3VsdC5lcnJvcikge1xuICAgICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoYFRyYW5zYWN0aW9uIHZhbGlkYXRpb24gZmFpbGVkOiAke3ZhbGlkYXRpb25SZXN1bHQuZXJyb3IubWVzc2FnZX1gKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcHJvdGVjdGVkIGZyb21JbXBsZW1lbnRhdGlvbihyYXdUcmFuc2FjdGlvbjogc3RyaW5nKTogVHJhbnNhY3Rpb24ge1xuICAgIGNvbnN0IHR4ID0gc3VwZXIuZnJvbUltcGxlbWVudGF0aW9uKHJhd1RyYW5zYWN0aW9uKTtcbiAgICBpZiAodGhpcy5fbWV0aG9kPy5uYW1lID09PSBNZXRob2ROYW1lcy5SZW1vdmVQcm94eSkge1xuICAgICAgY29uc3QgdHhNZXRob2QgPSB0aGlzLl9tZXRob2QuYXJncyBhcyBBZGRQcm94eUFyZ3M7XG4gICAgICB0aGlzLm93bmVyKHsgYWRkcmVzczogZ2V0RGVsZWdhdGVBZGRyZXNzKHR4TWV0aG9kKSB9KTtcbiAgICAgIHRoaXMudHlwZSh0eE1ldGhvZC5wcm94eVR5cGUpO1xuICAgICAgdGhpcy5kZWxheShuZXcgQmlnTnVtYmVyKHR4TWV0aG9kLmRlbGF5KS50b1N0cmluZygpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKFxuICAgICAgICBgSW52YWxpZCBUcmFuc2FjdGlvbiBUeXBlOiAke3RoaXMuX21ldGhvZD8ubmFtZX0uIEV4cGVjdGVkICR7TWV0aG9kTmFtZXMuUmVtb3ZlUHJveHl9YFxuICAgICAgKTtcbiAgICB9XG4gICAgcmV0dXJuIHR4O1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHZhbGlkYXRlVHJhbnNhY3Rpb24oXzogVHJhbnNhY3Rpb24pOiB2b2lkIHtcbiAgICBzdXBlci52YWxpZGF0ZVRyYW5zYWN0aW9uKF8pO1xuICAgIHRoaXMudmFsaWRhdGVGaWVsZHMoKTtcbiAgfVxuXG4gIHByaXZhdGUgdmFsaWRhdGVGaWVsZHMoKTogdm9pZCB7XG4gICAgY29uc3QgdmFsaWRhdGlvblJlc3VsdDogVmFsaWRhdGlvblJlc3VsdCA9IHRoaXMudmFsaWRhdGVSZW1vdmVQcm94eUZpZWxkcyhcbiAgICAgIHRoaXMuX2RlbGVnYXRlLFxuICAgICAgdGhpcy5fcHJveHlUeXBlLFxuICAgICAgdGhpcy5fZGVsYXlcbiAgICApO1xuICAgIGlmICh2YWxpZGF0aW9uUmVzdWx0LmVycm9yKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoYFJlbW92ZVByb3h5IFRyYW5zYWN0aW9uIHZhbGlkYXRpb24gZmFpbGVkOiAke3ZhbGlkYXRpb25SZXN1bHQuZXJyb3IubWVzc2FnZX1gKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHZhbGlkYXRlUmVtb3ZlUHJveHlGaWVsZHMoZGVsZWdhdGU6IHN0cmluZywgcHJveHlUeXBlOiBzdHJpbmcsIGRlbGF5OiBzdHJpbmcpOiBWYWxpZGF0aW9uUmVzdWx0IHtcbiAgICByZXR1cm4gQWRkcmVzc0luaXRpYWxpemF0aW9uU2NoZW1hLnZhbGlkYXRlKHtcbiAgICAgIGRlbGVnYXRlLFxuICAgICAgcHJveHlUeXBlLFxuICAgICAgZGVsYXksXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==