@gearbox-protocol/sdk 14.12.0-next.6 → 14.12.0-next.8

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 (139) hide show
  1. package/dist/cjs/plugins/adapters/abi/iConvexV1BoosterAdapter.js +143 -0
  2. package/dist/cjs/plugins/adapters/abi/index.js +2 -0
  3. package/dist/cjs/plugins/adapters/balanceChanges.js +47 -0
  4. package/dist/cjs/plugins/adapters/contracts/AbstractAdapter.js +35 -0
  5. package/dist/cjs/plugins/adapters/contracts/BalancerV3RouterAdapterContract.js +20 -0
  6. package/dist/cjs/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.js +20 -0
  7. package/dist/cjs/plugins/adapters/contracts/CamelotV3AdapterContract.js +16 -0
  8. package/dist/cjs/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.js +23 -0
  9. package/dist/cjs/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.js +29 -2
  10. package/dist/cjs/plugins/adapters/contracts/Curve2AssetsAdapterContract.js +27 -0
  11. package/dist/cjs/plugins/adapters/contracts/Curve3AssetsAdapterContract.js +27 -0
  12. package/dist/cjs/plugins/adapters/contracts/Curve4AssetsAdapterContract.js +27 -0
  13. package/dist/cjs/plugins/adapters/contracts/CurveV1AdapterDeposit.js +27 -0
  14. package/dist/cjs/plugins/adapters/contracts/CurveV1AdapterStETHContract.js +27 -0
  15. package/dist/cjs/plugins/adapters/contracts/CurveV1StableNGAdapterContract.js +27 -0
  16. package/dist/cjs/plugins/adapters/contracts/DaiUsdsAdapterContract.js +15 -0
  17. package/dist/cjs/plugins/adapters/contracts/ERC4626AdapterContract.js +16 -0
  18. package/dist/cjs/plugins/adapters/contracts/ERC4626ReferralAdapterContract.js +15 -0
  19. package/dist/cjs/plugins/adapters/contracts/FluidDexAdapterContract.js +15 -0
  20. package/dist/cjs/plugins/adapters/contracts/InfinifiGatewayAdapterContract.js +22 -0
  21. package/dist/cjs/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.js +11 -0
  22. package/dist/cjs/plugins/adapters/contracts/LidoV1AdapterContract.js +12 -0
  23. package/dist/cjs/plugins/adapters/contracts/MellowDVVAdapterContract.js +16 -0
  24. package/dist/cjs/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.js +16 -0
  25. package/dist/cjs/plugins/adapters/contracts/MellowWrapperAdapterContract.js +12 -0
  26. package/dist/cjs/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.js +11 -0
  27. package/dist/cjs/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.js +13 -0
  28. package/dist/cjs/plugins/adapters/contracts/PendleRouterAdapterContract.js +53 -0
  29. package/dist/cjs/plugins/adapters/contracts/SecuritizeOnRampAdapterContract.js +12 -0
  30. package/dist/cjs/plugins/adapters/contracts/SecuritizeSwapAdapterContract.js +23 -1
  31. package/dist/cjs/plugins/adapters/contracts/StakingRewardsAdapterContract.js +22 -0
  32. package/dist/cjs/plugins/adapters/contracts/TraderJoeRouterAdapterContract.js +11 -0
  33. package/dist/cjs/plugins/adapters/contracts/UniswapV2AdapterContract.js +11 -0
  34. package/dist/cjs/plugins/adapters/contracts/UniswapV3AdapterContract.js +16 -0
  35. package/dist/cjs/plugins/adapters/contracts/UniswapV4AdapterContract.js +15 -0
  36. package/dist/cjs/plugins/adapters/contracts/UpshiftVaultAdapterContract.js +15 -0
  37. package/dist/cjs/plugins/adapters/contracts/VelodromeV2AdapterContract.js +11 -0
  38. package/dist/cjs/plugins/adapters/contracts/WstETHV1AdapterContract.js +16 -0
  39. package/dist/cjs/plugins/adapters/index.js +2 -0
  40. package/dist/cjs/preview/index.js +0 -2
  41. package/dist/cjs/preview/preview/errors.js +16 -0
  42. package/dist/cjs/preview/preview/extractExpectedBalanceChanges.js +33 -11
  43. package/dist/cjs/preview/preview/previewOpenCreditAccount.js +46 -7
  44. package/dist/cjs/preview/preview/unwrapNativeCollateral.js +59 -0
  45. package/dist/cjs/sdk/market/credit/CreditFacadeV310BaseContract.js +31 -0
  46. package/dist/cjs/sdk/market/rwa/securitize/SecuritizeRWAFactory.js +25 -0
  47. package/dist/esm/plugins/adapters/abi/iConvexV1BoosterAdapter.js +119 -0
  48. package/dist/esm/plugins/adapters/abi/index.js +1 -0
  49. package/dist/esm/plugins/adapters/balanceChanges.js +21 -0
  50. package/dist/esm/plugins/adapters/contracts/AbstractAdapter.js +35 -0
  51. package/dist/esm/plugins/adapters/contracts/BalancerV3RouterAdapterContract.js +23 -1
  52. package/dist/esm/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.js +23 -1
  53. package/dist/esm/plugins/adapters/contracts/CamelotV3AdapterContract.js +19 -1
  54. package/dist/esm/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.js +27 -1
  55. package/dist/esm/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.js +31 -2
  56. package/dist/esm/plugins/adapters/contracts/Curve2AssetsAdapterContract.js +30 -1
  57. package/dist/esm/plugins/adapters/contracts/Curve3AssetsAdapterContract.js +30 -1
  58. package/dist/esm/plugins/adapters/contracts/Curve4AssetsAdapterContract.js +30 -1
  59. package/dist/esm/plugins/adapters/contracts/CurveV1AdapterDeposit.js +30 -1
  60. package/dist/esm/plugins/adapters/contracts/CurveV1AdapterStETHContract.js +30 -1
  61. package/dist/esm/plugins/adapters/contracts/CurveV1StableNGAdapterContract.js +30 -1
  62. package/dist/esm/plugins/adapters/contracts/DaiUsdsAdapterContract.js +18 -1
  63. package/dist/esm/plugins/adapters/contracts/ERC4626AdapterContract.js +20 -1
  64. package/dist/esm/plugins/adapters/contracts/ERC4626ReferralAdapterContract.js +18 -1
  65. package/dist/esm/plugins/adapters/contracts/FluidDexAdapterContract.js +18 -1
  66. package/dist/esm/plugins/adapters/contracts/InfinifiGatewayAdapterContract.js +25 -1
  67. package/dist/esm/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.js +14 -1
  68. package/dist/esm/plugins/adapters/contracts/LidoV1AdapterContract.js +15 -1
  69. package/dist/esm/plugins/adapters/contracts/MellowDVVAdapterContract.js +19 -1
  70. package/dist/esm/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.js +19 -1
  71. package/dist/esm/plugins/adapters/contracts/MellowWrapperAdapterContract.js +15 -1
  72. package/dist/esm/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.js +14 -1
  73. package/dist/esm/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.js +16 -1
  74. package/dist/esm/plugins/adapters/contracts/PendleRouterAdapterContract.js +56 -1
  75. package/dist/esm/plugins/adapters/contracts/SecuritizeOnRampAdapterContract.js +15 -1
  76. package/dist/esm/plugins/adapters/contracts/SecuritizeSwapAdapterContract.js +26 -2
  77. package/dist/esm/plugins/adapters/contracts/StakingRewardsAdapterContract.js +25 -1
  78. package/dist/esm/plugins/adapters/contracts/TraderJoeRouterAdapterContract.js +14 -1
  79. package/dist/esm/plugins/adapters/contracts/UniswapV2AdapterContract.js +11 -0
  80. package/dist/esm/plugins/adapters/contracts/UniswapV3AdapterContract.js +16 -0
  81. package/dist/esm/plugins/adapters/contracts/UniswapV4AdapterContract.js +18 -1
  82. package/dist/esm/plugins/adapters/contracts/UpshiftVaultAdapterContract.js +18 -1
  83. package/dist/esm/plugins/adapters/contracts/VelodromeV2AdapterContract.js +14 -1
  84. package/dist/esm/plugins/adapters/contracts/WstETHV1AdapterContract.js +19 -1
  85. package/dist/esm/plugins/adapters/index.js +1 -0
  86. package/dist/esm/preview/index.js +0 -1
  87. package/dist/esm/preview/preview/errors.js +15 -0
  88. package/dist/esm/preview/preview/extractExpectedBalanceChanges.js +33 -11
  89. package/dist/esm/preview/preview/previewOpenCreditAccount.js +54 -8
  90. package/dist/esm/preview/preview/unwrapNativeCollateral.js +35 -0
  91. package/dist/esm/sdk/market/credit/CreditFacadeV310BaseContract.js +33 -0
  92. package/dist/esm/sdk/market/rwa/securitize/SecuritizeRWAFactory.js +27 -1
  93. package/dist/types/plugins/adapters/abi/iConvexV1BoosterAdapter.d.ts +204 -0
  94. package/dist/types/plugins/adapters/abi/index.d.ts +1 -0
  95. package/dist/types/plugins/adapters/balanceChanges.d.ts +21 -0
  96. package/dist/types/plugins/adapters/contracts/AbstractAdapter.d.ts +22 -2
  97. package/dist/types/plugins/adapters/contracts/BalancerV3RouterAdapterContract.d.ts +3 -2
  98. package/dist/types/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.d.ts +3 -2
  99. package/dist/types/plugins/adapters/contracts/CamelotV3AdapterContract.d.ts +3 -2
  100. package/dist/types/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.d.ts +3 -2
  101. package/dist/types/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.d.ts +7 -6
  102. package/dist/types/plugins/adapters/contracts/Curve2AssetsAdapterContract.d.ts +3 -2
  103. package/dist/types/plugins/adapters/contracts/Curve3AssetsAdapterContract.d.ts +3 -1
  104. package/dist/types/plugins/adapters/contracts/Curve4AssetsAdapterContract.d.ts +3 -2
  105. package/dist/types/plugins/adapters/contracts/CurveV1AdapterDeposit.d.ts +3 -2
  106. package/dist/types/plugins/adapters/contracts/CurveV1AdapterStETHContract.d.ts +3 -2
  107. package/dist/types/plugins/adapters/contracts/CurveV1StableNGAdapterContract.d.ts +3 -2
  108. package/dist/types/plugins/adapters/contracts/DaiUsdsAdapterContract.d.ts +3 -2
  109. package/dist/types/plugins/adapters/contracts/ERC4626AdapterContract.d.ts +3 -2
  110. package/dist/types/plugins/adapters/contracts/ERC4626ReferralAdapterContract.d.ts +3 -2
  111. package/dist/types/plugins/adapters/contracts/FluidDexAdapterContract.d.ts +3 -2
  112. package/dist/types/plugins/adapters/contracts/InfinifiGatewayAdapterContract.d.ts +3 -2
  113. package/dist/types/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.d.ts +3 -2
  114. package/dist/types/plugins/adapters/contracts/LidoV1AdapterContract.d.ts +3 -2
  115. package/dist/types/plugins/adapters/contracts/MellowDVVAdapterContract.d.ts +3 -2
  116. package/dist/types/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.d.ts +3 -2
  117. package/dist/types/plugins/adapters/contracts/MellowWrapperAdapterContract.d.ts +3 -2
  118. package/dist/types/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.d.ts +3 -2
  119. package/dist/types/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.d.ts +3 -2
  120. package/dist/types/plugins/adapters/contracts/PendleRouterAdapterContract.d.ts +3 -2
  121. package/dist/types/plugins/adapters/contracts/SecuritizeOnRampAdapterContract.d.ts +3 -2
  122. package/dist/types/plugins/adapters/contracts/SecuritizeSwapAdapterContract.d.ts +14 -3
  123. package/dist/types/plugins/adapters/contracts/StakingRewardsAdapterContract.d.ts +3 -2
  124. package/dist/types/plugins/adapters/contracts/TraderJoeRouterAdapterContract.d.ts +3 -2
  125. package/dist/types/plugins/adapters/contracts/UniswapV2AdapterContract.d.ts +2 -1
  126. package/dist/types/plugins/adapters/contracts/UniswapV3AdapterContract.d.ts +2 -1
  127. package/dist/types/plugins/adapters/contracts/UniswapV4AdapterContract.d.ts +3 -2
  128. package/dist/types/plugins/adapters/contracts/UpshiftVaultAdapterContract.d.ts +3 -2
  129. package/dist/types/plugins/adapters/contracts/VelodromeV2AdapterContract.d.ts +3 -2
  130. package/dist/types/plugins/adapters/contracts/WstETHV1AdapterContract.d.ts +3 -2
  131. package/dist/types/plugins/adapters/index.d.ts +1 -0
  132. package/dist/types/preview/index.d.ts +0 -1
  133. package/dist/types/preview/preview/errors.d.ts +12 -0
  134. package/dist/types/preview/preview/extractExpectedBalanceChanges.d.ts +26 -14
  135. package/dist/types/preview/preview/types.d.ts +5 -1
  136. package/dist/types/preview/preview/unwrapNativeCollateral.d.ts +20 -0
  137. package/dist/types/sdk/market/credit/CreditFacadeV310BaseContract.d.ts +13 -1
  138. package/dist/types/sdk/market/rwa/securitize/SecuritizeRWAFactory.d.ts +13 -1
  139. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
