Skip to content

Commit 1eb447f

Browse files
committed
fix: skip usually unnecessary version request
1 parent 9184936 commit 1eb447f

File tree

1 file changed

+16
-6
lines changed

1 file changed

+16
-6
lines changed

src/sdk/core/address-provider/createAddressProvider.ts

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,13 @@
11
import type { Address } from "viem";
22

33
import { iVersionAbi } from "../../../abi/iVersion.js";
4-
import { isV300, isV310 } from "../../constants/index.js";
4+
import {
5+
ADDRESS_PROVIDER_V310,
6+
isV300,
7+
isV310,
8+
} from "../../constants/index.js";
59
import type { GearboxSDK } from "../../GearboxSDK.js";
10+
import { hexEq } from "../../utils/hex.js";
611
import { AddressProviderV300Contract } from "./AddressProviderV300Contract.js";
712
import { AddressProviderV310Contract } from "./AddressProviderV310Contract.js";
813
import type {
@@ -14,11 +19,16 @@ export async function createAddressProvider(
1419
sdk: GearboxSDK,
1520
address: Address,
1621
): Promise<IAddressProviderContract> {
17-
const v = await sdk.client.readContract({
18-
address,
19-
abi: iVersionAbi,
20-
functionName: "version",
21-
});
22+
let v: bigint;
23+
if (hexEq(address, ADDRESS_PROVIDER_V310)) {
24+
v = 310n;
25+
} else {
26+
v = await sdk.client.readContract({
27+
address,
28+
abi: iVersionAbi,
29+
functionName: "version",
30+
});
31+
}
2232
return newAddressProvider(sdk, address, Number(v));
2333
}
2434

0 commit comments

Comments
 (0)