@hashgraphonline/standards-sdk 0.0.86 → 0.0.88

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 (207) hide show
  1. package/dist/es/hcs-10/connections-manager.d.ts +4 -2
  2. package/dist/es/hcs-10/connections-manager.d.ts.map +1 -1
  3. package/dist/es/standards-sdk.es10.js +18 -10
  4. package/dist/es/standards-sdk.es10.js.map +1 -1
  5. package/dist/es/standards-sdk.es100.js +29 -145
  6. package/dist/es/standards-sdk.es100.js.map +1 -1
  7. package/dist/es/standards-sdk.es101.js +13 -89
  8. package/dist/es/standards-sdk.es101.js.map +1 -1
  9. package/dist/es/standards-sdk.es102.js +3 -83
  10. package/dist/es/standards-sdk.es102.js.map +1 -1
  11. package/dist/es/standards-sdk.es103.js +3 -31
  12. package/dist/es/standards-sdk.es103.js.map +1 -1
  13. package/dist/es/standards-sdk.es104.js +3 -5
  14. package/dist/es/standards-sdk.es104.js.map +1 -1
  15. package/dist/es/standards-sdk.es105.js +13 -156
  16. package/dist/es/standards-sdk.es105.js.map +1 -1
  17. package/dist/es/standards-sdk.es106.js +4 -22
  18. package/dist/es/standards-sdk.es106.js.map +1 -1
  19. package/dist/es/standards-sdk.es107.js +37 -791
  20. package/dist/es/standards-sdk.es107.js.map +1 -1
  21. package/dist/es/standards-sdk.es108.js +35 -138
  22. package/dist/es/standards-sdk.es108.js.map +1 -1
  23. package/dist/es/standards-sdk.es109.js +35 -172
  24. package/dist/es/standards-sdk.es109.js.map +1 -1
  25. package/dist/es/standards-sdk.es110.js +75 -31
  26. package/dist/es/standards-sdk.es110.js.map +1 -1
  27. package/dist/es/standards-sdk.es111.js +3 -33
  28. package/dist/es/standards-sdk.es111.js.map +1 -1
  29. package/dist/es/standards-sdk.es112.js +2 -9
  30. package/dist/es/standards-sdk.es112.js.map +1 -1
  31. package/dist/es/standards-sdk.es113.js +2 -34
  32. package/dist/es/standards-sdk.es113.js.map +1 -1
  33. package/dist/es/standards-sdk.es114.js +33 -20
  34. package/dist/es/standards-sdk.es114.js.map +1 -1
  35. package/dist/es/standards-sdk.es115.js +32 -26
  36. package/dist/es/standards-sdk.es115.js.map +1 -1
  37. package/dist/es/standards-sdk.es116.js +9 -26
  38. package/dist/es/standards-sdk.es116.js.map +1 -1
  39. package/dist/es/standards-sdk.es117.js +33 -37
  40. package/dist/es/standards-sdk.es117.js.map +1 -1
  41. package/dist/es/standards-sdk.es13.js +3 -3
  42. package/dist/es/standards-sdk.es18.js +2 -2
  43. package/dist/es/standards-sdk.es19.js +3 -3
  44. package/dist/es/standards-sdk.es22.js +966 -1692
  45. package/dist/es/standards-sdk.es22.js.map +1 -1
  46. package/dist/es/standards-sdk.es23.js +1767 -36
  47. package/dist/es/standards-sdk.es23.js.map +1 -1
  48. package/dist/es/standards-sdk.es24.js +3 -48
  49. package/dist/es/standards-sdk.es24.js.map +1 -1
  50. package/dist/es/standards-sdk.es25.js +3843 -6866
  51. package/dist/es/standards-sdk.es25.js.map +1 -1
  52. package/dist/es/standards-sdk.es26.js +36 -3
  53. package/dist/es/standards-sdk.es26.js.map +1 -1
  54. package/dist/es/standards-sdk.es27.js +48 -2
  55. package/dist/es/standards-sdk.es27.js.map +1 -1
  56. package/dist/es/standards-sdk.es28.js +7091 -942
  57. package/dist/es/standards-sdk.es28.js.map +1 -1
  58. package/dist/es/standards-sdk.es29.js +2 -4167
  59. package/dist/es/standards-sdk.es29.js.map +1 -1
  60. package/dist/es/standards-sdk.es30.js +2 -2
  61. package/dist/es/standards-sdk.es31.js +87 -405
  62. package/dist/es/standards-sdk.es31.js.map +1 -1
  63. package/dist/es/standards-sdk.es32.js +2 -2
  64. package/dist/es/standards-sdk.es33.js +15 -119
  65. package/dist/es/standards-sdk.es33.js.map +1 -1
  66. package/dist/es/standards-sdk.es34.js +408 -3
  67. package/dist/es/standards-sdk.es34.js.map +1 -1
  68. package/dist/es/standards-sdk.es35.js +2281 -363
  69. package/dist/es/standards-sdk.es35.js.map +1 -1
  70. package/dist/es/standards-sdk.es36.js +163 -5
  71. package/dist/es/standards-sdk.es36.js.map +1 -1
  72. package/dist/es/standards-sdk.es37.js +2 -179
  73. package/dist/es/standards-sdk.es37.js.map +1 -1
  74. package/dist/es/standards-sdk.es38.js +351 -68
  75. package/dist/es/standards-sdk.es38.js.map +1 -1
  76. package/dist/es/standards-sdk.es39.js +5 -113
  77. package/dist/es/standards-sdk.es39.js.map +1 -1
  78. package/dist/es/standards-sdk.es4.js +1 -1
  79. package/dist/es/standards-sdk.es40.js +170 -43
  80. package/dist/es/standards-sdk.es40.js.map +1 -1
  81. package/dist/es/standards-sdk.es41.js +80 -9
  82. package/dist/es/standards-sdk.es41.js.map +1 -1
  83. package/dist/es/standards-sdk.es42.js +104 -87
  84. package/dist/es/standards-sdk.es42.js.map +1 -1
  85. package/dist/es/standards-sdk.es43.js +51 -3
  86. package/dist/es/standards-sdk.es43.js.map +1 -1
  87. package/dist/es/standards-sdk.es44.js +10 -2
  88. package/dist/es/standards-sdk.es44.js.map +1 -1
  89. package/dist/es/standards-sdk.es45.js +86 -102
  90. package/dist/es/standards-sdk.es45.js.map +1 -1
  91. package/dist/es/standards-sdk.es46.js +3 -73
  92. package/dist/es/standards-sdk.es46.js.map +1 -1
  93. package/dist/es/standards-sdk.es47.js +2 -6
  94. package/dist/es/standards-sdk.es47.js.map +1 -1
  95. package/dist/es/standards-sdk.es48.js +112 -4
  96. package/dist/es/standards-sdk.es48.js.map +1 -1
  97. package/dist/es/standards-sdk.es49.js +69 -216
  98. package/dist/es/standards-sdk.es49.js.map +1 -1
  99. package/dist/es/standards-sdk.es5.js +3 -3
  100. package/dist/es/standards-sdk.es50.js +6 -58
  101. package/dist/es/standards-sdk.es50.js.map +1 -1
  102. package/dist/es/standards-sdk.es51.js +5 -69
  103. package/dist/es/standards-sdk.es51.js.map +1 -1
  104. package/dist/es/standards-sdk.es52.js +208 -88
  105. package/dist/es/standards-sdk.es52.js.map +1 -1
  106. package/dist/es/standards-sdk.es53.js +58 -2
  107. package/dist/es/standards-sdk.es53.js.map +1 -1
  108. package/dist/es/standards-sdk.es54.js +69 -16
  109. package/dist/es/standards-sdk.es54.js.map +1 -1
  110. package/dist/es/standards-sdk.es55.js +190 -404
  111. package/dist/es/standards-sdk.es55.js.map +1 -1
  112. package/dist/es/standards-sdk.es56.js +437 -2281
  113. package/dist/es/standards-sdk.es56.js.map +1 -1
  114. package/dist/es/standards-sdk.es57.js +20 -159
  115. package/dist/es/standards-sdk.es57.js.map +1 -1
  116. package/dist/es/standards-sdk.es58.js +139 -3
  117. package/dist/es/standards-sdk.es58.js.map +1 -1
  118. package/dist/es/standards-sdk.es59.js +13 -27
  119. package/dist/es/standards-sdk.es59.js.map +1 -1
  120. package/dist/es/standards-sdk.es60.js +23 -57
  121. package/dist/es/standards-sdk.es60.js.map +1 -1
  122. package/dist/es/standards-sdk.es61.js +25 -46
  123. package/dist/es/standards-sdk.es61.js.map +1 -1
  124. package/dist/es/standards-sdk.es62.js +20 -9
  125. package/dist/es/standards-sdk.es62.js.map +1 -1
  126. package/dist/es/standards-sdk.es63.js +37 -58
  127. package/dist/es/standards-sdk.es63.js.map +1 -1
  128. package/dist/es/standards-sdk.es64.js +18 -6
  129. package/dist/es/standards-sdk.es64.js.map +1 -1
  130. package/dist/es/standards-sdk.es65.js +59 -13
  131. package/dist/es/standards-sdk.es65.js.map +1 -1
  132. package/dist/es/standards-sdk.es66.js +1288 -6
  133. package/dist/es/standards-sdk.es66.js.map +1 -1
  134. package/dist/es/standards-sdk.es67.js +144 -41
  135. package/dist/es/standards-sdk.es67.js.map +1 -1
  136. package/dist/es/standards-sdk.es68.js +91 -2
  137. package/dist/es/standards-sdk.es68.js.map +1 -1
  138. package/dist/es/standards-sdk.es69.js +80 -132
  139. package/dist/es/standards-sdk.es69.js.map +1 -1
  140. package/dist/es/standards-sdk.es7.js +3 -3
  141. package/dist/es/standards-sdk.es70.js +28 -168
  142. package/dist/es/standards-sdk.es70.js.map +1 -1
  143. package/dist/es/standards-sdk.es71.js +6 -13
  144. package/dist/es/standards-sdk.es71.js.map +1 -1
  145. package/dist/es/standards-sdk.es72.js +159 -13
  146. package/dist/es/standards-sdk.es72.js.map +1 -1
  147. package/dist/es/standards-sdk.es73.js +22 -7135
  148. package/dist/es/standards-sdk.es73.js.map +1 -1
  149. package/dist/es/standards-sdk.es74.js +793 -2
  150. package/dist/es/standards-sdk.es74.js.map +1 -1
  151. package/dist/es/standards-sdk.es75.js +172 -30
  152. package/dist/es/standards-sdk.es75.js.map +1 -1
  153. package/dist/es/standards-sdk.es76.js +142 -14
  154. package/dist/es/standards-sdk.es76.js.map +1 -1
  155. package/dist/es/standards-sdk.es77.js +3 -4
  156. package/dist/es/standards-sdk.es77.js.map +1 -1
  157. package/dist/es/standards-sdk.es78.js +31 -3
  158. package/dist/es/standards-sdk.es78.js.map +1 -1
  159. package/dist/es/standards-sdk.es79.js +61 -14
  160. package/dist/es/standards-sdk.es79.js.map +1 -1
  161. package/dist/es/standards-sdk.es8.js +3 -3
  162. package/dist/es/standards-sdk.es80.js +49 -4
  163. package/dist/es/standards-sdk.es80.js.map +1 -1
  164. package/dist/es/standards-sdk.es81.js +10 -39
  165. package/dist/es/standards-sdk.es81.js.map +1 -1
  166. package/dist/es/standards-sdk.es82.js +58 -33
  167. package/dist/es/standards-sdk.es82.js.map +1 -1
  168. package/dist/es/standards-sdk.es83.js +5 -36
  169. package/dist/es/standards-sdk.es83.js.map +1 -1
  170. package/dist/es/standards-sdk.es84.js +13 -76
  171. package/dist/es/standards-sdk.es84.js.map +1 -1
  172. package/dist/es/standards-sdk.es85.js +7 -3
  173. package/dist/es/standards-sdk.es85.js.map +1 -1
  174. package/dist/es/standards-sdk.es86.js +45 -2
  175. package/dist/es/standards-sdk.es86.js.map +1 -1
  176. package/dist/es/standards-sdk.es87.js +2 -2
  177. package/dist/es/standards-sdk.es87.js.map +1 -1
  178. package/dist/es/standards-sdk.es88.js +131 -190
  179. package/dist/es/standards-sdk.es88.js.map +1 -1
  180. package/dist/es/standards-sdk.es89.js +158 -424
  181. package/dist/es/standards-sdk.es89.js.map +1 -1
  182. package/dist/es/standards-sdk.es9.js +1 -1
  183. package/dist/es/standards-sdk.es90.js +14 -18
  184. package/dist/es/standards-sdk.es90.js.map +1 -1
  185. package/dist/es/standards-sdk.es91.js +23 -135
  186. package/dist/es/standards-sdk.es91.js.map +1 -1
  187. package/dist/es/standards-sdk.es92.js +24 -16
  188. package/dist/es/standards-sdk.es92.js.map +1 -1
  189. package/dist/es/standards-sdk.es93.js +35 -26
  190. package/dist/es/standards-sdk.es93.js.map +1 -1
  191. package/dist/es/standards-sdk.es94.js +417 -27
  192. package/dist/es/standards-sdk.es94.js.map +1 -1
  193. package/dist/es/standards-sdk.es95.js +2 -21
  194. package/dist/es/standards-sdk.es95.js.map +1 -1
  195. package/dist/es/standards-sdk.es96.js +114 -38
  196. package/dist/es/standards-sdk.es96.js.map +1 -1
  197. package/dist/es/standards-sdk.es97.js +13 -18
  198. package/dist/es/standards-sdk.es97.js.map +1 -1
  199. package/dist/es/standards-sdk.es98.js +13 -61
  200. package/dist/es/standards-sdk.es98.js.map +1 -1
  201. package/dist/es/standards-sdk.es99.js +7060 -1213
  202. package/dist/es/standards-sdk.es99.js.map +1 -1
  203. package/dist/umd/hcs-10/connections-manager.d.ts +4 -2
  204. package/dist/umd/hcs-10/connections-manager.d.ts.map +1 -1
  205. package/dist/umd/standards-sdk.umd.js +1 -1
  206. package/dist/umd/standards-sdk.umd.js.map +1 -1
  207. package/package.json +1 -1