- import { type Address } from "viem";
2
- import { type ConstructOptions, type ParsedCallV2 } from "../../../sdk/index.js";
1
+ import { type Address, type DecodeFunctionDataReturnType } from "viem";
2
+ import { type AddressMap, type ConstructOptions, type ParsedCallV2 } from "../../../sdk/index.js";
3
3
  import type { LegacyAdapterOperation, Transfers } from "../legacyAdapterOperations.js";
4
4
  import type { ConcreteAdapterContractOptions } from "./AbstractAdapter.js";
5
5
  import { AbstractAdapterContract } from "./AbstractAdapter.js";
@@ -1777,5 +1777,6 @@ export declare class Curve2AssetsAdapterContract extends AbstractAdapterContract
1777
1777
  };
1778
1778
  /** @see https://github.com/Gearbox-protocol/charts_server/blob/master/core/operation_type.go#L132-L164 */
1779
1779
  classifyLegacyOperation(parsed: ParsedCallV2, transfers: Transfers): LegacyAdapterOperation;
1780
+ protected previewDecodedBalanceChanges(balances: AddressMap<bigint>, decoded: DecodeFunctionDataReturnType<abi>): AddressMap<bigint>;
1780
1781
  }
1781
1782
  export {};
@@ -1,4 +1,5 @@
1
- import { type Address } from "viem";
1
+ import { type Address, type DecodeFunctionDataReturnType } from "viem";
2
+ import type { AddressMap } from "../../../sdk/index.js";
2
3
  import { type ConstructOptions, type ParsedCallV2 } from "../../../sdk/index.js";
