@hashgraphonline/standards-sdk 0.0.107 → 0.0.108-canary.0

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 (86) hide show
  1. package/dist/es/standards-sdk.es15.js +1 -1
  2. package/dist/es/standards-sdk.es18.js +2 -2
  3. package/dist/es/standards-sdk.es19.js +411 -52
  4. package/dist/es/standards-sdk.es19.js.map +1 -1
  5. package/dist/es/standards-sdk.es21.js +2 -2
  6. package/dist/es/standards-sdk.es24.js +10 -10
  7. package/dist/es/standards-sdk.es26.js +1 -1
  8. package/dist/es/standards-sdk.es31.js +5 -36
  9. package/dist/es/standards-sdk.es31.js.map +1 -1
  10. package/dist/es/standards-sdk.es32.js +36 -48
  11. package/dist/es/standards-sdk.es32.js.map +1 -1
  12. package/dist/es/standards-sdk.es33.js +48 -5
  13. package/dist/es/standards-sdk.es33.js.map +1 -1
  14. package/dist/es/standards-sdk.es34.js +1 -1
  15. package/dist/es/standards-sdk.es36.js +22 -100
  16. package/dist/es/standards-sdk.es36.js.map +1 -1
  17. package/dist/es/standards-sdk.es37.js +174 -2
  18. package/dist/es/standards-sdk.es37.js.map +1 -1
  19. package/dist/es/standards-sdk.es38.js +90 -15
  20. package/dist/es/standards-sdk.es38.js.map +1 -1
  21. package/dist/es/standards-sdk.es39.js +190 -404
  22. package/dist/es/standards-sdk.es39.js.map +1 -1
  23. package/dist/es/standards-sdk.es40.js +437 -2281
  24. package/dist/es/standards-sdk.es40.js.map +1 -1
  25. package/dist/es/standards-sdk.es41.js +20 -159
  26. package/dist/es/standards-sdk.es41.js.map +1 -1
  27. package/dist/es/standards-sdk.es42.js +137 -21
  28. package/dist/es/standards-sdk.es42.js.map +1 -1
  29. package/dist/es/standards-sdk.es43.js +13 -169
  30. package/dist/es/standards-sdk.es43.js.map +1 -1
  31. package/dist/es/standards-sdk.es44.js +21 -83
  32. package/dist/es/standards-sdk.es44.js.map +1 -1
  33. package/dist/es/standards-sdk.es45.js +25 -191
  34. package/dist/es/standards-sdk.es45.js.map +1 -1
  35. package/dist/es/standards-sdk.es46.js +15 -432
  36. package/dist/es/standards-sdk.es46.js.map +1 -1
  37. package/dist/es/standards-sdk.es47.js +34 -15
  38. package/dist/es/standards-sdk.es47.js.map +1 -1
  39. package/dist/es/standards-sdk.es48.js +10 -131
  40. package/dist/es/standards-sdk.es48.js.map +1 -1
  41. package/dist/es/standards-sdk.es49.js +53 -10
  42. package/dist/es/standards-sdk.es49.js.map +1 -1
  43. package/dist/es/standards-sdk.es50.js +1281 -21
  44. package/dist/es/standards-sdk.es50.js.map +1 -1
  45. package/dist/es/standards-sdk.es51.js +144 -25
  46. package/dist/es/standards-sdk.es51.js.map +1 -1
  47. package/dist/es/standards-sdk.es52.js +80 -17
  48. package/dist/es/standards-sdk.es52.js.map +1 -1
  49. package/dist/es/standards-sdk.es53.js +27 -39
  50. package/dist/es/standards-sdk.es53.js.map +1 -1
  51. package/dist/es/standards-sdk.es54.js +5 -17
  52. package/dist/es/standards-sdk.es54.js.map +1 -1
  53. package/dist/es/standards-sdk.es55.js +149 -51
  54. package/dist/es/standards-sdk.es55.js.map +1 -1
  55. package/dist/es/standards-sdk.es56.js +629 -1125
  56. package/dist/es/standards-sdk.es56.js.map +1 -1
  57. package/dist/es/standards-sdk.es57.js +127 -132
  58. package/dist/es/standards-sdk.es57.js.map +1 -1
  59. package/dist/es/standards-sdk.es58.js +96 -79
  60. package/dist/es/standards-sdk.es58.js.map +1 -1
  61. package/dist/es/standards-sdk.es59.js +2 -32
  62. package/dist/es/standards-sdk.es59.js.map +1 -1
  63. package/dist/es/standards-sdk.es60.js +15 -5
  64. package/dist/es/standards-sdk.es60.js.map +1 -1
  65. package/dist/es/standards-sdk.es61.js +401 -151
  66. package/dist/es/standards-sdk.es61.js.map +1 -1
  67. package/dist/es/standards-sdk.es62.js +24 -790
  68. package/dist/es/standards-sdk.es62.js.map +1 -1
  69. package/dist/es/standards-sdk.es63.js +23 -140
  70. package/dist/es/standards-sdk.es63.js.map +1 -1
  71. package/dist/es/standards-sdk.es64.js +34 -23
  72. package/dist/es/standards-sdk.es64.js.map +1 -1
  73. package/dist/es/standards-sdk.es65.js +19 -24
  74. package/dist/es/standards-sdk.es65.js.map +1 -1
  75. package/dist/es/standards-sdk.es66.js +2282 -38
  76. package/dist/es/standards-sdk.es66.js.map +1 -1
  77. package/dist/es/standards-sdk.es67.js +159 -16
  78. package/dist/es/standards-sdk.es67.js.map +1 -1
  79. package/dist/es/standards-sdk.es79.js +1 -1
  80. package/dist/es/utils/transaction-parser.d.ts +78 -5
  81. package/dist/es/utils/transaction-parser.d.ts.map +1 -1
  82. package/dist/umd/standards-sdk.umd.js +1 -1
  83. package/dist/umd/standards-sdk.umd.js.map +1 -1
  84. package/dist/umd/utils/transaction-parser.d.ts +78 -5
  85. package/dist/umd/utils/transaction-parser.d.ts.map +1 -1
  86. package/package.json +3 -3