@@ -1,16 +1,162 @@
1
- const hasBrowserEnv = typeof window !== "undefined" && typeof document !== "undefined";
2
- const _navigator = typeof navigator === "object" && navigator || void 0;
3
- const hasStandardBrowserEnv = hasBrowserEnv && (!_navigator || ["ReactNative", "NativeScript", "NS"].indexOf(_navigator.product) < 0);
4
- const hasStandardBrowserWebWorkerEnv = (() => {
5
- return typeof WorkerGlobalScope !== "undefined" && // eslint-disable-next-line no-undef
6
- self instanceof WorkerGlobalScope && typeof self.importScripts === "function";
7
- })();
8
- const origin = hasBrowserEnv && window.location.href || "http://localhost";
1
+ import { assertArgument, assert } from "./standards-sdk.es67.js";
2
+ const BN_0 = BigInt(0);
3
+ const BN_1 = BigInt(1);
4
+ const maxValue = 9007199254740991;
5
+ function fromTwos(_value, _width) {
6
+ const value = getUint(_value, "value");
7
+ const width = BigInt(getNumber(_width, "width"));
8
+ assert(value >> width === BN_0, "overflow", "NUMERIC_FAULT", {
9
+ operation: "fromTwos",
10
+ fault: "overflow",
11
+ value: _value
12
+ });
13
+ if (value >> width - BN_1) {
14
+ const mask2 = (BN_1 << width) - BN_1;
15
+ return -((~value & mask2) + BN_1);
16
+ }
17
+ return value;
18
+ }
19
+ function toTwos(_value, _width) {
20
+ let value = getBigInt(_value, "value");
21
+ const width = BigInt(getNumber(_width, "width"));
22
+ const limit = BN_1 << width - BN_1;
23
+ if (value < BN_0) {
24
+ value = -value;
25
+ assert(value <= limit, "too low", "NUMERIC_FAULT", {
26
+ operation: "toTwos",
27
+ fault: "overflow",
28
+ value: _value
29
+ });
30
+ const mask2 = (BN_1 << width) - BN_1;
31
+ return (~value & mask2) + BN_1;
32
+ } else {
33
+ assert(value < limit, "too high", "NUMERIC_FAULT", {
34
+ operation: "toTwos",
35
+ fault: "overflow",
36
+ value: _value
37
+ });
38
+ }
39
+ return value;
40
+ }
41
+ function mask(_value, _bits) {
42
+ const value = getUint(_value, "value");
43
+ const bits = BigInt(getNumber(_bits, "bits"));
44
+ return value & (BN_1 << bits) - BN_1;
45
+ }
46
+ function getBigInt(value, name) {
47
+ switch (typeof value) {
48
+ case "bigint":
49
+ return value;
50
+ case "number":
51
+ assertArgument(Number.isInteger(value), "underflow", name || "value", value);
52
+ assertArgument(value >= -9007199254740991 && value <= maxValue, "overflow", name || "value", value);
53
+ return BigInt(value);
54
+ case "string":
55
+ try {
56
+ if (value === "") {
57
+ throw new Error("empty string");
58
+ }
59
+ if (value[0] === "-" && value[1] !== "-") {
60
+ return -BigInt(value.substring(1));
61
+ }
62
+ return BigInt(value);
63
+ } catch (e) {
64
+ assertArgument(false, `invalid BigNumberish string: ${e.message}`, name || "value", value);
65
+ }
66
+ }
67
+ assertArgument(false, "invalid BigNumberish value", name || "value", value);
68
+ }
69
+ function getUint(value, name) {
70
+ const result = getBigInt(value, name);
71
+ assert(result >= BN_0, "unsigned value cannot be negative", "NUMERIC_FAULT", {
72
+ fault: "overflow",
73
+ operation: "getUint",
74
+ value
75
+ });
76
+ return result;
77
+ }
78
+ const Nibbles = "0123456789abcdef";
79
+ function toBigInt(value) {
80
+ if (value instanceof Uint8Array) {
81
+ let result = "0x0";
82
+ for (const v of value) {
83
+ result += Nibbles[v >> 4];
84
+ result += Nibbles[v & 15];
85
+ }
86
+ return BigInt(result);
87
+ }
88
+ return getBigInt(value);
89
+ }
90
+ function getNumber(value, name) {
91
+ switch (typeof value) {
92
+ case "bigint":
93
+ assertArgument(value >= -9007199254740991 && value <= maxValue, "overflow", name || "value", value);
94
+ return Number(value);
95
+ case "number":
96
+ assertArgument(Number.isInteger(value), "underflow", name || "value", value);
97
+ assertArgument(value >= -9007199254740991 && value <= maxValue, "overflow", name || "value", value);
98
+ return value;
99
+ case "string":
100
+ try {
101
+ if (value === "") {
102
+ throw new Error("empty string");
103
+ }
104
+ return getNumber(BigInt(value), name);
105
+ } catch (e) {
106
+ assertArgument(false, `invalid numeric string: ${e.message}`, name || "value", value);
107
+ }
108
+ }
109
+ assertArgument(false, "invalid numeric value", name || "value", value);
110
+ }
111
+ function toNumber(value) {
112
+ return getNumber(toBigInt(value));
113
+ }
114
+ function toBeHex(_value, _width) {
115
+ const value = getUint(_value, "value");
116
+ let result = value.toString(16);
117
+ if (_width == null) {
118
+ if (result.length % 2) {
119
+ result = "0" + result;
120
+ }
121
+ } else {
122
+ const width = getNumber(_width, "width");
123
+ assert(width * 2 >= result.length, `value exceeds width (${width} bytes)`, "NUMERIC_FAULT", {
124
+ operation: "toBeHex",
125
+ fault: "overflow",
126
+ value: _value
127
+ });
128
+ while (result.length < width * 2) {
129
+ result = "0" + result;
130
+ }
131
+ }
132
+ return "0x" + result;
133
+ }
134
+ function toBeArray(_value) {
135
+ const value = getUint(_value, "value");
136
+ if (value === BN_0) {
137
+ return new Uint8Array([]);
138
+ }
139
+ let hex = value.toString(16);
140
+ if (hex.length % 2) {
141
+ hex = "0" + hex;
142
+ }
143
+ const result = new Uint8Array(hex.length / 2);
144
+ for (let i = 0; i < result.length; i++) {
145
+ const offset = i * 2;
146
+ result[i] = parseInt(hex.substring(offset, offset + 2), 16);
147
+ }
148
+ return result;
149
+ }
9
150
  export {
10
- hasBrowserEnv,
11
- hasStandardBrowserEnv,
12
- hasStandardBrowserWebWorkerEnv,
13
- _navigator as navigator,
14
- origin
151
+ fromTwos,
152
+ getBigInt,
153
+ getNumber,
154
+ getUint,
155
+ mask,
156
+ toBeArray,
157
+ toBeHex,
158
+ toBigInt,
159
+ toNumber,
160
+ toTwos
15
161
  };
