@hashgraphonline/standards-sdk 0.0.99 → 0.0.100

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 (230) hide show
  1. package/dist/es/hcs-10/base-client.d.ts.map +1 -1
  2. package/dist/es/hcs-10/sdk.d.ts.map +1 -1
  3. package/dist/es/standards-sdk.es100.js +15 -22
  4. package/dist/es/standards-sdk.es100.js.map +1 -1
  5. package/dist/es/standards-sdk.es101.js +4 -792
  6. package/dist/es/standards-sdk.es101.js.map +1 -1
  7. package/dist/es/standards-sdk.es102.js +39 -174
  8. package/dist/es/standards-sdk.es102.js.map +1 -1
  9. package/dist/es/standards-sdk.es103.js +35 -138
  10. package/dist/es/standards-sdk.es103.js.map +1 -1
  11. package/dist/es/standards-sdk.es104.js +36 -12
  12. package/dist/es/standards-sdk.es104.js.map +1 -1
  13. package/dist/es/standards-sdk.es105.js +78 -13
  14. package/dist/es/standards-sdk.es105.js.map +1 -1
  15. package/dist/es/standards-sdk.es106.js +3 -32
  16. package/dist/es/standards-sdk.es106.js.map +1 -1
  17. package/dist/es/standards-sdk.es107.js +2 -15
  18. package/dist/es/standards-sdk.es107.js.map +1 -1
  19. package/dist/es/standards-sdk.es108.js +2 -4
  20. package/dist/es/standards-sdk.es108.js.map +1 -1
  21. package/dist/es/standards-sdk.es109.js +20 -3
  22. package/dist/es/standards-sdk.es109.js.map +1 -1
  23. package/dist/es/standards-sdk.es110.js +25 -14
  24. package/dist/es/standards-sdk.es110.js.map +1 -1
  25. package/dist/es/standards-sdk.es111.js +25 -4
  26. package/dist/es/standards-sdk.es111.js.map +1 -1
  27. package/dist/es/standards-sdk.es112.js +38 -39
  28. package/dist/es/standards-sdk.es112.js.map +1 -1
  29. package/dist/es/standards-sdk.es113.js +32 -38
  30. package/dist/es/standards-sdk.es113.js.map +1 -1
  31. package/dist/es/standards-sdk.es114.js +31 -35
  32. package/dist/es/standards-sdk.es114.js.map +1 -1
  33. package/dist/es/standards-sdk.es115.js +9 -78
  34. package/dist/es/standards-sdk.es115.js.map +1 -1
  35. package/dist/es/standards-sdk.es116.js +32 -19
  36. package/dist/es/standards-sdk.es116.js.map +1 -1
  37. package/dist/es/standards-sdk.es117.js +100 -26
  38. package/dist/es/standards-sdk.es117.js.map +1 -1
  39. package/dist/es/standards-sdk.es118.js +2 -26
  40. package/dist/es/standards-sdk.es118.js.map +1 -1
  41. package/dist/es/standards-sdk.es119.js +15 -37
  42. package/dist/es/standards-sdk.es119.js.map +1 -1
  43. package/dist/es/standards-sdk.es120.js +409 -3
  44. package/dist/es/standards-sdk.es120.js.map +1 -1
  45. package/dist/es/standards-sdk.es121.js +2282 -2
  46. package/dist/es/standards-sdk.es121.js.map +1 -1
  47. package/dist/es/standards-sdk.es122.js +10 -2
  48. package/dist/es/standards-sdk.es122.js.map +1 -1
  49. package/dist/es/standards-sdk.es123.js +10 -33
  50. package/dist/es/standards-sdk.es123.js.map +1 -1
  51. package/dist/es/standards-sdk.es124.js +16 -31
  52. package/dist/es/standards-sdk.es124.js.map +1 -1
  53. package/dist/es/standards-sdk.es125.js +6 -9
  54. package/dist/es/standards-sdk.es125.js.map +1 -1
  55. package/dist/es/standards-sdk.es126.js +9 -34
  56. package/dist/es/standards-sdk.es126.js.map +1 -1
  57. package/dist/es/standards-sdk.es13.js +3 -3
  58. package/dist/es/standards-sdk.es15.js +1 -1
  59. package/dist/es/standards-sdk.es18.js +2 -2
  60. package/dist/es/standards-sdk.es19.js +16 -12
  61. package/dist/es/standards-sdk.es19.js.map +1 -1
  62. package/dist/es/standards-sdk.es20.js +2 -2
  63. package/dist/es/standards-sdk.es21.js +3 -3
  64. package/dist/es/standards-sdk.es24.js +966 -1694
  65. package/dist/es/standards-sdk.es24.js.map +1 -1
  66. package/dist/es/standards-sdk.es25.js +5 -7190
  67. package/dist/es/standards-sdk.es25.js.map +1 -1
  68. package/dist/es/standards-sdk.es26.js +36 -3
  69. package/dist/es/standards-sdk.es26.js.map +1 -1
  70. package/dist/es/standards-sdk.es27.js +47 -8
  71. package/dist/es/standards-sdk.es27.js.map +1 -1
  72. package/dist/es/standards-sdk.es28.js +1769 -2
  73. package/dist/es/standards-sdk.es28.js.map +1 -1
  74. package/dist/es/standards-sdk.es29.js +8 -1039
  75. package/dist/es/standards-sdk.es29.js.map +1 -1
  76. package/dist/es/standards-sdk.es30.js +6864 -3842
  77. package/dist/es/standards-sdk.es30.js.map +1 -1
  78. package/dist/es/standards-sdk.es31.js +3 -36
  79. package/dist/es/standards-sdk.es31.js.map +1 -1
  80. package/dist/es/standards-sdk.es32.js +8 -47
  81. package/dist/es/standards-sdk.es32.js.map +1 -1
  82. package/dist/es/standards-sdk.es33.js +2 -5
  83. package/dist/es/standards-sdk.es33.js.map +1 -1
  84. package/dist/es/standards-sdk.es34.js +4166 -8
  85. package/dist/es/standards-sdk.es34.js.map +1 -1
  86. package/dist/es/standards-sdk.es35.js +405 -87
  87. package/dist/es/standards-sdk.es35.js.map +1 -1
  88. package/dist/es/standards-sdk.es36.js +2 -2
  89. package/dist/es/standards-sdk.es37.js +119 -15
  90. package/dist/es/standards-sdk.es37.js.map +1 -1
  91. package/dist/es/standards-sdk.es38.js +353 -398
  92. package/dist/es/standards-sdk.es38.js.map +1 -1
  93. package/dist/es/standards-sdk.es39.js +6 -2282
  94. package/dist/es/standards-sdk.es39.js.map +1 -1
  95. package/dist/es/standards-sdk.es4.js +1 -1
  96. package/dist/es/standards-sdk.es40.js +167 -152
  97. package/dist/es/standards-sdk.es40.js.map +1 -1
  98. package/dist/es/standards-sdk.es41.js +80 -7135
  99. package/dist/es/standards-sdk.es41.js.map +1 -1
  100. package/dist/es/standards-sdk.es42.js +113 -9
  101. package/dist/es/standards-sdk.es42.js.map +1 -1
  102. package/dist/es/standards-sdk.es43.js +49 -8
  103. package/dist/es/standards-sdk.es43.js.map +1 -1
  104. package/dist/es/standards-sdk.es44.js +9 -17
  105. package/dist/es/standards-sdk.es44.js.map +1 -1
  106. package/dist/es/standards-sdk.es45.js +95 -4
  107. package/dist/es/standards-sdk.es45.js.map +1 -1
  108. package/dist/es/standards-sdk.es46.js +3 -8
  109. package/dist/es/standards-sdk.es46.js.map +1 -1
  110. package/dist/es/standards-sdk.es47.js +2 -3
  111. package/dist/es/standards-sdk.es47.js.map +1 -1
  112. package/dist/es/standards-sdk.es48.js +103 -409
  113. package/dist/es/standards-sdk.es48.js.map +1 -1
  114. package/dist/es/standards-sdk.es49.js +74 -2
  115. package/dist/es/standards-sdk.es49.js.map +1 -1
  116. package/dist/es/standards-sdk.es5.js +2 -4
  117. package/dist/es/standards-sdk.es5.js.map +1 -1
  118. package/dist/es/standards-sdk.es50.js +5 -119
  119. package/dist/es/standards-sdk.es50.js.map +1 -1
  120. package/dist/es/standards-sdk.es51.js +4 -3
  121. package/dist/es/standards-sdk.es51.js.map +1 -1
  122. package/dist/es/standards-sdk.es52.js +195 -338
  123. package/dist/es/standards-sdk.es52.js.map +1 -1
  124. package/dist/es/standards-sdk.es53.js +58 -6
  125. package/dist/es/standards-sdk.es53.js.map +1 -1
  126. package/dist/es/standards-sdk.es54.js +68 -178
  127. package/dist/es/standards-sdk.es54.js.map +1 -1
  128. package/dist/es/standards-sdk.es55.js +2 -81
  129. package/dist/es/standards-sdk.es55.js.map +1 -1
  130. package/dist/es/standards-sdk.es56.js +3 -114
  131. package/dist/es/standards-sdk.es56.js.map +1 -1
  132. package/dist/es/standards-sdk.es57.js +158 -46
  133. package/dist/es/standards-sdk.es57.js.map +1 -1
  134. package/dist/es/standards-sdk.es58.js +31 -9
  135. package/dist/es/standards-sdk.es58.js.map +1 -1
  136. package/dist/es/standards-sdk.es59.js +46 -80
  137. package/dist/es/standards-sdk.es59.js.map +1 -1
  138. package/dist/es/standards-sdk.es60.js +49 -3
  139. package/dist/es/standards-sdk.es60.js.map +1 -1
  140. package/dist/es/standards-sdk.es61.js +10 -2
  141. package/dist/es/standards-sdk.es61.js.map +1 -1
  142. package/dist/es/standards-sdk.es62.js +55 -103
  143. package/dist/es/standards-sdk.es62.js.map +1 -1
  144. package/dist/es/standards-sdk.es63.js +5 -73
  145. package/dist/es/standards-sdk.es63.js.map +1 -1
  146. package/dist/es/standards-sdk.es64.js +14 -5
  147. package/dist/es/standards-sdk.es64.js.map +1 -1
  148. package/dist/es/standards-sdk.es65.js +7 -5
  149. package/dist/es/standards-sdk.es65.js.map +1 -1
  150. package/dist/es/standards-sdk.es66.js +42 -218
  151. package/dist/es/standards-sdk.es66.js.map +1 -1
  152. package/dist/es/standards-sdk.es67.js +2 -58
  153. package/dist/es/standards-sdk.es67.js.map +1 -1
  154. package/dist/es/standards-sdk.es68.js +135 -68
  155. package/dist/es/standards-sdk.es68.js.map +1 -1
  156. package/dist/es/standards-sdk.es69.js +172 -2
  157. package/dist/es/standards-sdk.es69.js.map +1 -1
  158. package/dist/es/standards-sdk.es7.js +17 -8
  159. package/dist/es/standards-sdk.es7.js.map +1 -1
  160. package/dist/es/standards-sdk.es70.js +3 -31
  161. package/dist/es/standards-sdk.es70.js.map +1 -1
  162. package/dist/es/standards-sdk.es71.js +13 -63
  163. package/dist/es/standards-sdk.es71.js.map +1 -1
  164. package/dist/es/standards-sdk.es72.js +13 -50
  165. package/dist/es/standards-sdk.es72.js.map +1 -1
  166. package/dist/es/standards-sdk.es73.js +7134 -8
  167. package/dist/es/standards-sdk.es73.js.map +1 -1
  168. package/dist/es/standards-sdk.es74.js +188 -58
  169. package/dist/es/standards-sdk.es74.js.map +1 -1
  170. package/dist/es/standards-sdk.es75.js +437 -5
  171. package/dist/es/standards-sdk.es75.js.map +1 -1
  172. package/dist/es/standards-sdk.es76.js +23 -13
  173. package/dist/es/standards-sdk.es76.js.map +1 -1
  174. package/dist/es/standards-sdk.es77.js +139 -7
  175. package/dist/es/standards-sdk.es77.js.map +1 -1
  176. package/dist/es/standards-sdk.es78.js +18 -45
  177. package/dist/es/standards-sdk.es78.js.map +1 -1
  178. package/dist/es/standards-sdk.es79.js +29 -2
  179. package/dist/es/standards-sdk.es79.js.map +1 -1
  180. package/dist/es/standards-sdk.es8.js +3 -3
  181. package/dist/es/standards-sdk.es80.js +29 -136
  182. package/dist/es/standards-sdk.es80.js.map +1 -1
  183. package/dist/es/standards-sdk.es81.js +18 -169
  184. package/dist/es/standards-sdk.es81.js.map +1 -1
  185. package/dist/es/standards-sdk.es82.js +39 -190
  186. package/dist/es/standards-sdk.es82.js.map +1 -1
  187. package/dist/es/standards-sdk.es83.js +13 -433
  188. package/dist/es/standards-sdk.es83.js.map +1 -1
  189. package/dist/es/standards-sdk.es84.js +53 -17
  190. package/dist/es/standards-sdk.es84.js.map +1 -1
  191. package/dist/es/standards-sdk.es85.js +1267 -117
  192. package/dist/es/standards-sdk.es85.js.map +1 -1
  193. package/dist/es/standards-sdk.es86.js +143 -13
  194. package/dist/es/standards-sdk.es86.js.map +1 -1
  195. package/dist/es/standards-sdk.es87.js +83 -21
  196. package/dist/es/standards-sdk.es87.js.map +1 -1
  197. package/dist/es/standards-sdk.es88.js +80 -25
  198. package/dist/es/standards-sdk.es88.js.map +1 -1
  199. package/dist/es/standards-sdk.es89.js +28 -17
  200. package/dist/es/standards-sdk.es89.js.map +1 -1
  201. package/dist/es/standards-sdk.es9.js +1 -1
  202. package/dist/es/standards-sdk.es90.js +5 -43
  203. package/dist/es/standards-sdk.es90.js.map +1 -1
  204. package/dist/es/standards-sdk.es91.js +154 -13
  205. package/dist/es/standards-sdk.es91.js.map +1 -1
  206. package/dist/es/standards-sdk.es92.js +22 -60
  207. package/dist/es/standards-sdk.es92.js.map +1 -1
  208. package/dist/es/standards-sdk.es93.js +629 -1125
  209. package/dist/es/standards-sdk.es93.js.map +1 -1
  210. package/dist/es/standards-sdk.es94.js +158 -132
  211. package/dist/es/standards-sdk.es94.js.map +1 -1
  212. package/dist/es/standards-sdk.es95.js +130 -78
  213. package/dist/es/standards-sdk.es95.js.map +1 -1
  214. package/dist/es/standards-sdk.es96.js +30 -82
  215. package/dist/es/standards-sdk.es96.js.map +1 -1
  216. package/dist/es/standards-sdk.es97.js +14 -31
  217. package/dist/es/standards-sdk.es97.js.map +1 -1
  218. package/dist/es/standards-sdk.es98.js +3 -5
  219. package/dist/es/standards-sdk.es98.js.map +1 -1
  220. package/dist/es/standards-sdk.es99.js +3 -158
  221. package/dist/es/standards-sdk.es99.js.map +1 -1
  222. package/dist/es/utils/transaction-parser.d.ts +2 -2
  223. package/dist/es/utils/transaction-parser.d.ts.map +1 -1
  224. package/dist/umd/hcs-10/base-client.d.ts.map +1 -1
  225. package/dist/umd/hcs-10/sdk.d.ts.map +1 -1
  226. package/dist/umd/standards-sdk.umd.js +1 -1
  227. package/dist/umd/standards-sdk.umd.js.map +1 -1
  228. package/dist/umd/utils/transaction-parser.d.ts +2 -2
  229. package/dist/umd/utils/transaction-parser.d.ts.map +1 -1
  230. package/package.json +3 -2
