@hashgraphonline/standards-sdk 0.0.92 → 0.0.93

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 (209) hide show
  1. package/dist/es/hcs-10/registrations.d.ts.map +1 -1
  2. package/dist/es/hcs-10/types.d.ts +1 -6
  3. package/dist/es/hcs-10/types.d.ts.map +1 -1
  4. package/dist/es/standards-sdk.es100.js +16 -13
  5. package/dist/es/standards-sdk.es100.js.map +1 -1
  6. package/dist/es/standards-sdk.es101.js +4 -31
  7. package/dist/es/standards-sdk.es101.js.map +1 -1
  8. package/dist/es/standards-sdk.es102.js +39 -15
  9. package/dist/es/standards-sdk.es102.js.map +1 -1
  10. package/dist/es/standards-sdk.es103.js +40 -4
  11. package/dist/es/standards-sdk.es103.js.map +1 -1
  12. package/dist/es/standards-sdk.es104.js +37 -4
  13. package/dist/es/standards-sdk.es104.js.map +1 -1
  14. package/dist/es/standards-sdk.es105.js +77 -15
  15. package/dist/es/standards-sdk.es105.js.map +1 -1
  16. package/dist/es/standards-sdk.es106.js +7135 -4
  17. package/dist/es/standards-sdk.es106.js.map +1 -1
  18. package/dist/es/standards-sdk.es107.js +3 -39
  19. package/dist/es/standards-sdk.es107.js.map +1 -1
  20. package/dist/es/standards-sdk.es108.js +2 -40
  21. package/dist/es/standards-sdk.es108.js.map +1 -1
  22. package/dist/es/standards-sdk.es109.js +2 -37
  23. package/dist/es/standards-sdk.es109.js.map +1 -1
  24. package/dist/es/standards-sdk.es110.js +31 -75
  25. package/dist/es/standards-sdk.es110.js.map +1 -1
  26. package/dist/es/standards-sdk.es111.js +33 -3
  27. package/dist/es/standards-sdk.es111.js.map +1 -1
  28. package/dist/es/standards-sdk.es112.js +9 -2
  29. package/dist/es/standards-sdk.es112.js.map +1 -1
  30. package/dist/es/standards-sdk.es113.js +34 -2
  31. package/dist/es/standards-sdk.es113.js.map +1 -1
  32. package/dist/es/standards-sdk.es114.js +416 -31
  33. package/dist/es/standards-sdk.es114.js.map +1 -1
  34. package/dist/es/standards-sdk.es115.js +2 -33
  35. package/dist/es/standards-sdk.es115.js.map +1 -1
  36. package/dist/es/standards-sdk.es116.js +120 -9
  37. package/dist/es/standards-sdk.es116.js.map +1 -1
  38. package/dist/es/standards-sdk.es117.js +4 -34
  39. package/dist/es/standards-sdk.es117.js.map +1 -1
  40. package/dist/es/standards-sdk.es13.js +2 -2
  41. package/dist/es/standards-sdk.es15.js +1 -1
  42. package/dist/es/standards-sdk.es18.js +1 -1
  43. package/dist/es/standards-sdk.es19.js +2 -2
  44. package/dist/es/standards-sdk.es22.js +1041 -5
  45. package/dist/es/standards-sdk.es22.js.map +1 -1
  46. package/dist/es/standards-sdk.es24.js +36 -7190
  47. package/dist/es/standards-sdk.es24.js.map +1 -1
  48. package/dist/es/standards-sdk.es25.js +46 -1039
  49. package/dist/es/standards-sdk.es25.js.map +1 -1
  50. package/dist/es/standards-sdk.es26.js +7190 -36
  51. package/dist/es/standards-sdk.es26.js.map +1 -1
  52. package/dist/es/standards-sdk.es27.js +3 -48
  53. package/dist/es/standards-sdk.es27.js.map +1 -1
  54. package/dist/es/standards-sdk.es28.js +2 -3
  55. package/dist/es/standards-sdk.es28.js.map +1 -1
  56. package/dist/es/standards-sdk.es29.js +4167 -2
  57. package/dist/es/standards-sdk.es29.js.map +1 -1
  58. package/dist/es/standards-sdk.es30.js +5 -4167
  59. package/dist/es/standards-sdk.es30.js.map +1 -1
  60. package/dist/es/standards-sdk.es31.js +2 -419
  61. package/dist/es/standards-sdk.es31.js.map +1 -1
  62. package/dist/es/standards-sdk.es32.js +364 -2
  63. package/dist/es/standards-sdk.es32.js.map +1 -1
  64. package/dist/es/standards-sdk.es33.js +5 -119
  65. package/dist/es/standards-sdk.es33.js.map +1 -1
  66. package/dist/es/standards-sdk.es34.js +178 -3
  67. package/dist/es/standards-sdk.es34.js.map +1 -1
  68. package/dist/es/standards-sdk.es35.js +80 -7135
  69. package/dist/es/standards-sdk.es35.js.map +1 -1
  70. package/dist/es/standards-sdk.es36.js +114 -2
  71. package/dist/es/standards-sdk.es36.js.map +1 -1
  72. package/dist/es/standards-sdk.es37.js +52 -3
  73. package/dist/es/standards-sdk.es37.js.map +1 -1
  74. package/dist/es/standards-sdk.es38.js +10 -84
  75. package/dist/es/standards-sdk.es38.js.map +1 -1
  76. package/dist/es/standards-sdk.es39.js +96 -22
  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 +3 -147
  80. package/dist/es/standards-sdk.es40.js.map +1 -1
  81. package/dist/es/standards-sdk.es41.js +2 -91
  82. package/dist/es/standards-sdk.es41.js.map +1 -1
  83. package/dist/es/standards-sdk.es42.js +97 -348
  84. package/dist/es/standards-sdk.es42.js.map +1 -1
  85. package/dist/es/standards-sdk.es43.js +73 -5
  86. package/dist/es/standards-sdk.es43.js.map +1 -1
  87. package/dist/es/standards-sdk.es44.js +5 -178
  88. package/dist/es/standards-sdk.es44.js.map +1 -1
  89. package/dist/es/standards-sdk.es45.js +4 -80
  90. package/dist/es/standards-sdk.es45.js.map +1 -1
  91. package/dist/es/standards-sdk.es46.js +207 -100
  92. package/dist/es/standards-sdk.es46.js.map +1 -1
  93. package/dist/es/standards-sdk.es47.js +54 -48
  94. package/dist/es/standards-sdk.es47.js.map +1 -1
  95. package/dist/es/standards-sdk.es48.js +68 -9
  96. package/dist/es/standards-sdk.es48.js.map +1 -1
  97. package/dist/es/standards-sdk.es49.js +76 -89
  98. package/dist/es/standards-sdk.es49.js.map +1 -1
  99. package/dist/es/standards-sdk.es5.js +2 -2
  100. package/dist/es/standards-sdk.es50.js +22 -3
  101. package/dist/es/standards-sdk.es50.js.map +1 -1
  102. package/dist/es/standards-sdk.es51.js +148 -2
  103. package/dist/es/standards-sdk.es51.js.map +1 -1
  104. package/dist/es/standards-sdk.es52.js +80 -102
  105. package/dist/es/standards-sdk.es52.js.map +1 -1
  106. package/dist/es/standards-sdk.es53.js +190 -69
  107. package/dist/es/standards-sdk.es53.js.map +1 -1
  108. package/dist/es/standards-sdk.es54.js +437 -5
  109. package/dist/es/standards-sdk.es54.js.map +1 -1
  110. package/dist/es/standards-sdk.es55.js +24 -4
  111. package/dist/es/standards-sdk.es55.js.map +1 -1
  112. package/dist/es/standards-sdk.es56.js +122 -204
  113. package/dist/es/standards-sdk.es56.js.map +1 -1
  114. package/dist/es/standards-sdk.es57.js +17 -57
  115. package/dist/es/standards-sdk.es57.js.map +1 -1
  116. package/dist/es/standards-sdk.es58.js +29 -69
  117. package/dist/es/standards-sdk.es58.js.map +1 -1
  118. package/dist/es/standards-sdk.es59.js +25 -191
  119. package/dist/es/standards-sdk.es59.js.map +1 -1
  120. package/dist/es/standards-sdk.es60.js +15 -432
  121. package/dist/es/standards-sdk.es60.js.map +1 -1
  122. package/dist/es/standards-sdk.es61.js +34 -15
  123. package/dist/es/standards-sdk.es61.js.map +1 -1
  124. package/dist/es/standards-sdk.es62.js +10 -131
  125. package/dist/es/standards-sdk.es62.js.map +1 -1
  126. package/dist/es/standards-sdk.es63.js +53 -10
  127. package/dist/es/standards-sdk.es63.js.map +1 -1
  128. package/dist/es/standards-sdk.es64.js +1281 -21
  129. package/dist/es/standards-sdk.es64.js.map +1 -1
  130. package/dist/es/standards-sdk.es65.js +28 -25
  131. package/dist/es/standards-sdk.es65.js.map +1 -1
  132. package/dist/es/standards-sdk.es66.js +5 -20
  133. package/dist/es/standards-sdk.es66.js.map +1 -1
  134. package/dist/es/standards-sdk.es67.js +151 -36
  135. package/dist/es/standards-sdk.es67.js.map +1 -1
  136. package/dist/es/standards-sdk.es68.js +788 -13
  137. package/dist/es/standards-sdk.es68.js.map +1 -1
  138. package/dist/es/standards-sdk.es69.js +136 -54
  139. package/dist/es/standards-sdk.es69.js.map +1 -1
  140. package/dist/es/standards-sdk.es7.js +2 -2
  141. package/dist/es/standards-sdk.es70.js +174 -1289
  142. package/dist/es/standards-sdk.es70.js.map +1 -1
  143. package/dist/es/standards-sdk.es71.js +3 -32
  144. package/dist/es/standards-sdk.es71.js.map +1 -1
  145. package/dist/es/standards-sdk.es72.js +163 -5
  146. package/dist/es/standards-sdk.es72.js.map +1 -1
  147. package/dist/es/standards-sdk.es73.js +27 -154
  148. package/dist/es/standards-sdk.es73.js.map +1 -1
  149. package/dist/es/standards-sdk.es74.js +45 -775
  150. package/dist/es/standards-sdk.es74.js.map +1 -1
  151. package/dist/es/standards-sdk.es75.js +47 -98
  152. package/dist/es/standards-sdk.es75.js.map +1 -1
  153. package/dist/es/standards-sdk.es76.js +10 -2
  154. package/dist/es/standards-sdk.es76.js.map +1 -1
  155. package/dist/es/standards-sdk.es77.js +64 -15
  156. package/dist/es/standards-sdk.es77.js.map +1 -1
  157. package/dist/es/standards-sdk.es78.js +6 -409
  158. package/dist/es/standards-sdk.es78.js.map +1 -1
  159. package/dist/es/standards-sdk.es79.js +12 -171
  160. package/dist/es/standards-sdk.es79.js.map +1 -1
  161. package/dist/es/standards-sdk.es8.js +2 -2
  162. package/dist/es/standards-sdk.es80.js +7 -143
  163. package/dist/es/standards-sdk.es80.js.map +1 -1
  164. package/dist/es/standards-sdk.es81.js +44 -2281
  165. package/dist/es/standards-sdk.es81.js.map +1 -1
  166. package/dist/es/standards-sdk.es82.js +2 -164
  167. package/dist/es/standards-sdk.es82.js.map +1 -1
  168. package/dist/es/standards-sdk.es83.js +135 -31
  169. package/dist/es/standards-sdk.es83.js.map +1 -1
  170. package/dist/es/standards-sdk.es84.js +164 -55
  171. package/dist/es/standards-sdk.es84.js.map +1 -1
  172. package/dist/es/standards-sdk.es85.js +98 -47
  173. package/dist/es/standards-sdk.es85.js.map +1 -1
  174. package/dist/es/standards-sdk.es86.js +2 -10
  175. package/dist/es/standards-sdk.es86.js.map +1 -1
  176. package/dist/es/standards-sdk.es87.js +15 -64
  177. package/dist/es/standards-sdk.es87.js.map +1 -1
  178. package/dist/es/standards-sdk.es88.js +409 -6
  179. package/dist/es/standards-sdk.es88.js.map +1 -1
  180. package/dist/es/standards-sdk.es89.js +20 -14
  181. package/dist/es/standards-sdk.es89.js.map +1 -1
  182. package/dist/es/standards-sdk.es9.js +4 -2
  183. package/dist/es/standards-sdk.es9.js.map +1 -1
  184. package/dist/es/standards-sdk.es90.js +27 -7
  185. package/dist/es/standards-sdk.es90.js.map +1 -1
  186. package/dist/es/standards-sdk.es91.js +26 -45
  187. package/dist/es/standards-sdk.es91.js.map +1 -1
  188. package/dist/es/standards-sdk.es92.js +38 -2
  189. package/dist/es/standards-sdk.es92.js.map +1 -1
  190. package/dist/es/standards-sdk.es93.js +12 -135
  191. package/dist/es/standards-sdk.es93.js.map +1 -1
  192. package/dist/es/standards-sdk.es94.js +13 -172
  193. package/dist/es/standards-sdk.es94.js.map +1 -1
  194. package/dist/es/standards-sdk.es95.js +31 -20
  195. package/dist/es/standards-sdk.es95.js.map +1 -1
  196. package/dist/es/standards-sdk.es96.js +14 -26
  197. package/dist/es/standards-sdk.es96.js.map +1 -1
  198. package/dist/es/standards-sdk.es97.js +3 -25
  199. package/dist/es/standards-sdk.es97.js.map +1 -1
  200. package/dist/es/standards-sdk.es98.js +3 -37
  201. package/dist/es/standards-sdk.es98.js.map +1 -1
  202. package/dist/es/standards-sdk.es99.js +2281 -12
  203. package/dist/es/standards-sdk.es99.js.map +1 -1
  204. package/dist/umd/hcs-10/registrations.d.ts.map +1 -1
  205. package/dist/umd/hcs-10/types.d.ts +1 -6
  206. package/dist/umd/hcs-10/types.d.ts.map +1 -1
  207. package/dist/umd/standards-sdk.umd.js +1 -1
  208. package/dist/umd/standards-sdk.umd.js.map +1 -1
  209. package/package.json +1 -1
