@aeternity/aepp-sdk 13.2.2 → 13.3.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 (494) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +1 -1
  3. package/bin/aesophia_cli +0 -0
  4. package/bin/aesophia_cli_8 +0 -0
  5. package/dist/aepp-sdk.browser-script.js +1 -1
  6. package/dist/aepp-sdk.browser-script.js.map +1 -1
  7. package/dist/aepp-sdk.browser.js +1 -1
  8. package/dist/aepp-sdk.browser.js.map +1 -1
  9. package/dist/aepp-sdk.js +9171 -7086
  10. package/dist/aepp-sdk.js.map +1 -1
  11. package/es/AeSdk.d.ts +3 -0
  12. package/es/AeSdk.mjs +12 -12
  13. package/es/AeSdk.mjs.map +1 -1
  14. package/es/AeSdkAepp.d.ts +0 -1
  15. package/es/AeSdkAepp.mjs +12 -16
  16. package/es/AeSdkAepp.mjs.map +1 -1
  17. package/es/AeSdkBase.d.ts +61 -6
  18. package/es/AeSdkBase.mjs +150 -69
  19. package/es/AeSdkBase.mjs.map +1 -1
  20. package/es/AeSdkMethods.d.ts +19 -7
  21. package/es/AeSdkMethods.mjs +39 -38
  22. package/es/AeSdkMethods.mjs.map +1 -1
  23. package/es/AeSdkWallet.mjs +86 -55
  24. package/es/AeSdkWallet.mjs.map +1 -1
  25. package/es/Middleware.mjs +31 -27
  26. package/es/Middleware.mjs.map +1 -1
  27. package/es/MiddlewareSubscriber.mjs +5 -14
  28. package/es/MiddlewareSubscriber.mjs.map +1 -1
  29. package/es/Node.d.ts +10 -2
  30. package/es/Node.mjs +53 -54
  31. package/es/Node.mjs.map +1 -1
  32. package/es/account/Base.d.ts +39 -3
  33. package/es/account/Base.mjs +35 -1
  34. package/es/account/Base.mjs.map +1 -1
  35. package/es/account/Generalized.d.ts +2 -0
  36. package/es/account/Generalized.mjs +15 -6
  37. package/es/account/Generalized.mjs.map +1 -1
  38. package/es/account/Ledger.d.ts +2 -0
  39. package/es/account/Ledger.mjs +14 -5
  40. package/es/account/Ledger.mjs.map +1 -1
  41. package/es/account/LedgerFactory.mjs +4 -6
  42. package/es/account/LedgerFactory.mjs.map +1 -1
  43. package/es/account/Memory.d.ts +15 -4
  44. package/es/account/Memory.mjs +96 -31
  45. package/es/account/Memory.mjs.map +1 -1
  46. package/es/account/Rpc.d.ts +16 -5
  47. package/es/account/Rpc.mjs +94 -21
  48. package/es/account/Rpc.mjs.map +1 -1
  49. package/es/aens.d.ts +17 -44
  50. package/es/aens.mjs +32 -71
  51. package/es/aens.mjs.map +1 -1
  52. package/es/aepp-wallet-communication/connection/Browser.mjs +3 -4
  53. package/es/aepp-wallet-communication/connection/Browser.mjs.map +1 -1
  54. package/es/aepp-wallet-communication/connection/BrowserRuntime.d.ts +3 -0
  55. package/es/aepp-wallet-communication/connection/BrowserRuntime.mjs +7 -5
  56. package/es/aepp-wallet-communication/connection/BrowserRuntime.mjs.map +1 -1
  57. package/es/aepp-wallet-communication/connection/BrowserWindowMessage.mjs +8 -9
  58. package/es/aepp-wallet-communication/connection/BrowserWindowMessage.mjs.map +1 -1
  59. package/es/aepp-wallet-communication/rpc/RpcClient.mjs +7 -7
  60. package/es/aepp-wallet-communication/rpc/RpcClient.mjs.map +1 -1
  61. package/es/aepp-wallet-communication/rpc/types.d.ts +14 -0
  62. package/es/aepp-wallet-communication/rpc/types.mjs.map +1 -1
  63. package/es/aepp-wallet-communication/schema.d.ts +2 -0
  64. package/es/aepp-wallet-communication/schema.mjs +2 -0
  65. package/es/aepp-wallet-communication/schema.mjs.map +1 -1
  66. package/es/aepp-wallet-communication/wallet-detector.mjs +4 -5
  67. package/es/aepp-wallet-communication/wallet-detector.mjs.map +1 -1
  68. package/es/apis/compiler/compiler.mjs.map +1 -1
  69. package/es/apis/compiler/models/index.d.ts +1 -0
  70. package/es/apis/compiler/models/index.mjs.map +1 -1
  71. package/es/apis/compiler/models/mappers.mjs +13 -0
  72. package/es/apis/compiler/models/mappers.mjs.map +1 -1
  73. package/es/apis/compiler/models/parameters.mjs.map +1 -1
  74. package/es/apis/middleware/middleware.d.ts +23 -5
  75. package/es/apis/middleware/middleware.mjs +114 -18
  76. package/es/apis/middleware/middleware.mjs.map +1 -1
  77. package/es/apis/middleware/models/index.d.ts +164 -15
  78. package/es/apis/middleware/models/index.mjs +53 -3
  79. package/es/apis/middleware/models/index.mjs.map +1 -1
  80. package/es/apis/middleware/models/mappers.d.ts +8 -1
  81. package/es/apis/middleware/models/mappers.mjs +376 -3
  82. package/es/apis/middleware/models/mappers.mjs.map +1 -1
  83. package/es/apis/middleware/models/parameters.d.ts +6 -3
  84. package/es/apis/middleware/models/parameters.mjs +38 -11
  85. package/es/apis/middleware/models/parameters.mjs.map +1 -1
  86. package/es/apis/node/models/index.d.ts +66 -2
  87. package/es/apis/node/models/index.mjs.map +1 -1
  88. package/es/apis/node/models/mappers.d.ts +5 -1
  89. package/es/apis/node/models/mappers.mjs +229 -7
  90. package/es/apis/node/models/mappers.mjs.map +1 -1
  91. package/es/apis/node/models/parameters.d.ts +2 -2
  92. package/es/apis/node/models/parameters.mjs +2 -2
  93. package/es/apis/node/models/parameters.mjs.map +1 -1
  94. package/es/apis/node/node.d.ts +24 -3
  95. package/es/apis/node/node.mjs +135 -3
  96. package/es/apis/node/node.mjs.map +1 -1
  97. package/es/chain.d.ts +14 -44
  98. package/es/chain.mjs +125 -219
  99. package/es/chain.mjs.map +1 -1
  100. package/es/channel/Base.d.ts +3 -47
  101. package/es/channel/Base.mjs +21 -54
  102. package/es/channel/Base.mjs.map +1 -1
  103. package/es/channel/Contract.d.ts +16 -25
  104. package/es/channel/Contract.mjs +39 -63
  105. package/es/channel/Contract.mjs.map +1 -1
  106. package/es/channel/Spend.d.ts +0 -8
  107. package/es/channel/Spend.mjs +17 -29
  108. package/es/channel/Spend.mjs.map +1 -1
  109. package/es/channel/handlers.mjs +1 -1
  110. package/es/channel/handlers.mjs.map +1 -1
  111. package/es/channel/internal.d.ts +104 -5
  112. package/es/channel/internal.mjs +26 -34
  113. package/es/channel/internal.mjs.map +1 -1
  114. package/es/contract/Contract.d.ts +9 -1
  115. package/es/contract/Contract.mjs +67 -73
  116. package/es/contract/Contract.mjs.map +1 -1
  117. package/es/contract/compiler/Base.d.ts +14 -8
  118. package/es/contract/compiler/Base.mjs.map +1 -1
  119. package/es/contract/compiler/Cli.d.ts +5 -9
  120. package/es/contract/compiler/Cli.mjs +45 -23
  121. package/es/contract/compiler/Cli.mjs.map +1 -1
  122. package/es/contract/compiler/Cli8.d.ts +13 -0
  123. package/es/contract/compiler/Cli8.mjs +22 -0
  124. package/es/contract/compiler/Cli8.mjs.map +1 -0
  125. package/es/contract/compiler/Http.d.ts +3 -9
  126. package/es/contract/compiler/Http.mjs +28 -16
  127. package/es/contract/compiler/Http.mjs.map +1 -1
  128. package/es/contract/compiler/HttpNode.d.ts +2 -5
  129. package/es/contract/compiler/HttpNode.mjs.map +1 -1
  130. package/es/contract/delegation-signature.d.ts +2 -1
  131. package/es/contract/delegation-signature.mjs +18 -14
  132. package/es/contract/delegation-signature.mjs.map +1 -1
  133. package/es/contract/ga.d.ts +1 -2
  134. package/es/contract/ga.mjs +23 -25
  135. package/es/contract/ga.mjs.map +1 -1
  136. package/es/deprecated.d.ts +38 -0
  137. package/es/deprecated.mjs +45 -0
  138. package/es/deprecated.mjs.map +1 -1
  139. package/es/index-browser.d.ts +10 -5
  140. package/es/index-browser.mjs +9 -5
  141. package/es/index-browser.mjs.map +1 -1
  142. package/es/index.d.ts +1 -0
  143. package/es/index.mjs +1 -0
  144. package/es/index.mjs.map +1 -1
  145. package/es/oracle.d.ts +6 -37
  146. package/es/oracle.mjs +32 -66
  147. package/es/oracle.mjs.map +1 -1
  148. package/es/send-transaction.d.ts +53 -0
  149. package/es/send-transaction.mjs +109 -0
  150. package/es/send-transaction.mjs.map +1 -0
  151. package/es/spend.d.ts +4 -3
  152. package/es/spend.mjs +6 -1
  153. package/es/spend.mjs.map +1 -1
  154. package/es/tx/builder/common.d.ts +29 -0
  155. package/es/tx/builder/common.mjs +42 -0
  156. package/es/tx/builder/common.mjs.map +1 -0
  157. package/es/tx/builder/constants.d.ts +4 -4
  158. package/es/tx/builder/constants.mjs +6 -15
  159. package/es/tx/builder/constants.mjs.map +1 -1
  160. package/es/tx/builder/delegation/index.d.ts +20 -0
  161. package/es/tx/builder/delegation/index.mjs +24 -0
  162. package/es/tx/builder/delegation/index.mjs.map +1 -0
  163. package/es/tx/builder/delegation/schema.d.ts +130 -0
  164. package/es/tx/builder/delegation/schema.generated.d.ts +141 -0
  165. package/es/tx/builder/delegation/schema.generated.mjs +2 -0
  166. package/es/tx/builder/delegation/schema.generated.mjs.map +1 -0
  167. package/es/tx/builder/delegation/schema.mjs +54 -0
  168. package/es/tx/builder/delegation/schema.mjs.map +1 -0
  169. package/es/tx/builder/field-types/abi-version.mjs +8 -11
  170. package/es/tx/builder/field-types/abi-version.mjs.map +1 -1
  171. package/es/tx/builder/field-types/address.mjs +1 -4
  172. package/es/tx/builder/field-types/address.mjs.map +1 -1
  173. package/es/tx/builder/field-types/coin-amount.d.ts +2 -2
  174. package/es/tx/builder/field-types/coin-amount.mjs +6 -6
  175. package/es/tx/builder/field-types/coin-amount.mjs.map +1 -1
  176. package/es/tx/builder/field-types/ct-version.mjs +3 -4
  177. package/es/tx/builder/field-types/ct-version.mjs.map +1 -1
  178. package/es/tx/builder/field-types/entry.mjs +7 -13
  179. package/es/tx/builder/field-types/entry.mjs.map +1 -1
  180. package/es/tx/builder/field-types/fee.d.ts +19 -11
  181. package/es/tx/builder/field-types/fee.mjs +56 -38
  182. package/es/tx/builder/field-types/fee.mjs.map +1 -1
  183. package/es/tx/builder/field-types/gas-limit.mjs +13 -15
  184. package/es/tx/builder/field-types/gas-limit.mjs.map +1 -1
  185. package/es/tx/builder/field-types/gas-price.d.ts +10 -2
  186. package/es/tx/builder/field-types/gas-price.mjs +52 -3
  187. package/es/tx/builder/field-types/gas-price.mjs.map +1 -1
  188. package/es/tx/builder/field-types/index.d.ts +31 -29
  189. package/es/tx/builder/field-types/index.mjs +31 -29
  190. package/es/tx/builder/field-types/index.mjs.map +1 -1
  191. package/es/tx/builder/field-types/map.mjs +20 -31
  192. package/es/tx/builder/field-types/map.mjs.map +1 -1
  193. package/es/tx/builder/field-types/mptree.mjs +14 -29
  194. package/es/tx/builder/field-types/mptree.mjs.map +1 -1
  195. package/es/tx/builder/field-types/name-fee.d.ts +1 -1
  196. package/es/tx/builder/field-types/name-fee.mjs +1 -1
  197. package/es/tx/builder/field-types/name-fee.mjs.map +1 -1
  198. package/es/tx/builder/field-types/nonce.d.ts +1 -0
  199. package/es/tx/builder/field-types/nonce.mjs +2 -0
  200. package/es/tx/builder/field-types/nonce.mjs.map +1 -1
  201. package/es/tx/builder/field-types/pointers.mjs +4 -7
  202. package/es/tx/builder/field-types/pointers.mjs.map +1 -1
  203. package/es/tx/builder/field-types/pointers2.d.ts +23 -0
  204. package/es/tx/builder/field-types/pointers2.mjs +65 -0
  205. package/es/tx/builder/field-types/pointers2.mjs.map +1 -0
  206. package/es/tx/builder/field-types/query-fee.d.ts +19 -0
  207. package/es/tx/builder/field-types/query-fee.mjs +20 -0
  208. package/es/tx/builder/field-types/query-fee.mjs.map +1 -0
  209. package/es/tx/builder/field-types/ttl.d.ts +9 -1
  210. package/es/tx/builder/field-types/ttl.mjs +19 -8
  211. package/es/tx/builder/field-types/ttl.mjs.map +1 -1
  212. package/es/tx/builder/field-types/with-default.d.ts +7 -0
  213. package/es/tx/builder/field-types/with-default.mjs +9 -0
  214. package/es/tx/builder/field-types/with-default.mjs.map +1 -0
  215. package/es/tx/builder/field-types/with-formatting.d.ts +7 -0
  216. package/es/tx/builder/field-types/with-formatting.mjs +9 -0
  217. package/es/tx/builder/field-types/with-formatting.mjs.map +1 -0
  218. package/es/tx/builder/field-types/wrapped.mjs +6 -8
  219. package/es/tx/builder/field-types/wrapped.mjs.map +1 -1
  220. package/es/tx/builder/helpers.d.ts +2 -2
  221. package/es/tx/builder/helpers.mjs +12 -21
  222. package/es/tx/builder/helpers.mjs.map +1 -1
  223. package/es/tx/builder/index.d.ts +17 -10
  224. package/es/tx/builder/index.mjs +39 -65
  225. package/es/tx/builder/index.mjs.map +1 -1
  226. package/es/tx/builder/schema.d.ts +478 -257
  227. package/es/tx/builder/schema.generated.d.ts +39 -3
  228. package/es/tx/builder/schema.generated.mjs.map +1 -1
  229. package/es/tx/builder/schema.mjs +48 -36
  230. package/es/tx/builder/schema.mjs.map +1 -1
  231. package/es/tx/execution-cost.d.ts +6 -5
  232. package/es/tx/execution-cost.mjs +16 -17
  233. package/es/tx/execution-cost.mjs.map +1 -1
  234. package/es/tx/transaction-signer.mjs +1 -4
  235. package/es/tx/transaction-signer.mjs.map +1 -1
  236. package/es/tx/validator.mjs +61 -42
  237. package/es/tx/validator.mjs.map +1 -1
  238. package/es/utils/amount-formatter.mjs +15 -22
  239. package/es/utils/amount-formatter.mjs.map +1 -1
  240. package/es/utils/autorest.d.ts +2 -3
  241. package/es/utils/autorest.mjs +40 -24
  242. package/es/utils/autorest.mjs.map +1 -1
  243. package/es/utils/bytes.mjs +1 -2
  244. package/es/utils/bytes.mjs.map +1 -1
  245. package/es/utils/crypto.d.ts +8 -4
  246. package/es/utils/crypto.mjs +17 -13
  247. package/es/utils/crypto.mjs.map +1 -1
  248. package/es/utils/errors.d.ts +6 -0
  249. package/es/utils/errors.mjs +12 -6
  250. package/es/utils/errors.mjs.map +1 -1
  251. package/es/utils/hd-wallet.d.ts +2 -0
  252. package/es/utils/hd-wallet.mjs +6 -5
  253. package/es/utils/hd-wallet.mjs.map +1 -1
  254. package/es/utils/json-big.mjs +2 -10
  255. package/es/utils/json-big.mjs.map +1 -1
  256. package/es/utils/jwt.d.ts +53 -0
  257. package/es/utils/jwt.mjs +120 -0
  258. package/es/utils/jwt.mjs.map +1 -0
  259. package/es/utils/keystore.d.ts +6 -2
  260. package/es/utils/keystore.mjs +8 -16
  261. package/es/utils/keystore.mjs.map +1 -1
  262. package/es/utils/typed-data.mjs +1 -0
  263. package/es/utils/typed-data.mjs.map +1 -1
  264. package/es/utils/wrap-proxy.d.ts +2 -0
  265. package/es/utils/wrap-proxy.mjs +15 -0
  266. package/es/utils/wrap-proxy.mjs.map +1 -0
  267. package/package.json +57 -51
  268. package/src/AeSdk.ts +3 -0
  269. package/src/AeSdkAepp.ts +0 -1
  270. package/src/AeSdkBase.ts +97 -10
  271. package/src/AeSdkMethods.ts +37 -33
  272. package/src/AeSdkWallet.ts +22 -3
  273. package/src/Middleware.ts +16 -8
  274. package/src/MiddlewareSubscriber.ts +1 -1
  275. package/src/Node.ts +37 -18
  276. package/src/account/Base.ts +62 -3
  277. package/src/account/Generalized.ts +10 -0
  278. package/src/account/Ledger.ts +10 -0
  279. package/src/account/Memory.ts +83 -9
  280. package/src/account/Rpc.ts +69 -6
  281. package/src/aens.ts +35 -56
  282. package/src/aepp-wallet-communication/connection/BrowserRuntime.ts +3 -0
  283. package/src/aepp-wallet-communication/connection/BrowserWindowMessage.ts +2 -2
  284. package/src/aepp-wallet-communication/rpc/RpcClient.ts +4 -2
  285. package/src/aepp-wallet-communication/rpc/types.ts +13 -0
  286. package/src/aepp-wallet-communication/schema.ts +2 -0
  287. package/src/apis/compiler/compiler.ts +93 -93
  288. package/src/apis/compiler/models/index.ts +1 -0
  289. package/src/apis/compiler/models/mappers.ts +178 -165
  290. package/src/apis/compiler/models/parameters.ts +18 -18
  291. package/src/apis/middleware/middleware.ts +462 -341
  292. package/src/apis/middleware/models/index.ts +258 -56
  293. package/src/apis/middleware/models/mappers.ts +2357 -1919
  294. package/src/apis/middleware/models/parameters.ts +172 -142
  295. package/src/apis/node/models/index.ts +79 -2
  296. package/src/apis/node/models/mappers.ts +1529 -1302
  297. package/src/apis/node/models/parameters.ts +51 -51
  298. package/src/apis/node/node.ts +420 -275
  299. package/src/chain.ts +42 -128
  300. package/src/channel/Base.ts +14 -47
  301. package/src/channel/Contract.ts +18 -26
  302. package/src/channel/Spend.ts +0 -8
  303. package/src/channel/internal.ts +115 -13
  304. package/src/contract/Contract.ts +26 -8
  305. package/src/contract/compiler/Base.ts +15 -8
  306. package/src/contract/compiler/Cli.ts +37 -21
  307. package/src/contract/compiler/Cli8.ts +17 -0
  308. package/src/contract/compiler/Http.ts +24 -14
  309. package/src/contract/compiler/HttpNode.ts +2 -2
  310. package/src/contract/delegation-signature.ts +11 -5
  311. package/src/contract/ga.ts +4 -3
  312. package/src/deprecated.ts +36 -0
  313. package/src/index-browser.ts +14 -7
  314. package/src/index.ts +1 -0
  315. package/src/oracle.ts +11 -54
  316. package/src/send-transaction.ts +136 -0
  317. package/src/spend.ts +25 -11
  318. package/src/tx/builder/common.ts +74 -0
  319. package/src/tx/builder/constants.ts +6 -9
  320. package/src/tx/builder/delegation/index.ts +28 -0
  321. package/src/tx/builder/delegation/schema.generated.ts +143 -0
  322. package/src/tx/builder/delegation/schema.ts +61 -0
  323. package/src/tx/builder/field-types/coin-amount.ts +3 -2
  324. package/src/tx/builder/field-types/entry.ts +1 -4
  325. package/src/tx/builder/field-types/fee.ts +71 -43
  326. package/src/tx/builder/field-types/gas-limit.ts +4 -4
  327. package/src/tx/builder/field-types/gas-price.ts +58 -2
  328. package/src/tx/builder/field-types/index.ts +31 -59
  329. package/src/tx/builder/field-types/name-fee.ts +1 -1
  330. package/src/tx/builder/field-types/nonce.ts +7 -1
  331. package/src/tx/builder/field-types/pointers2.ts +62 -0
  332. package/src/tx/builder/field-types/query-fee.ts +25 -0
  333. package/src/tx/builder/field-types/ttl.ts +13 -3
  334. package/src/tx/builder/field-types/with-default.ts +18 -0
  335. package/src/tx/builder/field-types/with-formatting.ts +18 -0
  336. package/src/tx/builder/helpers.ts +2 -2
  337. package/src/tx/builder/index.ts +42 -59
  338. package/src/tx/builder/schema.generated.ts +39 -3
  339. package/src/tx/builder/schema.ts +55 -29
  340. package/src/tx/execution-cost.ts +6 -5
  341. package/src/tx/validator.ts +31 -5
  342. package/src/utils/autorest.ts +36 -27
  343. package/src/utils/crypto.ts +23 -13
  344. package/src/utils/errors.ts +10 -0
  345. package/src/utils/hd-wallet.ts +2 -0
  346. package/src/utils/jwt.ts +126 -0
  347. package/src/utils/keystore.ts +6 -2
  348. package/src/utils/wrap-proxy.ts +24 -0
  349. package/types-legacy/ts4.2/AeSdk.d.ts +3 -0
  350. package/types-legacy/ts4.2/AeSdkAepp.d.ts +0 -1
  351. package/types-legacy/ts4.2/AeSdkBase.d.ts +61 -6
  352. package/types-legacy/ts4.2/AeSdkMethods.d.ts +19 -7
  353. package/types-legacy/ts4.2/Node.d.ts +14 -1
  354. package/types-legacy/ts4.2/account/Base.d.ts +39 -3
  355. package/types-legacy/ts4.2/account/Generalized.d.ts +2 -0
  356. package/types-legacy/ts4.2/account/Ledger.d.ts +2 -0
  357. package/types-legacy/ts4.2/account/Memory.d.ts +15 -4
  358. package/types-legacy/ts4.2/account/Rpc.d.ts +16 -5
  359. package/types-legacy/ts4.2/aens.d.ts +17 -44
  360. package/types-legacy/ts4.2/aepp-wallet-communication/connection/BrowserRuntime.d.ts +3 -0
  361. package/types-legacy/ts4.2/aepp-wallet-communication/rpc/types.d.ts +14 -0
  362. package/types-legacy/ts4.2/aepp-wallet-communication/schema.d.ts +2 -0
  363. package/types-legacy/ts4.2/apis/compiler/models/index.d.ts +1 -0
  364. package/types-legacy/ts4.2/apis/middleware/middleware.d.ts +23 -5
  365. package/types-legacy/ts4.2/apis/middleware/models/index.d.ts +164 -15
  366. package/types-legacy/ts4.2/apis/middleware/models/mappers.d.ts +8 -1
  367. package/types-legacy/ts4.2/apis/middleware/models/parameters.d.ts +6 -3
  368. package/types-legacy/ts4.2/apis/node/models/index.d.ts +66 -2
  369. package/types-legacy/ts4.2/apis/node/models/mappers.d.ts +5 -1
  370. package/types-legacy/ts4.2/apis/node/models/parameters.d.ts +2 -2
  371. package/types-legacy/ts4.2/apis/node/node.d.ts +24 -3
  372. package/types-legacy/ts4.2/chain.d.ts +14 -44
  373. package/types-legacy/ts4.2/channel/Base.d.ts +3 -47
  374. package/types-legacy/ts4.2/channel/Contract.d.ts +16 -25
  375. package/types-legacy/ts4.2/channel/Spend.d.ts +0 -8
  376. package/types-legacy/ts4.2/channel/internal.d.ts +104 -5
  377. package/types-legacy/ts4.2/contract/Contract.d.ts +9 -1
  378. package/types-legacy/ts4.2/contract/compiler/Base.d.ts +14 -8
  379. package/types-legacy/ts4.2/contract/compiler/Cli.d.ts +5 -9
  380. package/types-legacy/ts4.2/contract/compiler/Cli8.d.ts +13 -0
  381. package/types-legacy/ts4.2/contract/compiler/Http.d.ts +3 -9
  382. package/types-legacy/ts4.2/contract/compiler/HttpNode.d.ts +2 -5
  383. package/types-legacy/ts4.2/contract/delegation-signature.d.ts +2 -1
  384. package/types-legacy/ts4.2/contract/ga.d.ts +1 -2
  385. package/types-legacy/ts4.2/deprecated.d.ts +38 -0
  386. package/types-legacy/ts4.2/index-browser.d.ts +10 -5
  387. package/types-legacy/ts4.2/index.d.ts +1 -0
  388. package/types-legacy/ts4.2/oracle.d.ts +6 -37
  389. package/types-legacy/ts4.2/send-transaction.d.ts +53 -0
  390. package/types-legacy/ts4.2/spend.d.ts +4 -3
  391. package/types-legacy/ts4.2/tx/builder/common.d.ts +32 -0
  392. package/types-legacy/ts4.2/tx/builder/constants.d.ts +4 -4
  393. package/types-legacy/ts4.2/tx/builder/delegation/index.d.ts +20 -0
  394. package/types-legacy/ts4.2/tx/builder/delegation/schema.d.ts +136 -0
  395. package/types-legacy/ts4.2/tx/builder/delegation/schema.generated.d.ts +141 -0
  396. package/types-legacy/ts4.2/tx/builder/field-types/coin-amount.d.ts +2 -2
  397. package/types-legacy/ts4.2/tx/builder/field-types/fee.d.ts +19 -11
  398. package/types-legacy/ts4.2/tx/builder/field-types/gas-price.d.ts +10 -2
  399. package/types-legacy/ts4.2/tx/builder/field-types/index.d.ts +31 -29
  400. package/types-legacy/ts4.2/tx/builder/field-types/name-fee.d.ts +1 -1
  401. package/types-legacy/ts4.2/tx/builder/field-types/nonce.d.ts +1 -0
  402. package/types-legacy/ts4.2/tx/builder/field-types/pointers2.d.ts +26 -0
  403. package/types-legacy/ts4.2/tx/builder/field-types/query-fee.d.ts +19 -0
  404. package/types-legacy/ts4.2/tx/builder/field-types/ttl.d.ts +9 -1
  405. package/types-legacy/ts4.2/tx/builder/field-types/with-default.d.ts +7 -0
  406. package/types-legacy/ts4.2/tx/builder/field-types/with-formatting.d.ts +7 -0
  407. package/types-legacy/ts4.2/tx/builder/helpers.d.ts +2 -2
  408. package/types-legacy/ts4.2/tx/builder/index.d.ts +17 -10
  409. package/types-legacy/ts4.2/tx/builder/schema.d.ts +482 -257
  410. package/types-legacy/ts4.2/tx/builder/schema.generated.d.ts +39 -3
  411. package/types-legacy/ts4.2/tx/execution-cost.d.ts +6 -5
  412. package/types-legacy/ts4.2/utils/autorest.d.ts +2 -3
  413. package/types-legacy/ts4.2/utils/crypto.d.ts +8 -4
  414. package/types-legacy/ts4.2/utils/errors.d.ts +6 -0
  415. package/types-legacy/ts4.2/utils/hd-wallet.d.ts +2 -0
  416. package/types-legacy/ts4.2/utils/jwt.d.ts +53 -0
  417. package/types-legacy/ts4.2/utils/keystore.d.ts +6 -2
  418. package/types-legacy/ts4.2/utils/wrap-proxy.d.ts +2 -0
  419. package/types-legacy/ts4.5/AeSdk.d.ts +3 -0
  420. package/types-legacy/ts4.5/AeSdkAepp.d.ts +0 -1
  421. package/types-legacy/ts4.5/AeSdkBase.d.ts +61 -6
  422. package/types-legacy/ts4.5/AeSdkMethods.d.ts +19 -7
  423. package/types-legacy/ts4.5/Node.d.ts +14 -1
  424. package/types-legacy/ts4.5/account/Base.d.ts +39 -3
  425. package/types-legacy/ts4.5/account/Generalized.d.ts +2 -0
  426. package/types-legacy/ts4.5/account/Ledger.d.ts +2 -0
  427. package/types-legacy/ts4.5/account/Memory.d.ts +15 -4
  428. package/types-legacy/ts4.5/account/Rpc.d.ts +16 -5
  429. package/types-legacy/ts4.5/aens.d.ts +17 -44
  430. package/types-legacy/ts4.5/aepp-wallet-communication/connection/BrowserRuntime.d.ts +3 -0
  431. package/types-legacy/ts4.5/aepp-wallet-communication/rpc/types.d.ts +14 -0
  432. package/types-legacy/ts4.5/aepp-wallet-communication/schema.d.ts +2 -0
  433. package/types-legacy/ts4.5/apis/compiler/models/index.d.ts +1 -0
  434. package/types-legacy/ts4.5/apis/middleware/middleware.d.ts +23 -5
  435. package/types-legacy/ts4.5/apis/middleware/models/index.d.ts +164 -15
  436. package/types-legacy/ts4.5/apis/middleware/models/mappers.d.ts +8 -1
  437. package/types-legacy/ts4.5/apis/middleware/models/parameters.d.ts +6 -3
  438. package/types-legacy/ts4.5/apis/node/models/index.d.ts +66 -2
  439. package/types-legacy/ts4.5/apis/node/models/mappers.d.ts +5 -1
  440. package/types-legacy/ts4.5/apis/node/models/parameters.d.ts +2 -2
  441. package/types-legacy/ts4.5/apis/node/node.d.ts +24 -3
  442. package/types-legacy/ts4.5/chain.d.ts +14 -44
  443. package/types-legacy/ts4.5/channel/Base.d.ts +3 -47
  444. package/types-legacy/ts4.5/channel/Contract.d.ts +16 -25
  445. package/types-legacy/ts4.5/channel/Spend.d.ts +0 -8
  446. package/types-legacy/ts4.5/channel/internal.d.ts +104 -5
  447. package/types-legacy/ts4.5/contract/Contract.d.ts +9 -1
  448. package/types-legacy/ts4.5/contract/compiler/Base.d.ts +14 -8
  449. package/types-legacy/ts4.5/contract/compiler/Cli.d.ts +5 -9
  450. package/types-legacy/ts4.5/contract/compiler/Cli8.d.ts +13 -0
  451. package/types-legacy/ts4.5/contract/compiler/Http.d.ts +3 -9
  452. package/types-legacy/ts4.5/contract/compiler/HttpNode.d.ts +2 -5
  453. package/types-legacy/ts4.5/contract/delegation-signature.d.ts +2 -1
  454. package/types-legacy/ts4.5/contract/ga.d.ts +1 -2
  455. package/types-legacy/ts4.5/deprecated.d.ts +38 -0
  456. package/types-legacy/ts4.5/index-browser.d.ts +10 -5
  457. package/types-legacy/ts4.5/index.d.ts +1 -0
  458. package/types-legacy/ts4.5/oracle.d.ts +6 -37
  459. package/types-legacy/ts4.5/send-transaction.d.ts +53 -0
  460. package/types-legacy/ts4.5/spend.d.ts +4 -3
  461. package/types-legacy/ts4.5/tx/builder/common.d.ts +32 -0
  462. package/types-legacy/ts4.5/tx/builder/constants.d.ts +4 -4
  463. package/types-legacy/ts4.5/tx/builder/delegation/index.d.ts +20 -0
  464. package/types-legacy/ts4.5/tx/builder/delegation/schema.d.ts +136 -0
  465. package/types-legacy/ts4.5/tx/builder/delegation/schema.generated.d.ts +141 -0
  466. package/types-legacy/ts4.5/tx/builder/field-types/coin-amount.d.ts +2 -2
  467. package/types-legacy/ts4.5/tx/builder/field-types/fee.d.ts +19 -11
  468. package/types-legacy/ts4.5/tx/builder/field-types/gas-price.d.ts +10 -2
  469. package/types-legacy/ts4.5/tx/builder/field-types/index.d.ts +31 -29
  470. package/types-legacy/ts4.5/tx/builder/field-types/name-fee.d.ts +1 -1
  471. package/types-legacy/ts4.5/tx/builder/field-types/nonce.d.ts +1 -0
  472. package/types-legacy/ts4.5/tx/builder/field-types/pointers2.d.ts +26 -0
  473. package/types-legacy/ts4.5/tx/builder/field-types/query-fee.d.ts +19 -0
  474. package/types-legacy/ts4.5/tx/builder/field-types/ttl.d.ts +9 -1
  475. package/types-legacy/ts4.5/tx/builder/field-types/with-default.d.ts +7 -0
  476. package/types-legacy/ts4.5/tx/builder/field-types/with-formatting.d.ts +7 -0
  477. package/types-legacy/ts4.5/tx/builder/helpers.d.ts +2 -2
  478. package/types-legacy/ts4.5/tx/builder/index.d.ts +17 -10
  479. package/types-legacy/ts4.5/tx/builder/schema.d.ts +482 -257
  480. package/types-legacy/ts4.5/tx/builder/schema.generated.d.ts +39 -3
  481. package/types-legacy/ts4.5/tx/execution-cost.d.ts +6 -5
  482. package/types-legacy/ts4.5/utils/autorest.d.ts +2 -3
  483. package/types-legacy/ts4.5/utils/crypto.d.ts +8 -4
  484. package/types-legacy/ts4.5/utils/errors.d.ts +6 -0
  485. package/types-legacy/ts4.5/utils/hd-wallet.d.ts +2 -0
  486. package/types-legacy/ts4.5/utils/jwt.d.ts +53 -0
  487. package/types-legacy/ts4.5/utils/keystore.d.ts +6 -2
  488. package/types-legacy/ts4.5/utils/wrap-proxy.d.ts +2 -0
  489. package/es/tx/builder/field-types/deposit.d.ts +0 -15
  490. package/es/tx/builder/field-types/deposit.mjs +0 -18
  491. package/es/tx/builder/field-types/deposit.mjs.map +0 -1
  492. package/src/tx/builder/field-types/deposit.ts +0 -23
  493. package/types-legacy/ts4.2/tx/builder/field-types/deposit.d.ts +0 -15
  494. package/types-legacy/ts4.5/tx/builder/field-types/deposit.d.ts +0 -15
