@aeternity/aepp-sdk 11.0.1 → 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 (376) 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 +12 -19
  4. package/dist/aepp-sdk.browser-script.js.map +1 -1
  5. package/dist/aepp-sdk.browser.js +1 -1
  6. package/dist/aepp-sdk.browser.js.map +1 -1
  7. package/dist/aepp-sdk.js +1 -1
  8. package/dist/aepp-sdk.js.map +1 -1
  9. package/es/AeSdk.d.ts +37 -0
  10. package/es/AeSdk.mjs +81 -0
  11. package/es/AeSdk.mjs.map +1 -0
  12. package/es/AeSdkAepp.d.ts +69 -0
  13. package/es/AeSdkAepp.mjs +175 -0
  14. package/es/AeSdkAepp.mjs.map +1 -0
  15. package/es/AeSdkBase.d.ts +212 -0
  16. package/es/AeSdkBase.mjs +310 -0
  17. package/es/AeSdkBase.mjs.map +1 -0
  18. package/es/AeSdkWallet.d.ts +103 -0
  19. package/es/AeSdkWallet.mjs +322 -0
  20. package/es/AeSdkWallet.mjs.map +1 -0
  21. package/es/Node.d.ts +44 -0
  22. package/es/Node.mjs +141 -0
  23. package/es/Node.mjs.map +1 -0
  24. package/es/account/Base.d.ts +65 -0
  25. package/es/account/Base.mjs +123 -0
  26. package/es/account/Base.mjs.map +1 -0
  27. package/es/account/Memory.d.ts +25 -0
  28. package/es/account/Memory.mjs +81 -0
  29. package/es/account/Memory.mjs.map +1 -0
  30. package/es/account/Rpc.d.ts +27 -0
  31. package/es/account/Rpc.mjs +79 -0
  32. package/es/account/Rpc.mjs.map +1 -0
  33. package/es/aens.d.ts +209 -0
  34. package/es/aens.mjs +332 -0
  35. package/es/aens.mjs.map +1 -0
  36. package/es/aepp-wallet-communication/connection/Browser.d.ts +32 -0
  37. package/es/aepp-wallet-communication/connection/Browser.mjs +70 -0
  38. package/es/aepp-wallet-communication/connection/Browser.mjs.map +1 -0
  39. package/es/aepp-wallet-communication/connection/BrowserRuntime.d.ts +17 -0
  40. package/es/aepp-wallet-communication/connection/BrowserRuntime.mjs +57 -0
  41. package/es/aepp-wallet-communication/connection/BrowserRuntime.mjs.map +1 -0
  42. package/es/aepp-wallet-communication/connection/BrowserWindowMessage.d.ts +35 -0
  43. package/es/aepp-wallet-communication/connection/BrowserWindowMessage.mjs +142 -0
  44. package/es/aepp-wallet-communication/connection/BrowserWindowMessage.mjs.map +1 -0
  45. package/es/aepp-wallet-communication/connection-proxy.d.ts +10 -0
  46. package/{src/utils/crypto-ts.ts → es/aepp-wallet-communication/connection-proxy.mjs} +15 -11
  47. package/es/aepp-wallet-communication/connection-proxy.mjs.map +1 -0
  48. package/es/aepp-wallet-communication/rpc/RpcClient.d.ts +33 -0
  49. package/es/aepp-wallet-communication/rpc/RpcClient.mjs +169 -0
  50. package/es/aepp-wallet-communication/rpc/RpcClient.mjs.map +1 -0
  51. package/es/aepp-wallet-communication/rpc/types.d.ts +77 -0
  52. package/es/aepp-wallet-communication/rpc/types.mjs +3 -0
  53. package/es/aepp-wallet-communication/rpc/types.mjs.map +1 -0
  54. package/es/aepp-wallet-communication/schema.d.ts +90 -46
  55. package/es/aepp-wallet-communication/schema.mjs +214 -0
  56. package/es/aepp-wallet-communication/schema.mjs.map +1 -0
  57. package/es/aepp-wallet-communication/wallet-detector.d.ts +24 -0
  58. package/es/aepp-wallet-communication/wallet-detector.mjs +63 -0
  59. package/es/aepp-wallet-communication/wallet-detector.mjs.map +1 -0
  60. package/es/apis/compiler/compiler.d.ts +92 -0
  61. package/es/apis/compiler/compiler.mjs +576 -0
  62. package/es/apis/compiler/compiler.mjs.map +1 -0
  63. package/es/apis/compiler/index.d.ts +2 -0
  64. package/es/apis/compiler/index.mjs +3 -0
  65. package/es/apis/compiler/index.mjs.map +1 -0
  66. package/es/apis/compiler/models/index.d.ts +248 -0
  67. package/es/apis/compiler/models/index.mjs +48 -0
  68. package/es/apis/compiler/models/index.mjs.map +1 -0
  69. package/es/apis/compiler/models/mappers.d.ts +23 -0
  70. package/es/apis/compiler/models/mappers.mjs +585 -0
  71. package/es/apis/compiler/models/mappers.mjs.map +1 -0
  72. package/es/apis/compiler/models/parameters.d.ts +13 -0
  73. package/es/apis/compiler/models/parameters.mjs +71 -0
  74. package/es/apis/compiler/models/parameters.mjs.map +1 -0
  75. package/es/apis/node/index.d.ts +2 -0
  76. package/es/apis/node/index.mjs +3 -0
  77. package/es/apis/node/index.mjs.map +1 -0
  78. package/es/apis/node/models/index.d.ts +1061 -0
  79. package/es/apis/node/models/index.mjs +2 -0
  80. package/es/apis/node/models/index.mjs.map +1 -0
  81. package/es/apis/node/models/mappers.d.ts +95 -0
  82. package/es/apis/node/models/mappers.mjs +4164 -0
  83. package/es/apis/node/models/mappers.mjs.map +1 -0
  84. package/es/apis/node/models/parameters.d.ts +17 -0
  85. package/es/apis/node/models/parameters.mjs +165 -0
  86. package/es/apis/node/models/parameters.mjs.map +1 -0
  87. package/es/apis/node/node.d.ts +215 -0
  88. package/es/apis/node/node.mjs +1165 -0
  89. package/es/apis/node/node.mjs.map +1 -0
  90. package/es/chain.d.ts +220 -0
  91. package/es/chain.mjs +524 -0
  92. package/es/chain.mjs.map +1 -0
  93. package/es/channel/handlers.d.ts +34 -0
  94. package/es/channel/handlers.mjs +147 -112
  95. package/es/channel/handlers.mjs.map +1 -1
  96. package/es/channel/index.d.ts +634 -0
  97. package/es/channel/index.mjs +898 -900
  98. package/es/channel/index.mjs.map +1 -1
  99. package/es/channel/internal.d.ts +100 -0
  100. package/es/channel/internal.mjs +97 -51
  101. package/es/channel/internal.mjs.map +1 -1
  102. package/es/contract/Compiler.d.ts +17 -0
  103. package/es/contract/Compiler.mjs +67 -0
  104. package/es/contract/Compiler.mjs.map +1 -0
  105. package/es/contract/aci.d.ts +125 -0
  106. package/es/contract/aci.mjs +199 -180
  107. package/es/contract/aci.mjs.map +1 -1
  108. package/es/contract/ga.d.ts +68 -0
  109. package/es/contract/ga.mjs +190 -0
  110. package/es/contract/ga.mjs.map +1 -0
  111. package/es/contract/methods.d.ts +68 -0
  112. package/es/contract/methods.mjs +101 -0
  113. package/es/contract/methods.mjs.map +1 -0
  114. package/es/index.d.ts +32 -0
  115. package/es/index.mjs +32 -40
  116. package/es/index.mjs.map +1 -1
  117. package/es/oracle.d.ts +154 -0
  118. package/es/oracle.mjs +288 -0
  119. package/es/oracle.mjs.map +1 -0
  120. package/es/spend.d.ts +61 -0
  121. package/es/spend.mjs +122 -0
  122. package/es/spend.mjs.map +1 -0
  123. package/es/tx/builder/constants.d.ts +41 -0
  124. package/es/tx/builder/constants.mjs +11 -19
  125. package/es/tx/builder/constants.mjs.map +1 -1
  126. package/es/tx/builder/field-types.d.ts +62 -0
  127. package/es/tx/builder/field-types.mjs +62 -10
  128. package/es/tx/builder/field-types.mjs.map +1 -1
  129. package/es/tx/builder/helpers.d.ts +131 -0
  130. package/es/tx/builder/helpers.mjs +71 -169
  131. package/es/tx/builder/helpers.mjs.map +1 -1
  132. package/es/tx/builder/index.d.ts +75 -0
  133. package/es/tx/builder/index.mjs +141 -323
  134. package/es/tx/builder/index.mjs.map +1 -1
  135. package/es/tx/builder/schema.d.ts +350 -0
  136. package/es/tx/builder/schema.mjs +173 -510
  137. package/es/tx/builder/schema.mjs.map +1 -1
  138. package/es/tx/index.d.ts +63 -0
  139. package/es/tx/index.mjs +171 -265
  140. package/es/tx/index.mjs.map +1 -1
  141. package/es/tx/min-fee.d.ts +20 -0
  142. package/es/tx/min-fee.mjs +148 -0
  143. package/es/tx/min-fee.mjs.map +1 -0
  144. package/es/tx/validator.d.ts +19 -0
  145. package/es/tx/validator.mjs +64 -71
  146. package/es/tx/validator.mjs.map +1 -1
  147. package/es/typings/@aeternity__argon2-browser/index.d.mjs +2 -0
  148. package/es/typings/@aeternity__argon2-browser/index.d.mjs.map +1 -0
  149. package/es/typings/@aeternity__uuid/index.d.mjs +2 -0
  150. package/es/typings/@aeternity__uuid/index.d.mjs.map +1 -0
  151. package/es/typings/bip32-path/index.d.mjs +2 -0
  152. package/es/typings/bip32-path/index.d.mjs.map +1 -0
  153. package/es/typings/blakejs/index.d.mjs.map +1 -1
  154. package/es/typings/tweetnacl-auth/index.d.mjs +2 -0
  155. package/es/typings/tweetnacl-auth/index.d.mjs.map +1 -0
  156. package/es/utils/amount-formatter.d.ts +42 -0
  157. package/es/utils/amount-formatter.mjs +28 -41
  158. package/es/utils/amount-formatter.mjs.map +1 -1
  159. package/es/utils/autorest.d.ts +6 -0
  160. package/es/utils/autorest.mjs +97 -0
  161. package/es/utils/autorest.mjs.map +1 -0
  162. package/es/utils/bignumber.d.ts +13 -0
  163. package/es/utils/bignumber.mjs +10 -8
  164. package/es/utils/bignumber.mjs.map +1 -1
  165. package/es/{bytes.d.ts → utils/bytes.d.ts} +10 -13
  166. package/es/utils/bytes.mjs +10 -14
  167. package/es/utils/bytes.mjs.map +1 -1
  168. package/es/utils/crypto.d.ts +103 -0
  169. package/es/utils/crypto.mjs +60 -68
  170. package/es/utils/crypto.mjs.map +1 -1
  171. package/es/utils/encoder.d.ts +26 -0
  172. package/es/utils/encoder.mjs +47 -51
  173. package/es/utils/encoder.mjs.map +1 -1
  174. package/es/{errors.d.ts → utils/errors.d.ts} +254 -57
  175. package/es/utils/errors.mjs +318 -125
  176. package/es/utils/errors.mjs.map +1 -1
  177. package/es/utils/hd-wallet.d.ts +34 -0
  178. package/es/utils/hd-wallet.mjs +27 -16
  179. package/es/utils/hd-wallet.mjs.map +1 -1
  180. package/es/utils/json-big.d.ts +5 -0
  181. package/es/utils/json-big.mjs +10 -14
  182. package/es/utils/json-big.mjs.map +1 -1
  183. package/es/utils/keystore.d.ts +51 -0
  184. package/es/utils/keystore.mjs +98 -193
  185. package/es/utils/keystore.mjs.map +1 -1
  186. package/es/{mptree.d.ts → utils/mptree.d.ts} +5 -8
  187. package/es/utils/mptree.mjs +13 -14
  188. package/es/utils/mptree.mjs.map +1 -1
  189. package/es/utils/other.d.ts +14 -0
  190. package/es/utils/other.mjs +21 -36
  191. package/es/utils/other.mjs.map +1 -1
  192. package/es/{semver-satisfies.d.ts → utils/semver-satisfies.d.ts} +0 -0
  193. package/es/utils/semver-satisfies.mjs.map +1 -1
  194. package/es/utils/string.d.ts +24 -0
  195. package/es/utils/string.mjs +8 -10
  196. package/es/utils/string.mjs.map +1 -1
  197. package/package.json +49 -39
  198. package/src/AeSdk.ts +65 -0
  199. package/src/AeSdkAepp.ts +167 -0
  200. package/src/AeSdkBase.ts +320 -0
  201. package/src/AeSdkWallet.ts +332 -0
  202. package/src/Node.ts +167 -0
  203. package/src/account/Base.ts +114 -0
  204. package/src/account/Memory.ts +83 -0
  205. package/src/account/Rpc.ts +67 -0
  206. package/src/aens.ts +391 -0
  207. package/src/aepp-wallet-communication/connection/Browser.ts +68 -0
  208. package/src/aepp-wallet-communication/connection/BrowserRuntime.ts +58 -0
  209. package/src/aepp-wallet-communication/connection/BrowserWindowMessage.ts +111 -0
  210. package/{es/utils/crypto-ts.mjs → src/aepp-wallet-communication/connection-proxy.ts} +16 -17
  211. package/src/aepp-wallet-communication/rpc/RpcClient.ts +137 -0
  212. package/src/aepp-wallet-communication/rpc/types.ts +66 -0
  213. package/src/aepp-wallet-communication/schema.ts +181 -0
  214. package/src/aepp-wallet-communication/wallet-detector.ts +71 -0
  215. package/src/apis/compiler/code-model-v4.yaml +2649 -0
  216. package/src/apis/compiler/compiler.ts +585 -0
  217. package/src/apis/compiler/index.ts +2 -0
  218. package/src/apis/compiler/models/index.ts +301 -0
  219. package/src/apis/compiler/models/mappers.ts +583 -0
  220. package/src/apis/compiler/models/parameters.ts +93 -0
  221. package/src/apis/node/code-model-v4.yaml +10046 -0
  222. package/src/apis/node/index.ts +2 -0
  223. package/src/apis/node/models/index.ts +1253 -0
  224. package/src/apis/node/models/mappers.ts +4278 -0
  225. package/src/apis/node/models/parameters.ts +188 -0
  226. package/src/apis/node/node.ts +1299 -0
  227. package/src/chain.ts +444 -0
  228. package/src/channel/{handlers.js → handlers.ts} +220 -128
  229. package/src/channel/index.ts +991 -0
  230. package/src/channel/internal.ts +345 -0
  231. package/src/contract/Compiler.ts +66 -0
  232. package/src/contract/aci.ts +529 -0
  233. package/src/contract/ga.ts +178 -0
  234. package/src/contract/methods.ts +118 -0
  235. package/src/index.ts +51 -0
  236. package/src/oracle.ts +342 -0
  237. package/src/spend.ts +152 -0
  238. package/src/tx/builder/{constants.js → constants.ts} +12 -16
  239. package/src/tx/builder/field-types.ts +111 -0
  240. package/src/tx/builder/helpers.ts +253 -0
  241. package/src/tx/builder/index.ts +394 -0
  242. package/src/tx/builder/schema.ts +771 -0
  243. package/src/tx/index.ts +199 -0
  244. package/src/tx/min-fee.ts +136 -0
  245. package/src/tx/validator.ts +226 -0
  246. package/src/typings/@aeternity__argon2-browser/index.d.ts +3 -0
  247. package/src/typings/@aeternity__uuid/index.d.ts +3 -0
  248. package/src/typings/bip32-path/index.d.ts +33 -0
  249. package/src/typings/tweetnacl-auth/index.d.ts +14 -0
  250. package/src/utils/amount-formatter.ts +29 -42
  251. package/src/utils/autorest.ts +90 -0
  252. package/src/utils/bignumber.ts +9 -11
  253. package/src/utils/bytes.ts +12 -14
  254. package/src/utils/crypto.ts +217 -0
  255. package/src/utils/encoder.ts +52 -55
  256. package/src/utils/errors.ts +268 -134
  257. package/src/utils/hd-wallet.ts +134 -0
  258. package/src/utils/json-big.ts +26 -0
  259. package/src/utils/keystore.ts +179 -0
  260. package/src/utils/mptree.ts +14 -14
  261. package/src/utils/other.ts +28 -43
  262. package/src/utils/string.ts +8 -10
  263. package/es/account/base.mjs +0 -179
  264. package/es/account/base.mjs.map +0 -1
  265. package/es/account/memory.mjs +0 -99
  266. package/es/account/memory.mjs.map +0 -1
  267. package/es/account/multiple.mjs +0 -179
  268. package/es/account/multiple.mjs.map +0 -1
  269. package/es/ae/aens.mjs +0 -404
  270. package/es/ae/aens.mjs.map +0 -1
  271. package/es/ae/aepp.mjs +0 -45
  272. package/es/ae/aepp.mjs.map +0 -1
  273. package/es/ae/contract.mjs +0 -159
  274. package/es/ae/contract.mjs.map +0 -1
  275. package/es/ae/index.mjs +0 -207
  276. package/es/ae/index.mjs.map +0 -1
  277. package/es/ae/oracle.mjs +0 -339
  278. package/es/ae/oracle.mjs.map +0 -1
  279. package/es/ae/universal.mjs +0 -45
  280. package/es/ae/universal.mjs.map +0 -1
  281. package/es/ae/wallet.mjs +0 -50
  282. package/es/ae/wallet.mjs.map +0 -1
  283. package/es/amount-formatter.d.ts +0 -58
  284. package/es/bignumber.d.ts +0 -18
  285. package/es/chain/index.mjs +0 -272
  286. package/es/chain/index.mjs.map +0 -1
  287. package/es/chain/node.mjs +0 -442
  288. package/es/chain/node.mjs.map +0 -1
  289. package/es/contract/compiler.mjs +0 -115
  290. package/es/contract/compiler.mjs.map +0 -1
  291. package/es/contract/ga/helpers.mjs +0 -30
  292. package/es/contract/ga/helpers.mjs.map +0 -1
  293. package/es/contract/ga/index.mjs +0 -178
  294. package/es/contract/ga/index.mjs.map +0 -1
  295. package/es/crypto-ts.d.ts +0 -9
  296. package/es/encoder.d.ts +0 -26
  297. package/es/node-pool/index.mjs +0 -188
  298. package/es/node-pool/index.mjs.map +0 -1
  299. package/es/node.mjs +0 -133
  300. package/es/node.mjs.map +0 -1
  301. package/es/other.d.ts +0 -31
  302. package/es/string.d.ts +0 -26
  303. package/es/tx/tx-object.mjs +0 -283
  304. package/es/tx/tx-object.mjs.map +0 -1
  305. package/es/tx/tx.mjs +0 -938
  306. package/es/tx/tx.mjs.map +0 -1
  307. package/es/utils/aepp-wallet-communication/connection/browser-runtime.mjs +0 -132
  308. package/es/utils/aepp-wallet-communication/connection/browser-runtime.mjs.map +0 -1
  309. package/es/utils/aepp-wallet-communication/connection/browser-window-message.mjs +0 -183
  310. package/es/utils/aepp-wallet-communication/connection/browser-window-message.mjs.map +0 -1
  311. package/es/utils/aepp-wallet-communication/connection/index.mjs +0 -87
  312. package/es/utils/aepp-wallet-communication/connection/index.mjs.map +0 -1
  313. package/es/utils/aepp-wallet-communication/content-script-bridge.mjs +0 -98
  314. package/es/utils/aepp-wallet-communication/content-script-bridge.mjs.map +0 -1
  315. package/es/utils/aepp-wallet-communication/helpers.mjs +0 -92
  316. package/es/utils/aepp-wallet-communication/helpers.mjs.map +0 -1
  317. package/es/utils/aepp-wallet-communication/rpc/aepp-rpc.mjs +0 -375
  318. package/es/utils/aepp-wallet-communication/rpc/aepp-rpc.mjs.map +0 -1
  319. package/es/utils/aepp-wallet-communication/rpc/rpc-client.mjs +0 -275
  320. package/es/utils/aepp-wallet-communication/rpc/rpc-client.mjs.map +0 -1
  321. package/es/utils/aepp-wallet-communication/rpc/wallet-rpc.mjs +0 -541
  322. package/es/utils/aepp-wallet-communication/rpc/wallet-rpc.mjs.map +0 -1
  323. package/es/utils/aepp-wallet-communication/schema.mjs +0 -102
  324. package/es/utils/aepp-wallet-communication/schema.mjs.map +0 -1
  325. package/es/utils/aepp-wallet-communication/wallet-detector.mjs +0 -110
  326. package/es/utils/aepp-wallet-communication/wallet-detector.mjs.map +0 -1
  327. package/es/utils/async-init.mjs +0 -64
  328. package/es/utils/async-init.mjs.map +0 -1
  329. package/es/utils/crypto-ts.mjs.map +0 -1
  330. package/es/utils/swagger.mjs +0 -164
  331. package/es/utils/swagger.mjs.map +0 -1
  332. package/src/account/base.js +0 -153
  333. package/src/account/memory.js +0 -83
  334. package/src/account/multiple.js +0 -162
  335. package/src/ae/aens.js +0 -361
  336. package/src/ae/aepp.js +0 -45
  337. package/src/ae/contract.js +0 -148
  338. package/src/ae/index.js +0 -168
  339. package/src/ae/oracle.js +0 -311
  340. package/src/ae/universal.js +0 -47
  341. package/src/ae/wallet.js +0 -50
  342. package/src/chain/index.js +0 -269
  343. package/src/chain/node.js +0 -320
  344. package/src/channel/index.js +0 -903
  345. package/src/channel/internal.js +0 -236
  346. package/src/contract/aci.js +0 -376
  347. package/src/contract/compiler.js +0 -100
  348. package/src/contract/ga/helpers.js +0 -19
  349. package/src/contract/ga/index.js +0 -150
  350. package/src/index.js +0 -89
  351. package/src/node-pool/index.js +0 -172
  352. package/src/node.js +0 -116
  353. package/src/tx/builder/field-types.js +0 -61
  354. package/src/tx/builder/helpers.js +0 -334
  355. package/src/tx/builder/index.js +0 -465
  356. package/src/tx/builder/schema.js +0 -1100
  357. package/src/tx/index.js +0 -301
  358. package/src/tx/tx-object.js +0 -187
  359. package/src/tx/tx.js +0 -631
  360. package/src/tx/validator.js +0 -181
  361. package/src/utils/aepp-wallet-communication/connection/browser-runtime.js +0 -119
  362. package/src/utils/aepp-wallet-communication/connection/browser-window-message.js +0 -165
  363. package/src/utils/aepp-wallet-communication/connection/index.js +0 -85
  364. package/src/utils/aepp-wallet-communication/content-script-bridge.js +0 -86
  365. package/src/utils/aepp-wallet-communication/helpers.js +0 -60
  366. package/src/utils/aepp-wallet-communication/rpc/aepp-rpc.js +0 -294
  367. package/src/utils/aepp-wallet-communication/rpc/rpc-client.js +0 -232
  368. package/src/utils/aepp-wallet-communication/rpc/wallet-rpc.js +0 -401
  369. package/src/utils/aepp-wallet-communication/schema.ts +0 -80
  370. package/src/utils/aepp-wallet-communication/wallet-detector.js +0 -92
  371. package/src/utils/async-init.js +0 -45
  372. package/src/utils/crypto.js +0 -219
  373. package/src/utils/hd-wallet.js +0 -100
  374. package/src/utils/json-big.js +0 -26
  375. package/src/utils/keystore.js +0 -219
  376. package/src/utils/swagger.js +0 -156
