@hashgraphonline/standards-sdk 0.0.67 → 0.0.68

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 (195) hide show
  1. package/dist/es/hcs-10/base-client.d.ts +20 -5
  2. package/dist/es/hcs-10/base-client.d.ts.map +1 -1
  3. package/dist/es/hcs-10/sdk.d.ts +12 -2
  4. package/dist/es/hcs-10/sdk.d.ts.map +1 -1
  5. package/dist/es/standards-sdk.es100.js +3 -3
  6. package/dist/es/standards-sdk.es100.js.map +1 -1
  7. package/dist/es/standards-sdk.es101.js +15 -3
  8. package/dist/es/standards-sdk.es101.js.map +1 -1
  9. package/dist/es/standards-sdk.es102.js +4 -15
  10. package/dist/es/standards-sdk.es102.js.map +1 -1
  11. package/dist/es/standards-sdk.es103.js +39 -5
  12. package/dist/es/standards-sdk.es103.js.map +1 -1
  13. package/dist/es/standards-sdk.es104.js +39 -38
  14. package/dist/es/standards-sdk.es104.js.map +1 -1
  15. package/dist/es/standards-sdk.es105.js +34 -37
  16. package/dist/es/standards-sdk.es105.js.map +1 -1
  17. package/dist/es/standards-sdk.es106.js +75 -34
  18. package/dist/es/standards-sdk.es106.js.map +1 -1
  19. package/dist/es/standards-sdk.es107.js +2281 -77
  20. package/dist/es/standards-sdk.es107.js.map +1 -1
  21. package/dist/es/standards-sdk.es108.js +1 -1
  22. package/dist/es/standards-sdk.es113.js +1 -1
  23. package/dist/es/standards-sdk.es114.js +2 -2
  24. package/dist/es/standards-sdk.es12.js +3 -3
  25. package/dist/es/standards-sdk.es14.js +1 -1
  26. package/dist/es/standards-sdk.es17.js +1 -1
  27. package/dist/es/standards-sdk.es18.js +1 -1
  28. package/dist/es/standards-sdk.es20.js +1692 -966
  29. package/dist/es/standards-sdk.es20.js.map +1 -1
  30. package/dist/es/standards-sdk.es21.js +3 -1767
  31. package/dist/es/standards-sdk.es21.js.map +1 -1
  32. package/dist/es/standards-sdk.es22.js +4167 -3
  33. package/dist/es/standards-sdk.es22.js.map +1 -1
  34. package/dist/es/standards-sdk.es23.js +5 -4167
  35. package/dist/es/standards-sdk.es23.js.map +1 -1
  36. package/dist/es/standards-sdk.es25.js +17 -17
  37. package/dist/es/standards-sdk.es26.js +3 -3
  38. package/dist/es/standards-sdk.es28.js +1041 -5
  39. package/dist/es/standards-sdk.es28.js.map +1 -1
  40. package/dist/es/standards-sdk.es29.js +419 -3
  41. package/dist/es/standards-sdk.es29.js.map +1 -1
  42. package/dist/es/standards-sdk.es30.js +1 -163
  43. package/dist/es/standards-sdk.es30.js.map +1 -1
  44. package/dist/es/standards-sdk.es31.js +112 -93
  45. package/dist/es/standards-sdk.es31.js.map +1 -1
  46. package/dist/es/standards-sdk.es32.js +4 -2
  47. package/dist/es/standards-sdk.es32.js.map +1 -1
  48. package/dist/es/standards-sdk.es33.js +2 -16
  49. package/dist/es/standards-sdk.es33.js.map +1 -1
  50. package/dist/es/standards-sdk.es34.js +3 -409
  51. package/dist/es/standards-sdk.es34.js.map +1 -1
  52. package/dist/es/standards-sdk.es35.js +144 -399
  53. package/dist/es/standards-sdk.es35.js.map +1 -1
  54. package/dist/es/standards-sdk.es36.js +364 -2
  55. package/dist/es/standards-sdk.es36.js.map +1 -1
  56. package/dist/es/standards-sdk.es37.js +5 -119
  57. package/dist/es/standards-sdk.es37.js.map +1 -1
  58. package/dist/es/standards-sdk.es38.js +179 -2282
  59. package/dist/es/standards-sdk.es38.js.map +1 -1
  60. package/dist/es/standards-sdk.es39.js +80 -3
  61. package/dist/es/standards-sdk.es39.js.map +1 -1
  62. package/dist/es/standards-sdk.es4.js +1 -1
  63. package/dist/es/standards-sdk.es40.js +114 -2
  64. package/dist/es/standards-sdk.es40.js.map +1 -1
  65. package/dist/es/standards-sdk.es41.js +46 -78
  66. package/dist/es/standards-sdk.es41.js.map +1 -1
  67. package/dist/es/standards-sdk.es42.js +9 -22
  68. package/dist/es/standards-sdk.es42.js.map +1 -1
  69. package/dist/es/standards-sdk.es43.js +83 -134
  70. package/dist/es/standards-sdk.es43.js.map +1 -1
  71. package/dist/es/standards-sdk.es44.js +3 -90
  72. package/dist/es/standards-sdk.es44.js.map +1 -1
  73. package/dist/es/standards-sdk.es45.js +2 -174
  74. package/dist/es/standards-sdk.es45.js.map +1 -1
  75. package/dist/es/standards-sdk.es46.js +112 -5
  76. package/dist/es/standards-sdk.es46.js.map +1 -1
  77. package/dist/es/standards-sdk.es47.js +69 -138
  78. package/dist/es/standards-sdk.es47.js.map +1 -1
  79. package/dist/es/standards-sdk.es48.js +4 -193
  80. package/dist/es/standards-sdk.es48.js.map +1 -1
  81. package/dist/es/standards-sdk.es49.js +4 -437
  82. package/dist/es/standards-sdk.es49.js.map +1 -1
  83. package/dist/es/standards-sdk.es5.js +66 -17
  84. package/dist/es/standards-sdk.es5.js.map +1 -1
  85. package/dist/es/standards-sdk.es50.js +215 -19
  86. package/dist/es/standards-sdk.es50.js.map +1 -1
  87. package/dist/es/standards-sdk.es51.js +54 -135
  88. package/dist/es/standards-sdk.es51.js.map +1 -1
  89. package/dist/es/standards-sdk.es52.js +69 -18
  90. package/dist/es/standards-sdk.es52.js.map +1 -1
  91. package/dist/es/standards-sdk.es53.js +21 -27
  92. package/dist/es/standards-sdk.es53.js.map +1 -1
  93. package/dist/es/standards-sdk.es54.js +170 -25
  94. package/dist/es/standards-sdk.es54.js.map +1 -1
  95. package/dist/es/standards-sdk.es55.js +87 -17
  96. package/dist/es/standards-sdk.es55.js.map +1 -1
  97. package/dist/es/standards-sdk.es56.js +5 -43
  98. package/dist/es/standards-sdk.es56.js.map +1 -1
  99. package/dist/es/standards-sdk.es57.js +138 -13
  100. package/dist/es/standards-sdk.es57.js.map +1 -1
  101. package/dist/es/standards-sdk.es58.js +190 -56
  102. package/dist/es/standards-sdk.es58.js.map +1 -1
  103. package/dist/es/standards-sdk.es59.js +356 -1207
  104. package/dist/es/standards-sdk.es59.js.map +1 -1
  105. package/dist/es/standards-sdk.es60.js +21 -28
  106. package/dist/es/standards-sdk.es60.js.map +1 -1
  107. package/dist/es/standards-sdk.es61.js +122 -142
  108. package/dist/es/standards-sdk.es61.js.map +1 -1
  109. package/dist/es/standards-sdk.es62.js +13 -788
  110. package/dist/es/standards-sdk.es62.js.map +1 -1
  111. package/dist/es/standards-sdk.es63.js +26 -24
  112. package/dist/es/standards-sdk.es63.js.map +1 -1
  113. package/dist/es/standards-sdk.es64.js +27 -24
  114. package/dist/es/standards-sdk.es64.js.map +1 -1
  115. package/dist/es/standards-sdk.es65.js +19 -36
  116. package/dist/es/standards-sdk.es65.js.map +1 -1
  117. package/dist/es/standards-sdk.es66.js +34 -11
  118. package/dist/es/standards-sdk.es66.js.map +1 -1
  119. package/dist/es/standards-sdk.es67.js +13 -359
  120. package/dist/es/standards-sdk.es67.js.map +1 -1
  121. package/dist/es/standards-sdk.es68.js +60 -5
  122. package/dist/es/standards-sdk.es68.js.map +1 -1
  123. package/dist/es/standards-sdk.es69.js +1270 -160
  124. package/dist/es/standards-sdk.es69.js.map +1 -1
  125. package/dist/es/standards-sdk.es7.js +52 -7
  126. package/dist/es/standards-sdk.es7.js.map +1 -1
  127. package/dist/es/standards-sdk.es70.js +137 -70
  128. package/dist/es/standards-sdk.es70.js.map +1 -1
  129. package/dist/es/standards-sdk.es71.js +78 -108
  130. package/dist/es/standards-sdk.es71.js.map +1 -1
  131. package/dist/es/standards-sdk.es72.js +27 -47
  132. package/dist/es/standards-sdk.es72.js.map +1 -1
  133. package/dist/es/standards-sdk.es73.js +159 -10
  134. package/dist/es/standards-sdk.es73.js.map +1 -1
  135. package/dist/es/standards-sdk.es74.js +777 -81
  136. package/dist/es/standards-sdk.es74.js.map +1 -1
  137. package/dist/es/standards-sdk.es75.js +31 -3
  138. package/dist/es/standards-sdk.es75.js.map +1 -1
  139. package/dist/es/standards-sdk.es76.js +63 -2
  140. package/dist/es/standards-sdk.es76.js.map +1 -1
  141. package/dist/es/standards-sdk.es77.js +43 -106
  142. package/dist/es/standards-sdk.es77.js.map +1 -1
  143. package/dist/es/standards-sdk.es78.js +8 -72
  144. package/dist/es/standards-sdk.es78.js.map +1 -1
  145. package/dist/es/standards-sdk.es79.js +63 -4
  146. package/dist/es/standards-sdk.es79.js.map +1 -1
  147. package/dist/es/standards-sdk.es8.js +3 -3
  148. package/dist/es/standards-sdk.es8.js.map +1 -1
  149. package/dist/es/standards-sdk.es80.js +6 -5
  150. package/dist/es/standards-sdk.es80.js.map +1 -1
  151. package/dist/es/standards-sdk.es81.js +14 -220
  152. package/dist/es/standards-sdk.es81.js.map +1 -1
  153. package/dist/es/standards-sdk.es82.js +6 -57
  154. package/dist/es/standards-sdk.es82.js.map +1 -1
  155. package/dist/es/standards-sdk.es83.js +44 -68
  156. package/dist/es/standards-sdk.es83.js.map +1 -1
  157. package/dist/es/standards-sdk.es84.js +2 -32
  158. package/dist/es/standards-sdk.es84.js.map +1 -1
  159. package/dist/es/standards-sdk.es85.js +133 -60
  160. package/dist/es/standards-sdk.es85.js.map +1 -1
  161. package/dist/es/standards-sdk.es86.js +169 -47
  162. package/dist/es/standards-sdk.es86.js.map +1 -1
  163. package/dist/es/standards-sdk.es87.js +25 -8
  164. package/dist/es/standards-sdk.es87.js.map +1 -1
  165. package/dist/es/standards-sdk.es88.js +24 -63
  166. package/dist/es/standards-sdk.es88.js.map +1 -1
  167. package/dist/es/standards-sdk.es89.js +38 -6
  168. package/dist/es/standards-sdk.es89.js.map +1 -1
  169. package/dist/es/standards-sdk.es90.js +97 -11
  170. package/dist/es/standards-sdk.es90.js.map +1 -1
  171. package/dist/es/standards-sdk.es91.js +2 -7
  172. package/dist/es/standards-sdk.es91.js.map +1 -1
  173. package/dist/es/standards-sdk.es92.js +16 -45
  174. package/dist/es/standards-sdk.es92.js.map +1 -1
  175. package/dist/es/standards-sdk.es93.js +409 -2
  176. package/dist/es/standards-sdk.es93.js.map +1 -1
  177. package/dist/es/standards-sdk.es94.js +21 -136
  178. package/dist/es/standards-sdk.es94.js.map +1 -1
  179. package/dist/es/standards-sdk.es95.js +12 -171
  180. package/dist/es/standards-sdk.es95.js.map +1 -1
  181. package/dist/es/standards-sdk.es96.js +13 -13
  182. package/dist/es/standards-sdk.es96.js.map +1 -1
  183. package/dist/es/standards-sdk.es97.js +32 -13
  184. package/dist/es/standards-sdk.es97.js.map +1 -1
  185. package/dist/es/standards-sdk.es98.js +13 -30
  186. package/dist/es/standards-sdk.es98.js.map +1 -1
  187. package/dist/es/standards-sdk.es99.js +3 -14
  188. package/dist/es/standards-sdk.es99.js.map +1 -1
  189. package/dist/umd/hcs-10/base-client.d.ts +20 -5
  190. package/dist/umd/hcs-10/base-client.d.ts.map +1 -1
  191. package/dist/umd/hcs-10/sdk.d.ts +12 -2
  192. package/dist/umd/hcs-10/sdk.d.ts.map +1 -1
  193. package/dist/umd/standards-sdk.umd.js +1 -1
  194. package/dist/umd/standards-sdk.umd.js.map +1 -1
  195. package/package.json +1 -1
