@hashgraphonline/standards-sdk 0.0.105 → 0.0.106

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 (180) hide show
  1. package/dist/es/hcs-10/sdk.d.ts +1 -0
  2. package/dist/es/hcs-10/sdk.d.ts.map +1 -1
  3. package/dist/es/standards-sdk.es100.js +136 -2
  4. package/dist/es/standards-sdk.es100.js.map +1 -1
  5. package/dist/es/standards-sdk.es101.js +162 -126
  6. package/dist/es/standards-sdk.es101.js.map +1 -1
  7. package/dist/es/standards-sdk.es102.js +2281 -171
  8. package/dist/es/standards-sdk.es102.js.map +1 -1
  9. package/dist/es/standards-sdk.es105.js +1 -1
  10. package/dist/es/standards-sdk.es106.js +3 -3
  11. package/dist/es/standards-sdk.es109.js +1 -1
  12. package/dist/es/standards-sdk.es111.js +1 -1
  13. package/dist/es/standards-sdk.es112.js +6 -6
  14. package/dist/es/standards-sdk.es113.js +3 -3
  15. package/dist/es/standards-sdk.es120.js +1 -1
  16. package/dist/es/standards-sdk.es121.js +2 -2
  17. package/dist/es/standards-sdk.es13.js +2 -2
  18. package/dist/es/standards-sdk.es15.js +1 -1
  19. package/dist/es/standards-sdk.es18.js +2 -2
  20. package/dist/es/standards-sdk.es19.js +17 -6
  21. package/dist/es/standards-sdk.es19.js.map +1 -1
  22. package/dist/es/standards-sdk.es20.js +1 -1
  23. package/dist/es/standards-sdk.es21.js +2 -2
  24. package/dist/es/standards-sdk.es24.js +10 -10
  25. package/dist/es/standards-sdk.es26.js +7190 -3
  26. package/dist/es/standards-sdk.es26.js.map +1 -1
  27. package/dist/es/standards-sdk.es27.js +36 -4168
  28. package/dist/es/standards-sdk.es27.js.map +1 -1
  29. package/dist/es/standards-sdk.es28.js +21 -7163
  30. package/dist/es/standards-sdk.es28.js.map +1 -1
  31. package/dist/es/standards-sdk.es29.js +5 -36
  32. package/dist/es/standards-sdk.es29.js.map +1 -1
  33. package/dist/es/standards-sdk.es30.js +9 -47
  34. package/dist/es/standards-sdk.es30.js.map +1 -1
  35. package/dist/es/standards-sdk.es31.js +3 -5
  36. package/dist/es/standards-sdk.es31.js.map +1 -1
  37. package/dist/es/standards-sdk.es32.js +4166 -8
  38. package/dist/es/standards-sdk.es32.js.map +1 -1
  39. package/dist/es/standards-sdk.es35.js +419 -2
  40. package/dist/es/standards-sdk.es35.js.map +1 -1
  41. package/dist/es/standards-sdk.es36.js +2 -84
  42. package/dist/es/standards-sdk.es36.js.map +1 -1
  43. package/dist/es/standards-sdk.es37.js +119 -22
  44. package/dist/es/standards-sdk.es37.js.map +1 -1
  45. package/dist/es/standards-sdk.es38.js +7105 -117
  46. package/dist/es/standards-sdk.es38.js.map +1 -1
  47. package/dist/es/standards-sdk.es39.js +3 -90
  48. package/dist/es/standards-sdk.es39.js.map +1 -1
  49. package/dist/es/standards-sdk.es40.js +3 -195
  50. package/dist/es/standards-sdk.es40.js.map +1 -1
  51. package/dist/es/standards-sdk.es41.js +2 -438
  52. package/dist/es/standards-sdk.es41.js.map +1 -1
  53. package/dist/es/standards-sdk.es42.js +80 -21
  54. package/dist/es/standards-sdk.es42.js.map +1 -1
  55. package/dist/es/standards-sdk.es43.js +21 -137
  56. package/dist/es/standards-sdk.es43.js.map +1 -1
  57. package/dist/es/standards-sdk.es44.js +143 -13
  58. package/dist/es/standards-sdk.es44.js.map +1 -1
  59. package/dist/es/standards-sdk.es45.js +83 -21
  60. package/dist/es/standards-sdk.es45.js.map +1 -1
  61. package/dist/es/standards-sdk.es46.js +170 -25
  62. package/dist/es/standards-sdk.es46.js.map +1 -1
  63. package/dist/es/standards-sdk.es47.js +191 -17
  64. package/dist/es/standards-sdk.es47.js.map +1 -1
  65. package/dist/es/standards-sdk.es48.js +431 -37
  66. package/dist/es/standards-sdk.es48.js.map +1 -1
  67. package/dist/es/standards-sdk.es49.js +16 -9
  68. package/dist/es/standards-sdk.es49.js.map +1 -1
  69. package/dist/es/standards-sdk.es50.js +125 -47
  70. package/dist/es/standards-sdk.es50.js.map +1 -1
  71. package/dist/es/standards-sdk.es51.js +13 -1284
  72. package/dist/es/standards-sdk.es51.js.map +1 -1
  73. package/dist/es/standards-sdk.es52.js +25 -28
  74. package/dist/es/standards-sdk.es52.js.map +1 -1
  75. package/dist/es/standards-sdk.es53.js +28 -5
  76. package/dist/es/standards-sdk.es53.js.map +1 -1
  77. package/dist/es/standards-sdk.es54.js +17 -155
  78. package/dist/es/standards-sdk.es54.js.map +1 -1
  79. package/dist/es/standards-sdk.es55.js +32 -781
  80. package/dist/es/standards-sdk.es55.js.map +1 -1
  81. package/dist/es/standards-sdk.es56.js +13 -169
  82. package/dist/es/standards-sdk.es56.js.map +1 -1
  83. package/dist/es/standards-sdk.es57.js +54 -136
  84. package/dist/es/standards-sdk.es57.js.map +1 -1
  85. package/dist/es/standards-sdk.es58.js +1214 -7061
  86. package/dist/es/standards-sdk.es58.js.map +1 -1
  87. package/dist/es/standards-sdk.es59.js +28 -97
  88. package/dist/es/standards-sdk.es59.js.map +1 -1
  89. package/dist/es/standards-sdk.es60.js +6 -2
  90. package/dist/es/standards-sdk.es60.js.map +1 -1
  91. package/dist/es/standards-sdk.es61.js +158 -15
  92. package/dist/es/standards-sdk.es61.js.map +1 -1
  93. package/dist/es/standards-sdk.es62.js +786 -402
  94. package/dist/es/standards-sdk.es62.js.map +1 -1
  95. package/dist/es/standards-sdk.es63.js +138 -16
  96. package/dist/es/standards-sdk.es63.js.map +1 -1
  97. package/dist/es/standards-sdk.es64.js +338 -393
  98. package/dist/es/standards-sdk.es64.js.map +1 -1
  99. package/dist/es/standards-sdk.es65.js +6 -2
  100. package/dist/es/standards-sdk.es65.js.map +1 -1
  101. package/dist/es/standards-sdk.es66.js +168 -109
  102. package/dist/es/standards-sdk.es66.js.map +1 -1
  103. package/dist/es/standards-sdk.es67.js +79 -25
  104. package/dist/es/standards-sdk.es67.js.map +1 -1
  105. package/dist/es/standards-sdk.es68.js +112 -24
  106. package/dist/es/standards-sdk.es68.js.map +1 -1
  107. package/dist/es/standards-sdk.es69.js +48 -34
  108. package/dist/es/standards-sdk.es69.js.map +1 -1
  109. package/dist/es/standards-sdk.es7.js +8 -5
  110. package/dist/es/standards-sdk.es7.js.map +1 -1
  111. package/dist/es/standards-sdk.es70.js +10 -3
  112. package/dist/es/standards-sdk.es70.js.map +1 -1
  113. package/dist/es/standards-sdk.es71.js +97 -2282
  114. package/dist/es/standards-sdk.es71.js.map +1 -1
  115. package/dist/es/standards-sdk.es72.js +3 -163
  116. package/dist/es/standards-sdk.es72.js.map +1 -1
  117. package/dist/es/standards-sdk.es73.js +2 -364
  118. package/dist/es/standards-sdk.es73.js.map +1 -1
  119. package/dist/es/standards-sdk.es74.js +112 -5
  120. package/dist/es/standards-sdk.es74.js.map +1 -1
  121. package/dist/es/standards-sdk.es75.js +68 -173
  122. package/dist/es/standards-sdk.es75.js.map +1 -1
  123. package/dist/es/standards-sdk.es76.js +4 -79
  124. package/dist/es/standards-sdk.es76.js.map +1 -1
  125. package/dist/es/standards-sdk.es77.js +4 -113
  126. package/dist/es/standards-sdk.es77.js.map +1 -1
  127. package/dist/es/standards-sdk.es78.js +214 -45
  128. package/dist/es/standards-sdk.es78.js.map +1 -1
  129. package/dist/es/standards-sdk.es79.js +57 -9
  130. package/dist/es/standards-sdk.es79.js.map +1 -1
  131. package/dist/es/standards-sdk.es8.js +2 -2
  132. package/dist/es/standards-sdk.es80.js +69 -97
  133. package/dist/es/standards-sdk.es80.js.map +1 -1
  134. package/dist/es/standards-sdk.es81.js +26 -3
  135. package/dist/es/standards-sdk.es81.js.map +1 -1
  136. package/dist/es/standards-sdk.es82.js +26 -2
  137. package/dist/es/standards-sdk.es82.js.map +1 -1
  138. package/dist/es/standards-sdk.es83.js +34 -109
  139. package/dist/es/standards-sdk.es83.js.map +1 -1
  140. package/dist/es/standards-sdk.es84.js +18 -71
  141. package/dist/es/standards-sdk.es84.js.map +1 -1
  142. package/dist/es/standards-sdk.es85.js +100 -5
  143. package/dist/es/standards-sdk.es85.js.map +1 -1
  144. package/dist/es/standards-sdk.es86.js +2 -5
  145. package/dist/es/standards-sdk.es86.js.map +1 -1
  146. package/dist/es/standards-sdk.es87.js +15 -220
  147. package/dist/es/standards-sdk.es87.js.map +1 -1
  148. package/dist/es/standards-sdk.es88.js +403 -52
  149. package/dist/es/standards-sdk.es88.js.map +1 -1
  150. package/dist/es/standards-sdk.es89.js +163 -68
  151. package/dist/es/standards-sdk.es89.js.map +1 -1
  152. package/dist/es/standards-sdk.es90.js +31 -3
  153. package/dist/es/standards-sdk.es90.js.map +1 -1
  154. package/dist/es/standards-sdk.es91.js +57 -26
  155. package/dist/es/standards-sdk.es91.js.map +1 -1
  156. package/dist/es/standards-sdk.es92.js +45 -58
  157. package/dist/es/standards-sdk.es92.js.map +1 -1
  158. package/dist/es/standards-sdk.es93.js +8 -48
  159. package/dist/es/standards-sdk.es93.js.map +1 -1
  160. package/dist/es/standards-sdk.es94.js +63 -8
  161. package/dist/es/standards-sdk.es94.js.map +1 -1
  162. package/dist/es/standards-sdk.es95.js +5 -64
  163. package/dist/es/standards-sdk.es95.js.map +1 -1
  164. package/dist/es/standards-sdk.es96.js +15 -6
  165. package/dist/es/standards-sdk.es96.js.map +1 -1
  166. package/dist/es/standards-sdk.es97.js +7 -15
  167. package/dist/es/standards-sdk.es97.js.map +1 -1
  168. package/dist/es/standards-sdk.es98.js +44 -6
  169. package/dist/es/standards-sdk.es98.js.map +1 -1
  170. package/dist/es/standards-sdk.es99.js +2 -45
  171. package/dist/es/standards-sdk.es99.js.map +1 -1
  172. package/dist/es/utils/transaction-parser.d.ts +1 -0
  173. package/dist/es/utils/transaction-parser.d.ts.map +1 -1
  174. package/dist/umd/hcs-10/sdk.d.ts +1 -0
  175. package/dist/umd/hcs-10/sdk.d.ts.map +1 -1
  176. package/dist/umd/standards-sdk.umd.js +1 -1
  177. package/dist/umd/standards-sdk.umd.js.map +1 -1
  178. package/dist/umd/utils/transaction-parser.d.ts +1 -0
  179. package/dist/umd/utils/transaction-parser.d.ts.map +1 -1
  180. package/package.json +2 -2
