@defisaver/positions-sdk 2.1.73 → 2.1.75

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 (43) hide show
  1. package/cjs/config/contracts.d.ts +53 -656
  2. package/cjs/config/contracts.js +1 -1
  3. package/cjs/contracts.d.ts +38412 -0
  4. package/cjs/contracts.js +11 -2
  5. package/cjs/savings/index.d.ts +4 -3
  6. package/cjs/savings/index.js +70 -53
  7. package/cjs/savings/summerVaults/index.d.ts +7 -0
  8. package/cjs/savings/summerVaults/index.js +92 -0
  9. package/cjs/savings/summerVaults/options.d.ts +13 -0
  10. package/cjs/savings/summerVaults/options.js +109 -0
  11. package/cjs/services/viem.d.ts +11 -11
  12. package/cjs/types/common.d.ts +1 -1
  13. package/cjs/types/common.js +1 -1
  14. package/cjs/types/savings/index.d.ts +3 -1
  15. package/cjs/types/savings/index.js +1 -0
  16. package/cjs/types/savings/summerVaults.d.ts +22 -0
  17. package/cjs/types/savings/summerVaults.js +16 -0
  18. package/esm/config/contracts.d.ts +53 -656
  19. package/esm/config/contracts.js +1 -1
  20. package/esm/contracts.d.ts +38412 -0
  21. package/esm/contracts.js +8 -0
  22. package/esm/savings/index.d.ts +4 -3
  23. package/esm/savings/index.js +69 -53
  24. package/esm/savings/summerVaults/index.d.ts +7 -0
  25. package/esm/savings/summerVaults/index.js +54 -0
  26. package/esm/savings/summerVaults/options.d.ts +13 -0
  27. package/esm/savings/summerVaults/options.js +105 -0
  28. package/esm/services/viem.d.ts +11 -11
  29. package/esm/types/common.d.ts +1 -1
  30. package/esm/types/common.js +1 -1
  31. package/esm/types/savings/index.d.ts +3 -1
  32. package/esm/types/savings/index.js +1 -0
  33. package/esm/types/savings/summerVaults.d.ts +22 -0
  34. package/esm/types/savings/summerVaults.js +13 -0
  35. package/package.json +1 -1
  36. package/src/config/contracts.ts +3 -3
  37. package/src/contracts.ts +10 -1
  38. package/src/savings/index.ts +63 -47
  39. package/src/savings/summerVaults/index.ts +56 -0
  40. package/src/savings/summerVaults/options.ts +117 -0
  41. package/src/types/common.ts +1 -1
  42. package/src/types/savings/index.ts +3 -1
  43. package/src/types/savings/summerVaults.ts +24 -0
@@ -620,7 +620,7 @@ export const AaveLoanInfoV2 = {
620
620
  "address": "0xEDf1087544a01596b70Da746F861B878F245B08f"
621
621
  },
622
622
  }
623
- },
623
+ },
624
624
  }
625
625
  } as const;
