tronwb 6.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (318) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +201 -0
  3. package/dist/TronWeb.js +3 -0
  4. package/dist/TronWeb.js.LICENSE.txt +12 -0
  5. package/dist/TronWeb.js.map +1 -0
  6. package/dist/TronWeb.node.js +2 -0
  7. package/dist/TronWeb.node.js.map +1 -0
  8. package/kj9btptx.cjs +1 -0
  9. package/lib/commonjs/index.d.ts +64 -0
  10. package/lib/commonjs/index.js +37 -0
  11. package/lib/commonjs/index.js.map +1 -0
  12. package/lib/commonjs/lib/TransactionBuilder/TransactionBuilder.d.ts +127 -0
  13. package/lib/commonjs/lib/TransactionBuilder/TransactionBuilder.js +1771 -0
  14. package/lib/commonjs/lib/TransactionBuilder/TransactionBuilder.js.map +1 -0
  15. package/lib/commonjs/lib/TransactionBuilder/helper.d.ts +28 -0
  16. package/lib/commonjs/lib/TransactionBuilder/helper.js +122 -0
  17. package/lib/commonjs/lib/TransactionBuilder/helper.js.map +1 -0
  18. package/lib/commonjs/lib/contract/index.d.ts +29 -0
  19. package/lib/commonjs/lib/contract/index.js +124 -0
  20. package/lib/commonjs/lib/contract/index.js.map +1 -0
  21. package/lib/commonjs/lib/contract/method.d.ts +50 -0
  22. package/lib/commonjs/lib/contract/method.js +238 -0
  23. package/lib/commonjs/lib/contract/method.js.map +1 -0
  24. package/lib/commonjs/lib/event.d.ts +85 -0
  25. package/lib/commonjs/lib/event.js +137 -0
  26. package/lib/commonjs/lib/event.js.map +1 -0
  27. package/lib/commonjs/lib/plugin.d.ts +28 -0
  28. package/lib/commonjs/lib/plugin.js +84 -0
  29. package/lib/commonjs/lib/plugin.js.map +1 -0
  30. package/lib/commonjs/lib/providers/HttpProvider.d.ts +15 -0
  31. package/lib/commonjs/lib/providers/HttpProvider.js +63 -0
  32. package/lib/commonjs/lib/providers/HttpProvider.js.map +1 -0
  33. package/lib/commonjs/lib/providers/index.d.ts +6 -0
  34. package/lib/commonjs/lib/providers/index.js +8 -0
  35. package/lib/commonjs/lib/providers/index.js.map +1 -0
  36. package/lib/commonjs/lib/trx.d.ts +315 -0
  37. package/lib/commonjs/lib/trx.js +965 -0
  38. package/lib/commonjs/lib/trx.js.map +1 -0
  39. package/lib/commonjs/package.json +1 -0
  40. package/lib/commonjs/paramValidator/index.d.ts +19 -0
  41. package/lib/commonjs/paramValidator/index.js +110 -0
  42. package/lib/commonjs/paramValidator/index.js.map +1 -0
  43. package/lib/commonjs/protocol/core/Tron_pb.cjs +7524 -0
  44. package/lib/commonjs/protocol/core/contract/account_contract_pb.cjs +961 -0
  45. package/lib/commonjs/protocol/core/contract/asset_issue_contract_pb.cjs +2196 -0
  46. package/lib/commonjs/protocol/core/contract/balance_contract_pb.cjs +3826 -0
  47. package/lib/commonjs/protocol/core/contract/common_pb.cjs +34 -0
  48. package/lib/commonjs/protocol/core/contract/exchange_contract_pb.cjs +1268 -0
  49. package/lib/commonjs/protocol/core/contract/proposal_contract_pb.cjs +675 -0
  50. package/lib/commonjs/protocol/core/contract/smart_contract_pb.cjs +2960 -0
  51. package/lib/commonjs/protocol/core/contract/storage_contract_pb.cjs +848 -0
  52. package/lib/commonjs/protocol/core/contract/vote_asset_contract_pb.cjs +340 -0
  53. package/lib/commonjs/protocol/core/contract/witness_contract_pb.cjs +956 -0
  54. package/lib/commonjs/tronweb.d.ts +111 -0
  55. package/lib/commonjs/tronweb.js +365 -0
  56. package/lib/commonjs/tronweb.js.map +1 -0
  57. package/lib/commonjs/types/ABI.d.ts +59 -0
  58. package/lib/commonjs/types/ABI.js +3 -0
  59. package/lib/commonjs/types/ABI.js.map +1 -0
  60. package/lib/commonjs/types/APIResponse.d.ts +31 -0
  61. package/lib/commonjs/types/APIResponse.js +3 -0
  62. package/lib/commonjs/types/APIResponse.js.map +1 -0
  63. package/lib/commonjs/types/Contract.d.ts +287 -0
  64. package/lib/commonjs/types/Contract.js +63 -0
  65. package/lib/commonjs/types/Contract.js.map +1 -0
  66. package/lib/commonjs/types/Providers.d.ts +8 -0
  67. package/lib/commonjs/types/Providers.js +3 -0
  68. package/lib/commonjs/types/Providers.js.map +1 -0
  69. package/lib/commonjs/types/Transaction.d.ts +65 -0
  70. package/lib/commonjs/types/Transaction.js +3 -0
  71. package/lib/commonjs/types/Transaction.js.map +1 -0
  72. package/lib/commonjs/types/TransactionBuilder.d.ts +270 -0
  73. package/lib/commonjs/types/TransactionBuilder.js +3 -0
  74. package/lib/commonjs/types/TransactionBuilder.js.map +1 -0
  75. package/lib/commonjs/types/TronWeb.d.ts +20 -0
  76. package/lib/commonjs/types/TronWeb.js +3 -0
  77. package/lib/commonjs/types/TronWeb.js.map +1 -0
  78. package/lib/commonjs/types/Trx.d.ts +263 -0
  79. package/lib/commonjs/types/Trx.js +42 -0
  80. package/lib/commonjs/types/Trx.js.map +1 -0
  81. package/lib/commonjs/types/UtilsTypes.d.ts +23 -0
  82. package/lib/commonjs/types/UtilsTypes.js +3 -0
  83. package/lib/commonjs/types/UtilsTypes.js.map +1 -0
  84. package/lib/commonjs/types/index.d.ts +9 -0
  85. package/lib/commonjs/types/index.js +13 -0
  86. package/lib/commonjs/types/index.js.map +1 -0
  87. package/lib/commonjs/utils/abi.d.ts +5 -0
  88. package/lib/commonjs/utils/abi.js +251 -0
  89. package/lib/commonjs/utils/abi.js.map +1 -0
  90. package/lib/commonjs/utils/accounts.d.ts +22 -0
  91. package/lib/commonjs/utils/accounts.js +51 -0
  92. package/lib/commonjs/utils/accounts.js.map +1 -0
  93. package/lib/commonjs/utils/address.d.ts +12 -0
  94. package/lib/commonjs/utils/address.js +91 -0
  95. package/lib/commonjs/utils/address.js.map +1 -0
  96. package/lib/commonjs/utils/base58.d.ts +3 -0
  97. package/lib/commonjs/utils/base58.js +68 -0
  98. package/lib/commonjs/utils/base58.js.map +1 -0
  99. package/lib/commonjs/utils/base64.d.ts +10 -0
  100. package/lib/commonjs/utils/base64.js +173 -0
  101. package/lib/commonjs/utils/base64.js.map +1 -0
  102. package/lib/commonjs/utils/bytes.d.ts +7 -0
  103. package/lib/commonjs/utils/bytes.js +61 -0
  104. package/lib/commonjs/utils/bytes.js.map +1 -0
  105. package/lib/commonjs/utils/code.d.ts +12 -0
  106. package/lib/commonjs/utils/code.js +166 -0
  107. package/lib/commonjs/utils/code.js.map +1 -0
  108. package/lib/commonjs/utils/crypto.d.ts +25 -0
  109. package/lib/commonjs/utils/crypto.js +222 -0
  110. package/lib/commonjs/utils/crypto.js.map +1 -0
  111. package/lib/commonjs/utils/ethersUtils.d.ts +14 -0
  112. package/lib/commonjs/utils/ethersUtils.js +39 -0
  113. package/lib/commonjs/utils/ethersUtils.js.map +1 -0
  114. package/lib/commonjs/utils/fragments.d.ts +465 -0
  115. package/lib/commonjs/utils/fragments.js +1342 -0
  116. package/lib/commonjs/utils/fragments.js.map +1 -0
  117. package/lib/commonjs/utils/help.d.ts +8 -0
  118. package/lib/commonjs/utils/help.js +61 -0
  119. package/lib/commonjs/utils/help.js.map +1 -0
  120. package/lib/commonjs/utils/index.d.ts +56 -0
  121. package/lib/commonjs/utils/index.js +43 -0
  122. package/lib/commonjs/utils/index.js.map +1 -0
  123. package/lib/commonjs/utils/interface.d.ts +381 -0
  124. package/lib/commonjs/utils/interface.js +1121 -0
  125. package/lib/commonjs/utils/interface.js.map +1 -0
  126. package/lib/commonjs/utils/message.d.ts +4 -0
  127. package/lib/commonjs/utils/message.js +38 -0
  128. package/lib/commonjs/utils/message.js.map +1 -0
  129. package/lib/commonjs/utils/transaction.d.ts +17 -0
  130. package/lib/commonjs/utils/transaction.js +678 -0
  131. package/lib/commonjs/utils/transaction.js.map +1 -0
  132. package/lib/commonjs/utils/typedData.d.ts +148 -0
  133. package/lib/commonjs/utils/typedData.js +498 -0
  134. package/lib/commonjs/utils/typedData.js.map +1 -0
  135. package/lib/commonjs/utils/validations.d.ts +22 -0
  136. package/lib/commonjs/utils/validations.js +128 -0
  137. package/lib/commonjs/utils/validations.js.map +1 -0
  138. package/lib/esm/index.d.ts +64 -0
  139. package/lib/esm/index.js +33 -0
  140. package/lib/esm/index.js.map +1 -0
  141. package/lib/esm/lib/TransactionBuilder/TransactionBuilder.d.ts +127 -0
  142. package/lib/esm/lib/TransactionBuilder/TransactionBuilder.js +1767 -0
  143. package/lib/esm/lib/TransactionBuilder/TransactionBuilder.js.map +1 -0
  144. package/lib/esm/lib/TransactionBuilder/helper.d.ts +28 -0
  145. package/lib/esm/lib/TransactionBuilder/helper.js +112 -0
  146. package/lib/esm/lib/TransactionBuilder/helper.js.map +1 -0
  147. package/lib/esm/lib/contract/index.d.ts +29 -0
  148. package/lib/esm/lib/contract/index.js +118 -0
  149. package/lib/esm/lib/contract/index.js.map +1 -0
  150. package/lib/esm/lib/contract/method.d.ts +50 -0
  151. package/lib/esm/lib/contract/method.js +233 -0
  152. package/lib/esm/lib/contract/method.js.map +1 -0
  153. package/lib/esm/lib/event.d.ts +85 -0
  154. package/lib/esm/lib/event.js +132 -0
  155. package/lib/esm/lib/event.js.map +1 -0
  156. package/lib/esm/lib/plugin.d.ts +28 -0
  157. package/lib/esm/lib/plugin.js +79 -0
  158. package/lib/esm/lib/plugin.js.map +1 -0
  159. package/lib/esm/lib/providers/HttpProvider.d.ts +15 -0
  160. package/lib/esm/lib/providers/HttpProvider.js +59 -0
  161. package/lib/esm/lib/providers/HttpProvider.js.map +1 -0
  162. package/lib/esm/lib/providers/index.d.ts +6 -0
  163. package/lib/esm/lib/providers/index.js +4 -0
  164. package/lib/esm/lib/providers/index.js.map +1 -0
  165. package/lib/esm/lib/trx.d.ts +315 -0
  166. package/lib/esm/lib/trx.js +960 -0
  167. package/lib/esm/lib/trx.js.map +1 -0
  168. package/lib/esm/package.json +1 -0
  169. package/lib/esm/paramValidator/index.d.ts +19 -0
  170. package/lib/esm/paramValidator/index.js +106 -0
  171. package/lib/esm/paramValidator/index.js.map +1 -0
  172. package/lib/esm/protocol/core/Tron_pb.cjs +7524 -0
  173. package/lib/esm/protocol/core/contract/account_contract_pb.cjs +961 -0
  174. package/lib/esm/protocol/core/contract/asset_issue_contract_pb.cjs +2196 -0
  175. package/lib/esm/protocol/core/contract/balance_contract_pb.cjs +3826 -0
  176. package/lib/esm/protocol/core/contract/common_pb.cjs +34 -0
  177. package/lib/esm/protocol/core/contract/exchange_contract_pb.cjs +1268 -0
  178. package/lib/esm/protocol/core/contract/proposal_contract_pb.cjs +675 -0
  179. package/lib/esm/protocol/core/contract/smart_contract_pb.cjs +2960 -0
  180. package/lib/esm/protocol/core/contract/storage_contract_pb.cjs +848 -0
  181. package/lib/esm/protocol/core/contract/vote_asset_contract_pb.cjs +340 -0
  182. package/lib/esm/protocol/core/contract/witness_contract_pb.cjs +956 -0
  183. package/lib/esm/tronweb.d.ts +111 -0
  184. package/lib/esm/tronweb.js +360 -0
  185. package/lib/esm/tronweb.js.map +1 -0
  186. package/lib/esm/types/ABI.d.ts +59 -0
  187. package/lib/esm/types/ABI.js +2 -0
  188. package/lib/esm/types/ABI.js.map +1 -0
  189. package/lib/esm/types/APIResponse.d.ts +31 -0
  190. package/lib/esm/types/APIResponse.js +2 -0
  191. package/lib/esm/types/APIResponse.js.map +1 -0
  192. package/lib/esm/types/Contract.d.ts +287 -0
  193. package/lib/esm/types/Contract.js +60 -0
  194. package/lib/esm/types/Contract.js.map +1 -0
  195. package/lib/esm/types/Providers.d.ts +8 -0
  196. package/lib/esm/types/Providers.js +2 -0
  197. package/lib/esm/types/Providers.js.map +1 -0
  198. package/lib/esm/types/Transaction.d.ts +65 -0
  199. package/lib/esm/types/Transaction.js +2 -0
  200. package/lib/esm/types/Transaction.js.map +1 -0
  201. package/lib/esm/types/TransactionBuilder.d.ts +270 -0
  202. package/lib/esm/types/TransactionBuilder.js +2 -0
  203. package/lib/esm/types/TransactionBuilder.js.map +1 -0
  204. package/lib/esm/types/TronWeb.d.ts +20 -0
  205. package/lib/esm/types/TronWeb.js +2 -0
  206. package/lib/esm/types/TronWeb.js.map +1 -0
  207. package/lib/esm/types/Trx.d.ts +263 -0
  208. package/lib/esm/types/Trx.js +39 -0
  209. package/lib/esm/types/Trx.js.map +1 -0
  210. package/lib/esm/types/UtilsTypes.d.ts +23 -0
  211. package/lib/esm/types/UtilsTypes.js +2 -0
  212. package/lib/esm/types/UtilsTypes.js.map +1 -0
  213. package/lib/esm/types/index.d.ts +9 -0
  214. package/lib/esm/types/index.js +10 -0
  215. package/lib/esm/types/index.js.map +1 -0
  216. package/lib/esm/utils/abi.d.ts +5 -0
  217. package/lib/esm/utils/abi.js +245 -0
  218. package/lib/esm/utils/abi.js.map +1 -0
  219. package/lib/esm/utils/accounts.d.ts +22 -0
  220. package/lib/esm/utils/accounts.js +46 -0
  221. package/lib/esm/utils/accounts.js.map +1 -0
  222. package/lib/esm/utils/address.d.ts +12 -0
  223. package/lib/esm/utils/address.js +82 -0
  224. package/lib/esm/utils/address.js.map +1 -0
  225. package/lib/esm/utils/base58.d.ts +3 -0
  226. package/lib/esm/utils/base58.js +64 -0
  227. package/lib/esm/utils/base58.js.map +1 -0
  228. package/lib/esm/utils/base64.d.ts +10 -0
  229. package/lib/esm/utils/base64.js +169 -0
  230. package/lib/esm/utils/base64.js.map +1 -0
  231. package/lib/esm/utils/bytes.d.ts +7 -0
  232. package/lib/esm/utils/bytes.js +53 -0
  233. package/lib/esm/utils/bytes.js.map +1 -0
  234. package/lib/esm/utils/code.d.ts +12 -0
  235. package/lib/esm/utils/code.js +149 -0
  236. package/lib/esm/utils/code.js.map +1 -0
  237. package/lib/esm/utils/crypto.d.ts +25 -0
  238. package/lib/esm/utils/crypto.js +198 -0
  239. package/lib/esm/utils/crypto.js.map +1 -0
  240. package/lib/esm/utils/ethersUtils.d.ts +14 -0
  241. package/lib/esm/utils/ethersUtils.js +17 -0
  242. package/lib/esm/utils/ethersUtils.js.map +1 -0
  243. package/lib/esm/utils/fragments.d.ts +465 -0
  244. package/lib/esm/utils/fragments.js +1330 -0
  245. package/lib/esm/utils/fragments.js.map +1 -0
  246. package/lib/esm/utils/help.d.ts +8 -0
  247. package/lib/esm/utils/help.js +51 -0
  248. package/lib/esm/utils/help.js.map +1 -0
  249. package/lib/esm/utils/index.d.ts +56 -0
  250. package/lib/esm/utils/index.js +40 -0
  251. package/lib/esm/utils/index.js.map +1 -0
  252. package/lib/esm/utils/interface.d.ts +381 -0
  253. package/lib/esm/utils/interface.js +1112 -0
  254. package/lib/esm/utils/interface.js.map +1 -0
  255. package/lib/esm/utils/message.d.ts +4 -0
  256. package/lib/esm/utils/message.js +32 -0
  257. package/lib/esm/utils/message.js.map +1 -0
  258. package/lib/esm/utils/transaction.d.ts +17 -0
  259. package/lib/esm/utils/transaction.js +669 -0
  260. package/lib/esm/utils/transaction.js.map +1 -0
  261. package/lib/esm/utils/typedData.d.ts +148 -0
  262. package/lib/esm/utils/typedData.js +493 -0
  263. package/lib/esm/utils/typedData.js.map +1 -0
  264. package/lib/esm/utils/validations.d.ts +22 -0
  265. package/lib/esm/utils/validations.js +108 -0
  266. package/lib/esm/utils/validations.js.map +1 -0
  267. package/package.json +110 -0
  268. package/src/index.ts +42 -0
  269. package/src/lib/TransactionBuilder/TransactionBuilder.ts +2272 -0
  270. package/src/lib/TransactionBuilder/helper.ts +139 -0
  271. package/src/lib/contract/index.ts +151 -0
  272. package/src/lib/contract/method.ts +336 -0
  273. package/src/lib/event.ts +248 -0
  274. package/src/lib/plugin.ts +102 -0
  275. package/src/lib/providers/HttpProvider.ts +66 -0
  276. package/src/lib/providers/index.ts +6 -0
  277. package/src/lib/trx.ts +1463 -0
  278. package/src/paramValidator/index.ts +136 -0
  279. package/src/protocol/core/Tron_pb.cjs +7524 -0
  280. package/src/protocol/core/contract/account_contract_pb.cjs +961 -0
  281. package/src/protocol/core/contract/asset_issue_contract_pb.cjs +2196 -0
  282. package/src/protocol/core/contract/balance_contract_pb.cjs +3826 -0
  283. package/src/protocol/core/contract/common_pb.cjs +34 -0
  284. package/src/protocol/core/contract/exchange_contract_pb.cjs +1268 -0
  285. package/src/protocol/core/contract/proposal_contract_pb.cjs +675 -0
  286. package/src/protocol/core/contract/smart_contract_pb.cjs +2960 -0
  287. package/src/protocol/core/contract/storage_contract_pb.cjs +848 -0
  288. package/src/protocol/core/contract/vote_asset_contract_pb.cjs +340 -0
  289. package/src/protocol/core/contract/witness_contract_pb.cjs +956 -0
  290. package/src/tronweb.ts +437 -0
  291. package/src/types/ABI.ts +82 -0
  292. package/src/types/APIResponse.ts +34 -0
  293. package/src/types/Contract.ts +352 -0
  294. package/src/types/Providers.ts +7 -0
  295. package/src/types/Transaction.ts +70 -0
  296. package/src/types/TransactionBuilder.ts +281 -0
  297. package/src/types/TronWeb.ts +23 -0
  298. package/src/types/Trx.ts +285 -0
  299. package/src/types/UtilsTypes.ts +25 -0
  300. package/src/types/index.ts +9 -0
  301. package/src/types/interface.d.ts +1 -0
  302. package/src/utils/abi.ts +257 -0
  303. package/src/utils/accounts.ts +60 -0
  304. package/src/utils/address.ts +89 -0
  305. package/src/utils/base58.ts +78 -0
  306. package/src/utils/base64.ts +200 -0
  307. package/src/utils/bytes.ts +68 -0
  308. package/src/utils/code.ts +172 -0
  309. package/src/utils/crypto.ts +264 -0
  310. package/src/utils/ethersUtils.ts +60 -0
  311. package/src/utils/fragments.ts +1738 -0
  312. package/src/utils/help.ts +59 -0
  313. package/src/utils/index.ts +42 -0
  314. package/src/utils/interface.ts +1362 -0
  315. package/src/utils/message.ts +38 -0
  316. package/src/utils/transaction.ts +991 -0
  317. package/src/utils/typedData.ts +688 -0
  318. package/src/utils/validations.ts +130 -0
