@aeternity/aepp-sdk 11.0.0 → 12.1.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 (442) 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 +20764 -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 +138 -88
  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 +122 -0
  135. package/es/tx/builder/constants.mjs.map +1 -0
  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 -240
  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 -664
  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 -108
  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 +118 -0
  218. package/es/utils/encoder.mjs.map +1 -0
  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 +56 -42
  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 +170 -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 +146 -0
  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/node-pool/index.mjs +0 -188
  360. package/es/node-pool/index.mjs.map +0 -1
  361. package/es/node.mjs +0 -133
  362. package/es/node.mjs.map +0 -1
  363. package/es/other.d.ts +0 -31
  364. package/es/semver-satisfies.d.ts +0 -1
  365. package/es/string.d.ts +0 -26
  366. package/es/tx/builder/field-types.mjs +0 -74
  367. package/es/tx/builder/field-types.mjs.map +0 -1
  368. package/es/tx/tx-object.mjs +0 -283
  369. package/es/tx/tx-object.mjs.map +0 -1
  370. package/es/tx/tx.mjs +0 -938
  371. package/es/tx/tx.mjs.map +0 -1
  372. package/es/utils/aepp-wallet-communication/connection/browser-runtime.mjs +0 -132
  373. package/es/utils/aepp-wallet-communication/connection/browser-runtime.mjs.map +0 -1
  374. package/es/utils/aepp-wallet-communication/connection/browser-window-message.mjs +0 -183
  375. package/es/utils/aepp-wallet-communication/connection/browser-window-message.mjs.map +0 -1
  376. package/es/utils/aepp-wallet-communication/connection/index.mjs +0 -87
  377. package/es/utils/aepp-wallet-communication/connection/index.mjs.map +0 -1
  378. package/es/utils/aepp-wallet-communication/content-script-bridge.mjs +0 -98
  379. package/es/utils/aepp-wallet-communication/content-script-bridge.mjs.map +0 -1
  380. package/es/utils/aepp-wallet-communication/helpers.mjs +0 -92
  381. package/es/utils/aepp-wallet-communication/helpers.mjs.map +0 -1
  382. package/es/utils/aepp-wallet-communication/rpc/aepp-rpc.mjs +0 -375
  383. package/es/utils/aepp-wallet-communication/rpc/aepp-rpc.mjs.map +0 -1
  384. package/es/utils/aepp-wallet-communication/rpc/rpc-client.mjs +0 -275
  385. package/es/utils/aepp-wallet-communication/rpc/rpc-client.mjs.map +0 -1
  386. package/es/utils/aepp-wallet-communication/rpc/wallet-rpc.mjs +0 -541
  387. package/es/utils/aepp-wallet-communication/rpc/wallet-rpc.mjs.map +0 -1
  388. package/es/utils/aepp-wallet-communication/schema.mjs +0 -102
  389. package/es/utils/aepp-wallet-communication/schema.mjs.map +0 -1
  390. package/es/utils/aepp-wallet-communication/wallet-detector.mjs +0 -110
  391. package/es/utils/aepp-wallet-communication/wallet-detector.mjs.map +0 -1
  392. package/es/utils/async-init.mjs +0 -64
  393. package/es/utils/async-init.mjs.map +0 -1
  394. package/es/utils/crypto-ts.mjs.map +0 -1
  395. package/es/utils/swagger.mjs +0 -164
  396. package/es/utils/swagger.mjs.map +0 -1
  397. package/src/account/base.js +0 -153
  398. package/src/account/memory.js +0 -83
  399. package/src/account/multiple.js +0 -162
  400. package/src/ae/aens.js +0 -361
  401. package/src/ae/aepp.js +0 -45
  402. package/src/ae/contract.js +0 -148
  403. package/src/ae/index.js +0 -168
  404. package/src/ae/oracle.js +0 -311
  405. package/src/ae/universal.js +0 -47
  406. package/src/ae/wallet.js +0 -50
  407. package/src/chain/index.js +0 -269
  408. package/src/chain/node.js +0 -320
  409. package/src/channel/handlers.js +0 -673
  410. package/src/channel/index.js +0 -898
  411. package/src/channel/internal.js +0 -237
  412. package/src/contract/aci.js +0 -376
  413. package/src/contract/compiler.js +0 -100
  414. package/src/contract/ga/helpers.js +0 -19
  415. package/src/contract/ga/index.js +0 -150
  416. package/src/index.js +0 -89
  417. package/src/node-pool/index.js +0 -172
  418. package/src/node.js +0 -116
  419. package/src/tx/builder/field-types.js +0 -61
  420. package/src/tx/builder/helpers.js +0 -380
  421. package/src/tx/builder/index.js +0 -465
  422. package/src/tx/builder/schema.js +0 -1197
  423. package/src/tx/index.js +0 -301
  424. package/src/tx/tx-object.js +0 -187
  425. package/src/tx/tx.js +0 -631
  426. package/src/tx/validator.js +0 -181
  427. package/src/utils/aepp-wallet-communication/connection/browser-runtime.js +0 -119
  428. package/src/utils/aepp-wallet-communication/connection/browser-window-message.js +0 -165
  429. package/src/utils/aepp-wallet-communication/connection/index.js +0 -85
  430. package/src/utils/aepp-wallet-communication/content-script-bridge.js +0 -86
  431. package/src/utils/aepp-wallet-communication/helpers.js +0 -60
  432. package/src/utils/aepp-wallet-communication/rpc/aepp-rpc.js +0 -294
  433. package/src/utils/aepp-wallet-communication/rpc/rpc-client.js +0 -232
  434. package/src/utils/aepp-wallet-communication/rpc/wallet-rpc.js +0 -401
  435. package/src/utils/aepp-wallet-communication/schema.ts +0 -80
  436. package/src/utils/aepp-wallet-communication/wallet-detector.js +0 -92
  437. package/src/utils/async-init.js +0 -45
  438. package/src/utils/crypto.js +0 -229
  439. package/src/utils/hd-wallet.js +0 -100
  440. package/src/utils/json-big.js +0 -26
  441. package/src/utils/keystore.js +0 -219
  442. package/src/utils/swagger.js +0 -156
