@aeternity/aepp-sdk 10.0.0-beta.1 → 11.0.1

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 (250) hide show
  1. package/README.md +15 -14
  2. package/dist/aepp-sdk.browser-script.js +1 -1
  3. package/dist/aepp-sdk.browser-script.js.LICENSE.txt +7 -27
  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/account/{base.js → base.mjs} +23 -11
  10. package/es/account/base.mjs.map +1 -0
  11. package/es/account/{memory.js → memory.mjs} +29 -14
  12. package/es/account/memory.mjs.map +1 -0
  13. package/es/account/{multiple.js → multiple.mjs} +14 -11
  14. package/es/account/multiple.mjs.map +1 -0
  15. package/es/ae/{aens.js → aens.mjs} +69 -59
  16. package/es/ae/aens.mjs.map +1 -0
  17. package/es/ae/{aepp.js → aepp.mjs} +9 -9
  18. package/es/ae/aepp.mjs.map +1 -0
  19. package/es/ae/contract.mjs +159 -0
  20. package/es/ae/contract.mjs.map +1 -0
  21. package/es/ae/{index.js → index.mjs} +12 -10
  22. package/es/ae/index.mjs.map +1 -0
  23. package/es/ae/{oracle.js → oracle.mjs} +37 -20
  24. package/es/ae/oracle.mjs.map +1 -0
  25. package/es/ae/{universal.js → universal.mjs} +10 -10
  26. package/es/ae/universal.mjs.map +1 -0
  27. package/es/ae/{wallet.js → wallet.mjs} +10 -10
  28. package/es/ae/wallet.mjs.map +1 -0
  29. package/es/aepp-wallet-communication/schema.d.ts +74 -0
  30. package/es/bignumber.d.ts +1 -7
  31. package/es/chain/{index.js → index.mjs} +28 -8
  32. package/es/chain/index.mjs.map +1 -0
  33. package/es/chain/{node.js → node.mjs} +133 -90
  34. package/es/chain/node.mjs.map +1 -0
  35. package/es/channel/{handlers.js → handlers.mjs} +18 -20
  36. package/es/channel/handlers.mjs.map +1 -0
  37. package/es/channel/{index.js → index.mjs} +43 -22
  38. package/es/channel/index.mjs.map +1 -0
  39. package/es/channel/{internal.js → internal.mjs} +51 -35
  40. package/es/channel/internal.mjs.map +1 -0
  41. package/es/contract/aci.mjs +477 -0
  42. package/es/contract/aci.mjs.map +1 -0
  43. package/es/contract/compiler.mjs +115 -0
  44. package/es/contract/compiler.mjs.map +1 -0
  45. package/es/contract/ga/helpers.mjs +30 -0
  46. package/es/contract/ga/helpers.mjs.map +1 -0
  47. package/es/contract/ga/{index.js → index.mjs} +40 -28
  48. package/es/contract/ga/index.mjs.map +1 -0
  49. package/es/encoder.d.ts +26 -0
  50. package/es/errors.d.ts +284 -0
  51. package/es/index.mjs +57 -0
  52. package/es/index.mjs.map +1 -0
  53. package/es/node-pool/{index.js → index.mjs} +15 -12
  54. package/es/node-pool/index.mjs.map +1 -0
  55. package/es/{node.js → node.mjs} +17 -11
  56. package/es/node.mjs.map +1 -0
  57. package/es/tx/builder/constants.mjs +108 -0
  58. package/es/tx/builder/constants.mjs.map +1 -0
  59. package/es/tx/builder/field-types.mjs +74 -0
  60. package/es/tx/builder/field-types.mjs.map +1 -0
  61. package/es/tx/builder/helpers.mjs +321 -0
  62. package/es/tx/builder/helpers.mjs.map +1 -0
  63. package/es/tx/builder/{index.js → index.mjs} +92 -74
  64. package/es/tx/builder/index.mjs.map +1 -0
  65. package/es/tx/builder/{schema.js → schema.mjs} +16 -172
  66. package/es/tx/builder/schema.mjs.map +1 -0
  67. package/es/tx/{index.js → index.mjs} +106 -14
  68. package/es/tx/index.mjs.map +1 -0
  69. package/es/tx/{tx-object.js → tx-object.mjs} +31 -18
  70. package/es/tx/tx-object.mjs.map +1 -0
  71. package/es/tx/{tx.js → tx.mjs} +15 -14
  72. package/es/tx/tx.mjs.map +1 -0
  73. package/es/tx/{validator.js → validator.mjs} +72 -33
  74. package/es/tx/validator.mjs.map +1 -0
  75. package/es/typings/blakejs/index.d.mjs +2 -0
  76. package/es/typings/blakejs/{index.d.js.map → index.d.mjs.map} +1 -1
  77. package/es/utils/aepp-wallet-communication/connection/{browser-runtime.js → browser-runtime.mjs} +10 -8
  78. package/es/utils/aepp-wallet-communication/connection/browser-runtime.mjs.map +1 -0
  79. package/es/utils/aepp-wallet-communication/connection/{browser-window-message.js → browser-window-message.mjs} +25 -17
  80. package/es/utils/aepp-wallet-communication/connection/browser-window-message.mjs.map +1 -0
  81. package/es/utils/aepp-wallet-communication/connection/{index.js → index.mjs} +7 -3
  82. package/es/utils/aepp-wallet-communication/connection/index.mjs.map +1 -0
  83. package/es/utils/aepp-wallet-communication/{content-script-bridge.js → content-script-bridge.mjs} +15 -8
  84. package/es/utils/aepp-wallet-communication/content-script-bridge.mjs.map +1 -0
  85. package/es/utils/aepp-wallet-communication/{helpers.js → helpers.mjs} +3 -14
  86. package/es/utils/aepp-wallet-communication/helpers.mjs.map +1 -0
  87. package/es/utils/aepp-wallet-communication/rpc/{aepp-rpc.js → aepp-rpc.mjs} +126 -72
  88. package/es/utils/aepp-wallet-communication/rpc/aepp-rpc.mjs.map +1 -0
  89. package/es/utils/aepp-wallet-communication/rpc/{rpc-client.js → rpc-client.mjs} +23 -14
  90. package/es/utils/aepp-wallet-communication/rpc/rpc-client.mjs.map +1 -0
  91. package/es/utils/aepp-wallet-communication/rpc/{wallet-rpc.js → wallet-rpc.mjs} +116 -91
  92. package/es/utils/aepp-wallet-communication/rpc/wallet-rpc.mjs.map +1 -0
  93. package/es/utils/aepp-wallet-communication/schema.mjs +102 -0
  94. package/es/utils/aepp-wallet-communication/schema.mjs.map +1 -0
  95. package/es/utils/aepp-wallet-communication/{wallet-detector.js → wallet-detector.mjs} +6 -5
  96. package/es/utils/aepp-wallet-communication/wallet-detector.mjs.map +1 -0
  97. package/es/utils/{amount-formatter.js → amount-formatter.mjs} +14 -7
  98. package/es/utils/amount-formatter.mjs.map +1 -0
  99. package/es/utils/{async-init.js → async-init.mjs} +8 -11
  100. package/es/utils/async-init.mjs.map +1 -0
  101. package/es/utils/{bignumber.js → bignumber.mjs} +2 -9
  102. package/es/utils/bignumber.mjs.map +1 -0
  103. package/es/utils/{bytes.js → bytes.mjs} +16 -8
  104. package/es/utils/bytes.mjs.map +1 -0
  105. package/es/utils/{crypto-ts.js → crypto-ts.mjs} +11 -3
  106. package/es/utils/crypto-ts.mjs.map +1 -0
  107. package/es/utils/{crypto.js → crypto.mjs} +42 -156
  108. package/es/utils/crypto.mjs.map +1 -0
  109. package/es/utils/encoder.mjs +106 -0
  110. package/es/utils/encoder.mjs.map +1 -0
  111. package/es/utils/errors.mjs +689 -0
  112. package/es/utils/errors.mjs.map +1 -0
  113. package/es/utils/{hd-wallet.js → hd-wallet.mjs} +33 -34
  114. package/es/utils/hd-wallet.mjs.map +1 -0
  115. package/es/utils/{json-big.js → json-big.mjs} +1 -1
  116. package/es/utils/{json-big.js.map → json-big.mjs.map} +1 -1
  117. package/es/utils/{keystore.js → keystore.mjs} +63 -51
  118. package/es/utils/keystore.mjs.map +1 -0
  119. package/es/utils/{mptree.js → mptree.mjs} +21 -12
  120. package/es/utils/mptree.mjs.map +1 -0
  121. package/es/utils/{other.js → other.mjs} +2 -2
  122. package/es/utils/other.mjs.map +1 -0
  123. package/es/utils/{semver-satisfies.js → semver-satisfies.mjs} +1 -1
  124. package/es/utils/{semver-satisfies.js.map → semver-satisfies.mjs.map} +1 -1
  125. package/es/utils/{string.js → string.mjs} +1 -1
  126. package/es/utils/{string.js.map → string.mjs.map} +1 -1
  127. package/es/utils/{swagger.js → swagger.mjs} +49 -15
  128. package/es/utils/swagger.mjs.map +1 -0
  129. package/package.json +49 -58
  130. package/src/account/base.js +3 -1
  131. package/src/account/memory.js +13 -8
  132. package/src/account/multiple.js +16 -6
  133. package/src/ae/aens.js +52 -58
  134. package/src/ae/aepp.js +2 -2
  135. package/src/ae/contract.js +21 -154
  136. package/src/ae/index.js +6 -4
  137. package/src/ae/oracle.js +33 -14
  138. package/src/ae/universal.js +4 -2
  139. package/src/ae/wallet.js +2 -2
  140. package/src/chain/index.js +29 -6
  141. package/src/chain/node.js +95 -65
  142. package/src/channel/handlers.js +30 -20
  143. package/src/channel/index.js +46 -16
  144. package/src/channel/internal.js +35 -30
  145. package/src/contract/aci.js +376 -0
  146. package/src/contract/compiler.js +22 -113
  147. package/src/contract/ga/helpers.js +10 -6
  148. package/src/contract/ga/index.js +31 -24
  149. package/src/index.js +9 -8
  150. package/src/node-pool/index.js +13 -10
  151. package/src/node.js +11 -10
  152. package/src/tx/builder/constants.js +100 -0
  153. package/src/tx/builder/field-types.js +61 -0
  154. package/src/tx/builder/helpers.js +99 -103
  155. package/src/tx/builder/index.js +81 -40
  156. package/src/tx/builder/schema.js +44 -132
  157. package/src/tx/index.js +101 -12
  158. package/src/tx/tx-object.js +35 -15
  159. package/src/tx/tx.js +110 -35
  160. package/src/tx/validator.js +25 -5
  161. package/src/utils/aepp-wallet-communication/connection/browser-runtime.js +11 -5
  162. package/src/utils/aepp-wallet-communication/connection/browser-window-message.js +35 -13
  163. package/src/utils/aepp-wallet-communication/connection/index.js +2 -1
  164. package/src/utils/aepp-wallet-communication/content-script-bridge.js +14 -7
  165. package/src/utils/aepp-wallet-communication/helpers.js +6 -14
  166. package/src/utils/aepp-wallet-communication/rpc/aepp-rpc.js +106 -57
  167. package/src/utils/aepp-wallet-communication/rpc/rpc-client.js +24 -11
  168. package/src/utils/aepp-wallet-communication/rpc/wallet-rpc.js +95 -53
  169. package/src/utils/aepp-wallet-communication/schema.ts +80 -0
  170. package/src/utils/aepp-wallet-communication/wallet-detector.js +6 -2
  171. package/src/utils/amount-formatter.ts +4 -3
  172. package/src/utils/async-init.js +10 -6
  173. package/src/utils/bignumber.ts +1 -9
  174. package/src/utils/bytes.ts +3 -2
  175. package/src/utils/crypto-ts.ts +2 -2
  176. package/src/utils/crypto.js +11 -155
  177. package/src/utils/encoder.ts +101 -0
  178. package/src/utils/errors.ts +683 -0
  179. package/src/utils/hd-wallet.js +11 -26
  180. package/src/utils/keystore.js +57 -53
  181. package/src/utils/mptree.ts +12 -6
  182. package/src/utils/swagger.js +68 -45
  183. package/es/account/base.js.map +0 -1
  184. package/es/account/memory.js.map +0 -1
  185. package/es/account/multiple.js.map +0 -1
  186. package/es/ae/aens.js.map +0 -1
  187. package/es/ae/aepp.js.map +0 -1
  188. package/es/ae/contract.js +0 -308
  189. package/es/ae/contract.js.map +0 -1
  190. package/es/ae/index.js.map +0 -1
  191. package/es/ae/oracle.js.map +0 -1
  192. package/es/ae/universal.js.map +0 -1
  193. package/es/ae/wallet.js.map +0 -1
  194. package/es/chain/index.js.map +0 -1
  195. package/es/chain/node.js.map +0 -1
  196. package/es/channel/handlers.js.map +0 -1
  197. package/es/channel/index.js.map +0 -1
  198. package/es/channel/internal.js.map +0 -1
  199. package/es/contract/aci/helpers.js +0 -298
  200. package/es/contract/aci/helpers.js.map +0 -1
  201. package/es/contract/aci/index.js +0 -356
  202. package/es/contract/aci/index.js.map +0 -1
  203. package/es/contract/aci/transformation.js +0 -66
  204. package/es/contract/aci/transformation.js.map +0 -1
  205. package/es/contract/compiler.js +0 -242
  206. package/es/contract/compiler.js.map +0 -1
  207. package/es/contract/ga/helpers.js +0 -22
  208. package/es/contract/ga/helpers.js.map +0 -1
  209. package/es/contract/ga/index.js.map +0 -1
  210. package/es/contract/index.js +0 -158
  211. package/es/contract/index.js.map +0 -1
  212. package/es/index.js +0 -56
  213. package/es/index.js.map +0 -1
  214. package/es/node-pool/index.js.map +0 -1
  215. package/es/node.js.map +0 -1
  216. package/es/tx/builder/helpers.js +0 -318
  217. package/es/tx/builder/helpers.js.map +0 -1
  218. package/es/tx/builder/index.js.map +0 -1
  219. package/es/tx/builder/schema.js.map +0 -1
  220. package/es/tx/index.js.map +0 -1
  221. package/es/tx/tx-object.js.map +0 -1
  222. package/es/tx/tx.js.map +0 -1
  223. package/es/tx/validator.js.map +0 -1
  224. package/es/typings/blakejs/index.d.js +0 -2
  225. package/es/utils/aepp-wallet-communication/connection/browser-runtime.js.map +0 -1
  226. package/es/utils/aepp-wallet-communication/connection/browser-window-message.js.map +0 -1
  227. package/es/utils/aepp-wallet-communication/connection/index.js.map +0 -1
  228. package/es/utils/aepp-wallet-communication/content-script-bridge.js.map +0 -1
  229. package/es/utils/aepp-wallet-communication/helpers.js.map +0 -1
  230. package/es/utils/aepp-wallet-communication/rpc/aepp-rpc.js.map +0 -1
  231. package/es/utils/aepp-wallet-communication/rpc/rpc-client.js.map +0 -1
  232. package/es/utils/aepp-wallet-communication/rpc/wallet-rpc.js.map +0 -1
  233. package/es/utils/aepp-wallet-communication/schema.js +0 -107
  234. package/es/utils/aepp-wallet-communication/schema.js.map +0 -1
  235. package/es/utils/aepp-wallet-communication/wallet-detector.js.map +0 -1
  236. package/es/utils/amount-formatter.js.map +0 -1
  237. package/es/utils/async-init.js.map +0 -1
  238. package/es/utils/bignumber.js.map +0 -1
  239. package/es/utils/bytes.js.map +0 -1
  240. package/es/utils/crypto-ts.js.map +0 -1
  241. package/es/utils/crypto.js.map +0 -1
  242. package/es/utils/hd-wallet.js.map +0 -1
  243. package/es/utils/keystore.js.map +0 -1
  244. package/es/utils/mptree.js.map +0 -1
  245. package/es/utils/other.js.map +0 -1
  246. package/es/utils/swagger.js.map +0 -1
  247. package/src/contract/aci/index.js +0 -310
  248. package/src/contract/aci/transformation.js +0 -72
  249. package/src/contract/index.js +0 -159
  250. package/src/utils/aepp-wallet-communication/schema.js +0 -108
