@hashgraphonline/standards-sdk 0.0.74 → 0.0.75

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 (193) hide show
  1. package/dist/es/standards-sdk.es102.js +13 -16
  2. package/dist/es/standards-sdk.es102.js.map +1 -1
  3. package/dist/es/standards-sdk.es103.js +13 -5
  4. package/dist/es/standards-sdk.es103.js.map +1 -1
  5. package/dist/es/standards-sdk.es104.js +16 -39
  6. package/dist/es/standards-sdk.es104.js.map +1 -1
  7. package/dist/es/standards-sdk.es105.js +5 -40
  8. package/dist/es/standards-sdk.es105.js.map +1 -1
  9. package/dist/es/standards-sdk.es106.js +37 -35
  10. package/dist/es/standards-sdk.es106.js.map +1 -1
  11. package/dist/es/standards-sdk.es107.js +34 -72
  12. package/dist/es/standards-sdk.es107.js.map +1 -1
  13. package/dist/es/standards-sdk.es108.js +37 -4
  14. package/dist/es/standards-sdk.es108.js.map +1 -1
  15. package/dist/es/standards-sdk.es109.js +78 -3
  16. package/dist/es/standards-sdk.es109.js.map +1 -1
  17. package/dist/es/standards-sdk.es110.js +3 -2
  18. package/dist/es/standards-sdk.es110.js.map +1 -1
  19. package/dist/es/standards-sdk.es111.js +2 -2
  20. package/dist/es/standards-sdk.es111.js.map +1 -1
  21. package/dist/es/standards-sdk.es112.js +2 -34
  22. package/dist/es/standards-sdk.es112.js.map +1 -1
  23. package/dist/es/standards-sdk.es113.js +30 -29
  24. package/dist/es/standards-sdk.es113.js.map +1 -1
  25. package/dist/es/standards-sdk.es114.js +33 -9
  26. package/dist/es/standards-sdk.es114.js.map +1 -1
  27. package/dist/es/standards-sdk.es115.js +9 -34
  28. package/dist/es/standards-sdk.es115.js.map +1 -1
  29. package/dist/es/standards-sdk.es116.js +37 -0
  30. package/dist/es/standards-sdk.es116.js.map +1 -0
  31. package/dist/es/standards-sdk.es12.js +3 -3
  32. package/dist/es/standards-sdk.es14.js +1 -1
  33. package/dist/es/standards-sdk.es17.js +2 -2
  34. package/dist/es/standards-sdk.es18.js +3 -3
  35. package/dist/es/standards-sdk.es21.js +10 -10
  36. package/dist/es/standards-sdk.es22.js +5 -1767
  37. package/dist/es/standards-sdk.es22.js.map +1 -1
  38. package/dist/es/standards-sdk.es23.js +1767 -3
  39. package/dist/es/standards-sdk.es23.js.map +1 -1
  40. package/dist/es/standards-sdk.es24.js +6864 -3841
  41. package/dist/es/standards-sdk.es24.js.map +1 -1
  42. package/dist/es/standards-sdk.es25.js +36 -6627
  43. package/dist/es/standards-sdk.es25.js.map +1 -1
  44. package/dist/es/standards-sdk.es26.js +48 -36
  45. package/dist/es/standards-sdk.es26.js.map +1 -1
  46. package/dist/es/standards-sdk.es27.js +3 -48
  47. package/dist/es/standards-sdk.es27.js.map +1 -1
  48. package/dist/es/standards-sdk.es29.js +4167 -5
  49. package/dist/es/standards-sdk.es29.js.map +1 -1
  50. package/dist/es/standards-sdk.es30.js +419 -3
  51. package/dist/es/standards-sdk.es30.js.map +1 -1
  52. package/dist/es/standards-sdk.es31.js +1 -163
  53. package/dist/es/standards-sdk.es31.js.map +1 -1
  54. package/dist/es/standards-sdk.es32.js +120 -2
  55. package/dist/es/standards-sdk.es32.js.map +1 -1
  56. package/dist/es/standards-sdk.es33.js +2 -195
  57. package/dist/es/standards-sdk.es33.js.map +1 -1
  58. package/dist/es/standards-sdk.es34.js +3 -437
  59. package/dist/es/standards-sdk.es34.js.map +1 -1
  60. package/dist/es/standards-sdk.es35.js +80 -21
  61. package/dist/es/standards-sdk.es35.js.map +1 -1
  62. package/dist/es/standards-sdk.es36.js +21 -137
  63. package/dist/es/standards-sdk.es36.js.map +1 -1
  64. package/dist/es/standards-sdk.es37.js +143 -13
  65. package/dist/es/standards-sdk.es37.js.map +1 -1
  66. package/dist/es/standards-sdk.es38.js +83 -21
  67. package/dist/es/standards-sdk.es38.js.map +1 -1
  68. package/dist/es/standards-sdk.es39.js +7134 -27
  69. package/dist/es/standards-sdk.es39.js.map +1 -1
  70. package/dist/es/standards-sdk.es40.js +191 -17
  71. package/dist/es/standards-sdk.es40.js.map +1 -1
  72. package/dist/es/standards-sdk.es41.js +431 -37
  73. package/dist/es/standards-sdk.es41.js.map +1 -1
  74. package/dist/es/standards-sdk.es42.js +16 -9
  75. package/dist/es/standards-sdk.es42.js.map +1 -1
  76. package/dist/es/standards-sdk.es43.js +125 -47
  77. package/dist/es/standards-sdk.es43.js.map +1 -1
  78. package/dist/es/standards-sdk.es44.js +13 -1284
  79. package/dist/es/standards-sdk.es44.js.map +1 -1
  80. package/dist/es/standards-sdk.es45.js +21 -140
  81. package/dist/es/standards-sdk.es45.js.map +1 -1
  82. package/dist/es/standards-sdk.es46.js +25 -87
  83. package/dist/es/standards-sdk.es46.js.map +1 -1
  84. package/dist/es/standards-sdk.es47.js +17 -80
  85. package/dist/es/standards-sdk.es47.js.map +1 -1
  86. package/dist/es/standards-sdk.es48.js +39 -27
  87. package/dist/es/standards-sdk.es48.js.map +1 -1
  88. package/dist/es/standards-sdk.es49.js +17 -5
  89. package/dist/es/standards-sdk.es49.js.map +1 -1
  90. package/dist/es/standards-sdk.es5.js +3 -3
  91. package/dist/es/standards-sdk.es50.js +51 -149
  92. package/dist/es/standards-sdk.es50.js.map +1 -1
  93. package/dist/es/standards-sdk.es51.js +1285 -19
  94. package/dist/es/standards-sdk.es51.js.map +1 -1
  95. package/dist/es/standards-sdk.es52.js +28 -789
  96. package/dist/es/standards-sdk.es52.js.map +1 -1
  97. package/dist/es/standards-sdk.es53.js +5 -173
  98. package/dist/es/standards-sdk.es53.js.map +1 -1
  99. package/dist/es/standards-sdk.es54.js +145 -129
  100. package/dist/es/standards-sdk.es54.js.map +1 -1
  101. package/dist/es/standards-sdk.es55.js +775 -346
  102. package/dist/es/standards-sdk.es55.js.map +1 -1
  103. package/dist/es/standards-sdk.es56.js +173 -5
  104. package/dist/es/standards-sdk.es56.js.map +1 -1
  105. package/dist/es/standards-sdk.es57.js +127 -163
  106. package/dist/es/standards-sdk.es57.js.map +1 -1
  107. package/dist/es/standards-sdk.es58.js +3 -81
  108. package/dist/es/standards-sdk.es58.js.map +1 -1
  109. package/dist/es/standards-sdk.es59.js +19 -112
  110. package/dist/es/standards-sdk.es59.js.map +1 -1
  111. package/dist/es/standards-sdk.es60.js +23 -48
  112. package/dist/es/standards-sdk.es60.js.map +1 -1
  113. package/dist/es/standards-sdk.es61.js +25 -9
  114. package/dist/es/standards-sdk.es61.js.map +1 -1
  115. package/dist/es/standards-sdk.es62.js +36 -95
  116. package/dist/es/standards-sdk.es62.js.map +1 -1
  117. package/dist/es/standards-sdk.es63.js +100 -3
  118. package/dist/es/standards-sdk.es63.js.map +1 -1
  119. package/dist/es/standards-sdk.es64.js +2 -2
  120. package/dist/es/standards-sdk.es64.js.map +1 -1
  121. package/dist/es/standards-sdk.es65.js +15 -112
  122. package/dist/es/standards-sdk.es65.js.map +1 -1
  123. package/dist/es/standards-sdk.es66.js +406 -71
  124. package/dist/es/standards-sdk.es66.js.map +1 -1
  125. package/dist/es/standards-sdk.es67.js +362 -4
  126. package/dist/es/standards-sdk.es67.js.map +1 -1
  127. package/dist/es/standards-sdk.es68.js +5 -4
  128. package/dist/es/standards-sdk.es68.js.map +1 -1
  129. package/dist/es/standards-sdk.es69.js +158 -200
  130. package/dist/es/standards-sdk.es69.js.map +1 -1
  131. package/dist/es/standards-sdk.es7.js +3 -3
  132. package/dist/es/standards-sdk.es70.js +77 -54
  133. package/dist/es/standards-sdk.es70.js.map +1 -1
  134. package/dist/es/standards-sdk.es71.js +112 -67
  135. package/dist/es/standards-sdk.es71.js.map +1 -1
  136. package/dist/es/standards-sdk.es72.js +48 -97
  137. package/dist/es/standards-sdk.es72.js.map +1 -1
  138. package/dist/es/standards-sdk.es73.js +10 -2
  139. package/dist/es/standards-sdk.es73.js.map +1 -1
  140. package/dist/es/standards-sdk.es74.js +96 -15
  141. package/dist/es/standards-sdk.es74.js.map +1 -1
  142. package/dist/es/standards-sdk.es75.js +3 -408
  143. package/dist/es/standards-sdk.es75.js.map +1 -1
  144. package/dist/es/standards-sdk.es76.js +2 -21
  145. package/dist/es/standards-sdk.es76.js.map +1 -1
  146. package/dist/es/standards-sdk.es77.js +108 -22
  147. package/dist/es/standards-sdk.es77.js.map +1 -1
  148. package/dist/es/standards-sdk.es78.js +72 -24
  149. package/dist/es/standards-sdk.es78.js.map +1 -1
  150. package/dist/es/standards-sdk.es79.js +5 -37
  151. package/dist/es/standards-sdk.es79.js.map +1 -1
  152. package/dist/es/standards-sdk.es8.js +3 -3
  153. package/dist/es/standards-sdk.es80.js +4 -418
  154. package/dist/es/standards-sdk.es80.js.map +1 -1
  155. package/dist/es/standards-sdk.es81.js +221 -2
  156. package/dist/es/standards-sdk.es81.js.map +1 -1
  157. package/dist/es/standards-sdk.es82.js +50 -112
  158. package/dist/es/standards-sdk.es82.js.map +1 -1
  159. package/dist/es/standards-sdk.es83.js +68 -2281
  160. package/dist/es/standards-sdk.es83.js.map +1 -1
  161. package/dist/es/standards-sdk.es84.js +2282 -32
  162. package/dist/es/standards-sdk.es84.js.map +1 -1
  163. package/dist/es/standards-sdk.es85.js +155 -54
  164. package/dist/es/standards-sdk.es85.js.map +1 -1
  165. package/dist/es/standards-sdk.es86.js +27 -45
  166. package/dist/es/standards-sdk.es86.js.map +1 -1
  167. package/dist/es/standards-sdk.es87.js +62 -9
  168. package/dist/es/standards-sdk.es87.js.map +1 -1
  169. package/dist/es/standards-sdk.es88.js +45 -60
  170. package/dist/es/standards-sdk.es88.js.map +1 -1
  171. package/dist/es/standards-sdk.es89.js +10 -6
  172. package/dist/es/standards-sdk.es89.js.map +1 -1
  173. package/dist/es/standards-sdk.es90.js +62 -12
  174. package/dist/es/standards-sdk.es90.js.map +1 -1
  175. package/dist/es/standards-sdk.es91.js +5 -6
  176. package/dist/es/standards-sdk.es91.js.map +1 -1
  177. package/dist/es/standards-sdk.es92.js +13 -43
  178. package/dist/es/standards-sdk.es92.js.map +1 -1
  179. package/dist/es/standards-sdk.es93.js +7 -2
  180. package/dist/es/standards-sdk.es93.js.map +1 -1
  181. package/dist/es/standards-sdk.es94.js +39 -130
  182. package/dist/es/standards-sdk.es94.js.map +1 -1
  183. package/dist/es/standards-sdk.es95.js +2 -172
  184. package/dist/es/standards-sdk.es95.js.map +1 -1
  185. package/dist/es/standards-sdk.es96.js +135 -12
  186. package/dist/es/standards-sdk.es96.js.map +1 -1
  187. package/dist/es/standards-sdk.es97.js +172 -13
  188. package/dist/es/standards-sdk.es97.js.map +1 -1
  189. package/dist/es/standards-sdk.es98.js +1 -1
  190. package/dist/es/standards-sdk.es99.js +3 -3
  191. package/dist/umd/standards-sdk.umd.js +37 -12
  192. package/dist/umd/standards-sdk.umd.js.map +1 -1
  193. package/package.json +4 -4
