Skip to content

Conversation

@aabid-majid
Copy link
Collaborator

@aabid-majid aabid-majid commented Oct 10, 2025

New Earn tab that replaces the Staking tab.
For now, the Earn tab will only have one data source: yield.xyz API.
However it is planned to host earn opportunities/positions for more data source, such as SEEK staking in the near future.
Therefore a clear separation between Earn*** and Yieldxyz*** components has been enforced.

Right now we are only scratching the surface when using yield.xyz capabilities, because its results are automatically trimmed down based on which products we have enabled in our yield.xyz org, and we did not enabled many.
No substrate/solana products are enabled, though they might in the future.
No products that require manual claiming, or that have cooldowns, are enabled. though they might in the future.
=> solution may appear a bit overengineered because of that, it has actually been tested from a dev org that has more capabilities.

Misc improvements:

  • new WizardModalDialog and PopupSizeModalContainer components that should be usable for all our wizards
  • new createGlobalOpenClose utility that generates a useGlobalOpenClose that supports typed args

aabid-majid and others added 30 commits September 17, 2025 07:21
1. yield integration
2. earn button + product list from /v1/yields
1. pass on the entire response payload in product list.
2. show composite logo in the product list.
3. correct header titles, etc.
- Add EarnPage component with tabbed interface
1. rename Earn modal to Product Selection Modal;
2. hide earn button from watch-only accounts
3. stabilise product selection modal layout
- Change yield API query parameter from 'token' to 'inputTokens' for better filtering
- Fix BigInt conversion errors for decimal entry limits in useDepositFunds
- Prevent /enter API calls when amount is zero or validations fail
- Resolve circular dependency between useDepositFunds and useYieldTransaction
- Add useDepositValidation hook for centralized validation logic
- Update TypeScript types and fix linting errors
- Improve error handling and validation flow
- Remove duplicate DepositConfirmForm component
- Add new components: DepositDetails, DepositProgressBar, ConfirmDepositModal

Breaking changes:
- API now uses 'inputTokens' parameter instead of 'token'
- Removed DepositConfirmForm.tsx (replaced with new modal structure)

Fixes:
- Maximum call stack size exceeded error from circular dependencies
- BigInt conversion errors for decimal amounts like "0.1"
- Unnecessary API calls when validations fail
1. matching fonts in confirmdeposit modal.
2. bug fixes.
- Fix button overlap in DashboardAssetRow and PopupAssetsTable
- Add TVL display to ProductItem with N/A fallback
- Fix balance display in EarnAccountsList (Planck to human-readable)
- Implement EarnFeeTooltip with network-agnostic fee estimation
- Refactor deposit transaction hooks for multi-network support
- Standardize EarnPillButton structure to match BondPillButton
- Update DepositProgressBar circle sizing and text styling
…h proper gas handling

- Add sequential transaction processing in YieldSubmitButton for allTransactions array
- Implement proper nonce calculation using api.ethGetTransactionsCount with incremental nonce
- Add Yield.xyz API integration: submitHash and pollStatus calls after each transaction
- Fix nonce calculation to use currentNonce + transactionIndex instead of Yield.xyz nonce
- Add 10% gas buffer to prevent transaction failures: gas + (gas * 10% / 100%)
- Fix ConfirmDepositModal progress step background styling to match normal modal
- Add proper type casting for account.address in ethGetTransactionsCount API call
- Implement transaction confirmation polling before proceeding to next transaction
- Add comprehensive error handling for Yield.xyz API calls
- Fix TypeScript errors related to nonce calculation and gas estimation
- Move nonce calculation inside Ethereum branch only
- Add proper SignerPayloadJSON type casting for Polkadot
- Sync lastTransaction logic between Ethereum and Polkadot flows
- Ensure consistent transaction polling and callback behavior
- refactor: move interfaces to types file
- yield api - '/enter' give its own gas/fee estimates, that's why removing priority
- fix: balances fetching logic
- feat: search field
- feat: styling
- feat(deposit): filter out yields opps. with inputtokens not equal to selected token
- feat(earn tab): show input/output token logos in yield positions
- feat(earn tab): create a consolidated api response from 'balances' and 'yields' apis
- feat(earn tab): create backend and store as per architecture for 'earn tab'
@0xKheops 0xKheops marked this pull request as ready for review December 31, 2025 12:12
@0xKheops 0xKheops requested a review from prury January 2, 2026 00:47
@socket-security
Copy link

socket-security bot commented Jan 2, 2026

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Added@​yieldxyz/​sdk@​0.0.4801009984100

View full report

@0xKheops 0xKheops self-requested a review January 7, 2026 01:13
@0xKheops 0xKheops merged commit 8faa23a into dev Jan 8, 2026
7 checks passed
@0xKheops 0xKheops deleted the talisman-aai-dev branch January 8, 2026 07:45
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.

4 participants