package/es/aens.mjs CHANGED
@@ -5,22 +5,19 @@
5
5
  * https://github.com/aeternity/protocol/blob/master/AENS.md in the protocol
6
6
  * repository.
7
7
  */
8
- import { genSalt } from "./utils/crypto.mjs";
8
+ import { genSalt, isAddressValid } from "./utils/crypto.mjs";
9
9
  import { commitmentHash, isAuctionName } from "./tx/builder/helpers.mjs";
10
- import { CLIENT_TTL, NAME_TTL, Tag } from "./tx/builder/constants.mjs";
11
- import { ArgumentError } from "./utils/errors.mjs";
12
- import { sendTransaction, getName } from "./chain.mjs";
10
+ import { Tag, ConsensusProtocolVersion } from "./tx/builder/constants.mjs";
11
+ import { Encoding } from "./utils/encoder.mjs";
12
+ import { UnsupportedProtocolError } from "./utils/errors.mjs";
13
+ import { getName } from "./chain.mjs";
14
+ import { sendTransaction } from "./send-transaction.mjs";
13
15
  import { buildTxAsync } from "./tx/builder/index.mjs";
14
16
  /**
15
17
  * Revoke a name
16
18
  * @category AENS
17
19
  * @param name - Name hash
18
20
  * @param options - Options
19
- * @param options.onAccount - Make operation on specific account from sdk (you pass
20
- * publickKey) or using provided KeyPair(Can be keypair object or MemoryAccount)
21
- * @param options.fee - fee
22
- * @param options.ttl - ttl
23
- * @param options.nonce - nonce
24
21
  * @returns Transaction result
25
22
  * @example
26
23
  * ```js
@@ -34,6 +31,7 @@ import { buildTxAsync } from "./tx/builder/index.mjs";
34
31
  */
