@hashgraphonline/standards-sdk 0.0.104 → 0.0.105

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 (213) hide show
  1. package/dist/es/standards-sdk.es100.js +2 -5
  2. package/dist/es/standards-sdk.es100.js.map +1 -1
  3. package/dist/es/standards-sdk.es101.js +134 -37
  4. package/dist/es/standards-sdk.es101.js.map +1 -1
  5. package/dist/es/standards-sdk.es102.js +167 -35
  6. package/dist/es/standards-sdk.es102.js.map +1 -1
  7. package/dist/es/standards-sdk.es103.js +12 -36
  8. package/dist/es/standards-sdk.es103.js.map +1 -1
  9. package/dist/es/standards-sdk.es104.js +13 -78
  10. package/dist/es/standards-sdk.es104.js.map +1 -1
  11. package/dist/es/standards-sdk.es105.js +31 -20
  12. package/dist/es/standards-sdk.es105.js.map +1 -1
  13. package/dist/es/standards-sdk.es106.js +14 -26
  14. package/dist/es/standards-sdk.es106.js.map +1 -1
  15. package/dist/es/standards-sdk.es107.js +3 -25
  16. package/dist/es/standards-sdk.es107.js.map +1 -1
  17. package/dist/es/standards-sdk.es108.js +3 -37
  18. package/dist/es/standards-sdk.es108.js.map +1 -1
  19. package/dist/es/standards-sdk.es109.js +15 -33
  20. package/dist/es/standards-sdk.es109.js.map +1 -1
  21. package/dist/es/standards-sdk.es110.js +4 -32
  22. package/dist/es/standards-sdk.es110.js.map +1 -1
  23. package/dist/es/standards-sdk.es111.js +39 -9
  24. package/dist/es/standards-sdk.es111.js.map +1 -1
  25. package/dist/es/standards-sdk.es112.js +36 -30
  26. package/dist/es/standards-sdk.es112.js.map +1 -1
  27. package/dist/es/standards-sdk.es113.js +37 -3
  28. package/dist/es/standards-sdk.es113.js.map +1 -1
  29. package/dist/es/standards-sdk.es114.js +78 -2
  30. package/dist/es/standards-sdk.es114.js.map +1 -1
  31. package/dist/es/standards-sdk.es115.js +3 -2
  32. package/dist/es/standards-sdk.es115.js.map +1 -1
  33. package/dist/es/standards-sdk.es116.js +2 -7136
  34. package/dist/es/standards-sdk.es116.js.map +1 -1
  35. package/dist/es/standards-sdk.es117.js +2 -101
  36. package/dist/es/standards-sdk.es117.js.map +1 -1
  37. package/dist/es/standards-sdk.es118.js +34 -2
  38. package/dist/es/standards-sdk.es118.js.map +1 -1
  39. package/dist/es/standards-sdk.es119.js +32 -15
  40. package/dist/es/standards-sdk.es119.js.map +1 -1
  41. package/dist/es/standards-sdk.es120.js +9 -409
  42. package/dist/es/standards-sdk.es120.js.map +1 -1
  43. package/dist/es/standards-sdk.es121.js +34 -2282
  44. package/dist/es/standards-sdk.es121.js.map +1 -1
  45. package/dist/es/standards-sdk.es13.js +3 -3
  46. package/dist/es/standards-sdk.es15.js +1 -1
  47. package/dist/es/standards-sdk.es18.js +2 -2
  48. package/dist/es/standards-sdk.es19.js +110 -12
  49. package/dist/es/standards-sdk.es19.js.map +1 -1
  50. package/dist/es/standards-sdk.es20.js +2 -2
  51. package/dist/es/standards-sdk.es21.js +3 -3
  52. package/dist/es/standards-sdk.es24.js +10 -10
  53. package/dist/es/standards-sdk.es25.js +1769 -5
  54. package/dist/es/standards-sdk.es25.js.map +1 -1
  55. package/dist/es/standards-sdk.es26.js +3 -36
  56. package/dist/es/standards-sdk.es26.js.map +1 -1
  57. package/dist/es/standards-sdk.es27.js +4168 -48
  58. package/dist/es/standards-sdk.es27.js.map +1 -1
  59. package/dist/es/standards-sdk.es28.js +5543 -122
  60. package/dist/es/standards-sdk.es28.js.map +1 -1
  61. package/dist/es/standards-sdk.es29.js +36 -10
  62. package/dist/es/standards-sdk.es29.js.map +1 -1
  63. package/dist/es/standards-sdk.es30.js +21 -7163
  64. package/dist/es/standards-sdk.es30.js.map +1 -1
  65. package/dist/es/standards-sdk.es31.js +5 -3
  66. package/dist/es/standards-sdk.es31.js.map +1 -1
  67. package/dist/es/standards-sdk.es32.js +9 -8
  68. package/dist/es/standards-sdk.es32.js.map +1 -1
  69. package/dist/es/standards-sdk.es33.js +9 -2
  70. package/dist/es/standards-sdk.es33.js.map +1 -1
  71. package/dist/es/standards-sdk.es34.js +2 -4168
  72. package/dist/es/standards-sdk.es34.js.map +1 -1
  73. package/dist/es/standards-sdk.es35.js +2 -419
  74. package/dist/es/standards-sdk.es35.js.map +1 -1
  75. package/dist/es/standards-sdk.es36.js +84 -2
  76. package/dist/es/standards-sdk.es36.js.map +1 -1
  77. package/dist/es/standards-sdk.es37.js +22 -119
  78. package/dist/es/standards-sdk.es37.js.map +1 -1
  79. package/dist/es/standards-sdk.es38.js +147 -3
  80. package/dist/es/standards-sdk.es38.js.map +1 -1
  81. package/dist/es/standards-sdk.es39.js +77 -350
  82. package/dist/es/standards-sdk.es39.js.map +1 -1
  83. package/dist/es/standards-sdk.es40.js +193 -4
  84. package/dist/es/standards-sdk.es40.js.map +1 -1
  85. package/dist/es/standards-sdk.es41.js +417 -158
  86. package/dist/es/standards-sdk.es41.js.map +1 -1
  87. package/dist/es/standards-sdk.es42.js +19 -75
  88. package/dist/es/standards-sdk.es42.js.map +1 -1
  89. package/dist/es/standards-sdk.es43.js +128 -103
  90. package/dist/es/standards-sdk.es43.js.map +1 -1
  91. package/dist/es/standards-sdk.es44.js +14 -48
  92. package/dist/es/standards-sdk.es44.js.map +1 -1
  93. package/dist/es/standards-sdk.es45.js +28 -9
  94. package/dist/es/standards-sdk.es45.js.map +1 -1
  95. package/dist/es/standards-sdk.es46.js +23 -91
  96. package/dist/es/standards-sdk.es46.js.map +1 -1
  97. package/dist/es/standards-sdk.es47.js +20 -3
  98. package/dist/es/standards-sdk.es47.js.map +1 -1
  99. package/dist/es/standards-sdk.es48.js +44 -2
  100. package/dist/es/standards-sdk.es48.js.map +1 -1
  101. package/dist/es/standards-sdk.es49.js +13 -108
  102. package/dist/es/standards-sdk.es49.js.map +1 -1
  103. package/dist/es/standards-sdk.es5.js +1 -1
  104. package/dist/es/standards-sdk.es50.js +58 -71
  105. package/dist/es/standards-sdk.es50.js.map +1 -1
  106. package/dist/es/standards-sdk.es51.js +1287 -4
  107. package/dist/es/standards-sdk.es51.js.map +1 -1
  108. package/dist/es/standards-sdk.es52.js +31 -4
  109. package/dist/es/standards-sdk.es52.js.map +1 -1
  110. package/dist/es/standards-sdk.es53.js +5 -220
  111. package/dist/es/standards-sdk.es53.js.map +1 -1
  112. package/dist/es/standards-sdk.es54.js +154 -53
  113. package/dist/es/standards-sdk.es54.js.map +1 -1
  114. package/dist/es/standards-sdk.es55.js +792 -68
  115. package/dist/es/standards-sdk.es55.js.map +1 -1
  116. package/dist/es/standards-sdk.es56.js +174 -2
  117. package/dist/es/standards-sdk.es56.js.map +1 -1
  118. package/dist/es/standards-sdk.es57.js +130 -71
  119. package/dist/es/standards-sdk.es57.js.map +1 -1
  120. package/dist/es/standards-sdk.es58.js +7135 -22
  121. package/dist/es/standards-sdk.es58.js.map +1 -1
  122. package/dist/es/standards-sdk.es59.js +92 -139
  123. package/dist/es/standards-sdk.es59.js.map +1 -1
  124. package/dist/es/standards-sdk.es60.js +2 -91
  125. package/dist/es/standards-sdk.es60.js.map +1 -1
  126. package/dist/es/standards-sdk.es61.js +16 -3
  127. package/dist/es/standards-sdk.es61.js.map +1 -1
  128. package/dist/es/standards-sdk.es62.js +400 -155
  129. package/dist/es/standards-sdk.es62.js.map +1 -1
  130. package/dist/es/standards-sdk.es63.js +16 -27
  131. package/dist/es/standards-sdk.es63.js.map +1 -1
  132. package/dist/es/standards-sdk.es64.js +414 -58
  133. package/dist/es/standards-sdk.es64.js.map +1 -1
  134. package/dist/es/standards-sdk.es65.js +2 -50
  135. package/dist/es/standards-sdk.es65.js.map +1 -1
  136. package/dist/es/standards-sdk.es66.js +118 -8
  137. package/dist/es/standards-sdk.es66.js.map +1 -1
  138. package/dist/es/standards-sdk.es67.js +25 -63
  139. package/dist/es/standards-sdk.es67.js.map +1 -1
  140. package/dist/es/standards-sdk.es68.js +26 -6
  141. package/dist/es/standards-sdk.es68.js.map +1 -1
  142. package/dist/es/standards-sdk.es69.js +37 -14
  143. package/dist/es/standards-sdk.es69.js.map +1 -1
  144. package/dist/es/standards-sdk.es7.js +4 -4
  145. package/dist/es/standards-sdk.es70.js +3 -7
  146. package/dist/es/standards-sdk.es70.js.map +1 -1
  147. package/dist/es/standards-sdk.es71.js +2281 -44
  148. package/dist/es/standards-sdk.es71.js.map +1 -1
  149. package/dist/es/standards-sdk.es72.js +164 -2
  150. package/dist/es/standards-sdk.es72.js.map +1 -1
  151. package/dist/es/standards-sdk.es73.js +350 -122
  152. package/dist/es/standards-sdk.es73.js.map +1 -1
  153. package/dist/es/standards-sdk.es74.js +6 -172
  154. package/dist/es/standards-sdk.es74.js.map +1 -1
  155. package/dist/es/standards-sdk.es75.js +169 -185
  156. package/dist/es/standards-sdk.es75.js.map +1 -1
  157. package/dist/es/standards-sdk.es76.js +80 -437
  158. package/dist/es/standards-sdk.es76.js.map +1 -1
  159. package/dist/es/standards-sdk.es77.js +110 -21
  160. package/dist/es/standards-sdk.es77.js.map +1 -1
  161. package/dist/es/standards-sdk.es78.js +43 -130
  162. package/dist/es/standards-sdk.es78.js.map +1 -1
  163. package/dist/es/standards-sdk.es79.js +9 -17
  164. package/dist/es/standards-sdk.es79.js.map +1 -1
  165. package/dist/es/standards-sdk.es8.js +3 -3
  166. package/dist/es/standards-sdk.es80.js +90 -22
  167. package/dist/es/standards-sdk.es80.js.map +1 -1
  168. package/dist/es/standards-sdk.es81.js +3 -28
  169. package/dist/es/standards-sdk.es81.js.map +1 -1
  170. package/dist/es/standards-sdk.es82.js +2 -21
  171. package/dist/es/standards-sdk.es82.js.map +1 -1
  172. package/dist/es/standards-sdk.es83.js +105 -36
  173. package/dist/es/standards-sdk.es83.js.map +1 -1
  174. package/dist/es/standards-sdk.es84.js +71 -15
  175. package/dist/es/standards-sdk.es84.js.map +1 -1
  176. package/dist/es/standards-sdk.es85.js +5 -60
  177. package/dist/es/standards-sdk.es85.js.map +1 -1
  178. package/dist/es/standards-sdk.es86.js +4 -1288
  179. package/dist/es/standards-sdk.es86.js.map +1 -1
  180. package/dist/es/standards-sdk.es87.js +215 -26
  181. package/dist/es/standards-sdk.es87.js.map +1 -1
  182. package/dist/es/standards-sdk.es88.js +58 -6
  183. package/dist/es/standards-sdk.es88.js.map +1 -1
  184. package/dist/es/standards-sdk.es89.js +69 -159
  185. package/dist/es/standards-sdk.es89.js.map +1 -1
  186. package/dist/es/standards-sdk.es9.js +1 -1
  187. package/dist/es/standards-sdk.es90.js +3 -792
  188. package/dist/es/standards-sdk.es90.js.map +1 -1
  189. package/dist/es/standards-sdk.es91.js +25 -136
  190. package/dist/es/standards-sdk.es91.js.map +1 -1
  191. package/dist/es/standards-sdk.es92.js +55 -166
  192. package/dist/es/standards-sdk.es92.js.map +1 -1
  193. package/dist/es/standards-sdk.es93.js +50 -13
  194. package/dist/es/standards-sdk.es93.js.map +1 -1
  195. package/dist/es/standards-sdk.es94.js +10 -13
  196. package/dist/es/standards-sdk.es94.js.map +1 -1
  197. package/dist/es/standards-sdk.es95.js +62 -29
  198. package/dist/es/standards-sdk.es95.js.map +1 -1
  199. package/dist/es/standards-sdk.es96.js +6 -15
  200. package/dist/es/standards-sdk.es96.js.map +1 -1
  201. package/dist/es/standards-sdk.es97.js +14 -3
  202. package/dist/es/standards-sdk.es97.js.map +1 -1
  203. package/dist/es/standards-sdk.es98.js +7 -4
  204. package/dist/es/standards-sdk.es98.js.map +1 -1
  205. package/dist/es/standards-sdk.es99.js +45 -16
  206. package/dist/es/standards-sdk.es99.js.map +1 -1
  207. package/dist/es/utils/transaction-parser.d.ts +61 -0
  208. package/dist/es/utils/transaction-parser.d.ts.map +1 -1
  209. package/dist/umd/standards-sdk.umd.js +8 -8
  210. package/dist/umd/standards-sdk.umd.js.map +1 -1
  211. package/dist/umd/utils/transaction-parser.d.ts +61 -0
  212. package/dist/umd/utils/transaction-parser.d.ts.map +1 -1
  213. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"standards-sdk.es55.js","sources":["../../node_modules/axios/lib/helpers/HttpStatusCode.js"],"sourcesContent":["const HttpStatusCode = {\n Continue: 100,\n SwitchingProtocols: 101,\n Processing: 102,\n EarlyHints: 103,\n Ok: 200,\n Created: 201,\n Accepted: 202,\n NonAuthoritativeInformation: 203,\n NoContent: 204,\n ResetContent: 205,\n PartialContent: 206,\n MultiStatus: 207,\n AlreadyReported: 208,\n ImUsed: 226,\n MultipleChoices: 300,\n MovedPermanently: 301,\n Found: 302,\n SeeOther: 303,\n NotModified: 304,\n UseProxy: 305,\n Unused: 306,\n TemporaryRedirect: 307,\n PermanentRedirect: 308,\n BadRequest: 400,\n Unauthorized: 401,\n PaymentRequired: 402,\n Forbidden: 403,\n NotFound: 404,\n MethodNotAllowed: 405,\n NotAcceptable: 406,\n ProxyAuthenticationRequired: 407,\n RequestTimeout: 408,\n Conflict: 409,\n Gone: 410,\n LengthRequired: 411,\n PreconditionFailed: 412,\n PayloadTooLarge: 413,\n UriTooLong: 414,\n UnsupportedMediaType: 415,\n RangeNotSatisfiable: 416,\n ExpectationFailed: 417,\n ImATeapot: 418,\n MisdirectedRequest: 421,\n UnprocessableEntity: 422,\n Locked: 423,\n FailedDependency: 424,\n TooEarly: 425,\n UpgradeRequired: 426,\n PreconditionRequired: 428,\n TooManyRequests: 429,\n RequestHeaderFieldsTooLarge: 431,\n UnavailableForLegalReasons: 451,\n InternalServerError: 500,\n NotImplemented: 501,\n BadGateway: 502,\n ServiceUnavailable: 503,\n GatewayTimeout: 504,\n HttpVersionNotSupported: 505,\n VariantAlsoNegotiates: 506,\n InsufficientStorage: 507,\n LoopDetected: 508,\n NotExtended: 510,\n NetworkAuthenticationRequired: 511,\n};\n\nObject.entries(HttpStatusCode).forEach(([key, value]) => {\n HttpStatusCode[value] = key;\n});\n\nexport default HttpStatusCode;\n"],"names":[],"mappings":"AAAK,MAAC,iBAAiB;AAAA,EACrB,UAAU;AAAA,EACV,oBAAoB;AAAA,EACpB,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,IAAI;AAAA,EACJ,SAAS;AAAA,EACT,UAAU;AAAA,EACV,6BAA6B;AAAA,EAC7B,WAAW;AAAA,EACX,cAAc;AAAA,EACd,gBAAgB;AAAA,EAChB,aAAa;AAAA,EACb,iBAAiB;AAAA,EACjB,QAAQ;AAAA,EACR,iBAAiB;AAAA,EACjB,kBAAkB;AAAA,EAClB,OAAO;AAAA,EACP,UAAU;AAAA,EACV,aAAa;AAAA,EACb,UAAU;AAAA,EACV,QAAQ;AAAA,EACR,mBAAmB;AAAA,EACnB,mBAAmB;AAAA,EACnB,YAAY;AAAA,EACZ,cAAc;AAAA,EACd,iBAAiB;AAAA,EACjB,WAAW;AAAA,EACX,UAAU;AAAA,EACV,kBAAkB;AAAA,EAClB,eAAe;AAAA,EACf,6BAA6B;AAAA,EAC7B,gBAAgB;AAAA,EAChB,UAAU;AAAA,EACV,MAAM;AAAA,EACN,gBAAgB;AAAA,EAChB,oBAAoB;AAAA,EACpB,iBAAiB;AAAA,EACjB,YAAY;AAAA,EACZ,sBAAsB;AAAA,EACtB,qBAAqB;AAAA,EACrB,mBAAmB;AAAA,EACnB,WAAW;AAAA,EACX,oBAAoB;AAAA,EACpB,qBAAqB;AAAA,EACrB,QAAQ;AAAA,EACR,kBAAkB;AAAA,EAClB,UAAU;AAAA,EACV,iBAAiB;AAAA,EACjB,sBAAsB;AAAA,EACtB,iBAAiB;AAAA,EACjB,6BAA6B;AAAA,EAC7B,4BAA4B;AAAA,EAC5B,qBAAqB;AAAA,EACrB,gBAAgB;AAAA,EAChB,YAAY;AAAA,EACZ,oBAAoB;AAAA,EACpB,gBAAgB;AAAA,EAChB,yBAAyB;AAAA,EACzB,uBAAuB;AAAA,EACvB,qBAAqB;AAAA,EACrB,cAAc;AAAA,EACd,aAAa;AAAA,EACb,+BAA+B;AACjC;AAEA,OAAO,QAAQ,cAAc,EAAE,QAAQ,CAAC,CAAC,KAAK,KAAK,MAAM;AACvD,iBAAe,KAAK,IAAI;AAC1B,CAAC;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"standards-sdk.es55.js","sources":["../../node_modules/ethers/lib.esm/abi/typed.js"],"sourcesContent":["/**\n * A Typed object allows a value to have its type explicitly\n * specified.\n *\n * For example, in Solidity, the value ``45`` could represent a\n * ``uint8`` or a ``uint256``. The value ``0x1234`` could represent\n * a ``bytes2`` or ``bytes``.\n *\n * Since JavaScript has no meaningful way to explicitly inform any\n * APIs which what the type is, this allows transparent interoperation\n * with Soldity.\n *\n * @_subsection: api/abi:Typed Values\n */\nimport { assertPrivate, defineProperties } from \"../utils/index.js\";\nconst _gaurd = {};\nfunction n(value, width) {\n let signed = false;\n if (width < 0) {\n signed = true;\n width *= -1;\n }\n // @TODO: Check range is valid for value\n return new Typed(_gaurd, `${signed ? \"\" : \"u\"}int${width}`, value, { signed, width });\n}\nfunction b(value, size) {\n // @TODO: Check range is valid for value\n return new Typed(_gaurd, `bytes${(size) ? size : \"\"}`, value, { size });\n}\nconst _typedSymbol = Symbol.for(\"_ethers_typed\");\n/**\n * The **Typed** class to wrap values providing explicit type information.\n */\nexport class Typed {\n /**\n * The type, as a Solidity-compatible type.\n */\n type;\n /**\n * The actual value.\n */\n value;\n #options;\n /**\n * @_ignore:\n */\n _typedSymbol;\n /**\n * @_ignore:\n */\n constructor(gaurd, type, value, options) {\n if (options == null) {\n options = null;\n }\n assertPrivate(_gaurd, gaurd, \"Typed\");\n defineProperties(this, { _typedSymbol, type, value });\n this.#options = options;\n // Check the value is valid\n this.format();\n }\n /**\n * Format the type as a Human-Readable type.\n */\n format() {\n if (this.type === \"array\") {\n throw new Error(\"\");\n }\n else if (this.type === \"dynamicArray\") {\n throw new Error(\"\");\n }\n else if (this.type === \"tuple\") {\n return `tuple(${this.value.map((v) => v.format()).join(\",\")})`;\n }\n return this.type;\n }\n /**\n * The default value returned by this type.\n */\n defaultValue() {\n return 0;\n }\n /**\n * The minimum value for numeric types.\n */\n minValue() {\n return 0;\n }\n /**\n * The maximum value for numeric types.\n */\n maxValue() {\n return 0;\n }\n /**\n * Returns ``true`` and provides a type guard is this is a [[TypedBigInt]].\n */\n isBigInt() {\n return !!(this.type.match(/^u?int[0-9]+$/));\n }\n /**\n * Returns ``true`` and provides a type guard is this is a [[TypedData]].\n */\n isData() {\n return this.type.startsWith(\"bytes\");\n }\n /**\n * Returns ``true`` and provides a type guard is this is a [[TypedString]].\n */\n isString() {\n return (this.type === \"string\");\n }\n /**\n * Returns the tuple name, if this is a tuple. Throws otherwise.\n */\n get tupleName() {\n if (this.type !== \"tuple\") {\n throw TypeError(\"not a tuple\");\n }\n return this.#options;\n }\n // Returns the length of this type as an array\n // - `null` indicates the length is unforced, it could be dynamic\n // - `-1` indicates the length is dynamic\n // - any other value indicates it is a static array and is its length\n /**\n * Returns the length of the array type or ``-1`` if it is dynamic.\n *\n * Throws if the type is not an array.\n */\n get arrayLength() {\n if (this.type !== \"array\") {\n throw TypeError(\"not an array\");\n }\n if (this.#options === true) {\n return -1;\n }\n if (this.#options === false) {\n return (this.value).length;\n }\n return null;\n }\n /**\n * Returns a new **Typed** of %%type%% with the %%value%%.\n */\n static from(type, value) {\n return new Typed(_gaurd, type, value);\n }\n /**\n * Return a new ``uint8`` type for %%v%%.\n */\n static uint8(v) { return n(v, 8); }\n /**\n * Return a new ``uint16`` type for %%v%%.\n */\n static uint16(v) { return n(v, 16); }\n /**\n * Return a new ``uint24`` type for %%v%%.\n */\n static uint24(v) { return n(v, 24); }\n /**\n * Return a new ``uint32`` type for %%v%%.\n */\n static uint32(v) { return n(v, 32); }\n /**\n * Return a new ``uint40`` type for %%v%%.\n */\n static uint40(v) { return n(v, 40); }\n /**\n * Return a new ``uint48`` type for %%v%%.\n */\n static uint48(v) { return n(v, 48); }\n /**\n * Return a new ``uint56`` type for %%v%%.\n */\n static uint56(v) { return n(v, 56); }\n /**\n * Return a new ``uint64`` type for %%v%%.\n */\n static uint64(v) { return n(v, 64); }\n /**\n * Return a new ``uint72`` type for %%v%%.\n */\n static uint72(v) { return n(v, 72); }\n /**\n * Return a new ``uint80`` type for %%v%%.\n */\n static uint80(v) { return n(v, 80); }\n /**\n * Return a new ``uint88`` type for %%v%%.\n */\n static uint88(v) { return n(v, 88); }\n /**\n * Return a new ``uint96`` type for %%v%%.\n */\n static uint96(v) { return n(v, 96); }\n /**\n * Return a new ``uint104`` type for %%v%%.\n */\n static uint104(v) { return n(v, 104); }\n /**\n * Return a new ``uint112`` type for %%v%%.\n */\n static uint112(v) { return n(v, 112); }\n /**\n * Return a new ``uint120`` type for %%v%%.\n */\n static uint120(v) { return n(v, 120); }\n /**\n * Return a new ``uint128`` type for %%v%%.\n */\n static uint128(v) { return n(v, 128); }\n /**\n * Return a new ``uint136`` type for %%v%%.\n */\n static uint136(v) { return n(v, 136); }\n /**\n * Return a new ``uint144`` type for %%v%%.\n */\n static uint144(v) { return n(v, 144); }\n /**\n * Return a new ``uint152`` type for %%v%%.\n */\n static uint152(v) { return n(v, 152); }\n /**\n * Return a new ``uint160`` type for %%v%%.\n */\n static uint160(v) { return n(v, 160); }\n /**\n * Return a new ``uint168`` type for %%v%%.\n */\n static uint168(v) { return n(v, 168); }\n /**\n * Return a new ``uint176`` type for %%v%%.\n */\n static uint176(v) { return n(v, 176); }\n /**\n * Return a new ``uint184`` type for %%v%%.\n */\n static uint184(v) { return n(v, 184); }\n /**\n * Return a new ``uint192`` type for %%v%%.\n */\n static uint192(v) { return n(v, 192); }\n /**\n * Return a new ``uint200`` type for %%v%%.\n */\n static uint200(v) { return n(v, 200); }\n /**\n * Return a new ``uint208`` type for %%v%%.\n */\n static uint208(v) { return n(v, 208); }\n /**\n * Return a new ``uint216`` type for %%v%%.\n */\n static uint216(v) { return n(v, 216); }\n /**\n * Return a new ``uint224`` type for %%v%%.\n */\n static uint224(v) { return n(v, 224); }\n /**\n * Return a new ``uint232`` type for %%v%%.\n */\n static uint232(v) { return n(v, 232); }\n /**\n * Return a new ``uint240`` type for %%v%%.\n */\n static uint240(v) { return n(v, 240); }\n /**\n * Return a new ``uint248`` type for %%v%%.\n */\n static uint248(v) { return n(v, 248); }\n /**\n * Return a new ``uint256`` type for %%v%%.\n */\n static uint256(v) { return n(v, 256); }\n /**\n * Return a new ``uint256`` type for %%v%%.\n */\n static uint(v) { return n(v, 256); }\n /**\n * Return a new ``int8`` type for %%v%%.\n */\n static int8(v) { return n(v, -8); }\n /**\n * Return a new ``int16`` type for %%v%%.\n */\n static int16(v) { return n(v, -16); }\n /**\n * Return a new ``int24`` type for %%v%%.\n */\n static int24(v) { return n(v, -24); }\n /**\n * Return a new ``int32`` type for %%v%%.\n */\n static int32(v) { return n(v, -32); }\n /**\n * Return a new ``int40`` type for %%v%%.\n */\n static int40(v) { return n(v, -40); }\n /**\n * Return a new ``int48`` type for %%v%%.\n */\n static int48(v) { return n(v, -48); }\n /**\n * Return a new ``int56`` type for %%v%%.\n */\n static int56(v) { return n(v, -56); }\n /**\n * Return a new ``int64`` type for %%v%%.\n */\n static int64(v) { return n(v, -64); }\n /**\n * Return a new ``int72`` type for %%v%%.\n */\n static int72(v) { return n(v, -72); }\n /**\n * Return a new ``int80`` type for %%v%%.\n */\n static int80(v) { return n(v, -80); }\n /**\n * Return a new ``int88`` type for %%v%%.\n */\n static int88(v) { return n(v, -88); }\n /**\n * Return a new ``int96`` type for %%v%%.\n */\n static int96(v) { return n(v, -96); }\n /**\n * Return a new ``int104`` type for %%v%%.\n */\n static int104(v) { return n(v, -104); }\n /**\n * Return a new ``int112`` type for %%v%%.\n */\n static int112(v) { return n(v, -112); }\n /**\n * Return a new ``int120`` type for %%v%%.\n */\n static int120(v) { return n(v, -120); }\n /**\n * Return a new ``int128`` type for %%v%%.\n */\n static int128(v) { return n(v, -128); }\n /**\n * Return a new ``int136`` type for %%v%%.\n */\n static int136(v) { return n(v, -136); }\n /**\n * Return a new ``int144`` type for %%v%%.\n */\n static int144(v) { return n(v, -144); }\n /**\n * Return a new ``int52`` type for %%v%%.\n */\n static int152(v) { return n(v, -152); }\n /**\n * Return a new ``int160`` type for %%v%%.\n */\n static int160(v) { return n(v, -160); }\n /**\n * Return a new ``int168`` type for %%v%%.\n */\n static int168(v) { return n(v, -168); }\n /**\n * Return a new ``int176`` type for %%v%%.\n */\n static int176(v) { return n(v, -176); }\n /**\n * Return a new ``int184`` type for %%v%%.\n */\n static int184(v) { return n(v, -184); }\n /**\n * Return a new ``int92`` type for %%v%%.\n */\n static int192(v) { return n(v, -192); }\n /**\n * Return a new ``int200`` type for %%v%%.\n */\n static int200(v) { return n(v, -200); }\n /**\n * Return a new ``int208`` type for %%v%%.\n */\n static int208(v) { return n(v, -208); }\n /**\n * Return a new ``int216`` type for %%v%%.\n */\n static int216(v) { return n(v, -216); }\n /**\n * Return a new ``int224`` type for %%v%%.\n */\n static int224(v) { return n(v, -224); }\n /**\n * Return a new ``int232`` type for %%v%%.\n */\n static int232(v) { return n(v, -232); }\n /**\n * Return a new ``int240`` type for %%v%%.\n */\n static int240(v) { return n(v, -240); }\n /**\n * Return a new ``int248`` type for %%v%%.\n */\n static int248(v) { return n(v, -248); }\n /**\n * Return a new ``int256`` type for %%v%%.\n */\n static int256(v) { return n(v, -256); }\n /**\n * Return a new ``int256`` type for %%v%%.\n */\n static int(v) { return n(v, -256); }\n /**\n * Return a new ``bytes1`` type for %%v%%.\n */\n static bytes1(v) { return b(v, 1); }\n /**\n * Return a new ``bytes2`` type for %%v%%.\n */\n static bytes2(v) { return b(v, 2); }\n /**\n * Return a new ``bytes3`` type for %%v%%.\n */\n static bytes3(v) { return b(v, 3); }\n /**\n * Return a new ``bytes4`` type for %%v%%.\n */\n static bytes4(v) { return b(v, 4); }\n /**\n * Return a new ``bytes5`` type for %%v%%.\n */\n static bytes5(v) { return b(v, 5); }\n /**\n * Return a new ``bytes6`` type for %%v%%.\n */\n static bytes6(v) { return b(v, 6); }\n /**\n * Return a new ``bytes7`` type for %%v%%.\n */\n static bytes7(v) { return b(v, 7); }\n /**\n * Return a new ``bytes8`` type for %%v%%.\n */\n static bytes8(v) { return b(v, 8); }\n /**\n * Return a new ``bytes9`` type for %%v%%.\n */\n static bytes9(v) { return b(v, 9); }\n /**\n * Return a new ``bytes10`` type for %%v%%.\n */\n static bytes10(v) { return b(v, 10); }\n /**\n * Return a new ``bytes11`` type for %%v%%.\n */\n static bytes11(v) { return b(v, 11); }\n /**\n * Return a new ``bytes12`` type for %%v%%.\n */\n static bytes12(v) { return b(v, 12); }\n /**\n * Return a new ``bytes13`` type for %%v%%.\n */\n static bytes13(v) { return b(v, 13); }\n /**\n * Return a new ``bytes14`` type for %%v%%.\n */\n static bytes14(v) { return b(v, 14); }\n /**\n * Return a new ``bytes15`` type for %%v%%.\n */\n static bytes15(v) { return b(v, 15); }\n /**\n * Return a new ``bytes16`` type for %%v%%.\n */\n static bytes16(v) { return b(v, 16); }\n /**\n * Return a new ``bytes17`` type for %%v%%.\n */\n static bytes17(v) { return b(v, 17); }\n /**\n * Return a new ``bytes18`` type for %%v%%.\n */\n static bytes18(v) { return b(v, 18); }\n /**\n * Return a new ``bytes19`` type for %%v%%.\n */\n static bytes19(v) { return b(v, 19); }\n /**\n * Return a new ``bytes20`` type for %%v%%.\n */\n static bytes20(v) { return b(v, 20); }\n /**\n * Return a new ``bytes21`` type for %%v%%.\n */\n static bytes21(v) { return b(v, 21); }\n /**\n * Return a new ``bytes22`` type for %%v%%.\n */\n static bytes22(v) { return b(v, 22); }\n /**\n * Return a new ``bytes23`` type for %%v%%.\n */\n static bytes23(v) { return b(v, 23); }\n /**\n * Return a new ``bytes24`` type for %%v%%.\n */\n static bytes24(v) { return b(v, 24); }\n /**\n * Return a new ``bytes25`` type for %%v%%.\n */\n static bytes25(v) { return b(v, 25); }\n /**\n * Return a new ``bytes26`` type for %%v%%.\n */\n static bytes26(v) { return b(v, 26); }\n /**\n * Return a new ``bytes27`` type for %%v%%.\n */\n static bytes27(v) { return b(v, 27); }\n /**\n * Return a new ``bytes28`` type for %%v%%.\n */\n static bytes28(v) { return b(v, 28); }\n /**\n * Return a new ``bytes29`` type for %%v%%.\n */\n static bytes29(v) { return b(v, 29); }\n /**\n * Return a new ``bytes30`` type for %%v%%.\n */\n static bytes30(v) { return b(v, 30); }\n /**\n * Return a new ``bytes31`` type for %%v%%.\n */\n static bytes31(v) { return b(v, 31); }\n /**\n * Return a new ``bytes32`` type for %%v%%.\n */\n static bytes32(v) { return b(v, 32); }\n /**\n * Return a new ``address`` type for %%v%%.\n */\n static address(v) { return new Typed(_gaurd, \"address\", v); }\n /**\n * Return a new ``bool`` type for %%v%%.\n */\n static bool(v) { return new Typed(_gaurd, \"bool\", !!v); }\n /**\n * Return a new ``bytes`` type for %%v%%.\n */\n static bytes(v) { return new Typed(_gaurd, \"bytes\", v); }\n /**\n * Return a new ``string`` type for %%v%%.\n */\n static string(v) { return new Typed(_gaurd, \"string\", v); }\n /**\n * Return a new ``array`` type for %%v%%, allowing %%dynamic%% length.\n */\n static array(v, dynamic) {\n throw new Error(\"not implemented yet\");\n return new Typed(_gaurd, \"array\", v, dynamic);\n }\n /**\n * Return a new ``tuple`` type for %%v%%, with the optional %%name%%.\n */\n static tuple(v, name) {\n throw new Error(\"not implemented yet\");\n return new Typed(_gaurd, \"tuple\", v, name);\n }\n /**\n * Return a new ``uint8`` type for %%v%%.\n */\n static overrides(v) {\n return new Typed(_gaurd, \"overrides\", Object.assign({}, v));\n }\n /**\n * Returns true only if %%value%% is a [[Typed]] instance.\n */\n static isTyped(value) {\n return (value\n && typeof (value) === \"object\"\n && \"_typedSymbol\" in value\n && value._typedSymbol === _typedSymbol);\n }\n /**\n * If the value is a [[Typed]] instance, validates the underlying value\n * and returns it, otherwise returns value directly.\n *\n * This is useful for functions that with to accept either a [[Typed]]\n * object or values.\n */\n static dereference(value, type) {\n if (Typed.isTyped(value)) {\n if (value.type !== type) {\n throw new Error(`invalid type: expecetd ${type}, got ${value.type}`);\n }\n return value.value;\n }\n return value;\n }\n}\n//# sourceMappingURL=typed.js.map"],"names":[],"mappings":"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AAG;AAAE,WAAO,EAAE,GAAG,EAAE;AAAA,EAAE;AAAA;AAAA;AAAA;AAAA,EAInC,OAAO,OAAO,GAAG;AAAE,WAAO,EAAE,GAAG,EAAE;AAAA,EAAE;AAAA;AAAA;AAAA;AAAA,EAInC,OAAO,OAAO,GAAG;AAAE,WAAO,EAAE,GAAG,EAAE;AAAA,EAAE;AAAA;AAAA;AAAA;AAAA,EAInC,OAAO,OAAO,GAAG;AAAE,WAAO,EAAE,GAAG,EAAE;AAAA,EAAE;AAAA;AAAA;AAAA;AAAA,EAInC,OAAO,QAAQ,GAAG;AAAE,WAAO,EAAE,GAAG,GAAG;AAAA,EAAE;AAAA;AAAA;AAAA;AAAA,EAIrC,OAAO,QAAQ,GAAG;AAAE,WAAO,EAAE,GAAG,GAAG;AAAA,EAAE;AAAA;AAAA;AAAA;AAAA,EAIrC,OAAO,QAAQ,GAAG;AAAE,WAAO,EAAE,GAAG,GAAG;AAAA,EAAE;AAAA;AAAA;AAAA;AAAA,EAIrC,OAAO,QAAQ,GAAG;AAAE,WAAO,EAAE,GAAG,GAAG;AAAA,EAAE;AAAA;AAAA;AAAA;AAAA,EAIrC,OAAO,QAAQ,GAAG;AAAE,WAAO,EAAE,GAAG,GAAG;AAAA,EAAE;AAAA;AAAA;AAAA;AAAA,EAIrC,OAAO,QAAQ,GAAG;AAAE,WAAO,EAAE,GAAG,GAAG;AAAA,EAAE;AAAA;AAAA;AAAA;AAAA,EAIrC,OAAO,QAAQ,GAAG;AAAE,WAAO,EAAE,GAAG,GAAG;AAAA,EAAE;AAAA;AAAA;AAAA;AAAA,EAIrC,OAAO,QAAQ,GAAG;AAAE,WAAO,EAAE,GAAG,GAAG;AAAA,EAAE;AAAA;AAAA;AAAA;AAAA,EAIrC,OAAO,QAAQ,GAAG;AAAE,WAAO,EAAE,GAAG,GAAG;AAAA,EAAE;AAAA;AAAA;AAAA;AAAA,EAIrC,OAAO,QAAQ,GAAG;AAAE,WAAO,EAAE,GAAG,GAAG;AAAA,EAAE;AAAA;AAAA;AAAA;AAAA,EAIrC,OAAO,QAAQ,GAAG;AAAE,WAAO,EAAE,GAAG,GAAG;AAAA,EAAE;AAAA;AAAA;AAAA;AAAA,EAIrC,OAAO,QAAQ,GAAG;AAAE,WAAO,EAAE,GAAG,GAAG;AAAA,EAAE;AAAA;AAAA;AAAA;AAAA,E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","x_google_ignoreList":[0]}
