@hashgraphonline/standards-sdk 0.0.79 → 0.0.81

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 (201) hide show
  1. package/dist/es/hcs-10/browser.d.ts.map +1 -1
  2. package/dist/es/hcs-10/sdk.d.ts +10 -1
  3. package/dist/es/hcs-10/sdk.d.ts.map +1 -1
  4. package/dist/es/standards-sdk.es100.js +14 -28
  5. package/dist/es/standards-sdk.es100.js.map +1 -1
  6. package/dist/es/standards-sdk.es101.js +3 -28
  7. package/dist/es/standards-sdk.es101.js.map +1 -1
  8. package/dist/es/standards-sdk.es102.js +3 -20
  9. package/dist/es/standards-sdk.es102.js.map +1 -1
  10. package/dist/es/standards-sdk.es103.js +14 -42
  11. package/dist/es/standards-sdk.es103.js.map +1 -1
  12. package/dist/es/standards-sdk.es104.js +4 -17
  13. package/dist/es/standards-sdk.es104.js.map +1 -1
  14. package/dist/es/standards-sdk.es105.js +39 -61
  15. package/dist/es/standards-sdk.es105.js.map +1 -1
  16. package/dist/es/standards-sdk.es106.js +39 -1288
  17. package/dist/es/standards-sdk.es106.js.map +1 -1
  18. package/dist/es/standards-sdk.es107.js +36 -31
  19. package/dist/es/standards-sdk.es107.js.map +1 -1
  20. package/dist/es/standards-sdk.es108.js +78 -6
  21. package/dist/es/standards-sdk.es108.js.map +1 -1
  22. package/dist/es/standards-sdk.es109.js +3 -158
  23. package/dist/es/standards-sdk.es109.js.map +1 -1
  24. package/dist/es/standards-sdk.es110.js +3 -793
  25. package/dist/es/standards-sdk.es110.js.map +1 -1
  26. package/dist/es/standards-sdk.es111.js +2 -174
  27. package/dist/es/standards-sdk.es111.js.map +1 -1
  28. package/dist/es/standards-sdk.es112.js +2 -143
  29. package/dist/es/standards-sdk.es112.js.map +1 -1
  30. package/dist/es/standards-sdk.es113.js +33 -20
  31. package/dist/es/standards-sdk.es113.js.map +1 -1
  32. package/dist/es/standards-sdk.es114.js +32 -26
  33. package/dist/es/standards-sdk.es114.js.map +1 -1
  34. package/dist/es/standards-sdk.es115.js +9 -26
  35. package/dist/es/standards-sdk.es115.js.map +1 -1
  36. package/dist/es/standards-sdk.es116.js +33 -37
  37. package/dist/es/standards-sdk.es116.js.map +1 -1
  38. package/dist/es/standards-sdk.es12.js +2 -2
  39. package/dist/es/standards-sdk.es14.js +1 -1
  40. package/dist/es/standards-sdk.es17.js +2 -2
  41. package/dist/es/standards-sdk.es18.js +3 -3
  42. package/dist/es/standards-sdk.es21.js +966 -1692
  43. package/dist/es/standards-sdk.es21.js.map +1 -1
  44. package/dist/es/standards-sdk.es22.js +121 -5544
  45. package/dist/es/standards-sdk.es22.js.map +1 -1
  46. package/dist/es/standards-sdk.es23.js +36 -5
  47. package/dist/es/standards-sdk.es23.js.map +1 -1
  48. package/dist/es/standards-sdk.es24.js +48 -36
  49. package/dist/es/standards-sdk.es24.js.map +1 -1
  50. package/dist/es/standards-sdk.es25.js +7163 -21
  51. package/dist/es/standards-sdk.es25.js.map +1 -1
  52. package/dist/es/standards-sdk.es28.js +4086 -960
  53. package/dist/es/standards-sdk.es28.js.map +1 -1
  54. package/dist/es/standards-sdk.es29.js +5 -4167
  55. package/dist/es/standards-sdk.es29.js.map +1 -1
  56. package/dist/es/standards-sdk.es30.js +2 -419
  57. package/dist/es/standards-sdk.es30.js.map +1 -1
  58. package/dist/es/standards-sdk.es31.js +6 -2
  59. package/dist/es/standards-sdk.es31.js.map +1 -1
  60. package/dist/es/standards-sdk.es32.js +22 -119
  61. package/dist/es/standards-sdk.es32.js.map +1 -1
  62. package/dist/es/standards-sdk.es33.js +121 -7114
  63. package/dist/es/standards-sdk.es33.js.map +1 -1
  64. package/dist/es/standards-sdk.es34.js +194 -3
  65. package/dist/es/standards-sdk.es34.js.map +1 -1
  66. package/dist/es/standards-sdk.es35.js +438 -3
  67. package/dist/es/standards-sdk.es35.js.map +1 -1
  68. package/dist/es/standards-sdk.es36.js +19 -358
  69. package/dist/es/standards-sdk.es36.js.map +1 -1
  70. package/dist/es/standards-sdk.es37.js +138 -5
  71. package/dist/es/standards-sdk.es37.js.map +1 -1
  72. package/dist/es/standards-sdk.es38.js +13 -174
  73. package/dist/es/standards-sdk.es38.js.map +1 -1
  74. package/dist/es/standards-sdk.es39.js +23 -75
  75. package/dist/es/standards-sdk.es39.js.map +1 -1
  76. package/dist/es/standards-sdk.es4.js +1 -1
  77. package/dist/es/standards-sdk.es40.js +26 -111
  78. package/dist/es/standards-sdk.es40.js.map +1 -1
  79. package/dist/es/standards-sdk.es41.js +16 -47
  80. package/dist/es/standards-sdk.es41.js.map +1 -1
  81. package/dist/es/standards-sdk.es42.js +43 -9
  82. package/dist/es/standards-sdk.es42.js.map +1 -1
  83. package/dist/es/standards-sdk.es43.js +13 -92
  84. package/dist/es/standards-sdk.es43.js.map +1 -1
  85. package/dist/es/standards-sdk.es44.js +60 -3
  86. package/dist/es/standards-sdk.es44.js.map +1 -1
  87. package/dist/es/standards-sdk.es45.js +1289 -2
  88. package/dist/es/standards-sdk.es45.js.map +1 -1
  89. package/dist/es/standards-sdk.es46.js +133 -98
  90. package/dist/es/standards-sdk.es46.js.map +1 -1
  91. package/dist/es/standards-sdk.es47.js +86 -69
  92. package/dist/es/standards-sdk.es47.js.map +1 -1
  93. package/dist/es/standards-sdk.es48.js +83 -5
  94. package/dist/es/standards-sdk.es48.js.map +1 -1
  95. package/dist/es/standards-sdk.es49.js +31 -4
  96. package/dist/es/standards-sdk.es49.js.map +1 -1
  97. package/dist/es/standards-sdk.es5.js +3 -3
  98. package/dist/es/standards-sdk.es50.js +138 -200
  99. package/dist/es/standards-sdk.es50.js.map +1 -1
  100. package/dist/es/standards-sdk.es51.js +788 -53
  101. package/dist/es/standards-sdk.es51.js.map +1 -1
  102. package/dist/es/standards-sdk.es52.js +174 -69
  103. package/dist/es/standards-sdk.es52.js.map +1 -1
  104. package/dist/es/standards-sdk.es55.js +1 -1
  105. package/dist/es/standards-sdk.es56.js +1 -1
  106. package/dist/es/standards-sdk.es57.js +343 -143
  107. package/dist/es/standards-sdk.es57.js.map +1 -1
  108. package/dist/es/standards-sdk.es58.js +5 -31
  109. package/dist/es/standards-sdk.es58.js.map +1 -1
  110. package/dist/es/standards-sdk.es59.js +167 -51
  111. package/dist/es/standards-sdk.es59.js.map +1 -1
  112. package/dist/es/standards-sdk.es60.js +75 -44
  113. package/dist/es/standards-sdk.es60.js.map +1 -1
  114. package/dist/es/standards-sdk.es61.js +112 -8
  115. package/dist/es/standards-sdk.es61.js.map +1 -1
  116. package/dist/es/standards-sdk.es62.js +46 -59
  117. package/dist/es/standards-sdk.es62.js.map +1 -1
  118. package/dist/es/standards-sdk.es63.js +10 -6
  119. package/dist/es/standards-sdk.es63.js.map +1 -1
  120. package/dist/es/standards-sdk.es64.js +94 -12
  121. package/dist/es/standards-sdk.es64.js.map +1 -1
  122. package/dist/es/standards-sdk.es65.js +4 -7
  123. package/dist/es/standards-sdk.es65.js.map +1 -1
  124. package/dist/es/standards-sdk.es66.js +2 -45
  125. package/dist/es/standards-sdk.es66.js.map +1 -1
  126. package/dist/es/standards-sdk.es67.js +113 -2
  127. package/dist/es/standards-sdk.es67.js.map +1 -1
  128. package/dist/es/standards-sdk.es68.js +71 -133
  129. package/dist/es/standards-sdk.es68.js.map +1 -1
  130. package/dist/es/standards-sdk.es69.js +6 -172
  131. package/dist/es/standards-sdk.es69.js.map +1 -1
  132. package/dist/es/standards-sdk.es7.js +70 -2
  133. package/dist/es/standards-sdk.es7.js.map +1 -1
  134. package/dist/es/standards-sdk.es70.js +5 -2282
  135. package/dist/es/standards-sdk.es70.js.map +1 -1
  136. package/dist/es/standards-sdk.es71.js +221 -13
  137. package/dist/es/standards-sdk.es71.js.map +1 -1
  138. package/dist/es/standards-sdk.es72.js +58 -13
  139. package/dist/es/standards-sdk.es72.js.map +1 -1
  140. package/dist/es/standards-sdk.es73.js +68 -31
  141. package/dist/es/standards-sdk.es73.js.map +1 -1
  142. package/dist/es/standards-sdk.es74.js +20 -14
  143. package/dist/es/standards-sdk.es74.js.map +1 -1
  144. package/dist/es/standards-sdk.es75.js +26 -3
  145. package/dist/es/standards-sdk.es75.js.map +1 -1
  146. package/dist/es/standards-sdk.es76.js +25 -3
  147. package/dist/es/standards-sdk.es76.js.map +1 -1
  148. package/dist/es/standards-sdk.es77.js +36 -14
  149. package/dist/es/standards-sdk.es77.js.map +1 -1
  150. package/dist/es/standards-sdk.es78.js +418 -4
  151. package/dist/es/standards-sdk.es78.js.map +1 -1
  152. package/dist/es/standards-sdk.es79.js +2 -39
  153. package/dist/es/standards-sdk.es79.js.map +1 -1
  154. package/dist/es/standards-sdk.es8.js +9 -9
  155. package/dist/es/standards-sdk.es8.js.map +1 -1
  156. package/dist/es/standards-sdk.es80.js +115 -35
  157. package/dist/es/standards-sdk.es80.js.map +1 -1
  158. package/dist/es/standards-sdk.es81.js +2281 -36
  159. package/dist/es/standards-sdk.es81.js.map +1 -1
  160. package/dist/es/standards-sdk.es82.js +153 -67
  161. package/dist/es/standards-sdk.es82.js.map +1 -1
  162. package/dist/es/standards-sdk.es83.js +3 -3
  163. package/dist/es/standards-sdk.es83.js.map +1 -1
  164. package/dist/es/standards-sdk.es84.js +32 -2
  165. package/dist/es/standards-sdk.es84.js.map +1 -1
  166. package/dist/es/standards-sdk.es85.js +63 -2
  167. package/dist/es/standards-sdk.es85.js.map +1 -1
  168. package/dist/es/standards-sdk.es86.js +48 -32
  169. package/dist/es/standards-sdk.es86.js.map +1 -1
  170. package/dist/es/standards-sdk.es87.js +9 -32
  171. package/dist/es/standards-sdk.es87.js.map +1 -1
  172. package/dist/es/standards-sdk.es88.js +65 -9
  173. package/dist/es/standards-sdk.es88.js.map +1 -1
  174. package/dist/es/standards-sdk.es89.js +6 -34
  175. package/dist/es/standards-sdk.es89.js.map +1 -1
  176. package/dist/es/standards-sdk.es90.js +15 -2
  177. package/dist/es/standards-sdk.es90.js.map +1 -1
  178. package/dist/es/standards-sdk.es91.js +7 -84
  179. package/dist/es/standards-sdk.es91.js.map +1 -1
  180. package/dist/es/standards-sdk.es92.js +44 -22
  181. package/dist/es/standards-sdk.es92.js.map +1 -1
  182. package/dist/es/standards-sdk.es93.js +2 -148
  183. package/dist/es/standards-sdk.es93.js.map +1 -1
  184. package/dist/es/standards-sdk.es94.js +133 -88
  185. package/dist/es/standards-sdk.es94.js.map +1 -1
  186. package/dist/es/standards-sdk.es95.js +161 -184
  187. package/dist/es/standards-sdk.es95.js.map +1 -1
  188. package/dist/es/standards-sdk.es96.js +7090 -392
  189. package/dist/es/standards-sdk.es96.js.map +1 -1
  190. package/dist/es/standards-sdk.es97.js +13 -25
  191. package/dist/es/standards-sdk.es97.js.map +1 -1
  192. package/dist/es/standards-sdk.es98.js +13 -139
  193. package/dist/es/standards-sdk.es98.js.map +1 -1
  194. package/dist/es/standards-sdk.es99.js +31 -17
  195. package/dist/es/standards-sdk.es99.js.map +1 -1
  196. package/dist/umd/hcs-10/browser.d.ts.map +1 -1
  197. package/dist/umd/hcs-10/sdk.d.ts +10 -1
  198. package/dist/umd/hcs-10/sdk.d.ts.map +1 -1
  199. package/dist/umd/standards-sdk.umd.js +1 -1
  200. package/dist/umd/standards-sdk.umd.js.map +1 -1
  201. package/package.json +1 -1
