@bitgo/account-lib 2.20.0-rc.32 → 2.20.0-rc.35

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 (276) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/dist/resources/README.md +0 -22
  3. package/dist/src/coin/polygon/transactionBuilder.d.ts +2 -2
  4. package/dist/src/coin/polygon/transactionBuilder.d.ts.map +1 -1
  5. package/dist/src/coin/polygon/transactionBuilder.js +3 -3
  6. package/dist/src/index.d.ts +7 -7
  7. package/dist/src/index.d.ts.map +1 -1
  8. package/dist/src/index.js +8 -8
  9. package/dist/tsconfig.tsbuildinfo +12836 -26738
  10. package/package.json +21 -30
  11. package/resources/README.md +0 -22
  12. package/dist/resources/trx/protobuf/Contract.proto +0 -256
  13. package/dist/resources/trx/protobuf/Discover.proto +0 -44
  14. package/dist/resources/trx/protobuf/tron.d.ts +0 -11024
  15. package/dist/resources/trx/protobuf/tron.js +0 -31510
  16. package/dist/resources/trx/protobuf/tron.proto +0 -677
  17. package/dist/src/coin/dot/addressInitializationBuilder.d.ts +0 -79
  18. package/dist/src/coin/dot/addressInitializationBuilder.d.ts.map +0 -1
  19. package/dist/src/coin/dot/addressInitializationBuilder.js +0 -182
  20. package/dist/src/coin/dot/batchTransactionBuilder.d.ts +0 -47
  21. package/dist/src/coin/dot/batchTransactionBuilder.d.ts.map +0 -1
  22. package/dist/src/coin/dot/batchTransactionBuilder.js +0 -122
  23. package/dist/src/coin/dot/claimBuilder.d.ts +0 -58
  24. package/dist/src/coin/dot/claimBuilder.d.ts.map +0 -1
  25. package/dist/src/coin/dot/claimBuilder.js +0 -119
  26. package/dist/src/coin/dot/errors.d.ts +0 -8
  27. package/dist/src/coin/dot/errors.d.ts.map +0 -1
  28. package/dist/src/coin/dot/errors.js +0 -19
  29. package/dist/src/coin/dot/iface.d.ts +0 -194
  30. package/dist/src/coin/dot/iface.d.ts.map +0 -1
  31. package/dist/src/coin/dot/iface.js +0 -39
  32. package/dist/src/coin/dot/index.d.ts +0 -17
  33. package/dist/src/coin/dot/index.d.ts.map +0 -1
  34. package/dist/src/coin/dot/index.js +0 -53
  35. package/dist/src/coin/dot/keyPair.d.ts +0 -31
  36. package/dist/src/coin/dot/keyPair.d.ts.map +0 -1
  37. package/dist/src/coin/dot/keyPair.js +0 -70
  38. package/dist/src/coin/dot/singletonRegistry.d.ts +0 -7
  39. package/dist/src/coin/dot/singletonRegistry.d.ts.map +0 -1
  40. package/dist/src/coin/dot/singletonRegistry.js +0 -20
  41. package/dist/src/coin/dot/stakingBuilder.d.ts +0 -58
  42. package/dist/src/coin/dot/stakingBuilder.d.ts.map +0 -1
  43. package/dist/src/coin/dot/stakingBuilder.js +0 -139
  44. package/dist/src/coin/dot/transaction.d.ts +0 -65
  45. package/dist/src/coin/dot/transaction.d.ts.map +0 -1
  46. package/dist/src/coin/dot/transaction.js +0 -396
  47. package/dist/src/coin/dot/transactionBuilder.d.ts +0 -131
  48. package/dist/src/coin/dot/transactionBuilder.d.ts.map +0 -1
  49. package/dist/src/coin/dot/transactionBuilder.js +0 -332
  50. package/dist/src/coin/dot/transactionBuilderFactory.d.ts +0 -26
  51. package/dist/src/coin/dot/transactionBuilderFactory.d.ts.map +0 -1
  52. package/dist/src/coin/dot/transactionBuilderFactory.js +0 -93
  53. package/dist/src/coin/dot/transferBuilder.d.ts +0 -71
  54. package/dist/src/coin/dot/transferBuilder.d.ts.map +0 -1
  55. package/dist/src/coin/dot/transferBuilder.js +0 -177
  56. package/dist/src/coin/dot/txnSchema.d.ts +0 -14
  57. package/dist/src/coin/dot/txnSchema.d.ts.map +0 -1
  58. package/dist/src/coin/dot/txnSchema.js +0 -104
  59. package/dist/src/coin/dot/unnominateBuilder.d.ts +0 -24
  60. package/dist/src/coin/dot/unnominateBuilder.d.ts.map +0 -1
  61. package/dist/src/coin/dot/unnominateBuilder.js +0 -50
  62. package/dist/src/coin/dot/unstakeBuilder.d.ts +0 -38
  63. package/dist/src/coin/dot/unstakeBuilder.d.ts.map +0 -1
  64. package/dist/src/coin/dot/unstakeBuilder.js +0 -89
  65. package/dist/src/coin/dot/utils.d.ts +0 -145
  66. package/dist/src/coin/dot/utils.d.ts.map +0 -1
  67. package/dist/src/coin/dot/utils.js +0 -283
  68. package/dist/src/coin/dot/withdrawUnstakedBuilder.d.ts +0 -38
  69. package/dist/src/coin/dot/withdrawUnstakedBuilder.d.ts.map +0 -1
  70. package/dist/src/coin/dot/withdrawUnstakedBuilder.js +0 -90
  71. package/dist/src/coin/etc/index.d.ts +0 -6
  72. package/dist/src/coin/etc/index.d.ts.map +0 -1
  73. package/dist/src/coin/etc/index.js +0 -33
  74. package/dist/src/coin/etc/resources.d.ts +0 -10
  75. package/dist/src/coin/etc/resources.d.ts.map +0 -1
  76. package/dist/src/coin/etc/resources.js +0 -26
  77. package/dist/src/coin/etc/transactionBuilder.d.ts +0 -17
  78. package/dist/src/coin/etc/transactionBuilder.d.ts.map +0 -1
  79. package/dist/src/coin/etc/transactionBuilder.js +0 -45
  80. package/dist/src/coin/etc/transferBuilder.d.ts +0 -19
  81. package/dist/src/coin/etc/transferBuilder.d.ts.map +0 -1
  82. package/dist/src/coin/etc/transferBuilder.js +0 -27
  83. package/dist/src/coin/etc/utils.d.ts +0 -17
  84. package/dist/src/coin/etc/utils.d.ts.map +0 -1
  85. package/dist/src/coin/etc/utils.js +0 -42
  86. package/dist/src/coin/hbar/coinTransferBuilder.d.ts +0 -46
  87. package/dist/src/coin/hbar/coinTransferBuilder.d.ts.map +0 -1
  88. package/dist/src/coin/hbar/coinTransferBuilder.js +0 -143
  89. package/dist/src/coin/hbar/constants.d.ts +0 -8
  90. package/dist/src/coin/hbar/constants.d.ts.map +0 -1
  91. package/dist/src/coin/hbar/constants.js +0 -12
  92. package/dist/src/coin/hbar/iface.d.ts +0 -49
  93. package/dist/src/coin/hbar/iface.d.ts.map +0 -1
  94. package/dist/src/coin/hbar/iface.js +0 -3
  95. package/dist/src/coin/hbar/index.d.ts +0 -9
  96. package/dist/src/coin/hbar/index.d.ts.map +0 -1
  97. package/dist/src/coin/hbar/index.js +0 -37
  98. package/dist/src/coin/hbar/keyPair.d.ts +0 -23
  99. package/dist/src/coin/hbar/keyPair.d.ts.map +0 -1
  100. package/dist/src/coin/hbar/keyPair.js +0 -70
  101. package/dist/src/coin/hbar/tokenAssociateBuilder.d.ts +0 -38
  102. package/dist/src/coin/hbar/tokenAssociateBuilder.d.ts.map +0 -1
  103. package/dist/src/coin/hbar/tokenAssociateBuilder.js +0 -126
  104. package/dist/src/coin/hbar/tokenTransferBuilder.d.ts +0 -25
  105. package/dist/src/coin/hbar/tokenTransferBuilder.d.ts.map +0 -1
  106. package/dist/src/coin/hbar/tokenTransferBuilder.js +0 -115
  107. package/dist/src/coin/hbar/transaction.d.ts +0 -106
  108. package/dist/src/coin/hbar/transaction.d.ts.map +0 -1
  109. package/dist/src/coin/hbar/transaction.js +0 -318
  110. package/dist/src/coin/hbar/transactionBuilder.d.ts +0 -111
  111. package/dist/src/coin/hbar/transactionBuilder.d.ts.map +0 -1
  112. package/dist/src/coin/hbar/transactionBuilder.js +0 -270
  113. package/dist/src/coin/hbar/transactionBuilderFactory.d.ts +0 -47
  114. package/dist/src/coin/hbar/transactionBuilderFactory.d.ts.map +0 -1
  115. package/dist/src/coin/hbar/transactionBuilderFactory.js +0 -88
  116. package/dist/src/coin/hbar/transferBuilder.d.ts +0 -24
  117. package/dist/src/coin/hbar/transferBuilder.d.ts.map +0 -1
  118. package/dist/src/coin/hbar/transferBuilder.js +0 -74
  119. package/dist/src/coin/hbar/utils.d.ts +0 -193
  120. package/dist/src/coin/hbar/utils.d.ts.map +0 -1
  121. package/dist/src/coin/hbar/utils.js +0 -410
  122. package/dist/src/coin/hbar/walletInitializationBuilder.d.ts +0 -28
  123. package/dist/src/coin/hbar/walletInitializationBuilder.d.ts.map +0 -1
  124. package/dist/src/coin/hbar/walletInitializationBuilder.js +0 -110
  125. package/dist/src/coin/near/constants.d.ts +0 -12
  126. package/dist/src/coin/near/constants.d.ts.map +0 -1
  127. package/dist/src/coin/near/constants.js +0 -15
  128. package/dist/src/coin/near/contractCallWrapper.d.ts +0 -33
  129. package/dist/src/coin/near/contractCallWrapper.d.ts.map +0 -1
  130. package/dist/src/coin/near/contractCallWrapper.js +0 -68
  131. package/dist/src/coin/near/errors.d.ts +0 -5
  132. package/dist/src/coin/near/errors.d.ts.map +0 -1
  133. package/dist/src/coin/near/errors.js +0 -12
  134. package/dist/src/coin/near/iface.d.ts +0 -40
  135. package/dist/src/coin/near/iface.d.ts.map +0 -1
  136. package/dist/src/coin/near/iface.js +0 -8
  137. package/dist/src/coin/near/index.d.ts +0 -11
  138. package/dist/src/coin/near/index.d.ts.map +0 -1
  139. package/dist/src/coin/near/index.js +0 -41
  140. package/dist/src/coin/near/keyPair.d.ts +0 -25
  141. package/dist/src/coin/near/keyPair.d.ts.map +0 -1
  142. package/dist/src/coin/near/keyPair.js +0 -73
  143. package/dist/src/coin/near/stakingActivateBuilder.d.ts +0 -32
  144. package/dist/src/coin/near/stakingActivateBuilder.d.ts.map +0 -1
  145. package/dist/src/coin/near/stakingActivateBuilder.js +0 -90
  146. package/dist/src/coin/near/stakingDeactivateBuilder.d.ts +0 -32
  147. package/dist/src/coin/near/stakingDeactivateBuilder.d.ts.map +0 -1
  148. package/dist/src/coin/near/stakingDeactivateBuilder.js +0 -89
  149. package/dist/src/coin/near/stakingWithdrawBuilder.d.ts +0 -32
  150. package/dist/src/coin/near/stakingWithdrawBuilder.d.ts.map +0 -1
  151. package/dist/src/coin/near/stakingWithdrawBuilder.js +0 -89
  152. package/dist/src/coin/near/transaction.d.ts +0 -90
  153. package/dist/src/coin/near/transaction.d.ts.map +0 -1
  154. package/dist/src/coin/near/transaction.js +0 -368
  155. package/dist/src/coin/near/transactionBuilder.d.ts +0 -89
  156. package/dist/src/coin/near/transactionBuilder.d.ts.map +0 -1
  157. package/dist/src/coin/near/transactionBuilder.js +0 -216
  158. package/dist/src/coin/near/transactionBuilderFactory.d.ts +0 -30
  159. package/dist/src/coin/near/transactionBuilderFactory.d.ts.map +0 -1
  160. package/dist/src/coin/near/transactionBuilderFactory.js +0 -71
  161. package/dist/src/coin/near/transferBuilder.d.ts +0 -26
  162. package/dist/src/coin/near/transferBuilder.d.ts.map +0 -1
  163. package/dist/src/coin/near/transferBuilder.js +0 -72
  164. package/dist/src/coin/near/utils.d.ts +0 -42
  165. package/dist/src/coin/near/utils.d.ts.map +0 -1
  166. package/dist/src/coin/near/utils.js +0 -85
  167. package/dist/src/coin/near/walletInitializationBuilder.d.ts +0 -12
  168. package/dist/src/coin/near/walletInitializationBuilder.d.ts.map +0 -1
  169. package/dist/src/coin/near/walletInitializationBuilder.js +0 -20
  170. package/dist/src/coin/rbtc/index.d.ts +0 -6
  171. package/dist/src/coin/rbtc/index.d.ts.map +0 -1
  172. package/dist/src/coin/rbtc/index.js +0 -33
  173. package/dist/src/coin/rbtc/resources.d.ts +0 -10
  174. package/dist/src/coin/rbtc/resources.d.ts.map +0 -1
  175. package/dist/src/coin/rbtc/resources.js +0 -25
  176. package/dist/src/coin/rbtc/transactionBuilder.d.ts +0 -17
  177. package/dist/src/coin/rbtc/transactionBuilder.d.ts.map +0 -1
  178. package/dist/src/coin/rbtc/transactionBuilder.js +0 -44
  179. package/dist/src/coin/rbtc/transferBuilder.d.ts +0 -19
  180. package/dist/src/coin/rbtc/transferBuilder.d.ts.map +0 -1
  181. package/dist/src/coin/rbtc/transferBuilder.js +0 -27
  182. package/dist/src/coin/rbtc/utils.d.ts +0 -17
  183. package/dist/src/coin/rbtc/utils.d.ts.map +0 -1
  184. package/dist/src/coin/rbtc/utils.js +0 -42
  185. package/dist/src/coin/sol/ataInitializationBuilder.d.ts +0 -42
  186. package/dist/src/coin/sol/ataInitializationBuilder.d.ts.map +0 -1
  187. package/dist/src/coin/sol/ataInitializationBuilder.js +0 -112
  188. package/dist/src/coin/sol/ataInitializationTransaction.d.ts +0 -14
  189. package/dist/src/coin/sol/ataInitializationTransaction.d.ts.map +0 -1
  190. package/dist/src/coin/sol/ataInitializationTransaction.js +0 -81
  191. package/dist/src/coin/sol/constants.d.ts +0 -58
  192. package/dist/src/coin/sol/constants.d.ts.map +0 -1
  193. package/dist/src/coin/sol/constants.js +0 -76
  194. package/dist/src/coin/sol/iface.d.ts +0 -100
  195. package/dist/src/coin/sol/iface.d.ts.map +0 -1
  196. package/dist/src/coin/sol/iface.js +0 -3
  197. package/dist/src/coin/sol/index.d.ts +0 -11
  198. package/dist/src/coin/sol/index.d.ts.map +0 -1
  199. package/dist/src/coin/sol/index.js +0 -41
  200. package/dist/src/coin/sol/instructionParamsFactory.d.ts +0 -12
  201. package/dist/src/coin/sol/instructionParamsFactory.d.ts.map +0 -1
  202. package/dist/src/coin/sol/instructionParamsFactory.js +0 -267
  203. package/dist/src/coin/sol/keyPair.d.ts +0 -26
  204. package/dist/src/coin/sol/keyPair.d.ts.map +0 -1
  205. package/dist/src/coin/sol/keyPair.js +0 -63
  206. package/dist/src/coin/sol/solInstructionFactory.d.ts +0 -10
  207. package/dist/src/coin/sol/solInstructionFactory.d.ts.map +0 -1
  208. package/dist/src/coin/sol/solInstructionFactory.js +0 -213
  209. package/dist/src/coin/sol/stakingActivateBuilder.d.ts +0 -41
  210. package/dist/src/coin/sol/stakingActivateBuilder.d.ts.map +0 -1
  211. package/dist/src/coin/sol/stakingActivateBuilder.js +0 -94
  212. package/dist/src/coin/sol/stakingDeactivateBuilder.d.ts +0 -23
  213. package/dist/src/coin/sol/stakingDeactivateBuilder.d.ts.map +0 -1
  214. package/dist/src/coin/sol/stakingDeactivateBuilder.js +0 -62
  215. package/dist/src/coin/sol/stakingWithdrawBuilder.d.ts +0 -31
  216. package/dist/src/coin/sol/stakingWithdrawBuilder.d.ts.map +0 -1
  217. package/dist/src/coin/sol/stakingWithdrawBuilder.js +0 -78
  218. package/dist/src/coin/sol/tokenEncodeDecode.d.ts +0 -85
  219. package/dist/src/coin/sol/tokenEncodeDecode.d.ts.map +0 -1
  220. package/dist/src/coin/sol/tokenEncodeDecode.js +0 -133
  221. package/dist/src/coin/sol/tokenTransferBuilder.d.ts +0 -27
  222. package/dist/src/coin/sol/tokenTransferBuilder.d.ts.map +0 -1
  223. package/dist/src/coin/sol/tokenTransferBuilder.js +0 -73
  224. package/dist/src/coin/sol/transaction.d.ts +0 -61
  225. package/dist/src/coin/sol/transaction.d.ts.map +0 -1
  226. package/dist/src/coin/sol/transaction.js +0 -369
  227. package/dist/src/coin/sol/transactionBuilder.d.ts +0 -101
  228. package/dist/src/coin/sol/transactionBuilder.d.ts.map +0 -1
  229. package/dist/src/coin/sol/transactionBuilder.js +0 -261
  230. package/dist/src/coin/sol/transactionBuilderFactory.d.ts +0 -76
  231. package/dist/src/coin/sol/transactionBuilderFactory.d.ts.map +0 -1
  232. package/dist/src/coin/sol/transactionBuilderFactory.js +0 -136
  233. package/dist/src/coin/sol/transferBuilder.d.ts +0 -26
  234. package/dist/src/coin/sol/transferBuilder.d.ts.map +0 -1
  235. package/dist/src/coin/sol/transferBuilder.js +0 -67
  236. package/dist/src/coin/sol/utils.d.ts +0 -146
  237. package/dist/src/coin/sol/utils.d.ts.map +0 -1
  238. package/dist/src/coin/sol/utils.js +0 -361
  239. package/dist/src/coin/sol/walletInitializationBuilder.d.ts +0 -26
  240. package/dist/src/coin/sol/walletInitializationBuilder.d.ts.map +0 -1
  241. package/dist/src/coin/sol/walletInitializationBuilder.js +0 -71
  242. package/dist/src/coin/trx/address.d.ts +0 -11
  243. package/dist/src/coin/trx/address.d.ts.map +0 -1
  244. package/dist/src/coin/trx/address.js +0 -13
  245. package/dist/src/coin/trx/contractCallBuilder.d.ts +0 -96
  246. package/dist/src/coin/trx/contractCallBuilder.d.ts.map +0 -1
  247. package/dist/src/coin/trx/contractCallBuilder.js +0 -281
  248. package/dist/src/coin/trx/enum.d.ts +0 -23
  249. package/dist/src/coin/trx/enum.d.ts.map +0 -1
  250. package/dist/src/coin/trx/enum.js +0 -28
  251. package/dist/src/coin/trx/iface.d.ts +0 -92
  252. package/dist/src/coin/trx/iface.d.ts.map +0 -1
  253. package/dist/src/coin/trx/iface.js +0 -3
  254. package/dist/src/coin/trx/index.d.ts +0 -10
  255. package/dist/src/coin/trx/index.d.ts.map +0 -1
  256. package/dist/src/coin/trx/index.js +0 -39
  257. package/dist/src/coin/trx/keyPair.d.ts +0 -44
  258. package/dist/src/coin/trx/keyPair.d.ts.map +0 -1
  259. package/dist/src/coin/trx/keyPair.js +0 -121
  260. package/dist/src/coin/trx/transaction.d.ts +0 -74
  261. package/dist/src/coin/trx/transaction.d.ts.map +0 -1
  262. package/dist/src/coin/trx/transaction.js +0 -205
  263. package/dist/src/coin/trx/transactionBuilder.d.ts +0 -65
  264. package/dist/src/coin/trx/transactionBuilder.d.ts.map +0 -1
  265. package/dist/src/coin/trx/transactionBuilder.js +0 -215
  266. package/dist/src/coin/trx/utils.d.ts +0 -127
  267. package/dist/src/coin/trx/utils.d.ts.map +0 -1
  268. package/dist/src/coin/trx/utils.js +0 -369
  269. package/dist/src/coin/trx/wrappedBuilder.d.ts +0 -52
  270. package/dist/src/coin/trx/wrappedBuilder.d.ts.map +0 -1
  271. package/dist/src/coin/trx/wrappedBuilder.js +0 -104
  272. package/resources/trx/protobuf/Contract.proto +0 -256
  273. package/resources/trx/protobuf/Discover.proto +0 -44
  274. package/resources/trx/protobuf/tron.d.ts +0 -11024
  275. package/resources/trx/protobuf/tron.js +0 -31510
  276. package/resources/trx/protobuf/tron.proto +0 -677