35
32
  export async function aensRevoke(name, options) {
36
33
  const nameRevokeTx = await buildTxAsync({
34
+ _isInternalBuild: true,
37
35
  ...options,
38
36
  tag: Tag.NameRevokeTx,
39
37
  nameId: name,
@@ -47,17 +45,6 @@ export async function aensRevoke(name, options) {
47
45
  * @param name - AENS name
48
46
  * @param pointers - Map of pointer keys to corresponding addresses
49
47
  * @param options - Options
50
- * @param options.extendPointers - Get the pointers from the node and merge with provided
51
- * ones. Pointers with the same type will be overwritten
52
- * @param options.onAccount - Make operation on specific account from sdk (you
53
- * pass publickKey) or using provided KeyPair(Can be keypair object or MemoryAccount)
54
- * @param options.fee - fee
55
- * @param options.ttl - ttl
56
- * @param options.nonce - nonce
57
- * @param options.nameTtl - Name ttl represented in number of
58
- * blocks (Max value is 50000 blocks)
59
- * @param options.clientTtl=84600 a suggestion as to how long any
60
- * clients should cache this information
61
48
  * @throws Invalid pointer array error
62
49
  * @example
63
50
  * ```js
@@ -70,35 +57,33 @@ export async function aensRevoke(name, options) {
70
57
  * await nameObject.update(pointers, { nameTtl, ttl, fee, nonce, clientTtl })
71
58
  * ```
72
59
  */
73
- export async function aensUpdate(name, pointers, _ref) {
74
- let {
75
- extendPointers,
76
- ...options
77
- } = _ref;
60
+ export async function aensUpdate(name, pointers, {
61
+ extendPointers,
62
+ ...options
63
+ }) {
78
64
  const allPointers = {
79
- ...(extendPointers === true && Object.fromEntries((await getName(name, options)).pointers.map(_ref2 => {
80
- let {
81
- key,
82
- id
83
- } = _ref2;
84
- return [key, id];
85
- }))),
65
+ ...(extendPointers === true && Object.fromEntries((await getName(name, options)).pointers.map(({
66
+ key,
67
+ id
68
+ }) => [key, id]))),
86
69
  ...pointers
87
70
  };
71
+ const hasRawPointers = Object.values(allPointers).some(v => isAddressValid(v, Encoding.Bytearray));
72
+ const isIris = (await options.onNode.getNodeInfo()).consensusProtocolVersion === ConsensusProtocolVersion.Iris;
73
+ if (hasRawPointers && isIris) {
74
+ throw new UnsupportedProtocolError('Raw pointers are available only in Ceres, the current protocol is Iris');
75
+ }
88
76
  const nameUpdateTx = await buildTxAsync({
89
- clientTtl: CLIENT_TTL,
90
- nameTtl: NAME_TTL,
77
+ _isInternalBuild: true,
91
78
  ...options,
92
79
  tag: Tag.NameUpdateTx,
80
+ version: hasRawPointers ? 2 : 1,
93
81
  nameId: name,
94
82
  accountId: options.onAccount.address,
95
- pointers: Object.entries(allPointers).map(_ref3 => {
96
- let [key, id] = _ref3;
97
- return {
98
- key,
99
- id
100
- };
101
- })
83
+ pointers: Object.entries(allPointers).map(([key, id]) => ({
84
+ key,
85
+ id
86
+ }))
102
87
  });
103
88
  return sendTransaction(nameUpdateTx, options);
104
89
  }
@@ -108,11 +93,6 @@ export async function aensUpdate(name, pointers, _ref) {
108
93
  * @param name - AENS name
109
94
  * @param account - Recipient account publick key
110
95
  * @param options - Options
111
- * @param options.onAccount - Make operation on specific account from sdk (you pass
112
- * publickKey) or using provided KeyPair(Can be keypair object or MemoryAccount)
113
- * @param options.fee - fee
114
- * @param options.ttl - ttl
115
- * @param options.nonce - nonce
116
96
  * @returns Transaction result
117
97
  * @example
118
98
  * ```js
@@ -127,6 +107,7 @@ export async function aensUpdate(name, pointers, _ref) {
127
107
  */
128
108
  export async function aensTransfer(name, account, options) {
129
109
  const nameTransferTx = await buildTxAsync({
110
+ _isInternalBuild: true,
130
111
  ...options,
131
112
  tag: Tag.NameTransferTx,
132
113
  nameId: name,
@@ -141,7 +122,6 @@ export async function aensTransfer(name, account, options) {
141
122
  * @category AENS
142
123
  * @param name - AENS name
143
124
  * @param opt - Options
144
- * @returns
145
125
  * @example
146
126
  * ```js
147
127
  * const nameObject = sdkInstance.aensQuery('test.chain')
@@ -192,12 +172,7 @@ export async function aensQuery(name, opt) {
192
172
  ...options
193
173
  });
194
174
  },
195
- async extendTtl() {
196
- let nameTtl = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : NAME_TTL;
197
- let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
198
- if (nameTtl > NAME_TTL || nameTtl <= 0) {
199
- throw new ArgumentError('nameTtl', `a number between 1 and ${NAME_TTL} blocks`, nameTtl);
200
- }
175
+ async extendTtl(nameTtl, options = {}) {
201
176
  return {
202
177
  ...(await aensUpdate(name, {}, {
203
178
  ...opt,
@@ -219,15 +194,9 @@ export async function aensQuery(name, opt) {
219
194
  * preclaim step
220
195
  * @category AENS
221
196
  * @param name - AENS name
222
- * @param salt - Salt from pre-claim, or 0 if it's a bid
197
+ * @param salt - Salt from pre-claim, or 0 if it's a bid or claiming without preclaim (in Ceres)
223
198
  * @param options - options
224
- * @param options.onAccount - Make operation on specific account from sdk (you pass
225
- * publickKey) or using provided KeyPair(Can be keypair object or MemoryAccount)
226
- * @param options.fee - fee
227
- * @param options.ttl - ttl
228
- * @param options.nonce - nonce
229
- * @param options.nameFee - Name Fee (By default calculated by sdk)
230
- * @returns the result of the claim
199
+ * @returns Transaction result
231
200
  * @example
232
201
  * ```js
233
202
  * const name = 'test.chain'
@@ -238,6 +207,7 @@ export async function aensQuery(name, opt) {
238
207
  */
239
208
  export async function aensClaim(name, salt, options) {
240
209
  const claimTx = await buildTxAsync({
210
+ _isInternalBuild: true,
241
211
  ...options,
242
212
  tag: Tag.NameClaimTx,
243
213
  accountId: options.onAccount.address,
@@ -256,11 +226,6 @@ export async function aensClaim(name, salt, options) {
256
226
  * @category AENS
257
227
  * @param name - AENS name
258
228
  * @param options - Options
259
- * @param options.onAccount - Make operation on specific account from sdk (you pass
260
- * publickKey) or using provided KeyPair(Can be keypair object or MemoryAccount)
261
- * @param options.fee - fee
262
- * @param options.ttl - ttl
263
- * @param options.nonce - nonce
264
229
  * @example
265
230
  * ```js
266
231
  * const name = 'test.chain'
@@ -279,6 +244,7 @@ export async function aensPreclaim(name, options) {
279
244
  const salt = genSalt();
280
245
  const commitmentId = commitmentHash(name, salt);
281
246
  const preclaimTx = await buildTxAsync({
247
+ _isInternalBuild: true,
282
248
  ...options,
283
249
  tag: Tag.NamePreclaimTx,
284
250
  accountId: options.onAccount.address,
@@ -306,11 +272,6 @@ export async function aensPreclaim(name, options) {
306
272
  * @param name - Domain name
307
273
  * @param nameFee - Name fee (bid fee)
308
274
  * @param options - Options
309
- * @param options.onAccount - Make operation on specific account from sdk (you pass
310
- * publickKey) or using provided KeyPair(Can be keypair object or MemoryAccount)
311
- * @param options.fee - fee
312
- * @param options.ttl - ttl
313
- * @param options.nonce - nonce
314
275
  * @returns Transaction result
315
276
  * @example
316
277
  * ```js
package/es/aens.mjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"aens.mjs","names":["genSalt","commitmentHash","isAuctionName","CLIENT_TTL","NAME_TTL","Tag","ArgumentError","sendTransaction","getName","buildTxAsync","aensRevoke","name","options","nameRevokeTx","tag","NameRevokeTx","nameId","accountId","onAccount","address","aensUpdate","pointers","_ref","extendPointers","allPointers","Object","fromEntries","map","_ref2","key","id","nameUpdateTx","clientTtl","nameTtl","NameUpdateTx","entries","_ref3","aensTransfer","account","nameTransferTx","NameTransferTx","recipientId","aensQuery","opt","nameEntry","freeze","owner","update","transfer","revoke","extendTtl","arguments","length","undefined","aensClaim","salt","claimTx","NameClaimTx","nameSalt","result","nameInter","blockHeight","assign","aensPreclaim","commitmentId","preclaimTx","NamePreclaimTx","claim","opts","version","otherOptions","aensBid","nameFee"],"sources":["../src/aens.ts"],"sourcesContent":["/**\n * Aens methods - routines to interact with the æternity naming system\n *\n * The high-level description of the naming system is\n * https://github.com/aeternity/protocol/blob/master/AENS.md in the protocol\n * repository.\n */\n\nimport BigNumber from 'bignumber.js';\nimport { genSalt } from './utils/crypto';\nimport { commitmentHash, isAuctionName } from './tx/builder/helpers';\nimport {\n CLIENT_TTL, NAME_TTL, Tag, AensName,\n} from './tx/builder/constants';\nimport { ArgumentError } from './utils/errors';\nimport { Encoded } from './utils/encoder';\nimport { sendTransaction, SendTransactionOptions, getName } from './chain';\nimport { buildTxAsync, BuildTxOptions } from './tx/builder';\nimport { TransformNodeType } from './Node';\nimport { NameEntry, NamePointer } from './apis/node';\nimport AccountBase from './account/Base';\nimport { AddressEncodings } from './tx/builder/field-types/address';\n\ninterface KeyPointers {\n [key: string]: Encoded.Generic<AddressEncodings>;\n}\n\n/**\n * Revoke a name\n * @category AENS\n * @param name - Name hash\n * @param options - Options\n * @param options.onAccount - Make operation on specific account from sdk (you pass\n * publickKey) or using provided KeyPair(Can be keypair object or MemoryAccount)\n * @param options.fee - fee\n * @param options.ttl - ttl\n * @param options.nonce - nonce\n * @returns Transaction result\n * @example\n * ```js\n * const name = 'test.chain'\n * const nameObject = await sdkInstance.aensQuery(name)\n *\n * await sdkInstance.aensRevoke(name, { fee, ttl , nonce })\n * // or\n * await nameObject.revoke({ fee, ttl, nonce })\n * ```\n */\nexport async function aensRevoke(\n name: AensName,\n options: AensRevokeOptions,\n): ReturnType<typeof sendTransaction> {\n const nameRevokeTx = await buildTxAsync({\n ...options,\n tag: Tag.NameRevokeTx,\n nameId: name,\n accountId: options.onAccount.address,\n });\n return sendTransaction(nameRevokeTx, options);\n}\n\ninterface AensRevokeOptions extends\n BuildTxOptions<Tag.NameRevokeTx, 'nameId' | 'accountId' | 'onNode'>,\n SendTransactionOptions {}\n\n/**\n * Update a name\n * @category AENS\n * @param name - AENS name\n * @param pointers - Map of pointer keys to corresponding addresses\n * @param options - Options\n * @param options.extendPointers - Get the pointers from the node and merge with provided\n * ones. Pointers with the same type will be overwritten\n * @param options.onAccount - Make operation on specific account from sdk (you\n * pass publickKey) or using provided KeyPair(Can be keypair object or MemoryAccount)\n * @param options.fee - fee\n * @param options.ttl - ttl\n * @param options.nonce - nonce\n * @param options.nameTtl - Name ttl represented in number of\n * blocks (Max value is 50000 blocks)\n * @param options.clientTtl=84600 a suggestion as to how long any\n * clients should cache this information\n * @throws Invalid pointer array error\n * @example\n * ```js\n * const name = 'test.chain'\n * const pointersArray = ['ak_asd23dasdas...,' 'ct_asdf34fasdasd...']\n * const nameObject = await sdkInstance.aensQuery(name)\n *\n * await sdkInstance.aensUpdate(name, pointersArray, { nameTtl, ttl, fee, nonce, clientTtl })\n * // or\n * await nameObject.update(pointers, { nameTtl, ttl, fee, nonce, clientTtl })\n * ```\n */\nexport async function aensUpdate(\n name: AensName,\n pointers: KeyPointers,\n { extendPointers, ...options }: AensUpdateOptions,\n): ReturnType<typeof sendTransaction> {\n const allPointers = {\n ...extendPointers === true && Object.fromEntries(\n (await getName(name, options)).pointers.map(({ key, id }) => [key, id]),\n ),\n ...pointers,\n };\n\n const nameUpdateTx = await buildTxAsync({\n clientTtl: CLIENT_TTL,\n nameTtl: NAME_TTL,\n ...options,\n tag: Tag.NameUpdateTx,\n nameId: name,\n accountId: options.onAccount.address,\n pointers: Object.entries(allPointers)\n .map(([key, id]: [string, Encoded.Generic<AddressEncodings>]) => ({ key, id })),\n });\n\n return sendTransaction(nameUpdateTx, options);\n}\n\ninterface AensUpdateOptions extends\n BuildTxOptions<Tag.NameUpdateTx, 'nameId' | 'accountId' | 'pointers' | 'clientTtl' | 'nameTtl' | 'onNode'>,\n SendTransactionOptions {\n extendPointers?: boolean;\n clientTtl?: number;\n nameTtl?: number;\n}\n\n/**\n * Transfer a domain to another account\n * @category AENS\n * @param name - AENS name\n * @param account - Recipient account publick key\n * @param options - Options\n * @param options.onAccount - Make operation on specific account from sdk (you pass\n * publickKey) or using provided KeyPair(Can be keypair object or MemoryAccount)\n * @param options.fee - fee\n * @param options.ttl - ttl\n * @param options.nonce - nonce\n * @returns Transaction result\n * @example\n * ```js\n * const name = 'test.chain'\n * const recipientPub = 'ak_asd23dasdas...'\n * const nameObject = await sdkInstance.aensQuery(name)\n *\n * await sdkInstance.aensTransfer(name, recipientPub, { ttl, fee, nonce })\n * // or\n * await nameObject.transfer(recipientPub, { ttl, fee, nonce })\n * ```\n */\nexport async function aensTransfer(\n name: AensName,\n account: Encoded.AccountAddress,\n options: AensTransferOptions,\n): ReturnType<typeof sendTransaction> {\n const nameTransferTx = await buildTxAsync({\n ...options,\n tag: Tag.NameTransferTx,\n nameId: name,\n accountId: options.onAccount.address,\n recipientId: account,\n });\n\n return sendTransaction(nameTransferTx, options);\n}\n\ninterface AensTransferOptions extends\n BuildTxOptions<Tag.NameTransferTx, 'nameId' | 'accountId' | 'recipientId' | 'onNode'>,\n SendTransactionOptions {}\n\n/**\n * Query the AENS name info from the node\n * and return the object with info and predefined functions for manipulating name\n * @category AENS\n * @param name - AENS name\n * @param opt - Options\n * @returns\n * @example\n * ```js\n * const nameObject = sdkInstance.aensQuery('test.chain')\n * console.log(nameObject)\n * {\n * id, // name hash\n * pointers, // array of pointers\n * update, // Update name function\n * extendTtl, // Extend Ttl name function\n * transfer, // Transfer name function\n * revoke // Revoke name function\n * }\n * ```\n */\nexport async function aensQuery(\n name: AensName,\n opt: Parameters<typeof getName>[1] & Parameters<typeof aensUpdate>[2]\n & Parameters<typeof aensTransfer>[2],\n): Promise<Readonly<\n TransformNodeType<NameEntry> & {\n id: Encoded.Name;\n owner: Encoded.AccountAddress;\n pointers: KeyPointers | NamePointer[];\n ttl: number;\n update: (\n pointers: KeyPointers,\n options?: Omit<Parameters<typeof aensQuery>[1], 'onNode' | 'onCompiler' | 'onAccount'> & {\n onAccount?: AccountBase;\n }\n ) => ReturnType<typeof aensUpdate> & ReturnType<typeof aensQuery>;\n transfer: (\n account: Encoded.AccountAddress,\n options?: Parameters<typeof aensQuery>[1]\n ) => ReturnType<typeof aensUpdate> & ReturnType<typeof aensQuery>;\n revoke: (options?: Omit<Parameters<typeof aensRevoke>[1], 'onNode' | 'onCompiler' | 'onAccount'> & {\n onAccount?: AccountBase;\n }\n ) => ReturnType<typeof aensRevoke>;\n extendTtl: (\n nameTtl: number,\n options?: Omit<Parameters<typeof aensQuery>[1], 'onNode' | 'onCompiler' | 'onAccount'>\n ) => ReturnType<typeof aensUpdate> & ReturnType<typeof aensQuery>;\n }\n >> {\n const nameEntry = await getName(name, opt);\n return Object.freeze({\n ...nameEntry,\n id: nameEntry.id as Encoded.Name,\n owner: nameEntry.owner as Encoded.AccountAddress,\n async update(pointers, options) {\n return {\n ...await aensUpdate(name, pointers, { ...opt, ...options }),\n ...await aensQuery(name, { ...opt, ...options }),\n };\n },\n async transfer(account, options) {\n return {\n ...await aensTransfer(name, account, { ...opt, ...options }),\n ...await aensQuery(name, { ...opt, ...options }),\n };\n },\n async revoke(options) {\n return aensRevoke(name, { ...opt, ...options });\n },\n async extendTtl(nameTtl = NAME_TTL, options = {}) {\n if (nameTtl > NAME_TTL || nameTtl <= 0) {\n throw new ArgumentError('nameTtl', `a number between 1 and ${NAME_TTL} blocks`, nameTtl);\n }\n\n return {\n ...await aensUpdate(name, {}, {\n ...opt, ...options, nameTtl, extendPointers: true,\n }),\n ...await aensQuery(name, { ...opt, ...options }),\n };\n },\n });\n}\n\n/**\n * Claim a previously preclaimed registration. This can only be done after the\n * preclaim step\n * @category AENS\n * @param name - AENS name\n * @param salt - Salt from pre-claim, or 0 if it's a bid\n * @param options - options\n * @param options.onAccount - Make operation on specific account from sdk (you pass\n * publickKey) or using provided KeyPair(Can be keypair object or MemoryAccount)\n * @param options.fee - fee\n * @param options.ttl - ttl\n * @param options.nonce - nonce\n * @param options.nameFee - Name Fee (By default calculated by sdk)\n * @returns the result of the claim\n * @example\n * ```js\n * const name = 'test.chain'\n * const salt = preclaimResult.salt // salt from pre-claim transaction\n *\n * await sdkInstance.aensClaim(name, salt, { ttl, fee, nonce, nameFee })\n * ```\n */\nexport async function aensClaim(\n name: AensName,\n salt: number,\n options: AensClaimOptions,\n): Promise<AensClaimReturnType> {\n const claimTx = await buildTxAsync({\n ...options,\n tag: Tag.NameClaimTx,\n accountId: options.onAccount.address,\n nameSalt: salt,\n name,\n });\n\n const result = await sendTransaction(claimTx, options);\n if (!isAuctionName(name)) {\n const nameInter = result.blockHeight != null && result.blockHeight > 0\n ? await aensQuery(name, options)\n : {};\n return Object.assign(result, nameInter);\n }\n return result;\n}\n\ntype AensClaimOptionsType = BuildTxOptions<Tag.NameClaimTx, 'accountId' | 'nameSalt' | 'name'>\n& SendTransactionOptions & Parameters<typeof aensQuery>[1];\ninterface AensClaimOptions extends AensClaimOptionsType {}\ninterface AensClaimReturnType extends\n Awaited<ReturnType<typeof sendTransaction>>,\n Partial<Awaited<ReturnType<typeof aensQuery>>> {}\n\n/**\n * Preclaim a name. Sends a hash of the name and a random salt to the node\n * @category AENS\n * @param name - AENS name\n * @param options - Options\n * @param options.onAccount - Make operation on specific account from sdk (you pass\n * publickKey) or using provided KeyPair(Can be keypair object or MemoryAccount)\n * @param options.fee - fee\n * @param options.ttl - ttl\n * @param options.nonce - nonce\n * @example\n * ```js\n * const name = 'test.chain'\n * const salt = preclaimResult.salt // salt from pre-claim transaction\n *\n * await sdkInstance.aensPreclaim(name, { ttl, fee, nonce })\n * {\n * ...transactionResult,\n * claim, // Claim function (options={}) => claimTransactionResult\n * salt,\n * commitmentId\n * }\n * ```\n */\nexport async function aensPreclaim(name: AensName, options: AensPreclaimOptions): Promise<Readonly<\nAwaited<ReturnType<typeof sendTransaction>> & {\n salt: number;\n commitmentId: string;\n claim: (opts?: Parameters<typeof aensClaim>[2]) => ReturnType<typeof aensClaim>;\n}\n>> {\n const salt = genSalt();\n const commitmentId = commitmentHash(name, salt);\n\n const preclaimTx = await buildTxAsync({\n ...options,\n tag: Tag.NamePreclaimTx,\n accountId: options.onAccount.address,\n commitmentId,\n });\n\n return Object.freeze({\n ...await sendTransaction(preclaimTx, options),\n salt,\n commitmentId,\n async claim(opts?: Parameters<typeof aensClaim>[2]) {\n const { version, ...otherOptions } = options;\n return aensClaim(name, salt, { ...otherOptions, ...opts });\n },\n });\n}\n\ninterface AensPreclaimOptions extends\n BuildTxOptions<Tag.NamePreclaimTx, 'accountId' | 'commitmentId' | 'onNode'>,\n SendTransactionOptions,\n Omit<AensClaimOptions, 'version'> {}\n\n/**\n * Bid to name auction\n * @category AENS\n * @param name - Domain name\n * @param nameFee - Name fee (bid fee)\n * @param options - Options\n * @param options.onAccount - Make operation on specific account from sdk (you pass\n * publickKey) or using provided KeyPair(Can be keypair object or MemoryAccount)\n * @param options.fee - fee\n * @param options.ttl - ttl\n * @param options.nonce - nonce\n * @returns Transaction result\n * @example\n * ```js\n * const name = 'test.chain'\n * const bidFee = computeBidFee(name, { startFee, increment: 0.42 })\n *\n * await sdkInstance.aensBid(name, 213109412839123, { ttl, fee, nonce })\n * ```\n */\nexport async function aensBid(\n name: AensName,\n nameFee: number | string | BigNumber,\n options: Omit<Parameters<typeof aensClaim>[2], 'nameFee'>,\n): ReturnType<typeof aensClaim> {\n return aensClaim(name, 0, { ...options, nameFee });\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"aens.mjs","names":["genSalt","isAddressValid","commitmentHash","isAuctionName","Tag","ConsensusProtocolVersion","Encoding","UnsupportedProtocolError","getName","sendTransaction","buildTxAsync","aensRevoke","name","options","nameRevokeTx","_isInternalBuild","tag","NameRevokeTx","nameId","accountId","onAccount","address","aensUpdate","pointers","extendPointers","allPointers","Object","fromEntries","map","key","id","hasRawPointers","values","some","v","Bytearray","isIris","onNode","getNodeInfo","consensusProtocolVersion","Iris","nameUpdateTx","NameUpdateTx","version","entries","aensTransfer","account","nameTransferTx","NameTransferTx","recipientId","aensQuery","opt","nameEntry","freeze","owner","update","transfer","revoke","extendTtl","nameTtl","aensClaim","salt","claimTx","NameClaimTx","nameSalt","result","nameInter","blockHeight","assign","aensPreclaim","commitmentId","preclaimTx","NamePreclaimTx","claim","opts","otherOptions","aensBid","nameFee"],"sources":["../src/aens.ts"],"sourcesContent":["/**\n * Aens methods - routines to interact with the æternity naming system\n *\n * The high-level description of the naming system is\n * https://github.com/aeternity/protocol/blob/master/AENS.md in the protocol\n * repository.\n */\n\nimport BigNumber from 'bignumber.js';\nimport { genSalt, isAddressValid } from './utils/crypto';\nimport { commitmentHash, isAuctionName } from './tx/builder/helpers';\nimport { Tag, AensName, ConsensusProtocolVersion } from './tx/builder/constants';\nimport { Encoded, Encoding } from './utils/encoder';\nimport { UnsupportedProtocolError } from './utils/errors';\nimport { getName } from './chain';\nimport { sendTransaction, SendTransactionOptions } from './send-transaction';\nimport { buildTxAsync, BuildTxOptions } from './tx/builder';\nimport { TransformNodeType } from './Node';\nimport { NameEntry, NamePointer } from './apis/node';\nimport AccountBase from './account/Base';\nimport { AddressEncodings } from './tx/builder/field-types/address';\n\ninterface KeyPointers {\n [key: string]: Encoded.Generic<AddressEncodings | Encoding.Bytearray>;\n}\n\n/**\n * Revoke a name\n * @category AENS\n * @param name - Name hash\n * @param options - Options\n * @returns Transaction result\n * @example\n * ```js\n * const name = 'test.chain'\n * const nameObject = await sdkInstance.aensQuery(name)\n *\n * await sdkInstance.aensRevoke(name, { fee, ttl , nonce })\n * // or\n * await nameObject.revoke({ fee, ttl, nonce })\n * ```\n */\nexport async function aensRevoke(\n name: AensName,\n options: AensRevokeOptions,\n): ReturnType<typeof sendTransaction> {\n const nameRevokeTx = await buildTxAsync({\n _isInternalBuild: true,\n ...options,\n tag: Tag.NameRevokeTx,\n nameId: name,\n accountId: options.onAccount.address,\n });\n return sendTransaction(nameRevokeTx, options);\n}\n\ninterface AensRevokeOptions extends\n BuildTxOptions<Tag.NameRevokeTx, 'nameId' | 'accountId' | 'onNode'>,\n SendTransactionOptions {}\n\n/**\n * Update a name\n * @category AENS\n * @param name - AENS name\n * @param pointers - Map of pointer keys to corresponding addresses\n * @param options - Options\n * @throws Invalid pointer array error\n * @example\n * ```js\n * const name = 'test.chain'\n * const pointersArray = ['ak_asd23dasdas...,' 'ct_asdf34fasdasd...']\n * const nameObject = await sdkInstance.aensQuery(name)\n *\n * await sdkInstance.aensUpdate(name, pointersArray, { nameTtl, ttl, fee, nonce, clientTtl })\n * // or\n * await nameObject.update(pointers, { nameTtl, ttl, fee, nonce, clientTtl })\n * ```\n */\nexport async function aensUpdate(\n name: AensName,\n pointers: KeyPointers,\n { extendPointers, ...options }: AensUpdateOptions,\n): ReturnType<typeof sendTransaction> {\n const allPointers = {\n ...extendPointers === true && Object.fromEntries(\n (await getName(name, options)).pointers.map(({ key, id }) => [key, id]),\n ),\n ...pointers,\n };\n\n const hasRawPointers = Object.values(allPointers)\n .some((v) => isAddressValid(v, Encoding.Bytearray));\n const isIris = (await options.onNode.getNodeInfo())\n .consensusProtocolVersion === ConsensusProtocolVersion.Iris;\n if (hasRawPointers && isIris) {\n throw new UnsupportedProtocolError('Raw pointers are available only in Ceres, the current protocol is Iris');\n }\n\n const nameUpdateTx = await buildTxAsync({\n _isInternalBuild: true,\n ...options,\n tag: Tag.NameUpdateTx,\n version: hasRawPointers ? 2 : 1,\n nameId: name,\n accountId: options.onAccount.address,\n pointers: Object.entries(allPointers)\n .map(([key, id]: [string, Encoded.Generic<AddressEncodings>]) => ({ key, id })),\n });\n\n return sendTransaction(nameUpdateTx, options);\n}\n\ninterface AensUpdateOptions extends\n BuildTxOptions<Tag.NameUpdateTx, 'nameId' | 'accountId' | 'pointers' | 'clientTtl' | 'nameTtl' | 'onNode'>,\n SendTransactionOptions {\n /**\n * Get the pointers from the node and merge with provided ones. Pointers with the same key will be\n * overwritten.\n */\n extendPointers?: boolean;\n /**\n * a suggestion as to how long any clients should cache this information\n */\n clientTtl?: number;\n /**\n * Name ttl represented in number of blocks (Max value is 50000 blocks)\n */\n nameTtl?: number;\n}\n\n/**\n * Transfer a domain to another account\n * @category AENS\n * @param name - AENS name\n * @param account - Recipient account publick key\n * @param options - Options\n * @returns Transaction result\n * @example\n * ```js\n * const name = 'test.chain'\n * const recipientPub = 'ak_asd23dasdas...'\n * const nameObject = await sdkInstance.aensQuery(name)\n *\n * await sdkInstance.aensTransfer(name, recipientPub, { ttl, fee, nonce })\n * // or\n * await nameObject.transfer(recipientPub, { ttl, fee, nonce })\n * ```\n */\nexport async function aensTransfer(\n name: AensName,\n account: Encoded.AccountAddress,\n options: AensTransferOptions,\n): ReturnType<typeof sendTransaction> {\n const nameTransferTx = await buildTxAsync({\n _isInternalBuild: true,\n ...options,\n tag: Tag.NameTransferTx,\n nameId: name,\n accountId: options.onAccount.address,\n recipientId: account,\n });\n\n return sendTransaction(nameTransferTx, options);\n}\n\ninterface AensTransferOptions extends\n BuildTxOptions<Tag.NameTransferTx, 'nameId' | 'accountId' | 'recipientId' | 'onNode'>,\n SendTransactionOptions {}\n\n/**\n * Query the AENS name info from the node\n * and return the object with info and predefined functions for manipulating name\n * @category AENS\n * @param name - AENS name\n * @param opt - Options\n * @example\n * ```js\n * const nameObject = sdkInstance.aensQuery('test.chain')\n * console.log(nameObject)\n * {\n * id, // name hash\n * pointers, // array of pointers\n * update, // Update name function\n * extendTtl, // Extend Ttl name function\n * transfer, // Transfer name function\n * revoke // Revoke name function\n * }\n * ```\n */\nexport async function aensQuery(\n name: AensName,\n opt: Parameters<typeof getName>[1] & Parameters<typeof aensUpdate>[2]\n & Parameters<typeof aensTransfer>[2],\n): Promise<Readonly<\n TransformNodeType<NameEntry> & {\n id: Encoded.Name;\n owner: Encoded.AccountAddress;\n pointers: KeyPointers | NamePointer[];\n ttl: number;\n update: (\n pointers: KeyPointers,\n options?: Omit<Parameters<typeof aensQuery>[1], 'onNode' | 'onCompiler' | 'onAccount'> & {\n onAccount?: AccountBase;\n }\n ) => ReturnType<typeof aensUpdate> & ReturnType<typeof aensQuery>;\n transfer: (\n account: Encoded.AccountAddress,\n options?: Parameters<typeof aensQuery>[1]\n ) => ReturnType<typeof aensUpdate> & ReturnType<typeof aensQuery>;\n revoke: (options?: Omit<Parameters<typeof aensRevoke>[1], 'onNode' | 'onCompiler' | 'onAccount'> & {\n onAccount?: AccountBase;\n }\n ) => ReturnType<typeof aensRevoke>;\n extendTtl: (\n nameTtl?: number,\n options?: Omit<Parameters<typeof aensQuery>[1], 'onNode' | 'onCompiler' | 'onAccount'>\n ) => ReturnType<typeof aensUpdate> & ReturnType<typeof aensQuery>;\n }\n >> {\n const nameEntry = await getName(name, opt);\n return Object.freeze({\n ...nameEntry,\n id: nameEntry.id as Encoded.Name,\n owner: nameEntry.owner as Encoded.AccountAddress,\n async update(pointers, options) {\n return {\n ...await aensUpdate(name, pointers, { ...opt, ...options }),\n ...await aensQuery(name, { ...opt, ...options }),\n };\n },\n async transfer(account, options) {\n return {\n ...await aensTransfer(name, account, { ...opt, ...options }),\n ...await aensQuery(name, { ...opt, ...options }),\n };\n },\n async revoke(options) {\n return aensRevoke(name, { ...opt, ...options });\n },\n async extendTtl(nameTtl, options = {}) {\n return {\n ...await aensUpdate(name, {}, {\n ...opt, ...options, nameTtl, extendPointers: true,\n }),\n ...await aensQuery(name, { ...opt, ...options }),\n };\n },\n });\n}\n\n/**\n * Claim a previously preclaimed registration. This can only be done after the\n * preclaim step\n * @category AENS\n * @param name - AENS name\n * @param salt - Salt from pre-claim, or 0 if it's a bid or claiming without preclaim (in Ceres)\n * @param options - options\n * @returns Transaction result\n * @example\n * ```js\n * const name = 'test.chain'\n * const salt = preclaimResult.salt // salt from pre-claim transaction\n *\n * await sdkInstance.aensClaim(name, salt, { ttl, fee, nonce, nameFee })\n * ```\n */\nexport async function aensClaim(\n name: AensName,\n salt: number,\n options: AensClaimOptions,\n): Promise<AensClaimReturnType> {\n const claimTx = await buildTxAsync({\n _isInternalBuild: true,\n ...options,\n tag: Tag.NameClaimTx,\n accountId: options.onAccount.address,\n nameSalt: salt,\n name,\n });\n\n const result = await sendTransaction(claimTx, options);\n if (!isAuctionName(name)) {\n const nameInter = result.blockHeight != null && result.blockHeight > 0\n ? await aensQuery(name, options)\n : {};\n return Object.assign(result, nameInter);\n }\n return result;\n}\n\ntype AensClaimOptionsType = BuildTxOptions<Tag.NameClaimTx, 'accountId' | 'nameSalt' | 'name'>\n& SendTransactionOptions & Parameters<typeof aensQuery>[1];\ninterface AensClaimOptions extends AensClaimOptionsType {}\ninterface AensClaimReturnType extends\n Awaited<ReturnType<typeof sendTransaction>>,\n Partial<Awaited<ReturnType<typeof aensQuery>>> {}\n\n/**\n * Preclaim a name. Sends a hash of the name and a random salt to the node\n * @category AENS\n * @param name - AENS name\n * @param options - Options\n * @example\n * ```js\n * const name = 'test.chain'\n * const salt = preclaimResult.salt // salt from pre-claim transaction\n *\n * await sdkInstance.aensPreclaim(name, { ttl, fee, nonce })\n * {\n * ...transactionResult,\n * claim, // Claim function (options={}) => claimTransactionResult\n * salt,\n * commitmentId\n * }\n * ```\n */\nexport async function aensPreclaim(name: AensName, options: AensPreclaimOptions): Promise<Readonly<\nAwaited<ReturnType<typeof sendTransaction>> & {\n salt: number;\n commitmentId: string;\n claim: (opts?: Parameters<typeof aensClaim>[2]) => ReturnType<typeof aensClaim>;\n}\n>> {\n const salt = genSalt();\n const commitmentId = commitmentHash(name, salt);\n\n const preclaimTx = await buildTxAsync({\n _isInternalBuild: true,\n ...options,\n tag: Tag.NamePreclaimTx,\n accountId: options.onAccount.address,\n commitmentId,\n });\n\n return Object.freeze({\n ...await sendTransaction(preclaimTx, options),\n salt,\n commitmentId,\n async claim(opts?: Parameters<typeof aensClaim>[2]) {\n const { version, ...otherOptions } = options;\n return aensClaim(name, salt, { ...otherOptions, ...opts });\n },\n });\n}\n\ninterface AensPreclaimOptions extends\n BuildTxOptions<Tag.NamePreclaimTx, 'accountId' | 'commitmentId' | 'onNode'>,\n SendTransactionOptions,\n Omit<AensClaimOptions, 'version'> {}\n\n/**\n * Bid to name auction\n * @category AENS\n * @param name - Domain name\n * @param nameFee - Name fee (bid fee)\n * @param options - Options\n * @returns Transaction result\n * @example\n * ```js\n * const name = 'test.chain'\n * const bidFee = computeBidFee(name, { startFee, increment: 0.42 })\n *\n * await sdkInstance.aensBid(name, 213109412839123, { ttl, fee, nonce })\n * ```\n */\nexport async function aensBid(\n name: AensName,\n nameFee: number | string | BigNumber,\n options: Omit<Parameters<typeof aensClaim>[2], 'nameFee'>,\n): ReturnType<typeof aensClaim> {\n return aensClaim(name, 0, { ...options, nameFee });\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AANA,SASSA,OAAO,EAAEC,cAAc;AAAA,SACvBC,cAAc,EAAEC,aAAa;AAAA,SAC7BC,GAAG,EAAYC,wBAAwB;AAAA,SAC9BC,QAAQ;AAAA,SACjBC,wBAAwB;AAAA,SACxBC,OAAO;AAAA,SACPC,eAAe;AAAA,SACfC,YAAY;AAUrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAeC,UAAUA,CAC9BC,IAAc,EACdC,OAA0B,EACU;EACpC,MAAMC,YAAY,GAAG,MAAMJ,YAAY,CAAC;IACtCK,gBAAgB,EAAE,IAAI;IACtB,GAAGF,OAAO;IACVG,GAAG,EAAEZ,GAAG,CAACa,YAAY;IACrBC,MAAM,EAAEN,IAAI;IACZO,SAAS,EAAEN,OAAO,CAACO,SAAS,CAACC;EAC/B,CAAC,CAAC;EACF,OAAOZ,eAAe,CAACK,YAAY,EAAED,OAAO,CAAC;AAC/C;AAMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAeS,UAAUA,CAC9BV,IAAc,EACdW,QAAqB,EACrB;EAAEC,cAAc;EAAE,GAAGX;AAA2B,CAAC,EACb;EACpC,MAAMY,WAAW,GAAG;IAClB,IAAGD,cAAc,KAAK,IAAI,IAAIE,MAAM,CAACC,WAAW,CAC9C,CAAC,MAAMnB,OAAO,CAACI,IAAI,EAAEC,OAAO,CAAC,EAAEU,QAAQ,CAACK,GAAG,CAAC,CAAC;MAAEC,GAAG;MAAEC;IAAG,CAAC,KAAK,CAACD,GAAG,EAAEC,EAAE,CAAC,CACxE,CAAC;IACD,GAAGP;EACL,CAAC;EAED,MAAMQ,cAAc,GAAGL,MAAM,CAACM,MAAM,CAACP,WAAW,CAAC,CAC9CQ,IAAI,CAAEC,CAAC,IAAKjC,cAAc,CAACiC,CAAC,EAAE5B,QAAQ,CAAC6B,SAAS,CAAC,CAAC;EACrD,MAAMC,MAAM,GAAG,CAAC,MAAMvB,OAAO,CAACwB,MAAM,CAACC,WAAW,CAAC,CAAC,EAC/CC,wBAAwB,KAAKlC,wBAAwB,CAACmC,IAAI;EAC7D,IAAIT,cAAc,IAAIK,MAAM,EAAE;IAC5B,MAAM,IAAI7B,wBAAwB,CAAC,wEAAwE,CAAC;EAC9G;EAEA,MAAMkC,YAAY,GAAG,MAAM/B,YAAY,CAAC;IACtCK,gBAAgB,EAAE,IAAI;IACtB,GAAGF,OAAO;IACVG,GAAG,EAAEZ,GAAG,CAACsC,YAAY;IACrBC,OAAO,EAAEZ,cAAc,GAAG,CAAC,GAAG,CAAC;IAC/Bb,MAAM,EAAEN,IAAI;IACZO,SAAS,EAAEN,OAAO,CAACO,SAAS,CAACC,OAAO;IACpCE,QAAQ,EAAEG,MAAM,CAACkB,OAAO,CAACnB,WAAW,CAAC,CAClCG,GAAG,CAAC,CAAC,CAACC,GAAG,EAAEC,EAAE,CAA8C,MAAM;MAAED,GAAG;MAAEC;IAAG,CAAC,CAAC;EAClF,CAAC,CAAC;EAEF,OAAOrB,eAAe,CAACgC,YAAY,EAAE5B,OAAO,CAAC;AAC/C;AAoBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAegC,YAAYA,CAChCjC,IAAc,EACdkC,OAA+B,EAC/BjC,OAA4B,EACQ;EACpC,MAAMkC,cAAc,GAAG,MAAMrC,YAAY,CAAC;IACxCK,gBAAgB,EAAE,IAAI;IACtB,GAAGF,OAAO;IACVG,GAAG,EAAEZ,GAAG,CAAC4C,cAAc;IACvB9B,MAAM,EAAEN,IAAI;IACZO,SAAS,EAAEN,OAAO,CAACO,SAAS,CAACC,OAAO;IACpC4B,WAAW,EAAEH;EACf,CAAC,CAAC;EAEF,OAAOrC,eAAe,CAACsC,cAAc,EAAElC,OAAO,CAAC;AACjD;AAMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAeqC,SAASA,CAC7BtC,IAAc,EACduC,GACoC,EA0BjC;EACH,MAAMC,SAAS,GAAG,MAAM5C,OAAO,CAACI,IAAI,EAAEuC,GAAG,CAAC;EAC1C,OAAOzB,MAAM,CAAC2B,MAAM,CAAC;IACnB,GAAGD,SAAS;IACZtB,EAAE,EAAEsB,SAAS,CAACtB,EAAkB;IAChCwB,KAAK,EAAEF,SAAS,CAACE,KAA+B;IAChD,MAAMC,MAAMA,CAAChC,QAAQ,EAAEV,OAAO,EAAE;MAC9B,OAAO;QACL,IAAG,MAAMS,UAAU,CAACV,IAAI,EAAEW,QAAQ,EAAE;UAAE,GAAG4B,GAAG;UAAE,GAAGtC;QAAQ,CAAC,CAAC;QAC3D,IAAG,MAAMqC,SAAS,CAACtC,IAAI,EAAE;UAAE,GAAGuC,GAAG;UAAE,GAAGtC;QAAQ,CAAC,CAAC;MAClD,CAAC;IACH,CAAC;IACD,MAAM2C,QAAQA,CAACV,OAAO,EAAEjC,OAAO,EAAE;MAC/B,OAAO;QACL,IAAG,MAAMgC,YAAY,CAACjC,IAAI,EAAEkC,OAAO,EAAE;UAAE,GAAGK,GAAG;UAAE,GAAGtC;QAAQ,CAAC,CAAC;QAC5D,IAAG,MAAMqC,SAAS,CAACtC,IAAI,EAAE;UAAE,GAAGuC,GAAG;UAAE,GAAGtC;QAAQ,CAAC,CAAC;MAClD,CAAC;IACH,CAAC;IACD,MAAM4C,MAAMA,CAAC5C,OAAO,EAAE;MACpB,OAAOF,UAAU,CAACC,IAAI,EAAE;QAAE,GAAGuC,GAAG;QAAE,GAAGtC;MAAQ,CAAC,CAAC;IACjD,CAAC;IACD,MAAM6C,SAASA,CAACC,OAAO,EAAE9C,OAAO,GAAG,CAAC,CAAC,EAAE;MACrC,OAAO;QACL,IAAG,MAAMS,UAAU,CAACV,IAAI,EAAE,CAAC,CAAC,EAAE;UAC5B,GAAGuC,GAAG;UAAE,GAAGtC,OAAO;UAAE8C,OAAO;UAAEnC,cAAc,EAAE;QAC/C,CAAC,CAAC;QACF,IAAG,MAAM0B,SAAS,CAACtC,IAAI,EAAE;UAAE,GAAGuC,GAAG;UAAE,GAAGtC;QAAQ,CAAC,CAAC;MAClD,CAAC;IACH;EACF,CAAC,CAAC;AACJ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAe+C,SAASA,CAC7BhD,IAAc,EACdiD,IAAY,EACZhD,OAAyB,EACK;EAC9B,MAAMiD,OAAO,GAAG,MAAMpD,YAAY,CAAC;IACjCK,gBAAgB,EAAE,IAAI;IACtB,GAAGF,OAAO;IACVG,GAAG,EAAEZ,GAAG,CAAC2D,WAAW;IACpB5C,SAAS,EAAEN,OAAO,CAACO,SAAS,CAACC,OAAO;IACpC2C,QAAQ,EAAEH,IAAI;IACdjD;EACF,CAAC,CAAC;EAEF,MAAMqD,MAAM,GAAG,MAAMxD,eAAe,CAACqD,OAAO,EAAEjD,OAAO,CAAC;EACtD,IAAI,CAACV,aAAa,CAACS,IAAI,CAAC,EAAE;IACxB,MAAMsD,SAAS,GAAGD,MAAM,CAACE,WAAW,IAAI,IAAI,IAAIF,MAAM,CAACE,WAAW,GAAG,CAAC,GAClE,MAAMjB,SAAS,CAACtC,IAAI,EAAEC,OAAO,CAAC,GAC9B,CAAC,CAAC;IACN,OAAOa,MAAM,CAAC0C,MAAM,CAACH,MAAM,EAAEC,SAAS,CAAC;EACzC;EACA,OAAOD,MAAM;AACf;AASA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAeI,YAAYA,CAACzD,IAAc,EAAEC,OAA4B,EAM5E;EACD,MAAMgD,IAAI,GAAG7D,OAAO,CAAC,CAAC;EACtB,MAAMsE,YAAY,GAAGpE,cAAc,CAACU,IAAI,EAAEiD,IAAI,CAAC;EAE/C,MAAMU,UAAU,GAAG,MAAM7D,YAAY,CAAC;IACpCK,gBAAgB,EAAE,IAAI;IACtB,GAAGF,OAAO;IACVG,GAAG,EAAEZ,GAAG,CAACoE,cAAc;IACvBrD,SAAS,EAAEN,OAAO,CAACO,SAAS,CAACC,OAAO;IACpCiD;EACF,CAAC,CAAC;EAEF,OAAO5C,MAAM,CAAC2B,MAAM,CAAC;IACnB,IAAG,MAAM5C,eAAe,CAAC8D,UAAU,EAAE1D,OAAO,CAAC;IAC7CgD,IAAI;IACJS,YAAY;IACZ,MAAMG,KAAKA,CAACC,IAAsC,EAAE;MAClD,MAAM;QAAE/B,OAAO;QAAE,GAAGgC;MAAa,CAAC,GAAG9D,OAAO;MAC5C,OAAO+C,SAAS,CAAChD,IAAI,EAAEiD,IAAI,EAAE;QAAE,GAAGc,YAAY;QAAE,GAAGD;MAAK,CAAC,CAAC;IAC5D;EACF,CAAC,CAAC;AACJ;AAOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAeE,OAAOA,CAC3BhE,IAAc,EACdiE,OAAoC,EACpChE,OAAyD,EAC3B;EAC9B,OAAO+C,SAAS,CAAChD,IAAI,EAAE,CAAC,EAAE;IAAE,GAAGC,OAAO;IAAEgE;EAAQ,CAAC,CAAC;AACpD"}
@@ -4,10 +4,9 @@ import { AlreadyConnectedError, NoWalletConnectedError } from "../../utils/error
4
4
  * @category aepp wallet communication
5
5
  */
6
6
  export default class BrowserConnection {
7
- constructor(_ref) {
8
- let {
9
- debug = false
10
- } = _ref;
7
+ constructor({
8
+ debug = false
9
+ }) {
11
10
  this.debug = debug;
12
11
  }
13
12
 
@@ -1 +1 @@
1
- {"version":3,"file":"Browser.mjs","names":["AlreadyConnectedError","NoWalletConnectedError","BrowserConnection","constructor","_ref","debug","connect","onMessage","onDisconnect","isConnected","disconnect","receiveMessage","message","console","log","sendMessage"],"sources":["../../../src/aepp-wallet-communication/connection/Browser.ts"],"sourcesContent":["import { AlreadyConnectedError, NoWalletConnectedError } from '../../utils/errors';\n\n/**\n * Browser connection base interface\n * @category aepp wallet communication\n */\nexport default abstract class BrowserConnection {\n debug: boolean;\n\n protected constructor({ debug = false }: { debug?: boolean }) {\n this.debug = debug;\n }\n\n /**\n * Connect\n * @param onMessage - Message handler\n * @param onDisconnect - trigger when runtime connection in closed\n */\n connect(\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n onMessage: (message: any, origin: string, source: any) => void,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n onDisconnect: () => void,\n ): void {\n if (this.isConnected()) throw new AlreadyConnectedError('You already connected');\n }\n\n /**\n * Disconnect\n */\n disconnect(): void {\n if (!this.isConnected()) throw new NoWalletConnectedError('You dont have connection. Please connect before');\n }\n\n /**\n * Receive message\n */\n protected receiveMessage(message: any): void {\n if (this.debug) console.log('Receive message:', message);\n }\n\n /**\n * Send message\n */\n sendMessage(message: any): void {\n if (this.debug) console.log('Send message:', message);\n }\n\n /**\n * Check if connected\n * @returns Is connected\n */\n abstract isConnected(): boolean;\n}\n"],"mappings":"SAASA,qBAAqB,EAAEC,sBAAsB;AAEtD;AACA;AACA;AACA;AACA,eAAe,MAAeC,iBAAiB,CAAC;EAGpCC,WAAWA,CAAAC,IAAA,EAAyC;IAAA,IAAxC;MAAEC,KAAK,GAAG;IAA2B,CAAC,GAAAD,IAAA;IAC1D,IAAI,CAACC,KAAK,GAAGA,KAAK;EACpB;;EAEA;AACF;AACA;AACA;AACA;EACEC,OAAOA;EACL;EACAC,SAA8D;EAC9D;EACAC,YAAwB,EAClB;IACN,IAAI,IAAI,CAACC,WAAW,CAAC,CAAC,EAAE,MAAM,IAAIT,qBAAqB,CAAC,uBAAuB,CAAC;EAClF;;EAEA;AACF;AACA;EACEU,UAAUA,CAAA,EAAS;IACjB,IAAI,CAAC,IAAI,CAACD,WAAW,CAAC,CAAC,EAAE,MAAM,IAAIR,sBAAsB,CAAC,iDAAiD,CAAC;EAC9G;;EAEA;AACF;AACA;EACYU,cAAcA,CAACC,OAAY,EAAQ;IAC3C,IAAI,IAAI,CAACP,KAAK,EAAEQ,OAAO,CAACC,GAAG,CAAC,kBAAkB,EAAEF,OAAO,CAAC;EAC1D;;EAEA;AACF;AACA;EACEG,WAAWA,CAACH,OAAY,EAAQ;IAC9B,IAAI,IAAI,CAACP,KAAK,EAAEQ,OAAO,CAACC,GAAG,CAAC,eAAe,EAAEF,OAAO,CAAC;EACvD;;EAEA;AACF;AACA;AACA;AAEA"}
1
+ {"version":3,"file":"Browser.mjs","names":["AlreadyConnectedError","NoWalletConnectedError","BrowserConnection","constructor","debug","connect","onMessage","onDisconnect","isConnected","disconnect","receiveMessage","message","console","log","sendMessage"],"sources":["../../../src/aepp-wallet-communication/connection/Browser.ts"],"sourcesContent":["import { AlreadyConnectedError, NoWalletConnectedError } from '../../utils/errors';\n\n/**\n * Browser connection base interface\n * @category aepp wallet communication\n */\nexport default abstract class BrowserConnection {\n debug: boolean;\n\n protected constructor({ debug = false }: { debug?: boolean }) {\n this.debug = debug;\n }\n\n /**\n * Connect\n * @param onMessage - Message handler\n * @param onDisconnect - trigger when runtime connection in closed\n */\n connect(\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n onMessage: (message: any, origin: string, source: any) => void,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n onDisconnect: () => void,\n ): void {\n if (this.isConnected()) throw new AlreadyConnectedError('You already connected');\n }\n\n /**\n * Disconnect\n */\n disconnect(): void {\n if (!this.isConnected()) throw new NoWalletConnectedError('You dont have connection. Please connect before');\n }\n\n /**\n * Receive message\n */\n protected receiveMessage(message: any): void {\n if (this.debug) console.log('Receive message:', message);\n }\n\n /**\n * Send message\n */\n sendMessage(message: any): void {\n if (this.debug) console.log('Send message:', message);\n }\n\n /**\n * Check if connected\n * @returns Is connected\n */\n abstract isConnected(): boolean;\n}\n"],"mappings":"SAASA,qBAAqB,EAAEC,sBAAsB;AAEtD;AACA;AACA;AACA;AACA,eAAe,MAAeC,iBAAiB,CAAC;EAGpCC,WAAWA,CAAC;IAAEC,KAAK,GAAG;EAA2B,CAAC,EAAE;IAC5D,IAAI,CAACA,KAAK,GAAGA,KAAK;EACpB;;EAEA;AACF;AACA;AACA;AACA;EACEC,OAAOA;EACL;EACAC,SAA8D;EAC9D;EACAC,YAAwB,EAClB;IACN,IAAI,IAAI,CAACC,WAAW,CAAC,CAAC,EAAE,MAAM,IAAIR,qBAAqB,CAAC,uBAAuB,CAAC;EAClF;;EAEA;AACF;AACA;EACES,UAAUA,CAAA,EAAS;IACjB,IAAI,CAAC,IAAI,CAACD,WAAW,CAAC,CAAC,EAAE,MAAM,IAAIP,sBAAsB,CAAC,iDAAiD,CAAC;EAC9G;;EAEA;AACF;AACA;EACYS,cAAcA,CAACC,OAAY,EAAQ;IAC3C,IAAI,IAAI,CAACP,KAAK,EAAEQ,OAAO,CAACC,GAAG,CAAC,kBAAkB,EAAEF,OAAO,CAAC;EAC1D;;EAEA;AACF;AACA;EACEG,WAAWA,CAACH,OAAY,EAAQ;IAC9B,IAAI,IAAI,CAACP,KAAK,EAAEQ,OAAO,CAACC,GAAG,CAAC,eAAe,EAAEF,OAAO,CAAC;EACvD;;EAEA;AACF;AACA;AACA;AAEA"}
@@ -8,6 +8,9 @@ import BrowserConnection from './Browser';
8
8
  export default class BrowserRuntimeConnection extends BrowserConnection {
9
9
  #private;
10
10
  port: Runtime.Port;
11
+ /**
12
+ * @param options - Options
13
+ */
11
14
  constructor({ port, ...options }: {
12
15
  port: Runtime.Port;
13
16
  debug: boolean;
@@ -11,11 +11,13 @@ import { UnexpectedTsError } from "../../utils/errors.mjs";
11
11
  */
12
12
  var _listeners = /*#__PURE__*/new WeakMap();
13
13
  export default class BrowserRuntimeConnection extends BrowserConnection {
14
- constructor(_ref) {
15
- let {
16
- port,
17
- ...options
18
- } = _ref;
14
+ /**
15
+ * @param options - Options
16
+ */
17
+ constructor({
18
+ port,
19
+ ...options
20
+ }) {
19
21
  super(options);
20
22
  _classPrivateFieldInitSpec(this, _listeners, {
21
23
  writable: true,
@@ -1 +1 @@
1
- {"version":3,"file":"BrowserRuntime.mjs","names":["BrowserConnection","UnexpectedTsError","_listeners","WeakMap","BrowserRuntimeConnection","constructor","_ref","port","options","_classPrivateFieldInitSpec","writable","value","disconnect","_classPrivateFieldGet","onMessage","removeListener","onDisconnect","_classPrivateFieldSet","undefined","connect","message","_port$sender$url","_port$sender","receiveMessage","sender","url","addListener","sendMessage","postMessage","isConnected"],"sources":["../../../src/aepp-wallet-communication/connection/BrowserRuntime.ts"],"sourcesContent":["import { Runtime } from 'webextension-polyfill';\nimport BrowserConnection from './Browser';\nimport { UnexpectedTsError } from '../../utils/errors';\n\n/**\n * BrowserRuntimeConnection\n * Handle browser runtime communication\n * @category aepp wallet communication\n */\nexport default class BrowserRuntimeConnection extends BrowserConnection {\n port: Runtime.Port;\n\n #listeners?: [(message: any, port: Runtime.Port) => void, () => void];\n\n constructor({ port, ...options }: { port: Runtime.Port; debug: boolean }) {\n super(options);\n this.port = port;\n }\n\n override disconnect(): void {\n super.disconnect();\n this.port.disconnect();\n if (this.#listeners == null) throw new UnexpectedTsError();\n this.port.onMessage.removeListener(this.#listeners[0]);\n this.port.onDisconnect.removeListener(this.#listeners[1]);\n this.#listeners = undefined;\n }\n\n override connect(\n onMessage: (message: any, origin: string, source: Runtime.Port) => void,\n onDisconnect: () => void,\n ): void {\n super.connect(onMessage, onDisconnect);\n this.#listeners = [\n (message, port) => {\n this.receiveMessage(message);\n // TODO: make `origin` optional because sender url is not available on aepp side\n onMessage(message, port.sender?.url ?? '', port);\n },\n onDisconnect,\n ];\n this.port.onMessage.addListener(this.#listeners[0]);\n this.port.onDisconnect.addListener(this.#listeners[1]);\n }\n\n override sendMessage(message: any): void {\n super.sendMessage(message);\n this.port.postMessage(message);\n }\n\n isConnected(): boolean {\n return this.#listeners != null;\n }\n}\n"],"mappings":";;;;OACOA,iBAAiB;AAAA,SACfC,iBAAiB;AAE1B;AACA;AACA;AACA;AACA;AAJA,IAAAC,UAAA,oBAAAC,OAAA;AAKA,eAAe,MAAMC,wBAAwB,SAASJ,iBAAiB,CAAC;EAKtEK,WAAWA,CAAAC,IAAA,EAA+D;IAAA,IAA9D;MAAEC,IAAI;MAAE,GAAGC;IAAgD,CAAC,GAAAF,IAAA;IACtE,KAAK,CAACE,OAAO,CAAC;IAACC,0BAAA,OAAAP,UAAA;MAAAQ,QAAA;MAAAC,KAAA;IAAA;IACf,IAAI,CAACJ,IAAI,GAAGA,IAAI;EAClB;EAESK,UAAUA,CAAA,EAAS;IAC1B,KAAK,CAACA,UAAU,CAAC,CAAC;IAClB,IAAI,CAACL,IAAI,CAACK,UAAU,CAAC,CAAC;IACtB,IAAIC,qBAAA,KAAI,EAAAX,UAAA,KAAe,IAAI,EAAE,MAAM,IAAID,iBAAiB,CAAC,CAAC;IAC1D,IAAI,CAACM,IAAI,CAACO,SAAS,CAACC,cAAc,CAACF,qBAAA,KAAI,EAAAX,UAAA,EAAY,CAAC,CAAC,CAAC;IACtD,IAAI,CAACK,IAAI,CAACS,YAAY,CAACD,cAAc,CAACF,qBAAA,KAAI,EAAAX,UAAA,EAAY,CAAC,CAAC,CAAC;IACzDe,qBAAA,KAAI,EAAAf,UAAA,EAAcgB,SAAS;EAC7B;EAESC,OAAOA,CACdL,SAAuE,EACvEE,YAAwB,EAClB;IACN,KAAK,CAACG,OAAO,CAACL,SAAS,EAAEE,YAAY,CAAC;IACtCC,qBAAA,KAAI,EAAAf,UAAA,EAAc,CAChB,CAACkB,OAAO,EAAEb,IAAI,KAAK;MAAA,IAAAc,gBAAA,EAAAC,YAAA;MACjB,IAAI,CAACC,cAAc,CAACH,OAAO,CAAC;MAC5B;MACAN,SAAS,CAACM,OAAO,GAAAC,gBAAA,IAAAC,YAAA,GAAEf,IAAI,CAACiB,MAAM,cAAAF,YAAA,uBAAXA,YAAA,CAAaG,GAAG,cAAAJ,gBAAA,cAAAA,gBAAA,GAAI,EAAE,EAAEd,IAAI,CAAC;IAClD,CAAC,EACDS,YAAY,CACb;IACD,IAAI,CAACT,IAAI,CAACO,SAAS,CAACY,WAAW,CAACb,qBAAA,KAAI,EAAAX,UAAA,EAAY,CAAC,CAAC,CAAC;IACnD,IAAI,CAACK,IAAI,CAACS,YAAY,CAACU,WAAW,CAACb,qBAAA,KAAI,EAAAX,UAAA,EAAY,CAAC,CAAC,CAAC;EACxD;EAESyB,WAAWA,CAACP,OAAY,EAAQ;IACvC,KAAK,CAACO,WAAW,CAACP,OAAO,CAAC;IAC1B,IAAI,CAACb,IAAI,CAACqB,WAAW,CAACR,OAAO,CAAC;EAChC;EAEAS,WAAWA,CAAA,EAAY;IACrB,OAAOhB,qBAAA,KAAI,EAAAX,UAAA,KAAe,IAAI;EAChC;AACF"}
1
+ {"version":3,"file":"BrowserRuntime.mjs","names":["BrowserConnection","UnexpectedTsError","_listeners","WeakMap","BrowserRuntimeConnection","constructor","port","options","_classPrivateFieldInitSpec","writable","value","disconnect","_classPrivateFieldGet","onMessage","removeListener","onDisconnect","_classPrivateFieldSet","undefined","connect","message","_port$sender$url","_port$sender","receiveMessage","sender","url","addListener","sendMessage","postMessage","isConnected"],"sources":["../../../src/aepp-wallet-communication/connection/BrowserRuntime.ts"],"sourcesContent":["import { Runtime } from 'webextension-polyfill';\nimport BrowserConnection from './Browser';\nimport { UnexpectedTsError } from '../../utils/errors';\n\n/**\n * BrowserRuntimeConnection\n * Handle browser runtime communication\n * @category aepp wallet communication\n */\nexport default class BrowserRuntimeConnection extends BrowserConnection {\n port: Runtime.Port;\n\n #listeners?: [(message: any, port: Runtime.Port) => void, () => void];\n\n /**\n * @param options - Options\n */\n constructor({ port, ...options }: { port: Runtime.Port; debug: boolean }) {\n super(options);\n this.port = port;\n }\n\n override disconnect(): void {\n super.disconnect();\n this.port.disconnect();\n if (this.#listeners == null) throw new UnexpectedTsError();\n this.port.onMessage.removeListener(this.#listeners[0]);\n this.port.onDisconnect.removeListener(this.#listeners[1]);\n this.#listeners = undefined;\n }\n\n override connect(\n onMessage: (message: any, origin: string, source: Runtime.Port) => void,\n onDisconnect: () => void,\n ): void {\n super.connect(onMessage, onDisconnect);\n this.#listeners = [\n (message, port) => {\n this.receiveMessage(message);\n // TODO: make `origin` optional because sender url is not available on aepp side\n onMessage(message, port.sender?.url ?? '', port);\n },\n onDisconnect,\n ];\n this.port.onMessage.addListener(this.#listeners[0]);\n this.port.onDisconnect.addListener(this.#listeners[1]);\n }\n\n override sendMessage(message: any): void {\n super.sendMessage(message);\n this.port.postMessage(message);\n }\n\n isConnected(): boolean {\n return this.#listeners != null;\n }\n}\n"],"mappings":";;;;OACOA,iBAAiB;AAAA,SACfC,iBAAiB;AAE1B;AACA;AACA;AACA;AACA;AAJA,IAAAC,UAAA,oBAAAC,OAAA;AAKA,eAAe,MAAMC,wBAAwB,SAASJ,iBAAiB,CAAC;EAKtE;AACF;AACA;EACEK,WAAWA,CAAC;IAAEC,IAAI;IAAE,GAAGC;EAAgD,CAAC,EAAE;IACxE,KAAK,CAACA,OAAO,CAAC;IAACC,0BAAA,OAAAN,UAAA;MAAAO,QAAA;MAAAC,KAAA;IAAA;IACf,IAAI,CAACJ,IAAI,GAAGA,IAAI;EAClB;EAESK,UAAUA,CAAA,EAAS;IAC1B,KAAK,CAACA,UAAU,CAAC,CAAC;IAClB,IAAI,CAACL,IAAI,CAACK,UAAU,CAAC,CAAC;IACtB,IAAIC,qBAAA,KAAI,EAAAV,UAAA,KAAe,IAAI,EAAE,MAAM,IAAID,iBAAiB,CAAC,CAAC;IAC1D,IAAI,CAACK,IAAI,CAACO,SAAS,CAACC,cAAc,CAACF,qBAAA,KAAI,EAAAV,UAAA,EAAY,CAAC,CAAC,CAAC;IACtD,IAAI,CAACI,IAAI,CAACS,YAAY,CAACD,cAAc,CAACF,qBAAA,KAAI,EAAAV,UAAA,EAAY,CAAC,CAAC,CAAC;IACzDc,qBAAA,KAAI,EAAAd,UAAA,EAAce,SAAS;EAC7B;EAESC,OAAOA,CACdL,SAAuE,EACvEE,YAAwB,EAClB;IACN,KAAK,CAACG,OAAO,CAACL,SAAS,EAAEE,YAAY,CAAC;IACtCC,qBAAA,KAAI,EAAAd,UAAA,EAAc,CAChB,CAACiB,OAAO,EAAEb,IAAI,KAAK;MAAA,IAAAc,gBAAA,EAAAC,YAAA;MACjB,IAAI,CAACC,cAAc,CAACH,OAAO,CAAC;MAC5B;MACAN,SAAS,CAACM,OAAO,GAAAC,gBAAA,IAAAC,YAAA,GAAEf,IAAI,CAACiB,MAAM,cAAAF,YAAA,uBAAXA,YAAA,CAAaG,GAAG,cAAAJ,gBAAA,cAAAA,gBAAA,GAAI,EAAE,EAAEd,IAAI,CAAC;IAClD,CAAC,EACDS,YAAY,CACb;IACD,IAAI,CAACT,IAAI,CAACO,SAAS,CAACY,WAAW,CAACb,qBAAA,KAAI,EAAAV,UAAA,EAAY,CAAC,CAAC,CAAC;IACnD,IAAI,CAACI,IAAI,CAACS,YAAY,CAACU,WAAW,CAACb,qBAAA,KAAI,EAAAV,UAAA,EAAY,CAAC,CAAC,CAAC;EACxD;EAESwB,WAAWA,CAACP,OAAY,EAAQ;IACvC,KAAK,CAACO,WAAW,CAACP,OAAO,CAAC;IAC1B,IAAI,CAACb,IAAI,CAACqB,WAAW,CAACR,OAAO,CAAC;EAChC;EAEAS,WAAWA,CAAA,EAAY;IACrB,OAAOhB,qBAAA,KAAI,EAAAV,UAAA,KAAe,IAAI;EAChC;AACF"}
@@ -23,15 +23,14 @@ export default class BrowserWindowMessageConnection extends BrowserConnection {
23
23
  * Used for handling messages between content script and page
24
24
  * @param options.receiveDirection Unwrapping messages from additional struct
25
25
  */
26
- constructor() {
27
- let {
28
- target,
29
- self = window,
30
- origin,
31
- sendDirection,
32
- receiveDirection = MESSAGE_DIRECTION.to_aepp,
33
- ...options
34
- } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
26
+ constructor({
27
+ target,
28
+ self = window,
29
+ origin,
30
+ sendDirection,
31
+ receiveDirection = MESSAGE_DIRECTION.to_aepp,
32
+ ...options
33
+ } = {}) {
35
34
  super(options);
36
35
  _classPrivateFieldInitSpec(this, _onDisconnect, {
37
36
  writable: true,
@@ -1 +1 @@
1
- {"version":3,"file":"BrowserWindowMessage.mjs","names":["BrowserConnection","MESSAGE_DIRECTION","InternalError","RpcConnectionError","_onDisconnect","WeakMap","_target","_self","BrowserWindowMessageConnection","constructor","target","self","window","origin","sendDirection","receiveDirection","to_aepp","options","arguments","length","undefined","_classPrivateFieldInitSpec","writable","value","_classPrivateFieldSet","isConnected","listener","connect","onMessage","onDisconnect","message","_message$data$jsonrpc","_message$data$data","data","jsonrpc","_classPrivateFieldGet","source","receiveMessage","type","addEventListener","disconnect","removeEventListener","call","sendMessage","msg","_this$origin","postMessage"],"sources":["../../../src/aepp-wallet-communication/connection/BrowserWindowMessage.ts"],"sourcesContent":["import BrowserConnection from './Browser';\nimport { MESSAGE_DIRECTION } from '../schema';\nimport { InternalError, RpcConnectionError } from '../../utils/errors';\n\nexport type ImplPostMessage = Pick<Window, 'addEventListener' | 'removeEventListener' | 'postMessage'>;\n\n/**\n * Browser window Post Message connector module\n * @category aepp wallet communication\n */\nexport default class BrowserWindowMessageConnection extends BrowserConnection {\n origin?: string;\n\n sendDirection?: MESSAGE_DIRECTION;\n\n receiveDirection: MESSAGE_DIRECTION;\n\n listener?: (this: Window, ev: MessageEvent<any>) => void;\n\n #onDisconnect?: () => void;\n\n #target?: ImplPostMessage;\n\n #self: ImplPostMessage;\n\n /**\n * @param options - Options\n * @param options.target Target window for message\n * @param options.self Host window for message\n * @param options.origin Origin of receiver\n * @param options.sendDirection Wrapping messages into additional struct\n * `({ type: 'to_aepp' || 'to_waellet', data })`\n * Used for handling messages between content script and page\n * @param options.receiveDirection Unwrapping messages from additional struct\n */\n constructor({\n target,\n self = window,\n origin,\n sendDirection,\n receiveDirection = MESSAGE_DIRECTION.to_aepp,\n ...options\n }: {\n target?: ImplPostMessage;\n self?: ImplPostMessage;\n origin?: string;\n sendDirection?: MESSAGE_DIRECTION;\n receiveDirection?: MESSAGE_DIRECTION;\n debug?: boolean;\n } = {}) {\n super(options);\n this.#target = target;\n this.#self = self;\n this.origin = origin;\n this.sendDirection = sendDirection;\n this.receiveDirection = receiveDirection;\n }\n\n isConnected(): boolean {\n return this.listener != null;\n }\n\n override connect(\n onMessage: (message: any, origin: string, source: MessageEventSource | null) => void,\n onDisconnect: () => void,\n ): void {\n super.connect(onMessage, onDisconnect);\n this.listener = (message: MessageEvent<any>) => {\n // TODO: strict validate origin and source instead of checking message structure\n if (\n typeof message.data !== 'object'\n || (message.data.jsonrpc ?? message.data.data?.jsonrpc) !== '2.0'\n ) return;\n if (this.origin != null && this.origin !== message.origin) return;\n if (this.#target != null && this.#target !== message.source) return;\n this.receiveMessage(message);\n let { data } = message;\n if (data.type != null) {\n if (message.data.type !== this.receiveDirection) return;\n data = data.data;\n }\n onMessage(data, message.origin, message.source);\n };\n this.#self.addEventListener('message', this.listener);\n this.#onDisconnect = onDisconnect;\n }\n\n override disconnect(): void {\n super.disconnect();\n if (this.listener == null || this.#onDisconnect == null) {\n throw new InternalError('Expected to not happen, required for TS');\n }\n this.#self.removeEventListener('message', this.listener);\n delete this.listener;\n this.#onDisconnect();\n this.#onDisconnect = undefined;\n }\n\n override sendMessage(msg: any): void {\n if (this.#target == null) throw new RpcConnectionError('Can\\'t send messages without target');\n const message = this.sendDirection != null ? { type: this.sendDirection, data: msg } : msg;\n super.sendMessage(message);\n this.#target.postMessage(message, this.origin ?? '*');\n }\n}\n"],"mappings":";;;;OAAOA,iBAAiB;AAAA,SACfC,iBAAiB;AAAA,SACjBC,aAAa,EAAEC,kBAAkB;AAAA,IAAAC,aAAA,oBAAAC,OAAA;AAAA,IAAAC,OAAA,oBAAAD,OAAA;AAAA,IAAAE,KAAA,oBAAAF,OAAA;AAI1C;AACA;AACA;AACA;AACA,eAAe,MAAMG,8BAA8B,SAASR,iBAAiB,CAAC;EAe5E;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACES,WAAWA,CAAA,EAcH;IAAA,IAdI;MACVC,MAAM;MACNC,IAAI,GAAGC,MAAM;MACbC,MAAM;MACNC,aAAa;MACbC,gBAAgB,GAAGd,iBAAiB,CAACe,OAAO;MAC5C,GAAGC;IAQL,CAAC,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;IACJ,KAAK,CAACD,OAAO,CAAC;IAACI,0BAAA,OAAAjB,aAAA;MAAAkB,QAAA;MAAAC,KAAA;IAAA;IAAAF,0BAAA,OAAAf,OAAA;MAAAgB,QAAA;MAAAC,KAAA;IAAA;IAAAF,0BAAA,OAAAd,KAAA;MAAAe,QAAA;MAAAC,KAAA;IAAA;IACfC,qBAAA,KAAI,EAAAlB,OAAA,EAAWI,MAAM;IACrBc,qBAAA,KAAI,EAAAjB,KAAA,EAASI,IAAI;IACjB,IAAI,CAACE,MAAM,GAAGA,MAAM;IACpB,IAAI,CAACC,aAAa,GAAGA,aAAa;IAClC,IAAI,CAACC,gBAAgB,GAAGA,gBAAgB;EAC1C;EAEAU,WAAWA,CAAA,EAAY;IACrB,OAAO,IAAI,CAACC,QAAQ,IAAI,IAAI;EAC9B;EAESC,OAAOA,CACdC,SAAoF,EACpFC,YAAwB,EAClB;IACN,KAAK,CAACF,OAAO,CAACC,SAAS,EAAEC,YAAY,CAAC;IACtC,IAAI,CAACH,QAAQ,GAAII,OAA0B,IAAK;MAAA,IAAAC,qBAAA,EAAAC,kBAAA;MAC9C;MACA,IACE,OAAOF,OAAO,CAACG,IAAI,KAAK,QAAQ,IAC7B,EAAAF,qBAAA,GAACD,OAAO,CAACG,IAAI,CAACC,OAAO,cAAAH,qBAAA,cAAAA,qBAAA,IAAAC,kBAAA,GAAIF,OAAO,CAACG,IAAI,CAACA,IAAI,cAAAD,kBAAA,uBAAjBA,kBAAA,CAAmBE,OAAO,MAAM,KAAK,EACjE;MACF,IAAI,IAAI,CAACrB,MAAM,IAAI,IAAI,IAAI,IAAI,CAACA,MAAM,KAAKiB,OAAO,CAACjB,MAAM,EAAE;MAC3D,IAAIsB,qBAAA,KAAI,EAAA7B,OAAA,KAAY,IAAI,IAAI6B,qBAAA,KAAI,EAAA7B,OAAA,MAAawB,OAAO,CAACM,MAAM,EAAE;MAC7D,IAAI,CAACC,cAAc,CAACP,OAAO,CAAC;MAC5B,IAAI;QAAEG;MAAK,CAAC,GAAGH,OAAO;MACtB,IAAIG,IAAI,CAACK,IAAI,IAAI,IAAI,EAAE;QACrB,IAAIR,OAAO,CAACG,IAAI,CAACK,IAAI,KAAK,IAAI,CAACvB,gBAAgB,EAAE;QACjDkB,IAAI,GAAGA,IAAI,CAACA,IAAI;MAClB;MACAL,SAAS,CAACK,IAAI,EAAEH,OAAO,CAACjB,MAAM,EAAEiB,OAAO,CAACM,MAAM,CAAC;IACjD,CAAC;IACDD,qBAAA,KAAI,EAAA5B,KAAA,EAAOgC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAACb,QAAQ,CAAC;IACrDF,qBAAA,KAAI,EAAApB,aAAA,EAAiByB,YAAY;EACnC;EAESW,UAAUA,CAAA,EAAS;IAC1B,KAAK,CAACA,UAAU,CAAC,CAAC;IAClB,IAAI,IAAI,CAACd,QAAQ,IAAI,IAAI,IAAIS,qBAAA,KAAI,EAAA/B,aAAA,KAAkB,IAAI,EAAE;MACvD,MAAM,IAAIF,aAAa,CAAC,yCAAyC,CAAC;IACpE;IACAiC,qBAAA,KAAI,EAAA5B,KAAA,EAAOkC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAACf,QAAQ,CAAC;IACxD,OAAO,IAAI,CAACA,QAAQ;IACpBS,qBAAA,KAAI,EAAA/B,aAAA,EAAAsC,IAAA,CAAJ,IAAI;IACJlB,qBAAA,KAAI,EAAApB,aAAA,EAAiBgB,SAAS;EAChC;EAESuB,WAAWA,CAACC,GAAQ,EAAQ;IAAA,IAAAC,YAAA;IACnC,IAAIV,qBAAA,KAAI,EAAA7B,OAAA,KAAY,IAAI,EAAE,MAAM,IAAIH,kBAAkB,CAAC,qCAAqC,CAAC;IAC7F,MAAM2B,OAAO,GAAG,IAAI,CAAChB,aAAa,IAAI,IAAI,GAAG;MAAEwB,IAAI,EAAE,IAAI,CAACxB,aAAa;MAAEmB,IAAI,EAAEW;IAAI,CAAC,GAAGA,GAAG;IAC1F,KAAK,CAACD,WAAW,CAACb,OAAO,CAAC;IAC1BK,qBAAA,KAAI,EAAA7B,OAAA,EAASwC,WAAW,CAAChB,OAAO,GAAAe,YAAA,GAAE,IAAI,CAAChC,MAAM,cAAAgC,YAAA,cAAAA,YAAA,GAAI,GAAG,CAAC;EACvD;AACF"}
1
+ {"version":3,"file":"BrowserWindowMessage.mjs","names":["BrowserConnection","MESSAGE_DIRECTION","InternalError","RpcConnectionError","_onDisconnect","WeakMap","_target","_self","BrowserWindowMessageConnection","constructor","target","self","window","origin","sendDirection","receiveDirection","to_aepp","options","_classPrivateFieldInitSpec","writable","value","_classPrivateFieldSet","isConnected","listener","connect","onMessage","onDisconnect","message","_message$data$jsonrpc","_message$data$data","data","jsonrpc","_classPrivateFieldGet","source","receiveMessage","type","addEventListener","disconnect","removeEventListener","call","undefined","sendMessage","msg","_this$origin","postMessage"],"sources":["../../../src/aepp-wallet-communication/connection/BrowserWindowMessage.ts"],"sourcesContent":["import BrowserConnection from './Browser';\nimport { MESSAGE_DIRECTION } from '../schema';\nimport { InternalError, RpcConnectionError } from '../../utils/errors';\n\nexport type ImplPostMessage = Pick<Window, 'addEventListener' | 'removeEventListener' | 'postMessage'>;\n\n/**\n * Browser window Post Message connector module\n * @category aepp wallet communication\n */\nexport default class BrowserWindowMessageConnection extends BrowserConnection {\n origin?: string;\n\n sendDirection?: MESSAGE_DIRECTION;\n\n receiveDirection: MESSAGE_DIRECTION;\n\n listener?: (this: Window, ev: MessageEvent<any>) => void;\n\n #onDisconnect?: () => void;\n\n readonly #target?: ImplPostMessage;\n\n readonly #self: ImplPostMessage;\n\n /**\n * @param options - Options\n * @param options.target Target window for message\n * @param options.self Host window for message\n * @param options.origin Origin of receiver\n * @param options.sendDirection Wrapping messages into additional struct\n * `({ type: 'to_aepp' || 'to_waellet', data })`\n * Used for handling messages between content script and page\n * @param options.receiveDirection Unwrapping messages from additional struct\n */\n constructor({\n target,\n self = window,\n origin,\n sendDirection,\n receiveDirection = MESSAGE_DIRECTION.to_aepp,\n ...options\n }: {\n target?: ImplPostMessage;\n self?: ImplPostMessage;\n origin?: string;\n sendDirection?: MESSAGE_DIRECTION;\n receiveDirection?: MESSAGE_DIRECTION;\n debug?: boolean;\n } = {}) {\n super(options);\n this.#target = target;\n this.#self = self;\n this.origin = origin;\n this.sendDirection = sendDirection;\n this.receiveDirection = receiveDirection;\n }\n\n isConnected(): boolean {\n return this.listener != null;\n }\n\n override connect(\n onMessage: (message: any, origin: string, source: MessageEventSource | null) => void,\n onDisconnect: () => void,\n ): void {\n super.connect(onMessage, onDisconnect);\n this.listener = (message: MessageEvent<any>) => {\n // TODO: strict validate origin and source instead of checking message structure\n if (\n typeof message.data !== 'object'\n || (message.data.jsonrpc ?? message.data.data?.jsonrpc) !== '2.0'\n ) return;\n if (this.origin != null && this.origin !== message.origin) return;\n if (this.#target != null && this.#target !== message.source) return;\n this.receiveMessage(message);\n let { data } = message;\n if (data.type != null) {\n if (message.data.type !== this.receiveDirection) return;\n data = data.data;\n }\n onMessage(data, message.origin, message.source);\n };\n this.#self.addEventListener('message', this.listener);\n this.#onDisconnect = onDisconnect;\n }\n\n override disconnect(): void {\n super.disconnect();\n if (this.listener == null || this.#onDisconnect == null) {\n throw new InternalError('Expected to not happen, required for TS');\n }\n this.#self.removeEventListener('message', this.listener);\n delete this.listener;\n this.#onDisconnect();\n this.#onDisconnect = undefined;\n }\n\n override sendMessage(msg: any): void {\n if (this.#target == null) throw new RpcConnectionError('Can\\'t send messages without target');\n const message = this.sendDirection != null ? { type: this.sendDirection, data: msg } : msg;\n super.sendMessage(message);\n this.#target.postMessage(message, this.origin ?? '*');\n }\n}\n"],"mappings":"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"}
@@ -3,7 +3,8 @@ import _classPrivateFieldSet from "@babel/runtime-corejs3/helpers/classPrivateFi
3
3
  function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
4
4
  function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
5
5
  function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
6
- function _classPrivateMethodGet(receiver, privateSet, fn) { if (!privateSet.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return fn; }
6
+ function _classPrivateMethodGet(receiver, privateSet, fn) { _assertClassBrand(privateSet, receiver); return fn; }
7
+ function _assertClassBrand(e, t, n) { if ("function" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n; throw new TypeError("Private element is not present on this object"); }
7
8
  import { RpcError, RpcInternalError, RpcMethodNotFoundError } from "../schema.mjs";
8
9
  import { InvalidRpcMessageError, MissingCallbackError } from "../../utils/errors.mjs";
9
10
  import { ensureError } from "../../utils/other.mjs";
@@ -120,12 +121,11 @@ result, error) {
120
121
  })
121
122
  });
122
123
  }
123
- function _processResponse2(_ref) {
124
- let {
125
- id,
126
- error,
127
- result
128
- } = _ref;
124
+ function _processResponse2({
125
+ id,
126
+ error,
127
+ result
128
+ }) {
129
129
  const callbacks = _classPrivateFieldGet(this, _callbacks).get(id);
130
130
  if (callbacks == null) throw new MissingCallbackError(id);
131
131
  if (error != null) callbacks.reject(RpcError.deserialize(error));else callbacks.resolve(result);
@@ -1 +1 @@
1
- {"version":3,"file":"RpcClient.mjs","names":["RpcError","RpcInternalError","RpcMethodNotFoundError","InvalidRpcMessageError","MissingCallbackError","ensureError","_callbacks","WeakMap","_messageId","_methods","_handleMessage","WeakSet","_sendRequest","_sendResponse","_processResponse","RpcClient","constructor","connection","onDisconnect","methods","_classPrivateMethodInitSpec","_classPrivateFieldInitSpec","writable","value","Map","_classPrivateFieldSet","connect","_classPrivateMethodGet","_handleMessage2","bind","request","name","params","_sendRequest2","call","_classPrivateFieldGet","Promise","resolve","reject","set","notify","undefined","msg","origin","jsonrpc","JSON","stringify","_processResponse2","result","error","method","methodName","e","id","_sendResponse2","sendMessage","toJSON","_ref","callbacks","get","deserialize","delete"],"sources":["../../../src/aepp-wallet-communication/rpc/RpcClient.ts"],"sourcesContent":["import { RpcError, RpcInternalError, RpcMethodNotFoundError } from '../schema';\nimport BrowserConnection from '../connection/Browser';\nimport { InvalidRpcMessageError, MissingCallbackError } from '../../utils/errors';\nimport { ensureError } from '../../utils/other';\n\ninterface JsonRpcRequest {\n jsonrpc: '2.0';\n id: number;\n method: string;\n params?: any;\n}\n\ninterface JsonRpcResponse {\n jsonrpc: '2.0';\n id: number;\n method: string;\n result?: any;\n error?: {\n code: number;\n message: string;\n data?: any;\n };\n}\n\ntype RpcApiHandler = (p?: any) => any | undefined;\ntype RpcApi<Api> = { [k in keyof Api]: RpcApiHandler };\ntype WithOrigin<Api extends RpcApi<Api>> = {\n [k in keyof Api]: (p: Parameters<Api[k]>[0], origin: string) => ReturnType<Api[k]>\n};\n\n/**\n * Contain functionality for using RPC conection\n * @category aepp wallet communication\n * @param connection - Connection object\n * @param onDisconnect - Disconnect callback\n * @param methods - Object containing handlers for each request by name\n */\nexport default class RpcClient <\n RemoteApi extends RpcApi<RemoteApi>, LocalApi extends RpcApi<LocalApi>,\n> {\n connection: BrowserConnection;\n\n #callbacks = new Map<number, { resolve: (v: any) => void; reject: (e: Error) => void }>();\n\n #messageId = 0;\n\n #methods: WithOrigin<LocalApi>;\n\n constructor(\n connection: BrowserConnection,\n onDisconnect: () => void,\n methods: WithOrigin<LocalApi>,\n ) {\n this.connection = connection;\n this.#methods = methods;\n connection.connect(this.#handleMessage.bind(this), onDisconnect);\n }\n\n async #handleMessage(msg: JsonRpcRequest | JsonRpcResponse, origin: string): Promise<void> {\n if (msg?.jsonrpc !== '2.0') throw new InvalidRpcMessageError(JSON.stringify(msg));\n if ('result' in msg || 'error' in msg) {\n this.#processResponse(msg);\n return;\n }\n\n const request = msg as JsonRpcRequest;\n let result;\n let error: Error | undefined;\n try {\n if (!(request.method in this.#methods)) throw new RpcMethodNotFoundError();\n const methodName = request.method as keyof LocalApi;\n result = await this.#methods[methodName](request.params, origin);\n } catch (e) {\n ensureError(e);\n error = e;\n }\n if (request.id != null) {\n this.#sendResponse(\n request.id,\n request.method as keyof LocalApi,\n result,\n error == null || error instanceof RpcError ? error : new RpcInternalError(),\n );\n }\n if (error != null && !(error instanceof RpcError)) throw error;\n }\n\n #sendRequest(\n id: number | undefined,\n method: keyof RemoteApi | keyof LocalApi,\n params?: any,\n ): void {\n this.connection.sendMessage({\n jsonrpc: '2.0',\n ...id != null ? { id } : {},\n method,\n ...params != null ? { params } : {},\n });\n }\n\n #sendResponse(\n id: number,\n method: keyof RemoteApi | keyof LocalApi, // TODO: remove as far it is not required in JSON RPC\n result?: any,\n error?: RpcError,\n ): void {\n this.connection.sendMessage({\n jsonrpc: '2.0',\n id,\n method,\n ...error != null ? { error: error.toJSON() } : { result },\n });\n }\n\n /**\n * Make a request\n * @param name - Method name\n * @param params - Method params\n * @returns Promise which will be resolved after receiving response message\n */\n async request<Name extends keyof RemoteApi>(\n name: Name,\n params: Parameters<RemoteApi[Name]>[0],\n ): Promise<ReturnType<RemoteApi[Name]>> {\n this.#sendRequest(this.#messageId += 1, name, params);\n return new Promise((resolve, reject) => {\n this.#callbacks.set(this.#messageId, { resolve, reject });\n });\n }\n\n /**\n * Make a notification\n * @param name - Method name\n * @param params - Method params\n */\n notify<Name extends keyof RemoteApi>(name: Name, params: Parameters<RemoteApi[Name]>[0]): void {\n this.#sendRequest(undefined, name, params);\n }\n\n /**\n * Process response message\n * @param msg - Message object\n */\n #processResponse({ id, error, result }: { id: number; error?: any; result?: any }): void {\n const callbacks = this.#callbacks.get(id);\n if (callbacks == null) throw new MissingCallbackError(id);\n if (error != null) callbacks.reject(RpcError.deserialize(error));\n else callbacks.resolve(result);\n this.#callbacks.delete(id);\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"RpcClient.mjs","names":["RpcError","RpcInternalError","RpcMethodNotFoundError","InvalidRpcMessageError","MissingCallbackError","ensureError","_callbacks","WeakMap","_messageId","_methods","_handleMessage","WeakSet","_sendRequest","_sendResponse","_processResponse","RpcClient","constructor","connection","onDisconnect","methods","_classPrivateMethodInitSpec","_classPrivateFieldInitSpec","writable","value","Map","_classPrivateFieldSet","connect","_classPrivateMethodGet","_handleMessage2","bind","request","name","params","_sendRequest2","call","_classPrivateFieldGet","Promise","resolve","reject","set","notify","undefined","msg","origin","jsonrpc","JSON","stringify","_processResponse2","result","error","method","methodName","e","id","_sendResponse2","sendMessage","toJSON","callbacks","get","deserialize","delete"],"sources":["../../../src/aepp-wallet-communication/rpc/RpcClient.ts"],"sourcesContent":["import { RpcError, RpcInternalError, RpcMethodNotFoundError } from '../schema';\nimport BrowserConnection from '../connection/Browser';\nimport { InvalidRpcMessageError, MissingCallbackError } from '../../utils/errors';\nimport { ensureError } from '../../utils/other';\n\ninterface JsonRpcRequest {\n jsonrpc: '2.0';\n id: number;\n method: string;\n params?: any;\n}\n\ninterface JsonRpcResponse {\n jsonrpc: '2.0';\n id: number;\n method: string;\n result?: any;\n error?: {\n code: number;\n message: string;\n data?: any;\n };\n}\n\ntype RpcApiHandler = (p?: any) => any | undefined;\ntype RpcApi<Api> = { [k in keyof Api]: RpcApiHandler };\ntype WithOrigin<Api extends RpcApi<Api>> = {\n [k in keyof Api]: (p: Parameters<Api[k]>[0], origin: string) => ReturnType<Api[k]>\n};\n\n/**\n * Contain functionality for using RPC conection\n * @category aepp wallet communication\n * @param connection - Connection object\n * @param onDisconnect - Disconnect callback\n * @param methods - Object containing handlers for each request by name\n */\nexport default class RpcClient <\n RemoteApi extends RpcApi<RemoteApi>, LocalApi extends RpcApi<LocalApi>,\n> {\n connection: BrowserConnection;\n\n readonly #callbacks = (\n new Map<number, { resolve: (v: any) => void; reject: (e: Error) => void }>()\n );\n\n #messageId = 0;\n\n readonly #methods: WithOrigin<LocalApi>;\n\n constructor(\n connection: BrowserConnection,\n onDisconnect: () => void,\n methods: WithOrigin<LocalApi>,\n ) {\n this.connection = connection;\n this.#methods = methods;\n connection.connect(this.#handleMessage.bind(this), onDisconnect);\n }\n\n async #handleMessage(msg: JsonRpcRequest | JsonRpcResponse, origin: string): Promise<void> {\n if (msg?.jsonrpc !== '2.0') throw new InvalidRpcMessageError(JSON.stringify(msg));\n if ('result' in msg || 'error' in msg) {\n this.#processResponse(msg);\n return;\n }\n\n const request = msg as JsonRpcRequest;\n let result;\n let error: Error | undefined;\n try {\n if (!(request.method in this.#methods)) throw new RpcMethodNotFoundError();\n const methodName = request.method as keyof LocalApi;\n result = await this.#methods[methodName](request.params, origin);\n } catch (e) {\n ensureError(e);\n error = e;\n }\n if (request.id != null) {\n this.#sendResponse(\n request.id,\n request.method as keyof LocalApi,\n result,\n error == null || error instanceof RpcError ? error : new RpcInternalError(),\n );\n }\n if (error != null && !(error instanceof RpcError)) throw error;\n }\n\n #sendRequest(\n id: number | undefined,\n method: keyof RemoteApi | keyof LocalApi,\n params?: any,\n ): void {\n this.connection.sendMessage({\n jsonrpc: '2.0',\n ...id != null ? { id } : {},\n method,\n ...params != null ? { params } : {},\n });\n }\n\n #sendResponse(\n id: number,\n method: keyof RemoteApi | keyof LocalApi, // TODO: remove as far it is not required in JSON RPC\n result?: any,\n error?: RpcError,\n ): void {\n this.connection.sendMessage({\n jsonrpc: '2.0',\n id,\n method,\n ...error != null ? { error: error.toJSON() } : { result },\n });\n }\n\n /**\n * Make a request\n * @param name - Method name\n * @param params - Method params\n * @returns Promise which will be resolved after receiving response message\n */\n async request<Name extends keyof RemoteApi>(\n name: Name,\n params: Parameters<RemoteApi[Name]>[0],\n ): Promise<ReturnType<RemoteApi[Name]>> {\n this.#sendRequest(this.#messageId += 1, name, params);\n return new Promise((resolve, reject) => {\n this.#callbacks.set(this.#messageId, { resolve, reject });\n });\n }\n\n /**\n * Make a notification\n * @param name - Method name\n * @param params - Method params\n */\n notify<Name extends keyof RemoteApi>(name: Name, params: Parameters<RemoteApi[Name]>[0]): void {\n this.#sendRequest(undefined, name, params);\n }\n\n /**\n * Process response message\n * @param msg - Message object\n */\n #processResponse({ id, error, result }: { id: number; error?: any; result?: any }): void {\n const callbacks = this.#callbacks.get(id);\n if (callbacks == null) throw new MissingCallbackError(id);\n if (error != null) callbacks.reject(RpcError.deserialize(error));\n else callbacks.resolve(result);\n this.#callbacks.delete(id);\n }\n}\n"],"mappings":"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"}
@@ -52,6 +52,12 @@ export interface WalletApi {
52
52
  address: Accounts;
53
53
  }>;
54
54
  [METHODS.address]: () => Promise<Encoded.AccountAddress[]>;
55
+ [METHODS.unsafeSign]: (p: {
56
+ data: Encoded.Bytearray;
57
+ onAccount: Encoded.AccountAddress;
58
+ }) => Promise<{
59
+ signature: Encoded.Signature;
60
+ }>;
55
61
  [METHODS.sign]: ((p: {
56
62
  tx: Encoded.Transaction;
57
63
  onAccount: Encoded.AccountAddress;
@@ -92,6 +98,14 @@ export interface WalletApi {
92
98
  contractAddress: Encoded.ContractAddress;
93
99
  name?: AensName;
94
100
  oracleQueryId?: Encoded.OracleQueryId;
101
+ allNames?: boolean;
102
+ isOracle?: boolean;
103
+ onAccount: Encoded.AccountAddress;
104
+ }) => Promise<{
105
+ signature: Encoded.Signature;
106
+ }>;
107
+ [METHODS.signDelegation]: (p: {
108
+ delegation: Encoded.Bytearray;
95
109
  onAccount: Encoded.AccountAddress;
96
110
  }) => Promise<{
97
111
  signature: Encoded.Signature;
@@ -1 +1 @@
1
- {"version":3,"file":"types.mjs","names":["METHODS","RPC_VERSION"],"sources":["../../../src/aepp-wallet-communication/rpc/types.ts"],"sourcesContent":["import { Encoded } from '../../utils/encoder';\nimport { Domain, AciValue } from '../../utils/typed-data';\nimport { METHODS, SUBSCRIPTION_TYPES, WALLET_TYPE } from '../schema';\nimport { TransformNodeType } from '../../Node';\nimport { SignedTx } from '../../apis/node';\nimport { AensName } from '../../tx/builder/constants';\n\nexport interface WalletInfo {\n id: string;\n name: string;\n networkId: string;\n origin: string; // TODO: origin needs to be provided by transport\n type: WALLET_TYPE;\n}\n\nexport interface Accounts {\n connected: { [pub: Encoded.AccountAddress]: {} };\n current: { [pub: Encoded.AccountAddress]: {} };\n}\n\nexport interface Node {\n // TODO: name is not used, can be removed\n name: string;\n url: string;\n}\n\nexport interface Network {\n networkId: string;\n node?: Node;\n}\n\ntype Icons = Array<{ src: string; sizes?: string; type?: string; purpose?: string }>;\n\nexport const RPC_VERSION = 1;\n\nexport interface WalletApi {\n [METHODS.connect]: (\n p: { name: string; icons?: Icons; version: typeof RPC_VERSION; connectNode: boolean }\n ) => Promise<WalletInfo & { node?: Node }>;\n\n [METHODS.closeConnection]: (p: any) => void;\n\n [METHODS.subscribeAddress]: (\n p: { type: SUBSCRIPTION_TYPES; value: 'connected' | 'current' }\n ) => Promise<{ subscription: Array<'connected' | 'current'>; address: Accounts }>;\n\n [METHODS.address]: () => Promise<Encoded.AccountAddress[]>;\n\n [METHODS.sign]: ((\n p: {\n tx: Encoded.Transaction;\n onAccount: Encoded.AccountAddress;\n returnSigned: boolean;\n /**\n * @deprecated Wallet provided networkId will be used (current network)\n * required to maintain backward compatibility with wallets using SDK v11.0.1 and below\n * @see {@link https://github.com/aeternity/aepp-sdk-js/commit/153fd89a52c4eab39fcd659b356b36d32129c1ba}\n */\n networkId: string;\n innerTx?: boolean;\n }\n ) => Promise<{\n /**\n * @deprecated this is not a hash at all, will be removed later at the same time\n * as dropping ability to broadcast transaction by wallet\n */\n transactionHash?: Partial<TransformNodeType<SignedTx>> & {\n hash: Encoded.TxHash;\n rawTx: Encoded.Transaction;\n };\n signedTransaction?: Encoded.Transaction;\n }>);\n\n [METHODS.signMessage]: (\n p: { message: string; onAccount: Encoded.AccountAddress }\n ) => Promise<{ signature: string }>;\n\n [METHODS.signTypedData]: (\n p: {\n domain: Domain;\n aci: AciValue;\n data: Encoded.ContractBytearray;\n onAccount: Encoded.AccountAddress;\n },\n ) => Promise<{ signature: Encoded.Signature }>;\n\n [METHODS.signDelegationToContract]: (\n p: {\n contractAddress: Encoded.ContractAddress;\n name?: AensName;\n oracleQueryId?: Encoded.OracleQueryId;\n onAccount: Encoded.AccountAddress;\n },\n ) => Promise<{ signature: Encoded.Signature }>;\n}\n\nexport interface AeppApi {\n [METHODS.updateAddress]: (a: Accounts) => void;\n [METHODS.updateNetwork]: (a: Network) => void;\n [METHODS.readyToConnect]: (w: WalletInfo) => void;\n [METHODS.closeConnection]: (p: any) => void;\n}\n"],"mappings":"SAESA,OAAO;AA+BhB,OAAO,MAAMC,WAAW,GAAG,CAAC"}
1
+ {"version":3,"file":"types.mjs","names":["METHODS","RPC_VERSION"],"sources":["../../../src/aepp-wallet-communication/rpc/types.ts"],"sourcesContent":["import { Encoded } from '../../utils/encoder';\nimport { Domain, AciValue } from '../../utils/typed-data';\nimport { METHODS, SUBSCRIPTION_TYPES, WALLET_TYPE } from '../schema';\nimport { TransformNodeType } from '../../Node';\nimport { SignedTx } from '../../apis/node';\nimport { AensName } from '../../tx/builder/constants';\n\nexport interface WalletInfo {\n id: string;\n name: string;\n networkId: string;\n origin: string; // TODO: origin needs to be provided by transport\n type: WALLET_TYPE;\n}\n\nexport interface Accounts {\n connected: { [pub: Encoded.AccountAddress]: {} };\n current: { [pub: Encoded.AccountAddress]: {} };\n}\n\nexport interface Node {\n // TODO: name is not used, can be removed\n name: string;\n url: string;\n}\n\nexport interface Network {\n networkId: string;\n node?: Node;\n}\n\ntype Icons = Array<{ src: string; sizes?: string; type?: string; purpose?: string }>;\n\nexport const RPC_VERSION = 1;\n\nexport interface WalletApi {\n [METHODS.connect]: (\n p: { name: string; icons?: Icons; version: typeof RPC_VERSION; connectNode: boolean }\n ) => Promise<WalletInfo & { node?: Node }>;\n\n [METHODS.closeConnection]: (p: any) => void;\n\n [METHODS.subscribeAddress]: (\n p: { type: SUBSCRIPTION_TYPES; value: 'connected' | 'current' }\n ) => Promise<{ subscription: Array<'connected' | 'current'>; address: Accounts }>;\n\n [METHODS.address]: () => Promise<Encoded.AccountAddress[]>;\n\n [METHODS.unsafeSign]: (\n p: { data: Encoded.Bytearray; onAccount: Encoded.AccountAddress }\n ) => Promise<{ signature: Encoded.Signature }>;\n\n [METHODS.sign]: ((\n p: {\n tx: Encoded.Transaction;\n onAccount: Encoded.AccountAddress;\n returnSigned: boolean;\n /**\n * @deprecated Wallet provided networkId will be used (current network)\n * required to maintain backward compatibility with wallets using SDK v11.0.1 and below\n * @see {@link https://github.com/aeternity/aepp-sdk-js/commit/153fd89a52c4eab39fcd659b356b36d32129c1ba}\n */\n networkId: string;\n innerTx?: boolean;\n }\n ) => Promise<{\n /**\n * @deprecated this is not a hash at all, will be removed later at the same time\n * as dropping ability to broadcast transaction by wallet\n */\n transactionHash?: Partial<TransformNodeType<SignedTx>> & {\n hash: Encoded.TxHash;\n rawTx: Encoded.Transaction;\n };\n signedTransaction?: Encoded.Transaction;\n }>);\n\n [METHODS.signMessage]: (\n p: { message: string; onAccount: Encoded.AccountAddress }\n ) => Promise<{ signature: string }>;\n\n [METHODS.signTypedData]: (\n p: {\n domain: Domain;\n aci: AciValue;\n data: Encoded.ContractBytearray;\n onAccount: Encoded.AccountAddress;\n },\n ) => Promise<{ signature: Encoded.Signature }>;\n\n [METHODS.signDelegationToContract]: (\n p: {\n contractAddress: Encoded.ContractAddress;\n name?: AensName;\n oracleQueryId?: Encoded.OracleQueryId;\n allNames?: boolean;\n isOracle?: boolean;\n onAccount: Encoded.AccountAddress;\n },\n ) => Promise<{ signature: Encoded.Signature }>;\n\n [METHODS.signDelegation]: (\n p: {\n delegation: Encoded.Bytearray;\n onAccount: Encoded.AccountAddress;\n },\n ) => Promise<{ signature: Encoded.Signature }>;\n}\n\nexport interface AeppApi {\n [METHODS.updateAddress]: (a: Accounts) => void;\n [METHODS.updateNetwork]: (a: Network) => void;\n [METHODS.readyToConnect]: (w: WalletInfo) => void;\n [METHODS.closeConnection]: (p: any) => void;\n}\n"],"mappings":"SAESA,OAAO;AA+BhB,OAAO,MAAMC,WAAW,GAAG,CAAC"}
@@ -29,10 +29,12 @@ export declare const enum METHODS {
29
29
  updateAddress = "address.update",
30
30
  address = "address.get",
31
31
  connect = "connection.open",
32
+ unsafeSign = "data.unsafeSign",
32
33
  sign = "transaction.sign",
33
34
  signMessage = "message.sign",
34
35
  signTypedData = "typedData.sign",
35
36
  signDelegationToContract = "delegationToContract.sign",
37
+ signDelegation = "delegation.sign",
36
38
  subscribeAddress = "address.subscribe",
37
39
  updateNetwork = "networkId.update",
38
40
  closeConnection = "connection.close"
@@ -36,10 +36,12 @@ export let METHODS = /*#__PURE__*/function (METHODS) {
36
36
  METHODS["updateAddress"] = "address.update";
37
37
  METHODS["address"] = "address.get";
38
38
  METHODS["connect"] = "connection.open";
39
+ METHODS["unsafeSign"] = "data.unsafeSign";
39
40
  METHODS["sign"] = "transaction.sign";
40
41
  METHODS["signMessage"] = "message.sign";
41
42
  METHODS["signTypedData"] = "typedData.sign";
42
43
  METHODS["signDelegationToContract"] = "delegationToContract.sign";
44
+ METHODS["signDelegation"] = "delegation.sign";
43
45
  METHODS["subscribeAddress"] = "address.subscribe";
44
46
  METHODS["updateNetwork"] = "networkId.update";
45
47
  METHODS["closeConnection"] = "connection.close";