Skip to content

Commit

Permalink
add elSOL pools
Browse files Browse the repository at this point in the history
  • Loading branch information
KishiTheMechanic committed Oct 14, 2024
1 parent 9e99ed6 commit bc3921d
Show file tree
Hide file tree
Showing 4 changed files with 32 additions and 18 deletions.
3 changes: 1 addition & 2 deletions messages/en/common.json
Original file line number Diff line number Diff line change
Expand Up @@ -33,8 +33,7 @@
"InstantLiquidityRow": {
"title1": "Boost Your Rewards",
"title2": "with Instant Liquidity.",
"body": "While simply holding elSOL earns you staking rewards, adding it to Orca's liquidity pool gives you the chance to earn even more. With no complicated setup required, you can provide liquidity instantly and start earning trading fee rewards right away.",
"openOrca": "Add Liquidity",
"body": "By holding elSOL, you can earn staking rewards, but adding it to Orca's liquidity pool opens up even more opportunities for earning. No complicated setup is required—you can provide liquidity instantly and start earning trading fee rewards right away. By adopting the new 'Bundle Position' technology, fees are reduced by approximately 70% compared to the traditional method of minting Position NFTs.",
"closeOrca": "Redeem"
},
"ProductsSolvRow": {
Expand Down
3 changes: 1 addition & 2 deletions messages/ja/common.json
Original file line number Diff line number Diff line change
Expand Up @@ -33,8 +33,7 @@
"InstantLiquidityRow": {
"title1": "Boost Your Rewards",
"title2": "with Instant Liquidity.",
"body": "elSOLは保有しているだけでステーキング報酬を得られますが、Orcaの流動性プールに追加することで、さらに報酬を獲得するチャンスが広がります。難しい設定は不要で、インスタントに流動性を提供でき、すぐにトレード手数料報酬の獲得を開始できます。",
"openOrca": "流動性を追加",
"body": "elSOLを保有するだけでステーキング報酬が得られますが、Orcaの流動性プールに追加することで、さらなる報酬獲得のチャンスが広がります。設定は不要で、インスタントに流動性を提供し、すぐにトレード手数料の報酬を開始できます。新技術『Bundle Position』を採用し、従来のPosition NFTをミントする方法に比べて、約70%の手数料削減を実現しました。",
"closeOrca": "報酬を獲得"
},
"ProductsSolvRow": {
Expand Down
36 changes: 24 additions & 12 deletions src/components/solana/LiquidityTabs.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -12,18 +12,15 @@ import { useEffect, useState } from 'react'
import { LAMPORTS_PER_SOL, PublicKey } from '@solana/web3.js'
import { ELSOL_TOKEN_MINT } from '@/constants/address'
import { UpdateIcon } from '@radix-ui/react-icons'
import { Button } from '@/components/ui/button'
import OpenOrcaPositionBlinks from './OpenOrcaPositionBlinks'
import { ELSOL_LP_ORCA_LINK } from '@/constants/links'
import { Link } from '@/navigation'
import CloseOrcaPositionBlinks from './CloseOrcaPositionBlinks'

export default function LiquidityTabs() {
const t = useTranslations()
const { publicKey } = useWallet()
const { connection } = useConnection()

const [tabValue, setTabValue] = useState('openOrca')
const [tabValue, setTabValue] = useState('SOL')

const [solBalance, setSolBalance] = useState(0)
const [elsolBalance, setElsolBalance] = useState(0)
Expand All @@ -46,7 +43,7 @@ export default function LiquidityTabs() {
const balance = await connection.getBalance(publicKey)
const tokenAccounts = await connection.getParsedTokenAccountsByOwner(
publicKey,
{ mint: new PublicKey(ELSOL_TOKEN_MINT) }
{ mint: new PublicKey(ELSOL_TOKEN_MINT) },
)
let tokenBalance = 0
tokenAccounts.value.forEach((tokenAccount) => {
Expand Down Expand Up @@ -94,16 +91,31 @@ export default function LiquidityTabs() {
<>
<div className="grid gap-6">
<Tabs value={tabValue} onValueChange={setTabValue} className="w-full">
<TabsList className="mb-7 grid w-full grid-cols-2">
<TabsTrigger value="openOrca">
{t('common.InstantLiquidityRow.openOrca')}
</TabsTrigger>
<TabsList className="mb-7 grid w-full grid-cols-4">
<TabsTrigger value="SOL">SOL</TabsTrigger>
<TabsTrigger value="USDC">USDC</TabsTrigger>
<TabsTrigger value="EPCT">EPCT</TabsTrigger>
<TabsTrigger value="closeOrca">
{t('common.InstantLiquidityRow.closeOrca')}
</TabsTrigger>
</TabsList>
<TabsContent value="openOrca">
<OpenOrcaPositionBlinks updateCounter={updateCounter} />
<TabsContent value="SOL">
<OpenOrcaPositionBlinks
updateCounter={updateCounter}
symbol={'SOL'}
/>
</TabsContent>
<TabsContent value="USDC">
<OpenOrcaPositionBlinks
updateCounter={updateCounter}
symbol={'USDC'}
/>
</TabsContent>
<TabsContent value="EPCT">
<OpenOrcaPositionBlinks
updateCounter={updateCounter}
symbol={'EPCT'}
/>
</TabsContent>
<TabsContent value="closeOrca">
<CloseOrcaPositionBlinks updateCounter={updateCounter} />
Expand Down Expand Up @@ -140,7 +152,7 @@ export default function LiquidityTabs() {
isUpdating ? 'animate-spin' : '',
isDisabled
? 'cursor-not-allowed text-gray-400'
: 'hover:opacity-70'
: 'hover:opacity-70',
)}
>
<UpdateIcon className="h-5 w-5" />
Expand Down
8 changes: 6 additions & 2 deletions src/components/solana/OpenOrcaPositionBlinks.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -12,13 +12,17 @@ import { VALIDATORS_BLINKS_BASE_URL } from '@/constants/links'

type Props = {
updateCounter: number
symbol: string
}

export default function OpenOrcaPositionBlinks({ updateCounter }: Props) {
export default function OpenOrcaPositionBlinks({
updateCounter,
symbol,
}: Props) {
const { publicKey } = useWallet()
const { adapter } = useActionSolanaWalletAdapter(solanaEndpoint)
const { action } = useAction({
url: `${VALIDATORS_BLINKS_BASE_URL}/v1/whirlpool`,
url: `${VALIDATORS_BLINKS_BASE_URL}/v1/whirlpool?symbol=${symbol}`,
adapter,
})
const { theme } = useTheme()
Expand Down

0 comments on commit bc3921d

Please sign in to comment.