@@ -1,175 +1,24 @@
1
- import platform from "./standards-sdk.es77.js";
2
- import utils from "./standards-sdk.es52.js";
3
- import AxiosError from "./standards-sdk.es63.js";
4
- import composeSignals from "./standards-sdk.es114.js";
5
- import { trackStream } from "./standards-sdk.es115.js";
6
- import AxiosHeaders from "./standards-sdk.es66.js";
7
- import { progressEventDecorator, progressEventReducer, asyncDecorator } from "./standards-sdk.es112.js";
8
- import resolveConfig from "./standards-sdk.es113.js";
9
- import settle from "./standards-sdk.es110.js";
10
- const isFetchSupported = typeof fetch === "function" && typeof Request === "function" && typeof Response === "function";
11
- const isReadableStreamSupported = isFetchSupported && typeof ReadableStream === "function";
12
- const encodeText = isFetchSupported && (typeof TextEncoder === "function" ? /* @__PURE__ */ ((encoder) => (str) => encoder.encode(str))(new TextEncoder()) : async (str) => new Uint8Array(await new Response(str).arrayBuffer()));
13
- const test = (fn, ...args) => {
14
- try {
15
- return !!fn(...args);
16
- } catch (e) {
17
- return false;
18
- }
19
- };
20
- const supportsRequestStream = isReadableStreamSupported && test(() => {
21
- let duplexAccessed = false;
22
- const hasContentType = new Request(platform.origin, {
23
- body: new ReadableStream(),
24
- method: "POST",
25
- get duplex() {
26
- duplexAccessed = true;
27
- return "half";
1
+ import { Coder } from "./standards-sdk.es75.js";
2
+ const Empty = new Uint8Array([]);
3
+ class NullCoder extends Coder {
4
+ constructor(localName) {
5
+ super("null", "", localName, false);
6
+ }
7
+ defaultValue() {
8
+ return null;
9
+ }
10
+ encode(writer, value) {
11
+ if (value != null) {
12
+ this._throwError("not null", value);
28
13
  }
29
- }).headers.has("Content-Type");
30
- return duplexAccessed && !hasContentType;
31
- });
32
- const DEFAULT_CHUNK_SIZE = 64 * 1024;
33
- const supportsResponseStream = isReadableStreamSupported && test(() => utils.isReadableStream(new Response("").body));
34
- const resolvers = {
35
- stream: supportsResponseStream && ((res) => res.body)
36
- };
37
- isFetchSupported && ((res) => {
38
- ["text", "arrayBuffer", "blob", "formData", "stream"].forEach((type) => {
39
- !resolvers[type] && (resolvers[type] = utils.isFunction(res[type]) ? (res2) => res2[type]() : (_, config) => {
40
- throw new AxiosError(`Response type '${type}' is not supported`, AxiosError.ERR_NOT_SUPPORT, config);
41
- });
42
- });
43
- })(new Response());
44
- const getBodyLength = async (body) => {
45
- if (body == null) {
46
- return 0;
47
- }
48
- if (utils.isBlob(body)) {
49
- return body.size;
50
- }
51
- if (utils.isSpecCompliantForm(body)) {
52
- const _request = new Request(platform.origin, {
53
- method: "POST",
54
- body
55
- });
56
- return (await _request.arrayBuffer()).byteLength;
57
- }
58
- if (utils.isArrayBufferView(body) || utils.isArrayBuffer(body)) {
59
- return body.byteLength;
60
- }
61
- if (utils.isURLSearchParams(body)) {
62
- body = body + "";
14
+ return writer.writeBytes(Empty);
63
15
  }
64
- if (utils.isString(body)) {
65
- return (await encodeText(body)).byteLength;
66
- }
67
- };
68
- const resolveBodyLength = async (headers, body) => {
69
- const length = utils.toFiniteNumber(headers.getContentLength());
70
- return length == null ? getBodyLength(body) : length;
71
- };
72
- const fetchAdapter = isFetchSupported && (async (config) => {
73
- let {
74
- url,
75
- method,
76
- data,
77
- signal,
78
- cancelToken,
79
- timeout,
80
- onDownloadProgress,
81
- onUploadProgress,
82
- responseType,
83
- headers,
84
- withCredentials = "same-origin",
85
- fetchOptions
86
- } = resolveConfig(config);
87
- responseType = responseType ? (responseType + "").toLowerCase() : "text";
88
- let composedSignal = composeSignals([signal, cancelToken && cancelToken.toAbortSignal()], timeout);
89
- let request;
90
- const unsubscribe = composedSignal && composedSignal.unsubscribe && (() => {
91
- composedSignal.unsubscribe();
92
- });
93
- let requestContentLength;
94
- try {
95
- if (onUploadProgress && supportsRequestStream && method !== "get" && method !== "head" && (requestContentLength = await resolveBodyLength(headers, data)) !== 0) {
96
- let _request = new Request(url, {
97
- method: "POST",
98
- body: data,
99
- duplex: "half"
100
- });
101
- let contentTypeHeader;
102
- if (utils.isFormData(data) && (contentTypeHeader = _request.headers.get("content-type"))) {
103
- headers.setContentType(contentTypeHeader);
104
- }
105
- if (_request.body) {
106
- const [onProgress, flush] = progressEventDecorator(
107
- requestContentLength,
108
- progressEventReducer(asyncDecorator(onUploadProgress))
109
- );
110
- data = trackStream(_request.body, DEFAULT_CHUNK_SIZE, onProgress, flush);
111
- }
112
- }
113
- if (!utils.isString(withCredentials)) {
114
- withCredentials = withCredentials ? "include" : "omit";
115
- }
116
- const isCredentialsSupported = "credentials" in Request.prototype;
117
- request = new Request(url, {
118
- ...fetchOptions,
119
- signal: composedSignal,
120
- method: method.toUpperCase(),
121
- headers: headers.normalize().toJSON(),
122
- body: data,
123
- duplex: "half",
124
- credentials: isCredentialsSupported ? withCredentials : void 0
125
- });
126
- let response = await fetch(request);
127
- const isStreamResponse = supportsResponseStream && (responseType === "stream" || responseType === "response");
128
- if (supportsResponseStream && (onDownloadProgress || isStreamResponse && unsubscribe)) {
129
- const options = {};
130
- ["status", "statusText", "headers"].forEach((prop) => {
131
- options[prop] = response[prop];
132
- });
133
- const responseContentLength = utils.toFiniteNumber(response.headers.get("content-length"));
134
- const [onProgress, flush] = onDownloadProgress && progressEventDecorator(
135
- responseContentLength,
136
- progressEventReducer(asyncDecorator(onDownloadProgress), true)
137
- ) || [];
138
- response = new Response(
139
- trackStream(response.body, DEFAULT_CHUNK_SIZE, onProgress, () => {
140
- flush && flush();
141
- unsubscribe && unsubscribe();
142
- }),
143
- options
144
- );
145
- }
146
- responseType = responseType || "text";
147
- let responseData = await resolvers[utils.findKey(resolvers, responseType) || "text"](response, config);
148
- !isStreamResponse && unsubscribe && unsubscribe();
149
- return await new Promise((resolve, reject) => {
150
- settle(resolve, reject, {
151
- data: responseData,
152
- headers: AxiosHeaders.from(response.headers),
153
- status: response.status,
154
- statusText: response.statusText,
155
- config,
156
- request
157
- });
158
- });
159
- } catch (err) {
160
- unsubscribe && unsubscribe();
161
- if (err && err.name === "TypeError" && /fetch/i.test(err.message)) {
162
- throw Object.assign(
163
- new AxiosError("Network Error", AxiosError.ERR_NETWORK, config, request),
164
- {
165
- cause: err.cause || err
166
- }
167
- );
168
- }
169
- throw AxiosError.from(err, err && err.code, config, request);
16
+ decode(reader) {
17
+ reader.readBytes(0);
18
+ return null;
170
19
  }
171
- });
20
+ }
172
21
  export {
173
- fetchAdapter as default
22
+ NullCoder
174
23
  };
175
24
  //# sourceMappingURL=standards-sdk.es81.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"standards-sdk.es81.js","sources":["../../node_modules/axios/lib/adapters/fetch.js"],"sourcesContent":["import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport AxiosError from \"../core/AxiosError.js\";\nimport composeSignals from \"../helpers/composeSignals.js\";\nimport {trackStream} from \"../helpers/trackStream.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport {progressEventReducer, progressEventDecorator, asyncDecorator} from \"../helpers/progressEventReducer.js\";\nimport resolveConfig from \"../helpers/resolveConfig.js\";\nimport settle from \"../core/settle.js\";\n\nconst isFetchSupported = typeof fetch === 'function' && typeof Request === 'function' && typeof Response === 'function';\nconst isReadableStreamSupported = isFetchSupported && typeof ReadableStream === 'function';\n\n// used only inside the fetch adapter\nconst encodeText = isFetchSupported && (typeof TextEncoder === 'function' ?\n ((encoder) => (str) => encoder.encode(str))(new TextEncoder()) :\n async (str) => new Uint8Array(await new Response(str).arrayBuffer())\n);\n\nconst test = (fn, ...args) => {\n try {\n return !!fn(...args);\n } catch (e) {\n return false\n }\n}\n\nconst supportsRequestStream = isReadableStreamSupported && test(() => {\n let duplexAccessed = false;\n\n const hasContentType = new Request(platform.origin, {\n body: new ReadableStream(),\n method: 'POST',\n get duplex() {\n duplexAccessed = true;\n return 'half';\n },\n }).headers.has('Content-Type');\n\n return duplexAccessed && !hasContentType;\n});\n\nconst DEFAULT_CHUNK_SIZE = 64 * 1024;\n\nconst supportsResponseStream = isReadableStreamSupported &&\n test(() => utils.isReadableStream(new Response('').body));\n\n\nconst resolvers = {\n stream: supportsResponseStream && ((res) => res.body)\n};\n\nisFetchSupported && (((res) => {\n ['text', 'arrayBuffer', 'blob', 'formData', 'stream'].forEach(type => {\n !resolvers[type] && (resolvers[type] = utils.isFunction(res[type]) ? (res) => res[type]() :\n (_, config) => {\n throw new AxiosError(`Response type '${type}' is not supported`, AxiosError.ERR_NOT_SUPPORT, config);\n })\n });\n})(new Response));\n\nconst getBodyLength = async (body) => {\n if (body == null) {\n return 0;\n }\n\n if(utils.isBlob(body)) {\n return body.size;\n }\n\n if(utils.isSpecCompliantForm(body)) {\n const _request = new Request(platform.origin, {\n method: 'POST',\n body,\n });\n return (await _request.arrayBuffer()).byteLength;\n }\n\n if(utils.isArrayBufferView(body) || utils.isArrayBuffer(body)) {\n return body.byteLength;\n }\n\n if(utils.isURLSearchParams(body)) {\n body = body + '';\n }\n\n if(utils.isString(body)) {\n return (await encodeText(body)).byteLength;\n }\n}\n\nconst resolveBodyLength = async (headers, body) => {\n const length = utils.toFiniteNumber(headers.getContentLength());\n\n return length == null ? getBodyLength(body) : length;\n}\n\nexport default isFetchSupported && (async (config) => {\n let {\n url,\n method,\n data,\n signal,\n cancelToken,\n timeout,\n onDownloadProgress,\n onUploadProgress,\n responseType,\n headers,\n withCredentials = 'same-origin',\n fetchOptions\n } = resolveConfig(config);\n\n responseType = responseType ? (responseType + '').toLowerCase() : 'text';\n\n let composedSignal = composeSignals([signal, cancelToken && cancelToken.toAbortSignal()], timeout);\n\n let request;\n\n const unsubscribe = composedSignal && composedSignal.unsubscribe && (() => {\n composedSignal.unsubscribe();\n });\n\n let requestContentLength;\n\n try {\n if (\n onUploadProgress && supportsRequestStream && method !== 'get' && method !== 'head' &&\n (requestContentLength = await resolveBodyLength(headers, data)) !== 0\n ) {\n let _request = new Request(url, {\n method: 'POST',\n body: data,\n duplex: \"half\"\n });\n\n let contentTypeHeader;\n\n if (utils.isFormData(data) && (contentTypeHeader = _request.headers.get('content-type'))) {\n headers.setContentType(contentTypeHeader)\n }\n\n if (_request.body) {\n const [onProgress, flush] = progressEventDecorator(\n requestContentLength,\n progressEventReducer(asyncDecorator(onUploadProgress))\n );\n\n data = trackStream(_request.body, DEFAULT_CHUNK_SIZE, onProgress, flush);\n }\n }\n\n if (!utils.isString(withCredentials)) {\n withCredentials = withCredentials ? 'include' : 'omit';\n }\n\n // Cloudflare Workers throws when credentials are defined\n // see https://github.com/cloudflare/workerd/issues/902\n const isCredentialsSupported = \"credentials\" in Request.prototype;\n request = new Request(url, {\n ...fetchOptions,\n signal: composedSignal,\n method: method.toUpperCase(),\n headers: headers.normalize().toJSON(),\n body: data,\n duplex: \"half\",\n credentials: isCredentialsSupported ? withCredentials : undefined\n });\n\n let response = await fetch(request);\n\n const isStreamResponse = supportsResponseStream && (responseType === 'stream' || responseType === 'response');\n\n if (supportsResponseStream && (onDownloadProgress || (isStreamResponse && unsubscribe))) {\n const options = {};\n\n ['status', 'statusText', 'headers'].forEach(prop => {\n options[prop] = response[prop];\n });\n\n const responseContentLength = utils.toFiniteNumber(response.headers.get('content-length'));\n\n const [onProgress, flush] = onDownloadProgress && progressEventDecorator(\n responseContentLength,\n progressEventReducer(asyncDecorator(onDownloadProgress), true)\n ) || [];\n\n response = new Response(\n trackStream(response.body, DEFAULT_CHUNK_SIZE, onProgress, () => {\n flush && flush();\n unsubscribe && unsubscribe();\n }),\n options\n );\n }\n\n responseType = responseType || 'text';\n\n let responseData = await resolvers[utils.findKey(resolvers, responseType) || 'text'](response, config);\n\n !isStreamResponse && unsubscribe && unsubscribe();\n\n return await new Promise((resolve, reject) => {\n settle(resolve, reject, {\n data: responseData,\n headers: AxiosHeaders.from(response.headers),\n status: response.status,\n statusText: response.statusText,\n config,\n request\n })\n })\n } catch (err) {\n unsubscribe && unsubscribe();\n\n if (err && err.name === 'TypeError' && /fetch/i.test(err.message)) {\n throw Object.assign(\n new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request),\n {\n cause: err.cause || err\n }\n )\n }\n\n throw AxiosError.from(err, err && err.code, config, request);\n }\n});\n\n\n"],"names":["res"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"standards-sdk.es81.js","sources":["../../node_modules/ethers/lib.esm/abi/coders/null.js"],"sourcesContent":["import { Coder } from \"./abstract-coder.js\";\nconst Empty = new Uint8Array([]);\n/**\n * @_ignore\n */\nexport class NullCoder extends Coder {\n constructor(localName) {\n super(\"null\", \"\", localName, false);\n }\n defaultValue() {\n return null;\n }\n encode(writer, value) {\n if (value != null) {\n this._throwError(\"not null\", value);\n }\n return writer.writeBytes(Empty);\n }\n decode(reader) {\n reader.readBytes(0);\n return null;\n }\n}\n//# sourceMappingURL=null.js.map"],"names":[],"mappings":";AACA,MAAM,QAAQ,IAAI,WAAW,EAAE;AAIxB,MAAM,kBAAkB,MAAM;AAAA,EACjC,YAAY,WAAW;AACnB,UAAM,QAAQ,IAAI,WAAW,KAAK;AAAA,EAC1C;AAAA,EACI,eAAe;AACX,WAAO;AAAA,EACf;AAAA,EACI,OAAO,QAAQ,OAAO;AAClB,QAAI,SAAS,MAAM;AACf,WAAK,YAAY,YAAY,KAAK;AAAA,IAC9C;AACQ,WAAO,OAAO,WAAW,KAAK;AAAA,EACtC;AAAA,EACI,OAAO,QAAQ;AACX,WAAO,UAAU,CAAC;AAClB,WAAO;AAAA,EACf;AACA;","x_google_ignoreList":[0]}
@@ -1,198 +1,47 @@
1
- var __typeError = (msg) => {
2
- throw TypeError(msg);
3
- };
4
- var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
5
- var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
6
- var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "access private method"), method);
7
- var _AbiCoder_instances, getCoder_fn;
8
- import { Writer, Reader } from "./standards-sdk.es83.js";
9
- import { AddressCoder } from "./standards-sdk.es84.js";
10
- import { ArrayCoder } from "./standards-sdk.es85.js";
11
- import { BooleanCoder } from "./standards-sdk.es86.js";
12
- import { BytesCoder } from "./standards-sdk.es87.js";
13
- import { FixedBytesCoder } from "./standards-sdk.es88.js";
14
- import { NullCoder } from "./standards-sdk.es89.js";
15
- import { NumberCoder } from "./standards-sdk.es90.js";
16
- import { StringCoder } from "./standards-sdk.es91.js";
17
- import { TupleCoder } from "./standards-sdk.es92.js";
18
- import { ParamType } from "./standards-sdk.es93.js";
19
- import { assertArgument, assertArgumentCount, makeError } from "./standards-sdk.es94.js";
20
- import { getBytes, hexlify } from "./standards-sdk.es95.js";
21
- import { getAddress } from "./standards-sdk.es96.js";
22
- const PanicReasons = /* @__PURE__ */ new Map();
23
- PanicReasons.set(0, "GENERIC_PANIC");
24
- PanicReasons.set(1, "ASSERT_FALSE");
25
- PanicReasons.set(17, "OVERFLOW");
26
- PanicReasons.set(18, "DIVIDE_BY_ZERO");
27
- PanicReasons.set(33, "ENUM_RANGE_ERROR");
28
- PanicReasons.set(34, "BAD_STORAGE_DATA");
29
- PanicReasons.set(49, "STACK_UNDERFLOW");
30
- PanicReasons.set(50, "ARRAY_RANGE_ERROR");
31
- PanicReasons.set(65, "OUT_OF_MEMORY");
32
- PanicReasons.set(81, "UNINITIALIZED_FUNCTION_CALL");
33
- const paramTypeBytes = new RegExp(/^bytes([0-9]*)$/);
34
- const paramTypeNumber = new RegExp(/^(u?int)([0-9]*)$/);
35
- let defaultCoder = null;
36
- let defaultMaxInflation = 1024;
37
- function getBuiltinCallException(action, tx, data, abiCoder) {
38
- let message = "missing revert data";
39
- let reason = null;
40
- const invocation = null;
41
- let revert = null;
42
- if (data) {
43
- message = "execution reverted";
44
- const bytes = getBytes(data);
45
- data = hexlify(data);
46
- if (bytes.length === 0) {
47
- message += " (no data present; likely require(false) occurred";
48
- reason = "require(false)";
49
- } else if (bytes.length % 32 !== 4) {
50
- message += " (could not decode reason; invalid data length)";
51
- } else if (hexlify(bytes.slice(0, 4)) === "0x08c379a0") {
52
- try {
53
- reason = abiCoder.decode(["string"], bytes.slice(4))[0];
54
- revert = {
55
- signature: "Error(string)",
56
- name: "Error",
57
- args: [reason]
58
- };
59
- message += `: ${JSON.stringify(reason)}`;
60
- } catch (error) {
61
- message += " (could not decode reason; invalid string data)";
62
- }
63
- } else if (hexlify(bytes.slice(0, 4)) === "0x4e487b71") {
64
- try {
65
- const code = Number(abiCoder.decode(["uint256"], bytes.slice(4))[0]);
66
- revert = {
67
- signature: "Panic(uint256)",
68
- name: "Panic",
69
- args: [code]
70
- };
71
- reason = `Panic due to ${PanicReasons.get(code) || "UNKNOWN"}(${code})`;
72
- message += `: ${reason}`;
73
- } catch (error) {
74
- message += " (could not decode panic code)";
1
+ var __defProp = Object.defineProperty;
2
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3
+ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
4
+ import { Typed } from "./standards-sdk.es93.js";
5
+ import { Coder, WordSize } from "./standards-sdk.es75.js";
6
+ import { defineProperties } from "./standards-sdk.es89.js";
7
+ import { getBigInt, mask, toTwos, fromTwos } from "./standards-sdk.es91.js";
8
+ const BN_0 = BigInt(0);
9
+ const BN_1 = BigInt(1);
10
+ const BN_MAX_UINT256 = BigInt("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");
11
+ class NumberCoder extends Coder {
12
+ constructor(size, signed, localName) {
13
+ const name = (signed ? "int" : "uint") + size * 8;
14
+ super(name, name, localName, false);
15
+ __publicField(this, "size");
16
+ __publicField(this, "signed");
17
+ defineProperties(this, { size, signed }, { size: "number", signed: "boolean" });
18
+ }
19
+ defaultValue() {
20
+ return 0;
21
+ }
22
+ encode(writer, _value) {
23
+ let value = getBigInt(Typed.dereference(_value, this.type));
24
+ let maxUintValue = mask(BN_MAX_UINT256, WordSize * 8);
25
+ if (this.signed) {
26
+ let bounds = mask(maxUintValue, this.size * 8 - 1);
27
+ if (value > bounds || value < -(bounds + BN_1)) {
28
+ this._throwError("value out-of-bounds", _value);
75
29
  }
76
- } else {
77
- message += " (unknown custom error)";
30
+ value = toTwos(value, 8 * WordSize);
31
+ } else if (value < BN_0 || value > mask(maxUintValue, this.size * 8)) {
32
+ this._throwError("value out-of-bounds", _value);
78
33
  }
34
+ return writer.writeValue(value);
79
35
  }
80
- const transaction = {
81
- to: tx.to ? getAddress(tx.to) : null,
82
- data: tx.data || "0x"
83
- };
84
- if (tx.from) {
85
- transaction.from = getAddress(tx.from);
86
- }
87
- return makeError(message, "CALL_EXCEPTION", {
88
- action,
89
- data,
90
- reason,
91
- transaction,
92
- invocation,
93
- revert
94
- });
95
- }
96
- const _AbiCoder = class _AbiCoder {
97
- constructor() {
98
- __privateAdd(this, _AbiCoder_instances);
99
- }
100
- /**
101
- * Get the default values for the given %%types%%.
102
- *
103
- * For example, a ``uint`` is by default ``0`` and ``bool``
104
- * is by default ``false``.
105
- */
106
- getDefaultValue(types) {
107
- const coders = types.map((type) => __privateMethod(this, _AbiCoder_instances, getCoder_fn).call(this, ParamType.from(type)));
108
- const coder = new TupleCoder(coders, "_");
109
- return coder.defaultValue();
110
- }
111
- /**
112
- * Encode the %%values%% as the %%types%% into ABI data.
113
- *
114
- * @returns DataHexstring
115
- */
116
- encode(types, values) {
117
- assertArgumentCount(values.length, types.length, "types/values length mismatch");
118
- const coders = types.map((type) => __privateMethod(this, _AbiCoder_instances, getCoder_fn).call(this, ParamType.from(type)));
119
- const coder = new TupleCoder(coders, "_");
120
- const writer = new Writer();
121
- coder.encode(writer, values);
122
- return writer.data;
123
- }
124
- /**
125
- * Decode the ABI %%data%% as the %%types%% into values.
126
- *
127
- * If %%loose%% decoding is enabled, then strict padding is
128
- * not enforced. Some older versions of Solidity incorrectly
129
- * padded event data emitted from ``external`` functions.
130
- */
131
- decode(types, data, loose) {
132
- const coders = types.map((type) => __privateMethod(this, _AbiCoder_instances, getCoder_fn).call(this, ParamType.from(type)));
133
- const coder = new TupleCoder(coders, "_");
134
- return coder.decode(new Reader(data, loose, defaultMaxInflation));
135
- }
136
- static _setDefaultMaxInflation(value) {
137
- assertArgument(typeof value === "number" && Number.isInteger(value), "invalid defaultMaxInflation factor", "value", value);
138
- defaultMaxInflation = value;
139
- }
140
- /**
141
- * Returns the shared singleton instance of a default [[AbiCoder]].
142
- *
143
- * On the first call, the instance is created internally.
144
- */
145
- static defaultAbiCoder() {
146
- if (defaultCoder == null) {
147
- defaultCoder = new _AbiCoder();
36
+ decode(reader) {
37
+ let value = mask(reader.readValue(), this.size * 8);
38
+ if (this.signed) {
39
+ value = fromTwos(value, this.size * 8);
148
40
  }
149
- return defaultCoder;
41
+ return value;
150
42
  }
151
- /**
152
- * Returns an ethers-compatible [[CallExceptionError]] Error for the given
153
- * result %%data%% for the [[CallExceptionAction]] %%action%% against
154
- * the Transaction %%tx%%.
155
- */
156
- static getBuiltinCallException(action, tx, data) {
157
- return getBuiltinCallException(action, tx, data, _AbiCoder.defaultAbiCoder());
158
- }
159
- };
160
- _AbiCoder_instances = new WeakSet();
161
- getCoder_fn = function(param) {
162
- if (param.isArray()) {
163
- return new ArrayCoder(__privateMethod(this, _AbiCoder_instances, getCoder_fn).call(this, param.arrayChildren), param.arrayLength, param.name);
164
- }
165
- if (param.isTuple()) {
166
- return new TupleCoder(param.components.map((c) => __privateMethod(this, _AbiCoder_instances, getCoder_fn).call(this, c)), param.name);
167
- }
168
- switch (param.baseType) {
169
- case "address":
170
- return new AddressCoder(param.name);
171
- case "bool":
172
- return new BooleanCoder(param.name);
173
- case "string":
174
- return new StringCoder(param.name);
175
- case "bytes":
176
- return new BytesCoder(param.name);
177
- case "":
178
- return new NullCoder(param.name);
179
- }
180
- let match = param.type.match(paramTypeNumber);
181
- if (match) {
182
- let size = parseInt(match[2] || "256");
183
- assertArgument(size !== 0 && size <= 256 && size % 8 === 0, "invalid " + match[1] + " bit length", "param", param);
184
- return new NumberCoder(size / 8, match[1] === "int", param.name);
185
- }
186
- match = param.type.match(paramTypeBytes);
187
- if (match) {
188
- let size = parseInt(match[1]);
189
- assertArgument(size !== 0 && size <= 32, "invalid bytes length", "param", param);
190
- return new FixedBytesCoder(size, param.name);
191
- }
192
- assertArgument(false, "invalid type", "type", param.type);
193
- };
194
- let AbiCoder = _AbiCoder;
43
+ }
195
44
  export {
196
- AbiCoder
45
+ NumberCoder
197
46
  };
198
47
  //# sourceMappingURL=standards-sdk.es82.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"standards-sdk.es82.js","sources":["../../node_modules/ethers/lib.esm/abi/abi-coder.js"],"sourcesContent":["/**\n * When sending values to or receiving values from a [[Contract]], the\n * data is generally encoded using the [ABI standard](link-solc-abi).\n *\n * The AbiCoder provides a utility to encode values to ABI data and\n * decode values from ABI data.\n *\n * Most of the time, developers should favour the [[Contract]] class,\n * which further abstracts a lot of the finer details of ABI data.\n *\n * @_section api/abi/abi-coder:ABI Encoding\n */\n// See: https://github.com/ethereum/wiki/wiki/Ethereum-Contract-ABI\nimport { assertArgumentCount, assertArgument } from \"../utils/index.js\";\nimport { Reader, Writer } from \"./coders/abstract-coder.js\";\nimport { AddressCoder } from \"./coders/address.js\";\nimport { ArrayCoder } from \"./coders/array.js\";\nimport { BooleanCoder } from \"./coders/boolean.js\";\nimport { BytesCoder } from \"./coders/bytes.js\";\nimport { FixedBytesCoder } from \"./coders/fixed-bytes.js\";\nimport { NullCoder } from \"./coders/null.js\";\nimport { NumberCoder } from \"./coders/number.js\";\nimport { StringCoder } from \"./coders/string.js\";\nimport { TupleCoder } from \"./coders/tuple.js\";\nimport { ParamType } from \"./fragments.js\";\nimport { getAddress } from \"../address/index.js\";\nimport { getBytes, hexlify, makeError } from \"../utils/index.js\";\n// https://docs.soliditylang.org/en/v0.8.17/control-structures.html\nconst PanicReasons = new Map();\nPanicReasons.set(0x00, \"GENERIC_PANIC\");\nPanicReasons.set(0x01, \"ASSERT_FALSE\");\nPanicReasons.set(0x11, \"OVERFLOW\");\nPanicReasons.set(0x12, \"DIVIDE_BY_ZERO\");\nPanicReasons.set(0x21, \"ENUM_RANGE_ERROR\");\nPanicReasons.set(0x22, \"BAD_STORAGE_DATA\");\nPanicReasons.set(0x31, \"STACK_UNDERFLOW\");\nPanicReasons.set(0x32, \"ARRAY_RANGE_ERROR\");\nPanicReasons.set(0x41, \"OUT_OF_MEMORY\");\nPanicReasons.set(0x51, \"UNINITIALIZED_FUNCTION_CALL\");\nconst paramTypeBytes = new RegExp(/^bytes([0-9]*)$/);\nconst paramTypeNumber = new RegExp(/^(u?int)([0-9]*)$/);\nlet defaultCoder = null;\nlet defaultMaxInflation = 1024;\nfunction getBuiltinCallException(action, tx, data, abiCoder) {\n let message = \"missing revert data\";\n let reason = null;\n const invocation = null;\n let revert = null;\n if (data) {\n message = \"execution reverted\";\n const bytes = getBytes(data);\n data = hexlify(data);\n if (bytes.length === 0) {\n message += \" (no data present; likely require(false) occurred\";\n reason = \"require(false)\";\n }\n else if (bytes.length % 32 !== 4) {\n message += \" (could not decode reason; invalid data length)\";\n }\n else if (hexlify(bytes.slice(0, 4)) === \"0x08c379a0\") {\n // Error(string)\n try {\n reason = abiCoder.decode([\"string\"], bytes.slice(4))[0];\n revert = {\n signature: \"Error(string)\",\n name: \"Error\",\n args: [reason]\n };\n message += `: ${JSON.stringify(reason)}`;\n }\n catch (error) {\n message += \" (could not decode reason; invalid string data)\";\n }\n }\n else if (hexlify(bytes.slice(0, 4)) === \"0x4e487b71\") {\n // Panic(uint256)\n try {\n const code = Number(abiCoder.decode([\"uint256\"], bytes.slice(4))[0]);\n revert = {\n signature: \"Panic(uint256)\",\n name: \"Panic\",\n args: [code]\n };\n reason = `Panic due to ${PanicReasons.get(code) || \"UNKNOWN\"}(${code})`;\n message += `: ${reason}`;\n }\n catch (error) {\n message += \" (could not decode panic code)\";\n }\n }\n else {\n message += \" (unknown custom error)\";\n }\n }\n const transaction = {\n to: (tx.to ? getAddress(tx.to) : null),\n data: (tx.data || \"0x\")\n };\n if (tx.from) {\n transaction.from = getAddress(tx.from);\n }\n return makeError(message, \"CALL_EXCEPTION\", {\n action, data, reason, transaction, invocation, revert\n });\n}\n/**\n * The **AbiCoder** is a low-level class responsible for encoding JavaScript\n * values into binary data and decoding binary data into JavaScript values.\n */\nexport class AbiCoder {\n #getCoder(param) {\n if (param.isArray()) {\n return new ArrayCoder(this.#getCoder(param.arrayChildren), param.arrayLength, param.name);\n }\n if (param.isTuple()) {\n return new TupleCoder(param.components.map((c) => this.#getCoder(c)), param.name);\n }\n switch (param.baseType) {\n case \"address\":\n return new AddressCoder(param.name);\n case \"bool\":\n return new BooleanCoder(param.name);\n case \"string\":\n return new StringCoder(param.name);\n case \"bytes\":\n return new BytesCoder(param.name);\n case \"\":\n return new NullCoder(param.name);\n }\n // u?int[0-9]*\n let match = param.type.match(paramTypeNumber);\n if (match) {\n let size = parseInt(match[2] || \"256\");\n assertArgument(size !== 0 && size <= 256 && (size % 8) === 0, \"invalid \" + match[1] + \" bit length\", \"param\", param);\n return new NumberCoder(size / 8, (match[1] === \"int\"), param.name);\n }\n // bytes[0-9]+\n match = param.type.match(paramTypeBytes);\n if (match) {\n let size = parseInt(match[1]);\n assertArgument(size !== 0 && size <= 32, \"invalid bytes length\", \"param\", param);\n return new FixedBytesCoder(size, param.name);\n }\n assertArgument(false, \"invalid type\", \"type\", param.type);\n }\n /**\n * Get the default values for the given %%types%%.\n *\n * For example, a ``uint`` is by default ``0`` and ``bool``\n * is by default ``false``.\n */\n getDefaultValue(types) {\n const coders = types.map((type) => this.#getCoder(ParamType.from(type)));\n const coder = new TupleCoder(coders, \"_\");\n return coder.defaultValue();\n }\n /**\n * Encode the %%values%% as the %%types%% into ABI data.\n *\n * @returns DataHexstring\n */\n encode(types, values) {\n assertArgumentCount(values.length, types.length, \"types/values length mismatch\");\n const coders = types.map((type) => this.#getCoder(ParamType.from(type)));\n const coder = (new TupleCoder(coders, \"_\"));\n const writer = new Writer();\n coder.encode(writer, values);\n return writer.data;\n }\n /**\n * Decode the ABI %%data%% as the %%types%% into values.\n *\n * If %%loose%% decoding is enabled, then strict padding is\n * not enforced. Some older versions of Solidity incorrectly\n * padded event data emitted from ``external`` functions.\n */\n decode(types, data, loose) {\n const coders = types.map((type) => this.#getCoder(ParamType.from(type)));\n const coder = new TupleCoder(coders, \"_\");\n return coder.decode(new Reader(data, loose, defaultMaxInflation));\n }\n static _setDefaultMaxInflation(value) {\n assertArgument(typeof (value) === \"number\" && Number.isInteger(value), \"invalid defaultMaxInflation factor\", \"value\", value);\n defaultMaxInflation = value;\n }\n /**\n * Returns the shared singleton instance of a default [[AbiCoder]].\n *\n * On the first call, the instance is created internally.\n */\n static defaultAbiCoder() {\n if (defaultCoder == null) {\n defaultCoder = new AbiCoder();\n }\n return defaultCoder;\n }\n /**\n * Returns an ethers-compatible [[CallExceptionError]] Error for the given\n * result %%data%% for the [[CallExceptionAction]] %%action%% against\n * the Transaction %%tx%%.\n */\n static getBuiltinCallException(action, tx, data) {\n return getBuiltinCallException(action, tx, data, AbiCoder.defaultAbiCoder());\n }\n}\n//# sourceMappingURL=abi-coder.js.map"],"names":[],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"standards-sdk.es82.js","sources":["../../node_modules/ethers/lib.esm/abi/coders/number.js"],"sourcesContent":["import { defineProperties, fromTwos, getBigInt, mask, toTwos } from \"../../utils/index.js\";\nimport { Typed } from \"../typed.js\";\nimport { Coder, WordSize } from \"./abstract-coder.js\";\nconst BN_0 = BigInt(0);\nconst BN_1 = BigInt(1);\nconst BN_MAX_UINT256 = BigInt(\"0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\");\n/**\n * @_ignore\n */\nexport class NumberCoder extends Coder {\n size;\n signed;\n constructor(size, signed, localName) {\n const name = ((signed ? \"int\" : \"uint\") + (size * 8));\n super(name, name, localName, false);\n defineProperties(this, { size, signed }, { size: \"number\", signed: \"boolean\" });\n }\n defaultValue() {\n return 0;\n }\n encode(writer, _value) {\n let value = getBigInt(Typed.dereference(_value, this.type));\n // Check bounds are safe for encoding\n let maxUintValue = mask(BN_MAX_UINT256, WordSize * 8);\n if (this.signed) {\n let bounds = mask(maxUintValue, (this.size * 8) - 1);\n if (value > bounds || value < -(bounds + BN_1)) {\n this._throwError(\"value out-of-bounds\", _value);\n }\n value = toTwos(value, 8 * WordSize);\n }\n else if (value < BN_0 || value > mask(maxUintValue, this.size * 8)) {\n this._throwError(\"value out-of-bounds\", _value);\n }\n return writer.writeValue(value);\n }\n decode(reader) {\n let value = mask(reader.readValue(), this.size * 8);\n if (this.signed) {\n value = fromTwos(value, this.size * 8);\n }\n return value;\n }\n}\n//# sourceMappingURL=number.js.map"],"names":[],"mappings":";;;;;;;AAGA,MAAM,OAAO,OAAO,CAAC;AACrB,MAAM,OAAO,OAAO,CAAC;AACrB,MAAM,iBAAiB,OAAO,oEAAoE;AAI3F,MAAM,oBAAoB,MAAM;AAAA,EAGnC,YAAY,MAAM,QAAQ,WAAW;AACjC,UAAM,QAAS,SAAS,QAAQ,UAAW,OAAO;AAClD,UAAM,MAAM,MAAM,WAAW,KAAK;AAJtC;AACA;AAII,qBAAiB,MAAM,EAAE,MAAM,OAAM,GAAI,EAAE,MAAM,UAAU,QAAQ,WAAW;AAAA,EACtF;AAAA,EACI,eAAe;AACX,WAAO;AAAA,EACf;AAAA,EACI,OAAO,QAAQ,QAAQ;AACnB,QAAI,QAAQ,UAAU,MAAM,YAAY,QAAQ,KAAK,IAAI,CAAC;AAE1D,QAAI,eAAe,KAAK,gBAAgB,WAAW,CAAC;AACpD,QAAI,KAAK,QAAQ;AACb,UAAI,SAAS,KAAK,cAAe,KAAK,OAAO,IAAK,CAAC;AACnD,UAAI,QAAQ,UAAU,QAAQ,EAAE,SAAS,OAAO;AAC5C,aAAK,YAAY,uBAAuB,MAAM;AAAA,MAC9D;AACY,cAAQ,OAAO,OAAO,IAAI,QAAQ;AAAA,IAC9C,WACiB,QAAQ,QAAQ,QAAQ,KAAK,cAAc,KAAK,OAAO,CAAC,GAAG;AAChE,WAAK,YAAY,uBAAuB,MAAM;AAAA,IAC1D;AACQ,WAAO,OAAO,WAAW,KAAK;AAAA,EACtC;AAAA,EACI,OAAO,QAAQ;AACX,QAAI,QAAQ,KAAK,OAAO,UAAS,GAAI,KAAK,OAAO,CAAC;AAClD,QAAI,KAAK,QAAQ;AACb,cAAQ,SAAS,OAAO,KAAK,OAAO,CAAC;AAAA,IACjD;AACQ,WAAO;AAAA,EACf;AACA;","x_google_ignoreList":[0]}