Skip to content

Commit 22d0a33

Browse files
committed
feat: add num splits to config
1 parent b403eb5 commit 22d0a33

File tree

5 files changed

+61
-39
lines changed

5 files changed

+61
-39
lines changed

package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,14 +22,14 @@
2222
"pino-pretty": "^13.0.0"
2323
},
2424
"devDependencies": {
25-
"@aws-sdk/client-s3": "^3.812.0",
25+
"@aws-sdk/client-s3": "^3.815.0",
2626
"@commitlint/cli": "^19.8.1",
2727
"@commitlint/config-conventional": "^19.8.1",
2828
"@gearbox-protocol/eslint-config": "2.0.0-next.2",
2929
"@gearbox-protocol/liquidator-v2-contracts": "^2.4.0",
3030
"@gearbox-protocol/next-contracts": "npm:@gearbox-protocol/liquidator-v2-contracts@2.5.0-next.3",
3131
"@gearbox-protocol/prettier-config": "2.1.0",
32-
"@gearbox-protocol/sdk": "7.4.0",
32+
"@gearbox-protocol/sdk": "7.6.0",
3333
"@gearbox-protocol/types": "^1.14.8",
3434
"@types/node": "^22.15.21",
3535
"@uniswap/sdk-core": "^7.7.2",
@@ -52,7 +52,7 @@
5252
"typescript": "^5.8.3",
5353
"viem": "^2.30.0",
5454
"vitest": "^3.1.4",
55-
"zod": "^3.25.17",
55+
"zod": "^3.25.20",
5656
"zod-validation-error": "^3.4.1"
5757
},
5858
"prettier": "@gearbox-protocol/prettier-config",

src/attachSDK.ts

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,10 @@
1-
import { CreditAccountsService, GearboxSDK } from "@gearbox-protocol/sdk";
1+
import {
2+
AP_ROUTER,
3+
CreditAccountsService,
4+
GearboxSDK,
5+
RouterV310Contract,
6+
VERSION_RANGE_310,
7+
} from "@gearbox-protocol/sdk";
28
import { createTransport } from "@gearbox-protocol/sdk/dev";
39

