@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.
- package/cjs/config/contracts.d.ts +53 -656
- package/cjs/config/contracts.js +1 -1
- package/cjs/contracts.d.ts +38412 -0
- package/cjs/contracts.js +11 -2
- package/cjs/savings/index.d.ts +4 -3
- package/cjs/savings/index.js +70 -53
- package/cjs/savings/summerVaults/index.d.ts +7 -0
- package/cjs/savings/summerVaults/index.js +92 -0
- package/cjs/savings/summerVaults/options.d.ts +13 -0
- package/cjs/savings/summerVaults/options.js +109 -0
- package/cjs/services/viem.d.ts +11 -11
- package/cjs/types/common.d.ts +1 -1
- package/cjs/types/common.js +1 -1
- package/cjs/types/savings/index.d.ts +3 -1
- package/cjs/types/savings/index.js +1 -0
- package/cjs/types/savings/summerVaults.d.ts +22 -0
- package/cjs/types/savings/summerVaults.js +16 -0
- package/esm/config/contracts.d.ts +53 -656
- package/esm/config/contracts.js +1 -1
- package/esm/contracts.d.ts +38412 -0
- package/esm/contracts.js +8 -0
- package/esm/savings/index.d.ts +4 -3
- package/esm/savings/index.js +69 -53
- package/esm/savings/summerVaults/index.d.ts +7 -0
- package/esm/savings/summerVaults/index.js +54 -0
- package/esm/savings/summerVaults/options.d.ts +13 -0
- package/esm/savings/summerVaults/options.js +105 -0
- package/esm/services/viem.d.ts +11 -11
- package/esm/types/common.d.ts +1 -1
- package/esm/types/common.js +1 -1
- package/esm/types/savings/index.d.ts +3 -1
- package/esm/types/savings/index.js +1 -0
- package/esm/types/savings/summerVaults.d.ts +22 -0
- package/esm/types/savings/summerVaults.js +13 -0
- package/package.json +1 -1
- package/src/config/contracts.ts +3 -3
- package/src/contracts.ts +10 -1
- package/src/savings/index.ts +63 -47
- package/src/savings/summerVaults/index.ts +56 -0
- package/src/savings/summerVaults/options.ts +117 -0
- package/src/types/common.ts +1 -1
- package/src/types/savings/index.ts +3 -1
- package/src/types/savings/summerVaults.ts +24 -0
package/src/config/contracts.ts
CHANGED
|
@@ -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');
|
package/src/savings/index.ts
CHANGED
|
@@ -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
|
-
...
|
|
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 =
|
|
43
|
-
const data = await
|
|
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
|
|
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];
|
package/src/types/common.ts
CHANGED
|
@@ -8,7 +8,7 @@ export enum IncentiveEligibilityId {
|
|
|
8
8
|
AaveV3ArbitrumEthSupply = '0x5d16261c6715a653248269861bbacf68a9774cde',
|
|
9
9
|
AaveV3ArbitrumETHLSBorrow = '0x0c84331e39d6658Cd6e6b9ba04736cC4c4734351',
|
|
10
10
|
AaveV3EthenaLiquidLeveragePlasma = '0xeefac321069fbecc9d6b2aed2948f6d5503d8633BORROW_BL',
|
|
11
|
-
AaveV3EthenaLiquidLeveragePlasmaGHO = '
|
|
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
|
+
}
|