@aeternity/aepp-sdk 8.2.1 → 10.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (159) hide show
  1. package/CHANGELOG.md +216 -337
  2. package/README.md +16 -9
  3. package/dist/aepp-sdk.browser-script.js +1 -1
  4. package/dist/aepp-sdk.browser-script.js.LICENSE.txt +0 -9
  5. package/dist/aepp-sdk.browser-script.js.map +1 -1
  6. package/dist/aepp-sdk.browser.js +1 -1
  7. package/dist/aepp-sdk.browser.js.map +1 -1
  8. package/dist/aepp-sdk.js +1 -1
  9. package/dist/aepp-sdk.js.map +1 -1
  10. package/es/account/base.js +36 -120
  11. package/es/account/base.js.map +1 -1
  12. package/es/account/memory.js +17 -19
  13. package/es/account/memory.js.map +1 -1
  14. package/es/account/multiple.js +79 -156
  15. package/es/account/multiple.js.map +1 -1
  16. package/es/ae/aens.js +205 -626
  17. package/es/ae/aens.js.map +1 -1
  18. package/es/ae/contract.js +114 -918
  19. package/es/ae/contract.js.map +1 -1
  20. package/es/ae/index.js +90 -250
  21. package/es/ae/index.js.map +1 -1
  22. package/es/ae/oracle.js +136 -504
  23. package/es/ae/oracle.js.map +1 -1
  24. package/es/ae/universal.js.map +1 -1
  25. package/es/chain/index.js +12 -27
  26. package/es/chain/index.js.map +1 -1
  27. package/es/chain/node.js +289 -1020
  28. package/es/chain/node.js.map +1 -1
  29. package/es/channel/handlers.js +597 -1086
  30. package/es/channel/handlers.js.map +1 -1
  31. package/es/channel/index.js +238 -465
  32. package/es/channel/index.js.map +1 -1
  33. package/es/channel/internal.js +129 -301
  34. package/es/channel/internal.js.map +1 -1
  35. package/es/contract/aci/index.js +328 -495
  36. package/es/contract/aci/index.js.map +1 -1
  37. package/es/contract/aci/transformation.js +35 -711
  38. package/es/contract/aci/transformation.js.map +1 -1
  39. package/es/contract/compiler.js +131 -203
  40. package/es/contract/compiler.js.map +1 -1
  41. package/es/contract/ga/helpers.js +17 -122
  42. package/es/contract/ga/helpers.js.map +1 -1
  43. package/es/contract/ga/index.js +108 -249
  44. package/es/contract/ga/index.js.map +1 -1
  45. package/es/contract/index.js +7 -3
  46. package/es/contract/index.js.map +1 -1
  47. package/es/index.js +3 -3
  48. package/es/index.js.map +1 -1
  49. package/es/node-pool/index.js +57 -74
  50. package/es/node-pool/index.js.map +1 -1
  51. package/es/node.js +65 -161
  52. package/es/node.js.map +1 -1
  53. package/es/other.d.ts +1 -1
  54. package/es/tx/builder/helpers.js +62 -115
  55. package/es/tx/builder/helpers.js.map +1 -1
  56. package/es/tx/builder/index.js +218 -309
  57. package/es/tx/builder/index.js.map +1 -1
  58. package/es/tx/builder/schema.js +586 -573
  59. package/es/tx/builder/schema.js.map +1 -1
  60. package/es/tx/index.js +102 -13
  61. package/es/tx/index.js.map +1 -1
  62. package/es/tx/tx-object.js +114 -138
  63. package/es/tx/tx-object.js.map +1 -1
  64. package/es/tx/tx.js +810 -1586
  65. package/es/tx/tx.js.map +1 -1
  66. package/es/tx/validator.js +191 -426
  67. package/es/tx/validator.js.map +1 -1
  68. package/es/utils/aepp-wallet-communication/connection/browser-runtime.js +20 -23
  69. package/es/utils/aepp-wallet-communication/connection/browser-runtime.js.map +1 -1
  70. package/es/utils/aepp-wallet-communication/connection/browser-window-message.js +53 -80
  71. package/es/utils/aepp-wallet-communication/connection/browser-window-message.js.map +1 -1
  72. package/es/utils/aepp-wallet-communication/connection/index.js +2 -1
  73. package/es/utils/aepp-wallet-communication/connection/index.js.map +1 -1
  74. package/es/utils/aepp-wallet-communication/content-script-bridge.js +24 -19
  75. package/es/utils/aepp-wallet-communication/content-script-bridge.js.map +1 -1
  76. package/es/utils/aepp-wallet-communication/helpers.js +60 -105
  77. package/es/utils/aepp-wallet-communication/helpers.js.map +1 -1
  78. package/es/utils/aepp-wallet-communication/rpc/aepp-rpc.js +191 -514
  79. package/es/utils/aepp-wallet-communication/rpc/aepp-rpc.js.map +1 -1
  80. package/es/utils/aepp-wallet-communication/rpc/rpc-client.js +78 -93
  81. package/es/utils/aepp-wallet-communication/rpc/rpc-client.js.map +1 -1
  82. package/es/utils/aepp-wallet-communication/rpc/wallet-rpc.js +381 -613
  83. package/es/utils/aepp-wallet-communication/rpc/wallet-rpc.js.map +1 -1
  84. package/es/utils/aepp-wallet-communication/schema.js +43 -39
  85. package/es/utils/aepp-wallet-communication/schema.js.map +1 -1
  86. package/es/utils/aepp-wallet-communication/wallet-detector.js +32 -58
  87. package/es/utils/aepp-wallet-communication/wallet-detector.js.map +1 -1
  88. package/es/utils/amount-formatter.js +41 -61
  89. package/es/utils/amount-formatter.js.map +1 -1
  90. package/es/utils/async-init.js +28 -64
  91. package/es/utils/async-init.js.map +1 -1
  92. package/es/utils/bignumber.js +3 -11
  93. package/es/utils/bignumber.js.map +1 -1
  94. package/es/utils/bytes.js +5 -9
  95. package/es/utils/bytes.js.map +1 -1
  96. package/es/utils/crypto.js +41 -106
  97. package/es/utils/crypto.js.map +1 -1
  98. package/es/utils/hd-wallet.js +45 -81
  99. package/es/utils/hd-wallet.js.map +1 -1
  100. package/es/utils/json-big.js +16 -49
  101. package/es/utils/json-big.js.map +1 -1
  102. package/es/utils/keystore.js +81 -246
  103. package/es/utils/keystore.js.map +1 -1
  104. package/es/utils/mptree.js +88 -134
  105. package/es/utils/mptree.js.map +1 -1
  106. package/es/utils/other.js +10 -60
  107. package/es/utils/other.js.map +1 -1
  108. package/es/utils/semver-satisfies.js +9 -28
  109. package/es/utils/semver-satisfies.js.map +1 -1
  110. package/es/utils/string.js +4 -13
  111. package/es/utils/string.js.map +1 -1
  112. package/es/utils/swagger.js +87 -224
  113. package/es/utils/swagger.js.map +1 -1
  114. package/package.json +51 -44
  115. package/src/account/base.js +11 -10
  116. package/src/account/multiple.js +24 -18
  117. package/src/ae/aens.js +64 -61
  118. package/src/ae/contract.js +71 -248
  119. package/src/ae/index.js +34 -9
  120. package/src/ae/oracle.js +30 -22
  121. package/src/ae/universal.js +3 -1
  122. package/src/chain/index.js +10 -16
  123. package/src/chain/node.js +38 -38
  124. package/src/channel/handlers.js +10 -4
  125. package/src/channel/index.js +44 -20
  126. package/src/contract/aci/index.js +234 -112
  127. package/src/contract/aci/transformation.js +30 -422
  128. package/src/contract/compiler.js +50 -5
  129. package/src/contract/ga/helpers.js +6 -14
  130. package/src/contract/ga/index.js +28 -28
  131. package/src/contract/index.js +6 -2
  132. package/src/index.js +4 -4
  133. package/src/node-pool/index.js +24 -13
  134. package/src/node.js +29 -30
  135. package/src/tx/builder/helpers.js +31 -56
  136. package/src/tx/builder/index.js +67 -28
  137. package/src/tx/builder/schema.js +79 -121
  138. package/src/tx/index.js +101 -12
  139. package/src/tx/tx-object.js +25 -8
  140. package/src/tx/tx.js +229 -150
  141. package/src/tx/validator.js +134 -202
  142. package/src/utils/aepp-wallet-communication/connection/browser-runtime.js +3 -2
  143. package/src/utils/aepp-wallet-communication/connection/browser-window-message.js +25 -7
  144. package/src/utils/aepp-wallet-communication/connection/index.js +2 -1
  145. package/src/utils/aepp-wallet-communication/content-script-bridge.js +10 -4
  146. package/src/utils/aepp-wallet-communication/helpers.js +4 -2
  147. package/src/utils/aepp-wallet-communication/rpc/aepp-rpc.js +33 -12
  148. package/src/utils/aepp-wallet-communication/rpc/rpc-client.js +9 -5
  149. package/src/utils/aepp-wallet-communication/rpc/wallet-rpc.js +59 -29
  150. package/src/utils/aepp-wallet-communication/schema.js +1 -3
  151. package/src/utils/aepp-wallet-communication/wallet-detector.js +4 -1
  152. package/src/utils/amount-formatter.ts +1 -1
  153. package/src/utils/bignumber.ts +2 -1
  154. package/src/utils/crypto.js +4 -68
  155. package/src/utils/keystore.js +10 -2
  156. package/src/utils/other.ts +1 -1
  157. package/src/utils/semver-satisfies.ts +1 -1
  158. package/src/utils/swagger.js +22 -10
  159. package/src/contract/aci/helpers.js +0 -140