3
4
  import type { LegacyAdapterOperation, Transfers } from "../legacyAdapterOperations.js";
4
5
  import type { ConcreteAdapterContractOptions } from "./AbstractAdapter.js";
@@ -1777,5 +1778,6 @@ export declare class Curve3AssetsAdapterContract extends AbstractAdapterContract
1777
1778
  };
1778
1779
  /** @see https://github.com/Gearbox-protocol/charts_server/blob/master/core/operation_type.go#L132-L164 */
1779
1780
  classifyLegacyOperation(parsed: ParsedCallV2, transfers: Transfers): LegacyAdapterOperation;
1781
+ protected previewDecodedBalanceChanges(balances: AddressMap<bigint>, decoded: DecodeFunctionDataReturnType<abi>): AddressMap<bigint>;
1780
1782
  }
1781
1783
  export {};
@@ -1,5 +1,5 @@
1
- import { type Address } from "viem";
2
- import { type ConstructOptions, type ParsedCallV2 } from "../../../sdk/index.js";
1
+ import { type Address, type DecodeFunctionDataReturnType } from "viem";
2
+ import { type AddressMap, type ConstructOptions, type ParsedCallV2 } from "../../../sdk/index.js";
3
3
  import type { LegacyAdapterOperation, Transfers } from "../legacyAdapterOperations.js";
4
4
  import type { ConcreteAdapterContractOptions } from "./AbstractAdapter.js";
5
5
  import { AbstractAdapterContract } from "./AbstractAdapter.js";
@@ -1777,5 +1777,6 @@ export declare class Curve4AssetsAdapterContract extends AbstractAdapterContract
1777
1777
  };
1778
1778
  /** @see https://github.com/Gearbox-protocol/charts_server/blob/master/core/operation_type.go#L132-L164 */
1779
1779
  classifyLegacyOperation(parsed: ParsedCallV2, transfers: Transfers): LegacyAdapterOperation;
1780
+ protected previewDecodedBalanceChanges(balances: AddressMap<bigint>, decoded: DecodeFunctionDataReturnType<abi>): AddressMap<bigint>;
1780
1781
  }
1781
1782
  export {};
@@ -1,5 +1,5 @@
1
- import { type Address } from "viem";
2
- import { type ConstructOptions, type ParsedCallV2 } from "../../../sdk/index.js";
1
+ import { type Address, type DecodeFunctionDataReturnType } from "viem";
2
+ import { type AddressMap, type ConstructOptions, type ParsedCallV2 } from "../../../sdk/index.js";
3
3
  import type { LegacyAdapterOperation, Transfers } from "../legacyAdapterOperations.js";
4
4
  import type { ConcreteAdapterContractOptions } from "./AbstractAdapter.js";
5
5
  import { AbstractAdapterContract } from "./AbstractAdapter.js";
@@ -1041,5 +1041,6 @@ export declare class CurveV1AdapterDeposit extends AbstractAdapterContract<abi,
1041
1041
  get underlyings(): [Address, Address, Address, Address];
1042
1042
  /** Legacy adapter not present in integrations-v3. Go: Curve operations via operation_type.go L132-L164 */
1043
1043
  classifyLegacyOperation(_parsed: ParsedCallV2, _transfers: Transfers): LegacyAdapterOperation;
1044
+ protected previewDecodedBalanceChanges(balances: AddressMap<bigint>, decoded: DecodeFunctionDataReturnType<abi>): AddressMap<bigint>;
1044
1045
  }
1045
1046
  export {};
@@ -1,5 +1,5 @@
1
- import { type Address } from "viem";
2
- import { type ConstructOptions, type ParsedCallV2 } from "../../../sdk/index.js";
1
+ import { type Address, type DecodeFunctionDataReturnType } from "viem";
2
+ import { type AddressMap, type ConstructOptions, type ParsedCallV2 } from "../../../sdk/index.js";
3
3
  import type { LegacyAdapterOperation, Transfers } from "../legacyAdapterOperations.js";
4
4
  import type { ConcreteAdapterContractOptions } from "./AbstractAdapter.js";
5
5
  import { AbstractAdapterContract } from "./AbstractAdapter.js";
@@ -1764,5 +1764,6 @@ export declare class CurveV1AdapterStETHContract extends AbstractAdapterContract
1764
1764
  get tokens(): [Address, Address];
1765
1765
  /** @see https://github.com/Gearbox-protocol/charts_server/blob/master/core/operation_type.go#L132-L164 */
1766
1766
  classifyLegacyOperation(parsed: ParsedCallV2, transfers: Transfers): LegacyAdapterOperation;
1767
+ protected previewDecodedBalanceChanges(balances: AddressMap<bigint>, decoded: DecodeFunctionDataReturnType<abi>): AddressMap<bigint>;
1767
1768
  }
1768
1769
  export {};
