@lidofinance/lsv-cli 1.8.0 → 1.9.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 (41) hide show
  1. package/README.md +9 -1
  2. package/dist/abi/defi-wrapper/MellowStrategy.d.ts +429 -0
  3. package/dist/abi/defi-wrapper/MellowStrategy.js +892 -0
  4. package/dist/abi/defi-wrapper/MellowStrategy.js.map +1 -0
  5. package/dist/abi/defi-wrapper/index.d.ts +1 -0
  6. package/dist/abi/defi-wrapper/index.js +1 -0
  7. package/dist/abi/defi-wrapper/index.js.map +1 -1
  8. package/dist/configs/constants.d.ts +7 -1
  9. package/dist/features/defi-wrapper/timelock.d.ts +8928 -2
  10. package/dist/features/defi-wrapper/timelock.js +82 -8
  11. package/dist/features/defi-wrapper/timelock.js.map +1 -1
  12. package/dist/programs/defi-wrapper/use-cases/timelock-governance/common/read.js +22 -4
  13. package/dist/programs/defi-wrapper/use-cases/timelock-governance/common/read.js.map +1 -1
  14. package/dist/programs/defi-wrapper/use-cases/timelock-governance/common/write.js +194 -16
  15. package/dist/programs/defi-wrapper/use-cases/timelock-governance/common/write.js.map +1 -1
  16. package/dist/providers/wallet.d.ts +2905 -8441
  17. package/dist/tests/integration/helpers/test-client.d.ts +2071 -5761
  18. package/dist/tests/utils/ipfs-security.test.js +129 -2
  19. package/dist/tests/utils/ipfs-security.test.js.map +1 -1
  20. package/dist/tests/utils/ipfs.test.js +8 -8
  21. package/dist/tests/utils/ipfs.test.js.map +1 -1
  22. package/dist/tests/utils/parse-abi-arguments.test.d.ts +1 -0
  23. package/dist/tests/utils/parse-abi-arguments.test.js +399 -0
  24. package/dist/tests/utils/parse-abi-arguments.test.js.map +1 -0
  25. package/dist/tests/utils/stream-helpers.d.ts +1 -0
  26. package/dist/tests/utils/stream-helpers.js +11 -0
  27. package/dist/tests/utils/stream-helpers.js.map +1 -0
  28. package/dist/utils/env.d.ts +1 -0
  29. package/dist/utils/env.js +8 -0
  30. package/dist/utils/env.js.map +1 -0
  31. package/dist/utils/ipfs.d.ts +4 -2
  32. package/dist/utils/ipfs.js +75 -10
  33. package/dist/utils/ipfs.js.map +1 -1
  34. package/dist/utils/parse-abi-arguments.d.ts +24 -0
  35. package/dist/utils/parse-abi-arguments.js +159 -0
  36. package/dist/utils/parse-abi-arguments.js.map +1 -0
  37. package/dist/utils/rate-limit.d.ts +9 -0
  38. package/dist/utils/rate-limit.js +1 -6
  39. package/dist/utils/rate-limit.js.map +1 -1
  40. package/dist/version/index.js +1 -1
  41. package/package.json +8 -8
@@ -25,7 +25,19 @@ vi.mock('../../utils/logging/console.js', () => ({
25
25
  logInfo: vi.fn(),
26
26
  logTable: vi.fn(),
27
27
  }));
28
+ // Force a cache miss so the cached path falls through to a real fetch,
29
+ // and keep the test from touching the disk.
30
+ vi.mock('node:fs/promises', () => ({
31
+ default: {
32
+ mkdir: vi.fn(async () => { }),
33
+ readFile: vi.fn(async () => {
34
+ throw new Error('ENOENT');
35
+ }),
36
+ writeFile: vi.fn(async () => { }),
37
+ },
38
+ }));
28
39
  import * as ipfs from '../../utils/ipfs.js';
