@aeternity/aepp-sdk 11.0.1 → 12.1.1

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 (444) hide show
  1. package/LICENSE +1 -1
  2. package/dist/aepp-sdk.browser-script.js +1 -1
  3. package/dist/aepp-sdk.browser-script.js.LICENSE.txt +0 -22
  4. package/dist/aepp-sdk.browser-script.js.map +1 -1
  5. package/dist/aepp-sdk.browser.js +2 -1
  6. package/dist/aepp-sdk.browser.js.LICENSE.txt +1 -0
  7. package/dist/aepp-sdk.browser.js.map +1 -1
  8. package/dist/aepp-sdk.js +20765 -1
  9. package/dist/aepp-sdk.js.map +1 -1
  10. package/es/AeSdk.d.ts +37 -0
  11. package/es/AeSdk.mjs +81 -0
  12. package/es/AeSdk.mjs.map +1 -0
  13. package/es/AeSdkAepp.d.ts +70 -0
  14. package/es/AeSdkAepp.mjs +176 -0
  15. package/es/AeSdkAepp.mjs.map +1 -0
  16. package/es/AeSdkBase.d.ts +213 -0
  17. package/es/AeSdkBase.mjs +314 -0
  18. package/es/AeSdkBase.mjs.map +1 -0
  19. package/es/AeSdkWallet.d.ts +104 -0
  20. package/es/AeSdkWallet.mjs +326 -0
  21. package/es/AeSdkWallet.mjs.map +1 -0
  22. package/es/Node.d.ts +41 -0
  23. package/es/Node.mjs +147 -0
  24. package/es/Node.mjs.map +1 -0
  25. package/es/account/Base.d.ts +68 -0
  26. package/es/account/Base.mjs +123 -0
  27. package/es/account/Base.mjs.map +1 -0
  28. package/es/account/Memory.d.ts +26 -0
  29. package/es/account/Memory.mjs +103 -0
  30. package/es/account/Memory.mjs.map +1 -0
  31. package/es/account/Rpc.d.ts +27 -0
  32. package/es/account/Rpc.mjs +80 -0
  33. package/es/account/Rpc.mjs.map +1 -0
  34. package/es/aens.d.ts +222 -0
  35. package/es/aens.mjs +338 -0
  36. package/es/aens.mjs.map +1 -0
  37. package/es/aepp-wallet-communication/connection/Browser.d.ts +33 -0
  38. package/es/aepp-wallet-communication/connection/Browser.mjs +73 -0
  39. package/es/aepp-wallet-communication/connection/Browser.mjs.map +1 -0
  40. package/es/aepp-wallet-communication/connection/BrowserRuntime.d.ts +18 -0
  41. package/es/aepp-wallet-communication/connection/BrowserRuntime.mjs +58 -0
  42. package/es/aepp-wallet-communication/connection/BrowserRuntime.mjs.map +1 -0
  43. package/es/aepp-wallet-communication/connection/BrowserWindowMessage.d.ts +36 -0
  44. package/es/aepp-wallet-communication/connection/BrowserWindowMessage.mjs +146 -0
  45. package/es/aepp-wallet-communication/connection/BrowserWindowMessage.mjs.map +1 -0
  46. package/es/aepp-wallet-communication/connection-proxy.d.ts +11 -0
  47. package/{src/utils/crypto-ts.ts → es/aepp-wallet-communication/connection-proxy.mjs} +16 -11
  48. package/es/aepp-wallet-communication/connection-proxy.mjs.map +1 -0
  49. package/es/aepp-wallet-communication/rpc/RpcClient.d.ts +34 -0
  50. package/es/aepp-wallet-communication/rpc/RpcClient.mjs +169 -0
  51. package/es/aepp-wallet-communication/rpc/RpcClient.mjs.map +1 -0
  52. package/es/aepp-wallet-communication/rpc/types.d.ts +77 -0
  53. package/es/aepp-wallet-communication/rpc/types.mjs +3 -0
  54. package/es/aepp-wallet-communication/rpc/types.mjs.map +1 -0
  55. package/es/aepp-wallet-communication/schema.d.ts +105 -46
  56. package/es/aepp-wallet-communication/schema.mjs +251 -0
  57. package/es/aepp-wallet-communication/schema.mjs.map +1 -0
  58. package/es/aepp-wallet-communication/wallet-detector.d.ts +25 -0
  59. package/es/aepp-wallet-communication/wallet-detector.mjs +62 -0
  60. package/es/aepp-wallet-communication/wallet-detector.mjs.map +1 -0
  61. package/es/apis/compiler/compiler.d.ts +92 -0
  62. package/es/apis/compiler/compiler.mjs +576 -0
  63. package/es/apis/compiler/compiler.mjs.map +1 -0
  64. package/es/apis/compiler/index.d.ts +2 -0
  65. package/es/apis/compiler/index.mjs +3 -0
  66. package/es/apis/compiler/index.mjs.map +1 -0
  67. package/es/apis/compiler/models/index.d.ts +248 -0
  68. package/es/apis/compiler/models/index.mjs +48 -0
  69. package/es/apis/compiler/models/index.mjs.map +1 -0
  70. package/es/apis/compiler/models/mappers.d.ts +23 -0
  71. package/es/apis/compiler/models/mappers.mjs +585 -0
  72. package/es/apis/compiler/models/mappers.mjs.map +1 -0
  73. package/es/apis/compiler/models/parameters.d.ts +13 -0
  74. package/es/apis/compiler/models/parameters.mjs +71 -0
  75. package/es/apis/compiler/models/parameters.mjs.map +1 -0
  76. package/es/apis/node/index.d.ts +2 -0
  77. package/es/apis/node/index.mjs +3 -0
  78. package/es/apis/node/index.mjs.map +1 -0
  79. package/es/apis/node/models/index.d.ts +1065 -0
  80. package/es/apis/node/models/index.mjs +2 -0
  81. package/es/apis/node/models/index.mjs.map +1 -0
  82. package/es/apis/node/models/mappers.d.ts +95 -0
  83. package/es/apis/node/models/mappers.mjs +4166 -0
  84. package/es/apis/node/models/mappers.mjs.map +1 -0
  85. package/es/apis/node/models/parameters.d.ts +17 -0
  86. package/es/apis/node/models/parameters.mjs +165 -0
  87. package/es/apis/node/models/parameters.mjs.map +1 -0
  88. package/es/apis/node/node.d.ts +215 -0
  89. package/es/apis/node/node.mjs +1165 -0
  90. package/es/apis/node/node.mjs.map +1 -0
  91. package/es/chain.d.ts +248 -0
  92. package/es/chain.mjs +560 -0
  93. package/es/chain.mjs.map +1 -0
  94. package/es/channel/handlers.d.ts +34 -0
  95. package/es/channel/handlers.mjs +164 -131
  96. package/es/channel/handlers.mjs.map +1 -1
  97. package/es/channel/index.d.ts +625 -0
  98. package/es/channel/index.mjs +897 -902
  99. package/es/channel/index.mjs.map +1 -1
  100. package/es/channel/internal.d.ts +101 -0
  101. package/es/channel/internal.mjs +136 -85
  102. package/es/channel/internal.mjs.map +1 -1
  103. package/es/contract/Compiler.d.ts +18 -0
  104. package/es/contract/Compiler.mjs +68 -0
  105. package/es/contract/Compiler.mjs.map +1 -0
  106. package/es/contract/aci.d.ts +127 -0
  107. package/es/contract/aci.mjs +225 -193
  108. package/es/contract/aci.mjs.map +1 -1
  109. package/es/contract/ga.d.ts +69 -0
  110. package/es/contract/ga.mjs +195 -0
  111. package/es/contract/ga.mjs.map +1 -0
  112. package/es/contract/methods.d.ts +71 -0
  113. package/es/contract/methods.mjs +104 -0
  114. package/es/contract/methods.mjs.map +1 -0
  115. package/es/deprecated/index.d.ts +143 -0
  116. package/es/deprecated/index.mjs +162 -0
  117. package/es/deprecated/index.mjs.map +1 -0
  118. package/es/deprecated/methods.d.ts +18 -0
  119. package/es/deprecated/methods.mjs +26 -0
  120. package/es/deprecated/methods.mjs.map +1 -0
  121. package/es/index.d.ts +35 -0
  122. package/es/index.mjs +35 -40
  123. package/es/index.mjs.map +1 -1
  124. package/es/oracle.d.ts +161 -0
  125. package/es/oracle.mjs +306 -0
  126. package/es/oracle.mjs.map +1 -0
  127. package/es/spend.d.ts +62 -0
  128. package/es/spend.mjs +111 -0
  129. package/es/spend.mjs.map +1 -0
  130. package/es/tx/builder/address.d.ts +25 -0
  131. package/es/tx/builder/address.mjs +45 -0
  132. package/es/tx/builder/address.mjs.map +1 -0
  133. package/es/tx/builder/constants.d.ts +70 -0
  134. package/es/tx/builder/constants.mjs +61 -47
  135. package/es/tx/builder/constants.mjs.map +1 -1
  136. package/es/tx/builder/field-types/coin-amount.d.ts +13 -0
  137. package/es/tx/builder/field-types/coin-amount.mjs +26 -0
  138. package/es/tx/builder/field-types/coin-amount.mjs.map +1 -0
  139. package/es/tx/builder/field-types/deposit.d.ts +15 -0
  140. package/es/tx/builder/field-types/deposit.mjs +19 -0
  141. package/es/tx/builder/field-types/deposit.mjs.map +1 -0
  142. package/es/tx/builder/field-types/fee.d.ts +25 -0
  143. package/es/tx/builder/field-types/fee.mjs +150 -0
  144. package/es/tx/builder/field-types/fee.mjs.map +1 -0
  145. package/es/tx/builder/field-types/field.d.ts +6 -0
  146. package/es/tx/builder/field-types/field.mjs +15 -0
  147. package/es/tx/builder/field-types/field.mjs.map +1 -0
  148. package/es/tx/builder/field-types/gas-limit.d.ts +12 -0
  149. package/es/tx/builder/field-types/gas-limit.mjs +33 -0
  150. package/es/tx/builder/field-types/gas-limit.mjs.map +1 -0
  151. package/es/tx/builder/field-types/gas-price.d.ts +8 -0
  152. package/es/tx/builder/field-types/gas-price.mjs +18 -0
  153. package/es/tx/builder/field-types/gas-price.mjs.map +1 -0
  154. package/es/tx/builder/field-types/index.d.ts +70 -0
  155. package/es/tx/builder/field-types/index.mjs +25 -0
  156. package/es/tx/builder/field-types/index.mjs.map +1 -0
  157. package/es/tx/builder/field-types/name-fee.d.ts +20 -0
  158. package/es/tx/builder/field-types/name-fee.mjs +24 -0
  159. package/es/tx/builder/field-types/name-fee.mjs.map +1 -0
  160. package/es/tx/builder/field-types/name-id.d.ts +14 -0
  161. package/es/tx/builder/field-types/name-id.mjs +19 -0
  162. package/es/tx/builder/field-types/name-id.mjs.map +1 -0
  163. package/es/tx/builder/field-types/name.d.ts +13 -0
  164. package/es/tx/builder/field-types/name.mjs +18 -0
  165. package/es/tx/builder/field-types/name.mjs.map +1 -0
  166. package/es/tx/builder/field-types/short-u-int.d.ts +6 -0
  167. package/es/tx/builder/field-types/short-u-int.mjs +12 -0
  168. package/es/tx/builder/field-types/short-u-int.mjs.map +1 -0
  169. package/es/tx/builder/field-types/u-int.d.ts +8 -0
  170. package/es/tx/builder/field-types/u-int.mjs +14 -0
  171. package/es/tx/builder/field-types/u-int.mjs.map +1 -0
  172. package/es/tx/builder/helpers.d.ts +125 -0
  173. package/es/tx/builder/helpers.mjs +94 -198
  174. package/es/tx/builder/helpers.mjs.map +1 -1
  175. package/es/tx/builder/index.d.ts +88 -0
  176. package/es/tx/builder/index.mjs +167 -358
  177. package/es/tx/builder/index.mjs.map +1 -1
  178. package/es/tx/builder/schema.d.ts +1201 -0
  179. package/es/tx/builder/schema.mjs +175 -561
  180. package/es/tx/builder/schema.mjs.map +1 -1
  181. package/es/tx/index.d.ts +64 -0
  182. package/es/tx/index.mjs +151 -265
  183. package/es/tx/index.mjs.map +1 -1
  184. package/es/tx/validator.d.ts +20 -0
  185. package/es/tx/validator.mjs +104 -124
  186. package/es/tx/validator.mjs.map +1 -1
  187. package/es/typings/@aeternity__argon2-browser/index.d.mjs +2 -0
  188. package/es/typings/@aeternity__argon2-browser/index.d.mjs.map +1 -0
  189. package/es/typings/@aeternity__uuid/index.d.mjs +2 -0
  190. package/es/typings/@aeternity__uuid/index.d.mjs.map +1 -0
  191. package/es/typings/bip32-path/index.d.mjs +2 -0
  192. package/es/typings/bip32-path/index.d.mjs.map +1 -0
  193. package/es/typings/blakejs/index.d.mjs.map +1 -1
  194. package/es/typings/sha-js/index.d.mjs +2 -0
  195. package/es/typings/sha-js/index.d.mjs.map +1 -0
  196. package/es/typings/tweetnacl-auth/index.d.mjs +2 -0
  197. package/es/typings/tweetnacl-auth/index.d.mjs.map +1 -0
  198. package/es/utils/amount-formatter.d.ts +42 -0
  199. package/es/utils/amount-formatter.mjs +36 -49
  200. package/es/utils/amount-formatter.mjs.map +1 -1
  201. package/es/utils/autorest.d.ts +6 -0
  202. package/es/utils/autorest.mjs +97 -0
  203. package/es/utils/autorest.mjs.map +1 -0
  204. package/es/utils/bignumber.d.ts +13 -0
  205. package/es/utils/bignumber.mjs +11 -8
  206. package/es/utils/bignumber.mjs.map +1 -1
  207. package/es/{bytes.d.ts → utils/bytes.d.ts} +10 -13
  208. package/es/utils/bytes.mjs +11 -15
  209. package/es/utils/bytes.mjs.map +1 -1
  210. package/es/utils/crypto.d.ts +88 -0
  211. package/es/utils/crypto.mjs +64 -98
  212. package/es/utils/crypto.mjs.map +1 -1
  213. package/es/utils/encoder-types.d.ts +61 -0
  214. package/es/utils/encoder-types.mjs +36 -0
  215. package/es/utils/encoder-types.mjs.map +1 -0
  216. package/es/utils/encoder.d.ts +25 -0
  217. package/es/utils/encoder.mjs +71 -59
  218. package/es/utils/encoder.mjs.map +1 -1
  219. package/es/{errors.d.ts → utils/errors.d.ts} +246 -59
  220. package/es/utils/errors.mjs +313 -136
  221. package/es/utils/errors.mjs.map +1 -1
  222. package/es/utils/hd-wallet.d.ts +50 -0
  223. package/es/utils/hd-wallet.mjs +86 -45
  224. package/es/utils/hd-wallet.mjs.map +1 -1
  225. package/es/utils/json-big.d.ts +5 -0
  226. package/es/utils/json-big.mjs +12 -16
  227. package/es/utils/json-big.mjs.map +1 -1
  228. package/es/utils/keystore.d.ts +51 -0
  229. package/es/utils/keystore.mjs +101 -194
  230. package/es/utils/keystore.mjs.map +1 -1
  231. package/es/{mptree.d.ts → utils/mptree.d.ts} +6 -9
  232. package/es/utils/mptree.mjs +22 -18
  233. package/es/utils/mptree.mjs.map +1 -1
  234. package/es/utils/other.d.ts +20 -0
  235. package/es/utils/other.mjs +32 -35
  236. package/es/utils/other.mjs.map +1 -1
  237. package/es/utils/semver-satisfies.d.ts +1 -0
  238. package/es/utils/semver-satisfies.mjs +2 -2
  239. package/es/utils/semver-satisfies.mjs.map +1 -1
  240. package/es/utils/string.d.ts +24 -0
  241. package/es/utils/string.mjs +8 -10
  242. package/es/utils/string.mjs.map +1 -1
  243. package/package.json +55 -43
  244. package/src/AeSdk.ts +68 -0
  245. package/src/AeSdkAepp.ts +176 -0
  246. package/src/AeSdkBase.ts +338 -0
  247. package/src/AeSdkWallet.ts +348 -0
  248. package/src/Node.ts +173 -0
  249. package/src/account/Base.ts +124 -0
  250. package/src/account/Memory.ts +98 -0
  251. package/src/account/Rpc.ts +69 -0
  252. package/src/aens.ts +407 -0
  253. package/src/aepp-wallet-communication/connection/Browser.ts +71 -0
  254. package/src/aepp-wallet-communication/connection/BrowserRuntime.ts +59 -0
  255. package/src/aepp-wallet-communication/connection/BrowserWindowMessage.ts +122 -0
  256. package/{es/utils/crypto-ts.mjs → src/aepp-wallet-communication/connection-proxy.ts} +18 -18
  257. package/src/aepp-wallet-communication/rpc/RpcClient.ts +143 -0
  258. package/src/aepp-wallet-communication/rpc/types.ts +66 -0
  259. package/src/aepp-wallet-communication/schema.ts +224 -0
  260. package/src/aepp-wallet-communication/wallet-detector.ts +72 -0
  261. package/src/apis/compiler/code-model-v4.yaml +2649 -0
  262. package/src/apis/compiler/compiler.ts +585 -0
  263. package/src/apis/compiler/index.ts +2 -0
  264. package/src/apis/compiler/models/index.ts +301 -0
  265. package/src/apis/compiler/models/mappers.ts +583 -0
  266. package/src/apis/compiler/models/parameters.ts +93 -0
  267. package/src/apis/node/code-model-v4.yaml +10080 -0
  268. package/src/apis/node/index.ts +2 -0
  269. package/src/apis/node/models/index.ts +1257 -0
  270. package/src/apis/node/models/mappers.ts +4280 -0
  271. package/src/apis/node/models/parameters.ts +188 -0
  272. package/src/apis/node/node.ts +1299 -0
  273. package/src/chain.ts +502 -0
  274. package/src/channel/handlers.ts +817 -0
  275. package/src/channel/index.ts +1025 -0
  276. package/src/channel/internal.ts +361 -0
  277. package/src/contract/Compiler.ts +67 -0
  278. package/src/contract/aci.ts +538 -0
  279. package/src/contract/ga.ts +199 -0
  280. package/src/contract/methods.ts +123 -0
  281. package/src/deprecated/index.ts +172 -0
  282. package/src/deprecated/methods.ts +25 -0
  283. package/src/index.ts +56 -0
  284. package/src/oracle.ts +364 -0
  285. package/src/spend.ts +164 -0
  286. package/src/tx/builder/address.ts +50 -0
  287. package/src/tx/builder/constants.ts +126 -0
  288. package/src/tx/builder/field-types/coin-amount.ts +27 -0
  289. package/src/tx/builder/field-types/deposit.ts +21 -0
  290. package/src/tx/builder/field-types/fee.ts +143 -0
  291. package/src/tx/builder/field-types/field.ts +9 -0
  292. package/src/tx/builder/field-types/gas-limit.ts +41 -0
  293. package/src/tx/builder/field-types/gas-price.ts +16 -0
  294. package/src/tx/builder/field-types/index.ts +45 -0
  295. package/src/tx/builder/field-types/name-fee.ts +32 -0
  296. package/src/tx/builder/field-types/name-id.ts +20 -0
  297. package/src/tx/builder/field-types/name.ts +18 -0
  298. package/src/tx/builder/field-types/short-u-int.ts +11 -0
  299. package/src/tx/builder/field-types/u-int.ts +16 -0
  300. package/src/tx/builder/helpers.ts +248 -0
  301. package/src/tx/builder/index.ts +400 -0
  302. package/src/tx/builder/schema.ts +727 -0
  303. package/src/tx/index.ts +192 -0
  304. package/src/tx/validator.ts +230 -0
  305. package/src/typings/@aeternity__argon2-browser/index.d.ts +3 -0
  306. package/src/typings/@aeternity__uuid/index.d.ts +5 -0
  307. package/src/typings/bip32-path/index.d.ts +33 -0
  308. package/src/typings/blakejs/index.d.ts +4 -32
  309. package/src/typings/sha-js/index.d.ts +5 -0
  310. package/src/typings/tweetnacl-auth/index.d.ts +14 -0
  311. package/src/utils/amount-formatter.ts +56 -69
  312. package/src/utils/autorest.ts +93 -0
  313. package/src/utils/bignumber.ts +11 -12
  314. package/src/utils/bytes.ts +29 -31
  315. package/src/utils/crypto.ts +205 -0
  316. package/src/utils/encoder-types.ts +63 -0
  317. package/src/utils/encoder.ts +116 -71
  318. package/src/utils/errors.ts +482 -366
  319. package/src/utils/hd-wallet.ts +166 -0
  320. package/src/utils/json-big.ts +27 -0
  321. package/src/utils/keystore.ts +182 -0
  322. package/src/utils/mptree.ts +64 -61
  323. package/src/utils/other.ts +34 -41
  324. package/src/utils/semver-satisfies.ts +15 -11
  325. package/src/utils/string.ts +18 -20
  326. package/es/account/base.mjs +0 -179
  327. package/es/account/base.mjs.map +0 -1
  328. package/es/account/memory.mjs +0 -99
  329. package/es/account/memory.mjs.map +0 -1
  330. package/es/account/multiple.mjs +0 -179
  331. package/es/account/multiple.mjs.map +0 -1
  332. package/es/ae/aens.mjs +0 -404
  333. package/es/ae/aens.mjs.map +0 -1
  334. package/es/ae/aepp.mjs +0 -45
  335. package/es/ae/aepp.mjs.map +0 -1
  336. package/es/ae/contract.mjs +0 -159
  337. package/es/ae/contract.mjs.map +0 -1
  338. package/es/ae/index.mjs +0 -207
  339. package/es/ae/index.mjs.map +0 -1
  340. package/es/ae/oracle.mjs +0 -339
  341. package/es/ae/oracle.mjs.map +0 -1
  342. package/es/ae/universal.mjs +0 -45
  343. package/es/ae/universal.mjs.map +0 -1
  344. package/es/ae/wallet.mjs +0 -50
  345. package/es/ae/wallet.mjs.map +0 -1
  346. package/es/amount-formatter.d.ts +0 -58
  347. package/es/bignumber.d.ts +0 -18
  348. package/es/chain/index.mjs +0 -272
  349. package/es/chain/index.mjs.map +0 -1
  350. package/es/chain/node.mjs +0 -442
  351. package/es/chain/node.mjs.map +0 -1
  352. package/es/contract/compiler.mjs +0 -115
  353. package/es/contract/compiler.mjs.map +0 -1
  354. package/es/contract/ga/helpers.mjs +0 -30
  355. package/es/contract/ga/helpers.mjs.map +0 -1
  356. package/es/contract/ga/index.mjs +0 -178
  357. package/es/contract/ga/index.mjs.map +0 -1
  358. package/es/crypto-ts.d.ts +0 -9
  359. package/es/encoder.d.ts +0 -26
  360. package/es/node-pool/index.mjs +0 -188
  361. package/es/node-pool/index.mjs.map +0 -1
  362. package/es/node.mjs +0 -133
  363. package/es/node.mjs.map +0 -1
  364. package/es/other.d.ts +0 -31
  365. package/es/semver-satisfies.d.ts +0 -1
  366. package/es/string.d.ts +0 -26
  367. package/es/tx/builder/field-types.mjs +0 -74
  368. package/es/tx/builder/field-types.mjs.map +0 -1
  369. package/es/tx/tx-object.mjs +0 -283
  370. package/es/tx/tx-object.mjs.map +0 -1
  371. package/es/tx/tx.mjs +0 -938
  372. package/es/tx/tx.mjs.map +0 -1
  373. package/es/utils/aepp-wallet-communication/connection/browser-runtime.mjs +0 -132
  374. package/es/utils/aepp-wallet-communication/connection/browser-runtime.mjs.map +0 -1
  375. package/es/utils/aepp-wallet-communication/connection/browser-window-message.mjs +0 -183
  376. package/es/utils/aepp-wallet-communication/connection/browser-window-message.mjs.map +0 -1
  377. package/es/utils/aepp-wallet-communication/connection/index.mjs +0 -87
  378. package/es/utils/aepp-wallet-communication/connection/index.mjs.map +0 -1
  379. package/es/utils/aepp-wallet-communication/content-script-bridge.mjs +0 -98
  380. package/es/utils/aepp-wallet-communication/content-script-bridge.mjs.map +0 -1
  381. package/es/utils/aepp-wallet-communication/helpers.mjs +0 -92
  382. package/es/utils/aepp-wallet-communication/helpers.mjs.map +0 -1
  383. package/es/utils/aepp-wallet-communication/rpc/aepp-rpc.mjs +0 -375
  384. package/es/utils/aepp-wallet-communication/rpc/aepp-rpc.mjs.map +0 -1
  385. package/es/utils/aepp-wallet-communication/rpc/rpc-client.mjs +0 -275
  386. package/es/utils/aepp-wallet-communication/rpc/rpc-client.mjs.map +0 -1
  387. package/es/utils/aepp-wallet-communication/rpc/wallet-rpc.mjs +0 -541
  388. package/es/utils/aepp-wallet-communication/rpc/wallet-rpc.mjs.map +0 -1
  389. package/es/utils/aepp-wallet-communication/schema.mjs +0 -102
  390. package/es/utils/aepp-wallet-communication/schema.mjs.map +0 -1
  391. package/es/utils/aepp-wallet-communication/wallet-detector.mjs +0 -110
  392. package/es/utils/aepp-wallet-communication/wallet-detector.mjs.map +0 -1
  393. package/es/utils/async-init.mjs +0 -64
  394. package/es/utils/async-init.mjs.map +0 -1
  395. package/es/utils/crypto-ts.mjs.map +0 -1
  396. package/es/utils/swagger.mjs +0 -164
  397. package/es/utils/swagger.mjs.map +0 -1
  398. package/src/account/base.js +0 -153
  399. package/src/account/memory.js +0 -83
  400. package/src/account/multiple.js +0 -162
  401. package/src/ae/aens.js +0 -361
  402. package/src/ae/aepp.js +0 -45
  403. package/src/ae/contract.js +0 -148
  404. package/src/ae/index.js +0 -168
  405. package/src/ae/oracle.js +0 -311
  406. package/src/ae/universal.js +0 -47
  407. package/src/ae/wallet.js +0 -50
  408. package/src/chain/index.js +0 -269
  409. package/src/chain/node.js +0 -320
  410. package/src/channel/handlers.js +0 -673
  411. package/src/channel/index.js +0 -903
  412. package/src/channel/internal.js +0 -236
  413. package/src/contract/aci.js +0 -376
  414. package/src/contract/compiler.js +0 -100
  415. package/src/contract/ga/helpers.js +0 -19
  416. package/src/contract/ga/index.js +0 -150
  417. package/src/index.js +0 -89
  418. package/src/node-pool/index.js +0 -172
  419. package/src/node.js +0 -116
  420. package/src/tx/builder/constants.js +0 -100
  421. package/src/tx/builder/field-types.js +0 -61
  422. package/src/tx/builder/helpers.js +0 -334
  423. package/src/tx/builder/index.js +0 -465
  424. package/src/tx/builder/schema.js +0 -1100
  425. package/src/tx/index.js +0 -301
  426. package/src/tx/tx-object.js +0 -187
  427. package/src/tx/tx.js +0 -631
  428. package/src/tx/validator.js +0 -181
  429. package/src/utils/aepp-wallet-communication/connection/browser-runtime.js +0 -119
  430. package/src/utils/aepp-wallet-communication/connection/browser-window-message.js +0 -165
  431. package/src/utils/aepp-wallet-communication/connection/index.js +0 -85
  432. package/src/utils/aepp-wallet-communication/content-script-bridge.js +0 -86
  433. package/src/utils/aepp-wallet-communication/helpers.js +0 -60
  434. package/src/utils/aepp-wallet-communication/rpc/aepp-rpc.js +0 -294
  435. package/src/utils/aepp-wallet-communication/rpc/rpc-client.js +0 -232
  436. package/src/utils/aepp-wallet-communication/rpc/wallet-rpc.js +0 -401
  437. package/src/utils/aepp-wallet-communication/schema.ts +0 -80
  438. package/src/utils/aepp-wallet-communication/wallet-detector.js +0 -92
  439. package/src/utils/async-init.js +0 -45
  440. package/src/utils/crypto.js +0 -219
  441. package/src/utils/hd-wallet.js +0 -100
  442. package/src/utils/json-big.js +0 -26
  443. package/src/utils/keystore.js +0 -219
  444. package/src/utils/swagger.js +0 -156