@@ -1,104 +1,26 @@
1
- import { __exports as mimeTypes } from "./standards-sdk.es37.js";
2
- import { __require as requireMimeDb } from "./standards-sdk.es38.js";
3
- import { __require as requirePathBrowserify } from "./standards-sdk.es39.js";
4
- /*!
5
- * mime-types
6
- * Copyright(c) 2014 Jonathan Ong
7
- * Copyright(c) 2015 Douglas Christopher Wilson
8
- * MIT Licensed
9
- */
10
- var hasRequiredMimeTypes;
11
- function requireMimeTypes() {
12
- if (hasRequiredMimeTypes) return mimeTypes;
13
- hasRequiredMimeTypes = 1;
14
- (function(exports) {
15
- var db = requireMimeDb();
16
- var extname = requirePathBrowserify().extname;
17
- var EXTRACT_TYPE_REGEXP = /^\s*([^;\s]*)(?:;|\s|$)/;
18
- var TEXT_TYPE_REGEXP = /^text\//i;
19
- exports.charset = charset;
20
- exports.charsets = { lookup: charset };
21
- exports.contentType = contentType;
22
- exports.extension = extension;
23
- exports.extensions = /* @__PURE__ */ Object.create(null);
24
- exports.lookup = lookup;
25
- exports.types = /* @__PURE__ */ Object.create(null);
26
- populateMaps(exports.extensions, exports.types);
27
- function charset(type) {
28
- if (!type || typeof type !== "string") {
29
- return false;
30
- }
31
- var match = EXTRACT_TYPE_REGEXP.exec(type);
32
- var mime = match && db[match[1].toLowerCase()];
33
- if (mime && mime.charset) {
34
- return mime.charset;
35
- }
36
- if (match && TEXT_TYPE_REGEXP.test(match[1])) {
37
- return "UTF-8";
38
- }
39
- return false;
40
- }
41
- function contentType(str) {
42
- if (!str || typeof str !== "string") {
43
- return false;
44
- }
45
- var mime = str.indexOf("/") === -1 ? exports.lookup(str) : str;
46
- if (!mime) {
47
- return false;
48
- }
49
- if (mime.indexOf("charset") === -1) {
50
- var charset2 = exports.charset(mime);
51
- if (charset2) mime += "; charset=" + charset2.toLowerCase();
52
- }
53
- return mime;
54
- }
55
- function extension(type) {
56
- if (!type || typeof type !== "string") {
57
- return false;
58
- }
59
- var match = EXTRACT_TYPE_REGEXP.exec(type);
60
- var exts = match && exports.extensions[match[1].toLowerCase()];
61
- if (!exts || !exts.length) {
62
- return false;
63
- }
64
- return exts[0];
65
- }
66
- function lookup(path) {
67
- if (!path || typeof path !== "string") {
68
- return false;
69
- }
70
- var extension2 = extname("x." + path).toLowerCase().substr(1);
71
- if (!extension2) {
72
- return false;
73
- }
74
- return exports.types[extension2] || false;
75
- }
76
- function populateMaps(extensions, types) {
77
- var preference = ["nginx", "apache", void 0, "iana"];
78
- Object.keys(db).forEach(function forEachMimeType(type) {
79
- var mime = db[type];
80
- var exts = mime.extensions;
81
- if (!exts || !exts.length) {
82
- return;
83
- }
84
- extensions[type] = exts;
85
- for (var i = 0; i < exts.length; i++) {
86
- var extension2 = exts[i];
87
- if (types[extension2]) {
88
- var from = preference.indexOf(db[types[extension2]].source);
89
- var to = preference.indexOf(mime.source);
90
- if (types[extension2] !== "application/octet-stream" && (from > to || from === to && types[extension2].substr(0, 12) === "application/")) {
91
- continue;
92
- }
93
- }
94
- types[extension2] = type;
95
- }
96
- });
97
- }
98
- })(mimeTypes);
99
- return mimeTypes;
1
+ import { keccak_256 } from "./standards-sdk.es37.js";
2
+ import { getBytes, hexlify } from "./standards-sdk.es38.js";
3
+ let locked = false;
4
+ const _keccak256 = function(data) {
5
+ return keccak_256(data);
6
+ };
7
+ let __keccak256 = _keccak256;
8
+ function keccak256(_data) {
9
+ const data = getBytes(_data, "data");
10
+ return hexlify(__keccak256(data));
100
11
  }
12
+ keccak256._ = _keccak256;
13
+ keccak256.lock = function() {
14
+ locked = true;
15
+ };
16
+ keccak256.register = function(func) {
17
+ if (locked) {
18
+ throw new TypeError("keccak256 is locked");
19
+ }
20
+ __keccak256 = func;
21
+ };
22
+ Object.freeze(keccak256);
101
23
  export {
102
- requireMimeTypes as __require
24
+ keccak256
103
25
  };
104
26
  //# sourceMappingURL=standards-sdk.es36.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"standards-sdk.es36.js","sources":["../../node_modules/mime-types/index.js"],"sourcesContent":["/*!\n * mime-types\n * Copyright(c) 2014 Jonathan Ong\n * Copyright(c) 2015 Douglas Christopher Wilson\n * MIT Licensed\n */\n\n'use strict'\n\n/**\n * Module dependencies.\n * @private\n */\n\nvar db = require('mime-db')\nvar extname = require('path').extname\n\n/**\n * Module variables.\n * @private\n */\n\nvar EXTRACT_TYPE_REGEXP = /^\\s*([^;\\s]*)(?:;|\\s|$)/\nvar TEXT_TYPE_REGEXP = /^text\\//i\n\n/**\n * Module exports.\n * @public\n */\n\nexports.charset = charset\nexports.charsets = { lookup: charset }\nexports.contentType = contentType\nexports.extension = extension\nexports.extensions = Object.create(null)\nexports.lookup = lookup\nexports.types = Object.create(null)\n\n// Populate the extensions/types maps\npopulateMaps(exports.extensions, exports.types)\n\n/**\n * Get the default charset for a MIME type.\n *\n * @param {string} type\n * @return {boolean|string}\n */\n\nfunction charset (type) {\n if (!type || typeof type !== 'string') {\n return false\n }\n\n // TODO: use media-typer\n var match = EXTRACT_TYPE_REGEXP.exec(type)\n var mime = match && db[match[1].toLowerCase()]\n\n if (mime && mime.charset) {\n return mime.charset\n }\n\n // default text/* to utf-8\n if (match && TEXT_TYPE_REGEXP.test(match[1])) {\n return 'UTF-8'\n }\n\n return false\n}\n\n/**\n * Create a full Content-Type header given a MIME type or extension.\n *\n * @param {string} str\n * @return {boolean|string}\n */\n\nfunction contentType (str) {\n // TODO: should this even be in this module?\n if (!str || typeof str !== 'string') {\n return false\n }\n\n var mime = str.indexOf('/') === -1\n ? exports.lookup(str)\n : str\n\n if (!mime) {\n return false\n }\n\n // TODO: use content-type or other module\n if (mime.indexOf('charset') === -1) {\n var charset = exports.charset(mime)\n if (charset) mime += '; charset=' + charset.toLowerCase()\n }\n\n return mime\n}\n\n/**\n * Get the default extension for a MIME type.\n *\n * @param {string} type\n * @return {boolean|string}\n */\n\nfunction extension (type) {\n if (!type || typeof type !== 'string') {\n return false\n }\n\n // TODO: use media-typer\n var match = EXTRACT_TYPE_REGEXP.exec(type)\n\n // get extensions\n var exts = match && exports.extensions[match[1].toLowerCase()]\n\n if (!exts || !exts.length) {\n return false\n }\n\n return exts[0]\n}\n\n/**\n * Lookup the MIME type for a file path/extension.\n *\n * @param {string} path\n * @return {boolean|string}\n */\n\nfunction lookup (path) {\n if (!path || typeof path !== 'string') {\n return false\n }\n\n // get the extension (\"ext\" or \".ext\" or full path)\n var extension = extname('x.' + path)\n .toLowerCase()\n .substr(1)\n\n if (!extension) {\n return false\n }\n\n return exports.types[extension] || false\n}\n\n/**\n * Populate the extensions and types maps.\n * @private\n */\n\nfunction populateMaps (extensions, types) {\n // source preference (least -> most)\n var preference = ['nginx', 'apache', undefined, 'iana']\n\n Object.keys(db).forEach(function forEachMimeType (type) {\n var mime = db[type]\n var exts = mime.extensions\n\n if (!exts || !exts.length) {\n return\n }\n\n // mime -> extensions\n extensions[type] = exts\n\n // extension -> mime\n for (var i = 0; i < exts.length; i++) {\n var extension = exts[i]\n\n if (types[extension]) {\n var from = preference.indexOf(db[types[extension]].source)\n var to = preference.indexOf(mime.source)\n\n if (types[extension] !== 'application/octet-stream' &&\n (from > to || (from === to && types[extension].substr(0, 12) === 'application/'))) {\n // skip the remapping\n continue\n }\n }\n\n // set the extension -> mime\n types[extension] = type\n }\n })\n}\n"],"names":["require$$0","require$$1","charset","extension"],"mappings":";;;;;;;;;;;;;;AAcA,QAAI,KAAKA,cAAA;AACT,QAAI,UAAUC,wBAAgB;AAO9B,QAAI,sBAAsB;AAC1B,QAAI,mBAAmB;AAOvB,YAAkB,UAAA;AAClB,YAAmB,WAAA,EAAE,QAAQ,QAAO;AACpC,YAAsB,cAAA;AACtB,YAAoB,YAAA;AACpB,YAAA,aAAqB,uBAAO,OAAO,IAAI;AACvC,YAAiB,SAAA;AACjB,YAAA,QAAgB,uBAAO,OAAO,IAAI;AAGlC,iBAAa,QAAQ,YAAY,QAAQ,KAAK;AAS9C,aAAS,QAAS,MAAM;AACtB,UAAI,CAAC,QAAQ,OAAO,SAAS,UAAU;AACrC,eAAO;AAAA,MACX;AAGE,UAAI,QAAQ,oBAAoB,KAAK,IAAI;AACzC,UAAI,OAAO,SAAS,GAAG,MAAM,CAAC,EAAE,YAAa,CAAA;AAE7C,UAAI,QAAQ,KAAK,SAAS;AACxB,eAAO,KAAK;AAAA,MAChB;AAGE,UAAI,SAAS,iBAAiB,KAAK,MAAM,CAAC,CAAC,GAAG;AAC5C,eAAO;AAAA,MACX;AAEE,aAAO;AAAA,IACT;AASA,aAAS,YAAa,KAAK;AAEzB,UAAI,CAAC,OAAO,OAAO,QAAQ,UAAU;AACnC,eAAO;AAAA,MACX;AAEE,UAAI,OAAO,IAAI,QAAQ,GAAG,MAAM,KAC5B,QAAQ,OAAO,GAAG,IAClB;AAEJ,UAAI,CAAC,MAAM;AACT,eAAO;AAAA,MACX;AAGE,UAAI,KAAK,QAAQ,SAAS,MAAM,IAAI;AAClC,YAAIC,WAAU,QAAQ,QAAQ,IAAI;AAClC,YAAIA,SAAS,SAAQ,eAAeA,SAAQ,YAAW;AAAA,MAC3D;AAEE,aAAO;AAAA,IACT;AASA,aAAS,UAAW,MAAM;AACxB,UAAI,CAAC,QAAQ,OAAO,SAAS,UAAU;AACrC,eAAO;AAAA,MACX;AAGE,UAAI,QAAQ,oBAAoB,KAAK,IAAI;AAGzC,UAAI,OAAO,SAAS,QAAQ,WAAW,MAAM,CAAC,EAAE,YAAa,CAAA;AAE7D,UAAI,CAAC,QAAQ,CAAC,KAAK,QAAQ;AACzB,eAAO;AAAA,MACX;AAEE,aAAO,KAAK,CAAC;AAAA,IACf;AASA,aAAS,OAAQ,MAAM;AACrB,UAAI,CAAC,QAAQ,OAAO,SAAS,UAAU;AACrC,eAAO;AAAA,MACX;AAGE,UAAIC,aAAY,QAAQ,OAAO,IAAI,EAChC,YAAW,EACX,OAAO,CAAC;AAEX,UAAI,CAACA,YAAW;AACd,eAAO;AAAA,MACX;AAEE,aAAO,QAAQ,MAAMA,UAAS,KAAK;AAAA,IACrC;AAOA,aAAS,aAAc,YAAY,OAAO;AAExC,UAAI,aAAa,CAAC,SAAS,UAAU,QAAW,MAAM;AAEtD,aAAO,KAAK,EAAE,EAAE,QAAQ,SAAS,gBAAiB,MAAM;AACtD,YAAI,OAAO,GAAG,IAAI;AAClB,YAAI,OAAO,KAAK;AAEhB,YAAI,CAAC,QAAQ,CAAC,KAAK,QAAQ;AACzB;AAAA,QACN;AAGI,mBAAW,IAAI,IAAI;AAGnB,iBAAS,IAAI,GAAG,IAAI,KAAK,QAAQ,KAAK;AACpC,cAAIA,aAAY,KAAK,CAAC;AAEtB,cAAI,MAAMA,UAAS,GAAG;AACpB,gBAAI,OAAO,WAAW,QAAQ,GAAG,MAAMA,UAAS,CAAC,EAAE,MAAM;AACzD,gBAAI,KAAK,WAAW,QAAQ,KAAK,MAAM;AAEvC,gBAAI,MAAMA,UAAS,MAAM,+BACtB,OAAO,MAAO,SAAS,MAAM,MAAMA,UAAS,EAAE,OAAO,GAAG,EAAE,MAAM,iBAAkB;AAEnF;AAAA,YACV;AAAA,UACA;AAGM,gBAAMA,UAAS,IAAI;AAAA,QACzB;AAAA,MACG,CAAA;AAAA,IACH;AAAA;;;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"standards-sdk.es36.js","sources":["../../node_modules/ethers/lib.esm/crypto/keccak.js"],"sourcesContent":["/**\n * Cryptographic hashing functions\n *\n * @_subsection: api/crypto:Hash Functions [about-crypto-hashing]\n */\nimport { keccak_256 } from \"@noble/hashes/sha3\";\nimport { getBytes, hexlify } from \"../utils/index.js\";\nlet locked = false;\nconst _keccak256 = function (data) {\n return keccak_256(data);\n};\nlet __keccak256 = _keccak256;\n/**\n * Compute the cryptographic KECCAK256 hash of %%data%%.\n *\n * The %%data%% **must** be a data representation, to compute the\n * hash of UTF-8 data use the [[id]] function.\n *\n * @returns DataHexstring\n * @example:\n * keccak256(\"0x\")\n * //_result:\n *\n * keccak256(\"0x1337\")\n * //_result:\n *\n * keccak256(new Uint8Array([ 0x13, 0x37 ]))\n * //_result:\n *\n * // Strings are assumed to be DataHexString, otherwise it will\n * // throw. To hash UTF-8 data, see the note above.\n * keccak256(\"Hello World\")\n * //_error:\n */\nexport function keccak256(_data) {\n const data = getBytes(_data, \"data\");\n return hexlify(__keccak256(data));\n}\nkeccak256._ = _keccak256;\nkeccak256.lock = function () { locked = true; };\nkeccak256.register = function (func) {\n if (locked) {\n throw new TypeError(\"keccak256 is locked\");\n }\n __keccak256 = func;\n};\nObject.freeze(keccak256);\n//# sourceMappingURL=keccak.js.map"],"names":[],"mappings":";;AAOA,IAAI,SAAS;AACb,MAAM,aAAa,SAAU,MAAM;AAC/B,SAAO,WAAW,IAAI;AAC1B;AACA,IAAI,cAAc;AAuBX,SAAS,UAAU,OAAO;AAC7B,QAAM,OAAO,SAAS,OAAO,MAAM;AACnC,SAAO,QAAQ,YAAY,IAAI,CAAC;AACpC;AACA,UAAU,IAAI;AACd,UAAU,OAAO,WAAY;AAAE,WAAS;AAAO;AAC/C,UAAU,WAAW,SAAU,MAAM;AACjC,MAAI,QAAQ;AACR,UAAM,IAAI,UAAU,qBAAqB;AAAA,EACjD;AACI,gBAAc;AAClB;AACA,OAAO,OAAO,SAAS;","x_google_ignoreList":[0]}
@@ -1,5 +1,177 @@
1
- var mimeTypes = {};
1
+ import { number, exists, bytes, output } from "./standards-sdk.es62.js";
2
+ import { rotlSH, rotlSL, rotlBH, rotlBL, split } from "./standards-sdk.es63.js";
3
+ import { wrapConstructor, Hash, u32, toBytes } from "./standards-sdk.es64.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
- mimeTypes as __exports
173
+ Keccak,
174
+ keccakP,
175
+ keccak_256
4
176
  };