@@ -0,0 +1,159 @@
1
+ import _buffer from "buffer";
2
+ const {
3
+ Buffer: _Buffer
4
+ } = _buffer;
5
+
6
+ /*
7
+ * ISC License (ISC)
8
+ * Copyright (c) 2021 aeternity developers
9
+ *
10
+ * Permission to use, copy, modify, and/or distribute this software for any
11
+ * purpose with or without fee is hereby granted, provided that the above
12
+ * copyright notice and this permission notice appear in all copies.
13
+ *
14
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
15
+ * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
16
+ * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
17
+ * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
18
+ * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
19
+ * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
20
+ * PERFORMANCE OF THIS SOFTWARE.
21
+ */
22
+
23
+ /**
24
+ * Contract module - routines to interact with the æternity contract
25
+ *
26
+ * High level documentation of the contracts are available at
27
+ * https://github.com/aeternity/protocol/tree/master/contracts and
28
+ *
29
+ * @module @aeternity/aepp-sdk/es/ae/contract
30
+ * @export Contract
31
+ * @example import { Contract } from '@aeternity/aepp-sdk'
32
+ */
33
+ import Ae from "./index.mjs";
34
+ import ContractCompilerHttp from "../contract/compiler.mjs";
35
+ import getContractInstance from "../contract/aci.mjs";
36
+ import { AMOUNT, MIN_GAS_PRICE } from "../tx/builder/schema.mjs";
37
+ import { decode, produceNameId } from "../tx/builder/helpers.mjs";
38
+ /**
39
+ * Utility method to create a delegate signature for a contract
40
+ * @function
41
+ * @alias module:@aeternity/aepp-sdk/es/ae/contract
42
+ * @category async
43
+ * @param {String[]} ids The list of id's to prepend
44
+ * @param {Object} [opt={}] options
45
+ * @param {{ onAccount: String | Object }} [opt={}] opt Options
46
+ * @return {Promise<String>} Signature in hex representation
47
+ */
48
+
49
+ async function delegateSignatureCommon() {
50
+ let ids = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
51
+ let opt = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
52
+ const signature = await this.sign(_Buffer.concat([_Buffer.from(this.getNetworkId(opt)), ...ids.map(e => decode(e))]), opt);
53
+ return _Buffer.from(signature).toString('hex');
54
+ }
55
+ /**
56
+ * Helper to generate a signature to delegate pre-claim/claim/transfer/revoke of a name to
57
+ * a contract.
58
+ * @function
59
+ * @alias module:@aeternity/aepp-sdk/es/ae/contract
60
+ * @category async
61
+ * @param {String} contractId Contract Id
62
+ * @param {String} [name] The name
63
+ * @param {{ onAccount: String | Object }} [opt={}] opt Options
64
+ * @return {Promise<String>} Signature for delegation
65
+ * @example
66
+ * const aeSdk = await Universal({ ... })
67
+ * const contractId = 'ct_asd2ks...' // contract address
68
+ * const name = 'example.chain' // AENS name
69
+ * const onAccount = await aeSdk.address() // Sign with a specific account
70
+ * // Preclaim signature
71
+ * const params = { contractId }
72
+ * const preclaimSig = await aeSdk.createAensDelegationSignature(params, { onAccount: current })
73
+ * // Claim, transfer and revoke signature
74
+ * const params = { contractId, name }
75
+ * const aensDelegationSig = await contract.createAensDelegationSignature(
76
+ * params, name, { onAccount: current }
77
+ * )
78
+ */
79
+
80
+
81
+ async function createAensDelegationSignature(_ref) {
82
+ let {
83
+ contractId,
84
+ name
85
+ } = _ref;
86
+ let opt = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
87
+ return this.delegateSignatureCommon([await this.address(opt), ...(name ? [produceNameId(name)] : []), contractId], opt);
88
+ }
89
+ /**
90
+ * Helper to generate a signature to delegate register/extend/respond of a Oracle to a contract.
91
+ * @function
92
+ * @alias module:@aeternity/aepp-sdk/es/ae/contract
93
+ * @category async
94
+ * @param {String} contractId Contract Id
95
+ * @param {String} [queryId] Oracle Query Id
96
+ * @param {{ onAccount: String | Object }} [opt={}] opt Options
97
+ * @return {Promise<String>} Signature for delegation
98
+ * @example
99
+ * const aeSdk = await Universal({ ... })
100
+ * const contractId = 'ct_asd2ks...' // contract address
101
+ * const queryId = 'oq_...' // Oracle Query Id
102
+ * const onAccount = await aeSdk.address() // Sign with a specific account
103
+ * // Oracle register and extend signature
104
+ * const params = { contractId }
105
+ * const oracleDelegationSig = await contract.createOracleDelegationSignature(params, { onAccount })
106
+ * // Oracle respond signature
107
+ * const params = { contractId, queryId }
108
+ * const respondSig = await contract.createOracleDelegationSignature(params, queryId)
109
+ */
110
+
111
+
112
+ async function createOracleDelegationSignature(_ref2) {
113
+ let {
114
+ contractId,
115
+ queryId
116
+ } = _ref2;
117
+ let opt = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
118
+ return this.delegateSignatureCommon([queryId !== null && queryId !== void 0 ? queryId : await this.address(opt), contractId], opt);
119
+ }
120
+ /**
121
+ * Contract Stamp
122
+ *
123
+ * Provide contract implementation
124
+ * {@link module:@aeternity/aepp-sdk/es/ae--Ae} clients.
125
+ * @function
126
+ * @alias module:@aeternity/aepp-sdk/es/ae/contract
127
+ * @rtype Stamp
128
+ * @param {Object} [options={}] - Initializer object
129
+ * @return {Object} Contract instance
130
+ * @example
131
+ * import { Transaction, MemoryAccount, ChainNode } from '@aeternity/aepp-sdk
132
+ *
133
+ * const ContractWithAE = await Contract
134
+ * .compose(Transaction, MemoryAccount, ChainNode) // AE implementation
135
+ * const client = await ContractWithAe({ url, internalUrl, compilerUrl, keypair, ... })
136
+ *
137
+ */
138
+
139
+
140
+ export default Ae.compose(ContractCompilerHttp, {
141
+ methods: {
142
+ getContractInstance,
143
+ // Delegation for contract
144
+ delegateSignatureCommon,
145
+ // AENS
146
+ createAensDelegationSignature,
147
+ // Oracle
148
+ createOracleDelegationSignature
149
+ },
150
+ deepProps: {
151
+ Ae: {
152
+ defaults: {
153
+ gasPrice: MIN_GAS_PRICE,
154
+ amount: AMOUNT
155
+ }
156
+ }
157
+ }
158
+ });
159
+ //# sourceMappingURL=contract.mjs.map
@@ -0,0 +1 @@
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"}
@@ -22,12 +22,13 @@
22
22
  * @example import { Ae } from '@aeternity/aepp-sdk'
