Smart wallets FEDEV-3469#2270
Draft
midas-myth wants to merge 23 commits into
Draft
Conversation
Deploying gmx-interface with
|
| Latest commit: |
6f3f00d
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://dcf95e83.gmx-interface.pages.dev |
| Branch Preview URL: | https://smart-account-multichain.gmx-interface.pages.dev |
Deploying gmx-interface-home with
|
| Latest commit: |
6f3f00d
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://bd94cc90.gmx-interface-home.pages.dev |
| Branch Preview URL: | https://smart-account-multichain.gmx-interface-home.pages.dev |
…account-multichain
…SmartWallet component
… and signature tabs, and implement top-up functionality for multichain accounts.
…account-multichain
… related components for handling saltNonce in wallet creation and signature wrapping.
…d smart wallet support and enhance chain handling logic.
…hain Resolve conflicts: take v22c for CustomErrors, SimulationRouter, expressOrderUtils, locks, simulateExecuteTxn, simulation; merge ARBITRUM_SEPOLIA contracts, GELATO keys (MEGAETH + sepolia from v22c), Intercom + signing early-exit, useIsNonEoaAccountOnAnyChain alias. JIT sim encode uses SimulationRouter ABI for typed encodeFunctionData.
API URLs, oracle fallbacks, tokens (MEGA on MegaETH), tokens spec ignores, static markets/rpc/indexers/icons, block explorers, indexer clients, BuyGMX and dashboard constants; merge api.ts with primary DO URLs + v22c fallbacks.
…gating - Static markets/sortedMarkets: MEGAETH entries match SDK; restore deposit/shift helpers where needed - rpc: MegaETH Alchemy HTTP/WS like release; WS_RPC_CONFIGS MEGAETH; megaeth-mainnet host in getAlchemyProvider - Settings + PositionEditor: drop Gemini/express-unsupported wallet checks; rely on multichain express defaults - indexers/icons/multichain/useAvailableTokenOptions/clients: merge fixes and typings - sdk: dedupe MEGAETH in chains/contracts/abis (merge artifact duplicate keys) - Refresh yarn.lock + sdk/yarn.lock
…ichain Resolved conflicts: - Contract addresses/config (contracts.ts, api.ts, indexers.ts, markets, sortedMarkets): took qwinndev's v22c addresses; kept smart-account's additive StaticOracleProvider/FeeHandler/ConfigSyncer keys. - Wallet stack: kept qwinndev's Privy migration (rainbowKitConfig -> walletConfig, getRainbowKitConfig -> getWagmiConfig) while keeping smart-account's RainbowKit/ Reown/Safe deps that are still imported; package.json/yarn.lock reconciled (Privy pinned at 3.27.1). - useAccountType/useNonSingingAccount usages aligned across DepositView, TradeBox, MarginField, TradingSettings. - Kept smart-account's simplified express gating. - Regenerated locale catalogs via lingui extract. Verified: tsc (0 errors) and eslint clean on touched files.
…ichain Pulls latest qwinndev/update-v22c-contracts (93 commits incl. release merges, Privy 3.32.0, hide-botanix-in-ui). Resolved conflicts: - package.json/yarn.lock: took qwinndev's Privy 3.32.0/4.0.8 (with its ox/viem patch resolutions) while keeping smart-account's RainbowKit/Reown/Safe deps. - TradeBox/MarginField: kept smart-account's useNonSingingAccount; dropped the removed lib/wallets/useConnectModal import (useConnectModal now comes from context/ConnectModalContext). - Dashboard/StatsCard: took qwinndev's explicit chains list [ARBITRUM, AVALANCHE, MEGAETH] (Botanix hidden). - Regenerated locale catalogs via lingui extract. Verified: tsc (0 errors) and eslint clean on touched files.
The main app was migrated off RainbowKit to Privy (useConnectModal now lives in
context/ConnectModalContext). DevSmartWallet was the last importer of
@rainbow-me/rainbowkit; switch it to the context hook (same { openConnectModal }
interface) and remove the @rainbow-me/rainbowkit dependency from package.json/yarn.lock.
Reown WalletKit and Safe protocol-kit are kept — they are genuine smart-wallet deps.
Verified: tsc (0 errors) and eslint clean.
…ight configs These optimizeDeps/inline entries were leftover from RainbowKit (vanilla-extract was a RainbowKit transitive dep). Both packages are no longer in the dependency tree, so the references only produced "failed to resolve" noise. Kept the unrelated esbuildOptions target.
Playwright Component Test ReportAll tests passed. Commit 799a0a0 |
DevSmartWallet was a dev-only testing surface. Remove its pages and the /dev-smart-wallet route, and drop @reown/walletkit + @safe-global/protocol-kit (only DevSmartWallet used them). Code preserved on branch devsmartwallet-archive.
Revert SDK divergence so the branch carries only feature changes, not config drift: ExchangeRouter ABI drops the extra native-TWAP overload (qwinn reverted native TWAP); DataStore/EventEmitter/ReferralStorage were prettier-only churn. Configs (chains/contracts/tokens/oracleKeeper) restored to qwinn, dropping local Midas-fork config (MEGA token, OpenOcean/MEGAETH external, unused contract keys).
Restore app config that was local Midas-fork customization (commit 56c0403) or cosmetic drift, so the delta to qwinn is only feature work: icons, indexer URLs, rpc, static markets/sortedMarkets, block-explorer labels, indexer clients, OpenOcean buy links. qwinn already carries MegaETH support.
Re-extract message catalogs to match current source after the cleanup.
…onState @walletconnect/core and @walletconnect/utils were added with the (now removed) DevSmartWallet testing surface and are imported nowhere; drop them so deps match qwinn. Also revert a stray TODO + commented-out console.log in useTradeButtonState.
Unify the typo'd useNonSingingAccount and the useIsNonEoaAccountOnAnyChain alias into a single correctly-spelled useNonSigningAccount across all callers.
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
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.
No description provided.