@t2000/cli 0.22.22 → 0.22.24

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 (44) hide show
  1. package/README.md +1 -10
  2. package/dist/{ccip-3TXHQUZ5.js → ccip-JEEJV65M.js} +3 -3
  3. package/dist/{chunk-3W7OQGNS.js → chunk-3XUF7GM3.js} +21 -42
  4. package/dist/chunk-3XUF7GM3.js.map +1 -0
  5. package/dist/chunk-77SWBATH.js +204 -0
  6. package/dist/chunk-77SWBATH.js.map +1 -0
  7. package/dist/{chunk-ML6HST4W.js → chunk-A5X4KG7U.js} +1878 -341
  8. package/dist/chunk-A5X4KG7U.js.map +1 -0
  9. package/dist/{chunk-ZNF5QSAT.js → chunk-BPTNEFB5.js} +33491 -24904
  10. package/dist/chunk-BPTNEFB5.js.map +1 -0
  11. package/dist/{chunk-VREOXJUB.js → chunk-EEPD7SHV.js} +15455 -14941
  12. package/dist/chunk-EEPD7SHV.js.map +1 -0
  13. package/dist/{chunk-AB65Y674.js → chunk-V7PXDEKG.js} +2 -2
  14. package/dist/chunk-V7PXDEKG.js.map +1 -0
  15. package/dist/chunk-XOAZJ42V.js +4016 -0
  16. package/dist/chunk-XOAZJ42V.js.map +1 -0
  17. package/dist/client-CK5OR2TP.js +746 -0
  18. package/dist/client-CK5OR2TP.js.map +1 -0
  19. package/dist/{client-SYS6Z5RX.js → client-R3NRAXMD.js} +5715 -2933
  20. package/dist/client-R3NRAXMD.js.map +1 -0
  21. package/dist/{dist-73ESA7QZ.js → dist-MJOXMRDV.js} +135 -4259
  22. package/dist/dist-MJOXMRDV.js.map +1 -0
  23. package/dist/{dist-IANNA5N7.js → dist-TWST5EWE.js} +11 -27
  24. package/dist/{esm-IQVNJILX.js → esm-QBJBHFZA.js} +11 -11
  25. package/dist/esm-QBJBHFZA.js.map +1 -0
  26. package/dist/index.js +125 -284
  27. package/dist/index.js.map +1 -1
  28. package/package.json +4 -4
  29. package/dist/chunk-3W7OQGNS.js.map +0 -1
  30. package/dist/chunk-AB65Y674.js.map +0 -1
  31. package/dist/chunk-H66DC3S3.js +0 -1908
  32. package/dist/chunk-H66DC3S3.js.map +0 -1
  33. package/dist/chunk-IHPSFXUW.js +0 -5002
  34. package/dist/chunk-IHPSFXUW.js.map +0 -1
  35. package/dist/chunk-ML6HST4W.js.map +0 -1
  36. package/dist/chunk-VREOXJUB.js.map +0 -1
  37. package/dist/chunk-ZNF5QSAT.js.map +0 -1
  38. package/dist/client-4DBCJNJO.js +0 -117
  39. package/dist/client-4DBCJNJO.js.map +0 -1
  40. package/dist/client-SYS6Z5RX.js.map +0 -1
  41. package/dist/dist-73ESA7QZ.js.map +0 -1
  42. package/dist/esm-IQVNJILX.js.map +0 -1
  43. /package/dist/{ccip-3TXHQUZ5.js.map → ccip-JEEJV65M.js.map} +0 -0
  44. /package/dist/{dist-IANNA5N7.js.map → dist-TWST5EWE.js.map} +0 -0