@@ -1,441 +1,5 @@
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.es54.js";
14
- import { assert, assertArgument } from "./standards-sdk.es38.js";
15
- import { concat, getBytesCopy, hexlify } from "./standards-sdk.es39.js";
16
- import { defineProperties } from "./standards-sdk.es52.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;
1
+ const version = "6.13.5";
434
2
  export {
435
- Coder,
436
- Reader,
437
- Result,
438
- WordSize,
439
- Writer
3
+ version
440
4
  };
441
5
  //# sourceMappingURL=standards-sdk.es41.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"standards-sdk.es41.js","sources":["../../node_modules/ethers/lib.esm/abi/coders/abstract-coder.js"],"sourcesContent":["import { defineProperties, concat, getBytesCopy, getNumber, hexlify, toBeArray, toBigInt, toNumber, assert, assertArgument\n/*, isError*/\n } from \"../../utils/index.js\";\n/**\n * @_ignore:\n */\nexport const WordSize = 32;\nconst Padding = new Uint8Array(WordSize);\n// Properties used to immediate pass through to the underlying object\n// - `then` is used to detect if an object is a Promise for await\nconst passProperties = [\"then\"];\nconst _guard = {};\nconst resultNames = new WeakMap();\nfunction getNames(result) {\n return resultNames.get(result);\n}\nfunction setNames(result, names) {\n resultNames.set(result, names);\n}\nfunction throwError(name, error) {\n const wrapped = new Error(`deferred error during ABI decoding triggered accessing ${name}`);\n wrapped.error = error;\n throw wrapped;\n}\nfunction toObject(names, items, deep) {\n if (names.indexOf(null) >= 0) {\n return items.map((item, index) => {\n if (item instanceof Result) {\n return toObject(getNames(item), item, deep);\n }\n return item;\n });\n }\n return names.reduce((accum, name, index) => {\n let item = items.getValue(name);\n if (!(name in accum)) {\n if (deep && item instanceof Result) {\n item = toObject(getNames(item), item, deep);\n }\n accum[name] = item;\n }\n return accum;\n }, {});\n}\n/**\n * A [[Result]] is a sub-class of Array, which allows accessing any\n * of its values either positionally by its index or, if keys are\n * provided by its name.\n *\n * @_docloc: api/abi\n */\nexport class Result extends Array {\n // No longer used; but cannot be removed as it will remove the\n // #private field from the .d.ts which may break backwards\n // compatibility\n #names;\n /**\n * @private\n */\n constructor(...args) {\n // To properly sub-class Array so the other built-in\n // functions work, the constructor has to behave fairly\n // well. So, in the event we are created via fromItems()\n // we build the read-only Result object we want, but on\n // any other input, we use the default constructor\n // constructor(guard: any, items: Array<any>, keys?: Array<null | string>);\n const guard = args[0];\n let items = args[1];\n let names = (args[2] || []).slice();\n let wrap = true;\n if (guard !== _guard) {\n items = args;\n names = [];\n wrap = false;\n }\n // Can't just pass in ...items since an array of length 1\n // is a special case in the super.\n super(items.length);\n items.forEach((item, index) => { this[index] = item; });\n // Find all unique keys\n const nameCounts = names.reduce((accum, name) => {\n if (typeof (name) === \"string\") {\n accum.set(name, (accum.get(name) || 0) + 1);\n }\n return accum;\n }, (new Map()));\n // Remove any key thats not unique\n setNames(this, Object.freeze(items.map((item, index) => {\n const name = names[index];\n if (name != null && nameCounts.get(name) === 1) {\n return name;\n }\n return null;\n })));\n // Dummy operations to prevent TypeScript from complaining\n this.#names = [];\n if (this.#names == null) {\n void (this.#names);\n }\n if (!wrap) {\n return;\n }\n // A wrapped Result is immutable\n Object.freeze(this);\n // Proxy indices and names so we can trap deferred errors\n const proxy = new Proxy(this, {\n get: (target, prop, receiver) => {\n if (typeof (prop) === \"string\") {\n // Index accessor\n if (prop.match(/^[0-9]+$/)) {\n const index = getNumber(prop, \"%index\");\n if (index < 0 || index >= this.length) {\n throw new RangeError(\"out of result range\");\n }\n const item = target[index];\n if (item instanceof Error) {\n throwError(`index ${index}`, item);\n }\n return item;\n }\n // Pass important checks (like `then` for Promise) through\n if (passProperties.indexOf(prop) >= 0) {\n return Reflect.get(target, prop, receiver);\n }\n const value = target[prop];\n if (value instanceof Function) {\n // Make sure functions work with private variables\n // See: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy#no_private_property_forwarding\n return function (...args) {\n return value.apply((this === receiver) ? target : this, args);\n };\n }\n else if (!(prop in target)) {\n // Possible name accessor\n return target.getValue.apply((this === receiver) ? target : this, [prop]);\n }\n }\n return Reflect.get(target, prop, receiver);\n }\n });\n setNames(proxy, getNames(this));\n return proxy;\n }\n /**\n * Returns the Result as a normal Array. If %%deep%%, any children\n * which are Result objects are also converted to a normal Array.\n *\n * This will throw if there are any outstanding deferred\n * errors.\n */\n toArray(deep) {\n const result = [];\n this.forEach((item, index) => {\n if (item instanceof Error) {\n throwError(`index ${index}`, item);\n }\n if (deep && item instanceof Result) {\n item = item.toArray(deep);\n }\n result.push(item);\n });\n return result;\n }\n /**\n * Returns the Result as an Object with each name-value pair. If\n * %%deep%%, any children which are Result objects are also\n * converted to an Object.\n *\n * This will throw if any value is unnamed, or if there are\n * any outstanding deferred errors.\n */\n toObject(deep) {\n const names = getNames(this);\n return names.reduce((accum, name, index) => {\n assert(name != null, `value at index ${index} unnamed`, \"UNSUPPORTED_OPERATION\", {\n operation: \"toObject()\"\n });\n return toObject(names, this, deep);\n }, {});\n }\n /**\n * @_ignore\n */\n slice(start, end) {\n if (start == null) {\n start = 0;\n }\n if (start < 0) {\n start += this.length;\n if (start < 0) {\n start = 0;\n }\n }\n if (end == null) {\n end = this.length;\n }\n if (end < 0) {\n end += this.length;\n if (end < 0) {\n end = 0;\n }\n }\n if (end > this.length) {\n end = this.length;\n }\n const _names = getNames(this);\n const result = [], names = [];\n for (let i = start; i < end; i++) {\n result.push(this[i]);\n names.push(_names[i]);\n }\n return new Result(_guard, result, names);\n }\n /**\n * @_ignore\n */\n filter(callback, thisArg) {\n const _names = getNames(this);\n const result = [], names = [];\n for (let i = 0; i < this.length; i++) {\n const item = this[i];\n if (item instanceof Error) {\n throwError(`index ${i}`, item);\n }\n if (callback.call(thisArg, item, i, this)) {\n result.push(item);\n names.push(_names[i]);\n }\n }\n return new Result(_guard, result, names);\n }\n /**\n * @_ignore\n */\n map(callback, thisArg) {\n const result = [];\n for (let i = 0; i < this.length; i++) {\n const item = this[i];\n if (item instanceof Error) {\n throwError(`index ${i}`, item);\n }\n result.push(callback.call(thisArg, item, i, this));\n }\n return result;\n }\n /**\n * Returns the value for %%name%%.\n *\n * Since it is possible to have a key whose name conflicts with\n * a method on a [[Result]] or its superclass Array, or any\n * JavaScript keyword, this ensures all named values are still\n * accessible by name.\n */\n getValue(name) {\n const index = getNames(this).indexOf(name);\n if (index === -1) {\n return undefined;\n }\n const value = this[index];\n if (value instanceof Error) {\n throwError(`property ${JSON.stringify(name)}`, value.error);\n }\n return value;\n }\n /**\n * Creates a new [[Result]] for %%items%% with each entry\n * also accessible by its corresponding name in %%keys%%.\n */\n static fromItems(items, keys) {\n return new Result(_guard, items, keys);\n }\n}\n/**\n * Returns all errors found in a [[Result]].\n *\n * Since certain errors encountered when creating a [[Result]] do\n * not impact the ability to continue parsing data, they are\n * deferred until they are actually accessed. Hence a faulty string\n * in an Event that is never used does not impact the program flow.\n *\n * However, sometimes it may be useful to access, identify or\n * validate correctness of a [[Result]].\n *\n * @_docloc api/abi\n */\nexport function checkResultErrors(result) {\n // Find the first error (if any)\n const errors = [];\n const checkErrors = function (path, object) {\n if (!Array.isArray(object)) {\n return;\n }\n for (let key in object) {\n const childPath = path.slice();\n childPath.push(key);\n try {\n checkErrors(childPath, object[key]);\n }\n catch (error) {\n errors.push({ path: childPath, error: error });\n }\n }\n };\n checkErrors([], result);\n return errors;\n}\nfunction getValue(value) {\n let bytes = toBeArray(value);\n assert(bytes.length <= WordSize, \"value out-of-bounds\", \"BUFFER_OVERRUN\", { buffer: bytes, length: WordSize, offset: bytes.length });\n if (bytes.length !== WordSize) {\n bytes = getBytesCopy(concat([Padding.slice(bytes.length % WordSize), bytes]));\n }\n return bytes;\n}\n/**\n * @_ignore\n */\nexport class Coder {\n // The coder name:\n // - address, uint256, tuple, array, etc.\n name;\n // The fully expanded type, including composite types:\n // - address, uint256, tuple(address,bytes), uint256[3][4][], etc.\n type;\n // The localName bound in the signature, in this example it is \"baz\":\n // - tuple(address foo, uint bar) baz\n localName;\n // Whether this type is dynamic:\n // - Dynamic: bytes, string, address[], tuple(boolean[]), etc.\n // - Not Dynamic: address, uint256, boolean[3], tuple(address, uint8)\n dynamic;\n constructor(name, type, localName, dynamic) {\n defineProperties(this, { name, type, localName, dynamic }, {\n name: \"string\", type: \"string\", localName: \"string\", dynamic: \"boolean\"\n });\n }\n _throwError(message, value) {\n assertArgument(false, message, this.localName, value);\n }\n}\n/**\n * @_ignore\n */\nexport class Writer {\n // An array of WordSize lengthed objects to concatenation\n #data;\n #dataLength;\n constructor() {\n this.#data = [];\n this.#dataLength = 0;\n }\n get data() {\n return concat(this.#data);\n }\n get length() { return this.#dataLength; }\n #writeData(data) {\n this.#data.push(data);\n this.#dataLength += data.length;\n return data.length;\n }\n appendWriter(writer) {\n return this.#writeData(getBytesCopy(writer.data));\n }\n // Arrayish item; pad on the right to *nearest* WordSize\n writeBytes(value) {\n let bytes = getBytesCopy(value);\n const paddingOffset = bytes.length % WordSize;\n if (paddingOffset) {\n bytes = getBytesCopy(concat([bytes, Padding.slice(paddingOffset)]));\n }\n return this.#writeData(bytes);\n }\n // Numeric item; pad on the left *to* WordSize\n writeValue(value) {\n return this.#writeData(getValue(value));\n }\n // Inserts a numeric place-holder, returning a callback that can\n // be used to asjust the value later\n writeUpdatableValue() {\n const offset = this.#data.length;\n this.#data.push(Padding);\n this.#dataLength += WordSize;\n return (value) => {\n this.#data[offset] = getValue(value);\n };\n }\n}\n/**\n * @_ignore\n */\nexport class Reader {\n // Allows incomplete unpadded data to be read; otherwise an error\n // is raised if attempting to overrun the buffer. This is required\n // to deal with an old Solidity bug, in which event data for\n // external (not public thoguh) was tightly packed.\n allowLoose;\n #data;\n #offset;\n #bytesRead;\n #parent;\n #maxInflation;\n constructor(data, allowLoose, maxInflation) {\n defineProperties(this, { allowLoose: !!allowLoose });\n this.#data = getBytesCopy(data);\n this.#bytesRead = 0;\n this.#parent = null;\n this.#maxInflation = (maxInflation != null) ? maxInflation : 1024;\n this.#offset = 0;\n }\n get data() { return hexlify(this.#data); }\n get dataLength() { return this.#data.length; }\n get consumed() { return this.#offset; }\n get bytes() { return new Uint8Array(this.#data); }\n #incrementBytesRead(count) {\n if (this.#parent) {\n return this.#parent.#incrementBytesRead(count);\n }\n this.#bytesRead += count;\n // Check for excessive inflation (see: #4537)\n assert(this.#maxInflation < 1 || this.#bytesRead <= this.#maxInflation * this.dataLength, `compressed ABI data exceeds inflation ratio of ${this.#maxInflation} ( see: https:/\\/github.com/ethers-io/ethers.js/issues/4537 )`, \"BUFFER_OVERRUN\", {\n buffer: getBytesCopy(this.#data), offset: this.#offset,\n length: count, info: {\n bytesRead: this.#bytesRead,\n dataLength: this.dataLength\n }\n });\n }\n #peekBytes(offset, length, loose) {\n let alignedLength = Math.ceil(length / WordSize) * WordSize;\n if (this.#offset + alignedLength > this.#data.length) {\n if (this.allowLoose && loose && this.#offset + length <= this.#data.length) {\n alignedLength = length;\n }\n else {\n assert(false, \"data out-of-bounds\", \"BUFFER_OVERRUN\", {\n buffer: getBytesCopy(this.#data),\n length: this.#data.length,\n offset: this.#offset + alignedLength\n });\n }\n }\n return this.#data.slice(this.#offset, this.#offset + alignedLength);\n }\n // Create a sub-reader with the same underlying data, but offset\n subReader(offset) {\n const reader = new Reader(this.#data.slice(this.#offset + offset), this.allowLoose, this.#maxInflation);\n reader.#parent = this;\n return reader;\n }\n // Read bytes\n readBytes(length, loose) {\n let bytes = this.#peekBytes(0, length, !!loose);\n this.#incrementBytesRead(length);\n this.#offset += bytes.length;\n // @TODO: Make sure the length..end bytes are all 0?\n return bytes.slice(0, length);\n }\n // Read a numeric values\n readValue() {\n return toBigInt(this.readBytes(WordSize));\n }\n readIndex() {\n return toNumber(this.readBytes(WordSize));\n }\n}\n//# sourceMappingURL=abstract-coder.js.map"],"names":["args","_names","_data"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"standards-sdk.es41.js","sources":["../../node_modules/ethers/lib.esm/_version.js"],"sourcesContent":["/* Do NOT modify this file; see /src.ts/_admin/update-version.ts */\n/**\n * The current version of Ethers.\n */\nexport const version = \"6.13.5\";\n//# sourceMappingURL=_version.js.map"],"names":[],"mappings":"AAIY,MAAC,UAAU;","x_google_ignoreList":[0]}
