@gearbox-protocol/sdk 13.5.1 → 13.5.3

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.
@@ -73,7 +73,7 @@ const adapterActionSignatures = {
73
73
  310: "function setPairStatusBatch((address,address,address,uint8)[])",
74
74
  311: "function setPairStatusBatch((address,address,address,uint8,uint8)[])"
75
75
  },
76
- [import_types.AdapterType.TRADERJOE_ROUTER]: {
76
+ [import_types.AdapterType.TRADER_JOE_ROUTER]: {
77
77
  310: "function setPoolStatusBatch((address,address,uint256,uint8,bool)[])"
78
78
  },
79
79
  [import_types.AdapterType.UNISWAP_V2_ROUTER]: {
@@ -72,7 +72,7 @@ const adapterConstructorAbi = {
72
72
  [import_types.AdapterType.DAI_USDS_EXCHANGE]: {
73
73
  310: import_conctructorAbiPatterns.BASIC_ADAPTER_ABI
74
74
  },
75
- [import_types.AdapterType.TRADERJOE_ROUTER]: {
75
+ [import_types.AdapterType.TRADER_JOE_ROUTER]: {
76
76
  310: import_conctructorAbiPatterns.BASIC_ADAPTER_ABI
77
77
  },
78
78
  [import_types.AdapterType.UNISWAP_V2_ROUTER]: {
@@ -93,7 +93,7 @@ function createAdapter(options, data, strict) {
93
93
  return new import_contracts.PendleRouterAdapterContract(options, data);
94
94
  case "ADAPTER::STAKING_REWARDS":
95
95
  return new import_contracts.StakingRewardsAdapterContract(options, data);
96
- case "ADAPTER::TRADERJOE_ROUTER":
96
+ case "ADAPTER::TRADER_JOE_ROUTER":
97
97
  return new import_contracts.TraderJoeRouterAdapterContract(options, data);
98
98
  case "ADAPTER::UNISWAP_V2_ROUTER":
99
99
  return new import_contracts.UniswapV2AdapterContract(options, data);
@@ -59,7 +59,7 @@ var AdapterType = /* @__PURE__ */ ((AdapterType2) => {
59
59
  AdapterType2["MIDAS_REDEMPTION_VAULT"] = "MIDAS_REDEMPTION_VAULT";
60
60
  AdapterType2["PENDLE_ROUTER"] = "PENDLE_ROUTER";
61
61
  AdapterType2["STAKING_REWARDS"] = "STAKING_REWARDS";
62
- AdapterType2["TRADERJOE_ROUTER"] = "TRADERJOE_ROUTER";
62
+ AdapterType2["TRADER_JOE_ROUTER"] = "TRADER_JOE_ROUTER";
63
63
  AdapterType2["UNISWAP_V2_ROUTER"] = "UNISWAP_V2_ROUTER";
64
64
  AdapterType2["UNISWAP_V3_ROUTER"] = "UNISWAP_V3_ROUTER";
65
65
  AdapterType2["UNISWAP_V4_GATEWAY"] = "UNISWAP_V4_GATEWAY";
@@ -24,6 +24,8 @@ __export(simulateWithPriceUpdates_exports, {
24
24
  });
25
25
  module.exports = __toCommonJS(simulateWithPriceUpdates_exports);
26
26
  var import_viem = require("viem");
27
+ var import_actions = require("viem/actions");
28
+ var import_utils = require("viem/utils");
27
29
  var import_errors = require("../../../abi/errors.js");
28
30
  var import_iUpdatablePriceFeed = require("../../../abi/iUpdatablePriceFeed.js");
29
31
  var import_cast = require("./cast.js");
@@ -53,6 +55,41 @@ async function simulateWithPriceUpdates(client, parameters) {
53
55
  "client chain not configured. multicallAddress is required."
54
56
  );
55
57
  }
58
+ if (priceUpdates.length === 0 && restContracts.length === 1) {
59
+ const contract = restContracts[0];
60
+ const { abi, address, args, functionName } = contract;
61
+ const callData = (0, import_viem.encodeFunctionData)({ abi, args, functionName });
62
+ const request2 = {
63
+ batch: false,
64
+ data: callData,
65
+ to: address,
66
+ blockNumber: rest.blockNumber,
67
+ blockTag: rest.blockTag,
68
+ gas: rest.gas,
69
+ account: rest.account ? (0, import_utils.parseAccount)(rest.account) : client.account,
70
+ value: rest.value
71
+ };
72
+ try {
73
+ const { data } = await (0, import_utils.getAction)(client, import_actions.call, "call")(request2);
74
+ const result = (0, import_viem.decodeFunctionResult)({
75
+ abi,
76
+ args,
77
+ data: data || "0x",
78
+ functionName
79
+ });
80
+ return [
81
+ result
82
+ ];
83
+ } catch (e) {
84
+ throw getSimulateWithPriceUpdatesError(
85
+ e,
86
+ priceUpdates,
87
+ restContracts,
88
+ void 0,
89
+ request2
90
+ );
91
+ }
92
+ }
56
93
  let request;
57
94
  try {
58
95
  const contracts = [
@@ -173,8 +210,8 @@ function getSimulateWithPriceUpdatesError(cause, priceUpdates, calls, results, r
173
210
  return [extractCallError(result), p.pretty, tsValid].filter(Boolean).join(" ");
174
211
  });
175
212
  const prettyCalls = callsResults.map((c, i) => {
176
- const call = calls[i];
177
- return [extractCallError(c), `${call.address}.${call.functionName}`].filter(Boolean).join(" ");
213
+ const call2 = calls[i];
214
+ return [extractCallError(c), `${call2.address}.${call2.functionName}`].filter(Boolean).join(" ");
178
215
  });
179
216
  if (results[0]?.status === "failure") {
180
217
  prettyCalls.unshift(
@@ -48,7 +48,7 @@ const adapterActionSignatures = {
48
48
  310: "function setPairStatusBatch((address,address,address,uint8)[])",
49
49
  311: "function setPairStatusBatch((address,address,address,uint8,uint8)[])"
50
50
  },
51
- [AdapterType.TRADERJOE_ROUTER]: {
51
+ [AdapterType.TRADER_JOE_ROUTER]: {
52
52
  310: "function setPoolStatusBatch((address,address,uint256,uint8,bool)[])"
53
53
  },
54
54
  [AdapterType.UNISWAP_V2_ROUTER]: {
@@ -63,7 +63,7 @@ const adapterConstructorAbi = {
63
63
  [AdapterType.DAI_USDS_EXCHANGE]: {
64
64
  310: BASIC_ADAPTER_ABI
65
65
  },
66
- [AdapterType.TRADERJOE_ROUTER]: {
66
+ [AdapterType.TRADER_JOE_ROUTER]: {
67
67
  310: BASIC_ADAPTER_ABI
68
68
  },
69
69
  [AdapterType.UNISWAP_V2_ROUTER]: {
@@ -109,7 +109,7 @@ function createAdapter(options, data, strict) {
109
109
  return new PendleRouterAdapterContract(options, data);
110
110
  case "ADAPTER::STAKING_REWARDS":
111
111
  return new StakingRewardsAdapterContract(options, data);
112
- case "ADAPTER::TRADERJOE_ROUTER":
112
+ case "ADAPTER::TRADER_JOE_ROUTER":
113
113
  return new TraderJoeRouterAdapterContract(options, data);
114
114
  case "ADAPTER::UNISWAP_V2_ROUTER":
115
115
  return new UniswapV2AdapterContract(options, data);
@@ -36,7 +36,7 @@ var AdapterType = /* @__PURE__ */ ((AdapterType2) => {
36
36
  AdapterType2["MIDAS_REDEMPTION_VAULT"] = "MIDAS_REDEMPTION_VAULT";
37
37
  AdapterType2["PENDLE_ROUTER"] = "PENDLE_ROUTER";
38
38
  AdapterType2["STAKING_REWARDS"] = "STAKING_REWARDS";
39
- AdapterType2["TRADERJOE_ROUTER"] = "TRADERJOE_ROUTER";
39
+ AdapterType2["TRADER_JOE_ROUTER"] = "TRADER_JOE_ROUTER";
40
40
  AdapterType2["UNISWAP_V2_ROUTER"] = "UNISWAP_V2_ROUTER";
41
41
  AdapterType2["UNISWAP_V3_ROUTER"] = "UNISWAP_V3_ROUTER";
42
42
  AdapterType2["UNISWAP_V4_GATEWAY"] = "UNISWAP_V4_GATEWAY";
@@ -3,8 +3,12 @@ import {
3
3
  CallExecutionError,
4
4
  ContractFunctionRevertedError,
5
5
  decodeFunctionData,
6
+ decodeFunctionResult,
7
+ encodeFunctionData,
6
8
  parseAbi
7
9
  } from "viem";
10
+ import { call } from "viem/actions";
11
+ import { getAction, parseAccount } from "viem/utils";
8
12
  import { errorAbis } from "../../../abi/errors.js";
9
13
  import { iUpdatablePriceFeedAbi } from "../../../abi/iUpdatablePriceFeed.js";
10
14
  import { generateCastTraceCall } from "./cast.js";
@@ -34,6 +38,41 @@ async function simulateWithPriceUpdates(client, parameters) {
34
38
  "client chain not configured. multicallAddress is required."
35
39
  );
36
40
  }
41
+ if (priceUpdates.length === 0 && restContracts.length === 1) {
42
+ const contract = restContracts[0];
43
+ const { abi, address, args, functionName } = contract;
44
+ const callData = encodeFunctionData({ abi, args, functionName });
45
+ const request2 = {
46
+ batch: false,
47
+ data: callData,
48
+ to: address,
49
+ blockNumber: rest.blockNumber,
50
+ blockTag: rest.blockTag,
51
+ gas: rest.gas,
52
+ account: rest.account ? parseAccount(rest.account) : client.account,
53
+ value: rest.value
54
+ };
55
+ try {
56
+ const { data } = await getAction(client, call, "call")(request2);
57
+ const result = decodeFunctionResult({
58
+ abi,
59
+ args,
60
+ data: data || "0x",
61
+ functionName
62
+ });
63
+ return [
64
+ result
65
+ ];
66
+ } catch (e) {
67
+ throw getSimulateWithPriceUpdatesError(
68
+ e,
69
+ priceUpdates,
70
+ restContracts,
71
+ void 0,
72
+ request2
73
+ );
74
+ }
75
+ }
37
76
  let request;
38
77
  try {
39
78
  const contracts = [
@@ -154,8 +193,8 @@ function getSimulateWithPriceUpdatesError(cause, priceUpdates, calls, results, r
154
193
  return [extractCallError(result), p.pretty, tsValid].filter(Boolean).join(" ");
155
194
  });
156
195
  const prettyCalls = callsResults.map((c, i) => {
157
- const call = calls[i];
158
- return [extractCallError(c), `${call.address}.${call.functionName}`].filter(Boolean).join(" ");
196
+ const call2 = calls[i];
197
+ return [extractCallError(c), `${call2.address}.${call2.functionName}`].filter(Boolean).join(" ");
159
198
  });
160
199
  if (results[0]?.status === "failure") {
161
200
  prettyCalls.unshift(
@@ -2,7 +2,7 @@ import type { AbiParameter, Address } from "viem";
2
2
  import type { BaseContractStateHuman } from "../../sdk/types/state-human.js";
3
3
  import type { LegacyAdapterOperation } from "./legacyAdapterOperations.js";
4
4
  export type VersionedAbi = Record<number, readonly AbiParameter[]>;
5
- export type AdapterContractType = "ADAPTER::ACCOUNT_MIGRATOR" | "ADAPTER::BALANCER_V3_ROUTER" | "ADAPTER::BALANCER_V3_WRAPPER" | "ADAPTER::BALANCER_VAULT" | "ADAPTER::CAMELOT_V3_ROUTER" | "ADAPTER::CURVE_STABLE_NG" | "ADAPTER::CURVE_V1_2ASSETS" | "ADAPTER::CURVE_V1_3ASSETS" | "ADAPTER::CURVE_V1_4ASSETS" | "ADAPTER::CURVE_V1_STECRV_POOL" | "ADAPTER::CURVE_V1_WRAPPER" | "ADAPTER::CVX_V1_BASE_REWARD_POOL" | "ADAPTER::CVX_V1_BOOSTER" | "ADAPTER::DAI_USDS_EXCHANGE" | "ADAPTER::EQUALIZER_ROUTER" | "ADAPTER::ERC4626_VAULT" | "ADAPTER::ERC4626_VAULT_REFERRAL" | "ADAPTER::FLUID_DEX" | "ADAPTER::INFINIFI_GATEWAY" | "ADAPTER::INFINIFI_UNWINDING" | "ADAPTER::INFRARED_VAULT" | "ADAPTER::KELP_DEPOSIT_POOL" | "ADAPTER::KELP_WITHDRAWAL" | "ADAPTER::KODIAK_ISLAND_GATEWAY" | "ADAPTER::LIDO_V1" | "ADAPTER::LIDO_WSTETH_V1" | "ADAPTER::MELLOW_CLAIMER" | "ADAPTER::MELLOW_DVV" | "ADAPTER::MELLOW_ERC4626_VAULT" | "ADAPTER::MELLOW_LRT_VAULT" | "ADAPTER::MELLOW_WRAPPER" | "ADAPTER::MELLOW_DEPOSIT_QUEUE_QUEUE" | "ADAPTER::MELLOW_REDEEM_QUEUE_QUEUE" | "ADAPTER::MIDAS_ISSUANCE_VAULT" | "ADAPTER::MIDAS_REDEMPTION_VAULT" | "ADAPTER::PENDLE_ROUTER" | "ADAPTER::STAKING_REWARDS" | "ADAPTER::TRADERJOE_ROUTER" | "ADAPTER::UNISWAP_V2_ROUTER" | "ADAPTER::UNISWAP_V3_ROUTER" | "ADAPTER::UNISWAP_V4_GATEWAY" | "ADAPTER::UPSHIFT_VAULT" | "ADAPTER::VELODROME_V2_ROUTER" | "ADAPTER::YEARN_V2";
5
+ export type AdapterContractType = "ADAPTER::ACCOUNT_MIGRATOR" | "ADAPTER::BALANCER_V3_ROUTER" | "ADAPTER::BALANCER_V3_WRAPPER" | "ADAPTER::BALANCER_VAULT" | "ADAPTER::CAMELOT_V3_ROUTER" | "ADAPTER::CURVE_STABLE_NG" | "ADAPTER::CURVE_V1_2ASSETS" | "ADAPTER::CURVE_V1_3ASSETS" | "ADAPTER::CURVE_V1_4ASSETS" | "ADAPTER::CURVE_V1_STECRV_POOL" | "ADAPTER::CURVE_V1_WRAPPER" | "ADAPTER::CVX_V1_BASE_REWARD_POOL" | "ADAPTER::CVX_V1_BOOSTER" | "ADAPTER::DAI_USDS_EXCHANGE" | "ADAPTER::EQUALIZER_ROUTER" | "ADAPTER::ERC4626_VAULT" | "ADAPTER::ERC4626_VAULT_REFERRAL" | "ADAPTER::FLUID_DEX" | "ADAPTER::INFINIFI_GATEWAY" | "ADAPTER::INFINIFI_UNWINDING" | "ADAPTER::INFRARED_VAULT" | "ADAPTER::KELP_DEPOSIT_POOL" | "ADAPTER::KELP_WITHDRAWAL" | "ADAPTER::KODIAK_ISLAND_GATEWAY" | "ADAPTER::LIDO_V1" | "ADAPTER::LIDO_WSTETH_V1" | "ADAPTER::MELLOW_CLAIMER" | "ADAPTER::MELLOW_DVV" | "ADAPTER::MELLOW_ERC4626_VAULT" | "ADAPTER::MELLOW_LRT_VAULT" | "ADAPTER::MELLOW_WRAPPER" | "ADAPTER::MELLOW_DEPOSIT_QUEUE_QUEUE" | "ADAPTER::MELLOW_REDEEM_QUEUE_QUEUE" | "ADAPTER::MIDAS_ISSUANCE_VAULT" | "ADAPTER::MIDAS_REDEMPTION_VAULT" | "ADAPTER::PENDLE_ROUTER" | "ADAPTER::STAKING_REWARDS" | "ADAPTER::TRADER_JOE_ROUTER" | "ADAPTER::UNISWAP_V2_ROUTER" | "ADAPTER::UNISWAP_V3_ROUTER" | "ADAPTER::UNISWAP_V4_GATEWAY" | "ADAPTER::UPSHIFT_VAULT" | "ADAPTER::VELODROME_V2_ROUTER" | "ADAPTER::YEARN_V2";
6
6
  export declare enum AdapterType {
7
7
  ACCOUNT_MIGRATOR = "ACCOUNT_MIGRATOR",
8
8
  BALANCER_V3_ROUTER = "BALANCER_V3_ROUTER",
@@ -41,7 +41,7 @@ export declare enum AdapterType {
41
41
  MIDAS_REDEMPTION_VAULT = "MIDAS_REDEMPTION_VAULT",
42
42
  PENDLE_ROUTER = "PENDLE_ROUTER",
43
43
  STAKING_REWARDS = "STAKING_REWARDS",
44
- TRADERJOE_ROUTER = "TRADERJOE_ROUTER",
44
+ TRADER_JOE_ROUTER = "TRADER_JOE_ROUTER",
45
45
  UNISWAP_V2_ROUTER = "UNISWAP_V2_ROUTER",
46
46
  UNISWAP_V3_ROUTER = "UNISWAP_V3_ROUTER",
47
47
  UNISWAP_V4_GATEWAY = "UNISWAP_V4_GATEWAY",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gearbox-protocol/sdk",
3
- "version": "13.5.1",
3
+ "version": "13.5.3",
4
4
  "description": "Gearbox SDK",
5
5
  "license": "MIT",
6
6
  "main": "./dist/cjs/sdk/index.js",