@@ -1,13 +1,3 @@
1
- import _defineProperty from "@babel/runtime-corejs3/helpers/defineProperty";
2
-
3
- var _DENOMINATION_MAGNITU;
4
-
5
- import _Object$values from "@babel/runtime-corejs3/core-js-stable/object/values";
6
- import _includesInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/includes";
7
- import _reduceInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/reduce";
8
- import _findInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/find";
9
- import _concatInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/concat";
10
-
11
1
  /*
12
2
  * ISC License (ISC)
13
3
  * Copyright (c) 2018 aeternity developers
@@ -36,7 +26,7 @@ import { isBigNumber } from './bignumber';
36
26
  * AE amount formats
37
27
  */
38
28
 
39
- export var AE_AMOUNT_FORMATS = {
29
+ export const AE_AMOUNT_FORMATS = {
40
30
  AE: 'ae',
41
31
  MILI_AE: 'miliAE',
42
32
  MICRO_AE: 'microAE',
@@ -49,7 +39,15 @@ export var AE_AMOUNT_FORMATS = {
49
39
  * DENOMINATION_MAGNITUDE
50
40
  */
51
41
 
52
- export var DENOMINATION_MAGNITUDE = (_DENOMINATION_MAGNITU = {}, _defineProperty(_DENOMINATION_MAGNITU, AE_AMOUNT_FORMATS.AE, 0), _defineProperty(_DENOMINATION_MAGNITU, AE_AMOUNT_FORMATS.MILI_AE, -3), _defineProperty(_DENOMINATION_MAGNITU, AE_AMOUNT_FORMATS.MICRO_AE, -6), _defineProperty(_DENOMINATION_MAGNITU, AE_AMOUNT_FORMATS.NANO_AE, -9), _defineProperty(_DENOMINATION_MAGNITU, AE_AMOUNT_FORMATS.PICO_AE, -12), _defineProperty(_DENOMINATION_MAGNITU, AE_AMOUNT_FORMATS.FEMTO_AE, -15), _defineProperty(_DENOMINATION_MAGNITU, AE_AMOUNT_FORMATS.AETTOS, -18), _DENOMINATION_MAGNITU);
42
+ export const DENOMINATION_MAGNITUDE = {
43
+ [AE_AMOUNT_FORMATS.AE]: 0,
44
+ [AE_AMOUNT_FORMATS.MILI_AE]: -3,
45
+ [AE_AMOUNT_FORMATS.MICRO_AE]: -6,
46
+ [AE_AMOUNT_FORMATS.NANO_AE]: -9,
47
+ [AE_AMOUNT_FORMATS.PICO_AE]: -12,
48
+ [AE_AMOUNT_FORMATS.FEMTO_AE]: -15,
49
+ [AE_AMOUNT_FORMATS.AETTOS]: -18
50
+ };
53
51
  /**
54
52
  * Convert amount to AE
55
53
  * @param {String|Number|BigNumber} value amount to convert
@@ -58,13 +56,12 @@ export var DENOMINATION_MAGNITUDE = (_DENOMINATION_MAGNITU = {}, _defineProperty
58
56
  * @return {String}
59
57
  */
60
58
 
61
- export var toAe = function toAe(value) {
62
- var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
63
- _ref$denomination = _ref.denomination,
64
- denomination = _ref$denomination === void 0 ? AE_AMOUNT_FORMATS.AETTOS : _ref$denomination;
65
-
59
+ export const toAe = function (value) {
60
+ let {
61
+ denomination = AE_AMOUNT_FORMATS.AETTOS
62
+ } = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
66
63
  return formatAmount(value, {
67
- denomination: denomination,
64
+ denomination,
68
65
  targetDenomination: AE_AMOUNT_FORMATS.AE
69
66
  });
70
67
  };
@@ -76,13 +73,12 @@ export var toAe = function toAe(value) {
76
73
  * @return {String}
77
74
  */
78
75
 
79
- export var toAettos = function toAettos(value) {
80
- var _ref2 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
81
- _ref2$denomination = _ref2.denomination,
82
- denomination = _ref2$denomination === void 0 ? AE_AMOUNT_FORMATS.AE : _ref2$denomination;
83
-
76
+ export const toAettos = function (value) {
77
+ let {
78
+ denomination = AE_AMOUNT_FORMATS.AE
79
+ } = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
84
80
  return formatAmount(value, {
85
- denomination: denomination
81
+ denomination
86
82
  });
87
83
  };
88
84
  /**
@@ -94,21 +90,18 @@ export var toAettos = function toAettos(value) {
94
90
  * @return {String}
95
91
  */
96
92
 
97
- export var formatAmount = function formatAmount(value) {
98
- var _ref3 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
99
- _ref3$denomination = _ref3.denomination,
100
- denomination = _ref3$denomination === void 0 ? AE_AMOUNT_FORMATS.AETTOS : _ref3$denomination,
101
- _ref3$targetDenominat = _ref3.targetDenomination,
102
- targetDenomination = _ref3$targetDenominat === void 0 ? AE_AMOUNT_FORMATS.AETTOS : _ref3$targetDenominat;
103
-
104
- var denominations = _Object$values(AE_AMOUNT_FORMATS);
105
-
106
- if (!_includesInstanceProperty(denominations).call(denominations, denomination)) throw new Error("Invalid denomination: ".concat(denomination));
107
- if (!_includesInstanceProperty(denominations).call(denominations, targetDenomination)) throw new Error("Invalid target denomination: ".concat(targetDenomination));
108
- if (!isBigNumber(value)) throw new Error("Value ".concat(value.toString(), " is not type of number"));
93
+ export const formatAmount = function (value) {
94
+ let {
95
+ denomination = AE_AMOUNT_FORMATS.AETTOS,
96
+ targetDenomination = AE_AMOUNT_FORMATS.AETTOS
97
+ } = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
98
+ const denominations = Object.values(AE_AMOUNT_FORMATS);
99
+ if (!denominations.includes(denomination)) throw new Error(`Invalid denomination: ${denomination}`);
100
+ if (!denominations.includes(targetDenomination)) throw new Error(`Invalid target denomination: ${targetDenomination}`);
101
+ if (!isBigNumber(value)) throw new Error(`Value ${value === null || value === void 0 ? void 0 : value.toString()} is not type of number`);
109
102
  return new BigNumber(value).shiftedBy(DENOMINATION_MAGNITUDE[denomination] - DENOMINATION_MAGNITUDE[targetDenomination]).toFixed();
110
103
  };
111
- var prefixes = [{
104
+ const prefixes = [{
112
105
  name: 'exa',
113
106
  magnitude: 18
114
107
  }, {
@@ -122,31 +115,18 @@ var prefixes = [{
122
115
  magnitude: -12
123
116
  }];
124
117
 
125
- var getNearestPrefix = function getNearestPrefix(exponent) {
126
- return _reduceInstanceProperty(prefixes).call(prefixes, function (p, n) {
127
- return Math.abs(n.magnitude - exponent) < Math.abs(p.magnitude - exponent) ? n : p;
128
- });
129
- };
130
-
131
- var getLowerBoundPrefix = function getLowerBoundPrefix(exponent) {
132
- var _prefixes$find;
133
-
134
- return (_prefixes$find = _findInstanceProperty(prefixes).call(prefixes, function (p) {
135
- return p.magnitude <= exponent;
136
- })) !== null && _prefixes$find !== void 0 ? _prefixes$find : prefixes[prefixes.length - 1];
137
- };
138
-
139
- export default (function (rawValue) {
140
- var _value$e, _context, _context2;
141
-
142
- var value = new BigNumber(rawValue);
143
- var exp = (_value$e = value.e) !== null && _value$e !== void 0 ? _value$e : 0;
118
+ const getNearestPrefix = exponent => prefixes.reduce((p, n) => Math.abs(n.magnitude - exponent) < Math.abs(p.magnitude - exponent) ? n : p);
144
119
 
145
- var _ref4 = (exp < 0 ? getNearestPrefix : getLowerBoundPrefix)(exp),
146
- name = _ref4.name,
147
- magnitude = _ref4.magnitude;
120
+ const getLowerBoundPrefix = exponent => prefixes.find(p => p.magnitude <= exponent) ?? prefixes[prefixes.length - 1];
148
121
 
149
- var v = value.shiftedBy(-magnitude).precision(9 + Math.min(exp - magnitude, 0)).toFixed();
150
- return _concatInstanceProperty(_context = _concatInstanceProperty(_context2 = "".concat(v)).call(_context2, name !== '' ? ' ' : '')).call(_context, name);
122
+ export default (rawValue => {
123
+ const value = new BigNumber(rawValue);
124
+ const exp = value.e ?? 0;
125
+ const {
126
+ name,
127
+ magnitude
128
+ } = (exp < 0 ? getNearestPrefix : getLowerBoundPrefix)(exp);
129
+ const v = value.shiftedBy(-magnitude).precision(9 + Math.min(exp - magnitude, 0)).toFixed();
130
+ return `${v}${name !== '' ? ' ' : ''}${name}`;
151
131
  });
152
132
  //# sourceMappingURL=amount-formatter.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utils/amount-formatter.ts"],"names":["BigNumber","isBigNumber","AE_AMOUNT_FORMATS","AE","MILI_AE","MICRO_AE","NANO_AE","PICO_AE","FEMTO_AE","AETTOS","DENOMINATION_MAGNITUDE","toAe","value","denomination","formatAmount","targetDenomination","toAettos","denominations","Error","toString","shiftedBy","toFixed","prefixes","name","magnitude","getNearestPrefix","exponent","p","n","Math","abs","getLowerBoundPrefix","length","rawValue","exp","e","v","precision","min"],"mappings":"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","sourcesContent":["/*\n * ISC License (ISC)\n * Copyright (c) 2018 aeternity developers\n *\n * Permission to use, copy, modify, and/or distribute this software for any\n * purpose with or without fee is hereby granted, provided that the above\n * copyright notice and this permission notice appear in all copies.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\n * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\n * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\n * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\n * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\n * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\n * PERFORMANCE OF THIS SOFTWARE.\n */\n\n/**\n * Amount Formatter\n * @module @aeternity/aepp-sdk/es/utils/amount-formatter\n * @example import { AmountFormatter } from '@aeternity/aepp-sdk'\n */\nimport BigNumber from 'bignumber.js'\nimport { isBigNumber } from './bignumber'\n\n/**\n * AE amount formats\n */\nexport const AE_AMOUNT_FORMATS = {\n AE: 'ae',\n MILI_AE: 'miliAE',\n MICRO_AE: 'microAE',\n NANO_AE: 'nanoAE',\n PICO_AE: 'picoAE',\n FEMTO_AE: 'femtoAE',\n AETTOS: 'aettos'\n}\n\n/**\n * DENOMINATION_MAGNITUDE\n */\nexport const DENOMINATION_MAGNITUDE = {\n [AE_AMOUNT_FORMATS.AE]: 0,\n [AE_AMOUNT_FORMATS.MILI_AE]: -3,\n [AE_AMOUNT_FORMATS.MICRO_AE]: -6,\n [AE_AMOUNT_FORMATS.NANO_AE]: -9,\n [AE_AMOUNT_FORMATS.PICO_AE]: -12,\n [AE_AMOUNT_FORMATS.FEMTO_AE]: -15,\n [AE_AMOUNT_FORMATS.AETTOS]: -18\n}\n\n/**\n * Convert amount to AE\n * @param {String|Number|BigNumber} value amount to convert\n * @param {Object} [options={}] options\n * @param {String} [options.denomination='aettos'] denomination of amount, can be ['ae', 'aettos']\n * @return {String}\n */\nexport const toAe = (\n value: string | number | BigNumber,\n { denomination = AE_AMOUNT_FORMATS.AETTOS } = {}\n): string => formatAmount(value, { denomination, targetDenomination: AE_AMOUNT_FORMATS.AE })\n\n/**\n * Convert amount to aettos\n * @param {String|Number|BigNumber} value amount to convert\n * @param {Object} [options={}] options\n * @param {String} [options.denomination='ae'] denomination of amount, can be ['ae', 'aettos']\n * @return {String}\n */\nexport const toAettos = (\n value: string | number | BigNumber,\n { denomination = AE_AMOUNT_FORMATS.AE } = {}\n): string => formatAmount(value, { denomination })\n\n/**\n * Convert amount from one to other denomination\n * @param {String|Number|BigNumber} value amount to convert\n * @param {Object} [options={}] options\n * @param {String} [options.denomination='aettos'] denomination of amount, can be ['ae', 'aettos']\n * @param {String} [options.targetDenomination='aettos'] target denomination, can be ['ae', 'aettos']\n * @return {String}\n */\nexport const formatAmount = (\n value: string | number | BigNumber,\n { denomination = AE_AMOUNT_FORMATS.AETTOS, targetDenomination = AE_AMOUNT_FORMATS.AETTOS } = {}\n): string => {\n const denominations = Object.values(AE_AMOUNT_FORMATS)\n if (!denominations.includes(denomination)) throw new Error(`Invalid denomination: ${denomination}`)\n if (!denominations.includes(targetDenomination)) throw new Error(`Invalid target denomination: ${targetDenomination}`)\n if (!isBigNumber(value)) throw new Error(`Value ${value.toString()} is not type of number`)\n\n return new BigNumber(value)\n .shiftedBy(DENOMINATION_MAGNITUDE[denomination] - DENOMINATION_MAGNITUDE[targetDenomination])\n .toFixed()\n}\n\ninterface Prefix {\n name: string\n magnitude: number\n}\n\nconst prefixes: Prefix[] = [\n { name: 'exa', magnitude: 18 },\n { name: 'giga', magnitude: 9 },\n { name: '', magnitude: 0 },\n { name: 'pico', magnitude: -12 }\n]\n\nconst getNearestPrefix = (exponent: number): Prefix => prefixes.reduce((p, n) => (\n Math.abs(n.magnitude - exponent) < Math.abs(p.magnitude - exponent) ? n : p))\n\nconst getLowerBoundPrefix = (exponent: number): Prefix => prefixes\n .find(p => p.magnitude <= exponent) ?? prefixes[prefixes.length - 1]\n\nexport default (rawValue: string | number | BigNumber): string => {\n const value: BigNumber = new BigNumber(rawValue)\n\n const exp = value.e ?? 0\n const { name, magnitude } = (exp < 0 ? getNearestPrefix : getLowerBoundPrefix)(exp)\n const v = value\n .shiftedBy(-magnitude)\n .precision(9 + Math.min(exp - magnitude, 0))\n .toFixed()\n return `${v}${name !== '' ? ' ' : ''}${name}`\n}\n"],"file":"amount-formatter.js"}
1
+ {"version":3,"sources":["../../src/utils/amount-formatter.ts"],"names":["BigNumber","isBigNumber","AE_AMOUNT_FORMATS","AE","MILI_AE","MICRO_AE","NANO_AE","PICO_AE","FEMTO_AE","AETTOS","DENOMINATION_MAGNITUDE","toAe","value","denomination","formatAmount","targetDenomination","toAettos","denominations","Object","values","includes","Error","toString","shiftedBy","toFixed","prefixes","name","magnitude","getNearestPrefix","exponent","reduce","p","n","Math","abs","getLowerBoundPrefix","find","length","rawValue","exp","e","v","precision","min"],"mappings":"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","sourcesContent":["/*\n * ISC License (ISC)\n * Copyright (c) 2018 aeternity developers\n *\n * Permission to use, copy, modify, and/or distribute this software for any\n * purpose with or without fee is hereby granted, provided that the above\n * copyright notice and this permission notice appear in all copies.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\n * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\n * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\n * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\n * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\n * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\n * PERFORMANCE OF THIS SOFTWARE.\n */\n\n/**\n * Amount Formatter\n * @module @aeternity/aepp-sdk/es/utils/amount-formatter\n * @example import { AmountFormatter } from '@aeternity/aepp-sdk'\n */\nimport BigNumber from 'bignumber.js'\nimport { isBigNumber } from './bignumber'\n\n/**\n * AE amount formats\n */\nexport const AE_AMOUNT_FORMATS = {\n AE: 'ae',\n MILI_AE: 'miliAE',\n MICRO_AE: 'microAE',\n NANO_AE: 'nanoAE',\n PICO_AE: 'picoAE',\n FEMTO_AE: 'femtoAE',\n AETTOS: 'aettos'\n}\n\n/**\n * DENOMINATION_MAGNITUDE\n */\nexport const DENOMINATION_MAGNITUDE = {\n [AE_AMOUNT_FORMATS.AE]: 0,\n [AE_AMOUNT_FORMATS.MILI_AE]: -3,\n [AE_AMOUNT_FORMATS.MICRO_AE]: -6,\n [AE_AMOUNT_FORMATS.NANO_AE]: -9,\n [AE_AMOUNT_FORMATS.PICO_AE]: -12,\n [AE_AMOUNT_FORMATS.FEMTO_AE]: -15,\n [AE_AMOUNT_FORMATS.AETTOS]: -18\n}\n\n/**\n * Convert amount to AE\n * @param {String|Number|BigNumber} value amount to convert\n * @param {Object} [options={}] options\n * @param {String} [options.denomination='aettos'] denomination of amount, can be ['ae', 'aettos']\n * @return {String}\n */\nexport const toAe = (\n value: string | number | BigNumber,\n { denomination = AE_AMOUNT_FORMATS.AETTOS } = {}\n): string => formatAmount(value, { denomination, targetDenomination: AE_AMOUNT_FORMATS.AE })\n\n/**\n * Convert amount to aettos\n * @param {String|Number|BigNumber} value amount to convert\n * @param {Object} [options={}] options\n * @param {String} [options.denomination='ae'] denomination of amount, can be ['ae', 'aettos']\n * @return {String}\n */\nexport const toAettos = (\n value: string | number | BigNumber,\n { denomination = AE_AMOUNT_FORMATS.AE } = {}\n): string => formatAmount(value, { denomination })\n\n/**\n * Convert amount from one to other denomination\n * @param {String|Number|BigNumber} value amount to convert\n * @param {Object} [options={}] options\n * @param {String} [options.denomination='aettos'] denomination of amount, can be ['ae', 'aettos']\n * @param {String} [options.targetDenomination='aettos'] target denomination, can be ['ae', 'aettos']\n * @return {String}\n */\nexport const formatAmount = (\n value: string | number | BigNumber,\n { denomination = AE_AMOUNT_FORMATS.AETTOS, targetDenomination = AE_AMOUNT_FORMATS.AETTOS } = {}\n): string => {\n const denominations = Object.values(AE_AMOUNT_FORMATS)\n if (!denominations.includes(denomination)) throw new Error(`Invalid denomination: ${denomination}`)\n if (!denominations.includes(targetDenomination)) throw new Error(`Invalid target denomination: ${targetDenomination}`)\n if (!isBigNumber(value)) throw new Error(`Value ${value?.toString()} is not type of number`)\n\n return new BigNumber(value)\n .shiftedBy(DENOMINATION_MAGNITUDE[denomination] - DENOMINATION_MAGNITUDE[targetDenomination])\n .toFixed()\n}\n\ninterface Prefix {\n name: string\n magnitude: number\n}\n\nconst prefixes: Prefix[] = [\n { name: 'exa', magnitude: 18 },\n { name: 'giga', magnitude: 9 },\n { name: '', magnitude: 0 },\n { name: 'pico', magnitude: -12 }\n]\n\nconst getNearestPrefix = (exponent: number): Prefix => prefixes.reduce((p, n) => (\n Math.abs(n.magnitude - exponent) < Math.abs(p.magnitude - exponent) ? n : p))\n\nconst getLowerBoundPrefix = (exponent: number): Prefix => prefixes\n .find(p => p.magnitude <= exponent) ?? prefixes[prefixes.length - 1]\n\nexport default (rawValue: string | number | BigNumber): string => {\n const value: BigNumber = new BigNumber(rawValue)\n\n const exp = value.e ?? 0\n const { name, magnitude } = (exp < 0 ? getNearestPrefix : getLowerBoundPrefix)(exp)\n const v = value\n .shiftedBy(-magnitude)\n .precision(9 + Math.min(exp - magnitude, 0))\n .toFixed()\n return `${v}${name !== '' ? ' ' : ''}${name}`\n}\n"],"file":"amount-formatter.js"}
@@ -3,11 +3,6 @@ import _flatten from "ramda/src/flatten";
3
3
  import _identical from "ramda/src/identical";
4
4
  import _uniqWith from "ramda/src/uniqWith";
5
5
  import _without from "ramda/src/without";
6
- import _asyncToGenerator from "@babel/runtime-corejs3/helpers/asyncToGenerator";
7
- import _regeneratorRuntime from "@babel/runtime-corejs3/regenerator";
8
- import _reduceInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/reduce";
9
- import _Promise from "@babel/runtime-corejs3/core-js-stable/promise";
10
- import _mapInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/map";
11
6
 
12
7
  /*
13
8
  * ISC License (ISC)
@@ -28,76 +23,45 @@ import _mapInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance
28
23
  import stampit from '@stamp/it';
29
24
 
30
25
  function asyncInit() {
31
- var _context;
26
+ let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
27
+ let {
28
+ stamp,
29
+ args,
30
+ instance
31
+ } = arguments.length > 1 ? arguments[1] : undefined;
32
+ return stamp.compose.deepConfiguration.AsyncInit.initializers.reduce(async (instance, init) => {
33
+ instance = await Promise.resolve(instance);
32
34
 
33
- var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
34
-
35
- var _ref = arguments.length > 1 ? arguments[1] : undefined,
36
- stamp = _ref.stamp,
37
- args = _ref.args,
38
- instance = _ref.instance;
39
-
40
- return _reduceInstanceProperty(_context = stamp.compose.deepConfiguration.AsyncInit.initializers).call(_context, /*#__PURE__*/function () {
41
- var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(instance, init) {
42
- var ret;
43
- return _regeneratorRuntime.wrap(function _callee$(_context2) {
44
- while (1) {
45
- switch (_context2.prev = _context2.next) {
46
- case 0:
47
- _context2.next = 2;
48
- return _Promise.resolve(instance);
49
-
50
- case 2:
51
- instance = _context2.sent;
52
-
53
- if (!(typeof init === 'function')) {
54
- _context2.next = 8;
55
- break;
56
- }
57
-
58
- _context2.next = 6;
59
- return _Promise.resolve(init.call(instance, options, {
60
- stamp: stamp,
61
- args: args,
62
- instance: instance
63
- }));
64
-
65
- case 6:
66
- ret = _context2.sent;
67
- return _context2.abrupt("return", ret === undefined ? instance : ret);
68
-
69
- case 8:
70
- return _context2.abrupt("return", instance);
71
-
72
- case 9:
73
- case "end":
74
- return _context2.stop();
75
- }
76
- }
77
- }, _callee);
78
- }));
35
+ if (typeof init === 'function') {
36
+ const ret = await Promise.resolve(init.call(instance, options, {
37
+ stamp,
38
+ args,
39
+ instance
40
+ }));
41
+ return ret === undefined ? instance : ret;
42
+ }
79
43
 
80
- return function (_x, _x2) {
81
- return _ref2.apply(this, arguments);
82
- };
83
- }(), instance);
44
+ return instance;
45
+ }, instance);
84
46
  }
85
47
 
86
- var AsyncInit = stampit({
48
+ const AsyncInit = stampit({
87
49
  deepConf: {
88
50
  AsyncInit: {
89
51
  initializers: []
90
52
  }
91
53
  },
92
- composers: function composers(_ref3) {
93
- var stamp = _ref3.stamp,
94
- composables = _ref3.composables;
95
- var conf = stamp.compose.deepConfiguration.AsyncInit;
96
- conf.initializers = _without([asyncInit], _uniqWith(_identical, _flatten(_mapInstanceProperty(composables).call(composables, function (c) {
97
- return _path(['compose', 'deepConfiguration', 'AsyncInit', 'initializers'], c) || (c.compose || c).initializers || [];
98
- }))));
54
+
55
+ composers(_ref) {
56
+ let {
57
+ stamp,
58
+ composables
59
+ } = _ref;
60
+ const conf = stamp.compose.deepConfiguration.AsyncInit;
61
+ conf.initializers = _without([asyncInit], _uniqWith(_identical, _flatten(composables.map(c => _path(['compose', 'deepConfiguration', 'AsyncInit', 'initializers'], c) || (c.compose || c).initializers || []))));
99
62
  stamp.compose.initializers = [asyncInit];
100
63
  }
64
+
101
65
  });
102
66
  export default AsyncInit;
103
67
  //# sourceMappingURL=async-init.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utils/async-init.js"],"names":["stampit","asyncInit","options","stamp","args","instance","compose","deepConfiguration","AsyncInit","initializers","init","resolve","call","ret","undefined","deepConf","composers","composables","conf","c"],"mappings":";;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA,OAAOA,OAAP,MAAoB,WAApB;;AAGA,SAASC,SAAT,GAA6D;AAAA;;AAAA,MAAzCC,OAAyC,uEAA/B,EAA+B;;AAAA;AAAA,MAAzBC,KAAyB,QAAzBA,KAAyB;AAAA,MAAlBC,IAAkB,QAAlBA,IAAkB;AAAA,MAAZC,QAAY,QAAZA,QAAY;;AAC3D,SAAO,mCAAAF,KAAK,CAACG,OAAN,CAAcC,iBAAd,CAAgCC,SAAhC,CAA0CC,YAA1C;AAAA,yEAA8D,iBAAOJ,QAAP,EAAiBK,IAAjB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAClD,SAAQC,OAAR,CAAgBN,QAAhB,CADkD;;AAAA;AACnEA,cAAAA,QADmE;;AAAA,oBAE/D,OAAOK,IAAP,KAAgB,UAF+C;AAAA;AAAA;AAAA;;AAAA;AAAA,qBAG/C,SAAQC,OAAR,CAAgBD,IAAI,CAACE,IAAL,CAAUP,QAAV,EAAoBH,OAApB,EAA6B;AAAEC,gBAAAA,KAAK,EAALA,KAAF;AAASC,gBAAAA,IAAI,EAAJA,IAAT;AAAeC,gBAAAA,QAAQ,EAARA;AAAf,eAA7B,CAAhB,CAH+C;;AAAA;AAG3DQ,cAAAA,GAH2D;AAAA,gDAI1DA,GAAG,KAAKC,SAAR,GAAoBT,QAApB,GAA+BQ,GAJ2B;;AAAA;AAAA,gDAM5DR,QAN4D;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAA9D;;AAAA;AAAA;AAAA;AAAA,OAOJA,QAPI,CAAP;AAQD;;AAED,IAAMG,SAAS,GAAGR,OAAO,CAAC;AACxBe,EAAAA,QAAQ,EAAE;AAAEP,IAAAA,SAAS,EAAE;AAAEC,MAAAA,YAAY,EAAE;AAAhB;AAAb,GADc;AAExBO,EAAAA,SAFwB,4BAEW;AAAA,QAAtBb,KAAsB,SAAtBA,KAAsB;AAAA,QAAfc,WAAe,SAAfA,WAAe;AACjC,QAAMC,IAAI,GAAGf,KAAK,CAACG,OAAN,CAAcC,iBAAd,CAAgCC,SAA7C;AACAU,IAAAA,IAAI,CAACT,YAAL,GAAoB,SAAU,CAACR,SAAD,CAAV,EAAuB,sBAAwB,SAAU,qBAAAgB,WAAW,MAAX,CAAAA,WAAW,EAAK,UAAAE,CAAC;AAAA,aAAI,MAAO,CAAC,SAAD,EAAY,mBAAZ,EAAiC,WAAjC,EAA8C,cAA9C,CAAP,EAAsEA,CAAtE,KAA4E,CAACA,CAAC,CAACb,OAAF,IAAaa,CAAd,EAAiBV,YAA7F,IAA6G,EAAjH;AAAA,KAAN,CAArB,CAAxB,CAAvB,CAApB;AACAN,IAAAA,KAAK,CAACG,OAAN,CAAcG,YAAd,GAA6B,CAACR,SAAD,CAA7B;AACD;AANuB,CAAD,CAAzB;AASA,eAAeO,SAAf","sourcesContent":["/*\n * ISC License (ISC)\n * Copyright (c) 2018 aeternity developers\n *\n * Permission to use, copy, modify, and/or distribute this software for any\n * purpose with or without fee is hereby granted, provided that the above\n * copyright notice and this permission notice appear in all copies.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\n * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\n * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\n * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\n * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\n * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\n * PERFORMANCE OF THIS SOFTWARE.\n */\n\nimport stampit from '@stamp/it'\nimport * as R from 'ramda'\n\nfunction asyncInit (options = {}, { stamp, args, instance }) {\n return stamp.compose.deepConfiguration.AsyncInit.initializers.reduce(async (instance, init) => {\n instance = await Promise.resolve(instance)\n if (typeof init === 'function') {\n const ret = await Promise.resolve(init.call(instance, options, { stamp, args, instance }))\n return ret === undefined ? instance : ret\n }\n return instance\n }, instance)\n}\n\nconst AsyncInit = stampit({\n deepConf: { AsyncInit: { initializers: [] } },\n composers ({ stamp, composables }) {\n const conf = stamp.compose.deepConfiguration.AsyncInit\n conf.initializers = R.without([asyncInit], R.uniqWith(R.identical, R.flatten(composables.map(c => R.path(['compose', 'deepConfiguration', 'AsyncInit', 'initializers'], c) || (c.compose || c).initializers || []))))\n stamp.compose.initializers = [asyncInit]\n }\n})\n\nexport default AsyncInit\n"],"file":"async-init.js"}
1
+ {"version":3,"sources":["../../src/utils/async-init.js"],"names":["stampit","asyncInit","options","stamp","args","instance","compose","deepConfiguration","AsyncInit","initializers","reduce","init","Promise","resolve","ret","call","undefined","deepConf","composers","composables","conf","map","c"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA,OAAOA,OAAP,MAAoB,WAApB;;AAGA,SAASC,SAAT,GAA6D;AAAA,MAAzCC,OAAyC,uEAA/B,EAA+B;AAAA,MAA3B;AAAEC,IAAAA,KAAF;AAASC,IAAAA,IAAT;AAAeC,IAAAA;AAAf,GAA2B;AAC3D,SAAOF,KAAK,CAACG,OAAN,CAAcC,iBAAd,CAAgCC,SAAhC,CAA0CC,YAA1C,CAAuDC,MAAvD,CAA8D,OAAOL,QAAP,EAAiBM,IAAjB,KAA0B;AAC7FN,IAAAA,QAAQ,GAAG,MAAMO,OAAO,CAACC,OAAR,CAAgBR,QAAhB,CAAjB;;AACA,QAAI,OAAOM,IAAP,KAAgB,UAApB,EAAgC;AAC9B,YAAMG,GAAG,GAAG,MAAMF,OAAO,CAACC,OAAR,CAAgBF,IAAI,CAACI,IAAL,CAAUV,QAAV,EAAoBH,OAApB,EAA6B;AAAEC,QAAAA,KAAF;AAASC,QAAAA,IAAT;AAAeC,QAAAA;AAAf,OAA7B,CAAhB,CAAlB;AACA,aAAOS,GAAG,KAAKE,SAAR,GAAoBX,QAApB,GAA+BS,GAAtC;AACD;;AACD,WAAOT,QAAP;AACD,GAPM,EAOJA,QAPI,CAAP;AAQD;;AAED,MAAMG,SAAS,GAAGR,OAAO,CAAC;AACxBiB,EAAAA,QAAQ,EAAE;AAAET,IAAAA,SAAS,EAAE;AAAEC,MAAAA,YAAY,EAAE;AAAhB;AAAb,GADc;;AAExBS,EAAAA,SAAS,OAA0B;AAAA,QAAxB;AAAEf,MAAAA,KAAF;AAASgB,MAAAA;AAAT,KAAwB;AACjC,UAAMC,IAAI,GAAGjB,KAAK,CAACG,OAAN,CAAcC,iBAAd,CAAgCC,SAA7C;AACAY,IAAAA,IAAI,CAACX,YAAL,GAAoB,SAAU,CAACR,SAAD,CAAV,EAAuB,sBAAwB,SAAUkB,WAAW,CAACE,GAAZ,CAAgBC,CAAC,IAAI,MAAO,CAAC,SAAD,EAAY,mBAAZ,EAAiC,WAAjC,EAA8C,cAA9C,CAAP,EAAsEA,CAAtE,KAA4E,CAACA,CAAC,CAAChB,OAAF,IAAagB,CAAd,EAAiBb,YAA7F,IAA6G,EAAlI,CAAV,CAAxB,CAAvB,CAApB;AACAN,IAAAA,KAAK,CAACG,OAAN,CAAcG,YAAd,GAA6B,CAACR,SAAD,CAA7B;AACD;;AANuB,CAAD,CAAzB;AASA,eAAeO,SAAf","sourcesContent":["/*\n * ISC License (ISC)\n * Copyright (c) 2018 aeternity developers\n *\n * Permission to use, copy, modify, and/or distribute this software for any\n * purpose with or without fee is hereby granted, provided that the above\n * copyright notice and this permission notice appear in all copies.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\n * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\n * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\n * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\n * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\n * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\n * PERFORMANCE OF THIS SOFTWARE.\n */\n\nimport stampit from '@stamp/it'\nimport * as R from 'ramda'\n\nfunction asyncInit (options = {}, { stamp, args, instance }) {\n return stamp.compose.deepConfiguration.AsyncInit.initializers.reduce(async (instance, init) => {\n instance = await Promise.resolve(instance)\n if (typeof init === 'function') {\n const ret = await Promise.resolve(init.call(instance, options, { stamp, args, instance }))\n return ret === undefined ? instance : ret\n }\n return instance\n }, instance)\n}\n\nconst AsyncInit = stampit({\n deepConf: { AsyncInit: { initializers: [] } },\n composers ({ stamp, composables }) {\n const conf = stamp.compose.deepConfiguration.AsyncInit\n conf.initializers = R.without([asyncInit], R.uniqWith(R.identical, R.flatten(composables.map(c => R.path(['compose', 'deepConfiguration', 'AsyncInit', 'initializers'], c) || (c.compose || c).initializers || []))))\n stamp.compose.initializers = [asyncInit]\n }\n})\n\nexport default AsyncInit\n"],"file":"async-init.js"}
@@ -1,5 +1,3 @@
1
- import _Number$isInteger from "@babel/runtime-corejs3/core-js-stable/number/is-integer";
2
-
3
1
  /**
4
2
  * Big Number Helpers
5
3
  * @module @aeternity/aepp-sdk/es/utils/bignumber
@@ -12,25 +10,19 @@ import BigNumber from 'bignumber.js';
12
10
  * @return {String}
13
11
  */
14
12
 
15
- export var parseBigNumber = function parseBigNumber(number) {
16
- return new BigNumber(number.toString()).toString(10);
17
- };
13
+ export const parseBigNumber = number => new BigNumber(number.toString()).toString(10);
18
14
  /**
19
15
  * Check if value is BigNumber, Number or number string representation
20
16
  * @param {String|Number|BigNumber} number number to convert
21
17
  * @return {Boolean}
22
18
  */
23
19
 
24
- export var isBigNumber = function isBigNumber(number) {
25
- return !isNaN(number) || _Number$isInteger(number) || BigNumber.isBigNumber(number);
26
- };
20
+ export const isBigNumber = number => ['number', 'object', 'string', 'bigint'].includes(typeof number) && (!isNaN(number) || Number.isInteger(number) || BigNumber.isBigNumber(number));
27
21
  /**
28
22
  * BigNumber ceil operation
29
23
  * @param {BigNumber} bigNumber
30
24
  * @return {BigNumber}
31
25
  */
32
26
 
33
- export var ceil = function ceil(bigNumber) {
34
- return bigNumber.integerValue(BigNumber.ROUND_CEIL);
35
- };
27
+ export const ceil = bigNumber => bigNumber.integerValue(BigNumber.ROUND_CEIL);
36
28
  //# sourceMappingURL=bignumber.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utils/bignumber.ts"],"names":["BigNumber","parseBigNumber","number","toString","isBigNumber","isNaN","ceil","bigNumber","integerValue","ROUND_CEIL"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA,OAAOA,SAAP,MAAsB,cAAtB;AAEA;AACA;AACA;AACA;AACA;;AACA,OAAO,IAAMC,cAAc,GAAG,SAAjBA,cAAiB,CAACC,MAAD;AAAA,SAC5B,IAAIF,SAAJ,CAAcE,MAAM,CAACC,QAAP,EAAd,EAAiCA,QAAjC,CAA0C,EAA1C,CAD4B;AAAA,CAAvB;AAGP;AACA;AACA;AACA;AACA;;AACA,OAAO,IAAMC,WAAW,GAAG,SAAdA,WAAc,CAACF,MAAD;AAAA,SACzB,CAACG,KAAK,CAACH,MAAD,CAAN,IAA4B,kBAAiBA,MAAjB,CAA5B,IAAwDF,SAAS,CAACI,WAAV,CAAsBF,MAAtB,CAD/B;AAAA,CAApB;AAGP;AACA;AACA;AACA;AACA;;AACA,OAAO,IAAMI,IAAI,GAAG,SAAPA,IAAO,CAACC,SAAD;AAAA,SAAqCA,SAAS,CAACC,YAAV,CAAuBR,SAAS,CAACS,UAAjC,CAArC;AAAA,CAAb","sourcesContent":["/**\n * Big Number Helpers\n * @module @aeternity/aepp-sdk/es/utils/bignumber\n * @example import { parseBigNumber, isBigNumber, ceil } from '@aeternity/aepp-sdk/es/utils/bignumber'\n */\nimport BigNumber from 'bignumber.js'\n\n/**\n * Convert number to string\n * @param {String|Number|BigNumber} number number to convert\n * @return {String}\n */\nexport const parseBigNumber = (number: string | number | BigNumber): string =>\n new BigNumber(number.toString()).toString(10)\n\n/**\n * Check if value is BigNumber, Number or number string representation\n * @param {String|Number|BigNumber} number number to convert\n * @return {Boolean}\n */\nexport const isBigNumber = (number: string | number | BigNumber): boolean =>\n !isNaN(number as number) || Number.isInteger(number) || BigNumber.isBigNumber(number)\n\n/**\n * BigNumber ceil operation\n * @param {BigNumber} bigNumber\n * @return {BigNumber}\n */\nexport const ceil = (bigNumber: BigNumber): BigNumber => bigNumber.integerValue(BigNumber.ROUND_CEIL)\n"],"file":"bignumber.js"}
1
+ {"version":3,"sources":["../../src/utils/bignumber.ts"],"names":["BigNumber","parseBigNumber","number","toString","isBigNumber","includes","isNaN","Number","isInteger","ceil","bigNumber","integerValue","ROUND_CEIL"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA,OAAOA,SAAP,MAAsB,cAAtB;AAEA;AACA;AACA;AACA;AACA;;AACA,OAAO,MAAMC,cAAc,GAAIC,MAAD,IAC5B,IAAIF,SAAJ,CAAcE,MAAM,CAACC,QAAP,EAAd,EAAiCA,QAAjC,CAA0C,EAA1C,CADK;AAGP;AACA;AACA;AACA;AACA;;AACA,OAAO,MAAMC,WAAW,GAAIF,MAAD,IACzB,CAAC,QAAD,EAAW,QAAX,EAAqB,QAArB,EAA+B,QAA/B,EAAyCG,QAAzC,CAAkD,OAAOH,MAAzD,MACC,CAACI,KAAK,CAACJ,MAAD,CAAN,IAA4BK,MAAM,CAACC,SAAP,CAAiBN,MAAjB,CAA5B,IAAwDF,SAAS,CAACI,WAAV,CAAsBF,MAAtB,CADzD,CADK;AAIP;AACA;AACA;AACA;AACA;;AACA,OAAO,MAAMO,IAAI,GAAIC,SAAD,IAAqCA,SAAS,CAACC,YAAV,CAAuBX,SAAS,CAACY,UAAjC,CAAlD","sourcesContent":["/**\n * Big Number Helpers\n * @module @aeternity/aepp-sdk/es/utils/bignumber\n * @example import { parseBigNumber, isBigNumber, ceil } from '@aeternity/aepp-sdk/es/utils/bignumber'\n */\nimport BigNumber from 'bignumber.js'\n\n/**\n * Convert number to string\n * @param {String|Number|BigNumber} number number to convert\n * @return {String}\n */\nexport const parseBigNumber = (number: string | number | BigNumber): string =>\n new BigNumber(number.toString()).toString(10)\n\n/**\n * Check if value is BigNumber, Number or number string representation\n * @param {String|Number|BigNumber} number number to convert\n * @return {Boolean}\n */\nexport const isBigNumber = (number: string | number | BigNumber): boolean =>\n ['number', 'object', 'string', 'bigint'].includes(typeof number) &&\n (!isNaN(number as number) || Number.isInteger(number) || BigNumber.isBigNumber(number))\n\n/**\n * BigNumber ceil operation\n * @param {BigNumber} bigNumber\n * @return {BigNumber}\n */\nexport const ceil = (bigNumber: BigNumber): BigNumber => bigNumber.integerValue(BigNumber.ROUND_CEIL)\n"],"file":"bignumber.js"}
package/es/utils/bytes.js CHANGED
@@ -1,5 +1,3 @@
1
- import _Number$isInteger from "@babel/runtime-corejs3/core-js-stable/number/is-integer";
2
-
3
1
  /*
4
2
  * ISC License (ISC)
5
3
  * Copyright 2018 aeternity developers
@@ -31,8 +29,8 @@ import { isBase64, isHex } from './string';
31
29
  */
32
30
 
33
31
  export function bigNumberToByteArray(x) {
34
- if (!x.isInteger()) throw new Error("Unexpected not integer value: ".concat(x.toFixed()));
35
- var hexString = x.toString(16);
32
+ if (!x.isInteger()) throw new Error(`Unexpected not integer value: ${x.toFixed()}`);
33
+ let hexString = x.toString(16);
36
34
  if (hexString.length % 2 === 1) hexString = '0' + hexString;
37
35
  return Buffer.from(hexString, 'hex');
38
36
  }
@@ -44,13 +42,13 @@ export function bigNumberToByteArray(x) {
44
42
  */
45
43
 
46
44
  export function toBytes(val) {
47
- var big = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
45
+ let big = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
48
46
  // Encode a value to bytes.
49
47
  // If the value is an int it will be encoded as bytes big endian
50
48
  // Raises ValueError if the input is not an int or string
51
49
  if (val === undefined || val === null) return Buffer.from([]);
52
50
 
53
- if (_Number$isInteger(val) || BigNumber.isBigNumber(val) || big) {
51
+ if (Number.isInteger(val) || BigNumber.isBigNumber(val) || big) {
54
52
  if (!BigNumber.isBigNumber(val)) val = new BigNumber(val);
55
53
  return bigNumberToByteArray(val);
56
54
  }
@@ -71,8 +69,6 @@ export function toBytes(val) {
71
69
  */
72
70
 
73
71
  export function str2buf(str, enc) {
74
- var _ref;
75
-
76
- return Buffer.from(str, (_ref = enc !== null && enc !== void 0 ? enc : isHex(str) ? 'hex' : undefined) !== null && _ref !== void 0 ? _ref : isBase64(str) ? 'base64' : undefined);
72
+ return Buffer.from(str, enc ?? (isHex(str) ? 'hex' : undefined) ?? (isBase64(str) ? 'base64' : undefined));
77
73
  }
78
74
  //# sourceMappingURL=bytes.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utils/bytes.ts"],"names":["BigNumber","isBase64","isHex","bigNumberToByteArray","x","isInteger","Error","toFixed","hexString","toString","length","Buffer","from","toBytes","val","big","undefined","isBigNumber","str2buf","str","enc"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAOA,SAAP,MAAsB,cAAtB;AACA,SAASC,QAAT,EAAmBC,KAAnB,QAAgC,UAAhC;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASC,oBAAT,CAA+BC,CAA/B,EAAqD;AAC1D,MAAI,CAACA,CAAC,CAACC,SAAF,EAAL,EAAoB,MAAM,IAAIC,KAAJ,yCAA2CF,CAAC,CAACG,OAAF,EAA3C,EAAN;AACpB,MAAIC,SAAS,GAAGJ,CAAC,CAACK,QAAF,CAAW,EAAX,CAAhB;AACA,MAAID,SAAS,CAACE,MAAV,GAAmB,CAAnB,KAAyB,CAA7B,EAAgCF,SAAS,GAAG,MAAMA,SAAlB;AAChC,SAAOG,MAAM,CAACC,IAAP,CAAYJ,SAAZ,EAAuB,KAAvB,CAAP;AACD;AAED;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASK,OAAT,CAAkBC,GAAlB,EAA0F;AAAA,MAA9BC,GAA8B,uEAAf,KAAe;AAC/F;AACA;AACA;AAEA,MAAID,GAAG,KAAKE,SAAR,IAAqBF,GAAG,KAAK,IAAjC,EAAuC,OAAOH,MAAM,CAACC,IAAP,CAAY,EAAZ,CAAP;;AACvC,MAAI,kBAAiBE,GAAjB,KAAyBd,SAAS,CAACiB,WAAV,CAAsBH,GAAtB,CAAzB,IAAuDC,GAA3D,EAAgE;AAC9D,QAAI,CAACf,SAAS,CAACiB,WAAV,CAAsBH,GAAtB,CAAL,EAAiCA,GAAG,GAAG,IAAId,SAAJ,CAAcc,GAAd,CAAN;AACjC,WAAOX,oBAAoB,CAACW,GAAD,CAA3B;AACD;;AACD,MAAI,OAAOA,GAAP,KAAe,QAAnB,EAA6B;AAC3B,WAAOH,MAAM,CAACC,IAAP,CAAYE,GAAZ,CAAP;AACD;;AACD,QAAM,IAAIR,KAAJ,CAAU,kCAAV,CAAN;AACD;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASY,OAAT,CAAkBC,GAAlB,EAA+BC,GAA/B,EAA6D;AAAA;;AAClE,SAAOT,MAAM,CAACC,IAAP,CACLO,GADK,UAELC,GAFK,aAELA,GAFK,cAELA,GAFK,GAEGlB,KAAK,CAACiB,GAAD,CAAL,GAAa,KAAb,GAAqBH,SAFxB,uCAEuCf,QAAQ,CAACkB,GAAD,CAAR,GAAgB,QAAhB,GAA2BH,SAFlE,CAAP;AAID","sourcesContent":["/*\n * ISC License (ISC)\n * Copyright 2018 aeternity developers\n *\n * Permission to use, copy, modify, and/or distribute this software for any\n * purpose with or without fee is hereby granted, provided that the above\n * copyright notice and this permission notice appear in all copies.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\n * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\n * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\n * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\n * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\n * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\n * PERFORMANCE OF THIS SOFTWARE.\n */\nimport BigNumber from 'bignumber.js'\nimport { isBase64, isHex } from './string'\n\n/**\n * Bytes module\n * @module @aeternity/aepp-sdk/es/utils/bytes\n * @example import { Crypto } from '@aeternity/aepp-sdk'\n */\n\n/**\n * Convert bignumber to byte array\n * @param {BigNumber} x bignumber instance\n * @return Buffer\n */\nexport function bigNumberToByteArray (x: BigNumber): Buffer {\n if (!x.isInteger()) throw new Error(`Unexpected not integer value: ${x.toFixed()}`)\n let hexString = x.toString(16)\n if (hexString.length % 2 === 1) hexString = '0' + hexString\n return Buffer.from(hexString, 'hex')\n}\n\n/**\n * Convert string, number, or BigNumber to byte array\n * @param {null|string|number|BigNumber} val\n * @param {boolean} big enables force conversion to BigNumber\n * @return Buffer\n */\nexport function toBytes (val?: null | string | number | BigNumber, big: boolean = false): Buffer {\n // Encode a value to bytes.\n // If the value is an int it will be encoded as bytes big endian\n // Raises ValueError if the input is not an int or string\n\n if (val === undefined || val === null) return Buffer.from([])\n if (Number.isInteger(val) || BigNumber.isBigNumber(val) || big) {\n if (!BigNumber.isBigNumber(val)) val = new BigNumber(val)\n return bigNumberToByteArray(val)\n }\n if (typeof val === 'string') {\n return Buffer.from(val)\n }\n throw new Error('Byte serialization not supported')\n}\n\n/**\n * Convert a string to a Buffer. If encoding is not specified, hex-encoding\n * will be used if the input is valid hex. If the input is valid base64 but\n * not valid hex, base64 will be used. Otherwise, utf8 will be used.\n * @param {string} str String to be converted.\n * @param {string} [enc] Encoding of the input string.\n * @return {buffer} Buffer containing the input data.\n */\nexport function str2buf (str: string, enc?: BufferEncoding): Buffer {\n return Buffer.from(\n str,\n enc ?? (isHex(str) ? 'hex' : undefined) ?? (isBase64(str) ? 'base64' : undefined)\n )\n}\n"],"file":"bytes.js"}
1
+ {"version":3,"sources":["../../src/utils/bytes.ts"],"names":["BigNumber","isBase64","isHex","bigNumberToByteArray","x","isInteger","Error","toFixed","hexString","toString","length","Buffer","from","toBytes","val","big","undefined","Number","isBigNumber","str2buf","str","enc"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAOA,SAAP,MAAsB,cAAtB;AACA,SAASC,QAAT,EAAmBC,KAAnB,QAAgC,UAAhC;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASC,oBAAT,CAA+BC,CAA/B,EAAqD;AAC1D,MAAI,CAACA,CAAC,CAACC,SAAF,EAAL,EAAoB,MAAM,IAAIC,KAAJ,CAAW,iCAAgCF,CAAC,CAACG,OAAF,EAAY,EAAvD,CAAN;AACpB,MAAIC,SAAS,GAAGJ,CAAC,CAACK,QAAF,CAAW,EAAX,CAAhB;AACA,MAAID,SAAS,CAACE,MAAV,GAAmB,CAAnB,KAAyB,CAA7B,EAAgCF,SAAS,GAAG,MAAMA,SAAlB;AAChC,SAAOG,MAAM,CAACC,IAAP,CAAYJ,SAAZ,EAAuB,KAAvB,CAAP;AACD;AAED;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASK,OAAT,CAAkBC,GAAlB,EAA0F;AAAA,MAA9BC,GAA8B,uEAAf,KAAe;AAC/F;AACA;AACA;AAEA,MAAID,GAAG,KAAKE,SAAR,IAAqBF,GAAG,KAAK,IAAjC,EAAuC,OAAOH,MAAM,CAACC,IAAP,CAAY,EAAZ,CAAP;;AACvC,MAAIK,MAAM,CAACZ,SAAP,CAAiBS,GAAjB,KAAyBd,SAAS,CAACkB,WAAV,CAAsBJ,GAAtB,CAAzB,IAAuDC,GAA3D,EAAgE;AAC9D,QAAI,CAACf,SAAS,CAACkB,WAAV,CAAsBJ,GAAtB,CAAL,EAAiCA,GAAG,GAAG,IAAId,SAAJ,CAAcc,GAAd,CAAN;AACjC,WAAOX,oBAAoB,CAACW,GAAD,CAA3B;AACD;;AACD,MAAI,OAAOA,GAAP,KAAe,QAAnB,EAA6B;AAC3B,WAAOH,MAAM,CAACC,IAAP,CAAYE,GAAZ,CAAP;AACD;;AACD,QAAM,IAAIR,KAAJ,CAAU,kCAAV,CAAN;AACD;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASa,OAAT,CAAkBC,GAAlB,EAA+BC,GAA/B,EAA6D;AAClE,SAAOV,MAAM,CAACC,IAAP,CACLQ,GADK,EAELC,GAAG,KAAKnB,KAAK,CAACkB,GAAD,CAAL,GAAa,KAAb,GAAqBJ,SAA1B,CAAH,KAA4Cf,QAAQ,CAACmB,GAAD,CAAR,GAAgB,QAAhB,GAA2BJ,SAAvE,CAFK,CAAP;AAID","sourcesContent":["/*\n * ISC License (ISC)\n * Copyright 2018 aeternity developers\n *\n * Permission to use, copy, modify, and/or distribute this software for any\n * purpose with or without fee is hereby granted, provided that the above\n * copyright notice and this permission notice appear in all copies.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\n * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\n * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\n * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\n * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\n * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\n * PERFORMANCE OF THIS SOFTWARE.\n */\nimport BigNumber from 'bignumber.js'\nimport { isBase64, isHex } from './string'\n\n/**\n * Bytes module\n * @module @aeternity/aepp-sdk/es/utils/bytes\n * @example import { Crypto } from '@aeternity/aepp-sdk'\n */\n\n/**\n * Convert bignumber to byte array\n * @param {BigNumber} x bignumber instance\n * @return Buffer\n */\nexport function bigNumberToByteArray (x: BigNumber): Buffer {\n if (!x.isInteger()) throw new Error(`Unexpected not integer value: ${x.toFixed()}`)\n let hexString = x.toString(16)\n if (hexString.length % 2 === 1) hexString = '0' + hexString\n return Buffer.from(hexString, 'hex')\n}\n\n/**\n * Convert string, number, or BigNumber to byte array\n * @param {null|string|number|BigNumber} val\n * @param {boolean} big enables force conversion to BigNumber\n * @return Buffer\n */\nexport function toBytes (val?: null | string | number | BigNumber, big: boolean = false): Buffer {\n // Encode a value to bytes.\n // If the value is an int it will be encoded as bytes big endian\n // Raises ValueError if the input is not an int or string\n\n if (val === undefined || val === null) return Buffer.from([])\n if (Number.isInteger(val) || BigNumber.isBigNumber(val) || big) {\n if (!BigNumber.isBigNumber(val)) val = new BigNumber(val)\n return bigNumberToByteArray(val)\n }\n if (typeof val === 'string') {\n return Buffer.from(val)\n }\n throw new Error('Byte serialization not supported')\n}\n\n/**\n * Convert a string to a Buffer. If encoding is not specified, hex-encoding\n * will be used if the input is valid hex. If the input is valid base64 but\n * not valid hex, base64 will be used. Otherwise, utf8 will be used.\n * @param {string} str String to be converted.\n * @param {string} [enc] Encoding of the input string.\n * @return {buffer} Buffer containing the input data.\n */\nexport function str2buf (str: string, enc?: BufferEncoding): Buffer {\n return Buffer.from(\n str,\n enc ?? (isHex(str) ? 'hex' : undefined) ?? (isBase64(str) ? 'base64' : undefined)\n )\n}\n"],"file":"bytes.js"}