@aeternity/aepp-sdk 9.0.1 → 10.0.0-beta.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 (137) hide show
  1. package/dist/aepp-sdk.browser-script.js +1 -1
  2. package/dist/aepp-sdk.browser-script.js.LICENSE.txt +0 -9
  3. package/dist/aepp-sdk.browser-script.js.map +1 -1
  4. package/dist/aepp-sdk.browser.js +1 -1
  5. package/dist/aepp-sdk.browser.js.map +1 -1
  6. package/dist/aepp-sdk.js +1 -1
  7. package/dist/aepp-sdk.js.map +1 -1
  8. package/es/account/base.js +30 -122
  9. package/es/account/base.js.map +1 -1
  10. package/es/account/memory.js +17 -19
  11. package/es/account/memory.js.map +1 -1
  12. package/es/account/multiple.js +73 -164
  13. package/es/account/multiple.js.map +1 -1
  14. package/es/ae/aens.js +164 -599
  15. package/es/ae/aens.js.map +1 -1
  16. package/es/ae/contract.js +82 -759
  17. package/es/ae/contract.js.map +1 -1
  18. package/es/ae/index.js +78 -315
  19. package/es/ae/index.js.map +1 -1
  20. package/es/ae/oracle.js +130 -498
  21. package/es/ae/oracle.js.map +1 -1
  22. package/es/chain/index.js +1 -1
  23. package/es/chain/index.js.map +1 -1
  24. package/es/chain/node.js +288 -1008
  25. package/es/chain/node.js.map +1 -1
  26. package/es/channel/handlers.js +597 -1086
  27. package/es/channel/handlers.js.map +1 -1
  28. package/es/channel/index.js +203 -451
  29. package/es/channel/index.js.map +1 -1
  30. package/es/channel/internal.js +129 -301
  31. package/es/channel/internal.js.map +1 -1
  32. package/es/contract/aci/index.js +319 -480
  33. package/es/contract/aci/index.js.map +1 -1
  34. package/es/contract/aci/transformation.js +35 -711
  35. package/es/contract/aci/transformation.js.map +1 -1
  36. package/es/contract/compiler.js +129 -203
  37. package/es/contract/compiler.js.map +1 -1
  38. package/es/contract/ga/helpers.js +16 -114
  39. package/es/contract/ga/helpers.js.map +1 -1
  40. package/es/contract/ga/index.js +101 -242
  41. package/es/contract/ga/index.js.map +1 -1
  42. package/es/contract/index.js +1 -1
  43. package/es/contract/index.js.map +1 -1
  44. package/es/index.js +1 -2
  45. package/es/index.js.map +1 -1
  46. package/es/node-pool/index.js +54 -73
  47. package/es/node-pool/index.js.map +1 -1
  48. package/es/node.js +56 -157
  49. package/es/node.js.map +1 -1
  50. package/es/other.d.ts +1 -1
  51. package/es/tx/builder/helpers.js +38 -75
  52. package/es/tx/builder/helpers.js.map +1 -1
  53. package/es/tx/builder/index.js +196 -294
  54. package/es/tx/builder/index.js.map +1 -1
  55. package/es/tx/builder/schema.js +577 -459
  56. package/es/tx/builder/schema.js.map +1 -1
  57. package/es/tx/index.js +1 -1
  58. package/es/tx/index.js.map +1 -1
  59. package/es/tx/tx-object.js +105 -132
  60. package/es/tx/tx-object.js.map +1 -1
  61. package/es/tx/tx.js +808 -1628
  62. package/es/tx/tx.js.map +1 -1
  63. package/es/tx/validator.js +132 -268
  64. package/es/tx/validator.js.map +1 -1
  65. package/es/utils/aepp-wallet-communication/connection/browser-runtime.js +17 -21
  66. package/es/utils/aepp-wallet-communication/connection/browser-runtime.js.map +1 -1
  67. package/es/utils/aepp-wallet-communication/connection/browser-window-message.js +38 -74
  68. package/es/utils/aepp-wallet-communication/connection/browser-window-message.js.map +1 -1
  69. package/es/utils/aepp-wallet-communication/content-script-bridge.js +14 -15
  70. package/es/utils/aepp-wallet-communication/content-script-bridge.js.map +1 -1
  71. package/es/utils/aepp-wallet-communication/helpers.js +60 -105
  72. package/es/utils/aepp-wallet-communication/helpers.js.map +1 -1
  73. package/es/utils/aepp-wallet-communication/rpc/aepp-rpc.js +179 -510
  74. package/es/utils/aepp-wallet-communication/rpc/aepp-rpc.js.map +1 -1
  75. package/es/utils/aepp-wallet-communication/rpc/rpc-client.js +70 -89
  76. package/es/utils/aepp-wallet-communication/rpc/rpc-client.js.map +1 -1
  77. package/es/utils/aepp-wallet-communication/rpc/wallet-rpc.js +353 -600
  78. package/es/utils/aepp-wallet-communication/rpc/wallet-rpc.js.map +1 -1
  79. package/es/utils/aepp-wallet-communication/schema.js +43 -39
  80. package/es/utils/aepp-wallet-communication/schema.js.map +1 -1
  81. package/es/utils/aepp-wallet-communication/wallet-detector.js +32 -58
  82. package/es/utils/aepp-wallet-communication/wallet-detector.js.map +1 -1
  83. package/es/utils/amount-formatter.js +41 -61
  84. package/es/utils/amount-formatter.js.map +1 -1
  85. package/es/utils/async-init.js +28 -64
  86. package/es/utils/async-init.js.map +1 -1
  87. package/es/utils/bignumber.js +3 -11
  88. package/es/utils/bignumber.js.map +1 -1
  89. package/es/utils/bytes.js +5 -9
  90. package/es/utils/bytes.js.map +1 -1
  91. package/es/utils/crypto.js +47 -62
  92. package/es/utils/crypto.js.map +1 -1
  93. package/es/utils/hd-wallet.js +45 -81
  94. package/es/utils/hd-wallet.js.map +1 -1
  95. package/es/utils/json-big.js +16 -49
  96. package/es/utils/json-big.js.map +1 -1
  97. package/es/utils/keystore.js +81 -246
  98. package/es/utils/keystore.js.map +1 -1
  99. package/es/utils/mptree.js +88 -134
  100. package/es/utils/mptree.js.map +1 -1
  101. package/es/utils/other.js +10 -60
  102. package/es/utils/other.js.map +1 -1
  103. package/es/utils/semver-satisfies.js +9 -28
  104. package/es/utils/semver-satisfies.js.map +1 -1
  105. package/es/utils/string.js +4 -13
  106. package/es/utils/string.js.map +1 -1
  107. package/es/utils/swagger.js +85 -224
  108. package/es/utils/swagger.js.map +1 -1
  109. package/package.json +44 -40
  110. package/src/account/multiple.js +18 -19
  111. package/src/ae/aens.js +25 -21
  112. package/src/ae/contract.js +32 -163
  113. package/src/ae/index.js +3 -3
  114. package/src/ae/oracle.js +18 -14
  115. package/src/chain/node.js +2 -4
  116. package/src/channel/handlers.js +0 -1
  117. package/src/channel/index.js +4 -5
  118. package/src/contract/aci/index.js +221 -102
  119. package/src/contract/aci/transformation.js +30 -422
  120. package/src/contract/compiler.js +45 -4
  121. package/src/contract/ga/helpers.js +1 -8
  122. package/src/contract/ga/index.js +13 -11
  123. package/src/index.js +0 -2
  124. package/src/node-pool/index.js +21 -12
  125. package/src/node.js +22 -26
  126. package/src/tx/builder/index.js +2 -1
  127. package/src/tx/builder/schema.js +2 -1
  128. package/src/tx/tx.js +147 -143
  129. package/src/tx/validator.js +9 -7
  130. package/src/utils/aepp-wallet-communication/rpc/aepp-rpc.js +1 -3
  131. package/src/utils/aepp-wallet-communication/rpc/wallet-rpc.js +3 -3
  132. package/src/utils/aepp-wallet-communication/schema.js +1 -3
  133. package/src/utils/bignumber.ts +2 -1
  134. package/src/utils/other.ts +1 -1
  135. package/src/utils/semver-satisfies.ts +1 -1
  136. package/src/utils/swagger.js +14 -7
  137. package/src/contract/aci/helpers.js +0 -140
