@gearbox-protocol/liquidator-v2-config 9.3.0-beta.11 → 9.3.0-beta.13
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.
- package/dist/index.d.ts +50 -49
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +3 -3
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { Address, Transport } from "viem";
|
|
2
2
|
import { CensoredString, ClientWhitelistItem } from "@gearbox-protocol/cli-utils";
|
|
3
3
|
import { z } from "zod/v4";
|
|
4
|
-
import {
|
|
4
|
+
import { GearboxState, MultiCall, PriceUpdate, RawTx } from "@gearbox-protocol/sdk/onchain";
|
|
5
|
+
import { CuratorName } from "@gearbox-protocol/sdk/model";
|
|
5
6
|
import { AccountsPlugin } from "@gearbox-protocol/sdk/plugins/accounts";
|
|
6
7
|
//#region src/batch-liquidator.d.ts
|
|
7
8
|
declare const BatchLiquidatorSchema: z.ZodObject<{
|
|
@@ -43,26 +44,26 @@ declare const BatchLiquidatorSchema: z.ZodObject<{
|
|
|
43
44
|
type: z.ZodLiteral<"slack">;
|
|
44
45
|
webhookUrl: z.ZodPipe<z.ZodUnion<readonly [z.ZodString, z.ZodCustom<import("@gearbox-protocol/cli-utils").CensoredString<string>, import("@gearbox-protocol/cli-utils").CensoredString<string>>]>, z.ZodTransform<import("@gearbox-protocol/cli-utils").CensoredString<string>, string | import("@gearbox-protocol/cli-utils").CensoredString<string>>>;
|
|
45
46
|
alertsOnly: z.ZodOptional<z.ZodPipe<z.ZodAny, z.ZodTransform<boolean, any>>>;
|
|
46
|
-
curator: z.ZodOptional<z.ZodCustom<import("@gearbox-protocol/sdk").
|
|
47
|
+
curator: z.ZodOptional<z.ZodCustom<import("@gearbox-protocol/sdk/model").CuratorName, import("@gearbox-protocol/sdk/model").CuratorName>>;
|
|
47
48
|
}, z.core.$strip> | z.ZodObject<{
|
|
48
49
|
type: z.ZodLiteral<"telegram">;
|
|
49
50
|
token: z.ZodPipe<z.ZodUnion<readonly [z.ZodString, z.ZodCustom<import("@gearbox-protocol/cli-utils").CensoredString<string>, import("@gearbox-protocol/cli-utils").CensoredString<string>>]>, z.ZodTransform<import("@gearbox-protocol/cli-utils").CensoredString<string>, string | import("@gearbox-protocol/cli-utils").CensoredString<string>>>;
|
|
50
51
|
alertsChannel: z.ZodPipe<z.ZodUnion<readonly [z.ZodString, z.ZodCustom<import("@gearbox-protocol/cli-utils").CensoredString<string>, import("@gearbox-protocol/cli-utils").CensoredString<string>>]>, z.ZodTransform<import("@gearbox-protocol/cli-utils").CensoredString<string>, string | import("@gearbox-protocol/cli-utils").CensoredString<string>>>;
|
|
51
52
|
notificationsChannel: z.ZodOptional<z.ZodPipe<z.ZodUnion<readonly [z.ZodString, z.ZodCustom<import("@gearbox-protocol/cli-utils").CensoredString<string>, import("@gearbox-protocol/cli-utils").CensoredString<string>>]>, z.ZodTransform<import("@gearbox-protocol/cli-utils").CensoredString<string>, string | import("@gearbox-protocol/cli-utils").CensoredString<string>>>>;
|
|
52
53
|
prefix: z.ZodOptional<z.ZodString>;
|
|
53
|
-
curator: z.ZodOptional<z.ZodCustom<import("@gearbox-protocol/sdk").
|
|
54
|
+
curator: z.ZodOptional<z.ZodCustom<import("@gearbox-protocol/sdk/model").CuratorName, import("@gearbox-protocol/sdk/model").CuratorName>>;
|
|
54
55
|
}, z.core.$strip>, ...(z.ZodObject<{
|
|
55
56
|
type: z.ZodLiteral<"slack">;
|
|
56
57
|
webhookUrl: z.ZodPipe<z.ZodUnion<readonly [z.ZodString, z.ZodCustom<import("@gearbox-protocol/cli-utils").CensoredString<string>, import("@gearbox-protocol/cli-utils").CensoredString<string>>]>, z.ZodTransform<import("@gearbox-protocol/cli-utils").CensoredString<string>, string | import("@gearbox-protocol/cli-utils").CensoredString<string>>>;
|
|
57
58
|
alertsOnly: z.ZodOptional<z.ZodPipe<z.ZodAny, z.ZodTransform<boolean, any>>>;
|
|
58
|
-
curator: z.ZodOptional<z.ZodCustom<import("@gearbox-protocol/sdk").
|
|
59
|
+
curator: z.ZodOptional<z.ZodCustom<import("@gearbox-protocol/sdk/model").CuratorName, import("@gearbox-protocol/sdk/model").CuratorName>>;
|
|
59
60
|
}, z.core.$strip> | z.ZodObject<{
|
|
60
61
|
type: z.ZodLiteral<"telegram">;
|
|
61
62
|
token: z.ZodPipe<z.ZodUnion<readonly [z.ZodString, z.ZodCustom<import("@gearbox-protocol/cli-utils").CensoredString<string>, import("@gearbox-protocol/cli-utils").CensoredString<string>>]>, z.ZodTransform<import("@gearbox-protocol/cli-utils").CensoredString<string>, string | import("@gearbox-protocol/cli-utils").CensoredString<string>>>;
|
|
62
63
|
alertsChannel: z.ZodPipe<z.ZodUnion<readonly [z.ZodString, z.ZodCustom<import("@gearbox-protocol/cli-utils").CensoredString<string>, import("@gearbox-protocol/cli-utils").CensoredString<string>>]>, z.ZodTransform<import("@gearbox-protocol/cli-utils").CensoredString<string>, string | import("@gearbox-protocol/cli-utils").CensoredString<string>>>;
|
|
63
64
|
notificationsChannel: z.ZodOptional<z.ZodPipe<z.ZodUnion<readonly [z.ZodString, z.ZodCustom<import("@gearbox-protocol/cli-utils").CensoredString<string>, import("@gearbox-protocol/cli-utils").CensoredString<string>>]>, z.ZodTransform<import("@gearbox-protocol/cli-utils").CensoredString<string>, string | import("@gearbox-protocol/cli-utils").CensoredString<string>>>>;
|
|
64
65
|
prefix: z.ZodOptional<z.ZodString>;
|
|
65
|
-
curator: z.ZodOptional<z.ZodCustom<import("@gearbox-protocol/sdk").
|
|
66
|
+
curator: z.ZodOptional<z.ZodCustom<import("@gearbox-protocol/sdk/model").CuratorName, import("@gearbox-protocol/sdk/model").CuratorName>>;
|
|
66
67
|
}, z.core.$strip>)[]], "type">>>>;
|
|
67
68
|
addressProvider: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<`0x${string}`, string>>>;
|
|
68
69
|
marketConfigurators: z.ZodPipe<z.ZodOptional<z.ZodPipe<z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodPipe<z.ZodString, z.ZodTransform<string[], string>>]>, z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<`0x${string}`, string>>>>>, z.ZodTransform<`0x${string}`[] | undefined, `0x${string}`[] | undefined>>;
|
|
@@ -151,26 +152,26 @@ declare const CommonSchema: z.ZodObject<{
|
|
|
151
152
|
type: z.ZodLiteral<"slack">;
|
|
152
153
|
webhookUrl: z.ZodPipe<z.ZodUnion<readonly [z.ZodString, z.ZodCustom<CensoredString<string>, CensoredString<string>>]>, z.ZodTransform<CensoredString<string>, string | CensoredString<string>>>;
|
|
153
154
|
alertsOnly: z.ZodOptional<z.ZodPipe<z.ZodAny, z.ZodTransform<boolean, any>>>;
|
|
154
|
-
curator: z.ZodOptional<z.ZodCustom<import("@gearbox-protocol/sdk").
|
|
155
|
+
curator: z.ZodOptional<z.ZodCustom<import("@gearbox-protocol/sdk/model").CuratorName, import("@gearbox-protocol/sdk/model").CuratorName>>;
|
|
155
156
|
}, z.core.$strip> | z.ZodObject<{
|
|
156
157
|
type: z.ZodLiteral<"telegram">;
|
|
157
158
|
token: z.ZodPipe<z.ZodUnion<readonly [z.ZodString, z.ZodCustom<CensoredString<string>, CensoredString<string>>]>, z.ZodTransform<CensoredString<string>, string | CensoredString<string>>>;
|
|
158
159
|
alertsChannel: z.ZodPipe<z.ZodUnion<readonly [z.ZodString, z.ZodCustom<CensoredString<string>, CensoredString<string>>]>, z.ZodTransform<CensoredString<string>, string | CensoredString<string>>>;
|
|
159
160
|
notificationsChannel: z.ZodOptional<z.ZodPipe<z.ZodUnion<readonly [z.ZodString, z.ZodCustom<CensoredString<string>, CensoredString<string>>]>, z.ZodTransform<CensoredString<string>, string | CensoredString<string>>>>;
|
|
160
161
|
prefix: z.ZodOptional<z.ZodString>;
|
|
161
|
-
curator: z.ZodOptional<z.ZodCustom<import("@gearbox-protocol/sdk").
|
|
162
|
+
curator: z.ZodOptional<z.ZodCustom<import("@gearbox-protocol/sdk/model").CuratorName, import("@gearbox-protocol/sdk/model").CuratorName>>;
|
|
162
163
|
}, z.core.$strip>, ...(z.ZodObject<{
|
|
163
164
|
type: z.ZodLiteral<"slack">;
|
|
164
165
|
webhookUrl: z.ZodPipe<z.ZodUnion<readonly [z.ZodString, z.ZodCustom<CensoredString<string>, CensoredString<string>>]>, z.ZodTransform<CensoredString<string>, string | CensoredString<string>>>;
|
|
165
166
|
alertsOnly: z.ZodOptional<z.ZodPipe<z.ZodAny, z.ZodTransform<boolean, any>>>;
|
|
166
|
-
curator: z.ZodOptional<z.ZodCustom<import("@gearbox-protocol/sdk").
|
|
167
|
+
curator: z.ZodOptional<z.ZodCustom<import("@gearbox-protocol/sdk/model").CuratorName, import("@gearbox-protocol/sdk/model").CuratorName>>;
|
|
167
168
|
}, z.core.$strip> | z.ZodObject<{
|
|
168
169
|
type: z.ZodLiteral<"telegram">;
|
|
169
170
|
token: z.ZodPipe<z.ZodUnion<readonly [z.ZodString, z.ZodCustom<CensoredString<string>, CensoredString<string>>]>, z.ZodTransform<CensoredString<string>, string | CensoredString<string>>>;
|
|
170
171
|
alertsChannel: z.ZodPipe<z.ZodUnion<readonly [z.ZodString, z.ZodCustom<CensoredString<string>, CensoredString<string>>]>, z.ZodTransform<CensoredString<string>, string | CensoredString<string>>>;
|
|
171
172
|
notificationsChannel: z.ZodOptional<z.ZodPipe<z.ZodUnion<readonly [z.ZodString, z.ZodCustom<CensoredString<string>, CensoredString<string>>]>, z.ZodTransform<CensoredString<string>, string | CensoredString<string>>>>;
|
|
172
173
|
prefix: z.ZodOptional<z.ZodString>;
|
|
173
|
-
curator: z.ZodOptional<z.ZodCustom<import("@gearbox-protocol/sdk").
|
|
174
|
+
curator: z.ZodOptional<z.ZodCustom<import("@gearbox-protocol/sdk/model").CuratorName, import("@gearbox-protocol/sdk/model").CuratorName>>;
|
|
174
175
|
}, z.core.$strip>)[]], "type">>>>;
|
|
175
176
|
addressProvider: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<`0x${string}`, string>>>;
|
|
176
177
|
marketConfigurators: z.ZodPipe<z.ZodOptional<z.ZodPipe<z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodPipe<z.ZodString, z.ZodTransform<string[], string>>]>, z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<`0x${string}`, string>>>>>, z.ZodTransform<`0x${string}`[] | undefined, `0x${string}`[] | undefined>>;
|
|
@@ -264,26 +265,26 @@ declare const ConfigSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
264
265
|
type: z.ZodLiteral<"slack">;
|
|
265
266
|
webhookUrl: z.ZodPipe<z.ZodUnion<readonly [z.ZodString, z.ZodCustom<import("@gearbox-protocol/cli-utils").CensoredString<string>, import("@gearbox-protocol/cli-utils").CensoredString<string>>]>, z.ZodTransform<import("@gearbox-protocol/cli-utils").CensoredString<string>, string | import("@gearbox-protocol/cli-utils").CensoredString<string>>>;
|
|
266
267
|
alertsOnly: z.ZodOptional<z.ZodPipe<z.ZodAny, z.ZodTransform<boolean, any>>>;
|
|
267
|
-
curator: z.ZodOptional<z.ZodCustom<import("@gearbox-protocol/sdk").
|
|
268
|
+
curator: z.ZodOptional<z.ZodCustom<import("@gearbox-protocol/sdk/model").CuratorName, import("@gearbox-protocol/sdk/model").CuratorName>>;
|
|
268
269
|
}, z.core.$strip> | z.ZodObject<{
|
|
269
270
|
type: z.ZodLiteral<"telegram">;
|
|
270
271
|
token: z.ZodPipe<z.ZodUnion<readonly [z.ZodString, z.ZodCustom<import("@gearbox-protocol/cli-utils").CensoredString<string>, import("@gearbox-protocol/cli-utils").CensoredString<string>>]>, z.ZodTransform<import("@gearbox-protocol/cli-utils").CensoredString<string>, string | import("@gearbox-protocol/cli-utils").CensoredString<string>>>;
|
|
271
272
|
alertsChannel: z.ZodPipe<z.ZodUnion<readonly [z.ZodString, z.ZodCustom<import("@gearbox-protocol/cli-utils").CensoredString<string>, import("@gearbox-protocol/cli-utils").CensoredString<string>>]>, z.ZodTransform<import("@gearbox-protocol/cli-utils").CensoredString<string>, string | import("@gearbox-protocol/cli-utils").CensoredString<string>>>;
|
|
272
273
|
notificationsChannel: z.ZodOptional<z.ZodPipe<z.ZodUnion<readonly [z.ZodString, z.ZodCustom<import("@gearbox-protocol/cli-utils").CensoredString<string>, import("@gearbox-protocol/cli-utils").CensoredString<string>>]>, z.ZodTransform<import("@gearbox-protocol/cli-utils").CensoredString<string>, string | import("@gearbox-protocol/cli-utils").CensoredString<string>>>>;
|
|
273
274
|
prefix: z.ZodOptional<z.ZodString>;
|
|
274
|
-
curator: z.ZodOptional<z.ZodCustom<import("@gearbox-protocol/sdk").
|
|
275
|
+
curator: z.ZodOptional<z.ZodCustom<import("@gearbox-protocol/sdk/model").CuratorName, import("@gearbox-protocol/sdk/model").CuratorName>>;
|
|
275
276
|
}, z.core.$strip>, ...(z.ZodObject<{
|
|
276
277
|
type: z.ZodLiteral<"slack">;
|
|
277
278
|
webhookUrl: z.ZodPipe<z.ZodUnion<readonly [z.ZodString, z.ZodCustom<import("@gearbox-protocol/cli-utils").CensoredString<string>, import("@gearbox-protocol/cli-utils").CensoredString<string>>]>, z.ZodTransform<import("@gearbox-protocol/cli-utils").CensoredString<string>, string | import("@gearbox-protocol/cli-utils").CensoredString<string>>>;
|
|
278
279
|
alertsOnly: z.ZodOptional<z.ZodPipe<z.ZodAny, z.ZodTransform<boolean, any>>>;
|
|
279
|
-
curator: z.ZodOptional<z.ZodCustom<import("@gearbox-protocol/sdk").
|
|
280
|
+
curator: z.ZodOptional<z.ZodCustom<import("@gearbox-protocol/sdk/model").CuratorName, import("@gearbox-protocol/sdk/model").CuratorName>>;
|
|
280
281
|
}, z.core.$strip> | z.ZodObject<{
|
|
281
282
|
type: z.ZodLiteral<"telegram">;
|
|
282
283
|
token: z.ZodPipe<z.ZodUnion<readonly [z.ZodString, z.ZodCustom<import("@gearbox-protocol/cli-utils").CensoredString<string>, import("@gearbox-protocol/cli-utils").CensoredString<string>>]>, z.ZodTransform<import("@gearbox-protocol/cli-utils").CensoredString<string>, string | import("@gearbox-protocol/cli-utils").CensoredString<string>>>;
|
|
283
284
|
alertsChannel: z.ZodPipe<z.ZodUnion<readonly [z.ZodString, z.ZodCustom<import("@gearbox-protocol/cli-utils").CensoredString<string>, import("@gearbox-protocol/cli-utils").CensoredString<string>>]>, z.ZodTransform<import("@gearbox-protocol/cli-utils").CensoredString<string>, string | import("@gearbox-protocol/cli-utils").CensoredString<string>>>;
|
|
284
285
|
notificationsChannel: z.ZodOptional<z.ZodPipe<z.ZodUnion<readonly [z.ZodString, z.ZodCustom<import("@gearbox-protocol/cli-utils").CensoredString<string>, import("@gearbox-protocol/cli-utils").CensoredString<string>>]>, z.ZodTransform<import("@gearbox-protocol/cli-utils").CensoredString<string>, string | import("@gearbox-protocol/cli-utils").CensoredString<string>>>>;
|
|
285
286
|
prefix: z.ZodOptional<z.ZodString>;
|
|
286
|
-
curator: z.ZodOptional<z.ZodCustom<import("@gearbox-protocol/sdk").
|
|
287
|
+
curator: z.ZodOptional<z.ZodCustom<import("@gearbox-protocol/sdk/model").CuratorName, import("@gearbox-protocol/sdk/model").CuratorName>>;
|
|
287
288
|
}, z.core.$strip>)[]], "type">>>>;
|
|
288
289
|
addressProvider: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<`0x${string}`, string>>>;
|
|
289
290
|
marketConfigurators: z.ZodPipe<z.ZodOptional<z.ZodPipe<z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodPipe<z.ZodString, z.ZodTransform<string[], string>>]>, z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<`0x${string}`, string>>>>>, z.ZodTransform<`0x${string}`[] | undefined, `0x${string}`[] | undefined>>;
|
|
@@ -378,26 +379,26 @@ declare const ConfigSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
378
379
|
type: z.ZodLiteral<"slack">;
|
|
379
380
|
webhookUrl: z.ZodPipe<z.ZodUnion<readonly [z.ZodString, z.ZodCustom<import("@gearbox-protocol/cli-utils").CensoredString<string>, import("@gearbox-protocol/cli-utils").CensoredString<string>>]>, z.ZodTransform<import("@gearbox-protocol/cli-utils").CensoredString<string>, string | import("@gearbox-protocol/cli-utils").CensoredString<string>>>;
|
|
380
381
|
alertsOnly: z.ZodOptional<z.ZodPipe<z.ZodAny, z.ZodTransform<boolean, any>>>;
|
|
381
|
-
curator: z.ZodOptional<z.ZodCustom<import("@gearbox-protocol/sdk").
|
|
382
|
+
curator: z.ZodOptional<z.ZodCustom<import("@gearbox-protocol/sdk/model").CuratorName, import("@gearbox-protocol/sdk/model").CuratorName>>;
|
|
382
383
|
}, z.core.$strip> | z.ZodObject<{
|
|
383
384
|
type: z.ZodLiteral<"telegram">;
|
|
384
385
|
token: z.ZodPipe<z.ZodUnion<readonly [z.ZodString, z.ZodCustom<import("@gearbox-protocol/cli-utils").CensoredString<string>, import("@gearbox-protocol/cli-utils").CensoredString<string>>]>, z.ZodTransform<import("@gearbox-protocol/cli-utils").CensoredString<string>, string | import("@gearbox-protocol/cli-utils").CensoredString<string>>>;
|
|
385
386
|
alertsChannel: z.ZodPipe<z.ZodUnion<readonly [z.ZodString, z.ZodCustom<import("@gearbox-protocol/cli-utils").CensoredString<string>, import("@gearbox-protocol/cli-utils").CensoredString<string>>]>, z.ZodTransform<import("@gearbox-protocol/cli-utils").CensoredString<string>, string | import("@gearbox-protocol/cli-utils").CensoredString<string>>>;
|
|
386
387
|
notificationsChannel: z.ZodOptional<z.ZodPipe<z.ZodUnion<readonly [z.ZodString, z.ZodCustom<import("@gearbox-protocol/cli-utils").CensoredString<string>, import("@gearbox-protocol/cli-utils").CensoredString<string>>]>, z.ZodTransform<import("@gearbox-protocol/cli-utils").CensoredString<string>, string | import("@gearbox-protocol/cli-utils").CensoredString<string>>>>;
|
|
387
388
|
prefix: z.ZodOptional<z.ZodString>;
|
|
388
|
-
curator: z.ZodOptional<z.ZodCustom<import("@gearbox-protocol/sdk").
|
|
389
|
+
curator: z.ZodOptional<z.ZodCustom<import("@gearbox-protocol/sdk/model").CuratorName, import("@gearbox-protocol/sdk/model").CuratorName>>;
|
|
389
390
|
}, z.core.$strip>, ...(z.ZodObject<{
|
|
390
391
|
type: z.ZodLiteral<"slack">;
|
|
391
392
|
webhookUrl: z.ZodPipe<z.ZodUnion<readonly [z.ZodString, z.ZodCustom<import("@gearbox-protocol/cli-utils").CensoredString<string>, import("@gearbox-protocol/cli-utils").CensoredString<string>>]>, z.ZodTransform<import("@gearbox-protocol/cli-utils").CensoredString<string>, string | import("@gearbox-protocol/cli-utils").CensoredString<string>>>;
|
|
392
393
|
alertsOnly: z.ZodOptional<z.ZodPipe<z.ZodAny, z.ZodTransform<boolean, any>>>;
|
|
393
|
-
curator: z.ZodOptional<z.ZodCustom<import("@gearbox-protocol/sdk").
|
|
394
|
+
curator: z.ZodOptional<z.ZodCustom<import("@gearbox-protocol/sdk/model").CuratorName, import("@gearbox-protocol/sdk/model").CuratorName>>;
|
|
394
395
|
}, z.core.$strip> | z.ZodObject<{
|
|
395
396
|
type: z.ZodLiteral<"telegram">;
|
|
396
397
|
token: z.ZodPipe<z.ZodUnion<readonly [z.ZodString, z.ZodCustom<import("@gearbox-protocol/cli-utils").CensoredString<string>, import("@gearbox-protocol/cli-utils").CensoredString<string>>]>, z.ZodTransform<import("@gearbox-protocol/cli-utils").CensoredString<string>, string | import("@gearbox-protocol/cli-utils").CensoredString<string>>>;
|
|
397
398
|
alertsChannel: z.ZodPipe<z.ZodUnion<readonly [z.ZodString, z.ZodCustom<import("@gearbox-protocol/cli-utils").CensoredString<string>, import("@gearbox-protocol/cli-utils").CensoredString<string>>]>, z.ZodTransform<import("@gearbox-protocol/cli-utils").CensoredString<string>, string | import("@gearbox-protocol/cli-utils").CensoredString<string>>>;
|
|
398
399
|
notificationsChannel: z.ZodOptional<z.ZodPipe<z.ZodUnion<readonly [z.ZodString, z.ZodCustom<import("@gearbox-protocol/cli-utils").CensoredString<string>, import("@gearbox-protocol/cli-utils").CensoredString<string>>]>, z.ZodTransform<import("@gearbox-protocol/cli-utils").CensoredString<string>, string | import("@gearbox-protocol/cli-utils").CensoredString<string>>>>;
|
|
399
400
|
prefix: z.ZodOptional<z.ZodString>;
|
|
400
|
-
curator: z.ZodOptional<z.ZodCustom<import("@gearbox-protocol/sdk").
|
|
401
|
+
curator: z.ZodOptional<z.ZodCustom<import("@gearbox-protocol/sdk/model").CuratorName, import("@gearbox-protocol/sdk/model").CuratorName>>;
|
|
401
402
|
}, z.core.$strip>)[]], "type">>>>;
|
|
402
403
|
addressProvider: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<`0x${string}`, string>>>;
|
|
403
404
|
marketConfigurators: z.ZodPipe<z.ZodOptional<z.ZodPipe<z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodPipe<z.ZodString, z.ZodTransform<string[], string>>]>, z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<`0x${string}`, string>>>>>, z.ZodTransform<`0x${string}`[] | undefined, `0x${string}`[] | undefined>>;
|
|
@@ -484,26 +485,26 @@ declare const ConfigSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
484
485
|
type: z.ZodLiteral<"slack">;
|
|
485
486
|
webhookUrl: z.ZodPipe<z.ZodUnion<readonly [z.ZodString, z.ZodCustom<import("@gearbox-protocol/cli-utils").CensoredString<string>, import("@gearbox-protocol/cli-utils").CensoredString<string>>]>, z.ZodTransform<import("@gearbox-protocol/cli-utils").CensoredString<string>, string | import("@gearbox-protocol/cli-utils").CensoredString<string>>>;
|
|
486
487
|
alertsOnly: z.ZodOptional<z.ZodPipe<z.ZodAny, z.ZodTransform<boolean, any>>>;
|
|
487
|
-
curator: z.ZodOptional<z.ZodCustom<import("@gearbox-protocol/sdk").
|
|
488
|
+
curator: z.ZodOptional<z.ZodCustom<import("@gearbox-protocol/sdk/model").CuratorName, import("@gearbox-protocol/sdk/model").CuratorName>>;
|
|
488
489
|
}, z.core.$strip> | z.ZodObject<{
|
|
489
490
|
type: z.ZodLiteral<"telegram">;
|
|
490
491
|
token: z.ZodPipe<z.ZodUnion<readonly [z.ZodString, z.ZodCustom<import("@gearbox-protocol/cli-utils").CensoredString<string>, import("@gearbox-protocol/cli-utils").CensoredString<string>>]>, z.ZodTransform<import("@gearbox-protocol/cli-utils").CensoredString<string>, string | import("@gearbox-protocol/cli-utils").CensoredString<string>>>;
|
|
491
492
|
alertsChannel: z.ZodPipe<z.ZodUnion<readonly [z.ZodString, z.ZodCustom<import("@gearbox-protocol/cli-utils").CensoredString<string>, import("@gearbox-protocol/cli-utils").CensoredString<string>>]>, z.ZodTransform<import("@gearbox-protocol/cli-utils").CensoredString<string>, string | import("@gearbox-protocol/cli-utils").CensoredString<string>>>;
|
|
492
493
|
notificationsChannel: z.ZodOptional<z.ZodPipe<z.ZodUnion<readonly [z.ZodString, z.ZodCustom<import("@gearbox-protocol/cli-utils").CensoredString<string>, import("@gearbox-protocol/cli-utils").CensoredString<string>>]>, z.ZodTransform<import("@gearbox-protocol/cli-utils").CensoredString<string>, string | import("@gearbox-protocol/cli-utils").CensoredString<string>>>>;
|
|
493
494
|
prefix: z.ZodOptional<z.ZodString>;
|
|
494
|
-
curator: z.ZodOptional<z.ZodCustom<import("@gearbox-protocol/sdk").
|
|
495
|
+
curator: z.ZodOptional<z.ZodCustom<import("@gearbox-protocol/sdk/model").CuratorName, import("@gearbox-protocol/sdk/model").CuratorName>>;
|
|
495
496
|
}, z.core.$strip>, ...(z.ZodObject<{
|
|
496
497
|
type: z.ZodLiteral<"slack">;
|
|
497
498
|
webhookUrl: z.ZodPipe<z.ZodUnion<readonly [z.ZodString, z.ZodCustom<import("@gearbox-protocol/cli-utils").CensoredString<string>, import("@gearbox-protocol/cli-utils").CensoredString<string>>]>, z.ZodTransform<import("@gearbox-protocol/cli-utils").CensoredString<string>, string | import("@gearbox-protocol/cli-utils").CensoredString<string>>>;
|
|
498
499
|
alertsOnly: z.ZodOptional<z.ZodPipe<z.ZodAny, z.ZodTransform<boolean, any>>>;
|
|
499
|
-
curator: z.ZodOptional<z.ZodCustom<import("@gearbox-protocol/sdk").
|
|
500
|
+
curator: z.ZodOptional<z.ZodCustom<import("@gearbox-protocol/sdk/model").CuratorName, import("@gearbox-protocol/sdk/model").CuratorName>>;
|
|
500
501
|
}, z.core.$strip> | z.ZodObject<{
|
|
501
502
|
type: z.ZodLiteral<"telegram">;
|
|
502
503
|
token: z.ZodPipe<z.ZodUnion<readonly [z.ZodString, z.ZodCustom<import("@gearbox-protocol/cli-utils").CensoredString<string>, import("@gearbox-protocol/cli-utils").CensoredString<string>>]>, z.ZodTransform<import("@gearbox-protocol/cli-utils").CensoredString<string>, string | import("@gearbox-protocol/cli-utils").CensoredString<string>>>;
|
|
503
504
|
alertsChannel: z.ZodPipe<z.ZodUnion<readonly [z.ZodString, z.ZodCustom<import("@gearbox-protocol/cli-utils").CensoredString<string>, import("@gearbox-protocol/cli-utils").CensoredString<string>>]>, z.ZodTransform<import("@gearbox-protocol/cli-utils").CensoredString<string>, string | import("@gearbox-protocol/cli-utils").CensoredString<string>>>;
|
|
504
505
|
notificationsChannel: z.ZodOptional<z.ZodPipe<z.ZodUnion<readonly [z.ZodString, z.ZodCustom<import("@gearbox-protocol/cli-utils").CensoredString<string>, import("@gearbox-protocol/cli-utils").CensoredString<string>>]>, z.ZodTransform<import("@gearbox-protocol/cli-utils").CensoredString<string>, string | import("@gearbox-protocol/cli-utils").CensoredString<string>>>>;
|
|
505
506
|
prefix: z.ZodOptional<z.ZodString>;
|
|
506
|
-
curator: z.ZodOptional<z.ZodCustom<import("@gearbox-protocol/sdk").
|
|
507
|
+
curator: z.ZodOptional<z.ZodCustom<import("@gearbox-protocol/sdk/model").CuratorName, import("@gearbox-protocol/sdk/model").CuratorName>>;
|
|
507
508
|
}, z.core.$strip>)[]], "type">>>>;
|
|
508
509
|
addressProvider: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<`0x${string}`, string>>>;
|
|
509
510
|
marketConfigurators: z.ZodPipe<z.ZodOptional<z.ZodPipe<z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodPipe<z.ZodString, z.ZodTransform<string[], string>>]>, z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<`0x${string}`, string>>>>>, z.ZodTransform<`0x${string}`[] | undefined, `0x${string}`[] | undefined>>;
|
|
@@ -588,26 +589,26 @@ declare const ConfigSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
588
589
|
type: z.ZodLiteral<"slack">;
|
|
589
590
|
webhookUrl: z.ZodPipe<z.ZodUnion<readonly [z.ZodString, z.ZodCustom<import("@gearbox-protocol/cli-utils").CensoredString<string>, import("@gearbox-protocol/cli-utils").CensoredString<string>>]>, z.ZodTransform<import("@gearbox-protocol/cli-utils").CensoredString<string>, string | import("@gearbox-protocol/cli-utils").CensoredString<string>>>;
|
|
590
591
|
alertsOnly: z.ZodOptional<z.ZodPipe<z.ZodAny, z.ZodTransform<boolean, any>>>;
|
|
591
|
-
curator: z.ZodOptional<z.ZodCustom<import("@gearbox-protocol/sdk").
|
|
592
|
+
curator: z.ZodOptional<z.ZodCustom<import("@gearbox-protocol/sdk/model").CuratorName, import("@gearbox-protocol/sdk/model").CuratorName>>;
|
|
592
593
|
}, z.core.$strip> | z.ZodObject<{
|
|
593
594
|
type: z.ZodLiteral<"telegram">;
|
|
594
595
|
token: z.ZodPipe<z.ZodUnion<readonly [z.ZodString, z.ZodCustom<import("@gearbox-protocol/cli-utils").CensoredString<string>, import("@gearbox-protocol/cli-utils").CensoredString<string>>]>, z.ZodTransform<import("@gearbox-protocol/cli-utils").CensoredString<string>, string | import("@gearbox-protocol/cli-utils").CensoredString<string>>>;
|
|
595
596
|
alertsChannel: z.ZodPipe<z.ZodUnion<readonly [z.ZodString, z.ZodCustom<import("@gearbox-protocol/cli-utils").CensoredString<string>, import("@gearbox-protocol/cli-utils").CensoredString<string>>]>, z.ZodTransform<import("@gearbox-protocol/cli-utils").CensoredString<string>, string | import("@gearbox-protocol/cli-utils").CensoredString<string>>>;
|
|
596
597
|
notificationsChannel: z.ZodOptional<z.ZodPipe<z.ZodUnion<readonly [z.ZodString, z.ZodCustom<import("@gearbox-protocol/cli-utils").CensoredString<string>, import("@gearbox-protocol/cli-utils").CensoredString<string>>]>, z.ZodTransform<import("@gearbox-protocol/cli-utils").CensoredString<string>, string | import("@gearbox-protocol/cli-utils").CensoredString<string>>>>;
|
|
597
598
|
prefix: z.ZodOptional<z.ZodString>;
|
|
598
|
-
curator: z.ZodOptional<z.ZodCustom<import("@gearbox-protocol/sdk").
|
|
599
|
+
curator: z.ZodOptional<z.ZodCustom<import("@gearbox-protocol/sdk/model").CuratorName, import("@gearbox-protocol/sdk/model").CuratorName>>;
|
|
599
600
|
}, z.core.$strip>, ...(z.ZodObject<{
|
|
600
601
|
type: z.ZodLiteral<"slack">;
|
|
601
602
|
webhookUrl: z.ZodPipe<z.ZodUnion<readonly [z.ZodString, z.ZodCustom<import("@gearbox-protocol/cli-utils").CensoredString<string>, import("@gearbox-protocol/cli-utils").CensoredString<string>>]>, z.ZodTransform<import("@gearbox-protocol/cli-utils").CensoredString<string>, string | import("@gearbox-protocol/cli-utils").CensoredString<string>>>;
|
|
602
603
|
alertsOnly: z.ZodOptional<z.ZodPipe<z.ZodAny, z.ZodTransform<boolean, any>>>;
|
|
603
|
-
curator: z.ZodOptional<z.ZodCustom<import("@gearbox-protocol/sdk").
|
|
604
|
+
curator: z.ZodOptional<z.ZodCustom<import("@gearbox-protocol/sdk/model").CuratorName, import("@gearbox-protocol/sdk/model").CuratorName>>;
|
|
604
605
|
}, z.core.$strip> | z.ZodObject<{
|
|
605
606
|
type: z.ZodLiteral<"telegram">;
|
|
606
607
|
token: z.ZodPipe<z.ZodUnion<readonly [z.ZodString, z.ZodCustom<import("@gearbox-protocol/cli-utils").CensoredString<string>, import("@gearbox-protocol/cli-utils").CensoredString<string>>]>, z.ZodTransform<import("@gearbox-protocol/cli-utils").CensoredString<string>, string | import("@gearbox-protocol/cli-utils").CensoredString<string>>>;
|
|
607
608
|
alertsChannel: z.ZodPipe<z.ZodUnion<readonly [z.ZodString, z.ZodCustom<import("@gearbox-protocol/cli-utils").CensoredString<string>, import("@gearbox-protocol/cli-utils").CensoredString<string>>]>, z.ZodTransform<import("@gearbox-protocol/cli-utils").CensoredString<string>, string | import("@gearbox-protocol/cli-utils").CensoredString<string>>>;
|
|
608
609
|
notificationsChannel: z.ZodOptional<z.ZodPipe<z.ZodUnion<readonly [z.ZodString, z.ZodCustom<import("@gearbox-protocol/cli-utils").CensoredString<string>, import("@gearbox-protocol/cli-utils").CensoredString<string>>]>, z.ZodTransform<import("@gearbox-protocol/cli-utils").CensoredString<string>, string | import("@gearbox-protocol/cli-utils").CensoredString<string>>>>;
|
|
609
610
|
prefix: z.ZodOptional<z.ZodString>;
|
|
610
|
-
curator: z.ZodOptional<z.ZodCustom<import("@gearbox-protocol/sdk").
|
|
611
|
+
curator: z.ZodOptional<z.ZodCustom<import("@gearbox-protocol/sdk/model").CuratorName, import("@gearbox-protocol/sdk/model").CuratorName>>;
|
|
611
612
|
}, z.core.$strip>)[]], "type">>>>;
|
|
612
613
|
addressProvider: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<`0x${string}`, string>>>;
|
|
613
614
|
marketConfigurators: z.ZodPipe<z.ZodOptional<z.ZodPipe<z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodPipe<z.ZodString, z.ZodTransform<string[], string>>]>, z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<`0x${string}`, string>>>>>, z.ZodTransform<`0x${string}`[] | undefined, `0x${string}`[] | undefined>>;
|
|
@@ -691,26 +692,26 @@ declare const ConfigSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
691
692
|
type: z.ZodLiteral<"slack">;
|
|
692
693
|
webhookUrl: z.ZodPipe<z.ZodUnion<readonly [z.ZodString, z.ZodCustom<import("@gearbox-protocol/cli-utils").CensoredString<string>, import("@gearbox-protocol/cli-utils").CensoredString<string>>]>, z.ZodTransform<import("@gearbox-protocol/cli-utils").CensoredString<string>, string | import("@gearbox-protocol/cli-utils").CensoredString<string>>>;
|
|
693
694
|
alertsOnly: z.ZodOptional<z.ZodPipe<z.ZodAny, z.ZodTransform<boolean, any>>>;
|
|
694
|
-
curator: z.ZodOptional<z.ZodCustom<import("@gearbox-protocol/sdk").
|
|
695
|
+
curator: z.ZodOptional<z.ZodCustom<import("@gearbox-protocol/sdk/model").CuratorName, import("@gearbox-protocol/sdk/model").CuratorName>>;
|
|
695
696
|
}, z.core.$strip> | z.ZodObject<{
|
|
696
697
|
type: z.ZodLiteral<"telegram">;
|
|
697
698
|
token: z.ZodPipe<z.ZodUnion<readonly [z.ZodString, z.ZodCustom<import("@gearbox-protocol/cli-utils").CensoredString<string>, import("@gearbox-protocol/cli-utils").CensoredString<string>>]>, z.ZodTransform<import("@gearbox-protocol/cli-utils").CensoredString<string>, string | import("@gearbox-protocol/cli-utils").CensoredString<string>>>;
|
|
698
699
|
alertsChannel: z.ZodPipe<z.ZodUnion<readonly [z.ZodString, z.ZodCustom<import("@gearbox-protocol/cli-utils").CensoredString<string>, import("@gearbox-protocol/cli-utils").CensoredString<string>>]>, z.ZodTransform<import("@gearbox-protocol/cli-utils").CensoredString<string>, string | import("@gearbox-protocol/cli-utils").CensoredString<string>>>;
|
|
699
700
|
notificationsChannel: z.ZodOptional<z.ZodPipe<z.ZodUnion<readonly [z.ZodString, z.ZodCustom<import("@gearbox-protocol/cli-utils").CensoredString<string>, import("@gearbox-protocol/cli-utils").CensoredString<string>>]>, z.ZodTransform<import("@gearbox-protocol/cli-utils").CensoredString<string>, string | import("@gearbox-protocol/cli-utils").CensoredString<string>>>>;
|
|
700
701
|
prefix: z.ZodOptional<z.ZodString>;
|
|
701
|
-
curator: z.ZodOptional<z.ZodCustom<import("@gearbox-protocol/sdk").
|
|
702
|
+
curator: z.ZodOptional<z.ZodCustom<import("@gearbox-protocol/sdk/model").CuratorName, import("@gearbox-protocol/sdk/model").CuratorName>>;
|
|
702
703
|
}, z.core.$strip>, ...(z.ZodObject<{
|
|
703
704
|
type: z.ZodLiteral<"slack">;
|
|
704
705
|
webhookUrl: z.ZodPipe<z.ZodUnion<readonly [z.ZodString, z.ZodCustom<import("@gearbox-protocol/cli-utils").CensoredString<string>, import("@gearbox-protocol/cli-utils").CensoredString<string>>]>, z.ZodTransform<import("@gearbox-protocol/cli-utils").CensoredString<string>, string | import("@gearbox-protocol/cli-utils").CensoredString<string>>>;
|
|
705
706
|
alertsOnly: z.ZodOptional<z.ZodPipe<z.ZodAny, z.ZodTransform<boolean, any>>>;
|
|
706
|
-
curator: z.ZodOptional<z.ZodCustom<import("@gearbox-protocol/sdk").
|
|
707
|
+
curator: z.ZodOptional<z.ZodCustom<import("@gearbox-protocol/sdk/model").CuratorName, import("@gearbox-protocol/sdk/model").CuratorName>>;
|
|
707
708
|
}, z.core.$strip> | z.ZodObject<{
|
|
708
709
|
type: z.ZodLiteral<"telegram">;
|
|
709
710
|
token: z.ZodPipe<z.ZodUnion<readonly [z.ZodString, z.ZodCustom<import("@gearbox-protocol/cli-utils").CensoredString<string>, import("@gearbox-protocol/cli-utils").CensoredString<string>>]>, z.ZodTransform<import("@gearbox-protocol/cli-utils").CensoredString<string>, string | import("@gearbox-protocol/cli-utils").CensoredString<string>>>;
|
|
710
711
|
alertsChannel: z.ZodPipe<z.ZodUnion<readonly [z.ZodString, z.ZodCustom<import("@gearbox-protocol/cli-utils").CensoredString<string>, import("@gearbox-protocol/cli-utils").CensoredString<string>>]>, z.ZodTransform<import("@gearbox-protocol/cli-utils").CensoredString<string>, string | import("@gearbox-protocol/cli-utils").CensoredString<string>>>;
|
|
711
712
|
notificationsChannel: z.ZodOptional<z.ZodPipe<z.ZodUnion<readonly [z.ZodString, z.ZodCustom<import("@gearbox-protocol/cli-utils").CensoredString<string>, import("@gearbox-protocol/cli-utils").CensoredString<string>>]>, z.ZodTransform<import("@gearbox-protocol/cli-utils").CensoredString<string>, string | import("@gearbox-protocol/cli-utils").CensoredString<string>>>>;
|
|
712
713
|
prefix: z.ZodOptional<z.ZodString>;
|
|
713
|
-
curator: z.ZodOptional<z.ZodCustom<import("@gearbox-protocol/sdk").
|
|
714
|
+
curator: z.ZodOptional<z.ZodCustom<import("@gearbox-protocol/sdk/model").CuratorName, import("@gearbox-protocol/sdk/model").CuratorName>>;
|
|
714
715
|
}, z.core.$strip>)[]], "type">>>>;
|
|
715
716
|
addressProvider: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<`0x${string}`, string>>>;
|
|
716
717
|
marketConfigurators: z.ZodPipe<z.ZodOptional<z.ZodPipe<z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodPipe<z.ZodString, z.ZodTransform<string[], string>>]>, z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<`0x${string}`, string>>>>>, z.ZodTransform<`0x${string}`[] | undefined, `0x${string}`[] | undefined>>;
|
|
@@ -815,26 +816,26 @@ declare const DeleverageLiquidatorSchema: z.ZodObject<{
|
|
|
815
816
|
type: z.ZodLiteral<"slack">;
|
|
816
817
|
webhookUrl: z.ZodPipe<z.ZodUnion<readonly [z.ZodString, z.ZodCustom<import("@gearbox-protocol/cli-utils").CensoredString<string>, import("@gearbox-protocol/cli-utils").CensoredString<string>>]>, z.ZodTransform<import("@gearbox-protocol/cli-utils").CensoredString<string>, string | import("@gearbox-protocol/cli-utils").CensoredString<string>>>;
|
|
817
818
|
alertsOnly: z.ZodOptional<z.ZodPipe<z.ZodAny, z.ZodTransform<boolean, any>>>;
|
|
818
|
-
curator: z.ZodOptional<z.ZodCustom<import("@gearbox-protocol/sdk").
|
|
819
|
+
curator: z.ZodOptional<z.ZodCustom<import("@gearbox-protocol/sdk/model").CuratorName, import("@gearbox-protocol/sdk/model").CuratorName>>;
|
|
819
820
|
}, z.core.$strip> | z.ZodObject<{
|
|
820
821
|
type: z.ZodLiteral<"telegram">;
|
|
821
822
|
token: z.ZodPipe<z.ZodUnion<readonly [z.ZodString, z.ZodCustom<import("@gearbox-protocol/cli-utils").CensoredString<string>, import("@gearbox-protocol/cli-utils").CensoredString<string>>]>, z.ZodTransform<import("@gearbox-protocol/cli-utils").CensoredString<string>, string | import("@gearbox-protocol/cli-utils").CensoredString<string>>>;
|
|
822
823
|
alertsChannel: z.ZodPipe<z.ZodUnion<readonly [z.ZodString, z.ZodCustom<import("@gearbox-protocol/cli-utils").CensoredString<string>, import("@gearbox-protocol/cli-utils").CensoredString<string>>]>, z.ZodTransform<import("@gearbox-protocol/cli-utils").CensoredString<string>, string | import("@gearbox-protocol/cli-utils").CensoredString<string>>>;
|
|
823
824
|
notificationsChannel: z.ZodOptional<z.ZodPipe<z.ZodUnion<readonly [z.ZodString, z.ZodCustom<import("@gearbox-protocol/cli-utils").CensoredString<string>, import("@gearbox-protocol/cli-utils").CensoredString<string>>]>, z.ZodTransform<import("@gearbox-protocol/cli-utils").CensoredString<string>, string | import("@gearbox-protocol/cli-utils").CensoredString<string>>>>;
|
|
824
825
|
prefix: z.ZodOptional<z.ZodString>;
|
|
825
|
-
curator: z.ZodOptional<z.ZodCustom<import("@gearbox-protocol/sdk").
|
|
826
|
+
curator: z.ZodOptional<z.ZodCustom<import("@gearbox-protocol/sdk/model").CuratorName, import("@gearbox-protocol/sdk/model").CuratorName>>;
|
|
826
827
|
}, z.core.$strip>, ...(z.ZodObject<{
|
|
827
828
|
type: z.ZodLiteral<"slack">;
|
|
828
829
|
webhookUrl: z.ZodPipe<z.ZodUnion<readonly [z.ZodString, z.ZodCustom<import("@gearbox-protocol/cli-utils").CensoredString<string>, import("@gearbox-protocol/cli-utils").CensoredString<string>>]>, z.ZodTransform<import("@gearbox-protocol/cli-utils").CensoredString<string>, string | import("@gearbox-protocol/cli-utils").CensoredString<string>>>;
|
|
829
830
|
alertsOnly: z.ZodOptional<z.ZodPipe<z.ZodAny, z.ZodTransform<boolean, any>>>;
|
|
830
|
-
curator: z.ZodOptional<z.ZodCustom<import("@gearbox-protocol/sdk").
|
|
831
|
+
curator: z.ZodOptional<z.ZodCustom<import("@gearbox-protocol/sdk/model").CuratorName, import("@gearbox-protocol/sdk/model").CuratorName>>;
|
|
831
832
|
}, z.core.$strip> | z.ZodObject<{
|
|
832
833
|
type: z.ZodLiteral<"telegram">;
|
|
833
834
|
token: z.ZodPipe<z.ZodUnion<readonly [z.ZodString, z.ZodCustom<import("@gearbox-protocol/cli-utils").CensoredString<string>, import("@gearbox-protocol/cli-utils").CensoredString<string>>]>, z.ZodTransform<import("@gearbox-protocol/cli-utils").CensoredString<string>, string | import("@gearbox-protocol/cli-utils").CensoredString<string>>>;
|
|
834
835
|
alertsChannel: z.ZodPipe<z.ZodUnion<readonly [z.ZodString, z.ZodCustom<import("@gearbox-protocol/cli-utils").CensoredString<string>, import("@gearbox-protocol/cli-utils").CensoredString<string>>]>, z.ZodTransform<import("@gearbox-protocol/cli-utils").CensoredString<string>, string | import("@gearbox-protocol/cli-utils").CensoredString<string>>>;
|
|
835
836
|
notificationsChannel: z.ZodOptional<z.ZodPipe<z.ZodUnion<readonly [z.ZodString, z.ZodCustom<import("@gearbox-protocol/cli-utils").CensoredString<string>, import("@gearbox-protocol/cli-utils").CensoredString<string>>]>, z.ZodTransform<import("@gearbox-protocol/cli-utils").CensoredString<string>, string | import("@gearbox-protocol/cli-utils").CensoredString<string>>>>;
|
|
836
837
|
prefix: z.ZodOptional<z.ZodString>;
|
|
837
|
-
curator: z.ZodOptional<z.ZodCustom<import("@gearbox-protocol/sdk").
|
|
838
|
+
curator: z.ZodOptional<z.ZodCustom<import("@gearbox-protocol/sdk/model").CuratorName, import("@gearbox-protocol/sdk/model").CuratorName>>;
|
|
838
839
|
}, z.core.$strip>)[]], "type">>>>;
|
|
839
840
|
addressProvider: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<`0x${string}`, string>>>;
|
|
840
841
|
marketConfigurators: z.ZodPipe<z.ZodOptional<z.ZodPipe<z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodPipe<z.ZodString, z.ZodTransform<string[], string>>]>, z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<`0x${string}`, string>>>>>, z.ZodTransform<`0x${string}`[] | undefined, `0x${string}`[] | undefined>>;
|
|
@@ -922,26 +923,26 @@ declare const FullLiquidatorSchema: z.ZodObject<{
|
|
|
922
923
|
type: z.ZodLiteral<"slack">;
|
|
923
924
|
webhookUrl: z.ZodPipe<z.ZodUnion<readonly [z.ZodString, z.ZodCustom<import("@gearbox-protocol/cli-utils").CensoredString<string>, import("@gearbox-protocol/cli-utils").CensoredString<string>>]>, z.ZodTransform<import("@gearbox-protocol/cli-utils").CensoredString<string>, string | import("@gearbox-protocol/cli-utils").CensoredString<string>>>;
|
|
924
925
|
alertsOnly: z.ZodOptional<z.ZodPipe<z.ZodAny, z.ZodTransform<boolean, any>>>;
|
|
925
|
-
curator: z.ZodOptional<z.ZodCustom<import("@gearbox-protocol/sdk").
|
|
926
|
+
curator: z.ZodOptional<z.ZodCustom<import("@gearbox-protocol/sdk/model").CuratorName, import("@gearbox-protocol/sdk/model").CuratorName>>;
|
|
926
927
|
}, z.core.$strip> | z.ZodObject<{
|
|
927
928
|
type: z.ZodLiteral<"telegram">;
|
|
928
929
|
token: z.ZodPipe<z.ZodUnion<readonly [z.ZodString, z.ZodCustom<import("@gearbox-protocol/cli-utils").CensoredString<string>, import("@gearbox-protocol/cli-utils").CensoredString<string>>]>, z.ZodTransform<import("@gearbox-protocol/cli-utils").CensoredString<string>, string | import("@gearbox-protocol/cli-utils").CensoredString<string>>>;
|
|
929
930
|
alertsChannel: z.ZodPipe<z.ZodUnion<readonly [z.ZodString, z.ZodCustom<import("@gearbox-protocol/cli-utils").CensoredString<string>, import("@gearbox-protocol/cli-utils").CensoredString<string>>]>, z.ZodTransform<import("@gearbox-protocol/cli-utils").CensoredString<string>, string | import("@gearbox-protocol/cli-utils").CensoredString<string>>>;
|
|
930
931
|
notificationsChannel: z.ZodOptional<z.ZodPipe<z.ZodUnion<readonly [z.ZodString, z.ZodCustom<import("@gearbox-protocol/cli-utils").CensoredString<string>, import("@gearbox-protocol/cli-utils").CensoredString<string>>]>, z.ZodTransform<import("@gearbox-protocol/cli-utils").CensoredString<string>, string | import("@gearbox-protocol/cli-utils").CensoredString<string>>>>;
|
|
931
932
|
prefix: z.ZodOptional<z.ZodString>;
|
|
932
|
-
curator: z.ZodOptional<z.ZodCustom<import("@gearbox-protocol/sdk").
|
|
933
|
+
curator: z.ZodOptional<z.ZodCustom<import("@gearbox-protocol/sdk/model").CuratorName, import("@gearbox-protocol/sdk/model").CuratorName>>;
|
|
933
934
|
}, z.core.$strip>, ...(z.ZodObject<{
|
|
934
935
|
type: z.ZodLiteral<"slack">;
|
|
935
936
|
webhookUrl: z.ZodPipe<z.ZodUnion<readonly [z.ZodString, z.ZodCustom<import("@gearbox-protocol/cli-utils").CensoredString<string>, import("@gearbox-protocol/cli-utils").CensoredString<string>>]>, z.ZodTransform<import("@gearbox-protocol/cli-utils").CensoredString<string>, string | import("@gearbox-protocol/cli-utils").CensoredString<string>>>;
|
|
936
937
|
alertsOnly: z.ZodOptional<z.ZodPipe<z.ZodAny, z.ZodTransform<boolean, any>>>;
|
|
937
|
-
curator: z.ZodOptional<z.ZodCustom<import("@gearbox-protocol/sdk").
|
|
938
|
+
curator: z.ZodOptional<z.ZodCustom<import("@gearbox-protocol/sdk/model").CuratorName, import("@gearbox-protocol/sdk/model").CuratorName>>;
|
|
938
939
|
}, z.core.$strip> | z.ZodObject<{
|
|
939
940
|
type: z.ZodLiteral<"telegram">;
|
|
940
941
|
token: z.ZodPipe<z.ZodUnion<readonly [z.ZodString, z.ZodCustom<import("@gearbox-protocol/cli-utils").CensoredString<string>, import("@gearbox-protocol/cli-utils").CensoredString<string>>]>, z.ZodTransform<import("@gearbox-protocol/cli-utils").CensoredString<string>, string | import("@gearbox-protocol/cli-utils").CensoredString<string>>>;
|
|
941
942
|
alertsChannel: z.ZodPipe<z.ZodUnion<readonly [z.ZodString, z.ZodCustom<import("@gearbox-protocol/cli-utils").CensoredString<string>, import("@gearbox-protocol/cli-utils").CensoredString<string>>]>, z.ZodTransform<import("@gearbox-protocol/cli-utils").CensoredString<string>, string | import("@gearbox-protocol/cli-utils").CensoredString<string>>>;
|
|
942
943
|
notificationsChannel: z.ZodOptional<z.ZodPipe<z.ZodUnion<readonly [z.ZodString, z.ZodCustom<import("@gearbox-protocol/cli-utils").CensoredString<string>, import("@gearbox-protocol/cli-utils").CensoredString<string>>]>, z.ZodTransform<import("@gearbox-protocol/cli-utils").CensoredString<string>, string | import("@gearbox-protocol/cli-utils").CensoredString<string>>>>;
|
|
943
944
|
prefix: z.ZodOptional<z.ZodString>;
|
|
944
|
-
curator: z.ZodOptional<z.ZodCustom<import("@gearbox-protocol/sdk").
|
|
945
|
+
curator: z.ZodOptional<z.ZodCustom<import("@gearbox-protocol/sdk/model").CuratorName, import("@gearbox-protocol/sdk/model").CuratorName>>;
|
|
945
946
|
}, z.core.$strip>)[]], "type">>>>;
|
|
946
947
|
addressProvider: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<`0x${string}`, string>>>;
|
|
947
948
|
marketConfigurators: z.ZodPipe<z.ZodOptional<z.ZodPipe<z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodPipe<z.ZodString, z.ZodTransform<string[], string>>]>, z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<`0x${string}`, string>>>>>, z.ZodTransform<`0x${string}`[] | undefined, `0x${string}`[] | undefined>>;
|
|
@@ -1006,26 +1007,26 @@ declare const NotificationsConfig: z.ZodObject<{
|
|
|
1006
1007
|
type: z.ZodLiteral<"slack">;
|
|
1007
1008
|
webhookUrl: z.ZodPipe<z.ZodUnion<readonly [z.ZodString, z.ZodCustom<import("@gearbox-protocol/cli-utils").CensoredString<string>, import("@gearbox-protocol/cli-utils").CensoredString<string>>]>, z.ZodTransform<import("@gearbox-protocol/cli-utils").CensoredString<string>, string | import("@gearbox-protocol/cli-utils").CensoredString<string>>>;
|
|
1008
1009
|
alertsOnly: z.ZodOptional<z.ZodPipe<z.ZodAny, z.ZodTransform<boolean, any>>>;
|
|
1009
|
-
curator: z.ZodOptional<z.ZodCustom<
|
|
1010
|
+
curator: z.ZodOptional<z.ZodCustom<CuratorName, CuratorName>>;
|
|
1010
1011
|
}, z.core.$strip> | z.ZodObject<{
|
|
1011
1012
|
type: z.ZodLiteral<"telegram">;
|
|
1012
1013
|
token: z.ZodPipe<z.ZodUnion<readonly [z.ZodString, z.ZodCustom<import("@gearbox-protocol/cli-utils").CensoredString<string>, import("@gearbox-protocol/cli-utils").CensoredString<string>>]>, z.ZodTransform<import("@gearbox-protocol/cli-utils").CensoredString<string>, string | import("@gearbox-protocol/cli-utils").CensoredString<string>>>;
|
|
1013
1014
|
alertsChannel: z.ZodPipe<z.ZodUnion<readonly [z.ZodString, z.ZodCustom<import("@gearbox-protocol/cli-utils").CensoredString<string>, import("@gearbox-protocol/cli-utils").CensoredString<string>>]>, z.ZodTransform<import("@gearbox-protocol/cli-utils").CensoredString<string>, string | import("@gearbox-protocol/cli-utils").CensoredString<string>>>;
|
|
1014
1015
|
notificationsChannel: z.ZodOptional<z.ZodPipe<z.ZodUnion<readonly [z.ZodString, z.ZodCustom<import("@gearbox-protocol/cli-utils").CensoredString<string>, import("@gearbox-protocol/cli-utils").CensoredString<string>>]>, z.ZodTransform<import("@gearbox-protocol/cli-utils").CensoredString<string>, string | import("@gearbox-protocol/cli-utils").CensoredString<string>>>>;
|
|
1015
1016
|
prefix: z.ZodOptional<z.ZodString>;
|
|
1016
|
-
curator: z.ZodOptional<z.ZodCustom<
|
|
1017
|
+
curator: z.ZodOptional<z.ZodCustom<CuratorName, CuratorName>>;
|
|
1017
1018
|
}, z.core.$strip>, ...(z.ZodObject<{
|
|
1018
1019
|
type: z.ZodLiteral<"slack">;
|
|
1019
1020
|
webhookUrl: z.ZodPipe<z.ZodUnion<readonly [z.ZodString, z.ZodCustom<import("@gearbox-protocol/cli-utils").CensoredString<string>, import("@gearbox-protocol/cli-utils").CensoredString<string>>]>, z.ZodTransform<import("@gearbox-protocol/cli-utils").CensoredString<string>, string | import("@gearbox-protocol/cli-utils").CensoredString<string>>>;
|
|
1020
1021
|
alertsOnly: z.ZodOptional<z.ZodPipe<z.ZodAny, z.ZodTransform<boolean, any>>>;
|
|
1021
|
-
curator: z.ZodOptional<z.ZodCustom<
|
|
1022
|
+
curator: z.ZodOptional<z.ZodCustom<CuratorName, CuratorName>>;
|
|
1022
1023
|
}, z.core.$strip> | z.ZodObject<{
|
|
1023
1024
|
type: z.ZodLiteral<"telegram">;
|
|
1024
1025
|
token: z.ZodPipe<z.ZodUnion<readonly [z.ZodString, z.ZodCustom<import("@gearbox-protocol/cli-utils").CensoredString<string>, import("@gearbox-protocol/cli-utils").CensoredString<string>>]>, z.ZodTransform<import("@gearbox-protocol/cli-utils").CensoredString<string>, string | import("@gearbox-protocol/cli-utils").CensoredString<string>>>;
|
|
1025
1026
|
alertsChannel: z.ZodPipe<z.ZodUnion<readonly [z.ZodString, z.ZodCustom<import("@gearbox-protocol/cli-utils").CensoredString<string>, import("@gearbox-protocol/cli-utils").CensoredString<string>>]>, z.ZodTransform<import("@gearbox-protocol/cli-utils").CensoredString<string>, string | import("@gearbox-protocol/cli-utils").CensoredString<string>>>;
|
|
1026
1027
|
notificationsChannel: z.ZodOptional<z.ZodPipe<z.ZodUnion<readonly [z.ZodString, z.ZodCustom<import("@gearbox-protocol/cli-utils").CensoredString<string>, import("@gearbox-protocol/cli-utils").CensoredString<string>>]>, z.ZodTransform<import("@gearbox-protocol/cli-utils").CensoredString<string>, string | import("@gearbox-protocol/cli-utils").CensoredString<string>>>>;
|
|
1027
1028
|
prefix: z.ZodOptional<z.ZodString>;
|
|
1028
|
-
curator: z.ZodOptional<z.ZodCustom<
|
|
1029
|
+
curator: z.ZodOptional<z.ZodCustom<CuratorName, CuratorName>>;
|
|
1029
1030
|
}, z.core.$strip>)[]], "type">>>>;
|
|
1030
1031
|
}, z.core.$strip>;
|
|
1031
1032
|
//#endregion
|
|
@@ -1444,26 +1445,26 @@ declare const PartialLiquidatorSchema: z.ZodObject<{
|
|
|
1444
1445
|
type: z.ZodLiteral<"slack">;
|
|
1445
1446
|
webhookUrl: z.ZodPipe<z.ZodUnion<readonly [z.ZodString, z.ZodCustom<import("@gearbox-protocol/cli-utils").CensoredString<string>, import("@gearbox-protocol/cli-utils").CensoredString<string>>]>, z.ZodTransform<import("@gearbox-protocol/cli-utils").CensoredString<string>, string | import("@gearbox-protocol/cli-utils").CensoredString<string>>>;
|
|
1446
1447
|
alertsOnly: z.ZodOptional<z.ZodPipe<z.ZodAny, z.ZodTransform<boolean, any>>>;
|
|
1447
|
-
curator: z.ZodOptional<z.ZodCustom<import("@gearbox-protocol/sdk").
|
|
1448
|
+
curator: z.ZodOptional<z.ZodCustom<import("@gearbox-protocol/sdk/model").CuratorName, import("@gearbox-protocol/sdk/model").CuratorName>>;
|
|
1448
1449
|
}, z.core.$strip> | z.ZodObject<{
|
|
1449
1450
|
type: z.ZodLiteral<"telegram">;
|
|
1450
1451
|
token: z.ZodPipe<z.ZodUnion<readonly [z.ZodString, z.ZodCustom<import("@gearbox-protocol/cli-utils").CensoredString<string>, import("@gearbox-protocol/cli-utils").CensoredString<string>>]>, z.ZodTransform<import("@gearbox-protocol/cli-utils").CensoredString<string>, string | import("@gearbox-protocol/cli-utils").CensoredString<string>>>;
|
|
1451
1452
|
alertsChannel: z.ZodPipe<z.ZodUnion<readonly [z.ZodString, z.ZodCustom<import("@gearbox-protocol/cli-utils").CensoredString<string>, import("@gearbox-protocol/cli-utils").CensoredString<string>>]>, z.ZodTransform<import("@gearbox-protocol/cli-utils").CensoredString<string>, string | import("@gearbox-protocol/cli-utils").CensoredString<string>>>;
|
|
1452
1453
|
notificationsChannel: z.ZodOptional<z.ZodPipe<z.ZodUnion<readonly [z.ZodString, z.ZodCustom<import("@gearbox-protocol/cli-utils").CensoredString<string>, import("@gearbox-protocol/cli-utils").CensoredString<string>>]>, z.ZodTransform<import("@gearbox-protocol/cli-utils").CensoredString<string>, string | import("@gearbox-protocol/cli-utils").CensoredString<string>>>>;
|
|
1453
1454
|
prefix: z.ZodOptional<z.ZodString>;
|
|
1454
|
-
curator: z.ZodOptional<z.ZodCustom<import("@gearbox-protocol/sdk").
|
|
1455
|
+
curator: z.ZodOptional<z.ZodCustom<import("@gearbox-protocol/sdk/model").CuratorName, import("@gearbox-protocol/sdk/model").CuratorName>>;
|
|
1455
1456
|
}, z.core.$strip>, ...(z.ZodObject<{
|
|
1456
1457
|
type: z.ZodLiteral<"slack">;
|
|
1457
1458
|
webhookUrl: z.ZodPipe<z.ZodUnion<readonly [z.ZodString, z.ZodCustom<import("@gearbox-protocol/cli-utils").CensoredString<string>, import("@gearbox-protocol/cli-utils").CensoredString<string>>]>, z.ZodTransform<import("@gearbox-protocol/cli-utils").CensoredString<string>, string | import("@gearbox-protocol/cli-utils").CensoredString<string>>>;
|
|
1458
1459
|
alertsOnly: z.ZodOptional<z.ZodPipe<z.ZodAny, z.ZodTransform<boolean, any>>>;
|
|
1459
|
-
curator: z.ZodOptional<z.ZodCustom<import("@gearbox-protocol/sdk").
|
|
1460
|
+
curator: z.ZodOptional<z.ZodCustom<import("@gearbox-protocol/sdk/model").CuratorName, import("@gearbox-protocol/sdk/model").CuratorName>>;
|
|
1460
1461
|
}, z.core.$strip> | z.ZodObject<{
|
|
1461
1462
|
type: z.ZodLiteral<"telegram">;
|
|
1462
1463
|
token: z.ZodPipe<z.ZodUnion<readonly [z.ZodString, z.ZodCustom<import("@gearbox-protocol/cli-utils").CensoredString<string>, import("@gearbox-protocol/cli-utils").CensoredString<string>>]>, z.ZodTransform<import("@gearbox-protocol/cli-utils").CensoredString<string>, string | import("@gearbox-protocol/cli-utils").CensoredString<string>>>;
|
|
1463
1464
|
alertsChannel: z.ZodPipe<z.ZodUnion<readonly [z.ZodString, z.ZodCustom<import("@gearbox-protocol/cli-utils").CensoredString<string>, import("@gearbox-protocol/cli-utils").CensoredString<string>>]>, z.ZodTransform<import("@gearbox-protocol/cli-utils").CensoredString<string>, string | import("@gearbox-protocol/cli-utils").CensoredString<string>>>;
|
|
1464
1465
|
notificationsChannel: z.ZodOptional<z.ZodPipe<z.ZodUnion<readonly [z.ZodString, z.ZodCustom<import("@gearbox-protocol/cli-utils").CensoredString<string>, import("@gearbox-protocol/cli-utils").CensoredString<string>>]>, z.ZodTransform<import("@gearbox-protocol/cli-utils").CensoredString<string>, string | import("@gearbox-protocol/cli-utils").CensoredString<string>>>>;
|
|
1465
1466
|
prefix: z.ZodOptional<z.ZodString>;
|
|
1466
|
-
curator: z.ZodOptional<z.ZodCustom<import("@gearbox-protocol/sdk").
|
|
1467
|
+
curator: z.ZodOptional<z.ZodCustom<import("@gearbox-protocol/sdk/model").CuratorName, import("@gearbox-protocol/sdk/model").CuratorName>>;
|
|
1467
1468
|
}, z.core.$strip>)[]], "type">>>>;
|
|
1468
1469
|
addressProvider: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<`0x${string}`, string>>>;
|
|
1469
1470
|
marketConfigurators: z.ZodPipe<z.ZodOptional<z.ZodPipe<z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodPipe<z.ZodString, z.ZodTransform<string[], string>>]>, z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<`0x${string}`, string>>>>>, z.ZodTransform<`0x${string}`[] | undefined, `0x${string}`[] | undefined>>;
|
|
@@ -1608,26 +1609,26 @@ declare const WalletLiquidatorSchema: z.ZodObject<{
|
|
|
1608
1609
|
type: z.ZodLiteral<"slack">;
|
|
1609
1610
|
webhookUrl: z.ZodPipe<z.ZodUnion<readonly [z.ZodString, z.ZodCustom<import("@gearbox-protocol/cli-utils").CensoredString<string>, import("@gearbox-protocol/cli-utils").CensoredString<string>>]>, z.ZodTransform<import("@gearbox-protocol/cli-utils").CensoredString<string>, string | import("@gearbox-protocol/cli-utils").CensoredString<string>>>;
|
|
1610
1611
|
alertsOnly: z.ZodOptional<z.ZodPipe<z.ZodAny, z.ZodTransform<boolean, any>>>;
|
|
1611
|
-
curator: z.ZodOptional<z.ZodCustom<import("@gearbox-protocol/sdk").
|
|
1612
|
+
curator: z.ZodOptional<z.ZodCustom<import("@gearbox-protocol/sdk/model").CuratorName, import("@gearbox-protocol/sdk/model").CuratorName>>;
|
|
1612
1613
|
}, z.core.$strip> | z.ZodObject<{
|
|
1613
1614
|
type: z.ZodLiteral<"telegram">;
|
|
1614
1615
|
token: z.ZodPipe<z.ZodUnion<readonly [z.ZodString, z.ZodCustom<import("@gearbox-protocol/cli-utils").CensoredString<string>, import("@gearbox-protocol/cli-utils").CensoredString<string>>]>, z.ZodTransform<import("@gearbox-protocol/cli-utils").CensoredString<string>, string | import("@gearbox-protocol/cli-utils").CensoredString<string>>>;
|
|
1615
1616
|
alertsChannel: z.ZodPipe<z.ZodUnion<readonly [z.ZodString, z.ZodCustom<import("@gearbox-protocol/cli-utils").CensoredString<string>, import("@gearbox-protocol/cli-utils").CensoredString<string>>]>, z.ZodTransform<import("@gearbox-protocol/cli-utils").CensoredString<string>, string | import("@gearbox-protocol/cli-utils").CensoredString<string>>>;
|
|
1616
1617
|
notificationsChannel: z.ZodOptional<z.ZodPipe<z.ZodUnion<readonly [z.ZodString, z.ZodCustom<import("@gearbox-protocol/cli-utils").CensoredString<string>, import("@gearbox-protocol/cli-utils").CensoredString<string>>]>, z.ZodTransform<import("@gearbox-protocol/cli-utils").CensoredString<string>, string | import("@gearbox-protocol/cli-utils").CensoredString<string>>>>;
|
|
1617
1618
|
prefix: z.ZodOptional<z.ZodString>;
|
|
1618
|
-
curator: z.ZodOptional<z.ZodCustom<import("@gearbox-protocol/sdk").
|
|
1619
|
+
curator: z.ZodOptional<z.ZodCustom<import("@gearbox-protocol/sdk/model").CuratorName, import("@gearbox-protocol/sdk/model").CuratorName>>;
|
|
1619
1620
|
}, z.core.$strip>, ...(z.ZodObject<{
|
|
1620
1621
|
type: z.ZodLiteral<"slack">;
|
|
1621
1622
|
webhookUrl: z.ZodPipe<z.ZodUnion<readonly [z.ZodString, z.ZodCustom<import("@gearbox-protocol/cli-utils").CensoredString<string>, import("@gearbox-protocol/cli-utils").CensoredString<string>>]>, z.ZodTransform<import("@gearbox-protocol/cli-utils").CensoredString<string>, string | import("@gearbox-protocol/cli-utils").CensoredString<string>>>;
|
|
1622
1623
|
alertsOnly: z.ZodOptional<z.ZodPipe<z.ZodAny, z.ZodTransform<boolean, any>>>;
|
|
1623
|
-
curator: z.ZodOptional<z.ZodCustom<import("@gearbox-protocol/sdk").
|
|
1624
|
+
curator: z.ZodOptional<z.ZodCustom<import("@gearbox-protocol/sdk/model").CuratorName, import("@gearbox-protocol/sdk/model").CuratorName>>;
|
|
1624
1625
|
}, z.core.$strip> | z.ZodObject<{
|
|
1625
1626
|
type: z.ZodLiteral<"telegram">;
|
|
1626
1627
|
token: z.ZodPipe<z.ZodUnion<readonly [z.ZodString, z.ZodCustom<import("@gearbox-protocol/cli-utils").CensoredString<string>, import("@gearbox-protocol/cli-utils").CensoredString<string>>]>, z.ZodTransform<import("@gearbox-protocol/cli-utils").CensoredString<string>, string | import("@gearbox-protocol/cli-utils").CensoredString<string>>>;
|
|
1627
1628
|
alertsChannel: z.ZodPipe<z.ZodUnion<readonly [z.ZodString, z.ZodCustom<import("@gearbox-protocol/cli-utils").CensoredString<string>, import("@gearbox-protocol/cli-utils").CensoredString<string>>]>, z.ZodTransform<import("@gearbox-protocol/cli-utils").CensoredString<string>, string | import("@gearbox-protocol/cli-utils").CensoredString<string>>>;
|
|
1628
1629
|
notificationsChannel: z.ZodOptional<z.ZodPipe<z.ZodUnion<readonly [z.ZodString, z.ZodCustom<import("@gearbox-protocol/cli-utils").CensoredString<string>, import("@gearbox-protocol/cli-utils").CensoredString<string>>]>, z.ZodTransform<import("@gearbox-protocol/cli-utils").CensoredString<string>, string | import("@gearbox-protocol/cli-utils").CensoredString<string>>>>;
|
|
1629
1630
|
prefix: z.ZodOptional<z.ZodString>;
|
|
1630
|
-
curator: z.ZodOptional<z.ZodCustom<import("@gearbox-protocol/sdk").
|
|
1631
|
+
curator: z.ZodOptional<z.ZodCustom<import("@gearbox-protocol/sdk/model").CuratorName, import("@gearbox-protocol/sdk/model").CuratorName>>;
|
|
1631
1632
|
}, z.core.$strip>)[]], "type">>>>;
|
|
1632
1633
|
addressProvider: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<`0x${string}`, string>>>;
|
|
1633
1634
|
marketConfigurators: z.ZodPipe<z.ZodOptional<z.ZodPipe<z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodPipe<z.ZodString, z.ZodTransform<string[], string>>]>, z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<`0x${string}`, string>>>>>, z.ZodTransform<`0x${string}`[] | undefined, `0x${string}`[] | undefined>>;
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":[],"sources":["../src/batch-liquidator.ts","../src/common.ts","../src/schema.ts","../src/config.ts","../src/deleverage-liquidator.ts","../src/full-liquidator.ts","../src/notifications.ts","../src/optimist.ts","../src/partial-liquidator.ts","../src/report.ts","../src/wallet-liquidator.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../src/batch-liquidator.ts","../src/common.ts","../src/schema.ts","../src/config.ts","../src/deleverage-liquidator.ts","../src/full-liquidator.ts","../src/notifications.ts","../src/optimist.ts","../src/partial-liquidator.ts","../src/report.ts","../src/wallet-liquidator.ts"],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { createPublicClient, isHex } from "viem";
|
|
2
2
|
import { CensoredString, NotificationConfig, ProvidersSchema, addressLike, boolLike, clientWhitelistItemSchema, optionalAddressArrayLike, stringArrayLike, zommandRegistry } from "@gearbox-protocol/cli-utils";
|
|
3
3
|
import { z } from "zod/v4";
|
|
4
|
-
import { MAX_UINT256, WAD } from "@gearbox-protocol/sdk";
|
|
4
|
+
import { MAX_UINT256, WAD } from "@gearbox-protocol/sdk/onchain";
|
|
5
5
|
//#region src/config.ts
|
|
6
6
|
var ConfigImplementation = class {
|
|
7
7
|
#startBlock;
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["#startBlock","#chainId"],"sources":["../src/config.ts","../src/notifications.ts","../src/common.ts","../src/batch-liquidator.ts","../src/deleverage-liquidator.ts","../src/full-liquidator.ts","../src/partial-liquidator.ts","../src/wallet-liquidator.ts","../src/schema.ts"],"sourcesContent":["import { createPublicClient, type Transport } from \"viem\";\nimport type { CommonSchema } from \"./common.js\";\nimport type { ConfigSchema } from \"./schema.js\";\n\nexport type Config = ConfigSchema & {\n readonly chainId: number;\n readonly startBlock: bigint;\n};\n\nexport type LiqduiatorConfig<TSchema extends CommonSchema> = TSchema & {\n readonly chainId: number;\n readonly startBlock: bigint;\n};\n\nexport class ConfigImplementation {\n #startBlock?: bigint;\n #chainId?: number;\n\n constructor(schema: ConfigSchema) {\n Object.assign(this, schema);\n }\n\n public async initialize(transport: Transport): Promise<void> {\n const client = createPublicClient({\n transport,\n name: \"preload client\",\n });\n\n const [startBlock, chainId] = await Promise.all([\n client.getBlockNumber(),\n client.getChainId(),\n ]);\n\n this.#startBlock = startBlock;\n this.#chainId = chainId;\n }\n\n public get startBlock(): bigint {\n if (this.#startBlock === undefined) {\n throw new Error(\"config not initialized\");\n }\n return this.#startBlock;\n }\n\n public get chainId(): number {\n if (this.#chainId === undefined) {\n throw new Error(\"config not initialized\");\n }\n return this.#chainId;\n }\n}\n","import { NotificationConfig } from \"@gearbox-protocol/cli-utils\";\nimport type { Curator } from \"@gearbox-protocol/sdk\";\nimport { z } from \"zod/v4\";\n\nconst extendedOptions = NotificationConfig.options.map(o =>\n o.extend({\n /**\n * When undefined, defaults to all curators together (aka Gearbox internal)\n */\n curator: z.custom<Curator>(s => typeof s === \"string\").optional(),\n }),\n);\n\nexport const NotificationsConfig = z.object({\n notifications: z\n .array(\n z.discriminatedUnion(\n NotificationConfig.def.discriminator,\n extendedOptions as [\n (typeof extendedOptions)[0],\n ...(typeof extendedOptions)[number][],\n ],\n ),\n )\n .optional()\n .default([]),\n});\n","import {\n addressLike,\n boolLike,\n CensoredString,\n clientWhitelistItemSchema,\n optionalAddressArrayLike,\n ProvidersSchema,\n stringArrayLike,\n zommandRegistry,\n} from \"@gearbox-protocol/cli-utils\";\nimport { MAX_UINT256, WAD } from \"@gearbox-protocol/sdk\";\nimport { type Hex, isHex } from \"viem\";\nimport { z } from \"zod/v4\";\nimport { NotificationsConfig } from \"./notifications.js\";\n\nexport const CommonSchema = z.object({\n ...ProvidersSchema.shape,\n /**\n * By default uses address provider from @gearbox-protocol/sdk\n * Use this option to override address provider\n */\n addressProvider: addressLike().optional().register(zommandRegistry, {\n flags: \"--address-provider <address>\",\n description:\n \"Address provider override, uses default value from SDK otherwise\",\n env: \"ADDRESS_PROVIDER\",\n }),\n /**\n * Market configurators addresses to attach SDK\n */\n marketConfigurators: optionalAddressArrayLike().register(zommandRegistry, {\n flags: \"--market-configurators <addresses...>\",\n description:\n \"Market configurators to use for the process, comma separated. Uses default value from SDK if not specified\",\n env: \"MARKET_CONFIGURATORS\",\n }),\n /**\n * RWA factories addresses to attach SDK\n */\n rwaFactories: optionalAddressArrayLike().register(zommandRegistry, {\n flags: \"--rwa-factories <addresses...>\",\n description:\n \"RWA factories to use for the process, comma separated. Uses default value from SDK if not specified\",\n env: \"RWA_FACTORIES\",\n }),\n /**\n * App name used in various messages to distinguish instances\n */\n appName: z.string().default(\"liquidator-ts\").register(zommandRegistry, {\n flags: \"--app-name <name>\",\n description: \"App name used in various messages to distinguish instances\",\n env: \"APP_NAME\",\n }),\n /**\n * Port to expose some vital signals and metrics\n */\n port: z.coerce.number().default(4000).register(zommandRegistry, {\n flags: \"--port <port>\",\n description: \"Port to expose some vital signals and metrics\",\n env: \"PORT\",\n }),\n /**\n * Full URL of the whitelist endpoint. Entries can be credit account\n * addresses or credit manager addresses. Only applied in non-optimistic mode.\n */\n whitelistUrl: z.url().optional().register(zommandRegistry, {\n flags: \"--whitelist-url <url>\",\n description:\n \"Full URL of the liquidator soft whitelist endpoint. Entries are credit account or credit manager addresses. Does not prevent liquidation, but annotates failure notifications. Only applied in non-optimistic mode.\",\n env: \"WHITELIST_URL\",\n }),\n /**\n * Static (hard) whitelist that prevents liquidation entirely.\n * Entries can be credit account, credit manager or token addresses.\n */\n hardWhitelist: z.array(clientWhitelistItemSchema).optional(),\n /**\n * Only check this account during local debug session\n */\n debugAccount: addressLike().optional().register(zommandRegistry, {\n flags: \"--debug-account <address>\",\n description: \"Only check this account during local debug session\",\n env: \"DEBUG_ACCOUNT\",\n }),\n /**\n * Only check this credit manager during local debug session\n */\n debugManager: addressLike().optional().register(zommandRegistry, {\n flags: \"--debug-manager <address>\",\n description: \"Only check this credit manager during local debug session\",\n env: \"DEBUG_MANAGER\",\n }),\n /**\n * Path to foundry/cast binary, so that we can create tree-like traces in case of errors\n * Used during optimistic liquidations\n */\n castBin: z.string().optional().register(zommandRegistry, {\n flags: \"--cast-bin <path>\",\n description:\n \"Path to foundry/cast binary, so that we can create tree-like traces in case of errors\",\n env: \"CAST_BIN\",\n }),\n /**\n * Timeout duration passed to `timeout` utility when running cast.\n * If unset, cast runs without a timeout. Accepts any value understood by `timeout(1)` (e.g. `30s`, `1m`).\n */\n castTimeout: z.string().optional().default(\"1m\").register(zommandRegistry, {\n flags: \"--cast-timeout <duration>\",\n description:\n \"Timeout duration for cast invocations (e.g. 30s, 1m). If unset, cast runs without a timeout.\",\n env: \"CAST_TIMEOUT\",\n }),\n /**\n * Stale block threshold in seconds, to notify and try to rotate rpc provider. 0 means no monitoring\n */\n staleBlockThreshold: z.coerce\n .number()\n .nonnegative()\n .default(120)\n .register(zommandRegistry, {\n flags: \"--stale-block-threshold <threshold>\",\n description:\n \"Stale block threshold in seconds, to notify and try to rotate rpc provider. 0 means no monitoring\",\n env: \"STALE_BLOCK_THRESHOLD\",\n }),\n /**\n * Max block range size for eth_getLogs\n */\n logsPageSize: z.coerce\n .bigint()\n .nonnegative()\n .optional()\n .register(zommandRegistry, {\n flags: \"--logs-page-size <size>\",\n description: \"Max block range size for eth_getLogs\",\n env: \"LOGS_PAGE_SIZE\",\n }),\n /**\n * Polling interval in milliseconds, default to what's default in viem\n */\n pollingInterval: z.coerce\n .number()\n .nonnegative()\n .optional()\n .register(zommandRegistry, {\n flags: \"--polling-interval <interval>\",\n description:\n \"Polling interval in milliseconds, default to what's default in viem\",\n env: \"POLLING_INTERVAL\",\n }),\n /**\n * Private key used to send liquidation transactions\n * Required in non-optimistic mode, must not be set in optimistic mode\n */\n privateKey: z\n .string()\n .min(1)\n .transform((s): Hex => {\n return isHex(s) ? s : `0x${s}`;\n })\n .transform(CensoredString.transform<Hex>)\n .optional()\n .register(zommandRegistry, {\n flags: \"--private-key <key>\",\n description:\n \"Private key used to send liquidation transactions. Required in non-optimistic mode, must not be set in optimistic mode\",\n env: \"PRIVATE_KEY\",\n }),\n /**\n * Address to impersonate as transaction sender on anvil fork\n * Required in optimistic mode, must not be set in non-optimistic mode\n */\n liquidatorAddress: addressLike().optional().register(zommandRegistry, {\n flags: \"--liquidator-address <address>\",\n description:\n \"Address to impersonate as transaction sender on anvil fork. Required in optimistic mode, must not be set in non-optimistic mode\",\n env: \"LIQUIDATOR_ADDRESS\",\n }),\n /**\n * Minimum executor gas budget, in gas units. The required balance to send a\n * notification is computed as `minBalanceGas * currentGasPrice`.\n */\n minBalanceGas: z.coerce\n .bigint()\n .positive()\n // At some point on Mainnet there were 40 accounts\n // It costed ~80M gas to deleverage all of them, deleverage being the most expensive operation\n .default(85_000_000n)\n .register(zommandRegistry, {\n flags: \"--min-balance-gas <gas>\",\n description:\n \"Minimum executor gas budget (in gas units); required balance = this * current gas price\",\n env: \"MIN_BALANCE_GAS\",\n }),\n /**\n * Filter out all accounts with HF >= threshold during scan stage\n */\n hfThreshold: z.coerce\n .bigint()\n .nonnegative()\n .max(MAX_UINT256)\n .default(WAD - 1n) // 100% accounts are healthy, and credit account compressors filters by HF <= threshold\n .register(zommandRegistry, {\n flags: \"--hf-threshold <threshold>\",\n description:\n \"Filter out all accounts with HF >= threshold during scan stage\",\n env: \"HF_THRESHOLD\",\n }),\n /**\n * Default numSplits for router v3.1 contract\n */\n numSplits: z.coerce\n .bigint()\n .positive()\n .default(10n)\n .register(zommandRegistry, {\n flags: \"--num-splits <splits>\",\n description: \"Default numSplits for router v3.1 contract\",\n env: \"NUM_SPLITS\",\n }),\n /**\n * Liquidator mode\n */\n liquidationMode: z\n .enum([\"full\", \"partial\", \"batch\", \"deleverage\", \"wallet\"])\n .default(\"full\")\n .register(zommandRegistry, {\n flags: \"--liquidation-mode <mode>\",\n description: \"Liquidator mode (full/partial/batch/deleverage/wallet)\",\n env: \"LIQUIDATION_MODE\",\n }),\n /**\n * Enable optimistic liquidations\n */\n optimistic: boolLike().optional().register(zommandRegistry, {\n flags: \"--optimistic\",\n description: \"Enable optimistic liquidations\",\n env: \"OPTIMISTIC\",\n }),\n /**\n * In optimistic mode, use real health factor range to scan for accounts\n * and do not force-enable deleverage bot on accounts.\n *\n * This mode can be used to test that deleverage bot is able to detect accounts correctly\n */\n useProductionScanner: boolLike().optional().register(zommandRegistry, {\n flags: \"--use-production-scanner\",\n description:\n \"In optimistic mode, use real health factor range to scan for accounts and do not force-enable deleverage bot on accounts\",\n env: \"USE_PRODUCTION_SCANNER\",\n }),\n /**\n * Optimistic timestamp to pass from external runner, in ms\n */\n optimisticTimestamp: z.coerce\n .number()\n .int()\n .positive()\n .nullish()\n .register(zommandRegistry, {\n flags: \"--optimistic-timestamp <timestamp>\",\n description: \"Optimistic timestamp to pass from external runner, in ms\",\n env: \"OPTIMISTIC_TIMESTAMP\",\n }),\n /**\n * Fail on missing feeds (redstone and pyth)\n */\n failOnMissingFeeds: boolLike().optional().register(zommandRegistry, {\n flags: \"--fail-on-missing-feeds\",\n description: \"Fail on missing feeds (redstone and pyth)\",\n env: \"FAIL_ON_MISSING_FEEDS\",\n }),\n /**\n * Explicitly set gas limit for SDK\n * -1 to disable explicitly setting gas limit in SDK\n * If not set, SDK will use default gas limit\n */\n gasLimit: z.coerce.bigint().optional().register(zommandRegistry, {\n flags: \"--gas-limit <limit>\",\n description: \"Set gas limit for SDK\",\n env: \"GAS_LIMIT\",\n }),\n /**\n * Do not send transactions in non-optimistic mode, just log them\n */\n dryRun: boolLike().optional().register(zommandRegistry, {\n flags: \"--dry-run\",\n description:\n \"Do not send transactions in non-optimistic mode, just log them\",\n env: \"DRY_RUN\",\n }),\n /**\n * Redstone gateways override\n * Set local caching proxies to avoid rate limiting in test environment\n */\n redstoneGateways: stringArrayLike()\n .pipe(z.array(z.url()))\n .transform(a => (a.length ? a : undefined))\n .optional()\n .register(zommandRegistry, {\n flags: \"--redstone-gateways <urls...>\",\n description: \"Redstone gateways to use, comma separated\",\n env: \"REDSTONE_GATEWAYS\",\n }),\n\n /**\n * Limit number of accounts to load from compressor. 0 = unlimited, let compressor decide\n */\n compressorBatchSize: z.coerce\n .number()\n .nonnegative()\n .default(0)\n .register(zommandRegistry, {\n flags: \"--compressor-batch-size <size>\",\n description:\n \"Limit number of accounts to load from compressor. 0 = unlimited, let compressor decide\",\n env: \"COMPRESSOR_BATCH_SIZE\",\n }),\n /**\n * Slippage value for pathfined\n */\n slippage: z.coerce\n .number()\n .min(0)\n .max(10000)\n .int()\n .default(50)\n .register(zommandRegistry, {\n flags: \"--slippage <value>\",\n description: \"Slippage value for pathfinder\",\n env: \"SLIPPAGE\",\n }),\n /**\n * By default, reserve prices are not updated (except for deleverage mode)\n */\n updateReservePrices: boolLike()\n .optional()\n .default(false)\n .register(zommandRegistry, {\n flags: \"--update-reserve-prices\",\n description: \"Update reserve prices\",\n env: \"UPDATE_RESERVE_PRICES\",\n }),\n /**\n * List of assets to keep on account after liquidation\n */\n keepAssets: optionalAddressArrayLike().register(zommandRegistry, {\n flags: \"--keep-assets <assets...>\",\n description: \"List of assets to keep on account after liquidation\",\n env: \"KEEP_ASSETS\",\n }),\n /**\n * Address that receives the liquidation premium and leftover underlying.\n * Defaults to the executor address when unset.\n */\n premiumReceiver: addressLike().optional().register(zommandRegistry, {\n flags: \"--premium-receiver <address>\",\n description:\n \"Address that receives the liquidation premium and leftover underlying (defaults to executor address)\",\n env: \"PREMIUM_RECEIVER\",\n }),\n\n /**\n * Directory to save json with optimistic liquidation results\n */\n outDir: z.string().default(\".\").register(zommandRegistry, {\n flags: \"--out-dir <dir>\",\n description: \"Directory to save json with optimistic liquidation results\",\n env: \"OUT_DIR\",\n }),\n /**\n * REST endpoint to POST json with optimistic liquidation results\n */\n outEndpoint: z.url().optional().register(zommandRegistry, {\n flags: \"--out-endpoint <url>\",\n description:\n \"REST endpoint to POST json with optimistic liquidation results\",\n env: \"OUT_ENDPOINT\",\n }),\n /**\n * Headers for REST endpoint\n */\n outHeaders: z\n .string()\n .default(\"{}\")\n .transform(CensoredString.transform)\n .register(zommandRegistry, {\n flags: \"--out-headers <headers>\",\n description: \"Headers for REST endpoint\",\n env: \"OUT_HEADERS\",\n }),\n /**\n * s3 bucket to upload json with optimistic liquidation results\n */\n outS3Bucket: z.string().optional().register(zommandRegistry, {\n flags: \"--out-s3-bucket <bucket>\",\n description: \"S3 bucket to upload json with optimistic liquidation results\",\n env: \"OUT_S3_BUCKET\",\n }),\n /**\n * s3 bucket path prefix\n */\n outS3Prefix: z.string().default(\"\").register(zommandRegistry, {\n flags: \"--out-s3-prefix <prefix>\",\n description: \"S3 bucket path prefix\",\n env: \"OUT_S3_PREFIX\",\n }),\n /**\n * Filename of json with optimistic liquidation results for s3 or dir output\n */\n outFileName: z.string().optional().register(zommandRegistry, {\n flags: \"--out-file-name <name>\",\n description:\n \"Filename of json with optimistic liquidation results for s3 or dir output\",\n env: \"OUT_FILE_NAME\",\n }),\n\n /**\n * Notifications, global and per-curator\n */\n ...NotificationsConfig.shape,\n});\n\nexport type CommonSchema = z.infer<typeof CommonSchema>;\n","import { zommandRegistry } from \"@gearbox-protocol/cli-utils\";\nimport { z } from \"zod/v4\";\nimport { CommonSchema } from \"./common.js\";\n\nexport const BatchLiquidatorSchema = z.object({\n ...CommonSchema.shape,\n /**\n * Liquidator mode\n */\n liquidationMode: z.literal(\"batch\").register(zommandRegistry, {\n flags: \"--liquidation-mode <mode>\",\n description: \"Liquidator mode (full/partial/batch/deleverage/wallet)\",\n env: \"LIQUIDATION_MODE\",\n }),\n /**\n * Number of accounts to liquidate at once using batch liquidator\n */\n batchSize: z.coerce\n .number()\n .nonnegative()\n .default(10)\n .register(zommandRegistry, {\n flags: \"--batch-size <size>\",\n description:\n \"Number of accounts to liquidate at once using batch liquidator\",\n env: \"BATCH_SIZE\",\n }),\n});\n\nexport type BatchLiquidatorSchema = z.infer<typeof BatchLiquidatorSchema>;\n","import { zommandRegistry } from \"@gearbox-protocol/cli-utils\";\nimport { z } from \"zod/v4\";\nimport { CommonSchema } from \"./common.js\";\n\nexport const DeleverageLiquidatorSchema = z.object({\n ...CommonSchema.shape,\n /**\n * Liquidator mode\n */\n liquidationMode: z.literal(\"deleverage\").register(zommandRegistry, {\n flags: \"--liquidation-mode <mode>\",\n description: \"Liquidator mode (full/partial/batch/deleverage/wallet)\",\n env: \"LIQUIDATION_MODE\",\n }),\n});\n\nexport type DeleverageLiquidatorSchema = z.infer<\n typeof DeleverageLiquidatorSchema\n>;\n","import { zommandRegistry } from \"@gearbox-protocol/cli-utils\";\nimport { z } from \"zod/v4\";\nimport { CommonSchema } from \"./common.js\";\n\nexport const FullLiquidatorSchema = z\n .object({\n ...CommonSchema.shape,\n /**\n * Liquidator mode\n */\n liquidationMode: z.literal(\"full\").register(zommandRegistry, {\n flags: \"--liquidation-mode <mode>\",\n description: \"Liquidator mode (full/partial/batch/deleverage/wallet)\",\n env: \"LIQUIDATION_MODE\",\n }),\n /**\n * Debt policy\n * full - liquidate fully\n * debt-only - try to liquidate only debt\n * debt-expired - try to liquidate only debt for expired accounts\n */\n debtPolicy: z\n .enum([\"full\", \"debt-only\", \"debt-expired\"])\n .default(\"full\")\n .register(zommandRegistry, {\n flags: \"--debt-policy <policy>\",\n description: \"Liquidate fully/debt only/debt only for expired accounts\",\n env: \"DEBT_POLICY\",\n }),\n /**\n * Full-mode liquidation strategy set for this process.\n *\n * Values:\n * - `auto`: production default. Includes loss-policy, normal full, and RWA\n * stablecoin strategies. Routing is decided by account type and\n * per-strategy `isApplicable`: non-RWA accounts use loss policy when they\n * have bad debt and fall back to normal full liquidation otherwise, while\n * RWA accounts use only the RWA stablecoin strategy.\n * - `rwa`: include only `LiquidationStrategyRWAViaStablecoins`\n * Intended for optimistic RWA tracks.\n * - `loss`: include only `LiquidationStrategyLossPolicy`\n * Intended for optimistic loss-policy tracks.\n * - `full`: include only `LiquidationStrategyFull`\n * Intended for optimistic normal-full tracks.\n *\n * Optimistic mode rejects `auto`, so the external runner must invoke\n * explicit tracks: `rwa`, `loss`, and `full`.\n */\n strategy: z\n .enum([\"auto\", \"rwa\", \"loss\", \"full\"])\n .default(\"auto\")\n .register(zommandRegistry, {\n flags: \"--strategy <strategy>\",\n description:\n \"Full-mode liquidation strategy set (auto/rwa/loss/full). Optimistic mode requires an explicit track.\",\n env: \"STRATEGY\",\n }),\n })\n .refine(data => !(data.optimistic === true && data.strategy === \"auto\"), {\n message:\n \"strategy=auto is not allowed in optimistic mode; pick one of rwa/loss/full\",\n });\n\nexport type FullLiquidatorSchema = z.infer<typeof FullLiquidatorSchema>;\n","import {\n boolLike,\n optionalAddressArrayLike,\n zommandRegistry,\n} from \"@gearbox-protocol/cli-utils\";\nimport { z } from \"zod/v4\";\nimport { CommonSchema } from \"./common.js\";\n\nexport const PartialLiquidatorSchema = z\n .object({\n ...CommonSchema.shape,\n /**\n * Liquidator mode\n */\n liquidationMode: z.literal(\"partial\").register(zommandRegistry, {\n flags: \"--liquidation-mode <mode>\",\n description: \"Liquidator mode (full/partial/batch/deleverage/wallet)\",\n env: \"LIQUIDATION_MODE\",\n }),\n\n /**\n * Fallback to use full liquidator when partial liquidator fails\n */\n partialFallback: boolLike().optional().register(zommandRegistry, {\n flags: \"--partial-fallback\",\n description:\n \"Fallback to use full liquidator when partial liquidator fails\",\n env: \"PARTIAL_FALLBACK\",\n }),\n\n /**\n * Desired HF after partial liquidation, with 4 decimals (100% = 10000)\n */\n targetPartialHF: z.coerce\n .bigint()\n .default(10100n)\n .register(zommandRegistry, {\n flags: \"--target-partial-hf <hf>\",\n description:\n \"Desired HF after partial liquidation, with 4 decimals (100% = 10000)\",\n env: \"TARGET_PARTIAL_HF\",\n }),\n /**\n * Optimal HF for partial liquidation will be calculated for accounts with following underlying tokens\n * Takes precedence over targetPartialHF\n */\n calculatePartialHF: optionalAddressArrayLike().register(zommandRegistry, {\n flags: \"--calculate-partial-hf <tokens>\",\n description:\n \"Optimal HF for partial liquidation will be calculated for accounts with following underlying tokens\",\n env: \"CALCULATE_PARTIAL_HF\",\n }),\n })\n .refine(\n data => !(data.optimistic === true && data.partialFallback === true),\n { message: \"partialFallback=true is not allowed in optimistic mode\" },\n );\n\nexport type PartialLiquidatorSchema = z.infer<typeof PartialLiquidatorSchema>;\n","import { zommandRegistry } from \"@gearbox-protocol/cli-utils\";\nimport { z } from \"zod/v4\";\nimport { CommonSchema } from \"./common.js\";\n\nexport const WalletLiquidatorSchema = z.object({\n ...CommonSchema.shape,\n /**\n * Liquidator mode\n */\n liquidationMode: z.literal(\"wallet\").register(zommandRegistry, {\n flags: \"--liquidation-mode <mode>\",\n description: \"Liquidator mode (full/partial/batch/deleverage/wallet)\",\n env: \"LIQUIDATION_MODE\",\n }),\n});\n\nexport type WalletLiquidatorSchema = z.infer<typeof WalletLiquidatorSchema>;\n","import { z } from \"zod/v4\";\nimport { BatchLiquidatorSchema } from \"./batch-liquidator.js\";\nimport { DeleverageLiquidatorSchema } from \"./deleverage-liquidator.js\";\nimport { FullLiquidatorSchema } from \"./full-liquidator.js\";\nimport { PartialLiquidatorSchema } from \"./partial-liquidator.js\";\nimport { WalletLiquidatorSchema } from \"./wallet-liquidator.js\";\n\nexport const ConfigSchema = z.discriminatedUnion(\"liquidationMode\", [\n FullLiquidatorSchema,\n PartialLiquidatorSchema,\n BatchLiquidatorSchema,\n DeleverageLiquidatorSchema,\n WalletLiquidatorSchema,\n]);\n\nexport type ConfigSchema = z.infer<typeof ConfigSchema>;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../src/config.ts","../src/notifications.ts","../src/common.ts","../src/batch-liquidator.ts","../src/deleverage-liquidator.ts","../src/full-liquidator.ts","../src/partial-liquidator.ts","../src/wallet-liquidator.ts","../src/schema.ts"],"sourcesContent":["import { createPublicClient, type Transport } from \"viem\";\nimport type { CommonSchema } from \"./common.js\";\nimport type { ConfigSchema } from \"./schema.js\";\n\nexport type Config = ConfigSchema & {\n readonly chainId: number;\n readonly startBlock: bigint;\n};\n\nexport type LiqduiatorConfig<TSchema extends CommonSchema> = TSchema & {\n readonly chainId: number;\n readonly startBlock: bigint;\n};\n\nexport class ConfigImplementation {\n #startBlock?: bigint;\n #chainId?: number;\n\n constructor(schema: ConfigSchema) {\n Object.assign(this, schema);\n }\n\n public async initialize(transport: Transport): Promise<void> {\n const client = createPublicClient({\n transport,\n name: \"preload client\",\n });\n\n const [startBlock, chainId] = await Promise.all([\n client.getBlockNumber(),\n client.getChainId(),\n ]);\n\n this.#startBlock = startBlock;\n this.#chainId = chainId;\n }\n\n public get startBlock(): bigint {\n if (this.#startBlock === undefined) {\n throw new Error(\"config not initialized\");\n }\n return this.#startBlock;\n }\n\n public get chainId(): number {\n if (this.#chainId === undefined) {\n throw new Error(\"config not initialized\");\n }\n return this.#chainId;\n }\n}\n","import { NotificationConfig } from \"@gearbox-protocol/cli-utils\";\nimport type { CuratorName } from \"@gearbox-protocol/sdk/model\";\nimport { z } from \"zod/v4\";\n\nconst extendedOptions = NotificationConfig.options.map(o =>\n o.extend({\n /**\n * When undefined, defaults to all curators together (aka Gearbox internal)\n */\n curator: z.custom<CuratorName>(s => typeof s === \"string\").optional(),\n }),\n);\n\nexport const NotificationsConfig = z.object({\n notifications: z\n .array(\n z.discriminatedUnion(\n NotificationConfig.def.discriminator,\n extendedOptions as [\n (typeof extendedOptions)[0],\n ...(typeof extendedOptions)[number][],\n ],\n ),\n )\n .optional()\n .default([]),\n});\n","import {\n addressLike,\n boolLike,\n CensoredString,\n clientWhitelistItemSchema,\n optionalAddressArrayLike,\n ProvidersSchema,\n stringArrayLike,\n zommandRegistry,\n} from \"@gearbox-protocol/cli-utils\";\nimport { MAX_UINT256, WAD } from \"@gearbox-protocol/sdk/onchain\";\nimport { type Hex, isHex } from \"viem\";\nimport { z } from \"zod/v4\";\nimport { NotificationsConfig } from \"./notifications.js\";\n\nexport const CommonSchema = z.object({\n ...ProvidersSchema.shape,\n /**\n * By default uses address provider from @gearbox-protocol/sdk\n * Use this option to override address provider\n */\n addressProvider: addressLike().optional().register(zommandRegistry, {\n flags: \"--address-provider <address>\",\n description:\n \"Address provider override, uses default value from SDK otherwise\",\n env: \"ADDRESS_PROVIDER\",\n }),\n /**\n * Market configurators addresses to attach SDK\n */\n marketConfigurators: optionalAddressArrayLike().register(zommandRegistry, {\n flags: \"--market-configurators <addresses...>\",\n description:\n \"Market configurators to use for the process, comma separated. Uses default value from SDK if not specified\",\n env: \"MARKET_CONFIGURATORS\",\n }),\n /**\n * RWA factories addresses to attach SDK\n */\n rwaFactories: optionalAddressArrayLike().register(zommandRegistry, {\n flags: \"--rwa-factories <addresses...>\",\n description:\n \"RWA factories to use for the process, comma separated. Uses default value from SDK if not specified\",\n env: \"RWA_FACTORIES\",\n }),\n /**\n * App name used in various messages to distinguish instances\n */\n appName: z.string().default(\"liquidator-ts\").register(zommandRegistry, {\n flags: \"--app-name <name>\",\n description: \"App name used in various messages to distinguish instances\",\n env: \"APP_NAME\",\n }),\n /**\n * Port to expose some vital signals and metrics\n */\n port: z.coerce.number().default(4000).register(zommandRegistry, {\n flags: \"--port <port>\",\n description: \"Port to expose some vital signals and metrics\",\n env: \"PORT\",\n }),\n /**\n * Full URL of the whitelist endpoint. Entries can be credit account\n * addresses or credit manager addresses. Only applied in non-optimistic mode.\n */\n whitelistUrl: z.url().optional().register(zommandRegistry, {\n flags: \"--whitelist-url <url>\",\n description:\n \"Full URL of the liquidator soft whitelist endpoint. Entries are credit account or credit manager addresses. Does not prevent liquidation, but annotates failure notifications. Only applied in non-optimistic mode.\",\n env: \"WHITELIST_URL\",\n }),\n /**\n * Static (hard) whitelist that prevents liquidation entirely.\n * Entries can be credit account, credit manager or token addresses.\n */\n hardWhitelist: z.array(clientWhitelistItemSchema).optional(),\n /**\n * Only check this account during local debug session\n */\n debugAccount: addressLike().optional().register(zommandRegistry, {\n flags: \"--debug-account <address>\",\n description: \"Only check this account during local debug session\",\n env: \"DEBUG_ACCOUNT\",\n }),\n /**\n * Only check this credit manager during local debug session\n */\n debugManager: addressLike().optional().register(zommandRegistry, {\n flags: \"--debug-manager <address>\",\n description: \"Only check this credit manager during local debug session\",\n env: \"DEBUG_MANAGER\",\n }),\n /**\n * Path to foundry/cast binary, so that we can create tree-like traces in case of errors\n * Used during optimistic liquidations\n */\n castBin: z.string().optional().register(zommandRegistry, {\n flags: \"--cast-bin <path>\",\n description:\n \"Path to foundry/cast binary, so that we can create tree-like traces in case of errors\",\n env: \"CAST_BIN\",\n }),\n /**\n * Timeout duration passed to `timeout` utility when running cast.\n * If unset, cast runs without a timeout. Accepts any value understood by `timeout(1)` (e.g. `30s`, `1m`).\n */\n castTimeout: z.string().optional().default(\"1m\").register(zommandRegistry, {\n flags: \"--cast-timeout <duration>\",\n description:\n \"Timeout duration for cast invocations (e.g. 30s, 1m). If unset, cast runs without a timeout.\",\n env: \"CAST_TIMEOUT\",\n }),\n /**\n * Stale block threshold in seconds, to notify and try to rotate rpc provider. 0 means no monitoring\n */\n staleBlockThreshold: z.coerce\n .number()\n .nonnegative()\n .default(120)\n .register(zommandRegistry, {\n flags: \"--stale-block-threshold <threshold>\",\n description:\n \"Stale block threshold in seconds, to notify and try to rotate rpc provider. 0 means no monitoring\",\n env: \"STALE_BLOCK_THRESHOLD\",\n }),\n /**\n * Max block range size for eth_getLogs\n */\n logsPageSize: z.coerce\n .bigint()\n .nonnegative()\n .optional()\n .register(zommandRegistry, {\n flags: \"--logs-page-size <size>\",\n description: \"Max block range size for eth_getLogs\",\n env: \"LOGS_PAGE_SIZE\",\n }),\n /**\n * Polling interval in milliseconds, default to what's default in viem\n */\n pollingInterval: z.coerce\n .number()\n .nonnegative()\n .optional()\n .register(zommandRegistry, {\n flags: \"--polling-interval <interval>\",\n description:\n \"Polling interval in milliseconds, default to what's default in viem\",\n env: \"POLLING_INTERVAL\",\n }),\n /**\n * Private key used to send liquidation transactions\n * Required in non-optimistic mode, must not be set in optimistic mode\n */\n privateKey: z\n .string()\n .min(1)\n .transform((s): Hex => {\n return isHex(s) ? s : `0x${s}`;\n })\n .transform(CensoredString.transform<Hex>)\n .optional()\n .register(zommandRegistry, {\n flags: \"--private-key <key>\",\n description:\n \"Private key used to send liquidation transactions. Required in non-optimistic mode, must not be set in optimistic mode\",\n env: \"PRIVATE_KEY\",\n }),\n /**\n * Address to impersonate as transaction sender on anvil fork\n * Required in optimistic mode, must not be set in non-optimistic mode\n */\n liquidatorAddress: addressLike().optional().register(zommandRegistry, {\n flags: \"--liquidator-address <address>\",\n description:\n \"Address to impersonate as transaction sender on anvil fork. Required in optimistic mode, must not be set in non-optimistic mode\",\n env: \"LIQUIDATOR_ADDRESS\",\n }),\n /**\n * Minimum executor gas budget, in gas units. The required balance to send a\n * notification is computed as `minBalanceGas * currentGasPrice`.\n */\n minBalanceGas: z.coerce\n .bigint()\n .positive()\n // At some point on Mainnet there were 40 accounts\n // It costed ~80M gas to deleverage all of them, deleverage being the most expensive operation\n .default(85_000_000n)\n .register(zommandRegistry, {\n flags: \"--min-balance-gas <gas>\",\n description:\n \"Minimum executor gas budget (in gas units); required balance = this * current gas price\",\n env: \"MIN_BALANCE_GAS\",\n }),\n /**\n * Filter out all accounts with HF >= threshold during scan stage\n */\n hfThreshold: z.coerce\n .bigint()\n .nonnegative()\n .max(MAX_UINT256)\n .default(WAD - 1n) // 100% accounts are healthy, and credit account compressors filters by HF <= threshold\n .register(zommandRegistry, {\n flags: \"--hf-threshold <threshold>\",\n description:\n \"Filter out all accounts with HF >= threshold during scan stage\",\n env: \"HF_THRESHOLD\",\n }),\n /**\n * Default numSplits for router v3.1 contract\n */\n numSplits: z.coerce\n .bigint()\n .positive()\n .default(10n)\n .register(zommandRegistry, {\n flags: \"--num-splits <splits>\",\n description: \"Default numSplits for router v3.1 contract\",\n env: \"NUM_SPLITS\",\n }),\n /**\n * Liquidator mode\n */\n liquidationMode: z\n .enum([\"full\", \"partial\", \"batch\", \"deleverage\", \"wallet\"])\n .default(\"full\")\n .register(zommandRegistry, {\n flags: \"--liquidation-mode <mode>\",\n description: \"Liquidator mode (full/partial/batch/deleverage/wallet)\",\n env: \"LIQUIDATION_MODE\",\n }),\n /**\n * Enable optimistic liquidations\n */\n optimistic: boolLike().optional().register(zommandRegistry, {\n flags: \"--optimistic\",\n description: \"Enable optimistic liquidations\",\n env: \"OPTIMISTIC\",\n }),\n /**\n * In optimistic mode, use real health factor range to scan for accounts\n * and do not force-enable deleverage bot on accounts.\n *\n * This mode can be used to test that deleverage bot is able to detect accounts correctly\n */\n useProductionScanner: boolLike().optional().register(zommandRegistry, {\n flags: \"--use-production-scanner\",\n description:\n \"In optimistic mode, use real health factor range to scan for accounts and do not force-enable deleverage bot on accounts\",\n env: \"USE_PRODUCTION_SCANNER\",\n }),\n /**\n * Optimistic timestamp to pass from external runner, in ms\n */\n optimisticTimestamp: z.coerce\n .number()\n .int()\n .positive()\n .nullish()\n .register(zommandRegistry, {\n flags: \"--optimistic-timestamp <timestamp>\",\n description: \"Optimistic timestamp to pass from external runner, in ms\",\n env: \"OPTIMISTIC_TIMESTAMP\",\n }),\n /**\n * Fail on missing feeds (redstone and pyth)\n */\n failOnMissingFeeds: boolLike().optional().register(zommandRegistry, {\n flags: \"--fail-on-missing-feeds\",\n description: \"Fail on missing feeds (redstone and pyth)\",\n env: \"FAIL_ON_MISSING_FEEDS\",\n }),\n /**\n * Explicitly set gas limit for SDK\n * -1 to disable explicitly setting gas limit in SDK\n * If not set, SDK will use default gas limit\n */\n gasLimit: z.coerce.bigint().optional().register(zommandRegistry, {\n flags: \"--gas-limit <limit>\",\n description: \"Set gas limit for SDK\",\n env: \"GAS_LIMIT\",\n }),\n /**\n * Do not send transactions in non-optimistic mode, just log them\n */\n dryRun: boolLike().optional().register(zommandRegistry, {\n flags: \"--dry-run\",\n description:\n \"Do not send transactions in non-optimistic mode, just log them\",\n env: \"DRY_RUN\",\n }),\n /**\n * Redstone gateways override\n * Set local caching proxies to avoid rate limiting in test environment\n */\n redstoneGateways: stringArrayLike()\n .pipe(z.array(z.url()))\n .transform(a => (a.length ? a : undefined))\n .optional()\n .register(zommandRegistry, {\n flags: \"--redstone-gateways <urls...>\",\n description: \"Redstone gateways to use, comma separated\",\n env: \"REDSTONE_GATEWAYS\",\n }),\n\n /**\n * Limit number of accounts to load from compressor. 0 = unlimited, let compressor decide\n */\n compressorBatchSize: z.coerce\n .number()\n .nonnegative()\n .default(0)\n .register(zommandRegistry, {\n flags: \"--compressor-batch-size <size>\",\n description:\n \"Limit number of accounts to load from compressor. 0 = unlimited, let compressor decide\",\n env: \"COMPRESSOR_BATCH_SIZE\",\n }),\n /**\n * Slippage value for pathfined\n */\n slippage: z.coerce\n .number()\n .min(0)\n .max(10000)\n .int()\n .default(50)\n .register(zommandRegistry, {\n flags: \"--slippage <value>\",\n description: \"Slippage value for pathfinder\",\n env: \"SLIPPAGE\",\n }),\n /**\n * By default, reserve prices are not updated (except for deleverage mode)\n */\n updateReservePrices: boolLike()\n .optional()\n .default(false)\n .register(zommandRegistry, {\n flags: \"--update-reserve-prices\",\n description: \"Update reserve prices\",\n env: \"UPDATE_RESERVE_PRICES\",\n }),\n /**\n * List of assets to keep on account after liquidation\n */\n keepAssets: optionalAddressArrayLike().register(zommandRegistry, {\n flags: \"--keep-assets <assets...>\",\n description: \"List of assets to keep on account after liquidation\",\n env: \"KEEP_ASSETS\",\n }),\n /**\n * Address that receives the liquidation premium and leftover underlying.\n * Defaults to the executor address when unset.\n */\n premiumReceiver: addressLike().optional().register(zommandRegistry, {\n flags: \"--premium-receiver <address>\",\n description:\n \"Address that receives the liquidation premium and leftover underlying (defaults to executor address)\",\n env: \"PREMIUM_RECEIVER\",\n }),\n\n /**\n * Directory to save json with optimistic liquidation results\n */\n outDir: z.string().default(\".\").register(zommandRegistry, {\n flags: \"--out-dir <dir>\",\n description: \"Directory to save json with optimistic liquidation results\",\n env: \"OUT_DIR\",\n }),\n /**\n * REST endpoint to POST json with optimistic liquidation results\n */\n outEndpoint: z.url().optional().register(zommandRegistry, {\n flags: \"--out-endpoint <url>\",\n description:\n \"REST endpoint to POST json with optimistic liquidation results\",\n env: \"OUT_ENDPOINT\",\n }),\n /**\n * Headers for REST endpoint\n */\n outHeaders: z\n .string()\n .default(\"{}\")\n .transform(CensoredString.transform)\n .register(zommandRegistry, {\n flags: \"--out-headers <headers>\",\n description: \"Headers for REST endpoint\",\n env: \"OUT_HEADERS\",\n }),\n /**\n * s3 bucket to upload json with optimistic liquidation results\n */\n outS3Bucket: z.string().optional().register(zommandRegistry, {\n flags: \"--out-s3-bucket <bucket>\",\n description: \"S3 bucket to upload json with optimistic liquidation results\",\n env: \"OUT_S3_BUCKET\",\n }),\n /**\n * s3 bucket path prefix\n */\n outS3Prefix: z.string().default(\"\").register(zommandRegistry, {\n flags: \"--out-s3-prefix <prefix>\",\n description: \"S3 bucket path prefix\",\n env: \"OUT_S3_PREFIX\",\n }),\n /**\n * Filename of json with optimistic liquidation results for s3 or dir output\n */\n outFileName: z.string().optional().register(zommandRegistry, {\n flags: \"--out-file-name <name>\",\n description:\n \"Filename of json with optimistic liquidation results for s3 or dir output\",\n env: \"OUT_FILE_NAME\",\n }),\n\n /**\n * Notifications, global and per-curator\n */\n ...NotificationsConfig.shape,\n});\n\nexport type CommonSchema = z.infer<typeof CommonSchema>;\n","import { zommandRegistry } from \"@gearbox-protocol/cli-utils\";\nimport { z } from \"zod/v4\";\nimport { CommonSchema } from \"./common.js\";\n\nexport const BatchLiquidatorSchema = z.object({\n ...CommonSchema.shape,\n /**\n * Liquidator mode\n */\n liquidationMode: z.literal(\"batch\").register(zommandRegistry, {\n flags: \"--liquidation-mode <mode>\",\n description: \"Liquidator mode (full/partial/batch/deleverage/wallet)\",\n env: \"LIQUIDATION_MODE\",\n }),\n /**\n * Number of accounts to liquidate at once using batch liquidator\n */\n batchSize: z.coerce\n .number()\n .nonnegative()\n .default(10)\n .register(zommandRegistry, {\n flags: \"--batch-size <size>\",\n description:\n \"Number of accounts to liquidate at once using batch liquidator\",\n env: \"BATCH_SIZE\",\n }),\n});\n\nexport type BatchLiquidatorSchema = z.infer<typeof BatchLiquidatorSchema>;\n","import { zommandRegistry } from \"@gearbox-protocol/cli-utils\";\nimport { z } from \"zod/v4\";\nimport { CommonSchema } from \"./common.js\";\n\nexport const DeleverageLiquidatorSchema = z.object({\n ...CommonSchema.shape,\n /**\n * Liquidator mode\n */\n liquidationMode: z.literal(\"deleverage\").register(zommandRegistry, {\n flags: \"--liquidation-mode <mode>\",\n description: \"Liquidator mode (full/partial/batch/deleverage/wallet)\",\n env: \"LIQUIDATION_MODE\",\n }),\n});\n\nexport type DeleverageLiquidatorSchema = z.infer<\n typeof DeleverageLiquidatorSchema\n>;\n","import { zommandRegistry } from \"@gearbox-protocol/cli-utils\";\nimport { z } from \"zod/v4\";\nimport { CommonSchema } from \"./common.js\";\n\nexport const FullLiquidatorSchema = z\n .object({\n ...CommonSchema.shape,\n /**\n * Liquidator mode\n */\n liquidationMode: z.literal(\"full\").register(zommandRegistry, {\n flags: \"--liquidation-mode <mode>\",\n description: \"Liquidator mode (full/partial/batch/deleverage/wallet)\",\n env: \"LIQUIDATION_MODE\",\n }),\n /**\n * Debt policy\n * full - liquidate fully\n * debt-only - try to liquidate only debt\n * debt-expired - try to liquidate only debt for expired accounts\n */\n debtPolicy: z\n .enum([\"full\", \"debt-only\", \"debt-expired\"])\n .default(\"full\")\n .register(zommandRegistry, {\n flags: \"--debt-policy <policy>\",\n description: \"Liquidate fully/debt only/debt only for expired accounts\",\n env: \"DEBT_POLICY\",\n }),\n /**\n * Full-mode liquidation strategy set for this process.\n *\n * Values:\n * - `auto`: production default. Includes loss-policy, normal full, and RWA\n * stablecoin strategies. Routing is decided by account type and\n * per-strategy `isApplicable`: non-RWA accounts use loss policy when they\n * have bad debt and fall back to normal full liquidation otherwise, while\n * RWA accounts use only the RWA stablecoin strategy.\n * - `rwa`: include only `LiquidationStrategyRWAViaStablecoins`\n * Intended for optimistic RWA tracks.\n * - `loss`: include only `LiquidationStrategyLossPolicy`\n * Intended for optimistic loss-policy tracks.\n * - `full`: include only `LiquidationStrategyFull`\n * Intended for optimistic normal-full tracks.\n *\n * Optimistic mode rejects `auto`, so the external runner must invoke\n * explicit tracks: `rwa`, `loss`, and `full`.\n */\n strategy: z\n .enum([\"auto\", \"rwa\", \"loss\", \"full\"])\n .default(\"auto\")\n .register(zommandRegistry, {\n flags: \"--strategy <strategy>\",\n description:\n \"Full-mode liquidation strategy set (auto/rwa/loss/full). Optimistic mode requires an explicit track.\",\n env: \"STRATEGY\",\n }),\n })\n .refine(data => !(data.optimistic === true && data.strategy === \"auto\"), {\n message:\n \"strategy=auto is not allowed in optimistic mode; pick one of rwa/loss/full\",\n });\n\nexport type FullLiquidatorSchema = z.infer<typeof FullLiquidatorSchema>;\n","import {\n boolLike,\n optionalAddressArrayLike,\n zommandRegistry,\n} from \"@gearbox-protocol/cli-utils\";\nimport { z } from \"zod/v4\";\nimport { CommonSchema } from \"./common.js\";\n\nexport const PartialLiquidatorSchema = z\n .object({\n ...CommonSchema.shape,\n /**\n * Liquidator mode\n */\n liquidationMode: z.literal(\"partial\").register(zommandRegistry, {\n flags: \"--liquidation-mode <mode>\",\n description: \"Liquidator mode (full/partial/batch/deleverage/wallet)\",\n env: \"LIQUIDATION_MODE\",\n }),\n\n /**\n * Fallback to use full liquidator when partial liquidator fails\n */\n partialFallback: boolLike().optional().register(zommandRegistry, {\n flags: \"--partial-fallback\",\n description:\n \"Fallback to use full liquidator when partial liquidator fails\",\n env: \"PARTIAL_FALLBACK\",\n }),\n\n /**\n * Desired HF after partial liquidation, with 4 decimals (100% = 10000)\n */\n targetPartialHF: z.coerce\n .bigint()\n .default(10100n)\n .register(zommandRegistry, {\n flags: \"--target-partial-hf <hf>\",\n description:\n \"Desired HF after partial liquidation, with 4 decimals (100% = 10000)\",\n env: \"TARGET_PARTIAL_HF\",\n }),\n /**\n * Optimal HF for partial liquidation will be calculated for accounts with following underlying tokens\n * Takes precedence over targetPartialHF\n */\n calculatePartialHF: optionalAddressArrayLike().register(zommandRegistry, {\n flags: \"--calculate-partial-hf <tokens>\",\n description:\n \"Optimal HF for partial liquidation will be calculated for accounts with following underlying tokens\",\n env: \"CALCULATE_PARTIAL_HF\",\n }),\n })\n .refine(\n data => !(data.optimistic === true && data.partialFallback === true),\n { message: \"partialFallback=true is not allowed in optimistic mode\" },\n );\n\nexport type PartialLiquidatorSchema = z.infer<typeof PartialLiquidatorSchema>;\n","import { zommandRegistry } from \"@gearbox-protocol/cli-utils\";\nimport { z } from \"zod/v4\";\nimport { CommonSchema } from \"./common.js\";\n\nexport const WalletLiquidatorSchema = z.object({\n ...CommonSchema.shape,\n /**\n * Liquidator mode\n */\n liquidationMode: z.literal(\"wallet\").register(zommandRegistry, {\n flags: \"--liquidation-mode <mode>\",\n description: \"Liquidator mode (full/partial/batch/deleverage/wallet)\",\n env: \"LIQUIDATION_MODE\",\n }),\n});\n\nexport type WalletLiquidatorSchema = z.infer<typeof WalletLiquidatorSchema>;\n","import { z } from \"zod/v4\";\nimport { BatchLiquidatorSchema } from \"./batch-liquidator.js\";\nimport { DeleverageLiquidatorSchema } from \"./deleverage-liquidator.js\";\nimport { FullLiquidatorSchema } from \"./full-liquidator.js\";\nimport { PartialLiquidatorSchema } from \"./partial-liquidator.js\";\nimport { WalletLiquidatorSchema } from \"./wallet-liquidator.js\";\n\nexport const ConfigSchema = z.discriminatedUnion(\"liquidationMode\", [\n FullLiquidatorSchema,\n PartialLiquidatorSchema,\n BatchLiquidatorSchema,\n DeleverageLiquidatorSchema,\n WalletLiquidatorSchema,\n]);\n\nexport type ConfigSchema = z.infer<typeof ConfigSchema>;\n"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gearbox-protocol/liquidator-v2-config",
|
|
3
|
-
"version": "9.3.0-beta.
|
|
3
|
+
"version": "9.3.0-beta.13",
|
|
4
4
|
"description": "Configuration schemas and optimistic result types for Gearbox liquidator v2",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -17,10 +17,10 @@
|
|
|
17
17
|
"dist"
|
|
18
18
|
],
|
|
19
19
|
"dependencies": {
|
|
20
|
-
"@gearbox-protocol/sdk": "
|
|
20
|
+
"@gearbox-protocol/sdk": "^16.1.1",
|
|
21
21
|
"viem": "^2.55.10",
|
|
22
22
|
"zod": "^4.4.3",
|
|
23
|
-
"@gearbox-protocol/cli-utils": "9.3.0-beta.
|
|
23
|
+
"@gearbox-protocol/cli-utils": "9.3.0-beta.13"
|
|
24
24
|
},
|
|
25
25
|
"devDependencies": {
|
|
26
26
|
"tsdown": "^0.22.14",
|