@gearbox-protocol/sdk 9.15.0 → 9.15.2

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.
Files changed (169) hide show
  1. package/dist/cjs/abi/package.json +1 -0
  2. package/dist/cjs/abi/router/pendleRouterWorker.js +0 -16
  3. package/dist/cjs/dev/mint/factory.js +1 -1
  4. package/dist/cjs/permissionless/bindings/address-provider.js +1 -1
  5. package/dist/cjs/permissionless/bindings/base-contract.js +2 -2
  6. package/dist/cjs/permissionless/bindings/bytecode-repository.js +3 -3
  7. package/dist/cjs/permissionless/bindings/compressors/index.js +4 -4
  8. package/dist/cjs/permissionless/bindings/compressors/token-compressor.js +1 -1
  9. package/dist/cjs/permissionless/bindings/compressors/withdrawal-compressor.js +1 -1
  10. package/dist/cjs/permissionless/bindings/cross-chain-multisig.js +6 -6
  11. package/dist/cjs/permissionless/bindings/factory/abstract-factory.js +2 -2
  12. package/dist/cjs/permissionless/bindings/factory/credit-factory.js +1 -1
  13. package/dist/cjs/permissionless/bindings/factory/pool-factory.js +1 -1
  14. package/dist/cjs/permissionless/bindings/factory/price-oracle-factory.js +1 -1
  15. package/dist/cjs/permissionless/bindings/governance/batches-chain.js +1 -1
  16. package/dist/cjs/permissionless/bindings/governance/governor.js +6 -6
  17. package/dist/cjs/permissionless/bindings/governance/index.js +6 -6
  18. package/dist/cjs/permissionless/bindings/governance/timelock.js +1 -1
  19. package/dist/cjs/permissionless/bindings/index.js +28 -28
  20. package/dist/cjs/permissionless/bindings/instance-manager.js +5 -5
  21. package/dist/cjs/permissionless/bindings/market-configurator-factory.js +1 -1
  22. package/dist/cjs/permissionless/bindings/market-configurator.js +10 -10
  23. package/dist/cjs/permissionless/bindings/price-feed-store.js +4 -4
  24. package/dist/cjs/permissionless/bindings/pricefeeds/index.js +17 -17
  25. package/dist/cjs/permissionless/bindings/router/index.js +2 -2
  26. package/dist/cjs/permissionless/bindings/router/routing-manager.js +1 -1
  27. package/dist/cjs/permissionless/bindings/treasury-splitter.js +1 -1
  28. package/dist/cjs/permissionless/core/index.js +12 -12
  29. package/dist/cjs/permissionless/index.js +12 -12
  30. package/dist/cjs/permissionless/plugins/index.js +3 -3
  31. package/dist/cjs/permissionless/utils/abi-decoder.js +2 -2
  32. package/dist/cjs/permissionless/utils/governance/index.js +6 -6
  33. package/dist/cjs/permissionless/utils/governance/timelock-txs.js +1 -1
  34. package/dist/cjs/permissionless/utils/index.js +18 -18
  35. package/dist/cjs/permissionless/utils/price-update/get-price-feeds.js +4 -4
  36. package/dist/cjs/permissionless/utils/price-update/get-price-update-tx.js +2 -2
  37. package/dist/cjs/permissionless/utils/price-update/index.js +8 -8
  38. package/dist/cjs/plugins/adapters/AdaptersPlugin.js +4 -1
  39. package/dist/cjs/plugins/adapters/abi/actionAbi.js +5 -3
  40. package/dist/cjs/plugins/adapters/abi/conctructorAbi.js +8 -3
  41. package/dist/cjs/plugins/adapters/abi/utils.js +6 -6
  42. package/dist/cjs/plugins/adapters/contracts/BalancerV3RouterAdapterContract.js +29 -9
  43. package/dist/cjs/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.js +45 -0
  44. package/dist/cjs/plugins/adapters/contracts/PendleRouterAdapterContract.js +52 -23
  45. package/dist/cjs/plugins/adapters/contracts/types.js +17 -0
  46. package/dist/cjs/plugins/adapters/index.js +4 -4
  47. package/dist/cjs/plugins/adapters/types.js +1 -0
  48. package/dist/cjs/sdk/sdk-gov-legacy/tokens/curveLP.js +1 -1
  49. package/dist/cjs/sdk/sdk-legacy/core/transactions.js +30 -30
  50. package/dist/cjs/sdk/sdk-legacy/tokens/tokenData.js +1 -1
  51. package/dist/esm/abi/package.json +1 -0
  52. package/dist/esm/abi/router/pendleRouterWorker.js +0 -16
  53. package/dist/esm/dev/mint/factory.js +1 -1
  54. package/dist/esm/permissionless/bindings/address-provider.js +1 -1
  55. package/dist/esm/permissionless/bindings/base-contract.js +2 -2
  56. package/dist/esm/permissionless/bindings/bytecode-repository.js +3 -3
  57. package/dist/esm/permissionless/bindings/compressors/index.js +2 -2
  58. package/dist/esm/permissionless/bindings/compressors/token-compressor.js +1 -1
  59. package/dist/esm/permissionless/bindings/compressors/withdrawal-compressor.js +1 -1
  60. package/dist/esm/permissionless/bindings/cross-chain-multisig.js +6 -6
  61. package/dist/esm/permissionless/bindings/factory/abstract-factory.js +2 -2
  62. package/dist/esm/permissionless/bindings/factory/credit-factory.js +1 -1
  63. package/dist/esm/permissionless/bindings/factory/pool-factory.js +1 -1
  64. package/dist/esm/permissionless/bindings/factory/price-oracle-factory.js +1 -1
  65. package/dist/esm/permissionless/bindings/governance/batches-chain.js +1 -1
  66. package/dist/esm/permissionless/bindings/governance/governor.js +6 -6
  67. package/dist/esm/permissionless/bindings/governance/index.js +3 -3
  68. package/dist/esm/permissionless/bindings/governance/timelock.js +1 -1
  69. package/dist/esm/permissionless/bindings/index.js +14 -14
  70. package/dist/esm/permissionless/bindings/instance-manager.js +5 -5
  71. package/dist/esm/permissionless/bindings/market-configurator-factory.js +1 -1
  72. package/dist/esm/permissionless/bindings/market-configurator.js +8 -8
  73. package/dist/esm/permissionless/bindings/price-feed-store.js +4 -4
  74. package/dist/esm/permissionless/bindings/pricefeeds/index.js +17 -17
  75. package/dist/esm/permissionless/bindings/router/index.js +1 -1
  76. package/dist/esm/permissionless/bindings/router/routing-manager.js +1 -1
  77. package/dist/esm/permissionless/bindings/treasury-splitter.js +1 -1
  78. package/dist/esm/permissionless/core/index.js +6 -6
  79. package/dist/esm/permissionless/index.js +6 -6
  80. package/dist/esm/permissionless/plugins/index.js +3 -3
  81. package/dist/esm/permissionless/utils/abi-decoder.js +2 -2
  82. package/dist/esm/permissionless/utils/governance/index.js +3 -3
  83. package/dist/esm/permissionless/utils/governance/timelock-txs.js +1 -1
  84. package/dist/esm/permissionless/utils/index.js +9 -9
  85. package/dist/esm/permissionless/utils/price-update/get-price-feeds.js +4 -4
  86. package/dist/esm/permissionless/utils/price-update/get-price-update-tx.js +4 -2
  87. package/dist/esm/permissionless/utils/price-update/get-prices.js +2 -6
  88. package/dist/esm/permissionless/utils/price-update/index.js +4 -4
  89. package/dist/esm/plugins/adapters/AdaptersPlugin.js +4 -1
  90. package/dist/esm/plugins/adapters/abi/actionAbi.js +5 -3
  91. package/dist/esm/plugins/adapters/abi/conctructorAbi.js +8 -3
  92. package/dist/esm/plugins/adapters/abi/utils.js +2 -2
  93. package/dist/esm/plugins/adapters/contracts/BalancerV3RouterAdapterContract.js +29 -9
  94. package/dist/esm/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.js +21 -0
  95. package/dist/esm/plugins/adapters/contracts/PendleRouterAdapterContract.js +52 -23
  96. package/dist/esm/plugins/adapters/contracts/types.js +15 -0
  97. package/dist/esm/plugins/adapters/index.js +2 -2
  98. package/dist/esm/plugins/adapters/types.js +1 -0
  99. package/dist/esm/sdk/sdk-gov-legacy/tokens/curveLP.js +1 -1
  100. package/dist/esm/sdk/sdk-legacy/core/transactions.js +31 -31
  101. package/dist/esm/sdk/sdk-legacy/tokens/tokenData.js +1 -1
  102. package/dist/types/abi/router/pendleRouterWorker.d.ts +0 -20
  103. package/dist/types/dev/mint/factory.d.ts +2 -2
  104. package/dist/types/permissionless/bindings/address-provider.d.ts +1 -1
  105. package/dist/types/permissionless/bindings/base-contract.d.ts +2 -2
  106. package/dist/types/permissionless/bindings/bytecode-repository.d.ts +4 -4
  107. package/dist/types/permissionless/bindings/compressors/index.d.ts +2 -2
  108. package/dist/types/permissionless/bindings/compressors/token-compressor.d.ts +1 -1
  109. package/dist/types/permissionless/bindings/compressors/withdrawal-compressor.d.ts +2 -2
  110. package/dist/types/permissionless/bindings/cross-chain-multisig.d.ts +2 -2
  111. package/dist/types/permissionless/bindings/factory/credit-factory.d.ts +2 -2
  112. package/dist/types/permissionless/bindings/factory/pool-factory.d.ts +2 -2
  113. package/dist/types/permissionless/bindings/factory/price-oracle-factory.d.ts +2 -2
  114. package/dist/types/permissionless/bindings/governance/batches-chain.d.ts +1 -1
  115. package/dist/types/permissionless/bindings/governance/governor.d.ts +4 -4
  116. package/dist/types/permissionless/bindings/governance/index.d.ts +3 -3
  117. package/dist/types/permissionless/bindings/governance/timelock.d.ts +2 -2
  118. package/dist/types/permissionless/bindings/index.d.ts +14 -14
  119. package/dist/types/permissionless/bindings/instance-manager.d.ts +2 -2
  120. package/dist/types/permissionless/bindings/market-configurator-factory.d.ts +1 -1
  121. package/dist/types/permissionless/bindings/market-configurator.d.ts +6 -6
  122. package/dist/types/permissionless/bindings/price-feed-store.d.ts +3 -3
  123. package/dist/types/permissionless/bindings/pricefeeds/balancer-stable.d.ts +1 -1
  124. package/dist/types/permissionless/bindings/pricefeeds/balancer-weighted.d.ts +1 -1
  125. package/dist/types/permissionless/bindings/pricefeeds/bounded.d.ts +1 -1
  126. package/dist/types/permissionless/bindings/pricefeeds/composite.d.ts +1 -1
  127. package/dist/types/permissionless/bindings/pricefeeds/constant.d.ts +1 -1
  128. package/dist/types/permissionless/bindings/pricefeeds/curve-crypto.d.ts +1 -1
  129. package/dist/types/permissionless/bindings/pricefeeds/curve-stable.d.ts +1 -1
  130. package/dist/types/permissionless/bindings/pricefeeds/curve-twap.d.ts +1 -1
  131. package/dist/types/permissionless/bindings/pricefeeds/curve-usd.d.ts +1 -1
  132. package/dist/types/permissionless/bindings/pricefeeds/erc4626.d.ts +1 -1
  133. package/dist/types/permissionless/bindings/pricefeeds/external.d.ts +1 -1
  134. package/dist/types/permissionless/bindings/pricefeeds/index.d.ts +1 -1
  135. package/dist/types/permissionless/bindings/pricefeeds/kodiak.d.ts +1 -1
  136. package/dist/types/permissionless/bindings/pricefeeds/mellow-lrt.d.ts +1 -1
  137. package/dist/types/permissionless/bindings/pricefeeds/pendle-pt-twap.d.ts +1 -1
  138. package/dist/types/permissionless/bindings/pricefeeds/pyth.d.ts +1 -1
  139. package/dist/types/permissionless/bindings/pricefeeds/redstone.d.ts +1 -1
  140. package/dist/types/permissionless/bindings/pricefeeds/wsteth.d.ts +1 -1
  141. package/dist/types/permissionless/bindings/pricefeeds/zero.d.ts +1 -1
  142. package/dist/types/permissionless/bindings/router/index.d.ts +1 -1
  143. package/dist/types/permissionless/bindings/router/routing-manager.d.ts +2 -2
  144. package/dist/types/permissionless/bindings/treasury-splitter.d.ts +2 -2
  145. package/dist/types/permissionless/core/index.d.ts +6 -6
  146. package/dist/types/permissionless/index.d.ts +6 -6
  147. package/dist/types/permissionless/plugins/index.d.ts +3 -3
  148. package/dist/types/permissionless/utils/governance/batch.d.ts +1 -1
  149. package/dist/types/permissionless/utils/governance/index.d.ts +3 -3
  150. package/dist/types/permissionless/utils/governance/timelock-txs.d.ts +1 -1
  151. package/dist/types/permissionless/utils/governance/types.d.ts +1 -1
  152. package/dist/types/permissionless/utils/index.d.ts +9 -9
  153. package/dist/types/permissionless/utils/price-update/get-price-feeds.d.ts +1 -1
  154. package/dist/types/permissionless/utils/price-update/get-price-update-tx.d.ts +1 -1
  155. package/dist/types/permissionless/utils/price-update/index.d.ts +4 -4
  156. package/dist/types/plugins/adapters/abi/actionAbi.d.ts +1 -1
  157. package/dist/types/plugins/adapters/abi/conctructorAbi.d.ts +1 -1
  158. package/dist/types/plugins/adapters/abi/utils.d.ts +1 -1
  159. package/dist/types/plugins/adapters/contracts/BalancerV3RouterAdapterContract.d.ts +5 -1
  160. package/dist/types/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.d.ts +11 -0
  161. package/dist/types/plugins/adapters/contracts/PendleRouterAdapterContract.d.ts +7 -1
  162. package/dist/types/plugins/adapters/contracts/types.d.ts +11 -0
  163. package/dist/types/plugins/adapters/index.d.ts +2 -2
  164. package/dist/types/plugins/adapters/types.d.ts +2 -1
  165. package/dist/types/plugins/zappers/extraZappers.d.ts +2 -2
  166. package/dist/types/sdk/accounts/AbstractCreditAccountsService.d.ts +1 -2
  167. package/dist/types/sdk/market/oracle/PriceOracleBaseContract.d.ts +1 -2
  168. package/dist/types/sdk/market/oracle/PriceOracleV300Contract.d.ts +1 -1
  169. package/package.json +1 -11