@@ -1,5 +1,177 @@
1
- const version = "6.13.5";
1
+ import { number, exists, bytes, output } from "./standards-sdk.es67.js";
2
+ import { rotlSH, rotlSL, rotlBH, rotlBL, split } from "./standards-sdk.es68.js";
3
+ import { wrapConstructor, Hash, u32, toBytes } from "./standards-sdk.es69.js";
4
+ const [SHA3_PI, SHA3_ROTL, _SHA3_IOTA] = [[], [], []];
5
+ const _0n = /* @__PURE__ */ BigInt(0);
6
+ const _1n = /* @__PURE__ */ BigInt(1);
7
+ const _2n = /* @__PURE__ */ BigInt(2);
8
+ const _7n = /* @__PURE__ */ BigInt(7);
9
+ const _256n = /* @__PURE__ */ BigInt(256);
10
+ const _0x71n = /* @__PURE__ */ BigInt(113);
11
+ for (let round = 0, R = _1n, x = 1, y = 0; round < 24; round++) {
12
+ [x, y] = [y, (2 * x + 3 * y) % 5];
13
+ SHA3_PI.push(2 * (5 * y + x));
14
+ SHA3_ROTL.push((round + 1) * (round + 2) / 2 % 64);
15
+ let t = _0n;
16
+ for (let j = 0; j < 7; j++) {
17
+ R = (R << _1n ^ (R >> _7n) * _0x71n) % _256n;
18
+ if (R & _2n)
19
+ t ^= _1n << (_1n << /* @__PURE__ */ BigInt(j)) - _1n;
20
+ }
21
+ _SHA3_IOTA.push(t);
22
+ }
23
+ const [SHA3_IOTA_H, SHA3_IOTA_L] = /* @__PURE__ */ split(_SHA3_IOTA, true);
24
+ const rotlH = (h, l, s) => s > 32 ? rotlBH(h, l, s) : rotlSH(h, l, s);
25
+ const rotlL = (h, l, s) => s > 32 ? rotlBL(h, l, s) : rotlSL(h, l, s);
26
+ function keccakP(s, rounds = 24) {
27
+ const B = new Uint32Array(5 * 2);
28
+ for (let round = 24 - rounds; round < 24; round++) {
29
+ for (let x = 0; x < 10; x++)
30
+ B[x] = s[x] ^ s[x + 10] ^ s[x + 20] ^ s[x + 30] ^ s[x + 40];
31
+ for (let x = 0; x < 10; x += 2) {
32
+ const idx1 = (x + 8) % 10;
33
+ const idx0 = (x + 2) % 10;
34
+ const B0 = B[idx0];
35
+ const B1 = B[idx0 + 1];
36
+ const Th = rotlH(B0, B1, 1) ^ B[idx1];
37
+ const Tl = rotlL(B0, B1, 1) ^ B[idx1 + 1];
38
+ for (let y = 0; y < 50; y += 10) {
39
+ s[x + y] ^= Th;
40
+ s[x + y + 1] ^= Tl;
41
+ }
42
+ }
43
+ let curH = s[2];
44
+ let curL = s[3];
45
+ for (let t = 0; t < 24; t++) {
46
+ const shift = SHA3_ROTL[t];
47
+ const Th = rotlH(curH, curL, shift);
48
+ const Tl = rotlL(curH, curL, shift);
49
+ const PI = SHA3_PI[t];
50
+ curH = s[PI];
51
+ curL = s[PI + 1];
52
+ s[PI] = Th;
53
+ s[PI + 1] = Tl;
54
+ }
55
+ for (let y = 0; y < 50; y += 10) {
56
+ for (let x = 0; x < 10; x++)
57
+ B[x] = s[y + x];
58
+ for (let x = 0; x < 10; x++)
59
+ s[y + x] ^= ~B[(x + 2) % 10] & B[(x + 4) % 10];
60
+ }
61
+ s[0] ^= SHA3_IOTA_H[round];
62
+ s[1] ^= SHA3_IOTA_L[round];
63
+ }
64
+ B.fill(0);
65
+ }
66
+ class Keccak extends Hash {
67
+ // NOTE: we accept arguments in bytes instead of bits here.
68
+ constructor(blockLen, suffix, outputLen, enableXOF = false, rounds = 24) {
69
+ super();
70
+ this.blockLen = blockLen;
71
+ this.suffix = suffix;
72
+ this.outputLen = outputLen;
73
+ this.enableXOF = enableXOF;
74
+ this.rounds = rounds;
75
+ this.pos = 0;
76
+ this.posOut = 0;
77
+ this.finished = false;
78
+ this.destroyed = false;
79
+ number(outputLen);
80
+ if (0 >= this.blockLen || this.blockLen >= 200)
81
+ throw new Error("Sha3 supports only keccak-f1600 function");
82
+ this.state = new Uint8Array(200);
83
+ this.state32 = u32(this.state);
84
+ }
85
+ keccak() {
86
+ keccakP(this.state32, this.rounds);
87
+ this.posOut = 0;
88
+ this.pos = 0;
89
+ }
90
+ update(data) {
91
+ exists(this);
92
+ const { blockLen, state } = this;
93
+ data = toBytes(data);
94
+ const len = data.length;
95
+ for (let pos = 0; pos < len; ) {
96
+ const take = Math.min(blockLen - this.pos, len - pos);
97
+ for (let i = 0; i < take; i++)
98
+ state[this.pos++] ^= data[pos++];
99
+ if (this.pos === blockLen)
100
+ this.keccak();
101
+ }
102
+ return this;
103
+ }
104
+ finish() {
105
+ if (this.finished)
106
+ return;
107
+ this.finished = true;
108
+ const { state, suffix, pos, blockLen } = this;
109
+ state[pos] ^= suffix;
110
+ if ((suffix & 128) !== 0 && pos === blockLen - 1)
111
+ this.keccak();
112
+ state[blockLen - 1] ^= 128;
113
+ this.keccak();
114
+ }
115
+ writeInto(out) {
116
+ exists(this, false);
117
+ bytes(out);
118
+ this.finish();
119
+ const bufferOut = this.state;
120
+ const { blockLen } = this;
121
+ for (let pos = 0, len = out.length; pos < len; ) {
122
+ if (this.posOut >= blockLen)
123
+ this.keccak();
124
+ const take = Math.min(blockLen - this.posOut, len - pos);
125
+ out.set(bufferOut.subarray(this.posOut, this.posOut + take), pos);
126
+ this.posOut += take;
127
+ pos += take;
128
+ }
129
+ return out;
130
+ }
131
+ xofInto(out) {
132
+ if (!this.enableXOF)
133
+ throw new Error("XOF is not possible for this instance");
134
+ return this.writeInto(out);
135
+ }
136
+ xof(bytes2) {
137
+ number(bytes2);
138
+ return this.xofInto(new Uint8Array(bytes2));
139
+ }
140
+ digestInto(out) {
141
+ output(out, this);
142
+ if (this.finished)
143
+ throw new Error("digest() was already called");
144
+ this.writeInto(out);
145
+ this.destroy();
146
+ return out;
147
+ }
148
+ digest() {
149
+ return this.digestInto(new Uint8Array(this.outputLen));
150
+ }
151
+ destroy() {
152
+ this.destroyed = true;
153
+ this.state.fill(0);
154
+ }
155
+ _cloneInto(to) {
156
+ const { blockLen, suffix, outputLen, rounds, enableXOF } = this;
157
+ to || (to = new Keccak(blockLen, suffix, outputLen, enableXOF, rounds));
158
+ to.state32.set(this.state32);
159
+ to.pos = this.pos;
160
+ to.posOut = this.posOut;
161
+ to.finished = this.finished;
162
+ to.rounds = rounds;
163
+ to.suffix = suffix;
164
+ to.outputLen = outputLen;
165
+ to.enableXOF = enableXOF;
166
+ to.destroyed = this.destroyed;
167
+ return to;
168
+ }
169
+ }
170
+ const gen = (suffix, blockLen, outputLen) => wrapConstructor(() => new Keccak(blockLen, suffix, outputLen));
171
+ const keccak_256 = /* @__PURE__ */ gen(1, 136, 256 / 8);
2
172
  export {
3
- version
173
+ Keccak,
174
+ keccakP,
175
+ keccak_256
4
176
  };