@@ -1,5 +1,5 @@
1
- import { type Address } from "viem";
2
- import { type ConstructOptions, type ParsedCallV2 } from "../../../sdk/index.js";
1
+ import { type Address, type DecodeFunctionDataReturnType } from "viem";
2
+ import { type AddressMap, type ConstructOptions, type ParsedCallV2 } from "../../../sdk/index.js";
3
3
  import type { LegacyAdapterOperation, Transfers } from "../legacyAdapterOperations.js";
4
4
  import type { ConcreteAdapterContractOptions } from "./AbstractAdapter.js";
5
5
  import { AbstractAdapterContract } from "./AbstractAdapter.js";
@@ -1747,5 +1747,6 @@ export declare class CurveV1StableNGAdapterContract extends AbstractAdapterContr
1747
1747
  };
1748
1748
  /** @see https://github.com/Gearbox-protocol/charts_server/blob/master/core/operation_type.go#L132-L164 */
1749
1749
  classifyLegacyOperation(parsed: ParsedCallV2, transfers: Transfers): LegacyAdapterOperation;
1750
+ protected previewDecodedBalanceChanges(balances: AddressMap<bigint>, decoded: DecodeFunctionDataReturnType<abi>): AddressMap<bigint>;
1750
1751
  }
1751
1752
  export {};
@@ -1,5 +1,5 @@
1
- import { type Address } from "viem";
2
- import { type ConstructOptions, type ParsedCallV2 } from "../../../sdk/index.js";
1
+ import { type Address, type DecodeFunctionDataReturnType } from "viem";
2
+ import { type AddressMap, type ConstructOptions, type ParsedCallV2 } from "../../../sdk/index.js";
3
3
  import type { LegacyAdapterOperation, Transfers } from "../legacyAdapterOperations.js";
4
4
  import type { ConcreteAdapterContractOptions } from "./AbstractAdapter.js";
5
5
  import { AbstractAdapterContract } from "./AbstractAdapter.js";
@@ -205,5 +205,6 @@ export declare class DaiUsdsAdapterContract extends AbstractAdapterContract<abi,
205
205
  };
206
206
  /** @see https://github.com/Gearbox-protocol/charts_server/blob/master/core/operation_type_v3.go#L51-L68 */
207
207
  classifyLegacyOperation(parsed: ParsedCallV2, transfers: Transfers): LegacyAdapterOperation;
208
+ protected previewDecodedBalanceChanges(balances: AddressMap<bigint>, decoded: DecodeFunctionDataReturnType<abi>): AddressMap<bigint>;
208
209
  }
209
210
  export {};
@@ -1,5 +1,5 @@
1
- import { type Address } from "viem";
2
- import { type ConstructOptions, type ParsedCallV2 } from "../../../sdk/index.js";
1
+ import { type Address, type DecodeFunctionDataReturnType } from "viem";
2
+ import { type AddressMap, type ConstructOptions, type ParsedCallV2 } from "../../../sdk/index.js";
3
3
  import type { LegacyAdapterOperation, Transfers } from "../legacyAdapterOperations.js";
4
4
  import type { ConcreteAdapterContractOptions } from "./AbstractAdapter.js";
5
5
  import { AbstractAdapterContract } from "./AbstractAdapter.js";
@@ -672,5 +672,6 @@ export declare class ERC4626AdapterContract extends AbstractAdapterContract<abi,
672
672
  * @see https://github.com/Gearbox-protocol/charts_server/blob/master/core/operation_type_v3.go#L32-L38
673
673
  */
674
674
  classifyLegacyOperation(parsed: ParsedCallV2, transfers: Transfers): LegacyAdapterOperation;
675
+ protected previewDecodedBalanceChanges(balances: AddressMap<bigint>, decoded: DecodeFunctionDataReturnType<abi>): AddressMap<bigint>;
675
676
  }
676
677
  export {};
@@ -1,5 +1,5 @@
1
- import { type Address } from "viem";
2
- import { type ConstructOptions, type ParsedCallV2 } from "../../../sdk/index.js";
1
+ import { type Address, type DecodeFunctionDataReturnType } from "viem";
2
+ import { type AddressMap, type ConstructOptions, type ParsedCallV2 } from "../../../sdk/index.js";
3
3
  import type { LegacyAdapterOperation, Transfers } from "../legacyAdapterOperations.js";
4
4
  import type { ConcreteAdapterContractOptions } from "./AbstractAdapter.js";
5
5
  import { AbstractAdapterContract } from "./AbstractAdapter.js";
@@ -299,5 +299,6 @@ export declare class ERC4626ReferralAdapterContract extends AbstractAdapterContr
299
299
  * @see https://github.com/Gearbox-protocol/charts_server/blob/master/core/operation_type_v3.go#L32-L38
300
300
  */
301
301
  classifyLegacyOperation(parsed: ParsedCallV2, transfers: Transfers): LegacyAdapterOperation;
302
+ protected previewDecodedBalanceChanges(balances: AddressMap<bigint>, decoded: DecodeFunctionDataReturnType<abi>): AddressMap<bigint>;
302
303
  }
303
304
  export {};
@@ -1,5 +1,5 @@
1
- import { type Address } from "viem";
2
- import { type ConstructOptions } from "../../../sdk/index.js";
1
+ import { type Address, type DecodeFunctionDataReturnType } from "viem";
2
+ import { type AddressMap, type ConstructOptions } from "../../../sdk/index.js";
3
3
  import type { ConcreteAdapterContractOptions } from "./AbstractAdapter.js";
4
4
  import { AbstractAdapterContract } from "./AbstractAdapter.js";
5
5
  declare const abi: readonly [{
@@ -252,5 +252,6 @@ export declare class FluidDexAdapterContract extends AbstractAdapterContract<abi
252
252
  version: number;
253
253
  contractType?: string;
254
254
  };
255
+ protected previewDecodedBalanceChanges(balances: AddressMap<bigint>, decoded: DecodeFunctionDataReturnType<abi>): AddressMap<bigint>;
255
256
  }
256
257
  export {};
@@ -1,5 +1,5 @@
1
- import { type Address } from "viem";
2
- import { type ConstructOptions } from "../../../sdk/index.js";
1
+ import { type Address, type DecodeFunctionDataReturnType } from "viem";
2
+ import { type AddressMap, type ConstructOptions } from "../../../sdk/index.js";
3
3
  import type { ConcreteAdapterContractOptions } from "./AbstractAdapter.js";
4
4
  import { AbstractAdapterContract } from "./AbstractAdapter.js";
5
5
  declare const abi: readonly [{
@@ -483,5 +483,6 @@ export declare class InfinifiGatewayAdapterContract extends AbstractAdapterContr
483
483
  version: number;
484
484
  contractType?: string;
485
485
  };
486
+ protected previewDecodedBalanceChanges(balances: AddressMap<bigint>, decoded: DecodeFunctionDataReturnType<abi>): AddressMap<bigint>;
486
487
  }