@@ -1,6 +1,6 @@
1
- export * from "./auditor";
2
- export * from "./bytecode";
3
- export * from "./pricefeed";
4
- export * from "./pricefeed-builder";
5
- export * from "./proposal";
6
- export * from "./raw-tx";
1
+ export * from "./auditor.js";
2
+ export * from "./bytecode.js";
3
+ export * from "./pricefeed.js";
4
+ export * from "./pricefeed-builder.js";
5
+ export * from "./proposal.js";
6
+ export * from "./raw-tx.js";
@@ -1,6 +1,6 @@
1
- export * from "./bindings";
2
- export * from "./chains/archive-transport";
3
- export * from "./core";
4
- export * from "./deployment/addresses";
5
- export * from "./deployment/mainnet";
6
- export * from "./utils";
1
+ export * from "./bindings/index.js";
2
+ export * from "./chains/archive-transport.js";
3
+ export * from "./core/index.js";
4
+ export * from "./deployment/addresses.js";
5
+ export * from "./deployment/mainnet.js";
6
+ export * from "./utils/index.js";
@@ -1,15 +1,15 @@
1
1
  import {
2
2
  getIrmDeployParamsAbi,
3
3
  parseIrmDeployParams
4
- } from "./irm/constructor-params-abi";
4
+ } from "./irm/constructor-params-abi.js";
5
5
  import {
6
6
  getLossPolicyDeployParamsAbi,
7
7
  parseLossPolicyDeployParams
8
- } from "./loss-policies/constructor-params-abi";
8
+ } from "./loss-policies/constructor-params-abi.js";
9
9
  import {
10
10
  getRateKeeperDeployParamsAbi,
11
11
  parseRateKeeperDeployParams
12
- } from "./rate-keepers/constructor-params-abi";
12
+ } from "./rate-keepers/constructor-params-abi.js";
13
13
  export {
14
14
  getIrmDeployParamsAbi,
15
15
  getLossPolicyDeployParamsAbi,
@@ -28,8 +28,8 @@ function decodeFunctionWithNamedArgs(abi, calldata) {
28
28
  });