@@ -1,47 +1,9 @@
1
- var __defProp = Object.defineProperty;
2
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3
- var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
4
- import { Typed } from "./standards-sdk.es62.js";
5
- import { Coder, WordSize } from "./standards-sdk.es49.js";
6
- import { defineProperties } from "./standards-sdk.es60.js";
7
- import { getBigInt, mask, toTwos, fromTwos } from "./standards-sdk.es61.js";
8
- const BN_0 = BigInt(0);
9
- const BN_1 = BigInt(1);
10
- const BN_MAX_UINT256 = BigInt("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");
11
- class NumberCoder extends Coder {
12
- constructor(size, signed, localName) {
13
- const name = (signed ? "int" : "uint") + size * 8;
14
- super(name, name, localName, false);
15
- __publicField(this, "size");
16
- __publicField(this, "signed");
17
- defineProperties(this, { size, signed }, { size: "number", signed: "boolean" });
18
- }
19
- defaultValue() {
20
- return 0;
21
- }
22
- encode(writer, _value) {
23
- let value = getBigInt(Typed.dereference(_value, this.type));
24
- let maxUintValue = mask(BN_MAX_UINT256, WordSize * 8);
25
- if (this.signed) {
26
- let bounds = mask(maxUintValue, this.size * 8 - 1);
27
- if (value > bounds || value < -(bounds + BN_1)) {
28
- this._throwError("value out-of-bounds", _value);
29
- }
30
- value = toTwos(value, 8 * WordSize);
31
- } else if (value < BN_0 || value > mask(maxUintValue, this.size * 8)) {
32
- this._throwError("value out-of-bounds", _value);
33
- }
34
- return writer.writeValue(value);
35
- }
36
- decode(reader) {
37
- let value = mask(reader.readValue(), this.size * 8);
38
- if (this.signed) {
39
- value = fromTwos(value, this.size * 8);
40
- }
41
- return value;
42
- }
1
+ import { keccak256 } from "./standards-sdk.es53.js";
2
+ import { toUtf8Bytes } from "./standards-sdk.es57.js";
3
+ function id(value) {
4
+ return keccak256(toUtf8Bytes(value));
43
5
  }
44
6
  export {
45
- NumberCoder
7
+ id
46
8
  };
47
9
  //# sourceMappingURL=standards-sdk.es56.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"standards-sdk.es56.js","sources":["../../node_modules/ethers/lib.esm/abi/coders/number.js"],"sourcesContent":["import { defineProperties, fromTwos, getBigInt, mask, toTwos } from \"../../utils/index.js\";\nimport { Typed } from \"../typed.js\";\nimport { Coder, WordSize } from \"./abstract-coder.js\";\nconst BN_0 = BigInt(0);\nconst BN_1 = BigInt(1);\nconst BN_MAX_UINT256 = BigInt(\"0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\");\n/**\n * @_ignore\n */\nexport class NumberCoder extends Coder {\n size;\n signed;\n constructor(size, signed, localName) {\n const name = ((signed ? \"int\" : \"uint\") + (size * 8));\n super(name, name, localName, false);\n defineProperties(this, { size, signed }, { size: \"number\", signed: \"boolean\" });\n }\n defaultValue() {\n return 0;\n }\n encode(writer, _value) {\n let value = getBigInt(Typed.dereference(_value, this.type));\n // Check bounds are safe for encoding\n let maxUintValue = mask(BN_MAX_UINT256, WordSize * 8);\n if (this.signed) {\n let bounds = mask(maxUintValue, (this.size * 8) - 1);\n if (value > bounds || value < -(bounds + BN_1)) {\n this._throwError(\"value out-of-bounds\", _value);\n }\n value = toTwos(value, 8 * WordSize);\n }\n else if (value < BN_0 || value > mask(maxUintValue, this.size * 8)) {\n this._throwError(\"value out-of-bounds\", _value);\n }\n return writer.writeValue(value);\n }\n decode(reader) {\n let value = mask(reader.readValue(), this.size * 8);\n if (this.signed) {\n value = fromTwos(value, this.size * 8);\n }\n return value;\n }\n}\n//# sourceMappingURL=number.js.map"],"names":[],"mappings":";;;;;;;AAGA,MAAM,OAAO,OAAO,CAAC;AACrB,MAAM,OAAO,OAAO,CAAC;AACrB,MAAM,iBAAiB,OAAO,oEAAoE;AAI3F,MAAM,oBAAoB,MAAM;AAAA,EAGnC,YAAY,MAAM,QAAQ,WAAW;AACjC,UAAM,QAAS,SAAS,QAAQ,UAAW,OAAO;AAClD,UAAM,MAAM,MAAM,WAAW,KAAK;AAJtC;AACA;AAII,qBAAiB,MAAM,EAAE,MAAM,OAAM,GAAI,EAAE,MAAM,UAAU,QAAQ,WAAW;AAAA,EACtF;AAAA,EACI,eAAe;AACX,WAAO;AAAA,EACf;AAAA,EACI,OAAO,QAAQ,QAAQ;AACnB,QAAI,QAAQ,UAAU,MAAM,YAAY,QAAQ,KAAK,IAAI,CAAC;AAE1D,QAAI,eAAe,KAAK,gBAAgB,WAAW,CAAC;AACpD,QAAI,KAAK,QAAQ;AACb,UAAI,SAAS,KAAK,cAAe,KAAK,OAAO,IAAK,CAAC;AACnD,UAAI,QAAQ,UAAU,QAAQ,EAAE,SAAS,OAAO;AAC5C,aAAK,YAAY,uBAAuB,MAAM;AAAA,MAC9D;AACY,cAAQ,OAAO,OAAO,IAAI,QAAQ;AAAA,IAC9C,WACiB,QAAQ,QAAQ,QAAQ,KAAK,cAAc,KAAK,OAAO,CAAC,GAAG;AAChE,WAAK,YAAY,uBAAuB,MAAM;AAAA,IAC1D;AACQ,WAAO,OAAO,WAAW,KAAK;AAAA,EACtC;AAAA,EACI,OAAO,QAAQ;AACX,QAAI,QAAQ,KAAK,OAAO,UAAS,GAAI,KAAK,OAAO,CAAC;AAClD,QAAI,KAAK,QAAQ;AACb,cAAQ,SAAS,OAAO,KAAK,OAAO,CAAC;AAAA,IACjD;AACQ,WAAO;AAAA,EACf;AACA;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"standards-sdk.es56.js","sources":["../../node_modules/ethers/lib.esm/hash/id.js"],"sourcesContent":["import { keccak256 } from \"../crypto/index.js\";\nimport { toUtf8Bytes } from \"../utils/index.js\";\n/**\n * A simple hashing function which operates on UTF-8 strings to\n * compute an 32-byte identifier.\n *\n * This simply computes the [UTF-8 bytes](toUtf8Bytes) and computes\n * the [[keccak256]].\n *\n * @example:\n * id(\"hello world\")\n * //_result:\n */\nexport function id(value) {\n return keccak256(toUtf8Bytes(value));\n}\n//# sourceMappingURL=id.js.map"],"names":[],"mappings":";;AAaO,SAAS,GAAG,OAAO;AACtB,SAAO,UAAU,YAAY,KAAK,CAAC;AACvC;","x_google_ignoreList":[0]}
@@ -1,21 +1,146 @@
1
- import { toUtf8Bytes, toUtf8String } from "./standards-sdk.es47.js";
2
- import { Typed } from "./standards-sdk.es62.js";
3
- import { DynamicBytesCoder } from "./standards-sdk.es53.js";
4
- class StringCoder extends DynamicBytesCoder {
5
- constructor(localName) {
6
- super("string", localName);
1
+ import { getBytes } from "./standards-sdk.es55.js";
2
+ import { assertArgument } from "./standards-sdk.es70.js";
3
+ function errorFunc(reason, offset, bytes, output, badCodepoint) {
4
+ assertArgument(false, `invalid codepoint at offset ${offset}; ${reason}`, "bytes", bytes);
5
+ }
6
+ function ignoreFunc(reason, offset, bytes, output, badCodepoint) {
7
+ if (reason === "BAD_PREFIX" || reason === "UNEXPECTED_CONTINUE") {
8
+ let i = 0;
9
+ for (let o = offset + 1; o < bytes.length; o++) {
10
+ if (bytes[o] >> 6 !== 2) {
11
+ break;
12
+ }
13
+ i++;
14
+ }
15
+ return i;
16
+ }
17
+ if (reason === "OVERRUN") {
18
+ return bytes.length - offset - 1;
19
+ }
20
+ return 0;
21
+ }
22
+ function replaceFunc(reason, offset, bytes, output, badCodepoint) {
23
+ if (reason === "OVERLONG") {
24
+ assertArgument(typeof badCodepoint === "number", "invalid bad code point for replacement", "badCodepoint", badCodepoint);
25
+ output.push(badCodepoint);
26
+ return 0;
7
27
  }
8
- defaultValue() {
9
- return "";
28
+ output.push(65533);
29
+ return ignoreFunc(reason, offset, bytes);
30
+ }
31
+ const Utf8ErrorFuncs = Object.freeze({
32
+ error: errorFunc,
33
+ ignore: ignoreFunc,
34
+ replace: replaceFunc
35
+ });
36
+ function getUtf8CodePoints(_bytes, onError) {
37
+ if (onError == null) {
38
+ onError = Utf8ErrorFuncs.error;
10
39
  }
11
- encode(writer, _value) {
12
- return super.encode(writer, toUtf8Bytes(Typed.dereference(_value, "string")));
40
+ const bytes = getBytes(_bytes, "bytes");
41
+ const result = [];
42
+ let i = 0;
43
+ while (i < bytes.length) {
44
+ const c = bytes[i++];
45
+ if (c >> 7 === 0) {
46
+ result.push(c);
47
+ continue;
48
+ }
49
+ let extraLength = null;
50
+ let overlongMask = null;
51
+ if ((c & 224) === 192) {
52
+ extraLength = 1;
53
+ overlongMask = 127;
54
+ } else if ((c & 240) === 224) {
55
+ extraLength = 2;
56
+ overlongMask = 2047;
57
+ } else if ((c & 248) === 240) {
58
+ extraLength = 3;
59
+ overlongMask = 65535;
60
+ } else {
61
+ if ((c & 192) === 128) {
62
+ i += onError("UNEXPECTED_CONTINUE", i - 1, bytes, result);
63
+ } else {
64
+ i += onError("BAD_PREFIX", i - 1, bytes, result);
65
+ }
66
+ continue;
67
+ }
68
+ if (i - 1 + extraLength >= bytes.length) {
69
+ i += onError("OVERRUN", i - 1, bytes, result);
70
+ continue;
71
+ }
72
+ let res = c & (1 << 8 - extraLength - 1) - 1;
73
+ for (let j = 0; j < extraLength; j++) {
74
+ let nextChar = bytes[i];
75
+ if ((nextChar & 192) != 128) {
76
+ i += onError("MISSING_CONTINUE", i, bytes, result);
77
+ res = null;
78
+ break;
79
+ }
80
+ res = res << 6 | nextChar & 63;
81
+ i++;
82
+ }
83
+ if (res === null) {
84
+ continue;
85
+ }
86
+ if (res > 1114111) {
87
+ i += onError("OUT_OF_RANGE", i - 1 - extraLength, bytes, result, res);
88
+ continue;
89
+ }
90
+ if (res >= 55296 && res <= 57343) {
91
+ i += onError("UTF16_SURROGATE", i - 1 - extraLength, bytes, result, res);
92
+ continue;
93
+ }
94
+ if (res <= overlongMask) {
95
+ i += onError("OVERLONG", i - 1 - extraLength, bytes, result, res);
96
+ continue;
97
+ }
98
+ result.push(res);
13
99
  }
14
- decode(reader) {
15
- return toUtf8String(super.decode(reader));
100
+ return result;
101
+ }
102
+ function toUtf8Bytes(str, form) {
103
+ assertArgument(typeof str === "string", "invalid string value", "str", str);
104
+ let result = [];
105
+ for (let i = 0; i < str.length; i++) {
106
+ const c = str.charCodeAt(i);
107
+ if (c < 128) {
108
+ result.push(c);
109
+ } else if (c < 2048) {
110
+ result.push(c >> 6 | 192);
111
+ result.push(c & 63 | 128);
112
+ } else if ((c & 64512) == 55296) {
113
+ i++;
114
+ const c2 = str.charCodeAt(i);
115
+ assertArgument(i < str.length && (c2 & 64512) === 56320, "invalid surrogate pair", "str", str);
116
+ const pair = 65536 + ((c & 1023) << 10) + (c2 & 1023);
117
+ result.push(pair >> 18 | 240);
118
+ result.push(pair >> 12 & 63 | 128);
119
+ result.push(pair >> 6 & 63 | 128);
120
+ result.push(pair & 63 | 128);
121
+ } else {
122
+ result.push(c >> 12 | 224);
123
+ result.push(c >> 6 & 63 | 128);
124
+ result.push(c & 63 | 128);
125
+ }
16
126
  }
127
+ return new Uint8Array(result);
128
+ }
129
+ function _toUtf8String(codePoints) {
130
+ return codePoints.map((codePoint) => {
131
+ if (codePoint <= 65535) {
132
+ return String.fromCharCode(codePoint);
133
+ }
134
+ codePoint -= 65536;
135
+ return String.fromCharCode((codePoint >> 10 & 1023) + 55296, (codePoint & 1023) + 56320);
136
+ }).join("");
137
+ }
138
+ function toUtf8String(bytes, onError) {
139
+ return _toUtf8String(getUtf8CodePoints(bytes, onError));
17
140
  }
18
141
  export {
19
- StringCoder
142
+ Utf8ErrorFuncs,
143
+ toUtf8Bytes,
144
+ toUtf8String
20
145
  };
21
146
  //# sourceMappingURL=standards-sdk.es57.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"standards-sdk.es57.js","sources":["../../node_modules/ethers/lib.esm/abi/coders/string.js"],"sourcesContent":["import { toUtf8Bytes, toUtf8String } from \"../../utils/utf8.js\";\nimport { Typed } from \"../typed.js\";\nimport { DynamicBytesCoder } from \"./bytes.js\";\n/**\n * @_ignore\n */\nexport class StringCoder extends DynamicBytesCoder {\n constructor(localName) {\n super(\"string\", localName);\n }\n defaultValue() {\n return \"\";\n }\n encode(writer, _value) {\n return super.encode(writer, toUtf8Bytes(Typed.dereference(_value, \"string\")));\n }\n decode(reader) {\n return toUtf8String(super.decode(reader));\n }\n}\n//# sourceMappingURL=string.js.map"],"names":[],"mappings":";;;AAMO,MAAM,oBAAoB,kBAAkB;AAAA,EAC/C,YAAY,WAAW;AACnB,UAAM,UAAU,SAAS;AAAA,EACjC;AAAA,EACI,eAAe;AACX,WAAO;AAAA,EACf;AAAA,EACI,OAAO,QAAQ,QAAQ;AACnB,WAAO,MAAM,OAAO,QAAQ,YAAY,MAAM,YAAY,QAAQ,QAAQ,CAAC,CAAC;AAAA,EACpF;AAAA,EACI,OAAO,QAAQ;AACX,WAAO,aAAa,MAAM,OAAO,MAAM,CAAC;AAAA,EAChD;AACA;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"standards-sdk.es57.js","sources":["../../node_modules/ethers/lib.esm/utils/utf8.js"],"sourcesContent":["/**\n * Using strings in Ethereum (or any security-basd system) requires\n * additional care. These utilities attempt to mitigate some of the\n * safety issues as well as provide the ability to recover and analyse\n * strings.\n *\n * @_subsection api/utils:Strings and UTF-8 [about-strings]\n */\nimport { getBytes } from \"./data.js\";\nimport { assertArgument, assertNormalize } from \"./errors.js\";\nfunction errorFunc(reason, offset, bytes, output, badCodepoint) {\n assertArgument(false, `invalid codepoint at offset ${offset}; ${reason}`, \"bytes\", bytes);\n}\nfunction ignoreFunc(reason, offset, bytes, output, badCodepoint) {\n // If there is an invalid prefix (including stray continuation), skip any additional continuation bytes\n if (reason === \"BAD_PREFIX\" || reason === \"UNEXPECTED_CONTINUE\") {\n let i = 0;\n for (let o = offset + 1; o < bytes.length; o++) {\n if (bytes[o] >> 6 !== 0x02) {\n break;\n }\n i++;\n }\n return i;\n }\n // This byte runs us past the end of the string, so just jump to the end\n // (but the first byte was read already read and therefore skipped)\n if (reason === \"OVERRUN\") {\n return bytes.length - offset - 1;\n }\n // Nothing to skip\n return 0;\n}\nfunction replaceFunc(reason, offset, bytes, output, badCodepoint) {\n // Overlong representations are otherwise \"valid\" code points; just non-deistingtished\n if (reason === \"OVERLONG\") {\n assertArgument(typeof (badCodepoint) === \"number\", \"invalid bad code point for replacement\", \"badCodepoint\", badCodepoint);\n output.push(badCodepoint);\n return 0;\n }\n // Put the replacement character into the output\n output.push(0xfffd);\n // Otherwise, process as if ignoring errors\n return ignoreFunc(reason, offset, bytes, output, badCodepoint);\n}\n/**\n * A handful of popular, built-in UTF-8 error handling strategies.\n *\n * **``\"error\"``** - throws on ANY illegal UTF-8 sequence or\n * non-canonical (overlong) codepoints (this is the default)\n *\n * **``\"ignore\"``** - silently drops any illegal UTF-8 sequence\n * and accepts non-canonical (overlong) codepoints\n *\n * **``\"replace\"``** - replace any illegal UTF-8 sequence with the\n * UTF-8 replacement character (i.e. ``\"\\\\ufffd\"``) and accepts\n * non-canonical (overlong) codepoints\n *\n * @returns: Record<\"error\" | \"ignore\" | \"replace\", Utf8ErrorFunc>\n */\nexport const Utf8ErrorFuncs = Object.freeze({\n error: errorFunc,\n ignore: ignoreFunc,\n replace: replaceFunc\n});\n// http://stackoverflow.com/questions/13356493/decode-utf-8-with-javascript#13691499\nfunction getUtf8CodePoints(_bytes, onError) {\n if (onError == null) {\n onError = Utf8ErrorFuncs.error;\n }\n const bytes = getBytes(_bytes, \"bytes\");\n const result = [];\n let i = 0;\n // Invalid bytes are ignored\n while (i < bytes.length) {\n const c = bytes[i++];\n // 0xxx xxxx\n if (c >> 7 === 0) {\n result.push(c);\n continue;\n }\n // Multibyte; how many bytes left for this character?\n let extraLength = null;\n let overlongMask = null;\n // 110x xxxx 10xx xxxx\n if ((c & 0xe0) === 0xc0) {\n extraLength = 1;\n overlongMask = 0x7f;\n // 1110 xxxx 10xx xxxx 10xx xxxx\n }\n else if ((c & 0xf0) === 0xe0) {\n extraLength = 2;\n overlongMask = 0x7ff;\n // 1111 0xxx 10xx xxxx 10xx xxxx 10xx xxxx\n }\n else if ((c & 0xf8) === 0xf0) {\n extraLength = 3;\n overlongMask = 0xffff;\n }\n else {\n if ((c & 0xc0) === 0x80) {\n i += onError(\"UNEXPECTED_CONTINUE\", i - 1, bytes, result);\n }\n else {\n i += onError(\"BAD_PREFIX\", i - 1, bytes, result);\n }\n continue;\n }\n // Do we have enough bytes in our data?\n if (i - 1 + extraLength >= bytes.length) {\n i += onError(\"OVERRUN\", i - 1, bytes, result);\n continue;\n }\n // Remove the length prefix from the char\n let res = c & ((1 << (8 - extraLength - 1)) - 1);\n for (let j = 0; j < extraLength; j++) {\n let nextChar = bytes[i];\n // Invalid continuation byte\n if ((nextChar & 0xc0) != 0x80) {\n i += onError(\"MISSING_CONTINUE\", i, bytes, result);\n res = null;\n break;\n }\n ;\n res = (res << 6) | (nextChar & 0x3f);\n i++;\n }\n // See above loop for invalid continuation byte\n if (res === null) {\n continue;\n }\n // Maximum code point\n if (res > 0x10ffff) {\n i += onError(\"OUT_OF_RANGE\", i - 1 - extraLength, bytes, result, res);\n continue;\n }\n // Reserved for UTF-16 surrogate halves\n if (res >= 0xd800 && res <= 0xdfff) {\n i += onError(\"UTF16_SURROGATE\", i - 1 - extraLength, bytes, result, res);\n continue;\n }\n // Check for overlong sequences (more bytes than needed)\n if (res <= overlongMask) {\n i += onError(\"OVERLONG\", i - 1 - extraLength, bytes, result, res);\n continue;\n }\n result.push(res);\n }\n return result;\n}\n// http://stackoverflow.com/questions/18729405/how-to-convert-utf8-string-to-byte-array\n/**\n * Returns the UTF-8 byte representation of %%str%%.\n *\n * If %%form%% is specified, the string is normalized.\n */\nexport function toUtf8Bytes(str, form) {\n assertArgument(typeof (str) === \"string\", \"invalid string value\", \"str\", str);\n if (form != null) {\n assertNormalize(form);\n str = str.normalize(form);\n }\n let result = [];\n for (let i = 0; i < str.length; i++) {\n const c = str.charCodeAt(i);\n if (c < 0x80) {\n result.push(c);\n }\n else if (c < 0x800) {\n result.push((c >> 6) | 0xc0);\n result.push((c & 0x3f) | 0x80);\n }\n else if ((c & 0xfc00) == 0xd800) {\n i++;\n const c2 = str.charCodeAt(i);\n assertArgument(i < str.length && ((c2 & 0xfc00) === 0xdc00), \"invalid surrogate pair\", \"str\", str);\n // Surrogate Pair\n const pair = 0x10000 + ((c & 0x03ff) << 10) + (c2 & 0x03ff);\n result.push((pair >> 18) | 0xf0);\n result.push(((pair >> 12) & 0x3f) | 0x80);\n result.push(((pair >> 6) & 0x3f) | 0x80);\n result.push((pair & 0x3f) | 0x80);\n }\n else {\n result.push((c >> 12) | 0xe0);\n result.push(((c >> 6) & 0x3f) | 0x80);\n result.push((c & 0x3f) | 0x80);\n }\n }\n return new Uint8Array(result);\n}\n;\n//export \nfunction _toUtf8String(codePoints) {\n return codePoints.map((codePoint) => {\n if (codePoint <= 0xffff) {\n return String.fromCharCode(codePoint);\n }\n codePoint -= 0x10000;\n return String.fromCharCode((((codePoint >> 10) & 0x3ff) + 0xd800), ((codePoint & 0x3ff) + 0xdc00));\n }).join(\"\");\n}\n/**\n * Returns the string represented by the UTF-8 data %%bytes%%.\n *\n * When %%onError%% function is specified, it is called on UTF-8\n * errors allowing recovery using the [[Utf8ErrorFunc]] API.\n * (default: [error](Utf8ErrorFuncs))\n */\nexport function toUtf8String(bytes, onError) {\n return _toUtf8String(getUtf8CodePoints(bytes, onError));\n}\n/**\n * Returns the UTF-8 code-points for %%str%%.\n *\n * If %%form%% is specified, the string is normalized.\n */\nexport function toUtf8CodePoints(str, form) {\n return getUtf8CodePoints(toUtf8Bytes(str, form));\n}\n//# sourceMappingURL=utf8.js.map"],"names":[],"mappings":"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","x_google_ignoreList":[0]}
@@ -1,64 +1,198 @@
1
- var __defProp = Object.defineProperty;
2
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3
- var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
4
- import { defineProperties } from "./standards-sdk.es60.js";
5
- import { Typed } from "./standards-sdk.es62.js";
6
- import { Coder } from "./standards-sdk.es49.js";
7
- import { pack, unpack } from "./standards-sdk.es51.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);
17
- });
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
- }
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;
33
- }
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;
42
- }
43
- if (name === "length") {
44
- name = "_length";
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.es59.js";
9
+ import { AddressCoder } from "./standards-sdk.es60.js";
10
+ import { ArrayCoder } from "./standards-sdk.es61.js";
11
+ import { BooleanCoder } from "./standards-sdk.es62.js";
12
+ import { BytesCoder } from "./standards-sdk.es63.js";
13
+ import { FixedBytesCoder } from "./standards-sdk.es64.js";
14
+ import { NullCoder } from "./standards-sdk.es65.js";
15
+ import { NumberCoder } from "./standards-sdk.es66.js";
16
+ import { StringCoder } from "./standards-sdk.es67.js";
17
+ import { TupleCoder } from "./standards-sdk.es68.js";
18
+ import { ParamType } from "./standards-sdk.es69.js";
19
+ import { assertArgument, assertArgumentCount, makeError } from "./standards-sdk.es70.js";
20
+ import { getBytes, hexlify } from "./standards-sdk.es55.js";
21
+ import { getAddress } from "./standards-sdk.es71.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)";
45
62
  }
46
- if (values[name] != null) {
47
- return;
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)";
48
75
  }
49
- values[name] = values[index];
50
- });
51
- return Object.freeze(values);
76
+ } else {
77
+ message += " (unknown custom error)";
78
+ }
52
79
  }
53
- encode(writer, _value) {
54
- const value = Typed.dereference(_value, "tuple");
55
- return pack(writer, this.coders, value);
56
- }
57
- decode(reader) {
58
- return unpack(reader, this.coders);
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);
59
86
  }
87
+ return makeError(message, "CALL_EXCEPTION", {
88
+ action,
89
+ data,
90
+ reason,
91
+ transaction,
92
+ invocation,
93
+ revert
94
+ });
60
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;
61
195
  export {
62
- TupleCoder
196
+ AbiCoder
63
197
  };
64
198
  //# sourceMappingURL=standards-sdk.es58.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"standards-sdk.es58.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.es58.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]}