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

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 (210) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/dist/src/coin/hbar/utils.js +1 -1
  3. package/dist/src/coin/sol/ataInitializationBuilder.d.ts +3 -2
  4. package/dist/src/coin/sol/ataInitializationBuilder.d.ts.map +1 -1
  5. package/dist/src/coin/sol/ataInitializationBuilder.js +9 -7
  6. package/dist/src/coin/sol/ataInitializationTransaction.js +3 -3
  7. package/dist/src/coin/sol/iface.d.ts +1 -0
  8. package/dist/src/coin/sol/iface.d.ts.map +1 -1
  9. package/dist/src/coin/sol/iface.js +1 -1
  10. package/dist/src/coin/sol/instructionParamsFactory.js +17 -10
  11. package/dist/src/index.d.ts +13 -3
  12. package/dist/src/index.d.ts.map +1 -1
  13. package/dist/src/index.js +20 -10
  14. package/dist/tsconfig.tsbuildinfo +2380 -3994
  15. package/package.json +10 -16
  16. package/dist/browser/bitgo-account-lib.js +0 -2
  17. package/dist/browser/bitgo-account-lib.js.LICENSE.txt +0 -337
  18. package/dist/resources/hbar/protobuf/BasicTypes.proto +0 -424
  19. package/dist/resources/hbar/protobuf/CryptoCreate.proto +0 -47
  20. package/dist/resources/hbar/protobuf/CryptoTransfer.proto +0 -33
  21. package/dist/resources/hbar/protobuf/Duration.proto +0 -28
  22. package/dist/resources/hbar/protobuf/Timestamp.proto +0 -34
  23. package/dist/resources/hbar/protobuf/Transaction.proto +0 -35
  24. package/dist/resources/hbar/protobuf/TransactionBody.proto +0 -24
  25. package/dist/resources/hbar/protobuf/TransactionContents.proto +0 -33
  26. package/dist/resources/hbar/protobuf/hedera.d.ts +0 -4612
  27. package/dist/resources/hbar/protobuf/hedera.js +0 -12192
  28. package/dist/src/coin/algo/assetTransferBuilder.d.ts +0 -42
  29. package/dist/src/coin/algo/assetTransferBuilder.d.ts.map +0 -1
  30. package/dist/src/coin/algo/assetTransferBuilder.js +0 -105
  31. package/dist/src/coin/algo/errors.d.ts +0 -11
  32. package/dist/src/coin/algo/errors.d.ts.map +0 -1
  33. package/dist/src/coin/algo/errors.js +0 -27
  34. package/dist/src/coin/algo/ifaces.d.ts +0 -46
  35. package/dist/src/coin/algo/ifaces.d.ts.map +0 -1
  36. package/dist/src/coin/algo/ifaces.js +0 -3
  37. package/dist/src/coin/algo/index.d.ts +0 -13
  38. package/dist/src/coin/algo/index.d.ts.map +0 -1
  39. package/dist/src/coin/algo/index.js +0 -47
  40. package/dist/src/coin/algo/keyPair.d.ts +0 -25
  41. package/dist/src/coin/algo/keyPair.d.ts.map +0 -1
  42. package/dist/src/coin/algo/keyPair.js +0 -77
  43. package/dist/src/coin/algo/keyRegistrationBuilder.d.ts +0 -104
  44. package/dist/src/coin/algo/keyRegistrationBuilder.d.ts.map +0 -1
  45. package/dist/src/coin/algo/keyRegistrationBuilder.js +0 -239
  46. package/dist/src/coin/algo/seedEncoding.d.ts +0 -25
  47. package/dist/src/coin/algo/seedEncoding.d.ts.map +0 -1
  48. package/dist/src/coin/algo/seedEncoding.js +0 -97
  49. package/dist/src/coin/algo/transaction.d.ts +0 -75
  50. package/dist/src/coin/algo/transaction.d.ts.map +0 -1
  51. package/dist/src/coin/algo/transaction.js +0 -251
  52. package/dist/src/coin/algo/transactionBuilder.d.ts +0 -204
  53. package/dist/src/coin/algo/transactionBuilder.d.ts.map +0 -1
  54. package/dist/src/coin/algo/transactionBuilder.js +0 -373
  55. package/dist/src/coin/algo/transactionBuilderFactory.d.ts +0 -16
  56. package/dist/src/coin/algo/transactionBuilderFactory.d.ts.map +0 -1
  57. package/dist/src/coin/algo/transactionBuilderFactory.js +0 -52
  58. package/dist/src/coin/algo/transferBuilder.d.ts +0 -40
  59. package/dist/src/coin/algo/transferBuilder.d.ts.map +0 -1
  60. package/dist/src/coin/algo/transferBuilder.js +0 -89
  61. package/dist/src/coin/algo/txnSchema.d.ts +0 -7
  62. package/dist/src/coin/algo/txnSchema.d.ts.map +0 -1
  63. package/dist/src/coin/algo/txnSchema.js +0 -68
  64. package/dist/src/coin/algo/utils.d.ts +0 -249
  65. package/dist/src/coin/algo/utils.d.ts.map +0 -1
  66. package/dist/src/coin/algo/utils.js +0 -539
  67. package/dist/src/coin/celo/stakingUtils.d.ts +0 -15
  68. package/dist/src/coin/celo/stakingUtils.d.ts.map +0 -1
  69. package/dist/src/coin/celo/stakingUtils.js +0 -98
  70. package/dist/src/coin/cspr/constants.d.ts +0 -19
  71. package/dist/src/coin/cspr/constants.d.ts.map +0 -1
  72. package/dist/src/coin/cspr/constants.js +0 -28
  73. package/dist/src/coin/cspr/delegateBuilder.d.ts +0 -49
  74. package/dist/src/coin/cspr/delegateBuilder.d.ts.map +0 -1
  75. package/dist/src/coin/cspr/delegateBuilder.js +0 -111
  76. package/dist/src/coin/cspr/ifaces.d.ts +0 -69
  77. package/dist/src/coin/cspr/ifaces.d.ts.map +0 -1
  78. package/dist/src/coin/cspr/ifaces.js +0 -3
  79. package/dist/src/coin/cspr/index.d.ts +0 -6
  80. package/dist/src/coin/cspr/index.d.ts.map +0 -1
  81. package/dist/src/coin/cspr/index.js +0 -31
  82. package/dist/src/coin/cspr/keyPair.d.ts +0 -18
  83. package/dist/src/coin/cspr/keyPair.d.ts.map +0 -1
  84. package/dist/src/coin/cspr/keyPair.js +0 -75
  85. package/dist/src/coin/cspr/transaction.d.ts +0 -55
  86. package/dist/src/coin/cspr/transaction.d.ts.map +0 -1
  87. package/dist/src/coin/cspr/transaction.js +0 -227
  88. package/dist/src/coin/cspr/transactionBuilder.d.ts +0 -124
  89. package/dist/src/coin/cspr/transactionBuilder.d.ts.map +0 -1
  90. package/dist/src/coin/cspr/transactionBuilder.js +0 -312
  91. package/dist/src/coin/cspr/transactionBuilderFactory.d.ts +0 -46
  92. package/dist/src/coin/cspr/transactionBuilderFactory.d.ts.map +0 -1
  93. package/dist/src/coin/cspr/transactionBuilderFactory.js +0 -98
  94. package/dist/src/coin/cspr/transferBuilder.d.ts +0 -39
  95. package/dist/src/coin/cspr/transferBuilder.d.ts.map +0 -1
  96. package/dist/src/coin/cspr/transferBuilder.js +0 -106
  97. package/dist/src/coin/cspr/undelegateBuilder.d.ts +0 -49
  98. package/dist/src/coin/cspr/undelegateBuilder.d.ts.map +0 -1
  99. package/dist/src/coin/cspr/undelegateBuilder.js +0 -111
  100. package/dist/src/coin/cspr/utils.d.ts +0 -188
  101. package/dist/src/coin/cspr/utils.d.ts.map +0 -1
  102. package/dist/src/coin/cspr/utils.js +0 -477
  103. package/dist/src/coin/cspr/walletInitializationBuilder.d.ts +0 -27
  104. package/dist/src/coin/cspr/walletInitializationBuilder.d.ts.map +0 -1
  105. package/dist/src/coin/cspr/walletInitializationBuilder.js +0 -95
  106. package/dist/src/coin/eth/contractCall.d.ts +0 -8
  107. package/dist/src/coin/eth/contractCall.d.ts.map +0 -1
  108. package/dist/src/coin/eth/contractCall.js +0 -17
  109. package/dist/src/coin/eth/iface.d.ts +0 -122
  110. package/dist/src/coin/eth/iface.d.ts.map +0 -1
  111. package/dist/src/coin/eth/iface.js +0 -8
  112. package/dist/src/coin/eth/index.d.ts +0 -10
  113. package/dist/src/coin/eth/index.d.ts.map +0 -1
  114. package/dist/src/coin/eth/index.js +0 -39
  115. package/dist/src/coin/eth/keyPair.d.ts +0 -26
  116. package/dist/src/coin/eth/keyPair.d.ts.map +0 -1
  117. package/dist/src/coin/eth/keyPair.js +0 -85
  118. package/dist/src/coin/eth/transaction.d.ts +0 -64
  119. package/dist/src/coin/eth/transaction.d.ts.map +0 -1
  120. package/dist/src/coin/eth/transaction.js +0 -137
  121. package/dist/src/coin/eth/transactionBuilder.d.ts +0 -194
  122. package/dist/src/coin/eth/transactionBuilder.d.ts.map +0 -1
  123. package/dist/src/coin/eth/transactionBuilder.js +0 -624
  124. package/dist/src/coin/eth/transferBuilder/baseNFTTransferBuilder.d.ts +0 -47
  125. package/dist/src/coin/eth/transferBuilder/baseNFTTransferBuilder.d.ts.map +0 -1
  126. package/dist/src/coin/eth/transferBuilder/baseNFTTransferBuilder.js +0 -113
  127. package/dist/src/coin/eth/transferBuilder/transferBuilderERC1155.d.ts +0 -14
  128. package/dist/src/coin/eth/transferBuilder/transferBuilderERC1155.d.ts.map +0 -1
  129. package/dist/src/coin/eth/transferBuilder/transferBuilderERC1155.js +0 -83
  130. package/dist/src/coin/eth/transferBuilder/transferBuilderERC721.d.ts +0 -13
  131. package/dist/src/coin/eth/transferBuilder/transferBuilderERC721.d.ts.map +0 -1
  132. package/dist/src/coin/eth/transferBuilder/transferBuilderERC721.js +0 -68
  133. package/dist/src/coin/eth/transferBuilder.d.ts +0 -65
  134. package/dist/src/coin/eth/transferBuilder.d.ts.map +0 -1
  135. package/dist/src/coin/eth/transferBuilder.js +0 -197
  136. package/dist/src/coin/eth/types.d.ts +0 -39
  137. package/dist/src/coin/eth/types.d.ts.map +0 -1
  138. package/dist/src/coin/eth/types.js +0 -135
  139. package/dist/src/coin/eth/utils.d.ts +0 -201
  140. package/dist/src/coin/eth/utils.d.ts.map +0 -1
  141. package/dist/src/coin/eth/utils.js +0 -486
  142. package/dist/src/coin/eth/walletUtil.d.ts +0 -21
  143. package/dist/src/coin/eth/walletUtil.d.ts.map +0 -1
  144. package/dist/src/coin/eth/walletUtil.js +0 -31
  145. package/dist/src/coin/hbar/ifaces.d.ts +0 -26
  146. package/dist/src/coin/hbar/ifaces.d.ts.map +0 -1
  147. package/dist/src/coin/hbar/ifaces.js +0 -3
  148. package/dist/src/coin/stx/abstractContractBuilder.d.ts +0 -19
  149. package/dist/src/coin/stx/abstractContractBuilder.d.ts.map +0 -1
  150. package/dist/src/coin/stx/abstractContractBuilder.js +0 -70
  151. package/dist/src/coin/stx/constants.d.ts +0 -8
  152. package/dist/src/coin/stx/constants.d.ts.map +0 -1
  153. package/dist/src/coin/stx/constants.js +0 -19
  154. package/dist/src/coin/stx/contractBuilder.d.ts +0 -33
  155. package/dist/src/coin/stx/contractBuilder.d.ts.map +0 -1
  156. package/dist/src/coin/stx/contractBuilder.js +0 -116
  157. package/dist/src/coin/stx/iface.d.ts +0 -48
  158. package/dist/src/coin/stx/iface.d.ts.map +0 -1
  159. package/dist/src/coin/stx/iface.js +0 -3
  160. package/dist/src/coin/stx/index.d.ts +0 -6
  161. package/dist/src/coin/stx/index.d.ts.map +0 -1
  162. package/dist/src/coin/stx/index.js +0 -32
  163. package/dist/src/coin/stx/keyPair.d.ts +0 -55
  164. package/dist/src/coin/stx/keyPair.d.ts.map +0 -1
  165. package/dist/src/coin/stx/keyPair.js +0 -140
  166. package/dist/src/coin/stx/sendmanyBuilder.d.ts +0 -23
  167. package/dist/src/coin/stx/sendmanyBuilder.d.ts.map +0 -1
  168. package/dist/src/coin/stx/sendmanyBuilder.js +0 -75
  169. package/dist/src/coin/stx/transaction.d.ts +0 -49
  170. package/dist/src/coin/stx/transaction.d.ts.map +0 -1
  171. package/dist/src/coin/stx/transaction.js +0 -225
  172. package/dist/src/coin/stx/transactionBuilder.d.ts +0 -86
  173. package/dist/src/coin/stx/transactionBuilder.d.ts.map +0 -1
  174. package/dist/src/coin/stx/transactionBuilder.js +0 -263
  175. package/dist/src/coin/stx/transactionBuilderFactory.d.ts +0 -30
  176. package/dist/src/coin/stx/transactionBuilderFactory.d.ts.map +0 -1
  177. package/dist/src/coin/stx/transactionBuilderFactory.js +0 -81
  178. package/dist/src/coin/stx/transferBuilder.d.ts +0 -30
  179. package/dist/src/coin/stx/transferBuilder.d.ts.map +0 -1
  180. package/dist/src/coin/stx/transferBuilder.js +0 -99
  181. package/dist/src/coin/stx/utils.d.ts +0 -207
  182. package/dist/src/coin/stx/utils.d.ts.map +0 -1
  183. package/dist/src/coin/stx/utils.js +0 -503
  184. package/dist/src/coin/xtz/address.d.ts +0 -8
  185. package/dist/src/coin/xtz/address.d.ts.map +0 -1
  186. package/dist/src/coin/xtz/address.js +0 -10
  187. package/dist/src/coin/xtz/iface.d.ts +0 -81
  188. package/dist/src/coin/xtz/iface.d.ts.map +0 -1
  189. package/dist/src/coin/xtz/iface.js +0 -3
  190. package/dist/src/coin/xtz/index.d.ts +0 -8
  191. package/dist/src/coin/xtz/index.d.ts.map +0 -1
  192. package/dist/src/coin/xtz/index.js +0 -37
  193. package/dist/src/coin/xtz/keyPair.d.ts +0 -40
  194. package/dist/src/coin/xtz/keyPair.d.ts.map +0 -1
  195. package/dist/src/coin/xtz/keyPair.js +0 -136
  196. package/dist/src/coin/xtz/multisigUtils.d.ts +0 -134
  197. package/dist/src/coin/xtz/multisigUtils.d.ts.map +0 -1
  198. package/dist/src/coin/xtz/multisigUtils.js +0 -1180
  199. package/dist/src/coin/xtz/transaction.d.ts +0 -119
  200. package/dist/src/coin/xtz/transaction.d.ts.map +0 -1
  201. package/dist/src/coin/xtz/transaction.js +0 -315
  202. package/dist/src/coin/xtz/transactionBuilder.d.ts +0 -171
  203. package/dist/src/coin/xtz/transactionBuilder.d.ts.map +0 -1
  204. package/dist/src/coin/xtz/transactionBuilder.js +0 -453
  205. package/dist/src/coin/xtz/transferBuilder.d.ts +0 -24
  206. package/dist/src/coin/xtz/transferBuilder.d.ts.map +0 -1
  207. package/dist/src/coin/xtz/transferBuilder.js +0 -64
  208. package/dist/src/coin/xtz/utils.d.ts +0 -265
  209. package/dist/src/coin/xtz/utils.d.ts.map +0 -1
  210. package/dist/src/coin/xtz/utils.js +0 -460