23
23
  */
24
24
  import stampit from '@stamp/it';
25
- import Tx from '../tx';
26
- import Chain from '../chain';
27
- import AccountBase from '../account/base';
28
- import TxBuilder from '../tx/builder';
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
29
  import BigNumber from 'bignumber.js';
30
- import { AE_AMOUNT_FORMATS } from '../utils/amount-formatter';
30
+ import { AE_AMOUNT_FORMATS } from "../utils/amount-formatter.mjs";
31
+ import { ArgumentError } from "../utils/errors.mjs";
31
32
  /**
32
33
  * Sign and post a transaction to the chain
33
34
  * @instance
@@ -35,7 +36,8 @@ import { AE_AMOUNT_FORMATS } from '../utils/amount-formatter';
35
36
  * @rtype (tx: String, options: Object) => Promise[String]
36
37
  * @param {String} tx - Transaction
37
38
  * @param {Object} [options={}] options - Options
38
- * @param {Object} [options.verify=true] verify - Verify transaction before broadcast, throw error if not valid
39
+ * @param {Object} [options.verify=true] - Verify transaction before broadcast, throw error if not
40
+ * valid
39
41
  * @return {Object} Transaction
40
42
  */
41
43
 
@@ -85,7 +87,7 @@ async function spend(amount, recipientIdOrName, options) {
85
87
  };