626
626
  export const LendingPoolAddressesProvider = {
@@ -1193,7 +1193,7 @@ export const Erc20 = {
1193
1193
  "networks": {},
1194
1194
  } as const;
1195
1195
  export const Erc4626 = {
1196
- "abi": [{"inputs":[{"internalType":"contract IFluidLiquidity","name":"liquidity_","type":"address"},{"internalType":"contract IFluidLendingFactory","name":"lendingFactory_","type":"address"},{"internalType":"contract IERC20","name":"asset_","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"uint256","name":"errorId_","type":"uint256"}],"name":"FluidLendingError","type":"error"},{"inputs":[{"internalType":"uint256","name":"errorId_","type":"uint256"}],"name":"FluidLiquidityCalcsError","type":"error"},{"inputs":[{"internalType":"uint256","name":"errorId_","type":"uint256"}],"name":"FluidSafeTransferError","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"sender","type":"address"},{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":false,"internalType":"uint256","name":"assets","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"shares","type":"uint256"}],"name":"Deposit","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"assets","type":"uint256"}],"name":"LogRebalance","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"token","type":"address"}],"name":"LogRescueFunds","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokenExchangePrice","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"liquidityExchangePrice","type":"uint256"}],"name":"LogUpdateRates","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"rebalancer","type":"address"}],"name":"LogUpdateRebalancer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"contract IFluidLendingRewardsRateModel","name":"rewardsRateModel","type":"address"}],"name":"LogUpdateRewards","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"sender","type":"address"},{"indexed":true,"internalType":"address","name":"receiver","type":"address"},{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":false,"internalType":"uint256","name":"assets","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"shares","type":"uint256"}],"name":"Withdraw","type":"event"},{"inputs":[],"name":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"asset","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"shares_","type":"uint256"}],"name":"convertToAssets","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"assets_","type":"uint256"}],"name":"convertToShares","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"assets_","type":"uint256"},{"internalType":"address","name":"receiver_","type":"address"}],"name":"deposit","outputs":[{"internalType":"uint256","name":"shares_","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"assets_","type":"uint256"},{"internalType":"address","name":"receiver_","type":"address"},{"internalType":"uint256","name":"minAmountOut_","type":"uint256"}],"name":"deposit","outputs":[{"internalType":"uint256","name":"shares_","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"assets_","type":"uint256"},{"internalType":"address","name":"receiver_","type":"address"},{"internalType":"uint256","name":"minAmountOut_","type":"uint256"},{"components":[{"components":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint160","name":"amount","type":"uint160"},{"internalType":"uint48","name":"expiration","type":"uint48"},{"internalType":"uint48","name":"nonce","type":"uint48"}],"internalType":"struct IAllowanceTransfer.PermitDetails","name":"details","type":"tuple"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"sigDeadline","type":"uint256"}],"internalType":"struct IAllowanceTransfer.PermitSingle","name":"permit_","type":"tuple"},{"internalType":"bytes","name":"signature_","type":"bytes"}],"name":"depositWithSignature","outputs":[{"internalType":"uint256","name":"shares_","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"assets_","type":"uint256"},{"internalType":"address","name":"receiver_","type":"address"},{"internalType":"uint256","name":"minAmountOut_","type":"uint256"},{"internalType":"uint256","name":"deadline_","type":"uint256"},{"internalType":"bytes","name":"signature_","type":"bytes"}],"name":"depositWithSignatureEIP2612","outputs":[{"internalType":"uint256","name":"shares_","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getData","outputs":[{"internalType":"contract IFluidLiquidity","name":"liquidity_","type":"address"},{"internalType":"contract IFluidLendingFactory","name":"lendingFactory_","type":"address"},{"internalType":"contract IFluidLendingRewardsRateModel","name":"lendingRewardsRateModel_","type":"address"},{"internalType":"contract IAllowanceTransfer","name":"permit2_","type":"address"},{"internalType":"address","name":"rebalancer_","type":"address"},{"internalType":"bool","name":"rewardsActive_","type":"bool"},{"internalType":"uint256","name":"liquidityBalance_","type":"uint256"},{"internalType":"uint256","name":"liquidityExchangePrice_","type":"uint256"},{"internalType":"uint256","name":"tokenExchangePrice_","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token_","type":"address"},{"internalType":"uint256","name":"amount_","type":"uint256"},{"internalType":"bytes","name":"data_","type":"bytes"}],"name":"liquidityCallback","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"maxDeposit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"maxMint","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner_","type":"address"}],"name":"maxRedeem","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner_","type":"address"}],"name":"maxWithdraw","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minDeposit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"shares_","type":"uint256"},{"internalType":"address","name":"receiver_","type":"address"},{"internalType":"uint256","name":"maxAssets_","type":"uint256"}],"name":"mint","outputs":[{"internalType":"uint256","name":"assets_","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"shares_","type":"uint256"},{"internalType":"address","name":"receiver_","type":"address"}],"name":"mint","outputs":[{"internalType":"uint256","name":"assets_","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"shares_","type":"uint256"},{"internalType":"address","name":"receiver_","type":"address"},{"internalType":"uint256","name":"maxAssets_","type":"uint256"},{"components":[{"components":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint160","name":"amount","type":"uint160"},{"internalType":"uint48","name":"expiration","type":"uint48"},{"internalType":"uint48","name":"nonce","type":"uint48"}],"internalType":"struct IAllowanceTransfer.PermitDetails","name":"details","type":"tuple"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"sigDeadline","type":"uint256"}],"internalType":"struct IAllowanceTransfer.PermitSingle","name":"permit_","type":"tuple"},{"internalType":"bytes","name":"signature_","type":"bytes"}],"name":"mintWithSignature","outputs":[{"internalType":"uint256","name":"assets_","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"shares_","type":"uint256"},{"internalType":"address","name":"receiver_","type":"address"},{"internalType":"uint256","name":"maxAssets_","type":"uint256"},{"internalType":"uint256","name":"deadline_","type":"uint256"},{"internalType":"bytes","name":"signature_","type":"bytes"}],"name":"mintWithSignatureEIP2612","outputs":[{"internalType":"uint256","name":"assets_","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"permit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"assets_","type":"uint256"}],"name":"previewDeposit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"shares_","type":"uint256"}],"name":"previewMint","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"shares_","type":"uint256"}],"name":"previewRedeem","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"assets_","type":"uint256"}],"name":"previewWithdraw","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rebalance","outputs":[{"internalType":"uint256","name":"assets_","type":"uint256"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"shares_","type":"uint256"},{"internalType":"address","name":"receiver_","type":"address"},{"internalType":"address","name":"owner_","type":"address"},{"internalType":"uint256","name":"minAmountOut_","type":"uint256"}],"name":"redeem","outputs":[{"internalType":"uint256","name":"assets_","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"shares_","type":"uint256"},{"internalType":"address","name":"receiver_","type":"address"},{"internalType":"address","name":"owner_","type":"address"}],"name":"redeem","outputs":[{"internalType":"uint256","name":"assets_","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"shares_","type":"uint256"},{"internalType":"address","name":"receiver_","type":"address"},{"internalType":"address","name":"owner_","type":"address"},{"internalType":"uint256","name":"minAmountOut_","type":"uint256"},{"internalType":"uint256","name":"deadline_","type":"uint256"},{"internalType":"bytes","name":"signature_","type":"bytes"}],"name":"redeemWithSignature","outputs":[{"internalType":"uint256","name":"assets_","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token_","type":"address"}],"name":"rescueFunds","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalAssets","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"updateRates","outputs":[{"internalType":"uint256","name":"tokenExchangePrice_","type":"uint256"},{"internalType":"uint256","name":"liquidityExchangePrice_","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newRebalancer_","type":"address"}],"name":"updateRebalancer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IFluidLendingRewardsRateModel","name":"rewardsRateModel_","type":"address"}],"name":"updateRewards","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"assets_","type":"uint256"},{"internalType":"address","name":"receiver_","type":"address"},{"internalType":"address","name":"owner_","type":"address"},{"internalType":"uint256","name":"maxSharesBurn_","type":"uint256"}],"name":"withdraw","outputs":[{"internalType":"uint256","name":"shares_","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"assets_","type":"uint256"},{"internalType":"address","name":"receiver_","type":"address"},{"internalType":"address","name":"owner_","type":"address"}],"name":"withdraw","outputs":[{"internalType":"uint256","name":"shares_","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"sharesToPermit_","type":"uint256"},{"internalType":"uint256","name":"assets_","type":"uint256"},{"internalType":"address","name":"receiver_","type":"address"},{"internalType":"address","name":"owner_","type":"address"},{"internalType":"uint256","name":"maxSharesBurn_","type":"uint256"},{"internalType":"uint256","name":"deadline_","type":"uint256"},{"internalType":"bytes","name":"signature_","type":"bytes"}],"name":"withdrawWithSignature","outputs":[{"internalType":"uint256","name":"shares_","type":"uint256"}],"stateMutability":"nonpayable","type":"function"}],
1196
+ "abi": [{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"caller","type":"address"},{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":false,"internalType":"uint256","name":"assets","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"shares","type":"uint256"}],"name":"Deposit","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"caller","type":"address"},{"indexed":true,"internalType":"address","name":"receiver","type":"address"},{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":false,"internalType":"uint256","name":"assets","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"shares","type":"uint256"}],"name":"Withdraw","type":"event"},{"inputs":[],"name":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"asset","outputs":[{"internalType":"contract ERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"shares","type":"uint256"}],"name":"convertToAssets","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"assets","type":"uint256"}],"name":"convertToShares","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"assets","type":"uint256"},{"internalType":"address","name":"receiver","type":"address"}],"name":"deposit","outputs":[{"internalType":"uint256","name":"shares","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"maxDeposit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"maxMint","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"maxRedeem","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"maxWithdraw","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"shares","type":"uint256"},{"internalType":"address","name":"receiver","type":"address"}],"name":"mint","outputs":[{"internalType":"uint256","name":"assets","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"permit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"assets","type":"uint256"}],"name":"previewDeposit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"shares","type":"uint256"}],"name":"previewMint","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"shares","type":"uint256"}],"name":"previewRedeem","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"assets","type":"uint256"}],"name":"previewWithdraw","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"shares","type":"uint256"},{"internalType":"address","name":"receiver","type":"address"},{"internalType":"address","name":"owner","type":"address"}],"name":"redeem","outputs":[{"internalType":"uint256","name":"assets","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalAssets","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"assets","type":"uint256"},{"internalType":"address","name":"receiver","type":"address"},{"internalType":"address","name":"owner","type":"address"}],"name":"withdraw","outputs":[{"internalType":"uint256","name":"shares","type":"uint256"}],"stateMutability":"nonpayable","type":"function"}],
1197
1197
  "networks": {},