5
177
  //# sourceMappingURL=standards-sdk.es56.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"standards-sdk.es56.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
+ {"version":3,"file":"standards-sdk.es56.js","sources":["../../node_modules/@noble/hashes/esm/sha3.js"],"sourcesContent":["import { bytes, exists, number, output } from './_assert.js';\nimport { rotlBH, rotlBL, rotlSH, rotlSL, split } from './_u64.js';\nimport { Hash, u32, toBytes, wrapConstructor, wrapXOFConstructorWithOpts, } from './utils.js';\n// SHA3 (keccak) is based on a new design: basically, the internal state is bigger than output size.\n// It's called a sponge function.\n// Various per round constants calculations\nconst [SHA3_PI, SHA3_ROTL, _SHA3_IOTA] = [[], [], []];\nconst _0n = /* @__PURE__ */ BigInt(0);\nconst _1n = /* @__PURE__ */ BigInt(1);\nconst _2n = /* @__PURE__ */ BigInt(2);\nconst _7n = /* @__PURE__ */ BigInt(7);\nconst _256n = /* @__PURE__ */ BigInt(256);\nconst _0x71n = /* @__PURE__ */ BigInt(0x71);\nfor (let round = 0, R = _1n, x = 1, y = 0; round < 24; round++) {\n // Pi\n [x, y] = [y, (2 * x + 3 * y) % 5];\n SHA3_PI.push(2 * (5 * y + x));\n // Rotational\n SHA3_ROTL.push((((round + 1) * (round + 2)) / 2) % 64);\n // Iota\n let t = _0n;\n for (let j = 0; j < 7; j++) {\n R = ((R << _1n) ^ ((R >> _7n) * _0x71n)) % _256n;\n if (R & _2n)\n t ^= _1n << ((_1n << /* @__PURE__ */ BigInt(j)) - _1n);\n }\n _SHA3_IOTA.push(t);\n}\nconst [SHA3_IOTA_H, SHA3_IOTA_L] = /* @__PURE__ */ split(_SHA3_IOTA, true);\n// Left rotation (without 0, 32, 64)\nconst rotlH = (h, l, s) => (s > 32 ? rotlBH(h, l, s) : rotlSH(h, l, s));\nconst rotlL = (h, l, s) => (s > 32 ? rotlBL(h, l, s) : rotlSL(h, l, s));\n// Same as keccakf1600, but allows to skip some rounds\nexport function keccakP(s, rounds = 24) {\n const B = new Uint32Array(5 * 2);\n // NOTE: all indices are x2 since we store state as u32 instead of u64 (bigints to slow in js)\n for (let round = 24 - rounds; round < 24; round++) {\n // Theta θ\n for (let x = 0; x < 10; x++)\n B[x] = s[x] ^ s[x + 10] ^ s[x + 20] ^ s[x + 30] ^ s[x + 40];\n for (let x = 0; x < 10; x += 2) {\n const idx1 = (x + 8) % 10;\n const idx0 = (x + 2) % 10;\n const B0 = B[idx0];\n const B1 = B[idx0 + 1];\n const Th = rotlH(B0, B1, 1) ^ B[idx1];\n const Tl = rotlL(B0, B1, 1) ^ B[idx1 + 1];\n for (let y = 0; y < 50; y += 10) {\n s[x + y] ^= Th;\n s[x + y + 1] ^= Tl;\n }\n }\n // Rho (ρ) and Pi (π)\n let curH = s[2];\n let curL = s[3];\n for (let t = 0; t < 24; t++) {\n const shift = SHA3_ROTL[t];\n const Th = rotlH(curH, curL, shift);\n const Tl = rotlL(curH, curL, shift);\n const PI = SHA3_PI[t];\n curH = s[PI];\n curL = s[PI + 1];\n s[PI] = Th;\n s[PI + 1] = Tl;\n }\n // Chi (χ)\n for (let y = 0; y < 50; y += 10) {\n for (let x = 0; x < 10; x++)\n B[x] = s[y + x];\n for (let x = 0; x < 10; x++)\n s[y + x] ^= ~B[(x + 2) % 10] & B[(x + 4) % 10];\n }\n // Iota (ι)\n s[0] ^= SHA3_IOTA_H[round];\n s[1] ^= SHA3_IOTA_L[round];\n }\n B.fill(0);\n}\nexport class Keccak extends Hash {\n // NOTE: we accept arguments in bytes instead of bits here.\n constructor(blockLen, suffix, outputLen, enableXOF = false, rounds = 24) {\n super();\n this.blockLen = blockLen;\n this.suffix = suffix;\n this.outputLen = outputLen;\n this.enableXOF = enableXOF;\n this.rounds = rounds;\n this.pos = 0;\n this.posOut = 0;\n this.finished = false;\n this.destroyed = false;\n // Can be passed from user as dkLen\n number(outputLen);\n // 1600 = 5x5 matrix of 64bit. 1600 bits === 200 bytes\n if (0 >= this.blockLen || this.blockLen >= 200)\n throw new Error('Sha3 supports only keccak-f1600 function');\n this.state = new Uint8Array(200);\n this.state32 = u32(this.state);\n }\n keccak() {\n keccakP(this.state32, this.rounds);\n this.posOut = 0;\n this.pos = 0;\n }\n update(data) {\n exists(this);\n const { blockLen, state } = this;\n data = toBytes(data);\n const len = data.length;\n for (let pos = 0; pos < len;) {\n const take = Math.min(blockLen - this.pos, len - pos);\n for (let i = 0; i < take; i++)\n state[this.pos++] ^= data[pos++];\n if (this.pos === blockLen)\n this.keccak();\n }\n return this;\n }\n finish() {\n if (this.finished)\n return;\n this.finished = true;\n const { state, suffix, pos, blockLen } = this;\n // Do the padding\n state[pos] ^= suffix;\n if ((suffix & 0x80) !== 0 && pos === blockLen - 1)\n this.keccak();\n state[blockLen - 1] ^= 0x80;\n this.keccak();\n }\n writeInto(out) {\n exists(this, false);\n bytes(out);\n this.finish();\n const bufferOut = this.state;\n const { blockLen } = this;\n for (let pos = 0, len = out.length; pos < len;) {\n if (this.posOut >= blockLen)\n this.keccak();\n const take = Math.min(blockLen - this.posOut, len - pos);\n out.set(bufferOut.subarray(this.posOut, this.posOut + take), pos);\n this.posOut += take;\n pos += take;\n }\n return out;\n }\n xofInto(out) {\n // Sha3/Keccak usage with XOF is probably mistake, only SHAKE instances can do XOF\n if (!this.enableXOF)\n throw new Error('XOF is not possible for this instance');\n return this.writeInto(out);\n }\n xof(bytes) {\n number(bytes);\n return this.xofInto(new Uint8Array(bytes));\n }\n digestInto(out) {\n output(out, this);\n if (this.finished)\n throw new Error('digest() was already called');\n this.writeInto(out);\n this.destroy();\n return out;\n }\n digest() {\n return this.digestInto(new Uint8Array(this.outputLen));\n }\n destroy() {\n this.destroyed = true;\n this.state.fill(0);\n }\n _cloneInto(to) {\n const { blockLen, suffix, outputLen, rounds, enableXOF } = this;\n to || (to = new Keccak(blockLen, suffix, outputLen, enableXOF, rounds));\n to.state32.set(this.state32);\n to.pos = this.pos;\n to.posOut = this.posOut;\n to.finished = this.finished;\n to.rounds = rounds;\n // Suffix can change in cSHAKE\n to.suffix = suffix;\n to.outputLen = outputLen;\n to.enableXOF = enableXOF;\n to.destroyed = this.destroyed;\n return to;\n }\n}\nconst gen = (suffix, blockLen, outputLen) => wrapConstructor(() => new Keccak(blockLen, suffix, outputLen));\nexport const sha3_224 = /* @__PURE__ */ gen(0x06, 144, 224 / 8);\n/**\n * SHA3-256 hash function\n * @param message - that would be hashed\n */\nexport const sha3_256 = /* @__PURE__ */ gen(0x06, 136, 256 / 8);\nexport const sha3_384 = /* @__PURE__ */ gen(0x06, 104, 384 / 8);\nexport const sha3_512 = /* @__PURE__ */ gen(0x06, 72, 512 / 8);\nexport const keccak_224 = /* @__PURE__ */ gen(0x01, 144, 224 / 8);\n/**\n * keccak-256 hash function. Different from SHA3-256.\n * @param message - that would be hashed\n */\nexport const keccak_256 = /* @__PURE__ */ gen(0x01, 136, 256 / 8);\nexport const keccak_384 = /* @__PURE__ */ gen(0x01, 104, 384 / 8);\nexport const keccak_512 = /* @__PURE__ */ gen(0x01, 72, 512 / 8);\nconst genShake = (suffix, blockLen, outputLen) => wrapXOFConstructorWithOpts((opts = {}) => new Keccak(blockLen, suffix, opts.dkLen === undefined ? outputLen : opts.dkLen, true));\nexport const shake128 = /* @__PURE__ */ genShake(0x1f, 168, 128 / 8);\nexport const shake256 = /* @__PURE__ */ genShake(0x1f, 136, 256 / 8);\n//# sourceMappingURL=sha3.js.map"],"names":["bytes"],"mappings":"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","x_google_ignoreList":[0]}
@@ -1,87 +1,146 @@
1
- import { keccak256 } from "./standards-sdk.es58.js";
2
- import { assertArgument } from "./standards-sdk.es59.js";
3
- import { getBytes } from "./standards-sdk.es60.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();
1
+ import { getBytes } from "./standards-sdk.es39.js";
2
+ import { assertArgument } from "./standards-sdk.es38.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++;
20
14
  }