86
88
  return this.send(await this.spendTx({ ...opt,
87
89
  senderId: await this.address(opt),
88
- recipientId: await this.resolveName(recipientIdOrName, 'ak', opt),
90
+ recipientId: await this.resolveName(recipientIdOrName, 'account_pubkey', opt),
89
91
  amount
90
92
  }), opt);
91
93
  } // TODO: Rename to spendFraction
@@ -104,13 +106,13 @@ async function spend(amount, recipientIdOrName, options) {
104
106
 
105
107
  async function transferFunds(fraction, recipientIdOrName, options) {
106
108
  if (fraction < 0 || fraction > 1) {
107
- throw new Error(`Fraction should be a number between 0 and 1, got ${fraction}`);
109
+ throw new ArgumentError('fraction', 'a number between 0 and 1', fraction);
108
110
  }
109
111
 
110
112
  const opt = { ...this.Ae.defaults,
111
113
  ...options
112
114
  };
113
- const recipientId = await this.resolveName(recipientIdOrName, 'ak', opt);
115
+ const recipientId = await this.resolveName(recipientIdOrName, 'account_pubkey', opt);
114
116
  const senderId = await this.address(opt);
115
117
  const balance = new BigNumber(await this.balance(senderId));
116
118
  const desiredAmount = balance.times(fraction).integerValue(BigNumber.ROUND_HALF_UP);
@@ -202,4 +204,4 @@ const Ae = stampit(Tx, AccountBase, Chain, {
202
204
  }
203
205
  });
204
206
  export default Ae;
205
- //# sourceMappingURL=index.js.map
207
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
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"}
@@ -25,12 +25,12 @@
25
25
  * @export Oracle
26
26
  * @example import { Oracle } from '@aeternity/aepp-sdk'
27
27
  */
28
- import Ae from './';
29
- import { decodeBase64Check } from '../utils/crypto';
30
- import { pause } from '../utils/other';
31
- import { oracleQueryId, decode } from '../tx/builder/helpers';
32
- import { unpackTx } from '../tx/builder';
33
- import { ORACLE_TTL, QUERY_FEE, QUERY_TTL, RESPONSE_TTL } from '../tx/builder/schema';
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
34
  /**
35
35
  * Constructor for Oracle Object (helper object for using Oracle)
36
36
  * @alias module:@aeternity/aepp-sdk/es/ae/oracle
@@ -70,7 +70,7 @@ async function getOracleObject(oracleId) {
70
70
 
71
71
  function pollForQueries(oracleId, onQuery) {
72
72
  let {
73
- interval = 5000
73
+ interval = this._getPollInterval('microblock')
74
74
  } = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
75
75
  const knownQueryIds = new Set();
76
76
 
@@ -90,9 +90,20 @@ function pollForQueries(oracleId, onQuery) {
90
90
  if (queries.length) onQuery(queries);
91
91
  };
92
92
 
93
- checkNewQueries();
94
- const intervalId = setInterval(checkNewQueries, interval);
95
- return () => clearInterval(intervalId);
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
+ };
96
107
  }
97
108
  /**
98
109
  * Constructor for OracleQuery Object (helper object for using OracleQuery)
@@ -109,11 +120,17 @@ function pollForQueries(oracleId, onQuery) {
109
120
  async function getQueryObject(oracleId, queryId) {
110
121
  const q = await this.api.getOracleQueryByPubkeyAndQueryId(oracleId, queryId);
111
122
  return { ...q,
112
- decodedQuery: decodeBase64Check(q.query.slice(3)).toString(),
113
- decodedResponse: decodeBase64Check(q.response.slice(3)).toString(),
123
+ decodedQuery: decode(q.query).toString(),
124
+ decodedResponse: decode(q.response).toString(),
114
125
  respond: this.respondToQuery.bind(this, oracleId, queryId),
115
126
  pollForResponse: this.pollForQueryResponse.bind(this, oracleId, queryId),
116
- decode: data => decodeBase64Check(data.slice(3))
127
+
128
+ /**
129
+ * @deprecated use TxBuilderHelper.decode instead
130
+ * @param data
131
+ * @returns {Buffer}
132
+ */
133
+ decode: data => decode(data)
117
134
  };