@@ -1,36 +1,3 @@
1
- import _Object$getOwnPropertySymbols from "@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols";
2
- import _Object$getOwnPropertyDescriptor from "@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor";
3
- import _forEachInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/for-each";
4
- import _Object$getOwnPropertyDescriptors from "@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors";
5
- import _Object$defineProperties from "@babel/runtime-corejs3/core-js-stable/object/define-properties";
6
- import _Object$defineProperty from "@babel/runtime-corejs3/core-js-stable/object/define-property";
7
- import _typeof from "@babel/runtime-corejs3/helpers/typeof";
8
- import _objectWithoutProperties from "@babel/runtime-corejs3/helpers/objectWithoutProperties";
9
- import _defineProperty from "@babel/runtime-corejs3/helpers/defineProperty";
10
- import _toConsumableArray from "@babel/runtime-corejs3/helpers/toConsumableArray";
11
- import _slicedToArray from "@babel/runtime-corejs3/helpers/slicedToArray";
12
- import _asyncToGenerator from "@babel/runtime-corejs3/helpers/asyncToGenerator";
13
- var _excluded = ["__requestBody"];
14
- import _regeneratorRuntime from "@babel/runtime-corejs3/regenerator";
15
-
16
- function ownKeys(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); if (enumerableOnly) { symbols = _filterInstanceProperty(symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
17
-
18
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { var _context13; _forEachInstanceProperty(_context13 = ownKeys(Object(source), true)).call(_context13, function (key) { _defineProperty(target, key, source[key]); }); } else if (_Object$getOwnPropertyDescriptors) { _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)); } else { var _context14; _forEachInstanceProperty(_context14 = ownKeys(Object(source))).call(_context14, function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } } return target; }
19
-
20
- import _includesInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/includes";
21
- import _URL from "@babel/runtime-corejs3/core-js-stable/url";
22
- import _Promise from "@babel/runtime-corejs3/core-js-stable/promise";
23
- import _mapInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/map";
24
- import _Object$assign from "@babel/runtime-corejs3/core-js-stable/object/assign";
25
- import _reduceInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/reduce";
26
- import _concatInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/concat";
27
- import _Object$values from "@babel/runtime-corejs3/core-js-stable/object/values";
28
- import _flatInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/flat";
29
- import _sliceInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/slice";
30
- import _filterInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/filter";
31
- import _Object$keys from "@babel/runtime-corejs3/core-js-stable/object/keys";
32
- import _findInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/find";
33
-
34
1
  /*
35
2
  * ISC License (ISC)
36
3
  * Copyright (c) 2021 aeternity developers
@@ -57,7 +24,7 @@ import SwaggerClient from 'swagger-client';
57
24
  import fetch from 'cross-fetch';
58
25
  import JsonBig from './json-big';
59
26
  import { snakizeKeys, pascalizeKeys, mapObject, filterObject } from './other';
60
- var warnedAboutInternalApiUsage = false;
27
+ let warnedAboutInternalApiUsage = false;
61
28
  /**
62
29
  * Generator of Swagger client
63
30
  * @function
@@ -69,201 +36,95 @@ var warnedAboutInternalApiUsage = false;
69
36
  * @param {String} [options.internalUrl] - Node internal URL
70
37
  * @param {Boolean} [options.disableBigNumbers]
71
38
  * @param {Boolean} [options.disableCaseConversion]
39
+ * @param {Function} [options.responseInterceptor]
72
40
  * @return {Object} Swagger client
73
41
  * @example (await genSwaggerClient('https://mainnet.aeternity.io/api')).getAccountByPubkey('ak_jupBUgZNbcC4krDLR3tAkw1iBZoBbkNeShAq4atBtpFWmz36r')
74
42
  */
75
43
 
