@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,30 @@
1
+ import BigNumber from 'bignumber.js';
2
+ import { MAX_AUTH_FUN_GAS } from "../../tx/builder/schema.mjs";
3
+ import { InvalidAuthDataError } from "../../utils/errors.mjs";
4
+ export const prepareGaParams = ins => async (authData, authFnName) => {
5
+ if (typeof authData !== 'object') throw new InvalidAuthDataError('AuthData must be an object');
6
+
7
+ if (authData.gas && BigNumber(authData.gas).gt(MAX_AUTH_FUN_GAS)) {
8
+ throw new InvalidAuthDataError(`the maximum gas value for ga authFun is ${MAX_AUTH_FUN_GAS}, got ${authData.gas}`);
9
+ }
10
+
11
+ const gas = authData.gas || MAX_AUTH_FUN_GAS;
12
+
13
+ if (authData.callData) {
14
+ if (authData.callData.split('_')[0] !== 'cb') throw new InvalidAuthDataError('Auth data must be a string with "cb" prefix.');
15
+ return {
16
+ authCallData: authData.callData,
17
+ gas
18
+ };
19
+ }
20
+
21
+ if (!authData.source || !authData.args) throw new InvalidAuthDataError('Auth data must contain source code and arguments.');
22
+ const contract = await ins.getContractInstance({
23
+ source: authData.source
24
+ });
25
+ return {
26
+ authCallData: contract.calldata.encode(contract._name, authFnName, authData.args),
27
+ gas
28
+ };
29
+ };
30
+ //# sourceMappingURL=helpers.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/contract/ga/helpers.js"],"names":["BigNumber","MAX_AUTH_FUN_GAS","InvalidAuthDataError","prepareGaParams","ins","authData","authFnName","gas","gt","callData","split","authCallData","source","args","contract","getContractInstance","calldata","encode","_name"],"mappings":"AAAA,OAAOA,SAAP,MAAsB,cAAtB;SACSC,gB;SACAC,oB;AAET,OAAO,MAAMC,eAAe,GAAIC,GAAD,IAAS,OAAOC,QAAP,EAAiBC,UAAjB,KAAgC;AACtE,MAAI,OAAOD,QAAP,KAAoB,QAAxB,EAAkC,MAAM,IAAIH,oBAAJ,CAAyB,4BAAzB,CAAN;;AAClC,MAAIG,QAAQ,CAACE,GAAT,IAAgBP,SAAS,CAACK,QAAQ,CAACE,GAAV,CAAT,CAAwBC,EAAxB,CAA2BP,gBAA3B,CAApB,EAAkE;AAAE,UAAM,IAAIC,oBAAJ,CAA0B,2CAA0CD,gBAAiB,SAAQI,QAAQ,CAACE,GAAI,EAA1G,CAAN;AAAoH;;AACxL,QAAMA,GAAG,GAAGF,QAAQ,CAACE,GAAT,IAAgBN,gBAA5B;;AACA,MAAII,QAAQ,CAACI,QAAb,EAAuB;AACrB,QAAIJ,QAAQ,CAACI,QAAT,CAAkBC,KAAlB,CAAwB,GAAxB,EAA6B,CAA7B,MAAoC,IAAxC,EAA8C,MAAM,IAAIR,oBAAJ,CAAyB,8CAAzB,CAAN;AAC9C,WAAO;AAAES,MAAAA,YAAY,EAAEN,QAAQ,CAACI,QAAzB;AAAmCF,MAAAA;AAAnC,KAAP;AACD;;AACD,MAAI,CAACF,QAAQ,CAACO,MAAV,IAAoB,CAACP,QAAQ,CAACQ,IAAlC,EAAwC,MAAM,IAAIX,oBAAJ,CAAyB,mDAAzB,CAAN;AACxC,QAAMY,QAAQ,GAAG,MAAMV,GAAG,CAACW,mBAAJ,CAAwB;AAAEH,IAAAA,MAAM,EAAEP,QAAQ,CAACO;AAAnB,GAAxB,CAAvB;AACA,SAAO;AACLD,IAAAA,YAAY,EAAEG,QAAQ,CAACE,QAAT,CAAkBC,MAAlB,CAAyBH,QAAQ,CAACI,KAAlC,EAAyCZ,UAAzC,EAAqDD,QAAQ,CAACQ,IAA9D,CADT;AAELN,IAAAA;AAFK,GAAP;AAID,CAdM","sourcesContent":["import BigNumber from 'bignumber.js'\nimport { MAX_AUTH_FUN_GAS } from '../../tx/builder/schema'\nimport { InvalidAuthDataError } from '../../utils/errors'\n\nexport const prepareGaParams = (ins) => async (authData, authFnName) => {\n if (typeof authData !== 'object') throw new InvalidAuthDataError('AuthData must be an object')\n if (authData.gas && BigNumber(authData.gas).gt(MAX_AUTH_FUN_GAS)) { throw new InvalidAuthDataError(`the maximum gas value for ga authFun is ${MAX_AUTH_FUN_GAS}, got ${authData.gas}`) }\n const gas = authData.gas || MAX_AUTH_FUN_GAS\n if (authData.callData) {\n if (authData.callData.split('_')[0] !== 'cb') throw new InvalidAuthDataError('Auth data must be a string with \"cb\" prefix.')\n return { authCallData: authData.callData, gas }\n }\n if (!authData.source || !authData.args) throw new InvalidAuthDataError('Auth data must contain source code and arguments.')\n const contract = await ins.getContractInstance({ source: authData.source })\n return {\n authCallData: contract.calldata.encode(contract._name, authFnName, authData.args),\n gas\n }\n}\n"],"file":"helpers.mjs"}
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  * ISC License (ISC)
3
- * Copyright (c) 2018 aeternity developers
3
+ * Copyright (c) 2021 aeternity developers
4
4
  *