118
135
  }
119
136
  /**
@@ -134,7 +151,7 @@ async function getQueryObject(oracleId, queryId) {
134
151
  export async function pollForQueryResponse(oracleId, queryId) {
135
152
  let {
136
153
  attempts = 20,
137
- interval = 5000
154
+ interval = this._getPollInterval('microblock')
138
155
  } = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
139
156
 
140
157
  for (let i = 0; i < attempts; i++) {
@@ -149,7 +166,7 @@ export async function pollForQueryResponse(oracleId, queryId) {
149
166
  }
150
167
  }
151
168
 
152
- throw new Error(`Giving up after ${(attempts - 1) * interval}ms`);
169
+ throw new RequestTimedOutError((attempts - 1) * interval);
153
170
  }
154
171
  /**
155
172
  * Register oracle
@@ -160,10 +177,10 @@ export async function pollForQueryResponse(oracleId, queryId) {
160
177
  * @param {String} queryFormat Format of query
161
178
  * @param {String} responseFormat Format of query response
162
179
  * @param {Object} [options={}] Options
163
- * @param {String|Number} [options.queryFee] queryFee Oracle query Fee
164
- * @param {Object} [options.oracleTtl] oracleTtl OracleTtl object {type: 'delta|block', value: 'number'}
165
- * @param {Number} [options.abiVersion] abiVersion Always 0 (do not use virtual machine)
166
- * @param {Number|String} [options.fee] fee Transaction fee
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
167
184
  * @param {Number|String} [options.ttl] Transaction time to leave
168
185
  * @return {Promise<Object>} Oracle object
169
186
  */