@@ -1,102 +0,0 @@
1
- export const VERSION = 1;
2
- export let MESSAGE_DIRECTION;
3
-
4
- (function (MESSAGE_DIRECTION) {
5
- MESSAGE_DIRECTION["to_waellet"] = "to_waellet";
6
- MESSAGE_DIRECTION["to_aepp"] = "to_aepp";
7
- })(MESSAGE_DIRECTION || (MESSAGE_DIRECTION = {}));
8
-
9
- export let WALLET_TYPE;
10
-
11
- (function (WALLET_TYPE) {
12
- WALLET_TYPE["window"] = "window";
13
- WALLET_TYPE["extension"] = "extension";
14
- })(WALLET_TYPE || (WALLET_TYPE = {}));
15
-
16
- export let SUBSCRIPTION_TYPES;
17
-
18
- (function (SUBSCRIPTION_TYPES) {
19
- SUBSCRIPTION_TYPES["subscribe"] = "subscribe";
20
- SUBSCRIPTION_TYPES["unsubscribe"] = "unsubscribe";
21
- })(SUBSCRIPTION_TYPES || (SUBSCRIPTION_TYPES = {}));
22
-
23
- export let METHODS;
24
-
25
- (function (METHODS) {
26
- METHODS["readyToConnect"] = "connection.announcePresence";
27
- METHODS["updateAddress"] = "address.update";
28
- METHODS["address"] = "address.get";
29
- METHODS["connect"] = "connection.open";
30
- METHODS["sign"] = "transaction.sign";
31
- METHODS["signMessage"] = "message.sign";
32
- METHODS["subscribeAddress"] = "address.subscribe";
33
- METHODS["updateNetwork"] = "networkId.update";
34
- METHODS["closeConnection"] = "connection.close";
35
- })(METHODS || (METHODS = {}));
36
-
37
- export let RPC_STATUS;
38
-
39
- (function (RPC_STATUS) {
40
- RPC_STATUS["CONNECTED"] = "CONNECTED";
41
- RPC_STATUS["NODE_BINDED"] = "NODE_BINDED";
42
- RPC_STATUS["DISCONNECTED"] = "DISCONNECTED";
43
- RPC_STATUS["CONNECTION_REJECTED"] = "CONNECTION_REJECTED";
44
- RPC_STATUS["WAITING_FOR_CONNECTION_APPROVE"] = "WAITING_FOR_CONNECTION_APPROVE";
45
- RPC_STATUS["WAITING_FOR_CONNECTION_REQUEST"] = "WAITING_FOR_CONNECTION_REQUEST";
46
- })(RPC_STATUS || (RPC_STATUS = {}));
47
-
48
- export const ERRORS = {
49
- broadcastFailed: function () {
50
- let error = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
51
- return {
52
- code: 3,
53
- data: error,
54
- message: 'Broadcast failed'
55
- };
56
- },
57
- invalidTransaction: function () {
58
- let error = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
59
- return {
60
- code: 2,
61
- data: error,
62
- message: 'Invalid transaction'
63
- };
64
- },
65
- rejectedByUser: function () {
66
- let error = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
67
- return {
68
- code: 4,
69
- data: error,
70
- message: 'Operation rejected by user'
71
- };
72
- },
73
- connectionDeny: function () {
74
- let error = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
75
- return {
76
- code: 9,
77
- data: error,
78
- message: 'Wallet deny your connection request'
79
- };
80
- },
81
- permissionDeny: address => ({
82
- code: 11,
83
- message: `You are not subscribed for account ${address}`
84
- }),
85
- internalError: message => ({
86
- code: 12,
87
- message
88
- }),
89
- notAuthorize: () => ({
90
- code: 10,
91
- message: 'You are not connected to the wallet'
92
- }),
93
- unsupportedProtocol: () => ({
94
- code: 5,
95
- message: 'Unsupported Protocol Version'
96
- }),
97
- unsupportedNetwork: () => ({
98
- code: 8,
99
- message: 'Unsupported Network'
100
- })
101
- };
102
- //# sourceMappingURL=schema.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/utils/aepp-wallet-communication/schema.ts"],"names":["VERSION","MESSAGE_DIRECTION","WALLET_TYPE","SUBSCRIPTION_TYPES","METHODS","RPC_STATUS","ERRORS","broadcastFailed","error","code","data","message","invalidTransaction","rejectedByUser","connectionDeny","permissionDeny","address","internalError","notAuthorize","unsupportedProtocol","unsupportedNetwork"],"mappings":"AAAA,OAAO,MAAMA,OAAO,GAAG,CAAhB;AAEP,WAAkBC,iBAAlB;;WAAkBA,iB;AAAAA,EAAAA,iB;AAAAA,EAAAA,iB;GAAAA,iB,KAAAA,iB;;AAKlB,WAAkBC,WAAlB;;WAAkBA,W;AAAAA,EAAAA,W;AAAAA,EAAAA,W;GAAAA,W,KAAAA,W;;AAKlB,WAAkBC,kBAAlB;;WAAkBA,kB;AAAAA,EAAAA,kB;AAAAA,EAAAA,kB;GAAAA,kB,KAAAA,kB;;AAKlB,WAAkBC,OAAlB;;WAAkBA,O;AAAAA,EAAAA,O;AAAAA,EAAAA,O;AAAAA,EAAAA,O;AAAAA,EAAAA,O;AAAAA,EAAAA,O;AAAAA,EAAAA,O;AAAAA,EAAAA,O;AAAAA,EAAAA,O;AAAAA,EAAAA,O;GAAAA,O,KAAAA,O;;AAYlB,WAAkBC,UAAlB;;WAAkBA,U;AAAAA,EAAAA,U;AAAAA,EAAAA,U;AAAAA,EAAAA,U;AAAAA,EAAAA,U;AAAAA,EAAAA,U;AAAAA,EAAAA,U;GAAAA,U,KAAAA,U;;AASlB,OAAO,MAAMC,MAAM,GAAG;AACpBC,EAAAA,eAAe,EAAE;AAAA,QAACC,KAAD,uEAAS,EAAT;AAAA,WAAiB;AAChCC,MAAAA,IAAI,EAAE,CAD0B;AAEhCC,MAAAA,IAAI,EAAEF,KAF0B;AAGhCG,MAAAA,OAAO,EAAE;AAHuB,KAAjB;AAAA,GADG;AAMpBC,EAAAA,kBAAkB,EAAE;AAAA,QAACJ,KAAD,uEAAS,EAAT;AAAA,WAAiB;AACnCC,MAAAA,IAAI,EAAE,CAD6B;AAEnCC,MAAAA,IAAI,EAAEF,KAF6B;AAGnCG,MAAAA,OAAO,EAAE;AAH0B,KAAjB;AAAA,GANA;AAWpBE,EAAAA,cAAc,EAAE;AAAA,QAACL,KAAD,uEAAS,EAAT;AAAA,WAAiB;AAC/BC,MAAAA,IAAI,EAAE,CADyB;AAE/BC,MAAAA,IAAI,EAAEF,KAFyB;AAG/BG,MAAAA,OAAO,EAAE;AAHsB,KAAjB;AAAA,GAXI;AAgBpBG,EAAAA,cAAc,EAAE;AAAA,QAACN,KAAD,uEAAS,EAAT;AAAA,WAAiB;AAC/BC,MAAAA,IAAI,EAAE,CADyB;AAE/BC,MAAAA,IAAI,EAAEF,KAFyB;AAG/BG,MAAAA,OAAO,EAAE;AAHsB,KAAjB;AAAA,GAhBI;AAqBpBI,EAAAA,cAAc,EAAGC,OAAD,KAAsB;AACpCP,IAAAA,IAAI,EAAE,EAD8B;AAEpCE,IAAAA,OAAO,EAAG,sCAAqCK,OAAQ;AAFnB,GAAtB,CArBI;AAyBpBC,EAAAA,aAAa,EAAGN,OAAD,KAAsB;AACnCF,IAAAA,IAAI,EAAE,EAD6B;AAEnCE,IAAAA;AAFmC,GAAtB,CAzBK;AA6BpBO,EAAAA,YAAY,EAAE,OAAO;AACnBT,IAAAA,IAAI,EAAE,EADa;AAEnBE,IAAAA,OAAO,EAAE;AAFU,GAAP,CA7BM;AAiCpBQ,EAAAA,mBAAmB,EAAE,OAAO;AAC1BV,IAAAA,IAAI,EAAE,CADoB;AAE1BE,IAAAA,OAAO,EAAE;AAFiB,GAAP,CAjCD;AAqCpBS,EAAAA,kBAAkB,EAAE,OAAO;AACzBX,IAAAA,IAAI,EAAE,CADmB;AAEzBE,IAAAA,OAAO,EAAE;AAFgB,GAAP;AArCA,CAAf","sourcesContent":["export const VERSION = 1\n\nexport const enum MESSAGE_DIRECTION {\n to_waellet = 'to_waellet',\n to_aepp = 'to_aepp'\n}\n\nexport const enum WALLET_TYPE {\n window = 'window',\n extension = 'extension'\n}\n\nexport const enum SUBSCRIPTION_TYPES {\n subscribe = 'subscribe',\n unsubscribe = 'unsubscribe'\n}\n\nexport const enum METHODS {\n readyToConnect = 'connection.announcePresence',\n updateAddress = 'address.update',\n address = 'address.get',\n connect = 'connection.open',\n sign = 'transaction.sign',\n signMessage = 'message.sign',\n subscribeAddress = 'address.subscribe',\n updateNetwork = 'networkId.update',\n closeConnection = 'connection.close'\n}\n\nexport const enum RPC_STATUS {\n CONNECTED = 'CONNECTED',\n NODE_BINDED = 'NODE_BINDED',\n DISCONNECTED = 'DISCONNECTED',\n CONNECTION_REJECTED = 'CONNECTION_REJECTED',\n WAITING_FOR_CONNECTION_APPROVE = 'WAITING_FOR_CONNECTION_APPROVE',\n WAITING_FOR_CONNECTION_REQUEST = 'WAITING_FOR_CONNECTION_REQUEST'\n}\n\nexport const ERRORS = {\n broadcastFailed: (error = {}) => ({\n code: 3,\n data: error,\n message: 'Broadcast failed'\n }),\n invalidTransaction: (error = {}) => ({\n code: 2,\n data: error,\n message: 'Invalid transaction'\n }),\n rejectedByUser: (error = {}) => ({\n code: 4,\n data: error,\n message: 'Operation rejected by user'\n }),\n connectionDeny: (error = {}) => ({\n code: 9,\n data: error,\n message: 'Wallet deny your connection request'\n }),\n permissionDeny: (address: string) => ({\n code: 11,\n message: `You are not subscribed for account ${address}`\n }),\n internalError: (message: string) => ({\n code: 12,\n message\n }),\n notAuthorize: () => ({\n code: 10,\n message: 'You are not connected to the wallet'\n }),\n unsupportedProtocol: () => ({\n code: 5,\n message: 'Unsupported Protocol Version'\n }),\n unsupportedNetwork: () => ({\n code: 8,\n message: 'Unsupported Network'\n })\n}\n"],"file":"schema.mjs"}
@@ -1,110 +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.mjs";
27
- import { MESSAGE_DIRECTION, METHODS } from "./schema.mjs";
28
- import { UnsupportedPlatformError } from "../errors.mjs";
29
- /**
30
- * WalletDetector stamp
31
- * @function
32
- * @alias module:@aeternity/aepp-sdk/es/utils/aepp-wallet-communication/wallet-detector
33
- * @rtype Stamp
34
- * @param {Object} params={} - Initializer object
35
- * @param {WalletConnection} params.connection - Connection for listening for wallets
36
- * @return {WalletDetector}
37
- */
38
-
39
- export default stampit({
40
- init() {
41
- let {
42
- connection
43
- } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
44
- if (!window) throw new UnsupportedPlatformError('Window object not found, you can run wallet detector only in browser');
45
- this.connection = connection || BrowserWindowMessageConnection({
46
- connectionInfo: {
47
- id: 'spy'
48
- }
49
- });
50
- this.wallets = {};
51
- },
52
-
53
- methods: {
54
- /**
55
- * Start scanning
56
- * @function scan
57
- * @instance
58
- * @param {Function} onDetected Call-back function which trigger on new wallet
59
- * @return {void}
60
- */
61
- scan(onDetected) {
62
- const {
63
- wallets
64
- } = this;
65
- this.connection.connect((_ref, origin, source) => {
66
- let {
67
- method,
68
- params
69
- } = _ref;
70
- if (!method || !params || method !== METHODS.readyToConnect || wallets[params.id]) return;
71
- const wallet = { ...params,
72
-
73
- async getConnection() {
74
- // if detect extension wallet or page wallet
75
- const isExtension = this.type === 'extension';
76
- const origin = isExtension ? window.origin : this.origin;
77
- return BrowserWindowMessageConnection({
78
- connectionInfo: this,
79
- sendDirection: isExtension ? MESSAGE_DIRECTION.to_waellet : undefined,
80
- receiveDirection: isExtension ? MESSAGE_DIRECTION.to_aepp : undefined,
81
- target: source,
82
- origin
83
- });
84
- }
85
-
86
- };
87
- wallets[wallet.id] = wallet;
88
- onDetected({
89
- wallets,
90
- newWallet: wallet
91
- });
92
- });
93
- if (Object.keys(wallets).length) onDetected({
94
- wallets
95
- });
96
- },
97
-
98
- /**
99
- * Stop scanning
100
- * @function stopScan
101
- * @instance
102
- * @return {void}
103
- */
104
- stopScan() {
105
- this.connection.disconnect();
106
- }
107
-
108
- }
109
- });
110
- //# sourceMappingURL=wallet-detector.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/utils/aepp-wallet-communication/wallet-detector.js"],"names":["stampit","BrowserWindowMessageConnection","MESSAGE_DIRECTION","METHODS","UnsupportedPlatformError","init","connection","window","connectionInfo","id","wallets","methods","scan","onDetected","connect","origin","source","method","params","readyToConnect","wallet","getConnection","isExtension","type","sendDirection","to_waellet","undefined","receiveDirection","to_aepp","target","newWallet","Object","keys","length","stopScan","disconnect"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAOA,OAAP,MAAoB,WAApB;OACOC,8B;SACEC,iB,EAAmBC,O;SACnBC,wB;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,eAAeJ,OAAO,CAAC;AACrBK,EAAAA,IAAI,GAAuB;AAAA,QAArB;AAAEC,MAAAA;AAAF,KAAqB,uEAAJ,EAAI;AACzB,QAAI,CAACC,MAAL,EAAa,MAAM,IAAIH,wBAAJ,CAA6B,sEAA7B,CAAN;AACb,SAAKE,UAAL,GAAkBA,UAAU,IAAIL,8BAA8B,CAAC;AAAEO,MAAAA,cAAc,EAAE;AAAEC,QAAAA,EAAE,EAAE;AAAN;AAAlB,KAAD,CAA9D;AACA,SAAKC,OAAL,GAAe,EAAf;AACD,GALoB;;AAMrBC,EAAAA,OAAO,EAAE;AACP;AACJ;AACA;AACA;AACA;AACA;AACA;AACIC,IAAAA,IAAI,CAAEC,UAAF,EAAc;AAChB,YAAM;AAAEH,QAAAA;AAAF,UAAc,IAApB;AACA,WAAKJ,UAAL,CAAgBQ,OAAhB,CAAwB,OAAqBC,MAArB,EAA6BC,MAA7B,KAAwC;AAAA,YAAvC;AAAEC,UAAAA,MAAF;AAAUC,UAAAA;AAAV,SAAuC;AAC9D,YACE,CAACD,MAAD,IAAW,CAACC,MAAZ,IACAD,MAAM,KAAKd,OAAO,CAACgB,cADnB,IACqCT,OAAO,CAACQ,MAAM,CAACT,EAAR,CAF9C,EAGE;AAEF,cAAMW,MAAM,GAAG,EACb,GAAGF,MADU;;AAEb,gBAAMG,aAAN,GAAuB;AACrB;AACA,kBAAMC,WAAW,GAAG,KAAKC,IAAL,KAAc,WAAlC;AACA,kBAAMR,MAAM,GAAGO,WAAW,GAAGf,MAAM,CAACQ,MAAV,GAAmB,KAAKA,MAAlD;AACA,mBAAOd,8BAA8B,CAAC;AACpCO,cAAAA,cAAc,EAAE,IADoB;AAEpCgB,cAAAA,aAAa,EAAEF,WAAW,GAAGpB,iBAAiB,CAACuB,UAArB,GAAkCC,SAFxB;AAGpCC,cAAAA,gBAAgB,EAAEL,WAAW,GAAGpB,iBAAiB,CAAC0B,OAArB,GAA+BF,SAHxB;AAIpCG,cAAAA,MAAM,EAAEb,MAJ4B;AAKpCD,cAAAA;AALoC,aAAD,CAArC;AAOD;;AAbY,SAAf;AAeAL,QAAAA,OAAO,CAACU,MAAM,CAACX,EAAR,CAAP,GAAqBW,MAArB;AACAP,QAAAA,UAAU,CAAC;AAAEH,UAAAA,OAAF;AAAWoB,UAAAA,SAAS,EAAEV;AAAtB,SAAD,CAAV;AACD,OAvBD;AAwBA,UAAIW,MAAM,CAACC,IAAP,CAAYtB,OAAZ,EAAqBuB,MAAzB,EAAiCpB,UAAU,CAAC;AAAEH,QAAAA;AAAF,OAAD,CAAV;AAClC,KAnCM;;AAqCP;AACJ;AACA;AACA;AACA;AACA;AACIwB,IAAAA,QAAQ,GAAI;AACV,WAAK5B,UAAL,CAAgB6B,UAAhB;AACD;;AA7CM;AANY,CAAD,CAAtB","sourcesContent":["/*\n * ISC License (ISC)\n * Copyright (c) 2018 aeternity developers\n *\n * Permission to use, copy, modify, and/or distribute this software for any\n * purpose with or without fee is hereby granted, provided that the above\n * copyright notice and this permission notice appear in all copies.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\n * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\n * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\n * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\n * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\n * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\n * PERFORMANCE OF THIS SOFTWARE.\n */\n\n/**\n * Wallet Detector\n *\n * This is the complement to {@link module:@aeternity/aepp-sdk/es/utils}.\n * @module @aeternity/aepp-sdk/es/utils/aepp-wallet-communication/wallet-detector\n * @export WalletDetector\n */\nimport stampit from '@stamp/it'\nimport BrowserWindowMessageConnection from './connection/browser-window-message'\nimport { MESSAGE_DIRECTION, METHODS } from './schema'\nimport { UnsupportedPlatformError } from '../errors'\n\n/**\n * WalletDetector stamp\n * @function\n * @alias module:@aeternity/aepp-sdk/es/utils/aepp-wallet-communication/wallet-detector\n * @rtype Stamp\n * @param {Object} params={} - Initializer object\n * @param {WalletConnection} params.connection - Connection for listening for wallets\n * @return {WalletDetector}\n */\nexport default stampit({\n init ({ connection } = {}) {\n if (!window) throw new UnsupportedPlatformError('Window object not found, you can run wallet detector only in browser')\n this.connection = connection || BrowserWindowMessageConnection({ connectionInfo: { id: 'spy' } })\n this.wallets = {}\n },\n methods: {\n /**\n * Start scanning\n * @function scan\n * @instance\n * @param {Function} onDetected Call-back function which trigger on new wallet\n * @return {void}\n */\n scan (onDetected) {\n const { wallets } = this\n this.connection.connect(({ method, params }, origin, source) => {\n if (\n !method || !params ||\n method !== METHODS.readyToConnect || wallets[params.id]\n ) return\n\n const wallet = {\n ...params,\n async getConnection () {\n // if detect extension wallet or page wallet\n const isExtension = this.type === 'extension'\n const origin = isExtension ? window.origin : this.origin\n return BrowserWindowMessageConnection({\n connectionInfo: this,\n sendDirection: isExtension ? MESSAGE_DIRECTION.to_waellet : undefined,\n receiveDirection: isExtension ? MESSAGE_DIRECTION.to_aepp : undefined,\n target: source,\n origin\n })\n }\n }\n wallets[wallet.id] = wallet\n onDetected({ wallets, newWallet: wallet })\n })\n if (Object.keys(wallets).length) onDetected({ wallets })\n },\n\n /**\n * Stop scanning\n * @function stopScan\n * @instance\n * @return {void}\n */\n stopScan () {\n this.connection.disconnect()\n }\n }\n})\n"],"file":"wallet-detector.mjs"}
@@ -1,64 +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
- import stampit from '@stamp/it';
18
-
19
- function asyncInit() {
20
- let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
21
- let {
22
- stamp,
23
- args,
24
- instance
25
- } = arguments.length > 1 ? arguments[1] : undefined;
26
- return stamp.compose.deepConfiguration.AsyncInit.initializers.reduce(async (instance, init) => {
27
- instance = await Promise.resolve(instance);
28
-
29
- if (typeof init === 'function') {
30
- const ret = await Promise.resolve(init.call(instance, options, {
31
- stamp,
32
- args,
33
- instance
34
- }));
35
- return ret === undefined ? instance : ret;
36
- }
37
-
38
- return instance;
39
- }, instance);
40
- }
41
-
42
- export default stampit({
43
- deepConf: {
44
- AsyncInit: {
45
- initializers: []
46
- }
47
- },
48
-
49
- composers(_ref) {
50
- let {
51
- stamp,
52
- composables
53
- } = _ref;
54
- const conf = stamp.compose.deepConfiguration.AsyncInit;
55
- conf.initializers = composables.map(c => {
56
- var _c$compose, _c$compose$deepConfig, _c$compose$deepConfig2;
57
-
58
- return (c === null || c === void 0 ? void 0 : (_c$compose = c.compose) === null || _c$compose === void 0 ? void 0 : (_c$compose$deepConfig = _c$compose.deepConfiguration) === null || _c$compose$deepConfig === void 0 ? void 0 : (_c$compose$deepConfig2 = _c$compose$deepConfig.AsyncInit) === null || _c$compose$deepConfig2 === void 0 ? void 0 : _c$compose$deepConfig2.initializers) || (c.compose || c).initializers || [];
59
- }).flat(Infinity).filter((f, idx, arr) => !arr.slice(0, idx).includes(f)).filter(f => f !== asyncInit);
60
- stamp.compose.initializers = [asyncInit];
61
- }
62
-
63
- });
64
- //# sourceMappingURL=async-init.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/utils/async-init.js"],"names":["stampit","asyncInit","options","stamp","args","instance","compose","deepConfiguration","AsyncInit","initializers","reduce","init","Promise","resolve","ret","call","undefined","deepConf","composers","composables","conf","map","c","flat","Infinity","filter","f","idx","arr","slice","includes"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA,OAAOA,OAAP,MAAoB,WAApB;;AAEA,SAASC,SAAT,GAA6D;AAAA,MAAzCC,OAAyC,uEAA/B,EAA+B;AAAA,MAA3B;AAAEC,IAAAA,KAAF;AAASC,IAAAA,IAAT;AAAeC,IAAAA;AAAf,GAA2B;AAC3D,SAAOF,KAAK,CAACG,OAAN,CAAcC,iBAAd,CAAgCC,SAAhC,CAA0CC,YAA1C,CAAuDC,MAAvD,CAA8D,OAAOL,QAAP,EAAiBM,IAAjB,KAA0B;AAC7FN,IAAAA,QAAQ,GAAG,MAAMO,OAAO,CAACC,OAAR,CAAgBR,QAAhB,CAAjB;;AACA,QAAI,OAAOM,IAAP,KAAgB,UAApB,EAAgC;AAC9B,YAAMG,GAAG,GAAG,MAAMF,OAAO,CAACC,OAAR,CAAgBF,IAAI,CAACI,IAAL,CAAUV,QAAV,EAAoBH,OAApB,EAA6B;AAAEC,QAAAA,KAAF;AAASC,QAAAA,IAAT;AAAeC,QAAAA;AAAf,OAA7B,CAAhB,CAAlB;AACA,aAAOS,GAAG,KAAKE,SAAR,GAAoBX,QAApB,GAA+BS,GAAtC;AACD;;AACD,WAAOT,QAAP;AACD,GAPM,EAOJA,QAPI,CAAP;AAQD;;AAED,eAAeL,OAAO,CAAC;AACrBiB,EAAAA,QAAQ,EAAE;AAAET,IAAAA,SAAS,EAAE;AAAEC,MAAAA,YAAY,EAAE;AAAhB;AAAb,GADW;;AAErBS,EAAAA,SAAS,OAA0B;AAAA,QAAxB;AAAEf,MAAAA,KAAF;AAASgB,MAAAA;AAAT,KAAwB;AACjC,UAAMC,IAAI,GAAGjB,KAAK,CAACG,OAAN,CAAcC,iBAAd,CAAgCC,SAA7C;AACAY,IAAAA,IAAI,CAACX,YAAL,GAAoBU,WAAW,CAC5BE,GADiB,CACbC,CAAC;AAAA;;AAAA,aACJ,CAAAA,CAAC,SAAD,IAAAA,CAAC,WAAD,0BAAAA,CAAC,CAAEhB,OAAH,mFAAYC,iBAAZ,0GAA+BC,SAA/B,kFAA0CC,YAA1C,KACA,CAACa,CAAC,CAAChB,OAAF,IAAagB,CAAd,EAAiBb,YADjB,IAEA,EAHI;AAAA,KADY,EAKjBc,IALiB,CAKZC,QALY,EAMjBC,MANiB,CAMV,CAACC,CAAD,EAAIC,GAAJ,EAASC,GAAT,KAAiB,CAACA,GAAG,CAACC,KAAJ,CAAU,CAAV,EAAaF,GAAb,EAAkBG,QAAlB,CAA2BJ,CAA3B,CANR,EAOjBD,MAPiB,CAOVC,CAAC,IAAIA,CAAC,KAAKzB,SAPD,CAApB;AAQAE,IAAAA,KAAK,CAACG,OAAN,CAAcG,YAAd,GAA6B,CAACR,SAAD,CAA7B;AACD;;AAboB,CAAD,CAAtB","sourcesContent":["/*\n * ISC License (ISC)\n * Copyright (c) 2022 aeternity developers\n *\n * Permission to use, copy, modify, and/or distribute this software for any\n * purpose with or without fee is hereby granted, provided that the above\n * copyright notice and this permission notice appear in all copies.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\n * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\n * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\n * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\n * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\n * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\n * PERFORMANCE OF THIS SOFTWARE.\n */\n\nimport stampit from '@stamp/it'\n\nfunction asyncInit (options = {}, { stamp, args, instance }) {\n return stamp.compose.deepConfiguration.AsyncInit.initializers.reduce(async (instance, init) => {\n instance = await Promise.resolve(instance)\n if (typeof init === 'function') {\n const ret = await Promise.resolve(init.call(instance, options, { stamp, args, instance }))\n return ret === undefined ? instance : ret\n }\n return instance\n }, instance)\n}\n\nexport default stampit({\n deepConf: { AsyncInit: { initializers: [] } },\n composers ({ stamp, composables }) {\n const conf = stamp.compose.deepConfiguration.AsyncInit\n conf.initializers = composables\n .map(c =>\n c?.compose?.deepConfiguration?.AsyncInit?.initializers ||\n (c.compose || c).initializers ||\n [])\n .flat(Infinity)\n .filter((f, idx, arr) => !arr.slice(0, idx).includes(f))\n .filter(f => f !== asyncInit)\n stamp.compose.initializers = [asyncInit]\n }\n})\n"],"file":"async-init.mjs"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/utils/crypto-ts.ts"],"names":["hash","input","from","blake2b","undefined"],"mappings":";;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA,8BAAwB,oBAAxB;;;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASA,IAAT,CAAeC,KAAf,EAAoC;AACzC,SAAO,QAAOC,IAAP,CAAYC,OAAO,CAACF,KAAD,EAAQG,SAAR,EAAmB,EAAnB,CAAnB,CAAP,CADyC,CACS;AACnD","sourcesContent":["/*\n * ISC License (ISC)\n * Copyright 2021 aeternity developers\n *\n * Permission to use, copy, modify, and/or distribute this software for any\n * purpose with or without fee is hereby granted, provided that the above\n * copyright notice and this permission notice appear in all copies.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\n * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\n * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\n * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\n * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\n * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\n * PERFORMANCE OF THIS SOFTWARE.\n */\n\nimport { blake2b } from '@aeternity/blakejs'\nimport type { Data } from 'blakejs'\n\n/**\n * Calculate 256bits Blake2b hash of `input`\n * @rtype (input: String) => hash: String\n * @param {Data} input - Data to hash\n * @return {Buffer} Hash\n */\nexport function hash (input: Data): Buffer {\n return Buffer.from(blake2b(input, undefined, 32)) // 256 bits\n}\n"],"file":"crypto-ts.mjs"}
@@ -1,164 +0,0 @@
1
- /*
2
- * ISC License (ISC)
3
- * Copyright (c) 2021 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
- * Generator of Swagger client module
20
- * @module @aeternity/aepp-sdk/es/utils/swagger
21
- * @export genSwaggerClient
22
- */
23
- import SwaggerClient from 'swagger-client';
24
- import fetch from 'cross-fetch';
25
- import JsonBig from "./json-big.mjs";
26
- import { snakizeKeys, pascalizeKeys, mapObject, filterObject } from "./other.mjs";
27
- import { ArgumentCountMismatchError } from "./errors.mjs";
28
- import { snakeToPascal } from "./string.mjs";
29
- let warnedAboutInternalApiUsage = false;
30
- /**
31
- * Generator of Swagger client
32
- * @function
33
- * @alias module:@aeternity/aepp-sdk/es/utils/swagger
34
- * @rtype Object
35
- * @param {String} specUrl - Swagger specification URL on external node host
36
- * @param {Object} options
37
- * @param {String} [options.spec] - Override OpenAPI definition
38
- * @param {String} [options.internalUrl] - Node internal URL
39
- * @param {Boolean} [options.disableBigNumbers]
40
- * @param {Boolean} [options.disableCaseConversion]
41
- * @param {Function} [options.responseInterceptor]
42
- * @return {Object} Swagger client
43
- * @example (await genSwaggerClient('https://mainnet.aeternity.io/api')).getAccountByPubkey('ak_jupBUgZNbcC4krDLR3tAkw1iBZoBbkNeShAq4atBtpFWmz36r')
44
- */
45
-
46
- export default (async function (specUrl) {
47
- let {
48
- spec,
49
- internalUrl,
50
- disableBigNumbers,
51
- disableCaseConversion,
52
- responseInterceptor
53
- } = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
54
- spec = spec || (await (await fetch(specUrl)).json());
55
- const jsonImp = disableBigNumbers ? JSON : JsonBig;
56
- const [external, internal] = await Promise.all([specUrl, internalUrl].map(url => {
57
- if (!url) return null;
58
- const pendingGetRequests = {};
59
- return SwaggerClient({
60
- url,
61
- spec,
62
- requestInterceptor: request => {
63
- if (request.method !== 'GET') return;
64
- return { ...request,
65
- userFetch: async (url, request) => {
66
- var _pendingGetRequests$k;
67
-
68
- const key = JSON.stringify({ ...request,
69
- url
70
- });
71
- (_pendingGetRequests$k = pendingGetRequests[key]) !== null && _pendingGetRequests$k !== void 0 ? _pendingGetRequests$k : pendingGetRequests[key] = fetch(url, request);
72
-
73
- try {
74
- return (await pendingGetRequests[key]).clone();
75
- } finally {
76
- delete pendingGetRequests[key];
77
- }
78
- }
79
- };
80
- },
81
- responseInterceptor: response => {
82
- var _response$text;
83
-
84
- if (response.text === '' || ((_response$text = response.text) === null || _response$text === void 0 ? void 0 : _response$text.size) === 0) return response;
85
- const body = jsonImp.parse(response.text);
86
- Object.assign(response, {
87
- body: disableCaseConversion ? body : pascalizeKeys(body)
88
- });
89
- return responseInterceptor && responseInterceptor(response) || response;
90
- }
91
- });
92
- }));
93
- const combinedApi = Object.assign({}, ...(external.apis.external ? [external.apis.external] : Object.values(external.apis)), mapObject((internal === null || internal === void 0 ? void 0 : internal.apis.internal) || {}, _ref => {
94
- let [key, handler] = _ref;
95
- return [key, function () {
96
- if (!warnedAboutInternalApiUsage) {
97
- console.warn('SDK\'s wrapper of aeternity node internal API is deprecated, please use external ' + 'equivalent (for example, "sdk.api.protectedDryRunTxs" instead of "sdk.api.dryRunTxs") ' + 'or create a wrapper of internal API by yourself (using "genSwaggerClient")');
98
- warnedAboutInternalApiUsage = true;
99
- }
100
-
101
- return handler(...arguments);
102
- }];
103
- }));
104
- const opSpecs = Object.values(spec.paths).map(paths => Object.values(paths)).flat().reduce((acc, n) => ({ ...acc,
105
- [n.operationId]: n
106
- }), {});
107
- const requestQueues = {};
108
- const api = mapObject(combinedApi, _ref2 => {
109
- let [opId, handler] = _ref2;
110
- const functionName = opId.slice(0, 1).toLowerCase() + snakeToPascal(opId.slice(1));
111
- return [functionName, async function () {
112
- var _requestQueues$__queu;
113
-
114
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
115
- args[_key] = arguments[_key];
116
- }
117
-
118
- const opSpec = opSpecs[opId];
119
- const parameters = [...opSpec.parameters, ...(opSpec.requestBody ? [{
120
- required: opSpec.requestBody.required,
121
- schema: Object.values(opSpec.requestBody.content)[0].schema,
122
- name: '__requestBody'
123
- }] : [])];
124
- const required = parameters.filter(param => param.required).map(p => p.name);
125
-
126
- if (![0, 1].includes(args.length - required.length)) {
127
- throw new ArgumentCountMismatchError(functionName, required.length, args.length);
128
- }
129
-
130
- const values = required.reduce((acc, req, idx) => ({ ...acc,
131
- [req]: args[idx]
132
- }), args[required.length] || {});
133
- const {
134
- __requestBody,
135
- __queue,
136
- ...stringified
137
- } = mapObject(values, _ref3 => {
138
- let [param, value] = _ref3;
139
- if (typeof value !== 'object') return [param, value];
140
- const rootKeys = Object.keys(parameters.find(p => p.name === param).schema.properties);
141
- const filteredValue = filterObject(disableCaseConversion ? value : snakizeKeys(value), _ref4 => {
142
- let [key] = _ref4;
143
- return rootKeys.includes(key);
144
- });
145
- return [param, jsonImp.stringify(filteredValue)];
146
- });
147
-
148
- const request = async () => (await handler(stringified, {
149
- requestBody: __requestBody
150
- })).body;
151
-
152
- if (!__queue) return request();
153
- const res = ((_requestQueues$__queu = requestQueues[__queue]) !== null && _requestQueues$__queu !== void 0 ? _requestQueues$__queu : Promise.resolve()).then(request, request); // TODO: remove after fixing https://github.com/aeternity/aeternity/issues/3803
154
- // gap to ensure that node won't reject the nonce
155
-
156
- requestQueues[__queue] = res.then(() => new Promise(resolve => setTimeout(resolve, 750)));
157
- return res;
158
- }];
159
- });
160
- return Object.assign(external, {
161
- api
162
- });
163
- });
164
- //# sourceMappingURL=swagger.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/utils/swagger.js"],"names":["SwaggerClient","fetch","JsonBig","snakizeKeys","pascalizeKeys","mapObject","filterObject","ArgumentCountMismatchError","snakeToPascal","warnedAboutInternalApiUsage","specUrl","spec","internalUrl","disableBigNumbers","disableCaseConversion","responseInterceptor","json","jsonImp","JSON","external","internal","Promise","all","map","url","pendingGetRequests","requestInterceptor","request","method","userFetch","key","stringify","clone","response","text","size","body","parse","Object","assign","combinedApi","apis","values","handler","console","warn","opSpecs","paths","flat","reduce","acc","n","operationId","requestQueues","api","opId","functionName","slice","toLowerCase","args","opSpec","parameters","requestBody","required","schema","content","name","filter","param","p","includes","length","req","idx","__requestBody","__queue","stringified","value","rootKeys","keys","find","properties","filteredValue","res","resolve","then","setTimeout"],"mappings":"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","sourcesContent":["/*\n * ISC License (ISC)\n * Copyright (c) 2021 aeternity developers\n *\n * Permission to use, copy, modify, and/or distribute this software for any\n * purpose with or without fee is hereby granted, provided that the above\n * copyright notice and this permission notice appear in all copies.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\n * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\n * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\n * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\n * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\n * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\n * PERFORMANCE OF THIS SOFTWARE.\n */\n\n/**\n * Generator of Swagger client module\n * @module @aeternity/aepp-sdk/es/utils/swagger\n * @export genSwaggerClient\n */\n\nimport SwaggerClient from 'swagger-client'\nimport fetch from 'cross-fetch'\nimport JsonBig from './json-big'\nimport { snakizeKeys, pascalizeKeys, mapObject, filterObject } from './other'\nimport { ArgumentCountMismatchError } from './errors'\nimport { snakeToPascal } from './string'\n\nlet warnedAboutInternalApiUsage = false\n\n/**\n * Generator of Swagger client\n * @function\n * @alias module:@aeternity/aepp-sdk/es/utils/swagger\n * @rtype Object\n * @param {String} specUrl - Swagger specification URL on external node host\n * @param {Object} options\n * @param {String} [options.spec] - Override OpenAPI definition\n * @param {String} [options.internalUrl] - Node internal URL\n * @param {Boolean} [options.disableBigNumbers]\n * @param {Boolean} [options.disableCaseConversion]\n * @param {Function} [options.responseInterceptor]\n * @return {Object} Swagger client\n * @example (await genSwaggerClient('https://mainnet.aeternity.io/api')).getAccountByPubkey('ak_jupBUgZNbcC4krDLR3tAkw1iBZoBbkNeShAq4atBtpFWmz36r')\n */\nexport default async (\n specUrl,\n { spec, internalUrl, disableBigNumbers, disableCaseConversion, responseInterceptor } = {}\n) => {\n spec = spec || await (await fetch(specUrl)).json()\n const jsonImp = disableBigNumbers ? JSON : JsonBig\n\n const [external, internal] = await Promise.all([specUrl, internalUrl].map((url) => {\n if (!url) return null\n const pendingGetRequests = {}\n return SwaggerClient({\n url,\n spec,\n requestInterceptor: request => {\n if (request.method !== 'GET') return\n return {\n ...request,\n userFetch: async (url, request) => {\n const key = JSON.stringify({ ...request, url })\n pendingGetRequests[key] ??= fetch(url, request)\n try {\n return (await pendingGetRequests[key]).clone()\n } finally {\n delete pendingGetRequests[key]\n }\n }\n }\n },\n responseInterceptor: response => {\n if (response.text === '' || response.text?.size === 0) return response\n const body = jsonImp.parse(response.text)\n Object.assign(response, {\n body: disableCaseConversion ? body : pascalizeKeys(body)\n })\n return (responseInterceptor && responseInterceptor(response)) || response\n }\n })\n }))\n\n const combinedApi = Object.assign(\n {},\n ...external.apis.external ? [external.apis.external] : Object.values(external.apis),\n mapObject(internal?.apis.internal || {}, ([key, handler]) => [key, (...args) => {\n if (!warnedAboutInternalApiUsage) {\n console.warn(\n 'SDK\\'s wrapper of aeternity node internal API is deprecated, please use external ' +\n 'equivalent (for example, \"sdk.api.protectedDryRunTxs\" instead of \"sdk.api.dryRunTxs\") ' +\n 'or create a wrapper of internal API by yourself (using \"genSwaggerClient\")'\n )\n warnedAboutInternalApiUsage = true\n }\n return handler(...args)\n }])\n )\n\n const opSpecs = Object.values(spec.paths)\n .map(paths => Object.values(paths))\n .flat()\n .reduce((acc, n) => ({ ...acc, [n.operationId]: n }), {})\n\n const requestQueues = {}\n const api = mapObject(combinedApi, ([opId, handler]) => {\n const functionName = opId.slice(0, 1).toLowerCase() + snakeToPascal(opId.slice(1))\n return [\n functionName,\n async (...args) => {\n const opSpec = opSpecs[opId]\n const parameters = [\n ...opSpec.parameters,\n ...opSpec.requestBody\n ? [{\n required: opSpec.requestBody.required,\n schema: Object.values(opSpec.requestBody.content)[0].schema,\n name: '__requestBody'\n }]\n : []\n ]\n const required = parameters.filter(param => param.required).map(p => p.name)\n if (![0, 1].includes(args.length - required.length)) {\n throw new ArgumentCountMismatchError(functionName, required.length, args.length)\n }\n const values = required.reduce(\n (acc, req, idx) => ({ ...acc, [req]: args[idx] }),\n args[required.length] || {}\n )\n const { __requestBody, __queue, ...stringified } = mapObject(values, ([param, value]) => {\n if (typeof value !== 'object') return [param, value]\n const rootKeys = Object.keys(parameters.find(p => p.name === param).schema.properties)\n const filteredValue = filterObject(\n disableCaseConversion ? value : snakizeKeys(value),\n ([key]) => rootKeys.includes(key)\n )\n return [param, jsonImp.stringify(filteredValue)]\n })\n\n const request = async () => (await handler(stringified, { requestBody: __requestBody }))\n .body\n if (!__queue) return request()\n const res = (requestQueues[__queue] ?? Promise.resolve()).then(request, request)\n // TODO: remove after fixing https://github.com/aeternity/aeternity/issues/3803\n // gap to ensure that node won't reject the nonce\n requestQueues[__queue] = res.then(() => new Promise(resolve => setTimeout(resolve, 750)))\n return res\n }\n ]\n })\n\n return Object.assign(external, { api })\n}\n"],"file":"swagger.mjs"}
@@ -1,153 +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
- * AccountBase module
20
- * @module @aeternity/aepp-sdk/es/account/base
21
- * @export AccountBase
22
- * @export isAccountBase
23
- */
24
-
25
- import stampit from '@stamp/it'
26
- import { required } from '@stamp/required'
27
- import { messageToHash, verifyMessage as verifyMessageCrypto, hash } from '../utils/crypto'
28
- import { buildTx } from '../tx/builder'
29
- import { decode } from '../tx/builder/helpers'
30
- import { TX_TYPE } from '../tx/builder/schema'
31
- import { getNetworkId } from '../node'
32
-
33
- /**
34
- * Check is provided object looks like an instance of AccountBase
35
- * @rtype (Object) => Boolean
36
- * @param {Object} acc - Object to check
37
- * @return {Boolean}
38
- */
39
- export const isAccountBase = (acc) => !['sign', 'address'].find(f => typeof acc[f] !== 'function')
40
-
41
- /**
42
- * Sign encoded transaction
43
- * @instance
44
- * @category async
45
- * @rtype (tx: String) => tx: Promise[String], throws: Error
46
- * @param {String} tx - Transaction to sign
47
- * @param {Object} opt - Options
48
- * @param {Object} [opt.innerTx] - Sign as inner transaction for PayingFor
49
- * @return {String} Signed transaction
50
- */
51
- async function signTransaction (tx, opt = {}) {
52
- const prefixes = [this.getNetworkId(opt)]
53
- if (opt.innerTx) prefixes.push('inner_tx')
54
- const rlpBinaryTx = decode(tx, 'tx')
55
- const txWithNetworkId = Buffer.concat([Buffer.from(prefixes.join('-')), hash(rlpBinaryTx)])
56
-
57
- const signatures = [await this.sign(txWithNetworkId, opt)]
58
- return buildTx({ encodedTx: rlpBinaryTx, signatures }, TX_TYPE.signed).tx
59
- }
60
-
61
- /**
62
- * Get network Id
63
- * @instance
64
- * @function getNetworkId
65
- * @category async
66
- * @rtype () => networkId: String
67
- * @return {String} Network Id
68
- */
69
-
70
- /**
71
- * Sign message
72
- * @instance
73
- * @category async
74
- * @rtype (msg: String) => signature: Promise[String], throws: Error
75
- * @param {String} message - Message to sign
76
- * @param {Object} opt - Options
77
- * @return {String} Signature
78
- */
79
- async function signMessage (message, opt = { returnHex: false }) {
80
- const sig = await this.sign(messageToHash(message), opt)
81
- return opt.returnHex ? Buffer.from(sig).toString('hex') : sig
82
- }
83
-
84
- /**
85
- * Verify message
86
- * @instance
87
- * @category async
88
- * @rtype (
89
- * msg: String, signature: String, publicKey: String
90
- * ) => signature: Promise[String], throws: Error
91
- * @param {String} message - Message to verify
92
- * @param {String} signature - Signature
93
- * @param {Object} opt - Options
94
- * @return {Boolean}
95
- */
96
- async function verifyMessage (message, signature, opt = {}) {
97
- return verifyMessageCrypto(
98
- message,
99
- typeof signature === 'string' ? Buffer.from(signature, 'hex') : signature,
100
- decode(await this.address(opt))
101
- )
102
- }
103
-
104
- /**
105
- * AccountBase Stamp
106
- *
107
- * Attempting to create instances from the Stamp without overwriting all
108
- * abstract methods using composition will result in an exception.
109
- *
110
- * Account is one of the three basic building blocks of an
111
- * {@link module:@aeternity/aepp-sdk/es/ae--Ae} client and provides access to a
112
- * signing key pair.
113
- * @function
114
- * @alias module:@aeternity/aepp-sdk/es/account
115
- * @rtype Stamp
116
- * @param {Object} [options={}] - Initializer object
117
- * @param {String} options.networkId - NETWORK_ID using for signing transaction's
118
- * @return {Object} Account instance
119
- */
120
- export default stampit({
121
- init ({ networkId }) { // NETWORK_ID using for signing transaction's
122
- if (!this.networkId && networkId) {
123
- this.networkId = networkId
124
- }
125
- },
126
- methods: { signTransaction, getNetworkId, signMessage, verifyMessage }
127
- }, required({
128
- methods: {
129
- sign: required,
130
- address: required
131
- }
132
- }))
133
-
134
- /**
135
- * Sign data blob
136
- * @function sign
137
- * @instance
138
- * @abstract
139
- * @category async
140
- * @rtype (data: String) => data: Promise[String]
141
- * @param {String} data - Data blob to sign
142
- * @return {String} Signed data blob
143
- */
144
-
145
- /**
146
- * Obtain account address
147
- * @function address
148
- * @instance
149
- * @abstract
150
- * @category async
151
- * @rtype () => address: Promise[String]
152
- * @return {String} Public account address
153
- */