15
+ return i;
21
16
  }
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);
17
+ if (reason === "OVERRUN") {
18
+ return bytes.length - offset - 1;
41
19
  }
42
- let checksum = String(98 - parseInt(expanded, 10) % 97);
43
- while (checksum.length < 2) {
44
- checksum = "0" + checksum;
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;
45
27
  }
46
- return checksum;
28
+ output.push(65533);
29
+ return ignoreFunc(reason, offset, bytes);
47
30
  }
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);
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;
53
39
  }
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]];
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);
61
99
  }
62
100
  return result;
63
101
  }
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;
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);
69
125
  }
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;
73
126
  }
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;
127
+ return new Uint8Array(result);
128
+ }
129
+ function _toUtf8String(codePoints) {
130
+ return codePoints.map((codePoint) => {
131
+ if (codePoint <= 65535) {
132
+ return String.fromCharCode(codePoint);
79
133
  }
80
- return getChecksumAddress("0x" + result);
81
- }
82
- assertArgument(false, "invalid address", "address", address);
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));
83
140
  }
84
141
  export {
85
- getAddress
142
+ Utf8ErrorFuncs,
143
+ toUtf8Bytes,
144
+ toUtf8String
86
145
  };
87
146
  //# sourceMappingURL=standards-sdk.es57.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"standards-sdk.es57.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]}
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]}