40
+ import { streamOf } from './stream-helpers.js';
29
41
  beforeEach(() => {
30
42
  vi.clearAllMocks();
31
43
  globalThis.fetch = vi.fn();
@@ -48,7 +60,7 @@ describe('IPFS SSRF guards (H2/H3)', () => {
48
60
  test('fetchIPFSDirect allows https gateway', async () => {
49
61
  globalThis.fetch.mockResolvedValueOnce({
50
62
  ok: true,
51
- text: async () => '{"x":1}',
63
+ body: streamOf(new TextEncoder().encode('{"x":1}')),
52
64
  });
53
65
  const result = await ipfs.fetchIPFSDirect({
54
66
  cid: 'abc',
@@ -59,7 +71,7 @@ describe('IPFS SSRF guards (H2/H3)', () => {
59
71
  test('fetchIPFSDirect allows http gateway', async () => {
60
72
  globalThis.fetch.mockResolvedValueOnce({
61
73
  ok: true,
62
- text: async () => '{"y":2}',
74
+ body: streamOf(new TextEncoder().encode('{"y":2}')),
63
75
  });
64
76
  const result = await ipfs.fetchIPFSDirect({
65
77
  cid: 'abc',
@@ -91,6 +103,121 @@ describe('IPFS SSRF guards (H2/H3)', () => {
91
103
  expect(result).toEqual({ IpfsHash: 'Qm123' });
92
104
  });
93
105
  });
106
+ describe('IPFS content size limit', () => {
107
+ const headersOf = (h) => ({
108
+ get: (k) => h[k.toLowerCase()] ?? null,
109
+ });
110
+ // Stub the next fetch() with an ok response carrying the given body and,
111
+ // optionally, a Content-Length header.
112
+ const mockFetchOnce = (body, contentLength) => {
113
+ const headers = contentLength === undefined
114
+ ? {}
115
+ : { 'content-length': String(contentLength) };
116
+ globalThis.fetch.mockResolvedValueOnce({
117
+ ok: true,
118
+ headers: headersOf(headers),
119
+ body,
120
+ });
121
+ };
122
+ // Run fn with IPFS_MAX_CONTENT_BYTES set, always restoring the prior value.
123
+ const withEnvLimit = async (value, fn) => {
124
+ const prev = process.env.IPFS_MAX_CONTENT_BYTES;
125
+ process.env.IPFS_MAX_CONTENT_BYTES = String(value);
126
+ try {
127
+ await fn();
128
+ }
129
+ finally {
130
+ if (prev === undefined)
131
+ delete process.env.IPFS_MAX_CONTENT_BYTES;
132
+ else
133
+ process.env.IPFS_MAX_CONTENT_BYTES = prev;
134
+ }
135
+ };
136
+ test('rejects on Content-Length over limit without reading body', async () => {
137
+ const getReader = vi.fn(() => {
138
+ throw new Error('body must not be read when Content-Length exceeds limit');
139
+ });
140
+ mockFetchOnce({ getReader }, 2_785_017_856);
141
+ await expect(ipfs.fetchIPFSBuffer({ cid: 'abc', maxBytes: 20 * 1024 * 1024 })).rejects.toThrow(/too large|exceeds/i);
142
+ expect(getReader).not.toHaveBeenCalled();
143
+ });
144
+ test('aborts streaming when body exceeds limit (no Content-Length)', async () => {
145
+ mockFetchOnce(streamOf(new Uint8Array(300 * 1024).fill(7)));
146
+ await expect(ipfs.fetchIPFSBuffer({ cid: 'abc', maxBytes: 128 * 1024 })).rejects.toThrow(/exceeds/i);
147
+ });
148
+ test('returns content within the limit', async () => {
149
+ const payload = new Uint8Array([1, 2, 3, 4, 5]);
150
+ mockFetchOnce(streamOf(payload), payload.byteLength);
151
+ const res = await ipfs.fetchIPFSBuffer({
152
+ cid: 'abc',
153
+ maxBytes: 20 * 1024 * 1024,
154
+ });
155
+ expect(res).toEqual(payload);
156
+ });
157
+ test('fails closed when the response has no body', async () => {
158
+ mockFetchOnce(null);
159
+ await expect(ipfs.fetchIPFSBuffer({ cid: 'abc' })).rejects.toThrow(/no readable body/i);
160
+ });
161
+ test('fetchIPFSDirect aborts streaming when body exceeds limit', async () => {
162
+ mockFetchOnce(streamOf(new TextEncoder().encode('x'.repeat(300 * 1024))));
163
+ await expect(ipfs.fetchIPFSDirect({ cid: 'abc', maxBytes: 128 * 1024 })).rejects.toThrow(/exceeds/i);
164
+ });
165
+ test('enforces the 20MB default when no override / env is set', async () => {
166
+ mockFetchOnce({ getReader: vi.fn() }, 20 * 1024 * 1024 + 1);
167
+ await expect(ipfs.fetchIPFSBuffer({ cid: 'abc' })).rejects.toThrow(`limit of ${20 * 1024 * 1024} bytes`);
168
+ });
169
+ test('IPFS_MAX_CONTENT_BYTES env overrides the default', async () => {
170
+ await withEnvLimit(64 * 1024, async () => {
171
+ mockFetchOnce({ getReader: vi.fn() }, 128 * 1024);
172
+ await expect(ipfs.fetchIPFSBuffer({ cid: 'abc' })).rejects.toThrow(`limit of ${64 * 1024} bytes`);
173
+ });
174
+ });
175
+ test('explicit maxBytes arg takes priority over env', async () => {
176
+ await withEnvLimit(1024 * 1024 * 1024, async () => {
177
+ mockFetchOnce({ getReader: vi.fn() }, 256 * 1024);
178
+ await expect(ipfs.fetchIPFSBuffer({ cid: 'abc', maxBytes: 128 * 1024 })).rejects.toThrow(`limit of ${128 * 1024} bytes`);
179
+ });
180
+ });
181
+ test('streaming enforces limit even when Content-Length lies', async () => {
182
+ // header claims 1 KiB, body is actually 300 KiB
183
+ mockFetchOnce(streamOf(new Uint8Array(300 * 1024).fill(9)), 1024);
184
+ await expect(ipfs.fetchIPFSBuffer({ cid: 'abc', maxBytes: 128 * 1024 })).rejects.toThrow(`exceeds size limit of ${128 * 1024} bytes`);
185
+ });
186
+ test('accepts content exactly at the limit, rejects one byte over', async () => {
187
+ const limit = 200 * 1024;
188
+ mockFetchOnce(streamOf(new Uint8Array(limit).fill(1)));
189
+ const ok = await ipfs.fetchIPFSBuffer({ cid: 'abc', maxBytes: limit });
190
+ expect(ok.byteLength).toBe(limit);
191
+ mockFetchOnce(streamOf(new Uint8Array(limit + 1).fill(1)));
192
+ await expect(ipfs.fetchIPFSBuffer({ cid: 'abc', maxBytes: limit })).rejects.toThrow(`exceeds size limit of ${limit} bytes`);
193
+ });
194
+ test('reassembles a multi-chunk stream in order under the limit', async () => {
195
+ const chunkSize = 64 * 1024;
196
+ const parts = [0, 1, 2, 3, 4].map((i) => new Uint8Array(chunkSize).fill(i + 1));
197
+ const payload = new Uint8Array(chunkSize * parts.length);
198
+ for (const [i, p] of parts.entries()) {
199
+ payload.set(p, i * chunkSize);
200
+ }
201
+ mockFetchOnce(streamOf(payload, chunkSize)); // one read() per chunk
202
+ const res = await ipfs.fetchIPFSBuffer({
203
+ cid: 'abc',
204
+ maxBytes: 20 * 1024 * 1024,
205
+ });
206
+ expect(res).toEqual(payload); // order + bytes preserved across chunks
207
+ });
208
+ // Threading: maxBytes must survive every hop of the public API, not just
209
+ // the leaf fetchIPFSBuffer. A dropped arg at any wrapper = silent bypass.
210
+ test('fetchIPFS (default cached path) threads maxBytes end-to-end', async () => {
211
+ mockFetchOnce(streamOf(new Uint8Array(300 * 1024).fill(3)));
212
+ // cache default true -> WithCacheAndVerify -> DirectAndVerify -> Buffer
213
+ await expect(ipfs.fetchIPFS({ cid: 'abc', maxBytes: 128 * 1024 })).rejects.toThrow(`exceeds size limit of ${128 * 1024} bytes`);
214
+ });
215
+ test('fetchIPFS (no-cache path) threads maxBytes end-to-end', async () => {
216
+ mockFetchOnce(streamOf(new Uint8Array(300 * 1024).fill(4)));
217
+ // cache false -> DirectAndVerify -> Buffer
218
+ await expect(ipfs.fetchIPFS({ cid: 'abc', maxBytes: 128 * 1024 }, false)).rejects.toThrow(`exceeds size limit of ${128 * 1024} bytes`);
219
+ });
220
+ });
94
221
  describe('IPFS CID validation (M6)', () => {
95
222
  test('fetchIPFSDirectAndVerify rejects invalid CID', async () => {
96
223
  await expect(ipfs.fetchIPFSDirectAndVerify('INVALID_CID')).rejects.toThrow('Invalid IPFS CID: INVALID_CID');
@@ -1 +1 @@
1
- {"version":3,"file":"ipfs-security.test.js","sourceRoot":"","sources":["../../../tests/utils/ipfs-security.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ipfs-security.test.js","sourceRoot":"","sources":["../../../tests/utils/ipfs-security.test.ts"],"names":[],"mappings":"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"}
@@ -25,6 +25,7 @@ vi.mock('../../utils/logging/console.js', () => ({
25
25
  }));
26
26
  import { CID } from 'multiformats/cid';
27
27
  import * as ipfs from '../../utils/ipfs.js';
28
+ import { streamOf } from './stream-helpers.js';
28
29
  const fakeCid = CID.parse('bafkreigh2akiscaildcjk2d6gtrevhb7f7esg6k4t4u5p4sqkgfa6vlriu');
29
30
  let logInfo;
30
31
  let logTable;
@@ -42,12 +43,11 @@ describe('ipfs helpers', () => {
42
43
  test('fetchIPFS parses JSON response', async () => {
43
44
  const jsonData = '{"foo":1}';
44
45
  const encoder = new TextEncoder();
45
- const buffer = encoder.encode(jsonData).buffer;
46
+ const bytes = encoder.encode(jsonData);
46
47
  const testCid = fakeCid.toString();
47
48
  globalThis.fetch.mockResolvedValueOnce({
48
49
  ok: true,
49
- text: async () => jsonData,
50
- arrayBuffer: async () => buffer,
50
+ body: streamOf(bytes),
51
51
  });
52
52
  // Mock importer for calculateIPFSAddCID
53
53
  importer.mockImplementationOnce(async function* () {
@@ -66,14 +66,14 @@ describe('ipfs helpers', () => {
66
66
  await expect(ipfs.fetchIPFS({ cid: 'fail' }, false)).rejects.toThrow('Failed to fetch IPFS content: bad');
67
67
  });
68
68
  test('fetchIPFSBuffer returns buffer', async () => {
69
- const buf = new ArrayBuffer(4);
69
+ const bytes = new Uint8Array(4);
70
70
  globalThis.fetch.mockResolvedValueOnce({
71
71
  ok: true,
72
- arrayBuffer: async () => buf,
72
+ body: streamOf(bytes),
73
73
  });
74
74
  const res = await ipfs.fetchIPFSBuffer({ cid: 'abc' });
75
75
  expect(globalThis.fetch).toHaveBeenCalledWith('https://ipfs.io/ipfs/abc');
76
- expect(res).toEqual(new Uint8Array(buf));
76
+ expect(res).toEqual(bytes);
77
77
  });
78
78
  test('calculateIPFSAddCID returns last CID', async () => {
79
79
  importer.mockImplementationOnce(async function* () {
@@ -93,7 +93,7 @@ describe('ipfs helpers', () => {
93
93
  // Mock fetch to prevent actual network calls
94
94
  globalThis.fetch.mockResolvedValueOnce({
95
95
  ok: true,
96
- arrayBuffer: async () => fileContent.buffer,
96
+ body: streamOf(fileContent),
97
97
  });
98
98
  importer.mockImplementationOnce(async function* () {
99
99
  yield { cid: fakeCid };
@@ -112,7 +112,7 @@ describe('ipfs helpers', () => {
112
112
  // Mock fetch to return the file content
113
113
  globalThis.fetch.mockResolvedValueOnce({
114
114
  ok: true,
115
- arrayBuffer: async () => fileContent.buffer,
115
+ body: streamOf(fileContent),
116
116
  });
117
117
  // Mock importer to return different CID
118
118
  importer.mockImplementationOnce(async function* () {
@@ -1 +1 @@
1
- {"version":3,"file":"ipfs.test.js","sourceRoot":"","sources":["../../../tests/utils/ipfs.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ipfs.test.js","sourceRoot":"","sources":["../../../tests/utils/ipfs.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};