76
- export default /*#__PURE__*/(function () {
77
- var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(specUrl) {
78
- var _context, _context2, _context3, _context4, _context5, _context6, _context7, _context8;
79
-
80
- var _ref2,
81
- spec,
82
- internalUrl,
83
- disableBigNumbers,
84
- disableCaseConversion,
85
- jsonImp,
86
- _yield$Promise$all,
87
- _yield$Promise$all2,
88
- external,
89
- internal,
90
- combinedApi,
91
- opSpecs,
92
- api,
93
- _args2 = arguments;
94
-
95
- return _regeneratorRuntime.wrap(function _callee2$(_context12) {
96
- while (1) {
97
- switch (_context12.prev = _context12.next) {
98
- case 0:
99
- _ref2 = _args2.length > 1 && _args2[1] !== undefined ? _args2[1] : {}, spec = _ref2.spec, internalUrl = _ref2.internalUrl, disableBigNumbers = _ref2.disableBigNumbers, disableCaseConversion = _ref2.disableCaseConversion;
100
- _context12.t0 = spec;
101
-
102
- if (_context12.t0) {
103
- _context12.next = 8;
104
- break;
105
- }
106
-
107
- _context12.next = 5;
108
- return fetch(specUrl);
109
-
110
- case 5:
111
- _context12.next = 7;
112
- return _context12.sent.json();
113
-
114
- case 7:
115
- _context12.t0 = _context12.sent;
116
-
117
- case 8:
118
- spec = _context12.t0;
119
- jsonImp = disableBigNumbers ? JSON : JsonBig;
120
-
121
- if (_includesInstanceProperty(_context = ['https://compiler.aepps.com', 'https://latest.compiler.aepps.com']).call(_context, new _URL(specUrl).origin) || _includesInstanceProperty(_context2 = new _URL(specUrl).origin).call(_context2, 'https://')) {
122
- spec.schemes = ['https'];
123
- }
124
-
125
- _context12.next = 13;
126
- return _Promise.all(_mapInstanceProperty(_context3 = [specUrl, internalUrl]).call(_context3, function (url) {
127
- if (!url) return null;
128
- return SwaggerClient({
129
- url: url,
130
- spec: spec,
131
- responseInterceptor: function responseInterceptor(response) {
132
- if (!response.text) return response;
133
- var body = jsonImp.parse(response.text);
134
- return _Object$assign(response, {
135
- body: disableCaseConversion ? body : pascalizeKeys(body)
136
- });
137
- }
138
- });
139
- }));
140
-
141
- case 13:
142
- _yield$Promise$all = _context12.sent;
143
- _yield$Promise$all2 = _slicedToArray(_yield$Promise$all, 2);
144
- external = _yield$Promise$all2[0];
145
- internal = _yield$Promise$all2[1];
146
- combinedApi = _reduceInstanceProperty(_context4 = _concatInstanceProperty(_context5 = []).call(_context5, _toConsumableArray(_Object$values(external.apis)), [mapObject((internal === null || internal === void 0 ? void 0 : internal.apis.internal) || {}, function (_ref3) {
147
- var _ref4 = _slicedToArray(_ref3, 2),
148
- key = _ref4[0],
149
- handler = _ref4[1];
150
-
151
- return [key, function () {
152
- if (!warnedAboutInternalApiUsage) {
153
- console.warn('SDK\'s wrapper of aeternity node internal API is deprecated, please use external ' + 'equivalent (for example, "sdk.api.protectedDryRunTxs" instead of "sdk.api.dryRunTxs") ' + 'or create a wrapper of internal API by yourself (using "genSwaggerClient")');
154
- warnedAboutInternalApiUsage = true;
155
- }
156
-
157
- return handler.apply(void 0, arguments);
158
- }];
159
- })])).call(_context4, function (acc, n) {
160
- return _objectSpread(_objectSpread({}, acc), n);
161
- });
162
- opSpecs = _reduceInstanceProperty(_context6 = _flatInstanceProperty(_context7 = _mapInstanceProperty(_context8 = _Object$values(spec.paths)).call(_context8, function (paths) {
163
- return _Object$values(paths);
164
- })).call(_context7)).call(_context6, function (acc, n) {
165
- return _objectSpread(_objectSpread({}, acc), {}, _defineProperty({}, n.operationId, n));
166
- }, {});
167
- api = mapObject(combinedApi, function (_ref5) {
168
- var _ref6 = _slicedToArray(_ref5, 2),
169
- opId = _ref6[0],
170
- handler = _ref6[1];
171
-
172
- return [_sliceInstanceProperty(opId).call(opId, 0, 1).toLowerCase() + _sliceInstanceProperty(opId).call(opId, 1), /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
173
- var _context9, _context10;
174
-
175
- var _len,
176
- args,
177
- _key,
178
- opSpec,
179
- parameters,
180
- required,
181
- values,
182
- _mapObject,
183
- __requestBody,
184
- stringified,
185
- _args = arguments;
186
-
187
- return _regeneratorRuntime.wrap(function _callee$(_context11) {
188
- while (1) {
189
- switch (_context11.prev = _context11.next) {
190
- case 0:
191
- for (_len = _args.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
192
- args[_key] = _args[_key];
193
- }
194
-
195
- opSpec = opSpecs[opId];
196
- parameters = _concatInstanceProperty(_context9 = []).call(_context9, _toConsumableArray(opSpec.parameters), _toConsumableArray(opSpec.requestBody ? [{
197
- required: opSpec.requestBody.required,
198
- schema: _Object$values(opSpec.requestBody.content)[0].schema,
199
- name: '__requestBody'
200
- }] : []));
201
- required = _mapInstanceProperty(_context10 = _filterInstanceProperty(parameters).call(parameters, function (param) {
202
- return param.required;
203
- })).call(_context10, function (p) {
204
- return p.name;
205
- });
206
-
207
- if (!(args.length < required.length)) {
208
- _context11.next = 6;
209
- break;
210
- }
211
-
212
- throw new Error('swagger: Not enough arguments');
213
-
214
- case 6:
215
- values = _reduceInstanceProperty(required).call(required, function (acc, req, idx) {
216
- return _objectSpread(_objectSpread({}, acc), {}, _defineProperty({}, req, args[idx]));
217
- }, args[required.length] || {});
218
- _mapObject = mapObject(values, function (_ref8) {
219
- var _ref9 = _slicedToArray(_ref8, 2),
220
- param = _ref9[0],
221
- value = _ref9[1];
222
-
223
- if (_typeof(value) !== 'object') return [param, value];
224
-
225
- var rootKeys = _Object$keys(_findInstanceProperty(parameters).call(parameters, function (p) {
226
- return p.name === param;
227
- }).schema.properties);
228
-
229
- var filteredValue = filterObject(disableCaseConversion ? value : snakizeKeys(value), function (_ref10) {
230
- var _ref11 = _slicedToArray(_ref10, 1),
231
- key = _ref11[0];
232
-
233
- return _includesInstanceProperty(rootKeys).call(rootKeys, key);
234
- });
235
- return [param, jsonImp.stringify(filteredValue)];
236
- }), __requestBody = _mapObject.__requestBody, stringified = _objectWithoutProperties(_mapObject, _excluded);
237
- _context11.next = 10;
238
- return handler(stringified, {
239
- requestBody: __requestBody
240
- });
241
-
242
- case 10:
243
- return _context11.abrupt("return", _context11.sent.body);
244
-
245
- case 11:
246
- case "end":
247
- return _context11.stop();
248
- }
249
- }
250
- }, _callee);
251
- }))];
252
- });
253
- return _context12.abrupt("return", _Object$assign(external, {
254
- api: api
255
- }));
256
-
257
- case 21:
258
- case "end":
259
- return _context12.stop();
260
- }
44
+ export default (async function (specUrl) {
45
+ let {
46
+ spec,
47
+ internalUrl,
48
+ disableBigNumbers,
49
+ disableCaseConversion,
50
+ responseInterceptor
51
+ } = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
52
+ spec = spec || (await (await fetch(specUrl)).json());
53
+ const jsonImp = disableBigNumbers ? JSON : JsonBig;
54
+
55
+ if (['https://compiler.aepps.com', 'https://latest.compiler.aepps.com'].includes(new URL(specUrl).origin) || new URL(specUrl).origin.includes('https://')) {
56
+ spec.schemes = ['https'];
57
+ }
58
+
59
+ const [external, internal] = await Promise.all([specUrl, internalUrl].map(url => {
60
+ if (!url) return null;
61
+ return SwaggerClient({
62
+ url,
63
+ spec,
64
+ responseInterceptor: response => {
65
+ if (!response.text) return response;
66
+ const body = jsonImp.parse(response.text);
67
+ Object.assign(response, {
68
+ body: disableCaseConversion ? body : pascalizeKeys(body)
69
+ });
70
+ return responseInterceptor && responseInterceptor(response) || response;
261
71
  }
262
- }, _callee2);
72
+ });
263
73
  }));
74
+ const combinedApi = [...Object.values(external.apis), mapObject((internal === null || internal === void 0 ? void 0 : internal.apis.internal) || {}, _ref => {
75
+ let [key, handler] = _ref;
76
+ return [key, function () {
77
+ if (!warnedAboutInternalApiUsage) {
78
+ console.warn('SDK\'s wrapper of aeternity node internal API is deprecated, please use external ' + 'equivalent (for example, "sdk.api.protectedDryRunTxs" instead of "sdk.api.dryRunTxs") ' + 'or create a wrapper of internal API by yourself (using "genSwaggerClient")');
79
+ warnedAboutInternalApiUsage = true;
80
+ }
81
+
82
+ return handler(...arguments);
83
+ }];
84
+ })].reduce((acc, n) => ({ ...acc,
85
+ ...n
86
+ }));
87
+ const opSpecs = Object.values(spec.paths).map(paths => Object.values(paths)).flat().reduce((acc, n) => ({ ...acc,
88
+ [n.operationId]: n
89
+ }), {});
90
+ const api = mapObject(combinedApi, _ref2 => {
91
+ let [opId, handler] = _ref2;
92
+ return [opId.slice(0, 1).toLowerCase() + opId.slice(1), async function () {
93
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
94
+ args[_key] = arguments[_key];
95
+ }
264
96
 
265
- return function (_x) {
266
- return _ref.apply(this, arguments);
267
- };
268
- })();
97
+ const opSpec = opSpecs[opId];
98
+ const parameters = [...opSpec.parameters, ...(opSpec.requestBody ? [{
99
+ required: opSpec.requestBody.required,
100
+ schema: Object.values(opSpec.requestBody.content)[0].schema,
101
+ name: '__requestBody'
102
+ }] : [])];
103
+ const required = parameters.filter(param => param.required).map(p => p.name);
104
+ if (args.length < required.length) throw new Error('swagger: Not enough arguments');
105
+ const values = required.reduce((acc, req, idx) => ({ ...acc,
106
+ [req]: args[idx]
107
+ }), args[required.length] || {});
108
+ const {
109
+ __requestBody,
110
+ ...stringified
111
+ } = mapObject(values, _ref3 => {
112
+ let [param, value] = _ref3;
113
+ if (typeof value !== 'object') return [param, value];
114
+ const rootKeys = Object.keys(parameters.find(p => p.name === param).schema.properties);
115
+ const filteredValue = filterObject(disableCaseConversion ? value : snakizeKeys(value), _ref4 => {
116
+ let [key] = _ref4;
117
+ return rootKeys.includes(key);
118
+ });
119
+ return [param, jsonImp.stringify(filteredValue)];
120
+ });
121
+ return (await handler(stringified, {
122
+ requestBody: __requestBody
123
+ })).body;
124
+ }];
125
+ });
126
+ return Object.assign(external, {
127
+ api
128
+ });
129
+ });
269
130
  //# sourceMappingURL=swagger.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utils/swagger.js"],"names":["SwaggerClient","fetch","JsonBig","snakizeKeys","pascalizeKeys","mapObject","filterObject","warnedAboutInternalApiUsage","specUrl","spec","internalUrl","disableBigNumbers","disableCaseConversion","json","jsonImp","JSON","origin","schemes","all","url","responseInterceptor","response","text","body","parse","external","internal","combinedApi","apis","key","handler","console","warn","acc","n","opSpecs","paths","operationId","api","opId","toLowerCase","args","opSpec","parameters","requestBody","required","schema","content","name","param","p","length","Error","values","req","idx","value","rootKeys","properties","filteredValue","stringify","__requestBody","stringified"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AAEA,OAAOA,aAAP,MAA0B,gBAA1B;AACA,OAAOC,KAAP,MAAkB,aAAlB;AACA,OAAOC,OAAP,MAAoB,YAApB;AACA,SAASC,WAAT,EAAsBC,aAAtB,EAAqCC,SAArC,EAAgDC,YAAhD,QAAoE,SAApE;AAEA,IAAIC,2BAA2B,GAAG,KAAlC;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AAAA,sEAAe,kBAAOC,OAAP;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA,+EAAkF,EAAlF,EAAkBC,IAAlB,SAAkBA,IAAlB,EAAwBC,WAAxB,SAAwBA,WAAxB,EAAqCC,iBAArC,SAAqCA,iBAArC,EAAwDC,qBAAxD,SAAwDA,qBAAxD;AAAA,4BACNH,IADM;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA,mBACeR,KAAK,CAACO,OAAD,CADpB;;AAAA;AAAA;AAAA,mCAC+BK,IAD/B;;AAAA;AAAA;;AAAA;AACbJ,YAAAA,IADa;AAEPK,YAAAA,OAFO,GAEGH,iBAAiB,GAAGI,IAAH,GAAUb,OAF9B;;AAIb,gBACE,sCACE,4BADF,EAEE,mCAFF,kBAGW,SAAQM,OAAR,EAAiBQ,MAH5B,KAIA,+CAAQR,OAAR,EAAiBQ,MAAjB,kBAAiC,UAAjC,CALF,EAME;AACAP,cAAAA,IAAI,CAACQ,OAAL,GAAe,CAAC,OAAD,CAAf;AACD;;AAZY;AAAA,mBAcsB,SAAQC,GAAR,CAAY,kCAACV,OAAD,EAAUE,WAAV,mBAA2B,UAACS,GAAD,EAAS;AACjF,kBAAI,CAACA,GAAL,EAAU,OAAO,IAAP;AACV,qBAAOnB,aAAa,CAAC;AACnBmB,gBAAAA,GAAG,EAAHA,GADmB;AAEnBV,gBAAAA,IAAI,EAAJA,IAFmB;AAGnBW,gBAAAA,mBAAmB,EAAE,6BAAAC,QAAQ,EAAI;AAC/B,sBAAI,CAACA,QAAQ,CAACC,IAAd,EAAoB,OAAOD,QAAP;AACpB,sBAAME,IAAI,GAAGT,OAAO,CAACU,KAAR,CAAcH,QAAQ,CAACC,IAAvB,CAAb;AACA,yBAAO,eAAcD,QAAd,EAAwB;AAC7BE,oBAAAA,IAAI,EAAEX,qBAAqB,GAAGW,IAAH,GAAUnB,aAAa,CAACmB,IAAD;AADrB,mBAAxB,CAAP;AAGD;AATkB,eAAD,CAApB;AAWD,aAb8C,CAAZ,CAdtB;;AAAA;AAAA;AAAA;AAcNE,YAAAA,QAdM;AAcIC,YAAAA,QAdJ;AA6BPC,YAAAA,WA7BO,GA6BO,+GACf,eAAcF,QAAQ,CAACG,IAAvB,CADe,IAElBvB,SAAS,CAAC,CAAAqB,QAAQ,SAAR,IAAAA,QAAQ,WAAR,YAAAA,QAAQ,CAAEE,IAAV,CAAeF,QAAf,KAA2B,EAA5B,EAAgC;AAAA;AAAA,kBAAEG,GAAF;AAAA,kBAAOC,OAAP;;AAAA,qBAAoB,CAACD,GAAD,EAAM,YAAa;AAC9E,oBAAI,CAACtB,2BAAL,EAAkC;AAChCwB,kBAAAA,OAAO,CAACC,IAAR,CACE,sFACA,wFADA,GAEA,4EAHF;AAKAzB,kBAAAA,2BAA2B,GAAG,IAA9B;AACD;;AACD,uBAAOuB,OAAO,MAAP,mBAAP;AACD,eAV4D,CAApB;AAAA,aAAhC,CAFS,oBAaX,UAACG,GAAD,EAAMC,CAAN;AAAA,qDAAkBD,GAAlB,GAA0BC,CAA1B;AAAA,aAbW,CA7BP;AA4CPC,YAAAA,OA5CO,GA4CG,sHAAc1B,IAAI,CAAC2B,KAAnB,mBACT,UAAAA,KAAK;AAAA,qBAAI,eAAcA,KAAd,CAAJ;AAAA,aADI,oCAGN,UAACH,GAAD,EAAMC,CAAN;AAAA,qDAAkBD,GAAlB,2BAAwBC,CAAC,CAACG,WAA1B,EAAwCH,CAAxC;AAAA,aAHM,EAGwC,EAHxC,CA5CH;AAiDPI,YAAAA,GAjDO,GAiDDjC,SAAS,CAACsB,WAAD,EAAc;AAAA;AAAA,kBAAEY,IAAF;AAAA,kBAAQT,OAAR;;AAAA,qBAAqB,CACtD,uBAAAS,IAAI,MAAJ,CAAAA,IAAI,EAAO,CAAP,EAAU,CAAV,CAAJ,CAAiBC,WAAjB,KAAiC,uBAAAD,IAAI,MAAJ,CAAAA,IAAI,EAAO,CAAP,CADiB,wEAEtD;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA,kDAAUE,IAAV;AAAUA,0BAAAA,IAAV;AAAA;;AACQC,wBAAAA,MADR,GACiBP,OAAO,CAACI,IAAD,CADxB;AAEQI,wBAAAA,UAFR,8EAGOD,MAAM,CAACC,UAHd,sBAIOD,MAAM,CAACE,WAAP,GAAqB,CAAC;AACvBC,0BAAAA,QAAQ,EAAEH,MAAM,CAACE,WAAP,CAAmBC,QADN;AAEvBC,0BAAAA,MAAM,EAAE,eAAcJ,MAAM,CAACE,WAAP,CAAmBG,OAAjC,EAA0C,CAA1C,EAA6CD,MAF9B;AAGvBE,0BAAAA,IAAI,EAAE;AAHiB,yBAAD,CAArB,GAIE,EART;AAUQH,wBAAAA,QAVR,GAUmB,0DAAAF,UAAU,MAAV,CAAAA,UAAU,EAAQ,UAAAM,KAAK;AAAA,iCAAIA,KAAK,CAACJ,QAAV;AAAA,yBAAb,CAAV,mBAA+C,UAAAK,CAAC;AAAA,iCAAIA,CAAC,CAACF,IAAN;AAAA,yBAAhD,CAVnB;;AAAA,8BAWMP,IAAI,CAACU,MAAL,GAAcN,QAAQ,CAACM,MAX7B;AAAA;AAAA;AAAA;;AAAA,8BAW2C,IAAIC,KAAJ,CAAU,+BAAV,CAX3C;;AAAA;AAYQC,wBAAAA,MAZR,GAYiB,wBAAAR,QAAQ,MAAR,CAAAA,QAAQ,EACrB,UAACZ,GAAD,EAAMqB,GAAN,EAAWC,GAAX;AAAA,iEAAyBtB,GAAzB,2BAA+BqB,GAA/B,EAAqCb,IAAI,CAACc,GAAD,CAAzC;AAAA,yBADqB,EAErBd,IAAI,CAACI,QAAQ,CAACM,MAAV,CAAJ,IAAyB,EAFJ,CAZzB;AAAA,qCAgB4C9C,SAAS,CAACgD,MAAD,EAAS,iBAAoB;AAAA;AAAA,8BAAlBJ,KAAkB;AAAA,8BAAXO,KAAW;;AAC9E,8BAAI,QAAOA,KAAP,MAAiB,QAArB,EAA+B,OAAO,CAACP,KAAD,EAAQO,KAAR,CAAP;;AAC/B,8BAAMC,QAAQ,GAAG,aAAY,sBAAAd,UAAU,MAAV,CAAAA,UAAU,EAAM,UAAAO,CAAC;AAAA,mCAAIA,CAAC,CAACF,IAAF,KAAWC,KAAf;AAAA,2BAAP,CAAV,CAAuCH,MAAvC,CAA8CY,UAA1D,CAAjB;;AACA,8BAAMC,aAAa,GAAGrD,YAAY,CAChCM,qBAAqB,GAAG4C,KAAH,GAAWrD,WAAW,CAACqD,KAAD,CADX,EAEhC;AAAA;AAAA,gCAAE3B,GAAF;;AAAA,mCAAW,0BAAA4B,QAAQ,MAAR,CAAAA,QAAQ,EAAU5B,GAAV,CAAnB;AAAA,2BAFgC,CAAlC;AAIA,iCAAO,CAACoB,KAAD,EAAQnC,OAAO,CAAC8C,SAAR,CAAkBD,aAAlB,CAAR,CAAP;AACD,yBARkD,CAhBrD,EAgBUE,aAhBV,cAgBUA,aAhBV,EAgB4BC,WAhB5B;AAAA;AAAA,+BAyBgBhC,OAAO,CAACgC,WAAD,EAAc;AAAElB,0BAAAA,WAAW,EAAEiB;AAAf,yBAAd,CAzBvB;;AAAA;AAAA,2EAyBsEtC,IAzBtE;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,eAFsD,GAArB;AAAA,aAAd,CAjDR;AAAA,+CAgFN,eAAcE,QAAd,EAAwB;AAAEa,cAAAA,GAAG,EAAHA;AAAF,aAAxB,CAhFM;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAAf;;AAAA;AAAA;AAAA;AAAA","sourcesContent":["/*\n * ISC License (ISC)\n * Copyright (c) 2021 aeternity developers\n *\n * Permission to use, copy, modify, and/or distribute this software for any\n * purpose with or without fee is hereby granted, provided that the above\n * copyright notice and this permission notice appear in all copies.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\n * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\n * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\n * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\n * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\n * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\n * PERFORMANCE OF THIS SOFTWARE.\n */\n\n/**\n * Generator of Swagger client module\n * @module @aeternity/aepp-sdk/es/utils/swagger\n * @export genSwaggerClient\n */\n\nimport SwaggerClient from 'swagger-client'\nimport fetch from 'cross-fetch'\nimport JsonBig from './json-big'\nimport { snakizeKeys, pascalizeKeys, mapObject, filterObject } from './other'\n\nlet warnedAboutInternalApiUsage = false\n\n/**\n * Generator of Swagger client\n * @function\n * @alias module:@aeternity/aepp-sdk/es/utils/swagger\n * @rtype Object\n * @param {String} specUrl - Swagger specification URL on external node host\n * @param {Object} options\n * @param {String} [options.spec] - Override OpenAPI definition\n * @param {String} [options.internalUrl] - Node internal URL\n * @param {Boolean} [options.disableBigNumbers]\n * @param {Boolean} [options.disableCaseConversion]\n * @return {Object} Swagger client\n * @example (await genSwaggerClient('https://mainnet.aeternity.io/api')).getAccountByPubkey('ak_jupBUgZNbcC4krDLR3tAkw1iBZoBbkNeShAq4atBtpFWmz36r')\n */\nexport default async (specUrl, { spec, internalUrl, disableBigNumbers, disableCaseConversion } = {}) => {\n spec = spec || await (await fetch(specUrl)).json()\n const jsonImp = disableBigNumbers ? JSON : JsonBig\n\n if (\n [\n 'https://compiler.aepps.com',\n 'https://latest.compiler.aepps.com'\n ].includes(new URL(specUrl).origin) ||\n new URL(specUrl).origin.includes('https://')\n ) {\n spec.schemes = ['https']\n }\n\n const [external, internal] = await Promise.all([specUrl, internalUrl].map((url) => {\n if (!url) return null\n return SwaggerClient({\n url,\n spec,\n responseInterceptor: response => {\n if (!response.text) return response\n const body = jsonImp.parse(response.text)\n return Object.assign(response, {\n body: disableCaseConversion ? body : pascalizeKeys(body)\n })\n }\n })\n }))\n\n const combinedApi = [\n ...Object.values(external.apis),\n mapObject(internal?.apis.internal || {}, ([key, handler]) => [key, (...args) => {\n if (!warnedAboutInternalApiUsage) {\n console.warn(\n 'SDK\\'s wrapper of aeternity node internal API is deprecated, please use external ' +\n 'equivalent (for example, \"sdk.api.protectedDryRunTxs\" instead of \"sdk.api.dryRunTxs\") ' +\n 'or create a wrapper of internal API by yourself (using \"genSwaggerClient\")'\n )\n warnedAboutInternalApiUsage = true\n }\n return handler(...args)\n }])\n ].reduce((acc, n) => ({ ...acc, ...n }))\n\n const opSpecs = Object.values(spec.paths)\n .map(paths => Object.values(paths))\n .flat()\n .reduce((acc, n) => ({ ...acc, [n.operationId]: n }), {})\n\n const api = mapObject(combinedApi, ([opId, handler]) => [\n opId.slice(0, 1).toLowerCase() + opId.slice(1),\n async (...args) => {\n const opSpec = opSpecs[opId]\n const parameters = [\n ...opSpec.parameters,\n ...opSpec.requestBody ? [{\n required: opSpec.requestBody.required,\n schema: Object.values(opSpec.requestBody.content)[0].schema,\n name: '__requestBody'\n }] : []\n ]\n const required = parameters.filter(param => param.required).map(p => p.name)\n if (args.length < required.length) throw new Error('swagger: Not enough arguments')\n const values = required.reduce(\n (acc, req, idx) => ({ ...acc, [req]: args[idx] }),\n args[required.length] || {}\n )\n const { __requestBody, ...stringified } = mapObject(values, ([param, value]) => {\n if (typeof value !== 'object') return [param, value]\n const rootKeys = Object.keys(parameters.find(p => p.name === param).schema.properties)\n const filteredValue = filterObject(\n disableCaseConversion ? value : snakizeKeys(value),\n ([key]) => rootKeys.includes(key)\n )\n return [param, jsonImp.stringify(filteredValue)]\n })\n return (await handler(stringified, { requestBody: __requestBody })).body\n }\n ])\n\n return Object.assign(external, { api })\n}\n"],"file":"swagger.js"}