16
162
  //# sourceMappingURL=standards-sdk.es72.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"standards-sdk.es72.js","sources":["../../node_modules/axios/lib/platform/common/utils.js"],"sourcesContent":["const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined';\n\nconst _navigator = typeof navigator === 'object' && navigator || undefined;\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n *\n * @returns {boolean}\n */\nconst hasStandardBrowserEnv = hasBrowserEnv &&\n (!_navigator || ['ReactNative', 'NativeScript', 'NS'].indexOf(_navigator.product) < 0);\n\n/**\n * Determine if we're running in a standard browser webWorker environment\n *\n * Although the `isStandardBrowserEnv` method indicates that\n * `allows axios to run in a web worker`, the WebWorker will still be\n * filtered out due to its judgment standard\n * `typeof window !== 'undefined' && typeof document !== 'undefined'`.\n * This leads to a problem when axios post `FormData` in webWorker\n */\nconst hasStandardBrowserWebWorkerEnv = (() => {\n return (\n typeof WorkerGlobalScope !== 'undefined' &&\n // eslint-disable-next-line no-undef\n self instanceof WorkerGlobalScope &&\n typeof self.importScripts === 'function'\n );\n})();\n\nconst origin = hasBrowserEnv && window.location.href || 'http://localhost';\n\nexport {\n hasBrowserEnv,\n hasStandardBrowserWebWorkerEnv,\n hasStandardBrowserEnv,\n _navigator as navigator,\n origin\n}\n"],"names":[],"mappings":"AAAK,MAAC,gBAAgB,OAAO,WAAW,eAAe,OAAO,aAAa;AAEtE,MAAC,aAAa,OAAO,cAAc,YAAY,aAAa;AAmB5D,MAAC,wBAAwB,kBAC3B,CAAC,cAAc,CAAC,eAAe,gBAAgB,IAAI,EAAE,QAAQ,WAAW,OAAO,IAAI;AAWjF,MAAC,kCAAkC,MAAM;AAC5C,SACE,OAAO,sBAAsB;AAAA,EAE7B,gBAAgB,qBAChB,OAAO,KAAK,kBAAkB;AAElC,GAAC;AAEI,MAAC,SAAS,iBAAiB,OAAO,SAAS,QAAQ;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"standards-sdk.es72.js","sources":["../../node_modules/ethers/lib.esm/utils/maths.js"],"sourcesContent":["/**\n * Some mathematic operations.\n *\n * @_subsection: api/utils:Math Helpers [about-maths]\n */\nimport { hexlify, isBytesLike } from \"./data.js\";\nimport { assert, assertArgument } from \"./errors.js\";\nconst BN_0 = BigInt(0);\nconst BN_1 = BigInt(1);\n//const BN_Max256 = (BN_1 << BigInt(256)) - BN_1;\n// IEEE 754 support 53-bits of mantissa\nconst maxValue = 0x1fffffffffffff;\n/**\n * Convert %%value%% from a twos-compliment representation of %%width%%\n * bits to its value.\n *\n * If the highest bit is ``1``, the result will be negative.\n */\nexport function fromTwos(_value, _width) {\n const value = getUint(_value, \"value\");\n const width = BigInt(getNumber(_width, \"width\"));\n assert((value >> width) === BN_0, \"overflow\", \"NUMERIC_FAULT\", {\n operation: \"fromTwos\", fault: \"overflow\", value: _value\n });\n // Top bit set; treat as a negative value\n if (value >> (width - BN_1)) {\n const mask = (BN_1 << width) - BN_1;\n return -(((~value) & mask) + BN_1);\n }\n return value;\n}\n/**\n * Convert %%value%% to a twos-compliment representation of\n * %%width%% bits.\n *\n * The result will always be positive.\n */\nexport function toTwos(_value, _width) {\n let value = getBigInt(_value, \"value\");\n const width = BigInt(getNumber(_width, \"width\"));\n const limit = (BN_1 << (width - BN_1));\n if (value < BN_0) {\n value = -value;\n assert(value <= limit, \"too low\", \"NUMERIC_FAULT\", {\n operation: \"toTwos\", fault: \"overflow\", value: _value\n });\n const mask = (BN_1 << width) - BN_1;\n return ((~value) & mask) + BN_1;\n }\n else {\n assert(value < limit, \"too high\", \"NUMERIC_FAULT\", {\n operation: \"toTwos\", fault: \"overflow\", value: _value\n });\n }\n return value;\n}\n/**\n * Mask %%value%% with a bitmask of %%bits%% ones.\n */\nexport function mask(_value, _bits) {\n const value = getUint(_value, \"value\");\n const bits = BigInt(getNumber(_bits, \"bits\"));\n return value & ((BN_1 << bits) - BN_1);\n}\n/**\n * Gets a BigInt from %%value%%. If it is an invalid value for\n * a BigInt, then an ArgumentError will be thrown for %%name%%.\n */\nexport function getBigInt(value, name) {\n switch (typeof (value)) {\n case \"bigint\": return value;\n case \"number\":\n assertArgument(Number.isInteger(value), \"underflow\", name || \"value\", value);\n assertArgument(value >= -maxValue && value <= maxValue, \"overflow\", name || \"value\", value);\n return BigInt(value);\n case \"string\":\n try {\n if (value === \"\") {\n throw new Error(\"empty string\");\n }\n if (value[0] === \"-\" && value[1] !== \"-\") {\n return -BigInt(value.substring(1));\n }\n return BigInt(value);\n }\n catch (e) {\n assertArgument(false, `invalid BigNumberish string: ${e.message}`, name || \"value\", value);\n }\n }\n assertArgument(false, \"invalid BigNumberish value\", name || \"value\", value);\n}\n/**\n * Returns %%value%% as a bigint, validating it is valid as a bigint\n * value and that it is positive.\n */\nexport function getUint(value, name) {\n const result = getBigInt(value, name);\n assert(result >= BN_0, \"unsigned value cannot be negative\", \"NUMERIC_FAULT\", {\n fault: \"overflow\", operation: \"getUint\", value\n });\n return result;\n}\nconst Nibbles = \"0123456789abcdef\";\n/*\n * Converts %%value%% to a BigInt. If %%value%% is a Uint8Array, it\n * is treated as Big Endian data.\n */\nexport function toBigInt(value) {\n if (value instanceof Uint8Array) {\n let result = \"0x0\";\n for (const v of value) {\n result += Nibbles[v >> 4];\n result += Nibbles[v & 0x0f];\n }\n return BigInt(result);\n }\n return getBigInt(value);\n}\n/**\n * Gets a //number// from %%value%%. If it is an invalid value for\n * a //number//, then an ArgumentError will be thrown for %%name%%.\n */\nexport function getNumber(value, name) {\n switch (typeof (value)) {\n case \"bigint\":\n assertArgument(value >= -maxValue && value <= maxValue, \"overflow\", name || \"value\", value);\n return Number(value);\n case \"number\":\n assertArgument(Number.isInteger(value), \"underflow\", name || \"value\", value);\n assertArgument(value >= -maxValue && value <= maxValue, \"overflow\", name || \"value\", value);\n return value;\n case \"string\":\n try {\n if (value === \"\") {\n throw new Error(\"empty string\");\n }\n return getNumber(BigInt(value), name);\n }\n catch (e) {\n assertArgument(false, `invalid numeric string: ${e.message}`, name || \"value\", value);\n }\n }\n assertArgument(false, \"invalid numeric value\", name || \"value\", value);\n}\n/**\n * Converts %%value%% to a number. If %%value%% is a Uint8Array, it\n * is treated as Big Endian data. Throws if the value is not safe.\n */\nexport function toNumber(value) {\n return getNumber(toBigInt(value));\n}\n/**\n * Converts %%value%% to a Big Endian hexstring, optionally padded to\n * %%width%% bytes.\n */\nexport function toBeHex(_value, _width) {\n const value = getUint(_value, \"value\");\n let result = value.toString(16);\n if (_width == null) {\n // Ensure the value is of even length\n if (result.length % 2) {\n result = \"0\" + result;\n }\n }\n else {\n const width = getNumber(_width, \"width\");\n assert(width * 2 >= result.length, `value exceeds width (${width} bytes)`, \"NUMERIC_FAULT\", {\n operation: \"toBeHex\",\n fault: \"overflow\",\n value: _value\n });\n // Pad the value to the required width\n while (result.length < (width * 2)) {\n result = \"0\" + result;\n }\n }\n return \"0x\" + result;\n}\n/**\n * Converts %%value%% to a Big Endian Uint8Array.\n */\nexport function toBeArray(_value) {\n const value = getUint(_value, \"value\");\n if (value === BN_0) {\n return new Uint8Array([]);\n }\n let hex = value.toString(16);\n if (hex.length % 2) {\n hex = \"0\" + hex;\n }\n const result = new Uint8Array(hex.length / 2);\n for (let i = 0; i < result.length; i++) {\n const offset = i * 2;\n result[i] = parseInt(hex.substring(offset, offset + 2), 16);\n }\n return result;\n}\n/**\n * Returns a [[HexString]] for %%value%% safe to use as a //Quantity//.\n *\n * A //Quantity// does not have and leading 0 values unless the value is\n * the literal value `0x0`. This is most commonly used for JSSON-RPC\n * numeric values.\n */\nexport function toQuantity(value) {\n let result = hexlify(isBytesLike(value) ? value : toBeArray(value)).substring(2);\n while (result.startsWith(\"0\")) {\n result = result.substring(1);\n }\n if (result === \"\") {\n result = \"0\";\n }\n return \"0x\" + result;\n}\n//# sourceMappingURL=maths.js.map"],"names":["mask"],"mappings":"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","x_google_ignoreList":[0]}