410
import type { Config } from "./config/index.js";
@@ -73,6 +79,17 @@ export default async function attachSDK(): Promise<CreditAccountsService> {
7379
},
7480
logger,
7581
});
82+
// trying to set default numSplits for router v3.1 contract
83+
const rV310 = sdk.addressProvider.getLatest(AP_ROUTER, VERSION_RANGE_310);
84+
if (rV310) {
85+
const router = sdk.contracts.get(rV310[0]);
86+
if (router instanceof RouterV310Contract) {
87+
router.setDefaultNumSplits(config.numSplits);
88+
logger.info(
89+
`set default numSplits to ${config.numSplits} on router ${rV310[0]}`,
90+
);
91+
}
92+
}
7693
if (config.optimistic) {
7794
// in optimistic mode, warp time if redstone timestamp does not match it
7895
sdk.priceFeeds.addHook("updatesGenerated", async ({ timestamp }) => {

src/config/env.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ const envConfigMapping: Record<keyof ConfigSchema, string | string[]> = {
1313
deployPartialLiquidatorContracts: "DEPLOY_PARTIAL_LIQUIDATOR",
1414
deployBatchLiquidatorContracts: "DEPLOY_BATCH_LIQUIDATOR",
1515
hfThreshold: "HF_TRESHOLD",
16+
numSplits: "NUM_SPLITS",
1617
jsonRpcProviders: "JSON_RPC_PROVIDERS",
1718
alchemyKeys: "ALCHEMY_KEYS",
1819
drpcKeys: "DRPC_KEYS",

src/config/schema.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,10 @@ export const ConfigSchema = PartialV300ConfigSchema.extend({
122122
.min(1_10_00n)
123123
.max(MAX_UINT256)
124124
.default(WAD - 1n), // 100% accounts are healthy, and credit account compressors filters by HF <= threshold
125+
/**
126+
* Default numSplits for router v3.1 contract
127+
*/
128+
numSplits: bigintLike.default(4n),
125129
/**
126130
* Enable optimistic liquidations
127131
*/

yarn.lock

Lines changed: 35 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -94,9 +94,9 @@ __metadata:
9494
languageName: node
9595
linkType: hard
9696

97-
"@aws-sdk/client-s3@npm:^3.812.0":
98-
version: 3.812.0
99-
resolution: "@aws-sdk/client-s3@npm:3.812.0"
97+
"@aws-sdk/client-s3@npm:^3.815.0":
98+
version: 3.815.0
99+
resolution: "@aws-sdk/client-s3@npm:3.815.0"
100100
dependencies:
101101
"@aws-crypto/sha1-browser": "npm:5.2.0"
102102
"@aws-crypto/sha256-browser": "npm:5.2.0"
@@ -105,7 +105,7 @@ __metadata:
105105
"@aws-sdk/credential-provider-node": "npm:3.812.0"
106106
"@aws-sdk/middleware-bucket-endpoint": "npm:3.808.0"
107107
"@aws-sdk/middleware-expect-continue": "npm:3.804.0"
108-
"@aws-sdk/middleware-flexible-checksums": "npm:3.812.0"
108+
"@aws-sdk/middleware-flexible-checksums": "npm:3.815.0"
109109
"@aws-sdk/middleware-host-header": "npm:3.804.0"
110110
"@aws-sdk/middleware-location-constraint": "npm:3.804.0"
111111
"@aws-sdk/middleware-logger": "npm:3.804.0"
@@ -154,7 +154,7 @@ __metadata:
154154
"@smithy/util-utf8": "npm:^4.0.0"
155155
"@smithy/util-waiter": "npm:^4.0.3"
156156
tslib: "npm:^2.6.2"
157-
checksum: 10c0/414ad46ae3b5c80ea53116f6533b0954242969eb02c00dc2889b84b91deb4effd79813a740b9edb6483019803f2d2b1b5eb26751015397ce089813f3f7ac4b65
157+
checksum: 10c0/c9b51e1492e9aaf9ca5c36b9745c6ba9ab141948be34880b5b5dc1fe6b4e5dd5c8785b34d38d9c624b87068ebead71c6820b9f56f4dceb6c0bc79257073f9a68
158158
languageName: node
159159
linkType: hard
160160

@@ -366,9 +366,9 @@ __metadata:
366366
languageName: node
367367
linkType: hard
368368

369-
"@aws-sdk/middleware-flexible-checksums@npm:3.812.0":
370-
version: 3.812.0
371-
resolution: "@aws-sdk/middleware-flexible-checksums@npm:3.812.0"
369+
"@aws-sdk/middleware-flexible-checksums@npm:3.815.0":
370+
version: 3.815.0
371+
resolution: "@aws-sdk/middleware-flexible-checksums@npm:3.815.0"
372372
dependencies:
373373
"@aws-crypto/crc32": "npm:5.2.0"
374374
"@aws-crypto/crc32c": "npm:5.2.0"
@@ -383,7 +383,7 @@ __metadata:
383383
"@smithy/util-stream": "npm:^4.2.0"
384384
"@smithy/util-utf8": "npm:^4.0.0"
385385
tslib: "npm:^2.6.2"
386-
checksum: 10c0/f57ef8e2d41d3b73dde8ed2663a7a0338fe755386af2adc8080a6fed42250b525da5f779d2d2216849daba3fd67fc15accf63363409b5701131c3f70200d0846
386+
checksum: 10c0/87cea23641dbf4953d4a473332b44ffcd54dff252c46371ae07f979fafcb8598511818982d865407ebf2f0553afefbc1dfdcff4bcdb36b295d6f12f1ce482220
387387
languageName: node
388388
linkType: hard
389389

@@ -1605,14 +1605,14 @@ __metadata:
16051605
version: 0.0.0-use.local
16061606
resolution: "@gearbox-protocol/liquidator-v2@workspace:."
16071607
dependencies:
1608-
"@aws-sdk/client-s3": "npm:^3.812.0"
1608+
"@aws-sdk/client-s3": "npm:^3.815.0"
16091609
"@commitlint/cli": "npm:^19.8.1"
16101610
"@commitlint/config-conventional": "npm:^19.8.1"
16111611
"@gearbox-protocol/eslint-config": "npm:2.0.0-next.2"
16121612
"@gearbox-protocol/liquidator-v2-contracts": "npm:^2.4.0"
16131613
"@gearbox-protocol/next-contracts": "npm:@gearbox-protocol/liquidator-v2-contracts@2.5.0-next.3"
16141614
"@gearbox-protocol/prettier-config": "npm:2.1.0"
1615-
"@gearbox-protocol/sdk": "npm:7.4.0"
1615+
"@gearbox-protocol/sdk": "npm:7.6.0"
16161616
"@gearbox-protocol/types": "npm:^1.14.8"
16171617
"@types/node": "npm:^22.15.21"
16181618
"@uniswap/sdk-core": "npm:^7.7.2"
@@ -1636,7 +1636,7 @@ __metadata:
16361636
typescript: "npm:^5.8.3"
16371637
viem: "npm:^2.30.0"
16381638
vitest: "npm:^3.1.4"
1639-
zod: "npm:^3.25.17"
1639+
zod: "npm:^3.25.20"
16401640
zod-validation-error: "npm:^3.4.1"
16411641
languageName: unknown
16421642
linkType: soft
@@ -1657,9 +1657,9 @@ __metadata:
16571657
languageName: node
16581658
linkType: hard
16591659

1660-
"@gearbox-protocol/sdk@npm:7.4.0":
1661-
version: 7.4.0
1662-
resolution: "@gearbox-protocol/sdk@npm:7.4.0"
1660+
"@gearbox-protocol/sdk@npm:7.6.0":
1661+
version: 7.6.0
1662+
resolution: "@gearbox-protocol/sdk@npm:7.6.0"
16631663
dependencies:
16641664
"@redstone-finance/evm-connector": "npm:^0.7.5"
16651665
"@redstone-finance/protocol": "npm:^0.7.5"
@@ -1671,7 +1671,7 @@ __metadata:
16711671
zod: "npm:^3.24.4"
16721672
peerDependencies:
16731673
axios: ^1.0.0
1674-
checksum: 10c0/1075da88298c161c323cb986f3b9792d9eb0aeea5843c8eb440b9d0897ba68de998230fdea2b1199697f4165e3fd30f3bc9ea0c324ffec6465bbc7171b619ba4
1674+
checksum: 10c0/2b00472e0e3dd9483681129b11c8963ce5c73fd7bd98e4dc6a987749bfdf28ca134a24ee03a80e444a8622f391f32831673ed5f37f8b62dc236b46687fe20877
16751675
languageName: node
16761676
linkType: hard
16771677

@@ -4314,25 +4314,25 @@ __metadata:
43144314
linkType: hard
43154315

43164316
"es-abstract@npm:^1.17.5, es-abstract@npm:^1.23.2, es-abstract@npm:^1.23.3, es-abstract@npm:^1.23.5, es-abstract@npm:^1.23.6, es-abstract@npm:^1.23.9":
4317-
version: 1.23.9
4318-
resolution: "es-abstract@npm:1.23.9"
4317+
version: 1.23.10
4318+
resolution: "es-abstract@npm:1.23.10"
43194319
dependencies:
43204320
array-buffer-byte-length: "npm:^1.0.2"
43214321
arraybuffer.prototype.slice: "npm:^1.0.4"
43224322
available-typed-arrays: "npm:^1.0.7"
43234323
call-bind: "npm:^1.0.8"
4324-
call-bound: "npm:^1.0.3"
4324+
call-bound: "npm:^1.0.4"
43254325
data-view-buffer: "npm:^1.0.2"
43264326
data-view-byte-length: "npm:^1.0.2"
43274327
data-view-byte-offset: "npm:^1.0.1"
43284328
es-define-property: "npm:^1.0.1"
43294329
es-errors: "npm:^1.3.0"
4330-
es-object-atoms: "npm:^1.0.0"
4330+
es-object-atoms: "npm:^1.1.1"
43314331
es-set-tostringtag: "npm:^2.1.0"
43324332
es-to-primitive: "npm:^1.3.0"
43334333
function.prototype.name: "npm:^1.1.8"
4334-
get-intrinsic: "npm:^1.2.7"
4335-
get-proto: "npm:^1.0.0"
4334+
get-intrinsic: "npm:^1.3.0"
4335+
get-proto: "npm:^1.0.1"
43364336
get-symbol-description: "npm:^1.1.0"
43374337
globalthis: "npm:^1.0.4"
43384338
gopd: "npm:^1.2.0"
@@ -4348,13 +4348,13 @@ __metadata:
43484348
is-shared-array-buffer: "npm:^1.0.4"
43494349
is-string: "npm:^1.1.1"
43504350
is-typed-array: "npm:^1.1.15"
4351-
is-weakref: "npm:^1.1.0"
4351+
is-weakref: "npm:^1.1.1"
43524352
math-intrinsics: "npm:^1.1.0"
4353-
object-inspect: "npm:^1.13.3"
4353+
object-inspect: "npm:^1.13.4"
43544354
object-keys: "npm:^1.1.1"
43554355
object.assign: "npm:^4.1.7"
43564356
own-keys: "npm:^1.0.1"
4357-
regexp.prototype.flags: "npm:^1.5.3"
4357+
regexp.prototype.flags: "npm:^1.5.4"
43584358
safe-array-concat: "npm:^1.1.3"
43594359
safe-push-apply: "npm:^1.0.0"
43604360
safe-regex-test: "npm:^1.1.0"
@@ -4367,8 +4367,8 @@ __metadata:
43674367
typed-array-byte-offset: "npm:^1.0.4"
43684368
typed-array-length: "npm:^1.0.7"
43694369
unbox-primitive: "npm:^1.1.0"
4370-
which-typed-array: "npm:^1.1.18"
4371-
checksum: 10c0/1de229c9e08fe13c17fe5abaec8221545dfcd57e51f64909599a6ae896df84b8fd2f7d16c60cb00d7bf495b9298ca3581aded19939d4b7276854a4b066f8422b
4370+
which-typed-array: "npm:^1.1.19"
4371+
checksum: 10c0/e65c8fb973d6ba489fc1bc88730c56a592e249f49a9811c77bf88568f23696b682fe3f3485c03aaf6561042a3c7a675ae57d512861dffd8b0abde0035231c6a3
43724372
languageName: node
43734373
linkType: hard
43744374

@@ -5868,7 +5868,7 @@ __metadata:
58685868
languageName: node
58695869
linkType: hard
58705870

5871-
"is-weakref@npm:^1.0.2, is-weakref@npm:^1.1.0":
5871+
"is-weakref@npm:^1.0.2, is-weakref@npm:^1.1.1":
58725872
version: 1.1.1
58735873
resolution: "is-weakref@npm:1.1.1"
58745874
dependencies:
@@ -6629,7 +6629,7 @@ __metadata:
66296629
languageName: node
66306630
linkType: hard
66316631

6632-
"object-inspect@npm:^1.13.3":
6632+
"object-inspect@npm:^1.13.3, object-inspect@npm:^1.13.4":
66336633
version: 1.13.4
66346634
resolution: "object-inspect@npm:1.13.4"
66356635
checksum: 10c0/d7f8711e803b96ea3191c745d6f8056ce1f2496e530e6a19a0e92d89b0fa3c76d910c31f0aa270432db6bd3b2f85500a376a83aaba849a8d518c8845b3211692
@@ -7154,7 +7154,7 @@ __metadata:
71547154
languageName: node
71557155
linkType: hard
71567156

7157-
"regexp.prototype.flags@npm:^1.5.3":
7157+
"regexp.prototype.flags@npm:^1.5.3, regexp.prototype.flags@npm:^1.5.4":
71587158
version: 1.5.4
71597159
resolution: "regexp.prototype.flags@npm:1.5.4"
71607160
dependencies:
@@ -8447,7 +8447,7 @@ __metadata:
84478447
languageName: node
84488448
linkType: hard
84498449

8450-
"which-typed-array@npm:^1.1.16, which-typed-array@npm:^1.1.18":
8450+
"which-typed-array@npm:^1.1.16, which-typed-array@npm:^1.1.19":
84518451
version: 1.1.19
84528452
resolution: "which-typed-array@npm:1.1.19"
84538453
dependencies:
@@ -8648,9 +8648,9 @@ __metadata:
86488648
languageName: node
86498649
linkType: hard
86508650

8651-
"zod@npm:^3.22.4, zod@npm:^3.24.4, zod@npm:^3.25.17":
8652-
version: 3.25.17
8653-
resolution: "zod@npm:3.25.17"
8654-
checksum: 10c0/c330707d3e11c6e9ff9ab08d03b38612f8e6ee64b3fc5df003bada1c194f60f5aaffd67d727c73935c8c5507190d5de7b97c52f49b4798cd920ff7cba1a9961c
8651+
"zod@npm:^3.22.4, zod@npm:^3.24.4, zod@npm:^3.25.20":
8652+
version: 3.25.20
8653+
resolution: "zod@npm:3.25.20"
8654+
checksum: 10c0/f3b3e8875e1e02ca25bbfd45332aa1010f1b252b60a619c94c15bd6de637f841d344a3975d6950b2fbee68db4160ddb534cb9571c517fac17983871739085278
86558655
languageName: node
86568656
linkType: hard

0 commit comments

Comments
 (0)