5
5
  * Permission to use, copy, modify, and/or distribute this software for any
6
6
  * purpose with or without fee is hereby granted, provided that the above
@@ -16,49 +16,52 @@
16
16
  */
17
17
 
18
18
  /**
19
- * Generalize Account module - routines to use generalize account
19
+ * Generalized Account module - routines to use generalized account
20
20
  *
21
21
  * @module @aeternity/aepp-sdk/es/contract/ga
22
- * @export GeneralizeAccount
23
- * @example import { GeneralizeAccount } from '@aeternity/aepp-sdk'
22
+ * @export GeneralizedAccount
23
+ * @example import { GeneralizedAccount } from '@aeternity/aepp-sdk'
24
24
  */
25
- import { ContractAPI } from '../../ae/contract';
26
- import { TX_TYPE } from '../../tx/builder/schema';
27
- import { buildTx, unpackTx } from '../../tx/builder';
28
- import { prepareGaParams } from './helpers';
29
- import { hash } from '../../utils/crypto';
25
+ import Contract from "../../ae/contract.mjs";
26
+ import { TX_TYPE } from "../../tx/builder/schema.mjs";
27
+ import { buildTx, unpackTx } from "../../tx/builder/index.mjs";
28
+ import { prepareGaParams } from "./helpers.mjs";
29
+ import { hash } from "../../utils/crypto.mjs";
30
+ import { IllegalArgumentError, MissingParamError } from "../../utils/errors.mjs";
30
31
  /**
31
- * GeneralizeAccount Stamp
32
+ * GeneralizedAccount Stamp
32
33
  *
33
- * Provide Generalize Account implementation
34
+ * Provide Generalized Account implementation
34
35
  * {@link module:@aeternity/aepp-sdk/es/contract/ga} clients.
35
36
  * @function
36
37
  * @alias module:@aeternity/aepp-sdk/es/contract/ga
37
38
  * @rtype Stamp
38
39
  * @param {Object} [options={}] - Initializer object
39
- * @return {Object} GeneralizeAccount instance
40
+ * @return {Object} GeneralizedAccount instance
40
41
  * @example
41
42
  * const authContract = ``
42
- * await client.createGeneralizeAccount(authFnName, authContract, [...authFnArguments]
43
+ * await aeSdk.createGeneralizedAccount(authFnName, authContract, [...authFnArguments]
43
44
  * // Make spend using GA
44
45
  * const callData = 'cb_...' // encoded call data for auth contract
45
- * await client.spend(10000, receiverPub, { authData: { callData } })
46
+ * await aeSdk.spend(10000, receiverPub, { authData: { callData } })
46
47
  * // or
47
- * await client.spend(10000, receiverPub, { authData: { source: authContract, args: [...authContractArgs] } }) // sdk will prepare callData itself
48
+ * await aeSdk.spend(10000, receiverPub, {
49
+ * authData: { source: authContract, args: [...authContractArgs] }
50
+ * }) // sdk will prepare callData itself
48
51
  */
49
52
 
