Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Lobster Atlantic WETH #1757

Draft
wants to merge 55 commits into
base: staging
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
55 commits
Select commit Hold shift + click to select a range
8fce9e5
lobster icon
henrio123 Oct 29, 2024
0721dfa
cellarDataMap
henrio123 Oct 29, 2024
2aa22ba
lobster
henrio123 Oct 29, 2024
4dc5c2e
lobster
henrio123 Oct 29, 2024
58bfade
lobster
henrio123 Oct 29, 2024
cb0855f
Lobster strategy data
otsalex Oct 29, 2024
54bad78
Fetching lobster strategy tvl, sharePrice
otsalex Oct 29, 2024
8327a89
Merge remote-tracking branch 'origin/lobster-vault' into lobster-vault
otsalex Oct 29, 2024
22fe854
Solve some merge errors
otsalex Oct 29, 2024
f060d4d
Make cellar router optional
otsalex Oct 30, 2024
d8c7f02
Fetching APY for Atlantic WETH
otsalex Oct 30, 2024
6d8063c
Refactor addresses out
otsalex Oct 30, 2024
6b2e873
Users assets for Atlantic WETH
otsalex Oct 31, 2024
33bdd06
Withdrawal for Atlantic WETH
otsalex Oct 31, 2024
74178ae
Remove unnecessary initializations
otsalex Nov 1, 2024
9ae79c4
Depositing Atlantic WETH
otsalex Nov 1, 2024
57a1e14
Disable failing contract calls for Atlantic WETH
otsalex Nov 4, 2024
aec498b
Add 1% slippage for deposits
otsalex Nov 4, 2024
8930ec3
Save Atlantic WETH deposit data to db
otsalex Nov 4, 2024
7287dc0
logos
henrio123 Nov 6, 2024
9a3940f
APY
henrio123 Nov 6, 2024
8361f87
content
henrio123 Nov 6, 2024
95d277d
launch date
henrio123 Nov 6, 2024
0761112
Importing atlWETH
otsalex Nov 6, 2024
7187424
Merge branch 'lobster-vault' of https://github.com/PeggyJV/sommelier-…
otsalex Nov 6, 2024
55e775c
24h wait time
henrio123 Nov 6, 2024
ee7495f
Add WBTC for Arbitrum
otsalex Nov 6, 2024
ea18e5f
Merge branch 'lobster-vault' of https://github.com/PeggyJV/sommelier-…
otsalex Nov 6, 2024
3bf0eff
lobster logos
henrio123 Nov 6, 2024
50956b8
badge
henrio123 Nov 7, 2024
3203d11
name
henrio123 Nov 7, 2024
c85f389
www.lobster-protocol.com
henrio123 Nov 7, 2024
c84c09f
FAQ
henrio123 Nov 7, 2024
be791ed
lobster-protocol.com
henrio123 Nov 7, 2024
ebc8f49
atlantic-weth
henrio123 Nov 7, 2024
90452ba
revert
henrio123 Nov 7, 2024
2057549
revert
henrio123 Nov 7, 2024
2505876
Atlantic WETH
henrio123 Nov 7, 2024
8344fae
Atlantic WETH
henrio123 Nov 7, 2024
9bd35fd
\n issue
henrio123 Nov 7, 2024
75d9ba9
url
henrio123 Nov 8, 2024
b2d57c3
Lobster Points
henrio123 Nov 8, 2024
79d7df5
Lobster Points
henrio123 Nov 8, 2024
badd147
Native ETH deposit for Atlantic WETH
otsalex Nov 8, 2024
3af6841
Merge branch 'lobster-vault' of https://github.com/PeggyJV/sommelier-…
otsalex Nov 8, 2024
5cd344a
Fix fetching lobster points
otsalex Nov 8, 2024
42c7a3c
Live apy for Atlantic WETH
otsalex Nov 8, 2024
9365084
APY labels
henrio123 Nov 8, 2024
c73a455
src/utils/fetchLobsterData.ts
henrio123 Nov 8, 2024
e05e1e8
eth logo
henrio123 Nov 8, 2024
6a36ce1
Disable apy chart for Atlantic WETH
otsalex Nov 11, 2024
feb6314
Atlantic ETH
henrio123 Nov 13, 2024
4fe8d1f
url
henrio123 Nov 13, 2024
09cbd25
lobster points tooltip
henrio123 Nov 13, 2024
3aff741
Set ETH as selected token
otsalex Nov 13, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added public/assets/icons/lobster-atlantic-weth.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/assets/icons/neth.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/assets/images/lobster.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions src/abi/dhedge.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
[{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"pool","type":"address"},{"indexed":false,"internalType":"address","name":"depositor","type":"address"},{"indexed":false,"internalType":"address","name":"depositAsset","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"address","name":"poolDepositAsset","type":"address"},{"indexed":false,"internalType":"uint256","name":"liquidityMinted","type":"uint256"}],"name":"Deposit","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"stateMutability":"payable","type":"fallback"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"allowedPools","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"pool","type":"address"},{"internalType":"contract IERC20Extended","name":"depositAsset","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"contract IERC20Extended","name":"poolDepositAsset","type":"address"},{"internalType":"uint256","name":"expectedLiquidityMinted","type":"uint256"}],"name":"deposit","outputs":[{"internalType":"uint256","name":"liquidityMinted","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"pool","type":"address"},{"internalType":"contract IERC20Extended","name":"poolDepositAsset","type":"address"},{"internalType":"uint256","name":"expectedLiquidityMinted","type":"uint256"}],"name":"depositNative","outputs":[{"internalType":"uint256","name":"liquidityMinted","type":"uint256"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"pool","type":"address"},{"internalType":"contract IERC20Extended","name":"poolDepositAsset","type":"address"},{"internalType":"uint256","name":"expectedLiquidityMinted","type":"uint256"}],"name":"depositNativeWithCustomCooldown","outputs":[{"internalType":"uint256","name":"liquidityMinted","type":"uint256"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"pool","type":"address"},{"internalType":"contract IERC20Extended","name":"depositAsset","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"contract IERC20Extended","name":"poolDepositAsset","type":"address"},{"internalType":"bool","name":"customCooldown","type":"bool"}],"name":"depositQuote","outputs":[{"internalType":"uint256","name":"expectedLiquidityMinted","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"pool","type":"address"},{"internalType":"contract IERC20Extended","name":"depositAsset","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"contract IERC20Extended","name":"poolDepositAsset","type":"address"},{"internalType":"uint256","name":"expectedLiquidityMinted","type":"uint256"}],"name":"depositWithCustomCooldown","outputs":[{"internalType":"uint256","name":"liquidityMinted","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"feeDenominator","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"feeNumerator","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"feeSink","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address payable","name":"_feeSink","type":"address"},{"internalType":"uint256","name":"_feeNumerator","type":"uint256"},{"internalType":"uint256","name":"_feeDenominator","type":"uint256"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"managerFeeBypass","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"numerator","type":"uint256"},{"internalType":"uint256","name":"denominator","type":"uint256"}],"name":"setFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"sink","type":"address"}],"name":"setFeeSink","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"manager","type":"address"},{"internalType":"bool","name":"bypass","type":"bool"}],"name":"setManagerFeeBypass","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"pool","type":"address"},{"internalType":"bool","name":"allowed","type":"bool"}],"name":"setPoolAllowed","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IUniswapV2RouterSwapOnly","name":"_swapRouter","type":"address"}],"name":"setSwapRouter","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"contract IUniswapV2RouterSwapOnly","name":"swapRouter","type":"address"},{"components":[{"internalType":"contract ISynthetix","name":"snxProxy","type":"address"},{"internalType":"contract IERC20Extended","name":"swapSUSDToAsset","type":"address"},{"internalType":"contract ISynthAddressProxy","name":"sUSDProxy","type":"address"}],"internalType":"struct EasySwapperStructs.SynthetixProps","name":"synthetixProps","type":"tuple"},{"internalType":"contract IERC20Extended","name":"weth","type":"address"},{"internalType":"contract IERC20Extended","name":"nativeAssetWrapper","type":"address"}],"internalType":"struct EasySwapperStructs.WithdrawProps","name":"_withdrawProps","type":"tuple"}],"name":"setWithdrawProps","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"pool","type":"address"},{"internalType":"uint256","name":"fundTokenAmount","type":"uint256"},{"internalType":"contract IERC20Extended","name":"withdrawalAsset","type":"address"},{"internalType":"uint256","name":"expectedAmountOut","type":"uint256"}],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"pool","type":"address"},{"internalType":"uint256","name":"fundTokenAmount","type":"uint256"},{"internalType":"contract IERC20Extended","name":"intermediateAsset","type":"address"},{"internalType":"contract IERC20Extended","name":"finalAsset","type":"address"},{"internalType":"uint256","name":"expectedAmountFinalAsset","type":"uint256"}],"name":"withdrawIntermediate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdrawProps","outputs":[{"internalType":"contract IUniswapV2RouterSwapOnly","name":"swapRouter","type":"address"},{"components":[{"internalType":"contract ISynthetix","name":"snxProxy","type":"address"},{"internalType":"contract IERC20Extended","name":"swapSUSDToAsset","type":"address"},{"internalType":"contract ISynthAddressProxy","name":"sUSDProxy","type":"address"}],"internalType":"struct EasySwapperStructs.SynthetixProps","name":"synthetixProps","type":"tuple"},{"internalType":"contract IERC20Extended","name":"weth","type":"address"},{"internalType":"contract IERC20Extended","name":"nativeAssetWrapper","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"pool","type":"address"},{"internalType":"uint256","name":"fundTokenAmount","type":"uint256"},{"internalType":"contract IERC20Extended","name":"intermediateAsset","type":"address"},{"internalType":"uint256","name":"expectedAmountSUSD","type":"uint256"}],"name":"withdrawSUSD","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
292 changes: 292 additions & 0 deletions src/abi/types/DHedgeVault.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,292 @@
export const DHedgeVault = [
{
"anonymous": false,
"inputs": [
{ "indexed": false, "internalType": "address", "name": "pool", "type": "address" },
{ "indexed": false, "internalType": "address", "name": "depositor", "type": "address" },
{ "indexed": false, "internalType": "address", "name": "depositAsset", "type": "address" },
{ "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" },
{ "indexed": false, "internalType": "address", "name": "poolDepositAsset", "type": "address" },
{ "indexed": false, "internalType": "uint256", "name": "liquidityMinted", "type": "uint256" }
],
"name": "Deposit",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{ "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" },
{ "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" }
],
"name": "OwnershipTransferred",
"type": "event"
},
{
"stateMutability": "payable",
"type": "fallback"
},
{
"inputs": [{ "internalType": "address", "name": "", "type": "address" }],
"name": "allowedPools",
"outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{ "internalType": "address", "name": "pool", "type": "address" },
{ "internalType": "contract IERC20Extended", "name": "depositAsset", "type": "address" },
{ "internalType": "uint256", "name": "amount", "type": "uint256" },
{ "internalType": "contract IERC20Extended", "name": "poolDepositAsset", "type": "address" },
{ "internalType": "uint256", "name": "expectedLiquidityMinted", "type": "uint256" }
],
"name": "deposit",
"outputs": [{ "internalType": "uint256", "name": "liquidityMinted", "type": "uint256" }],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{ "internalType": "address", "name": "pool", "type": "address" },
{ "internalType": "contract IERC20Extended", "name": "poolDepositAsset", "type": "address" },
{ "internalType": "uint256", "name": "expectedLiquidityMinted", "type": "uint256" }
],
"name": "depositNative",
"outputs": [{ "internalType": "uint256", "name": "liquidityMinted", "type": "uint256" }],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [
{ "internalType": "address", "name": "pool", "type": "address" },
{ "internalType": "contract IERC20Extended", "name": "poolDepositAsset", "type": "address" },
{ "internalType": "uint256", "name": "expectedLiquidityMinted", "type": "uint256" }
],
"name": "depositNativeWithCustomCooldown",
"outputs": [{ "internalType": "uint256", "name": "liquidityMinted", "type": "uint256" }],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [
{ "internalType": "address", "name": "pool", "type": "address" },
{ "internalType": "contract IERC20Extended", "name": "depositAsset", "type": "address" },
{ "internalType": "uint256", "name": "amount", "type": "uint256" },
{ "internalType": "contract IERC20Extended", "name": "poolDepositAsset", "type": "address" },
{ "internalType": "bool", "name": "customCooldown", "type": "bool" }
],
"name": "depositQuote",
"outputs": [{ "internalType": "uint256", "name": "expectedLiquidityMinted", "type": "uint256" }],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{ "internalType": "address", "name": "pool", "type": "address" },
{ "internalType": "contract IERC20Extended", "name": "depositAsset", "type": "address" },
{ "internalType": "uint256", "name": "amount", "type": "uint256" },
{ "internalType": "contract IERC20Extended", "name": "poolDepositAsset", "type": "address" },
{ "internalType": "uint256", "name": "expectedLiquidityMinted", "type": "uint256" }
],
"name": "depositWithCustomCooldown",
"outputs": [{ "internalType": "uint256", "name": "liquidityMinted", "type": "uint256" }],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "feeDenominator",
"outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "feeNumerator",
"outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "feeSink",
"outputs": [{ "internalType": "address payable", "name": "", "type": "address" }],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{ "internalType": "address payable", "name": "_feeSink", "type": "address" },
{ "internalType": "uint256", "name": "_feeNumerator", "type": "uint256" },
{ "internalType": "uint256", "name": "_feeDenominator", "type": "uint256" }
],
"name": "initialize",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [{ "internalType": "address", "name": "", "type": "address" }],
"name": "managerFeeBypass",
"outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "owner",
"outputs": [{ "internalType": "address", "name": "", "type": "address" }],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "renounceOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{ "internalType": "uint256", "name": "numerator", "type": "uint256" },
{ "internalType": "uint256", "name": "denominator", "type": "uint256" }
],
"name": "setFee",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [{ "internalType": "address payable", "name": "sink", "type": "address" }],
"name": "setFeeSink",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{ "internalType": "address", "name": "manager", "type": "address" },
{ "internalType": "bool", "name": "bypass", "type": "bool" }
],
"name": "setManagerFeeBypass",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{ "internalType": "address", "name": "pool", "type": "address" },
{ "internalType": "bool", "name": "allowed", "type": "bool" }
],
"name": "setPoolAllowed",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{ "internalType": "contract IUniswapV2RouterSwapOnly", "name": "_swapRouter", "type": "address" }
],
"name": "setSwapRouter",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"components": [
{ "internalType": "contract IUniswapV2RouterSwapOnly", "name": "swapRouter", "type": "address" },
{
"components": [
{ "internalType": "contract ISynthetix", "name": "snxProxy", "type": "address" },
{ "internalType": "contract IERC20Extended", "name": "swapSUSDToAsset", "type": "address" },
{ "internalType": "contract ISynthAddressProxy", "name": "sUSDProxy", "type": "address" }
],
"internalType": "struct EasySwapperStructs.SynthetixProps",
"name": "synthetixProps",
"type": "tuple"
},
{ "internalType": "contract IERC20Extended", "name": "weth", "type": "address" },
{ "internalType": "contract IERC20Extended", "name": "nativeAssetWrapper", "type": "address" }
],
"internalType": "struct EasySwapperStructs.WithdrawProps",
"name": "_withdrawProps",
"type": "tuple"
}
],
"name": "setWithdrawProps",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [{ "internalType": "address", "name": "newOwner", "type": "address" }],
"name": "transferOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{ "internalType": "address", "name": "pool", "type": "address" },
{ "internalType": "uint256", "name": "fundTokenAmount", "type": "uint256" },
{ "internalType": "contract IERC20Extended", "name": "withdrawalAsset", "type": "address" },
{ "internalType": "uint256", "name": "expectedAmountOut", "type": "uint256" }
],
"name": "withdraw",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{ "internalType": "address", "name": "pool", "type": "address" },
{ "internalType": "uint256", "name": "fundTokenAmount", "type": "uint256" },
{ "internalType": "contract IERC20Extended", "name": "intermediateAsset", "type": "address" },
{ "internalType": "contract IERC20Extended", "name": "finalAsset", "type": "address" },
{ "internalType": "uint256", "name": "expectedAmountFinalAsset", "type": "uint256" }
],
"name": "withdrawIntermediate",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "withdrawProps",
"outputs": [
{ "internalType": "contract IUniswapV2RouterSwapOnly", "name": "swapRouter", "type": "address" },
{
"components": [
{ "internalType": "contract ISynthetix", "name": "snxProxy", "type": "address" },
{ "internalType": "contract IERC20Extended", "name": "swapSUSDToAsset", "type": "address" },
{ "internalType": "contract ISynthAddressProxy", "name": "sUSDProxy", "type": "address" }
],
"internalType": "struct EasySwapperStructs.SynthetixProps",
"name": "synthetixProps",
"type": "tuple"
},
{ "internalType": "contract IERC20Extended", "name": "weth", "type": "address" },
{ "internalType": "contract IERC20Extended", "name": "nativeAssetWrapper", "type": "address" }
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{ "internalType": "address", "name": "pool", "type": "address" },
{ "internalType": "uint256", "name": "fundTokenAmount", "type": "uint256" },
{ "internalType": "contract IERC20Extended", "name": "intermediateAsset", "type": "address" },
{ "internalType": "uint256", "name": "expectedAmountSUSD", "type": "uint256" }
],
"name": "withdrawSUSD",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"stateMutability": "payable",
"type": "receive"
}
] as const;
Loading