@@ -1,401 +0,0 @@
1
- /**
2
- * RPC handler for WAELLET side
3
- *
4
- * @module @aeternity/aepp-sdk/es/utils/aepp-wallet-communication/rpc/wallet-rpc
5
- * @export WalletRpc
6
- * @example
7
- * import WalletRpc from '@aeternity/aepp-sdk/es/utils/aepp-wallet-communication/rpc/wallet-rpc'
8
- */
9
- import { v4 as uuid } from '@aeternity/uuid'
10
- import Ae from '../../../ae'
11
- import verifyTransaction from '../../../tx/validator'
12
- import AccountMultiple from '../../../account/multiple'
13
- import TxObject from '../../../tx/tx-object'
14
- import RpcClient from './rpc-client'
15
- import { getBrowserAPI, getHandler, isValidAccounts, message, sendResponseMessage } from '../helpers'
16
- import { ERRORS, METHODS, RPC_STATUS, VERSION, WALLET_TYPE } from '../schema'
17
- import { ArgumentError, TypeError, UnknownRpcClientError } from '../../errors'
18
- import { isAccountBase } from '../../../account/base'
19
-
20
- const resolveOnAccount = (addresses, onAccount, opt = {}) => {
21
- if (!addresses.find(a => a === onAccount)) {
22
- if (typeof opt.onAccount !== 'object' || !isAccountBase(opt.onAccount)) throw new TypeError('Provided onAccount should be an AccountBase')
23
- onAccount = opt.onAccount
24
- }
25
- return onAccount
26
- }
27
-
28
- const NOTIFICATIONS = {
29
- [METHODS.closeConnection]: (instance, { client }) =>
30
- async (msg) => {
31
- client.disconnect(true)
32
- instance.onDisconnect(msg.params, client)
33
- }
34
- }
35
-
36
- const RESPONSES = {}
37
-
38
- const REQUESTS = {
39
- // Store client info and prepare two fn for each client `connect` and `denyConnection`
40
- // which automatically prepare and send response for that client
41
- [METHODS.connect] (
42
- callInstance,
43
- instance,
44
- client,
45
- { name, networkId, version, icons, connectNode }) {
46
- // Check if protocol and network is compatible with wallet
47
- if (version !== VERSION) return { error: ERRORS.unsupportedProtocol() }
48
- // Store new AEPP and wait for connection approve
49
- client.updateInfo({
50
- status: RPC_STATUS.WAITING_FOR_CONNECTION_APPROVE,
51
- name,
52
- networkId,
53
- icons,
54
- version,
55
- origin: window.location.origin,
56
- connectNode
57
- })
58
-
59
- // Call onConnection callBack to notice Wallet about new AEPP
60
- return callInstance(
61
- 'onConnection',
62
- { name, networkId, version },
63
- ({ shareNode } = {}) => {
64
- client.updateInfo({ status: shareNode ? RPC_STATUS.NODE_BINDED : RPC_STATUS.CONNECTED })
65
- return {
66
- result: {
67
- ...instance.getWalletInfo(),
68
- ...(shareNode && { node: instance.selectedNode })
69
- }
70
- }
71
- },
72
- (error) => {
73
- client.updateInfo({ status: RPC_STATUS.CONNECTION_REJECTED })
74
- return { error: ERRORS.connectionDeny(error) }
75
- }
76
- )
77
- },
78
- [METHODS.subscribeAddress] (callInstance, instance, client, { type, value }) {
79
- // Authorization check
80
- if (!client.isConnected()) return { error: ERRORS.notAuthorize() }
81
-
82
- return callInstance(
83
- 'onSubscription',
84
- { type, value },
85
- async ({ accounts } = {}) => {
86
- try {
87
- const clientAccounts = accounts || instance.getAccounts()
88
- if (!isValidAccounts(clientAccounts)) {
89
- throw new TypeError('Invalid provided accounts object')
90
- }
91
- const subscription = client.updateSubscription(type, value)
92
- client.setAccounts(clientAccounts, { forceNotification: true })
93
- return {
94
- result: {
95
- subscription,
96
- address: clientAccounts
97
- }
98
- }
99
- } catch (e) {
100
- if (instance.debug) console.error(e)
101
- return { error: ERRORS.internalError(e.message) }
102
- }
103
- },
104
- (error) => ({ error: ERRORS.rejectedByUser(error) })
105
- )
106
- },
107
- [METHODS.address] (callInstance, instance, client) {
108
- // Authorization check
109
- if (!client.isConnected()) return { error: ERRORS.notAuthorize() }
110
- if (!client.isSubscribed()) return { error: ERRORS.notAuthorize() }
111
-
112
- return callInstance(
113
- 'onAskAccounts',
114
- {},
115
- ({ accounts } = {}) => ({
116
- result: accounts ||
117
- [...Object.keys(client.accounts.current), ...Object.keys(client.accounts.connected)]
118
- }),
119
- (error) => ({ error: ERRORS.rejectedByUser(error) })
120
- )
121
- },
122
- [METHODS.sign] (callInstance, instance, client, options) {
123
- const { tx, onAccount, networkId, returnSigned = false } = options
124
- const address = onAccount || client.currentAccount
125
- // Update client with new networkId
126
- networkId && client.updateInfo({ networkId })
127
- // Authorization check
128
- if (!client.isConnected()) return { error: ERRORS.notAuthorize() }
129
- // Account permission check
130
- if (!client.hasAccessToAccount(address)) {
131
- return { error: ERRORS.permissionDeny(address) }
132
- }
133
- // NetworkId check
134
- if (!networkId || networkId !== instance.getNetworkId()) {
135
- return { error: ERRORS.unsupportedNetwork() }
136
- }
137
-
138
- return callInstance(
139
- 'onSign',
140
- { tx, returnSigned, onAccount: address, txObject: TxObject.fromString(tx) },
141
- async (rawTx, opt = {}) => {
142
- let onAcc
143
- try {
144
- onAcc = resolveOnAccount(instance.addresses(), address, opt)
145
- } catch (e) {
146
- if (instance.debug) console.error(e)
147
- return { error: ERRORS.internalError(e.message) }
148
- }
149
- try {
150
- const t = rawTx || tx
151
- const result = returnSigned
152
- ? { signedTransaction: await instance.signTransaction(t, { onAccount: onAcc }) }
153
- : { transactionHash: await instance.send(t, { onAccount: onAcc, verify: false }) }
154
- return { result }
155
- } catch (e) {
156
- if (!returnSigned) {
157
- // Validate transaction
158
- const validation = await verifyTransaction(rawTx || tx, instance.selectedNode.instance)
159
- if (validation.length) return { error: ERRORS.invalidTransaction(validation) }
160
- // Send broadcast failed error to aepp
161
- return { error: ERRORS.broadcastFailed(e.message) }
162
- }
163
- throw e
164
- }
165
- },
166
- (error) => ({ error: ERRORS.rejectedByUser(error) })
167
- )
168
- },
169
- [METHODS.signMessage] (callInstance, instance, client, { message, onAccount }) {
170
- // Authorization check
171
- if (!client.isConnected()) return { error: ERRORS.notAuthorize() }
172
- const address = onAccount || client.currentAccount
173
- if (!client.hasAccessToAccount(address)) {
174
- return { error: ERRORS.permissionDeny(address) }
175
- }
176
-
177
- return callInstance(
178
- 'onMessageSign',
179
- { message, onAccount: address },
180
- async (opt = {}) => {
181
- try {
182
- const onAcc = resolveOnAccount(instance.addresses(), address, opt)
183
- return {
184
- result: {
185
- signature: await instance.signMessage(message, {
186
- onAccount: onAcc,
187
- returnHex: true
188
- })
189
- }
190
- }
191
- } catch (e) {
192
- if (instance.debug) console.error(e)
193
- return { error: ERRORS.internalError(e.message) }
194
- }
195
- },
196
- (error) => ({ error: ERRORS.rejectedByUser(error) })
197
- )
198
- }
199
- }
200
-
201
- const handleMessage = (instance, id) => async (msg, origin) => {
202
- const client = instance.rpcClients[id]
203
- if (!msg.id) {
204
- return getHandler(
205
- NOTIFICATIONS, msg, { debug: instance.debug }
206
- )(instance, { client })(msg, origin)
207
- }
208
- if (Object.prototype.hasOwnProperty.call(client.callbacks, msg.id)) {
209
- return getHandler(RESPONSES, msg, { debug: instance.debug })(instance, { client })(msg, origin)
210
- } else {
211
- const { id, method } = msg
212
- const callInstance = (methodName, params, accept, deny) => () => new Promise(resolve => {
213
- instance[methodName](
214
- client,
215
- {
216
- id,
217
- method,
218
- params,
219
- accept: (...args) => resolve(accept(...args)),
220
- deny: (...args) => resolve(deny(...args))
221
- },
222
- origin
223
- )
224
- })
225
- // TODO make one structure for handler functions
226
- const errorObjectOrHandler = getHandler(REQUESTS, msg, { debug: instance.debug })(
227
- callInstance, instance, client, msg.params
228
- )
229
- const response = typeof errorObjectOrHandler === 'function' ? await errorObjectOrHandler() : errorObjectOrHandler
230
- sendResponseMessage(client)(id, method, response)
231
- }
232
- }
233
-
234
- /**
235
- * Contain functionality for aepp interaction and managing multiple aepps
236
- * @alias module:@aeternity/aepp-sdk/es/utils/aepp-wallet-communication/rpc/wallet-rpc
237
- * @function
238
- * @rtype Stamp
239
- * @param {Object} param Init params object
240
- * @param {String=} [param.name] Wallet name
241
- * @param {Function} onConnection Call-back function for incoming AEPP connection
242
- * @param {Function} onSubscription Call-back function for incoming AEPP account subscription
243
- * @param {Function} onSign Call-back function for incoming AEPP sign request
244
- * @param {Function} onAskAccounts Call-back function for incoming AEPP get address request
245
- * @param {Function} onMessageSign Call-back function for incoming AEPP sign message request
246
- * Second argument of incoming call-backs contain function for accept/deny request
247
- * @param {Function} onDisconnect Call-back function for disconnect event
248
- * @return {Object}
249
- */
250
- export default Ae.compose(AccountMultiple, {
251
- init ({
252
- name,
253
- debug = false,
254
- ...other
255
- } = {}) {
256
- [
257
- 'onConnection', 'onSubscription', 'onSign', 'onDisconnect', 'onAskAccounts', 'onMessageSign'
258
- ].forEach(event => {
259
- const handler = other[event]
260
- if (typeof handler !== 'function') throw new ArgumentError(event, 'a function', handler)
261
- this[event] = handler
262
- })
263
-
264
- this.debug = debug
265
- this.rpcClients = {}
266
- this.name = name
267
- this.id = uuid()
268
-
269
- const _selectAccount = this.selectAccount.bind(this)
270
- const _addAccount = this.addAccount.bind(this)
271
- const _selectNode = this.selectNode.bind(this)
272
-
273
- // Overwrite AE methods
274
- this.selectAccount = (address, { condition = () => true } = {}) => {
275
- _selectAccount(address)
276
- Object.values(this.rpcClients)
277
- .filter(client => client.isConnected() && client.isSubscribed() &&
278
- client.hasAccessToAccount(address) && condition(client))
279
- .forEach(client => client.setAccounts({
280
- current: { [address]: {} },
281
- connected: {
282
- ...client.accounts.current,
283
- ...Object.entries(client.accounts.connected)
284
- .filter(([k, v]) => k !== address)
285
- .reduce((acc, [k, v]) => ({ ...acc, [k]: v }), {})
286
- }
287
- }))
288
- }
289
- this.addAccount = async (account, { select, meta = {}, condition = () => true } = {}) => {
290
- await _addAccount(account, { select })
291
- const address = await account.address()
292
- // Send notification 'update.address' to all Aepp which are subscribed for connected accounts
293
- Object.values(this.rpcClients)
294
- .filter(client => client.isConnected() && client.isSubscribed() && condition(client))
295
- .forEach(client => client.setAccounts({
296
- current: { ...select ? { [address]: meta } : client.accounts.current },
297
- connected: {
298
- ...select ? client.accounts.current : { [address]: meta },
299
- ...client.accounts.connected
300
- }
301
- }))
302
- }
303
- this.selectNode = (name) => {
304
- _selectNode(name)
305
- // Send notification 'update.network' to all Aepp which connected
306
- Object.values(this.rpcClients)
307
- .filter(client => client.isConnected())
308
- .forEach(client => {
309
- client.sendMessage(
310
- message(METHODS.updateNetwork, {
311
- networkId: this.getNetworkId(),
312
- ...(client.info.status === RPC_STATUS.NODE_BINDED && { node: this.selectedNode })
313
- }), true)
314
- })
315
- }
316
- },
317
- methods: {
318
- /**
319
- * Remove specific RpcClient by ID
320
- * @function removeRpcClient
321
- * @instance
322
- * @rtype (id: string) => void
323
- * @param {String} id Client ID
324
- * @param {Object} [opt = {}]
325
- * @return {void}
326
- */
327
- removeRpcClient (id, { forceConnectionClose = false } = {}) {
328
- const client = this.rpcClients[id]
329
- if (!client) throw new UnknownRpcClientError(id)
330
- client.disconnect(forceConnectionClose)
331
- delete this.rpcClients[id]
332
- },
333
- /**
334
- * Add new client by AEPP connection
335
- * @function addRpcClient
336
- * @instance
337
- * @rtype (clientConnection: Object) => Object
338
- * @param {Object} clientConnection AEPP connection object
339
- * @return {String} Client ID
340
- */
341
- addRpcClient (clientConnection) {
342
- // @TODO detect if aepp has some history based on origin????
343
- // if yes use this instance for connection
344
- const id = uuid()
345
- this.rpcClients[id] = RpcClient({
346
- id,
347
- info: { status: RPC_STATUS.WAITING_FOR_CONNECTION_REQUEST },
348
- connection: clientConnection,
349
- handlers: [handleMessage(this, id), this.onDisconnect]
350
- })
351
- return id
352
- },
353
- /**
354
- * Share wallet info
355
- * Send shareWalletInfo message to notify AEPP about wallet
356
- * @function shareWalletInfo
357
- * @instance
358
- * @rtype (postFn: Function) => void
359
- * @param {Function} postFn Send message function like `(msg) => void`
360
- * @return {void}
361
- */
362
- shareWalletInfo (postFn) {
363
- postFn({
364
- jsonrpc: '2.0',
365
- ...message(METHODS.readyToConnect, this.getWalletInfo())
366
- })
367
- },
368
- /**
369
- * Get Wallet info object
370
- * @function getWalletInfo
371
- * @instance
372
- * @rtype () => Object
373
- * @return {Object} Object with wallet information(id, name, network, ...)
374
- */
375
- getWalletInfo () {
376
- const runtime = getBrowserAPI(true).runtime
377
- return {
378
- id: runtime && runtime.id ? runtime.id : this.id,
379
- name: this.name,
380
- networkId: this.getNetworkId(),
381
- origin: window.location.origin,
382
- type: runtime && runtime.id ? WALLET_TYPE.extension : WALLET_TYPE.window
383
- }
384
- },
385
- /**
386
- * Get Wallet accounts
387
- * @function getAccounts
388
- * @instance
389
- * @rtype () => Object
390
- * @return {Object} Object with accounts information({ connected: Object, current: Object })
391
- */
392
- getAccounts () {
393
- return {
394
- current: this.selectedAddress ? { [this.selectedAddress]: {} } : {},
395
- connected: this.addresses()
396
- .filter(a => a !== this.selectedAddress)
397
- .reduce((acc, a) => ({ ...acc, [a]: {} }), {})
398
- }
399
- }
400
- }
401
- })
@@ -1,80 +0,0 @@
1
- export const VERSION = 1
2
-
3
- export const enum MESSAGE_DIRECTION {
4
- to_waellet = 'to_waellet',
5
- to_aepp = 'to_aepp'
6
- }
7
-
8
- export const enum WALLET_TYPE {
9
- window = 'window',
10
- extension = 'extension'
11
- }
12
-
13
- export const enum SUBSCRIPTION_TYPES {
14
- subscribe = 'subscribe',
15
- unsubscribe = 'unsubscribe'
16
- }
17
-
18
- export const enum METHODS {
19
- readyToConnect = 'connection.announcePresence',
20
- updateAddress = 'address.update',
21
- address = 'address.get',
22
- connect = 'connection.open',
23
- sign = 'transaction.sign',
24
- signMessage = 'message.sign',
25
- subscribeAddress = 'address.subscribe',
26
- updateNetwork = 'networkId.update',
27
- closeConnection = 'connection.close'
28
- }
29
-
30
- export const enum RPC_STATUS {
31
- CONNECTED = 'CONNECTED',
32
- NODE_BINDED = 'NODE_BINDED',
33
- DISCONNECTED = 'DISCONNECTED',
34
- CONNECTION_REJECTED = 'CONNECTION_REJECTED',
35
- WAITING_FOR_CONNECTION_APPROVE = 'WAITING_FOR_CONNECTION_APPROVE',
36
- WAITING_FOR_CONNECTION_REQUEST = 'WAITING_FOR_CONNECTION_REQUEST'
37
- }
38
-
39
- export const ERRORS = {
40
- broadcastFailed: (error = {}) => ({
41
- code: 3,
42
- data: error,
43
- message: 'Broadcast failed'
44
- }),
45
- invalidTransaction: (error = {}) => ({
46
- code: 2,
47
- data: error,
48
- message: 'Invalid transaction'
49
- }),
50
- rejectedByUser: (error = {}) => ({
51
- code: 4,
52
- data: error,
53
- message: 'Operation rejected by user'
54
- }),
55
- connectionDeny: (error = {}) => ({
56
- code: 9,
57
- data: error,
58
- message: 'Wallet deny your connection request'
59
- }),
60
- permissionDeny: (address: string) => ({
61
- code: 11,
62
- message: `You are not subscribed for account ${address}`
63
- }),
64
- internalError: (message: string) => ({
65
- code: 12,
66
- message
67
- }),
68
- notAuthorize: () => ({
69
- code: 10,
70
- message: 'You are not connected to the wallet'
71
- }),
72
- unsupportedProtocol: () => ({
73
- code: 5,
74
- message: 'Unsupported Protocol Version'
75
- }),
76
- unsupportedNetwork: () => ({
77
- code: 8,
78
- message: 'Unsupported Network'
79
- })
80
- }
@@ -1,92 +0,0 @@
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
-
18
- /**
19
- * Wallet Detector
20
- *
21
- * This is the complement to {@link module:@aeternity/aepp-sdk/es/utils}.
22
- * @module @aeternity/aepp-sdk/es/utils/aepp-wallet-communication/wallet-detector
23
- * @export WalletDetector
24
- */
25
- import stampit from '@stamp/it'
26
- import BrowserWindowMessageConnection from './connection/browser-window-message'
27
- import { MESSAGE_DIRECTION, METHODS } from './schema'
28
- import { UnsupportedPlatformError } from '../errors'
29
-
30
- /**
31
- * WalletDetector stamp
32
- * @function
33
- * @alias module:@aeternity/aepp-sdk/es/utils/aepp-wallet-communication/wallet-detector
34
- * @rtype Stamp
35
- * @param {Object} params={} - Initializer object
36
- * @param {WalletConnection} params.connection - Connection for listening for wallets
37
- * @return {WalletDetector}
38
- */
39
- export default stampit({
40
- init ({ connection } = {}) {
41
- if (!window) throw new UnsupportedPlatformError('Window object not found, you can run wallet detector only in browser')
42
- this.connection = connection || BrowserWindowMessageConnection({ connectionInfo: { id: 'spy' } })
43
- this.wallets = {}
44
- },
45
- methods: {
46
- /**
47
- * Start scanning
48
- * @function scan
49
- * @instance
50
- * @param {Function} onDetected Call-back function which trigger on new wallet
51
- * @return {void}
52
- */
53
- scan (onDetected) {
54
- const { wallets } = this
55
- this.connection.connect(({ method, params }, origin, source) => {
56
- if (
57
- !method || !params ||
58
- method !== METHODS.readyToConnect || wallets[params.id]
59
- ) return
60
-
61
- const wallet = {
62
- ...params,
63
- async getConnection () {
64
- // if detect extension wallet or page wallet
65
- const isExtension = this.type === 'extension'
66
- const origin = isExtension ? window.origin : this.origin
67
- return BrowserWindowMessageConnection({
68
- connectionInfo: this,
69
- sendDirection: isExtension ? MESSAGE_DIRECTION.to_waellet : undefined,
70
- receiveDirection: isExtension ? MESSAGE_DIRECTION.to_aepp : undefined,
71
- target: source,
72
- origin
73
- })
74
- }
75
- }
76
- wallets[wallet.id] = wallet
77
- onDetected({ wallets, newWallet: wallet })
78
- })
79
- if (Object.keys(wallets).length) onDetected({ wallets })
80
- },
81
-
82
- /**
83
- * Stop scanning
84
- * @function stopScan
85
- * @instance
86
- * @return {void}
87
- */
88
- stopScan () {
89
- this.connection.disconnect()
90
- }
91
- }
92
- })
@@ -1,45 +0,0 @@
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 stampit from '@stamp/it'
19
-
20
- function asyncInit (options = {}, { stamp, args, instance }) {
21
- return stamp.compose.deepConfiguration.AsyncInit.initializers.reduce(async (instance, init) => {
22
- instance = await Promise.resolve(instance)
23
- if (typeof init === 'function') {
24
- const ret = await Promise.resolve(init.call(instance, options, { stamp, args, instance }))
25
- return ret === undefined ? instance : ret
26
- }
27
- return instance
28
- }, instance)
29
- }
30
-
31
- export default stampit({
32
- deepConf: { AsyncInit: { initializers: [] } },
33
- composers ({ stamp, composables }) {
34
- const conf = stamp.compose.deepConfiguration.AsyncInit
35
- conf.initializers = composables
36
- .map(c =>
37
- c?.compose?.deepConfiguration?.AsyncInit?.initializers ||
38
- (c.compose || c).initializers ||
39
- [])
40
- .flat(Infinity)
41
- .filter((f, idx, arr) => !arr.slice(0, idx).includes(f))
42
- .filter(f => f !== asyncInit)
43
- stamp.compose.initializers = [asyncInit]
44
- }
45
- })