@@ -1,64 +1,142 @@
1
1
  var __defProp = Object.defineProperty;
2
2
  var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3
3
  var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
4
- import { defineProperties } from "./standards-sdk.es48.js";
5
- import { Typed } from "./standards-sdk.es52.js";
6
- import { Coder } from "./standards-sdk.es34.js";
7
- import { pack, unpack } from "./standards-sdk.es36.js";
8
- class TupleCoder extends Coder {
9
- constructor(coders, localName) {
10
- let dynamic = false;
11
- const types = [];
12
- coders.forEach((coder) => {
13
- if (coder.dynamic) {
14
- dynamic = true;
15
- }
16
- types.push(coder.type);
4
+ import { Typed } from "./standards-sdk.es55.js";
5
+ import { Coder, WordSize, Writer, Result } from "./standards-sdk.es41.js";
6
+ import { AnonymousCoder } from "./standards-sdk.es59.js";
7
+ import { defineProperties } from "./standards-sdk.es52.js";
8
+ import { assertArgumentCount, assert, assertArgument, isError } from "./standards-sdk.es37.js";
9
+ function pack(writer, coders, values) {
10
+ let arrayValues = [];
11
+ if (Array.isArray(values)) {
12
+ arrayValues = values;
13
+ } else if (values && typeof values === "object") {
14
+ let unique = {};
15
+ arrayValues = coders.map((coder) => {
16
+ const name = coder.localName;
17
+ assert(name, "cannot encode object for signature with missing names", "INVALID_ARGUMENT", { argument: "values", info: { coder }, value: values });
18
+ assert(!unique[name], "cannot encode object for signature with duplicate names", "INVALID_ARGUMENT", { argument: "values", info: { coder }, value: values });
19
+ unique[name] = true;
20
+ return values[name];
17
21
  });
18
- const type = "tuple(" + types.join(",") + ")";
19
- super("tuple", type, localName, dynamic);
20
- __publicField(this, "coders");
21
- defineProperties(this, { coders: Object.freeze(coders.slice()) });
22
+ } else {
23
+ assertArgument(false, "invalid tuple value", "tuple", values);
22
24
  }
23
- defaultValue() {
24
- const values = [];
25
- this.coders.forEach((coder) => {
26
- values.push(coder.defaultValue());
27
- });
28
- const uniqueNames = this.coders.reduce((accum, coder) => {
29
- const name = coder.localName;
30
- if (name) {
31
- if (!accum[name]) {
32
- accum[name] = 0;
25
+ assertArgument(coders.length === arrayValues.length, "types/value length mismatch", "tuple", values);
26
+ let staticWriter = new Writer();
27
+ let dynamicWriter = new Writer();
28
+ let updateFuncs = [];
29
+ coders.forEach((coder, index) => {
30
+ let value = arrayValues[index];
31
+ if (coder.dynamic) {
32
+ let dynamicOffset = dynamicWriter.length;
33
+ coder.encode(dynamicWriter, value);
34
+ let updateFunc = staticWriter.writeUpdatableValue();
35
+ updateFuncs.push((baseOffset) => {
36
+ updateFunc(baseOffset + dynamicOffset);
37
+ });
38
+ } else {
39
+ coder.encode(staticWriter, value);
40
+ }
41
+ });
42
+ updateFuncs.forEach((func) => {
43
+ func(staticWriter.length);
44
+ });
45
+ let length = writer.appendWriter(staticWriter);
46
+ length += writer.appendWriter(dynamicWriter);
47
+ return length;
48
+ }
49
+ function unpack(reader, coders) {
50
+ let values = [];
51
+ let keys = [];
52
+ let baseReader = reader.subReader(0);
53
+ coders.forEach((coder) => {
54
+ let value = null;
55
+ if (coder.dynamic) {
56
+ let offset = reader.readIndex();
57
+ let offsetReader = baseReader.subReader(offset);
58
+ try {
59
+ value = coder.decode(offsetReader);
60
+ } catch (error) {
61
+ if (isError(error, "BUFFER_OVERRUN")) {
62
+ throw error;
33
63
  }
34
- accum[name]++;
35
- }
36
- return accum;
37
- }, {});
38
- this.coders.forEach((coder, index) => {
39
- let name = coder.localName;
40
- if (!name || uniqueNames[name] !== 1) {
41
- return;
64
+ value = error;
65
+ value.baseType = coder.name;
66
+ value.name = coder.localName;
67
+ value.type = coder.type;
42
68
  }
43
- if (name === "length") {
44
- name = "_length";
45
- }
46
- if (values[name] != null) {
47
- return;
69
+ } else {
70
+ try {
71
+ value = coder.decode(reader);
72
+ } catch (error) {
73
+ if (isError(error, "BUFFER_OVERRUN")) {
74
+ throw error;
75
+ }
76
+ value = error;
77
+ value.baseType = coder.name;
78
+ value.name = coder.localName;
79
+ value.type = coder.type;
48
80
  }
49
- values[name] = values[index];
50
- });
51
- return Object.freeze(values);
81
+ }
82
+ if (value == void 0) {
83
+ throw new Error("investigate");
84
+ }
85
+ values.push(value);
86
+ keys.push(coder.localName || null);
87
+ });
88
+ return Result.fromItems(values, keys);
89
+ }
90
+ class ArrayCoder extends Coder {
91
+ constructor(coder, length, localName) {
92
+ const type = coder.type + "[" + (length >= 0 ? length : "") + "]";
93
+ const dynamic = length === -1 || coder.dynamic;
94
+ super("array", type, localName, dynamic);
95
+ __publicField(this, "coder");
96
+ __publicField(this, "length");
97
+ defineProperties(this, { coder, length });
98
+ }
99
+ defaultValue() {
100
+ const defaultChild = this.coder.defaultValue();
101
+ const result = [];
102
+ for (let i = 0; i < this.length; i++) {
103
+ result.push(defaultChild);
104
+ }
105
+ return result;
52
106
  }
53
107
  encode(writer, _value) {
54
- const value = Typed.dereference(_value, "tuple");
55
- return pack(writer, this.coders, value);
108
+ const value = Typed.dereference(_value, "array");
109
+ if (!Array.isArray(value)) {
110
+ this._throwError("expected array value", value);
111
+ }
112
+ let count = this.length;
113
+ if (count === -1) {
114
+ count = value.length;
115
+ writer.writeValue(value.length);
116
+ }
117
+ assertArgumentCount(value.length, count, "coder array" + (this.localName ? " " + this.localName : ""));
118
+ let coders = [];
119
+ for (let i = 0; i < value.length; i++) {
120
+ coders.push(this.coder);
121
+ }
122
+ return pack(writer, coders, value);
56
123
  }
57
124
  decode(reader) {
58
- return unpack(reader, this.coders);
125
+ let count = this.length;
126
+ if (count === -1) {
127
+ count = reader.readIndex();
128
+ assert(count * WordSize <= reader.dataLength, "insufficient data length", "BUFFER_OVERRUN", { buffer: reader.bytes, offset: count * WordSize, length: reader.dataLength });
129
+ }
130
+ let coders = [];
131
+ for (let i = 0; i < count; i++) {
132
+ coders.push(new AnonymousCoder(this.coder));
133
+ }
134
+ return unpack(reader, coders);
59
135
  }
60
136
  }
61
137
  export {
62
- TupleCoder
138
+ ArrayCoder,
139
+ pack,
140
+ unpack
63
141
  };
64
142
  //# sourceMappingURL=standards-sdk.es43.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"standards-sdk.es43.js","sources":["../../node_modules/ethers/lib.esm/abi/coders/tuple.js"],"sourcesContent":["import { defineProperties } from \"../../utils/properties.js\";\nimport { Typed } from \"../typed.js\";\nimport { Coder } from \"./abstract-coder.js\";\nimport { pack, unpack } from \"./array.js\";\n/**\n * @_ignore\n */\nexport class TupleCoder extends Coder {\n coders;\n constructor(coders, localName) {\n let dynamic = false;\n const types = [];\n coders.forEach((coder) => {\n if (coder.dynamic) {\n dynamic = true;\n }\n types.push(coder.type);\n });\n const type = (\"tuple(\" + types.join(\",\") + \")\");\n super(\"tuple\", type, localName, dynamic);\n defineProperties(this, { coders: Object.freeze(coders.slice()) });\n }\n defaultValue() {\n const values = [];\n this.coders.forEach((coder) => {\n values.push(coder.defaultValue());\n });\n // We only output named properties for uniquely named coders\n const uniqueNames = this.coders.reduce((accum, coder) => {\n const name = coder.localName;\n if (name) {\n if (!accum[name]) {\n accum[name] = 0;\n }\n accum[name]++;\n }\n return accum;\n }, {});\n // Add named values\n this.coders.forEach((coder, index) => {\n let name = coder.localName;\n if (!name || uniqueNames[name] !== 1) {\n return;\n }\n if (name === \"length\") {\n name = \"_length\";\n }\n if (values[name] != null) {\n return;\n }\n values[name] = values[index];\n });\n return Object.freeze(values);\n }\n encode(writer, _value) {\n const value = Typed.dereference(_value, \"tuple\");\n return pack(writer, this.coders, value);\n }\n decode(reader) {\n return unpack(reader, this.coders);\n }\n}\n//# sourceMappingURL=tuple.js.map"],"names":[],"mappings":";;;;;;;AAOO,MAAM,mBAAmB,MAAM;AAAA,EAElC,YAAY,QAAQ,WAAW;AAC3B,QAAI,UAAU;AACd,UAAM,QAAQ,CAAE;AAChB,WAAO,QAAQ,CAAC,UAAU;AACtB,UAAI,MAAM,SAAS;AACf,kBAAU;AAAA,MAC1B;AACY,YAAM,KAAK,MAAM,IAAI;AAAA,IACjC,CAAS;AACD,UAAM,OAAQ,WAAW,MAAM,KAAK,GAAG,IAAI;AAC3C,UAAM,SAAS,MAAM,WAAW,OAAO;AAX3C;AAYI,qBAAiB,MAAM,EAAE,QAAQ,OAAO,OAAO,OAAO,MAAO,CAAA,GAAG;AAAA,EACxE;AAAA,EACI,eAAe;AACX,UAAM,SAAS,CAAE;AACjB,SAAK,OAAO,QAAQ,CAAC,UAAU;AAC3B,aAAO,KAAK,MAAM,cAAc;AAAA,IAC5C,CAAS;AAED,UAAM,cAAc,KAAK,OAAO,OAAO,CAAC,OAAO,UAAU;AACrD,YAAM,OAAO,MAAM;AACnB,UAAI,MAAM;AACN,YAAI,CAAC,MAAM,IAAI,GAAG;AACd,gBAAM,IAAI,IAAI;AAAA,QAClC;AACgB,cAAM,IAAI;AAAA,MAC1B;AACY,aAAO;AAAA,IACV,GAAE,EAAE;AAEL,SAAK,OAAO,QAAQ,CAAC,OAAO,UAAU;AAClC,UAAI,OAAO,MAAM;AACjB,UAAI,CAAC,QAAQ,YAAY,IAAI,MAAM,GAAG;AAClC;AAAA,MAChB;AACY,UAAI,SAAS,UAAU;AACnB,eAAO;AAAA,MACvB;AACY,UAAI,OAAO,IAAI,KAAK,MAAM;AACtB;AAAA,MAChB;AACY,aAAO,IAAI,IAAI,OAAO,KAAK;AAAA,IACvC,CAAS;AACD,WAAO,OAAO,OAAO,MAAM;AAAA,EACnC;AAAA,EACI,OAAO,QAAQ,QAAQ;AACnB,UAAM,QAAQ,MAAM,YAAY,QAAQ,OAAO;AAC/C,WAAO,KAAK,QAAQ,KAAK,QAAQ,KAAK;AAAA,EAC9C;AAAA,EACI,OAAO,QAAQ;AACX,WAAO,OAAO,QAAQ,KAAK,MAAM;AAAA,EACzC;AACA;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"standards-sdk.es43.js","sources":["../../node_modules/ethers/lib.esm/abi/coders/array.js"],"sourcesContent":["import { defineProperties, isError, assert, assertArgument, assertArgumentCount } from \"../../utils/index.js\";\nimport { Typed } from \"../typed.js\";\nimport { Coder, Result, WordSize, Writer } from \"./abstract-coder.js\";\nimport { AnonymousCoder } from \"./anonymous.js\";\n/**\n * @_ignore\n */\nexport function pack(writer, coders, values) {\n let arrayValues = [];\n if (Array.isArray(values)) {\n arrayValues = values;\n }\n else if (values && typeof (values) === \"object\") {\n let unique = {};\n arrayValues = coders.map((coder) => {\n const name = coder.localName;\n assert(name, \"cannot encode object for signature with missing names\", \"INVALID_ARGUMENT\", { argument: \"values\", info: { coder }, value: values });\n assert(!unique[name], \"cannot encode object for signature with duplicate names\", \"INVALID_ARGUMENT\", { argument: \"values\", info: { coder }, value: values });\n unique[name] = true;\n return values[name];\n });\n }\n else {\n assertArgument(false, \"invalid tuple value\", \"tuple\", values);\n }\n assertArgument(coders.length === arrayValues.length, \"types/value length mismatch\", \"tuple\", values);\n let staticWriter = new Writer();\n let dynamicWriter = new Writer();\n let updateFuncs = [];\n coders.forEach((coder, index) => {\n let value = arrayValues[index];\n if (coder.dynamic) {\n // Get current dynamic offset (for the future pointer)\n let dynamicOffset = dynamicWriter.length;\n // Encode the dynamic value into the dynamicWriter\n coder.encode(dynamicWriter, value);\n // Prepare to populate the correct offset once we are done\n let updateFunc = staticWriter.writeUpdatableValue();\n updateFuncs.push((baseOffset) => {\n updateFunc(baseOffset + dynamicOffset);\n });\n }\n else {\n coder.encode(staticWriter, value);\n }\n });\n // Backfill all the dynamic offsets, now that we know the static length\n updateFuncs.forEach((func) => { func(staticWriter.length); });\n let length = writer.appendWriter(staticWriter);\n length += writer.appendWriter(dynamicWriter);\n return length;\n}\n/**\n * @_ignore\n */\nexport function unpack(reader, coders) {\n let values = [];\n let keys = [];\n // A reader anchored to this base\n let baseReader = reader.subReader(0);\n coders.forEach((coder) => {\n let value = null;\n if (coder.dynamic) {\n let offset = reader.readIndex();\n let offsetReader = baseReader.subReader(offset);\n try {\n value = coder.decode(offsetReader);\n }\n catch (error) {\n // Cannot recover from this\n if (isError(error, \"BUFFER_OVERRUN\")) {\n throw error;\n }\n value = error;\n value.baseType = coder.name;\n value.name = coder.localName;\n value.type = coder.type;\n }\n }\n else {\n try {\n value = coder.decode(reader);\n }\n catch (error) {\n // Cannot recover from this\n if (isError(error, \"BUFFER_OVERRUN\")) {\n throw error;\n }\n value = error;\n value.baseType = coder.name;\n value.name = coder.localName;\n value.type = coder.type;\n }\n }\n if (value == undefined) {\n throw new Error(\"investigate\");\n }\n values.push(value);\n keys.push(coder.localName || null);\n });\n return Result.fromItems(values, keys);\n}\n/**\n * @_ignore\n */\nexport class ArrayCoder extends Coder {\n coder;\n length;\n constructor(coder, length, localName) {\n const type = (coder.type + \"[\" + (length >= 0 ? length : \"\") + \"]\");\n const dynamic = (length === -1 || coder.dynamic);\n super(\"array\", type, localName, dynamic);\n defineProperties(this, { coder, length });\n }\n defaultValue() {\n // Verifies the child coder is valid (even if the array is dynamic or 0-length)\n const defaultChild = this.coder.defaultValue();\n const result = [];\n for (let i = 0; i < this.length; i++) {\n result.push(defaultChild);\n }\n return result;\n }\n encode(writer, _value) {\n const value = Typed.dereference(_value, \"array\");\n if (!Array.isArray(value)) {\n this._throwError(\"expected array value\", value);\n }\n let count = this.length;\n if (count === -1) {\n count = value.length;\n writer.writeValue(value.length);\n }\n assertArgumentCount(value.length, count, \"coder array\" + (this.localName ? (\" \" + this.localName) : \"\"));\n let coders = [];\n for (let i = 0; i < value.length; i++) {\n coders.push(this.coder);\n }\n return pack(writer, coders, value);\n }\n decode(reader) {\n let count = this.length;\n if (count === -1) {\n count = reader.readIndex();\n // Check that there is *roughly* enough data to ensure\n // stray random data is not being read as a length. Each\n // slot requires at least 32 bytes for their value (or 32\n // bytes as a link to the data). This could use a much\n // tighter bound, but we are erroring on the side of safety.\n assert(count * WordSize <= reader.dataLength, \"insufficient data length\", \"BUFFER_OVERRUN\", { buffer: reader.bytes, offset: count * WordSize, length: reader.dataLength });\n }\n let coders = [];\n for (let i = 0; i < count; i++) {\n coders.push(new AnonymousCoder(this.coder));\n }\n return unpack(reader, coders);\n }\n}\n//# sourceMappingURL=array.js.map"],"names":[],"mappings":"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","x_google_ignoreList":[0]}