487
488
  export {};
@@ -1,5 +1,5 @@
1
- import { type Address } from "viem";
2
- import { type ConstructOptions } from "../../../sdk/index.js";
1
+ import { type Address, type DecodeFunctionDataReturnType } from "viem";
2
+ import { type AddressMap, type ConstructOptions } from "../../../sdk/index.js";
3
3
  import type { ConcreteAdapterContractOptions } from "./AbstractAdapter.js";
4
4
  import { AbstractAdapterContract } from "./AbstractAdapter.js";
5
5
  declare const abi: readonly [{
@@ -249,5 +249,6 @@ export declare class KelpLRTDepositPoolAdapterContract extends AbstractAdapterCo
249
249
  version: number;
250
250
  contractType?: string;
251
251
  };
252
+ protected previewDecodedBalanceChanges(balances: AddressMap<bigint>, decoded: DecodeFunctionDataReturnType<abi>): AddressMap<bigint>;
252
253
  }
253
254
  export {};
@@ -1,5 +1,5 @@
1
- import { type Address } from "viem";
2
- import { type ConstructOptions, type ParsedCallV2 } from "../../../sdk/index.js";
1
+ import { type Address, type DecodeFunctionDataReturnType } from "viem";
2
+ import { type AddressMap, type ConstructOptions, type ParsedCallV2 } from "../../../sdk/index.js";
3
3
  import type { LegacyAdapterOperation, Transfers } from "../legacyAdapterOperations.js";
4
4
  import type { ConcreteAdapterContractOptions } from "./AbstractAdapter.js";
5
5
  import { AbstractAdapterContract } from "./AbstractAdapter.js";
@@ -214,5 +214,6 @@ export declare class LidoV1AdapterContract extends AbstractAdapterContract<abi,
214
214
  };
215
215
  /** @see https://github.com/Gearbox-protocol/charts_server/blob/master/core/operation_type.go#L277-L282 */
216
216
  classifyLegacyOperation(_parsed: ParsedCallV2, transfers: Transfers): LegacyAdapterOperation;
217
+ protected previewDecodedBalanceChanges(balances: AddressMap<bigint>, decoded: DecodeFunctionDataReturnType<abi>): AddressMap<bigint>;
217
218
  }
218
219
  export {};
@@ -1,5 +1,5 @@
1
- import { type Address } from "viem";
2
- import { type ConstructOptions, type ParsedCallV2 } from "../../../sdk/index.js";
1
+ import { type Address, type DecodeFunctionDataReturnType } from "viem";
2
+ import { type AddressMap, type ConstructOptions, type ParsedCallV2 } from "../../../sdk/index.js";
3
3
  import type { LegacyAdapterOperation, Transfers } from "../legacyAdapterOperations.js";
4
4
  import type { ConcreteAdapterContractOptions } from "./AbstractAdapter.js";
5
5
  import { AbstractAdapterContract } from "./AbstractAdapter.js";
@@ -710,5 +710,6 @@ export declare class MellowDVVAdapterContract extends AbstractAdapterContract<ab
710
710
  * @see https://github.com/Gearbox-protocol/charts_server/blob/master/core/operation_type_v3.go#L32-L38
711
711
  */
712
712
  classifyLegacyOperation(parsed: ParsedCallV2, transfers: Transfers): LegacyAdapterOperation;
713
+ protected previewDecodedBalanceChanges(balances: AddressMap<bigint>, decoded: DecodeFunctionDataReturnType<abi>): AddressMap<bigint>;
713
714
  }
714
715
  export {};
@@ -1,5 +1,5 @@
1
- import { type Address } from "viem";
2
- import { type ConstructOptions, type ParsedCallV2 } from "../../../sdk/index.js";
1
+ import { type Address, type DecodeFunctionDataReturnType } from "viem";
2
+ import { type AddressMap, type ConstructOptions, type ParsedCallV2 } from "../../../sdk/index.js";
3
3
  import type { LegacyAdapterOperation, Transfers } from "../legacyAdapterOperations.js";
4
4
  import type { ConcreteAdapterContractOptions } from "./AbstractAdapter.js";
5
5
  import { AbstractAdapterContract } from "./AbstractAdapter.js";
@@ -677,5 +677,6 @@ export declare class MellowERC4626VaultAdapterContract extends AbstractAdapterCo
677
677
  * @see https://github.com/Gearbox-protocol/charts_server/blob/master/core/operation_type_v3.go#L32-L38
678
678
  */
679
679
  classifyLegacyOperation(parsed: ParsedCallV2, transfers: Transfers): LegacyAdapterOperation;
680
+ protected previewDecodedBalanceChanges(balances: AddressMap<bigint>, decoded: DecodeFunctionDataReturnType<abi>): AddressMap<bigint>;
680
681
  }
681
682
  export {};
@@ -1,5 +1,5 @@
1
- import { type Address } from "viem";
2
- import { type ConstructOptions } from "../../../sdk/index.js";
1
+ import { type Address, type DecodeFunctionDataReturnType } from "viem";
2
+ import { type AddressMap, type ConstructOptions } from "../../../sdk/index.js";
3
3
  import type { ConcreteAdapterContractOptions } from "./AbstractAdapter.js";
4
4
  import { AbstractAdapterContract } from "./AbstractAdapter.js";
5
5
  declare const abi: readonly [{
@@ -208,5 +208,6 @@ export declare class MellowWrapperAdapterContract extends AbstractAdapterContrac
208
208
  version: number;
209
209
  contractType?: string;
210
210
  };
211
+ protected previewDecodedBalanceChanges(balances: AddressMap<bigint>, decoded: DecodeFunctionDataReturnType<abi>): AddressMap<bigint>;
211
212
  }
212
213
  export {};
@@ -1,5 +1,5 @@
1
- import { type Address } from "viem";
2
- import { type ConstructOptions } from "../../../sdk/index.js";
1
+ import { type Address, type DecodeFunctionDataReturnType } from "viem";
2
+ import { type AddressMap, type ConstructOptions } from "../../../sdk/index.js";
3
3
  import type { ConcreteAdapterContractOptions } from "./AbstractAdapter.js";
4
4
  import { AbstractAdapterContract } from "./AbstractAdapter.js";
5
5
  declare const abi: readonly [{
@@ -233,5 +233,6 @@ export declare class MidasIssuanceVaultAdapterContract extends AbstractAdapterCo
233
233
  version: number;
234
234
  contractType?: string;
235
235
  };
236
+ protected previewDecodedBalanceChanges(balances: AddressMap<bigint>, decoded: DecodeFunctionDataReturnType<abi>): AddressMap<bigint>;
236
237
  }
237
238
  export {};