@@ -1,28 +1,87 @@
1
- import { toBeHex } from "./standards-sdk.es54.js";
2
- import { Typed } from "./standards-sdk.es55.js";
3
- import { Coder } from "./standards-sdk.es41.js";
4
- import { getAddress } from "./standards-sdk.es36.js";
5
- class AddressCoder extends Coder {
6
- constructor(localName) {
7
- super("address", "address", localName, false);
8
- }
9
- defaultValue() {
10
- return "0x0000000000000000000000000000000000000000";
11
- }
12
- encode(writer, _value) {
13
- let value = Typed.dereference(_value, "string");
14
- try {
15
- value = getAddress(value);
16
- } catch (error) {
17
- return this._throwError(error.message, _value);
1
+ import { keccak256 } from "./standards-sdk.es43.js";
2
+ import { assertArgument } from "./standards-sdk.es44.js";
3
+ import { getBytes } from "./standards-sdk.es45.js";
4
+ const BN_0 = BigInt(0);
5
+ const BN_36 = BigInt(36);
6
+ function getChecksumAddress(address) {
7
+ address = address.toLowerCase();
8
+ const chars = address.substring(2).split("");
9
+ const expanded = new Uint8Array(40);
10
+ for (let i = 0; i < 40; i++) {
11
+ expanded[i] = chars[i].charCodeAt(0);
12
+ }
13
+ const hashed = getBytes(keccak256(expanded));
14
+ for (let i = 0; i < 40; i += 2) {
15
+ if (hashed[i >> 1] >> 4 >= 8) {
16
+ chars[i] = chars[i].toUpperCase();
17
+ }
18
+ if ((hashed[i >> 1] & 15) >= 8) {
19
+ chars[i + 1] = chars[i + 1].toUpperCase();
20
+ }
21
+ }
22
+ return "0x" + chars.join("");
23
+ }
24
+ const ibanLookup = {};
25
+ for (let i = 0; i < 10; i++) {
26
+ ibanLookup[String(i)] = String(i);
27
+ }
28
+ for (let i = 0; i < 26; i++) {
29
+ ibanLookup[String.fromCharCode(65 + i)] = String(10 + i);
30
+ }
31
+ const safeDigits = 15;
32
+ function ibanChecksum(address) {
33
+ address = address.toUpperCase();
34
+ address = address.substring(4) + address.substring(0, 2) + "00";
35
+ let expanded = address.split("").map((c) => {
36
+ return ibanLookup[c];
37
+ }).join("");
38
+ while (expanded.length >= safeDigits) {
39
+ let block = expanded.substring(0, safeDigits);
40
+ expanded = parseInt(block, 10) % 97 + expanded.substring(block.length);
41
+ }
42
+ let checksum = String(98 - parseInt(expanded, 10) % 97);
43
+ while (checksum.length < 2) {
44
+ checksum = "0" + checksum;
45
+ }
46
+ return checksum;
47
+ }
48
+ const Base36 = function() {
49
+ const result = {};
50
+ for (let i = 0; i < 36; i++) {
51
+ const key = "0123456789abcdefghijklmnopqrstuvwxyz"[i];
52
+ result[key] = BigInt(i);
53
+ }
54
+ return result;
55
+ }();
56
+ function fromBase36(value) {
57
+ value = value.toLowerCase();
58
+ let result = BN_0;
59
+ for (let i = 0; i < value.length; i++) {
60
+ result = result * BN_36 + Base36[value[i]];
61
+ }
62
+ return result;
63
+ }
64
+ function getAddress(address) {
65
+ assertArgument(typeof address === "string", "invalid address", "address", address);
66
+ if (address.match(/^(0x)?[0-9a-fA-F]{40}$/)) {
67
+ if (!address.startsWith("0x")) {
68
+ address = "0x" + address;
18
69
  }
19
- return writer.writeValue(value);
70
+ const result = getChecksumAddress(address);
71
+ assertArgument(!address.match(/([A-F].*[a-f])|([a-f].*[A-F])/) || result === address, "bad address checksum", "address", address);
72
+ return result;
20
73
  }
21
- decode(reader) {
22
- return getAddress(toBeHex(reader.readValue(), 20));
74
+ if (address.match(/^XE[0-9]{2}[0-9A-Za-z]{30,31}$/)) {
75
+ assertArgument(address.substring(2, 4) === ibanChecksum(address), "bad icap checksum", "address", address);
76
+ let result = fromBase36(address.substring(4)).toString(16);
77
+ while (result.length < 40) {
78
+ result = "0" + result;
79
+ }
80
+ return getChecksumAddress("0x" + result);
23
81
  }
82
+ assertArgument(false, "invalid address", "address", address);
24
83
  }
25
84
  export {
26
- AddressCoder
85
+ getAddress
27
86
  };
28
87
  //# sourceMappingURL=standards-sdk.es42.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"standards-sdk.es42.js","sources":["../../node_modules/ethers/lib.esm/abi/coders/address.js"],"sourcesContent":["import { getAddress } from \"../../address/index.js\";\nimport { toBeHex } from \"../../utils/maths.js\";\nimport { Typed } from \"../typed.js\";\nimport { Coder } from \"./abstract-coder.js\";\n/**\n * @_ignore\n */\nexport class AddressCoder extends Coder {\n constructor(localName) {\n super(\"address\", \"address\", localName, false);\n }\n defaultValue() {\n return \"0x0000000000000000000000000000000000000000\";\n }\n encode(writer, _value) {\n let value = Typed.dereference(_value, \"string\");\n try {\n value = getAddress(value);\n }\n catch (error) {\n return this._throwError(error.message, _value);\n }\n return writer.writeValue(value);\n }\n decode(reader) {\n return getAddress(toBeHex(reader.readValue(), 20));\n }\n}\n//# sourceMappingURL=address.js.map"],"names":[],"mappings":";;;;AAOO,MAAM,qBAAqB,MAAM;AAAA,EACpC,YAAY,WAAW;AACnB,UAAM,WAAW,WAAW,WAAW,KAAK;AAAA,EACpD;AAAA,EACI,eAAe;AACX,WAAO;AAAA,EACf;AAAA,EACI,OAAO,QAAQ,QAAQ;AACnB,QAAI,QAAQ,MAAM,YAAY,QAAQ,QAAQ;AAC9C,QAAI;AACA,cAAQ,WAAW,KAAK;AAAA,IACpC,SACe,OAAO;AACV,aAAO,KAAK,YAAY,MAAM,SAAS,MAAM;AAAA,IACzD;AACQ,WAAO,OAAO,WAAW,KAAK;AAAA,EACtC;AAAA,EACI,OAAO,QAAQ;AACX,WAAO,WAAW,QAAQ,OAAO,UAAW,GAAE,EAAE,CAAC;AAAA,EACzD;AACA;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"standards-sdk.es42.js","sources":["../../node_modules/ethers/lib.esm/address/address.js"],"sourcesContent":["import { keccak256 } from \"../crypto/index.js\";\nimport { getBytes, assertArgument } from \"../utils/index.js\";\nconst BN_0 = BigInt(0);\nconst BN_36 = BigInt(36);\nfunction getChecksumAddress(address) {\n // if (!isHexString(address, 20)) {\n // logger.throwArgumentError(\"invalid address\", \"address\", address);\n // }\n address = address.toLowerCase();\n const chars = address.substring(2).split(\"\");\n const expanded = new Uint8Array(40);\n for (let i = 0; i < 40; i++) {\n expanded[i] = chars[i].charCodeAt(0);\n }\n const hashed = getBytes(keccak256(expanded));\n for (let i = 0; i < 40; i += 2) {\n if ((hashed[i >> 1] >> 4) >= 8) {\n chars[i] = chars[i].toUpperCase();\n }\n if ((hashed[i >> 1] & 0x0f) >= 8) {\n chars[i + 1] = chars[i + 1].toUpperCase();\n }\n }\n return \"0x\" + chars.join(\"\");\n}\n// See: https://en.wikipedia.org/wiki/International_Bank_Account_Number\n// Create lookup table\nconst ibanLookup = {};\nfor (let i = 0; i < 10; i++) {\n ibanLookup[String(i)] = String(i);\n}\nfor (let i = 0; i < 26; i++) {\n ibanLookup[String.fromCharCode(65 + i)] = String(10 + i);\n}\n// How many decimal digits can we process? (for 64-bit float, this is 15)\n// i.e. Math.floor(Math.log10(Number.MAX_SAFE_INTEGER));\nconst safeDigits = 15;\nfunction ibanChecksum(address) {\n address = address.toUpperCase();\n address = address.substring(4) + address.substring(0, 2) + \"00\";\n let expanded = address.split(\"\").map((c) => { return ibanLookup[c]; }).join(\"\");\n // Javascript can handle integers safely up to 15 (decimal) digits\n while (expanded.length >= safeDigits) {\n let block = expanded.substring(0, safeDigits);\n expanded = parseInt(block, 10) % 97 + expanded.substring(block.length);\n }\n let checksum = String(98 - (parseInt(expanded, 10) % 97));\n while (checksum.length < 2) {\n checksum = \"0\" + checksum;\n }\n return checksum;\n}\n;\nconst Base36 = (function () {\n ;\n const result = {};\n for (let i = 0; i < 36; i++) {\n const key = \"0123456789abcdefghijklmnopqrstuvwxyz\"[i];\n result[key] = BigInt(i);\n }\n return result;\n})();\nfunction fromBase36(value) {\n value = value.toLowerCase();\n let result = BN_0;\n for (let i = 0; i < value.length; i++) {\n result = result * BN_36 + Base36[value[i]];\n }\n return result;\n}\n/**\n * Returns a normalized and checksumed address for %%address%%.\n * This accepts non-checksum addresses, checksum addresses and\n * [[getIcapAddress]] formats.\n *\n * The checksum in Ethereum uses the capitalization (upper-case\n * vs lower-case) of the characters within an address to encode\n * its checksum, which offers, on average, a checksum of 15-bits.\n *\n * If %%address%% contains both upper-case and lower-case, it is\n * assumed to already be a checksum address and its checksum is\n * validated, and if the address fails its expected checksum an\n * error is thrown.\n *\n * If you wish the checksum of %%address%% to be ignore, it should\n * be converted to lower-case (i.e. ``.toLowercase()``) before\n * being passed in. This should be a very rare situation though,\n * that you wish to bypass the safegaurds in place to protect\n * against an address that has been incorrectly copied from another\n * source.\n *\n * @example:\n * // Adds the checksum (via upper-casing specific letters)\n * getAddress(\"0x8ba1f109551bd432803012645ac136ddd64dba72\")\n * //_result:\n *\n * // Converts ICAP address and adds checksum\n * getAddress(\"XE65GB6LDNXYOFTX0NSV3FUWKOWIXAMJK36\");\n * //_result:\n *\n * // Throws an error if an address contains mixed case,\n * // but the checksum fails\n * getAddress(\"0x8Ba1f109551bD432803012645Ac136ddd64DBA72\")\n * //_error:\n */\nexport function getAddress(address) {\n assertArgument(typeof (address) === \"string\", \"invalid address\", \"address\", address);\n if (address.match(/^(0x)?[0-9a-fA-F]{40}$/)) {\n // Missing the 0x prefix\n if (!address.startsWith(\"0x\")) {\n address = \"0x\" + address;\n }\n const result = getChecksumAddress(address);\n // It is a checksummed address with a bad checksum\n assertArgument(!address.match(/([A-F].*[a-f])|([a-f].*[A-F])/) || result === address, \"bad address checksum\", \"address\", address);\n return result;\n }\n // Maybe ICAP? (we only support direct mode)\n if (address.match(/^XE[0-9]{2}[0-9A-Za-z]{30,31}$/)) {\n // It is an ICAP address with a bad checksum\n assertArgument(address.substring(2, 4) === ibanChecksum(address), \"bad icap checksum\", \"address\", address);\n let result = fromBase36(address.substring(4)).toString(16);\n while (result.length < 40) {\n result = \"0\" + result;\n }\n return getChecksumAddress(\"0x\" + result);\n }\n assertArgument(false, \"invalid address\", \"address\", address);\n}\n/**\n * The [ICAP Address format](link-icap) format is an early checksum\n * format which attempts to be compatible with the banking\n * industry [IBAN format](link-wiki-iban) for bank accounts.\n *\n * It is no longer common or a recommended format.\n *\n * @example:\n * getIcapAddress(\"0x8ba1f109551bd432803012645ac136ddd64dba72\");\n * //_result:\n *\n * getIcapAddress(\"XE65GB6LDNXYOFTX0NSV3FUWKOWIXAMJK36\");\n * //_result:\n *\n * // Throws an error if the ICAP checksum is wrong\n * getIcapAddress(\"XE65GB6LDNXYOFTX0NSV3FUWKOWIXAMJK37\");\n * //_error:\n */\nexport function getIcapAddress(address) {\n //let base36 = _base16To36(getAddress(address).substring(2)).toUpperCase();\n let base36 = BigInt(getAddress(address)).toString(36).toUpperCase();\n while (base36.length < 30) {\n base36 = \"0\" + base36;\n }\n return \"XE\" + ibanChecksum(\"XE00\" + base36) + base36;\n}\n//# sourceMappingURL=address.js.map"],"names":[],"mappings":"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","x_google_ignoreList":[0]}