@aeternity/aepp-sdk 10.0.0 → 12.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 (424) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +15 -14
  3. package/dist/aepp-sdk.browser-script.js +1 -1
  4. package/dist/aepp-sdk.browser-script.js.LICENSE.txt +13 -40
  5. package/dist/aepp-sdk.browser-script.js.map +1 -1
  6. package/dist/aepp-sdk.browser.js +1 -1
  7. package/dist/aepp-sdk.browser.js.map +1 -1
  8. package/dist/aepp-sdk.js +1 -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 +69 -0
  14. package/es/AeSdkAepp.mjs +175 -0
  15. package/es/AeSdkAepp.mjs.map +1 -0
  16. package/es/AeSdkBase.d.ts +212 -0
  17. package/es/AeSdkBase.mjs +310 -0
  18. package/es/AeSdkBase.mjs.map +1 -0
  19. package/es/AeSdkWallet.d.ts +103 -0
  20. package/es/AeSdkWallet.mjs +322 -0
  21. package/es/AeSdkWallet.mjs.map +1 -0
  22. package/es/Node.d.ts +44 -0
  23. package/es/Node.mjs +141 -0
  24. package/es/Node.mjs.map +1 -0
  25. package/es/account/Base.d.ts +65 -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 +25 -0
  29. package/es/account/Memory.mjs +81 -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 +79 -0
  33. package/es/account/Rpc.mjs.map +1 -0
  34. package/es/aens.d.ts +209 -0
  35. package/es/aens.mjs +332 -0
  36. package/es/aens.mjs.map +1 -0
  37. package/es/aepp-wallet-communication/connection/Browser.d.ts +32 -0
  38. package/es/aepp-wallet-communication/connection/Browser.mjs +70 -0
  39. package/es/aepp-wallet-communication/connection/Browser.mjs.map +1 -0
  40. package/es/aepp-wallet-communication/connection/BrowserRuntime.d.ts +17 -0
  41. package/es/aepp-wallet-communication/connection/BrowserRuntime.mjs +57 -0
  42. package/es/aepp-wallet-communication/connection/BrowserRuntime.mjs.map +1 -0
  43. package/es/aepp-wallet-communication/connection/BrowserWindowMessage.d.ts +35 -0
  44. package/es/aepp-wallet-communication/connection/BrowserWindowMessage.mjs +142 -0
  45. package/es/aepp-wallet-communication/connection/BrowserWindowMessage.mjs.map +1 -0
  46. package/es/aepp-wallet-communication/connection-proxy.d.ts +10 -0
  47. package/{src/utils/crypto-ts.ts → es/aepp-wallet-communication/connection-proxy.mjs} +15 -11
  48. package/es/aepp-wallet-communication/connection-proxy.mjs.map +1 -0
  49. package/es/aepp-wallet-communication/rpc/RpcClient.d.ts +33 -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 +118 -0
  56. package/es/aepp-wallet-communication/schema.mjs +214 -0
  57. package/es/aepp-wallet-communication/schema.mjs.map +1 -0
  58. package/es/aepp-wallet-communication/wallet-detector.d.ts +24 -0
  59. package/es/aepp-wallet-communication/wallet-detector.mjs +63 -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 +1061 -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 +4164 -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 +220 -0
  92. package/es/chain.mjs +524 -0
  93. package/es/chain.mjs.map +1 -0
  94. package/es/channel/handlers.d.ts +34 -0
  95. package/es/channel/{handlers.js → handlers.mjs} +163 -130
  96. package/es/channel/handlers.mjs.map +1 -0
  97. package/es/channel/index.d.ts +634 -0
  98. package/es/channel/index.mjs +978 -0
  99. package/es/channel/index.mjs.map +1 -0
  100. package/es/channel/internal.d.ts +100 -0
  101. package/es/channel/internal.mjs +328 -0
  102. package/es/channel/internal.mjs.map +1 -0
  103. package/es/contract/Compiler.d.ts +17 -0
  104. package/es/contract/Compiler.mjs +67 -0
  105. package/es/contract/Compiler.mjs.map +1 -0
  106. package/es/contract/aci.d.ts +125 -0
  107. package/es/contract/aci.mjs +496 -0
  108. package/es/contract/aci.mjs.map +1 -0
  109. package/es/contract/ga.d.ts +68 -0
  110. package/es/contract/ga.mjs +190 -0
  111. package/es/contract/ga.mjs.map +1 -0
  112. package/es/contract/methods.d.ts +68 -0
  113. package/es/contract/methods.mjs +101 -0
  114. package/es/contract/methods.mjs.map +1 -0
  115. package/es/index.d.ts +32 -0
  116. package/es/index.mjs +49 -0
  117. package/es/index.mjs.map +1 -0
  118. package/es/oracle.d.ts +154 -0
  119. package/es/oracle.mjs +288 -0
  120. package/es/oracle.mjs.map +1 -0
  121. package/es/spend.d.ts +61 -0
  122. package/es/spend.mjs +122 -0
  123. package/es/spend.mjs.map +1 -0
  124. package/es/tx/builder/constants.d.ts +41 -0
  125. package/es/tx/builder/constants.mjs +100 -0
  126. package/es/tx/builder/constants.mjs.map +1 -0
  127. package/es/tx/builder/field-types.d.ts +62 -0
  128. package/es/tx/builder/field-types.mjs +126 -0
  129. package/es/tx/builder/field-types.mjs.map +1 -0
  130. package/es/tx/builder/helpers.d.ts +131 -0
  131. package/es/tx/builder/helpers.mjs +223 -0
  132. package/es/tx/builder/helpers.mjs.map +1 -0
  133. package/es/tx/builder/index.d.ts +75 -0
  134. package/es/tx/builder/index.mjs +424 -0
  135. package/es/tx/builder/index.mjs.map +1 -0
  136. package/es/tx/builder/schema.d.ts +350 -0
  137. package/es/tx/builder/schema.mjs +320 -0
  138. package/es/tx/builder/schema.mjs.map +1 -0
  139. package/es/tx/index.d.ts +63 -0
  140. package/es/tx/index.mjs +209 -0
  141. package/es/tx/index.mjs.map +1 -0
  142. package/es/tx/min-fee.d.ts +20 -0
  143. package/es/tx/min-fee.mjs +148 -0
  144. package/es/tx/min-fee.mjs.map +1 -0
  145. package/es/tx/validator.d.ts +19 -0
  146. package/es/tx/validator.mjs +240 -0
  147. package/es/tx/validator.mjs.map +1 -0
  148. package/es/typings/@aeternity__argon2-browser/index.d.mjs +2 -0
  149. package/es/typings/@aeternity__argon2-browser/index.d.mjs.map +1 -0
  150. package/es/typings/@aeternity__uuid/index.d.mjs +2 -0
  151. package/es/typings/@aeternity__uuid/index.d.mjs.map +1 -0
  152. package/es/typings/bip32-path/index.d.mjs +2 -0
  153. package/es/typings/bip32-path/index.d.mjs.map +1 -0
  154. package/es/typings/blakejs/index.d.mjs +2 -0
  155. package/es/typings/blakejs/index.d.mjs.map +1 -0
  156. package/es/typings/tweetnacl-auth/index.d.mjs +2 -0
  157. package/es/typings/tweetnacl-auth/index.d.mjs.map +1 -0
  158. package/es/utils/amount-formatter.d.ts +42 -0
  159. package/es/utils/{amount-formatter.js → amount-formatter.mjs} +38 -44
  160. package/es/utils/amount-formatter.mjs.map +1 -0
  161. package/es/utils/autorest.d.ts +6 -0
  162. package/es/utils/autorest.mjs +97 -0
  163. package/es/utils/autorest.mjs.map +1 -0
  164. package/es/utils/bignumber.d.ts +13 -0
  165. package/es/utils/bignumber.mjs +23 -0
  166. package/es/utils/bignumber.mjs.map +1 -0
  167. package/es/{bytes.d.ts → utils/bytes.d.ts} +10 -13
  168. package/es/utils/{bytes.js → bytes.mjs} +26 -22
  169. package/es/utils/bytes.mjs.map +1 -0
  170. package/es/utils/crypto.d.ts +103 -0
  171. package/es/utils/crypto.mjs +221 -0
  172. package/es/utils/crypto.mjs.map +1 -0
  173. package/es/utils/encoder.d.ts +26 -0
  174. package/es/utils/encoder.mjs +102 -0
  175. package/es/utils/encoder.mjs.map +1 -0
  176. package/es/utils/errors.d.ts +481 -0
  177. package/es/utils/errors.mjs +882 -0
  178. package/es/utils/errors.mjs.map +1 -0
  179. package/es/utils/hd-wallet.d.ts +34 -0
  180. package/es/utils/hd-wallet.mjs +122 -0
  181. package/es/utils/hd-wallet.mjs.map +1 -0
  182. package/es/utils/json-big.d.ts +5 -0
  183. package/es/utils/json-big.mjs +41 -0
  184. package/es/utils/json-big.mjs.map +1 -0
  185. package/es/utils/keystore.d.ts +51 -0
  186. package/es/utils/keystore.mjs +145 -0
  187. package/es/utils/keystore.mjs.map +1 -0
  188. package/es/{mptree.d.ts → utils/mptree.d.ts} +5 -8
  189. package/es/utils/{mptree.js → mptree.mjs} +33 -25
  190. package/es/utils/mptree.mjs.map +1 -0
  191. package/es/utils/other.d.ts +14 -0
  192. package/es/utils/other.mjs +28 -0
  193. package/es/utils/other.mjs.map +1 -0
  194. package/es/{semver-satisfies.d.ts → utils/semver-satisfies.d.ts} +0 -0
  195. package/es/utils/{semver-satisfies.js → semver-satisfies.mjs} +1 -1
  196. package/es/utils/semver-satisfies.mjs.map +1 -0
  197. package/es/utils/string.d.ts +24 -0
  198. package/es/utils/{string.js → string.mjs} +9 -11
  199. package/es/utils/string.mjs.map +1 -0
  200. package/package.json +67 -64
  201. package/src/AeSdk.ts +65 -0
  202. package/src/AeSdkAepp.ts +167 -0
  203. package/src/AeSdkBase.ts +320 -0
  204. package/src/AeSdkWallet.ts +332 -0
  205. package/src/Node.ts +167 -0
  206. package/src/account/Base.ts +114 -0
  207. package/src/account/Memory.ts +83 -0
  208. package/src/account/Rpc.ts +67 -0
  209. package/src/aens.ts +391 -0
  210. package/src/aepp-wallet-communication/connection/Browser.ts +68 -0
  211. package/src/aepp-wallet-communication/connection/BrowserRuntime.ts +58 -0
  212. package/src/aepp-wallet-communication/connection/BrowserWindowMessage.ts +111 -0
  213. package/{es/utils/crypto-ts.js → src/aepp-wallet-communication/connection-proxy.ts} +16 -9
  214. package/src/aepp-wallet-communication/rpc/RpcClient.ts +137 -0
  215. package/src/aepp-wallet-communication/rpc/types.ts +66 -0
  216. package/src/aepp-wallet-communication/schema.ts +181 -0
  217. package/src/aepp-wallet-communication/wallet-detector.ts +71 -0
  218. package/src/apis/compiler/code-model-v4.yaml +2649 -0
  219. package/src/apis/compiler/compiler.ts +585 -0
  220. package/src/apis/compiler/index.ts +2 -0
  221. package/src/apis/compiler/models/index.ts +301 -0
  222. package/src/apis/compiler/models/mappers.ts +583 -0
  223. package/src/apis/compiler/models/parameters.ts +93 -0
  224. package/src/apis/node/code-model-v4.yaml +10046 -0
  225. package/src/apis/node/index.ts +2 -0
  226. package/src/apis/node/models/index.ts +1253 -0
  227. package/src/apis/node/models/mappers.ts +4278 -0
  228. package/src/apis/node/models/parameters.ts +188 -0
  229. package/src/apis/node/node.ts +1299 -0
  230. package/src/chain.ts +444 -0
  231. package/src/channel/{handlers.js → handlers.ts} +238 -143
  232. package/src/channel/index.ts +991 -0
  233. package/src/channel/internal.ts +345 -0
  234. package/src/contract/Compiler.ts +66 -0
  235. package/src/contract/aci.ts +529 -0
  236. package/src/contract/ga.ts +178 -0
  237. package/src/contract/methods.ts +118 -0
  238. package/src/index.ts +51 -0
  239. package/src/oracle.ts +342 -0
  240. package/src/spend.ts +152 -0
  241. package/src/tx/builder/constants.ts +96 -0
  242. package/src/tx/builder/field-types.ts +111 -0
  243. package/src/tx/builder/helpers.ts +253 -0
  244. package/src/tx/builder/index.ts +394 -0
  245. package/src/tx/builder/schema.ts +771 -0
  246. package/src/tx/index.ts +199 -0
  247. package/src/tx/min-fee.ts +136 -0
  248. package/src/tx/validator.ts +226 -0
  249. package/src/typings/@aeternity__argon2-browser/index.d.ts +3 -0
  250. package/src/typings/@aeternity__uuid/index.d.ts +3 -0
  251. package/src/typings/bip32-path/index.d.ts +33 -0
  252. package/src/typings/tweetnacl-auth/index.d.ts +14 -0
  253. package/src/utils/amount-formatter.ts +29 -41
  254. package/src/utils/autorest.ts +90 -0
  255. package/src/utils/bignumber.ts +9 -19
  256. package/src/utils/bytes.ts +15 -16
  257. package/src/utils/crypto.ts +217 -0
  258. package/src/utils/encoder.ts +98 -0
  259. package/src/utils/errors.ts +817 -0
  260. package/src/utils/hd-wallet.ts +134 -0
  261. package/src/utils/json-big.ts +26 -0
  262. package/src/utils/keystore.ts +179 -0
  263. package/src/utils/mptree.ts +26 -20
  264. package/src/utils/other.ts +28 -43
  265. package/src/utils/string.ts +8 -10
  266. package/CHANGELOG.md +0 -1603
  267. package/es/account/base.js +0 -169
  268. package/es/account/base.js.map +0 -1
  269. package/es/account/memory.js +0 -84
  270. package/es/account/memory.js.map +0 -1
  271. package/es/account/multiple.js +0 -178
  272. package/es/account/multiple.js.map +0 -1
  273. package/es/ae/aens.js +0 -408
  274. package/es/ae/aens.js.map +0 -1
  275. package/es/ae/aepp.js +0 -45
  276. package/es/ae/aepp.js.map +0 -1
  277. package/es/ae/contract.js +0 -312
  278. package/es/ae/contract.js.map +0 -1
  279. package/es/ae/index.js +0 -206
  280. package/es/ae/index.js.map +0 -1
  281. package/es/ae/oracle.js +0 -322
  282. package/es/ae/oracle.js.map +0 -1
  283. package/es/ae/universal.js +0 -45
  284. package/es/ae/universal.js.map +0 -1
  285. package/es/ae/wallet.js +0 -50
  286. package/es/ae/wallet.js.map +0 -1
  287. package/es/amount-formatter.d.ts +0 -58
  288. package/es/bignumber.d.ts +0 -24
  289. package/es/chain/index.js +0 -256
  290. package/es/chain/index.js.map +0 -1
  291. package/es/chain/node.js +0 -394
  292. package/es/chain/node.js.map +0 -1
  293. package/es/channel/handlers.js.map +0 -1
  294. package/es/channel/index.js +0 -980
  295. package/es/channel/index.js.map +0 -1
  296. package/es/channel/internal.js +0 -266
  297. package/es/channel/internal.js.map +0 -1
  298. package/es/contract/aci/helpers.js +0 -298
  299. package/es/contract/aci/helpers.js.map +0 -1
  300. package/es/contract/aci/index.js +0 -361
  301. package/es/contract/aci/index.js.map +0 -1
  302. package/es/contract/aci/transformation.js +0 -66
  303. package/es/contract/aci/transformation.js.map +0 -1
  304. package/es/contract/compiler.js +0 -244
  305. package/es/contract/compiler.js.map +0 -1
  306. package/es/contract/ga/helpers.js +0 -22
  307. package/es/contract/ga/helpers.js.map +0 -1
  308. package/es/contract/ga/index.js +0 -170
  309. package/es/contract/ga/index.js.map +0 -1
  310. package/es/contract/index.js +0 -162
  311. package/es/contract/index.js.map +0 -1
  312. package/es/crypto-ts.d.ts +0 -9
  313. package/es/index.js +0 -57
  314. package/es/index.js.map +0 -1
  315. package/es/node-pool/index.js +0 -187
  316. package/es/node-pool/index.js.map +0 -1
  317. package/es/node.js +0 -132
  318. package/es/node.js.map +0 -1
  319. package/es/other.d.ts +0 -31
  320. package/es/string.d.ts +0 -26
  321. package/es/tx/builder/helpers.js +0 -305
  322. package/es/tx/builder/helpers.js.map +0 -1
  323. package/es/tx/builder/index.js +0 -595
  324. package/es/tx/builder/index.js.map +0 -1
  325. package/es/tx/builder/schema.js +0 -814
  326. package/es/tx/builder/schema.js.map +0 -1
  327. package/es/tx/index.js +0 -300
  328. package/es/tx/index.js.map +0 -1
  329. package/es/tx/tx-object.js +0 -276
  330. package/es/tx/tx-object.js.map +0 -1
  331. package/es/tx/tx.js +0 -937
  332. package/es/tx/tx.js.map +0 -1
  333. package/es/tx/validator.js +0 -208
  334. package/es/tx/validator.js.map +0 -1
  335. package/es/typings/blakejs/index.d.js +0 -2
  336. package/es/typings/blakejs/index.d.js.map +0 -1
  337. package/es/utils/aepp-wallet-communication/connection/browser-runtime.js +0 -131
  338. package/es/utils/aepp-wallet-communication/connection/browser-runtime.js.map +0 -1
  339. package/es/utils/aepp-wallet-communication/connection/browser-window-message.js +0 -184
  340. package/es/utils/aepp-wallet-communication/connection/browser-window-message.js.map +0 -1
  341. package/es/utils/aepp-wallet-communication/connection/index.js +0 -84
  342. package/es/utils/aepp-wallet-communication/connection/index.js.map +0 -1
  343. package/es/utils/aepp-wallet-communication/content-script-bridge.js +0 -97
  344. package/es/utils/aepp-wallet-communication/content-script-bridge.js.map +0 -1
  345. package/es/utils/aepp-wallet-communication/helpers.js +0 -103
  346. package/es/utils/aepp-wallet-communication/helpers.js.map +0 -1
  347. package/es/utils/aepp-wallet-communication/rpc/aepp-rpc.js +0 -329
  348. package/es/utils/aepp-wallet-communication/rpc/aepp-rpc.js.map +0 -1
  349. package/es/utils/aepp-wallet-communication/rpc/rpc-client.js +0 -270
  350. package/es/utils/aepp-wallet-communication/rpc/rpc-client.js.map +0 -1
  351. package/es/utils/aepp-wallet-communication/rpc/wallet-rpc.js +0 -533
  352. package/es/utils/aepp-wallet-communication/rpc/wallet-rpc.js.map +0 -1
  353. package/es/utils/aepp-wallet-communication/schema.js +0 -107
  354. package/es/utils/aepp-wallet-communication/schema.js.map +0 -1
  355. package/es/utils/aepp-wallet-communication/wallet-detector.js +0 -109
  356. package/es/utils/aepp-wallet-communication/wallet-detector.js.map +0 -1
  357. package/es/utils/amount-formatter.js.map +0 -1
  358. package/es/utils/async-init.js +0 -67
  359. package/es/utils/async-init.js.map +0 -1
  360. package/es/utils/bignumber.js +0 -28
  361. package/es/utils/bignumber.js.map +0 -1
  362. package/es/utils/bytes.js.map +0 -1
  363. package/es/utils/crypto-ts.js.map +0 -1
  364. package/es/utils/crypto.js +0 -304
  365. package/es/utils/crypto.js.map +0 -1
  366. package/es/utils/hd-wallet.js +0 -112
  367. package/es/utils/hd-wallet.js.map +0 -1
  368. package/es/utils/json-big.js +0 -45
  369. package/es/utils/json-big.js.map +0 -1
  370. package/es/utils/keystore.js +0 -228
  371. package/es/utils/keystore.js.map +0 -1
  372. package/es/utils/mptree.js.map +0 -1
  373. package/es/utils/other.js +0 -43
  374. package/es/utils/other.js.map +0 -1
  375. package/es/utils/semver-satisfies.js.map +0 -1
  376. package/es/utils/string.js.map +0 -1
  377. package/es/utils/swagger.js +0 -132
  378. package/es/utils/swagger.js.map +0 -1
  379. package/src/account/base.js +0 -153
  380. package/src/account/memory.js +0 -78
  381. package/src/account/multiple.js +0 -154
  382. package/src/ae/aens.js +0 -366
  383. package/src/ae/aepp.js +0 -45
  384. package/src/ae/contract.js +0 -285
  385. package/src/ae/index.js +0 -167
  386. package/src/ae/oracle.js +0 -296
  387. package/src/ae/universal.js +0 -47
  388. package/src/ae/wallet.js +0 -50
  389. package/src/chain/index.js +0 -250
  390. package/src/chain/node.js +0 -293
  391. package/src/channel/index.js +0 -898
  392. package/src/channel/internal.js +0 -231
  393. package/src/contract/aci/index.js +0 -317
  394. package/src/contract/aci/transformation.js +0 -72
  395. package/src/contract/compiler.js +0 -195
  396. package/src/contract/ga/helpers.js +0 -17
  397. package/src/contract/ga/index.js +0 -147
  398. package/src/contract/index.js +0 -163
  399. package/src/index.js +0 -90
  400. package/src/node-pool/index.js +0 -171
  401. package/src/node.js +0 -118
  402. package/src/tx/builder/helpers.js +0 -325
  403. package/src/tx/builder/index.js +0 -460
  404. package/src/tx/builder/schema.js +0 -1211
  405. package/src/tx/index.js +0 -301
  406. package/src/tx/tx-object.js +0 -186
  407. package/src/tx/tx.js +0 -622
  408. package/src/tx/validator.js +0 -161
  409. package/src/utils/aepp-wallet-communication/connection/browser-runtime.js +0 -114
  410. package/src/utils/aepp-wallet-communication/connection/browser-window-message.js +0 -161
  411. package/src/utils/aepp-wallet-communication/connection/index.js +0 -85
  412. package/src/utils/aepp-wallet-communication/content-script-bridge.js +0 -85
  413. package/src/utils/aepp-wallet-communication/helpers.js +0 -70
  414. package/src/utils/aepp-wallet-communication/rpc/aepp-rpc.js +0 -268
  415. package/src/utils/aepp-wallet-communication/rpc/rpc-client.js +0 -223
  416. package/src/utils/aepp-wallet-communication/rpc/wallet-rpc.js +0 -390
  417. package/src/utils/aepp-wallet-communication/schema.js +0 -108
  418. package/src/utils/aepp-wallet-communication/wallet-detector.js +0 -91
  419. package/src/utils/async-init.js +0 -41
  420. package/src/utils/crypto.js +0 -312
  421. package/src/utils/hd-wallet.js +0 -115
  422. package/src/utils/json-big.js +0 -26
  423. package/src/utils/keystore.js +0 -223
  424. package/src/utils/swagger.js +0 -133
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  * ISC License (ISC)
3
- * Copyright 2021 aeternity developers
3
+ * Copyright (c) 2022 aeternity developers
4
4
  *
