@aeternity/aepp-sdk 11.0.1 → 12.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (376) hide show
  1. package/LICENSE +1 -1
  2. package/dist/aepp-sdk.browser-script.js +1 -1
  3. package/dist/aepp-sdk.browser-script.js.LICENSE.txt +12 -19
  4. package/dist/aepp-sdk.browser-script.js.map +1 -1
  5. package/dist/aepp-sdk.browser.js +1 -1
  6. package/dist/aepp-sdk.browser.js.map +1 -1
  7. package/dist/aepp-sdk.js +1 -1
  8. package/dist/aepp-sdk.js.map +1 -1
  9. package/es/AeSdk.d.ts +37 -0
  10. package/es/AeSdk.mjs +81 -0
  11. package/es/AeSdk.mjs.map +1 -0
  12. package/es/AeSdkAepp.d.ts +69 -0
  13. package/es/AeSdkAepp.mjs +175 -0
  14. package/es/AeSdkAepp.mjs.map +1 -0
  15. package/es/AeSdkBase.d.ts +212 -0
  16. package/es/AeSdkBase.mjs +310 -0
  17. package/es/AeSdkBase.mjs.map +1 -0
  18. package/es/AeSdkWallet.d.ts +103 -0
  19. package/es/AeSdkWallet.mjs +322 -0
  20. package/es/AeSdkWallet.mjs.map +1 -0
  21. package/es/Node.d.ts +44 -0
  22. package/es/Node.mjs +141 -0
  23. package/es/Node.mjs.map +1 -0
  24. package/es/account/Base.d.ts +65 -0
  25. package/es/account/Base.mjs +123 -0
  26. package/es/account/Base.mjs.map +1 -0
  27. package/es/account/Memory.d.ts +25 -0
  28. package/es/account/Memory.mjs +81 -0
  29. package/es/account/Memory.mjs.map +1 -0
  30. package/es/account/Rpc.d.ts +27 -0
  31. package/es/account/Rpc.mjs +79 -0
  32. package/es/account/Rpc.mjs.map +1 -0
  33. package/es/aens.d.ts +209 -0
  34. package/es/aens.mjs +332 -0
  35. package/es/aens.mjs.map +1 -0
  36. package/es/aepp-wallet-communication/connection/Browser.d.ts +32 -0
  37. package/es/aepp-wallet-communication/connection/Browser.mjs +70 -0
  38. package/es/aepp-wallet-communication/connection/Browser.mjs.map +1 -0
  39. package/es/aepp-wallet-communication/connection/BrowserRuntime.d.ts +17 -0
  40. package/es/aepp-wallet-communication/connection/BrowserRuntime.mjs +57 -0
  41. package/es/aepp-wallet-communication/connection/BrowserRuntime.mjs.map +1 -0
  42. package/es/aepp-wallet-communication/connection/BrowserWindowMessage.d.ts +35 -0
  43. package/es/aepp-wallet-communication/connection/BrowserWindowMessage.mjs +142 -0
  44. package/es/aepp-wallet-communication/connection/BrowserWindowMessage.mjs.map +1 -0
  45. package/es/aepp-wallet-communication/connection-proxy.d.ts +10 -0
  46. package/{src/utils/crypto-ts.ts → es/aepp-wallet-communication/connection-proxy.mjs} +15 -11
  47. package/es/aepp-wallet-communication/connection-proxy.mjs.map +1 -0
  48. package/es/aepp-wallet-communication/rpc/RpcClient.d.ts +33 -0
  49. package/es/aepp-wallet-communication/rpc/RpcClient.mjs +169 -0
  50. package/es/aepp-wallet-communication/rpc/RpcClient.mjs.map +1 -0
  51. package/es/aepp-wallet-communication/rpc/types.d.ts +77 -0
  52. package/es/aepp-wallet-communication/rpc/types.mjs +3 -0
  53. package/es/aepp-wallet-communication/rpc/types.mjs.map +1 -0
  54. package/es/aepp-wallet-communication/schema.d.ts +90 -46
  55. package/es/aepp-wallet-communication/schema.mjs +214 -0
  56. package/es/aepp-wallet-communication/schema.mjs.map +1 -0
  57. package/es/aepp-wallet-communication/wallet-detector.d.ts +24 -0
  58. package/es/aepp-wallet-communication/wallet-detector.mjs +63 -0
  59. package/es/aepp-wallet-communication/wallet-detector.mjs.map +1 -0
  60. package/es/apis/compiler/compiler.d.ts +92 -0
  61. package/es/apis/compiler/compiler.mjs +576 -0
  62. package/es/apis/compiler/compiler.mjs.map +1 -0
  63. package/es/apis/compiler/index.d.ts +2 -0
  64. package/es/apis/compiler/index.mjs +3 -0
  65. package/es/apis/compiler/index.mjs.map +1 -0
  66. package/es/apis/compiler/models/index.d.ts +248 -0
  67. package/es/apis/compiler/models/index.mjs +48 -0
  68. package/es/apis/compiler/models/index.mjs.map +1 -0
  69. package/es/apis/compiler/models/mappers.d.ts +23 -0
  70. package/es/apis/compiler/models/mappers.mjs +585 -0
  71. package/es/apis/compiler/models/mappers.mjs.map +1 -0
  72. package/es/apis/compiler/models/parameters.d.ts +13 -0
  73. package/es/apis/compiler/models/parameters.mjs +71 -0
  74. package/es/apis/compiler/models/parameters.mjs.map +1 -0
  75. package/es/apis/node/index.d.ts +2 -0
  76. package/es/apis/node/index.mjs +3 -0
  77. package/es/apis/node/index.mjs.map +1 -0
  78. package/es/apis/node/models/index.d.ts +1061 -0
  79. package/es/apis/node/models/index.mjs +2 -0
  80. package/es/apis/node/models/index.mjs.map +1 -0
  81. package/es/apis/node/models/mappers.d.ts +95 -0
  82. package/es/apis/node/models/mappers.mjs +4164 -0
  83. package/es/apis/node/models/mappers.mjs.map +1 -0
  84. package/es/apis/node/models/parameters.d.ts +17 -0
  85. package/es/apis/node/models/parameters.mjs +165 -0
  86. package/es/apis/node/models/parameters.mjs.map +1 -0
  87. package/es/apis/node/node.d.ts +215 -0
  88. package/es/apis/node/node.mjs +1165 -0
  89. package/es/apis/node/node.mjs.map +1 -0
  90. package/es/chain.d.ts +220 -0
  91. package/es/chain.mjs +524 -0
  92. package/es/chain.mjs.map +1 -0
  93. package/es/channel/handlers.d.ts +34 -0
  94. package/es/channel/handlers.mjs +147 -112
  95. package/es/channel/handlers.mjs.map +1 -1
  96. package/es/channel/index.d.ts +634 -0
  97. package/es/channel/index.mjs +898 -900
  98. package/es/channel/index.mjs.map +1 -1
  99. package/es/channel/internal.d.ts +100 -0
  100. package/es/channel/internal.mjs +97 -51
  101. package/es/channel/internal.mjs.map +1 -1
  102. package/es/contract/Compiler.d.ts +17 -0
  103. package/es/contract/Compiler.mjs +67 -0
  104. package/es/contract/Compiler.mjs.map +1 -0
  105. package/es/contract/aci.d.ts +125 -0
  106. package/es/contract/aci.mjs +199 -180
  107. package/es/contract/aci.mjs.map +1 -1
  108. package/es/contract/ga.d.ts +68 -0
  109. package/es/contract/ga.mjs +190 -0
  110. package/es/contract/ga.mjs.map +1 -0
  111. package/es/contract/methods.d.ts +68 -0
  112. package/es/contract/methods.mjs +101 -0
  113. package/es/contract/methods.mjs.map +1 -0
  114. package/es/index.d.ts +32 -0
  115. package/es/index.mjs +32 -40
  116. package/es/index.mjs.map +1 -1
  117. package/es/oracle.d.ts +154 -0
  118. package/es/oracle.mjs +288 -0
  119. package/es/oracle.mjs.map +1 -0
  120. package/es/spend.d.ts +61 -0
  121. package/es/spend.mjs +122 -0
  122. package/es/spend.mjs.map +1 -0
  123. package/es/tx/builder/constants.d.ts +41 -0
  124. package/es/tx/builder/constants.mjs +11 -19
  125. package/es/tx/builder/constants.mjs.map +1 -1
  126. package/es/tx/builder/field-types.d.ts +62 -0
  127. package/es/tx/builder/field-types.mjs +62 -10
  128. package/es/tx/builder/field-types.mjs.map +1 -1
  129. package/es/tx/builder/helpers.d.ts +131 -0
  130. package/es/tx/builder/helpers.mjs +71 -169
  131. package/es/tx/builder/helpers.mjs.map +1 -1
  132. package/es/tx/builder/index.d.ts +75 -0
  133. package/es/tx/builder/index.mjs +141 -323
  134. package/es/tx/builder/index.mjs.map +1 -1
  135. package/es/tx/builder/schema.d.ts +350 -0
  136. package/es/tx/builder/schema.mjs +173 -510
  137. package/es/tx/builder/schema.mjs.map +1 -1
  138. package/es/tx/index.d.ts +63 -0
  139. package/es/tx/index.mjs +171 -265
  140. package/es/tx/index.mjs.map +1 -1
  141. package/es/tx/min-fee.d.ts +20 -0
  142. package/es/tx/min-fee.mjs +148 -0
  143. package/es/tx/min-fee.mjs.map +1 -0
  144. package/es/tx/validator.d.ts +19 -0
  145. package/es/tx/validator.mjs +64 -71
  146. package/es/tx/validator.mjs.map +1 -1
  147. package/es/typings/@aeternity__argon2-browser/index.d.mjs +2 -0
  148. package/es/typings/@aeternity__argon2-browser/index.d.mjs.map +1 -0
  149. package/es/typings/@aeternity__uuid/index.d.mjs +2 -0
  150. package/es/typings/@aeternity__uuid/index.d.mjs.map +1 -0
  151. package/es/typings/bip32-path/index.d.mjs +2 -0
  152. package/es/typings/bip32-path/index.d.mjs.map +1 -0
  153. package/es/typings/blakejs/index.d.mjs.map +1 -1
  154. package/es/typings/tweetnacl-auth/index.d.mjs +2 -0
  155. package/es/typings/tweetnacl-auth/index.d.mjs.map +1 -0
  156. package/es/utils/amount-formatter.d.ts +42 -0
  157. package/es/utils/amount-formatter.mjs +28 -41
  158. package/es/utils/amount-formatter.mjs.map +1 -1
  159. package/es/utils/autorest.d.ts +6 -0
  160. package/es/utils/autorest.mjs +97 -0
  161. package/es/utils/autorest.mjs.map +1 -0
  162. package/es/utils/bignumber.d.ts +13 -0
  163. package/es/utils/bignumber.mjs +10 -8
  164. package/es/utils/bignumber.mjs.map +1 -1
  165. package/es/{bytes.d.ts → utils/bytes.d.ts} +10 -13
  166. package/es/utils/bytes.mjs +10 -14
  167. package/es/utils/bytes.mjs.map +1 -1
  168. package/es/utils/crypto.d.ts +103 -0
  169. package/es/utils/crypto.mjs +60 -68
  170. package/es/utils/crypto.mjs.map +1 -1
  171. package/es/utils/encoder.d.ts +26 -0
  172. package/es/utils/encoder.mjs +47 -51
  173. package/es/utils/encoder.mjs.map +1 -1
  174. package/es/{errors.d.ts → utils/errors.d.ts} +254 -57
  175. package/es/utils/errors.mjs +318 -125
  176. package/es/utils/errors.mjs.map +1 -1
  177. package/es/utils/hd-wallet.d.ts +34 -0
  178. package/es/utils/hd-wallet.mjs +27 -16
  179. package/es/utils/hd-wallet.mjs.map +1 -1
  180. package/es/utils/json-big.d.ts +5 -0
  181. package/es/utils/json-big.mjs +10 -14
  182. package/es/utils/json-big.mjs.map +1 -1
  183. package/es/utils/keystore.d.ts +51 -0
  184. package/es/utils/keystore.mjs +98 -193
  185. package/es/utils/keystore.mjs.map +1 -1
  186. package/es/{mptree.d.ts → utils/mptree.d.ts} +5 -8
  187. package/es/utils/mptree.mjs +13 -14
  188. package/es/utils/mptree.mjs.map +1 -1
  189. package/es/utils/other.d.ts +14 -0
  190. package/es/utils/other.mjs +21 -36
  191. package/es/utils/other.mjs.map +1 -1
  192. package/es/{semver-satisfies.d.ts → utils/semver-satisfies.d.ts} +0 -0
  193. package/es/utils/semver-satisfies.mjs.map +1 -1
  194. package/es/utils/string.d.ts +24 -0
  195. package/es/utils/string.mjs +8 -10
  196. package/es/utils/string.mjs.map +1 -1
  197. package/package.json +49 -39
  198. package/src/AeSdk.ts +65 -0
  199. package/src/AeSdkAepp.ts +167 -0
  200. package/src/AeSdkBase.ts +320 -0
  201. package/src/AeSdkWallet.ts +332 -0
  202. package/src/Node.ts +167 -0
  203. package/src/account/Base.ts +114 -0
  204. package/src/account/Memory.ts +83 -0
  205. package/src/account/Rpc.ts +67 -0
  206. package/src/aens.ts +391 -0
  207. package/src/aepp-wallet-communication/connection/Browser.ts +68 -0
  208. package/src/aepp-wallet-communication/connection/BrowserRuntime.ts +58 -0
  209. package/src/aepp-wallet-communication/connection/BrowserWindowMessage.ts +111 -0
  210. package/{es/utils/crypto-ts.mjs → src/aepp-wallet-communication/connection-proxy.ts} +16 -17
  211. package/src/aepp-wallet-communication/rpc/RpcClient.ts +137 -0
  212. package/src/aepp-wallet-communication/rpc/types.ts +66 -0
  213. package/src/aepp-wallet-communication/schema.ts +181 -0
  214. package/src/aepp-wallet-communication/wallet-detector.ts +71 -0
  215. package/src/apis/compiler/code-model-v4.yaml +2649 -0
  216. package/src/apis/compiler/compiler.ts +585 -0
  217. package/src/apis/compiler/index.ts +2 -0
  218. package/src/apis/compiler/models/index.ts +301 -0
  219. package/src/apis/compiler/models/mappers.ts +583 -0
  220. package/src/apis/compiler/models/parameters.ts +93 -0
  221. package/src/apis/node/code-model-v4.yaml +10046 -0
  222. package/src/apis/node/index.ts +2 -0
  223. package/src/apis/node/models/index.ts +1253 -0
  224. package/src/apis/node/models/mappers.ts +4278 -0
  225. package/src/apis/node/models/parameters.ts +188 -0
  226. package/src/apis/node/node.ts +1299 -0
  227. package/src/chain.ts +444 -0
  228. package/src/channel/{handlers.js → handlers.ts} +220 -128
  229. package/src/channel/index.ts +991 -0
  230. package/src/channel/internal.ts +345 -0
  231. package/src/contract/Compiler.ts +66 -0
  232. package/src/contract/aci.ts +529 -0
  233. package/src/contract/ga.ts +178 -0
  234. package/src/contract/methods.ts +118 -0
  235. package/src/index.ts +51 -0
  236. package/src/oracle.ts +342 -0
  237. package/src/spend.ts +152 -0
  238. package/src/tx/builder/{constants.js → constants.ts} +12 -16
  239. package/src/tx/builder/field-types.ts +111 -0
  240. package/src/tx/builder/helpers.ts +253 -0
  241. package/src/tx/builder/index.ts +394 -0
  242. package/src/tx/builder/schema.ts +771 -0
  243. package/src/tx/index.ts +199 -0
  244. package/src/tx/min-fee.ts +136 -0
  245. package/src/tx/validator.ts +226 -0
  246. package/src/typings/@aeternity__argon2-browser/index.d.ts +3 -0
  247. package/src/typings/@aeternity__uuid/index.d.ts +3 -0
  248. package/src/typings/bip32-path/index.d.ts +33 -0
  249. package/src/typings/tweetnacl-auth/index.d.ts +14 -0
  250. package/src/utils/amount-formatter.ts +29 -42
  251. package/src/utils/autorest.ts +90 -0
  252. package/src/utils/bignumber.ts +9 -11
  253. package/src/utils/bytes.ts +12 -14
  254. package/src/utils/crypto.ts +217 -0
  255. package/src/utils/encoder.ts +52 -55
  256. package/src/utils/errors.ts +268 -134
  257. package/src/utils/hd-wallet.ts +134 -0
  258. package/src/utils/json-big.ts +26 -0
  259. package/src/utils/keystore.ts +179 -0
  260. package/src/utils/mptree.ts +14 -14
  261. package/src/utils/other.ts +28 -43
  262. package/src/utils/string.ts +8 -10
  263. package/es/account/base.mjs +0 -179
  264. package/es/account/base.mjs.map +0 -1
  265. package/es/account/memory.mjs +0 -99
  266. package/es/account/memory.mjs.map +0 -1
  267. package/es/account/multiple.mjs +0 -179
  268. package/es/account/multiple.mjs.map +0 -1
  269. package/es/ae/aens.mjs +0 -404
  270. package/es/ae/aens.mjs.map +0 -1
  271. package/es/ae/aepp.mjs +0 -45
  272. package/es/ae/aepp.mjs.map +0 -1
  273. package/es/ae/contract.mjs +0 -159
  274. package/es/ae/contract.mjs.map +0 -1
  275. package/es/ae/index.mjs +0 -207
  276. package/es/ae/index.mjs.map +0 -1
  277. package/es/ae/oracle.mjs +0 -339
  278. package/es/ae/oracle.mjs.map +0 -1
  279. package/es/ae/universal.mjs +0 -45
  280. package/es/ae/universal.mjs.map +0 -1
  281. package/es/ae/wallet.mjs +0 -50
  282. package/es/ae/wallet.mjs.map +0 -1
  283. package/es/amount-formatter.d.ts +0 -58
  284. package/es/bignumber.d.ts +0 -18
  285. package/es/chain/index.mjs +0 -272
  286. package/es/chain/index.mjs.map +0 -1
  287. package/es/chain/node.mjs +0 -442
  288. package/es/chain/node.mjs.map +0 -1
  289. package/es/contract/compiler.mjs +0 -115
  290. package/es/contract/compiler.mjs.map +0 -1
  291. package/es/contract/ga/helpers.mjs +0 -30
  292. package/es/contract/ga/helpers.mjs.map +0 -1
  293. package/es/contract/ga/index.mjs +0 -178
  294. package/es/contract/ga/index.mjs.map +0 -1
  295. package/es/crypto-ts.d.ts +0 -9
  296. package/es/encoder.d.ts +0 -26
  297. package/es/node-pool/index.mjs +0 -188
  298. package/es/node-pool/index.mjs.map +0 -1
  299. package/es/node.mjs +0 -133
  300. package/es/node.mjs.map +0 -1
  301. package/es/other.d.ts +0 -31
  302. package/es/string.d.ts +0 -26
  303. package/es/tx/tx-object.mjs +0 -283
  304. package/es/tx/tx-object.mjs.map +0 -1
  305. package/es/tx/tx.mjs +0 -938
  306. package/es/tx/tx.mjs.map +0 -1
  307. package/es/utils/aepp-wallet-communication/connection/browser-runtime.mjs +0 -132
  308. package/es/utils/aepp-wallet-communication/connection/browser-runtime.mjs.map +0 -1
  309. package/es/utils/aepp-wallet-communication/connection/browser-window-message.mjs +0 -183
  310. package/es/utils/aepp-wallet-communication/connection/browser-window-message.mjs.map +0 -1
  311. package/es/utils/aepp-wallet-communication/connection/index.mjs +0 -87
  312. package/es/utils/aepp-wallet-communication/connection/index.mjs.map +0 -1
  313. package/es/utils/aepp-wallet-communication/content-script-bridge.mjs +0 -98
  314. package/es/utils/aepp-wallet-communication/content-script-bridge.mjs.map +0 -1
  315. package/es/utils/aepp-wallet-communication/helpers.mjs +0 -92
  316. package/es/utils/aepp-wallet-communication/helpers.mjs.map +0 -1
  317. package/es/utils/aepp-wallet-communication/rpc/aepp-rpc.mjs +0 -375
  318. package/es/utils/aepp-wallet-communication/rpc/aepp-rpc.mjs.map +0 -1
  319. package/es/utils/aepp-wallet-communication/rpc/rpc-client.mjs +0 -275
  320. package/es/utils/aepp-wallet-communication/rpc/rpc-client.mjs.map +0 -1
  321. package/es/utils/aepp-wallet-communication/rpc/wallet-rpc.mjs +0 -541
  322. package/es/utils/aepp-wallet-communication/rpc/wallet-rpc.mjs.map +0 -1
  323. package/es/utils/aepp-wallet-communication/schema.mjs +0 -102
  324. package/es/utils/aepp-wallet-communication/schema.mjs.map +0 -1
  325. package/es/utils/aepp-wallet-communication/wallet-detector.mjs +0 -110
  326. package/es/utils/aepp-wallet-communication/wallet-detector.mjs.map +0 -1
  327. package/es/utils/async-init.mjs +0 -64
  328. package/es/utils/async-init.mjs.map +0 -1
  329. package/es/utils/crypto-ts.mjs.map +0 -1
  330. package/es/utils/swagger.mjs +0 -164
  331. package/es/utils/swagger.mjs.map +0 -1
  332. package/src/account/base.js +0 -153
  333. package/src/account/memory.js +0 -83
  334. package/src/account/multiple.js +0 -162
  335. package/src/ae/aens.js +0 -361
  336. package/src/ae/aepp.js +0 -45
  337. package/src/ae/contract.js +0 -148
  338. package/src/ae/index.js +0 -168
  339. package/src/ae/oracle.js +0 -311
  340. package/src/ae/universal.js +0 -47
  341. package/src/ae/wallet.js +0 -50
  342. package/src/chain/index.js +0 -269
  343. package/src/chain/node.js +0 -320
  344. package/src/channel/index.js +0 -903
  345. package/src/channel/internal.js +0 -236
  346. package/src/contract/aci.js +0 -376
  347. package/src/contract/compiler.js +0 -100
  348. package/src/contract/ga/helpers.js +0 -19
  349. package/src/contract/ga/index.js +0 -150
  350. package/src/index.js +0 -89
  351. package/src/node-pool/index.js +0 -172
  352. package/src/node.js +0 -116
  353. package/src/tx/builder/field-types.js +0 -61
  354. package/src/tx/builder/helpers.js +0 -334
  355. package/src/tx/builder/index.js +0 -465
  356. package/src/tx/builder/schema.js +0 -1100
  357. package/src/tx/index.js +0 -301
  358. package/src/tx/tx-object.js +0 -187
  359. package/src/tx/tx.js +0 -631
  360. package/src/tx/validator.js +0 -181
  361. package/src/utils/aepp-wallet-communication/connection/browser-runtime.js +0 -119
  362. package/src/utils/aepp-wallet-communication/connection/browser-window-message.js +0 -165
  363. package/src/utils/aepp-wallet-communication/connection/index.js +0 -85
  364. package/src/utils/aepp-wallet-communication/content-script-bridge.js +0 -86
  365. package/src/utils/aepp-wallet-communication/helpers.js +0 -60
  366. package/src/utils/aepp-wallet-communication/rpc/aepp-rpc.js +0 -294
  367. package/src/utils/aepp-wallet-communication/rpc/rpc-client.js +0 -232
  368. package/src/utils/aepp-wallet-communication/rpc/wallet-rpc.js +0 -401
  369. package/src/utils/aepp-wallet-communication/schema.ts +0 -80
  370. package/src/utils/aepp-wallet-communication/wallet-detector.js +0 -92
  371. package/src/utils/async-init.js +0 -45
  372. package/src/utils/crypto.js +0 -219
  373. package/src/utils/hd-wallet.js +0 -100
  374. package/src/utils/json-big.js +0 -26
  375. package/src/utils/keystore.js +0 -219
  376. package/src/utils/swagger.js +0 -156
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/ae/contract.js"],"names":["Ae","ContractCompilerHttp","getContractInstance","AMOUNT","MIN_GAS_PRICE","decode","produceNameId","delegateSignatureCommon","ids","opt","signature","sign","concat","from","getNetworkId","map","e","toString","createAensDelegationSignature","contractId","name","address","createOracleDelegationSignature","queryId","compose","methods","deepProps","defaults","gasPrice","amount"],"mappings":";;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;OAEOA,E;OACAC,oB;OACAC,mB;SACEC,M,EAAQC,a;SACRC,M,EAAQC,a;AAEjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,eAAeC,uBAAf,GAA4D;AAAA,MAApBC,GAAoB,uEAAd,EAAc;AAAA,MAAVC,GAAU,uEAAJ,EAAI;AAC1D,QAAMC,SAAS,GAAG,MAAM,KAAKC,IAAL,CACtB,QAAOC,MAAP,CAAc,CACZ,QAAOC,IAAP,CAAY,KAAKC,YAAL,CAAkBL,GAAlB,CAAZ,CADY,EAEZ,GAAGD,GAAG,CAACO,GAAJ,CAAQC,CAAC,IAAIX,MAAM,CAACW,CAAD,CAAnB,CAFS,CAAd,CADsB,EAKtBP,GALsB,CAAxB;AAOA,SAAO,QAAOI,IAAP,CAAYH,SAAZ,EAAuBO,QAAvB,CAAgC,KAAhC,CAAP;AACD;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,eAAeC,6BAAf,OAA8E;AAAA,MAAhC;AAAEC,IAAAA,UAAF;AAAcC,IAAAA;AAAd,GAAgC;AAAA,MAAVX,GAAU,uEAAJ,EAAI;AAC5E,SAAO,KAAKF,uBAAL,CACL,CAAC,MAAM,KAAKc,OAAL,CAAaZ,GAAb,CAAP,EAA0B,IAAGW,IAAI,GAAG,CAACd,aAAa,CAACc,IAAD,CAAd,CAAH,GAA2B,EAAlC,CAA1B,EAAgED,UAAhE,CADK,EAELV,GAFK,CAAP;AAID;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,eAAea,+BAAf,QAAmF;AAAA,MAAnC;AAAEH,IAAAA,UAAF;AAAcI,IAAAA;AAAd,GAAmC;AAAA,MAAVd,GAAU,uEAAJ,EAAI;AACjF,SAAO,KAAKF,uBAAL,CAA6B,CAACgB,OAAD,aAACA,OAAD,cAACA,OAAD,GAAY,MAAM,KAAKF,OAAL,CAAaZ,GAAb,CAAlB,EAAqCU,UAArC,CAA7B,EAA+EV,GAA/E,CAAP;AACD;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,eAAeT,EAAE,CAACwB,OAAH,CAAWvB,oBAAX,EAAiC;AAC9CwB,EAAAA,OAAO,EAAE;AACPvB,IAAAA,mBADO;AAEP;AACAK,IAAAA,uBAHO;AAIP;AACAW,IAAAA,6BALO;AAMP;AACAI,IAAAA;AAPO,GADqC;AAU9CI,EAAAA,SAAS,EAAE;AACT1B,IAAAA,EAAE,EAAE;AACF2B,MAAAA,QAAQ,EAAE;AACRC,QAAAA,QAAQ,EAAExB,aADF;AAERyB,QAAAA,MAAM,EAAE1B;AAFA;AADR;AADK;AAVmC,CAAjC,CAAf","sourcesContent":["/*\n * ISC License (ISC)\n * Copyright (c) 2021 aeternity developers\n *\n * Permission to use, copy, modify, and/or distribute this software for any\n * purpose with or without fee is hereby granted, provided that the above\n * copyright notice and this permission notice appear in all copies.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\n * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\n * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\n * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\n * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\n * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\n * PERFORMANCE OF THIS SOFTWARE.\n */\n\n/**\n * Contract module - routines to interact with the æternity contract\n *\n * High level documentation of the contracts are available at\n * https://github.com/aeternity/protocol/tree/master/contracts and\n *\n * @module @aeternity/aepp-sdk/es/ae/contract\n * @export Contract\n * @example import { Contract } from '@aeternity/aepp-sdk'\n */\n\nimport Ae from './'\nimport ContractCompilerHttp from '../contract/compiler'\nimport getContractInstance from '../contract/aci'\nimport { AMOUNT, MIN_GAS_PRICE } from '../tx/builder/schema'\nimport { decode, produceNameId } from '../tx/builder/helpers'\n\n/**\n * Utility method to create a delegate signature for a contract\n * @function\n * @alias module:@aeternity/aepp-sdk/es/ae/contract\n * @category async\n * @param {String[]} ids The list of id's to prepend\n * @param {Object} [opt={}] options\n * @param {{ onAccount: String | Object }} [opt={}] opt Options\n * @return {Promise<String>} Signature in hex representation\n */\nasync function delegateSignatureCommon (ids = [], opt = {}) {\n const signature = await this.sign(\n Buffer.concat([\n Buffer.from(this.getNetworkId(opt)),\n ...ids.map(e => decode(e))\n ]),\n opt\n )\n return Buffer.from(signature).toString('hex')\n}\n\n/**\n * Helper to generate a signature to delegate pre-claim/claim/transfer/revoke of a name to\n * a contract.\n * @function\n * @alias module:@aeternity/aepp-sdk/es/ae/contract\n * @category async\n * @param {String} contractId Contract Id\n * @param {String} [name] The name\n * @param {{ onAccount: String | Object }} [opt={}] opt Options\n * @return {Promise<String>} Signature for delegation\n * @example\n * const aeSdk = await Universal({ ... })\n * const contractId = 'ct_asd2ks...' // contract address\n * const name = 'example.chain' // AENS name\n * const onAccount = await aeSdk.address() // Sign with a specific account\n * // Preclaim signature\n * const params = { contractId }\n * const preclaimSig = await aeSdk.createAensDelegationSignature(params, { onAccount: current })\n * // Claim, transfer and revoke signature\n * const params = { contractId, name }\n * const aensDelegationSig = await contract.createAensDelegationSignature(\n * params, name, { onAccount: current }\n * )\n */\nasync function createAensDelegationSignature ({ contractId, name }, opt = {}) {\n return this.delegateSignatureCommon(\n [await this.address(opt), ...name ? [produceNameId(name)] : [], contractId],\n opt\n )\n}\n\n/**\n * Helper to generate a signature to delegate register/extend/respond of a Oracle to a contract.\n * @function\n * @alias module:@aeternity/aepp-sdk/es/ae/contract\n * @category async\n * @param {String} contractId Contract Id\n * @param {String} [queryId] Oracle Query Id\n * @param {{ onAccount: String | Object }} [opt={}] opt Options\n * @return {Promise<String>} Signature for delegation\n * @example\n * const aeSdk = await Universal({ ... })\n * const contractId = 'ct_asd2ks...' // contract address\n * const queryId = 'oq_...' // Oracle Query Id\n * const onAccount = await aeSdk.address() // Sign with a specific account\n * // Oracle register and extend signature\n * const params = { contractId }\n * const oracleDelegationSig = await contract.createOracleDelegationSignature(params, { onAccount })\n * // Oracle respond signature\n * const params = { contractId, queryId }\n * const respondSig = await contract.createOracleDelegationSignature(params, queryId)\n */\nasync function createOracleDelegationSignature ({ contractId, queryId }, opt = {}) {\n return this.delegateSignatureCommon([queryId ?? await this.address(opt), contractId], opt)\n}\n\n/**\n * Contract Stamp\n *\n * Provide contract implementation\n * {@link module:@aeternity/aepp-sdk/es/ae--Ae} clients.\n * @function\n * @alias module:@aeternity/aepp-sdk/es/ae/contract\n * @rtype Stamp\n * @param {Object} [options={}] - Initializer object\n * @return {Object} Contract instance\n * @example\n * import { Transaction, MemoryAccount, ChainNode } from '@aeternity/aepp-sdk\n *\n * const ContractWithAE = await Contract\n * .compose(Transaction, MemoryAccount, ChainNode) // AE implementation\n * const client = await ContractWithAe({ url, internalUrl, compilerUrl, keypair, ... })\n *\n */\nexport default Ae.compose(ContractCompilerHttp, {\n methods: {\n getContractInstance,\n // Delegation for contract\n delegateSignatureCommon,\n // AENS\n createAensDelegationSignature,\n // Oracle\n createOracleDelegationSignature\n },\n deepProps: {\n Ae: {\n defaults: {\n gasPrice: MIN_GAS_PRICE,\n amount: AMOUNT\n }\n }\n }\n})\n"],"file":"contract.mjs"}
package/es/ae/index.mjs DELETED
@@ -1,207 +0,0 @@
1
- /*
2
- * ISC License (ISC)
3
- * Copyright (c) 2018 aeternity developers
4
- *
5
- * Permission to use, copy, modify, and/or distribute this software for any
6
- * purpose with or without fee is hereby granted, provided that the above
7
- * copyright notice and this permission notice appear in all copies.
8
- *
9
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
10
- * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
11
- * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
12
- * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
13
- * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
14
- * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
15
- * PERFORMANCE OF THIS SOFTWARE.
16
- */
17
-
18
- /**
19
- * Ae module
20
- * @module @aeternity/aepp-sdk/es/ae
21
- * @export Ae
22
- * @example import { Ae } from '@aeternity/aepp-sdk'
23
- */
24
- import stampit from '@stamp/it';
25
- import Tx from "../tx/index.mjs";
26
- import Chain from "../chain/index.mjs";
27
- import AccountBase from "../account/base.mjs";
28
- import TxBuilder from "../tx/builder/index.mjs";
29
- import BigNumber from 'bignumber.js';
30
- import { AE_AMOUNT_FORMATS } from "../utils/amount-formatter.mjs";
31
- import { ArgumentError } from "../utils/errors.mjs";
32
- /**
33
- * Sign and post a transaction to the chain
34
- * @instance
35
- * @category async
36
- * @rtype (tx: String, options: Object) => Promise[String]
37
- * @param {String} tx - Transaction
38
- * @param {Object} [options={}] options - Options
39
- * @param {Object} [options.verify=true] - Verify transaction before broadcast, throw error if not
40
- * valid
41
- * @return {Object} Transaction
42
- */
43
-
44
- async function send(tx) {
45
- let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
46
- const opt = { ...this.Ae.defaults,
47
- ...options
48
- };
49
- const {
50
- contractId,
51
- authFun
52
- } = options.innerTx ? {
53
- contractId: false
54
- } : await this.getAccount(await this.address(opt));
55
- const signed = contractId ? await this.signUsingGA(tx, { ...opt,
56
- authFun
57
- }) : await this.signTransaction(tx, opt);
58
- return opt.innerTx ? {
59
- hash: TxBuilder.buildTxHash(signed),
60
- rawTx: signed
61
- } : this.sendTransaction(signed, opt);
62
- }
63
-
64
- async function signUsingGA(tx) {
65
- let {
66
- authData,
67
- authFun,
68
- ...options
69
- } = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
70
- return this.createMetaTx(tx, authData, authFun, options);
71
- }
72
- /**
73
- * Send tokens to another account
74
- * @instance
75
- * @category async
76
- * @rtype (amount: Number|String, recipientIdOrName: String, options?: Object) => Promise[String]
77
- * @param {Number|String} amount - Amount to spend
78
- * @param {String} recipientIdOrName - Address or name of recipient account
79
- * @param {Object} [options] - Options
80
- * @return {Object} Transaction
81
- */
82
-
83
-
84
- async function spend(amount, recipientIdOrName, options) {
85
- const opt = { ...this.Ae.defaults,
86
- ...options
87
- };
88
- return this.send(await this.spendTx({ ...opt,
89
- senderId: await this.address(opt),
90
- recipientId: await this.resolveName(recipientIdOrName, 'account_pubkey', opt),
91
- amount
92
- }), opt);
93
- } // TODO: Rename to spendFraction
94
-
95
- /**
96
- * Send a fraction of token balance to another account
97
- * @instance
98
- * @category async
99
- * @rtype (fraction: Number|String, recipientIdOrName: String, options?: Object) => Promise[String]
100
- * @param {Number|String} fraction - Fraction of balance to spend (between 0 and 1)
101
- * @param {String} recipientIdOrName - Address or name of recipient account
102
- * @param {Object} [options] - Options
103
- * @return {Object} Transaction
104
- */
105
-
106
-
107
- async function transferFunds(fraction, recipientIdOrName, options) {
108
- if (fraction < 0 || fraction > 1) {
109
- throw new ArgumentError('fraction', 'a number between 0 and 1', fraction);
110
- }
111
-
112
- const opt = { ...this.Ae.defaults,
113
- ...options
114
- };
115
- const recipientId = await this.resolveName(recipientIdOrName, 'account_pubkey', opt);
116
- const senderId = await this.address(opt);
117
- const balance = new BigNumber(await this.balance(senderId));
118
- const desiredAmount = balance.times(fraction).integerValue(BigNumber.ROUND_HALF_UP);
119
- const {
120
- tx: {
121
- fee
122
- }
123
- } = TxBuilder.unpackTx(await this.spendTx({ ...opt,
124
- senderId,
125
- recipientId,
126
- amount: desiredAmount
127
- })); // Reducing of the amount may reduce transaction fee, so this is not completely accurate
128
-
129
- const amount = desiredAmount.plus(fee).gt(balance) ? balance.minus(fee) : desiredAmount;
130
- return this.send(await this.spendTx({ ...opt,
131
- senderId,
132
- recipientId,
133
- amount
134
- }), opt);
135
- }
136
- /**
137
- * Submit transaction of another account paying for it (fee and gas)
138
- * @instance
139
- * @category async
140
- * @rtype (transaction: String, options?: Object) => Promise[String]
141
- * @param {String} transaction - tx_<base64>-encoded transaction
142
- * @param {Object} [options]
143
- * @return {Object} Transaction
144
- */
145
-
146
-
147
- async function payForTransaction(transaction, options) {
148
- const opt = { ...this.Ae.defaults,
149
- ...options
150
- };
151
- return this.send(await this.payingForTx({ ...opt,
152
- payerId: await this.address(opt),
153
- tx: transaction
154
- }), opt);
155
- }
156
- /**
157
- * Remove all listeners for RPC
158
- * @instance
159
- * @return {void}
160
- */
161
-
162
-
163
- function destroyInstance() {
164
- const destroyMethods = ['destroyClient', 'destroyServer']; // Array with destroy function's
165
-
166
- destroyMethods.forEach(m => this[m] && typeof this[m] === 'function' && this[m]());
167
- }
168
- /**
169
- * Basic Ae Stamp
170
- *
171
- * Attempting to create instances from the Stamp without overwriting all
172
- * abstract methods using composition will result in an exception.
173
- *
174
- * Ae objects are the composition of three basic building blocks:
175
- * * {@link module:@aeternity/aepp-sdk/es/tx--Tx}
176
- * * {@link module:@aeternity/aepp-sdk/es/account--Account}
177
- * * {@link module:@aeternity/aepp-sdk/es/chain--Chain}
178
- * Only by providing the joint functionality of those three, most more advanced
179
- * operations, i.e. the ones with actual use value on the chain, become
180
- * available.
181
- * @function
182
- * @alias module:@aeternity/aepp-sdk/es/ae
183
- * @rtype Stamp
184
- * @param {Object} [options={}] - Initializer object
185
- * @return {Object} Ae instance
186
- */
187
-
188
-
189
- const Ae = stampit(Tx, AccountBase, Chain, {
190
- methods: {
191
- send,
192
- spend,
193
- transferFunds,
194
- payForTransaction,
195
- destroyInstance,
196
- signUsingGA
197
- },
198
- deepProps: {
199
- Ae: {
200
- defaults: {
201
- denomination: AE_AMOUNT_FORMATS.AETTOS
202
- }
203
- }
204
- }
205
- });
206
- export default Ae;
207
- //# sourceMappingURL=index.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/ae/index.js"],"names":["stampit","Tx","Chain","AccountBase","TxBuilder","BigNumber","AE_AMOUNT_FORMATS","ArgumentError","send","tx","options","opt","Ae","defaults","contractId","authFun","innerTx","getAccount","address","signed","signUsingGA","signTransaction","hash","buildTxHash","rawTx","sendTransaction","authData","createMetaTx","spend","amount","recipientIdOrName","spendTx","senderId","recipientId","resolveName","transferFunds","fraction","balance","desiredAmount","times","integerValue","ROUND_HALF_UP","fee","unpackTx","plus","gt","minus","payForTransaction","transaction","payingForTx","payerId","destroyInstance","destroyMethods","forEach","m","methods","deepProps","denomination","AETTOS"],"mappings":"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","sourcesContent":["/*\n * ISC License (ISC)\n * Copyright (c) 2018 aeternity developers\n *\n * Permission to use, copy, modify, and/or distribute this software for any\n * purpose with or without fee is hereby granted, provided that the above\n * copyright notice and this permission notice appear in all copies.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\n * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\n * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\n * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\n * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\n * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\n * PERFORMANCE OF THIS SOFTWARE.\n */\n\n/**\n * Ae module\n * @module @aeternity/aepp-sdk/es/ae\n * @export Ae\n * @example import { Ae } from '@aeternity/aepp-sdk'\n */\n\nimport stampit from '@stamp/it'\nimport Tx from '../tx'\nimport Chain from '../chain'\nimport AccountBase from '../account/base'\nimport TxBuilder from '../tx/builder'\nimport BigNumber from 'bignumber.js'\nimport { AE_AMOUNT_FORMATS } from '../utils/amount-formatter'\nimport { ArgumentError } from '../utils/errors'\n\n/**\n * Sign and post a transaction to the chain\n * @instance\n * @category async\n * @rtype (tx: String, options: Object) => Promise[String]\n * @param {String} tx - Transaction\n * @param {Object} [options={}] options - Options\n * @param {Object} [options.verify=true] - Verify transaction before broadcast, throw error if not\n * valid\n * @return {Object} Transaction\n */\nasync function send (tx, options = {}) {\n const opt = { ...this.Ae.defaults, ...options }\n const { contractId, authFun } = options.innerTx\n ? { contractId: false }\n : await this.getAccount(await this.address(opt))\n const signed = contractId\n ? await this.signUsingGA(tx, { ...opt, authFun })\n : await this.signTransaction(tx, opt)\n return opt.innerTx\n ? { hash: TxBuilder.buildTxHash(signed), rawTx: signed }\n : this.sendTransaction(signed, opt)\n}\n\nasync function signUsingGA (tx, { authData, authFun, ...options } = {}) {\n return this.createMetaTx(tx, authData, authFun, options)\n}\n\n/**\n * Send tokens to another account\n * @instance\n * @category async\n * @rtype (amount: Number|String, recipientIdOrName: String, options?: Object) => Promise[String]\n * @param {Number|String} amount - Amount to spend\n * @param {String} recipientIdOrName - Address or name of recipient account\n * @param {Object} [options] - Options\n * @return {Object} Transaction\n */\nasync function spend (amount, recipientIdOrName, options) {\n const opt = { ...this.Ae.defaults, ...options }\n return this.send(\n await this.spendTx({\n ...opt,\n senderId: await this.address(opt),\n recipientId: await this.resolveName(recipientIdOrName, 'account_pubkey', opt),\n amount\n }),\n opt\n )\n}\n\n// TODO: Rename to spendFraction\n/**\n * Send a fraction of token balance to another account\n * @instance\n * @category async\n * @rtype (fraction: Number|String, recipientIdOrName: String, options?: Object) => Promise[String]\n * @param {Number|String} fraction - Fraction of balance to spend (between 0 and 1)\n * @param {String} recipientIdOrName - Address or name of recipient account\n * @param {Object} [options] - Options\n * @return {Object} Transaction\n */\nasync function transferFunds (fraction, recipientIdOrName, options) {\n if (fraction < 0 || fraction > 1) {\n throw new ArgumentError('fraction', 'a number between 0 and 1', fraction)\n }\n const opt = { ...this.Ae.defaults, ...options }\n const recipientId = await this.resolveName(recipientIdOrName, 'account_pubkey', opt)\n const senderId = await this.address(opt)\n const balance = new BigNumber(await this.balance(senderId))\n const desiredAmount = balance.times(fraction).integerValue(BigNumber.ROUND_HALF_UP)\n const { tx: { fee } } = TxBuilder.unpackTx(\n await this.spendTx({ ...opt, senderId, recipientId, amount: desiredAmount })\n )\n // Reducing of the amount may reduce transaction fee, so this is not completely accurate\n const amount = desiredAmount.plus(fee).gt(balance) ? balance.minus(fee) : desiredAmount\n return this.send(await this.spendTx({ ...opt, senderId, recipientId, amount }), opt)\n}\n\n/**\n * Submit transaction of another account paying for it (fee and gas)\n * @instance\n * @category async\n * @rtype (transaction: String, options?: Object) => Promise[String]\n * @param {String} transaction - tx_<base64>-encoded transaction\n * @param {Object} [options]\n * @return {Object} Transaction\n */\nasync function payForTransaction (transaction, options) {\n const opt = { ...this.Ae.defaults, ...options }\n return this.send(\n await this.payingForTx({\n ...opt,\n payerId: await this.address(opt),\n tx: transaction\n }),\n opt\n )\n}\n\n/**\n * Remove all listeners for RPC\n * @instance\n * @return {void}\n */\nfunction destroyInstance () {\n const destroyMethods = ['destroyClient', 'destroyServer'] // Array with destroy function's\n destroyMethods.forEach(m => this[m] && typeof this[m] === 'function' && this[m]())\n}\n\n/**\n * Basic Ae Stamp\n *\n * Attempting to create instances from the Stamp without overwriting all\n * abstract methods using composition will result in an exception.\n *\n * Ae objects are the composition of three basic building blocks:\n * * {@link module:@aeternity/aepp-sdk/es/tx--Tx}\n * * {@link module:@aeternity/aepp-sdk/es/account--Account}\n * * {@link module:@aeternity/aepp-sdk/es/chain--Chain}\n * Only by providing the joint functionality of those three, most more advanced\n * operations, i.e. the ones with actual use value on the chain, become\n * available.\n * @function\n * @alias module:@aeternity/aepp-sdk/es/ae\n * @rtype Stamp\n * @param {Object} [options={}] - Initializer object\n * @return {Object} Ae instance\n */\nconst Ae = stampit(Tx, AccountBase, Chain, {\n methods: { send, spend, transferFunds, payForTransaction, destroyInstance, signUsingGA },\n deepProps: { Ae: { defaults: { denomination: AE_AMOUNT_FORMATS.AETTOS } } }\n})\n\nexport default Ae\n"],"file":"index.mjs"}
package/es/ae/oracle.mjs DELETED
@@ -1,339 +0,0 @@
1
- /*
2
- * ISC License (ISC)
3
- * Copyright (c) 2018 aeternity developers
4
- *
5
- * Permission to use, copy, modify, and/or distribute this software for any
6
- * purpose with or without fee is hereby granted, provided that the above
7
- * copyright notice and this permission notice appear in all copies.
8
- *
9
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
10
- * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
11
- * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
12
- * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
13
- * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
14
- * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
15
- * PERFORMANCE OF THIS SOFTWARE.
16
- */
17
-
18
- /**
19
- * Oracle module - routines to interact with the æternity oracle system
20
- *
21
- * The high-level description of the oracle system is
22
- * https://github.com/aeternity/protocol/blob/master/ORACLE.md in the protocol
23
- * repository.
24
- * @module @aeternity/aepp-sdk/es/ae/oracle
25
- * @export Oracle
26
- * @example import { Oracle } from '@aeternity/aepp-sdk'
27
- */
28
- import Ae from "./index.mjs";
29
- import { pause } from "../utils/other.mjs";
30
- import { oracleQueryId, decode } from "../tx/builder/helpers.mjs";
31
- import { unpackTx } from "../tx/builder/index.mjs";
32
- import { ORACLE_TTL, QUERY_FEE, QUERY_TTL, RESPONSE_TTL } from "../tx/builder/schema.mjs";
33
- import { RequestTimedOutError } from "../utils/errors.mjs";
34
- /**
35
- * Constructor for Oracle Object (helper object for using Oracle)
36
- * @alias module:@aeternity/aepp-sdk/es/ae/oracle
37
- * @instance
38
- * @function
39
- * @category async
40
- * @param {String} oracleId Oracle public key
41
- * @return {Promise<Object>} Oracle object
42
- */
43
-
44
- async function getOracleObject(oracleId) {
45
- const oracle = await this.api.getOracleByPubkey(oracleId);
46
- const {
47
- oracleQueries: queries
48
- } = await this.api.getOracleQueriesByPubkey(oracleId);
49
- return { ...oracle,
50
- queries,
51
- pollQueries: this.pollForQueries.bind(this, oracleId),
52
- postQuery: this.postQueryToOracle.bind(this, oracleId),
53
- respondToQuery: this.respondToQuery.bind(this, oracleId),
54
- extendOracle: this.extendOracleTtl.bind(this, oracleId),
55
- getQuery: this.getQueryObject.bind(this, oracleId)
56
- };
57
- }
58
- /**
59
- * Poll for oracle queries
60
- * @alias module:@aeternity/aepp-sdk/es/ae/oracle
61
- * @instance
62
- * @function
63
- * @param {String} oracleId Oracle public key
64
- * @param {Function} onQuery OnQuery callback
65
- * @param {Object} [options] Options object
66
- * @param {Number} [options.interval] Poll interval(default: 5000)
67
- * @return {Function} stopPolling - Stop polling function
68
- */
69
-
70
-
71
- function pollForQueries(oracleId, onQuery) {
72
- let {
73
- interval = this._getPollInterval('microblock')
74
- } = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
75
- const knownQueryIds = new Set();
76
-
77
- const checkNewQueries = async () => {
78
- const queries = ((await this.api.getOracleQueriesByPubkey(oracleId)).oracleQueries || []).filter(_ref => {
79
- let {
80
- id
81
- } = _ref;
82
- return !knownQueryIds.has(id);
83
- });
84
- queries.forEach(_ref2 => {
85
- let {
86
- id
87
- } = _ref2;
88
- return knownQueryIds.add(id);
89
- });
90
- if (queries.length) onQuery(queries);
91
- };
92
-
93
- let stopped;
94
-
95
- (async () => {
96
- while (!stopped) {
97
- // eslint-disable-line no-unmodified-loop-condition
98
- // TODO: allow to handle this error somehow
99
- await checkNewQueries().catch(console.error);
100
- await pause(interval);
101
- }
102
- })();
103
-
104
- return () => {
105
- stopped = true;
106
- };
107
- }
108
- /**
109
- * Constructor for OracleQuery Object (helper object for using OracleQuery)
110
- * @alias module:@aeternity/aepp-sdk/es/ae/oracle
111
- * @instance
112
- * @function
113
- * @category async
114
- * @param {String} oracleId Oracle public key
115
- * @param {String} queryId Oracle Query id
116
- * @return {Promise<Object>} OracleQuery object
117
- */
118
-
119
-
120
- async function getQueryObject(oracleId, queryId) {
121
- const q = await this.api.getOracleQueryByPubkeyAndQueryId(oracleId, queryId);
122
- return { ...q,
123
- decodedQuery: decode(q.query).toString(),
124
- decodedResponse: decode(q.response).toString(),
125
- respond: this.respondToQuery.bind(this, oracleId, queryId),
126
- pollForResponse: this.pollForQueryResponse.bind(this, oracleId, queryId),
127
-
128
- /**
129
- * @deprecated use TxBuilderHelper.decode instead
130
- * @param data
131
- * @returns {Buffer}
132
- */
133
- decode: data => decode(data)
134
- };
135
- }
136
- /**
137
- * Poll for oracle query response
138
- * @alias module:@aeternity/aepp-sdk/es/ae/oracle
139
- * @instance
140
- * @function
141
- * @category async
142
- * @param {String} oracleId Oracle public key
143
- * @param {String} queryId Oracle Query id
144
- * @param {Object} [options] Options object
145
- * @param {Object} [options.attempts] Poll attempt's(default: 20)
146
- * @param {Object} [options.interval] Poll interval(default: 5000)
147
- * @return {Promise<Object>} OracleQuery object
148
- */
149
-
150
-
151
- export async function pollForQueryResponse(oracleId, queryId) {
152
- let {
153
- attempts = 20,
154
- interval = this._getPollInterval('microblock')
155
- } = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
156
-
157
- for (let i = 0; i < attempts; i++) {
158
- if (i) await pause(interval);
159
- const {
160
- response
161
- } = await this.api.getOracleQueryByPubkeyAndQueryId(oracleId, queryId);
162
- const responseBuffer = decode(response, 'or');
163
-
164
- if (responseBuffer.length) {
165
- return String(responseBuffer);
166
- }
167
- }
168
-
169
- throw new RequestTimedOutError((attempts - 1) * interval);
170
- }
171
- /**
172
- * Register oracle
173
- * @alias module:@aeternity/aepp-sdk/es/ae/oracle
174
- * @instance
175
- * @function
176
- * @category async
177
- * @param {String} queryFormat Format of query
178
- * @param {String} responseFormat Format of query response
179
- * @param {Object} [options={}] Options
180
- * @param {String|Number} [options.queryFee] Oracle query Fee
181
- * @param {Object} [options.oracleTtl] OracleTtl object {type: 'delta|block', value: 'number'}
182
- * @param {Number} [options.abiVersion] Always 0 (do not use virtual machine)
183
- * @param {Number|String} [options.fee] Transaction fee
184
- * @param {Number|String} [options.ttl] Transaction time to leave
185
- * @return {Promise<Object>} Oracle object
186
- */
187
-
188
- async function registerOracle(queryFormat, responseFormat) {
189
- let options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
190
- const opt = { ...this.Ae.defaults,
191
- ...options
192
- }; // Preset VmVersion for oracle
193
-
194
- const accountId = await this.address(opt);
195
- const oracleRegisterTx = await this.oracleRegisterTx({ ...opt,
196
- accountId,
197
- queryFormat,
198
- responseFormat
199
- });
200
- return { ...(await this.send(oracleRegisterTx, opt)),
201
- ...(await this.getOracleObject(`ok_${accountId.slice(3)}`))
202
- };
203
- }
204
- /**
205
- * Post query to oracle
206
- * @alias module:@aeternity/aepp-sdk/es/ae/oracle
207
- * @instance
208
- * @function
209
- * @category async
210
- * @param {String} oracleId Oracle public key
211
- * @param {String} query Oracle query object
212
- * @param {Object} [options={}]
213
- * @param {String|Number} [options.queryTtl] queryTtl Oracle query time to leave
214
- * @param {String|Number} [options.responseTtl] queryFee Oracle query response time to leave
215
- * @param {String|Number} [options.queryFee] queryFee Oracle query fee
216
- * @param {Number} [options.fee] fee Transaction fee
217
- * @param {Number} [options.ttl] Transaction time to leave
218
- * @return {Promise<Object>} Query object
219
- */
220
-
221
-
222
- async function postQueryToOracle(oracleId, query) {
223
- let options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
224
- const queryFee = options.queryFee || (await this.api.getOracleByPubkey(oracleId)).queryFee;
225
- const opt = { ...this.Ae.defaults,
226
- queryFee,
227
- ...options
228
- };
229
- const senderId = await this.address(opt);
230
- const oracleRegisterTx = await this.oraclePostQueryTx({ ...opt,
231
- oracleId,
232
- senderId,
233
- query
234
- });
235
- const queryId = oracleQueryId(senderId, unpackTx(oracleRegisterTx).tx.nonce, oracleId);
236
- return { ...(await this.send(oracleRegisterTx, opt)),
237
- ...(await this.getQueryObject(oracleId, queryId))
238
- };
239
- }
240
- /**
241
- * Extend oracle ttl
242
- * @alias module:@aeternity/aepp-sdk/es/ae/oracle
243
- * @instance
244
- * @function
245
- * @category async
246
- * @param {String} oracleId Oracle public key
247
- * @param {String} oracleTtl Oracle time to leave for extend
248
- * @param {Object} [options={}]
249
- * @param {Number} [options.fee] fee Transaction fee
250
- * @param {Number} [options.ttl] Transaction time to leave
251
- * @return {Promise<Object>} Oracle object
252
- */
253
-
254
-
255
- async function extendOracleTtl(oracleId, oracleTtl) {
256
- let options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
257
- const opt = { ...this.Ae.defaults,
258
- ...options
259
- };
260
- const callerId = await this.address(opt);
261
- const oracleExtendTx = await this.oracleExtendTx({ ...opt,
262
- oracleId,
263
- callerId,
264
- oracleTtl
265
- });
266
- return { ...(await this.send(oracleExtendTx, opt)),
267
- ...(await this.getOracleObject(oracleId))
268
- };
269
- }
270
- /**
271
- * Extend oracle ttl
272
- * @alias module:@aeternity/aepp-sdk/es/ae/oracle
273
- * @instance
274
- * @function
275
- * @category async
276
- * @param {String} oracleId Oracle public key
277
- * @param {String} queryId Oracle query id
278
- * @param {String} response Oracle query response
279
- * @param {Object} [options={}]
280
- * @param {Number} [options.responseTtl] responseTtl Query response time to leave
281
- * @param {Number} [options.fee] Transaction fee
282
- * @param {Number} [options.ttl] Transaction time to leave
283
- * @return {Promise<Object>} Oracle object
284
- */
285
-
286
-
287
- async function respondToQuery(oracleId, queryId, response) {
288
- let options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
289
- const opt = { ...this.Ae.defaults,
290
- ...options
291
- };
292
- const callerId = await this.address(opt);
293
- const oracleRespondTx = await this.oracleRespondTx({ ...opt,
294
- oracleId,
295
- queryId,
296
- callerId,
297
- response
298
- });
299
- return { ...(await this.send(oracleRespondTx, opt)),
300
- ...(await this.getOracleObject(oracleId))
301
- };
302
- }
303
- /**
304
- * Oracle Stamp
305
- *
306
- * Oracle provides oracle-system related methods atop
307
- * {@link module:@aeternity/aepp-sdk/es/ae--Ae} clients.
308
- * @function
309
- * @alias module:@aeternity/aepp-sdk/es/ae/oracle
310
- * @rtype Stamp
311
- * @param {Object} [options={}] - Initializer object
312
- * @return {Object} Oracle instance
313
- */
314
-
315
-
316
- const Oracle = Ae.compose({
317
- methods: {
318
- registerOracle,
319
- respondToQuery,
320
- extendOracleTtl,
321
- postQueryToOracle,
322
- pollForQueryResponse,
323
- pollForQueries,
324
- getOracleObject,
325
- getQueryObject
326
- },
327
- deepProps: {
328
- Ae: {
329
- defaults: {
330
- queryFee: QUERY_FEE,
331
- oracleTtl: ORACLE_TTL,
332
- queryTtl: QUERY_TTL,
333
- responseTtl: RESPONSE_TTL
334
- }
335
- }
336
- }
337
- });
338
- export default Oracle;
339
- //# sourceMappingURL=oracle.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/ae/oracle.js"],"names":["Ae","pause","oracleQueryId","decode","unpackTx","ORACLE_TTL","QUERY_FEE","QUERY_TTL","RESPONSE_TTL","RequestTimedOutError","getOracleObject","oracleId","oracle","api","getOracleByPubkey","oracleQueries","queries","getOracleQueriesByPubkey","pollQueries","pollForQueries","bind","postQuery","postQueryToOracle","respondToQuery","extendOracle","extendOracleTtl","getQuery","getQueryObject","onQuery","interval","_getPollInterval","knownQueryIds","Set","checkNewQueries","filter","id","has","forEach","add","length","stopped","catch","console","error","queryId","q","getOracleQueryByPubkeyAndQueryId","decodedQuery","query","toString","decodedResponse","response","respond","pollForResponse","pollForQueryResponse","data","attempts","i","responseBuffer","String","registerOracle","queryFormat","responseFormat","options","opt","defaults","accountId","address","oracleRegisterTx","send","slice","queryFee","senderId","oraclePostQueryTx","tx","nonce","oracleTtl","callerId","oracleExtendTx","oracleRespondTx","Oracle","compose","methods","deepProps","queryTtl","responseTtl"],"mappings":"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","sourcesContent":["/*\n * ISC License (ISC)\n * Copyright (c) 2018 aeternity developers\n *\n * Permission to use, copy, modify, and/or distribute this software for any\n * purpose with or without fee is hereby granted, provided that the above\n * copyright notice and this permission notice appear in all copies.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\n * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\n * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\n * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\n * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\n * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\n * PERFORMANCE OF THIS SOFTWARE.\n */\n\n/**\n * Oracle module - routines to interact with the æternity oracle system\n *\n * The high-level description of the oracle system is\n * https://github.com/aeternity/protocol/blob/master/ORACLE.md in the protocol\n * repository.\n * @module @aeternity/aepp-sdk/es/ae/oracle\n * @export Oracle\n * @example import { Oracle } from '@aeternity/aepp-sdk'\n */\n\nimport Ae from './'\nimport { pause } from '../utils/other'\nimport { oracleQueryId, decode } from '../tx/builder/helpers'\nimport { unpackTx } from '../tx/builder'\nimport { ORACLE_TTL, QUERY_FEE, QUERY_TTL, RESPONSE_TTL } from '../tx/builder/schema'\nimport { RequestTimedOutError } from '../utils/errors'\n\n/**\n * Constructor for Oracle Object (helper object for using Oracle)\n * @alias module:@aeternity/aepp-sdk/es/ae/oracle\n * @instance\n * @function\n * @category async\n * @param {String} oracleId Oracle public key\n * @return {Promise<Object>} Oracle object\n */\nasync function getOracleObject (oracleId) {\n const oracle = await this.api.getOracleByPubkey(oracleId)\n const { oracleQueries: queries } = await this.api.getOracleQueriesByPubkey(oracleId)\n return {\n ...oracle,\n queries,\n pollQueries: this.pollForQueries.bind(this, oracleId),\n postQuery: this.postQueryToOracle.bind(this, oracleId),\n respondToQuery: this.respondToQuery.bind(this, oracleId),\n extendOracle: this.extendOracleTtl.bind(this, oracleId),\n getQuery: this.getQueryObject.bind(this, oracleId)\n }\n}\n\n/**\n * Poll for oracle queries\n * @alias module:@aeternity/aepp-sdk/es/ae/oracle\n * @instance\n * @function\n * @param {String} oracleId Oracle public key\n * @param {Function} onQuery OnQuery callback\n * @param {Object} [options] Options object\n * @param {Number} [options.interval] Poll interval(default: 5000)\n * @return {Function} stopPolling - Stop polling function\n */\nfunction pollForQueries (\n oracleId,\n onQuery,\n { interval = this._getPollInterval('microblock') } = {}\n) {\n const knownQueryIds = new Set()\n const checkNewQueries = async () => {\n const queries = ((await this.api.getOracleQueriesByPubkey(oracleId)).oracleQueries || [])\n .filter(({ id }) => !knownQueryIds.has(id))\n queries.forEach(({ id }) => knownQueryIds.add(id))\n if (queries.length) onQuery(queries)\n }\n\n let stopped\n (async () => {\n while (!stopped) { // eslint-disable-line no-unmodified-loop-condition\n // TODO: allow to handle this error somehow\n await checkNewQueries().catch(console.error)\n await pause(interval)\n }\n })()\n return () => { stopped = true }\n}\n\n/**\n * Constructor for OracleQuery Object (helper object for using OracleQuery)\n * @alias module:@aeternity/aepp-sdk/es/ae/oracle\n * @instance\n * @function\n * @category async\n * @param {String} oracleId Oracle public key\n * @param {String} queryId Oracle Query id\n * @return {Promise<Object>} OracleQuery object\n */\nasync function getQueryObject (oracleId, queryId) {\n const q = await this.api.getOracleQueryByPubkeyAndQueryId(oracleId, queryId)\n return {\n ...q,\n decodedQuery: decode(q.query).toString(),\n decodedResponse: decode(q.response).toString(),\n respond: this.respondToQuery.bind(this, oracleId, queryId),\n pollForResponse: this.pollForQueryResponse.bind(this, oracleId, queryId),\n /**\n * @deprecated use TxBuilderHelper.decode instead\n * @param data\n * @returns {Buffer}\n */\n decode: (data) => decode(data)\n }\n}\n\n/**\n * Poll for oracle query response\n * @alias module:@aeternity/aepp-sdk/es/ae/oracle\n * @instance\n * @function\n * @category async\n * @param {String} oracleId Oracle public key\n * @param {String} queryId Oracle Query id\n * @param {Object} [options] Options object\n * @param {Object} [options.attempts] Poll attempt's(default: 20)\n * @param {Object} [options.interval] Poll interval(default: 5000)\n * @return {Promise<Object>} OracleQuery object\n */\nexport async function pollForQueryResponse (\n oracleId,\n queryId,\n { attempts = 20, interval = this._getPollInterval('microblock') } = {}\n) {\n for (let i = 0; i < attempts; i++) {\n if (i) await pause(interval)\n const { response } = await this.api.getOracleQueryByPubkeyAndQueryId(oracleId, queryId)\n const responseBuffer = decode(response, 'or')\n if (responseBuffer.length) {\n return String(responseBuffer)\n }\n }\n throw new RequestTimedOutError((attempts - 1) * interval)\n}\n\n/**\n * Register oracle\n * @alias module:@aeternity/aepp-sdk/es/ae/oracle\n * @instance\n * @function\n * @category async\n * @param {String} queryFormat Format of query\n * @param {String} responseFormat Format of query response\n * @param {Object} [options={}] Options\n * @param {String|Number} [options.queryFee] Oracle query Fee\n * @param {Object} [options.oracleTtl] OracleTtl object {type: 'delta|block', value: 'number'}\n * @param {Number} [options.abiVersion] Always 0 (do not use virtual machine)\n * @param {Number|String} [options.fee] Transaction fee\n * @param {Number|String} [options.ttl] Transaction time to leave\n * @return {Promise<Object>} Oracle object\n */\nasync function registerOracle (queryFormat, responseFormat, options = {}) {\n const opt = { ...this.Ae.defaults, ...options } // Preset VmVersion for oracle\n const accountId = await this.address(opt)\n\n const oracleRegisterTx = await this.oracleRegisterTx({\n ...opt,\n accountId,\n queryFormat,\n responseFormat\n })\n return {\n ...await this.send(oracleRegisterTx, opt),\n ...await this.getOracleObject(`ok_${accountId.slice(3)}`)\n }\n}\n\n/**\n * Post query to oracle\n * @alias module:@aeternity/aepp-sdk/es/ae/oracle\n * @instance\n * @function\n * @category async\n * @param {String} oracleId Oracle public key\n * @param {String} query Oracle query object\n * @param {Object} [options={}]\n * @param {String|Number} [options.queryTtl] queryTtl Oracle query time to leave\n * @param {String|Number} [options.responseTtl] queryFee Oracle query response time to leave\n * @param {String|Number} [options.queryFee] queryFee Oracle query fee\n * @param {Number} [options.fee] fee Transaction fee\n * @param {Number} [options.ttl] Transaction time to leave\n * @return {Promise<Object>} Query object\n */\nasync function postQueryToOracle (oracleId, query, options = {}) {\n const queryFee = options.queryFee || (await this.api.getOracleByPubkey(oracleId)).queryFee\n const opt = { ...this.Ae.defaults, queryFee, ...options }\n const senderId = await this.address(opt)\n\n const oracleRegisterTx = await this.oraclePostQueryTx({\n ...opt,\n oracleId,\n senderId,\n query\n })\n const queryId = oracleQueryId(senderId, unpackTx(oracleRegisterTx).tx.nonce, oracleId)\n return {\n ...await this.send(oracleRegisterTx, opt),\n ...await this.getQueryObject(oracleId, queryId)\n }\n}\n\n/**\n * Extend oracle ttl\n * @alias module:@aeternity/aepp-sdk/es/ae/oracle\n * @instance\n * @function\n * @category async\n * @param {String} oracleId Oracle public key\n * @param {String} oracleTtl Oracle time to leave for extend\n * @param {Object} [options={}]\n * @param {Number} [options.fee] fee Transaction fee\n * @param {Number} [options.ttl] Transaction time to leave\n * @return {Promise<Object>} Oracle object\n */\nasync function extendOracleTtl (oracleId, oracleTtl, options = {}) {\n const opt = { ...this.Ae.defaults, ...options }\n const callerId = await this.address(opt)\n\n const oracleExtendTx = await this.oracleExtendTx({\n ...opt,\n oracleId,\n callerId,\n oracleTtl\n })\n return {\n ...await this.send(oracleExtendTx, opt),\n ...await this.getOracleObject(oracleId)\n }\n}\n\n/**\n * Extend oracle ttl\n * @alias module:@aeternity/aepp-sdk/es/ae/oracle\n * @instance\n * @function\n * @category async\n * @param {String} oracleId Oracle public key\n * @param {String} queryId Oracle query id\n * @param {String} response Oracle query response\n * @param {Object} [options={}]\n * @param {Number} [options.responseTtl] responseTtl Query response time to leave\n * @param {Number} [options.fee] Transaction fee\n * @param {Number} [options.ttl] Transaction time to leave\n * @return {Promise<Object>} Oracle object\n */\nasync function respondToQuery (oracleId, queryId, response, options = {}) {\n const opt = { ...this.Ae.defaults, ...options }\n const callerId = await this.address(opt)\n\n const oracleRespondTx = await this.oracleRespondTx({\n ...opt,\n oracleId,\n queryId,\n callerId,\n response\n })\n return {\n ...await this.send(oracleRespondTx, opt),\n ...await this.getOracleObject(oracleId)\n }\n}\n\n/**\n * Oracle Stamp\n *\n * Oracle provides oracle-system related methods atop\n * {@link module:@aeternity/aepp-sdk/es/ae--Ae} clients.\n * @function\n * @alias module:@aeternity/aepp-sdk/es/ae/oracle\n * @rtype Stamp\n * @param {Object} [options={}] - Initializer object\n * @return {Object} Oracle instance\n */\nconst Oracle = Ae.compose({\n methods: {\n registerOracle,\n respondToQuery,\n extendOracleTtl,\n postQueryToOracle,\n pollForQueryResponse,\n pollForQueries,\n getOracleObject,\n getQueryObject\n },\n deepProps: {\n Ae: {\n defaults: {\n queryFee: QUERY_FEE,\n oracleTtl: ORACLE_TTL,\n queryTtl: QUERY_TTL,\n responseTtl: RESPONSE_TTL\n }\n }\n }\n})\n\nexport default Oracle\n"],"file":"oracle.mjs"}
@@ -1,45 +0,0 @@
1
- /*
2
- * ISC License (ISC)
3
- * Copyright (c) 2018 aeternity developers
4
- *
5
- * Permission to use, copy, modify, and/or distribute this software for any
6
- * purpose with or without fee is hereby granted, provided that the above
7
- * copyright notice and this permission notice appear in all copies.
8
- *
9
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
10
- * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
11
- * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
12
- * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
13
- * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
14
- * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
15
- * PERFORMANCE OF THIS SOFTWARE.
16
- */
17
-
18
- /**
19
- * Universal module
20
- * @module @aeternity/aepp-sdk/es/ae/universal
21
- * @export Universal
22
- * @example import { Universal } from '@aeternity/aepp-sdk'
23
- */
24
- import Ae from "./index.mjs";
25
- import Chain from "../chain/node.mjs";
26
- import Aens from "./aens.mjs";
27
- import Transaction from "../tx/tx.mjs";
28
- import Oracle from "./oracle.mjs";
29
- import GeneralizedAccount from "../contract/ga/index.mjs";
30
- import AccountMultiple from "../account/multiple.mjs";
31
- import Contract from "./contract.mjs";
32
- /**
33
- * Universal Stamp
34
- *
35
- * Universal provides Ae base functionality with Contract and Aens
36
- * {@link module:@aeternity/aepp-sdk/es/ae--Ae} clients.
37
- * @function
38
- * @alias module:@aeternity/aepp-sdk/es/ae/universal
39
- * @rtype Stamp
40
- * @param {Object} [options={}] - Initializer object
41
- * @return {Object} Universal instance
42
- */
43
-
44
- export default Ae.compose(AccountMultiple, Chain, Transaction, Aens, Contract, Oracle, GeneralizedAccount);
45
- //# sourceMappingURL=universal.mjs.map