1198
1198
  } as const;
1199
1199
  export const AaveUmbrellaView = {
@@ -1322,4 +1322,4 @@ export const SkySavings = {
1322
1322
  } as const;
1323
1323
  export const YearnV3Vault = {
1324
1324
  "abi": [{"stateMutability":"view","type":"function","name":"balanceOf","inputs":[{"name":"addr","type":"address"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"totalAssets","inputs":[],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"totalDebt","inputs":[],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256"}]}]
1325
- } as const;
1325
+ } as const;
package/src/contracts.ts CHANGED
@@ -103,6 +103,15 @@ export const getErc20ContractViem = (client: Client, address: HexString) => {
103
103
  });
104
104
  };
105
105
 
106
+ export const getErc4626ContractViem = (client: Client, address: HexString) => {
107
+ const abi = getConfigContractAbi('Erc4626') as typeof configRaw['Erc4626']['abi'];
108
+ return getContract({
109
+ address,
110
+ abi,
111
+ client,
112
+ });
113
+ };
114
+
106
115
  export const getYearnV3VaultContractViem = (client: Client, address: HexString) => {
107
116
  const abi = getConfigContractAbi('YearnV3Vault') as typeof configRaw['YearnV3Vault']['abi'];
108
117
  return getContract({
@@ -169,4 +178,4 @@ export const YearnViewContractViem = createViemContractFromConfigFunc('YearnView
169
178
 
170
179
  export const MakerDsrContractViem = createViemContractFromConfigFunc('MakerDsr');
171
180
 
172
- export const SkySavingsContractView = createViemContractFromConfigFunc('SkySavings');
181
+ export const SkySavingsContractView = createViemContractFromConfigFunc('SkySavings');
@@ -4,6 +4,7 @@ import {
4
4
  SavingsData,
5
5
  SkySavingsType,
6
6
  SparkSavingsVaultType,
7
+ SummerVaultType,
7
8
  YearnV3VaultType,
8
9
  YearnVaultType,
9
10
  } from '../types';
@@ -13,6 +14,7 @@ import * as yearnVaults from './yearnVaults';
13
14
  import * as makerDsr from './makerDsr';
14
15
  import * as skyOptions from './skyOptions';
15
16
  import * as sparkSavingsVaults from './sparkSavingsVaults';
17
+ import * as summerVaults from './summerVaults';
16
18
  import * as yearnV3Vaults from './yearnV3Vaults';
17
19
 
18
20
  export {
@@ -21,6 +23,7 @@ export {
21
23
  makerDsr,
22
24
  skyOptions,
23
25
  sparkSavingsVaults,
26
+ summerVaults,
24
27
  yearnV3Vaults,
25
28
  };
26
29
 
@@ -33,62 +36,75 @@ export const getSavingsData = async (
33
36
  const yearnVaultsList = Object.keys(yearnVaults.yearnVaultsOptions.YEARN_VAULTS) as YearnVaultType[];
34
37
  const sparkSavingsVaultsList = Object.keys(sparkSavingsVaults.sparkSavingsVaultsOptions.SPARK_SAVINGS_VAULTS) as SparkSavingsVaultType[];
35
38
  const yearnV3VaultsList = Object.keys(yearnV3Vaults.yearnV3VaultsOptions.YEARN_V3_VAULTS) as YearnV3VaultType[];
39
+ const summerVaultsList = (Object.keys(summerVaults.summerVaultsOptions.SUMMER_VAULTS) as SummerVaultType[])
40
+ .filter((key) => summerVaults.summerVaultsOptions.getSummerVault(key).network === network);
36
41
 
37
42
  const savingsData: SavingsData = {};
38
43
 
39
44
  await Promise.all([
40
- ...morphoVaultsList.map(async (vaultKey) => {
45
+ ...(network === NetworkNumber.Eth ? [
46
+ ...morphoVaultsList.map(async (vaultKey) => {
47
+ try {
48
+ const vault = morphoVaults.morphoVaultsOptions.getMorphoVault(vaultKey);
49
+ const data = await morphoVaults.getMorphoVaultData(provider, network, vault, accounts);
50
+ savingsData[vaultKey] = data;
51
+ } catch (err) {
52
+ console.error(`[getSavingsData] Error fetching morpho vault ${vaultKey}:`, err);
53
+ }
54
+ }),
55
+ ...yearnVaultsList.map(async (vaultKey) => {
56
+ try {
57
+ const vault = yearnVaults.yearnVaultsOptions.getYearnVault(vaultKey);
58
+ const data = await yearnVaults.getYearnVaultData(provider, network, vault, accounts);
59
+ savingsData[vaultKey] = data;
60
+ } catch (err) {
61
+ console.error(`[getSavingsData] Error fetching yearn vault ${vaultKey}:`, err);
62
+ }
63
+ }),
64
+ ...sparkSavingsVaultsList.map(async (vaultKey) => {
65
+ try {
66
+ const vault = sparkSavingsVaults.sparkSavingsVaultsOptions.getSparkSavingsVault(vaultKey);
67
+ const data = await sparkSavingsVaults.getSparkSavingsVaultData(provider, network, vault, accounts);
68
+ savingsData[vaultKey] = data;
69
+ } catch (err) {
70
+ console.error(`[getSavingsData] Error fetching spark savings vault ${vaultKey}:`, err);
71
+ }
72
+ }),
73
+ ...yearnV3VaultsList.map(async (vaultKey) => {
74
+ try {
75
+ const vault = yearnV3Vaults.yearnV3VaultsOptions.getYearnV3Vault(vaultKey);
76
+ const data = await yearnV3Vaults.getYearnV3VaultData(provider, network, vault, accounts);
77
+ savingsData[vaultKey] = data;
78
+ } catch (err) {
79
+ console.error(`[getSavingsData] Error fetching yearn v3 vault ${vaultKey}:`, err);
80
+ }
81
+ }),
82
+ (async () => {
83
+ try {
84
+ const data = await makerDsr.getMakerDsrData(provider, network, accounts);
85
+ savingsData[MakerDsrType.MakerDsrVault] = data;
86
+ } catch (err) {
87
+ console.error('[getSavingsData] Error fetching maker DSR data:', err);
88
+ }
89
+ })(),
90
+ (async () => {
91
+ try {
92
+ const data = await skyOptions.getSkyOptionData(provider, network, accounts);
93
+ savingsData[SkySavingsType.SkySavings] = data;
94
+ } catch (err) {
95
+ console.error('[getSavingsData] Error fetching Sky savings data:', err);
96
+ }
97
+ })(),
98
+ ] : []),
99
+ ...summerVaultsList.map(async (vaultKey) => {
41
100
  try {
42
- const vault = morphoVaults.morphoVaultsOptions.getMorphoVault(vaultKey);
43
- const data = await morphoVaults.getMorphoVaultData(provider, network, vault, accounts);
101
+ const vault = summerVaults.summerVaultsOptions.getSummerVault(vaultKey);
102
+ const data = await summerVaults.getSummerVaultData(provider, network, vault, accounts);
44
103
  savingsData[vaultKey] = data;
45
104
  } catch (err) {
46
- console.error(`[getSavingsData] Error fetching morpho vault ${vaultKey}:`, err);
105
+ console.error(`[getSavingsData] Error fetching summer vault ${vaultKey}:`, err);
47
106
  }
48
107
  }),
49
- ...yearnVaultsList.map(async (vaultKey) => {
50
- try {
51
- const vault = yearnVaults.yearnVaultsOptions.getYearnVault(vaultKey);
52
- const data = await yearnVaults.getYearnVaultData(provider, network, vault, accounts);
53
- savingsData[vaultKey] = data;
54
- } catch (err) {
55
- console.error(`[getSavingsData] Error fetching yearn vault ${vaultKey}:`, err);
56
- }
57
- }),
58
- ...sparkSavingsVaultsList.map(async (vaultKey) => {
59
- try {
60
- const vault = sparkSavingsVaults.sparkSavingsVaultsOptions.getSparkSavingsVault(vaultKey);
61
- const data = await sparkSavingsVaults.getSparkSavingsVaultData(provider, network, vault, accounts);
62
- savingsData[vaultKey] = data;
63
- } catch (err) {
64
- console.error(`[getSavingsData] Error fetching yearn vault ${vaultKey}:`, err);
65
- }
66
- }),
67
- ...yearnV3VaultsList.map(async (vaultKey) => {
68
- try {
69
- const vault = yearnV3Vaults.yearnV3VaultsOptions.getYearnV3Vault(vaultKey);
70
- const data = await yearnV3Vaults.getYearnV3VaultData(provider, network, vault, accounts);
71
- savingsData[vaultKey] = data;
72
- } catch (err) {
73
- console.error(`[getSavingsData] Error fetching yearn vault ${vaultKey}:`, err);
74
- }
75
- }),
76
- (async () => {
77
- try {
78
- const data = await makerDsr.getMakerDsrData(provider, network, accounts);
79
- savingsData[MakerDsrType.MakerDsrVault] = data;
80
- } catch (err) {
81
- console.error('[getSavingsData] Error fetching maker DSR data:', err);
82
- }
83
- })(),
84
- (async () => {
85
- try {
86
- const data = await skyOptions.getSkyOptionData(provider, network, accounts);
87
- savingsData[SkySavingsType.SkySavings] = data;
88
- } catch (err) {
89
- console.error('[getSavingsData] Error fetching Sky savings data:', err);
90
- }
91
- })(),
92
108
  ]);
93
109
 
94
110
  return savingsData;
@@ -0,0 +1,56 @@
1
+ import { Client } from 'viem';
2
+ import { assetAmountInEth } from '@defisaver/tokens';
3
+ import { getViemProvider } from '../../services/viem';
4
+ import { SavingsVaultData, SummerVault } from '../../types';
5
+ import { EthAddress, EthereumProvider, NetworkNumber } from '../../types/common';
6
+ import * as summerVaultsOptions from './options';
7
+ import { getErc4626ContractViem } from '../../contracts';
8
+
9
+ export {
10
+ summerVaultsOptions,
11
+ };
12
+
13
+ export const _getSummerVaultData = async (provider: Client, network: NetworkNumber, summerVault: SummerVault, accounts: EthAddress[]): Promise<SavingsVaultData> => {
14
+ const vaultContract = getErc4626ContractViem(provider, summerVault.address);
15
+
16
+ const shares: Record<EthAddress, bigint> = {};
17
+
18
+ const [totalAssets, totalSupply] = await Promise.all([
19
+ vaultContract.read.totalAssets(),
20
+ vaultContract.read.totalSupply(),
21
+ ...accounts.map(async (account) => {
22
+ const share = await vaultContract.read.balanceOf([account]);
23
+ shares[account.toLowerCase() as EthAddress] = share;
24
+ }),
25
+ ]);
26
+
27
+ const poolSize = assetAmountInEth(totalAssets.toString(), summerVault.asset);
28
+
29
+ const supplied: Record<EthAddress, string> = {};
30
+ await Promise.all(accounts.map(async (account) => {
31
+ const normalizedAccount = account.toLowerCase() as EthAddress;
32
+ const share = shares[normalizedAccount] || BigInt(0);
33
+ const assets = share === BigInt(0)
34
+ ? BigInt(0)
35
+ : await vaultContract.read.convertToAssets([share]);
36
+ supplied[normalizedAccount] = assetAmountInEth(assets.toString(), summerVault.asset);
37
+ }));
38
+
39
+ return {
40
+ poolSize,
41
+ liquidity: poolSize,
42
+ supplied,
43
+ asset: summerVault.asset,
44
+ optionType: summerVault.type,
45
+ };
46
+ };
47
+
48
+ export async function getSummerVaultData(provider: EthereumProvider, network: NetworkNumber, summerVault: SummerVault, accounts: EthAddress[]): Promise<SavingsVaultData> {
49
+ return _getSummerVaultData(getViemProvider(provider, network, {
50
+ batch: {
51
+ multicall: {
52
+ batchSize: 2500000,
53
+ },
54
+ },
55
+ }), network, summerVault, accounts);
56
+ }
@@ -0,0 +1,117 @@
1
+ import { NetworkNumber } from '../../types/common';
2
+ import { SummerVault, SummerVaultType } from '../../types';
3
+
4
+ export const SUMMER_VAULT_USDC_MAINNET_LR: SummerVault = {
5
+ type: SummerVaultType.SummerVaultUSDCMainnetLR,
6
+ name: 'Lower Risk USDC',
7
+ address: '0x98C49e13bf99D7CAd8069faa2A370933EC9EcF17',
8
+ asset: 'USDC',
9
+ network: NetworkNumber.Eth,
10
+ deploymentBlock: 21795049,
11
+ isLegacy: false,
12
+ };
13
+
14
+ export const SUMMER_VAULT_USDC_MAINNET_HR: SummerVault = {
15
+ type: SummerVaultType.SummerVaultUSDCMainnetHR,
16
+ name: 'Higher Risk USDC',
17
+ address: '0xe9cda459bed6dcfb8ac61cd8ce08e2d52370cb06',
18
+ asset: 'USDC',
19
+ network: NetworkNumber.Eth,
20
+ deploymentBlock: 22488041,
21
+ isLegacy: false,
22
+ };
23
+
24
+ export const SUMMER_VAULT_USDT_MAINNET_LR: SummerVault = {
25
+ type: SummerVaultType.SummerVaultUSDTMainnetLR,
26
+ name: 'Lower Risk USDT',
27
+ address: '0x17ee2d03e88b55e762c66c76ec99c3a28a54ad8d',
28
+ asset: 'USDT',
29
+ network: NetworkNumber.Eth,
30
+ deploymentBlock: 21795276,
31
+ isLegacy: false,
32
+ };
33
+
34
+ export const SUMMER_VAULT_ETH_MAINNET_LR: SummerVault = {
35
+ type: SummerVaultType.SummerVaultETHMainnetLR,
36
+ name: 'Lower Risk ETH',
37
+ address: '0x67e536797570b3d8919df052484273815a0ab506',
38
+ asset: 'WETH',
39
+ network: NetworkNumber.Eth,
40
+ deploymentBlock: 21795390,
41
+ isLegacy: false,
42
+ };
43
+
44
+ export const SUMMER_VAULT_ETH_MAINNET_HR: SummerVault = {
45
+ type: SummerVaultType.SummerVaultETHMainnetHR,
46
+ name: 'Higher Risk ETH',
47
+ address: '0x2e6abcbcced9af05bc3b8a4908e0c98c29a88e10',
48
+ asset: 'WETH',
49
+ network: NetworkNumber.Eth,
50
+ deploymentBlock: 22291252,
51
+ isLegacy: false,
52
+ };
53
+
54
+ export const SUMMER_VAULT_USDC_ARBITRUM_LR: SummerVault = {
55
+ type: SummerVaultType.SummerVaultUSDCArbitrumLR,
56
+ name: 'Lower Risk USDC',
57
+ address: '0x71d77c39db0eb5d086611a2e950198e3077cf58a',
58
+ asset: 'USDC',
59
+ network: NetworkNumber.Arb,
60
+ deploymentBlock: 404339289,
61
+ isLegacy: false,
62
+ };
63
+
64
+ export const SUMMER_VAULT_USDT_ARBITRUM_LR: SummerVault = {
65
+ type: SummerVaultType.SummerVaultUSDTArbitrumLR,
66
+ name: 'Lower Risk USDT',
67
+ address: '0x98c49e13bf99d7cad8069faa2a370933ec9ecf17',
68
+ asset: 'USDT',
69
+ network: NetworkNumber.Arb,
70
+ deploymentBlock: 303594065,
71
+ isLegacy: false,
72
+ };
73
+
74
+ export const SUMMER_VAULT_USDC_BASE_LR: SummerVault = {
75
+ type: SummerVaultType.SummerVaultUSDCBaseLR,
76
+ name: 'Lower Risk USDC',
77
+ address: '0x98C49e13bf99D7CAd8069faa2A370933EC9EcF17',
78
+ asset: 'USDC',
79
+ network: NetworkNumber.Base,
80
+ deploymentBlock: 303594065,
81
+ isLegacy: false,
82
+ };
83
+
84
+ export const SUMMER_VAULT_EURC_BASE_LR: SummerVault = {
85
+ type: SummerVaultType.SummerVaultEURCBaseLR,
86
+ name: 'Lower Risk EURC',
87
+ address: '0x64db8f51f1bf7064bb5a361a7265f602d348e0f0',
88
+ asset: 'EURC',
89
+ network: NetworkNumber.Base,
90
+ deploymentBlock: 27544064,
91
+ isLegacy: false,
92
+ };
93
+
94
+ export const SUMMER_VAULT_ETH_BASE_LR: SummerVault = {
95
+ type: SummerVaultType.SummerVaultETHBaseLR,
96
+ name: 'Lower Risk ETH',
97
+ address: '0x2bb9ad69feba5547b7cd57aafe8457d40bf834af',
98
+ asset: 'WETH',
99
+ network: NetworkNumber.Base,
100
+ deploymentBlock: 29066887,
101
+ isLegacy: false,
102
+ };
103
+
104
+ export const SUMMER_VAULTS: Record<SummerVaultType, SummerVault> = {
105
+ [SummerVaultType.SummerVaultUSDCMainnetLR]: SUMMER_VAULT_USDC_MAINNET_LR,
106
+ [SummerVaultType.SummerVaultUSDCMainnetHR]: SUMMER_VAULT_USDC_MAINNET_HR,
107
+ [SummerVaultType.SummerVaultUSDTMainnetLR]: SUMMER_VAULT_USDT_MAINNET_LR,
108
+ [SummerVaultType.SummerVaultETHMainnetLR]: SUMMER_VAULT_ETH_MAINNET_LR,
109
+ [SummerVaultType.SummerVaultETHMainnetHR]: SUMMER_VAULT_ETH_MAINNET_HR,
110
+ [SummerVaultType.SummerVaultUSDCArbitrumLR]: SUMMER_VAULT_USDC_ARBITRUM_LR,
111
+ [SummerVaultType.SummerVaultUSDTArbitrumLR]: SUMMER_VAULT_USDT_ARBITRUM_LR,
112
+ [SummerVaultType.SummerVaultUSDCBaseLR]: SUMMER_VAULT_USDC_BASE_LR,
113
+ [SummerVaultType.SummerVaultEURCBaseLR]: SUMMER_VAULT_EURC_BASE_LR,
114
+ [SummerVaultType.SummerVaultETHBaseLR]: SUMMER_VAULT_ETH_BASE_LR,
115
+ };
116
+
117
+ export const getSummerVault = (type: SummerVaultType): SummerVault => SUMMER_VAULTS[type];
@@ -8,7 +8,7 @@ export enum IncentiveEligibilityId {
8
8
  AaveV3ArbitrumEthSupply = '0x5d16261c6715a653248269861bbacf68a9774cde',
9
9
  AaveV3ArbitrumETHLSBorrow = '0x0c84331e39d6658Cd6e6b9ba04736cC4c4734351',
10
10
  AaveV3EthenaLiquidLeveragePlasma = '0xeefac321069fbecc9d6b2aed2948f6d5503d8633BORROW_BL',
11
- AaveV3EthenaLiquidLeveragePlasmaGHO = 'replace_when_known',
11
+ AaveV3EthenaLiquidLeveragePlasmaGHO = '2b2f6fefcd3df634',
12
12
  }
13
13
 
14
14
  export enum LeverageType {
@@ -3,6 +3,7 @@ import { MakerDsrType } from './makerDsr';
3
3
  import { MorphoVaultType } from './morphoVaults';
4
4
  import { SkySavingsType } from './sky';
5
5
  import { SparkSavingsVaultType } from './sparkSavingsVaults';
6
+ import { SummerVaultType } from './summerVaults';
6
7
  import { YearnV3VaultType } from './yearnV3Vaults';
7
8
  import { YearnVaultType } from './yearnVaults';
8
9
 
@@ -11,6 +12,7 @@ export * from './yearnVaults';
11
12
  export * from './makerDsr';
12
13
  export * from './sky';
13
14
  export * from './sparkSavingsVaults';
15
+ export * from './summerVaults';
14
16
  export * from './yearnV3Vaults';
15
17
 
16
18
  export interface SavingsVaultData {
@@ -21,4 +23,4 @@ export interface SavingsVaultData {
21
23
  optionType: string,
22
24
  }
23
25
 
24
- export type SavingsData = Partial<Record<MorphoVaultType | YearnVaultType | MakerDsrType | SkySavingsType | SparkSavingsVaultType | YearnV3VaultType, SavingsVaultData>>;
26
+ export type SavingsData = Partial<Record<MorphoVaultType | YearnVaultType | MakerDsrType | SkySavingsType | SparkSavingsVaultType | SummerVaultType | YearnV3VaultType, SavingsVaultData>>;
@@ -0,0 +1,24 @@
1
+ import { EthAddress, NetworkNumber } from '../common';
2
+
3
+ export enum SummerVaultType {
4
+ SummerVaultUSDCMainnetLR = 'summer_vault_usdc_mainnet_lr',
5
+ SummerVaultUSDCMainnetHR = 'summer_vault_usdc_mainnet_hr',
6
+ SummerVaultUSDTMainnetLR = 'summer_vault_usdt_mainnet_lr',
7
+ SummerVaultETHMainnetLR = 'summer_vault_eth_mainnet_lr',
8
+ SummerVaultETHMainnetHR = 'summer_vault_eth_mainnet_hr',
9
+ SummerVaultUSDCArbitrumLR = 'summer_vault_usdc_arbitrum_lr',
10
+ SummerVaultUSDTArbitrumLR = 'summer_vault_usdt_arbitrum_lr',
11
+ SummerVaultUSDCBaseLR = 'summer_vault_usdc_base_lr',
12
+ SummerVaultEURCBaseLR = 'summer_vault_eurc_base_lr',
13
+ SummerVaultETHBaseLR = 'summer_vault_eth_base_lr',
14
+ }
15
+
16
+ export interface SummerVault {
17
+ type: SummerVaultType;
18
+ name: string;
19
+ address: EthAddress;
20
+ asset: string;
21
+ network: NetworkNumber;
22
+ deploymentBlock: number;
23
+ isLegacy: boolean;
24
+ }