@@ -1,116 +1,94 @@
1
- import Buffer from "./standards-sdk.es23.js";
2
- import utils from "./standards-sdk.es42.js";
3
- import AxiosError from "./standards-sdk.es53.js";
4
- function isVisitable(thing) {
5
- return utils.isPlainObject(thing) || utils.isArray(thing);
6
- }
7
- function removeBrackets(key) {
8
- return utils.endsWith(key, "[]") ? key.slice(0, -2) : key;
1
+ import { assert, assertArgument } from "./standards-sdk.es51.js";
2
+ function _getBytes(value, name, copy) {
3
+ if (value instanceof Uint8Array) {
4
+ if (copy) {
5
+ return new Uint8Array(value);
6
+ }
7
+ return value;
8
+ }
9
+ if (typeof value === "string" && value.match(/^0x(?:[0-9a-f][0-9a-f])*$/i)) {
10
+ const result = new Uint8Array((value.length - 2) / 2);
11
+ let offset = 2;
12
+ for (let i = 0; i < result.length; i++) {
13
+ result[i] = parseInt(value.substring(offset, offset + 2), 16);
14
+ offset += 2;
15
+ }
16
+ return result;
17
+ }
18
+ assertArgument(false, "invalid BytesLike value", name || "value", value);
9
19
  }
10
- function renderKey(path, key, dots) {
11
- if (!path) return key;
12
- return path.concat(key).map(function each(token, i) {
13
- token = removeBrackets(token);
14
- return !dots && i ? "[" + token + "]" : token;
15
- }).join(dots ? "." : "");
20
+ function getBytes(value, name) {
21
+ return _getBytes(value, name, false);
16
22
  }
17
- function isFlatArray(arr) {
18
- return utils.isArray(arr) && !arr.some(isVisitable);
23
+ function getBytesCopy(value, name) {
24
+ return _getBytes(value, name, true);
19
25
  }
20
- const predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {
21
- return /^is[A-Z]/.test(prop);
22
- });
23
- function toFormData(obj, formData, options) {
24
- if (!utils.isObject(obj)) {
25
- throw new TypeError("target must be an object");
26
- }
27
- formData = formData || new FormData();
28
- options = utils.toFlatObject(options, {
29
- metaTokens: true,
30
- dots: false,
31
- indexes: false
32
- }, false, function defined(option, source) {
33
- return !utils.isUndefined(source[option]);
34
- });
35
- const metaTokens = options.metaTokens;
36
- const visitor = options.visitor || defaultVisitor;
37
- const dots = options.dots;
38
- const indexes = options.indexes;
39
- const _Blob = options.Blob || typeof Blob !== "undefined" && Blob;
40
- const useBlob = _Blob && utils.isSpecCompliantForm(formData);
41
- if (!utils.isFunction(visitor)) {
42
- throw new TypeError("visitor must be a function");
26
+ function isHexString(value, length) {
27
+ if (typeof value !== "string" || !value.match(/^0x[0-9A-Fa-f]*$/)) {
28
+ return false;
43
29
  }
44
- function convertValue(value) {
45
- if (value === null) return "";
46
- if (utils.isDate(value)) {
47
- return value.toISOString();
48
- }
49
- if (!useBlob && utils.isBlob(value)) {
50
- throw new AxiosError("Blob is not supported. Use a Buffer instead.");
51
- }
52
- if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {
53
- return useBlob && typeof Blob === "function" ? new Blob([value]) : Buffer.from(value);
54
- }
55
- return value;
30
+ if (typeof length === "number" && value.length !== 2 + 2 * length) {
31
+ return false;
56
32
  }
57
- function defaultVisitor(value, key, path) {
58
- let arr = value;
59
- if (value && !path && typeof value === "object") {
60
- if (utils.endsWith(key, "{}")) {
61
- key = metaTokens ? key : key.slice(0, -2);
62
- value = JSON.stringify(value);
63
- } else if (utils.isArray(value) && isFlatArray(value) || (utils.isFileList(value) || utils.endsWith(key, "[]")) && (arr = utils.toArray(value))) {
64
- key = removeBrackets(key);
65
- arr.forEach(function each(el, index) {
66
- !(utils.isUndefined(el) || el === null) && formData.append(
67
- // eslint-disable-next-line no-nested-ternary
68
- indexes === true ? renderKey([key], index, dots) : indexes === null ? key : key + "[]",
69
- convertValue(el)
70
- );
71
- });
72
- return false;
73
- }
74
- }
75
- if (isVisitable(value)) {
76
- return true;
77
- }
78
- formData.append(renderKey(path, key, dots), convertValue(value));
33
+ if (length === true && value.length % 2 !== 0) {
79
34
  return false;
80
35
  }
81
- const stack = [];
82
- const exposedHelpers = Object.assign(predicates, {
83
- defaultVisitor,
84
- convertValue,
85
- isVisitable
86
- });
87
- function build(value, path) {
88
- if (utils.isUndefined(value)) return;
89
- if (stack.indexOf(value) !== -1) {
90
- throw Error("Circular reference detected in " + path.join("."));
91
- }
92
- stack.push(value);
93
- utils.forEach(value, function each(el, key) {
94
- const result = !(utils.isUndefined(el) || el === null) && visitor.call(
95
- formData,
96
- el,
97
- utils.isString(key) ? key.trim() : key,
98
- path,
99
- exposedHelpers
100
- );
101
- if (result === true) {
102
- build(el, path ? path.concat(key) : [key]);
103
- }
36
+ return true;
37
+ }
38
+ const HexCharacters = "0123456789abcdef";
39
+ function hexlify(data) {
40
+ const bytes = getBytes(data);
41
+ let result = "0x";
42
+ for (let i = 0; i < bytes.length; i++) {
43
+ const v = bytes[i];
44
+ result += HexCharacters[(v & 240) >> 4] + HexCharacters[v & 15];
45
+ }
46
+ return result;
47
+ }
48
+ function concat(datas) {
49
+ return "0x" + datas.map((d) => hexlify(d).substring(2)).join("");
50
+ }
51
+ function dataSlice(data, start, end) {
52
+ const bytes = getBytes(data);
53
+ if (end != null && end > bytes.length) {
54
+ assert(false, "cannot slice beyond data bounds", "BUFFER_OVERRUN", {
55
+ buffer: bytes,
56
+ length: bytes.length,
57
+ offset: end
104
58
  });
105
- stack.pop();
106
59
  }
107
- if (!utils.isObject(obj)) {
108
- throw new TypeError("data must be an object");
60
+ return hexlify(bytes.slice(start == null ? 0 : start, end == null ? bytes.length : end));
61
+ }
62
+ function zeroPad(data, length, left) {
63
+ const bytes = getBytes(data);
64
+ assert(length >= bytes.length, "padding exceeds data length", "BUFFER_OVERRUN", {
65
+ buffer: new Uint8Array(bytes),
66
+ length,
67
+ offset: length + 1
68
+ });
69
+ const result = new Uint8Array(length);
70
+ result.fill(0);
71
+ if (left) {
72
+ result.set(bytes, length - bytes.length);
73
+ } else {
74
+ result.set(bytes, 0);
109
75
  }
110
- build(obj);
111
- return formData;
76
+ return hexlify(result);
77
+ }
78
+ function zeroPadValue(data, length) {
79
+ return zeroPad(data, length, true);
80
+ }
81
+ function zeroPadBytes(data, length) {
82
+ return zeroPad(data, length, false);
112
83
  }
113
84
  export {
114
- toFormData as default
85
+ concat,
86
+ dataSlice,
87
+ getBytes,
88
+ getBytesCopy,
89
+ hexlify,
90
+ isHexString,
91
+ zeroPadBytes,
92
+ zeroPadValue
115
93
  };
116
94
  //# sourceMappingURL=standards-sdk.es52.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"standards-sdk.es52.js","sources":["../../node_modules/axios/lib/helpers/toFormData.js"],"sourcesContent":["'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\n// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored\nimport PlatformFormData from '../platform/node/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path.concat(key).map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n }).join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array<any>} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object<any, any>} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object<string, any>} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (PlatformFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(options, {\n metaTokens: true,\n dots: false,\n indexes: false\n }, false, function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n });\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n const useBlob = _Blob && utils.isSpecCompliantForm(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array<String|Number>} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n ((utils.isFileList(value) || utils.endsWith(key, '[]')) && (arr = utils.toArray(value))\n )) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !(utils.isUndefined(el) || el === null) && formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result = !(utils.isUndefined(el) || el === null) && visitor.call(\n formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers\n );\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n"],"names":[],"mappings":";;;AAcA,SAAS,YAAY,OAAO;AAC1B,SAAO,MAAM,cAAc,KAAK,KAAK,MAAM,QAAQ,KAAK;AAC1D;AASA,SAAS,eAAe,KAAK;AAC3B,SAAO,MAAM,SAAS,KAAK,IAAI,IAAI,IAAI,MAAM,GAAG,EAAE,IAAI;AACxD;AAWA,SAAS,UAAU,MAAM,KAAK,MAAM;AAClC,MAAI,CAAC,KAAM,QAAO;AAClB,SAAO,KAAK,OAAO,GAAG,EAAE,IAAI,SAAS,KAAK,OAAO,GAAG;AAElD,YAAQ,eAAe,KAAK;AAC5B,WAAO,CAAC,QAAQ,IAAI,MAAM,QAAQ,MAAM;AAAA,EACzC,CAAA,EAAE,KAAK,OAAO,MAAM,EAAE;AACzB;AASA,SAAS,YAAY,KAAK;AACxB,SAAO,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,KAAK,WAAW;AACpD;AAEA,MAAM,aAAa,MAAM,aAAa,OAAO,CAAE,GAAE,MAAM,SAAS,OAAO,MAAM;AAC3E,SAAO,WAAW,KAAK,IAAI;AAC7B,CAAC;AAyBD,SAAS,WAAW,KAAK,UAAU,SAAS;AAC1C,MAAI,CAAC,MAAM,SAAS,GAAG,GAAG;AACxB,UAAM,IAAI,UAAU,0BAA0B;AAAA,EAClD;AAGE,aAAW,YAAY,IAAyB,SAAW;AAG3D,YAAU,MAAM,aAAa,SAAS;AAAA,IACpC,YAAY;AAAA,IACZ,MAAM;AAAA,IACN,SAAS;AAAA,EACV,GAAE,OAAO,SAAS,QAAQ,QAAQ,QAAQ;AAEzC,WAAO,CAAC,MAAM,YAAY,OAAO,MAAM,CAAC;AAAA,EAC5C,CAAG;AAED,QAAM,aAAa,QAAQ;AAE3B,QAAM,UAAU,QAAQ,WAAW;AACnC,QAAM,OAAO,QAAQ;AACrB,QAAM,UAAU,QAAQ;AACxB,QAAM,QAAQ,QAAQ,QAAQ,OAAO,SAAS,eAAe;AAC7D,QAAM,UAAU,SAAS,MAAM,oBAAoB,QAAQ;AAE3D,MAAI,CAAC,MAAM,WAAW,OAAO,GAAG;AAC9B,UAAM,IAAI,UAAU,4BAA4B;AAAA,EACpD;AAEE,WAAS,aAAa,OAAO;AAC3B,QAAI,UAAU,KAAM,QAAO;AAE3B,QAAI,MAAM,OAAO,KAAK,GAAG;AACvB,aAAO,MAAM,YAAa;AAAA,IAChC;AAEI,QAAI,CAAC,WAAW,MAAM,OAAO,KAAK,GAAG;AACnC,YAAM,IAAI,WAAW,8CAA8C;AAAA,IACzE;AAEI,QAAI,MAAM,cAAc,KAAK,KAAK,MAAM,aAAa,KAAK,GAAG;AAC3D,aAAO,WAAW,OAAO,SAAS,aAAa,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,OAAO,KAAK,KAAK;AAAA,IAC1F;AAEI,WAAO;AAAA,EACX;AAYE,WAAS,eAAe,OAAO,KAAK,MAAM;AACxC,QAAI,MAAM;AAEV,QAAI,SAAS,CAAC,QAAQ,OAAO,UAAU,UAAU;AAC/C,UAAI,MAAM,SAAS,KAAK,IAAI,GAAG;AAE7B,cAAM,aAAa,MAAM,IAAI,MAAM,GAAG,EAAE;AAExC,gBAAQ,KAAK,UAAU,KAAK;AAAA,MACpC,WACS,MAAM,QAAQ,KAAK,KAAK,YAAY,KAAK,MACxC,MAAM,WAAW,KAAK,KAAK,MAAM,SAAS,KAAK,IAAI,OAAO,MAAM,MAAM,QAAQ,KAAK,IAClF;AAEH,cAAM,eAAe,GAAG;AAExB,YAAI,QAAQ,SAAS,KAAK,IAAI,OAAO;AACnC,YAAE,MAAM,YAAY,EAAE,KAAK,OAAO,SAAS,SAAS;AAAA;AAAA,YAElD,YAAY,OAAO,UAAU,CAAC,GAAG,GAAG,OAAO,IAAI,IAAK,YAAY,OAAO,MAAM,MAAM;AAAA,YACnF,aAAa,EAAE;AAAA,UAChB;AAAA,QACX,CAAS;AACD,eAAO;AAAA,MACf;AAAA,IACA;AAEI,QAAI,YAAY,KAAK,GAAG;AACtB,aAAO;AAAA,IACb;AAEI,aAAS,OAAO,UAAU,MAAM,KAAK,IAAI,GAAG,aAAa,KAAK,CAAC;AAE/D,WAAO;AAAA,EACX;AAEE,QAAM,QAAQ,CAAE;AAEhB,QAAM,iBAAiB,OAAO,OAAO,YAAY;AAAA,IAC/C;AAAA,IACA;AAAA,IACA;AAAA,EACJ,CAAG;AAED,WAAS,MAAM,OAAO,MAAM;AAC1B,QAAI,MAAM,YAAY,KAAK,EAAG;AAE9B,QAAI,MAAM,QAAQ,KAAK,MAAM,IAAI;AAC/B,YAAM,MAAM,oCAAoC,KAAK,KAAK,GAAG,CAAC;AAAA,IACpE;AAEI,UAAM,KAAK,KAAK;AAEhB,UAAM,QAAQ,OAAO,SAAS,KAAK,IAAI,KAAK;AAC1C,YAAM,SAAS,EAAE,MAAM,YAAY,EAAE,KAAK,OAAO,SAAS,QAAQ;AAAA,QAChE;AAAA,QAAU;AAAA,QAAI,MAAM,SAAS,GAAG,IAAI,IAAI,KAAI,IAAK;AAAA,QAAK;AAAA,QAAM;AAAA,MAC7D;AAED,UAAI,WAAW,MAAM;AACnB,cAAM,IAAI,OAAO,KAAK,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC;AAAA,MACjD;AAAA,IACA,CAAK;AAED,UAAM,IAAK;AAAA,EACf;AAEE,MAAI,CAAC,MAAM,SAAS,GAAG,GAAG;AACxB,UAAM,IAAI,UAAU,wBAAwB;AAAA,EAChD;AAEE,QAAM,GAAG;AAET,SAAO;AACT;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"standards-sdk.es52.js","sources":["../../node_modules/ethers/lib.esm/utils/data.js"],"sourcesContent":["/**\n * Some data helpers.\n *\n *\n * @_subsection api/utils:Data Helpers [about-data]\n */\nimport { assert, assertArgument } from \"./errors.js\";\nfunction _getBytes(value, name, copy) {\n if (value instanceof Uint8Array) {\n if (copy) {\n return new Uint8Array(value);\n }\n return value;\n }\n if (typeof (value) === \"string\" && value.match(/^0x(?:[0-9a-f][0-9a-f])*$/i)) {\n const result = new Uint8Array((value.length - 2) / 2);\n let offset = 2;\n for (let i = 0; i < result.length; i++) {\n result[i] = parseInt(value.substring(offset, offset + 2), 16);\n offset += 2;\n }\n return result;\n }\n assertArgument(false, \"invalid BytesLike value\", name || \"value\", value);\n}\n/**\n * Get a typed Uint8Array for %%value%%. If already a Uint8Array\n * the original %%value%% is returned; if a copy is required use\n * [[getBytesCopy]].\n *\n * @see: getBytesCopy\n */\nexport function getBytes(value, name) {\n return _getBytes(value, name, false);\n}\n/**\n * Get a typed Uint8Array for %%value%%, creating a copy if necessary\n * to prevent any modifications of the returned value from being\n * reflected elsewhere.\n *\n * @see: getBytes\n */\nexport function getBytesCopy(value, name) {\n return _getBytes(value, name, true);\n}\n/**\n * Returns true if %%value%% is a valid [[HexString]].\n *\n * If %%length%% is ``true`` or a //number//, it also checks that\n * %%value%% is a valid [[DataHexString]] of %%length%% (if a //number//)\n * bytes of data (e.g. ``0x1234`` is 2 bytes).\n */\nexport function isHexString(value, length) {\n if (typeof (value) !== \"string\" || !value.match(/^0x[0-9A-Fa-f]*$/)) {\n return false;\n }\n if (typeof (length) === \"number\" && value.length !== 2 + 2 * length) {\n return false;\n }\n if (length === true && (value.length % 2) !== 0) {\n return false;\n }\n return true;\n}\n/**\n * Returns true if %%value%% is a valid representation of arbitrary\n * data (i.e. a valid [[DataHexString]] or a Uint8Array).\n */\nexport function isBytesLike(value) {\n return (isHexString(value, true) || (value instanceof Uint8Array));\n}\nconst HexCharacters = \"0123456789abcdef\";\n/**\n * Returns a [[DataHexString]] representation of %%data%%.\n */\nexport function hexlify(data) {\n const bytes = getBytes(data);\n let result = \"0x\";\n for (let i = 0; i < bytes.length; i++) {\n const v = bytes[i];\n result += HexCharacters[(v & 0xf0) >> 4] + HexCharacters[v & 0x0f];\n }\n return result;\n}\n/**\n * Returns a [[DataHexString]] by concatenating all values\n * within %%data%%.\n */\nexport function concat(datas) {\n return \"0x\" + datas.map((d) => hexlify(d).substring(2)).join(\"\");\n}\n/**\n * Returns the length of %%data%%, in bytes.\n */\nexport function dataLength(data) {\n if (isHexString(data, true)) {\n return (data.length - 2) / 2;\n }\n return getBytes(data).length;\n}\n/**\n * Returns a [[DataHexString]] by slicing %%data%% from the %%start%%\n * offset to the %%end%% offset.\n *\n * By default %%start%% is 0 and %%end%% is the length of %%data%%.\n */\nexport function dataSlice(data, start, end) {\n const bytes = getBytes(data);\n if (end != null && end > bytes.length) {\n assert(false, \"cannot slice beyond data bounds\", \"BUFFER_OVERRUN\", {\n buffer: bytes, length: bytes.length, offset: end\n });\n }\n return hexlify(bytes.slice((start == null) ? 0 : start, (end == null) ? bytes.length : end));\n}\n/**\n * Return the [[DataHexString]] result by stripping all **leading**\n ** zero bytes from %%data%%.\n */\nexport function stripZerosLeft(data) {\n let bytes = hexlify(data).substring(2);\n while (bytes.startsWith(\"00\")) {\n bytes = bytes.substring(2);\n }\n return \"0x\" + bytes;\n}\nfunction zeroPad(data, length, left) {\n const bytes = getBytes(data);\n assert(length >= bytes.length, \"padding exceeds data length\", \"BUFFER_OVERRUN\", {\n buffer: new Uint8Array(bytes),\n length: length,\n offset: length + 1\n });\n const result = new Uint8Array(length);\n result.fill(0);\n if (left) {\n result.set(bytes, length - bytes.length);\n }\n else {\n result.set(bytes, 0);\n }\n return hexlify(result);\n}\n/**\n * Return the [[DataHexString]] of %%data%% padded on the **left**\n * to %%length%% bytes.\n *\n * If %%data%% already exceeds %%length%%, a [[BufferOverrunError]] is\n * thrown.\n *\n * This pads data the same as **values** are in Solidity\n * (e.g. ``uint128``).\n */\nexport function zeroPadValue(data, length) {\n return zeroPad(data, length, true);\n}\n/**\n * Return the [[DataHexString]] of %%data%% padded on the **right**\n * to %%length%% bytes.\n *\n * If %%data%% already exceeds %%length%%, a [[BufferOverrunError]] is\n * thrown.\n *\n * This pads data the same as **bytes** are in Solidity\n * (e.g. ``bytes16``).\n */\nexport function zeroPadBytes(data, length) {\n return zeroPad(data, length, false);\n}\n//# sourceMappingURL=data.js.map"],"names":[],"mappings":";AAOA,SAAS,UAAU,OAAO,MAAM,MAAM;AAClC,MAAI,iBAAiB,YAAY;AAC7B,QAAI,MAAM;AACN,aAAO,IAAI,WAAW,KAAK;AAAA,IACvC;AACQ,WAAO;AAAA,EACf;AACI,MAAI,OAAQ,UAAW,YAAY,MAAM,MAAM,4BAA4B,GAAG;AAC1E,UAAM,SAAS,IAAI,YAAY,MAAM,SAAS,KAAK,CAAC;AACpD,QAAI,SAAS;AACb,aAAS,IAAI,GAAG,IAAI,OAAO,QAAQ,KAAK;AACpC,aAAO,CAAC,IAAI,SAAS,MAAM,UAAU,QAAQ,SAAS,CAAC,GAAG,EAAE;AAC5D,gBAAU;AAAA,IACtB;AACQ,WAAO;AAAA,EACf;AACI,iBAAe,OAAO,2BAA2B,QAAQ,SAAS,KAAK;AAC3E;AAQO,SAAS,SAAS,OAAO,MAAM;AAClC,SAAO,UAAU,OAAO,MAAM,KAAK;AACvC;AAQO,SAAS,aAAa,OAAO,MAAM;AACtC,SAAO,UAAU,OAAO,MAAM,IAAI;AACtC;AAQO,SAAS,YAAY,OAAO,QAAQ;AACvC,MAAI,OAAQ,UAAW,YAAY,CAAC,MAAM,MAAM,kBAAkB,GAAG;AACjE,WAAO;AAAA,EACf;AACI,MAAI,OAAQ,WAAY,YAAY,MAAM,WAAW,IAAI,IAAI,QAAQ;AACjE,WAAO;AAAA,EACf;AACI,MAAI,WAAW,QAAS,MAAM,SAAS,MAAO,GAAG;AAC7C,WAAO;AAAA,EACf;AACI,SAAO;AACX;AAQA,MAAM,gBAAgB;AAIf,SAAS,QAAQ,MAAM;AAC1B,QAAM,QAAQ,SAAS,IAAI;AAC3B,MAAI,SAAS;AACb,WAAS,IAAI,GAAG,IAAI,MAAM,QAAQ,KAAK;AACnC,UAAM,IAAI,MAAM,CAAC;AACjB,cAAU,eAAe,IAAI,QAAS,CAAC,IAAI,cAAc,IAAI,EAAI;AAAA,EACzE;AACI,SAAO;AACX;AAKO,SAAS,OAAO,OAAO;AAC1B,SAAO,OAAO,MAAM,IAAI,CAAC,MAAM,QAAQ,CAAC,EAAE,UAAU,CAAC,CAAC,EAAE,KAAK,EAAE;AACnE;AAgBO,SAAS,UAAU,MAAM,OAAO,KAAK;AACxC,QAAM,QAAQ,SAAS,IAAI;AAC3B,MAAI,OAAO,QAAQ,MAAM,MAAM,QAAQ;AACnC,WAAO,OAAO,mCAAmC,kBAAkB;AAAA,MAC/D,QAAQ;AAAA,MAAO,QAAQ,MAAM;AAAA,MAAQ,QAAQ;AAAA,IACzD,CAAS;AAAA,EACT;AACI,SAAO,QAAQ,MAAM,MAAO,SAAS,OAAQ,IAAI,OAAQ,OAAO,OAAQ,MAAM,SAAS,GAAG,CAAC;AAC/F;AAYA,SAAS,QAAQ,MAAM,QAAQ,MAAM;AACjC,QAAM,QAAQ,SAAS,IAAI;AAC3B,SAAO,UAAU,MAAM,QAAQ,+BAA+B,kBAAkB;AAAA,IAC5E,QAAQ,IAAI,WAAW,KAAK;AAAA,IAC5B;AAAA,IACA,QAAQ,SAAS;AAAA,EACzB,CAAK;AACD,QAAM,SAAS,IAAI,WAAW,MAAM;AACpC,SAAO,KAAK,CAAC;AACb,MAAI,MAAM;AACN,WAAO,IAAI,OAAO,SAAS,MAAM,MAAM;AAAA,EAC/C,OACS;AACD,WAAO,IAAI,OAAO,CAAC;AAAA,EAC3B;AACI,SAAO,QAAQ,MAAM;AACzB;AAWO,SAAS,aAAa,MAAM,QAAQ;AACvC,SAAO,QAAQ,MAAM,QAAQ,IAAI;AACrC;AAWO,SAAS,aAAa,MAAM,QAAQ;AACvC,SAAO,QAAQ,MAAM,QAAQ,KAAK;AACtC;","x_google_ignoreList":[0]}
@@ -1,77 +1,198 @@
1
- import utils from "./standards-sdk.es42.js";
2
- function AxiosError(message, code, config, request, response) {
3
- Error.call(this);
4
- if (Error.captureStackTrace) {
5
- Error.captureStackTrace(this, this.constructor);
6
- } else {
7
- this.stack = new Error().stack;
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.es54.js";
9
+ import { AddressCoder } from "./standards-sdk.es55.js";
10
+ import { ArrayCoder } from "./standards-sdk.es56.js";
11
+ import { BooleanCoder } from "./standards-sdk.es57.js";
12
+ import { BytesCoder } from "./standards-sdk.es58.js";
13
+ import { FixedBytesCoder } from "./standards-sdk.es59.js";
14
+ import { NullCoder } from "./standards-sdk.es60.js";
15
+ import { NumberCoder } from "./standards-sdk.es61.js";
16
+ import { StringCoder } from "./standards-sdk.es62.js";
17
+ import { TupleCoder } from "./standards-sdk.es63.js";
18
+ import { ParamType } from "./standards-sdk.es64.js";
19
+ import { assertArgument, assertArgumentCount, makeError } from "./standards-sdk.es51.js";
20
+ import { getBytes, hexlify } from "./standards-sdk.es52.js";
21
+ import { getAddress } from "./standards-sdk.es49.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)";
75
+ }
76
+ } else {
77
+ message += " (unknown custom error)";
78
+ }
8
79
  }
9
- this.message = message;
10
- this.name = "AxiosError";
11
- code && (this.code = code);
12
- config && (this.config = config);
13
- request && (this.request = request);
14
- if (response) {
15
- this.response = response;
16
- this.status = response.status ? response.status : null;
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);
17
86
  }
87
+ return makeError(message, "CALL_EXCEPTION", {
88
+ action,
89
+ data,
90
+ reason,
91
+ transaction,
92
+ invocation,
93
+ revert
94
+ });
18
95
  }
19
- utils.inherits(AxiosError, Error, {
20
- toJSON: function toJSON() {
21
- return {
22
- // Standard
23
- message: this.message,
24
- name: this.name,
25
- // Microsoft
26
- description: this.description,
27
- number: this.number,
28
- // Mozilla
29
- fileName: this.fileName,
30
- lineNumber: this.lineNumber,
31
- columnNumber: this.columnNumber,
32
- stack: this.stack,
33
- // Axios
34
- config: utils.toJSONObject(this.config),
35
- code: this.code,
36
- status: this.status
37
- };
96
+ const _AbiCoder = class _AbiCoder {
97
+ constructor() {
98
+ __privateAdd(this, _AbiCoder_instances);
38
99
  }
39
- });
40
- const prototype = AxiosError.prototype;
41
- const descriptors = {};
42
- [
43
- "ERR_BAD_OPTION_VALUE",
44
- "ERR_BAD_OPTION",
45
- "ECONNABORTED",
46
- "ETIMEDOUT",
47
- "ERR_NETWORK",
48
- "ERR_FR_TOO_MANY_REDIRECTS",
49
- "ERR_DEPRECATED",
50
- "ERR_BAD_RESPONSE",
51
- "ERR_BAD_REQUEST",
52
- "ERR_CANCELED",
53
- "ERR_NOT_SUPPORT",
54
- "ERR_INVALID_URL"
55
- // eslint-disable-next-line func-names
56
- ].forEach((code) => {
57
- descriptors[code] = { value: code };
58
- });
59
- Object.defineProperties(AxiosError, descriptors);
60
- Object.defineProperty(prototype, "isAxiosError", { value: true });
61
- AxiosError.from = (error, code, config, request, response, customProps) => {
62
- const axiosError = Object.create(prototype);
63
- utils.toFlatObject(error, axiosError, function filter(obj) {
64
- return obj !== Error.prototype;
65
- }, (prop) => {
66
- return prop !== "isAxiosError";
67
- });
68
- AxiosError.call(axiosError, error.message, code, config, request, response);
69
- axiosError.cause = error;
70
- axiosError.name = error.name;
71
- customProps && Object.assign(axiosError, customProps);
72
- return axiosError;
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();
148
+ }
149
+ return defaultCoder;
150
+ }
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);
73
193
  };
194
+ let AbiCoder = _AbiCoder;
74
195
  export {
75
- AxiosError as default
196
+ AbiCoder
76
197
  };
77
198
  //# sourceMappingURL=standards-sdk.es53.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"standards-sdk.es53.js","sources":["../../node_modules/axios/lib/core/AxiosError.js"],"sourcesContent":["'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = (new Error()).stack;\n }\n\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n if (response) {\n this.response = response;\n this.status = response.status ? response.status : null;\n }\n}\n\nutils.inherits(AxiosError, Error, {\n toJSON: function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: utils.toJSONObject(this.config),\n code: this.code,\n status: this.status\n };\n }\n});\n\nconst prototype = AxiosError.prototype;\nconst descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED',\n 'ERR_NOT_SUPPORT',\n 'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(code => {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = (error, code, config, request, response, customProps) => {\n const axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n }, prop => {\n return prop !== 'isAxiosError';\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.cause = error;\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nexport default AxiosError;\n"],"names":[],"mappings":";AAeA,SAAS,WAAW,SAAS,MAAM,QAAQ,SAAS,UAAU;AAC5D,QAAM,KAAK,IAAI;AAEf,MAAI,MAAM,mBAAmB;AAC3B,UAAM,kBAAkB,MAAM,KAAK,WAAW;AAAA,EAClD,OAAS;AACL,SAAK,QAAS,IAAI,MAAO,EAAE;AAAA,EAC/B;AAEE,OAAK,UAAU;AACf,OAAK,OAAO;AACZ,WAAS,KAAK,OAAO;AACrB,aAAW,KAAK,SAAS;AACzB,cAAY,KAAK,UAAU;AAC3B,MAAI,UAAU;AACZ,SAAK,WAAW;AAChB,SAAK,SAAS,SAAS,SAAS,SAAS,SAAS;AAAA,EACtD;AACA;AAEA,MAAM,SAAS,YAAY,OAAO;AAAA,EAChC,QAAQ,SAAS,SAAS;AACxB,WAAO;AAAA;AAAA,MAEL,SAAS,KAAK;AAAA,MACd,MAAM,KAAK;AAAA;AAAA,MAEX,aAAa,KAAK;AAAA,MAClB,QAAQ,KAAK;AAAA;AAAA,MAEb,UAAU,KAAK;AAAA,MACf,YAAY,KAAK;AAAA,MACjB,cAAc,KAAK;AAAA,MACnB,OAAO,KAAK;AAAA;AAAA,MAEZ,QAAQ,MAAM,aAAa,KAAK,MAAM;AAAA,MACtC,MAAM,KAAK;AAAA,MACX,QAAQ,KAAK;AAAA,IACd;AAAA,EACL;AACA,CAAC;AAED,MAAM,YAAY,WAAW;AAC7B,MAAM,cAAc,CAAE;AAEtB;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAEF,EAAE,QAAQ,UAAQ;AAChB,cAAY,IAAI,IAAI,EAAC,OAAO,KAAI;AAClC,CAAC;AAED,OAAO,iBAAiB,YAAY,WAAW;AAC/C,OAAO,eAAe,WAAW,gBAAgB,EAAC,OAAO,KAAI,CAAC;AAG9D,WAAW,OAAO,CAAC,OAAO,MAAM,QAAQ,SAAS,UAAU,gBAAgB;AACzE,QAAM,aAAa,OAAO,OAAO,SAAS;AAE1C,QAAM,aAAa,OAAO,YAAY,SAAS,OAAO,KAAK;AACzD,WAAO,QAAQ,MAAM;AAAA,EACtB,GAAE,UAAQ;AACT,WAAO,SAAS;AAAA,EACpB,CAAG;AAED,aAAW,KAAK,YAAY,MAAM,SAAS,MAAM,QAAQ,SAAS,QAAQ;AAE1E,aAAW,QAAQ;AAEnB,aAAW,OAAO,MAAM;AAExB,iBAAe,OAAO,OAAO,YAAY,WAAW;AAEpD,SAAO;AACT;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"standards-sdk.es53.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]}