@@ -1,5 +1,5 @@
1
- import { type Address } from "viem";
2
- import { type ConstructOptions } from "../../../sdk/index.js";
1
+ import { type Address, type DecodeFunctionDataReturnType } from "viem";
2
+ import { type AddressMap, type ConstructOptions } from "../../../sdk/index.js";
3
3
  import type { ConcreteAdapterContractOptions } from "./AbstractAdapter.js";
4
4
  import { AbstractAdapterContract } from "./AbstractAdapter.js";
5
5
  declare const abi: readonly [{
@@ -479,5 +479,6 @@ export declare class MidasRedemptionVaultAdapterContract extends AbstractAdapter
479
479
  version: number;
480
480
  contractType?: string;
481
481
  };
482
+ protected previewDecodedBalanceChanges(balances: AddressMap<bigint>, decoded: DecodeFunctionDataReturnType<abi>): AddressMap<bigint>;
482
483
  }
483
484
  export {};
@@ -1,5 +1,5 @@
1
- import { type Address } from "viem";
2
- import { type ConstructOptions } from "../../../sdk/index.js";
1
+ import { type Address, type DecodeFunctionDataReturnType } from "viem";
2
+ import { type AddressMap, type ConstructOptions } from "../../../sdk/index.js";
3
3
  import type { ConcreteAdapterContractOptions } from "./AbstractAdapter.js";
4
4
  import { AbstractAdapterContract } from "./AbstractAdapter.js";
5
5
  export declare enum PendleTokenType {
@@ -2407,5 +2407,6 @@ export declare class PendleRouterAdapterContract extends AbstractAdapterContract
2407
2407
  version: number;
2408
2408
  contractType?: string;
2409
2409
  };
2410
+ protected previewDecodedBalanceChanges(balances: AddressMap<bigint>, decoded: DecodeFunctionDataReturnType<abi>): AddressMap<bigint>;
2410
2411
  }
2411
2412
  export {};
@@ -1,5 +1,5 @@
1
- import { type Address } from "viem";
2
- import { type ConstructOptions } from "../../../sdk/index.js";
1
+ import { type Address, type DecodeFunctionDataReturnType } from "viem";
2
+ import { type AddressMap, type ConstructOptions } from "../../../sdk/index.js";
3
3
  import type { ConcreteAdapterContractOptions } from "./AbstractAdapter.js";
4
4
  import { AbstractAdapterContract } from "./AbstractAdapter.js";
5
5
  declare const abi: readonly [{
@@ -446,5 +446,6 @@ export declare class SecuritizeOnRampAdapterContract extends AbstractAdapterCont
446
446
  version: number;
447
447
  contractType?: string;
448
448
  };
449
+ protected previewDecodedBalanceChanges(balances: AddressMap<bigint>, decoded: DecodeFunctionDataReturnType<abi>): AddressMap<bigint>;
449
450
  }
450
451
  export {};
@@ -1,8 +1,18 @@
1
- import { type Address } from "viem";
2
- import { type ConstructOptions } from "../../../sdk/index.js";
1
+ import { type Address, type DecodeFunctionDataReturnType } from "viem";
2
+ import { type AddressMap, type ConstructOptions } from "../../../sdk/index.js";
3
3
  import type { ConcreteAdapterContractOptions } from "./AbstractAdapter.js";
4
4
  import { AbstractAdapterContract } from "./AbstractAdapter.js";
5
- declare const abi: readonly [];
5
+ declare const abi: readonly [{
6
+ readonly type: "function";
7
+ readonly name: "buyExactInDiff";
8
+ readonly inputs: readonly [{
9
+ readonly name: "leftoverAmount";
10
+ readonly type: "uint256";
11
+ readonly internalType: "uint256";
12
+ }];
13
+ readonly outputs: readonly [];
14
+ readonly stateMutability: "nonpayable";
15
+ }];
6
16
  type abi = typeof abi;
7
17
  declare const protocolAbi: readonly [];
8
18
  type protocolAbi = typeof protocolAbi;
@@ -20,5 +30,6 @@ export declare class SecuritizeSwapAdapterContract extends AbstractAdapterContra
20
30
  version: number;
21
31
  contractType?: string;
22
32
  };
33
+ protected previewDecodedBalanceChanges(balances: AddressMap<bigint>, decoded: DecodeFunctionDataReturnType<abi>): AddressMap<bigint>;
23
34
  }
24
35
  export {};
@@ -1,5 +1,5 @@
1
- import { type Address } from "viem";
2
- import { type ConstructOptions } from "../../../sdk/index.js";
1
+ import { type Address, type DecodeFunctionDataReturnType } from "viem";
2
+ import { type AddressMap, type ConstructOptions } from "../../../sdk/index.js";
3
3
  import type { ConcreteAdapterContractOptions } from "./AbstractAdapter.js";
4
4
  import { AbstractAdapterContract } from "./AbstractAdapter.js";
5
5
  declare const abi: readonly [{
@@ -280,5 +280,6 @@ export declare class StakingRewardsAdapterContract extends AbstractAdapterContra
280
280
  version: number;
281
281
  contractType?: string;
282
282
  };
283
+ protected previewDecodedBalanceChanges(balances: AddressMap<bigint>, decoded: DecodeFunctionDataReturnType<abi>): AddressMap<bigint>;
283
284
  }
284
285
  export {};
@@ -1,5 +1,5 @@
1
- import { type Address } from "viem";
2
- import type { ConstructOptions } from "../../../sdk/index.js";
1
+ import { type Address, type DecodeFunctionDataReturnType } from "viem";
2
+ import type { AddressMap, ConstructOptions } from "../../../sdk/index.js";
3
3
  import type { ConcreteAdapterContractOptions } from "./AbstractAdapter.js";
4
4
  import { AbstractAdapterContract } from "./AbstractAdapter.js";
5
5
  export declare enum TraderJoePoolVersion {
@@ -483,5 +483,6 @@ export declare class TraderJoeRouterAdapterContract extends AbstractAdapterContr
483
483
  version: number;
484
484
  contractType?: string;
485
485
  };
486
+ protected previewDecodedBalanceChanges(balances: AddressMap<bigint>, decoded: DecodeFunctionDataReturnType<abi>): AddressMap<bigint>;
486
487
  }
487
488
  export {};
@@ -1,5 +1,5 @@
1
1
  import { type Address, type DecodeFunctionDataReturnType } from "viem";
2
- import type { ConstructOptions, ParsedCallV2 } from "../../../sdk/index.js";
2
+ import type { AddressMap, ConstructOptions, ParsedCallV2 } from "../../../sdk/index.js";
3
3
  import type { LegacyAdapterOperation, Transfers } from "../legacyAdapterOperations.js";
4
4
  import type { ConcreteAdapterContractOptions } from "./AbstractAdapter.js";