@@ -1,7 +1,198 @@
1
- function getDefaultExportFromCjs(x) {
2
- return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, "default") ? x["default"] : x;
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.es35.js";
9
+ import { AddressCoder } from "./standards-sdk.es36.js";
10
+ import { ArrayCoder } from "./standards-sdk.es37.js";
11
+ import { BooleanCoder } from "./standards-sdk.es38.js";
12
+ import { BytesCoder } from "./standards-sdk.es39.js";
13
+ import { FixedBytesCoder } from "./standards-sdk.es40.js";
14
+ import { NullCoder } from "./standards-sdk.es41.js";
15
+ import { NumberCoder } from "./standards-sdk.es42.js";
16
+ import { StringCoder } from "./standards-sdk.es43.js";
17
+ import { TupleCoder } from "./standards-sdk.es44.js";
18
+ import { ParamType } from "./standards-sdk.es45.js";
19
+ import { assertArgument, assertArgumentCount, makeError } from "./standards-sdk.es46.js";
20
+ import { getBytes, hexlify } from "./standards-sdk.es47.js";
21
+ import { getAddress } from "./standards-sdk.es48.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
+ }
79
+ }
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
+ });
3
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();
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);
193
+ };
194
+ let AbiCoder = _AbiCoder;
4
195
  export {
5
- getDefaultExportFromCjs
196
+ AbiCoder
6
197
  };