1
+ {"version":3,"sources":["../../src/utils/swagger.js"],"names":["SwaggerClient","fetch","JsonBig","snakizeKeys","pascalizeKeys","mapObject","filterObject","warnedAboutInternalApiUsage","specUrl","spec","internalUrl","disableBigNumbers","disableCaseConversion","responseInterceptor","json","jsonImp","JSON","includes","URL","origin","schemes","external","internal","Promise","all","map","url","response","text","body","parse","Object","assign","combinedApi","values","apis","key","handler","console","warn","reduce","acc","n","opSpecs","paths","flat","operationId","api","opId","slice","toLowerCase","args","opSpec","parameters","requestBody","required","schema","content","name","filter","param","p","length","Error","req","idx","__requestBody","stringified","value","rootKeys","keys","find","properties","filteredValue","stringify"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AAEA,OAAOA,aAAP,MAA0B,gBAA1B;AACA,OAAOC,KAAP,MAAkB,aAAlB;AACA,OAAOC,OAAP,MAAoB,YAApB;AACA,SAASC,WAAT,EAAsBC,aAAtB,EAAqCC,SAArC,EAAgDC,YAAhD,QAAoE,SAApE;AAEA,IAAIC,2BAA2B,GAAG,KAAlC;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,gBAAe,gBACbC,OADa,EAGV;AAAA,MADH;AAAEC,IAAAA,IAAF;AAAQC,IAAAA,WAAR;AAAqBC,IAAAA,iBAArB;AAAwCC,IAAAA,qBAAxC;AAA+DC,IAAAA;AAA/D,GACG,uEADoF,EACpF;AACHJ,EAAAA,IAAI,GAAGA,IAAI,KAAI,MAAM,CAAC,MAAMR,KAAK,CAACO,OAAD,CAAZ,EAAuBM,IAAvB,EAAV,CAAX;AACA,QAAMC,OAAO,GAAGJ,iBAAiB,GAAGK,IAAH,GAAUd,OAA3C;;AAEA,MACE,CACE,4BADF,EAEE,mCAFF,EAGEe,QAHF,CAGW,IAAIC,GAAJ,CAAQV,OAAR,EAAiBW,MAH5B,KAIA,IAAID,GAAJ,CAAQV,OAAR,EAAiBW,MAAjB,CAAwBF,QAAxB,CAAiC,UAAjC,CALF,EAME;AACAR,IAAAA,IAAI,CAACW,OAAL,GAAe,CAAC,OAAD,CAAf;AACD;;AAED,QAAM,CAACC,QAAD,EAAWC,QAAX,IAAuB,MAAMC,OAAO,CAACC,GAAR,CAAY,CAAChB,OAAD,EAAUE,WAAV,EAAuBe,GAAvB,CAA4BC,GAAD,IAAS;AACjF,QAAI,CAACA,GAAL,EAAU,OAAO,IAAP;AACV,WAAO1B,aAAa,CAAC;AACnB0B,MAAAA,GADmB;AAEnBjB,MAAAA,IAFmB;AAGnBI,MAAAA,mBAAmB,EAAEc,QAAQ,IAAI;AAC/B,YAAI,CAACA,QAAQ,CAACC,IAAd,EAAoB,OAAOD,QAAP;AACpB,cAAME,IAAI,GAAGd,OAAO,CAACe,KAAR,CAAcH,QAAQ,CAACC,IAAvB,CAAb;AACAG,QAAAA,MAAM,CAACC,MAAP,CAAcL,QAAd,EAAwB;AACtBE,UAAAA,IAAI,EAAEjB,qBAAqB,GAAGiB,IAAH,GAAUzB,aAAa,CAACyB,IAAD;AAD5B,SAAxB;AAGA,eAAQhB,mBAAmB,IAAIA,mBAAmB,CAACc,QAAD,CAA3C,IAA0DA,QAAjE;AACD;AAVkB,KAAD,CAApB;AAYD,GAd8C,CAAZ,CAAnC;AAgBA,QAAMM,WAAW,GAAG,CAClB,GAAGF,MAAM,CAACG,MAAP,CAAcb,QAAQ,CAACc,IAAvB,CADe,EAElB9B,SAAS,CAAC,CAAAiB,QAAQ,SAAR,IAAAA,QAAQ,WAAR,YAAAA,QAAQ,CAAEa,IAAV,CAAeb,QAAf,KAA2B,EAA5B,EAAgC;AAAA,QAAC,CAACc,GAAD,EAAMC,OAAN,CAAD;AAAA,WAAoB,CAACD,GAAD,EAAM,YAAa;AAC9E,UAAI,CAAC7B,2BAAL,EAAkC;AAChC+B,QAAAA,OAAO,CAACC,IAAR,CACE,sFACA,wFADA,GAEA,4EAHF;AAKAhC,QAAAA,2BAA2B,GAAG,IAA9B;AACD;;AACD,aAAO8B,OAAO,CAAC,YAAD,CAAd;AACD,KAV4D,CAApB;AAAA,GAAhC,CAFS,EAalBG,MAbkB,CAaX,CAACC,GAAD,EAAMC,CAAN,MAAa,EAAE,GAAGD,GAAL;AAAU,OAAGC;AAAb,GAAb,CAbW,CAApB;AAeA,QAAMC,OAAO,GAAGZ,MAAM,CAACG,MAAP,CAAczB,IAAI,CAACmC,KAAnB,EACbnB,GADa,CACTmB,KAAK,IAAIb,MAAM,CAACG,MAAP,CAAcU,KAAd,CADA,EAEbC,IAFa,GAGbL,MAHa,CAGN,CAACC,GAAD,EAAMC,CAAN,MAAa,EAAE,GAAGD,GAAL;AAAU,KAACC,CAAC,CAACI,WAAH,GAAiBJ;AAA3B,GAAb,CAHM,EAGwC,EAHxC,CAAhB;AAKA,QAAMK,GAAG,GAAG1C,SAAS,CAAC4B,WAAD,EAAc;AAAA,QAAC,CAACe,IAAD,EAAOX,OAAP,CAAD;AAAA,WAAqB,CACtDW,IAAI,CAACC,KAAL,CAAW,CAAX,EAAc,CAAd,EAAiBC,WAAjB,KAAiCF,IAAI,CAACC,KAAL,CAAW,CAAX,CADqB,EAEtD,kBAAmB;AAAA,wCAATE,IAAS;AAATA,QAAAA,IAAS;AAAA;;AACjB,YAAMC,MAAM,GAAGT,OAAO,CAACK,IAAD,CAAtB;AACA,YAAMK,UAAU,GAAG,CACjB,GAAGD,MAAM,CAACC,UADO,EAEjB,IAAGD,MAAM,CAACE,WAAP,GACC,CAAC;AACCC,QAAAA,QAAQ,EAAEH,MAAM,CAACE,WAAP,CAAmBC,QAD9B;AAECC,QAAAA,MAAM,EAAEzB,MAAM,CAACG,MAAP,CAAckB,MAAM,CAACE,WAAP,CAAmBG,OAAjC,EAA0C,CAA1C,EAA6CD,MAFtD;AAGCE,QAAAA,IAAI,EAAE;AAHP,OAAD,CADD,GAMC,EANJ,CAFiB,CAAnB;AAUA,YAAMH,QAAQ,GAAGF,UAAU,CAACM,MAAX,CAAkBC,KAAK,IAAIA,KAAK,CAACL,QAAjC,EAA2C9B,GAA3C,CAA+CoC,CAAC,IAAIA,CAAC,CAACH,IAAtD,CAAjB;AACA,UAAIP,IAAI,CAACW,MAAL,GAAcP,QAAQ,CAACO,MAA3B,EAAmC,MAAM,IAAIC,KAAJ,CAAU,+BAAV,CAAN;AACnC,YAAM7B,MAAM,GAAGqB,QAAQ,CAACf,MAAT,CACb,CAACC,GAAD,EAAMuB,GAAN,EAAWC,GAAX,MAAoB,EAAE,GAAGxB,GAAL;AAAU,SAACuB,GAAD,GAAOb,IAAI,CAACc,GAAD;AAArB,OAApB,CADa,EAEbd,IAAI,CAACI,QAAQ,CAACO,MAAV,CAAJ,IAAyB,EAFZ,CAAf;AAIA,YAAM;AAAEI,QAAAA,aAAF;AAAiB,WAAGC;AAApB,UAAoC9D,SAAS,CAAC6B,MAAD,EAAS,SAAoB;AAAA,YAAnB,CAAC0B,KAAD,EAAQQ,KAAR,CAAmB;AAC9E,YAAI,OAAOA,KAAP,KAAiB,QAArB,EAA+B,OAAO,CAACR,KAAD,EAAQQ,KAAR,CAAP;AAC/B,cAAMC,QAAQ,GAAGtC,MAAM,CAACuC,IAAP,CAAYjB,UAAU,CAACkB,IAAX,CAAgBV,CAAC,IAAIA,CAAC,CAACH,IAAF,KAAWE,KAAhC,EAAuCJ,MAAvC,CAA8CgB,UAA1D,CAAjB;AACA,cAAMC,aAAa,GAAGnE,YAAY,CAChCM,qBAAqB,GAAGwD,KAAH,GAAWjE,WAAW,CAACiE,KAAD,CADX,EAEhC;AAAA,cAAC,CAAChC,GAAD,CAAD;AAAA,iBAAWiC,QAAQ,CAACpD,QAAT,CAAkBmB,GAAlB,CAAX;AAAA,SAFgC,CAAlC;AAIA,eAAO,CAACwB,KAAD,EAAQ7C,OAAO,CAAC2D,SAAR,CAAkBD,aAAlB,CAAR,CAAP;AACD,OARkD,CAAnD;AASA,aAAO,CAAC,MAAMpC,OAAO,CAAC8B,WAAD,EAAc;AAAEb,QAAAA,WAAW,EAAEY;AAAf,OAAd,CAAd,EAA6DrC,IAApE;AACD,KA9BqD,CAArB;AAAA,GAAd,CAArB;AAiCA,SAAOE,MAAM,CAACC,MAAP,CAAcX,QAAd,EAAwB;AAAE0B,IAAAA;AAAF,GAAxB,CAAP;AACD,CAvFD","sourcesContent":["/*\n * ISC License (ISC)\n * Copyright (c) 2021 aeternity developers\n *\n * Permission to use, copy, modify, and/or distribute this software for any\n * purpose with or without fee is hereby granted, provided that the above\n * copyright notice and this permission notice appear in all copies.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\n * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\n * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\n * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\n * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\n * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\n * PERFORMANCE OF THIS SOFTWARE.\n */\n\n/**\n * Generator of Swagger client module\n * @module @aeternity/aepp-sdk/es/utils/swagger\n * @export genSwaggerClient\n */\n\nimport SwaggerClient from 'swagger-client'\nimport fetch from 'cross-fetch'\nimport JsonBig from './json-big'\nimport { snakizeKeys, pascalizeKeys, mapObject, filterObject } from './other'\n\nlet warnedAboutInternalApiUsage = false\n\n/**\n * Generator of Swagger client\n * @function\n * @alias module:@aeternity/aepp-sdk/es/utils/swagger\n * @rtype Object\n * @param {String} specUrl - Swagger specification URL on external node host\n * @param {Object} options\n * @param {String} [options.spec] - Override OpenAPI definition\n * @param {String} [options.internalUrl] - Node internal URL\n * @param {Boolean} [options.disableBigNumbers]\n * @param {Boolean} [options.disableCaseConversion]\n * @param {Function} [options.responseInterceptor]\n * @return {Object} Swagger client\n * @example (await genSwaggerClient('https://mainnet.aeternity.io/api')).getAccountByPubkey('ak_jupBUgZNbcC4krDLR3tAkw1iBZoBbkNeShAq4atBtpFWmz36r')\n */\nexport default async (\n specUrl,\n { spec, internalUrl, disableBigNumbers, disableCaseConversion, responseInterceptor } = {}\n) => {\n spec = spec || await (await fetch(specUrl)).json()\n const jsonImp = disableBigNumbers ? JSON : JsonBig\n\n if (\n [\n 'https://compiler.aepps.com',\n 'https://latest.compiler.aepps.com'\n ].includes(new URL(specUrl).origin) ||\n new URL(specUrl).origin.includes('https://')\n ) {\n spec.schemes = ['https']\n }\n\n const [external, internal] = await Promise.all([specUrl, internalUrl].map((url) => {\n if (!url) return null\n return SwaggerClient({\n url,\n spec,\n responseInterceptor: response => {\n if (!response.text) return response\n const body = jsonImp.parse(response.text)\n Object.assign(response, {\n body: disableCaseConversion ? body : pascalizeKeys(body)\n })\n return (responseInterceptor && responseInterceptor(response)) || response\n }\n })\n }))\n\n const combinedApi = [\n ...Object.values(external.apis),\n mapObject(internal?.apis.internal || {}, ([key, handler]) => [key, (...args) => {\n if (!warnedAboutInternalApiUsage) {\n console.warn(\n 'SDK\\'s wrapper of aeternity node internal API is deprecated, please use external ' +\n 'equivalent (for example, \"sdk.api.protectedDryRunTxs\" instead of \"sdk.api.dryRunTxs\") ' +\n 'or create a wrapper of internal API by yourself (using \"genSwaggerClient\")'\n )\n warnedAboutInternalApiUsage = true\n }\n return handler(...args)\n }])\n ].reduce((acc, n) => ({ ...acc, ...n }))\n\n const opSpecs = Object.values(spec.paths)\n .map(paths => Object.values(paths))\n .flat()\n .reduce((acc, n) => ({ ...acc, [n.operationId]: n }), {})\n\n const api = mapObject(combinedApi, ([opId, handler]) => [\n opId.slice(0, 1).toLowerCase() + opId.slice(1),\n async (...args) => {\n const opSpec = opSpecs[opId]\n const parameters = [\n ...opSpec.parameters,\n ...opSpec.requestBody\n ? [{\n required: opSpec.requestBody.required,\n schema: Object.values(opSpec.requestBody.content)[0].schema,\n name: '__requestBody'\n }]\n : []\n ]\n const required = parameters.filter(param => param.required).map(p => p.name)\n if (args.length < required.length) throw new Error('swagger: Not enough arguments')\n const values = required.reduce(\n (acc, req, idx) => ({ ...acc, [req]: args[idx] }),\n args[required.length] || {}\n )\n const { __requestBody, ...stringified } = mapObject(values, ([param, value]) => {\n if (typeof value !== 'object') return [param, value]\n const rootKeys = Object.keys(parameters.find(p => p.name === param).schema.properties)\n const filteredValue = filterObject(\n disableCaseConversion ? value : snakizeKeys(value),\n ([key]) => rootKeys.includes(key)\n )\n return [param, jsonImp.stringify(filteredValue)]\n })\n return (await handler(stringified, { requestBody: __requestBody })).body\n }\n ])\n\n return Object.assign(external, { api })\n}\n"],"file":"swagger.js"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aeternity/aepp-sdk",
3
- "version": "9.0.1",
3
+ "version": "10.0.0-beta.1",
4
4
  "description": "SDK for the æternity blockchain",
5
5
  "main": "dist/aepp-sdk.js",
6
6
  "types": "es/index.d.ts",
@@ -16,14 +16,14 @@
16
16
  "docs:examples": "node tooling/docs/examples-to-md.js examples/node/*.js",
17
17
  "docs:api": "node apidoc.js",
18
18
  "docs:changelog": "cp CHANGELOG.md docs/CHANGELOG.md",
19
- "lint": "commitlint --from develop --verbose && ts-standard",
20
- "test": "nyc --require @babel/register --require ts-node/register mocha --recursive --exit --timeout 10m",
19
+ "lint": "commitlint --from 635f1aa --verbose && ts-standard",
20
+ "test": "nyc --require @babel/register --require ts-node/register mocha './test/unit/' './test/integration/' --recursive --exit --timeout 40s",
21
21
  "report-coverage": "nyc report --reporter=text-lcov > coverage.lcov && codecov",
22
- "test:integration:channel,accounts": "nyc --require @babel/register --require ts-node/register mocha './test/integration/@(channel|accounts).js' --exit --timeout 10m",
23
- "test:integration:contract,chain": "nyc --require @babel/register --require ts-node/register mocha './test/integration/@(contract|chain).js' --timeout 10m",
24
- "test:integration:else": "nyc --require @babel/register --require ts-node/register mocha './test/integration/!(channel|accounts|contract|chain).js' --timeout 10m",
22
+ "test:integration:channel,accounts": "nyc --require @babel/register --require ts-node/register mocha './test/integration/@(channel|accounts).js' --exit --timeout 40s",
23
+ "test:integration:contract,chain": "nyc --require @babel/register --require ts-node/register mocha './test/integration/@(contract|contract-aci|chain).js' --timeout 40s",
24
+ "test:integration:else": "nyc --require @babel/register --require ts-node/register mocha './test/integration/!(channel|accounts|contract|chain).js' --timeout 40s",
25
25
  "test:unit": "nyc --require @babel/register --require ts-node/register mocha './test/unit/*'",
26
- "test:watch": "mocha --recursive --require @babel/register --require ts-node/register --watch --timeout 10m",
26
+ "test:watch": "mocha --recursive --require @babel/register --require ts-node/register --watch --timeout 40s",
27
27
  "prepare": "npm run build",
28
28
  "prepublishOnly": "npm run docs:examples && npm run docs:changelog",
29
29
  "release": "standard-version --skip.tag"
@@ -36,30 +36,30 @@
36
36
  "SDK"
37
37
  ],
38
38
  "dependencies": {
39
+ "@aeternity/aepp-calldata": "^1.0.0-rc1",
39
40
  "@aeternity/bip39": "^0.1.0",
40
41
  "@aeternity/json-bigint": "^0.3.1",
41
- "@babel/runtime-corejs3": "^7.14.0",
42
+ "@babel/runtime-corejs3": "^7.16.3",
42
43
  "@stamp/it": "^1.1.0",
43
44
  "@stamp/required": "^1.0.1",
44
45
  "aes-js": "^3.1.2",
45
46
  "bignumber.js": "^9.0.1",
46
47
  "bip32-path": "^0.4.2",
47
- "blakejs": "^1.1.0",
48
+ "blakejs": "^1.1.1",
48
49
  "bs58check": "^2.1.2",
49
50
  "buffer": "^6.0.3",
50
51
  "cross-fetch": "^3.1.4",
51
52
  "crypto-browserify": "^3.12.0",
52
53
  "ed2curve": "^0.3.0",
53
54
  "events": "^3.3.0",
54
- "joi-browser": "^13.4.0",
55
- "libsodium-wrappers-sumo": "0.7.9",
55
+ "libsodium-wrappers-sumo": "^0.7.9",
56
56
  "path-browserify": "^1.0.1",
57
57
  "process": "^0.11.10",
58
58
  "ramda": "^0.27.1",
59
- "rlp": "2.2.6",
59
+ "rlp": "^2.2.7",
60
60
  "sha.js": "^2.4.11",
61
61
  "stream-browserify": "^3.0.0",
62
- "swagger-client": "^3.13.5",
62
+ "swagger-client": "^3.17.0",
63
63
  "tweetnacl": "^1.0.3",
64
64
  "tweetnacl-auth": "^1.0.1",
65
65
  "uuid": "^8.3.2",
@@ -70,38 +70,36 @@
70
70
  "url": "https://github.com/aeternity/aepp-sdk-js"
71
71
  },
72
72
  "devDependencies": {
73
- "@babel/cli": "7.14.3",
74
- "@babel/core": "7.14.3",
75
- "@babel/node": "7.14.2",
76
- "@babel/plugin-proposal-export-default-from": "7.12.13",
77
- "@babel/plugin-proposal-object-rest-spread": "7.14.4",
78
- "@babel/plugin-transform-runtime": "7.14.3",
79
- "@babel/preset-env": "7.14.4",
80
- "@babel/preset-typescript": "^7.13.0",
81
- "@babel/register": "7.13.16",
82
- "@commitlint/cli": "^12.1.4",
83
- "@commitlint/config-conventional": "^12.1.4",
73
+ "@babel/cli": "^7.16.0",
74
+ "@babel/core": "^7.16.0",
75
+ "@babel/node": "^7.16.0",
76
+ "@babel/plugin-transform-runtime": "^7.16.4",
77
+ "@babel/preset-env": "^7.16.4",
78
+ "@babel/preset-typescript": "^7.16.0",
79
+ "@babel/register": "^7.16.0",
80
+ "@commitlint/cli": "^15.0.0",
81
+ "@commitlint/config-conventional": "^15.0.0",
84
82
  "@types/bn.js": "^5.1.0",
85
- "@types/chai": "^4.2.18",
86
- "@types/mocha": "^8.2.2",
87
- "@types/node": "^15.6.1",
88
- "babel-loader": "^8.2.2",
83
+ "@types/chai": "^4.2.22",
84
+ "@types/mocha": "^9.0.0",
85
+ "@types/node": "^16.11.9",
86
+ "babel-loader": "^8.2.3",
89
87
  "babel-plugin-ramda": "^2.0.0",
90
88
  "chai": "^4.3.4",
91
89
  "chai-as-promised": "^7.1.1",
92
- "codecov": "^3.8.2",
93
- "jsdoc-to-markdown": "^7.0.1",
94
- "mocha": "^8.4.0",
90
+ "codecov": "^3.8.3",
91
+ "jsdoc-to-markdown": "^7.1.0",
92
+ "mocha": "^9.1.3",
95
93
  "nyc": "^15.1.0",
96
- "sinon": "^11.1.1",
94
+ "sinon": "^12.0.1",
97
95
  "source-map": "^0.7.3",
98
- "standard-version": "^9.3.0",
99
- "ts-node": "^10.0.0",
100
- "ts-standard": "^10.0.0",
101
- "typescript": "4.2.4",
102
- "webpack": "^5.38.1",
103
- "webpack-bundle-analyzer": "^4.4.2",
104
- "webpack-cli": "4.7.0"
96
+ "standard-version": "^9.3.2",
97
+ "ts-node": "^10.4.0",
98
+ "ts-standard": "^11.0.0",
99
+ "typescript": "^4.5.2",
100
+ "webpack": "^5.64.1",
101
+ "webpack-bundle-analyzer": "^4.5.0",
102
+ "webpack-cli": "^4.9.1"
105
103
  },
106
104
  "files": [
107
105
  "dist",
@@ -112,5 +110,11 @@
112
110
  "ignore": [
113
111
  "examples/**/*.js"
114
112
  ]
115
- }
113
+ },
114
+ "browserslist": [
115
+ "> 1%",
116
+ "last 2 versions",
117
+ "not dead",
118
+ "not ie 11"
119
+ ]
116
120
  }
@@ -21,7 +21,6 @@
21
21
  * @export AccountMultiple
22
22
  */
23
23
 
24
- import * as R from 'ramda'
25
24
  import AsyncInit from '../utils/async-init'
26
25
  import MemoryAccount from './memory'
27
26
  import { decode } from '../tx/builder/helpers'
@@ -50,15 +49,11 @@ import AccountBase, { isAccountBase } from './base'
50
49
  */
51
50
  export default AccountBase.compose(AsyncInit, {
52
51
  async init ({ accounts = [], address }) {
53
- /* An Account maynot be required for the Node/Chain methods */
54
- if (Array.isArray(accounts) && accounts.length) {
55
- this.accounts = R.fromPairs(await Promise.all(accounts.map(async a => [await a.address(), a])))
56
- if (!address) address = Object.keys(this.accounts)[0]
57
- decode(address, 'ak')
58
- this.selectedAddress = address
59
- } else {
60
- console.warn('No account/accounts supplied')
61
- }
52
+ this.accounts = Object.fromEntries(await Promise.all(
53
+ accounts.map(async a => [await a.address(), a])
54
+ ))
55
+ address = address || Object.keys(this.accounts)[0]
56
+ if (address) this.selectAccount(address)
62
57
  },
63
58
  props: {
64
59
  accounts: {}
@@ -138,15 +133,19 @@ export default AccountBase.compose(AsyncInit, {
138
133
  * @private
139
134
  */
140
135
  _resolveAccount (account) {
141
- switch (typeof account) {
142
- case 'string':
143
- decode(account, 'ak')
144
- if (!this.accounts[account]) throw new Error(`Account for ${account} not available`)
145
- return this.accounts[account]
146
- case 'object':
147
- return isAccountBase(account) ? account : MemoryAccount({ keypair: account })
148
- default:
149
- throw new Error(`Unknown account type: ${typeof account} (account: ${account})`)
136
+ if (account === null) {
137
+ throw new Error('No account or wallet configured')
138
+ } else {
139
+ switch (typeof account) {
140
+ case 'string':
141
+ decode(account, 'ak')
142
+ if (!this.accounts[account]) throw new Error(`Account for ${account} not available`)
143
+ return this.accounts[account]
144
+ case 'object':
145
+ return isAccountBase(account) ? account : MemoryAccount({ keypair: account })
146
+ default:
147
+ throw new Error(`Unknown account type: ${typeof account} (account: ${account})`)
148
+ }
150
149
  }
151
150
  }
152
151
  }