5
5
  import { AbstractAdapterContract } from "./AbstractAdapter.js";
@@ -965,5 +965,6 @@ export declare class UniswapV2AdapterContract extends AbstractAdapterContract<ab
965
965
  protected stringifyFunctionParams(params: DecodeFunctionDataReturnType<abi>): string[];
966
966
  /** @see https://github.com/Gearbox-protocol/charts_server/blob/master/core/operation_type.go#L81-L91 */
967
967
  classifyLegacyOperation(_parsed: ParsedCallV2, transfers: Transfers): LegacyAdapterOperation;
968
+ protected previewDecodedBalanceChanges(balances: AddressMap<bigint>, decoded: DecodeFunctionDataReturnType<abi>): AddressMap<bigint>;
968
969
  }
969
970
  export {};
@@ -1,5 +1,5 @@
1
1
  import { type Address, type DecodeFunctionDataReturnType } from "viem";
2
- import type { ConstructOptions } from "../../../sdk/index.js";
2
+ import type { AddressMap, ConstructOptions } from "../../../sdk/index.js";
3
3
  import type { ConcreteAdapterContractOptions } from "./AbstractAdapter.js";
4
4
  import { AbstractAdapterContract } from "./AbstractAdapter.js";
5
5
  declare const abi: readonly [{
@@ -556,6 +556,7 @@ export declare class UniswapV3AdapterContract extends AbstractAdapterContract<ab
556
556
  version: number;
557
557
  contractType?: string;
558
558
  };
559
+ protected previewDecodedBalanceChanges(balances: AddressMap<bigint>, decoded: DecodeFunctionDataReturnType<abi>): AddressMap<bigint>;
559
560
  protected stringifyFunctionParams(params: DecodeFunctionDataReturnType<abi>): string[];
560
561
  private trackInputPath;
561
562
  private trackOutputPath;
@@ -1,5 +1,5 @@
1
- import { type Address } from "viem";
2
- import type { ConstructOptions, ParsedCallV2 } from "../../../sdk/index.js";
1
+ import { type Address, type DecodeFunctionDataReturnType } from "viem";
2
+ import type { AddressMap, ConstructOptions, ParsedCallV2 } from "../../../sdk/index.js";
3
3
  import type { LegacyAdapterOperation, Transfers } from "../legacyAdapterOperations.js";
4
4
  import type { ConcreteAdapterContractOptions } from "./AbstractAdapter.js";
5
5
  import { AbstractAdapterContract } from "./AbstractAdapter.js";
@@ -421,5 +421,6 @@ export declare class UniswapV4AdapterContract extends AbstractAdapterContract<ab
421
421
  };
422
422
  /** @see https://github.com/Gearbox-protocol/charts_server/blob/master/core/operation_type.go#L81-L91 */
423
423
  classifyLegacyOperation(_parsed: ParsedCallV2, transfers: Transfers): LegacyAdapterOperation;
424
+ protected previewDecodedBalanceChanges(balances: AddressMap<bigint>, decoded: DecodeFunctionDataReturnType<abi>): AddressMap<bigint>;
424
425
  }
425
426
  export {};
@@ -1,5 +1,5 @@
1
- import { type Address } from "viem";
2
- import { type ConstructOptions } from "../../../sdk/index.js";
1
+ import { type Address, type DecodeFunctionDataReturnType } from "viem";
2
+ import { type AddressMap, type ConstructOptions } from "../../../sdk/index.js";
3
3
  import type { ConcreteAdapterContractOptions } from "./AbstractAdapter.js";
4
4
  import { AbstractAdapterContract } from "./AbstractAdapter.js";
5
5
  declare const abi: readonly [{
@@ -356,5 +356,6 @@ export declare class UpshiftVaultAdapterContract extends AbstractAdapterContract
356
356
  version: number;
357
357
  contractType?: string;
358
358
  };
359
+ protected previewDecodedBalanceChanges(balances: AddressMap<bigint>, decoded: DecodeFunctionDataReturnType<abi>): AddressMap<bigint>;
359
360
  }
360
361
  export {};
@@ -1,5 +1,5 @@
1
- import { type Address } from "viem";
2
- import type { ConstructOptions } from "../../../sdk/index.js";
1
+ import { type Address, type DecodeFunctionDataReturnType } from "viem";
2
+ import type { AddressMap, ConstructOptions } from "../../../sdk/index.js";
3
3
  import type { ConcreteAdapterContractOptions } from "./AbstractAdapter.js";
4
4
  import { AbstractAdapterContract } from "./AbstractAdapter.js";
5
5
  declare const abi: readonly [{
@@ -361,5 +361,6 @@ export declare class VelodromeV2RouterAdapterContract extends AbstractAdapterCon
361
361
  version: number;
362
362
  contractType?: string;
363
363
  };
364
+ protected previewDecodedBalanceChanges(balances: AddressMap<bigint>, decoded: DecodeFunctionDataReturnType<abi>): AddressMap<bigint>;
364
365
  }
365
366
  export {};
@@ -1,5 +1,5 @@
1
- import { type Address } from "viem";
2
- import { type ConstructOptions, type ParsedCallV2 } from "../../../sdk/index.js";
1
+ import { type Address, type DecodeFunctionDataReturnType } from "viem";
2
+ import { type AddressMap, type ConstructOptions, type ParsedCallV2 } from "../../../sdk/index.js";
3
3
  import type { LegacyAdapterOperation, Transfers } from "../legacyAdapterOperations.js";
4
4
  import type { ConcreteAdapterContractOptions } from "./AbstractAdapter.js";
5
5
  import { AbstractAdapterContract } from "./AbstractAdapter.js";
@@ -393,5 +393,6 @@ export declare class WstETHV1AdapterContract extends AbstractAdapterContract<abi
393
393
  };
394
394
  /** @see https://github.com/Gearbox-protocol/charts_server/blob/master/core/operation_type.go#L264-L275 */
395
395
  classifyLegacyOperation(parsed: ParsedCallV2, transfers: Transfers): LegacyAdapterOperation;
396
+ protected previewDecodedBalanceChanges(balances: AddressMap<bigint>, decoded: DecodeFunctionDataReturnType<abi>): AddressMap<bigint>;
396
397
  }
397
398
  export {};
@@ -1,5 +1,6 @@
1
1
  export * from "./AdaptersPlugin.js";
2
2
  export * from "./abi/index.js";
3
+ export * from "./balanceChanges.js";
3
4
  export * from "./contracts/index.js";
4
5
  export * from "./createAdapter.js";
5
6
  export * from "./legacyAdapterOperations.js";
@@ -1,4 +1,3 @@
1
- export * from "./parse/index.js";
2
1
  export * from "./prerequisites/index.js";