@@ -1,197 +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.TransferBuilder = void 0;
7
- const ethereumjs_utils_old_1 = __importDefault(require("@bitgo/ethereumjs-utils-old"));
8
- const ethereumjs_abi_1 = __importDefault(require("ethereumjs-abi"));
9
- const statics_1 = require("@bitgo/statics");
10
- const sdk_core_1 = require("@bitgo/sdk-core");
11
- const utils_1 = require("./utils");
12
- /** ETH transfer builder */
13
- class TransferBuilder {
14
- constructor(serializedData) {
15
- this._EMPTY_HEX_VALUE = '0x';
16
- if (serializedData) {
17
- this.decodeTransferData(serializedData);
18
- }
19
- else {
20
- // initialize with default values for non mandatory fields
21
- this._expirationTime = this.getExpirationTime();
22
- this._data = this._EMPTY_HEX_VALUE;
23
- this._signature = this._EMPTY_HEX_VALUE;
24
- }
25
- }
26
- /**
27
- * A method to set the ERC20 token to be transferred.
28
- * This ERC20 token may not be compatible with the network.
29
- *
30
- * @param {string} coin the ERC20 coin to be set
31
- * @returns {TransferBuilder} the transfer builder instance modified
32
- */
33
- coin(coin) {
34
- this._coin = statics_1.coins.get(coin);
35
- if (this._coin instanceof statics_1.ContractAddressDefinedToken) {
36
- this._tokenContractAddress = this._coin.contractAddress.toString();
37
- }
38
- return this;
39
- }
40
- data(additionalData) {
41
- this._signature = this._EMPTY_HEX_VALUE;
42
- this._data = additionalData;
43
- return this;
44
- }
45
- amount(amount) {
46
- if (!utils_1.isValidAmount(amount)) {
47
- throw new sdk_core_1.InvalidParameterValueError('Invalid amount');
48
- }
49
- this._signature = this._EMPTY_HEX_VALUE;
50
- this._amount = amount;
51
- return this;
52
- }
53
- to(address) {
54
- if (utils_1.isValidEthAddress(address)) {
55
- this._signature = this._EMPTY_HEX_VALUE;
56
- this._toAddress = address;
57
- return this;
58
- }
59
- throw new sdk_core_1.InvalidParameterValueError('Invalid address');
60
- }
61
- contractSequenceId(counter) {
62
- if (counter >= 0) {
63
- this._signature = this._EMPTY_HEX_VALUE;
64
- this._sequenceId = counter;
65
- return this;
66
- }
67
- throw new sdk_core_1.InvalidParameterValueError('Invalid contract sequence id');
68
- }
69
- key(signKey) {
70
- this._signKey = signKey;
71
- return this;
72
- }
73
- expirationTime(date) {
74
- if (date > 0) {
75
- this._signature = this._EMPTY_HEX_VALUE;
76
- this._expirationTime = date;
77
- return this;
78
- }
79
- throw new sdk_core_1.InvalidParameterValueError('Invalid expiration time');
80
- }
81
- signAndBuild() {
82
- if (this.hasMandatoryFields()) {
83
- if (this._tokenContractAddress !== undefined) {
84
- return utils_1.sendMultiSigTokenData(this._toAddress, this._amount, this._tokenContractAddress, this._expirationTime, this._sequenceId, this.getSignature());
85
- }
86
- else {
87
- return utils_1.sendMultiSigData(this._toAddress, this._amount, this._data, this._expirationTime, this._sequenceId, this.getSignature());
88
- }
89
- }
90
- throw new sdk_core_1.BuildTransactionError('Missing transfer mandatory fields. Amount, destination (to) address and sequenceID are mandatory');
91
- }
92
- hasMandatoryFields() {
93
- return this._amount !== undefined && this._toAddress !== undefined && this._sequenceId !== undefined;
94
- }
95
- /**
96
- * Obtains the proper operation hash to sign either a sendMultiSig data
97
- * or a sendMultiSigToken data
98
- *
99
- * @returns {string} the operation hash
100
- */
101
- getOperationHash() {
102
- const operationData = this.getOperationData();
103
- return ethereumjs_utils_old_1.default.bufferToHex(ethereumjs_abi_1.default.soliditySHA3(...operationData));
104
- }
105
- getOperationData() {
106
- let operationData;
107
- if (this._tokenContractAddress !== undefined) {
108
- operationData = [
109
- ['string', 'address', 'uint', 'address', 'uint', 'uint'],
110
- [
111
- this.getTokenOperationHashPrefix(),
112
- new ethereumjs_utils_old_1.default.BN(ethereumjs_utils_old_1.default.stripHexPrefix(this._toAddress), 16),
113
- this._amount,
114
- new ethereumjs_utils_old_1.default.BN(ethereumjs_utils_old_1.default.stripHexPrefix(this._tokenContractAddress), 16),
115
- this._expirationTime,
116
- this._sequenceId,
117
- ],
118
- ];
119
- }
120
- else {
121
- operationData = [
122
- ['string', 'address', 'uint', 'bytes', 'uint', 'uint'],
123
- [
124
- this.getNativeOperationHashPrefix(),
125
- new ethereumjs_utils_old_1.default.BN(ethereumjs_utils_old_1.default.stripHexPrefix(this._toAddress), 16),
126
- this._amount,
127
- Buffer.from(ethereumjs_utils_old_1.default.stripHexPrefix(this._data) || '', 'hex'),
128
- this._expirationTime,
129
- this._sequenceId,
130
- ],
131
- ];
132
- }
133
- return operationData;
134
- }
135
- /**
136
- * Get the prefix used in generating an operation hash for sending tokens
137
- *
138
- * @returns the string prefix
139
- */
140
- getTokenOperationHashPrefix() {
141
- return 'ERC20';
142
- }
143
- /**
144
- * Get the prefix used in generating an operation hash for sending native coins
145
- *
146
- * @returns the string prefix
147
- */
148
- getNativeOperationHashPrefix() {
149
- return 'ETHER';
150
- }
151
- /** Return an expiration time, in seconds, set to one hour from now
152
- *
153
- * @returns {number} expiration time
154
- */
155
- getExpirationTime() {
156
- const currentDate = new Date();
157
- currentDate.setHours(currentDate.getHours() + 1);
158
- return currentDate.getTime() / 1000;
159
- }
160
- /**
161
- * If a signing key is set for this builder, recalculates the signature
162
- *
163
- * @returns {string} the signature value
164
- */
165
- getSignature() {
166
- if (this._signKey) {
167
- this._signature = this.ethSignMsgHash();
168
- }
169
- return this._signature;
170
- }
171
- ethSignMsgHash() {
172
- const data = this.getOperationHash();
173
- const signatureInParts = ethereumjs_utils_old_1.default.ecsign(Buffer.from(ethereumjs_utils_old_1.default.stripHexPrefix(data), 'hex'), Buffer.from(this._signKey, 'hex'));
174
- // Assemble strings from r, s and v
175
- const r = ethereumjs_utils_old_1.default.setLengthLeft(signatureInParts.r, 32).toString('hex');
176
- const s = ethereumjs_utils_old_1.default.setLengthLeft(signatureInParts.s, 32).toString('hex');
177
- const v = ethereumjs_utils_old_1.default.stripHexPrefix(ethereumjs_utils_old_1.default.intToHex(signatureInParts.v));
178
- // Concatenate the r, s and v parts to make the signature string
179
- return ethereumjs_utils_old_1.default.addHexPrefix(r.concat(s, v));
180
- }
181
- decodeTransferData(data) {
182
- const transferData = utils_1.decodeTransferData(data);
183
- this._toAddress = transferData.to;
184
- this._amount = transferData.amount;
185
- this._expirationTime = transferData.expireTime;
186
- this._sequenceId = transferData.sequenceId;
187
- this._signature = transferData.signature;
188
- if (transferData.data) {
189
- this._data = transferData.data;
190
- }
191
- if (transferData.tokenContractAddress) {
192
- this._tokenContractAddress = transferData.tokenContractAddress;
193
- }
194
- }
195
- }
196
- exports.TransferBuilder = TransferBuilder;
197
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmZXJCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvaW4vZXRoL3RyYW5zZmVyQnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSx1RkFBa0Q7QUFDbEQsb0VBQXlDO0FBQ3pDLDRDQUE4RTtBQUM5RSw4Q0FBb0Y7QUFDcEYsbUNBQXdIO0FBRXhILDJCQUEyQjtBQUMzQixNQUFhLGVBQWU7SUFZMUIsWUFBWSxjQUF1QjtRQVhsQixxQkFBZ0IsR0FBRyxJQUFJLENBQUM7UUFZdkMsSUFBSSxjQUFjLEVBQUU7WUFDbEIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGNBQWMsQ0FBQyxDQUFDO1NBQ3pDO2FBQU07WUFDTCwwREFBMEQ7WUFDMUQsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUNoRCxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztZQUNuQyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztTQUN6QztJQUNILENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxJQUFJLENBQUMsSUFBWTtRQUNmLElBQUksQ0FBQyxLQUFLLEdBQUcsZUFBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUU3QixJQUFJLElBQUksQ0FBQyxLQUFLLFlBQVkscUNBQTJCLEVBQUU7WUFDckQsSUFBSSxDQUFDLHFCQUFxQixHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDLFFBQVEsRUFBRSxDQUFDO1NBQ3BFO1FBRUQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsSUFBSSxDQUFDLGNBQXNCO1FBQ3pCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDO1FBQ3hDLElBQUksQ0FBQyxLQUFLLEdBQUcsY0FBYyxDQUFDO1FBQzVCLE9BQU8sSUFB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Qyw4QkFBTyxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRXZFLGdFQUFnRTtRQUNoRSxPQUFPLDhCQUFPLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVPLGtCQUFrQixDQUFDLElBQVk7UUFDckMsTUFBTSxZQUFZLEdBQUcsMEJBQWtCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFOUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxZQUFZLENBQUMsRUFBRSxDQUFDO1FBQ2xDLElBQUksQ0FBQyxPQUFPLEdBQUcsWUFBWSxDQUFDLE1BQU0sQ0FBQztRQUNuQyxJQUFJLENBQUMsZUFBZSxHQUFHLFlBQVksQ0FBQyxVQUFVLENBQUM7UUFDL0MsSUFBSSxDQUFDLFdBQVcsR0FBRyxZQUFZLENBQUMsVUFBVSxDQUFDO1FBQzNDLElBQUksQ0FBQyxVQUFVLEdBQUcsWUFBWSxDQUFDLFNBQVMsQ0FBQztRQUV6QyxJQUFJLFlBQVksQ0FBQyxJQUFJLEVBQUU7WUFDckIsSUFBSSxDQUFDLEtBQUssR0FBRyxZQUFZLENBQUMsSUFBSSxDQUFDO1NBQ2hDO1FBRUQsSUFBSSxZQUFZLENBQUMsb0JBQW9CLEVBQUU7WUFDckMsSUFBSSxDQUFDLHFCQUFxQixHQUFHLFlBQVksQ0FBQyxvQkFBb0IsQ0FBQztTQUNoRTtJQUNILENBQUM7Q0FDRjtBQXhPRCwwQ0F3T0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZXRoVXRpbCBmcm9tICdAYml0Z28vZXRoZXJldW1qcy11dGlscy1vbGQnO1xuaW1wb3J0IEV0aGVyZXVtQWJpIGZyb20gJ2V0aGVyZXVtanMtYWJpJztcbmltcG9ydCB7IGNvaW5zLCBCYXNlQ29pbiwgQ29udHJhY3RBZGRyZXNzRGVmaW5lZFRva2VuIH0gZnJvbSAnQGJpdGdvL3N0YXRpY3MnO1xuaW1wb3J0IHsgQnVpbGRUcmFuc2FjdGlvbkVycm9yLCBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvciB9IGZyb20gJ0BiaXRnby9zZGstY29yZSc7XG5pbXBvcnQgeyBkZWNvZGVUcmFuc2ZlckRhdGEsIHNlbmRNdWx0aVNpZ0RhdGEsIHNlbmRNdWx0aVNpZ1Rva2VuRGF0YSwgaXNWYWxpZEV0aEFkZHJlc3MsIGlzVmFsaWRBbW91bnQgfSBmcm9tICcuL3V0aWxzJztcblxuLyoqIEVUSCB0cmFuc2ZlciBidWlsZGVyICovXG5leHBvcnQgY2xhc3MgVHJhbnNmZXJCdWlsZGVyIHtcbiAgcHJpdmF0ZSByZWFkb25seSBfRU1QVFlfSEVYX1ZBTFVFID0gJzB4JztcbiAgcHJvdGVjdGVkIF9hbW91bnQ6IHN0cmluZztcbiAgcHJvdGVjdGVkIF90b0FkZHJlc3M6IHN0cmluZztcbiAgcHJvdGVjdGVkIF9zZXF1ZW5jZUlkOiBudW1iZXI7XG4gIHByb3RlY3RlZCBfc2lnbktleTogc3RyaW5nO1xuICBwcm90ZWN0ZWQgX2V4cGlyYXRpb25UaW1lOiBudW1iZXI7XG4gIHByb3RlY3RlZCBfc2lnbmF0dXJlOiBzdHJpbmc7XG4gIHByaXZhdGUgX2RhdGE6IHN0cmluZztcbiAgcHJpdmF0ZSBfdG9rZW5Db250cmFjdEFkZHJlc3M/OiBzdHJpbmc7XG4gIHByaXZhdGUgX2NvaW46IFJlYWRvbmx5PEJhc2VDb2luPjtcblxuICBjb25zdHJ1Y3RvcihzZXJpYWxpemVkRGF0YT86IHN0cmluZykge1xuICAgIGlmIChzZXJpYWxpemVkRGF0YSkge1xuICAgICAgdGhpcy5kZWNvZGVUcmFuc2ZlckRhdGEoc2VyaWFsaXplZERhdGEpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBpbml0aWFsaXplIHdpdGggZGVmYXVsdCB2YWx1ZXMgZm9yIG5vbiBtYW5kYXRvcnkgZmllbGRzXG4gICAgICB0aGlzLl9leHBpcmF0aW9uVGltZSA9IHRoaXMuZ2V0RXhwaXJhdGlvblRpbWUoKTtcbiAgICAgIHRoaXMuX2RhdGEgPSB0aGlzLl9FTVBUWV9IRVhfVkFMVUU7XG4gICAgICB0aGlzLl9zaWduYXR1cmUgPSB0aGlzLl9FTVBUWV9IRVhfVkFMVUU7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEEgbWV0aG9kIHRvIHNldCB0aGUgRVJDMjAgdG9rZW4gdG8gYmUgdHJhbnNmZXJyZWQuXG4gICAqIFRoaXMgRVJDMjAgdG9rZW4gbWF5IG5vdCBiZSBjb21wYXRpYmxlIHdpdGggdGhlIG5ldHdvcmsuXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBjb2luIHRoZSBFUkMyMCBjb2luIHRvIGJlIHNldFxuICAgKiBAcmV0dXJucyB7VHJhbnNmZXJCdWlsZGVyfSB0aGUgdHJhbnNmZXIgYnVpbGRlciBpbnN0YW5jZSBtb2RpZmllZFxuICAgKi9cbiAgY29pbihjb2luOiBzdHJpbmcpOiBUcmFuc2ZlckJ1aWxkZXIge1xuICAgIHRoaXMuX2NvaW4gPSBjb2lucy5nZXQoY29pbik7XG5cbiAgICBpZiAodGhpcy5fY29pbiBpbnN0YW5jZW9mIENvbnRyYWN0QWRkcmVzc0RlZmluZWRUb2tlbikge1xuICAgICAgdGhpcy5fdG9rZW5Db250cmFjdEFkZHJlc3MgPSB0aGlzLl9jb2luLmNvbnRyYWN0QWRkcmVzcy50b1N0cmluZygpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgZGF0YShhZGRpdGlvbmFsRGF0YTogc3RyaW5nKTogVHJhbnNmZXJCdWlsZGVyIHtcbiAgICB0aGlzLl9zaWduYXR1cmUgPSB0aGlzLl9FTVBUWV9IRVhfVkFMVUU7XG4gICAgdGhpcy5fZGF0YSA9IGFkZGl0aW9uYWxEYXRhO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgYW1vdW50KGFtb3VudDogc3RyaW5nKTogdGhpcyB7XG4gICAgaWYgKCFpc1ZhbGlkQW1vdW50KGFtb3VudCkpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvcignSW52YWxpZCBhbW91bnQnKTtcbiAgICB9XG4gICAgdGhpcy5fc2lnbmF0dXJlID0gdGhpcy5fRU1QVFlfSEVYX1ZBTFVFO1xuICAgIHRoaXMuX2Ftb3VudCA9IGFtb3VudDtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHRvKGFkZHJlc3M6IHN0cmluZyk6IFRyYW5zZmVyQnVpbGRlciB7XG4gICAgaWYgKGlzVmFsaWRFdGhBZGRyZXNzKGFkZHJlc3MpKSB7XG4gICAgICB0aGlzLl9zaWduYXR1cmUgPSB0aGlzLl9FTVBUWV9IRVhfVkFMVUU7XG4gICAgICB0aGlzLl90b0FkZHJlc3MgPSBhZGRyZXNzO1xuICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuICAgIHRocm93IG5ldyBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvcignSW52YWxpZCBhZGRyZXNzJyk7XG4gIH1cblxuICBjb250cmFjdFNlcXVlbmNlSWQoY291bnRlcjogbnVtYmVyKTogVHJhbnNmZXJCdWlsZGVyIHtcbiAgICBpZiAoY291bnRlciA+PSAwKSB7XG4gICAgICB0aGlzLl9zaWduYXR1cmUgPSB0aGlzLl9FTVBUWV9IRVhfVkFMVUU7XG4gICAgICB0aGlzLl9zZXF1ZW5jZUlkID0gY291bnRlcjtcbiAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cbiAgICB0aHJvdyBuZXcgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3IoJ0ludmFsaWQgY29udHJhY3Qgc2VxdWVuY2UgaWQnKTtcbiAgfVxuXG4gIGtleShzaWduS2V5OiBzdHJpbmcpOiBUcmFuc2ZlckJ1aWxkZXIge1xuICAgIHRoaXMuX3NpZ25LZXkgPSBzaWduS2V5O1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgZXhwaXJhdGlvblRpbWUoZGF0ZTogbnVtYmVyKTogVHJhbnNmZXJCdWlsZGVyIHtcbiAgICBpZiAoZGF0ZSA+IDApIHtcbiAgICAgIHRoaXMuX3NpZ25hdHVyZSA9IHRoaXMuX0VNUFRZX0hFWF9WQUxVRTtcbiAgICAgIHRoaXMuX2V4cGlyYXRpb25UaW1lID0gZGF0ZTtcbiAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cbiAgICB0aHJvdyBuZXcgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3IoJ0ludmFsaWQgZXhwaXJhdGlvbiB0aW1lJyk7XG4gIH1cblxuICBzaWduQW5kQnVpbGQoKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5oYXNNYW5kYXRvcnlGaWVsZHMoKSkge1xuICAgICAgaWYgKHRoaXMuX3Rva2VuQ29udHJhY3RBZGRyZXNzICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgcmV0dXJuIHNlbmRNdWx0aVNpZ1Rva2VuRGF0YShcbiAgICAgICAgICB0aGlzLl90b0FkZHJlc3MsXG4gICAgICAgICAgdGhpcy5fYW1vdW50LFxuICAgICAgICAgIHRoaXMuX3Rva2VuQ29udHJhY3RBZGRyZXNzLFxuICAgICAgICAgIHRoaXMuX2V4cGlyYXRpb25UaW1lLFxuICAgICAgICAgIHRoaXMuX3NlcXVlbmNlSWQsXG4gICAgICAgICAgdGhpcy5nZXRTaWduYXR1cmUoKSxcbiAgICAgICAgKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBzZW5kTXVsdGlTaWdEYXRhKFxuICAgICAgICAgIHRoaXMuX3RvQWRkcmVzcyxcbiAgICAgICAgICB0aGlzLl9hbW91bnQsXG4gICAgICAgICAgdGhpcy5fZGF0YSxcbiAgICAgICAgICB0aGlzLl9leHBpcmF0aW9uVGltZSxcbiAgICAgICAgICB0aGlzLl9zZXF1ZW5jZUlkLFxuICAgICAgICAgIHRoaXMuZ2V0U2lnbmF0dXJlKCksXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoXG4gICAgICAnTWlzc2luZyB0cmFuc2ZlciBtYW5kYXRvcnkgZmllbGRzLiBBbW91bnQsIGRlc3RpbmF0aW9uICh0bykgYWRkcmVzcyBhbmQgc2VxdWVuY2VJRCBhcmUgbWFuZGF0b3J5JyxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBoYXNNYW5kYXRvcnlGaWVsZHMoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2Ftb3VudCAhPT0gdW5kZWZpbmVkICYmIHRoaXMuX3RvQWRkcmVzcyAhPT0gdW5kZWZpbmVkICYmIHRoaXMuX3NlcXVlbmNlSWQgIT09IHVuZGVmaW5lZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBPYnRhaW5zIHRoZSBwcm9wZXIgb3BlcmF0aW9uIGhhc2ggdG8gc2lnbiBlaXRoZXIgYSBzZW5kTXVsdGlTaWcgZGF0YVxuICAgKiBvciBhIHNlbmRNdWx0aVNpZ1Rva2VuIGRhdGFcbiAgICpcbiAgICogQHJldHVybnMge3N0cmluZ30gdGhlIG9wZXJhdGlvbiBoYXNoXG4gICAqL1xuICBwcml2YXRlIGdldE9wZXJhdGlvbkhhc2goKTogc3RyaW5nIHtcbiAgICBjb25zdCBvcGVyYXRpb25EYXRhID0gdGhpcy5nZXRPcGVyYXRpb25EYXRhKCk7XG4gICAgcmV0dXJuIGV0aFV0aWwuYnVmZmVyVG9IZXgoRXRoZXJldW1BYmkuc29saWRpdHlTSEEzKC4uLm9wZXJhdGlvbkRhdGEpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRPcGVyYXRpb25EYXRhKCk6IChzdHJpbmcgfCBCdWZmZXIpW11bXSB7XG4gICAgbGV0IG9wZXJhdGlvbkRhdGE7XG4gICAgaWYgKHRoaXMuX3Rva2VuQ29udHJhY3RBZGRyZXNzICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIG9wZXJhdGlvbkRhdGEgPSBbXG4gICAgICAgIFsnc3RyaW5nJywgJ2FkZHJlc3MnLCAndWludCcsICdhZGRyZXNzJywgJ3VpbnQnLCAndWludCddLFxuICAgICAgICBbXG4gICAgICAgICAgdGhpcy5nZXRUb2tlbk9wZXJhdGlvbkhhc2hQcmVmaXgoKSxcbiAgICAgICAgICBuZXcgZXRoVXRpbC5CTihldGhVdGlsLnN0cmlwSGV4UHJlZml4KHRoaXMuX3RvQWRkcmVzcyksIDE2KSxcbiAgICAgICAgICB0aGlzLl9hbW91bnQsXG4gICAgICAgICAgbmV3IGV0aFV0aWwuQk4oZXRoVXRpbC5zdHJpcEhleFByZWZpeCh0aGlzLl90b2tlbkNvbnRyYWN0QWRkcmVzcyksIDE2KSxcbiAgICAgICAgICB0aGlzLl9leHBpcmF0aW9uVGltZSxcbiAgICAgICAgICB0aGlzLl9zZXF1ZW5jZUlkLFxuICAgICAgICBdLFxuICAgICAgXTtcbiAgICB9IGVsc2Uge1xuICAgICAgb3BlcmF0aW9uRGF0YSA9IFtcbiAgICAgICAgWydzdHJpbmcnLCAnYWRkcmVzcycsICd1aW50JywgJ2J5dGVzJywgJ3VpbnQnLCAndWludCddLFxuICAgICAgICBbXG4gICAgICAgICAgdGhpcy5nZXROYXRpdmVPcGVyYXRpb25IYXNoUHJlZml4KCksXG4gICAgICAgICAgbmV3IGV0aFV0aWwuQk4oZXRoVXRpbC5zdHJpcEhleFByZWZpeCh0aGlzLl90b0FkZHJlc3MpLCAxNiksXG4gICAgICAgICAgdGhpcy5fYW1vdW50LFxuICAgICAgICAgIEJ1ZmZlci5mcm9tKGV0aFV0aWwuc3RyaXBIZXhQcmVmaXgodGhpcy5fZGF0YSkgfHwgJycsICdoZXgnKSxcbiAgICAgICAgICB0aGlzLl9leHBpcmF0aW9uVGltZSxcbiAgICAgICAgICB0aGlzLl9zZXF1ZW5jZUlkLFxuICAgICAgICBdLFxuICAgICAgXTtcbiAgICB9XG4gICAgcmV0dXJuIG9wZXJhdGlvbkRhdGE7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBwcmVmaXggdXNlZCBpbiBnZW5lcmF0aW5nIGFuIG9wZXJhdGlvbiBoYXNoIGZvciBzZW5kaW5nIHRva2Vuc1xuICAgKlxuICAgKiBAcmV0dXJucyB0aGUgc3RyaW5nIHByZWZpeFxuICAgKi9cbiAgcHJvdGVjdGVkIGdldFRva2VuT3BlcmF0aW9uSGFzaFByZWZpeCgpOiBzdHJpbmcge1xuICAgIHJldHVybiAnRVJDMjAnO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgcHJlZml4IHVzZWQgaW4gZ2VuZXJhdGluZyBhbiBvcGVyYXRpb24gaGFzaCBmb3Igc2VuZGluZyBuYXRpdmUgY29pbnNcbiAgICpcbiAgICogQHJldHVybnMgdGhlIHN0cmluZyBwcmVmaXhcbiAgICovXG4gIHByb3RlY3RlZCBnZXROYXRpdmVPcGVyYXRpb25IYXNoUHJlZml4KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuICdFVEhFUic7XG4gIH1cblxuICAvKiogUmV0dXJuIGFuIGV4cGlyYXRpb24gdGltZSwgaW4gc2Vjb25kcywgc2V0IHRvIG9uZSBob3VyIGZyb20gbm93XG4gICAqXG4gICAqIEByZXR1cm5zIHtudW1iZXJ9IGV4cGlyYXRpb24gdGltZVxuICAgKi9cbiAgcHJpdmF0ZSBnZXRFeHBpcmF0aW9uVGltZSgpOiBudW1iZXIge1xuICAgIGNvbnN0IGN1cnJlbnREYXRlID0gbmV3IERhdGUoKTtcbiAgICBjdXJyZW50RGF0ZS5zZXRIb3VycyhjdXJyZW50RGF0ZS5nZXRIb3VycygpICsgMSk7XG4gICAgcmV0dXJuIGN1cnJlbnREYXRlLmdldFRpbWUoKSAvIDEwMDA7XG4gIH1cblxuICAvKipcbiAgICogSWYgYSBzaWduaW5nIGtleSBpcyBzZXQgZm9yIHRoaXMgYnVpbGRlciwgcmVjYWxjdWxhdGVzIHRoZSBzaWduYXR1cmVcbiAgICpcbiAgICogQHJldHVybnMge3N0cmluZ30gdGhlIHNpZ25hdHVyZSB2YWx1ZVxuICAgKi9cbiAgcHJvdGVjdGVkIGdldFNpZ25hdHVyZSgpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLl9zaWduS2V5KSB7XG4gICAgICB0aGlzLl9zaWduYXR1cmUgPSB0aGlzLmV0aFNpZ25Nc2dIYXNoKCk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9zaWduYXR1cmUhO1xuICB9XG5cbiAgcHJvdGVjdGVkIGV0aFNpZ25Nc2dIYXNoKCk6IHN0cmluZyB7XG4gICAgY29uc3QgZGF0YSA9IHRoaXMuZ2V0T3BlcmF0aW9uSGFzaCgpO1xuICAgIGNvbnN0IHNpZ25hdHVyZUluUGFydHMgPSBldGhVdGlsLmVjc2lnbihcbiAgICAgIEJ1ZmZlci5mcm9tKGV0aFV0aWwuc3RyaXBIZXhQcmVmaXgoZGF0YSksICdoZXgnKSxcbiAgICAgIEJ1ZmZlci5mcm9tKHRoaXMuX3NpZ25LZXksICdoZXgnKSxcbiAgICApO1xuXG4gICAgLy8gQXNzZW1ibGUgc3RyaW5ncyBmcm9tIHIsIHMgYW5kIHZcbiAgICBjb25zdCByID0gZXRoVXRpbC5zZXRMZW5ndGhMZWZ0KHNpZ25hdHVyZUluUGFydHMuciwgMzIpLnRvU3RyaW5nKCdoZXgnKTtcbiAgICBjb25zdCBzID0gZXRoVXRpbC5zZXRMZW5ndGhMZWZ0KHNpZ25hdHVyZUluUGFydHMucywgMzIpLnRvU3RyaW5nKCdoZXgnKTtcbiAgICBjb25zdCB2ID0gZXRoVXRpbC5zdHJpcEhleFByZWZpeChldGhVdGlsLmludFRvSGV4KHNpZ25hdHVyZUluUGFydHMudikpO1xuXG4gICAgLy8gQ29uY2F0ZW5hdGUgdGhlIHIsIHMgYW5kIHYgcGFydHMgdG8gbWFrZSB0aGUgc2lnbmF0dXJlIHN0cmluZ1xuICAgIHJldHVybiBldGhVdGlsLmFkZEhleFByZWZpeChyLmNvbmNhdChzLCB2KSk7XG4gIH1cblxuICBwcml2YXRlIGRlY29kZVRyYW5zZmVyRGF0YShkYXRhOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCB0cmFuc2ZlckRhdGEgPSBkZWNvZGVUcmFuc2ZlckRhdGEoZGF0YSk7XG5cbiAgICB0aGlzLl90b0FkZHJlc3MgPSB0cmFuc2ZlckRhdGEudG87XG4gICAgdGhpcy5fYW1vdW50ID0gdHJhbnNmZXJEYXRhLmFtb3VudDtcbiAgICB0aGlzLl9leHBpcmF0aW9uVGltZSA9IHRyYW5zZmVyRGF0YS5leHBpcmVUaW1lO1xuICAgIHRoaXMuX3NlcXVlbmNlSWQgPSB0cmFuc2ZlckRhdGEuc2VxdWVuY2VJZDtcbiAgICB0aGlzLl9zaWduYXR1cmUgPSB0cmFuc2ZlckRhdGEuc2lnbmF0dXJlO1xuXG4gICAgaWYgKHRyYW5zZmVyRGF0YS5kYXRhKSB7XG4gICAgICB0aGlzLl9kYXRhID0gdHJhbnNmZXJEYXRhLmRhdGE7XG4gICAgfVxuXG4gICAgaWYgKHRyYW5zZmVyRGF0YS50b2tlbkNvbnRyYWN0QWRkcmVzcykge1xuICAgICAgdGhpcy5fdG9rZW5Db250cmFjdEFkZHJlc3MgPSB0cmFuc2ZlckRhdGEudG9rZW5Db250cmFjdEFkZHJlc3M7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -1,39 +0,0 @@
1
- import { TypedTransaction } from '@ethereumjs/tx';
2
- import EthereumCommon from '@ethereumjs/common';
3
- import { EthLikeTransactionData, TxData } from './iface';
4
- import { KeyPair } from './keyPair';
5
- /**
6
- * An Ethereum transaction with helpers for serialization and deserialization.
7
- */
8
- export declare class EthTransactionData implements EthLikeTransactionData {
9
- private tx;
10
- protected args?: {
11
- deployedAddress?: string;
12
- chainId?: string;
13
- };
14
- constructor(tx: TypedTransaction, args?: {
15
- deployedAddress?: string;
16
- chainId?: string;
17
- });
18
- /**
19
- * Build an thereum transaction from its JSON representation
20
- *
21
- * @param {TxData} tx The JSON representation of the transaction
22
- * @param {EthereumCommon} common Class to access chain and hardfork parameters
23
- * @returns {EthTransactionData} a new ethereum transaction object
24
- */
25
- static fromJson(tx: TxData, common: EthereumCommon): EthTransactionData;
26
- /**
27
- * Build an ethereum transaction from its string serialization
28
- *
29
- * @param tx The string serialization of the ethereum transaction
30
- * @param common
31
- */
32
- static fromSerialized(tx: string, common: EthereumCommon): EthTransactionData;
33
- sign(keyPair: KeyPair): void;
34
- /** @inheritdoc */
35
- toJson(): TxData;
36
- /** @inheritdoc */
37
- toSerialized(): string;
38
- }
39
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/coin/eth/types.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,gBAAgB,EAIjB,MAAM,gBAAgB,CAAC;AACxB,OAAO,cAAc,MAAM,oBAAoB,CAAC;AAGhD,OAAO,EAA6B,sBAAsB,EAAoC,MAAM,EAAE,MAAM,SAAS,CAAC;AACtH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMpC;;GAEG;AACH,qBAAa,kBAAmB,YAAW,sBAAsB;IAC/D,OAAO,CAAC,EAAE,CAAmB;IAC7B,SAAS,CAAC,IAAI,CAAC,EAAE;QAAE,eAAe,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;gBAEpD,EAAE,EAAE,gBAAgB,EAAE,IAAI,CAAC,EAAE;QAAE,eAAe,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE;IAKvF;;;;;;OAMG;WACW,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,GAAG,kBAAkB;IAuC9E;;;;;OAKG;WACW,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,GAAG,kBAAkB;IAMpF,IAAI,CAAC,OAAO,EAAE,OAAO;IAKrB,kBAAkB;IAClB,MAAM,IAAI,MAAM;IAuDhB,kBAAkB;IAClB,YAAY,IAAI,MAAM;CAGvB"}
@@ -1,135 +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.EthTransactionData = void 0;
7
- const bignumber_js_1 = __importDefault(require("bignumber.js"));
8
- const tx_1 = require("@ethereumjs/tx");
9
- const ethereumjs_utils_old_1 = require("@bitgo/ethereumjs-utils-old");
10
- const ethereumjs_util_1 = require("ethereumjs-util");
11
- const iface_1 = require("./iface");
12
- // https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/tx/src/transactionFactory.ts#L31
13
- const LEGACY_TX_TYPE = 0;
14
- const EIP1559_TX_TYPE = 2;
15
- /**
16
- * An Ethereum transaction with helpers for serialization and deserialization.
17
- */
18
- class EthTransactionData {
19
- constructor(tx, args) {
20
- this.tx = tx;
21
- this.args = args;
22
- }
23
- /**
24
- * Build an thereum transaction from its JSON representation
25
- *
26
- * @param {TxData} tx The JSON representation of the transaction
27
- * @param {EthereumCommon} common Class to access chain and hardfork parameters
28
- * @returns {EthTransactionData} a new ethereum transaction object
29
- */
30
- static fromJson(tx, common) {
31
- const nonce = ethereumjs_util_1.addHexPrefix(new bignumber_js_1.default(tx.nonce).toString(16));
32
- const value = ethereumjs_util_1.addHexPrefix(new bignumber_js_1.default(tx.value).toString(16));
33
- const gasLimit = ethereumjs_util_1.addHexPrefix(new bignumber_js_1.default(tx.gasLimit).toString(16));
34
- const chainId = tx.chainId ? ethereumjs_util_1.addHexPrefix(new bignumber_js_1.default(tx.chainId).toString(16)) : undefined;
35
- const gasPrice = isLegacyTx(tx) ? ethereumjs_util_1.addHexPrefix(new bignumber_js_1.default(tx.gasPrice).toString(16)) : undefined;
36
- const maxFeePerGas = isEIP1559Txn(tx) ? ethereumjs_util_1.addHexPrefix(new bignumber_js_1.default(tx.maxFeePerGas).toString(16)) : undefined;
37
- const maxPriorityFeePerGas = isEIP1559Txn(tx)
38
- ? ethereumjs_util_1.addHexPrefix(new bignumber_js_1.default(tx.maxPriorityFeePerGas).toString(16))
39
- : undefined;
40
- return new EthTransactionData(tx_1.TransactionFactory.fromTxData({
41
- type: isLegacyTx(tx) ? LEGACY_TX_TYPE : EIP1559_TX_TYPE,
42
- chainId,
43
- nonce,
44
- to: tx.to,
45
- gasPrice,
46
- gasLimit,
47
- maxFeePerGas,
48
- maxPriorityFeePerGas,
49
- value,
50
- data: tx.data,
51
- v: tx.v,
52
- r: tx.r,
53
- s: tx.s,
54
- }, { common: common }), {
55
- deployedAddress: tx.deployedAddress,
56
- chainId: ethereumjs_util_1.addHexPrefix(new bignumber_js_1.default(Number(tx.chainId)).toString(16)),
57
- });
58
- }
59
- /**
60
- * Build an ethereum transaction from its string serialization
61
- *
62
- * @param tx The string serialization of the ethereum transaction
63
- * @param common
64
- */
65
- static fromSerialized(tx, common) {
66
- return new EthTransactionData(tx_1.TransactionFactory.fromSerializedData(ethereumjs_util_1.toBuffer(ethereumjs_util_1.addHexPrefix(tx)), { common: common }));
67
- }
68
- sign(keyPair) {
69
- const privateKey = Buffer.from(keyPair.getKeys().prv, 'hex');
70
- this.tx = this.tx.sign(privateKey);
71
- }
72
- /** @inheritdoc */
73
- toJson() {
74
- const result = {
75
- nonce: ethereumjs_utils_old_1.bufferToInt(this.tx.nonce),
76
- gasLimit: new bignumber_js_1.default(ethereumjs_utils_old_1.bufferToHex(this.tx.gasLimit), 16).toString(10),
77
- value: this.tx.value.toString(10),
78
- data: ethereumjs_utils_old_1.bufferToHex(this.tx.data),
79
- };
80
- if (this.tx.isSigned()) {
81
- result.id = ethereumjs_util_1.addHexPrefix(ethereumjs_utils_old_1.bufferToHex(this.tx.hash()));
82
- }
83
- else {
84
- result.id = ethereumjs_util_1.addHexPrefix(ethereumjs_utils_old_1.bufferToHex(this.tx.getMessageToSign()));
85
- }
86
- if (this.tx.to) {
87
- result.to = ethereumjs_utils_old_1.bufferToHex(this.tx.to.toBuffer());
88
- }
89
- if (this.tx.verifySignature()) {
90
- result.from = ethereumjs_utils_old_1.bufferToHex(this.tx.getSenderAddress().toBuffer());
91
- result.r = ethereumjs_utils_old_1.bufferToHex(this.tx.r);
92
- result.s = ethereumjs_utils_old_1.bufferToHex(this.tx.s);
93
- }
94
- if (this.tx.v) {
95
- result.v = ethereumjs_utils_old_1.bufferToHex(this.tx.v);
96
- }
97
- result.chainId = ethereumjs_util_1.addHexPrefix(this.tx.common.chainIdBN().toString(16));
98
- if (this.args && this.args.deployedAddress) {
99
- result.deployedAddress = this.args.deployedAddress;
100
- }
101
- if (this.tx instanceof tx_1.Transaction) {
102
- const gasPrice = new bignumber_js_1.default(ethereumjs_utils_old_1.bufferToHex(this.tx.gasPrice), 16).toString(10);
103
- return {
104
- ...result,
105
- _type: iface_1.ETHTransactionType.LEGACY,
106
- gasPrice,
107
- };
108
- }
109
- else if (this.tx instanceof tx_1.FeeMarketEIP1559Transaction) {
110
- const maxFeePerGas = new bignumber_js_1.default(ethereumjs_utils_old_1.bufferToHex(this.tx.maxFeePerGas), 16).toString(10);
111
- const maxPriorityFeePerGas = new bignumber_js_1.default(ethereumjs_utils_old_1.bufferToHex(this.tx.maxPriorityFeePerGas), 16).toString(10);
112
- return {
113
- ...result,
114
- _type: iface_1.ETHTransactionType.EIP1559,
115
- maxFeePerGas,
116
- maxPriorityFeePerGas,
117
- };
118
- }
119
- else {
120
- throw new Error(`Unsupported tx type: ${tx_1.AccessListEIP2930Transaction.name}`);
121
- }
122
- }
123
- /** @inheritdoc */
124
- toSerialized() {
125
- return ethereumjs_util_1.addHexPrefix(this.tx.serialize().toString('hex'));
126
- }
127
- }
128
- exports.EthTransactionData = EthTransactionData;
129
- function isLegacyTx(tx) {
130
- return tx._type === iface_1.ETHTransactionType.LEGACY;
131
- }
132
- function isEIP1559Txn(tx) {
133
- return tx._type === iface_1.ETHTransactionType.EIP1559;
134
- }
135
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29pbi9ldGgvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsZ0VBQXFDO0FBQ3JDLHVDQU13QjtBQUV4QixzRUFBdUU7QUFDdkUscURBQXlEO0FBQ3pELG1DQUFzSDtBQUd0SCwwR0FBMEc7QUFDMUcsTUFBTSxjQUFjLEdBQUcsQ0FBQyxDQUFDO0FBQ3pCLE1BQU0sZUFBZSxHQUFHLENBQUMsQ0FBQztBQUUxQjs7R0FFRztBQUNILE1BQWEsa0JBQWtCO0lBSTdCLFlBQVksRUFBb0IsRUFBRSxJQUFxRDtRQUNyRixJQUFJLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQztRQUNiLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO0lBQ25CLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQVUsRUFBRSxNQUFzQjtRQUN2RCxNQUFNLEtBQUssR0FBRyw4QkFBWSxDQUFDLElBQUksc0JBQVMsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDakUsTUFBTSxLQUFLLEdBQUcsOEJBQVksQ0FBQyxJQUFJLHNCQUFTLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ2pFLE1BQU0sUUFBUSxHQUFHLDhCQUFZLENBQUMsSUFBSSxzQkFBUyxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUN2RSxNQUFNLE9BQU8sR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyw4QkFBWSxDQUFDLElBQUksc0JBQVMsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMs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SSxDQUFDLEVBQUUsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUMzRCxDQUFDO0NBQ0Y7QUFwSUQsZ0RBb0lDO0FBRUQsU0FBUyxVQUFVLENBQUMsRUFBVTtJQUM1QixPQUFPLEVBQUUsQ0FBQyxLQUFLLEtBQUssMEJBQWtCLENBQUMsTUFBTSxDQUFDO0FBQ2hELENBQUM7QUFFRCxTQUFTLFlBQVksQ0FBQyxFQUFVO0lBQzlCLE9BQU8sRUFBRSxDQUFDLEtBQUssS0FBSywwQkFBa0IsQ0FBQyxPQUFPLENBQUM7QUFDakQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBCaWdOdW1iZXIgZnJvbSAnYmlnbnVtYmVyLmpzJztcbmltcG9ydCB7XG4gIFRyYW5zYWN0aW9uRmFjdG9yeSxcbiAgVHlwZWRUcmFuc2FjdGlvbixcbiAgVHJhbnNhY3Rpb24gYXMgTGVnYWN5VHJhbnNhY3Rpb24sXG4gIEZlZU1hcmtldEVJUDE1NTlUcmFuc2FjdGlvbixcbiAgQWNjZXNzTGlzdEVJUDI5MzBUcmFuc2FjdGlvbixcbn0gZnJvbSAnQGV0aGVyZXVtanMvdHgnO1xuaW1wb3J0IEV0aGVyZXVtQ29tbW9uIGZyb20gJ0BldGhlcmV1bWpzL2NvbW1vbic7XG5pbXBvcnQgeyBidWZmZXJUb0hleCwgYnVmZmVyVG9JbnQgfSBmcm9tICdAYml0Z28vZXRoZXJldW1qcy11dGlscy1vbGQnO1xuaW1wb3J0IHsgdG9CdWZmZXIsIGFkZEhleFByZWZpeCB9IGZyb20gJ2V0aGVyZXVtanMtdXRpbCc7XG5pbXBvcnQgeyBCYXNlVHhEYXRhLCBFSVAxNTU5VHhEYXRhLCBFdGhMaWtlVHJhbnNhY3Rpb25EYXRhLCBMZWdhY3lUeERhdGEsIEVUSFRyYW5zYWN0aW9uVHlwZSwgVHhEYXRhIH0gZnJvbSAnLi9pZmFjZSc7XG5pbXBvcnQgeyBLZXlQYWlyIH0gZnJvbSAnLi9rZXlQYWlyJztcblxuLy8gaHR0cHM6Ly9naXRodWIuY29tL2V0aGVyZXVtanMvZXRoZXJldW1qcy1tb25vcmVwby9ibG9iL21hc3Rlci9wYWNrYWdlcy90eC9zcmMvdHJhbnNhY3Rpb25GYWN0b3J5LnRzI0wzMVxuY29uc3QgTEVHQUNZX1RYX1RZUEUgPSAwO1xuY29uc3QgRUlQMTU1OV9UWF9UWVBFID0gMjtcblxuLyoqXG4gKiBBbiBFdGhlcmV1bSB0cmFuc2FjdGlvbiB3aXRoIGhlbHBlcnMgZm9yIHNlcmlhbGl6YXRpb24gYW5kIGRlc2VyaWFsaXphdGlvbi5cbiAqL1xuZXhwb3J0IGNsYXNzIEV0aFRyYW5zYWN0aW9uRGF0YSBpbXBsZW1lbnRzIEV0aExpa2VUcmFuc2FjdGlvbkRhdGEge1xuICBwcml2YXRlIHR4OiBUeXBlZFRyYW5zYWN0aW9uO1xuICBwcm90ZWN0ZWQgYXJncz86IHsgZGVwbG95ZWRBZGRyZXNzPzogc3RyaW5nOyBjaGFpbklkPzogc3RyaW5nIH07XG5cbiAgY29uc3RydWN0b3IodHg6IFR5cGVkVHJhbnNhY3Rpb24sIGFyZ3M/OiB7IGRlcGxveWVkQWRkcmVzcz86IHN0cmluZzsgY2hhaW5JZD86IHN0cmluZyB9KSB7XG4gICAgdGhpcy50eCA9IHR4O1xuICAgIHRoaXMuYXJncyA9IGFyZ3M7XG4gIH1cblxuICAvKipcbiAgICogQnVpbGQgYW4gdGhlcmV1bSB0cmFuc2FjdGlvbiBmcm9tIGl0cyBKU09OIHJlcHJlc2VudGF0aW9uXG4gICAqXG4gICAqIEBwYXJhbSB7VHhEYXRhfSB0eCBUaGUgSlNPTiByZXByZXNlbnRhdGlvbiBvZiB0aGUgdHJhbnNhY3Rpb25cbiAgICogQHBhcmFtIHtFdGhlcmV1bUNvbW1vbn0gY29tbW9uIENsYXNzIHRvIGFjY2VzcyBjaGFpbiBhbmQgaGFyZGZvcmsgcGFyYW1ldGVyc1xuICAgKiBAcmV0dXJucyB7RXRoVHJhbnNhY3Rpb25EYXRhfSBhIG5ldyBldGhlcmV1bSB0cmFuc2FjdGlvbiBvYmplY3RcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZnJvbUpzb24odHg6IFR4RGF0YSwgY29tbW9uOiBFdGhlcmV1bUNvbW1vbik6IEV0aFRyYW5zYWN0aW9uRGF0YSB7XG4gICAgY29uc3Qgbm9uY2UgPSBhZGRIZXhQcmVmaXgobmV3IEJpZ051bWJlcih0eC5ub25jZSkudG9TdHJpbmcoMTYpKTtcbiAgICBjb25zdCB2YWx1ZSA9IGFkZEhleFByZWZpeChuZXcgQmlnTnVtYmVyKHR4LnZhbHVlKS50b1N0cmluZygxNikpO1xuICAgIGNvbnN0IGdhc0xpbWl0ID0gYWRkSGV4UHJlZml4KG5ldyBCaWdOdW1iZXIodHguZ2FzTGltaXQpLnRvU3RyaW5nKDE2KSk7XG4gICAgY29uc3QgY2hhaW5JZCA9IHR4LmNoYWluSWQgPyBhZGRIZXhQcmVmaXgobmV3IEJpZ051bWJlcih0eC5jaGFpbklkKS50b1N0cmluZygxNikpIDogdW5kZWZpbmVkO1xuXG4gICAgY29uc3QgZ2FzUHJpY2UgPSBpc0xlZ2FjeVR4KHR4KSA/IGFkZEhleFByZWZpeChuZXcgQmlnTnVtYmVyKHR4Lmdhc1ByaWNlKS50b1N0cmluZygxNikpIDogdW5kZWZpbmVkO1xuXG4gICAgY29uc3QgbWF4RmVlUGVyR2FzID0gaXNFSVAxNTU5VHhuKHR4KSA/IGFkZEhleFByZWZpeChuZXcgQmlnTnVtYmVyKHR4Lm1heEZlZVBlckdhcykudG9TdHJpbmcoMTYpKSA6IHVuZGVmaW5lZDtcbiAgICBjb25zdCBtYXhQcmlvcml0eUZlZVBlckdhcyA9IGlzRUlQMTU1OVR4bih0eClcbiAgICAgID8gYWRkSGV4UHJlZml4KG5ldyBCaWdOdW1iZXIodHgubWF4UHJpb3JpdHlGZWVQZXJHYXMpLnRvU3RyaW5nKDE2KSlcbiAgICAgIDogdW5kZWZpbmVkO1xuXG4gICAgcmV0dXJuIG5ldyBFdGhUcmFuc2FjdGlvbkRhdGEoXG4gICAgICBUcmFuc2FjdGlvbkZhY3RvcnkuZnJvbVR4RGF0YShcbiAgICAgICAge1xuICAgICAgICAgIHR5cGU6IGlzTGVnYWN5VHgodHgpID8gTEVHQUNZX1RYX1RZUEUgOiBFSVAxNTU5X1RYX1RZUEUsXG4gICAgICAgICAgY2hhaW5JZCxcbiAgICAgICAgICBub25jZSxcbiAgICAgICAgICB0bzogdHgudG8sXG4gICAgICAgICAgZ2FzUHJpY2UsXG4gICAgICAgICAgZ2FzTGltaXQsXG4gICAgICAgICAgbWF4RmVlUGVyR2FzLFxuICAgICAgICAgIG1heFByaW9yaXR5RmVlUGVyR2FzLFxuICAgICAgICAgIHZhbHVlLFxuICAgICAgICAgIGRhdGE6IHR4LmRhdGEsXG4gICAgICAgICAgdjogdHgudixcbiAgICAgICAgICByOiB0eC5yLFxuICAgICAgICAgIHM6IHR4LnMsXG4gICAgICAgIH0sXG4gICAgICAgIHsgY29tbW9uOiBjb21tb24gfSxcbiAgICAgICksXG4gICAgICB7XG4gICAgICAgIGRlcGxveWVkQWRkcmVzczogdHguZGVwbG95ZWRBZGRyZXNzLFxuICAgICAgICBjaGFpbklkOiBhZGRIZXhQcmVmaXgobmV3IEJpZ051bWJlcihOdW1iZXIodHguY2hhaW5JZCkpLnRvU3RyaW5nKDE2KSksXG4gICAgICB9LFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQnVpbGQgYW4gZXRoZXJldW0gdHJhbnNhY3Rpb24gZnJvbSBpdHMgc3RyaW5nIHNlcmlhbGl6YXRpb25cbiAgICpcbiAgICogQHBhcmFtIHR4IFRoZSBzdHJpbmcgc2VyaWFsaXphdGlvbiBvZiB0aGUgZXRoZXJldW0gdHJhbnNhY3Rpb25cbiAgICogQHBhcmFtIGNvbW1vblxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBmcm9tU2VyaWFsaXplZCh0eDogc3RyaW5nLCBjb21tb246IEV0aGVyZXVtQ29tbW9uKTogRXRoVHJhbnNhY3Rpb25EYXRhIHtcbiAgICByZXR1cm4gbmV3IEV0aFRyYW5zYWN0aW9uRGF0YShcbiAgICAgIFRyYW5zYWN0aW9uRmFjdG9yeS5mcm9tU2VyaWFsaXplZERhdGEodG9CdWZmZXIoYWRkSGV4UHJlZml4KHR4KSksIHsgY29tbW9uOiBjb21tb24gfSksXG4gICAgKTtcbiAgfVxuXG4gIHNpZ24oa2V5UGFpcjogS2V5UGFpcikge1xuICAgIGNvbnN0IHByaXZhdGVLZXkgPSBCdWZmZXIuZnJvbShrZXlQYWlyLmdldEtleXMoKS5wcnYgYXMgc3RyaW5nLCAnaGV4Jyk7XG4gICAgdGhpcy50eCA9IHRoaXMudHguc2lnbihwcml2YXRlS2V5KTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICB0b0pzb24oKTogVHhEYXRhIHtcbiAgICBjb25zdCByZXN1bHQ6IEJhc2VUeERhdGEgPSB7XG4gICAgICBub25jZTogYnVmZmVyVG9JbnQodGhpcy50eC5ub25jZSksXG4gICAgICBnYXNMaW1pdDogbmV3IEJpZ051bWJlcihidWZmZXJUb0hleCh0aGlzLnR4Lmdhc0xpbWl0KSwgMTYpLnRvU3RyaW5nKDEwKSxcbiAgICAgIHZhbHVlOiB0aGlzLnR4LnZhbHVlLnRvU3RyaW5nKDEwKSxcbiAgICAgIGRhdGE6IGJ1ZmZlclRvSGV4KHRoaXMudHguZGF0YSksXG4gICAgfTtcblxuICAgIGlmICh0aGlzLnR4LmlzU2lnbmVkKCkpIHtcbiAgICAgIHJlc3VsdC5pZCA9IGFkZEhleFByZWZpeChidWZmZXJUb0hleCh0aGlzLnR4Lmhhc2goKSkpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXN1bHQuaWQgPSBhZGRIZXhQcmVmaXgoYnVmZmVyVG9IZXgodGhpcy50eC5nZXRNZXNzYWdlVG9TaWduKCkpKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy50eC50bykge1xuICAgICAgcmVzdWx0LnRvID0gYnVmZmVyVG9IZXgodGhpcy50eC50by50b0J1ZmZlcigpKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy50eC52ZXJpZnlTaWduYXR1cmUoKSkge1xuICAgICAgcmVzdWx0LmZyb20gPSBidWZmZXJUb0hleCh0aGlzLnR4LmdldFNlbmRlckFkZHJlc3MoKS50b0J1ZmZlcigpKTtcbiAgICAgIHJlc3VsdC5yID0gYnVmZmVyVG9IZXgodGhpcy50eC5yKTtcbiAgICAgIHJlc3VsdC5zID0gYnVmZmVyVG9IZXgodGhpcy50eC5zKTtcbiAgICB9XG4gICAgaWYgKHRoaXMudHgudikge1xuICAgICAgcmVzdWx0LnYgPSBidWZmZXJUb0hleCh0aGlzLnR4LnYpO1xuICAgIH1cbiAgICByZXN1bHQuY2hhaW5JZCA9IGFkZEhleFByZWZpeCh0aGlzLnR4LmNvbW1vbi5jaGFpbklkQk4oKS50b1N0cmluZygxNikpO1xuXG4gICAgaWYgKHRoaXMuYXJncyAmJiB0aGlzLmFyZ3MuZGVwbG95ZWRBZGRyZXNzKSB7XG4gICAgICByZXN1bHQuZGVwbG95ZWRBZGRyZXNzID0gdGhpcy5hcmdzLmRlcGxveWVkQWRkcmVzcztcbiAgICB9XG5cbiAgICBpZiAodGhpcy50eCBpbnN0YW5jZW9mIExlZ2FjeVRyYW5zYWN0aW9uKSB7XG4gICAgICBjb25zdCBnYXNQcmljZSA9IG5ldyBCaWdOdW1iZXIoYnVmZmVyVG9IZXgodGhpcy50eC5nYXNQcmljZSksIDE2KS50b1N0cmluZygxMCk7XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnJlc3VsdCxcbiAgICAgICAgX3R5cGU6IEVUSFRyYW5zYWN0aW9uVHlwZS5MRUdBQ1ksXG4gICAgICAgIGdhc1ByaWNlLFxuICAgICAgfTtcbiAgICB9IGVsc2UgaWYgKHRoaXMudHggaW5zdGFuY2VvZiBGZWVNYXJrZXRFSVAxNTU5VHJhbnNhY3Rpb24pIHtcbiAgICAgIGNvbnN0IG1heEZlZVBlckdhcyA9IG5ldyBCaWdOdW1iZXIoYnVmZmVyVG9IZXgodGhpcy50eC5tYXhGZWVQZXJHYXMpLCAxNikudG9TdHJpbmcoMTApO1xuICAgICAgY29uc3QgbWF4UHJpb3JpdHlGZWVQZXJHYXMgPSBuZXcgQmlnTnVtYmVyKGJ1ZmZlclRvSGV4KHRoaXMudHgubWF4UHJpb3JpdHlGZWVQZXJHYXMpLCAxNikudG9TdHJpbmcoMTApO1xuXG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5yZXN1bHQsXG4gICAgICAgIF90eXBlOiBFVEhUcmFuc2FjdGlvblR5cGUuRUlQMTU1OSxcbiAgICAgICAgbWF4RmVlUGVyR2FzLFxuICAgICAgICBtYXhQcmlvcml0eUZlZVBlckdhcyxcbiAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgVW5zdXBwb3J0ZWQgdHggdHlwZTogJHtBY2Nlc3NMaXN0RUlQMjkzMFRyYW5zYWN0aW9uLm5hbWV9YCk7XG4gICAgfVxuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHRvU2VyaWFsaXplZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiBhZGRIZXhQcmVmaXgodGhpcy50eC5zZXJpYWxpemUoKS50b1N0cmluZygnaGV4JykpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGlzTGVnYWN5VHgodHg6IFR4RGF0YSk6IHR4IGlzIExlZ2FjeVR4RGF0YSB7XG4gIHJldHVybiB0eC5fdHlwZSA9PT0gRVRIVHJhbnNhY3Rpb25UeXBlLkxFR0FDWTtcbn1cblxuZnVuY3Rpb24gaXNFSVAxNTU5VHhuKHR4OiBUeERhdGEpOiB0eCBpcyBFSVAxNTU5VHhEYXRhIHtcbiAgcmV0dXJuIHR4Ll90eXBlID09PSBFVEhUcmFuc2FjdGlvblR5cGUuRUlQMTU1OTtcbn1cbiJdfQ==
@@ -1,201 +0,0 @@
1
- /// <reference types="node" />
2
- import { BaseCoin, BaseNetwork, EthereumNetwork } from '@bitgo/statics';
3
- import EthereumCommon from '@ethereumjs/common';
4
- import { TransactionType } from '@bitgo/sdk-core';
5
- import { ERC1155TransferData, ERC721TransferData, FlushTokensData, NativeTransferData, SignatureParts, TokenTransferData, TransferData, TxData } from './iface';
6
- import { KeyPair } from './keyPair';
7
- /**
8
- * @param network
9
- */
10
- export declare function getCommon(network: EthereumNetwork): EthereumCommon;
11
- /**
12
- * Signs the transaction using the appropriate algorithm
13
- * and the provided common for the blockchain
14
- *
15
- * @param {TxData} transactionData the transaction data to sign
16
- * @param {KeyPair} keyPair the signer's keypair
17
- * @param {EthereumCommon} customCommon the network's custom common
18
- * @returns {string} the transaction signed and encoded
19
- */
20
- export declare function signInternal(transactionData: TxData, keyPair: KeyPair, customCommon: EthereumCommon): Promise<string>;
21
- /**
22
- * Signs the transaction using the appropriate algorithm
23
- *
24
- * @param {TxData} transactionData the transaction data to sign
25
- * @param {KeyPair} keyPair the signer's keypair
26
- * @returns {string} the transaction signed and encoded
27
- */
28
- export declare function sign(transactionData: TxData, keyPair: KeyPair): Promise<string>;
29
- /**
30
- * Returns the contract method encoded data
31
- *
32
- * @param {string} to destination address
33
- * @param {number} value Amount to tranfer
34
- * @param {string} data aditional method call data
35
- * @param {number} expireTime expiration time for the transaction in seconds
36
- * @param {number} sequenceId sequence id
37
- * @param {string} signature signature of the call
38
- * @returns {string} -- the contract method encoded data
39
- */
40
- export declare function sendMultiSigData(to: string, value: string, data: string, expireTime: number, sequenceId: number, signature: string): string;
41
- /**
42
- * Returns the contract method encoded data
43
- *
44
- * @param {string} to destination address
45
- * @param {number} value Amount to tranfer
46
- * @param {string} tokenContractAddress the address of the erc20 token contract
47
- * @param {number} expireTime expiration time for the transaction in seconds
48
- * @param {number} sequenceId sequence id
49
- * @param {string} signature signature of the call
50
- * @returns {string} -- the contract method encoded data
51
- */
52
- export declare function sendMultiSigTokenData(to: string, value: string, tokenContractAddress: string, expireTime: number, sequenceId: number, signature: string): string;
53
- /**
54
- * Get the data required to make a flush tokens contract call
55
- *
56
- * @param forwarderAddress The forwarder address to flush
57
- * @param tokenAddress The token address to flush from
58
- */
59
- export declare function flushTokensData(forwarderAddress: any, tokenAddress: any): string;
60
- /**
61
- * Get the data required to make a flush native coins contract call
62
- */
63
- export declare function flushCoinsData(): string;
64
- /**
65
- * Returns the create forwarder method calling data
66
- *
67
- * @returns {string} - the createForwarder method encoded
68
- */
69
- export declare function getAddressInitializationData(): string;
70
- /**
71
- * Returns whether or not the string is a valid Eth address
72
- *
73
- * @param {string} address - the tx hash to validate
74
- * @returns {boolean} - the validation result
75
- */
76
- export declare function isValidEthAddress(address: string): boolean;
77
- /**
78
- * Returns whether or not the string is a valid amount number
79
- *
80
- * @param {string} amount - the string to validate
81
- * @returns {boolean} - the validation result
82
- */
83
- export declare function isValidAmount(amount: string): boolean;
84
- /**
85
- * Returns the smart contract encoded data
86
- *
87
- * @param {string} data The wallet creation data to decode
88
- * @returns {string[]} - The list of signer addresses
89
- */
90
- export declare function decodeWalletCreationData(data: string): string[];
91
- /**
92
- * Decode the given ABI-encoded transfer data and return parsed fields
93
- *
94
- * @param data The data to decode
95
- * @returns parsed transfer data
96
- */
97
- export declare function decodeTransferData(data: string): TransferData;
98
- /**
99
- * Decode the given ABI-encoded transfer data for the sendMultisigToken function and return parsed fields
100
- *
101
- * @param data The data to decode
102
- * @returns parsed token transfer data
103
- */
104
- export declare function decodeTokenTransferData(data: string): TokenTransferData;
105
- export declare function decodeERC721TransferData(data: string): ERC721TransferData;
106
- export declare function decodeERC1155TransferData(data: string): ERC1155TransferData;
107
- /**
108
- * Decode the given ABI-encoded transfer data for the sendMultisig function and return parsed fields
109
- *
110
- * @param data The data to decode
111
- * @returns parsed transfer data
112
- */
113
- export declare function decodeNativeTransferData(data: string): NativeTransferData;
114
- /**
115
- * Decode the given ABI-encoded flush tokens data and return parsed fields
116
- *
117
- * @param data The data to decode
118
- * @returns parsed transfer data
119
- */
120
- export declare function decodeFlushTokensData(data: string): FlushTokensData;
121
- /**
122
- * Classify the given transaction data based as a transaction type.
123
- * ETH transactions are defined by the first 8 bytes of the transaction data, also known as the method id
124
- *
125
- * @param {string} data The data to classify the transaction with
126
- * @returns {TransactionType} The classified transaction type
127
- */
128
- export declare function classifyTransaction(data: string): TransactionType;
129
- /**
130
- *
131
- * @param {number} num number to be converted to hex
132
- * @returns {string} the hex number
133
- */
134
- export declare function numberToHexString(num: number): string;
135
- /**
136
- *
137
- * @param {string} hex The hex string to be converted
138
- * @returns {number} the resulting number
139
- */
140
- export declare function hexStringToNumber(hex: string): number;
141
- /**
142
- * Generates an address of the forwarder address to be deployed
143
- *
144
- * @param {string} contractAddress the address which is creating this new address
145
- * @param {number} contractCounter the nonce of the contract address
146
- * @returns {string} the calculated forwarder contract address
147
- */
148
- export declare function calculateForwarderAddress(contractAddress: string, contractCounter: number): string;
149
- /**
150
- * Calculate the forwarder v1 address that will be generated if `creatorAddress` creates it with salt `salt`
151
- * and initcode `inicode using the create2 opcode
152
- * @param {string} creatorAddress The address that is sending the tx to create a new address, hex string
153
- * @param {string} salt The salt to create the address with using create2, hex string
154
- * @param {string} initcode The initcode that will be deployed to the address, hex string
155
- * @return {string} The calculated address
156
- */
157
- export declare function calculateForwarderV1Address(creatorAddress: string, salt: string, initcode: string): string;
158
- /**
159
- * Take the implementation address for the proxy contract, and get the binary initcode for the associated proxy
160
- * @param {string} implementationAddress The address of the implementation contract for the proxy
161
- * @return {string} Binary hex string of the proxy
162
- */
163
- export declare function getProxyInitcode(implementationAddress: string): string;
164
- /**
165
- * Convert the given signature parts to a string representation
166
- *
167
- * @param {SignatureParts} sig The signature to convert to string
168
- * @returns {string} String representation of the signature
169
- */
170
- export declare function toStringSig(sig: SignatureParts): string;
171
- /**
172
- * Return whether or not the given tx data has a signature
173
- *
174
- * @param {TxData} txData The transaction data to check for signature
175
- * @returns {boolean} true if the tx has a signature, else false
176
- */
177
- export declare function hasSignature(txData: TxData): boolean;
178
- /**
179
- * Get the raw data decoded for some types
180
- *
181
- * @param {string[]} types ABI types definition
182
- * @param {Buffer} serializedArgs encoded args
183
- * @returns {Buffer[]} the decoded raw
184
- */
185
- export declare function getRawDecoded(types: string[], serializedArgs: Buffer): Buffer[];
186
- /**
187
- * Get the buffered bytecode from rawData using a methodId as delimiter
188
- *
189
- * @param {string} methodId the hex encoded method Id
190
- * @param {string} rawData the hex encoded raw data
191
- * @returns {Buffer} data buffered bytecode
192
- */
193
- export declare function getBufferedByteCode(methodId: string, rawData: string): Buffer;
194
- /**
195
- * Get the statics coin object matching a given contract address if it exists
196
- *
197
- * @param tokenContractAddress The contract address to match against
198
- * @returns statics BaseCoin object for the matching token
199
- */
200
- export declare function getToken(tokenContractAddress: string, network: BaseNetwork): Readonly<BaseCoin> | undefined;
201
- //# sourceMappingURL=utils.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/coin/eth/utils.ts"],"names":[],"mappings":"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"}