@@ -0,0 +1,169 @@
1
+ const _keyStr = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';
2
+ export class Base64 {
3
+ encode(input) {
4
+ let output = '';
5
+ let chr1;
6
+ let chr2;
7
+ let chr3;
8
+ let enc1;
9
+ let enc2;
10
+ let enc3;
11
+ let enc4;
12
+ let i = 0;
13
+ while (i < input.length) {
14
+ chr1 = input.charCodeAt(i++);
15
+ chr2 = input.charCodeAt(i++);
16
+ chr3 = input.charCodeAt(i++);
17
+ enc1 = chr1 >> 2;
18
+ enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);
19
+ enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);
20
+ enc4 = chr3 & 63;
21
+ if (isNaN(chr2))
22
+ enc3 = enc4 = 64;
23
+ else if (isNaN(chr3))
24
+ enc4 = 64;
25
+ output = output + _keyStr.charAt(enc1) + _keyStr.charAt(enc2) + _keyStr.charAt(enc3) + _keyStr.charAt(enc4);
26
+ }
27
+ return output;
28
+ }
29
+ encodeIgnoreUtf8(inputBytes) {
30
+ let output = '';
31
+ let chr1;
32
+ let chr2;
33
+ let chr3;
34
+ let enc1;
35
+ let enc2;
36
+ let enc3;
37
+ let enc4;
38
+ let i = 0;
39
+ while (i < inputBytes.length) {
40
+ chr1 = inputBytes[i++];
41
+ chr2 = inputBytes[i++];
42
+ chr3 = inputBytes[i++];
43
+ enc1 = chr1 >> 2;
44
+ enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);
45
+ enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);
46
+ enc4 = chr3 & 63;
47
+ if (isNaN(chr2))
48
+ enc3 = enc4 = 64;
49
+ else if (isNaN(chr3))
50
+ enc4 = 64;
51
+ output = output + _keyStr.charAt(enc1) + _keyStr.charAt(enc2) + _keyStr.charAt(enc3) + _keyStr.charAt(enc4);
52
+ }
53
+ return output;
54
+ }
55
+ decode(input) {
56
+ let output = '';
57
+ let chr1;
58
+ let chr2;
59
+ let chr3;
60
+ let enc1;
61
+ let enc2;
62
+ let enc3;
63
+ let enc4;
64
+ let i = 0;
65
+ // eslint-disable-next-line no-useless-escape
66
+ input = input.replace(/[^A-Za-z0-9\+\/\=]/g, '');
67
+ while (i < input.length) {
68
+ enc1 = _keyStr.indexOf(input.charAt(i++));
69
+ enc2 = _keyStr.indexOf(input.charAt(i++));
70
+ enc3 = _keyStr.indexOf(input.charAt(i++));
71
+ enc4 = _keyStr.indexOf(input.charAt(i++));
72
+ chr1 = (enc1 << 2) | (enc2 >> 4);
73
+ chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);
74
+ chr3 = ((enc3 & 3) << 6) | enc4;
75
+ output = output + String.fromCharCode(chr1);
76
+ if (enc3 != 64)
77
+ output = output + String.fromCharCode(chr2);
78
+ if (enc4 != 64)
79
+ output = output + String.fromCharCode(chr3);
80
+ }
81
+ return this._utf8_decode(output);
82
+ }
83
+ decodeToByteArray(input) {
84
+ let output = '';
85
+ let chr1;
86
+ let chr2;
87
+ let chr3;
88
+ let enc1;
89
+ let enc2;
90
+ let enc3;
91
+ let enc4;
92
+ let i = 0;
93
+ // eslint-disable-next-line no-useless-escape
94
+ input = input.replace(/[^A-Za-z0-9\+\/\=]/g, '');
95
+ while (i < input.length) {
96
+ enc1 = _keyStr.indexOf(input.charAt(i++));
97
+ enc2 = _keyStr.indexOf(input.charAt(i++));
98
+ enc3 = _keyStr.indexOf(input.charAt(i++));
99
+ enc4 = _keyStr.indexOf(input.charAt(i++));
100
+ chr1 = (enc1 << 2) | (enc2 >> 4);
101
+ chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);
102
+ chr3 = ((enc3 & 3) << 6) | enc4;
103
+ output = output + String.fromCharCode(chr1);
104
+ if (enc3 != 64)
105
+ output = output + String.fromCharCode(chr2);
106
+ if (enc4 != 64)
107
+ output = output + String.fromCharCode(chr3);
108
+ }
109
+ return this._out2ByteArray(output);
110
+ }
111
+ _out2ByteArray(utftext) {
112
+ const byteArray = new Array(utftext.length);
113
+ let i = 0;
114
+ let c = 0;
115
+ while (i < utftext.length) {
116
+ c = utftext.charCodeAt(i);
117
+ byteArray[i] = c;
118
+ i++;
119
+ }
120
+ return byteArray;
121
+ }
122
+ _utf8_encode(string) {
123
+ string = string.replace(/\r\n/g, '\n');
124
+ let utftext = '';
125
+ for (let n = 0; n < string.length; n++) {
126
+ const c = string.charCodeAt(n);
127
+ if (c < 128) {
128
+ utftext += String.fromCharCode(c);
129
+ }
130
+ else if (c > 127 && c < 2048) {
131
+ utftext += String.fromCharCode((c >> 6) | 192);
132
+ utftext += String.fromCharCode((c & 63) | 128);
133
+ }
134
+ else {
135
+ utftext += String.fromCharCode((c >> 12) | 224);
136
+ utftext += String.fromCharCode(((c >> 6) & 63) | 128);
137
+ utftext += String.fromCharCode((c & 63) | 128);
138
+ }
139
+ }
140
+ return utftext;
141
+ }
142
+ _utf8_decode(utftext) {
143
+ let string = '';
144
+ let i = 0;
145
+ let c = 0;
146
+ let c2 = 0;
147
+ let c3 = 0;
148
+ while (i < utftext.length) {
149
+ c = utftext.charCodeAt(i);
150
+ if (c < 128) {
151
+ string += String.fromCharCode(c);
152
+ i++;
153
+ }
154
+ else if (c > 191 && c < 224) {
155
+ c2 = utftext.charCodeAt(i + 1);
156
+ string += String.fromCharCode(((c & 31) << 6) | (c2 & 63));
157
+ i += 2;
158
+ }
159
+ else {
160
+ c2 = utftext.charCodeAt(i + 1);
161
+ c3 = utftext.charCodeAt(i + 2);
162
+ string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));
163
+ i += 3;
164
+ }
165
+ }
166
+ return string;
167
+ }
168
+ }
169
+ //# sourceMappingURL=base64.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base64.js","sourceRoot":"","sources":["../../../src/utils/base64.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { BytesLike } from '../types/UtilsTypes.js';
2
+ export declare function byte2hexStr(byte: number): string;
3
+ export declare function bytesToString(arr: BytesLike): string;
4
+ export declare function hextoString(hex: string): string;
5
+ export declare function byteArray2hexStr(byteArray: BytesLike): string;
6
+ export declare function base64DecodeFromString(string64: string): number[];
7
+ export declare function base64EncodeToString(bytes: BytesLike): string;
@@ -0,0 +1,53 @@
1
+ import { Base64 } from './base64.js';
2
+ export function byte2hexStr(byte) {
3
+ if (byte < 0 || byte > 255)
4
+ throw new Error('Input must be a byte');
5
+ const hexByteMap = '0123456789ABCDEF';
6
+ let str = '';
7
+ str += hexByteMap.charAt(byte >> 4);
8
+ str += hexByteMap.charAt(byte & 0x0f);
9
+ return str;
10
+ }
11
+ export function bytesToString(arr) {
12
+ let str = '';
13
+ for (let i = 0; i < arr.length; i++) {
14
+ const one = arr[i].toString(2);
15
+ const v = one.match(/^1+?(?=0)/);
16
+ if (v && one.length === 8) {
17
+ const bytesLength = v[0].length;
18
+ let store = arr[i].toString(2).slice(7 - bytesLength);
19
+ for (let st = 1; st < bytesLength; st++)
20
+ store += arr[st + i].toString(2).slice(2);
21
+ str += String.fromCharCode(parseInt(store, 2));
22
+ i += bytesLength - 1;
23
+ }
24
+ else {
25
+ str += String.fromCharCode(arr[i]);
26
+ }
27
+ }
28
+ return str;
29
+ }
30
+ export function hextoString(hex) {
31
+ const arr = hex.replace(/^0x/, '').split('');
32
+ let out = '';
33
+ for (let i = 0; i < arr.length / 2; i++) {
34
+ const tmp = `0x${arr[i * 2]}${arr[i * 2 + 1]}`;
35
+ out += String.fromCharCode(parseInt(tmp));
36
+ }
37
+ return out;
38
+ }
39
+ export function byteArray2hexStr(byteArray) {
40
+ let str = '';
41
+ for (let i = 0; i < byteArray.length; i++)
42
+ str += byte2hexStr(byteArray[i]);
43
+ return str;
44
+ }
45
+ export function base64DecodeFromString(string64) {
46
+ return new Base64().decodeToByteArray(string64);
47
+ }
48
+ export function base64EncodeToString(bytes) {
49
+ const b = new Base64();
50
+ const string64 = b.encodeIgnoreUtf8(bytes);
51
+ return string64;
52
+ }
53
+ //# sourceMappingURL=bytes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bytes.js","sourceRoot":"","sources":["../../../src/utils/bytes.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { byte2hexStr, bytesToString, hextoString, byteArray2hexStr, base64DecodeFromString, base64EncodeToString } from './bytes.js';
2
+ import type { BytesLike } from '../types/UtilsTypes.js';
3
+ export declare function bin2String(array: BytesLike): string;
4
+ export declare function arrayEquals(array1: any[], array2: any[], strict?: boolean): boolean;
5
+ export declare function stringToBytes(str: string): number[];
6
+ export { byte2hexStr, bytesToString, hextoString, byteArray2hexStr, base64DecodeFromString, base64EncodeToString };
7
+ export declare function hexChar2byte(c: string): number;
8
+ export declare function isHexChar(c: string): 0 | 1;
9
+ export declare function hexStr2byteArray(str: string, strict?: boolean): number[];
10
+ export declare function strToDate(str: string): Date;
11
+ export declare function isNumber(c: string): 0 | 1;
12
+ export declare function getStringType(str: string): 1 | -1 | 2 | 3;
@@ -0,0 +1,149 @@
1
+ import { byte2hexStr, bytesToString, hextoString, byteArray2hexStr, base64DecodeFromString, base64EncodeToString, } from './bytes.js';
2
+ export function bin2String(array) {
3
+ return bytesToString(array);
4
+ }
5
+ export function arrayEquals(array1, array2, strict = false) {
6
+ if (array1.length != array2.length)
7
+ return false;
8
+ for (let i = 0; i < array1.length; i++) {
9
+ if (strict) {
10
+ if (array1[i] != array2[i])
11
+ return false;
12
+ }
13
+ else if (JSON.stringify(array1[i]) != JSON.stringify(array2[i]))
14
+ return false;
15
+ }
16
+ return true;
17
+ }
18
+ export function stringToBytes(str) {
19
+ const bytes = [];
20
+ const len = str.length;
21
+ let c;
22
+ for (let i = 0; i < len; i++) {
23
+ c = str.charCodeAt(i);
24
+ if (c >= 0x010000 && c <= 0x10ffff) {
25
+ bytes.push(((c >> 18) & 0x07) | 0xf0);
26
+ bytes.push(((c >> 12) & 0x3f) | 0x80);
27
+ bytes.push(((c >> 6) & 0x3f) | 0x80);
28
+ bytes.push((c & 0x3f) | 0x80);
29
+ }
30
+ else if (c >= 0x000800 && c <= 0x00ffff) {
31
+ bytes.push(((c >> 12) & 0x0f) | 0xe0);
32
+ bytes.push(((c >> 6) & 0x3f) | 0x80);
33
+ bytes.push((c & 0x3f) | 0x80);
34
+ }
35
+ else if (c >= 0x000080 && c <= 0x0007ff) {
36
+ bytes.push(((c >> 6) & 0x1f) | 0xc0);
37
+ bytes.push((c & 0x3f) | 0x80);
38
+ }
39
+ else
40
+ bytes.push(c & 0xff);
41
+ }
42
+ return bytes;
43
+ }
44
+ export { byte2hexStr, bytesToString, hextoString, byteArray2hexStr, base64DecodeFromString, base64EncodeToString };
45
+ export function hexChar2byte(c) {
46
+ let d;
47
+ if (c >= 'A' && c <= 'F')
48
+ d = c.charCodeAt(0) - 'A'.charCodeAt(0) + 10;
49
+ else if (c >= 'a' && c <= 'f')
50
+ d = c.charCodeAt(0) - 'a'.charCodeAt(0) + 10;
51
+ else if (c >= '0' && c <= '9')
52
+ d = c.charCodeAt(0) - '0'.charCodeAt(0);
53
+ if (typeof d === 'number')
54
+ return d;
55
+ else
56
+ throw new Error('The passed hex char is not a valid hex char');
57
+ }
58
+ export function isHexChar(c) {
59
+ if ((c >= 'A' && c <= 'F') || (c >= 'a' && c <= 'f') || (c >= '0' && c <= '9')) {
60
+ return 1;
61
+ }
62
+ return 0;
63
+ }
64
+ // set strict as true: if the length of str is odd, add 0 before the str to make its length as even
65
+ export function hexStr2byteArray(str, strict = false) {
66
+ let len = str.length;
67
+ if (strict) {
68
+ if (len % 2) {
69
+ str = `0${str}`;
70
+ len++;
71
+ }
72
+ }
73
+ const byteArray = [];
74
+ let d = 0;
75
+ let j = 0;
76
+ let k = 0;
77
+ for (let i = 0; i < len; i++) {
78
+ const c = str.charAt(i);
79
+ if (isHexChar(c)) {
80
+ d <<= 4;
81
+ d += hexChar2byte(c);
82
+ j++;
83
+ if (0 === j % 2) {
84
+ byteArray[k++] = d;
85
+ d = 0;
86
+ }
87
+ }
88
+ else
89
+ throw new Error('The passed hex char is not a valid hex string');
90
+ }
91
+ return byteArray;
92
+ }
93
+ //yyyy-MM-DD HH-mm-ss
94
+ export function strToDate(str) {
95
+ if (!/^\d{4}-\d{2}-\d{2}( \d{2}-\d{2}-\d{2}|)/.test(str))
96
+ throw new Error('The passed date string is not valid');
97
+ const tempStrs = str.split(' ');
98
+ const dateStrs = tempStrs[0].split('-');
99
+ const year = parseInt(dateStrs[0], 10);
100
+ const month = parseInt(dateStrs[1], 10) - 1;
101
+ const day = parseInt(dateStrs[2], 10);
102
+ if (tempStrs.length > 1) {
103
+ const timeStrs = tempStrs[1].split('-');
104
+ const hour = parseInt(timeStrs[0], 10);
105
+ const minute = parseInt(timeStrs[1], 10);
106
+ const second = parseInt(timeStrs[2], 10);
107
+ return new Date(year, month, day, hour, minute, second);
108
+ }
109
+ return new Date(year, month, day);
110
+ }
111
+ export function isNumber(c) {
112
+ if (c >= '0' && c <= '9')
113
+ return 1;
114
+ return 0;
115
+ }
116
+ //return 1: address --- 20Bytes HexString
117
+ //return 2: blockNumber ------ Decimal number
118
+ //return 3: assetName ------ String
119
+ //return other: error
120
+ export function getStringType(str) {
121
+ if (null == str)
122
+ return -1;
123
+ if (str.length == 0 || str == '')
124
+ return -1;
125
+ let i = 0;
126
+ if (str.length == 40) {
127
+ for (; i < 40; i++) {
128
+ const c = str.charAt(i);
129
+ if (!isHexChar(c))
130
+ break;
131
+ }
132
+ }
133
+ if (i == 40)
134
+ return 1; //40 Hex, Address
135
+ for (i = 0; i < str.length; i++) {
136
+ const c = str.charAt(i);
137
+ if (!isNumber(c))
138
+ break;
139
+ }
140
+ if (i == str.length)
141
+ return 2; // All Decimal number, BlockNumber
142
+ for (i = 0; i < str.length; i++) {
143
+ const c = str.charAt(i);
144
+ if (c > ' ')
145
+ return 3; // At least one visible character
146
+ }
147
+ return -1;
148
+ }
149
+ //# sourceMappingURL=code.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"code.js","sourceRoot":"","sources":["../../../src/utils/code.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import type { TypedDataDomain, TypedDataField } from 'ethers';
2
+ import { SignedTransaction } from '../types/Transaction.js';
3
+ import type { BytesLike } from '../types/UtilsTypes.js';
4
+ export declare function getBase58CheckAddress(addressBytes: number[]): string;
5
+ export declare function decodeBase58Address(base58Sting: string): false | number[];
6
+ export declare function signTransaction(priKeyBytes: string | BytesLike, transaction: any): SignedTransaction;
7
+ export declare function ecRecover(signedData: string, signature: string): string;
8
+ export declare function arrayToBase64String(a: number[]): string;
9
+ export declare function signBytes(privateKey: string | BytesLike, contents: BytesLike): string;
10
+ export declare function _signTypedData(domain: TypedDataDomain, types: Record<string, Array<TypedDataField>>, value: Record<string, any>, privateKey: string): string;
11
+ export declare function getRowBytesFromTransactionBase64(base64Data: string): Uint8Array;
12
+ export declare function genPriKey(): number[];
13
+ export declare function computeAddress(pubBytes: BytesLike): number[];
14
+ export declare function getAddressFromPriKey(priKeyBytes: BytesLike): number[];
15
+ export declare function decode58Check(addressStr: string): false | number[];
16
+ export declare function isAddressValid(base58Str: string): boolean;
17
+ export declare function getBase58CheckAddressFromPriKeyBase64String(priKeyBase64String: string): string;
18
+ export declare function getHexStrAddressFromPriKeyBase64String(priKeyBase64String: string): string;
19
+ export declare function getAddressFromPriKeyBase64String(priKeyBase64String: string): string;
20
+ export declare function getPubKeyFromPriKey(priKeyBytes: BytesLike): number[];
21
+ export declare function ECKeySign(hashBytes: BytesLike, priKeyBytes: BytesLike): string;
22
+ export declare function SHA256(msgBytes: BytesLike): number[];
23
+ export declare function passwordToAddress(password: string): string;
24
+ export declare function pkToAddress(privateKey: string, strict?: boolean): string;
25
+ export declare function sha3(string: string, prefix?: boolean): string;
@@ -0,0 +1,198 @@
1
+ import { ADDRESS_PREFIX, ADDRESS_PREFIX_BYTE, ADDRESS_SIZE } from './address.js';
2
+ import { base64EncodeToString, base64DecodeFromString, hexStr2byteArray } from './code.js';
3
+ import { encode58, decode58 } from './base58.js';
4
+ import { byte2hexStr, byteArray2hexStr } from './bytes.js';
5
+ import { keccak256, sha256, SigningKey, recoverAddress, arrayify, Signature } from './ethersUtils.js';
6
+ import { TypedDataEncoder } from './typedData.js';
7
+ import { secp256k1 as secp } from 'ethereum-cryptography/secp256k1';
8
+ function normalizePrivateKeyBytes(priKeyBytes) {
9
+ return hexStr2byteArray(byteArray2hexStr(priKeyBytes).padStart(64, '0'));
10
+ }
11
+ export function getBase58CheckAddress(addressBytes) {
12
+ const hash0 = SHA256(addressBytes);
13
+ const hash1 = SHA256(hash0);
14
+ let checkSum = hash1.slice(0, 4);
15
+ checkSum = addressBytes.concat(checkSum);
16
+ return encode58(checkSum);
17
+ }
18
+ export function decodeBase58Address(base58Sting) {
19
+ if (typeof base58Sting != 'string')
20
+ return false;
21
+ if (base58Sting.length <= 4)
22
+ return false;
23
+ let address = decode58(base58Sting);
24
+ if (base58Sting.length <= 4)
25
+ return false;
26
+ const len = address.length;
27
+ const offset = len - 4;
28
+ const checkSum = address.slice(offset);
29
+ address = address.slice(0, offset);
30
+ const hash0 = SHA256(address);
31
+ const hash1 = SHA256(hash0);
32
+ const checkSum1 = hash1.slice(0, 4);
33
+ if (checkSum[0] == checkSum1[0] &&
34
+ checkSum[1] == checkSum1[1] &&
35
+ checkSum[2] == checkSum1[2] &&
36
+ checkSum[3] == checkSum1[3]) {
37
+ return address;
38
+ }
39
+ throw new Error('Invalid address provided');
40
+ }
41
+ // @TODO transaction type should be determined.
42
+ export function signTransaction(priKeyBytes, transaction) {
43
+ if (typeof priKeyBytes === 'string')
44
+ priKeyBytes = hexStr2byteArray(priKeyBytes);
45
+ const txID = transaction.txID;
46
+ const signature = ECKeySign(hexStr2byteArray(txID), priKeyBytes);
47
+ if (Array.isArray(transaction.signature)) {
48
+ if (!transaction.signature.includes(signature))
49
+ transaction.signature.push(signature);
50
+ }
51
+ else
52
+ transaction.signature = [signature];
53
+ return transaction;
54
+ }
55
+ export function ecRecover(signedData, signature) {
56
+ signedData = '0x' + signedData.replace(/^0x/, '');
57
+ signature = '0x' + signature.replace(/^0x/, '');
58
+ const recovered = recoverAddress(arrayify(signedData), Signature.from(signature));
59
+ const tronAddress = ADDRESS_PREFIX + recovered.substring(2);
60
+ return tronAddress;
61
+ }
62
+ export function arrayToBase64String(a) {
63
+ return btoa(String.fromCharCode(...a));
64
+ }
65
+ export function signBytes(privateKey, contents) {
66
+ if (typeof privateKey === 'string')
67
+ privateKey = hexStr2byteArray(privateKey);
68
+ const hashBytes = SHA256(contents);
69
+ const signBytes = ECKeySign(hashBytes, privateKey);
70
+ return signBytes;
71
+ }
72
+ export function _signTypedData(domain, types, value, privateKey) {
73
+ const key = `0x${privateKey.replace(/^0x/, '')}`;
74
+ const signingKey = new SigningKey(key);
75
+ const messageDigest = TypedDataEncoder.hash(domain, types, value);
76
+ const signature = signingKey.sign(messageDigest);
77
+ const signatureHex = ['0x', signature.r.substring(2), signature.s.substring(2), Number(signature.v).toString(16)].join('');
78
+ return signatureHex;
79
+ }
80
+ export function getRowBytesFromTransactionBase64(base64Data) {
81
+ const bytesDecode = base64DecodeFromString(base64Data);
82
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
83
+ // @ts-ignore
84
+ const transaction = globalThis.proto.protocol.Transaction.deserializeBinary(bytesDecode);
85
+ const raw = transaction.getRawData();
86
+ return raw.serializeBinary();
87
+ }
88
+ export function genPriKey() {
89
+ const priKey = secp.utils.randomPrivateKey();
90
+ let priKeyHex = byteArray2hexStr(priKey);
91
+ priKeyHex = priKeyHex.padStart(64, '0');
92
+ return hexStr2byteArray(priKeyHex);
93
+ }
94
+ export function computeAddress(pubBytes) {
95
+ if (pubBytes.length === 65)
96
+ pubBytes = pubBytes.slice(1);
97
+ const hash = keccak256(new Uint8Array(pubBytes)).toString().substring(2);
98
+ const addressHex = ADDRESS_PREFIX + hash.substring(24);
99
+ return hexStr2byteArray(addressHex);
100
+ }
101
+ export function getAddressFromPriKey(priKeyBytes) {
102
+ const pubBytes = getPubKeyFromPriKey(priKeyBytes);
103
+ return computeAddress(pubBytes);
104
+ }
105
+ export function decode58Check(addressStr) {
106
+ const decodeCheck = decode58(addressStr);
107
+ if (decodeCheck.length <= 4)
108
+ return false;
109
+ const decodeData = decodeCheck.slice(0, decodeCheck.length - 4);
110
+ const hash0 = SHA256(decodeData);
111
+ const hash1 = SHA256(hash0);
112
+ if (hash1[0] === decodeCheck[decodeData.length] &&
113
+ hash1[1] === decodeCheck[decodeData.length + 1] &&
114
+ hash1[2] === decodeCheck[decodeData.length + 2] &&
115
+ hash1[3] === decodeCheck[decodeData.length + 3]) {
116
+ return decodeData;
117
+ }
118
+ return false;
119
+ }
120
+ export function isAddressValid(base58Str) {
121
+ if (typeof base58Str !== 'string')
122
+ return false;
123
+ if (base58Str.length !== ADDRESS_SIZE)
124
+ return false;
125
+ let address = decode58(base58Str);
126
+ if (address.length !== 25)
127
+ return false;
128
+ if (address[0] !== ADDRESS_PREFIX_BYTE)
129
+ return false;
130
+ const checkSum = address.slice(21);
131
+ address = address.slice(0, 21);
132
+ const hash0 = SHA256(address);
133
+ const hash1 = SHA256(hash0);
134
+ const checkSum1 = hash1.slice(0, 4);
135
+ if (checkSum[0] == checkSum1[0] &&
136
+ checkSum[1] == checkSum1[1] &&
137
+ checkSum[2] == checkSum1[2] &&
138
+ checkSum[3] == checkSum1[3]) {
139
+ return true;
140
+ }
141
+ return false;
142
+ }
143
+ export function getBase58CheckAddressFromPriKeyBase64String(priKeyBase64String) {
144
+ const priKeyBytes = base64DecodeFromString(priKeyBase64String);
145
+ const pubBytes = getPubKeyFromPriKey(priKeyBytes);
146
+ const addressBytes = computeAddress(pubBytes);
147
+ return getBase58CheckAddress(addressBytes);
148
+ }
149
+ export function getHexStrAddressFromPriKeyBase64String(priKeyBase64String) {
150
+ const priKeyBytes = base64DecodeFromString(priKeyBase64String);
151
+ const pubBytes = getPubKeyFromPriKey(priKeyBytes);
152
+ const addressBytes = computeAddress(pubBytes);
153
+ const addressHex = byteArray2hexStr(addressBytes);
154
+ return addressHex;
155
+ }
156
+ export function getAddressFromPriKeyBase64String(priKeyBase64String) {
157
+ const priKeyBytes = base64DecodeFromString(priKeyBase64String);
158
+ const pubBytes = getPubKeyFromPriKey(priKeyBytes);
159
+ const addressBytes = computeAddress(pubBytes);
160
+ const addressBase64 = base64EncodeToString(addressBytes);
161
+ return addressBase64;
162
+ }
163
+ export function getPubKeyFromPriKey(priKeyBytes) {
164
+ const pubkey = secp.ProjectivePoint.fromPrivateKey(new Uint8Array(normalizePrivateKeyBytes(priKeyBytes)));
165
+ const x = pubkey.x;
166
+ const y = pubkey.y;
167
+ const xHex = x.toString(16).padStart(64, '0');
168
+ const yHex = y.toString(16).padStart(64, '0');
169
+ const pubkeyHex = `04${xHex}${yHex}`;
170
+ const pubkeyBytes = hexStr2byteArray(pubkeyHex);
171
+ return pubkeyBytes;
172
+ }
173
+ export function ECKeySign(hashBytes, priKeyBytes) {
174
+ const signature = secp.sign(byteArray2hexStr(hashBytes), byteArray2hexStr(priKeyBytes));
175
+ const r = signature.r.toString(16);
176
+ const s = signature.s.toString(16);
177
+ const v = signature.recovery + 27;
178
+ return r.padStart(64, '0') + s.padStart(64, '0') + byte2hexStr(v);
179
+ }
180
+ export function SHA256(msgBytes) {
181
+ const msgHex = byteArray2hexStr(msgBytes);
182
+ const hashHex = sha256('0x' + msgHex).replace(/^0x/, '');
183
+ return hexStr2byteArray(hashHex);
184
+ }
185
+ export function passwordToAddress(password) {
186
+ const com_priKeyBytes = base64DecodeFromString(password);
187
+ const com_addressBytes = getAddressFromPriKey(com_priKeyBytes);
188
+ return getBase58CheckAddress(com_addressBytes);
189
+ }
190
+ export function pkToAddress(privateKey, strict = false) {
191
+ const com_priKeyBytes = hexStr2byteArray(privateKey, strict);
192
+ const com_addressBytes = getAddressFromPriKey(com_priKeyBytes);
193
+ return getBase58CheckAddress(com_addressBytes);
194
+ }
195
+ export function sha3(string, prefix = true) {
196
+ return (prefix ? '0x' : '') + keccak256(Buffer.from(string, 'utf-8')).toString().substring(2);
197
+ }
198
+ //# sourceMappingURL=crypto.js.map