@@ -319,4 +336,4 @@ const Oracle = Ae.compose({
319
336
  }
320
337
  });
321
338
  export default Oracle;
322
- //# sourceMappingURL=oracle.js.map
339
+ //# sourceMappingURL=oracle.mjs.map
@@ -0,0 +1 @@
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"}
@@ -21,14 +21,14 @@
21
21
  * @export Universal
22
22
  * @example import { Universal } from '@aeternity/aepp-sdk'
23
23
  */
24
- import Ae from './';
25
- import Chain from '../chain/node';
26
- import Aens from './aens';
27
- import Transaction from '../tx/tx';
28
- import Oracle from './oracle';
29
- import GeneralizeAccount from '../contract/ga';
30
- import AccountMultiple from '../account/multiple';
31
- import Contract from './contract';
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
32
  /**
33
33
  * Universal Stamp
34
34
  *
@@ -41,5 +41,5 @@ import Contract from './contract';
41
41
  * @return {Object} Universal instance
42
42
  */
43
43
 
44
- export default Ae.compose(AccountMultiple, Chain, Transaction, Aens, Contract, Oracle, GeneralizeAccount);
45
- //# sourceMappingURL=universal.js.map
44
+ export default Ae.compose(AccountMultiple, Chain, Transaction, Aens, Contract, Oracle, GeneralizedAccount);
45
+ //# sourceMappingURL=universal.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/ae/universal.js"],"names":["Ae","Chain","Aens","Transaction","Oracle","GeneralizedAccount","AccountMultiple","Contract","compose"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;OAEOA,E;OACAC,K;OACAC,I;OACAC,W;OACAC,M;OACAC,kB;OACAC,e;OACAC,Q;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,eAAeP,EAAE,CAACQ,OAAH,CACbF,eADa,EACIL,KADJ,EACWE,WADX,EACwBD,IADxB,EAC8BK,QAD9B,EACwCH,MADxC,EACgDC,kBADhD,CAAf","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 * Universal module\n * @module @aeternity/aepp-sdk/es/ae/universal\n * @export Universal\n * @example import { Universal } from '@aeternity/aepp-sdk'\n */\n\nimport Ae from './'\nimport Chain from '../chain/node'\nimport Aens from './aens'\nimport Transaction from '../tx/tx'\nimport Oracle from './oracle'\nimport GeneralizedAccount from '../contract/ga'\nimport AccountMultiple from '../account/multiple'\nimport Contract from './contract'\n\n/**\n * Universal Stamp\n *\n * Universal provides Ae base functionality with Contract and Aens\n * {@link module:@aeternity/aepp-sdk/es/ae--Ae} clients.\n * @function\n * @alias module:@aeternity/aepp-sdk/es/ae/universal\n * @rtype Stamp\n * @param {Object} [options={}] - Initializer object\n * @return {Object} Universal instance\n */\nexport default Ae.compose(\n AccountMultiple, Chain, Transaction, Aens, Contract, Oracle, GeneralizedAccount\n)\n"],"file":"universal.mjs"}
@@ -21,14 +21,14 @@
21
21
  * @export Wallet
