@gearbox-protocol/cli-utils 6.0.0-next.1 → 6.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,7 @@
1
- import { type RevolverTransportConfig, type RevolverTransportValue } from "@gearbox-protocol/sdk/dev";
2
- import type { Transport } from "viem";
1
+ import { type ResilientTransportOptions, type RevolverTransportConfig, type RevolverTransportValue } from "@gearbox-protocol/sdk/dev";
2
+ import { type Transport } from "viem";
3
3
  import type { ProvidersSchema } from "./providers-schema.js";
4
- export declare function createRevolverTransport(providers: ProvidersSchema, config?: Omit<RevolverTransportConfig, "network" | "providers">): Transport<"revolver", RevolverTransportValue>;
4
+ export interface CreateRevolverTransportConfig extends Omit<RevolverTransportConfig, "network" | "providers"> {
5
+ resilient?: true | ResilientTransportOptions;
6
+ }
7
+ export declare function createRevolverTransport(providersConfig: ProvidersSchema, config?: CreateRevolverTransportConfig): Transport<"revolver", RevolverTransportValue>;
@@ -1,8 +1,26 @@
1
- import { RevolverTransport, } from "@gearbox-protocol/sdk/dev";
1
+ import { RevolverTransport, resilientTransport, } from "@gearbox-protocol/sdk/dev";
2
+ import { http } from "viem";
2
3
  import { getProviders } from "./getProviders.js";
3
- export function createRevolverTransport(providers, config) {
4
+ export function createRevolverTransport(providersConfig, config) {
5
+ const providers = getProviders(providersConfig);
6
+ let transports = providers.map(({ url, name, httpTransportOptions }) => http(url, {
7
+ ...config?.defaultHTTPOptions,
8
+ ...httpTransportOptions,
9
+ key: name,
10
+ name: name,
11
+ onFetchRequest: config?.onRequest
12
+ ? (...args) => config.onRequest?.(name, ...args)
13
+ : undefined,
14
+ onFetchResponse: config?.onResponse
15
+ ? (...args) => config.onResponse?.(name, ...args)
16
+ : undefined,
17
+ }));
18
+ if (config?.resilient) {
19
+ const cfg = config.resilient === true ? undefined : config.resilient;
20
+ transports = transports.map(transport => resilientTransport(transport, cfg));
21
+ }
4
22
  return RevolverTransport.create({
5
- providers: getProviders(providers),
6
23
  ...config,
24
+ transports,
7
25
  });
8
26
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@gearbox-protocol/cli-utils",
3
3
  "description": "Utils for creating cli apps",
4
- "version": "6.0.0-next.1",
4
+ "version": "6.1.0",
5
5
  "homepage": "https://gearbox.fi",
6
6
  "keywords": [
7
7
  "gearbox"
@@ -29,10 +29,10 @@
29
29
  "package:version": "yarn version"
30
30
  },
31
31
  "dependencies": {
32
- "@aws-sdk/client-s3": "^3.1018.0",
33
- "@aws-sdk/client-secrets-manager": "^3.1018.0",
34
- "@aws-sdk/client-ssm": "^3.1018.0",
35
- "@gearbox-protocol/sdk": "13.1.0-next.1",
32
+ "@aws-sdk/client-s3": "^3.1019.0",
33
+ "@aws-sdk/client-secrets-manager": "^3.1019.0",
34
+ "@aws-sdk/client-ssm": "^3.1019.0",
35
+ "@gearbox-protocol/sdk": "13.2.0-next.1",
36
36
  "@vlad-yakovlev/telegram-md": "^2.1.0",
37
37
  "abitype": "^1.2.3",
38
38
  "commander": "^14.0.3",