-
Notifications
You must be signed in to change notification settings - Fork 49
feat: Yield integration for DeFi #2198
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
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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
…smanSociety/talisman into feat-deposit-from-portfolio
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
…saction filtering
- 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'
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
0xKheops
approved these changes
Jan 8, 2026
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
New
Earntab that replaces theStakingtab.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***andYieldxyz***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:
WizardModalDialogandPopupSizeModalContainercomponents that should be usable for all our wizardscreateGlobalOpenCloseutility that generates auseGlobalOpenClosethat supports typed args