29
29
  } else {
30
30
  Object.entries(decoded.args || {}).forEach(([key, value]) => {
31
- const index = parseInt(key);
32
- if (!isNaN(index) && abiItem.inputs?.[index]?.name) {
31
+ const index = parseInt(key, 10);
32
+ if (!Number.isNaN(index) && abiItem.inputs?.[index]?.name) {
33
33
  namedArgs[abiItem.inputs[index].name] = String(value);
34
34
  } else {
35
35
  namedArgs[key] = String(value);
@@ -1,3 +1,3 @@
1
- export * from "./batch";
2
- export * from "./timelock-txs";
3
- export * from "./types";
1
+ export * from "./batch.js";
2
+ export * from "./timelock-txs.js";
3
+ export * from "./types.js";
@@ -1,6 +1,6 @@
1
1
  import { governorAbi } from "../../../abi/governance/governor.js";
2
2
  import { createRawTx } from "../../../sdk/utils/index.js";
3
- import { convertRawTxToSafeMultisigTx } from "./batch";
3
+ import { convertRawTxToSafeMultisigTx } from "./batch.js";
4
4
  function convertQueueBatchToExecuteTx(queueBatch) {
5
5
  const executionBatch = queueBatch.filter((tx) => tx.contractMethod.name === "queueTransaction").map((tx) => ({
6
6
  ...tx.contractInputsValues,
@@ -1,9 +1,9 @@
1
- export * from "./abi-decoder";
2
- export * from "./abi-encoder";
3
- export * from "./block-utils";
4
- export * from "./create2";
5
- export * from "./format";
6
- export * from "./governance";
7
- export * from "./literals";
8
- export * from "./price-update";
9
- export * from "./signature";
1
+ export * from "./abi-decoder.js";
2
+ export * from "./abi-encoder.js";
3
+ export * from "./block-utils.js";
4
+ export * from "./create2.js";
5
+ export * from "./format.js";
6
+ export * from "./governance/index.js";
7
+ export * from "./literals.js";
8
+ export * from "./price-update/index.js";
9
+ export * from "./signature.js";
@@ -1,9 +1,9 @@
1
1
  import { AP_PRICE_FEED_COMPRESSOR } from "../../../sdk/constants/index.js";
2
2
  import { GearboxSDK } from "../../../sdk/index.js";
3
- import { AddressProviderContract } from "../../bindings";
4
- import { Addresses } from "../../deployment/addresses";
5
- import { deepJsonParse } from "../format";
6
- import { getUpdatablePriceFeeds } from "./get-updatable-feeds";
3
+ import { AddressProviderContract } from "../../bindings/index.js";
4
+ import { Addresses } from "../../deployment/addresses.js";
5
+ import { deepJsonParse } from "../format.js";
6
+ import { getUpdatablePriceFeeds } from "./get-updatable-feeds.js";
7
7
  function getCallTouchedPriceFeeds(parsedCall) {
8
8
  const priceFeeds = [];
9
9
  const deepParsedArgs = deepJsonParse(parsedCall.args);
@@ -7,8 +7,10 @@ import {
7
7
  GearboxSDK
8
8
  } from "../../../sdk/index.js";
9
9
  import { createRawTx } from "../../../sdk/utils/index.js";
10
- import { PriceFeedStoreContract } from "../../bindings";
11
- import { Addresses } from "../../deployment/addresses";
10
+ import {
11
+ PriceFeedStoreContract
12
+ } from "../../bindings/index.js";
13
+ import { Addresses } from "../../deployment/addresses.js";
12
14
  function getUpdateCalldata(tx) {
13
15
  const data = decodeFunctionData({
14
16
  abi: parseAbi(["function updatePrice(bytes calldata data) external"]),
@@ -1,10 +1,6 @@
1
- import {
2
- multicall3Abi
3
- } from "viem";
1
+ import { multicall3Abi } from "viem";
4
2
  import { GearboxSDK } from "../../../sdk/index.js";
5
- import {
6
- simulateMulticall
7
- } from "../../../sdk/utils/viem/index.js";
3
+ import { simulateMulticall } from "../../../sdk/utils/viem/index.js";
8
4
  const latestRoundDataAbi = [
9
5
  {
10
6
  inputs: [],
@@ -1,4 +1,4 @@
1
- export * from "./get-price-feeds";
2
- export * from "./get-price-update-tx";
3
- export * from "./get-prices";
4
- export * from "./get-updatable-feeds";
1
+ export * from "./get-price-feeds.js";
2
+ export * from "./get-price-update-tx.js";
3
+ export * from "./get-prices.js";
4
+ export * from "./get-updatable-feeds.js";
@@ -1,4 +1,5 @@
1
1
  import { BasePlugin, bytes32ToString } from "../../sdk/index.js";
2
+ import { BalancerV3WrapperAdapterContract } from "./contracts/BalancerV3WrapperAdapterContract.js";
2
3
  import {
3
4
  BalancerV2VaultAdapterContract,
4
5
  BalancerV3RouterAdapterContract,
@@ -33,7 +34,7 @@ import {
33
34
  VelodromeV2RouterAdapterContract,
34
35
  WstETHV1AdapterContract,
35
36
  YearnV2RouterAdapterContract
36
- } from "./contracts";
37
+ } from "./contracts/index.js";
37
38
  class AdaptersPlugin extends BasePlugin {
38
39
  name = "Adapters";
39
40
  version = 1;
@@ -46,6 +47,8 @@ class AdaptersPlugin extends BasePlugin {
46
47
  switch (adapterType) {
47
48
  case "ADAPTER::BALANCER_V3_ROUTER":
48
49
  return new BalancerV3RouterAdapterContract(this.sdk, args);
50
+ case "ADAPTER::BALANCER_V3_WRAPPER":
51
+ return new BalancerV3WrapperAdapterContract(this.sdk, args);
49
52
  case "ADAPTER::BALANCER_VAULT":
50
53
  return new BalancerV2VaultAdapterContract(this.sdk, args);
51
54
  case "ADAPTER::CAMELOT_V3_ROUTER":
@@ -1,11 +1,12 @@
1
1
  import { parseAbi, toFunctionSelector } from "viem";
2
- import { AdapterType } from "../types";
2
+ import { AdapterType } from "../types.js";
3
3
  const adapterActionSignatures = {
4
4
  [AdapterType.BALANCER_VAULT]: {
5
5
  310: "function setPoolStatus(bytes32,uint8)"
6
6
  },
7
7
  [AdapterType.BALANCER_V3_ROUTER]: {
8
- 310: "function setPoolStatusBatch(address[],bool[])"
8
+ 310: "function setPoolStatusBatch(address[],bool[])",
9
+ 311: "function setPoolStatusBatch((address,uint8)[])"
9
10
  },
10
11
  [AdapterType.CAMELOT_V3_ROUTER]: {
11
12
  310: "function setPoolStatusBatch((address,address,bool)[])"
@@ -26,7 +27,8 @@ const adapterActionSignatures = {
26
27
  310: "function setVaultStatusBatch((address,bool)[])"
27
28
  },
28
29
  [AdapterType.PENDLE_ROUTER]: {
29
- 310: "function setPairStatusBatch((address,address,address,uint8)[])"
30
+ 310: "function setPairStatusBatch((address,address,address,uint8)[])",
31
+ 311: "function setPairStatusBatch((address,address,address,uint8,uint8)[])"
30
32
  },
31
33
  [AdapterType.TRADERJOE_ROUTER]: {
32
34
  310: "function setPoolStatusBatch((address,address,uint256,uint8,bool)[])"
@@ -1,4 +1,4 @@
1
- import { AdapterType } from "../types";
1
+ import { AdapterType } from "../types.js";
2
2
  import {
3
3
  ADDRESS_REFERRAL_ADAPTER_ABI,
4
4
  BASIC_ADAPTER_ABI,
@@ -10,13 +10,17 @@ import {
10
10
  STAKED_TOKEN_ADAPTER_ABI,
11
11
  STAKING_REWARDS_ADAPTER_ABI,
12
12
  UINT_REFERRAL_ADAPTER_ABI
13
- } from "./conctructorAbiPatterns";
13
+ } from "./conctructorAbiPatterns.js";
14
14
  const adapterConstructorAbi = {
15
15
  // DEX and protocol adapters - basic pattern [creditManager, target]
16
16
  [AdapterType.BALANCER_VAULT]: {
17
17
  310: BASIC_ADAPTER_ABI
18
18
  },
19
19
  [AdapterType.BALANCER_V3_ROUTER]: {
20
+ 310: BASIC_ADAPTER_ABI,
21
+ 311: BASIC_ADAPTER_ABI
22
+ },
23
+ [AdapterType.BALANCER_V3_WRAPPER]: {
20
24
  310: BASIC_ADAPTER_ABI
21
25
  },
22
26
  [AdapterType.CAMELOT_V3_ROUTER]: {
@@ -41,7 +45,8 @@ const adapterConstructorAbi = {
41
45
  310: BASIC_ADAPTER_ABI
42
46
  },
43
47
  [AdapterType.PENDLE_ROUTER]: {
44
- 310: BASIC_ADAPTER_ABI
48
+ 310: BASIC_ADAPTER_ABI,
49
+ 311: BASIC_ADAPTER_ABI
45
50
  },
46
51
  [AdapterType.DAI_USDS_EXCHANGE]: {
47
52
  310: BASIC_ADAPTER_ABI
@@ -3,12 +3,12 @@ import {
3
3
  decodeFunctionData
4
4
  } from "viem";
5
5
  import { json_stringify } from "../../../sdk/index.js";
6
- import { AdapterType } from "../types";
6
+ import { AdapterType } from "../types.js";
7
7
  import {
8
8
  adapterActionAbi,
9
9
  adapterActionSelectors,
10
10
  adapterConstructorAbi
11
- } from ".";
11
+ } from "./index.js";
12
12
  function getAdapterType(value) {
13
13
  const cleanValue = value.replace(/\0/g, "").trim();
14
14
  return Object.values(AdapterType).includes(cleanValue) ? cleanValue : null;
@@ -6,15 +6,35 @@ class BalancerV3RouterAdapterContract extends AbstractAdapterContract {
6
6
  allowedPools;
7
7
  constructor(sdk, args) {
8
8
  super(sdk, { ...args, abi });
9
- const decoded = decodeAbiParameters(
10
- [
11
- { type: "address", name: "creditManager" },
12
- { type: "address", name: "targetContract" },
13
- { type: "address[]", name: "allowedPools" }
14
- ],
15
- args.baseParams.serializedParams
16
- );
17
- this.allowedPools = [...decoded[2]];
9
+ const version = Number(args.baseParams.version);
10
+ if (version === 310) {
11
+ const decoded = decodeAbiParameters(
12
+ [
13
+ { type: "address", name: "creditManager" },
14
+ { type: "address", name: "targetContract" },
15
+ { type: "address[]", name: "allowedPools" }
16
+ ],
17
+ args.baseParams.serializedParams
18
+ );
19
+ this.allowedPools = [...decoded[2]];
20
+ } else {
21
+ const decoded = decodeAbiParameters(
22
+ [
23
+ { type: "address", name: "creditManager" },
24
+ { type: "address", name: "targetContract" },
25
+ {
26
+ type: "tuple[]",
27
+ name: "allowedPairs",
28
+ components: [
29
+ { type: "address", name: "pool" },
30
+ { type: "uint8", name: "status" }
31
+ ]
32
+ }
33
+ ],
34
+ args.baseParams.serializedParams
35
+ );
36
+ this.allowedPools = [...decoded[2]];
37
+ }
18
38
  }
19
39
  }
20
40
  export {
@@ -0,0 +1,21 @@
1
+ import { decodeAbiParameters } from "viem";
2
+ import { AbstractAdapterContract } from "./AbstractAdapter.js";
3
+ const abi = [];
4
+ class BalancerV3WrapperAdapterContract extends AbstractAdapterContract {
5
+ balancerPoolToken;
6
+ constructor(sdk, args) {
7
+ super(sdk, { ...args, abi });
8
+ const decoded = decodeAbiParameters(
9
+ [
10
+ { type: "address", name: "creditManager" },
11
+ { type: "address", name: "targetContract" },
12
+ { type: "address", name: "balancerPoolToken" }
13
+ ],
14
+ args.baseParams.serializedParams
15
+ );
16
+ this.balancerPoolToken = decoded[2];
17
+ }
18
+ }
19
+ export {
20
+ BalancerV3WrapperAdapterContract
21
+ };
@@ -6,29 +6,58 @@ class PendleRouterAdapterContract extends AbstractAdapterContract {
6
6
  allowedPairs;
7
7
  constructor(sdk, args) {
8
8
  super(sdk, { ...args, abi });
9
- const decoded = decodeAbiParameters(
10
- [
11
- { type: "address", name: "creditManager" },
12
- { type: "address", name: "targetContract" },
13
- {
14
- type: "tuple[]",
15
- name: "allowedPairs",
16
- components: [
17
- { type: "address", name: "market" },
18
- { type: "address", name: "inputToken" },
19
- { type: "address", name: "pendleToken" },
20
- { type: "uint8", name: "status" }
21
- ]
22
- }
23
- ],
24
- args.baseParams.serializedParams
25
- );
26
- this.allowedPairs = decoded[2].map((pair) => ({
27
- market: pair.market,
28
- inputToken: pair.inputToken,
29
- pendleToken: pair.pendleToken,
30
- status: pair.status
31
- }));
9
+ const version = Number(args.baseParams.version);
10
+ if (version === 310) {
11
+ const decoded = decodeAbiParameters(
12
+ [
13
+ { type: "address", name: "creditManager" },
14
+ { type: "address", name: "targetContract" },
15
+ {
16
+ type: "tuple[]",
17
+ name: "allowedPairs",
18
+ components: [
19
+ { type: "address", name: "market" },
20
+ { type: "address", name: "inputToken" },
21
+ { type: "address", name: "pendleToken" },
22
+ { type: "uint8", name: "status" }
23
+ ]
24
+ }
25
+ ],
26
+ args.baseParams.serializedParams
27
+ );
28
+ this.allowedPairs = decoded[2].map((pair) => ({
29
+ market: pair.market,
30
+ inputToken: pair.inputToken,
31
+ pendleToken: pair.pendleToken,
32
+ status: pair.status
33
+ }));
34
+ } else {
35
+ const decoded = decodeAbiParameters(
36
+ [
37
+ { type: "address", name: "creditManager" },
38
+ { type: "address", name: "targetContract" },
39
+ {
40
+ type: "tuple[]",
41
+ name: "allowedPairs",
42
+ components: [
43
+ { type: "address", name: "market" },
44
+ { type: "address", name: "inputToken" },
45
+ { type: "address", name: "pendleToken" },
46
+ { type: "uint8", name: "pendleTokenType" },
47
+ { type: "uint8", name: "status" }
48
+ ]
49
+ }
50
+ ],
51
+ args.baseParams.serializedParams
52
+ );
53
+ this.allowedPairs = decoded[2].map((pair) => ({
54
+ market: pair.market,
55
+ inputToken: pair.inputToken,
56
+ pendleToken: pair.pendleToken,
57
+ pendleTokenType: pair.pendleTokenType,
58
+ status: pair.status
59
+ }));
60
+ }
32
61
  }
33
62
  }
34
63
  export {
@@ -12,6 +12,11 @@ var KodiakIslandStatus = /* @__PURE__ */ ((KodiakIslandStatus2) => {
12
12
  KodiakIslandStatus2[KodiakIslandStatus2["EXIT_ONLY"] = 3] = "EXIT_ONLY";
13
13
  return KodiakIslandStatus2;
14
14
  })(KodiakIslandStatus || {});
15
+ var PendleTokenType = /* @__PURE__ */ ((PendleTokenType2) => {
16
+ PendleTokenType2[PendleTokenType2["PT"] = 0] = "PT";
17
+ PendleTokenType2[PendleTokenType2["LP"] = 1] = "LP";
18
+ return PendleTokenType2;
19
+ })(PendleTokenType || {});
15
20
  var PendlePairStatus = /* @__PURE__ */ ((PendlePairStatus2) => {
16
21
  PendlePairStatus2[PendlePairStatus2["NOT_ALLOWED"] = 0] = "NOT_ALLOWED";
17
22
  PendlePairStatus2[PendlePairStatus2["ALLOWED"] = 1] = "ALLOWED";
@@ -25,9 +30,19 @@ var TraderJoePoolVersion = /* @__PURE__ */ ((TraderJoePoolVersion2) => {
25
30
  TraderJoePoolVersion2[TraderJoePoolVersion2["V2_2"] = 3] = "V2_2";
26
31
  return TraderJoePoolVersion2;
27
32
  })(TraderJoePoolVersion || {});
33
+ var BalancerV3PoolStatus = /* @__PURE__ */ ((BalancerV3PoolStatus2) => {
34
+ BalancerV3PoolStatus2[BalancerV3PoolStatus2["NOT_ALLOWED"] = 0] = "NOT_ALLOWED";
35
+ BalancerV3PoolStatus2[BalancerV3PoolStatus2["ALLOWED"] = 1] = "ALLOWED";
36
+ BalancerV3PoolStatus2[BalancerV3PoolStatus2["EXIT_AND_SWAP"] = 2] = "EXIT_AND_SWAP";
37
+ BalancerV3PoolStatus2[BalancerV3PoolStatus2["SWAP_ONLY"] = 3] = "SWAP_ONLY";
38
+ BalancerV3PoolStatus2[BalancerV3PoolStatus2["EXIT_ONLY"] = 4] = "EXIT_ONLY";
39
+ return BalancerV3PoolStatus2;
40
+ })(BalancerV3PoolStatus || {});
28
41
  export {
29
42
  BalancerV2PoolStatus,
43
+ BalancerV3PoolStatus,
30
44
  KodiakIslandStatus,
31
45
  PendlePairStatus,
46
+ PendleTokenType,
32
47
  TraderJoePoolVersion
33
48
  };
@@ -1,4 +1,4 @@
1
1
  export * from "./AdaptersPlugin.js";
2
- export * from "./abi";
3
- export * from "./contracts";
2
+ export * from "./abi/index.js";
3
+ export * from "./contracts/index.js";
4
4
  export * from "./types.js";
@@ -1,5 +1,6 @@
1
1
  var AdapterType = /* @__PURE__ */ ((AdapterType2) => {
2
2
  AdapterType2["BALANCER_V3_ROUTER"] = "BALANCER_V3_ROUTER";
3
+ AdapterType2["BALANCER_V3_WRAPPER"] = "BALANCER_V3_WRAPPER";
3
4
  AdapterType2["BALANCER_VAULT"] = "BALANCER_VAULT";
4
5
  AdapterType2["CAMELOT_V3_ROUTER"] = "CAMELOT_V3_ROUTER";
5
6
  AdapterType2["CURVE_STABLE_NG"] = "CURVE_STABLE_NG";
@@ -1,5 +1,5 @@
1
1
  import { TokenType } from "./tokenType.js";
2
- const Curve3CrvUnderlyingTokenIndex = {
2
+ const _Curve3CrvUnderlyingTokenIndex = {
3
3
  DAI: 0n,
4
4
  USDC: 1n,
5
5
  USDT: 2n