5
5
  * Permission to use, copy, modify, and/or distribute this software for any
6
6
  * purpose with or without fee is hereby granted, provided that the above
@@ -14,15 +14,22 @@
14
14
  * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
15
15
  * PERFORMANCE OF THIS SOFTWARE.
16
16
  */
17
- import { blake2b } from 'blakejs';
17
+
18
+ import BrowserConnection from './connection/Browser'
18
19
 
19
20
  /**
20
- * Calculate 256bits Blake2b hash of `input`
21
- * @rtype (input: String) => hash: String
22
- * @param {Data} input - Data to hash
23
- * @return {Buffer} Hash
21
+ * Browser connection proxy
22
+ * Provide functionality to easily forward messages from one connection to another and back
23
+ * @param con1 - first connection
24
+ * @param con2 - second connection
25
+ * @returns a function to stop proxying
24
26
  */
25
- export function hash(input) {
26
- return Buffer.from(blake2b(input, null, 32)); // 256 bits
27
+ export default (con1: BrowserConnection, con2: BrowserConnection): () => void => {
28
+ con1.connect((msg: any) => con2.sendMessage(msg), () => con2.disconnect())
29
+ con2.connect((msg: any) => con1.sendMessage(msg), () => con1.disconnect())
30
+
31
+ return () => {
32
+ con1.disconnect()
33
+ con2.disconnect()
34
+ }
27
35
  }
28
- //# sourceMappingURL=crypto-ts.js.map
@@ -0,0 +1,137 @@
1
+ import { RpcError, RpcInternalError, RpcMethodNotFoundError } from '../schema'
2
+ import BrowserConnection from '../connection/Browser'
3
+ import { InvalidRpcMessageError, MissingCallbackError } from '../../utils/errors'
4
+
5
+ interface JsonRpcRequest {
6
+ jsonrpc: '2.0'
7
+ id: number
8
+ method: string
9
+ params?: any
10
+ }
11
+
12
+ interface JsonRpcResponse {
13
+ jsonrpc: '2.0'
14
+ id: number
15
+ method: string
16
+ result?: any
17
+ error?: {
18
+ code: number
19
+ message: string
20
+ data?: any
21
+ }
22
+ }
23
+
24
+ type RpcApiHandler = (p?: any) => any | undefined
25
+ type RpcApi<Api> = { [k in keyof Api]: RpcApiHandler }
26
+ type WithOrigin<Api extends RpcApi<Api>> = {
27
+ [k in keyof Api]: (p: Parameters<Api[k]>[0], origin: string) => ReturnType<Api[k]>
28
+ }
29
+
30
+ /**
31
+ * Contain functionality for using RPC conection
32
+ * @param connection - Connection object
33
+ * @param onDisconnect - Disconnect callback
34
+ * @param methods - Object containing handlers for each request by name
35
+ */
36
+ export default class RpcClient <
37
+ RemoteApi extends RpcApi<RemoteApi>, LocalApi extends RpcApi<LocalApi>
38
+ > {
39
+ connection: BrowserConnection
40
+ #callbacks = new Map<number, { resolve: (v: any) => void, reject: (e: Error) => void }>()
41
+ #messageId = 0
42
+ #methods: WithOrigin<LocalApi>
43
+
44
+ constructor (
45
+ connection: BrowserConnection,
46
+ onDisconnect: () => void,
47
+ methods: WithOrigin<LocalApi>
48
+ ) {
49
+ this.connection = connection
50
+ this.#methods = methods
51
+ connection.connect(this.#handleMessage.bind(this), onDisconnect)
52
+ }
53
+
54
+ async #handleMessage (msg: JsonRpcRequest | JsonRpcResponse, origin: string): Promise<void> {
55
+ if (msg?.jsonrpc !== '2.0') throw new InvalidRpcMessageError(JSON.stringify(msg))
56
+ if ('result' in msg || 'error' in msg) {
57
+ this.#processResponse(msg)
58
+ return
59
+ }
60
+
61
+ const request = msg as JsonRpcRequest
62
+ let result, error
63
+ try {
64
+ if (!(request.method in this.#methods)) throw new RpcMethodNotFoundError()
65
+ const methodName = request.method as keyof LocalApi
66
+ result = await this.#methods[methodName](request.params, origin)
67
+ } catch (e) {
68
+ error = e instanceof RpcError ? e : new RpcInternalError()
69
+ }
70
+ if (request.id != null) {
71
+ this.#sendResponse(request.id, request.method as keyof LocalApi, result, error)
72
+ }
73
+ }
74
+
75
+ #sendRequest (
76
+ id: number | undefined,
77
+ method: keyof RemoteApi | keyof LocalApi,
78
+ params?: any
79
+ ): void {
80
+ this.connection.sendMessage({
81
+ jsonrpc: '2.0',
82
+ ...id != null ? { id } : {},
83
+ method,
84
+ ...params != null ? { params } : {}
85
+ })
86
+ }
87
+
88
+ #sendResponse (
89
+ id: number,
90
+ method: keyof RemoteApi | keyof LocalApi, // TODO: remove as far it is not required in JSON RPC
91
+ result?: any,
92
+ error?: any
93
+ ): void {
94
+ this.connection.sendMessage({
95
+ jsonrpc: '2.0',
96
+ id,
97
+ method,
98
+ ...error != null ? { error } : { result }
99
+ })
100
+ }
101
+
102
+ /**
103
+ * Make a request
104
+ * @param name - Method name
105
+ * @param params - Method params
106
+ * @returns Promise which will be resolved after receiving response message
107
+ */
108
+ async request<Name extends keyof RemoteApi> (
109
+ name: Name, params: Parameters<RemoteApi[Name]>[0]
110
+ ): Promise<ReturnType<RemoteApi[Name]>> {
111
+ this.#sendRequest(++this.#messageId, name, params)
112
+ return await new Promise((resolve, reject) => {
113
+ this.#callbacks.set(this.#messageId, { resolve, reject })
114
+ })
115
+ }
116
+
117
+ /**
118
+ * Make a notification
119
+ * @param name - Method name
120
+ * @param params - Method params
121
+ */
122
+ notify<Name extends keyof RemoteApi> (name: Name, params: Parameters<RemoteApi[Name]>[0]): void {
123
+ this.#sendRequest(undefined, name, params)
124
+ }
125
+
126
+ /**
127
+ * Process response message
128
+ * @param msg - Message object
129
+ */
130
+ #processResponse ({ id, error, result }: { id: number, error?: any, result?: any }): void {
131
+ const callbacks = this.#callbacks.get(id)
132
+ if (callbacks == null) throw new MissingCallbackError(id)
133
+ if (error != null) callbacks.reject(RpcError.deserialize(error))
134
+ else callbacks.resolve(result)
135
+ this.#callbacks.delete(id)
136
+ }
137
+ }
@@ -0,0 +1,66 @@
1
+ import { send } from '../../spend'
2
+ import { EncodedData } from '../../utils/encoder'
3
+ import { METHODS, SUBSCRIPTION_TYPES, WALLET_TYPE } from '../schema'
4
+
5
+ export interface WalletInfo {
6
+ id: string
7
+ name: string
8
+ networkId: string
9
+ origin: string
10
+ type: WALLET_TYPE
11
+ }
12
+
13
+ export interface Accounts {
14
+ connected: { [pub: EncodedData<'ak'>]: {} }
15
+ current: { [pub: EncodedData<'ak'>]: {} }
16
+ }
17
+
18
+ export interface Node {
19
+ name: string
20
+ url: string
21
+ }
22
+
23
+ export interface Network {
24
+ networkId: string
25
+ node?: Node
26
+ }
27
+
28
+ type Icons = Array<{ src: string, sizes?: string, type?: string, purpose?: string }>
29
+
30
+ export const RPC_VERSION = 1
31
+
32
+ export interface WalletApi {
33
+ [METHODS.connect]: (
34
+ p: { name: string, icons?: Icons, version: typeof RPC_VERSION, connectNode: boolean }
35
+ ) => Promise<WalletInfo & { node?: Node }>
36
+
37
+ [METHODS.closeConnection]: (p: any) => void
38
+
39
+ [METHODS.subscribeAddress]: (
40
+ p: { type: SUBSCRIPTION_TYPES, value: 'connected' | 'current' }
41
+ ) => Promise<{ subscription: Array<'connected' | 'current'>, address: Accounts }>
42
+
43
+ [METHODS.address]: () => Promise<Array<EncodedData<'ak'>>>
44
+
45
+ [METHODS.sign]: ((
46
+ p: { tx: EncodedData<'tx'>, onAccount: EncodedData<'ak'>, returnSigned: boolean }
47
+ ) => Promise<{
48
+ /**
49
+ * @deprecated this is not a hash at all, will be removed later at the same time
50
+ * as dropping ability to broadcast transaction by wallet
51
+ */
52
+ transactionHash?: Awaited<ReturnType<typeof send>>
53
+ signedTransaction?: EncodedData<'tx'>
54
+ }>)
55
+
56
+ [METHODS.signMessage]: (
57
+ p: { message: string, onAccount: EncodedData<'ak'> }
58
+ ) => Promise<{ signature: string }>
59
+ }
60
+
61
+ export interface AeppApi {
62
+ [METHODS.updateAddress]: (a: Accounts) => void
63
+ [METHODS.updateNetwork]: (a: Network) => void
64
+ [METHODS.readyToConnect]: (w: WalletInfo) => void
65
+ [METHODS.closeConnection]: (p: any) => void
66
+ }
@@ -0,0 +1,181 @@
1
+ import { EncodedData } from '../utils/encoder'
2
+ import { BaseError, InternalError } from '../utils/errors'
3
+
4
+ export const enum MESSAGE_DIRECTION {
5
+ to_waellet = 'to_waellet',
6
+ to_aepp = 'to_aepp'
7
+ }
8
+
9
+ export const enum WALLET_TYPE {
10
+ window = 'window',
11
+ extension = 'extension'
12
+ }
13
+
14
+ export const enum SUBSCRIPTION_TYPES {
15
+ subscribe = 'subscribe',
16
+ unsubscribe = 'unsubscribe'
17
+ }
18
+
19
+ export const enum METHODS {
20
+ readyToConnect = 'connection.announcePresence',
21
+ updateAddress = 'address.update',
22
+ address = 'address.get',
23
+ connect = 'connection.open',
24
+ sign = 'transaction.sign',
25
+ signMessage = 'message.sign',
26
+ subscribeAddress = 'address.subscribe',
27
+ updateNetwork = 'networkId.update',
28
+ closeConnection = 'connection.close'
29
+ }
30
+
31
+ export const enum RPC_STATUS {
32
+ CONNECTED = 'CONNECTED',
33
+ DISCONNECTED = 'DISCONNECTED',
34
+ WAITING_FOR_CONNECTION_REQUEST = 'WAITING_FOR_CONNECTION_REQUEST'
35
+ }
36
+
37
+ interface RpcErrorAsJson {
38
+ code: number
39
+ message: string
40
+ data?: any
41
+ }
42
+
43
+ /**
44
+ * @category exception
45
+ */
46
+ export abstract class RpcError extends BaseError {
47
+ static code: number
48
+ code: number
49
+ data?: any
50
+
51
+ toJSON (): RpcErrorAsJson {
52
+ return {
53
+ code: this.code,
54
+ message: this.message,
55
+ data: this.data
56
+ }
57
+ }
58
+
59
+ static deserialize (json: RpcErrorAsJson): RpcError {
60
+ const RpcErr = [
61
+ RpcInvalidTransactionError, RpcBroadcastError, RpcRejectedByUserError,
62
+ RpcUnsupportedProtocolError, RpcConnectionDenyError, RpcNotAuthorizeError,
63
+ RpcPermissionDenyError, RpcInternalError
64
+ ].find(cl => cl.code === json.code)
65
+ if (RpcErr == null) throw new InternalError(`Can't find RpcError with code: ${json.code}`)
66
+ return new RpcErr(json.data)
67
+ }
68
+ }
69
+
70
+ /**
71
+ * @category exception
72
+ */
73
+ export class RpcInvalidTransactionError extends RpcError {
74
+ static code = 2
75
+ code = 2
76
+ constructor (data?: any) {
77
+ super('Invalid transaction')
78
+ this.data = data
79
+ this.name = 'RpcInvalidTransactionError'
80
+ }
81
+ }
82
+
83
+ /**
84
+ * @category exception
85
+ */
86
+ export class RpcBroadcastError extends RpcError {
87
+ static code = 3
88
+ code = 3
89
+ constructor (data?: any) {
90
+ super('Broadcast failed')
91
+ this.data = data
92
+ this.name = 'RpcBroadcastError'
93
+ }
94
+ }
95
+
96
+ /**
97
+ * @category exception
98
+ */
99
+ export class RpcRejectedByUserError extends RpcError {
100
+ static code = 4
101
+ code = 4
102
+ constructor (data?: any) {
103
+ super('Operation rejected by user')
104
+ this.data = data
105
+ this.name = 'RpcRejectedByUserError'
106
+ }
107
+ }
108
+
109
+ /**
110
+ * @category exception
111
+ */
112
+ export class RpcUnsupportedProtocolError extends RpcError {
113
+ static code = 5
114
+ code = 5
115
+ constructor () {
116
+ super('Unsupported Protocol Version')
117
+ this.name = 'RpcUnsupportedProtocolError'
118
+ }
119
+ }
120
+
121
+ /**
122
+ * @category exception
123
+ */
124
+ export class RpcConnectionDenyError extends RpcError {
125
+ static code = 9
126
+ code = 9
127
+ constructor (data?: any) {
128
+ super('Wallet deny your connection request')
129
+ this.data = data
130
+ this.name = 'RpcConnectionDenyError'
131
+ }
132
+ }
133
+
134
+ /**
135
+ * @category exception
136
+ */
137
+ export class RpcNotAuthorizeError extends RpcError {
138
+ static code = 10
139
+ code = 10
140
+ constructor () {
141
+ super('You are not connected to the wallet')
142
+ this.name = 'RpcNotAuthorizeError'
143
+ }
144
+ }
145
+
146
+ /**
147
+ * @category exception
148
+ */
149
+ export class RpcPermissionDenyError extends RpcError {
150
+ static code = 11
151
+ code = 11
152
+ constructor (address: EncodedData<'ak'>) {
153
+ super(`You are not subscribed for account ${address}`)
154
+ this.data = address
155
+ this.name = 'RpcPermissionDenyError'
156
+ }
157
+ }
158
+
159
+ /**
160
+ * @category exception
161
+ */
162
+ export class RpcInternalError extends RpcError {
163
+ static code = 12
164
+ code = 12
165
+ constructor () {
166
+ super('The peer failed to execute your request due to unknown error')
167
+ this.name = 'RpcInternalError'
168
+ }
169
+ }
170
+
171
+ /**
172
+ * @category exception
173
+ */
174
+ export class RpcMethodNotFoundError extends RpcError {
175
+ static code = -32601
176
+ code = -32601
177
+ constructor () {
178
+ super('Method not found')
179
+ this.name = 'RpcMethodNotFoundError'
180
+ }
181
+ }
@@ -0,0 +1,71 @@
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
+
18
+ import BrowserConnection from './connection/Browser'
19
+ import BrowserWindowMessageConnection from './connection/BrowserWindowMessage'
20
+ import { MESSAGE_DIRECTION, METHODS } from './schema'
21
+ import { UnsupportedPlatformError } from '../utils/errors'
22
+
23
+ interface Wallet {
24
+ info: {
25
+ id: string
26
+ type: string
27
+ origin: string
28
+ }
29
+ getConnection: () => BrowserWindowMessageConnection
30
+ }
31
+ interface Wallets { [key: string]: Wallet }
32
+
33
+ /**
34
+ * A function to detect available wallets
35
+ * @param connection - connection to use to detect wallets
36
+ * @param onDetected - call-back function which trigger on new wallet
37
+ * @returns a function to stop scanning
38
+ */
39
+ export default (
40
+ connection: BrowserConnection = new BrowserWindowMessageConnection(),
41
+ onDetected: ({ wallets, newWallet }: { wallets: Wallets, newWallet?: Wallet }) => void
42
+ ): () => void => {
43
+ if (window == null) throw new UnsupportedPlatformError('Window object not found, you can run wallet detector only in browser')
44
+ const wallets: Wallets = {}
45
+
46
+ connection.connect((
47
+ { method, params }: { method: string, params: Wallet['info'] },
48
+ origin: string,
49
+ source: Window
50
+ ) => {
51
+ if (method !== METHODS.readyToConnect || wallets[params.id] != null) return
52
+
53
+ const wallet = {
54
+ info: params,
55
+ getConnection () {
56
+ const isExtension = params.type === 'extension'
57
+ return new BrowserWindowMessageConnection({
58
+ sendDirection: isExtension ? MESSAGE_DIRECTION.to_waellet : undefined,
59
+ receiveDirection: isExtension ? MESSAGE_DIRECTION.to_aepp : undefined,
60
+ target: source,
61
+ origin: isExtension ? window.origin : params.origin
62
+ })
63
+ }
64
+ }
65
+ wallets[wallet.info.id] = wallet
66
+ onDetected({ wallets, newWallet: wallet })
67
+ }, () => {})
68
+ if (Object.keys(wallets).length > 0) onDetected({ wallets })
69
+
70
+ return () => connection.disconnect()
71
+ }