7
198
  //# sourceMappingURL=standards-sdk.es34.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"standards-sdk.es34.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;"}
1
+ {"version":3,"file":"standards-sdk.es34.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,6 +1,441 @@
1
- const global = globalThis || void 0 || self;
1
+ var __defProp = Object.defineProperty;
2
+ var __typeError = (msg) => {
3
+ throw TypeError(msg);
4
+ };
5
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
6
+ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
7
+ var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
8
+ var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
9
+ 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);
10
+ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
11
+ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "access private method"), method);
12
+ var _names, _data, _dataLength, _Writer_instances, writeData_fn, _data2, _offset, _bytesRead, _parent, _maxInflation, _Reader_instances, incrementBytesRead_fn, peekBytes_fn;
13
+ import { getNumber, toBigInt, toNumber, toBeArray } from "./standards-sdk.es50.js";
14
+ import { assert, assertArgument } from "./standards-sdk.es46.js";
15
+ import { concat, getBytesCopy, hexlify } from "./standards-sdk.es47.js";
16
+ import { defineProperties } from "./standards-sdk.es49.js";
17
+ const WordSize = 32;
18
+ const Padding = new Uint8Array(WordSize);
19
+ const passProperties = ["then"];
20
+ const _guard = {};
21
+ const resultNames = /* @__PURE__ */ new WeakMap();
22
+ function getNames(result) {
23
+ return resultNames.get(result);
24
+ }
25
+ function setNames(result, names) {
26
+ resultNames.set(result, names);
27
+ }
28
+ function throwError(name, error) {
29
+ const wrapped = new Error(`deferred error during ABI decoding triggered accessing ${name}`);
30
+ wrapped.error = error;
31
+ throw wrapped;
32
+ }
33
+ function toObject(names, items, deep) {
34
+ if (names.indexOf(null) >= 0) {
35
+ return items.map((item, index) => {
36
+ if (item instanceof Result) {
37
+ return toObject(getNames(item), item, deep);
38
+ }
39
+ return item;
40
+ });
41
+ }
42
+ return names.reduce((accum, name, index) => {
43
+ let item = items.getValue(name);
44
+ if (!(name in accum)) {
45
+ if (deep && item instanceof Result) {
46
+ item = toObject(getNames(item), item, deep);
47
+ }
48
+ accum[name] = item;
49
+ }
50
+ return accum;
51
+ }, {});
52
+ }
53
+ const _Result = class _Result extends Array {
54
+ /**
55
+ * @private
56
+ */
57
+ constructor(...args) {
58
+ const guard = args[0];
59
+ let items = args[1];
60
+ let names = (args[2] || []).slice();
61
+ let wrap = true;
62
+ if (guard !== _guard) {
63
+ items = args;
64
+ names = [];
65
+ wrap = false;
66
+ }
67
+ super(items.length);
68
+ // No longer used; but cannot be removed as it will remove the
69
+ // #private field from the .d.ts which may break backwards
70
+ // compatibility
71
+ __privateAdd(this, _names);
72
+ items.forEach((item, index) => {
73
+ this[index] = item;
74
+ });
75
+ const nameCounts = names.reduce((accum, name) => {
76
+ if (typeof name === "string") {
77
+ accum.set(name, (accum.get(name) || 0) + 1);
78
+ }
79
+ return accum;
80
+ }, /* @__PURE__ */ new Map());
81
+ setNames(this, Object.freeze(items.map((item, index) => {
82
+ const name = names[index];
83
+ if (name != null && nameCounts.get(name) === 1) {
84
+ return name;
85
+ }
86
+ return null;
87
+ })));
88
+ __privateSet(this, _names, []);
89
+ if (__privateGet(this, _names) == null) {
90
+ void __privateGet(this, _names);
91
+ }
92
+ if (!wrap) {
93
+ return;
94
+ }
95
+ Object.freeze(this);
96
+ const proxy = new Proxy(this, {
97
+ get: (target, prop, receiver) => {
98
+ if (typeof prop === "string") {
99
+ if (prop.match(/^[0-9]+$/)) {
100
+ const index = getNumber(prop, "%index");
101
+ if (index < 0 || index >= this.length) {
102
+ throw new RangeError("out of result range");
103
+ }
104
+ const item = target[index];
105
+ if (item instanceof Error) {
106
+ throwError(`index ${index}`, item);
107
+ }
108
+ return item;
109
+ }
110
+ if (passProperties.indexOf(prop) >= 0) {
111
+ return Reflect.get(target, prop, receiver);
112
+ }
113
+ const value = target[prop];
114
+ if (value instanceof Function) {
115
+ return function(...args2) {
116
+ return value.apply(this === receiver ? target : this, args2);
117
+ };
118
+ } else if (!(prop in target)) {
119
+ return target.getValue.apply(this === receiver ? target : this, [prop]);
120
+ }
121
+ }
122
+ return Reflect.get(target, prop, receiver);
123
+ }
124
+ });
125
+ setNames(proxy, getNames(this));
126
+ return proxy;
127
+ }
128
+ /**
129
+ * Returns the Result as a normal Array. If %%deep%%, any children
130
+ * which are Result objects are also converted to a normal Array.
131
+ *
132
+ * This will throw if there are any outstanding deferred
133
+ * errors.
134
+ */
135
+ toArray(deep) {
136
+ const result = [];
137
+ this.forEach((item, index) => {
138
+ if (item instanceof Error) {
139
+ throwError(`index ${index}`, item);
140
+ }
141
+ if (deep && item instanceof _Result) {
142
+ item = item.toArray(deep);
143
+ }
144
+ result.push(item);
145
+ });
146
+ return result;
147
+ }
148
+ /**
149
+ * Returns the Result as an Object with each name-value pair. If
150
+ * %%deep%%, any children which are Result objects are also
151
+ * converted to an Object.
152
+ *
153
+ * This will throw if any value is unnamed, or if there are
154
+ * any outstanding deferred errors.
155
+ */
156
+ toObject(deep) {
157
+ const names = getNames(this);
158
+ return names.reduce((accum, name, index) => {
159
+ assert(name != null, `value at index ${index} unnamed`, "UNSUPPORTED_OPERATION", {
160
+ operation: "toObject()"
161
+ });
162
+ return toObject(names, this, deep);
163
+ }, {});
164
+ }
165
+ /**
166
+ * @_ignore
167
+ */
168
+ slice(start, end) {
169
+ if (start == null) {
170
+ start = 0;
171
+ }
172
+ if (start < 0) {
173
+ start += this.length;
174
+ if (start < 0) {
175
+ start = 0;
176
+ }
177
+ }
178
+ if (end == null) {
179
+ end = this.length;
180
+ }
181
+ if (end < 0) {
182
+ end += this.length;
183
+ if (end < 0) {
184
+ end = 0;
185
+ }
186
+ }
187
+ if (end > this.length) {
188
+ end = this.length;
189
+ }
190
+ const _names2 = getNames(this);
191
+ const result = [], names = [];
192
+ for (let i = start; i < end; i++) {
193
+ result.push(this[i]);
194
+ names.push(_names2[i]);
195
+ }
196
+ return new _Result(_guard, result, names);
197
+ }
198
+ /**
199
+ * @_ignore
200
+ */
201
+ filter(callback, thisArg) {
202
+ const _names2 = getNames(this);
203
+ const result = [], names = [];
204
+ for (let i = 0; i < this.length; i++) {
205
+ const item = this[i];
206
+ if (item instanceof Error) {
207
+ throwError(`index ${i}`, item);
208
+ }
209
+ if (callback.call(thisArg, item, i, this)) {
210
+ result.push(item);
211
+ names.push(_names2[i]);
212
+ }
213
+ }
214
+ return new _Result(_guard, result, names);
215
+ }
216
+ /**
217
+ * @_ignore
218
+ */
219
+ map(callback, thisArg) {
220
+ const result = [];
221
+ for (let i = 0; i < this.length; i++) {
222
+ const item = this[i];
223
+ if (item instanceof Error) {
224
+ throwError(`index ${i}`, item);
225
+ }
226
+ result.push(callback.call(thisArg, item, i, this));
227
+ }
228
+ return result;
229
+ }
230
+ /**
231
+ * Returns the value for %%name%%.
232
+ *
233
+ * Since it is possible to have a key whose name conflicts with
234
+ * a method on a [[Result]] or its superclass Array, or any
235
+ * JavaScript keyword, this ensures all named values are still
236
+ * accessible by name.
237
+ */
238
+ getValue(name) {
239
+ const index = getNames(this).indexOf(name);
240
+ if (index === -1) {
241
+ return void 0;
242
+ }
243
+ const value = this[index];
244
+ if (value instanceof Error) {
245
+ throwError(`property ${JSON.stringify(name)}`, value.error);
246
+ }
247
+ return value;
248
+ }
249
+ /**
250
+ * Creates a new [[Result]] for %%items%% with each entry
251
+ * also accessible by its corresponding name in %%keys%%.
252
+ */
253
+ static fromItems(items, keys) {
254
+ return new _Result(_guard, items, keys);
255
+ }
256
+ };
257
+ _names = new WeakMap();
258
+ let Result = _Result;
259
+ function getValue(value) {
260
+ let bytes = toBeArray(value);
261
+ assert(bytes.length <= WordSize, "value out-of-bounds", "BUFFER_OVERRUN", { buffer: bytes, length: WordSize, offset: bytes.length });
262
+ if (bytes.length !== WordSize) {
263
+ bytes = getBytesCopy(concat([Padding.slice(bytes.length % WordSize), bytes]));
264
+ }
265
+ return bytes;
266
+ }
267
+ class Coder {
268
+ constructor(name, type, localName, dynamic) {
269
+ // The coder name:
270
+ // - address, uint256, tuple, array, etc.
271
+ __publicField(this, "name");
272
+ // The fully expanded type, including composite types:
273
+ // - address, uint256, tuple(address,bytes), uint256[3][4][], etc.
274
+ __publicField(this, "type");
275
+ // The localName bound in the signature, in this example it is "baz":
276
+ // - tuple(address foo, uint bar) baz
277
+ __publicField(this, "localName");
278
+ // Whether this type is dynamic:
279
+ // - Dynamic: bytes, string, address[], tuple(boolean[]), etc.
280
+ // - Not Dynamic: address, uint256, boolean[3], tuple(address, uint8)
281
+ __publicField(this, "dynamic");
282
+ defineProperties(this, { name, type, localName, dynamic }, {
283
+ name: "string",
284
+ type: "string",
285
+ localName: "string",
286
+ dynamic: "boolean"
287
+ });
288
+ }
289
+ _throwError(message, value) {
290
+ assertArgument(false, message, this.localName, value);
291
+ }
292
+ }
293
+ class Writer {
294
+ constructor() {
295
+ __privateAdd(this, _Writer_instances);
296
+ // An array of WordSize lengthed objects to concatenation
297
+ __privateAdd(this, _data);
298
+ __privateAdd(this, _dataLength);
299
+ __privateSet(this, _data, []);
300
+ __privateSet(this, _dataLength, 0);
301
+ }
302
+ get data() {
303
+ return concat(__privateGet(this, _data));
304
+ }
305
+ get length() {
306
+ return __privateGet(this, _dataLength);
307
+ }
308
+ appendWriter(writer) {
309
+ return __privateMethod(this, _Writer_instances, writeData_fn).call(this, getBytesCopy(writer.data));
310
+ }
311
+ // Arrayish item; pad on the right to *nearest* WordSize
312
+ writeBytes(value) {
313
+ let bytes = getBytesCopy(value);
314
+ const paddingOffset = bytes.length % WordSize;
315
+ if (paddingOffset) {
316
+ bytes = getBytesCopy(concat([bytes, Padding.slice(paddingOffset)]));
317
+ }
318
+ return __privateMethod(this, _Writer_instances, writeData_fn).call(this, bytes);
319
+ }
320
+ // Numeric item; pad on the left *to* WordSize
321
+ writeValue(value) {
322
+ return __privateMethod(this, _Writer_instances, writeData_fn).call(this, getValue(value));
323
+ }
324
+ // Inserts a numeric place-holder, returning a callback that can
325
+ // be used to asjust the value later
326
+ writeUpdatableValue() {
327
+ const offset = __privateGet(this, _data).length;
328
+ __privateGet(this, _data).push(Padding);
329
+ __privateSet(this, _dataLength, __privateGet(this, _dataLength) + WordSize);
330
+ return (value) => {
331
+ __privateGet(this, _data)[offset] = getValue(value);
332
+ };
333
+ }
334
+ }
335
+ _data = new WeakMap();
336
+ _dataLength = new WeakMap();
337
+ _Writer_instances = new WeakSet();
338
+ writeData_fn = function(data) {
339
+ __privateGet(this, _data).push(data);
340
+ __privateSet(this, _dataLength, __privateGet(this, _dataLength) + data.length);
341
+ return data.length;
342
+ };
343
+ const _Reader = class _Reader {
344
+ constructor(data, allowLoose, maxInflation) {
345
+ __privateAdd(this, _Reader_instances);
346
+ // Allows incomplete unpadded data to be read; otherwise an error
347
+ // is raised if attempting to overrun the buffer. This is required
348
+ // to deal with an old Solidity bug, in which event data for
349
+ // external (not public thoguh) was tightly packed.
350
+ __publicField(this, "allowLoose");
351
+ __privateAdd(this, _data2);
352
+ __privateAdd(this, _offset);
353
+ __privateAdd(this, _bytesRead);
354
+ __privateAdd(this, _parent);
355
+ __privateAdd(this, _maxInflation);
356
+ defineProperties(this, { allowLoose: !!allowLoose });
357
+ __privateSet(this, _data2, getBytesCopy(data));
358
+ __privateSet(this, _bytesRead, 0);
359
+ __privateSet(this, _parent, null);
360
+ __privateSet(this, _maxInflation, maxInflation != null ? maxInflation : 1024);
361
+ __privateSet(this, _offset, 0);
362
+ }
363
+ get data() {
364
+ return hexlify(__privateGet(this, _data2));
365
+ }
366
+ get dataLength() {
367
+ return __privateGet(this, _data2).length;
368
+ }
369
+ get consumed() {
370
+ return __privateGet(this, _offset);
371
+ }
372
+ get bytes() {
373
+ return new Uint8Array(__privateGet(this, _data2));
374
+ }
375
+ // Create a sub-reader with the same underlying data, but offset
376
+ subReader(offset) {
377
+ const reader = new _Reader(__privateGet(this, _data2).slice(__privateGet(this, _offset) + offset), this.allowLoose, __privateGet(this, _maxInflation));
378
+ __privateSet(reader, _parent, this);
379
+ return reader;
380
+ }
381
+ // Read bytes
382
+ readBytes(length, loose) {
383
+ let bytes = __privateMethod(this, _Reader_instances, peekBytes_fn).call(this, 0, length, !!loose);
384
+ __privateMethod(this, _Reader_instances, incrementBytesRead_fn).call(this, length);
385
+ __privateSet(this, _offset, __privateGet(this, _offset) + bytes.length);
386
+ return bytes.slice(0, length);
387
+ }
388
+ // Read a numeric values
389
+ readValue() {
390
+ return toBigInt(this.readBytes(WordSize));
391
+ }
392
+ readIndex() {
393
+ return toNumber(this.readBytes(WordSize));
394
+ }
395
+ };
396
+ _data2 = new WeakMap();
397
+ _offset = new WeakMap();
398
+ _bytesRead = new WeakMap();
399
+ _parent = new WeakMap();
400
+ _maxInflation = new WeakMap();
401
+ _Reader_instances = new WeakSet();
402
+ incrementBytesRead_fn = function(count) {
403
+ var _a;
404
+ if (__privateGet(this, _parent)) {
405
+ return __privateMethod(_a = __privateGet(this, _parent), _Reader_instances, incrementBytesRead_fn).call(_a, count);
406
+ }
407
+ __privateSet(this, _bytesRead, __privateGet(this, _bytesRead) + count);
408
+ assert(__privateGet(this, _maxInflation) < 1 || __privateGet(this, _bytesRead) <= __privateGet(this, _maxInflation) * this.dataLength, `compressed ABI data exceeds inflation ratio of ${__privateGet(this, _maxInflation)} ( see: https://github.com/ethers-io/ethers.js/issues/4537 )`, "BUFFER_OVERRUN", {
409
+ buffer: getBytesCopy(__privateGet(this, _data2)),
410
+ offset: __privateGet(this, _offset),
411
+ length: count,
412
+ info: {
413
+ bytesRead: __privateGet(this, _bytesRead),
414
+ dataLength: this.dataLength
415
+ }
416
+ });
417
+ };
418
+ peekBytes_fn = function(offset, length, loose) {
419
+ let alignedLength = Math.ceil(length / WordSize) * WordSize;
420
+ if (__privateGet(this, _offset) + alignedLength > __privateGet(this, _data2).length) {
421
+ if (this.allowLoose && loose && __privateGet(this, _offset) + length <= __privateGet(this, _data2).length) {
422
+ alignedLength = length;
423
+ } else {
424
+ assert(false, "data out-of-bounds", "BUFFER_OVERRUN", {
425
+ buffer: getBytesCopy(__privateGet(this, _data2)),
426
+ length: __privateGet(this, _data2).length,
427
+ offset: __privateGet(this, _offset) + alignedLength
428
+ });
429
+ }
430
+ }
431
+ return __privateGet(this, _data2).slice(__privateGet(this, _offset), __privateGet(this, _offset) + alignedLength);
432
+ };
433
+ let Reader = _Reader;
2
434
  export {
3
- global as default,
4
- global
435
+ Coder,
436
+ Reader,
437
+ Result,
438
+ WordSize,
439
+ Writer
5
440
  };
6
441
  //# sourceMappingURL=standards-sdk.es35.js.map