5
177
  //# sourceMappingURL=standards-sdk.es37.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"standards-sdk.es37.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
1
+ {"version":3,"file":"standards-sdk.es37.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,19 +1,94 @@
1
- import require$$0 from "./standards-sdk.es40.js";
2
- /*!
3
- * mime-db
4
- * Copyright(c) 2014 Jonathan Ong
5
- * Copyright(c) 2015-2022 Douglas Christopher Wilson
6
- * MIT Licensed
7
- */
8
- var mimeDb;
9
- var hasRequiredMimeDb;
10
- function requireMimeDb() {
11
- if (hasRequiredMimeDb) return mimeDb;
12
- hasRequiredMimeDb = 1;
13
- mimeDb = require$$0;
14
- return mimeDb;
1
+ import { assert, assertArgument } from "./standards-sdk.es51.js";
2
+ function _getBytes(value, name, copy) {
3
+ if (value instanceof Uint8Array) {
4
+ if (copy) {
5
+ return new Uint8Array(value);
6
+ }
7
+ return value;
8
+ }
9
+ if (typeof value === "string" && value.match(/^0x(?:[0-9a-f][0-9a-f])*$/i)) {
10
+ const result = new Uint8Array((value.length - 2) / 2);
11
+ let offset = 2;
12
+ for (let i = 0; i < result.length; i++) {
13
+ result[i] = parseInt(value.substring(offset, offset + 2), 16);
14
+ offset += 2;
15
+ }
16
+ return result;
17
+ }
18
+ assertArgument(false, "invalid BytesLike value", name || "value", value);
19
+ }
20
+ function getBytes(value, name) {
21
+ return _getBytes(value, name, false);
22
+ }
23
+ function getBytesCopy(value, name) {
24
+ return _getBytes(value, name, true);
25
+ }
26
+ function isHexString(value, length) {
27
+ if (typeof value !== "string" || !value.match(/^0x[0-9A-Fa-f]*$/)) {
28
+ return false;
29
+ }
30
+ if (typeof length === "number" && value.length !== 2 + 2 * length) {
31
+ return false;
32
+ }
33
+ if (length === true && value.length % 2 !== 0) {
34
+ return false;
35
+ }
36
+ return true;
37
+ }
38
+ const HexCharacters = "0123456789abcdef";
39
+ function hexlify(data) {
40
+ const bytes = getBytes(data);
41
+ let result = "0x";
42
+ for (let i = 0; i < bytes.length; i++) {
43
+ const v = bytes[i];
44
+ result += HexCharacters[(v & 240) >> 4] + HexCharacters[v & 15];
45
+ }
46
+ return result;
47
+ }
48
+ function concat(datas) {
49
+ return "0x" + datas.map((d) => hexlify(d).substring(2)).join("");
50
+ }
51
+ function dataSlice(data, start, end) {
52
+ const bytes = getBytes(data);
53
+ if (end != null && end > bytes.length) {
54
+ assert(false, "cannot slice beyond data bounds", "BUFFER_OVERRUN", {
55
+ buffer: bytes,
56
+ length: bytes.length,
57
+ offset: end
58
+ });
59
+ }
60
+ return hexlify(bytes.slice(start == null ? 0 : start, end == null ? bytes.length : end));
61
+ }
62
+ function zeroPad(data, length, left) {
63
+ const bytes = getBytes(data);
64
+ assert(length >= bytes.length, "padding exceeds data length", "BUFFER_OVERRUN", {
65
+ buffer: new Uint8Array(bytes),
66
+ length,
67
+ offset: length + 1
68
+ });
69
+ const result = new Uint8Array(length);
70
+ result.fill(0);
71
+ if (left) {
72
+ result.set(bytes, length - bytes.length);
73
+ } else {
74
+ result.set(bytes, 0);
75
+ }
76
+ return hexlify(result);
77
+ }
78
+ function zeroPadValue(data, length) {
79
+ return zeroPad(data, length, true);
80
+ }
81
+ function zeroPadBytes(data, length) {
82
+ return zeroPad(data, length, false);
15
83
  }
16
84
  export {
17
- requireMimeDb as __require
85
+ concat,
86
+ dataSlice,
87
+ getBytes,
88
+ getBytesCopy,
89
+ hexlify,
90
+ isHexString,
91
+ zeroPadBytes,
92
+ zeroPadValue
18
93
  };
19
94
  //# sourceMappingURL=standards-sdk.es38.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"standards-sdk.es38.js","sources":["../../node_modules/mime-db/index.js"],"sourcesContent":["/*!\n * mime-db\n * Copyright(c) 2014 Jonathan Ong\n * Copyright(c) 2015-2022 Douglas Christopher Wilson\n * MIT Licensed\n */\n\n/**\n * Module exports.\n */\n\nmodule.exports = require('./db.json')\n"],"names":[],"mappings":";;;;;;;;;;;;AAWA,WAAiB;;;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"standards-sdk.es38.js","sources":["../../node_modules/ethers/lib.esm/utils/data.js"],"sourcesContent":["/**\n * Some data helpers.\n *\n *\n * @_subsection api/utils:Data Helpers [about-data]\n */\nimport { assert, assertArgument } from \"./errors.js\";\nfunction _getBytes(value, name, copy) {\n if (value instanceof Uint8Array) {\n if (copy) {\n return new Uint8Array(value);\n }\n return value;\n }\n if (typeof (value) === \"string\" && value.match(/^0x(?:[0-9a-f][0-9a-f])*$/i)) {\n const result = new Uint8Array((value.length - 2) / 2);\n let offset = 2;\n for (let i = 0; i < result.length; i++) {\n result[i] = parseInt(value.substring(offset, offset + 2), 16);\n offset += 2;\n }\n return result;\n }\n assertArgument(false, \"invalid BytesLike value\", name || \"value\", value);\n}\n/**\n * Get a typed Uint8Array for %%value%%. If already a Uint8Array\n * the original %%value%% is returned; if a copy is required use\n * [[getBytesCopy]].\n *\n * @see: getBytesCopy\n */\nexport function getBytes(value, name) {\n return _getBytes(value, name, false);\n}\n/**\n * Get a typed Uint8Array for %%value%%, creating a copy if necessary\n * to prevent any modifications of the returned value from being\n * reflected elsewhere.\n *\n * @see: getBytes\n */\nexport function getBytesCopy(value, name) {\n return _getBytes(value, name, true);\n}\n/**\n * Returns true if %%value%% is a valid [[HexString]].\n *\n * If %%length%% is ``true`` or a //number//, it also checks that\n * %%value%% is a valid [[DataHexString]] of %%length%% (if a //number//)\n * bytes of data (e.g. ``0x1234`` is 2 bytes).\n */\nexport function isHexString(value, length) {\n if (typeof (value) !== \"string\" || !value.match(/^0x[0-9A-Fa-f]*$/)) {\n return false;\n }\n if (typeof (length) === \"number\" && value.length !== 2 + 2 * length) {\n return false;\n }\n if (length === true && (value.length % 2) !== 0) {\n return false;\n }\n return true;\n}\n/**\n * Returns true if %%value%% is a valid representation of arbitrary\n * data (i.e. a valid [[DataHexString]] or a Uint8Array).\n */\nexport function isBytesLike(value) {\n return (isHexString(value, true) || (value instanceof Uint8Array));\n}\nconst HexCharacters = \"0123456789abcdef\";\n/**\n * Returns a [[DataHexString]] representation of %%data%%.\n */\nexport function hexlify(data) {\n const bytes = getBytes(data);\n let result = \"0x\";\n for (let i = 0; i < bytes.length; i++) {\n const v = bytes[i];\n result += HexCharacters[(v & 0xf0) >> 4] + HexCharacters[v & 0x0f];\n }\n return result;\n}\n/**\n * Returns a [[DataHexString]] by concatenating all values\n * within %%data%%.\n */\nexport function concat(datas) {\n return \"0x\" + datas.map((d) => hexlify(d).substring(2)).join(\"\");\n}\n/**\n * Returns the length of %%data%%, in bytes.\n */\nexport function dataLength(data) {\n if (isHexString(data, true)) {\n return (data.length - 2) / 2;\n }\n return getBytes(data).length;\n}\n/**\n * Returns a [[DataHexString]] by slicing %%data%% from the %%start%%\n * offset to the %%end%% offset.\n *\n * By default %%start%% is 0 and %%end%% is the length of %%data%%.\n */\nexport function dataSlice(data, start, end) {\n const bytes = getBytes(data);\n if (end != null && end > bytes.length) {\n assert(false, \"cannot slice beyond data bounds\", \"BUFFER_OVERRUN\", {\n buffer: bytes, length: bytes.length, offset: end\n });\n }\n return hexlify(bytes.slice((start == null) ? 0 : start, (end == null) ? bytes.length : end));\n}\n/**\n * Return the [[DataHexString]] result by stripping all **leading**\n ** zero bytes from %%data%%.\n */\nexport function stripZerosLeft(data) {\n let bytes = hexlify(data).substring(2);\n while (bytes.startsWith(\"00\")) {\n bytes = bytes.substring(2);\n }\n return \"0x\" + bytes;\n}\nfunction zeroPad(data, length, left) {\n const bytes = getBytes(data);\n assert(length >= bytes.length, \"padding exceeds data length\", \"BUFFER_OVERRUN\", {\n buffer: new Uint8Array(bytes),\n length: length,\n offset: length + 1\n });\n const result = new Uint8Array(length);\n result.fill(0);\n if (left) {\n result.set(bytes, length - bytes.length);\n }\n else {\n result.set(bytes, 0);\n }\n return hexlify(result);\n}\n/**\n * Return the [[DataHexString]] of %%data%% padded on the **left**\n * to %%length%% bytes.\n *\n * If %%data%% already exceeds %%length%%, a [[BufferOverrunError]] is\n * thrown.\n *\n * This pads data the same as **values** are in Solidity\n * (e.g. ``uint128``).\n */\nexport function zeroPadValue(data, length) {\n return zeroPad(data, length, true);\n}\n/**\n * Return the [[DataHexString]] of %%data%% padded on the **right**\n * to %%length%% bytes.\n *\n * If %%data%% already exceeds %%length%%, a [[BufferOverrunError]] is\n * thrown.\n *\n * This pads data the same as **bytes** are in Solidity\n * (e.g. ``bytes16``).\n */\nexport function zeroPadBytes(data, length) {\n return zeroPad(data, length, false);\n}\n//# sourceMappingURL=data.js.map"],"names":[],"mappings":";AAOA,SAAS,UAAU,OAAO,MAAM,MAAM;AAClC,MAAI,iBAAiB,YAAY;AAC7B,QAAI,MAAM;AACN,aAAO,IAAI,WAAW,KAAK;AAAA,IACvC;AACQ,WAAO;AAAA,EACf;AACI,MAAI,OAAQ,UAAW,YAAY,MAAM,MAAM,4BAA4B,GAAG;AAC1E,UAAM,SAAS,IAAI,YAAY,MAAM,SAAS,KAAK,CAAC;AACpD,QAAI,SAAS;AACb,aAAS,IAAI,GAAG,IAAI,OAAO,QAAQ,KAAK;AACpC,aAAO,CAAC,IAAI,SAAS,MAAM,UAAU,QAAQ,SAAS,CAAC,GAAG,EAAE;AAC5D,gBAAU;AAAA,IACtB;AACQ,WAAO;AAAA,EACf;AACI,iBAAe,OAAO,2BAA2B,QAAQ,SAAS,KAAK;AAC3E;AAQO,SAAS,SAAS,OAAO,MAAM;AAClC,SAAO,UAAU,OAAO,MAAM,KAAK;AACvC;AAQO,SAAS,aAAa,OAAO,MAAM;AACtC,SAAO,UAAU,OAAO,MAAM,IAAI;AACtC;AAQO,SAAS,YAAY,OAAO,QAAQ;AACvC,MAAI,OAAQ,UAAW,YAAY,CAAC,MAAM,MAAM,kBAAkB,GAAG;AACjE,WAAO;AAAA,EACf;AACI,MAAI,OAAQ,WAAY,YAAY,MAAM,WAAW,IAAI,IAAI,QAAQ;AACjE,WAAO;AAAA,EACf;AACI,MAAI,WAAW,QAAS,MAAM,SAAS,MAAO,GAAG;AAC7C,WAAO;AAAA,EACf;AACI,SAAO;AACX;AAQA,MAAM,gBAAgB;AAIf,SAAS,QAAQ,MAAM;AAC1B,QAAM,QAAQ,SAAS,IAAI;AAC3B,MAAI,SAAS;AACb,WAAS,IAAI,GAAG,IAAI,MAAM,QAAQ,KAAK;AACnC,UAAM,IAAI,MAAM,CAAC;AACjB,cAAU,eAAe,IAAI,QAAS,CAAC,IAAI,cAAc,IAAI,EAAI;AAAA,EACzE;AACI,SAAO;AACX;AAKO,SAAS,OAAO,OAAO;AAC1B,SAAO,OAAO,MAAM,IAAI,CAAC,MAAM,QAAQ,CAAC,EAAE,UAAU,CAAC,CAAC,EAAE,KAAK,EAAE;AACnE;AAgBO,SAAS,UAAU,MAAM,OAAO,KAAK;AACxC,QAAM,QAAQ,SAAS,IAAI;AAC3B,MAAI,OAAO,QAAQ,MAAM,MAAM,QAAQ;AACnC,WAAO,OAAO,mCAAmC,kBAAkB;AAAA,MAC/D,QAAQ;AAAA,MAAO,QAAQ,MAAM;AAAA,MAAQ,QAAQ;AAAA,IACzD,CAAS;AAAA,EACT;AACI,SAAO,QAAQ,MAAM,MAAO,SAAS,OAAQ,IAAI,OAAQ,OAAO,OAAQ,MAAM,SAAS,GAAG,CAAC;AAC/F;AAYA,SAAS,QAAQ,MAAM,QAAQ,MAAM;AACjC,QAAM,QAAQ,SAAS,IAAI;AAC3B,SAAO,UAAU,MAAM,QAAQ,+BAA+B,kBAAkB;AAAA,IAC5E,QAAQ,IAAI,WAAW,KAAK;AAAA,IAC5B;AAAA,IACA,QAAQ,SAAS;AAAA,EACzB,CAAK;AACD,QAAM,SAAS,IAAI,WAAW,MAAM;AACpC,SAAO,KAAK,CAAC;AACb,MAAI,MAAM;AACN,WAAO,IAAI,OAAO,SAAS,MAAM,MAAM;AAAA,EAC/C,OACS;AACD,WAAO,IAAI,OAAO,CAAC;AAAA,EAC3B;AACI,SAAO,QAAQ,MAAM;AACzB;AAWO,SAAS,aAAa,MAAM,QAAQ;AACvC,SAAO,QAAQ,MAAM,QAAQ,IAAI;AACrC;AAWO,SAAS,aAAa,MAAM,QAAQ;AACvC,SAAO,QAAQ,MAAM,QAAQ,KAAK;AACtC;","x_google_ignoreList":[0]}