50
- export const GeneralizeAccount = ContractAPI.compose({
53
+ export const GeneralizedAccount = Contract.compose({
51
54
  methods: {
52
- createGeneralizeAccount,
55
+ createGeneralizedAccount,
53
56
  createMetaTx,
54
57
  isGA
55
58
  }
56
59
  });
57
- export default GeneralizeAccount;
60
+ export default GeneralizedAccount;
58
61
  /**
59
62
  * @alias module:@aeternity/aepp-sdk/es/contract/ga
60
63
  * @function
61
- * Check if account is GA account
64
+ * Check if account is GA
62
65
  * @param {String} address - Account address
63
66
  * @return {Boolean}
64
67
  */
@@ -70,32 +73,41 @@ async function isGA(address) {
70
73
  return !!contractId;
71
74
  }
72
75
  /**
73
- * Convert current account to GA account
76
+ * Convert current account to GA
74
77
  * @alias module:@aeternity/aepp-sdk/es/contract/ga
75
78
  * @function
76
79
  * @param {String} authFnName - Authorization function name
77
80
  * @param {String} source - Auth contract source code
78
81
  * @param {Array} [args] - init arguments
79
82
  * @param {Object} [options] - Options
80
- * @return {Promise<Readonly<{result: *, owner: *, createdAt: Date, address, rawTx: *, transaction: *}>>}
83
+ * @return {Promise<Readonly<{
84
+ * result: *, owner: *, address, rawTx: *, transaction: *
85
+ * }>>}
81
86
  */
82
87
 
83
88
 
84
- async function createGeneralizeAccount(authFnName, source) {
89
+ async function createGeneralizedAccount(authFnName, source) {
90
+ var _opt$gas;
91
+
85
92
  let args = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
86
93
  let options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
87
94
  const opt = { ...this.Ae.defaults,
88
95
  ...options
89
96
  };
90
97
  const ownerId = await this.address(opt);
91
- if (await this.isGA(ownerId)) throw new Error(`Account ${ownerId} is already GA`);
98
+ if (await this.isGA(ownerId)) throw new IllegalArgumentError(`Account ${ownerId} is already GA`);
99
+ const contract = await this.getContractInstance({
100
+ source
101
+ });
102
+ await contract.compile();
92
103
  const {
93
104
  tx,
94
105
  contractId
95
106
  } = await this.gaAttachTx({ ...opt,
107
+ gas: (_opt$gas = opt.gas) !== null && _opt$gas !== void 0 ? _opt$gas : await contract._estimateGas('init', args, opt),
96
108
  ownerId,
97
- code: (await this.contractCompile(source)).bytecode,
98
- callData: await this.contractEncodeCallDataAPI(source, 'init', args),
109
+ code: contract.bytecode,
110
+ callData: contract.calldata.encode(contract._name, 'init', args),
99
111
  authFun: hash(authFnName)
100
112
  });
101
113
  const {
@@ -128,7 +140,7 @@ const wrapInEmptySignedTx = tx => buildTx({
128
140
 
129
141
  async function createMetaTx(rawTransaction, authData, authFnName) {
130
142
  let options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
131
- if (!authData) throw new Error('authData is required'); // Check if authData is callData or if it's an object prepare a callData from source and args
143
+ if (!authData) throw new MissingParamError('authData is required'); // Check if authData is callData or if it's an object prepare a callData from source and args
132
144
 
133
145
  const {
134
146
  authCallData,
@@ -146,7 +158,7 @@ async function createMetaTx(rawTransaction, authData, authFnName) {
146
158
  tx: wrappedTx.txObject
147
159
  },
148
160
  gaId: await this.address(opt),
149
- abiVersion: abiVersion,
161
+ abiVersion,
150
162
  authData: authCallData,
151
163
  gas,
152
164
  vsn: 2
@@ -163,4 +175,4 @@ async function createMetaTx(rawTransaction, authData, authFnName) {
163
175
  });
164
176
  return wrapInEmptySignedTx(metaTxRlp).tx;
165
177
  }
166
- //# sourceMappingURL=index.js.map
178
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/contract/ga/index.js"],"names":["Contract","TX_TYPE","buildTx","unpackTx","prepareGaParams","hash","IllegalArgumentError","MissingParamError","GeneralizedAccount","compose","methods","createGeneralizedAccount","createMetaTx","isGA","address","contractId","getAccount","authFnName","source","args","options","opt","Ae","defaults","ownerId","contract","getContractInstance","compile","tx","gaAttachTx","gas","_estimateGas","code","bytecode","callData","calldata","encode","_name","authFun","transaction","rawTx","send","Object","freeze","owner","gaContractId","wrapInEmptySignedTx","encodedTx","signatures","signed","rawTransaction","authData","authCallData","abiVersion","getVmVersion","contractCall","wrappedTx","params","txObject","gaId","vsn","fee","prepareTxParams","gaMeta","rlpEncoded","metaTxRlp"],"mappings":"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","sourcesContent":["/*\n * ISC License (ISC)\n * Copyright (c) 2021 aeternity developers\n *\n * Permission to use, copy, modify, and/or distribute this software for any\n * purpose with or without fee is hereby granted, provided that the above\n * copyright notice and this permission notice appear in all copies.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\n * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\n * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\n * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\n * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\n * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\n * PERFORMANCE OF THIS SOFTWARE.\n */\n\n/**\n * Generalized Account module - routines to use generalized account\n *\n * @module @aeternity/aepp-sdk/es/contract/ga\n * @export GeneralizedAccount\n * @example import { GeneralizedAccount } from '@aeternity/aepp-sdk'\n */\nimport Contract from '../../ae/contract'\nimport { TX_TYPE } from '../../tx/builder/schema'\nimport { buildTx, unpackTx } from '../../tx/builder'\nimport { prepareGaParams } from './helpers'\nimport { hash } from '../../utils/crypto'\nimport { IllegalArgumentError, MissingParamError } from '../../utils/errors'\n\n/**\n * GeneralizedAccount Stamp\n *\n * Provide Generalized Account implementation\n * {@link module:@aeternity/aepp-sdk/es/contract/ga} clients.\n * @function\n * @alias module:@aeternity/aepp-sdk/es/contract/ga\n * @rtype Stamp\n * @param {Object} [options={}] - Initializer object\n * @return {Object} GeneralizedAccount instance\n * @example\n * const authContract = ``\n * await aeSdk.createGeneralizedAccount(authFnName, authContract, [...authFnArguments]\n * // Make spend using GA\n * const callData = 'cb_...' // encoded call data for auth contract\n * await aeSdk.spend(10000, receiverPub, { authData: { callData } })\n * // or\n * await aeSdk.spend(10000, receiverPub, {\n * authData: { source: authContract, args: [...authContractArgs] }\n * }) // sdk will prepare callData itself\n */\nexport const GeneralizedAccount = Contract.compose({\n methods: {\n createGeneralizedAccount,\n createMetaTx,\n isGA\n }\n})\nexport default GeneralizedAccount\n\n/**\n * @alias module:@aeternity/aepp-sdk/es/contract/ga\n * @function\n * Check if account is GA\n * @param {String} address - Account address\n * @return {Boolean}\n */\nasync function isGA (address) {\n const { contractId } = await this.getAccount(address)\n return !!contractId\n}\n\n/**\n * Convert current account to GA\n * @alias module:@aeternity/aepp-sdk/es/contract/ga\n * @function\n * @param {String} authFnName - Authorization function name\n * @param {String} source - Auth contract source code\n * @param {Array} [args] - init arguments\n * @param {Object} [options] - Options\n * @return {Promise<Readonly<{\n * result: *, owner: *, address, rawTx: *, transaction: *\n * }>>}\n */\nasync function createGeneralizedAccount (authFnName, source, args = [], options = {}) {\n const opt = { ...this.Ae.defaults, ...options }\n const ownerId = await this.address(opt)\n if (await this.isGA(ownerId)) throw new IllegalArgumentError(`Account ${ownerId} is already GA`)\n\n const contract = await this.getContractInstance({ source })\n await contract.compile()\n const { tx, contractId } = await this.gaAttachTx({\n ...opt,\n gas: opt.gas ?? await contract._estimateGas('init', args, opt),\n ownerId,\n code: contract.bytecode,\n callData: contract.calldata.encode(contract._name, 'init', args),\n authFun: hash(authFnName)\n })\n\n const { hash: transaction, rawTx } = await this.send(tx, opt)\n\n return Object.freeze({\n owner: ownerId,\n transaction,\n rawTx,\n gaContractId: contractId\n })\n}\n\nconst wrapInEmptySignedTx = (tx) => buildTx({ encodedTx: tx, signatures: [] }, TX_TYPE.signed)\n\n/**\n * Create a metaTx transaction\n * @alias module:@aeternity/aepp-sdk/es/contract/ga\n * @function\n * @param {String} rawTransaction Inner transaction\n * @param {Object} authData Object with gaMeta params\n * @param {String} authFnName - Authorization function name\n * @param {Object} options - Options\n * @return {String}\n */\nasync function createMetaTx (rawTransaction, authData, authFnName, options = {}) {\n if (!authData) throw new MissingParamError('authData is required')\n // Check if authData is callData or if it's an object prepare a callData from source and args\n const { authCallData, gas } = await prepareGaParams(this)(authData, authFnName)\n const opt = { ...this.Ae.defaults, ...options }\n const { abiVersion } = await this.getVmVersion(TX_TYPE.contractCall)\n const wrappedTx = wrapInEmptySignedTx(unpackTx(rawTransaction))\n const params = {\n ...opt,\n tx: {\n ...wrappedTx,\n tx: wrappedTx.txObject\n },\n gaId: await this.address(opt),\n abiVersion,\n authData: authCallData,\n gas,\n vsn: 2\n }\n const { fee } = await this.prepareTxParams(TX_TYPE.gaMeta, params)\n const { rlpEncoded: metaTxRlp } = buildTx(\n { ...params, fee: `${fee}` },\n TX_TYPE.gaMeta,\n { vsn: 2 }\n )\n return wrapInEmptySignedTx(metaTxRlp).tx\n}\n"],"file":"index.mjs"}
@@ -0,0 +1,26 @@
1
+ /// <reference types="node" />
2
+ /**
3
+ * Calculate SHA256 hash of `input`
4
+ * @rtype (input: String) => hash: String
5
+ * @param {Buffer|String} input - Data to hash
6
+ * @return {String} Hash
7
+ */
8
+ export declare function sha256hash(input: Buffer | string): Buffer;
9
+ /**
10
+ * Decode data using the default encoding/decoding algorithm
11
+ * @function
12
+ * @alias module:@aeternity/aepp-sdk/es/tx/builder/helpers
13
+ * @param {string} data An Base58/64check encoded and prefixed string (ex tx_..., sg_..., ak_....)
14
+ * @param {string} [requiredPrefix] Ensure that data have this prefix
15
+ * @return {Buffer} Decoded data
16
+ */
17
+ export declare function decode(data: string, requiredPrefix?: string): Buffer;
18
+ /**
19
+ * Encode data using the default encoding/decoding algorithm
20
+ * @function
21
+ * @alias module:@aeternity/aepp-sdk/es/tx/builder/helpers
22
+ * @param {Buffer|String} data An decoded data
23
+ * @param {string} type Prefix of Transaction
24
+ * @return {String} Encoded string Base58check or Base64check data
25
+ */
26
+ export declare function encode(data: Buffer | string, type: string): string;
package/es/errors.d.ts ADDED
@@ -0,0 +1,284 @@
1
+ /**
2
+ * Error module
3
+ * @module @aeternity/aepp-sdk/es/utils/errors
4
+ * @example import { BytecodeMismatchError } from '@aeternity/aepp-sdk'
5
+ */
6
+ /**
7
+ * aepp-sdk originated error
8
+ */
9
+ export declare abstract class BaseError extends Error {
10
+ constructor(message: string);
11
+ }
12
+ export declare class AccountError extends BaseError {
13
+ constructor(message: string);
14
+ }
15
+ export declare class AensError extends BaseError {
16
+ constructor(message: string);
17
+ }
18
+ export declare class AeppError extends BaseError {
19
+ constructor(message: string);
20
+ }
21
+ export declare class ChannelError extends BaseError {
22
+ constructor(message: string);
23
+ }
24
+ export declare class CompilerError extends BaseError {
25
+ constructor(message: string);
26
+ }
27
+ export declare class ContractError extends BaseError {
28
+ constructor(message: string);
29
+ }
30
+ export declare class CryptographyError extends BaseError {
31
+ constructor(message: string);
32
+ }
33
+ export declare class NodeError extends BaseError {
34
+ constructor(message: string);
35
+ }
36
+ export declare class TransactionError extends BaseError {
37
+ constructor(message: string);
38
+ }
39
+ export declare class WalletError extends BaseError {
40
+ constructor(message: string);
41
+ }
42
+ export declare class ArgumentError extends BaseError {
43
+ constructor(argumentName: string, requirement: string, argumentValue: any);
44
+ }
45
+ export declare class IllegalArgumentError extends CryptographyError {
46
+ constructor(message: string);
47
+ }
48
+ export declare class ArgumentCountMismatchError extends BaseError {
49
+ constructor(functionName: string, requiredCount: number, providedCount: number);
50
+ }
51
+ export declare class InsufficientBalanceError extends BaseError {
52
+ constructor(message: string);
53
+ }
54
+ export declare class InvalidDenominationError extends BaseError {
55
+ constructor(message: string);
56
+ }
57
+ export declare class InvalidNameError extends BaseError {
58
+ constructor(message: string);
59
+ }
60
+ export declare class MissingParamError extends BaseError {
61
+ constructor(message: string);
62
+ }
63
+ export declare class NoBrowserFoundError extends BaseError {
64
+ constructor();
65
+ }
66
+ export declare class NoSerializerFoundError extends BaseError {
67
+ constructor();
68
+ }
69
+ export declare class RequestTimedOutError extends BaseError {
70
+ constructor(requestTime: number);
71
+ }
72
+ export declare class TxTimedOutError extends BaseError {
73
+ constructor(blocks: number, th: string, status?: string);
74
+ }
75
+ export declare class TypeError extends BaseError {
76
+ constructor(message: string);
77
+ }
78
+ export declare class UnsupportedPlatformError extends BaseError {
79
+ constructor(message: string);
80
+ }
81
+ export declare class UnsupportedProtocolError extends BaseError {
82
+ constructor(message: string);
83
+ }
84
+ export declare class NotImplementedError extends BaseError {
85
+ constructor(message: string);
86
+ }
87
+ export declare class UnsupportedVersionError extends BaseError {
88
+ constructor(dependency: string, version: string, geVersion: string, ltVersion: string);
89
+ }
90
+ export declare class InternalError extends BaseError {
91
+ constructor(message: string);
92
+ }
93
+ export declare class InvalidKeypairError extends AccountError {
94
+ constructor(message: string);
95
+ }
96
+ export declare class UnavailableAccountError extends AccountError {
97
+ constructor(address: string);
98
+ }
99
+ export declare class AensPointerContextError extends AensError {
100
+ constructor(nameOrId: string, prefix: string);
101
+ }
102
+ export declare class InsufficientNameFeeError extends AensError {
103
+ constructor(nameFee: number, minNameFee: number);
104
+ }
105
+ export declare class InvalidAensNameError extends AensError {
106
+ constructor(message: string);
107
+ }
108
+ export declare class DuplicateCallbackError extends AeppError {
109
+ constructor();
110
+ }
111
+ export declare class InvalidRpcMessageError extends AeppError {
112
+ constructor(message: string);
113
+ }
114
+ export declare class MissingCallbackError extends AeppError {
115
+ constructor(id: string);
116
+ }
117
+ export declare class UnAuthorizedAccountError extends AeppError {
118
+ constructor(onAccount: string);
119
+ }
120
+ export declare class UnknownRpcClientError extends AeppError {
121
+ constructor(id: string);
122
+ }
123
+ export declare class UnsubscribedAccountError extends AeppError {
124
+ constructor();
125
+ }
126
+ export declare class ChannelCallError extends ChannelError {
127
+ constructor(message: string);
128
+ }
129
+ export declare class ChannelConnectionError extends ChannelError {
130
+ constructor(message: string);
131
+ }
132
+ export declare class ChannelPingTimedOutError extends ChannelError {
133
+ constructor();
134
+ }
135
+ export declare class UnexpectedChannelMessageError extends ChannelError {
136
+ constructor(message: string);
137
+ }
138
+ export declare class UnknownChannelStateError extends ChannelError {
139
+ constructor();
140
+ }
141
+ export declare class InvalidAuthDataError extends CompilerError {
142
+ constructor(message: string);
143
+ }
144
+ export declare class BytecodeMismatchError extends ContractError {
145
+ constructor(source: string);
146
+ }
147
+ export declare class DuplicateContractError extends ContractError {
148
+ constructor();
149
+ }
150
+ export declare class InactiveContractError extends ContractError {
151
+ constructor(contractAddress: string);
152
+ }
153
+ export declare class InvalidMethodInvocationError extends ContractError {
154
+ constructor(message: string);
155
+ }
156
+ export declare class MissingContractAddressError extends ContractError {
157
+ constructor(message: string);
158
+ }
159
+ export declare class MissingContractDefError extends ContractError {
160
+ constructor();
161
+ }
162
+ export declare class MissingFunctionNameError extends ContractError {
163
+ constructor();
164
+ }
165
+ export declare class NodeInvocationError extends ContractError {
166
+ constructor(message?: string);
167
+ }
168
+ export declare class NoSuchContractFunctionError extends ContractError {
169
+ constructor(name: string);
170
+ }
171
+ export declare class NotPayableFunctionError extends ContractError {
172
+ constructor(amount: string, fn: string);
173
+ }
174
+ export declare class MissingEventDefinitionError extends ContractError {
175
+ constructor(eventNameHash: string, eventAddress: string);
176
+ }
177
+ export declare class AmbiguousEventDefinitionError extends ContractError {
178
+ constructor(eventAddress: string, matchedEvents: [string, string][]);
179
+ }
180
+ export declare class InvalidChecksumError extends CryptographyError {
181
+ constructor();
182
+ }
183
+ export declare class InvalidDerivationPathError extends CryptographyError {
184
+ constructor();
185
+ }
186
+ export declare class InvalidKeyError extends CryptographyError {
187
+ constructor(message: string);
188
+ }
189
+ export declare class InvalidPasswordError extends CryptographyError {
190
+ constructor(message: string);
191
+ }
192
+ export declare class MerkleTreeHashMismatchError extends CryptographyError {
193
+ constructor();
194
+ }
195
+ export declare class MissingNodeInTreeError extends CryptographyError {
196
+ constructor(message: string);
197
+ }
198
+ export declare class UnsupportedAlgorithmError extends CryptographyError {
199
+ constructor(algo: string);
200
+ }
201
+ export declare class NotHardenedSegmentError extends CryptographyError {
202
+ constructor(message: string);
203
+ }
204
+ export declare class UnknownNodeLengthError extends CryptographyError {
205
+ constructor(nodeLength: number);
206
+ }
207
+ export declare class UnknownPathNibbleError extends CryptographyError {
208
+ constructor(nibble: number);
209
+ }
210
+ export declare class UnsupportedChildIndexError extends CryptographyError {
211
+ constructor(index: string);
212
+ }
213
+ export declare class DisconnectedError extends NodeError {
214
+ constructor();
215
+ }
216
+ export declare class DuplicateNodeError extends NodeError {
217
+ constructor(name: string);
218
+ }
219
+ export declare class NodeNotFoundError extends NodeError {
220
+ constructor(message: string);
221
+ }
222
+ export declare class DecodeError extends TransactionError {
223
+ constructor(message: string);
224
+ }
225
+ export declare class EncodeError extends TransactionError {
226
+ constructor(message: string);
227
+ }
228
+ export declare class PayloadLengthError extends TransactionError {
229
+ constructor(message: string);
230
+ }
231
+ export declare class DryRunError extends TransactionError {
232
+ constructor(message: string);
233
+ }
234
+ export declare class IllegalBidFeeError extends TransactionError {
235
+ constructor(message: string);
236
+ }
237
+ export declare class InvalidSignatureError extends TransactionError {
238
+ constructor(message: string);
239
+ }
240
+ export declare class InvalidTxError extends TransactionError {
241
+ constructor(message: string);
242
+ }
243
+ export declare class InvalidTxParamsError extends TransactionError {
244
+ constructor(message: string);
245
+ }
246
+ export declare class NoDefaultAensPointerError extends TransactionError {
247
+ constructor(prefix: string);
248
+ }
249
+ export declare class PrefixMismatchError extends TransactionError {
250
+ constructor(prefix: string, requiredPrefix: string);
251
+ }
252
+ export declare class PrefixNotFoundError extends TransactionError {
253
+ constructor(tag: string);
254
+ }
255
+ export declare class SchemaNotFoundError extends TransactionError {
256
+ constructor(message: string);
257
+ }
258
+ export declare class TagNotFoundError extends TransactionError {
259
+ constructor(prefix: string);
260
+ }
261
+ export declare class TxNotInChainError extends TransactionError {
262
+ constructor(txHash: string);
263
+ }
264
+ export declare class UnknownTxError extends TransactionError {
265
+ constructor(message: string);
266
+ }
267
+ export declare class UnsupportedABIversionError extends TransactionError {
268
+ constructor(message: string);
269
+ }
270
+ export declare class UnsupportedVMversionError extends TransactionError {
271
+ constructor(message: string);
272
+ }
273
+ export declare class AlreadyConnectedError extends WalletError {
274
+ constructor(message: string);
275
+ }
276
+ export declare class MessageDirectionError extends WalletError {
277
+ constructor(message: string);
278
+ }
279
+ export declare class NoWalletConnectedError extends WalletError {
280
+ constructor(message: string);
281
+ }
282
+ export declare class RpcConnectionError extends WalletError {
283
+ constructor(message: string);
284
+ }
package/es/index.mjs ADDED
@@ -0,0 +1,57 @@
1
+ /*
2
+ * ISC License (ISC)
3
+ * Copyright (c) 2021 aeternity developers
4
+ *
5
+ * Permission to use, copy, modify, and/or distribute this software for any
6
+ * purpose with or without fee is hereby granted, provided that the above
7
+ * copyright notice and this permission notice appear in all copies.
8
+ *
9
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
10
+ * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
11
+ * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
12
+ * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
13
+ * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
14
+ * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
15
+ * PERFORMANCE OF THIS SOFTWARE.
16
+ */
17
+ import * as Crypto from "./utils/crypto.mjs";
18
+ import * as Keystore from "./utils/keystore.mjs";
19
+ import * as Bytes from "./utils/bytes.mjs";
20
+ import * as TxBuilder from "./tx/builder/index.mjs";
21
+ import * as TxBuilderHelper from "./tx/builder/helpers.mjs";
22
+ import * as SCHEMA from "./tx/builder/schema.mjs";
23
+ import * as AmountFormatter from "./utils/amount-formatter.mjs";
24
+ import * as HdWallet from "./utils/hd-wallet.mjs";
25
+ import Ae from "./ae/index.mjs";
26
+ import Chain from "./chain/index.mjs";
27
+ import ChainNode from "./chain/node.mjs";
28
+ import Node from "./node.mjs";
29
+ import NodePool from "./node-pool/index.mjs";
30
+ import Tx from "./tx/index.mjs";
31
+ import Transaction from "./tx/tx.mjs";
32
+ import verifyTransaction from "./tx/validator.mjs";
33
+ import AccountBase from "./account/base.mjs";
34
+ import AccountMultiple from "./account/multiple.mjs";
35
+ import MemoryAccount from "./account/memory.mjs";
36
+ import Aens from "./ae/aens.mjs";
37
+ import Contract from "./ae/contract.mjs";
38
+ import GeneralizedAccount from "./contract/ga/index.mjs";
39
+ import ContractCompilerHttp from "./contract/compiler.mjs";
40
+ import RpcAepp from "./ae/aepp.mjs";
41
+ import RpcWallet from "./ae/wallet.mjs";
42
+ import Oracle from "./ae/oracle.mjs";
43
+ import genSwaggerClient from "./utils/swagger.mjs";
44
+ import Channel from "./channel/index.mjs";
45
+ import Universal from "./ae/universal.mjs";
46
+ export { default as ContentScriptBridge } from "./utils/aepp-wallet-communication/content-script-bridge.mjs";
47
+ import * as _AeppWalletHelpers from "./utils/aepp-wallet-communication/helpers.mjs";
48
+ export { _AeppWalletHelpers as AeppWalletHelpers };
49
+ import * as _AeppWalletSchema from "./utils/aepp-wallet-communication/schema.mjs";
50
+ export { _AeppWalletSchema as AeppWalletSchema };
51
+ export { default as WalletDetector } from "./utils/aepp-wallet-communication/wallet-detector.mjs";
52
+ export { default as BrowserRuntimeConnection } from "./utils/aepp-wallet-communication/connection/browser-runtime.mjs";
53
+ export { default as BrowserWindowMessageConnection } from "./utils/aepp-wallet-communication/connection/browser-window-message.mjs";
54
+ export * from "./utils/errors.mjs";
55
+ export const getDefaultPointerKey = TxBuilderHelper.getDefaultPointerKey;
56
+ export { AmountFormatter, AccountBase, AccountMultiple, Ae, Aens, Bytes, Contract, ContractCompilerHttp, ChainNode, RpcAepp, RpcWallet, Channel, Crypto, Keystore, Chain, GeneralizedAccount, HdWallet, MemoryAccount, Node, NodePool, Oracle, genSwaggerClient, Transaction, verifyTransaction, Tx, TxBuilder, TxBuilderHelper, Universal, SCHEMA };
57
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/index.js"],"names":["Crypto","Keystore","Bytes","TxBuilder","TxBuilderHelper","SCHEMA","AmountFormatter","HdWallet","Ae","Chain","ChainNode","Node","NodePool","Tx","Transaction","verifyTransaction","AccountBase","AccountMultiple","MemoryAccount","Aens","Contract","GeneralizedAccount","ContractCompilerHttp","RpcAepp","RpcWallet","Oracle","genSwaggerClient","Channel","Universal","default","ContentScriptBridge","AeppWalletHelpers","AeppWalletSchema","WalletDetector","BrowserRuntimeConnection","BrowserWindowMessageConnection","getDefaultPointerKey"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;OAEO,KAAKA,M;OACL,KAAKC,Q;OACL,KAAKC,K;OACL,KAAKC,S;OACL,KAAKC,e;OACL,KAAKC,M;OACL,KAAKC,e;OACL,KAAKC,Q;OAELC,E;OACAC,K;OACAC,S;OACAC,I;OACAC,Q;OACAC,E;OACAC,W;OACAC,iB;OACAC,W;OACAC,e;OACAC,a;OACAC,I;OACAC,Q;OACAC,kB;OACAC,oB;OACAC,O;OACAC,S;OACAC,M;OACAC,gB;OACAC,O;OACAC,S;SAEEC,OAAO,IAAIC,mB;;+BACRC,iB;;8BACAC,gB;SACHH,OAAO,IAAII,c;SACXJ,OAAO,IAAIK,wB;SACXL,OAAO,IAAIM,8B;;AAGpB,OAAO,MAAMC,oBAAoB,GAAGhC,eAAe,CAACgC,oBAA7C;AAEP,SACE9B,eADF,EAEEU,WAFF,EAGEC,eAHF,EAIET,EAJF,EAKEW,IALF,EAMEjB,KANF,EAOEkB,QAPF,EAQEE,oBARF,EASEZ,SATF,EAUEa,OAVF,EAWEC,SAXF,EAYEG,OAZF,EAaE3B,MAbF,EAcEC,QAdF,EAeEQ,KAfF,EAgBEY,kBAhBF,EAiBEd,QAjBF,EAkBEW,aAlBF,EAmBEP,IAnBF,EAoBEC,QApBF,EAqBEa,MArBF,EAsBEC,gBAtBF,EAuBEZ,WAvBF,EAwBEC,iBAxBF,EAyBEF,EAzBF,EA0BEV,SA1BF,EA2BEC,eA3BF,EA4BEwB,SA5BF,EA6BEvB,MA7BF","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\nimport * as Crypto from './utils/crypto'\nimport * as Keystore from './utils/keystore'\nimport * as Bytes from './utils/bytes'\nimport * as TxBuilder from './tx/builder'\nimport * as TxBuilderHelper from './tx/builder/helpers'\nimport * as SCHEMA from './tx/builder/schema'\nimport * as AmountFormatter from './utils/amount-formatter'\nimport * as HdWallet from './utils/hd-wallet'\n\nimport Ae from './ae'\nimport Chain from './chain'\nimport ChainNode from './chain/node'\nimport Node from './node'\nimport NodePool from './node-pool'\nimport Tx from './tx'\nimport Transaction from './tx/tx'\nimport verifyTransaction from './tx/validator'\nimport AccountBase from './account/base'\nimport AccountMultiple from './account/multiple'\nimport MemoryAccount from './account/memory'\nimport Aens from './ae/aens'\nimport Contract from './ae/contract'\nimport GeneralizedAccount from './contract/ga'\nimport ContractCompilerHttp from './contract/compiler'\nimport RpcAepp from './ae/aepp'\nimport RpcWallet from './ae/wallet'\nimport Oracle from './ae/oracle'\nimport genSwaggerClient from './utils/swagger'\nimport Channel from './channel'\nimport Universal from './ae/universal'\n\nexport { default as ContentScriptBridge } from './utils/aepp-wallet-communication/content-script-bridge'\nexport * as AeppWalletHelpers from './utils/aepp-wallet-communication/helpers'\nexport * as AeppWalletSchema from './utils/aepp-wallet-communication/schema'\nexport { default as WalletDetector } from './utils/aepp-wallet-communication/wallet-detector'\nexport { default as BrowserRuntimeConnection } from './utils/aepp-wallet-communication/connection/browser-runtime'\nexport { default as BrowserWindowMessageConnection } from './utils/aepp-wallet-communication/connection/browser-window-message'\nexport * from './utils/errors'\n\nexport const getDefaultPointerKey = TxBuilderHelper.getDefaultPointerKey\n\nexport {\n AmountFormatter,\n AccountBase,\n AccountMultiple,\n Ae,\n Aens,\n Bytes,\n Contract,\n ContractCompilerHttp,\n ChainNode,\n RpcAepp,\n RpcWallet,\n Channel,\n Crypto,\n Keystore,\n Chain,\n GeneralizedAccount,\n HdWallet,\n MemoryAccount,\n Node,\n NodePool,\n Oracle,\n genSwaggerClient,\n Transaction,\n verifyTransaction,\n Tx,\n TxBuilder,\n TxBuilderHelper,\n Universal,\n SCHEMA\n}\n"],"file":"index.mjs"}