@@ -1,49 +0,0 @@
1
- import { KeyPair } from '.';
2
- import { HederaTransactionTypes } from './constants';
3
- export interface TxData {
4
- id: string;
5
- hash?: string;
6
- from: string;
7
- data: string;
8
- fee: number;
9
- startTime: string;
10
- validDuration: string;
11
- node: string;
12
- memo?: string;
13
- to?: string;
14
- amount?: string;
15
- tokenName?: string;
16
- instructionsData?: InstructionParams;
17
- }
18
- export interface Recipient {
19
- address: string;
20
- amount: string;
21
- tokenName?: string;
22
- }
23
- export interface HederaNode {
24
- nodeId: string;
25
- }
26
- export interface SignatureData {
27
- signature: string;
28
- keyPair: KeyPair;
29
- }
30
- export interface AddressDetails {
31
- address: string;
32
- memoId?: string;
33
- }
34
- export declare type InstructionParams = Transfer | AssociateAccount;
35
- export interface Transfer {
36
- type: HederaTransactionTypes.Transfer;
37
- params: {
38
- tokenName?: string;
39
- recipients: Recipient[];
40
- };
41
- }
42
- export interface AssociateAccount {
43
- type: HederaTransactionTypes.TokenAssociateToAccount;
44
- params: {
45
- accountId: string;
46
- tokenNames: string[];
47
- };
48
- }
49
- //# sourceMappingURL=iface.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"iface.d.ts","sourceRoot":"","sources":["../../../../src/coin/hbar/iface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,CAAC;AAC5B,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAErD,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,iBAAiB,CAAC;CACtC;AAED,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,oBAAY,iBAAiB,GAAG,QAAQ,GAAG,gBAAgB,CAAC;AAE5D,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,sBAAsB,CAAC,QAAQ,CAAC;IACtC,MAAM,EAAE;QACN,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,SAAS,EAAE,CAAC;KACzB,CAAC;CACH;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,sBAAsB,CAAC,uBAAuB,CAAC;IACrD,MAAM,EAAE;QACN,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,EAAE,CAAC;KACtB,CAAC;CACH"}
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29pbi9oYmFyL2lmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBLZXlQYWlyIH0gZnJvbSAnLic7XG5pbXBvcnQgeyBIZWRlcmFUcmFuc2FjdGlvblR5cGVzIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFR4RGF0YSB7XG4gIGlkOiBzdHJpbmc7XG4gIGhhc2g/OiBzdHJpbmc7XG4gIGZyb206IHN0cmluZztcbiAgZGF0YTogc3RyaW5nO1xuICBmZWU6IG51bWJlcjtcbiAgc3RhcnRUaW1lOiBzdHJpbmc7XG4gIHZhbGlkRHVyYXRpb246IHN0cmluZztcbiAgbm9kZTogc3RyaW5nO1xuICBtZW1vPzogc3RyaW5nO1xuICB0bz86IHN0cmluZzsgLy8gVE9ETzogW0JHLTUxMjgyXSBEZXByZWNhdGUgb25jZSB3cCB3b3JrIGZvciBtdWx0aSByZWNpcGllbnRzXG4gIGFtb3VudD86IHN0cmluZztcbiAgdG9rZW5OYW1lPzogc3RyaW5nO1xuICBpbnN0cnVjdGlvbnNEYXRhPzogSW5zdHJ1Y3Rpb25QYXJhbXM7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVjaXBpZW50IHtcbiAgYWRkcmVzczogc3RyaW5nO1xuICBhbW91bnQ6IHN0cmluZztcbiAgdG9rZW5OYW1lPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEhlZGVyYU5vZGUge1xuICBub2RlSWQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTaWduYXR1cmVEYXRhIHtcbiAgc2lnbmF0dXJlOiBzdHJpbmc7XG4gIGtleVBhaXI6IEtleVBhaXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWRkcmVzc0RldGFpbHMge1xuICBhZGRyZXNzOiBzdHJpbmc7XG4gIG1lbW9JZD86IHN0cmluZztcbn1cblxuZXhwb3J0IHR5cGUgSW5zdHJ1Y3Rpb25QYXJhbXMgPSBUcmFuc2ZlciB8IEFzc29jaWF0ZUFjY291bnQ7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHJhbnNmZXIge1xuICB0eXBlOiBIZWRlcmFUcmFuc2FjdGlvblR5cGVzLlRyYW5zZmVyO1xuICBwYXJhbXM6IHtcbiAgICB0b2tlbk5hbWU/OiBzdHJpbmc7XG4gICAgcmVjaXBpZW50czogUmVjaXBpZW50W107XG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXNzb2NpYXRlQWNjb3VudCB7XG4gIHR5cGU6IEhlZGVyYVRyYW5zYWN0aW9uVHlwZXMuVG9rZW5Bc3NvY2lhdGVUb0FjY291bnQ7XG4gIHBhcmFtczoge1xuICAgIGFjY291bnRJZDogc3RyaW5nO1xuICAgIHRva2VuTmFtZXM6IHN0cmluZ1tdO1xuICB9O1xufVxuIl19
@@ -1,9 +0,0 @@
1
- import * as Utils from './utils';
2
- export { KeyPair } from './keyPair';
3
- export { Transaction } from './transaction';
4
- export { TransactionBuilderFactory } from './transactionBuilderFactory';
5
- export { CoinTransferBuilder } from './coinTransferBuilder';
6
- export { TokenTransferBuilder } from './tokenTransferBuilder';
7
- export { TokenAssociateBuilder } from './tokenAssociateBuilder';
8
- export { Utils };
9
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/coin/hbar/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AAEjC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,KAAK,EAAE,CAAC"}
@@ -1,37 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
- }) : (function(o, m, k, k2) {
6
- if (k2 === undefined) k2 = k;
7
- o[k2] = m[k];
8
- }));
9
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
- Object.defineProperty(o, "default", { enumerable: true, value: v });
11
- }) : function(o, v) {
12
- o["default"] = v;
13
- });
14
- var __importStar = (this && this.__importStar) || function (mod) {
15
- if (mod && mod.__esModule) return mod;
16
- var result = {};
17
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
- __setModuleDefault(result, mod);
19
- return result;
20
- };
21
- Object.defineProperty(exports, "__esModule", { value: true });
22
- exports.Utils = exports.TokenAssociateBuilder = exports.TokenTransferBuilder = exports.CoinTransferBuilder = exports.TransactionBuilderFactory = exports.Transaction = exports.KeyPair = void 0;
23
- const Utils = __importStar(require("./utils"));
24
- exports.Utils = Utils;
25
- var keyPair_1 = require("./keyPair");
26
- Object.defineProperty(exports, "KeyPair", { enumerable: true, get: function () { return keyPair_1.KeyPair; } });
27
- var transaction_1 = require("./transaction");
28
- Object.defineProperty(exports, "Transaction", { enumerable: true, get: function () { return transaction_1.Transaction; } });
29
- var transactionBuilderFactory_1 = require("./transactionBuilderFactory");
30
- Object.defineProperty(exports, "TransactionBuilderFactory", { enumerable: true, get: function () { return transactionBuilderFactory_1.TransactionBuilderFactory; } });
31
- var coinTransferBuilder_1 = require("./coinTransferBuilder");
32
- Object.defineProperty(exports, "CoinTransferBuilder", { enumerable: true, get: function () { return coinTransferBuilder_1.CoinTransferBuilder; } });
33
- var tokenTransferBuilder_1 = require("./tokenTransferBuilder");
34
- Object.defineProperty(exports, "TokenTransferBuilder", { enumerable: true, get: function () { return tokenTransferBuilder_1.TokenTransferBuilder; } });
35
- var tokenAssociateBuilder_1 = require("./tokenAssociateBuilder");
36
- Object.defineProperty(exports, "TokenAssociateBuilder", { enumerable: true, get: function () { return tokenAssociateBuilder_1.TokenAssociateBuilder; } });
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29pbi9oYmFyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwrQ0FBaUM7QUFReEIsc0JBQUs7QUFOZCxxQ0FBb0M7QUFBM0Isa0dBQUEsT0FBTyxPQUFBO0FBQ2hCLDZDQUE0QztBQUFuQywwR0FBQSxXQUFXLE9BQUE7QUFDcEIseUVBQXdFO0FBQS9ELHNJQUFBLHlCQUF5QixPQUFBO0FBQ2xDLDZEQUE0RDtBQUFuRCwwSEFBQSxtQkFBbUIsT0FBQTtBQUM1QiwrREFBOEQ7QUFBckQsNEhBQUEsb0JBQW9CLE9BQUE7QUFDN0IsaUVBQWdFO0FBQXZELDhIQUFBLHFCQUFxQixPQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgVXRpbHMgZnJvbSAnLi91dGlscyc7XG5cbmV4cG9ydCB7IEtleVBhaXIgfSBmcm9tICcuL2tleVBhaXInO1xuZXhwb3J0IHsgVHJhbnNhY3Rpb24gfSBmcm9tICcuL3RyYW5zYWN0aW9uJztcbmV4cG9ydCB7IFRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnkgfSBmcm9tICcuL3RyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnknO1xuZXhwb3J0IHsgQ29pblRyYW5zZmVyQnVpbGRlciB9IGZyb20gJy4vY29pblRyYW5zZmVyQnVpbGRlcic7XG5leHBvcnQgeyBUb2tlblRyYW5zZmVyQnVpbGRlciB9IGZyb20gJy4vdG9rZW5UcmFuc2ZlckJ1aWxkZXInO1xuZXhwb3J0IHsgVG9rZW5Bc3NvY2lhdGVCdWlsZGVyIH0gZnJvbSAnLi90b2tlbkFzc29jaWF0ZUJ1aWxkZXInO1xuZXhwb3J0IHsgVXRpbHMgfTtcbiJdfQ==
@@ -1,23 +0,0 @@
1
- import { AddressFormat, DefaultKeys, Ed25519KeyPair, KeyPairOptions } from '@bitgo/sdk-core';
2
- export declare class KeyPair extends Ed25519KeyPair {
3
- /**
4
- * Public constructor. By default, creates a key pair with a random master seed.
5
- *
6
- * @param { KeyPairOptions } source Either a master seed, a private key, or a public key
7
- */
8
- constructor(source?: KeyPairOptions);
9
- /**
10
- * Hedera default keys format is a pair of Uint8Array keys
11
- *
12
- * @param {boolean} raw defines if the key is returned in raw or protocol default format
13
- * @returns { DefaultKeys } The keys in the defined format
14
- */
15
- getKeys(raw?: boolean): DefaultKeys;
16
- /** @inheritdoc */
17
- getAddress(format?: AddressFormat): string;
18
- /** @inheritdoc */
19
- recordKeysFromPublicKeyInProtocolFormat(pub: string): DefaultKeys;
20
- /** @inheritdoc */
21
- recordKeysFromPrivateKeyInProtocolFormat(prv: string): DefaultKeys;
22
- }
23
- //# sourceMappingURL=keyPair.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"keyPair.d.ts","sourceRoot":"","sources":["../../../../src/coin/hbar/keyPair.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,cAAc,EAAc,cAAc,EAAgB,MAAM,iBAAiB,CAAC;AAMvH,qBAAa,OAAQ,SAAQ,cAAc;IACzC;;;;OAIG;gBACS,MAAM,CAAC,EAAE,cAAc;IAInC;;;;;OAKG;IACH,OAAO,CAAC,GAAG,UAAQ,GAAG,WAAW;IAajC,kBAAkB;IAClB,UAAU,CAAC,MAAM,CAAC,EAAE,aAAa,GAAG,MAAM;IAI1C,kBAAkB;IAClB,uCAAuC,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW;IAUjE,kBAAkB;IAClB,wCAAwC,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW;CAgBnE"}
@@ -1,70 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.KeyPair = void 0;
4
- const sdk_1 = require("@hashgraph/sdk");
5
- const sdk_core_1 = require("@bitgo/sdk-core");
6
- const utils_1 = require("./utils");
7
- const PUBLIC_KEY_PREFIX = '302a300506032b6570032100';
8
- const PRIVATE_KEY_PREFIX = '302e020100300506032b657004220420';
9
- class KeyPair extends sdk_core_1.Ed25519KeyPair {
10
- /**
11
- * Public constructor. By default, creates a key pair with a random master seed.
12
- *
13
- * @param { KeyPairOptions } source Either a master seed, a private key, or a public key
14
- */
15
- constructor(source) {
16
- super(source);
17
- }
18
- /**
19
- * Hedera default keys format is a pair of Uint8Array keys
20
- *
21
- * @param {boolean} raw defines if the key is returned in raw or protocol default format
22
- * @returns { DefaultKeys } The keys in the defined format
23
- */
24
- getKeys(raw = false) {
25
- const pub = sdk_1.PublicKey.fromString(this.keyPair.pub).toString();
26
- const result = {
27
- pub: raw ? pub.slice(PUBLIC_KEY_PREFIX.length) : pub,
28
- };
29
- if (this.keyPair.prv) {
30
- const prv = sdk_1.PrivateKey.fromString(this.keyPair.prv).toString();
31
- result.prv = raw ? prv.slice(PRIVATE_KEY_PREFIX.length) : prv;
32
- }
33
- return result;
34
- }
35
- /** @inheritdoc */
36
- getAddress(format) {
37
- throw new sdk_core_1.NotSupported('Address derivation is not supported in Hedera');
38
- }
39
- /** @inheritdoc */
40
- recordKeysFromPublicKeyInProtocolFormat(pub) {
41
- try {
42
- const hederaPub = sdk_1.PublicKey.fromString(pub.toLowerCase()).toString();
43
- const ed25519Pub = utils_1.removePrefix(PUBLIC_KEY_PREFIX, hederaPub);
44
- return { pub: ed25519Pub };
45
- }
46
- catch (e) {
47
- throw new sdk_core_1.InvalidKey('Invalid public key: ' + pub);
48
- }
49
- }
50
- /** @inheritdoc */
51
- recordKeysFromPrivateKeyInProtocolFormat(prv) {
52
- if (!/^([a-f\d]{2})+$/i.test(prv)) {
53
- throw new sdk_core_1.InvalidKey('Invalid private key length. Must be a hex and multiple of 2');
54
- }
55
- try {
56
- const hederaPrv = sdk_1.PrivateKey.fromString(prv);
57
- const ed25519Prv = utils_1.removePrefix(PRIVATE_KEY_PREFIX, hederaPrv.toString());
58
- const ed25519Pub = utils_1.removePrefix(PUBLIC_KEY_PREFIX, hederaPrv.publicKey.toString());
59
- return {
60
- prv: ed25519Prv,
61
- pub: ed25519Pub,
62
- };
63
- }
64
- catch (e) {
65
- throw new sdk_core_1.InvalidKey('Invalid private key');
66
- }
67
- }
68
- }
69
- exports.KeyPair = KeyPair;
70
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5UGFpci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb2luL2hiYXIva2V5UGFpci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx3Q0FBdUQ7QUFDdkQsOENBQXVIO0FBQ3ZILG1DQUF1QztBQUV2QyxNQUFNLGlCQUFpQixHQUFHLDBCQUEwQixDQUFDO0FBQ3JELE1BQU0sa0JBQWtCLEdBQUcsa0NBQWtDLENBQUM7QUFFOUQsTUFBYSxPQUFRLFNBQVEseUJBQWM7SUFDekM7Ozs7T0FJRztJQUNILFlBQVksTUFBdUI7UUFDakMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2hCLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILE9BQU8sQ0FBQyxHQUFHLEdBQUcsS0FBSztRQUNqQixNQUFNLEdBQUcsR0FBRyxlQUFTLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDOUQsTUFBTSxNQUFNLEdBQWdCO1lBQzFCLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUc7U0FDckQsQ0FBQztRQUVGLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUU7WUFDcEIsTUFBTSxHQUFHLEdBQUcsZ0JBQVUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUMvRCxNQUFNLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO1NBQy9EO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVELGtCQUFrQjtJQUNsQixVQUFVLENBQUMsTUFBc0I7UUFDL0IsTUFBTSxJQUFJLHVCQUFZLENBQUMsK0NBQStDLENBQUMsQ0FBQztJQUMxRSxDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLHVDQUF1QyxDQUFDLEdBQVc7UUFDakQsSUFBSTtZQUNGLE1BQU0sU0FBUyxHQUFHLGVBQVMsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDckUsTUFBTSxVQUFVLEdBQUcsb0JBQVksQ0FBQyxpQkFBaUIsRUFBRSxTQUFTLENBQUMsQ0FBQztZQUM5RCxPQUFPLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBRSxDQUFDO1NBQzVCO1FBQUMsT0FBTyxDQUFDLEVBQUU7WUFDVixNQUFNLElBQUkscUJBQVUsQ0FBQyxzQkFBc0IsR0FBRyxHQUFHLENBQUMsQ0FBQztTQUNwRDtJQUNILENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsd0NBQXdDLENBQUMsR0FBVztRQUNsRCxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ2pDLE1BQU0sSUFBSSxxQkFBVSxDQUFDLDZEQUE2RCxDQUFDLENBQUM7U0FDckY7UUFDRCxJQUFJO1lBQ0YsTUFBTSxTQUFTLEdBQUcsZ0JBQVUsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDN0MsTUFBTSxVQUFVLEdBQUcsb0JBQVksQ0FBQyxrQkFBa0IsRUFBRSxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztZQUMxRSxNQUFNLFVBQVUsR0FBRyxvQkFBWSxDQUFDLGlCQUFpQixFQUFFLFNBQVMsQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztZQUNuRixPQUFPO2dCQUNMLEdBQUcsRUFBRSxVQUFVO2dCQUNmLEdBQUcsRUFBRSxVQUFVO2FBQ2hCLENBQUM7U0FDSDtRQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ1YsTUFBTSxJQUFJLHFCQUFVLENBQUMscUJBQXFCLENBQUMsQ0FBQztTQUM3QztJQUNILENBQUM7Q0FDRjtBQTlERCwwQkE4REMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQcml2YXRlS2V5LCBQdWJsaWNLZXkgfSBmcm9tICdAaGFzaGdyYXBoL3Nkayc7XG5pbXBvcnQgeyBBZGRyZXNzRm9ybWF0LCBEZWZhdWx0S2V5cywgRWQyNTUxOUtleVBhaXIsIEludmFsaWRLZXksIEtleVBhaXJPcHRpb25zLCBOb3RTdXBwb3J0ZWQgfSBmcm9tICdAYml0Z28vc2RrLWNvcmUnO1xuaW1wb3J0IHsgcmVtb3ZlUHJlZml4IH0gZnJvbSAnLi91dGlscyc7XG5cbmNvbnN0IFBVQkxJQ19LRVlfUFJFRklYID0gJzMwMmEzMDA1MDYwMzJiNjU3MDAzMjEwMCc7XG5jb25zdCBQUklWQVRFX0tFWV9QUkVGSVggPSAnMzAyZTAyMDEwMDMwMDUwNjAzMmI2NTcwMDQyMjA0MjAnO1xuXG5leHBvcnQgY2xhc3MgS2V5UGFpciBleHRlbmRzIEVkMjU1MTlLZXlQYWlyIHtcbiAgLyoqXG4gICAqIFB1YmxpYyBjb25zdHJ1Y3Rvci4gQnkgZGVmYXVsdCwgY3JlYXRlcyBhIGtleSBwYWlyIHdpdGggYSByYW5kb20gbWFzdGVyIHNlZWQuXG4gICAqXG4gICAqIEBwYXJhbSB7IEtleVBhaXJPcHRpb25zIH0gc291cmNlIEVpdGhlciBhIG1hc3RlciBzZWVkLCBhIHByaXZhdGUga2V5LCBvciBhIHB1YmxpYyBrZXlcbiAgICovXG4gIGNvbnN0cnVjdG9yKHNvdXJjZT86IEtleVBhaXJPcHRpb25zKSB7XG4gICAgc3VwZXIoc291cmNlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBIZWRlcmEgZGVmYXVsdCBrZXlzIGZvcm1hdCBpcyBhIHBhaXIgb2YgVWludDhBcnJheSBrZXlzXG4gICAqXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gcmF3IGRlZmluZXMgaWYgdGhlIGtleSBpcyByZXR1cm5lZCBpbiByYXcgb3IgcHJvdG9jb2wgZGVmYXVsdCBmb3JtYXRcbiAgICogQHJldHVybnMgeyBEZWZhdWx0S2V5cyB9IFRoZSBrZXlzIGluIHRoZSBkZWZpbmVkIGZvcm1hdFxuICAgKi9cbiAgZ2V0S2V5cyhyYXcgPSBmYWxzZSk6IERlZmF1bHRLZXlzIHtcbiAgICBjb25zdCBwdWIgPSBQdWJsaWNLZXkuZnJvbVN0cmluZyh0aGlzLmtleVBhaXIucHViKS50b1N0cmluZygpO1xuICAgIGNvbnN0IHJlc3VsdDogRGVmYXVsdEtleXMgPSB7XG4gICAgICBwdWI6IHJhdyA/IHB1Yi5zbGljZShQVUJMSUNfS0VZX1BSRUZJWC5sZW5ndGgpIDogcHViLFxuICAgIH07XG5cbiAgICBpZiAodGhpcy5rZXlQYWlyLnBydikge1xuICAgICAgY29uc3QgcHJ2ID0gUHJpdmF0ZUtleS5mcm9tU3RyaW5nKHRoaXMua2V5UGFpci5wcnYpLnRvU3RyaW5nKCk7XG4gICAgICByZXN1bHQucHJ2ID0gcmF3ID8gcHJ2LnNsaWNlKFBSSVZBVEVfS0VZX1BSRUZJWC5sZW5ndGgpIDogcHJ2O1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIGdldEFkZHJlc3MoZm9ybWF0PzogQWRkcmVzc0Zvcm1hdCk6IHN0cmluZyB7XG4gICAgdGhyb3cgbmV3IE5vdFN1cHBvcnRlZCgnQWRkcmVzcyBkZXJpdmF0aW9uIGlzIG5vdCBzdXBwb3J0ZWQgaW4gSGVkZXJhJyk7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcmVjb3JkS2V5c0Zyb21QdWJsaWNLZXlJblByb3RvY29sRm9ybWF0KHB1Yjogc3RyaW5nKTogRGVmYXVsdEtleXMge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBoZWRlcmFQdWIgPSBQdWJsaWNLZXkuZnJvbVN0cmluZyhwdWIudG9Mb3dlckNhc2UoKSkudG9TdHJpbmcoKTtcbiAgICAgIGNvbnN0IGVkMjU1MTlQdWIgPSByZW1vdmVQcmVmaXgoUFVCTElDX0tFWV9QUkVGSVgsIGhlZGVyYVB1Yik7XG4gICAgICByZXR1cm4geyBwdWI6IGVkMjU1MTlQdWIgfTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZEtleSgnSW52YWxpZCBwdWJsaWMga2V5OiAnICsgcHViKTtcbiAgICB9XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcmVjb3JkS2V5c0Zyb21Qcml2YXRlS2V5SW5Qcm90b2NvbEZvcm1hdChwcnY6IHN0cmluZyk6IERlZmF1bHRLZXlzIHtcbiAgICBpZiAoIS9eKFthLWZcXGRdezJ9KSskL2kudGVzdChwcnYpKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZEtleSgnSW52YWxpZCBwcml2YXRlIGtleSBsZW5ndGguIE11c3QgYmUgYSBoZXggYW5kIG11bHRpcGxlIG9mIDInKTtcbiAgICB9XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGhlZGVyYVBydiA9IFByaXZhdGVLZXkuZnJvbVN0cmluZyhwcnYpO1xuICAgICAgY29uc3QgZWQyNTUxOVBydiA9IHJlbW92ZVByZWZpeChQUklWQVRFX0tFWV9QUkVGSVgsIGhlZGVyYVBydi50b1N0cmluZygpKTtcbiAgICAgIGNvbnN0IGVkMjU1MTlQdWIgPSByZW1vdmVQcmVmaXgoUFVCTElDX0tFWV9QUkVGSVgsIGhlZGVyYVBydi5wdWJsaWNLZXkudG9TdHJpbmcoKSk7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBwcnY6IGVkMjU1MTlQcnYsXG4gICAgICAgIHB1YjogZWQyNTUxOVB1YixcbiAgICAgIH07XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRLZXkoJ0ludmFsaWQgcHJpdmF0ZSBrZXknKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -1,38 +0,0 @@
1
- import { BaseCoin as CoinConfig } from '@bitgo/statics';
2
- import { BaseKey } from '@bitgo/sdk-core';
3
- import { Transaction } from './transaction';
4
- import { TransactionBuilder } from './transactionBuilder';
5
- export declare class TokenAssociateBuilder extends TransactionBuilder {
6
- private readonly _txBodyData;
7
- private _account;
8
- private _tokenIds;
9
- constructor(_coinConfig: Readonly<CoinConfig>);
10
- /** @inheritdoc */
11
- initBuilder(tx: Transaction): void;
12
- private initTokenAssociation;
13
- /** @inheritdoc */
14
- protected signImplementation(key: BaseKey): Transaction;
15
- /** @inheritdoc */
16
- protected buildImplementation(): Promise<Transaction>;
17
- /** @inheritdoc */
18
- validateMandatoryFields(): void;
19
- /**
20
- * Set account to associate with tokens, defaults to this._source.address value
21
- *
22
- * @param {string} accountID - The name of the account to associate to the transaction
23
- * @returns {TokenAssociateBuilder} - This token association builder
24
- */
25
- account(accountID: string): this;
26
- /**
27
- * Add a token to associate to the multisig wallet.
28
- *
29
- * @param {string} tokenName - The name of the token to associate to the transaction
30
- * @returns {TokenAssociateBuilder} - This token association builder
31
- */
32
- tokens(tokenName: string): this;
33
- private buildTokenData;
34
- private buildAccountData;
35
- private validateAccount;
36
- private validateToken;
37
- }
38
- //# sourceMappingURL=tokenAssociateBuilder.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tokenAssociateBuilder.d.ts","sourceRoot":"","sources":["../../../../src/coin/hbar/tokenAssociateBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAExD,OAAO,EAAE,OAAO,EAAwD,MAAM,iBAAiB,CAAC;AAChG,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAU5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAG1D,qBAAa,qBAAsB,SAAQ,kBAAkB;IAC3D,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAsC;IAClE,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,SAAS,CAAgB;gBAErB,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAM7C,kBAAkB;IAClB,WAAW,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI;IAQlC,OAAO,CAAC,oBAAoB;IAa5B,kBAAkB;IAClB,SAAS,CAAC,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,WAAW;IAOvD,kBAAkB;cACF,mBAAmB,IAAI,OAAO,CAAC,WAAW,CAAC;IAO3D,kBAAkB;IAClB,uBAAuB,IAAI,IAAI;IAQ/B;;;;;OAKG;IACH,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAMhC;;;;;OAKG;IACH,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAU/B,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,gBAAgB;IASxB,OAAO,CAAC,eAAe;IAMvB,OAAO,CAAC,aAAa;CAOtB"}
@@ -1,126 +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.TokenAssociateBuilder = void 0;
23
- const proto = __importStar(require("@hashgraph/proto"));
24
- const sdk_core_1 = require("@bitgo/sdk-core");
25
- const utils_1 = require("./utils");
26
- const transactionBuilder_1 = require("./transactionBuilder");
27
- const constants_1 = require("./constants");
28
- class TokenAssociateBuilder extends transactionBuilder_1.TransactionBuilder {
29
- constructor(_coinConfig) {
30
- super(_coinConfig);
31
- this._tokenIds = [];
32
- this._txBodyData = new proto.TokenAssociateTransactionBody();
33
- this._txBody.tokenAssociate = this._txBodyData;
34
- }
35
- /** @inheritdoc */
36
- initBuilder(tx) {
37
- super.initBuilder(tx);
38
- const tokenAssociateAccount = tx.txBody.tokenAssociate;
39
- if (tokenAssociateAccount && tokenAssociateAccount.tokens) {
40
- this.initTokenAssociation(tokenAssociateAccount);
41
- }
42
- }
43
- initTokenAssociation(tokenAssociateAccount) {
44
- tokenAssociateAccount.tokens.forEach((tokenId) => {
45
- const token = utils_1.stringifyTokenId(tokenId);
46
- this.validateToken(token);
47
- this._tokenIds.push(token);
48
- });
49
- if (tokenAssociateAccount.account) {
50
- const accountId = utils_1.stringifyAccountId(tokenAssociateAccount.account);
51
- this.account(accountId);
52
- }
53
- }
54
- /** @inheritdoc */
55
- signImplementation(key) {
56
- if (this._multiSignerKeyPairs.length >= constants_1.DEFAULT_SIGNER_NUMBER) {
57
- throw new sdk_core_1.SigningError('A maximum of ' + constants_1.DEFAULT_SIGNER_NUMBER + ' can sign the transaction.');
58
- }
59
- return super.signImplementation(key);
60
- }
61
- /** @inheritdoc */
62
- async buildImplementation() {
63
- this._txBodyData.tokens = this.buildTokenData();
64
- this._txBodyData.account = this.buildAccountData();
65
- this.transaction.setTransactionType(sdk_core_1.TransactionType.AssociatedTokenAccountInitialization);
66
- return await super.buildImplementation();
67
- }
68
- /** @inheritdoc */
69
- validateMandatoryFields() {
70
- if (!this._tokenIds || this._tokenIds.length < 1) {
71
- throw new sdk_core_1.BuildTransactionError('Invalid transaction: missing tokens to associate');
72
- }
73
- super.validateMandatoryFields();
74
- }
75
- /**
76
- * Set account to associate with tokens, defaults to this._source.address value
77
- *
78
- * @param {string} accountID - The name of the account to associate to the transaction
79
- * @returns {TokenAssociateBuilder} - This token association builder
80
- */
81
- account(accountID) {
82
- this.validateAccount(accountID);
83
- this._account = accountID;
84
- return this;
85
- }
86
- /**
87
- * Add a token to associate to the multisig wallet.
88
- *
89
- * @param {string} tokenName - The name of the token to associate to the transaction
90
- * @returns {TokenAssociateBuilder} - This token association builder
91
- */
92
- tokens(tokenName) {
93
- const tokenId = utils_1.getHederaTokenIdFromName(tokenName);
94
- if (!tokenId) {
95
- throw new sdk_core_1.BuildTransactionError('Unsupported token: ' + tokenName);
96
- }
97
- this.validateToken(tokenId);
98
- this._tokenIds.push(tokenId);
99
- return this;
100
- }
101
- buildTokenData() {
102
- return this._tokenIds.map(utils_1.buildHederaTokenID);
103
- }
104
- buildAccountData() {
105
- let accountId = this._account;
106
- if (!accountId) {
107
- accountId = this._source.address;
108
- }
109
- return utils_1.buildHederaAccountID(accountId);
110
- }
111
- validateAccount(accountID) {
112
- if (!utils_1.isValidAddress(accountID)) {
113
- throw new sdk_core_1.BuildTransactionError('Unsupported account address: ' + accountID);
114
- }
115
- }
116
- validateToken(tokenId) {
117
- if (this._tokenIds.includes(tokenId)) {
118
- throw new sdk_core_1.BuildTransactionError('Repeated token ID: ' + tokenId);
119
- }
120
- else if (!utils_1.isValidHederaTokenID(tokenId)) {
121
- throw new sdk_core_1.BuildTransactionError('Invalid token ID: ' + tokenId);
122
- }
123
- }
124
- }
125
- exports.TokenAssociateBuilder = TokenAssociateBuilder;
126
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW5Bc3NvY2lhdGVCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvaW4vaGJhci90b2tlbkFzc29jaWF0ZUJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUNBLHdEQUEwQztBQUMxQyw4Q0FBZ0c7QUFFaEcsbUNBUWlCO0FBQ2pCLDZEQUEwRDtBQUMxRCwyQ0FBb0Q7QUFFcEQsTUFBYSxxQkFBc0IsU0FBUSx1Q0FBa0I7SUFLM0QsWUFBWSxXQUFpQztRQUMzQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7UUFIYixjQUFTLEdBQWEsRUFBRSxDQUFDO1FBSS9CLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxLQUFLLENBQUMsNkJBQTZCLEVBQUUsQ0FBQztRQUM3RCxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQ2pELENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsV0FBVyxDQUFDLEVBQWU7UUFDekIsS0FBSyxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN0QixNQUFNLHFCQUFxQixHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDO1FBQ3ZELElBQUkscUJBQXFCLElBQUkscUJBQXFCLENBQUMsTUFBTSxFQUFFO1lBQ3pELElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxxQkFBNEQsQ0FBQyxDQUFDO1NBQ3pGO0lBQ0gsQ0FBQztJQUVPLG9CQUFvQixDQUFDLHFCQUEyRDtRQUN0RixxQkFBcUIsQ0FBQyxNQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBdUIsRUFBRSxFQUFFO1lBQ2hFLE1BQU0sS0FBSyxHQUFHLHdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3hDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDMUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJ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Z0NBQXFCLENBQUMscUJBQXFCLEdBQUcsT0FBTyxDQUFDLENBQUM7U0FDbEU7YUFBTSxJQUFJLENBQUMsNEJBQW9CLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDekMsTUFBTSxJQUFJLGdDQUFxQixDQUFDLG9CQUFvQixHQUFHLE9BQU8sQ0FBQyxDQUFDO1NBQ2pFO0lBQ0gsQ0FBQztDQUNGO0FBaEhELHNEQWdIQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VDb2luIGFzIENvaW5Db25maWcgfSBmcm9tICdAYml0Z28vc3RhdGljcyc7XG5pbXBvcnQgKiBhcyBwcm90byBmcm9tICdAaGFzaGdyYXBoL3Byb3RvJztcbmltcG9ydCB7IEJhc2VLZXksIEJ1aWxkVHJhbnNhY3Rpb25FcnJvciwgU2lnbmluZ0Vycm9yLCBUcmFuc2FjdGlvblR5cGUgfSBmcm9tICdAYml0Z28vc2RrLWNvcmUnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb24gfSBmcm9tICcuL3RyYW5zYWN0aW9uJztcbmltcG9ydCB7XG4gIGJ1aWxkSGVkZXJhQWNjb3VudElELFxuICBidWlsZEhlZGVyYVRva2VuSUQsXG4gIGdldEhlZGVyYVRva2VuSWRGcm9tTmFtZSxcbiAgaXNWYWxpZEFkZHJlc3MsXG4gIGlzVmFsaWRIZWRlcmFUb2tlbklELFxuICBzdHJpbmdpZnlBY2NvdW50SWQsXG4gIHN0cmluZ2lmeVRva2VuSWQsXG59IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25CdWlsZGVyIH0gZnJvbSAnLi90cmFuc2FjdGlvbkJ1aWxkZXInO1xuaW1wb3J0IHsgREVGQVVMVF9TSUdORVJfTlVNQkVSIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuXG5leHBvcnQgY2xhc3MgVG9rZW5Bc3NvY2lhdGVCdWlsZGVyIGV4dGVuZHMgVHJhbnNhY3Rpb25CdWlsZGVyIHtcbiAgcHJpdmF0ZSByZWFkb25seSBfdHhCb2R5RGF0YTogcHJvdG8uVG9rZW5Bc3NvY2lhdGVUcmFuc2FjdGlvbkJvZHk7XG4gIHByaXZhdGUgX2FjY291bnQ6IHN0cmluZztcbiAgcHJpdmF0ZSBfdG9rZW5JZHM6IHN0cmluZ1tdID0gW107XG5cbiAgY29uc3RydWN0b3IoX2NvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KSB7XG4gICAgc3VwZXIoX2NvaW5Db25maWcpO1xuICAgIHRoaXMuX3R4Qm9keURhdGEgPSBuZXcgcHJvdG8uVG9rZW5Bc3NvY2lhdGVUcmFuc2FjdGlvbkJvZHkoKTtcbiAgICB0aGlzLl90eEJvZHkudG9rZW5Bc3NvY2lhdGUgPSB0aGlzLl90eEJvZHlEYXRhO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIGluaXRCdWlsZGVyKHR4OiBUcmFuc2FjdGlvbik6IHZvaWQge1xuICAgIHN1cGVyLmluaXRCdWlsZGVyKHR4KTtcbiAgICBjb25zdCB0b2tlbkFzc29jaWF0ZUFjY291bnQgPSB0eC50eEJvZHkudG9rZW5Bc3NvY2lhdGU7XG4gICAgaWYgKHRva2VuQXNzb2NpYXRlQWNjb3VudCAmJiB0b2tlbkFzc29jaWF0ZUFjY291bnQudG9rZW5zKSB7XG4gICAgICB0aGlzLmluaXRUb2tlbkFzc29jaWF0aW9uKHRva2VuQXNzb2NpYXRlQWNjb3VudCBhcyBwcm90by5Ub2tlbkFzc29jaWF0ZVRyYW5zYWN0aW9uQm9keSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBpbml0VG9rZW5Bc3NvY2lhdGlvbih0b2tlbkFzc29jaWF0ZUFjY291bnQ6IHByb3RvLklUb2tlbkFzc29jaWF0ZVRyYW5zYWN0aW9uQm9keSk6IHZvaWQge1xuICAgIHRva2VuQXNzb2NpYXRlQWNjb3VudC50b2tlbnMhLmZvckVhY2goKHRva2VuSWQ6IHByb3RvLklUb2tlbklEKSA9PiB7XG4gICAgICBjb25zdCB0b2tlbiA9IHN0cmluZ2lmeVRva2VuSWQodG9rZW5JZCk7XG4gICAgICB0aGlzLnZhbGlkYXRlVG9rZW4odG9rZW4pO1xuICAgICAgdGhpcy5fdG9rZW5JZHMucHVzaCh0b2tlbik7XG4gICAgfSk7XG5cbiAgICBpZiAodG9rZW5Bc3NvY2lhdGVBY2NvdW50LmFjY291bnQpIHtcbiAgICAgIGNvbnN0IGFjY291bnRJZCA9IHN0cmluZ2lmeUFjY291bnRJZCh0b2tlbkFzc29jaWF0ZUFjY291bnQuYWNjb3VudCk7XG4gICAgICB0aGlzLmFjY291bnQoYWNjb3VudElkKTtcbiAgICB9XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcHJvdGVjdGVkIHNpZ25JbXBsZW1lbnRhdGlvbihrZXk6IEJhc2VLZXkpOiBUcmFuc2FjdGlvbiB7XG4gICAgaWYgKHRoaXMuX211bHRpU2lnbmVyS2V5UGFpcnMubGVuZ3RoID49IERFRkFVTFRfU0lHTkVSX05VTUJFUikge1xuICAgICAgdGhyb3cgbmV3IFNpZ25pbmdFcnJvcignQSBtYXhpbXVtIG9mICcgKyBERUZBVUxUX1NJR05FUl9OVU1CRVIgKyAnIGNhbiBzaWduIHRoZSB0cmFuc2FjdGlvbi4nKTtcbiAgICB9XG4gICAgcmV0dXJuIHN1cGVyLnNpZ25JbXBsZW1lbnRhdGlvbihrZXkpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHByb3RlY3RlZCBhc3luYyBidWlsZEltcGxlbWVudGF0aW9uKCk6IFByb21pc2U8VHJhbnNhY3Rpb24+IHtcbiAgICB0aGlzLl90eEJvZHlEYXRhLnRva2VucyA9IHRoaXMuYnVpbGRUb2tlbkRhdGEoKTtcbiAgICB0aGlzLl90eEJvZHlEYXRhLmFjY291bnQgPSB0aGlzLmJ1aWxkQWNjb3VudERhdGEoKTtcbiAgICB0aGlzLnRyYW5zYWN0aW9uLnNldFRyYW5zYWN0aW9uVHlwZShUcmFuc2FjdGlvblR5cGUuQXNzb2NpYXRlZFRva2VuQWNjb3VudEluaXRpYWxpemF0aW9uKTtcbiAgICByZXR1cm4gYXdhaXQgc3VwZXIuYnVpbGRJbXBsZW1lbnRhdGlvbigpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHZhbGlkYXRlTWFuZGF0b3J5RmllbGRzKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5fdG9rZW5JZHMgfHwgdGhpcy5fdG9rZW5JZHMubGVuZ3RoIDwgMSkge1xuICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignSW52YWxpZCB0cmFuc2FjdGlvbjogbWlzc2luZyB0b2tlbnMgdG8gYXNzb2NpYXRlJyk7XG4gICAgfVxuXG4gICAgc3VwZXIudmFsaWRhdGVNYW5kYXRvcnlGaWVsZHMoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgYWNjb3VudCB0byBhc3NvY2lhdGUgd2l0aCB0b2tlbnMsIGRlZmF1bHRzIHRvIHRoaXMuX3NvdXJjZS5hZGRyZXNzIHZhbHVlXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBhY2NvdW50SUQgLSBUaGUgbmFtZSBvZiB0aGUgYWNjb3VudCB0byBhc3NvY2lhdGUgdG8gdGhlIHRyYW5zYWN0aW9uXG4gICAqIEByZXR1cm5zIHtUb2tlbkFzc29jaWF0ZUJ1aWxkZXJ9IC0gVGhpcyB0b2tlbiBhc3NvY2lhdGlvbiBidWlsZGVyXG4gICAqL1xuICBhY2NvdW50KGFjY291bnRJRDogc3RyaW5nKTogdGhpcyB7XG4gICAgdGhpcy52YWxpZGF0ZUFjY291bnQoYWNjb3VudElEKTtcbiAgICB0aGlzLl9hY2NvdW50ID0gYWNjb3VudElEO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBhIHRva2VuIHRvIGFzc29jaWF0ZSB0byB0aGUgbXVsdGlzaWcgd2FsbGV0LlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gdG9rZW5OYW1lIC0gVGhlIG5hbWUgb2YgdGhlIHRva2VuIHRvIGFzc29jaWF0ZSB0byB0aGUgdHJhbnNhY3Rpb25cbiAgICogQHJldHVybnMge1Rva2VuQXNzb2NpYXRlQnVpbGRlcn0gLSBUaGlzIHRva2VuIGFzc29jaWF0aW9uIGJ1aWxkZXJcbiAgICovXG4gIHRva2Vucyh0b2tlbk5hbWU6IHN0cmluZyk6IHRoaXMge1xuICAgIGNvbnN0IHRva2VuSWQgPSBnZXRIZWRlcmFUb2tlbklkRnJvbU5hbWUodG9rZW5OYW1lKTtcbiAgICBpZiAoIXRva2VuSWQpIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ1Vuc3VwcG9ydGVkIHRva2VuOiAnICsgdG9rZW5OYW1lKTtcbiAgICB9XG4gICAgdGhpcy52YWxpZGF0ZVRva2VuKHRva2VuSWQpO1xuICAgIHRoaXMuX3Rva2VuSWRzLnB1c2godG9rZW5JZCEpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHJpdmF0ZSBidWlsZFRva2VuRGF0YSgpOiBwcm90by5Ub2tlbklEW10ge1xuICAgIHJldHVybiB0aGlzLl90b2tlbklkcy5tYXAoYnVpbGRIZWRlcmFUb2tlbklEKTtcbiAgfVxuXG4gIHByaXZhdGUgYnVpbGRBY2NvdW50RGF0YSgpOiBwcm90by5BY2NvdW50SUQge1xuICAgIGxldCBhY2NvdW50SWQgPSB0aGlzLl9hY2NvdW50O1xuICAgIGlmICghYWNjb3VudElkKSB7XG4gICAgICBhY2NvdW50SWQgPSB0aGlzLl9zb3VyY2UuYWRkcmVzcztcbiAgICB9XG5cbiAgICByZXR1cm4gYnVpbGRIZWRlcmFBY2NvdW50SUQoYWNjb3VudElkKTtcbiAgfVxuXG4gIHByaXZhdGUgdmFsaWRhdGVBY2NvdW50KGFjY291bnRJRDogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKCFpc1ZhbGlkQWRkcmVzcyhhY2NvdW50SUQpKSB7XG4gICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCdVbnN1cHBvcnRlZCBhY2NvdW50IGFkZHJlc3M6ICcgKyBhY2NvdW50SUQpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgdmFsaWRhdGVUb2tlbih0b2tlbklkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fdG9rZW5JZHMuaW5jbHVkZXModG9rZW5JZCkpIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ1JlcGVhdGVkIHRva2VuIElEOiAnICsgdG9rZW5JZCk7XG4gICAgfSBlbHNlIGlmICghaXNWYWxpZEhlZGVyYVRva2VuSUQodG9rZW5JZCkpIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ0ludmFsaWQgdG9rZW4gSUQ6ICcgKyB0b2tlbklkKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -1,25 +0,0 @@
1
- import { BaseCoin as CoinConfig } from '@bitgo/statics';
2
- import * as proto from '@hashgraph/proto';
3
- import { Recipient } from './iface';
4
- import { TransferBuilder } from './transferBuilder';
5
- import { Transaction } from './transaction';
6
- export declare class TokenTransferBuilder extends TransferBuilder {
7
- private _tokenName;
8
- constructor(_coinConfig: Readonly<CoinConfig>);
9
- /** @inheritdoc */
10
- protected buildImplementation(): Promise<Transaction>;
11
- private buildTokenTransferData;
12
- /** @inheritdoc */
13
- initBuilder(tx: Transaction): void;
14
- /**
15
- * Initialize the transfer specific data, getting the recipient account
16
- * represented by the element with a positive amount on the transfer element.
17
- * The negative amount represents the source account so it's ignored.
18
- *
19
- * @param {proto.IAccountAmount[]} transfers array of objects which contains accountID and transferred amount
20
- */
21
- protected initTokenTransfers(tokenTransfers: proto.ITokenTransferList[]): void;
22
- /** @inheritdoc */
23
- send(recipient: Recipient): this;
24
- }
25
- //# sourceMappingURL=tokenTransferBuilder.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tokenTransferBuilder.d.ts","sourceRoot":"","sources":["../../../../src/coin/hbar/tokenTransferBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAExD,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAC;AAE1C,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAY5C,qBAAa,oBAAqB,SAAQ,eAAe;IACvD,OAAO,CAAC,UAAU,CAAC;gBAEP,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI7C,kBAAkB;cACF,mBAAmB,IAAI,OAAO,CAAC,WAAW,CAAC;IAK3D,OAAO,CAAC,sBAAsB;IA0B9B,kBAAkB;IAClB,WAAW,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI;IAQlC;;;;;;OAMG;IACH,SAAS,CAAC,kBAAkB,CAAC,cAAc,EAAE,KAAK,CAAC,kBAAkB,EAAE,GAAG,IAAI;IA2B9E,kBAAkB;IAClB,IAAI,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI;CAejC"}
@@ -1,115 +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.TokenTransferBuilder = void 0;
23
- const Long = __importStar(require("long"));
24
- const sdk_core_1 = require("@bitgo/sdk-core");
25
- const transferBuilder_1 = require("./transferBuilder");
26
- const utils_1 = require("./utils");
27
- const bignumber_js_1 = require("bignumber.js");
28
- class TokenTransferBuilder extends transferBuilder_1.TransferBuilder {
29
- constructor(_coinConfig) {
30
- super(_coinConfig);
31
- }
32
- /** @inheritdoc */
33
- async buildImplementation() {
34
- this._txBodyData.tokenTransfers = this.buildTokenTransferData(); // set to list by the contract
35
- return await super.buildImplementation();
36
- }
37
- buildTokenTransferData() {
38
- let tokenTransferAmount = new bignumber_js_1.BigNumber(0); // total send amount for each token
39
- const tokenId = utils_1.getHederaTokenIdFromName(this._tokenName);
40
- const tokenTransferData = [
41
- {
42
- accountID: utils_1.buildHederaAccountID(this._source.address),
43
- amount: Long.fromInt(0),
44
- },
45
- ];
46
- this._recipients.forEach((recipient) => {
47
- tokenTransferAmount = tokenTransferAmount.plus(recipient.amount);
48
- tokenTransferData.push({ accountID: utils_1.buildHederaAccountID(recipient.address), amount: Long.fromString(recipient.amount) });
49
- });
50
- tokenTransferData[0].amount = Long.fromString(tokenTransferAmount.toString()).negate(); // update sender send amount
51
- return [
52
- {
53
- token: utils_1.buildHederaTokenID(tokenId),
54
- transfers: tokenTransferData,
55
- },
56
- ];
57
- }
58
- /** @inheritdoc */
59
- initBuilder(tx) {
60
- super.initBuilder(tx);
61
- const transferData = tx.txBody.cryptoTransfer;
62
- if (utils_1.isTokenTransfer(transferData)) {
63
- this.initTokenTransfers(transferData.tokenTransfers);
64
- }
65
- }
66
- /**
67
- * Initialize the transfer specific data, getting the recipient account
68
- * represented by the element with a positive amount on the transfer element.
69
- * The negative amount represents the source account so it's ignored.
70
- *
71
- * @param {proto.IAccountAmount[]} transfers array of objects which contains accountID and transferred amount
72
- */
73
- initTokenTransfers(tokenTransfers) {
74
- tokenTransfers.forEach((tokenTransfer) => {
75
- if (!tokenTransfer.token) {
76
- throw new sdk_core_1.BuildTransactionError('Invalid transaction: missing token id');
77
- }
78
- if (!tokenTransfer.transfers) {
79
- throw new sdk_core_1.BuildTransactionError('Invalid transaction: missing transfer data');
80
- }
81
- const token = utils_1.getHederaTokenNameFromId(utils_1.stringifyTokenId(tokenTransfer.token));
82
- if (!token) {
83
- throw new sdk_core_1.BuildTransactionError('Invalid transaction: invalid token id');
84
- }
85
- tokenTransfer.transfers.forEach((transferData) => {
86
- const amount = Long.fromValue(transferData.amount);
87
- if (amount.isPositive()) {
88
- this.send({
89
- address: utils_1.stringifyAccountId(transferData.accountID),
90
- amount: amount.toString(),
91
- tokenName: token.name,
92
- });
93
- }
94
- });
95
- });
96
- }
97
- // region Transfer fields
98
- /** @inheritdoc */
99
- send(recipient) {
100
- if (!recipient.tokenName) {
101
- throw new sdk_core_1.InvalidParameterValueError('Invalid missing token name');
102
- }
103
- const tokenId = utils_1.getHederaTokenIdFromName(recipient.tokenName);
104
- if (!tokenId) {
105
- throw new sdk_core_1.InvalidParameterValueError(`Invalid token name: ${recipient.tokenName}`);
106
- }
107
- if (this._tokenName && this._tokenName !== recipient.tokenName) {
108
- throw new sdk_core_1.InvalidParameterValueError(`Invalid token: received ${recipient.tokenName} for ${this._tokenName} tx`);
109
- }
110
- this._tokenName = recipient.tokenName;
111
- return super.send(recipient);
112
- }
113
- }
114
- exports.TokenTransferBuilder = TokenTransferBuilder;
115
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW5UcmFuc2ZlckJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29pbi9oYmFyL3Rva2VuVHJhbnNmZXJCdWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDQSwyQ0FBNkI7QUFFN0IsOENBQW9GO0FBRXBGLHVEQUFvRDtBQUVwRCxtQ0FRaUI7QUFDakIsK0NBQXlDO0FBRXpDLE1BQWEsb0JBQXFCLFNBQVEsaUNBQWU7SUFHdkQsWUFBWSxXQUFpQztRQUMzQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDckIsQ0FBQztJQUVELGtCQUFrQjtJQUNSLEtBQUssQ0FBQyxtQkFBbUI7UUFDakMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUMsQ0FBQyw4QkFBOEI7UUFDL0YsT0FBTyxNQUFNLEtBQUssQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0lBQzNDLENBQUM7SUFFTyxzQkFBc0I7UUFDNUIsSUFBSSxtQkFBbUIsR0FBRyxJQUFJLHdCQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxtQ0FBbUM7UUFDL0UsTUFBTSxPQUFPLEdBQUcsZ0NBQXdCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzFELE1BQU0saUJBQWlCLEdBQTJCO1lBQ2hEO2dCQUNFLFNBQVMsRUFBRSw0QkFBb0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQztnQkFDckQsTUFBTSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO2FBQ3hCO1NBQ0YsQ0FBQztRQUVGLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUU7WUFDckMsbUJBQW1CLEdBQUcsbUJBQW1CLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNqRSxp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Q0FBQyxTQUFTLFFBQVEsSUFBSSxDQUFDLFVBQVUsS0FBSyxDQUFDLENBQUM7U0FDbEg7UUFDRCxJQUFJLENBQUMsVUFBVSxHQUFHLFNBQVMsQ0FBQyxTQUFTLENBQUM7UUFDdEMsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQy9CLENBQUM7Q0FFRjtBQWxHRCxvREFrR0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvL3N0YXRpY3MnO1xuaW1wb3J0ICogYXMgTG9uZyBmcm9tICdsb25nJztcbmltcG9ydCAqIGFzIHByb3RvIGZyb20gJ0BoYXNoZ3JhcGgvcHJvdG8nO1xuaW1wb3J0IHsgQnVpbGRUcmFuc2FjdGlvbkVycm9yLCBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvciB9IGZyb20gJ0BiaXRnby9zZGstY29yZSc7XG5pbXBvcnQgeyBSZWNpcGllbnQgfSBmcm9tICcuL2lmYWNlJztcbmltcG9ydCB7IFRyYW5zZmVyQnVpbGRlciB9IGZyb20gJy4vdHJhbnNmZXJCdWlsZGVyJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uIH0gZnJvbSAnLi90cmFuc2FjdGlvbic7XG5pbXBvcnQge1xuICBidWlsZEhlZGVyYUFjY291bnRJRCxcbiAgYnVpbGRIZWRlcmFUb2tlbklELFxuICBnZXRIZWRlcmFUb2tlbklkRnJvbU5hbWUsXG4gIGdldEhlZGVyYVRva2VuTmFtZUZyb21JZCxcbiAgaXNUb2tlblRyYW5zZmVyLFxuICBzdHJpbmdpZnlBY2NvdW50SWQsXG4gIHN0cmluZ2lmeVRva2VuSWQsXG59IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHsgQmlnTnVtYmVyIH0gZnJvbSAnYmlnbnVtYmVyLmpzJztcblxuZXhwb3J0IGNsYXNzIFRva2VuVHJhbnNmZXJCdWlsZGVyIGV4dGVuZHMgVHJhbnNmZXJCdWlsZGVyIHtcbiAgcHJpdmF0ZSBfdG9rZW5OYW1lOyAvLyBjdXJyZW50bHkgb25seSBzdXBwb3J0IDEgdG9rZW4vdHJhbnNmZXJcblxuICBjb25zdHJ1Y3RvcihfY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz4pIHtcbiAgICBzdXBlcihfY29pbkNvbmZpZyk7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcHJvdGVjdGVkIGFzeW5jIGJ1aWxkSW1wbGVtZW50YXRpb24oKTogUHJvbWlzZTxUcmFuc2FjdGlvbj4ge1xuICAgIHRoaXMuX3R4Qm9keURhdGEudG9rZW5UcmFuc2ZlcnMgPSB0aGlzLmJ1aWxkVG9rZW5UcmFuc2ZlckRhdGEoKTsgLy8gc2V0IHRvIGxpc3QgYnkgdGhlIGNvbnRyYWN0XG4gICAgcmV0dXJuIGF3YWl0IHN1cGVyLmJ1aWxkSW1wbGVtZW50YXRpb24oKTtcbiAgfVxuXG4gIHByaXZhdGUgYnVpbGRUb2tlblRyYW5zZmVyRGF0YSgpOiBwcm90by5JVG9rZW5UcmFuc2Zlckxpc3RbXSB7XG4gICAgbGV0IHRva2VuVHJhbnNmZXJBbW91bnQgPSBuZXcgQmlnTnVtYmVyKDApOyAvLyB0b3RhbCBzZW5kIGFtb3VudCBmb3IgZWFjaCB0b2tlblxuICAgIGNvbnN0IHRva2VuSWQgPSBnZXRIZWRlcmFUb2tlbklkRnJvbU5hbWUodGhpcy5fdG9rZW5OYW1lKTtcbiAgICBjb25zdCB0b2tlblRyYW5zZmVyRGF0YTogcHJvdG8uSUFjY291bnRBbW91bnRbXSA9IFtcbiAgICAgIHtcbiAgICAgICAgYWNjb3VudElEOiBidWlsZEhlZGVyYUFjY291bnRJRCh0aGlzLl9zb3VyY2UuYWRkcmVzcyksXG4gICAgICAgIGFtb3VudDogTG9uZy5mcm9tSW50KDApLFxuICAgICAgfSxcbiAgICBdO1xuXG4gICAgdGhpcy5fcmVjaXBpZW50cy5mb3JFYWNoKChyZWNpcGllbnQpID0+IHtcbiAgICAgIHRva2VuVHJhbnNmZXJBbW91bnQgPSB0b2tlblRyYW5zZmVyQW1vdW50LnBsdXMocmVjaXBpZW50LmFtb3VudCk7XG4gICAgICB0b2tlblRyYW5zZmVyRGF0YS5wdXNoKFxuICAgICAgICB7IGFjY291bnRJRDogYnVpbGRIZWRlcmFBY2NvdW50SUQocmVjaXBpZW50LmFkZHJlc3MpLCBhbW91bnQ6IExvbmcuZnJvbVN0cmluZyhyZWNpcGllbnQuYW1vdW50KSB9LCAvLyByZWNpcGllbnRcbiAgICAgICk7XG4gICAgfSk7XG4gICAgdG9rZW5UcmFuc2ZlckRhdGFbMF0uYW1vdW50ID0gTG9uZy5mcm9tU3RyaW5nKHRva2VuVHJhbnNmZXJBbW91bnQudG9TdHJpbmcoKSkubmVnYXRlKCk7IC8vIHVwZGF0ZSBzZW5kZXIgc2VuZCBhbW91bnRcblxuICAgIHJldHVybiBbXG4gICAgICB7XG4gICAgICAgIHRva2VuOiBidWlsZEhlZGVyYVRva2VuSUQodG9rZW5JZCEpLFxuICAgICAgICB0cmFuc2ZlcnM6IHRva2VuVHJhbnNmZXJEYXRhLFxuICAgICAgfSxcbiAgICBdO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIGluaXRCdWlsZGVyKHR4OiBUcmFuc2FjdGlvbik6IHZvaWQge1xuICAgIHN1cGVyLmluaXRCdWlsZGVyKHR4KTtcbiAgICBjb25zdCB0cmFuc2ZlckRhdGEgPSB0eC50eEJvZHkuY3J5cHRvVHJhbnNmZXIhO1xuICAgIGlmIChpc1Rva2VuVHJhbnNmZXIodHJhbnNmZXJEYXRhKSkge1xuICAgICAgdGhpcy5pbml0VG9rZW5UcmFuc2ZlcnModHJhbnNmZXJEYXRhLnRva2VuVHJhbnNmZXJzISk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEluaXRpYWxpemUgdGhlIHRyYW5zZmVyIHNwZWNpZmljIGRhdGEsIGdldHRpbmcgdGhlIHJlY2lwaWVudCBhY2NvdW50XG4gICAqIHJlcHJlc2VudGVkIGJ5IHRoZSBlbGVtZW50IHdpdGggYSBwb3NpdGl2ZSBhbW91bnQgb24gdGhlIHRyYW5zZmVyIGVsZW1lbnQuXG4gICAqIFRoZSBuZWdhdGl2ZSBhbW91bnQgcmVwcmVzZW50cyB0aGUgc291cmNlIGFjY291bnQgc28gaXQncyBpZ25vcmVkLlxuICAgKlxuICAgKiBAcGFyYW0ge3Byb3RvLklBY2NvdW50QW1vdW50W119IHRyYW5zZmVycyBhcnJheSBvZiBvYmplY3RzIHdoaWNoIGNvbnRhaW5zIGFjY291bnRJRCBhbmQgdHJhbnNmZXJyZWQgYW1vdW50XG4gICAqL1xuICBwcm90ZWN0ZWQgaW5pdFRva2VuVHJhbnNmZXJzKHRva2VuVHJhbnNmZXJzOiBwcm90by5JVG9rZW5UcmFuc2Zlckxpc3RbXSk6IHZvaWQge1xuICAgIHRva2VuVHJhbnNmZXJzLmZvckVhY2goKHRva2VuVHJhbnNmZXI6IHByb3RvLklUb2tlblRyYW5zZmVyTGlzdCkgPT4ge1xuICAgICAgaWYgKCF0b2tlblRyYW5zZmVyLnRva2VuKSB7XG4gICAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ0ludmFsaWQgdHJhbnNhY3Rpb246IG1pc3NpbmcgdG9rZW4gaWQnKTtcbiAgICAgIH1cbiAgICAgIGlmICghdG9rZW5UcmFuc2Zlci50cmFuc2ZlcnMpIHtcbiAgICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignSW52YWxpZCB0cmFuc2FjdGlvbjogbWlzc2luZyB0cmFuc2ZlciBkYXRhJyk7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHRva2VuID0gZ2V0SGVkZXJhVG9rZW5OYW1lRnJvbUlkKHN0cmluZ2lmeVRva2VuSWQodG9rZW5UcmFuc2Zlci50b2tlbiEpKTtcbiAgICAgIGlmICghdG9rZW4pIHtcbiAgICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignSW52YWxpZCB0cmFuc2FjdGlvbjogaW52YWxpZCB0b2tlbiBpZCcpO1xuICAgICAgfVxuICAgICAgdG9rZW5UcmFuc2Zlci50cmFuc2ZlcnMuZm9yRWFjaCgodHJhbnNmZXJEYXRhKSA9PiB7XG4gICAgICAgIGNvbnN0IGFtb3VudCA9IExvbmcuZnJvbVZhbHVlKHRyYW5zZmVyRGF0YS5hbW91bnQhKTtcbiAgICAgICAgaWYgKGFtb3VudC5pc1Bvc2l0aXZlKCkpIHtcbiAgICAgICAgICB0aGlzLnNlbmQoe1xuICAgICAgICAgICAgYWRkcmVzczogc3RyaW5naWZ5QWNjb3VudElkKHRyYW5zZmVyRGF0YS5hY2NvdW50SUQhKSxcbiAgICAgICAgICAgIGFtb3VudDogYW1vdW50LnRvU3RyaW5nKCksXG4gICAgICAgICAgICB0b2tlbk5hbWU6IHRva2VuLm5hbWUsXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgLy8gcmVnaW9uIFRyYW5zZmVyIGZpZWxkc1xuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgc2VuZChyZWNpcGllbnQ6IFJlY2lwaWVudCk6IHRoaXMge1xuICAgIGlmICghcmVjaXBpZW50LnRva2VuTmFtZSkge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yKCdJbnZhbGlkIG1pc3NpbmcgdG9rZW4gbmFtZScpO1xuICAgIH1cbiAgICBjb25zdCB0b2tlbklkID0gZ2V0SGVkZXJhVG9rZW5JZEZyb21OYW1lKHJlY2lwaWVudC50b2tlbk5hbWUpO1xuICAgIGlmICghdG9rZW5JZCkge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yKGBJbnZhbGlkIHRva2VuIG5hbWU6ICR7cmVjaXBpZW50LnRva2VuTmFtZX1gKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuX3Rva2VuTmFtZSAmJiB0aGlzLl90b2tlbk5hbWUgIT09IHJlY2lwaWVudC50b2tlbk5hbWUpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvcihgSW52YWxpZCB0b2tlbjogcmVjZWl2ZWQgJHtyZWNpcGllbnQudG9rZW5OYW1lfSBmb3IgJHt0aGlzLl90b2tlbk5hbWV9IHR4YCk7XG4gICAgfVxuICAgIHRoaXMuX3Rva2VuTmFtZSA9IHJlY2lwaWVudC50b2tlbk5hbWU7XG4gICAgcmV0dXJuIHN1cGVyLnNlbmQocmVjaXBpZW50KTtcbiAgfVxuICAvLyBlbmRyZWdpb25cbn1cbiJdfQ==