22
22
  * @example import { RpcWallet } from '@aeternity/aepp-sdk'
23
23
  */
24
- import Ae from './';
25
- import Chain from '../chain/node';
26
- import Tx from '../tx/tx';
27
- import Contract from './contract';
28
- import GeneralizeAccount from '../contract/ga';
29
- import WalletRpc from '../utils/aepp-wallet-communication/rpc/wallet-rpc';
30
- import Oracle from './oracle';
31
- import Aens from './aens';
24
+ import Ae from "./index.mjs";
25
+ import Chain from "../chain/node.mjs";
26
+ import Tx from "../tx/tx.mjs";
27
+ import Contract from "./contract.mjs";
28
+ import GeneralizedAccount from "../contract/ga/index.mjs";
29
+ import WalletRpc from "../utils/aepp-wallet-communication/rpc/wallet-rpc.mjs";
30
+ import Oracle from "./oracle.mjs";
31
+ import Aens from "./aens.mjs";
32
32
  /**
33
33
  * Wallet Stamp
34
34
  * @function
@@ -46,5 +46,5 @@ import Aens from './aens';
46
46
  })
47
47
  */
48
48
 
49
- export default Ae.compose(WalletRpc, Tx, Contract, Oracle, Aens, GeneralizeAccount, Chain);
50
- //# sourceMappingURL=wallet.js.map
49
+ export default Ae.compose(WalletRpc, Tx, Contract, Oracle, Aens, GeneralizedAccount, Chain);
50
+ //# sourceMappingURL=wallet.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/ae/wallet.js"],"names":["Ae","Chain","Tx","Contract","GeneralizedAccount","WalletRpc","Oracle","Aens","compose"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;OAEOA,E;OACAC,K;OACAC,E;OACAC,Q;OACAC,kB;OACAC,S;OACAC,M;OACAC,I;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,eAAeP,EAAE,CAACQ,OAAH,CAAWH,SAAX,EAAsBH,EAAtB,EAA0BC,QAA1B,EAAoCG,MAApC,EAA4CC,IAA5C,EAAkDH,kBAAlD,EAAsEH,KAAtE,CAAf","sourcesContent":["/*\n * ISC License (ISC)\n * Copyright (c) 2018 aeternity developers\n *\n * Permission to use, copy, modify, and/or distribute this software for any\n * purpose with or without fee is hereby granted, provided that the above\n * copyright notice and this permission notice appear in all copies.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\n * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\n * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\n * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\n * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\n * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\n * PERFORMANCE OF THIS SOFTWARE.\n */\n\n/**\n * Wallet module\n * @module @aeternity/aepp-sdk/es/ae/wallet\n * @export Wallet\n * @example import { RpcWallet } from '@aeternity/aepp-sdk'\n */\n\nimport Ae from './'\nimport Chain from '../chain/node'\nimport Tx from '../tx/tx'\nimport Contract from './contract'\nimport GeneralizedAccount from '../contract/ga'\nimport WalletRpc from '../utils/aepp-wallet-communication/rpc/wallet-rpc'\nimport Oracle from './oracle'\nimport Aens from './aens'\n\n/**\n * Wallet Stamp\n * @function\n * @alias module:@aeternity/aepp-sdk/es/ae/wallet\n * @rtype Stamp\n * @param {Object} [options={}] - Initializer object\n * @param {String} options.url - Node instance to connect to\n * @param {Account[]} [options.accounts] - Accounts to initialize with\n * @param {String} [options.account] - Public key of account to preselect\n * @return {Object} Wallet instance\n * @example Wallet({\n url: 'https://testnet.aeternity.io/',\n accounts: [MemoryAccount({keypair})],\n address: keypair.publicKey,\n})\n */\nexport default Ae.compose(WalletRpc, Tx, Contract, Oracle, Aens, GeneralizedAccount, Chain)\n"],"file":"wallet.mjs"}
@@ -0,0 +1,74 @@
1
+ export declare const VERSION = 1;
2
+ export declare const enum MESSAGE_DIRECTION {
3
+ to_waellet = "to_waellet",
4
+ to_aepp = "to_aepp"
5
+ }
6
+ export declare const enum WALLET_TYPE {
7
+ window = "window",
8
+ extension = "extension"
9
+ }
10
+ export declare const enum SUBSCRIPTION_TYPES {
11
+ subscribe = "subscribe",
12
+ unsubscribe = "unsubscribe"
13
+ }
14
+ export declare const enum METHODS {
15
+ readyToConnect = "connection.announcePresence",
16
+ updateAddress = "address.update",
17
+ address = "address.get",
18
+ connect = "connection.open",
19
+ sign = "transaction.sign",
20
+ signMessage = "message.sign",
21
+ subscribeAddress = "address.subscribe",
22
+ updateNetwork = "networkId.update",
23
+ closeConnection = "connection.close"
24
+ }
25
+ export declare const enum RPC_STATUS {
26
+ CONNECTED = "CONNECTED",
27
+ NODE_BINDED = "NODE_BINDED",
28
+ DISCONNECTED = "DISCONNECTED",
29
+ CONNECTION_REJECTED = "CONNECTION_REJECTED",
30
+ WAITING_FOR_CONNECTION_APPROVE = "WAITING_FOR_CONNECTION_APPROVE",
31
+ WAITING_FOR_CONNECTION_REQUEST = "WAITING_FOR_CONNECTION_REQUEST"
32
+ }
33
+ export declare const ERRORS: {
34
+ broadcastFailed: (error?: {}) => {
35
+ code: number;
36
+ data: {};
37
+ message: string;
38
+ };
39
+ invalidTransaction: (error?: {}) => {
40
+ code: number;
41
+ data: {};
42
+ message: string;
43
+ };
44
+ rejectedByUser: (error?: {}) => {
45
+ code: number;
46
+ data: {};
47
+ message: string;
48
+ };
49
+ connectionDeny: (error?: {}) => {
50
+ code: number;
51
+ data: {};
52
+ message: string;
53
+ };
54
+ permissionDeny: (address: string) => {
55
+ code: number;
56
+ message: string;
57
+ };
58
+ internalError: (message: string) => {
59
+ code: number;
60
+ message: string;
61
+ };
62
+ notAuthorize: () => {
63
+ code: number;
64
+ message: string;
65
+ };
66
+ unsupportedProtocol: () => {
67
+ code: number;
68
+ message: string;
69
+ };
70
+ unsupportedNetwork: () => {
71
+ code: number;
72
+ message: string;
73
+ };
74
+ };
package/es/bignumber.d.ts CHANGED
@@ -1,15 +1,9 @@
1
1
  /**
2
2
  * Big Number Helpers
3
3
  * @module @aeternity/aepp-sdk/es/utils/bignumber
4
- * @example import { parseBigNumber, isBigNumber, ceil } from '@aeternity/aepp-sdk/es/utils/bignumber'
4
+ * @example import { isBigNumber, ceil } from '@aeternity/aepp-sdk/es/utils/bignumber'
5
5
  */
6
6
  import BigNumber from 'bignumber.js';
7
- /**
8
- * Convert number to string
9
- * @param {String|Number|BigNumber} number number to convert
10
- * @return {String}
11
- */
12
- export declare const parseBigNumber: (number: string | number | BigNumber) => string;
13
7
  /**
14
8
  * Check if value is BigNumber, Number or number string representation
15
9
  * @param {String|Number|BigNumber} number number to convert