3
2
  export * from "./preview/index.js";
4
3
  export * from "./trace/index.js";
@@ -1,3 +1,15 @@
1
+ /**
2
+ * Thrown when a transaction's attached native value (`msg.value`) does not fit
3
+ * into the WETH collateral declared by the multicall: such a transaction is
4
+ * malformed and would not execute successfully.
5
+ */
6
+ export declare class InvalidTransactionValueError extends Error {
7
+ /** Transaction `msg.value`. */
8
+ readonly value: bigint;
9
+ /** Amount of wrapped native token added as collateral. */
10
+ readonly wethCollateral: bigint;
11
+ constructor(value: bigint, wethCollateral: bigint);
12
+ }
1
13
  /**
2
14
  * Thrown by `previewOperation` for parsed operations it cannot preview yet.
3
15
  * Currently only pool operations and credit account opening are supported.
@@ -1,21 +1,33 @@
1
1
  import type { Asset, ParsedCallV2 } from "../../sdk/index.js";
2
+ /**
3
+ * Balance changes declared by a router-generated
4
+ * `storeExpectedBalances`/`compareBalances` pair, along with the positions of
5
+ * the bracketing calls in the inner multicall.
6
+ */
7
+ export interface ExpectedBalanceChanges {
8
+ /**
9
+ * Declared minimal balance changes (relative to balances at
10
+ * `storeExpectedBalances` time).
11
+ */
12
+ deltas: Asset[];
13
+ /**
14
+ * Index of the `storeExpectedBalances` call.
15
+ */
16
+ startIndex: number;
17
+ /**
18
+ * Index of the `compareBalances` call.
19
+ */
20
+ endIndex: number;
21
+ }
2
22
  /**
3
23
  * Recovers the potential balance changes declared by a router-generated
4
24
  * `storeExpectedBalances`/`compareBalances` pair inside a credit-facade
5
- * multicall.
6
- *
7
- * The detection is intentionally limited to the router shape:
8
- * - `onDemandPriceUpdates` calls are dropped first (they may only appear at the
9
- * front of a multicall);
10
- * - the remaining calls must start with `storeExpectedBalances` and end with
11
- * `compareBalances`.
12
- *
13
- * When the multicall does not match this shape, `undefined` is returned. On a
14
- * match, the `BalanceDelta[]` argument of `storeExpectedBalances` is decoded
15
- * into {@link Asset}[] (the `balance` is the signed `int256` delta and may be
16
- * negative).
25
+ * multicall
17
26
  *
18
27
  * @param innerCalls - Raw (already-decoded) inner multicall calls.
19
- * @returns The declared balance changes, or `undefined` when not router-shaped.
28
+ * @returns The declared balance changes and bracket indices, or `undefined`
29
+ * when no `storeExpectedBalances`/`compareBalances` pair is present.
30
+ * @throws When the multicall contains a malformed pair (duplicates, one call
31
+ * without the other, or `compareBalances` before `storeExpectedBalances`).
20
32
  */
21
- export declare function extractExpectedBalanceChanges(innerCalls: ParsedCallV2[]): Asset[] | undefined;
33
+ export declare function extractExpectedBalanceChanges(innerCalls: ParsedCallV2[]): ExpectedBalanceChanges | undefined;
@@ -75,7 +75,11 @@ export interface OpenCreditAccountPreview {
75
75
  */
76
76
  target?: Asset;
77
77
  /**
78
- * Tokens that were added as collateral during account opening
78
+ * Tokens that were added as collateral during account opening.
79
+ *
80
+ * When the transaction has native value attached, it is represented as a
81
+ * `NATIVE_ADDRESS` entry, with the wrapped native token amount reduced
82
+ * accordingly (omitted entirely when it reaches zero).
79
83
  */
80
84
  collateral: Asset[];
81
85
  /**
@@ -0,0 +1,20 @@
1
+ import { type Address } from "viem";
2
+ import { type Asset } from "../../sdk/index.js";
3
+ /**
4
+ * Represents the transaction's attached native value as a `NATIVE_ADDRESS`
5
+ * entry in the collateral list.
6
+ *
7
+ * The credit facade wraps `msg.value` into WETH before `AddCollateral(WETH)`
8
+ * pulls it, so the WETH collateral amount already includes the attached native
9
+ * value. This helper splits the WETH entry back: the native amount is shown as
10
+ * `NATIVE_ADDRESS` and the WETH entry is reduced accordingly (dropped when it
11
+ * reaches zero). Other entries and their order are preserved.
12
+ *
13
+ * @param collateral - Collateral assets as declared by the multicall.
14
+ * @param nativeAmount - Transaction `msg.value`.
15
+ * @param wethToken - Wrapped native token address.
16
+ * @returns Collateral with the native amount unwrapped from the WETH entry.
17
+ * @throws InvalidTransactionValueError when `nativeAmount` is positive but the
18
+ * WETH collateral is missing or smaller than it.
19
+ */
20
+ export declare function unwrapNativeCollateral(collateral: Asset[], nativeAmount: bigint, wethToken: Address): Asset[];
@@ -1,6 +1,7 @@
1
- import type { DecodeFunctionDataReturnType } from "viem";
1
+ import { type DecodeFunctionDataReturnType, type Hex } from "viem";
2
2
  import type { BaseContractArgs, ConstructOptions } from "../../base/index.js";
3
3
  import { BaseContract } from "../../base/index.js";
4
+ import type { MultiCall } from "../../types/index.js";
4
5
  declare const abi: readonly [{
5
6
  readonly type: "function";
6
7
  readonly inputs: readonly [];
@@ -851,6 +852,17 @@ export { abi as creditFacadeV310Abi };
851
852
  */
852
853
  export declare class CreditFacadeV310BaseContract extends BaseContract<abi> {
853
854
  constructor(options: ConstructOptions, args: Omit<BaseContractArgs<abi>, "abi">);
855
+ /**
856
+ * Decodes entry-point calldata with the facade ABI and returns the untouched
857
+ * inner multicall structs (targets with still-ABI-encoded `callData`).
858
+ *
859
+ * Unlike {@link ChainContractsRegister.parseMultiCallV2}, the inner calls are
860
+ * not decoded, so callers can re-decode them with a specific contract's ABI.
861
+ *
862
+ * @throws When the calldata cannot be decoded or the function has no inner
863
+ * multicall argument.
864
+ */
865
+ extractRawInnerCalls(calldata: Hex): MultiCall[];
854
866
  protected parseFunctionParamsV2(params: DecodeFunctionDataReturnType<abi>, strict?: boolean): Record<string, unknown>;
855
867
  protected stringifyFunctionParams(params: DecodeFunctionDataReturnType<abi>): string[];
856
868
  }