@@ -0,0 +1,204 @@
1
+ import { createRequire as __createRequire } from 'module'; import { fileURLToPath as __fileURLToPath } from 'url'; import { dirname as __pathDirname } from 'path'; const require = __createRequire(import.meta.url); const __filename = __fileURLToPath(import.meta.url); const __dirname = __pathDirname(__filename);
2
+ import {
3
+ Hash,
4
+ abytes,
5
+ aexists,
6
+ anumber,
7
+ aoutput,
8
+ clean,
9
+ createHasher,
10
+ rotlBH,
11
+ rotlBL,
12
+ rotlSH,
13
+ rotlSL,
14
+ split,
15
+ swap32IfBE,
16
+ toBytes,
17
+ u32
18
+ } from "./chunk-7LGHVVIJ.js";
19
+
20
+ // ../../node_modules/.pnpm/@noble+hashes@1.8.0/node_modules/@noble/hashes/esm/sha3.js
21
+ var _0n = BigInt(0);
22
+ var _1n = BigInt(1);
23
+ var _2n = BigInt(2);
24
+ var _7n = BigInt(7);
25
+ var _256n = BigInt(256);
26
+ var _0x71n = BigInt(113);
27
+ var SHA3_PI = [];
28
+ var SHA3_ROTL = [];
29
+ var _SHA3_IOTA = [];
30
+ for (let round = 0, R = _1n, x = 1, y = 0; round < 24; round++) {
31
+ [x, y] = [y, (2 * x + 3 * y) % 5];
32
+ SHA3_PI.push(2 * (5 * y + x));
33
+ SHA3_ROTL.push((round + 1) * (round + 2) / 2 % 64);
34
+ let t = _0n;
35
+ for (let j = 0; j < 7; j++) {
36
+ R = (R << _1n ^ (R >> _7n) * _0x71n) % _256n;
37
+ if (R & _2n)
38
+ t ^= _1n << (_1n << /* @__PURE__ */ BigInt(j)) - _1n;
39
+ }
40
+ _SHA3_IOTA.push(t);
41
+ }
42
+ var IOTAS = split(_SHA3_IOTA, true);
43
+ var SHA3_IOTA_H = IOTAS[0];
44
+ var SHA3_IOTA_L = IOTAS[1];
45
+ var rotlH = (h, l, s) => s > 32 ? rotlBH(h, l, s) : rotlSH(h, l, s);
46
+ var rotlL = (h, l, s) => s > 32 ? rotlBL(h, l, s) : rotlSL(h, l, s);
47
+ function keccakP(s, rounds = 24) {
48
+ const B = new Uint32Array(5 * 2);
49
+ for (let round = 24 - rounds; round < 24; round++) {
50
+ for (let x = 0; x < 10; x++)
51
+ B[x] = s[x] ^ s[x + 10] ^ s[x + 20] ^ s[x + 30] ^ s[x + 40];
52
+ for (let x = 0; x < 10; x += 2) {
53
+ const idx1 = (x + 8) % 10;
54
+ const idx0 = (x + 2) % 10;
55
+ const B0 = B[idx0];
56
+ const B1 = B[idx0 + 1];
57
+ const Th = rotlH(B0, B1, 1) ^ B[idx1];
58
+ const Tl = rotlL(B0, B1, 1) ^ B[idx1 + 1];
59
+ for (let y = 0; y < 50; y += 10) {
60
+ s[x + y] ^= Th;
61
+ s[x + y + 1] ^= Tl;
62
+ }
63
+ }
64
+ let curH = s[2];
65
+ let curL = s[3];
66
+ for (let t = 0; t < 24; t++) {
67
+ const shift = SHA3_ROTL[t];
68
+ const Th = rotlH(curH, curL, shift);
69
+ const Tl = rotlL(curH, curL, shift);
70
+ const PI = SHA3_PI[t];
71
+ curH = s[PI];
72
+ curL = s[PI + 1];
73
+ s[PI] = Th;
74
+ s[PI + 1] = Tl;
75
+ }
76
+ for (let y = 0; y < 50; y += 10) {
77
+ for (let x = 0; x < 10; x++)
78
+ B[x] = s[y + x];
79
+ for (let x = 0; x < 10; x++)
80
+ s[y + x] ^= ~B[(x + 2) % 10] & B[(x + 4) % 10];
81
+ }
82
+ s[0] ^= SHA3_IOTA_H[round];
83
+ s[1] ^= SHA3_IOTA_L[round];
84
+ }
85
+ clean(B);
86
+ }
87
+ var Keccak = class _Keccak extends Hash {
88
+ // NOTE: we accept arguments in bytes instead of bits here.
89
+ constructor(blockLen, suffix, outputLen, enableXOF = false, rounds = 24) {
90
+ super();
91
+ this.pos = 0;
92
+ this.posOut = 0;
93
+ this.finished = false;
94
+ this.destroyed = false;
95
+ this.enableXOF = false;
96
+ this.blockLen = blockLen;
97
+ this.suffix = suffix;
98
+ this.outputLen = outputLen;
99
+ this.enableXOF = enableXOF;
100
+ this.rounds = rounds;
101
+ anumber(outputLen);
102
+ if (!(0 < blockLen && blockLen < 200))
103
+ throw new Error("only keccak-f1600 function is supported");
104
+ this.state = new Uint8Array(200);
105
+ this.state32 = u32(this.state);
106
+ }
107
+ clone() {
108
+ return this._cloneInto();
109
+ }
110
+ keccak() {
111
+ swap32IfBE(this.state32);
112
+ keccakP(this.state32, this.rounds);
113
+ swap32IfBE(this.state32);
114
+ this.posOut = 0;
115
+ this.pos = 0;
116
+ }
117
+ update(data) {
118
+ aexists(this);
119
+ data = toBytes(data);
120
+ abytes(data);
121
+ const { blockLen, state } = this;
122
+ const len = data.length;
123
+ for (let pos = 0; pos < len; ) {
124
+ const take = Math.min(blockLen - this.pos, len - pos);
125
+ for (let i = 0; i < take; i++)
126
+ state[this.pos++] ^= data[pos++];
127
+ if (this.pos === blockLen)
128
+ this.keccak();
129
+ }
130
+ return this;
131
+ }
132
+ finish() {
133
+ if (this.finished)
134
+ return;
135
+ this.finished = true;
136
+ const { state, suffix, pos, blockLen } = this;
137
+ state[pos] ^= suffix;
138
+ if ((suffix & 128) !== 0 && pos === blockLen - 1)
139
+ this.keccak();
140
+ state[blockLen - 1] ^= 128;
141
+ this.keccak();
142
+ }
143
+ writeInto(out) {
144
+ aexists(this, false);
145
+ abytes(out);
146
+ this.finish();
147
+ const bufferOut = this.state;
148
+ const { blockLen } = this;
149
+ for (let pos = 0, len = out.length; pos < len; ) {
150
+ if (this.posOut >= blockLen)
151
+ this.keccak();
152
+ const take = Math.min(blockLen - this.posOut, len - pos);
153
+ out.set(bufferOut.subarray(this.posOut, this.posOut + take), pos);
154
+ this.posOut += take;
155
+ pos += take;
156
+ }
157
+ return out;
158
+ }
159
+ xofInto(out) {
160
+ if (!this.enableXOF)
161
+ throw new Error("XOF is not possible for this instance");
162
+ return this.writeInto(out);
163
+ }
164
+ xof(bytes) {
165
+ anumber(bytes);
166
+ return this.xofInto(new Uint8Array(bytes));
167
+ }
168
+ digestInto(out) {
169
+ aoutput(out, this);
170
+ if (this.finished)
171
+ throw new Error("digest() was already called");
172
+ this.writeInto(out);
173
+ this.destroy();
174
+ return out;
175
+ }
176
+ digest() {
177
+ return this.digestInto(new Uint8Array(this.outputLen));
178
+ }
179
+ destroy() {
180
+ this.destroyed = true;
181
+ clean(this.state);
182
+ }
183
+ _cloneInto(to) {
184
+ const { blockLen, suffix, outputLen, rounds, enableXOF } = this;
185
+ to || (to = new _Keccak(blockLen, suffix, outputLen, enableXOF, rounds));
186
+ to.state32.set(this.state32);
187
+ to.pos = this.pos;
188
+ to.posOut = this.posOut;
189
+ to.finished = this.finished;
190
+ to.rounds = rounds;
191
+ to.suffix = suffix;
192
+ to.outputLen = outputLen;
193
+ to.enableXOF = enableXOF;
194
+ to.destroyed = this.destroyed;
195
+ return to;
196
+ }
197
+ };
198
+ var gen = (suffix, blockLen, outputLen) => createHasher(() => new Keccak(blockLen, suffix, outputLen));
199
+ var keccak_256 = /* @__PURE__ */ (() => gen(1, 136, 256 / 8))();
200
+
201
+ export {
202
+ keccak_256
203
+ };
204
+ //# sourceMappingURL=chunk-77SWBATH.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../node_modules/.pnpm/@noble+hashes@1.8.0/node_modules/@noble/hashes/src/sha3.ts"],"sourcesContent":["/**\n * SHA3 (keccak) hash function, based on a new \"Sponge function\" design.\n * Different from older hashes, the internal state is bigger than output size.\n *\n * Check out [FIPS-202](https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.202.pdf),\n * [Website](https://keccak.team/keccak.html),\n * [the differences between SHA-3 and Keccak](https://crypto.stackexchange.com/questions/15727/what-are-the-key-differences-between-the-draft-sha-3-standard-and-the-keccak-sub).\n *\n * Check out `sha3-addons` module for cSHAKE, k12, and others.\n * @module\n */\nimport { rotlBH, rotlBL, rotlSH, rotlSL, split } from './_u64.ts';\n// prettier-ignore\nimport {\n abytes, aexists, anumber, aoutput,\n clean, createHasher, createXOFer, Hash,\n swap32IfBE,\n toBytes, u32,\n type CHash, type CHashXO, type HashXOF, type Input\n} from './utils.ts';\n\n// No __PURE__ annotations in sha3 header:\n// EVERYTHING is in fact used on every export.\n// Various per round constants calculations\nconst _0n = BigInt(0);\nconst _1n = BigInt(1);\nconst _2n = BigInt(2);\nconst _7n = BigInt(7);\nconst _256n = BigInt(256);\nconst _0x71n = BigInt(0x71);\nconst SHA3_PI: number[] = [];\nconst SHA3_ROTL: number[] = [];\nconst _SHA3_IOTA: bigint[] = [];\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) t ^= _1n << ((_1n << /* @__PURE__ */ BigInt(j)) - _1n);\n }\n _SHA3_IOTA.push(t);\n}\nconst IOTAS = split(_SHA3_IOTA, true);\nconst SHA3_IOTA_H = IOTAS[0];\nconst SHA3_IOTA_L = IOTAS[1];\n\n// Left rotation (without 0, 32, 64)\nconst rotlH = (h: number, l: number, s: number) => (s > 32 ? rotlBH(h, l, s) : rotlSH(h, l, s));\nconst rotlL = (h: number, l: number, s: number) => (s > 32 ? rotlBL(h, l, s) : rotlSL(h, l, s));\n\n/** `keccakf1600` internal function, additionally allows to adjust round count. */\nexport function keccakP(s: Uint32Array, rounds: number = 24): void {\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++) 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++) B[x] = s[y + x];\n for (let x = 0; x < 10; x++) 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 clean(B);\n}\n\n/** Keccak sponge function. */\nexport class Keccak extends Hash<Keccak> implements HashXOF<Keccak> {\n protected state: Uint8Array;\n protected pos = 0;\n protected posOut = 0;\n protected finished = false;\n protected state32: Uint32Array;\n protected destroyed = false;\n\n public blockLen: number;\n public suffix: number;\n public outputLen: number;\n protected enableXOF = false;\n protected rounds: number;\n\n // NOTE: we accept arguments in bytes instead of bits here.\n constructor(\n blockLen: number,\n suffix: number,\n outputLen: number,\n enableXOF = false,\n rounds: number = 24\n ) {\n super();\n this.blockLen = blockLen;\n this.suffix = suffix;\n this.outputLen = outputLen;\n this.enableXOF = enableXOF;\n this.rounds = rounds;\n // Can be passed from user as dkLen\n anumber(outputLen);\n // 1600 = 5x5 matrix of 64bit. 1600 bits === 200 bytes\n // 0 < blockLen < 200\n if (!(0 < blockLen && blockLen < 200))\n throw new Error('only keccak-f1600 function is supported');\n this.state = new Uint8Array(200);\n this.state32 = u32(this.state);\n }\n clone(): Keccak {\n return this._cloneInto();\n }\n protected keccak(): void {\n swap32IfBE(this.state32);\n keccakP(this.state32, this.rounds);\n swap32IfBE(this.state32);\n this.posOut = 0;\n this.pos = 0;\n }\n update(data: Input): this {\n aexists(this);\n data = toBytes(data);\n abytes(data);\n const { blockLen, state } = this;\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++) state[this.pos++] ^= data[pos++];\n if (this.pos === blockLen) this.keccak();\n }\n return this;\n }\n protected finish(): void {\n if (this.finished) 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) this.keccak();\n state[blockLen - 1] ^= 0x80;\n this.keccak();\n }\n protected writeInto(out: Uint8Array): Uint8Array {\n aexists(this, false);\n abytes(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) 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: Uint8Array): Uint8Array {\n // Sha3/Keccak usage with XOF is probably mistake, only SHAKE instances can do XOF\n if (!this.enableXOF) throw new Error('XOF is not possible for this instance');\n return this.writeInto(out);\n }\n xof(bytes: number): Uint8Array {\n anumber(bytes);\n return this.xofInto(new Uint8Array(bytes));\n }\n digestInto(out: Uint8Array): Uint8Array {\n aoutput(out, this);\n if (this.finished) throw new Error('digest() was already called');\n this.writeInto(out);\n this.destroy();\n return out;\n }\n digest(): Uint8Array {\n return this.digestInto(new Uint8Array(this.outputLen));\n }\n destroy(): void {\n this.destroyed = true;\n clean(this.state);\n }\n _cloneInto(to?: Keccak): Keccak {\n const { blockLen, suffix, outputLen, rounds, enableXOF } = this;\n 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}\n\nconst gen = (suffix: number, blockLen: number, outputLen: number) =>\n createHasher(() => new Keccak(blockLen, suffix, outputLen));\n\n/** SHA3-224 hash function. */\nexport const sha3_224: CHash = /* @__PURE__ */ (() => gen(0x06, 144, 224 / 8))();\n/** SHA3-256 hash function. Different from keccak-256. */\nexport const sha3_256: CHash = /* @__PURE__ */ (() => gen(0x06, 136, 256 / 8))();\n/** SHA3-384 hash function. */\nexport const sha3_384: CHash = /* @__PURE__ */ (() => gen(0x06, 104, 384 / 8))();\n/** SHA3-512 hash function. */\nexport const sha3_512: CHash = /* @__PURE__ */ (() => gen(0x06, 72, 512 / 8))();\n\n/** keccak-224 hash function. */\nexport const keccak_224: CHash = /* @__PURE__ */ (() => gen(0x01, 144, 224 / 8))();\n/** keccak-256 hash function. Different from SHA3-256. */\nexport const keccak_256: CHash = /* @__PURE__ */ (() => gen(0x01, 136, 256 / 8))();\n/** keccak-384 hash function. */\nexport const keccak_384: CHash = /* @__PURE__ */ (() => gen(0x01, 104, 384 / 8))();\n/** keccak-512 hash function. */\nexport const keccak_512: CHash = /* @__PURE__ */ (() => gen(0x01, 72, 512 / 8))();\n\nexport type ShakeOpts = { dkLen?: number };\n\nconst genShake = (suffix: number, blockLen: number, outputLen: number) =>\n createXOFer<HashXOF<Keccak>, ShakeOpts>(\n (opts: ShakeOpts = {}) =>\n new Keccak(blockLen, suffix, opts.dkLen === undefined ? outputLen : opts.dkLen, true)\n );\n\n/** SHAKE128 XOF with 128-bit security. */\nexport const shake128: CHashXO = /* @__PURE__ */ (() => genShake(0x1f, 168, 128 / 8))();\n/** SHAKE256 XOF with 256-bit security. */\nexport const shake256: CHashXO = /* @__PURE__ */ (() => genShake(0x1f, 136, 256 / 8))();\n"],"mappings":"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","names":[]}