Skip to content

Commit 37da740

Browse files
authored
Merge pull request #408 from Gearbox-protocol/http-options
feat: add http options for sdk
2 parents a08ed94 + 5ab93c2 commit 37da740

File tree

2 files changed

+11
-3
lines changed

2 files changed

+11
-3
lines changed

src/dev/RevolverTransport.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ export interface ProviderConfig {
2222
name: string;
2323
url: string;
2424
cooldown?: number;
25+
httpClientOptions?: HttpRpcClientOptions | undefined;
2526
}
2627

2728
interface TransportEntry {
@@ -180,9 +181,10 @@ export class RevolverTransport
180181
};
181182

182183
const transports = config.providers.map(
183-
({ url, name, cooldown }): TransportEntry => ({
184+
({ url, name, cooldown, httpClientOptions }): TransportEntry => ({
184185
name,
185186
transport: http(url, {
187+
...httpClientOptions,
186188
retryCount: config.retryCount,
187189
retryDelay: config.retryDelay,
188190
timeout: config.timeout,

src/sdk/GearboxSDK.ts

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,11 @@ import {
88
parseEventLogs,
99
type Transport,
1010
} from "viem";
11+
import type { HttpRpcClientOptions } from "viem/utils";
1112
import type { BaseContract, BaseState, IBaseContract } from "./base/index.js";
1213
import { AddressLabeller, TokensMeta } from "./base/index.js";
1314
import type { GearboxChain, NetworkType } from "./chain/chains.js";
14-
import { chains, detectNetwork, getChain } from "./chain/index.js";
15+
import { detectNetwork, getChain } from "./chain/index.js";
1516
import type { VersionRange } from "./constants/index.js";
1617
import {
1718
ADDRESS_PROVIDER_V310,
@@ -83,6 +84,7 @@ export type ClientOptions =
8384
* Retry count for RPC
8485
*/
8586
retryCount?: number;
87+
httpClientOptions?: HttpRpcClientOptions | undefined;
8688
}
8789
| {
8890
/**
@@ -116,7 +118,11 @@ function createClient(
116118
transport = opts.transport;
117119
} else {
118120
const rpcs = opts.rpcURLs.map(url =>
119-
http(url, { timeout: opts.timeout, retryCount: opts.retryCount }),
121+
http(url, {
122+
...opts.httpClientOptions,
123+
timeout: opts.timeout,
124+
retryCount: opts.retryCount,
125+
}),
120126
);
121127
transport = rpcs.length > 1 ? fallback(rpcs) : rpcs[0];
122128
}

0 commit comments

Comments
 (0)