package/src/Node.ts ADDED
@@ -0,0 +1,173 @@
1
+ // eslint-disable-next-line max-classes-per-file
2
+ import BigNumber from 'bignumber.js';
3
+ import { OperationArguments, OperationSpec } from '@azure/core-client';
4
+ import {
5
+ genRequestQueuesPolicy, genCombineGetRequestsPolicy, genErrorFormatterPolicy,
6
+ genVersionCheckPolicy,
7
+ } from './utils/autorest';
8
+ import { Node as NodeApi, NodeOptionalParams, ErrorModel } from './apis/node';
9
+ import { mapObject } from './utils/other';
10
+ import { Encoded } from './utils/encoder';
11
+ import { MissingParamError } from './utils/errors';
12
+
13
+ /**
14
+ * Obtain networkId from account or node
15
+ */
16
+ export async function getNetworkId({ networkId }: { networkId?: string } = {}): Promise<string> {
17
+ const res = networkId ?? this.networkId ?? (await this.api?.getStatus())?.networkId;
18
+ if (res != null) return res;
19
+ throw new MissingParamError('networkId is not provided');
20
+ }
21
+
22
+ const bigIntPropertyNames = [
23
+ 'balance', 'queryFee', 'fee', 'amount', 'nameFee', 'channelAmount',
24
+ 'initiatorAmount', 'responderAmount', 'channelReserve', 'initiatorAmountFinal',
25
+ 'responderAmountFinal', 'gasPrice', 'deposit',
26
+ ] as const;
27
+
28
+ const numberPropertyNames = [
29
+ 'time', 'gas', 'gasUsed', 'nameSalt',
30
+ 'nonce', 'nextNonce', 'height', 'blockHeight', 'top', 'topBlockHeight',
31
+ 'ttl', 'nameTtl', 'clientTtl',
32
+ 'inbound', 'outbound', 'peerCount', 'pendingTransactionsCount', 'effectiveAtHeight',
33
+ 'version', 'solutions', 'round',
34
+ ] as const;
35
+
36
+ class NodeTransformed extends NodeApi {
37
+ async sendOperationRequest(
38
+ operationArguments: OperationArguments,
39
+ operationSpec: OperationSpec,
40
+ ): Promise<any> {
41
+ const args = mapObject(
42
+ operationArguments,
43
+ ([key, value]) => [key, this.#encodeArg(value)],
44
+ ) as OperationArguments;
45
+ return this.#decodeRes(await super.sendOperationRequest(args, operationSpec));
46
+ }
47
+
48
+ #mapData(data: any, transform: {
49
+ bigInt: (v: any) => any;
50
+ number: (v: any) => any;
51
+ }): unknown {
52
+ if (Array.isArray(data)) return data.map((d) => this.#mapData(d, transform));
53
+ if (data != null && typeof data === 'object') {
54
+ return mapObject(data, ([key, value]) => {
55
+ if (value == null) return [key, value];
56
+ if (bigIntPropertyNames.some((k) => k === key)) return [key, transform.bigInt(value)];
57
+ if (numberPropertyNames.some((k) => k === key)) return [key, transform.number(value)];
58
+ return [key, this.#mapData(value, transform)];
59
+ });
60
+ }
61
+ return data;
62
+ }
63
+
64
+ #encodeArg(data: any): any {
65
+ return this.#mapData(data, {
66
+ bigInt: (value) => {
67
+ if (value instanceof BigNumber) return value.toFixed();
68
+ return value.toString();
69
+ },
70
+ number: (value) => value.toString(),
71
+ });
72
+ }
73
+
74
+ #decodeRes(data: any): any {
75
+ return this.#mapData(data, {
76
+ bigInt: (value) => BigInt(value),
77
+ number: (value) => +value,
78
+ });
79
+ }
80
+ }
81
+
82
+ type BigIntPropertyNames = typeof bigIntPropertyNames[number];
83
+ type NumberPropertyNames = typeof numberPropertyNames[number];
84
+ type PreserveOptional<NewType, OrigType> =
85
+ OrigType extends undefined ? NewType | undefined : NewType;
86
+ export type TransformNodeType<Type> =
87
+ Type extends (...args: infer Args) => infer Ret
88
+ ? (...args: TransformNodeType<Args>) => TransformNodeType<Ret>
89
+ : Type extends [infer Item, ...infer Rest]
90
+ ? [TransformNodeType<Item>, ...TransformNodeType<Rest>]
91
+ : Type extends Array<infer Item>
92
+ ? Array<TransformNodeType<Item>>
93
+ : Type extends Promise<infer T>
94
+ ? Promise<TransformNodeType<T>>
95
+ : Type extends { [P in any]: any }
96
+ ? {
97
+ [Property in keyof Type]:
98
+ Property extends BigIntPropertyNames
99
+ ? PreserveOptional<bigint, Type[Property]>
100
+ : Property extends NumberPropertyNames
101
+ ? PreserveOptional<number, Type[Property]>
102
+ : Property extends 'txHash'
103
+ ? PreserveOptional<Encoded.TxHash, Type[Property]>
104
+ : TransformNodeType<Type[Property]>
105
+ }
106
+ : Type;
107
+ type NodeTransformedApi = new (...args: ConstructorParameters<typeof NodeApi>) => {
108
+ [Name in keyof InstanceType<typeof NodeApi>]:
109
+ Name extends 'pipeline' | 'sendRequest' | 'sendOperationRequest'
110
+ ? NodeApi[Name] : TransformNodeType<NodeApi[Name]>
111
+ };
112
+
113
+ export interface NodeInfo {
114
+ url: string;
115
+ nodeNetworkId: string;
116
+ version: string;
117
+ consensusProtocolVersion: number;
118
+ }
119
+
120
+ export default class Node extends (NodeTransformed as unknown as NodeTransformedApi) {
121
+ url: string;
122
+
123
+ /**
124
+ * @param url - Url for node API
125
+ * @param options - Options
126
+ * @param options.ignoreVersion - Don't check node version
127
+ */
128
+ constructor(
129
+ url: string,
130
+ { ignoreVersion = false, ...options }: NodeOptionalParams & { ignoreVersion?: boolean } = {},
131
+ ) {
132
+ // eslint-disable-next-line constructor-super
133
+ super(url, {
134
+ allowInsecureConnection: true,
135
+ additionalPolicies: [
136
+ genRequestQueuesPolicy(),
137
+ genCombineGetRequestsPolicy(),
138
+ genErrorFormatterPolicy((body: ErrorModel) => ` ${body.reason}`),
139
+ ],
140
+ ...options,
141
+ });
142
+ this.url = url;
143
+ if (!ignoreVersion) {
144
+ const versionPromise = this.getStatus().then(({ nodeVersion }) => nodeVersion);
145
+ this.pipeline.addPolicy(
146
+ genVersionCheckPolicy('node', '/v3/status', versionPromise, '6.2.0', '7.0.0'),
147
+ );
148
+ }
149
+ this.intAsString = true;
150
+ }
151
+
152
+ async getNodeInfo(): Promise<NodeInfo> {
153
+ const {
154
+ nodeVersion: version,
155
+ networkId: nodeNetworkId,
156
+ protocols,
157
+ topBlockHeight,
158
+ } = await this.getStatus();
159
+ const consensusProtocolVersion = protocols
160
+ .filter(({ effectiveAtHeight }) => topBlockHeight >= effectiveAtHeight)
161
+ .reduce(
162
+ (acc, p) => (p.effectiveAtHeight > acc.effectiveAtHeight ? p : acc),
163
+ { effectiveAtHeight: -1, version: 0 },
164
+ )
165
+ .version;
166
+ return {
167
+ url: this.url,
168
+ nodeNetworkId,
169
+ version,
170
+ consensusProtocolVersion,
171
+ };
172
+ }
173
+ }
@@ -0,0 +1,124 @@
1
+ /*
2
+ * ISC License (ISC)
3
+ * Copyright (c) 2022 aeternity developers
4
+ *
5
+ * Permission to use, copy, modify, and/or distribute this software for any
6
+ * purpose with or without fee is hereby granted, provided that the above
7
+ * copyright notice and this permission notice appear in all copies.
8
+ *
9
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
10
+ * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
11
+ * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
12
+ * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
13
+ * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
14
+ * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
15
+ * PERFORMANCE OF THIS SOFTWARE.
16
+ */
17
+ import { messageToHash, verifyMessage as verifyMessageCrypto, hash } from '../utils/crypto';
18
+ import { buildTx } from '../tx/builder';
19
+ import { decode, Encoded } from '../utils/encoder';
20
+ import { Tag } from '../tx/builder/constants';
21
+ import { getNetworkId } from '../Node';
22
+ import { concatBuffers } from '../utils/other';
23
+ import type { createMetaTx } from '../contract/ga';
24
+
25
+ /**
26
+ * Check is provided object looks like an instance of AccountBase
27
+ * @param acc - Object to check
28
+ */
29
+ export const isAccountBase = (acc: AccountBase | any): boolean => (
30
+ !['sign', 'address', 'signTransaction', 'signMessage'].some((f) => typeof acc[f] !== 'function')
31
+ );
32
+
33
+ /**
34
+ * Account is one of the three basic building blocks of an
35
+ * {@link AeSdk} and provides access to a signing key pair.
36
+ */
37
+ export default abstract class AccountBase {
38
+ networkId?: string;
39
+
40
+ /**
41
+ * @param options - Options
42
+ * @param options.networkId - Using for signing transactions
43
+ */
44
+ constructor({ networkId }: { networkId?: string } = {}) {
45
+ this.networkId ??= networkId;
46
+ }
47
+
48
+ /**
49
+ * Sign encoded transaction
50
+ * @param tx - Transaction to sign
51
+ * @param opt - Options
52
+ * @param opt.innerTx - Sign as inner transaction for PayingFor
53
+ * @returns Signed transaction
54
+ */
55
+ async signTransaction(
56
+ tx: Encoded.Transaction,
57
+ { innerTx, networkId, ...options }: {
58
+ innerTx?: boolean;
59
+ networkId?: string;
60
+ authData?: Parameters<typeof createMetaTx>[1];
61
+ authFun?: Parameters<typeof createMetaTx>[2];
62
+ } & Omit<Partial<Parameters<typeof createMetaTx>[3]>, 'onAccount'> = {},
63
+ ): Promise<Encoded.Transaction> {
64
+ const prefixes = [await this.getNetworkId({ networkId })];
65
+ if (innerTx === true) prefixes.push('inner_tx');
66
+ const rlpBinaryTx = decode(tx);
67
+ const txWithNetworkId = concatBuffers([Buffer.from(prefixes.join('-')), hash(rlpBinaryTx)]);
68
+
69
+ const signatures = [await this.sign(txWithNetworkId, options)];
70
+ return buildTx({ encodedTx: rlpBinaryTx, signatures }, Tag.SignedTx).tx;
71
+ }
72
+
73
+ /**
74
+ * Get network Id
75
+ * @returns Network Id
76
+ */
77
+ readonly getNetworkId = getNetworkId;
78
+
79
+ /**
80
+ * Sign message
81
+ * @param message - Message to sign
82
+ * @param opt - Options
83
+ * @returns Signature as hex string of Uint8Array
84
+ */
85
+ async signMessage(
86
+ message: string,
87
+ { returnHex = false, ...options }: { returnHex?: boolean } = {},
88
+ ): Promise<string | Uint8Array> {
89
+ const sig = await this.sign(messageToHash(message), options);
90
+ return returnHex ? Buffer.from(sig).toString('hex') : sig;
91
+ }
92
+
93
+ /**
94
+ * Verify message
95
+ * @param message - Message to verify
96
+ * @param signature - Signature
97
+ * @param options - Options
98
+ */
99
+ async verifyMessage(
100
+ message: string,
101
+ signature: string | Uint8Array,
102
+ options?: object,
103
+ ): Promise<boolean> {
104
+ return verifyMessageCrypto(
105
+ message,
106
+ typeof signature === 'string' ? Buffer.from(signature, 'hex') : signature,
107
+ decode(await this.address(options)),
108
+ );
109
+ }
110
+
111
+ /**
112
+ * Sign data blob
113
+ * @param data - Data blob to sign
114
+ * @param options - Options
115
+ * @returns Signed data blob
116
+ */
117
+ abstract sign(data: string | Uint8Array, options?: any): Promise<Uint8Array>;
118
+
119
+ /**
120
+ * Obtain account address
121
+ * @returns Public account address
122
+ */
123
+ abstract address(opt?: object): Promise<Encoded.AccountAddress>;
124
+ }
@@ -0,0 +1,98 @@
1
+ /*
2
+ * ISC License (ISC)
3
+ * Copyright (c) 2018 aeternity developers
4
+ *
5
+ * Permission to use, copy, modify, and/or distribute this software for any
6
+ * purpose with or without fee is hereby granted, provided that the above
7
+ * copyright notice and this permission notice appear in all copies.
8
+ *
9
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
10
+ * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
11
+ * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
12
+ * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
13
+ * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
14
+ * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
15
+ * PERFORMANCE OF THIS SOFTWARE.
16
+ */
17
+ import AccountBase from './Base';
18
+ import { sign, isValidKeypair } from '../utils/crypto';
19
+ import { isHex } from '../utils/string';
20
+ import { ArgumentError, InvalidKeypairError, MissingParamError } from '../utils/errors';
21
+ import { decode, Encoded } from '../utils/encoder';
22
+ import { createMetaTx } from '../contract/ga';
23
+
24
+ const secrets = new WeakMap();
25
+
26
+ export interface Keypair {
27
+ publicKey: Encoded.AccountAddress;
28
+ secretKey: string | Uint8Array;
29
+ }
30
+
31
+ /**
32
+ * In-memory account class
33
+ */
34
+ export default class AccountMemory extends AccountBase {
35
+ isGa: boolean;
36
+
37
+ /**
38
+ * @param options - Options
39
+ * @param options.keypair - Key pair to use
40
+ * @param options.keypair.publicKey - Public key
41
+ * @param options.keypair.secretKey - Private key
42
+ * @param options.gaId - Address of generalized account
43
+ */
44
+ constructor(
45
+ { keypair, gaId, ...options }: { keypair?: Keypair; gaId?: Encoded.AccountAddress }
46
+ & ConstructorParameters<typeof AccountBase>[0],
47
+ ) {
48
+ super(options);
49
+
50
+ this.isGa = gaId != null;
51
+ if (this.isGa && gaId != null) {
52
+ decode(gaId);
53
+ secrets.set(this, { publicKey: gaId });
54
+ return;
55
+ }
56
+
57
+ if (keypair == null) throw new MissingParamError('Either gaId or keypair is required');
58
+
59
+ if (
60
+ !Buffer.isBuffer(keypair.secretKey)
61
+ && typeof keypair.secretKey === 'string' && !isHex(keypair.secretKey)
62
+ ) throw new InvalidKeypairError('Secret key must be hex string or Buffer');
63
+ const secretKey = typeof keypair.secretKey === 'string'
64
+ ? Buffer.from(keypair.secretKey, 'hex')
65
+ : keypair.secretKey;
66
+ if (!isValidKeypair(secretKey, decode(keypair.publicKey))) {
67
+ throw new InvalidKeypairError('Invalid Key Pair');
68
+ }
69
+
70
+ secrets.set(this, {
71
+ secretKey,
72
+ publicKey: keypair.publicKey,
73
+ });
74
+ }
75
+
76
+ async sign(data: string | Uint8Array): Promise<Uint8Array> {
77
+ if (this.isGa) throw new InvalidKeypairError('You are trying to sign data using generalized account without keypair');
78
+ return sign(data, secrets.get(this).secretKey);
79
+ }
80
+
81
+ async signTransaction(
82
+ tx: Encoded.Transaction,
83
+ options: Parameters<AccountBase['signTransaction']>[1] = {},
84
+ ): Promise<Encoded.Transaction> {
85
+ if (!this.isGa || options.innerTx === true) return super.signTransaction(tx, options);
86
+ const {
87
+ authData, authFun, onCompiler, onNode,
88
+ } = options;
89
+ if (authFun == null || authData == null || onCompiler == null || onNode == null) {
90
+ throw new ArgumentError('authData, authFun, onCompiler, onNode', 'provided', null);
91
+ }
92
+ return createMetaTx(tx, authData, authFun, { onCompiler, onNode, onAccount: this });
93
+ }
94
+
95
+ async address(): Promise<Encoded.AccountAddress> {
96
+ return secrets.get(this).publicKey;
97
+ }
98
+ }
@@ -0,0 +1,69 @@
1
+ import AccountBase from './Base';
2
+ import { METHODS } from '../aepp-wallet-communication/schema';
3
+ import { NotImplementedError } from '../utils/errors';
4
+ import { Encoded } from '../utils/encoder';
5
+
6
+ /**
7
+ * Account provided by wallet
8
+ * @param params - Params
9
+ * @param params.rpcClient - RpcClient instance
10
+ * @param params.address - RPC account address
11
+ * @returns AccountRpc instance
12
+ */
13
+ export default class AccountRpc extends AccountBase {
14
+ _rpcClient: any;
15
+
16
+ _address: Encoded.AccountAddress;
17
+
18
+ constructor(
19
+ { rpcClient, address, ...options }: { rpcClient: any; address: Encoded.AccountAddress }
20
+ & ConstructorParameters<typeof AccountBase>[0],
21
+ ) {
22
+ super(options);
23
+ this._rpcClient = rpcClient;
24
+ this._address = address;
25
+ }
26
+
27
+ // eslint-disable-next-line class-methods-use-this
28
+ async sign(): Promise<Uint8Array> {
29
+ throw new NotImplementedError('RAW signing using wallet');
30
+ }
31
+
32
+ async address(): Promise<Encoded.AccountAddress> {
33
+ return this._address;
34
+ }
35
+
36
+ /**
37
+ * @returns Signed transaction
38
+ */
39
+ async signTransaction(
40
+ tx: Encoded.Transaction,
41
+ { innerTx, networkId }: Parameters<AccountBase['signTransaction']>[1] = {},
42
+ ): Promise<Encoded.Transaction> {
43
+ if (innerTx != null) throw new NotImplementedError('innerTx option in AccountRpc');
44
+ const res = await this._rpcClient.request(METHODS.sign, {
45
+ onAccount: this._address,
46
+ tx,
47
+ returnSigned: true,
48
+ /**
49
+ * @deprecated Wallet provided networkId will be used (current network)
50
+ * required to maintain backward compatibility with wallets using SDK v11.0.1 and below
51
+ * @see {@link https://github.com/aeternity/aepp-sdk-js/commit/153fd89a52c4eab39fcd659b356b36d32129c1ba}
52
+ */
53
+ networkId,
54
+ });
55
+ return res.signedTransaction;
56
+ }
57
+
58
+ /**
59
+ * @returns Signed message
60
+ */
61
+ async signMessage(
62
+ message: string,
63
+ { returnHex = false }: Parameters<AccountBase['signMessage']>[1] = {},
64
+ ): Promise<string | Uint8Array> {
65
+ const { signature } = await this._rpcClient
66
+ .request(METHODS.signMessage, { onAccount: this._address, message });
67
+ return returnHex ? signature : Buffer.from(signature, 'hex');
68
+ }
69
+ }