Skip to content

Conversation

@DiRaiks
Copy link
Contributor

@DiRaiks DiRaiks commented Jan 28, 2026

Description

WIP new earn

Demo

Code review notes

Testing notes

Checklist:

  • Checked the changes locally.
  • Created / updated analytics events.
  • Created / updated the technical documentation (README.md / docs / etc.).
  • Affects / requires changes in other services (Matomo / Sentry / CloudFlare / etc.).

@DiRaiks DiRaiks requested a review from a team as a code owner January 28, 2026 10:18
@DiRaiks DiRaiks marked this pull request as draft January 28, 2026 10:18
@DiRaiks DiRaiks changed the title Feature/earn new [WIP] Feature/earn new Jan 28, 2026
@preview-stands
Copy link

Preview stand status

Stand was demolished


const isEarnListPage = router.pathname === EARN_PATH;
const isEarnVault = router.pathname.includes(`${EARN_PATH}/[vault]/[action]`);
const isEarnVaultV1 =
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

TODO: move this logic to layout props

<TableGroup>
<TableItem>
<TableLabel>Curator</TableLabel>
<TableValue>● Mellow</TableValue>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add TODO

@@ -0,0 +1,252 @@
export const ETH_DEPOSIT_QUEUE_DVSTETH_ABI = [
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Deposit queues have same ABIs?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

maybe we can reuse

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

or at least part that's used by us is the same

@@ -0,0 +1,260 @@
export const ETH_REDEEM_QUEUE_WSTETH_ABI = [
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

also feels like they are the same

wETH: {
balance: wethBalanceQuery.data,
},
GG: {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we don't need this in form I think, updgrade will be done separtely

'collect',
collector.address,
vault.address,
{ address: address ?? null },
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

no need to ??

address, // account
vault.address, // vault
COLLECTOR_CONFIG, // config
])) as CollectResponse;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

what's wrong with viem types?

import { getSTGCollectorContract, getSTGVaultContract } from '../contracts';
import { STG_COLLECTOR_CONFIG } from '../consts';

export type STGCollectResponse = {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

TODO: use common collector hook

@@ -0,0 +1,16 @@
export const ETH_TOKEN_SYMBOL = 'earnETH';
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's switch naming ETH_VAULT, ETH_ is too ambigous for stake widget

const depositQueue = depositQueueGetter({
publicClient: core.rpcProvider,
walletClient: core.web3Provider as WalletClient,
token,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

for us to get correct depositQueue seems token is not eneough, we should also specify vault, right?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we can add vault: 'str' | 'eth" ... param to have general getter

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

token is enough because we get correct vault by token

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants