From 13142607d83fea10b297d6a23452e810605784d1 Mon Sep 17 00:00:00 2001 From: Gerald Date: Thu, 12 Sep 2024 15:16:00 +0200 Subject: [PATCH] Release @argent-x/extension@6.18.5 --- .github/workflows/amplitude.yml | 14 - .github/workflows/changeset.yml | 4 +- .github/workflows/chromatic.yml | 4 +- .github/workflows/pull-request.yml | 374 +- .github/workflows/release.yml | 30 +- .npmrc | 1 + .nvmrc | 2 +- .vscode/settings.json | 2 +- Readme.md | 8 +- package.json | 15 +- packages/dapp/.env.example | 2 - packages/dapp/.eslintrc.json | 3 - packages/dapp/.gitignore | 37 - packages/dapp/.vscode/settings.json | 4 - packages/dapp/README.md | 34 - packages/dapp/abi/ERC20.json | 258 - packages/dapp/next-env.d.ts | 5 - packages/dapp/next.config.js | 10 - packages/dapp/package.json | 34 - packages/dapp/public/favicon.ico | Bin 25931 -> 0 bytes packages/dapp/public/vercel.svg | 4 - packages/dapp/src/components/AddNetwork.tsx | 40 - packages/dapp/src/components/AddToken.tsx | 72 - packages/dapp/src/components/Declare.tsx | 146 - packages/dapp/src/components/Deploy.tsx | 71 - packages/dapp/src/components/Header.tsx | 38 - packages/dapp/src/components/InfoRow.tsx | 45 - packages/dapp/src/components/Mint.tsx | 64 - .../src/components/MintWithStarknetReact.tsx | 89 - .../src/components/OffchainSessionKeys.tsx | 54 - .../components/OffchainSessionKeysExecute.tsx | 97 - .../components/OffchainSessionKeysSign.tsx | 85 - packages/dapp/src/components/SignMessage.tsx | 92 - .../SignMessageWithStarknetReact.tsx | 132 - packages/dapp/src/components/TokenDapp.tsx | 236 - packages/dapp/src/components/Transfer.tsx | 85 - .../components/TransferWithStarknetReact.tsx | 104 - packages/dapp/src/pages/_app.tsx | 35 - packages/dapp/src/pages/_document.tsx | 34 - packages/dapp/src/pages/index.tsx | 230 - packages/dapp/src/pages/starknetReactDapp.tsx | 185 - packages/dapp/src/services/address.service.ts | 15 - packages/dapp/src/services/token.service.ts | 57 - packages/dapp/src/services/wallet.service.ts | 260 - packages/dapp/src/types/Status.ts | 1 - packages/dapp/tsconfig.json | 20 - packages/e2e/.gitignore | 3 +- packages/e2e/extension/playwright.config.ts | 5 +- packages/e2e/extension/src/config.ts | 49 + packages/e2e/extension/src/fixtures.ts | 1 + .../e2e/extension/src/languages/ILanguage.ts | 18 +- .../e2e/extension/src/languages/en/index.ts | 30 +- .../e2e/extension/src/page-objects/Account.ts | 169 +- .../extension/src/page-objects/Activity.ts | 19 +- .../extension/src/page-objects/AddressBook.ts | 2 +- .../e2e/extension/src/page-objects/Dapps.ts | 32 +- .../src/page-objects/ExtensionPage.ts | 140 +- .../extension/src/page-objects/Navigation.ts | 28 +- .../e2e/extension/src/page-objects/Network.ts | 4 +- .../extension/src/page-objects/Settings.ts | 22 +- .../e2e/extension/src/page-objects/Wallet.ts | 65 +- .../src/specs/accountSettings.spec.ts | 352 +- .../extension/src/specs/addressBook.spec.ts | 13 +- .../e2e/extension/src/specs/dapps.spec.ts | 485 +- ...ts => defaultAccount2smartAccount.spec.ts} | 76 +- .../src/specs/invalidAddress.spec.ts | 46 +- .../e2e/extension/src/specs/links.spec.ts | 32 +- .../e2e/extension/src/specs/multisig.spec.ts | 228 +- .../e2e/extension/src/specs/network.spec.ts | 138 +- packages/e2e/extension/src/specs/nfts.spec.ts | 20 +- .../e2e/extension/src/specs/recovery.spec.ts | 203 +- .../extension/src/specs/sendMaxFunds.spec.ts | 50 +- .../src/specs/sendPartialFunds.spec.ts | 44 +- .../extension/src/specs/smartAccount.spec.ts | 112 + .../e2e/extension/src/specs/tokens.spec.ts | 33 +- .../e2e/extension/src/specs/welcome.spec.ts | 44 +- packages/e2e/extension/src/test.ts | 39 +- packages/e2e/package.json | 29 +- packages/e2e/shared/cfg/test.ts | 5 +- packages/e2e/shared/config.ts | 40 +- packages/e2e/shared/src/Utils.ts | 21 + packages/e2e/shared/src/assets.ts | 129 +- packages/e2e/shared/src/common.ts | 18 +- packages/e2e/shared/src/slack.spec.ts | 9 +- packages/e2e/webwallet/playwright.config.ts | 44 - packages/e2e/webwallet/src/fixtures.ts | 8 - .../e2e/webwallet/src/page-objects/Assets.ts | 81 - .../e2e/webwallet/src/page-objects/Dapps.ts | 70 - .../e2e/webwallet/src/page-objects/Login.ts | 81 - .../webwallet/src/page-objects/Navigation.ts | 44 - .../src/page-objects/WebWalletPage.ts | 32 - .../e2e/webwallet/src/specs/assets.spec.ts | 8 - .../e2e/webwallet/src/specs/dapps.spec.ts | 30 - .../e2e/webwallet/src/specs/login.spec.ts | 34 - packages/e2e/webwallet/src/test.ts | 94 - packages/eslint-plugin-local/package.json | 3 +- packages/eslint-plugin-local/tsconfig.json | 2 +- packages/extension/.env.example | 19 +- packages/extension/.eslintrc.base.js | 1 + packages/extension/.eslintrc.js | 18 + packages/extension/CHANGELOG.md | 170 + packages/extension/ampli.json | 4 +- packages/extension/build/config.ts | 8 + packages/extension/build/devTools.ts | 10 + packages/extension/build/dotEnv.ts | 15 + .../build/getLocalDevelopmentAttributes.ts | 80 + packages/extension/build/getReleaseTrack.ts | 9 + .../extension/build/getSafeGetCommitHash.ts | 15 + packages/extension/build/hotReloadServer.ts | 67 + packages/extension/build/reactDevTools.ts | 28 + .../extension/build/transformManifestJson.ts | 70 + .../extension/{scripts => build}/utils.ts | 0 packages/extension/manifest/v2.json | 15 +- packages/extension/manifest/v3.json | 22 +- packages/extension/package.json | 91 +- .../extension/scripts/hot-reload-server.ts | 36 - packages/extension/scripts/tsconfig.json | 7 - packages/extension/src/ampli/index.ts | 1736 +- .../extension/src/assets/default-tokens.json | 108 - packages/extension/src/assets/influence.png | Bin 0 -> 778484 bytes packages/extension/src/assets/ledger.riv | Bin 0 -> 56712 bytes .../assets/notification-failure-icon@3x.png | Bin 0 -> 1745 bytes .../assets/notification-success-icon@3x.png | Bin 0 -> 1677 bytes .../src/assets/onboarding-background.jpg | Bin 0 -> 163642 bytes .../src/assets/onboarding-background.svg | 65 - .../__new/procedures/account/select.ts | 21 - .../accountMessaging/getNextPublicKey.ts | 0 .../getNextPublicKeyForMultisig.ts | 31 - .../argentAccount/getPreferences.ts | 17 - .../__new/procedures/argentAccount/logout.ts | 14 - .../argentAccount/updatePreferences.ts | 19 - .../__new/procedures/provision/getStatus.ts | 17 - .../__new/procedures/provision/index.ts | 6 - .../__new/procedures/swap/makeSwap.ts | 36 - .../__new/services/account/worker/index.ts | 10 - .../background/__new/services/action/index.ts | 12 - .../__new/services/activity/index.ts | 32 - .../__new/services/analytics/index.ts | 8 - .../__new/services/argentAccount/index.ts | 6 - .../__new/services/discover/index.ts | 14 - .../__new/services/knownDapps/index.ts | 7 - .../__new/services/knownDapps/worker/index.ts | 12 - .../__new/services/multisig/implementation.ts | 257 - .../__new/services/network/index.ts | 23 - .../__new/services/nft/worker/index.ts | 24 - .../__new/services/onboarding/index.ts | 17 - .../services/preAuthorization/worker/index.ts | 6 - .../preAuthorization/worker/worker.test.ts | 70 - .../preAuthorization/worker/worker.ts | 34 - .../services/provision/implementation.ts | 15 - .../__new/services/provision/index.ts | 4 - .../__new/services/recovery/index.ts | 10 - .../__new/services/riskAssessment/index.ts | 6 - .../__new/services/token/worker/index.ts | 29 - .../__new/services/transactionReview/index.ts | 13 - .../worker/implementation.test.ts | 85 - .../worker/implementation.ts | 64 - .../transactionReview/worker/index.ts | 10 - .../transactions/worker/implementation.ts | 67 - .../services/transactions/worker/index.ts | 4 - .../__new/services/ui/background.ts | 113 - .../src/background/__new/services/ui/index.ts | 18 - .../background/__new/services/ui/interface.ts | 24 - .../extension/src/background/__new/trpc.ts | 85 - .../extension/src/background/accountDeploy.ts | 3 +- .../src/background/accountDeployAction.ts | 23 +- .../src/background/accountUpgrade.ts | 13 +- .../src/background/actionHandlers.ts | 104 +- .../extension/src/background/background.ts | 6 +- .../extension/src/background/dev/hotReload.ts | 16 + .../src/background/devnet/declareAccounts.ts | 33 +- packages/extension/src/background/index.ts | 26 + packages/extension/src/background/init.ts | 10 +- .../src/background/keys/keyDerivation.ts | 131 - .../messageHandling/addMessageListeners.ts | 57 +- .../src/background/messageHandling/handle.ts | 27 +- .../background/messageHandling/messages.ts | 1 + .../migrations/wallet/storeMigration.ts | 2 +- .../migrations/wallet/testnet2Accounts.ts | 7 +- .../migrations/wallet/v5.8.1.test.ts | 7 +- .../background/migrations/wallet/v5.8.1.ts | 26 +- .../src/background/miscellaneousMessaging.ts | 6 +- .../multisig/multisigDeployAction.ts | 24 +- .../multisig/worker/MultisigWorker.ts | 453 + .../multisig/worker/implementation.ts | 274 - .../src/background/multisig/worker/index.ts | 8 +- .../src/background/networkMessaging.ts | 6 +- packages/extension/src/background/nonce.ts | 19 +- packages/extension/src/background/openUi.ts | 63 - .../background/preAuthorizationMessaging.ts | 47 +- packages/extension/src/background/respond.ts | 15 +- .../account/worker/AccountWorker.test.ts} | 17 +- .../account/worker/AccountWorker.ts} | 71 +- .../services/account/worker/index.ts | 10 + .../action/BackgroundActionService.ts} | 154 +- .../action/IBackgroundActionService.ts} | 17 +- .../src/background/services/action/index.ts | 18 + .../activity/ActivityService.test.ts} | 65 +- .../activity/ActivityService.ts} | 100 +- .../activity/IActivityService.ts} | 29 +- .../cache/ActivityCacheService.test.ts | 229 + .../activity/cache/ActivityCacheService.ts | 201 + .../services/activity/cache/index.ts | 10 + .../cache/mergeAndSortActivities.test.ts | 212 + .../activity/cache/mergeAndSortActivities.ts | 65 + .../cache/worker/ActivityCacheWorker.test.ts | 218 + .../cache/worker/ActivityCacheWorker.ts | 293 + .../services/activity/cache/worker/index.ts | 23 + .../src/background/services/activity/index.ts | 41 + .../activity/worker/ActivityWorker.test.ts | 255 + .../activity/worker/ActivityWorker.ts | 148 + .../{__new => }/services/address/index.ts | 6 +- .../analytics/AnalyticsWoker.ts} | 10 +- .../background/services/analytics/index.ts | 5 + .../BackgroundArgentAccountService.ts} | 150 +- .../IBackgroundArgentAccountService.ts | 8 + .../services/argentAccount/index.ts | 11 + .../discover/DiscoverService.ts} | 24 +- .../src/background/services/discover/index.ts | 14 + .../background/services/knownDapps/index.ts | 7 + .../knownDapps/worker/KnownDappsWorker.ts} | 12 +- .../services/knownDapps/worker/index.ts | 12 + .../multisig/BackgroundMultisigService.ts | 505 + .../multisig/IBackgroundMultisigService.ts | 6 + .../{__new => }/services/multisig/index.ts | 4 +- .../network/BackgroundNetworkService.test.ts} | 17 +- .../network/BackgroundNetworkService.ts} | 20 +- .../network/IBackgroundNetworkService.ts} | 2 +- .../src/background/services/network/index.ts | 23 + .../network/worker/NetworkWorker.ts} | 12 +- .../nft/worker/NftsWorker.ts} | 30 +- .../background/services/nft/worker/index.ts | 24 + .../notifications/NotificationService.ts | 134 + .../services/notifications/index.ts | 13 + .../services/onRamp/OnRampService.ts | 94 + .../src/background/services/onRamp/index.ts | 3 + .../onboarding/OnboardingService.test.ts} | 46 +- .../onboarding/OnboardingService.ts} | 29 +- .../background/services/onboarding/index.ts | 19 + .../worker/OnboardingWorker.test.ts} | 8 +- .../onboarding/worker/OnboardingWorker.ts} | 12 +- .../BackgroundRecoveryService.test.ts} | 10 +- .../recovery/BackgroundRecoveryService.ts} | 31 +- .../src/background/services/recovery/index.ts | 10 + .../services/referral/IReferralService.ts | 11 + .../services/referral/ReferralService.ts | 29 + .../src/background/services/referral/index.ts | 4 + .../BackgroundRiskAssessmentService.ts} | 10 +- .../services/riskAssessment/index.ts | 6 + .../schedule/worker/ScheduleWorker.test.ts} | 2 +- .../schedule/worker/ScheduleWorker.ts} | 8 +- .../services/schedule/worker/index.ts | 4 +- .../services/sentry/SentryWorker.ts | 53 + .../src/background/services/sentry/index.ts | 10 + ...BackgroundOutsideSignatureReviewService.ts | 65 + .../services/signatureReview/index.ts | 7 + .../token/worker/TokenWorker.test.ts} | 75 +- .../token/worker/TokenWorker.ts} | 170 +- .../background/services/token/worker/index.ts | 25 + ...ackgroundTransactionReviewService.test.ts} | 36 +- .../BackgroundTransactionReviewService.ts} | 327 +- .../services/transactionReview/index.ts | 17 + .../worker/ITransactionReviewWorker.ts} | 1 + .../worker/TransactionReviewWorker.test.ts | 161 + .../worker/TransactionReviewWorker.ts | 120 + .../transactionReview/worker/index.ts | 18 + .../BaseTransactionTrackingService.test.ts} | 2 +- .../BaseTransactionTrackingService.ts} | 0 .../worker/TransactionTrackerWorker.test.ts | 350 + .../worker/TransactionTrackerWorker.ts} | 107 +- .../transactionTracker/worker/index.ts | 18 + .../transactions/worker/TransactionsWorker.ts | 24 + .../services/transactions/worker/index.ts | 4 + .../ui/BackgroundUIService.test.ts} | 18 +- .../services/ui/BackgroundUIService.ts | 246 + .../services/ui/IBackgroundUIService.ts | 52 + .../src/background/services/ui/index.ts | 20 + .../worker/schedule/decorators.test.ts | 4 +- .../services/worker/schedule/decorators.ts | 40 +- .../schedule/mockBackgroundUIService.ts | 2 +- .../worker/schedule/mockSessionService.ts | 2 +- .../services/worker/schedule/pipe.test.ts | 0 .../services/worker/schedule/pipe.ts | 0 .../src/background/transactions/badgeText.ts | 6 +- .../transactions/onupdate/changeGuardian.ts | 3 +- .../background/transactions/onupdate/index.ts | 13 - .../transactions/onupdate/notifications.ts | 35 - .../transactions/onupdate/upgrade.ts | 25 +- .../service/starknet.service.test.ts | 162 - .../background/transactions/service/worker.ts | 14 - .../transactions/sources/onchain.spec.ts | 24 +- .../transactions/sources/onchain.ts | 11 +- .../transactions/transactionExecution.ts | 41 +- .../transactions/transactionMessaging.ts | 108 +- .../{__new => trpc}/middleware/session.ts | 0 .../procedures/account/create.ts | 15 +- .../procedures/account/deploy.ts | 0 .../account/getLastUsedOnNetwork.ts | 22 + .../procedures/account/index.ts | 2 + .../trpc/procedures/account/select.ts | 108 + .../procedures/account/upgrade.ts | 0 .../accountMessaging/cancelEscape.ts | 14 +- .../accountMessaging/changeGuardian.ts | 38 +- .../escapeAndChangeGuardian.ts | 101 +- .../getAccountDeploymentPayload.ts | 0 .../getEncryptedPrivateKey.ts | 0 .../getEncryptedSeedPhrase.ts | 0 .../accountMessaging/getNextPublicKey.ts | 32 + .../accountMessaging/getPublicKey.ts | 0 .../getPublicKeysBufferForMultisig.ts | 0 .../procedures/accountMessaging/index.ts | 4 +- .../accountMessaging/triggerEscapeGuardian.ts | 10 +- .../procedures/action/approve.ts | 12 +- .../procedures/action/approveAndWait.ts | 12 +- .../procedures/action/clearActionError.ts | 11 + .../procedures/action/index.ts | 4 + .../procedures/action/reject.ts | 7 +- .../procedures/action/rejectAll.ts | 0 .../action/updateTransactionReview.ts | 19 + .../trpc/procedures/activity/cache/index.ts | 6 + .../procedures/activity/cache/loadMore.ts | 11 + .../address/getAddressFromDomainName.ts | 0 .../procedures/address/index.ts | 0 .../address/parseAddressOrDomain.ts | 0 .../procedures/addressBook/add.ts | 0 .../procedures/addressBook/index.ts | 0 .../procedures/addressBook/remove.ts | 0 .../procedures/addressBook/update.ts | 0 .../argentAccount/addGuardianAccount.ts} | 4 +- .../argentAccount/addSmartAccount.ts | 21 + .../procedures/argentAccount/confirmEmail.ts | 0 .../procedures/argentAccount/index.ts | 14 +- .../argentAccount/isTokenExpired.ts | 0 .../trpc/procedures/argentAccount/logout.ts | 21 + .../procedures/argentAccount/requestEmail.ts | 0 .../argentAccount/validateAccount.ts | 5 +- .../procedures/dappMessaging/connectDapp.ts | 94 + .../dappMessaging/connectDappProcedure.ts | 31 + .../trpc/procedures/dappMessaging/index.ts | 6 + .../trpc/procedures/dappMessaging/schema.ts | 8 + .../procedures/discover/index.ts | 0 .../procedures/discover/viewedAt.ts | 2 +- .../procedures/feeToken/avoidFeeToken.ts | 0 .../procedures/feeToken/index.ts | 0 .../procedures/feeToken/preferFeeToken.ts | 0 .../procedures/ledger/addLedgerAccounts.ts | 27 + .../trpc/procedures/ledger/connect.ts | 16 + .../procedures/ledger/getLedgerAccounts.ts | 24 + .../trpc/procedures/ledger/index.ts | 12 + .../trpc/procedures/ledger/restoreMultisig.ts | 23 + .../procedures/multisig/addAccount.ts | 7 +- .../multisig/addOffchainSignature.ts | 24 + .../procedures/multisig/addOwner.ts | 0 .../procedures/multisig/addPendingAccount.ts | 6 +- .../multisig/addTransactionSignature.ts | 5 +- .../multisig/cancelOffchainSignature.ts | 19 + .../procedures/multisig/deploy.ts | 0 .../procedures/multisig/index.ts | 16 +- .../multisig/rejectOnChainTransaction.ts | 21 + .../procedures/multisig/removeOwner.ts | 0 .../procedures/multisig/replaceOwner.ts | 0 .../multisig/retryTransactionExecution.ts | 21 + .../procedures/multisig/updateThreshold.ts | 0 .../multisig/waitForOffchainSignatures.ts | 20 + .../trpc/procedures/notifications/clicked.ts | 16 + .../trpc/procedures/notifications/index.ts | 6 + .../onboarding/getOnboardingComplete.ts | 11 + .../trpc/procedures/onboarding/index.ts | 6 + .../trpc/procedures/onramp/getTopperUrl.ts | 17 + .../trpc/procedures/onramp/index.ts | 6 + .../{__new => trpc}/procedures/permissions.ts | 2 +- .../procedures/preAuthorization/disconnect.ts | 16 + .../trpc/procedures/preAuthorization/index.ts | 6 + .../recovery/clearErrorRecovering.ts | 0 .../procedures/recovery/index.ts | 0 .../procedures/recovery/recoverBackup.ts | 0 .../procedures/recovery/recoverSeedphrase.ts | 0 .../procedures/riskAssessment/assessRisk.ts | 2 +- .../procedures/riskAssessment/index.ts | 0 .../procedures/session/checkPassword.ts | 11 +- .../procedures/session/index.ts | 0 .../procedures/session/isPasswordSet.ts | 0 .../procedures/session/start.ts | 0 .../procedures/session/stop.ts | 0 .../procedures/signatureReview}/index.ts | 4 +- .../signatureReview/simulateAndReview.ts | 23 + .../procedures/swap/getSwapOrderFromTrade.ts | 0 .../procedures/swap/getSwapQuoteForPay.ts | 0 .../procedures/swap/getSwapTradeFromQuote.ts | 0 .../{__new => trpc}/procedures/swap/index.ts | 0 .../trpc/procedures/swap/makeSwap.ts | 50 + .../procedures/tokens/addToken.ts | 0 .../procedures/tokens/fetchAccountBalance.ts | 0 .../procedures/tokens/fetchDetails.ts | 0 ...etchTokenBalancesForAccountsFromBackend.ts | 29 + .../procedures/tokens/getAccountBalance.ts | 0 .../procedures/tokens/getAllTokenBalances.ts | 0 .../tokens/getCurrencyValueForTokens.ts | 0 .../procedures/tokens/index.ts | 3 + .../procedures/tokens/removeToken.ts | 0 .../transactionEstimate/accountDeploy.ts | 2 +- .../transactionEstimate/estimate.ts | 10 +- .../procedures/transactionEstimate/helpers.ts | 15 +- .../procedures/transactionEstimate/index.ts | 0 .../getCompressedTransactionPayload.ts | 34 + .../procedures/transactionReview/getLabels.ts | 0 .../transactionReview/getTransactionHash.ts | 34 + .../transactionReview/getWarnings.ts | 9 + .../procedures/transactionReview/index.ts | 14 + .../transactionReview/simulateAndReview.ts | 3 +- .../procedures/transfer/index.ts | 0 .../procedures/transfer/send.ts | 16 +- .../udc/declareContractProcedure.ts | 1 - .../procedures/udc/deployContractProcedure.ts | 0 .../procedures/udc/getConstructorParams.ts | 0 .../{__new => trpc}/procedures/udc/index.ts | 0 .../src/background/{__new => trpc}/router.ts | 52 +- .../extension/src/background/trpc/trpc.ts | 97 + .../extension/src/background/udcAction.ts | 35 +- .../src/background/utils/bigIntSort.ts | 7 + .../WalletAccountStarknetService.test.ts | 334 + .../account/WalletAccountStarknetService.ts | 246 + .../wallet/account/starknet.service.test.ts | 138 - .../wallet/account/starknet.service.ts | 145 - ...ckup.service.ts => WalletBackupService.ts} | 10 +- ...ervice.ts => WalletCryptoSharedService.ts} | 8 +- ...vice.ts => WalletCryptoStarknetService.ts} | 238 +- ...terface.ts => IWalletDeploymentService.ts} | 6 +- .../WalletDeploymentStarknetService.test.ts | 326 + ....ts => WalletDeploymentStarknetService.ts} | 364 +- .../findImplementationForAddress.test.ts | 207 - .../wallet/findImplementationForAddress.ts | 136 - .../extension/src/background/wallet/index.ts | 107 +- .../src/background/wallet/loadContracts.ts | 11 +- ...interface.ts => IWalletRecoveryService.ts} | 10 +- ...ts => WalletRecoverySharedService.test.ts} | 6 +- ...vice.ts => WalletRecoverySharedService.ts} | 33 +- .../recovery/WalletRecoveryStarknetService.ts | 611 + .../wallet/recovery/starknet.service.ts | 444 - ...ion.service.ts => WalletSessionService.ts} | 4 +- ...plementation.ts => WalletSessionWorker.ts} | 13 +- .../background/wallet/session/worker/index.ts | 4 +- .../src/background/wallet/test.utils.ts | 71 +- .../src/background/walletSingleton.ts | 40 +- packages/extension/src/background/workers.ts | 26 +- packages/extension/src/content.ts | 24 +- .../src/contracts/ArgentAccount.casm.txt | 108925 ++++++++++++++ .../extension/src/contracts/ArgentAccount.txt | 109352 +++++---------- packages/extension/src/contracts/Proxy.txt | 1 - .../extension/src/inpage/ArgentXAccount.ts | 73 +- .../extension/src/inpage/ArgentXAccount4.ts | 52 +- .../extension/src/inpage/ArgentXAccount5.ts | 144 + .../extension/src/inpage/ArgentXProvider5.ts | 25 + packages/extension/src/inpage/index.ts | 74 +- .../extension/src/inpage/messageActions.ts | 3 + .../addDeclareTransaction.ts | 7 +- .../addStarknetChain.ts | 32 +- .../requestMessageHandlers/deploymentData.ts | 4 +- .../inpage/requestMessageHandlers/errors.ts | 20 + .../getPermissionsHandler.ts | 4 +- .../inpage/requestMessageHandlers/index.ts | 51 +- .../invokeTransaction.ts | 26 +- .../requestMessageHandlers/requestAccounts.ts | 4 +- .../requestMessageHandlers/signTypedData.ts | 22 +- .../requestMessageHandlers/supportedSpecs.ts | 2 +- .../switchStarknetChain.ts | 15 +- .../requestMessageHandlers/watchAsset.ts | 7 +- .../src/inpage/starknetWindowObject.ts | 12 +- packages/extension/src/inpage/trpcClient.ts | 2 +- .../src/messages/__tests__/relayer.test.ts | 138 + .../src/messages/__tests__/window.test.ts | 39 + .../src/messages/__tests__/windowMock.mock.ts | 53 + .../src/messages/exchange/bidirectional.ts | 140 + .../src/messages/exchange/relayer.ts | 47 + packages/extension/src/messages/index.ts | 4 + .../extension/src/messages/messenger/index.ts | 32 + .../src/messages/messenger/window.ts | 76 + packages/extension/src/notifications.d.ts | 3 + .../getAccountClassHashFromChain.test.ts | 18 +- .../details/getAccountClassHashFromChain.ts | 56 +- .../details/getAccountGuardiansFromChain.ts | 22 +- .../details/getAndMergeAccountDetails.test.ts | 4 +- .../src/shared/account/details/getEscape.ts | 2 +- .../src/shared/account/details/getGuardian.ts | 4 +- .../account/details/getImplementation.ts | 8 +- .../src/shared/account/details/getOwner.ts | 2 +- .../multicallWithCairo0Fallback.test.ts | 14 +- .../details/multicallWithCairo0Fallback.ts | 2 +- .../shared/account/details/tryGetClassHash.ts | 5 +- .../account/optimisticImplUpdate.test.ts | 13 +- .../shared/account/optimisticImplUpdate.ts | 12 +- .../AccountService.test.ts} | 8 +- .../AccountService.ts} | 30 +- .../IAccountService.ts} | 8 +- .../account/service/accountService/index.ts | 8 + .../WalletAccountSharedService.test.ts} | 47 +- .../WalletAccountSharedService.ts | 397 + .../service/accountSharedService/index.ts | 20 + .../src/shared/account/service/index.ts | 25 +- .../shared/account/service/shared.service.ts | 196 - .../src/shared/account/starknet.constants.ts | 24 +- .../shared/account/store/serialize.test.ts | 22 +- .../src/shared/account/store/session.ts | 2 +- .../src/shared/account/storeMigration.ts | 6 +- .../extension/src/shared/account/update.ts | 12 +- .../extension/src/shared/actionQueue/index.ts | 2 +- .../queue/{interface.ts => IActionQueue.ts} | 0 .../{queue.test.ts => getActionQueue.test.ts} | 2 +- .../queue/{queue.ts => getActionQueue.ts} | 14 +- .../src/shared/actionQueue/schema.ts | 21 +- .../actionQueue/service/IActionService.ts | 31 + .../shared/actionQueue/service/interface.ts | 17 - .../extension/src/shared/actionQueue/types.ts | 4 +- .../__fixtures__/activities-deploy.json | 219 - .../activities-handle-deposit.json | 78 - .../__fixtures__/activities-many-escapes.json | 858 - .../activities-signer-changed.json | 278 - .../activity/__fixtures__/activities.json | 103 + .../activity/cache/IActivityCacheService.ts | 26 + .../activity/cache/IActivityCacheStorage.ts | 16 + .../src/shared/activity/cache/storage.ts | 14 + .../extension/src/shared/activity/index.ts | 5 + .../src/shared/activity/schema.test.ts | 28 - .../extension/src/shared/activity/schema.ts | 138 - .../extension/src/shared/activity/types.ts | 10 +- .../utils/getOverallLastModified.test.ts | 17 - .../activity/utils/getOverallLastModified.ts | 13 - .../utils/hasDelegationActivity.test.ts | 46 - .../activity/utils/hasDelegationActivity.ts | 11 - .../isProvisionWithDeploymentActivity.test.ts | 61 - .../isProvisionWithDeploymentActivity.ts | 13 - .../utils/parseAccountActivities.test.ts | 100 - .../activity/utils/parseAccountActivities.ts | 56 - .../utils/parseFinanceActivities.test.ts | 77 - .../activity/utils/parseFinanceActivities.ts | 93 - .../utils/parseProvisionActivity.test.ts | 64 - .../activity/utils/parseProvisionActivity.ts | 32 - .../__fixtures__}/nftContractAddresses.ts | 0 .../transform/__fixtures__/tokensByNetwork.ts | 6 + .../activity/buildActivitySummary.ts | 69 + .../sepolia-alpha}/account-created-alt.json | 0 .../sepolia-alpha}/account-created.json | 0 .../sepolia-alpha}/account-upgrade.json | 0 .../erc20-approve-unlimited.json | 0 .../sepolia-alpha}/erc20-approve.json | 0 .../sepolia-alpha}/erc20-mint-test-token.json | 0 .../sepolia-alpha}/erc20-swap-alpha-road.json | 0 .../sepolia-alpha}/erc20-swap-jediswap.json | 0 .../sepolia-alpha}/erc20-swap-my-swap.json | 2 +- .../erc20-transfer-no-contract-address.json | 0 .../erc20-transfer-no-events.json | 0 .../erc20-transfer-with-sequencer-event.json | 0 .../sepolia-alpha}/erc20-transfer.json | 0 .../sepolia-alpha}/erc721-mint-aspect.json | 0 .../erc721-mint-mint-square.json | 0 .../sepolia-alpha}/erc721-transfer.json | 0 .../sepolia-alpha}/index.ts | 0 ...novel-dapp-aspect-approve-nft-listing.json | 0 .../novel-dapp-aspect-buy-nft.json | 0 .../sepolia-alpha}/novel-dapp-briq.json | 0 ...-dapp-influence-crewmate-purchase-nft.json | 0 .../novel-dapp-mint-square-approve-eth.json | 0 ...-dapp-mint-square-approve-nft-listing.json | 0 .../novel-dapp-mint-square-buy-nft.json | 0 .../sepolia-alpha}/novel-dapp-no-game.json | 0 .../dappExplorerTransaction.ts | 4 +- .../explorerTransaction/dappTransaction.ts | 6 +- .../fingerprintExplorerTransaction.test.ts | 6 +- .../fingerprintExplorerTransaction.ts | 2 +- .../explorerTransaction/getActualFee.test.ts | 2 +- .../explorerTransaction/getActualFee.ts | 2 +- .../explorerTransaction/getEntityWithName.ts | 0 .../explorerTransaction/getParameter.ts | 2 +- .../transformExplorerTransaction.test.ts | 64 +- .../transformExplorerTransaction.ts | 6 +- .../transformers/accountCreateTransformer.ts | 0 .../transformers/accountUpgradeTransformer.ts | 0 .../dappAlphaRoadSwapTransformer.ts | 0 .../dappAspectBuyNFTTransformer.ts | 0 .../dappInfluenceMintTransformer.ts | 0 .../dappJediswapSwapTransformer.ts | 0 .../dappMintSquareBuyNFTTransformer.ts | 0 .../transformers/dappMySwapSwapTransformer.ts | 0 .../transformers/dateTransformer.ts | 0 .../defaultDisplayNameTransformer.ts | 2 +- .../transformers/feesTransformer.ts | 0 .../transformers/knownDappTransformer.ts | 0 .../transformers/knownNftTransformer.ts | 0 .../transformers/postSwapTransformer.ts | 0 .../transformers/postTransferTransformer.ts | 2 +- .../transformers/tokenApproveTransformer.ts | 0 .../transformers/tokenMintTransformer.ts | 0 .../transformers/tokenTransferTransformer.ts | 0 .../explorerTransaction/transformers/type.ts | 4 +- .../transform/getTokenForContractAddress.ts | 4 +- .../transform}/getTransactionFailureReason.ts | 2 +- .../activity/utils}/transform/index.ts | 0 .../activity/utils}/transform/is.ts | 24 +- .../transaction/getCallsFromTransaction.ts | 4 +- .../getTransactionSubtitle.test.ts | 66 + .../transaction/getTransactionSubtitle.ts | 60 + .../transaction}/transformTransaction.test.ts | 64 +- .../transaction/transformTransaction.ts | 13 +- .../changeMultisigThresholdTransformer.ts | 2 +- .../transformers/changeMultisigTransformer.ts | 2 +- .../transformers/dateTransformer.ts | 0 .../declareContractTransformer.ts | 2 +- .../defaultDisplayNameTransformer.ts | 2 +- .../transformers/deployContractTransformer.ts | 2 +- .../transformers/guardianTransformer.ts | 21 +- .../transformers/knownDappTransformer.ts | 0 .../transformers/nftTransferTransformer.ts | 2 +- .../onChainRejectTransformer.test.ts | 83 + .../transformers/onChainRejectTransformer.ts | 26 + .../pendingMultisigTransactionAdapter.ts | 6 +- .../transformers/postTransferTransformer.ts | 0 .../transformers/tokenMintTransformer.ts | 4 +- .../transformers/tokenTransferTransformer.ts | 6 +- .../transaction/transformers/type.ts | 11 + .../upgradeAccountTransformer.test.ts | 150 + .../transformers/upgradeAccountTransformer.ts | 27 + .../activity/utils}/transform/type.ts | 41 +- .../src/shared/address/AddressService.ts | 62 + .../src/shared/address/IAddressService.ts | 22 + .../extension/src/shared/address/index.ts | 5 + ...ion.test.ts => AddressBookService.test.ts} | 26 +- ...mplementation.ts => AddressBookService.ts} | 2 +- .../{interface.ts => IAddressBookService.ts} | 0 .../src/shared/addressBook/service/index.ts | 2 +- ...{implementation.ts => AnalyticsService.ts} | 12 +- .../extension/src/shared/analytics/index.ts | 8 +- .../extension/src/shared/analytics/init.ts | 25 +- .../extension/src/shared/api/constants.ts | 54 +- packages/extension/src/shared/api/fetcher.ts | 18 +- packages/extension/src/shared/api/headers.ts | 4 +- .../argentAccount/IArgentAccountService.ts | 16 + .../src/shared/argentAccount/interface.ts | 22 - .../src/shared/argentAccount/schema.ts | 9 +- .../extension/src/shared/browser/origin.ts | 41 + .../sepolia-alpha}/change-guardian-add.json | 0 .../change-guardian-remove.json | 0 .../sepolia-alpha}/erc1155-transfer.json | 0 .../sepolia-alpha}/erc20-mint-test-token.json | 0 .../sepolia-alpha}/erc20-swap-alpha-road.json | 0 .../sepolia-alpha}/erc20-swap-jediswap.json | 0 .../sepolia-alpha}/erc20-swap-my-swap.json | 0 .../sepolia-alpha}/erc20-transfer.json | 0 .../sepolia-alpha}/erc721-mint-aspect.json | 0 .../sepolia-alpha}/erc721-transfer.json | 0 .../transaction-calls/sepolia-alpha}/index.ts | 2 + .../sepolia-alpha}/multisig-add-owner.json | 0 .../sepolia-alpha}/multisig-remove-owner.json | 0 .../multisig-replace-owner.json | 0 .../sepolia-alpha/reject-on-chain.json | 9 + .../extension/src/shared/call/erc20Call.ts | 26 +- .../{__test__ => }/erc20TransferCall.test.ts | 2 +- .../{__test__ => }/nftTransferCall.test.ts | 4 +- .../src/shared/call/nftTransferCall.ts | 24 +- .../src/shared/call/rejectOnChainCall.test.ts | 71 + .../src/shared/call/rejectOnChainCall.ts | 70 + .../src/shared/call/upgradeAccountCall.ts | 32 + .../{interface.ts => IChainService.ts} | 0 ...n.test.ts => StarknetChainService.test.ts} | 24 +- ...lementation.ts => StarknetChainService.ts} | 8 +- .../src/shared/chain/service/__test__/mock.ts | 2 +- .../src/shared/chain/service/index.ts | 2 +- packages/extension/src/shared/config.ts | 5 +- ...chrome.test.ts => DebounceService.test.ts} | 2 +- .../{chrome.ts => DebounceService.ts} | 4 +- .../{interface.ts => IDebounceService.ts} | 2 +- .../extension/src/shared/debounce/index.ts | 4 +- .../src/shared/devnet/mintFeeToken.ts | 38 +- .../src/shared/discover/IDiscoverService.ts | 3 + .../{interface.ts => IDiscoverStorage.ts} | 4 - .../extension/src/shared/discover/storage.ts | 2 +- .../extension/src/shared/errors/Readme.md | 2 +- .../extension/src/shared/errors/account.ts | 3 +- .../src/shared/errors/accountMessaging.ts | 2 +- .../extension/src/shared/errors/action.ts | 2 +- .../extension/src/shared/errors/activity.ts | 2 +- .../src/shared/errors/addressBook.ts | 2 +- .../src/shared/errors/argentAccount.ts | 26 +- .../extension/src/shared/errors/baseError.ts | 40 - .../extension/src/shared/errors/errorData.ts | 2 +- .../extension/src/shared/errors/ledger.ts | 56 + .../extension/src/shared/errors/multisig.ts | 6 +- .../extension/src/shared/errors/network.ts | 2 +- .../extension/src/shared/errors/pubKey.ts | 2 +- .../extension/src/shared/errors/recovery.ts | 4 +- .../extension/src/shared/errors/review.ts | 2 +- .../src/shared/errors/riskAssessment.ts | 2 +- .../extension/src/shared/errors/schema.ts | 17 - .../extension/src/shared/errors/session.ts | 2 +- packages/extension/src/shared/errors/swap.ts | 2 +- packages/extension/src/shared/errors/token.ts | 2 +- .../src/shared/errors/transaction.ts | 2 +- packages/extension/src/shared/errors/udc.ts | 2 +- .../extension/src/shared/errors/wallet.ts | 2 +- .../src/shared/extensionMessenger.ts | 2 +- ...tation.test.ts => FeeTokenService.test.ts} | 261 +- .../{implementation.ts => FeeTokenService.ts} | 44 +- .../{interface.ts => IFeeTokenService.ts} | 0 .../src/shared/feeToken/service/index.ts | 2 +- .../src/shared/feeToken/utils.test.ts | 20 +- .../extension/src/shared/feeToken/utils.ts | 3 +- .../shared/idb/addressNormalizerMiddleware.ts | 58 + .../src/shared/idb/chunkedBulkPut.ts | 14 + packages/extension/src/shared/idb/db.test.ts | 170 + packages/extension/src/shared/idb/db.ts | 82 + .../src/shared/idb/migration.test.ts | 58 + packages/extension/src/shared/idb/schema.ts | 132 + .../{interface.ts => IKnownDappService.ts} | 0 ...{implementation.ts => KnownDappService.ts} | 12 +- .../extension/src/shared/knownDapps/index.ts | 10 +- .../knownDapp.ts => knownDapps/storage.ts} | 4 +- .../extension/src/shared/ledger/constants.ts | 1 + .../extension/src/shared/ledger/schema.ts | 5 + .../ledger/service/ILedgerSharedService.ts | 22 + .../ledger/service/LedgerSharedService.ts | 322 + .../src/shared/ledger/service/index.ts | 8 + .../src/shared/messages/AccountMessage.ts | 4 + .../src/shared/messages/ActionMessage.ts | 9 +- .../src/shared/messages/NetworkMessage.ts | 2 +- .../src/shared/messages/TransactionMessage.ts | 2 +- .../shared/messages/getIsSafeMessageSender.ts | 11 + .../shared/messages/getOriginFromSender.ts | 12 + .../extension/src/shared/messages/index.ts | 20 +- .../src/shared/multicall/getMulticall.ts | 17 +- .../extension/src/shared/multisig/account.ts | 415 +- .../extension/src/shared/multisig/emitter.ts | 16 + .../src/shared/multisig/multisig.model.ts | 199 +- .../pendingOffchainSignaturesStore.ts | 113 + .../multisig/pendingTransactionsStore.ts | 278 +- .../backend/IMultisigBackendService.ts | 64 + ...test.ts => MultisigBackendService.test.ts} | 160 +- ...mentation.ts => MultisigBackendService.ts} | 350 +- .../shared/multisig/service/backend/index.ts | 2 +- .../multisig/service/backend/interface.ts | 34 - .../shared/multisig/service/backend/types.ts | 51 +- .../{interface.ts => IMultisigService.ts} | 18 +- .../extension/src/shared/multisig/signer.ts | 37 +- .../extension/src/shared/multisig/types.ts | 2 + .../src/shared/multisig/utils/baseMultisig.ts | 6 +- .../utils/fixtures/multisigRequests.json | 176 + .../multisigRequestsWithRejected.json | 118 + .../fixtures/multisigRequestsWithRetried.json | 147 + .../multisig/utils/getMultisigDiscoveryUrl.ts | 24 + .../utils/getMultisigTransactionType.test.ts | 69 + .../utils/getMultisigTransactionType.ts | 46 + .../src/shared/multisig/utils/multisigTxV3.ts | 34 + .../shared/multisig/utils/pendingMultisig.ts | 12 + .../network/FallbackRpcProvider.test.ts | 23 +- .../src/shared/network/FallbackRpcProvider.ts | 68 +- .../shared/network/FallbackRpcProvider5.ts | 121 + .../extension/src/shared/network/constants.ts | 12 - .../extension/src/shared/network/defaults.ts | 74 +- .../extension/src/shared/network/index.ts | 2 +- .../extension/src/shared/network/provider.ts | 25 +- .../extension/src/shared/network/schema.ts | 12 +- .../{interface.ts => INetworkService.ts} | 0 .../{implementation.ts => NetworkService.ts} | 2 +- .../src/shared/network/service/index.ts | 2 +- packages/extension/src/shared/network/txv3.ts | 21 - .../extension/src/shared/network/utils.ts | 25 +- .../nft/{interface.ts => INFTService.ts} | 2 +- .../index.test.ts => NFTService.test.ts} | 44 +- .../nft/{implementation.ts => NFTService.ts} | 20 +- .../nft/{test => __mocks__}/nft.mock.ts | 10 +- packages/extension/src/shared/nft/index.ts | 13 +- .../src/shared/nft/marketplaces/types.ts | 4 +- .../repositories/nft.ts => nft/store.ts} | 4 +- .../src/shared/nft/worker/interface.ts | 7 - packages/extension/src/shared/notification.ts | 68 - .../notifications/INotificationService.ts | 37 + .../src/shared/notifications/schema.ts | 11 + .../src/shared/onRamp/IOnRampService.ts | 6 + .../onboarding/IOnboardingService.ts} | 0 ...terface.ts => IPreAuthorizationService.ts} | 7 +- ...est.ts => PreAuthorizationService.test.ts} | 6 +- ...entation.ts => PreAuthorizationService.ts} | 23 +- .../src/shared/preAuthorization/index.ts | 6 + .../src/shared/preAuthorization/schema.ts | 4 +- .../shared/preAuthorization/service/index.ts | 6 - .../{store/index.ts => store.ts} | 8 +- .../src/shared/provision/interface.ts | 5 - .../extension/src/shared/provision/types.ts | 19 - .../interface.ts => IRecoveryService.ts} | 0 ...interface.ts => IRiskAssessmentService.ts} | 0 .../src/shared/riskAssessment/schema.ts | 2 +- ....test.ts => ChromeScheduleService.test.ts} | 16 +- ...omeService.ts => ChromeScheduleService.ts} | 8 +- .../{interface.ts => IScheduleService.ts} | 0 .../extension/src/shared/schedule/index.ts | 2 +- .../extension/src/shared/schedule/mock.ts | 2 +- .../features => shared}/send/schema.test.ts | 0 .../{ui/features => shared}/send/schema.ts | 7 - .../extension/src/shared/sentry/option.ts | 55 + packages/extension/src/shared/sentry/scope.ts | 30 + .../sentry/stripChromeExtensionPrefix.test.ts | 93 + .../sentry/stripChromeExtensionPrefix.ts | 3 + packages/extension/src/shared/sentry/types.ts | 10 + .../__fixtures__/session-message.json | 69 + .../src/shared/sessionKeys/schema.test.ts | 43 + .../src/shared/sessionKeys/schema.ts | 57 + .../src/shared/sessionKeys/whitelist.ts | 15 + .../shared/settings/defaultBlockExplorers.ts | 14 +- .../extension/src/shared/settings/store.ts | 4 +- .../extension/src/shared/settings/types.ts | 4 +- .../shared/shield/GuardianSignerArgentX.ts | 57 - .../extension/src/shared/shield/constants.ts | 3 - .../ISignatureReviewService.ts | 17 + .../src/shared/signatureReview/schema.ts | 72 + .../src/shared/signer/ArgentSigner.ts | 75 + .../src/shared/signer/BaseSignerInterface.ts | 11 + .../src/shared/signer/GuardianSignerV2.ts} | 148 +- .../src/shared/signer/LedgerSigner.ts | 210 + .../src/shared/signer/derivationPaths.ts | 36 + .../extension/src/shared/signer/index.test.ts | 42 + packages/extension/src/shared/signer/index.ts | 3 + packages/extension/src/shared/signer/types.ts | 4 + packages/extension/src/shared/signer/utils.ts | 39 + .../GuardianSelfSigner.ts | 13 +- .../smartAccount/ISmartAccountService.ts | 14 + .../smartAccount/SmartAccountService.ts | 47 + .../src/shared/smartAccount/account.ts | 281 + .../backend/account.ts | 91 +- .../{shield => smartAccount}/backend/time.ts | 2 +- .../changeGuardianCallDataToType.test.ts | 58 + .../changeGuardianCallDataToType.ts | 45 + .../src/shared/smartAccount/constants.ts | 3 + .../smartAccount/getChangeGuardianCalldata.ts | 53 + .../shared/{shield => smartAccount}/idb.ts | 3 +- .../src/shared/smartAccount/index.ts | 9 + .../shared/{shield => smartAccount}/jwt.ts | 2 +- .../{shield => smartAccount}/jwtFetcher.ts | 0 .../smartAccount/useSmartAccountEnabled.ts | 11 + .../validation/addBackendAccount.test.ts | 4 +- .../validation/addBackendAccount.ts | 4 +- .../validation/validateAccount.test.ts | 59 +- .../validation/validateAccount.ts | 27 +- .../validation/verification.ts | 0 .../{shield => smartAccount}/verifiedEmail.ts | 2 +- .../src/shared/starknetAccount/base.ts | 196 + .../src/shared/starknetAccount/index.ts | 214 + .../src/shared/starknetAccount/types.ts | 16 + .../__new/__test__/inmemoryImplementations.ts | 8 +- .../src/shared/storage/__new/chrome.ts | 2 +- .../storage/__test__/chrome-storage.mock.ts | 13 +- .../extension/src/shared/storage/array.ts | 8 +- .../src/shared/swap/model/order.model.ts | 5 +- .../{interface.ts => ISharedSwapService.ts} | 0 ...tion.test.ts => SharedSwapService.test.ts} | 24 +- ...implementation.ts => SharedSwapService.ts} | 12 +- .../src/shared/swap/service/index.ts | 2 +- .../src/shared/token/__new/constants.ts | 12 +- .../__new/repository/mergeTokens.test.ts | 37 + .../token/__new/repository/mergeTokens.ts | 19 +- .../shared/token/__new/repository/token.ts | 24 - .../token/__new/repository/tokenBalance.ts | 16 - .../token/__new/repository/tokenInfo.ts | 12 - .../token/__new/repository/tokenPrice.ts | 15 - .../{interface.ts => ITokenService.ts} | 6 +- ...mentation.test.ts => TokenService.test.ts} | 352 +- .../{implementation.ts => TokenService.ts} | 299 +- .../src/shared/token/__new/service/index.ts | 12 +- .../shared/token/__new/types/token.model.ts | 23 +- .../token/__new/types/tokenBalance.model.ts | 2 +- .../token/__new/types/tokenInfo.model.ts | 31 +- .../token/__new/types/tokenPrice.model.ts | 24 +- .../token/lookupTokenPriceDetails.test.ts | 2 +- .../src/shared/transactionReview.service.ts | 238 +- .../__fixtures__/fixtures.sh | 12 +- .../__fixtures__/non-native-jediswap.json | 217 +- .../__fixtures__/send-nft.json | 96 +- .../transactionReview/__fixtures__/send.json | 58 +- ...shield-add.json => smart-account-add.json} | 0 ...ield-keep.json => smart-account-keep.json} | 0 ...-remove.json => smart-account-remove.json} | 0 .../transactionReview/__fixtures__/swap.json | 331 +- .../src/shared/transactionReview/interface.ts | 44 +- .../shared/transactionReview/schema.test.ts | 138 - .../src/shared/transactionReview/schema.ts | 318 - .../src/shared/transactionReview/store.ts | 13 +- .../fees/estimatedFeesRepository.ts | 4 +- .../transactionSimulation/fees/fees.model.ts | 31 +- .../findTransferAndApproval.ts | 3 +- .../src/shared/transactionSimulation/types.ts | 5 +- .../transactionSimulation/utils.test.ts | 77 - .../src/shared/transactionSimulation/utils.ts | 333 - packages/extension/src/shared/transactions.ts | 20 +- .../getChangedStatusTransactions.test.ts | 70 + .../getChangedStatusTransactions.ts | 38 + .../src/shared/transactions/utils.test.ts | 1 + .../src/shared/transactions/utils.ts | 62 +- packages/extension/src/shared/udc/schema.ts | 2 +- .../ui/interface.ts => ui/IUIService.ts} | 22 +- packages/extension/src/shared/ui/UIMessage.ts | 26 + .../UIService.test.ts} | 4 +- .../ui/implementation.ts => ui/UIService.ts} | 35 +- .../{__new/services => }/ui/constants.ts | 0 .../shared/{__new/services => }/ui/index.ts | 2 +- .../extension/src/{ => shared}/ui/routes.ts | 175 +- .../src/shared/utils/accountsEqual.ts | 11 + .../src/shared/utils/accountsMultisigSort.ts | 55 +- .../src/shared/utils/argentAccountVersion.ts | 8 +- .../src/shared/utils/argentMaxFee.ts | 4 +- .../src/shared/utils/derivationPath.test.ts | 14 +- .../src/shared/utils/derivationPath.ts | 2 +- packages/extension/src/shared/utils/dev.ts | 3 +- .../src/shared/utils/encodeChainId.test.ts | 16 +- .../src/shared/utils/getContractAddress.ts | 14 + .../utils/getStandardAccountDiscoveryUrl.ts | 24 + .../src/shared/utils/getTransactionVersion.ts | 37 - .../utils/isSafeUpgradeTransaction.test.ts | 95 + .../shared/utils/isSafeUpgradeTransaction.ts | 27 + .../src/shared/utils/isUpgradeTransaction.ts | 15 - .../shared/utils/sanitizeAccountType.test.ts | 27 + .../src/shared/utils/sanitizeAccountType.ts | 17 + .../src/shared/utils/sanitizeSignerType.ts | 14 + packages/extension/src/shared/utils/schema.ts | 11 - .../src/shared/utils/sortByCurrencyValue.ts | 17 + .../src/shared/utils/starknetNetwork.ts | 35 +- .../src/shared/utils/transactionVersion.ts | 44 - packages/extension/src/shared/wallet.model.ts | 60 +- .../extension/src/shared/wallet.service.ts | 35 +- .../shared/wallet/getDefaultSortedAccount.ts | 18 + .../wallet/getDefaultSortedAccounts.test.ts | 64 + .../shared/wallet/sanitiseSelectedAccount.ts | 49 + .../src/shared/wallet/walletStore.ts | 9 +- .../extension/src/shared/warning/schema.ts | 33 - packages/extension/src/ui/App.tsx | 109 +- packages/extension/src/ui/AppRoutes.tsx | 292 +- .../extension/src/ui/AppThemeProvider.tsx | 28 + packages/extension/src/ui/app.state.ts | 36 +- .../src/ui/appicon/appicon-alpha.png | Bin 0 -> 6439 bytes .../extension/src/ui/appicon/appicon-beta.png | Bin 0 -> 6341 bytes .../appicon/appicon-default.png} | Bin .../src/ui/appicon/favicon-alpha.ico | Bin 0 -> 168591 bytes .../extension/src/ui/appicon/favicon-beta.ico | Bin 0 -> 168545 bytes .../src/ui/appicon/favicon-default.ico | Bin 0 -> 167177 bytes .../src/ui/{ => appicon}/favicon.ico | Bin .../src/ui/components/AddressCopyButton.tsx | 9 +- .../src/ui/components/CustomButtonCell.tsx | 12 +- .../ErrorBoundaryFallbackWithCopyError.tsx | 40 +- .../src/ui/components/FullScreenPage.tsx | 13 +- .../extension/src/ui/components/IconBar.tsx | 2 +- .../src/ui/components/Icons/GithubIcon.tsx | 19 - .../src/ui/components/ModalSheet.tsx | 2 +- .../src/ui/components/Notification.tsx | 59 + .../extension/src/ui/components/Options.tsx | 4 +- .../extension/src/ui/components/QrCode.tsx | 98 +- .../ui/components/StarknetIdCopyButton.tsx | 4 +- .../src/ui/components/StatusIndicator.tsx | 10 +- .../src/ui/components/StepIndicator.tsx | 48 +- .../accountActivity/AccountActivity.tsx | 24 +- .../AccountActivityContainer.tsx | 89 +- .../OffchainSignatureListItem.tsx | 106 + .../PendingMultisigTransactions.tsx | 442 +- .../accountActivity/PendingTransactions.tsx | 2 +- .../accountActivity/TransactionDetail.tsx | 36 +- .../TransactionDetailScreen.tsx | 13 +- .../TransactionListErrorItem.tsx | 4 +- .../accountActivity/TransactionListItem.tsx | 105 +- .../transform/__test__/tokensByNetwork.ts | 6 - .../transformers/provisionTransformer.ts | 54 - .../transaction/transformers/type.ts | 12 - .../accountActivity/ui/SwapAccessory.tsx | 2 +- .../ui/SwapTransactionIcon.tsx | 11 +- .../ui/TransactionCallDataBottomSheet.tsx | 2 +- .../accountActivity/ui/TransactionIcon.tsx | 70 +- .../accountActivity/ui/TransferAccessory.tsx | 10 +- .../accountActivity/ui/TransferTitle.tsx | 2 +- .../features/accountActivity/useActivity.ts | 12 - .../accountActivity/useArgentExplorer.ts | 11 +- .../useTransactionFees.test.ts | 4 +- .../accountActivity/useTransactionFees.ts | 11 +- .../AccountActivityContainerV2.tsx | 26 + .../ActivityDetailsScreen.tsx | 32 + .../ActivityDetailsScreenContainer.tsx | 76 + .../ActivityDetailsScreenEmpty.tsx | 45 + .../ActivityHistoryContainer.tsx | 141 + .../EmptyAccountActivity.tsx | 7 + .../MultisigAccountActivityContainer.tsx | 89 + .../ui/features/accountActivityV2/state.ts | 7 + .../accountNfts/AccountCollection.tsx | 2 +- .../AccountCollectionsContainer.tsx | 4 +- .../features/accountNfts/CollectionNfts.tsx | 2 +- .../CollectionNftsGenericError.tsx | 2 +- .../features/accountNfts/EmptyCollections.tsx | 42 +- .../ui/features/accountNfts/NftFallback.tsx | 4 +- .../src/ui/features/accountNfts/NftScreen.tsx | 6 +- .../accountNfts/NftScreenContainer.tsx | 2 +- .../accountPlugins.tsx/AddPluginScreen.tsx | 41 - .../ui/features/accountPlugins.tsx/Plugin.tsx | 112 - .../accountPlugins.tsx/PluginAccount.ts | 84 - .../features/accountPlugins.tsx/Plugins.tsx | 20 - .../accountPlugins.tsx/useIsPlugin.tsx | 30 - .../features/accountTokens/AccountBanners.tsx | 67 + .../AccountBannersAndTokenListContainer.tsx | 53 + .../accountTokens/AccountBannersContainer.tsx | 54 + .../accountTokens/AccountTokens.test.tsx | 70 - .../features/accountTokens/AccountTokens.tsx | 166 +- .../accountTokens/AccountTokensBalance.tsx | 64 + .../AccountTokensBalanceContainer.tsx | 28 + .../AccountTokensButtons.test.tsx | 1 - .../accountTokens/AccountTokensButtons.tsx | 99 +- .../AccountTokensButtonsContainer.tsx | 45 +- .../accountTokens/AccountTokensContainer.tsx | 158 +- .../accountTokens/AccountTokensHeader.tsx | 42 - .../accountTokens/ActivateMultisigBanner.tsx | 4 +- .../accountTokens/HideTokenScreen.tsx | 2 +- .../HideTokenScreenContainer.tsx | 15 +- .../features/accountTokens/NewTokenButton.tsx | 8 +- .../accountTokens/PrettyAccountBalance.tsx | 25 + .../SaveRecoverySeedphraseBanner.tsx | 6 +- .../ui/features/accountTokens/TokenIcon.tsx | 51 - .../ui/features/accountTokens/TokenList.tsx | 63 +- .../features/accountTokens/TokenListItem.tsx | 92 +- .../accountTokens/TokenListItemContainer.tsx | 20 +- .../ui/features/accountTokens/TokenMenu.tsx | 6 +- .../features/accountTokens/UpgradeBanner.tsx | 51 +- .../accountTokens/UpgradeBannerContainer.tsx | 81 + .../accountTokens/banner/useAirdropBanner.tsx | 58 - .../accountTokens/tokenPriceHooks.test.ts | 2 +- .../features/accountTokens/tokenPriceHooks.ts | 16 +- .../ui/features/accountTokens/tokens.state.ts | 126 +- .../accountTokens/useAccountStatus.ts | 46 - .../accountTokens/useAddFundsDialog.tsx | 29 +- .../useDisplayTokenAmountAndCurrencyValue.tsx | 6 +- .../accountTokens/useFeeTokenBalance.ts | 11 +- .../accountTokens/useIsAccountDeploying.ts | 29 + .../accountTokens/useMaxFeeForTransfer.ts | 32 +- .../accountTokens/usePrettyAccountBalance.ts | 2 +- .../accountTokens/usePromptUserReview.ts | 27 + .../accountTokens/useShowAccountUpgrade.ts | 46 + .../useTokenBalanceForAccount.ts | 10 +- .../warning/AccountDeprecatedBanner.tsx | 4 +- .../warning/AccountDeprecatedModal.tsx | 14 +- .../warning/AccountOwnerBanner.tsx | 4 +- .../warning/AccountOwnerWarningScreen.tsx | 14 +- .../src/ui/features/accounts/Account.ts | 37 +- .../accounts/AccountAddressListItem.tsx | 17 +- .../AccountAddressListItemSaveAccessory.tsx | 4 +- .../ui/features/accounts/AccountContainer.tsx | 168 - ...BarContainer.tsx => AccountListFooter.tsx} | 25 +- .../accounts/AccountListFooterContainer.tsx | 40 + .../accounts/AccountListHiddenScreen.test.tsx | 6 +- .../AccountListHiddenScreenContainer.tsx | 11 +- .../ui/features/accounts/AccountListItem.tsx | 27 +- .../AccountListItemDeprecatedBadge.tsx | 6 +- .../accounts/AccountListItemLedgerBadge.tsx | 22 + .../AccountListItemShieldBadgeContainer.tsx | 19 - ...x => AccountListItemSmartAccountBadge.tsx} | 22 +- ...ountListItemSmartAccountBadgeContainer.tsx | 21 + .../accounts/AccountListItemUpgradeBadge.tsx | 10 +- .../features/accounts/AccountListScreen.tsx | 117 +- .../accounts/AccountListScreenContainer.tsx | 86 +- .../accounts/AccountListScreenItem.test.tsx | 2 +- .../accounts/AccountListScreenItem.tsx | 4 +- .../AccountListScreenItemContainer.tsx | 63 +- .../accounts/AccountNavigationBar.tsx | 46 +- .../AccountNavigationBarContainer.tsx | 15 +- .../features/accounts/AccountScreenEmpty.tsx | 8 +- .../accounts/AccountScreenEmptyContainer.tsx | 10 +- .../ui/features/accounts/AccountSelect.tsx | 38 +- .../accounts/AddNewAccountScreen.test.tsx | 258 +- .../features/accounts/AddNewAccountScreen.tsx | 85 +- .../accounts/AddNewAccountScreenContainer.tsx | 92 +- .../accounts/AddressBookMenu.test.tsx | 6 +- .../accounts/ClickableShieldBanner.tsx | 37 - .../accounts/ClickableSmartAccountBanner.tsx | 50 + .../features/accounts/DeployAccountScreen.tsx | 4 +- .../accounts/DeprecatedAccountsWarning.tsx | 12 +- .../features/accounts/GroupedAccountList.tsx | 14 +- .../features/accounts/HiddenAccountsBar.tsx | 15 - .../HideOrDeleteAccountConfirmScreen.test.tsx | 8 +- .../HideOrDeleteAccountConfirmScreen.tsx | 86 +- ...eOrDeleteAccountConfirmScreenContainer.tsx | 21 +- .../SmartAccountDetailedDescription.tsx | 35 + ...SmartAccountDetailsDescriptionImproved.tsx | 35 + .../ui/features/accounts/WarningScreen.tsx | 4 +- .../accounts/accountListItem.model.ts | 7 +- .../features/accounts/accountMetadata.test.ts | 6 +- .../accounts/accountNavigationBar.model.ts | 3 +- .../accounts/accountTransactions.state.ts | 56 +- .../accounts/accountUpgradeCheck.test.ts | 2 +- .../features/accounts/accountUpgradeCheck.ts | 18 +- .../ui/features/accounts/accounts.service.ts | 32 +- .../ui/features/accounts/accounts.state.ts | 93 +- .../accounts/getDefaultSortedAccount.ts | 18 + .../accounts/getDefaultSortedAccounts.test.ts | 64 + .../hideOrDeleteAccountConfirmScreen.model.ts | 1 + .../accounts/networkTransactions.state.ts | 20 +- .../src/ui/features/accounts/switchAccount.ts | 26 +- .../features/accounts/ui/AccountTypesList.tsx | 138 + .../features/accounts/useAccountOrContact.ts | 34 +- .../accounts/useAccountTypesForNetwork.tsx | 117 +- .../accounts/useOnSettingsNavigate.ts | 13 +- .../src/ui/features/accounts/usePublicKey.ts | 82 +- .../src/ui/features/actions/ActionScreen.tsx | 4 +- .../actions/AddNetworkScreen.test.tsx | 4 +- .../features/actions/AddTokenScreen.test.tsx | 2 +- .../ui/features/actions/AddTokenScreen.tsx | 10 +- .../actions/AddTokenScreenContainer.tsx | 65 +- .../features/actions/ApproveDeployAccount.tsx | 34 +- .../actions/ApproveSignatureScreen.test.tsx | 4 +- .../actions/ApproveSignatureScreen.tsx | 4 +- .../ApproveSignatureScreenContainer.tsx | 50 +- .../DeclareContractActionScreenContainer.tsx | 16 +- .../DeployAccountActionScreenContainer.tsx | 63 +- .../DeployContractActionScreenContainer.tsx | 14 +- .../DeployMultisigActionScreenContainer.tsx | 79 +- .../actions/DeprecatedConfirmScreen.tsx | 203 - .../features/actions/ErrorScreenContainer.tsx | 4 +- .../actions/ExecuteFromOutsideScreen.tsx | 2 +- .../actions/LoadingScreenContainer.tsx | 4 +- .../actions/SignActionScreenContainer.tsx | 7 +- .../SignatureRequestRejectedScreen.tsx | 4 +- .../features/actions/SwitchNetworkScreen.tsx | 4 +- .../TransactionActionScreenContainer.tsx | 57 - .../features/actions/__fixtures__/accounts.ts | 32 +- .../features/actions/__fixtures__/aspect.ts | 2 +- .../actions/__fixtures__/dataToSign.ts | 6 +- .../connectDapp/ConnectDappAccountSelect.tsx | 18 +- .../connectDapp/ConnectDappScreen.test.tsx | 5 +- .../actions/connectDapp/ConnectDappScreen.tsx | 7 +- .../ConnectDappScreenContainer.test.tsx | 5 +- .../ConnectDappScreenContainer.tsx | 10 +- .../features/actions/connectDapp/DappIcon.tsx | 2 +- .../connectDapp/useDappDisplayAttributes.ts | 4 +- .../CombinedFeeEstimation.test.tsx | 113 - .../feeEstimation/CombinedFeeEstimation.tsx | 221 - .../CombinedFeeEstimationContainer.tsx | 110 - .../DeployAccountFeeEstimation.tsx | 112 +- .../feeEstimation/FeeEstimation.test.tsx | 6 +- .../actions/feeEstimation/FeeEstimation.tsx | 14 +- .../feeEstimation/FeeEstimationContainer.tsx | 116 - .../__fixtures__/combinedFeeEstimation.ts | 115 - .../__fixtures__/feeEstimation.ts | 6 + .../feeEstimation/__fixtures__/feeToken.ts | 2 +- .../feeEstimation/__fixtures__/index.ts | 1 - .../actions/feeEstimation/feeError.ts | 4 - .../feeEstimation/feeEstimation.model.ts | 2 +- .../features/actions/feeEstimation/types.ts | 6 +- .../feeEstimation/ui/CopyErrorIcon.tsx | 4 +- .../feeEstimation/ui/FeeEstimationText.tsx | 4 +- .../feeEstimation/ui/FeeTokenPickerModal.tsx | 2 +- .../ui/InsufficientFundsAccordion.tsx | 4 +- .../feeEstimation/ui/TokenOptionContainer.tsx | 48 +- .../actions/feeEstimation/ui/TokenPicker.tsx | 4 +- .../feeEstimation/ui/TokenPickerScreen.tsx | 3 +- .../ui/TransactionFailureAccordion.tsx | 4 +- .../feeEstimation/useRequiresTxV3Upgrade.ts | 14 +- .../features/actions/feeEstimation/utils.tsx | 41 +- .../features/actions/hooks/useActionScreen.ts | 48 +- .../actions/hooks/useLedgerCloseOnError.ts | 22 + .../actions/hooks/useLedgerForTransaction.ts | 61 + .../features/actions/hooks/usePortfolioUrl.ts | 8 +- .../features/actions/hooks/usePrettyError.ts | 13 + .../ActionScreenErrorFooter.tsx | 61 - .../ApproveTransactionScreen.test.tsx | 143 +- .../ApproveTransactionScreen.tsx | 275 +- .../ApproveTransactionScreenContainer.tsx | 173 +- .../BalanceChangeOverviewArgentX.tsx | 305 - .../ConfirmScreen.tsx | 76 +- .../DappHeader/DappHeaderArgentX.tsx | 2 +- .../TransactionIcon/ActivateAccountIcon.tsx | 4 +- .../TransactionIcon/ActivateMultisigIcon.tsx | 4 +- .../TransactionIcon/AddArgentShieldIcon.tsx | 13 - .../TransactionIcon/AddOwnerIcon.tsx | 4 +- .../DeclareTransactionIcon.tsx | 5 +- .../DowngradeSmartAccountIcon.tsx | 13 + .../RemoveArgentShieldIcon.tsx | 13 - .../TransactionIcon/RemoveOwnerIcon.tsx | 4 +- .../TransactionIcon/ReplaceOwnerIcon.tsx | 4 +- .../TransactionIcon/SendTransactionIcon.tsx | 7 +- .../TransactionIcon/SwapTransactionIcon.tsx | 12 +- .../TransactionIcon/UnknownDappIcon.tsx | 4 +- .../TransactionIcon/UnknownTokenIcon.tsx | 4 +- .../TransactionIcon/UpdateThresholdIcon.tsx | 4 +- .../UpgradeSmartAccountIcon.tsx | 13 + .../DappHeader/TransactionIcon/index.test.tsx | 2 + .../DappHeader/TransactionIcon/index.tsx | 14 +- .../DappHeader/TransactionTitleArgentX.tsx | 17 +- .../NftDetailsArgentXContainer.tsx | 54 - .../SimulationLoadingBanner.tsx | 13 - .../TransactionActions.tsx | 33 +- .../TransactionBanner.tsx | 27 - .../WithActionScreenErrorFooter.tsx | 24 +- .../approveTransactionScreen.model.ts | 23 +- .../ledger/LedgerActionModal.tsx | 99 + .../ledger/LedgerModalBottomDialog.tsx | 273 + .../ledger/assets/ledger-nano-connected.svg | 28 + .../assets/ledger-nano-disconnected.svg | 28 + ...er.tsx => MultisigConfirmationsBanner.tsx} | 29 +- .../transaction/airgap/AirGapReviewButton.tsx | 81 + .../transaction/airgap/AirGapReviewScreen.tsx | 122 + .../transaction/executeFromOutside/model.ts | 42 - .../useValidateOutsideExecution.test.ts | 189 + .../useValidateOutsideExecution.ts | 55 + .../executeFromOutside/utils.test.ts | 73 - .../transaction/executeFromOutside/utils.ts | 51 +- .../executeFromOutside/whitelist.ts | 11 - .../actions/transaction/fields/FeeField.tsx | 2 +- .../actions/transaction/fields/TokenField.tsx | 3 +- .../ui/features/actions/transaction/types.ts | 9 +- .../transaction/useTransactionReview.ts | 50 - .../useTransactionSimulatedData.ts | 22 +- .../transaction/useTransactionSimulation.ts | 10 +- .../transactionV2/AmountEditModalForm.tsx | 10 +- .../FeeEstimationContainerV2.tsx | 40 +- .../actions/transactionV2/ReviewFallback.tsx | 5 +- .../transactionV2/SessionKeyReview.tsx | 171 + .../SignActionScreenContainerV2.tsx | 171 +- .../transactionV2/SignActionScreenV2.tsx | 119 +- .../TransactionActionScreenContainer.tsx | 720 + .../TransactionActionScreenContainerV2.tsx | 523 - .../TransactionHeader/AccountDetails.tsx | 24 - .../TransactionIcon/DappIcon.tsx | 8 - .../transactionV2/TransactionReviewLabel.tsx | 19 - .../action/TransactionReviewAction.tsx | 71 - .../action/TransactionReviewActions.tsx | 25 - .../action/TransactionReviewSignAction.tsx | 112 - .../action/properties/AddressProperty.tsx | 41 - .../action/properties/AmountProperty.tsx | 32 - .../action/properties/CallDataProperty.tsx | 33 - .../action/properties/TextProperty.tsx | 5 - .../action/properties/TimeStampProperty.tsx | 9 - .../properties/TokenAddressProperty.tsx | 31 - .../TransactionReviewProperties.tsx | 24 - .../properties/TransactionReviewProperty.tsx | 40 - .../action/properties/ui/AddressActions.tsx | 72 - .../action/properties/ui/AddressTooltip.tsx | 38 - .../action/properties/ui/CallDataModal.tsx | 41 - .../AccountDetailsNavigationContainer.tsx | 28 + .../header/NavigationBarAccountDetails.tsx | 85 + .../NavigationBarAccountDetailsContainer.tsx | 26 + .../transactionV2/header/SessionKeyHeader.tsx | 73 + .../TransactionHeader.tsx} | 6 +- .../TransactionTitle.tsx | 0 .../transactionV2/header/icon/DappIcon.tsx | 14 + .../icon}/IconWrapper.tsx | 0 .../icon}/KnownIcon.tsx | 6 +- .../icon/TransactionIcon.tsx} | 9 +- .../icon}/UnknownDappIcon.tsx | 4 +- .../transactionV2/header/icon/index.ts | 3 + .../actions/transactionV2/header/index.ts | 3 + .../TransactionReviewSimulation.tsx | 54 - .../summary/TransactionReviewSummary.tsx | 92 - .../summary/TransactionReviewSummaryStack.tsx | 15 - .../actions/transactionV2/useAirGapData.ts | 37 + .../useFeeTokenSelection.test.ts | 173 + .../transactionV2/useFeeTokenSelection.ts | 95 + .../transactionV2/useMultisigActionScreen.tsx | 50 +- .../transactionV2/useTransactionHash.ts | 39 + .../useTransactionReviewV2.test.ts | 131 + .../transactionV2/useTransactionReviewV2.ts | 183 +- .../utils/getAmpliPayloadFromReview.ts | 12 + .../utils/getPrettyRpcError.test.ts | 51 - .../transactionV2/utils/getPrettyRpcError.ts | 14 - .../utils/hasFeeTokenEnoughBalance.ts | 26 + .../ui/features/actions/useBestFeeToken.ts | 63 - .../ui/features/actions/useDefaultFeeToken.ts | 29 + .../src/ui/features/actions/utils.test.ts | 6 +- .../src/ui/features/actions/utils.ts | 17 +- .../actions/warning/ConfirmationModal.tsx | 8 +- .../actions/warning/WarningBanner.tsx | 35 +- .../features/actions/warning/WarningModal.tsx | 132 +- .../actions/warning/WarningModalContainer.tsx | 48 + .../features/actions/warning/helper.test.ts | 90 +- .../src/ui/features/actions/warning/helper.ts | 32 +- .../ui/features/actions/warning/warningMap.ts | 133 +- .../ArgentAccountBaseEmailScreen.tsx | 51 +- .../ArgentAccountEmailScreen.tsx | 6 +- .../ArgentAccountFeaturesList.tsx | 56 +- .../ArgentAccountLoggedInScreen.tsx | 13 +- .../ArgentAccountLoggedInScreenContainer.tsx | 24 +- .../argentAccountBaseEmailScreen.model.ts | 7 +- .../hooks/useArgentAccountTokenExpired.tsx | 14 +- .../hooks/useEmailPreferences.tsx | 11 - .../argentAccount/hooks/useIsSignedIn.tsx | 9 +- .../src/ui/features/browser/constants.ts | 13 - .../ui/features/browser/useOriginatingHost.ts | 27 - .../extension/src/ui/features/dev/DevUI.tsx | 131 +- .../src/ui/features/dev/hotReload.ts | 4 +- .../discover/AccountDiscoverScreen.tsx | 4 +- .../AccountDiscoverScreenContainer.tsx | 9 +- .../ui/features/discover/ui/NewsItemCard.tsx | 29 +- .../features/funding/FundingBridgeScreen.tsx | 18 +- .../funding/FundingFaucetFallbackScreen.tsx | 6 +- .../funding/FundingFaucetSepoliaScreen.tsx | 62 + .../features/funding/FundingOnRampOption.tsx | 27 +- .../funding/FundingProviderScreen.tsx | 34 +- .../features/funding/FundingQrCodeScreen.tsx | 4 +- .../funding/FundingQrCodeScreenContainer.tsx | 2 +- .../src/ui/features/funding/FundingScreen.tsx | 18 +- .../CreateMultisigWithLedgerScreen.tsx | 70 + .../ImportLedgerAccounts.tsx | 193 + .../ImportLedgerAccountsContainer.tsx | 38 + .../ImportLedgerAccountsError.tsx | 15 + .../ImportLedgerAccountsLoading.tsx | 13 + .../ImportLedgerAccountsSuccess.tsx | 79 + .../ImportLedgerAccounts/Pagination.tsx | 76 + .../JoinMultisigSidePanel.tsx | 28 + .../JoinMultisigWithLedger.tsx | 84 + .../LedgerConnect/ConnectInstructionBox.tsx | 71 + .../LedgerConnect/LedgerConnectSidePanel.tsx | 65 + .../LedgerConnect/LedgerConnectStep.tsx | 114 + .../LedgerConnect/LedgerConnectionError.tsx | 24 + .../LedgerConnect/LedgerIllustration.tsx | 133 + .../ui/features/ledger/LedgerStartScreen.tsx | 103 + .../RestoreDetecting.tsx | 33 + .../RestoreFound.tsx | 74 + .../RestoreMultisigSidePanel.tsx | 32 + .../RestoreMultisigWithLedger.tsx | 56 + .../RestoreNotFound.tsx | 45 + .../ledger/hooks/useGetLedgerAccounts.ts | 49 + .../ledger/hooks/useIsLedgerSigner.ts | 9 + .../features/ledger/hooks/useLedgerConnect.ts | 33 + .../ledger/hooks/useLedgerDeviceConnection.ts | 49 + .../features/ledger/hooks/useLedgerStatus.ts | 10 + .../features/ledger/hooks/useOnLedgerStart.ts | 28 + .../useRestoreMultisigWithLedgerCallback.ts | 24 + .../src/ui/features/ledger/layout/Panel.tsx | 13 + .../features/ledger/layout/ScreenLayout.tsx | 133 + .../src/ui/features/ledger/utils/index.ts | 16 + .../src/ui/features/lock/LockScreen.tsx | 36 +- .../src/ui/features/lock/PasswordForm.tsx | 11 +- .../src/ui/features/lock/ResetScreen.tsx | 188 +- .../src/ui/features/lock/WithLockScreen.tsx | 21 + .../src/ui/features/multisig/AddOwnerForm.tsx | 32 +- .../CreateMultisigStartScreen.tsx | 55 +- .../MultisigCreationForm.tsx | 65 + .../MultisigFirstStep.test.tsx | 4 +- .../MultisigFirstStep.tsx | 68 +- .../MultisigSecondStep.tsx | 98 +- .../MultisigThirdStep.tsx | 61 +- .../CreateMultisigScreen/ScreenLayout.tsx | 14 +- .../features/multisig/JoinMultisigScreen.tsx | 33 +- .../multisig/JoinMultisigSettingsScreen.tsx | 3 +- .../multisig/MultisigAddOwnersScreen.tsx | 15 +- .../ui/features/multisig/MultisigBanner.tsx | 4 +- .../multisig/MultisigConfirmationsScreen.tsx | 27 +- .../multisig/MultisigListAccounts.tsx | 4 +- .../MultisigListScreenItemContainer.tsx | 4 +- .../ui/features/multisig/MultisigOwner.tsx | 12 +- .../multisig/MultisigOwnerNameModal.tsx | 2 +- .../multisig/MultisigOwnersScreen.tsx | 20 +- ...gPendingOffchainSignatureDetailsScreen.tsx | 148 + ...ultisigPendingTransactionDetailsScreen.tsx | 250 +- .../multisig/MultisigPendingTxModal.tsx | 57 - .../multisig/MultisigRemoveOwnerModal.tsx | 2 +- .../multisig/MultisigRemoveOwnerScreen.tsx | 18 +- .../multisig/MultisigReplaceOwnerScreen.tsx | 18 +- .../multisig/MultisigSettingsWrapper.tsx | 4 +- .../MultisigSignatureScreenWarning.tsx | 33 + .../MultisigSignerSelectionScreen.tsx | 137 + ...MultisigTransactionConfirmationsScreen.tsx | 217 +- ...ransactionConfirmationsScreenContainer.tsx | 157 + .../features/multisig/NewMultisigScreen.tsx | 94 +- .../multisig/PendingMultisigListItem.tsx | 17 +- .../PendingMultisigListScreenItem.tsx | 7 +- .../features/multisig/RejectOnChainModal.tsx | 67 + .../RemovedMultisigSettingsScreen.tsx | 3 +- ...RemovedMultisigSettingsScreenContainer.tsx | 16 +- .../multisig/RemovedMultisigWarningScreen.tsx | 2 +- .../multisig/SetConfirmationsInput.tsx | 12 +- .../hooks/useCreatePendingMultisig.ts | 24 +- .../hooks/useHasDimissedUpgradeBanner.tsx | 21 + .../multisig/hooks/useIsSignerInMultisig.ts | 23 - .../useLedgerForPendingMultisigTransaction.ts | 40 + .../hooks/useOnArgentSignerSelection.ts | 47 + .../src/ui/features/multisig/multisig.mock.ts | 6 +- .../ui/features/multisig/multisig.state.ts | 84 +- .../multisigOffchainSignatures.state.ts | 52 + .../multisig/multisigTransactions.state.ts | 93 +- .../NetworkSwitcher/NetworkSwitcherButton.tsx | 1 - .../NetworkSwitcher/NetworkSwitcherList.tsx | 19 +- .../NetworkWarningScreen.tsx | 10 +- .../NetworkWarningScreenContainer.tsx | 3 +- .../networks/hooks/useCurrentNetwork.ts | 16 +- .../networks/hooks/useIsDefaultNetwork.ts | 7 +- .../features/networks/hooks/useIsMainnet.ts | 7 +- .../ui/features/networks/hooks/useNetworks.ts | 1 - .../OnboardingAccountTypeScreen.tsx | 59 + ...oardingAccountTypeScreenContainer.test.tsx | 130 + .../OnboardingAccountTypeScreenContainer.tsx | 90 + .../OnboardingFinishScreen.test.tsx | 89 +- .../onboarding/OnboardingFinishScreen.tsx | 52 +- .../OnboardingFinishScreenContainer.tsx | 7 - .../OnboardingPasswordScreen.test.tsx | 16 +- .../onboarding/OnboardingPasswordScreen.tsx | 13 +- .../OnboardingPasswordScreenContainer.tsx | 37 +- .../onboarding/OnboardingPrivacyScreen.tsx | 8 +- .../OnboardingPrivacyScreenContainer.tsx | 19 +- ...OnboardingRestoreBackupScreenContainer.tsx | 6 +- ...boardingRestorePasswordScreenContainer.tsx | 30 +- .../OnboardingRestoreSeedScreen.test.tsx | 2 +- .../OnboardingRestoreSeedScreen.tsx | 17 +- .../OnboardingRestoreSeedScreenContainer.tsx | 5 +- ...OnboardingSmartAccountEmailScreen.test.tsx | 82 + .../OnboardingSmartAccountEmailScreen.tsx | 138 + .../OnboardingSmartAccountErrorScreen.tsx | 34 + .../OnboardingSmartAccountOTPScreen.test.tsx | 159 + .../OnboardingSmartAccountOTPScreen.tsx | 74 + .../onboarding/OnboardingStartScreen.test.tsx | 11 +- .../onboarding/OnboardingStartScreen.tsx | 20 +- .../OnboardingStartScreenContainer.tsx | 43 +- .../features/onboarding/ui/ArgentLinksRow.tsx | 106 + .../ui/features/onboarding/ui/KeyAsset.tsx | 133 + .../ui/features/onboarding/ui/LockAsset.tsx | 143 + .../ui/features/onboarding/ui/MobileAsset.tsx | 75 + .../onboarding/ui/OnboardingCheckbox.tsx | 4 +- .../onboarding/ui/OnboardingScreen.tsx | 10 +- .../ui/OnboardingSmartAccountFeaturesRow.tsx | 96 + .../onboarding/ui/OnboardingToastMessage.tsx | 6 +- .../onboarding/ui/OnchainRecoveryAsset.tsx | 102 + .../ui/features/recovery/CopySeedPhrase.tsx | 4 +- .../features/recovery/RecoverySetupScreen.tsx | 11 +- .../recovery/SeedRecoverySetupScreen.tsx | 12 +- .../hasSavedRecoverySeedphraseAtom.tsx | 2 +- .../recovery/hooks/useCustomNavigate.ts | 2 +- .../ui/features/recovery/recovery.service.ts | 89 - .../recovery/seedRecovery.state.test.ts | 8 +- .../features/recovery/seedRecovery.state.ts | 17 +- .../features/recovery/ui/SeedPhraseGrid.tsx | 5 +- .../src/ui/features/root/RootTabs.tsx | 112 + .../ui/features/root/RootTabsContainer.tsx | 74 + .../src/ui/features/root/RootTabsScreen.tsx | 33 + .../RootTabsScreenContainer.tsx} | 62 +- .../features/send/AccountListWithBalance.tsx | 2 + .../src/ui/features/send/NftInput.tsx | 6 +- .../SendAmountAndAssetNftScreenContainer.tsx | 8 +- .../send/SendAmountAndAssetScreen.tsx | 12 +- .../SendAmountAndAssetScreenContainer.tsx | 11 +- ...SendAmountAndAssetTokenScreenContainer.tsx | 154 +- .../src/ui/features/send/SendAssetScreen.tsx | 8 +- .../SendCollectionNftsScreenContainer.tsx | 4 +- .../ui/features/send/SendRecipientScreen.tsx | 12 +- .../send/SendRecipientScreenContainer.tsx | 23 +- .../src/ui/features/send/TokenAmountInput.tsx | 21 +- .../ui/features/send/useFilteredAccounts.ts | 6 +- .../features/send/useFilteredCollections.ts | 7 +- .../ui/features/send/useFilteredContacts.ts | 6 +- .../src/ui/features/send/useFilteredTokens.ts | 6 +- .../send/useGetAddressFromDomainName.ts | 2 +- .../src/ui/features/send/useSendQuery.ts | 7 + .../ui/features/settings/SettingsScreen.tsx | 32 +- .../settings/SettingsScreenContainer.tsx | 25 +- .../settings/account/AccountEditButtons.tsx | 153 - .../AccountEditButtons/AccountEditButtons.tsx | 41 + .../AccountEditButtonsContainer.tsx | 21 + .../AccountEditButtonsLedger.tsx | 72 + .../AccountEditButtonsMultisig.tsx | 32 + .../buttons/ConnectedDappsButton.tsx | 26 + .../buttons/DeployAccountButton.tsx | 32 + .../buttons/HideOrDeleteAccountButton.tsx | 59 + .../buttons/MultisigOwnersButton.tsx | 38 + .../buttons/MultisigThresholdButton.tsx | 61 + .../buttons/PrivateKeyExportButton.tsx | 30 + .../buttons/PublicKeyExportButton.tsx | 26 + .../buttons/SmartAccountToggleButton.tsx | 100 + .../buttons/ViewOnExplorerButton.tsx | 47 + .../account/AccountEditButtonsMultisig.tsx | 80 - .../settings/account/AccountEditName.tsx | 4 +- .../account/AccountSettingsScreen.tsx | 64 +- .../ChangeAccountImplementationScreen.tsx | 10 +- .../account/ExportPrivateKeyScreen.tsx | 58 +- .../account/ExportPublicKeyScreen.test.tsx | 59 + .../account/ExportPublicKeyScreen.tsx | 101 + .../settings/account/Implementation.tsx | 4 +- .../AddressBookAddOrEditScreen.tsx | 4 +- .../addressBook/AddressBookSettingsScreen.tsx | 4 +- .../AddressBookSettingsScreenContainer.tsx | 2 +- .../DappConnectionsAccountListScreen.tsx | 13 +- ...pConnectionsAccountListScreenContainer.tsx | 7 +- .../DappConnectionsAccountScreen.tsx | 4 +- .../DappConnectionsAccountScreenContainer.tsx | 10 +- .../DeveloperSettingsScreen.tsx | 6 +- .../DeveloperSettingsScreenContainer.tsx | 1 + .../ClearLocalStorageScreen.tsx | 79 +- .../deploymentData/DeploymentDataScreen.tsx | 6 +- .../downloadLogs/DownloadLogsScreen.test.tsx | 100 + .../downloadLogs/DownloadLogsScreen.tsx | 135 + .../developerSettings/downloadLogs/utils.ts | 83 + .../NetworkSettingsEditScreen.tsx | 2 +- .../NetworkSettingsFormScreen.tsx | 4 +- .../NetworkSettingsFormScreenContainer.tsx | 15 +- .../manageNetworks/NetworkSettingsScreen.tsx | 4 +- .../NetworkSettingsScreenContainer.tsx | 16 +- .../manageNetworks/validateRemoveNetwork.ts | 48 +- .../ClassHashInputActions.tsx | 4 +- .../ClassHashOption.tsx | 3 +- .../DeclareOrDeployContractSuccessScreen.tsx | 4 +- ...OrDeployContractSuccessScreenContainer.tsx | 2 +- .../DeclareSmartContractForm.tsx | 16 +- .../DeploySmartContractForm.tsx | 7 +- .../DeploySmartContractParameters.tsx | 11 +- ...DeploySmartContractParametersContainer.tsx | 4 +- .../SmartContractDevelopmentScreen.tsx | 12 +- .../ui/ContractWithClassHash.tsx | 4 +- .../ui/FileInputButton.tsx | 4 +- .../BlockExplorerSettingsScreenContainer.tsx | 5 + .../EmailNotificationsSettingsScreen.tsx | 61 - ...ilNotificationsSettingsScreenContainer.tsx | 64 - .../NftMarketplaceSettingsScreenContainer.tsx | 5 + .../preferences/PreferencesSettings.tsx | 62 +- .../PreferencesSettingsContainer.tsx | 42 +- .../BeforeYouContinueScreen.tsx | 2 +- .../SecurityAndPrivacySettingsScreen.tsx | 2 +- ...urityAndPrivacySettingsScreenContainer.tsx | 2 +- .../features/settings/ui/SettingsMenuItem.tsx | 6 +- .../settings/ui/SettingsMenuItemLogo.tsx | 6 +- .../settings/ui/SettingsNetworkListItem.tsx | 4 +- .../settings/ui/SettingsRadioIcon.tsx | 7 +- .../ui/features/settings/ui/SupportFooter.tsx | 23 +- .../settings/ui/WarningRecoveryBanner.tsx | 4 +- .../features/shield/ShieldAccountActivate.tsx | 37 - .../shield/ShieldAccountDeactivate.tsx | 33 - .../shield/ShieldAccountNotDeployed.tsx | 19 - .../shield/ShieldAccountStartScreen.tsx | 109 - .../shield/ShieldBaseActionScreen.tsx | 46 - .../features/shield/ShieldBaseOTPScreen.tsx | 260 - .../shield/ShieldValidationErrorScreen.tsx | 80 - .../shield/escape/WithEscapeWarning.tsx | 14 - .../shield/escape/accountHasEscape.ts | 4 - .../shield/ui/ShieldLearnMoreButton.tsx | 14 - .../src/ui/features/shield/useRouteAccount.ts | 14 - .../shield/useYupValidationResolver.ts | 49 - .../CreateSmartAccountEmailScreen.tsx | 28 + .../CreateSmartAccountOTPScreen.tsx | 42 + .../SmartAccountActionScreen.tsx} | 19 +- .../smartAccount/SmartAccountActivate.tsx | 41 + .../SmartAccountBaseActionScreen.tsx | 57 + .../SmartAccountBaseFinishScreen.tsx} | 64 +- .../SmartAccountBaseOTPScreen.tsx | 65 + .../SmartAccountEmailScreen.tsx} | 11 +- .../SmartAccountFinishScreen.tsx} | 13 +- .../smartAccount/SmartAccountNotReady.tsx | 19 + .../smartAccount/SmartAccountOTPForm.tsx | 281 + .../SmartAccountOTPScreen.tsx} | 18 +- .../smartAccount/SmartAccountStartScreen.tsx | 57 + .../SmartAccountValidationErrorScreen.tsx | 48 + .../WithSmartAccountVerified.tsx} | 110 +- .../escape/EscapeBanner.tsx | 31 +- .../escape/EscapeGuardian.tsx | 22 +- .../escape/EscapeGuardianReady.tsx | 16 +- .../escape/EscapeSigner.tsx | 18 +- .../escape/EscapeWarningScreen.tsx | 14 +- .../escape/UseAccountEscapeWarning.tsx | 14 + .../smartAccount/escape/accountHasEscape.ts | 4 + .../escape/escapeWarningStore.ts | 0 .../escape/useAccountEscape.test.ts | 0 .../escape/useAccountEscape.ts | 41 +- .../smartAccount.state.ts} | 2 +- .../smartAccount/ui/SmartAccountError.tsx | 54 + .../ui/SmartAccountExternalLinkButton.tsx} | 6 +- .../ui/SmartAccountIconRow.tsx} | 8 +- .../ui/SmartAccountLearnMoreButton.tsx | 13 + .../useAccountGuardian.ts | 0 .../usePendingChangingGuardian.ts | 43 +- .../smartAccount/useRouteWalletAccount.ts | 15 + .../useSmartAccountVerifiedEmail.ts} | 4 +- .../useToggleSmartAccountRoute.ts | 59 + .../CaptureEntryRouteRestorationState.tsx | 10 + .../stateRestoration/useRestorationState.ts | 5 +- .../statusMessage/StatusMessageBanner.tsx | 9 +- .../statusMessage/StatusMessageFullScreen.tsx | 6 +- .../statusMessage/useStatusMessage.ts | 7 +- .../extension/src/ui/features/swap/NoSwap.tsx | 5 +- .../src/ui/features/swap/Swap.test.tsx | 41 +- .../extension/src/ui/features/swap/Swap.tsx | 55 +- .../ui/features/swap/SwapScreenContainer.tsx | 9 + .../swap/hooks/useSwapCallback.test.ts | 8 + .../ui/features/swap/hooks/useSwapCallback.ts | 1 + .../features/swap/hooks/useSwapQuoteForPay.ts | 4 +- .../src/ui/features/swap/state/fields.ts | 9 +- .../src/ui/features/swap/ui/MaxEthModal.tsx | 47 - .../src/ui/features/swap/ui/OwnedToken.tsx | 3 +- .../src/ui/features/swap/ui/SlippageModal.tsx | 24 +- .../ui/features/swap/ui/SwapInputPanel.tsx | 35 +- .../ui/features/swap/ui/SwapPricesInfo.tsx | 6 +- .../ui/features/swap/ui/SwapQuoteRefresh.tsx | 4 +- .../ui/features/swap/ui/SwapTokensModal.tsx | 9 +- .../ui/features/swap/ui/SwapTradeLoading.tsx | 2 +- .../src/ui/features/swap/ui/TokenPrice.tsx | 3 +- .../src/ui/features/swap/utils/constants.ts | 2 - .../src/ui/features/swap/utils/index.test.ts | 95 +- .../src/ui/features/swap/utils/index.ts | 53 +- .../transactionReview/signature/fixtures.ts | 2 +- .../userReview/ReviewFeedbackScreen.tsx | 11 +- .../userReview/ReviewRatingScreen.tsx | 2 +- packages/extension/src/ui/hooks/appState.ts | 10 + .../ui/hooks/useGlobalUtilityMethods.test.ts | 37 + .../src/ui/hooks/useGlobalUtilityMethods.ts | 20 + .../src/ui/hooks/useMessageStreamHandler.ts | 25 + .../src/ui/hooks/useNavigateReturnTo.ts | 2 +- .../src/ui/hooks/useOnMountUnsafe.ts | 15 + .../src/ui/hooks/useReduceMotionSetting.ts | 8 + .../extension/src/ui/hooks/useResetAll.ts | 4 +- packages/extension/src/ui/hooks/useRoute.ts | 52 + .../extension/src/ui/hooks/useUserAgent.ts | 27 + packages/extension/src/ui/index.html | 10 +- packages/extension/src/ui/index.tsx | 22 +- .../src/ui/providers/ArgentUIProviders.tsx | 56 + ...lementation.ts => ClientAccountService.ts} | 84 +- ...{interface.ts => IClientAccountService.ts} | 8 +- .../src/ui/services/account/index.ts | 8 +- ...entation.ts => AccountMessagingService.ts} | 24 +- ...terface.ts => IAccountMessagingService.ts} | 12 +- .../src/ui/services/accountMessaging/index.ts | 2 +- .../ui/services/action/ClientActionService.ts | 48 + .../src/ui/services/action/client.ts | 24 - .../extension/src/ui/services/action/index.ts | 4 +- .../cache/ClientActivityCacheService.ts | 17 + .../src/ui/services/activity/cache/index.ts | 6 + ...ent.ts => ClientStarknetAddressService.ts} | 4 +- ...ce.ts => IClientStarknetAddressService.ts} | 0 .../src/ui/services/address/index.ts | 4 +- ...{client.ts => ClientAddressBookService.ts} | 6 +- .../src/ui/services/addressBook/index.ts | 6 +- .../ClientArgentAccountService.ts | 42 + .../IClientArgentAccountService.ts | 3 + .../services/argentAccount/implementation.ts | 59 - .../src/ui/services/argentAccount/index.ts | 8 +- .../src/ui/services/argentAccount/utils.ts | 33 - .../src/ui/services/argentApiFetcher.ts | 26 - .../src/ui/services/backgroundTransactions.ts | 2 +- .../src/ui/services/blockExplorer.service.ts | 43 +- packages/extension/src/ui/services/dates.ts | 23 - .../{client.ts => ClientDiscoverService.ts} | 6 +- .../src/ui/services/discover/index.ts | 6 +- .../{implementation.ts => FeeTokenService.ts} | 4 +- .../{interface.ts => IFeeTokenService.ts} | 0 .../src/ui/services/feeToken/index.ts | 4 +- .../src/ui/services/knownDapps/index.ts | 41 +- .../ui/services/knownDapps/knownDapps.test.ts | 113 + .../src/ui/services/knownDapps/knownDapps.ts | 7 + .../src/ui/services/ledger/ILedgerService.ts | 17 + .../src/ui/services/ledger/LedgerService.ts | 44 + .../extension/src/ui/services/ledger/index.ts | 4 + ...ementation.ts => ClientMultisigService.ts} | 51 +- ...interface.ts => IClientMultisigService.ts} | 2 +- .../src/ui/services/multisig/index.ts | 6 +- ...{implementation.ts => ClientNftService.ts} | 6 +- .../{interface.ts => IClientNftService.ts} | 0 .../extension/src/ui/services/nfts/index.ts | 4 +- .../src/ui/services/onRamp/OnRampService.ts | 11 + .../extension/src/ui/services/onRamp/index.ts | 4 + .../onboarding/ClientOnboardingService.ts | 12 + .../src/ui/services/onboarding/index.ts | 4 + .../onboarding/useOnboardingExperiment.ts | 127 + .../PreAuthorizationUIService.ts | 35 + .../src/ui/services/preAuthorization/index.ts | 8 + .../ui/services/provision/implementation.ts | 10 - .../src/ui/services/provision/index.ts | 4 - .../ui/services/provision/provision.state.ts | 20 - ...ementation.ts => ClientRecoveryService.ts} | 4 +- .../src/ui/services/recovery/index.ts | 2 +- .../src/ui/services/resetAndReload.tsx | 6 +- ...ient.ts => ClientRiskAssessmentService.ts} | 4 +- .../src/ui/services/riskAssessment/index.ts | 4 +- .../src/ui/services/router/IRouterService.ts | 11 + .../src/ui/services/router/RouterService.ts | 125 + .../extension/src/ui/services/router/index.ts | 4 + .../{interface.ts => ISessionService.ts} | 0 .../{implementation.ts => SessionService.ts} | 4 +- .../src/ui/services/session/index.ts | 4 +- .../ClientSignatureReviewService.ts | 21 + .../src/ui/services/signatureReview/index.ts | 6 + .../swap/{interface.ts => ISwapService.ts} | 6 +- .../{implementation.ts => SwapService.ts} | 11 +- .../extension/src/ui/services/swap/index.ts | 4 +- ...mplementation.ts => ClientTokenService.ts} | 18 +- .../{interface.ts => IClientTokenService.ts} | 4 +- .../extension/src/ui/services/tokens/index.ts | 6 +- .../src/ui/services/tokens/test/index.test.ts | 12 +- .../ui/services/transactionReview/client.ts | 42 +- .../ui/services/transactionReview/index.ts | 2 +- .../{messaging/trpc.ts => trpc/index.ts} | 2 +- .../udc/{implementation.ts => UdcService.ts} | 2 +- .../extension/src/ui/services/udc/index.ts | 4 +- .../src/ui/services/ui/ClientUIService.ts | 85 + .../src/ui/services/ui/IClientUIService.ts | 41 + .../extension/src/ui/services/ui/client.ts | 18 - .../extension/src/ui/services/ui/index.ts | 10 +- .../extension/src/ui/services/ui/interface.ts | 4 - .../src/ui/services/ui/useClientUINavigate.ts | 16 + .../ui/useClientUIShowNotification.tsx | 41 + .../src/ui/services/ui/useIsFullScreen.tsx | 24 + .../services/useBrowserExtensionSentryInit.ts | 33 + .../src/ui/services/useStarknetId.ts | 9 +- .../src/ui/services/useStopSession.ts | 5 +- packages/extension/src/ui/useEntryRoute.tsx | 67 - packages/extension/src/ui/views/account.ts | 48 +- .../extension/src/ui/views/activityCache.ts | 69 + packages/extension/src/ui/views/appState.ts | 27 + packages/extension/src/ui/views/defaults.ts | 3 - .../__tests__/tokenPrices.test.ts | 127 +- .../ui/views/implementation/atomFromQuery.ts | 5 + packages/extension/src/ui/views/knownDapps.ts | 2 +- packages/extension/src/ui/views/multisig.ts | 7 +- packages/extension/src/ui/views/network.ts | 13 + packages/extension/src/ui/views/nft.ts | 2 +- .../src/ui/views/preAuthorizations.ts | 7 +- packages/extension/src/ui/views/session.ts | 20 - packages/extension/src/ui/views/settings.ts | 13 - packages/extension/src/ui/views/token.ts | 89 +- .../extension/src/ui/views/tokenBalances.ts | 111 +- .../extension/src/ui/views/tokenPrices.ts | 92 +- .../src/ui/views/transactionReviews.ts | 42 +- .../extension/src/ui/views/transactions.ts | 71 + .../__fixtures__/argent-api-prices.mock.json | 4 +- .../__fixtures__/argent-api-tokens.mock.json | 4 +- .../tokens-with-balance.mock.json | 8 +- .../__snapshots__/transactions.test.ts.snap | 2 +- packages/extension/test/account.mock.ts | 15 +- .../extension/test/argentApiFetcher.test.ts | 69 - packages/extension/test/fetcher.test.ts | 26 +- packages/extension/test/keyDerivation.test.ts | 38 +- packages/extension/test/ledger.mock.ts | 12 + packages/extension/test/schema.test.ts | 2 +- packages/extension/test/setup.ts | 3 + packages/extension/test/token.mock.ts | 19 +- packages/extension/test/wallet.test.ts | 78 +- packages/extension/test/walletAccount.mock.ts | 4 +- packages/extension/tsconfig.json | 7 +- packages/extension/webpack.config.js | 157 - packages/extension/webpack.config.ts | 224 + packages/guardian/.eslintrc.json | 28 - packages/guardian/.vscode/settings.json | 4 - packages/guardian/package.json | 37 - packages/guardian/src/index.ts | 1 - .../guardian/src/services/CosignerTypes.ts | 90 - packages/guardian/src/services/Device.ts | 12 - packages/guardian/src/services/index.ts | 3 - packages/guardian/src/services/utils.ts | 26 - packages/guardian/tsconfig.json | 20 - packages/guardian/vite.config.ts | 36 - packages/sessions/.eslintrc.json | 28 - packages/sessions/.vscode/settings.json | 4 - packages/sessions/CHANGELOG.md | 19 - packages/sessions/README.md | 273 - packages/sessions/__tests__/utils.test.ts | 17 - packages/sessions/assets/add-plugin.png | Bin 79608 -> 0 bytes packages/sessions/assets/approve.png | Bin 109976 -> 0 bytes packages/sessions/assets/experimental.png | Bin 101921 -> 0 bytes packages/sessions/assets/plugins.png | Bin 96076 -> 0 bytes packages/sessions/assets/settings.png | Bin 101206 -> 0 bytes packages/sessions/assets/toggle-session.png | Bin 75305 -> 0 bytes packages/sessions/assets/use-plugin.png | Bin 47704 -> 0 bytes packages/sessions/package.json | 69 - packages/sessions/src/account.ts | 209 - packages/sessions/src/ensureArray.ts | 16 - packages/sessions/src/main.ts | 5 - .../sessions/src/offchainSessionAccount.ts | 158 - packages/sessions/src/offchainSessionUtils.ts | 109 - packages/sessions/src/utils.ts | 107 - packages/sessions/tsconfig.json | 20 - packages/sessions/vite.config.ts | 36 - packages/sessions/vitest.config.ts | 34 - .../example/src/routes/RootRoutes.tsx | 6 + .../example/src/screens/Account.tsx | 4 +- .../example/src/screens/Activities.tsx | 28 + .../example/src/screens/Activity.tsx | 22 + .../stack-router/example/src/screens/Home.tsx | 14 +- packages/stack-router/package.json | 31 +- packages/stack-router/src/StackContext.tsx | 2 +- packages/stack-router/src/StackRoutes.tsx | 2 +- packages/stack-router/src/StackScreen.tsx | 11 +- .../stack-router/src/StackScreenContainer.tsx | 2 +- .../src/presentation/screenStack.ts | 22 +- .../stack-router/src/utils/getMatchingPath.ts | 16 - packages/stack-router/src/utils/path.test.ts | 59 + packages/stack-router/src/utils/path.ts | 57 + packages/stack-router/tsconfig.json | 3 +- packages/stack-router/vite.config.ts | 30 +- packages/storybook/.storybook/main.ts | 2 +- packages/storybook/.storybook/preview.ts | 30 +- packages/storybook/package.json | 23 +- .../src/decorators/depreactedMuiDecorator.tsx | 13 + .../decorators/depreactedMuiDecorators.tsx | 15 - .../accounts/AccountActivity.stories.tsx | 2 +- .../AccountListHiddenScreen.stories.tsx | 2 +- .../accounts/AccountListItem.stories.tsx | 15 +- .../accounts/AccountListScreen.stories.tsx | 8 +- .../AccountListScreenItem.stories.tsx | 2 +- .../accounts/AccountSelect.stories.tsx | 16 +- .../accounts/AddNewAccountScreen.stories.tsx | 4 +- .../PrettyAccountAddressArgentX.stories.tsx | 10 +- ...TransactionCallDataBottomSheet.stories.tsx | 2 +- .../TransactionDetailExplorer.stories.tsx | 2 +- .../accounts/TransactionDetailRaw.stories.tsx | 2 +- .../accounts/TransactionDetailWrapped.tsx | 2 +- .../accounts/TransactionListItem.stories.tsx | 4 +- .../accounts/__fixtures__/addressBook.ts | 24 +- .../AccountNetworkInfoArgentX.stories.tsx | 2 +- .../BalanceChangeOverviewArgentX.stories.tsx | 13 - .../actions/ConfirmScreen.stories.tsx | 38 +- .../LedgerModalBottomDialog.stories.tsx | 65 + .../features/actions/WarningModal.stories.tsx | 99 + .../transaction/TokenField.stories.tsx | 22 +- .../transaction/TransactionBanner.stories.tsx | 25 - .../CombinedFeeEstimation.stories.tsx | 42 - .../NavigationBarAccountDetails.stories.tsx | 41 + .../SignActionScreenV2.stories.tsx | 6 +- .../TransactionReviewActions.stories.tsx | 114 - .../TransactionReviewSignAction.stories.tsx | 22 - .../TransactionReviewSimulation.stories.tsx | 60 - .../ledger/LedgerConnectSidePanel.stories.tsx | 15 + .../ledger/LedgerConnectStep.stories.tsx | 9 + .../onboarding/OnboardingScreen.stories.tsx | 4 +- ...ailNotificationsSettingsScreen.stories.tsx | 14 - .../settings/SettingsScreen.stories.tsx | 2 +- .../shield/ShieldAccountActivate.stories.tsx | 12 - .../ShieldAccountDeactivate.stories.tsx | 12 - .../ShieldValidationErrorScreen.stories.tsx | 31 - .../EscapeGuardian.stories.tsx | 10 +- .../EscapeGuardianReady.stories.tsx | 2 +- .../EscapeSigner.stories.tsx | 4 +- .../SmartAccountActivate.stories.tsx | 12 + .../SmartAccountBaseActionScreen.stories.tsx} | 4 +- .../SmartAccountBaseEmailScreen.stories.tsx} | 4 +- .../SmartAccountBaseFinishScreen.stories.tsx} | 8 +- .../SmartAccountBaseOTPScreen.stories.tsx} | 4 +- ...rtAccountValidationErrorScreen.stories.tsx | 31 + packages/storybook/src/tokens.ts | 4 +- .../ui/components/ErrorBoundary.stories.tsx | 2 +- .../src/ui/components/InputText.stories.tsx | 2 +- .../ui/components/InputTextArea.stories.tsx | 2 +- .../ui/components/Notification.stories.tsx | 18 + .../src/ui/components/Option.stories.tsx | 4 +- packages/window/CHANGELOG.md | 7 + packages/window/package.json | 26 +- packages/window/src/account.ts | 18 +- packages/window/src/index.ts | 9 +- packages/window/src/starknet.ts | 43 +- packages/window/src/types.test.ts | 843 + packages/window/src/types.ts | 185 +- pnpm-lock.yaml | 41373 +++--- renovate.json | 19 +- .../calculate-contract-hash/requirements.txt | 2 +- scripts/tsconfig.json | 7 - 1843 files changed, 205048 insertions(+), 128349 deletions(-) delete mode 100644 .github/workflows/amplitude.yml delete mode 100644 packages/dapp/.env.example delete mode 100644 packages/dapp/.eslintrc.json delete mode 100644 packages/dapp/.gitignore delete mode 100644 packages/dapp/.vscode/settings.json delete mode 100644 packages/dapp/README.md delete mode 100644 packages/dapp/abi/ERC20.json delete mode 100644 packages/dapp/next-env.d.ts delete mode 100644 packages/dapp/next.config.js delete mode 100644 packages/dapp/package.json delete mode 100644 packages/dapp/public/favicon.ico delete mode 100644 packages/dapp/public/vercel.svg delete mode 100644 packages/dapp/src/components/AddNetwork.tsx delete mode 100644 packages/dapp/src/components/AddToken.tsx delete mode 100644 packages/dapp/src/components/Declare.tsx delete mode 100644 packages/dapp/src/components/Deploy.tsx delete mode 100644 packages/dapp/src/components/Header.tsx delete mode 100644 packages/dapp/src/components/InfoRow.tsx delete mode 100644 packages/dapp/src/components/Mint.tsx delete mode 100644 packages/dapp/src/components/MintWithStarknetReact.tsx delete mode 100644 packages/dapp/src/components/OffchainSessionKeys.tsx delete mode 100644 packages/dapp/src/components/OffchainSessionKeysExecute.tsx delete mode 100644 packages/dapp/src/components/OffchainSessionKeysSign.tsx delete mode 100644 packages/dapp/src/components/SignMessage.tsx delete mode 100644 packages/dapp/src/components/SignMessageWithStarknetReact.tsx delete mode 100644 packages/dapp/src/components/TokenDapp.tsx delete mode 100644 packages/dapp/src/components/Transfer.tsx delete mode 100644 packages/dapp/src/components/TransferWithStarknetReact.tsx delete mode 100644 packages/dapp/src/pages/_app.tsx delete mode 100644 packages/dapp/src/pages/_document.tsx delete mode 100644 packages/dapp/src/pages/index.tsx delete mode 100644 packages/dapp/src/pages/starknetReactDapp.tsx delete mode 100644 packages/dapp/src/services/address.service.ts delete mode 100644 packages/dapp/src/services/token.service.ts delete mode 100644 packages/dapp/src/services/wallet.service.ts delete mode 100644 packages/dapp/src/types/Status.ts delete mode 100644 packages/dapp/tsconfig.json create mode 100644 packages/e2e/extension/src/config.ts rename packages/e2e/extension/src/specs/{2FA.spec.ts => defaultAccount2smartAccount.spec.ts} (74%) create mode 100644 packages/e2e/extension/src/specs/smartAccount.spec.ts create mode 100644 packages/e2e/shared/src/Utils.ts delete mode 100644 packages/e2e/webwallet/playwright.config.ts delete mode 100644 packages/e2e/webwallet/src/fixtures.ts delete mode 100644 packages/e2e/webwallet/src/page-objects/Assets.ts delete mode 100644 packages/e2e/webwallet/src/page-objects/Dapps.ts delete mode 100644 packages/e2e/webwallet/src/page-objects/Login.ts delete mode 100644 packages/e2e/webwallet/src/page-objects/Navigation.ts delete mode 100644 packages/e2e/webwallet/src/page-objects/WebWalletPage.ts delete mode 100644 packages/e2e/webwallet/src/specs/assets.spec.ts delete mode 100644 packages/e2e/webwallet/src/specs/dapps.spec.ts delete mode 100644 packages/e2e/webwallet/src/specs/login.spec.ts delete mode 100644 packages/e2e/webwallet/src/test.ts create mode 100644 packages/extension/build/config.ts create mode 100644 packages/extension/build/devTools.ts create mode 100644 packages/extension/build/dotEnv.ts create mode 100644 packages/extension/build/getLocalDevelopmentAttributes.ts create mode 100644 packages/extension/build/getReleaseTrack.ts create mode 100644 packages/extension/build/getSafeGetCommitHash.ts create mode 100644 packages/extension/build/hotReloadServer.ts create mode 100644 packages/extension/build/reactDevTools.ts create mode 100644 packages/extension/build/transformManifestJson.ts rename packages/extension/{scripts => build}/utils.ts (100%) delete mode 100644 packages/extension/scripts/hot-reload-server.ts delete mode 100644 packages/extension/scripts/tsconfig.json create mode 100644 packages/extension/src/assets/influence.png create mode 100644 packages/extension/src/assets/ledger.riv create mode 100644 packages/extension/src/assets/notification-failure-icon@3x.png create mode 100644 packages/extension/src/assets/notification-success-icon@3x.png create mode 100644 packages/extension/src/assets/onboarding-background.jpg delete mode 100644 packages/extension/src/assets/onboarding-background.svg delete mode 100644 packages/extension/src/background/__new/procedures/account/select.ts delete mode 100644 packages/extension/src/background/__new/procedures/accountMessaging/getNextPublicKey.ts delete mode 100644 packages/extension/src/background/__new/procedures/accountMessaging/getNextPublicKeyForMultisig.ts delete mode 100644 packages/extension/src/background/__new/procedures/argentAccount/getPreferences.ts delete mode 100644 packages/extension/src/background/__new/procedures/argentAccount/logout.ts delete mode 100644 packages/extension/src/background/__new/procedures/argentAccount/updatePreferences.ts delete mode 100644 packages/extension/src/background/__new/procedures/provision/getStatus.ts delete mode 100644 packages/extension/src/background/__new/procedures/provision/index.ts delete mode 100644 packages/extension/src/background/__new/procedures/swap/makeSwap.ts delete mode 100644 packages/extension/src/background/__new/services/account/worker/index.ts delete mode 100644 packages/extension/src/background/__new/services/action/index.ts delete mode 100644 packages/extension/src/background/__new/services/activity/index.ts delete mode 100644 packages/extension/src/background/__new/services/analytics/index.ts delete mode 100644 packages/extension/src/background/__new/services/argentAccount/index.ts delete mode 100644 packages/extension/src/background/__new/services/discover/index.ts delete mode 100644 packages/extension/src/background/__new/services/knownDapps/index.ts delete mode 100644 packages/extension/src/background/__new/services/knownDapps/worker/index.ts delete mode 100644 packages/extension/src/background/__new/services/multisig/implementation.ts delete mode 100644 packages/extension/src/background/__new/services/network/index.ts delete mode 100644 packages/extension/src/background/__new/services/nft/worker/index.ts delete mode 100644 packages/extension/src/background/__new/services/onboarding/index.ts delete mode 100644 packages/extension/src/background/__new/services/preAuthorization/worker/index.ts delete mode 100644 packages/extension/src/background/__new/services/preAuthorization/worker/worker.test.ts delete mode 100644 packages/extension/src/background/__new/services/preAuthorization/worker/worker.ts delete mode 100644 packages/extension/src/background/__new/services/provision/implementation.ts delete mode 100644 packages/extension/src/background/__new/services/provision/index.ts delete mode 100644 packages/extension/src/background/__new/services/recovery/index.ts delete mode 100644 packages/extension/src/background/__new/services/riskAssessment/index.ts delete mode 100644 packages/extension/src/background/__new/services/token/worker/index.ts delete mode 100644 packages/extension/src/background/__new/services/transactionReview/index.ts delete mode 100644 packages/extension/src/background/__new/services/transactionReview/worker/implementation.test.ts delete mode 100644 packages/extension/src/background/__new/services/transactionReview/worker/implementation.ts delete mode 100644 packages/extension/src/background/__new/services/transactionReview/worker/index.ts delete mode 100644 packages/extension/src/background/__new/services/transactions/worker/implementation.ts delete mode 100644 packages/extension/src/background/__new/services/transactions/worker/index.ts delete mode 100644 packages/extension/src/background/__new/services/ui/background.ts delete mode 100644 packages/extension/src/background/__new/services/ui/index.ts delete mode 100644 packages/extension/src/background/__new/services/ui/interface.ts delete mode 100644 packages/extension/src/background/__new/trpc.ts create mode 100644 packages/extension/src/background/dev/hotReload.ts delete mode 100644 packages/extension/src/background/keys/keyDerivation.ts create mode 100644 packages/extension/src/background/multisig/worker/MultisigWorker.ts delete mode 100644 packages/extension/src/background/multisig/worker/implementation.ts delete mode 100644 packages/extension/src/background/openUi.ts rename packages/extension/src/background/{__new/services/account/worker/implementation.test.ts => services/account/worker/AccountWorker.test.ts} (86%) rename packages/extension/src/background/{__new/services/account/worker/implementation.ts => services/account/worker/AccountWorker.ts} (73%) create mode 100644 packages/extension/src/background/services/account/worker/index.ts rename packages/extension/src/background/{__new/services/action/background.ts => services/action/BackgroundActionService.ts} (50%) rename packages/extension/src/background/{__new/services/action/interface.ts => services/action/IBackgroundActionService.ts} (50%) create mode 100644 packages/extension/src/background/services/action/index.ts rename packages/extension/src/background/{__new/services/activity/implementation.test.ts => services/activity/ActivityService.test.ts} (74%) rename packages/extension/src/background/{__new/services/activity/implementation.ts => services/activity/ActivityService.ts} (76%) rename packages/extension/src/background/{__new/services/activity/interface.ts => services/activity/IActivityService.ts} (76%) create mode 100644 packages/extension/src/background/services/activity/cache/ActivityCacheService.test.ts create mode 100644 packages/extension/src/background/services/activity/cache/ActivityCacheService.ts create mode 100644 packages/extension/src/background/services/activity/cache/index.ts create mode 100644 packages/extension/src/background/services/activity/cache/mergeAndSortActivities.test.ts create mode 100644 packages/extension/src/background/services/activity/cache/mergeAndSortActivities.ts create mode 100644 packages/extension/src/background/services/activity/cache/worker/ActivityCacheWorker.test.ts create mode 100644 packages/extension/src/background/services/activity/cache/worker/ActivityCacheWorker.ts create mode 100644 packages/extension/src/background/services/activity/cache/worker/index.ts create mode 100644 packages/extension/src/background/services/activity/index.ts create mode 100644 packages/extension/src/background/services/activity/worker/ActivityWorker.test.ts create mode 100644 packages/extension/src/background/services/activity/worker/ActivityWorker.ts rename packages/extension/src/background/{__new => }/services/address/index.ts (56%) rename packages/extension/src/background/{__new/services/analytics/worker.ts => services/analytics/AnalyticsWoker.ts} (51%) create mode 100644 packages/extension/src/background/services/analytics/index.ts rename packages/extension/src/background/{__new/services/argentAccount/implementation.ts => services/argentAccount/BackgroundArgentAccountService.ts} (52%) create mode 100644 packages/extension/src/background/services/argentAccount/IBackgroundArgentAccountService.ts create mode 100644 packages/extension/src/background/services/argentAccount/index.ts rename packages/extension/src/background/{__new/services/discover/implementation.ts => services/discover/DiscoverService.ts} (70%) create mode 100644 packages/extension/src/background/services/discover/index.ts create mode 100644 packages/extension/src/background/services/knownDapps/index.ts rename packages/extension/src/background/{__new/services/knownDapps/worker/implementation.ts => services/knownDapps/worker/KnownDappsWorker.ts} (68%) create mode 100644 packages/extension/src/background/services/knownDapps/worker/index.ts create mode 100644 packages/extension/src/background/services/multisig/BackgroundMultisigService.ts create mode 100644 packages/extension/src/background/services/multisig/IBackgroundMultisigService.ts rename packages/extension/src/background/{__new => }/services/multisig/index.ts (58%) rename packages/extension/src/background/{__new/services/network/background.test.ts => services/network/BackgroundNetworkService.test.ts} (78%) rename packages/extension/src/background/{__new/services/network/background.ts => services/network/BackgroundNetworkService.ts} (74%) rename packages/extension/src/background/{__new/services/network/interface.ts => services/network/IBackgroundNetworkService.ts} (74%) create mode 100644 packages/extension/src/background/services/network/index.ts rename packages/extension/src/background/{__new/services/network/worker.ts => services/network/worker/NetworkWorker.ts} (64%) rename packages/extension/src/background/{__new/services/nft/worker/implementation.ts => services/nft/worker/NftsWorker.ts} (72%) create mode 100644 packages/extension/src/background/services/nft/worker/index.ts create mode 100644 packages/extension/src/background/services/notifications/NotificationService.ts create mode 100644 packages/extension/src/background/services/notifications/index.ts create mode 100644 packages/extension/src/background/services/onRamp/OnRampService.ts create mode 100644 packages/extension/src/background/services/onRamp/index.ts rename packages/extension/src/background/{__new/services/onboarding/implementation.test.ts => services/onboarding/OnboardingService.test.ts} (65%) rename packages/extension/src/background/{__new/services/onboarding/implementation.ts => services/onboarding/OnboardingService.ts} (50%) create mode 100644 packages/extension/src/background/services/onboarding/index.ts rename packages/extension/src/background/{__new/services/onboarding/worker/implementation.test.ts => services/onboarding/worker/OnboardingWorker.test.ts} (84%) rename packages/extension/src/background/{__new/services/onboarding/worker/implementation.ts => services/onboarding/worker/OnboardingWorker.ts} (82%) rename packages/extension/src/background/{__new/services/recovery/implementation.test.ts => services/recovery/BackgroundRecoveryService.test.ts} (85%) rename packages/extension/src/background/{__new/services/recovery/implementation.ts => services/recovery/BackgroundRecoveryService.ts} (62%) create mode 100644 packages/extension/src/background/services/recovery/index.ts create mode 100644 packages/extension/src/background/services/referral/IReferralService.ts create mode 100644 packages/extension/src/background/services/referral/ReferralService.ts create mode 100644 packages/extension/src/background/services/referral/index.ts rename packages/extension/src/background/{__new/services/riskAssessment/background.ts => services/riskAssessment/BackgroundRiskAssessmentService.ts} (77%) create mode 100644 packages/extension/src/background/services/riskAssessment/index.ts rename packages/extension/src/background/{__new/services/schedule/worker/implementation.test.ts => services/schedule/worker/ScheduleWorker.test.ts} (96%) rename packages/extension/src/background/{__new/services/schedule/worker/implementation.ts => services/schedule/worker/ScheduleWorker.ts} (80%) rename packages/extension/src/background/{__new => }/services/schedule/worker/index.ts (51%) create mode 100644 packages/extension/src/background/services/sentry/SentryWorker.ts create mode 100644 packages/extension/src/background/services/sentry/index.ts create mode 100644 packages/extension/src/background/services/signatureReview/BackgroundOutsideSignatureReviewService.ts create mode 100644 packages/extension/src/background/services/signatureReview/index.ts rename packages/extension/src/background/{__new/services/token/worker/implementation.test.ts => services/token/worker/TokenWorker.test.ts} (79%) rename packages/extension/src/background/{__new/services/token/worker/implementation.ts => services/token/worker/TokenWorker.ts} (67%) create mode 100644 packages/extension/src/background/services/token/worker/index.ts rename packages/extension/src/background/{__new/services/transactionReview/background.test.ts => services/transactionReview/BackgroundTransactionReviewService.test.ts} (82%) rename packages/extension/src/background/{__new/services/transactionReview/background.ts => services/transactionReview/BackgroundTransactionReviewService.ts} (54%) create mode 100644 packages/extension/src/background/services/transactionReview/index.ts rename packages/extension/src/background/{__new/services/transactionReview/worker/interface.ts => services/transactionReview/worker/ITransactionReviewWorker.ts} (68%) create mode 100644 packages/extension/src/background/services/transactionReview/worker/TransactionReviewWorker.test.ts create mode 100644 packages/extension/src/background/services/transactionReview/worker/TransactionReviewWorker.ts create mode 100644 packages/extension/src/background/services/transactionReview/worker/index.ts rename packages/extension/src/background/{transactions/service/base.test.ts => services/transactionTracker/BaseTransactionTrackingService.test.ts} (96%) rename packages/extension/src/background/{transactions/service/base.ts => services/transactionTracker/BaseTransactionTrackingService.ts} (100%) create mode 100644 packages/extension/src/background/services/transactionTracker/worker/TransactionTrackerWorker.test.ts rename packages/extension/src/background/{transactions/service/starknet.service.ts => services/transactionTracker/worker/TransactionTrackerWorker.ts} (64%) create mode 100644 packages/extension/src/background/services/transactionTracker/worker/index.ts create mode 100644 packages/extension/src/background/services/transactions/worker/TransactionsWorker.ts create mode 100644 packages/extension/src/background/services/transactions/worker/index.ts rename packages/extension/src/background/{__new/services/ui/background.test.ts => services/ui/BackgroundUIService.test.ts} (81%) create mode 100644 packages/extension/src/background/services/ui/BackgroundUIService.ts create mode 100644 packages/extension/src/background/services/ui/IBackgroundUIService.ts create mode 100644 packages/extension/src/background/services/ui/index.ts rename packages/extension/src/background/{__new => }/services/worker/schedule/decorators.test.ts (98%) rename packages/extension/src/background/{__new => }/services/worker/schedule/decorators.ts (82%) rename packages/extension/src/background/{__new => }/services/worker/schedule/mockBackgroundUIService.ts (91%) rename packages/extension/src/background/{__new => }/services/worker/schedule/mockSessionService.ts (90%) rename packages/extension/src/background/{__new => }/services/worker/schedule/pipe.test.ts (100%) rename packages/extension/src/background/{__new => }/services/worker/schedule/pipe.ts (100%) delete mode 100644 packages/extension/src/background/transactions/onupdate/notifications.ts delete mode 100644 packages/extension/src/background/transactions/service/starknet.service.test.ts delete mode 100644 packages/extension/src/background/transactions/service/worker.ts rename packages/extension/src/background/{__new => trpc}/middleware/session.ts (100%) rename packages/extension/src/background/{__new => trpc}/procedures/account/create.ts (63%) rename packages/extension/src/background/{__new => trpc}/procedures/account/deploy.ts (100%) create mode 100644 packages/extension/src/background/trpc/procedures/account/getLastUsedOnNetwork.ts rename packages/extension/src/background/{__new => trpc}/procedures/account/index.ts (76%) create mode 100644 packages/extension/src/background/trpc/procedures/account/select.ts rename packages/extension/src/background/{__new => trpc}/procedures/account/upgrade.ts (100%) rename packages/extension/src/background/{__new => trpc}/procedures/accountMessaging/cancelEscape.ts (71%) rename packages/extension/src/background/{__new => trpc}/procedures/accountMessaging/changeGuardian.ts (58%) rename packages/extension/src/background/{__new => trpc}/procedures/accountMessaging/escapeAndChangeGuardian.ts (52%) rename packages/extension/src/background/{__new => trpc}/procedures/accountMessaging/getAccountDeploymentPayload.ts (100%) rename packages/extension/src/background/{__new => trpc}/procedures/accountMessaging/getEncryptedPrivateKey.ts (100%) rename packages/extension/src/background/{__new => trpc}/procedures/accountMessaging/getEncryptedSeedPhrase.ts (100%) create mode 100644 packages/extension/src/background/trpc/procedures/accountMessaging/getNextPublicKey.ts rename packages/extension/src/background/{__new => trpc}/procedures/accountMessaging/getPublicKey.ts (100%) rename packages/extension/src/background/{__new => trpc}/procedures/accountMessaging/getPublicKeysBufferForMultisig.ts (100%) rename packages/extension/src/background/{__new => trpc}/procedures/accountMessaging/index.ts (88%) rename packages/extension/src/background/{__new => trpc}/procedures/accountMessaging/triggerEscapeGuardian.ts (79%) rename packages/extension/src/background/{__new => trpc}/procedures/action/approve.ts (74%) rename packages/extension/src/background/{__new => trpc}/procedures/action/approveAndWait.ts (74%) create mode 100644 packages/extension/src/background/trpc/procedures/action/clearActionError.ts rename packages/extension/src/background/{__new => trpc}/procedures/action/index.ts (64%) rename packages/extension/src/background/{__new => trpc}/procedures/action/reject.ts (79%) rename packages/extension/src/background/{__new => trpc}/procedures/action/rejectAll.ts (100%) create mode 100644 packages/extension/src/background/trpc/procedures/action/updateTransactionReview.ts create mode 100644 packages/extension/src/background/trpc/procedures/activity/cache/index.ts create mode 100644 packages/extension/src/background/trpc/procedures/activity/cache/loadMore.ts rename packages/extension/src/background/{__new => trpc}/procedures/address/getAddressFromDomainName.ts (100%) rename packages/extension/src/background/{__new => trpc}/procedures/address/index.ts (100%) rename packages/extension/src/background/{__new => trpc}/procedures/address/parseAddressOrDomain.ts (100%) rename packages/extension/src/background/{__new => trpc}/procedures/addressBook/add.ts (100%) rename packages/extension/src/background/{__new => trpc}/procedures/addressBook/index.ts (100%) rename packages/extension/src/background/{__new => trpc}/procedures/addressBook/remove.ts (100%) rename packages/extension/src/background/{__new => trpc}/procedures/addressBook/update.ts (100%) rename packages/extension/src/background/{__new/procedures/argentAccount/addAccount.ts => trpc/procedures/argentAccount/addGuardianAccount.ts} (70%) create mode 100644 packages/extension/src/background/trpc/procedures/argentAccount/addSmartAccount.ts rename packages/extension/src/background/{__new => trpc}/procedures/argentAccount/confirmEmail.ts (100%) rename packages/extension/src/background/{__new => trpc}/procedures/argentAccount/index.ts (64%) rename packages/extension/src/background/{__new => trpc}/procedures/argentAccount/isTokenExpired.ts (100%) create mode 100644 packages/extension/src/background/trpc/procedures/argentAccount/logout.ts rename packages/extension/src/background/{__new => trpc}/procedures/argentAccount/requestEmail.ts (100%) rename packages/extension/src/background/{__new => trpc}/procedures/argentAccount/validateAccount.ts (65%) create mode 100644 packages/extension/src/background/trpc/procedures/dappMessaging/connectDapp.ts create mode 100644 packages/extension/src/background/trpc/procedures/dappMessaging/connectDappProcedure.ts create mode 100644 packages/extension/src/background/trpc/procedures/dappMessaging/index.ts create mode 100644 packages/extension/src/background/trpc/procedures/dappMessaging/schema.ts rename packages/extension/src/background/{__new => trpc}/procedures/discover/index.ts (100%) rename packages/extension/src/background/{__new => trpc}/procedures/discover/viewedAt.ts (84%) rename packages/extension/src/background/{__new => trpc}/procedures/feeToken/avoidFeeToken.ts (100%) rename packages/extension/src/background/{__new => trpc}/procedures/feeToken/index.ts (100%) rename packages/extension/src/background/{__new => trpc}/procedures/feeToken/preferFeeToken.ts (100%) create mode 100644 packages/extension/src/background/trpc/procedures/ledger/addLedgerAccounts.ts create mode 100644 packages/extension/src/background/trpc/procedures/ledger/connect.ts create mode 100644 packages/extension/src/background/trpc/procedures/ledger/getLedgerAccounts.ts create mode 100644 packages/extension/src/background/trpc/procedures/ledger/index.ts create mode 100644 packages/extension/src/background/trpc/procedures/ledger/restoreMultisig.ts rename packages/extension/src/background/{__new => trpc}/procedures/multisig/addAccount.ts (71%) create mode 100644 packages/extension/src/background/trpc/procedures/multisig/addOffchainSignature.ts rename packages/extension/src/background/{__new => trpc}/procedures/multisig/addOwner.ts (100%) rename packages/extension/src/background/{__new => trpc}/procedures/multisig/addPendingAccount.ts (68%) rename packages/extension/src/background/{__new => trpc}/procedures/multisig/addTransactionSignature.ts (86%) create mode 100644 packages/extension/src/background/trpc/procedures/multisig/cancelOffchainSignature.ts rename packages/extension/src/background/{__new => trpc}/procedures/multisig/deploy.ts (100%) rename packages/extension/src/background/{__new => trpc}/procedures/multisig/index.ts (55%) create mode 100644 packages/extension/src/background/trpc/procedures/multisig/rejectOnChainTransaction.ts rename packages/extension/src/background/{__new => trpc}/procedures/multisig/removeOwner.ts (100%) rename packages/extension/src/background/{__new => trpc}/procedures/multisig/replaceOwner.ts (100%) create mode 100644 packages/extension/src/background/trpc/procedures/multisig/retryTransactionExecution.ts rename packages/extension/src/background/{__new => trpc}/procedures/multisig/updateThreshold.ts (100%) create mode 100644 packages/extension/src/background/trpc/procedures/multisig/waitForOffchainSignatures.ts create mode 100644 packages/extension/src/background/trpc/procedures/notifications/clicked.ts create mode 100644 packages/extension/src/background/trpc/procedures/notifications/index.ts create mode 100644 packages/extension/src/background/trpc/procedures/onboarding/getOnboardingComplete.ts create mode 100644 packages/extension/src/background/trpc/procedures/onboarding/index.ts create mode 100644 packages/extension/src/background/trpc/procedures/onramp/getTopperUrl.ts create mode 100644 packages/extension/src/background/trpc/procedures/onramp/index.ts rename packages/extension/src/background/{__new => trpc}/procedures/permissions.ts (99%) create mode 100644 packages/extension/src/background/trpc/procedures/preAuthorization/disconnect.ts create mode 100644 packages/extension/src/background/trpc/procedures/preAuthorization/index.ts rename packages/extension/src/background/{__new => trpc}/procedures/recovery/clearErrorRecovering.ts (100%) rename packages/extension/src/background/{__new => trpc}/procedures/recovery/index.ts (100%) rename packages/extension/src/background/{__new => trpc}/procedures/recovery/recoverBackup.ts (100%) rename packages/extension/src/background/{__new => trpc}/procedures/recovery/recoverSeedphrase.ts (100%) rename packages/extension/src/background/{__new => trpc}/procedures/riskAssessment/assessRisk.ts (93%) rename packages/extension/src/background/{__new => trpc}/procedures/riskAssessment/index.ts (100%) rename packages/extension/src/background/{__new => trpc}/procedures/session/checkPassword.ts (68%) rename packages/extension/src/background/{__new => trpc}/procedures/session/index.ts (100%) rename packages/extension/src/background/{__new => trpc}/procedures/session/isPasswordSet.ts (100%) rename packages/extension/src/background/{__new => trpc}/procedures/session/start.ts (100%) rename packages/extension/src/background/{__new => trpc}/procedures/session/stop.ts (100%) rename packages/extension/src/background/{__new/procedures/transactionReview => trpc/procedures/signatureReview}/index.ts (54%) create mode 100644 packages/extension/src/background/trpc/procedures/signatureReview/simulateAndReview.ts rename packages/extension/src/background/{__new => trpc}/procedures/swap/getSwapOrderFromTrade.ts (100%) rename packages/extension/src/background/{__new => trpc}/procedures/swap/getSwapQuoteForPay.ts (100%) rename packages/extension/src/background/{__new => trpc}/procedures/swap/getSwapTradeFromQuote.ts (100%) rename packages/extension/src/background/{__new => trpc}/procedures/swap/index.ts (100%) create mode 100644 packages/extension/src/background/trpc/procedures/swap/makeSwap.ts rename packages/extension/src/background/{__new => trpc}/procedures/tokens/addToken.ts (100%) rename packages/extension/src/background/{__new => trpc}/procedures/tokens/fetchAccountBalance.ts (100%) rename packages/extension/src/background/{__new => trpc}/procedures/tokens/fetchDetails.ts (100%) create mode 100644 packages/extension/src/background/trpc/procedures/tokens/fetchTokenBalancesForAccountsFromBackend.ts rename packages/extension/src/background/{__new => trpc}/procedures/tokens/getAccountBalance.ts (100%) rename packages/extension/src/background/{__new => trpc}/procedures/tokens/getAllTokenBalances.ts (100%) rename packages/extension/src/background/{__new => trpc}/procedures/tokens/getCurrencyValueForTokens.ts (100%) rename packages/extension/src/background/{__new => trpc}/procedures/tokens/index.ts (79%) rename packages/extension/src/background/{__new => trpc}/procedures/tokens/removeToken.ts (100%) rename packages/extension/src/background/{__new => trpc}/procedures/transactionEstimate/accountDeploy.ts (93%) rename packages/extension/src/background/{__new => trpc}/procedures/transactionEstimate/estimate.ts (88%) rename packages/extension/src/background/{__new => trpc}/procedures/transactionEstimate/helpers.ts (84%) rename packages/extension/src/background/{__new => trpc}/procedures/transactionEstimate/index.ts (100%) create mode 100644 packages/extension/src/background/trpc/procedures/transactionReview/getCompressedTransactionPayload.ts rename packages/extension/src/background/{__new => trpc}/procedures/transactionReview/getLabels.ts (100%) create mode 100644 packages/extension/src/background/trpc/procedures/transactionReview/getTransactionHash.ts create mode 100644 packages/extension/src/background/trpc/procedures/transactionReview/getWarnings.ts create mode 100644 packages/extension/src/background/trpc/procedures/transactionReview/index.ts rename packages/extension/src/background/{__new => trpc}/procedures/transactionReview/simulateAndReview.ts (87%) rename packages/extension/src/background/{__new => trpc}/procedures/transfer/index.ts (100%) rename packages/extension/src/background/{__new => trpc}/procedures/transfer/send.ts (55%) rename packages/extension/src/background/{__new => trpc}/procedures/udc/declareContractProcedure.ts (98%) rename packages/extension/src/background/{__new => trpc}/procedures/udc/deployContractProcedure.ts (100%) rename packages/extension/src/background/{__new => trpc}/procedures/udc/getConstructorParams.ts (100%) rename packages/extension/src/background/{__new => trpc}/procedures/udc/index.ts (100%) rename packages/extension/src/background/{__new => trpc}/router.ts (59%) create mode 100644 packages/extension/src/background/trpc/trpc.ts create mode 100644 packages/extension/src/background/utils/bigIntSort.ts create mode 100644 packages/extension/src/background/wallet/account/WalletAccountStarknetService.test.ts create mode 100644 packages/extension/src/background/wallet/account/WalletAccountStarknetService.ts delete mode 100644 packages/extension/src/background/wallet/account/starknet.service.test.ts delete mode 100644 packages/extension/src/background/wallet/account/starknet.service.ts rename packages/extension/src/background/wallet/backup/{backup.service.ts => WalletBackupService.ts} (90%) rename packages/extension/src/background/wallet/crypto/{shared.service.ts => WalletCryptoSharedService.ts} (87%) rename packages/extension/src/background/wallet/crypto/{starknet.service.ts => WalletCryptoStarknetService.ts} (57%) rename packages/extension/src/background/wallet/deployment/{interface.ts => IWalletDeploymentService.ts} (87%) create mode 100644 packages/extension/src/background/wallet/deployment/WalletDeploymentStarknetService.test.ts rename packages/extension/src/background/wallet/deployment/{starknet.service.ts => WalletDeploymentStarknetService.ts} (61%) delete mode 100644 packages/extension/src/background/wallet/findImplementationForAddress.test.ts delete mode 100644 packages/extension/src/background/wallet/findImplementationForAddress.ts rename packages/extension/src/background/wallet/recovery/{interface.ts => IWalletRecoveryService.ts} (55%) rename packages/extension/src/background/wallet/recovery/{shared.service.test.ts => WalletRecoverySharedService.test.ts} (92%) rename packages/extension/src/background/wallet/recovery/{shared.service.ts => WalletRecoverySharedService.ts} (65%) create mode 100644 packages/extension/src/background/wallet/recovery/WalletRecoveryStarknetService.ts delete mode 100644 packages/extension/src/background/wallet/recovery/starknet.service.ts rename packages/extension/src/background/wallet/session/{session.service.ts => WalletSessionService.ts} (96%) rename packages/extension/src/background/wallet/session/worker/{implementation.ts => WalletSessionWorker.ts} (80%) create mode 100644 packages/extension/src/contracts/ArgentAccount.casm.txt delete mode 100644 packages/extension/src/contracts/Proxy.txt create mode 100644 packages/extension/src/inpage/ArgentXAccount5.ts create mode 100644 packages/extension/src/inpage/ArgentXProvider5.ts create mode 100644 packages/extension/src/inpage/requestMessageHandlers/errors.ts create mode 100644 packages/extension/src/messages/__tests__/relayer.test.ts create mode 100644 packages/extension/src/messages/__tests__/window.test.ts create mode 100644 packages/extension/src/messages/__tests__/windowMock.mock.ts create mode 100644 packages/extension/src/messages/exchange/bidirectional.ts create mode 100644 packages/extension/src/messages/exchange/relayer.ts create mode 100644 packages/extension/src/messages/index.ts create mode 100644 packages/extension/src/messages/messenger/index.ts create mode 100644 packages/extension/src/messages/messenger/window.ts create mode 100644 packages/extension/src/notifications.d.ts rename packages/extension/src/shared/account/service/{implementation.test.ts => accountService/AccountService.test.ts} (84%) rename packages/extension/src/shared/account/service/{implementation.ts => accountService/AccountService.ts} (70%) rename packages/extension/src/shared/account/service/{interface.ts => accountService/IAccountService.ts} (66%) create mode 100644 packages/extension/src/shared/account/service/accountService/index.ts rename packages/extension/src/shared/account/service/{shared.service.test.ts => accountSharedService/WalletAccountSharedService.test.ts} (88%) create mode 100644 packages/extension/src/shared/account/service/accountSharedService/WalletAccountSharedService.ts create mode 100644 packages/extension/src/shared/account/service/accountSharedService/index.ts delete mode 100644 packages/extension/src/shared/account/service/shared.service.ts rename packages/extension/src/shared/actionQueue/queue/{interface.ts => IActionQueue.ts} (100%) rename packages/extension/src/shared/actionQueue/queue/{queue.test.ts => getActionQueue.test.ts} (97%) rename packages/extension/src/shared/actionQueue/queue/{queue.ts => getActionQueue.ts} (90%) create mode 100644 packages/extension/src/shared/actionQueue/service/IActionService.ts delete mode 100644 packages/extension/src/shared/actionQueue/service/interface.ts delete mode 100644 packages/extension/src/shared/activity/__fixtures__/activities-deploy.json delete mode 100644 packages/extension/src/shared/activity/__fixtures__/activities-handle-deposit.json delete mode 100644 packages/extension/src/shared/activity/__fixtures__/activities-many-escapes.json delete mode 100644 packages/extension/src/shared/activity/__fixtures__/activities-signer-changed.json create mode 100644 packages/extension/src/shared/activity/cache/IActivityCacheService.ts create mode 100644 packages/extension/src/shared/activity/cache/IActivityCacheStorage.ts create mode 100644 packages/extension/src/shared/activity/cache/storage.ts create mode 100644 packages/extension/src/shared/activity/index.ts delete mode 100644 packages/extension/src/shared/activity/schema.test.ts delete mode 100644 packages/extension/src/shared/activity/utils/getOverallLastModified.test.ts delete mode 100644 packages/extension/src/shared/activity/utils/getOverallLastModified.ts delete mode 100644 packages/extension/src/shared/activity/utils/hasDelegationActivity.test.ts delete mode 100644 packages/extension/src/shared/activity/utils/hasDelegationActivity.ts delete mode 100644 packages/extension/src/shared/activity/utils/isProvisionWithDeploymentActivity.test.ts delete mode 100644 packages/extension/src/shared/activity/utils/isProvisionWithDeploymentActivity.ts delete mode 100644 packages/extension/src/shared/activity/utils/parseAccountActivities.test.ts delete mode 100644 packages/extension/src/shared/activity/utils/parseAccountActivities.ts delete mode 100644 packages/extension/src/shared/activity/utils/parseFinanceActivities.test.ts delete mode 100644 packages/extension/src/shared/activity/utils/parseFinanceActivities.ts delete mode 100644 packages/extension/src/shared/activity/utils/parseProvisionActivity.test.ts delete mode 100644 packages/extension/src/shared/activity/utils/parseProvisionActivity.ts rename packages/extension/src/{ui/features/accountActivity/transform/__test__ => shared/activity/utils/transform/__fixtures__}/nftContractAddresses.ts (100%) create mode 100644 packages/extension/src/shared/activity/utils/transform/__fixtures__/tokensByNetwork.ts create mode 100644 packages/extension/src/shared/activity/utils/transform/activity/buildActivitySummary.ts rename packages/extension/src/{ui/features/accountActivity/transform/explorerTransaction/__test__/__fixtures__/explorer-transactions/goerli-alpha => shared/activity/utils/transform/explorerTransaction/__fixtures__/explorer-transactions/sepolia-alpha}/account-created-alt.json (100%) rename packages/extension/src/{ui/features/accountActivity/transform/explorerTransaction/__test__/__fixtures__/explorer-transactions/goerli-alpha => shared/activity/utils/transform/explorerTransaction/__fixtures__/explorer-transactions/sepolia-alpha}/account-created.json (100%) rename packages/extension/src/{ui/features/accountActivity/transform/explorerTransaction/__test__/__fixtures__/explorer-transactions/goerli-alpha => shared/activity/utils/transform/explorerTransaction/__fixtures__/explorer-transactions/sepolia-alpha}/account-upgrade.json (100%) rename packages/extension/src/{ui/features/accountActivity/transform/explorerTransaction/__test__/__fixtures__/explorer-transactions/goerli-alpha => shared/activity/utils/transform/explorerTransaction/__fixtures__/explorer-transactions/sepolia-alpha}/erc20-approve-unlimited.json (100%) rename packages/extension/src/{ui/features/accountActivity/transform/explorerTransaction/__test__/__fixtures__/explorer-transactions/goerli-alpha => shared/activity/utils/transform/explorerTransaction/__fixtures__/explorer-transactions/sepolia-alpha}/erc20-approve.json (100%) rename packages/extension/src/{ui/features/accountActivity/transform/explorerTransaction/__test__/__fixtures__/explorer-transactions/goerli-alpha => shared/activity/utils/transform/explorerTransaction/__fixtures__/explorer-transactions/sepolia-alpha}/erc20-mint-test-token.json (100%) rename packages/extension/src/{ui/features/accountActivity/transform/explorerTransaction/__test__/__fixtures__/explorer-transactions/goerli-alpha => shared/activity/utils/transform/explorerTransaction/__fixtures__/explorer-transactions/sepolia-alpha}/erc20-swap-alpha-road.json (100%) rename packages/extension/src/{ui/features/accountActivity/transform/explorerTransaction/__test__/__fixtures__/explorer-transactions/goerli-alpha => shared/activity/utils/transform/explorerTransaction/__fixtures__/explorer-transactions/sepolia-alpha}/erc20-swap-jediswap.json (100%) rename packages/extension/src/{ui/features/accountActivity/transform/explorerTransaction/__test__/__fixtures__/explorer-transactions/goerli-alpha => shared/activity/utils/transform/explorerTransaction/__fixtures__/explorer-transactions/sepolia-alpha}/erc20-swap-my-swap.json (96%) rename packages/extension/src/{ui/features/accountActivity/transform/explorerTransaction/__test__/__fixtures__/explorer-transactions/goerli-alpha => shared/activity/utils/transform/explorerTransaction/__fixtures__/explorer-transactions/sepolia-alpha}/erc20-transfer-no-contract-address.json (100%) rename packages/extension/src/{ui/features/accountActivity/transform/explorerTransaction/__test__/__fixtures__/explorer-transactions/goerli-alpha => shared/activity/utils/transform/explorerTransaction/__fixtures__/explorer-transactions/sepolia-alpha}/erc20-transfer-no-events.json (100%) rename packages/extension/src/{ui/features/accountActivity/transform/explorerTransaction/__test__/__fixtures__/explorer-transactions/goerli-alpha => shared/activity/utils/transform/explorerTransaction/__fixtures__/explorer-transactions/sepolia-alpha}/erc20-transfer-with-sequencer-event.json (100%) rename packages/extension/src/{ui/features/accountActivity/transform/explorerTransaction/__test__/__fixtures__/explorer-transactions/goerli-alpha => shared/activity/utils/transform/explorerTransaction/__fixtures__/explorer-transactions/sepolia-alpha}/erc20-transfer.json (100%) rename packages/extension/src/{ui/features/accountActivity/transform/explorerTransaction/__test__/__fixtures__/explorer-transactions/goerli-alpha => shared/activity/utils/transform/explorerTransaction/__fixtures__/explorer-transactions/sepolia-alpha}/erc721-mint-aspect.json (100%) rename packages/extension/src/{ui/features/accountActivity/transform/explorerTransaction/__test__/__fixtures__/explorer-transactions/goerli-alpha => shared/activity/utils/transform/explorerTransaction/__fixtures__/explorer-transactions/sepolia-alpha}/erc721-mint-mint-square.json (100%) rename packages/extension/src/{ui/features/accountActivity/transform/explorerTransaction/__test__/__fixtures__/explorer-transactions/goerli-alpha => shared/activity/utils/transform/explorerTransaction/__fixtures__/explorer-transactions/sepolia-alpha}/erc721-transfer.json (100%) rename packages/extension/src/{ui/features/accountActivity/transform/explorerTransaction/__test__/__fixtures__/explorer-transactions/goerli-alpha => shared/activity/utils/transform/explorerTransaction/__fixtures__/explorer-transactions/sepolia-alpha}/index.ts (100%) rename packages/extension/src/{ui/features/accountActivity/transform/explorerTransaction/__test__/__fixtures__/explorer-transactions/goerli-alpha => shared/activity/utils/transform/explorerTransaction/__fixtures__/explorer-transactions/sepolia-alpha}/novel-dapp-aspect-approve-nft-listing.json (100%) rename packages/extension/src/{ui/features/accountActivity/transform/explorerTransaction/__test__/__fixtures__/explorer-transactions/goerli-alpha => shared/activity/utils/transform/explorerTransaction/__fixtures__/explorer-transactions/sepolia-alpha}/novel-dapp-aspect-buy-nft.json (100%) rename packages/extension/src/{ui/features/accountActivity/transform/explorerTransaction/__test__/__fixtures__/explorer-transactions/goerli-alpha => shared/activity/utils/transform/explorerTransaction/__fixtures__/explorer-transactions/sepolia-alpha}/novel-dapp-briq.json (100%) rename packages/extension/src/{ui/features/accountActivity/transform/explorerTransaction/__test__/__fixtures__/explorer-transactions/goerli-alpha => shared/activity/utils/transform/explorerTransaction/__fixtures__/explorer-transactions/sepolia-alpha}/novel-dapp-influence-crewmate-purchase-nft.json (100%) rename packages/extension/src/{ui/features/accountActivity/transform/explorerTransaction/__test__/__fixtures__/explorer-transactions/goerli-alpha => shared/activity/utils/transform/explorerTransaction/__fixtures__/explorer-transactions/sepolia-alpha}/novel-dapp-mint-square-approve-eth.json (100%) rename packages/extension/src/{ui/features/accountActivity/transform/explorerTransaction/__test__/__fixtures__/explorer-transactions/goerli-alpha => shared/activity/utils/transform/explorerTransaction/__fixtures__/explorer-transactions/sepolia-alpha}/novel-dapp-mint-square-approve-nft-listing.json (100%) rename packages/extension/src/{ui/features/accountActivity/transform/explorerTransaction/__test__/__fixtures__/explorer-transactions/goerli-alpha => shared/activity/utils/transform/explorerTransaction/__fixtures__/explorer-transactions/sepolia-alpha}/novel-dapp-mint-square-buy-nft.json (100%) rename packages/extension/src/{ui/features/accountActivity/transform/explorerTransaction/__test__/__fixtures__/explorer-transactions/goerli-alpha => shared/activity/utils/transform/explorerTransaction/__fixtures__/explorer-transactions/sepolia-alpha}/novel-dapp-no-game.json (100%) rename packages/extension/src/{ui/features/accountActivity => shared/activity/utils}/transform/explorerTransaction/dappExplorerTransaction.ts (88%) rename packages/extension/src/{ui/features/accountActivity => shared/activity/utils}/transform/explorerTransaction/dappTransaction.ts (72%) rename packages/extension/src/{ui/features/accountActivity/transform/explorerTransaction/__test__ => shared/activity/utils/transform/explorerTransaction}/fingerprintExplorerTransaction.test.ts (95%) rename packages/extension/src/{ui/features/accountActivity => shared/activity/utils}/transform/explorerTransaction/fingerprintExplorerTransaction.ts (95%) rename packages/extension/src/{ui/features/accountActivity => shared/activity/utils}/transform/explorerTransaction/getActualFee.test.ts (93%) rename packages/extension/src/{ui/features/accountActivity => shared/activity/utils}/transform/explorerTransaction/getActualFee.ts (90%) rename packages/extension/src/{ui/features/accountActivity => shared/activity/utils}/transform/explorerTransaction/getEntityWithName.ts (100%) rename packages/extension/src/{ui/features/accountActivity => shared/activity/utils}/transform/explorerTransaction/getParameter.ts (80%) rename packages/extension/src/{ui/features/accountActivity/transform/explorerTransaction/__test__ => shared/activity/utils/transform/explorerTransaction}/transformExplorerTransaction.test.ts (92%) rename packages/extension/src/{ui/features/accountActivity => shared/activity/utils}/transform/explorerTransaction/transformExplorerTransaction.ts (94%) rename packages/extension/src/{ui/features/accountActivity => shared/activity/utils}/transform/explorerTransaction/transformers/accountCreateTransformer.ts (100%) rename packages/extension/src/{ui/features/accountActivity => shared/activity/utils}/transform/explorerTransaction/transformers/accountUpgradeTransformer.ts (100%) rename packages/extension/src/{ui/features/accountActivity => shared/activity/utils}/transform/explorerTransaction/transformers/dappAlphaRoadSwapTransformer.ts (100%) rename packages/extension/src/{ui/features/accountActivity => shared/activity/utils}/transform/explorerTransaction/transformers/dappAspectBuyNFTTransformer.ts (100%) rename packages/extension/src/{ui/features/accountActivity => shared/activity/utils}/transform/explorerTransaction/transformers/dappInfluenceMintTransformer.ts (100%) rename packages/extension/src/{ui/features/accountActivity => shared/activity/utils}/transform/explorerTransaction/transformers/dappJediswapSwapTransformer.ts (100%) rename packages/extension/src/{ui/features/accountActivity => shared/activity/utils}/transform/explorerTransaction/transformers/dappMintSquareBuyNFTTransformer.ts (100%) rename packages/extension/src/{ui/features/accountActivity => shared/activity/utils}/transform/explorerTransaction/transformers/dappMySwapSwapTransformer.ts (100%) rename packages/extension/src/{ui/features/accountActivity => shared/activity/utils}/transform/explorerTransaction/transformers/dateTransformer.ts (100%) rename packages/extension/src/{ui/features/accountActivity => shared/activity/utils}/transform/explorerTransaction/transformers/defaultDisplayNameTransformer.ts (91%) rename packages/extension/src/{ui/features/accountActivity => shared/activity/utils}/transform/explorerTransaction/transformers/feesTransformer.ts (100%) rename packages/extension/src/{ui/features/accountActivity => shared/activity/utils}/transform/explorerTransaction/transformers/knownDappTransformer.ts (100%) rename packages/extension/src/{ui/features/accountActivity => shared/activity/utils}/transform/explorerTransaction/transformers/knownNftTransformer.ts (100%) rename packages/extension/src/{ui/features/accountActivity => shared/activity/utils}/transform/explorerTransaction/transformers/postSwapTransformer.ts (100%) rename packages/extension/src/{ui/features/accountActivity => shared/activity/utils}/transform/explorerTransaction/transformers/postTransferTransformer.ts (86%) rename packages/extension/src/{ui/features/accountActivity => shared/activity/utils}/transform/explorerTransaction/transformers/tokenApproveTransformer.ts (100%) rename packages/extension/src/{ui/features/accountActivity => shared/activity/utils}/transform/explorerTransaction/transformers/tokenMintTransformer.ts (100%) rename packages/extension/src/{ui/features/accountActivity => shared/activity/utils}/transform/explorerTransaction/transformers/tokenTransferTransformer.ts (100%) rename packages/extension/src/{ui/features/accountActivity => shared/activity/utils}/transform/explorerTransaction/transformers/type.ts (65%) rename packages/extension/src/{ui/features/accountActivity => shared/activity/utils}/transform/getTokenForContractAddress.ts (65%) rename packages/extension/src/{ui/features/accountActivity => shared/activity/utils/transform}/getTransactionFailureReason.ts (90%) rename packages/extension/src/{ui/features/accountActivity => shared/activity/utils}/transform/index.ts (100%) rename packages/extension/src/{ui/features/accountActivity => shared/activity/utils}/transform/is.ts (81%) rename packages/extension/src/{ui/features/accountActivity => shared/activity/utils}/transform/transaction/getCallsFromTransaction.ts (74%) create mode 100644 packages/extension/src/shared/activity/utils/transform/transaction/getTransactionSubtitle.test.ts create mode 100644 packages/extension/src/shared/activity/utils/transform/transaction/getTransactionSubtitle.ts rename packages/extension/src/{ui/features/accountActivity/transform/transaction/__test__ => shared/activity/utils/transform/transaction}/transformTransaction.test.ts (84%) rename packages/extension/src/{ui/features/accountActivity => shared/activity/utils}/transform/transaction/transformTransaction.ts (86%) rename packages/extension/src/{ui/features/accountActivity => shared/activity/utils}/transform/transaction/transformers/changeMultisigThresholdTransformer.ts (86%) rename packages/extension/src/{ui/features/accountActivity => shared/activity/utils}/transform/transaction/transformers/changeMultisigTransformer.ts (95%) rename packages/extension/src/{ui/features/accountActivity => shared/activity/utils}/transform/transaction/transformers/dateTransformer.ts (100%) rename packages/extension/src/{ui/features/accountActivity => shared/activity/utils}/transform/transaction/transformers/declareContractTransformer.ts (89%) rename packages/extension/src/{ui/features/accountActivity => shared/activity/utils}/transform/transaction/transformers/defaultDisplayNameTransformer.ts (90%) rename packages/extension/src/{ui/features/accountActivity => shared/activity/utils}/transform/transaction/transformers/deployContractTransformer.ts (90%) rename packages/extension/src/{ui/features/accountActivity => shared/activity/utils}/transform/transaction/transformers/guardianTransformer.ts (53%) rename packages/extension/src/{ui/features/accountActivity => shared/activity/utils}/transform/transaction/transformers/knownDappTransformer.ts (100%) rename packages/extension/src/{ui/features/accountActivity => shared/activity/utils}/transform/transaction/transformers/nftTransferTransformer.ts (94%) create mode 100644 packages/extension/src/shared/activity/utils/transform/transaction/transformers/onChainRejectTransformer.test.ts create mode 100644 packages/extension/src/shared/activity/utils/transform/transaction/transformers/onChainRejectTransformer.ts rename packages/extension/src/{ui/features/accountActivity => shared/activity/utils}/transform/transaction/transformers/pendingMultisigTransactionAdapter.ts (64%) rename packages/extension/src/{ui/features/accountActivity => shared/activity/utils}/transform/transaction/transformers/postTransferTransformer.ts (100%) rename packages/extension/src/{ui/features/accountActivity => shared/activity/utils}/transform/transaction/transformers/tokenMintTransformer.ts (84%) rename packages/extension/src/{ui/features/accountActivity => shared/activity/utils}/transform/transaction/transformers/tokenTransferTransformer.ts (82%) create mode 100644 packages/extension/src/shared/activity/utils/transform/transaction/transformers/type.ts create mode 100644 packages/extension/src/shared/activity/utils/transform/transaction/transformers/upgradeAccountTransformer.test.ts create mode 100644 packages/extension/src/shared/activity/utils/transform/transaction/transformers/upgradeAccountTransformer.ts rename packages/extension/src/{ui/features/accountActivity => shared/activity/utils}/transform/type.ts (77%) create mode 100644 packages/extension/src/shared/address/AddressService.ts create mode 100644 packages/extension/src/shared/address/IAddressService.ts create mode 100644 packages/extension/src/shared/address/index.ts rename packages/extension/src/shared/addressBook/service/{implementation.test.ts => AddressBookService.test.ts} (89%) rename packages/extension/src/shared/addressBook/service/{implementation.ts => AddressBookService.ts} (97%) rename packages/extension/src/shared/addressBook/service/{interface.ts => IAddressBookService.ts} (100%) rename packages/extension/src/shared/analytics/{implementation.ts => AnalyticsService.ts} (77%) create mode 100644 packages/extension/src/shared/argentAccount/IArgentAccountService.ts delete mode 100644 packages/extension/src/shared/argentAccount/interface.ts create mode 100644 packages/extension/src/shared/browser/origin.ts rename packages/extension/src/shared/call/{__test__/__fixtures__/transaction-calls/goerli-alpha => __fixtures__/transaction-calls/sepolia-alpha}/change-guardian-add.json (100%) rename packages/extension/src/shared/call/{__test__/__fixtures__/transaction-calls/goerli-alpha => __fixtures__/transaction-calls/sepolia-alpha}/change-guardian-remove.json (100%) rename packages/extension/src/shared/call/{__test__/__fixtures__/transaction-calls/goerli-alpha => __fixtures__/transaction-calls/sepolia-alpha}/erc1155-transfer.json (100%) rename packages/extension/src/shared/call/{__test__/__fixtures__/transaction-calls/goerli-alpha => __fixtures__/transaction-calls/sepolia-alpha}/erc20-mint-test-token.json (100%) rename packages/extension/src/shared/call/{__test__/__fixtures__/transaction-calls/goerli-alpha => __fixtures__/transaction-calls/sepolia-alpha}/erc20-swap-alpha-road.json (100%) rename packages/extension/src/shared/call/{__test__/__fixtures__/transaction-calls/goerli-alpha => __fixtures__/transaction-calls/sepolia-alpha}/erc20-swap-jediswap.json (100%) rename packages/extension/src/shared/call/{__test__/__fixtures__/transaction-calls/goerli-alpha => __fixtures__/transaction-calls/sepolia-alpha}/erc20-swap-my-swap.json (100%) rename packages/extension/src/shared/call/{__test__/__fixtures__/transaction-calls/goerli-alpha => __fixtures__/transaction-calls/sepolia-alpha}/erc20-transfer.json (100%) rename packages/extension/src/shared/call/{__test__/__fixtures__/transaction-calls/goerli-alpha => __fixtures__/transaction-calls/sepolia-alpha}/erc721-mint-aspect.json (100%) rename packages/extension/src/shared/call/{__test__/__fixtures__/transaction-calls/goerli-alpha => __fixtures__/transaction-calls/sepolia-alpha}/erc721-transfer.json (100%) rename packages/extension/src/shared/call/{__test__/__fixtures__/transaction-calls/goerli-alpha => __fixtures__/transaction-calls/sepolia-alpha}/index.ts (93%) rename packages/extension/src/shared/call/{__test__/__fixtures__/transaction-calls/goerli-alpha => __fixtures__/transaction-calls/sepolia-alpha}/multisig-add-owner.json (100%) rename packages/extension/src/shared/call/{__test__/__fixtures__/transaction-calls/goerli-alpha => __fixtures__/transaction-calls/sepolia-alpha}/multisig-remove-owner.json (100%) rename packages/extension/src/shared/call/{__test__/__fixtures__/transaction-calls/goerli-alpha => __fixtures__/transaction-calls/sepolia-alpha}/multisig-replace-owner.json (100%) create mode 100644 packages/extension/src/shared/call/__fixtures__/transaction-calls/sepolia-alpha/reject-on-chain.json rename packages/extension/src/shared/call/{__test__ => }/erc20TransferCall.test.ts (99%) rename packages/extension/src/shared/call/{__test__ => }/nftTransferCall.test.ts (91%) create mode 100644 packages/extension/src/shared/call/rejectOnChainCall.test.ts create mode 100644 packages/extension/src/shared/call/rejectOnChainCall.ts create mode 100644 packages/extension/src/shared/call/upgradeAccountCall.ts rename packages/extension/src/shared/chain/service/{interface.ts => IChainService.ts} (100%) rename packages/extension/src/shared/chain/service/{implementation.test.ts => StarknetChainService.test.ts} (87%) rename packages/extension/src/shared/chain/service/{implementation.ts => StarknetChainService.ts} (90%) rename packages/extension/src/shared/debounce/{chrome.test.ts => DebounceService.test.ts} (96%) rename packages/extension/src/shared/debounce/{chrome.ts => DebounceService.ts} (93%) rename packages/extension/src/shared/debounce/{interface.ts => IDebounceService.ts} (92%) create mode 100644 packages/extension/src/shared/discover/IDiscoverService.ts rename packages/extension/src/shared/discover/{interface.ts => IDiscoverStorage.ts} (59%) delete mode 100644 packages/extension/src/shared/errors/baseError.ts create mode 100644 packages/extension/src/shared/errors/ledger.ts delete mode 100644 packages/extension/src/shared/errors/schema.ts rename packages/extension/src/shared/feeToken/service/{implementation.test.ts => FeeTokenService.test.ts} (54%) rename packages/extension/src/shared/feeToken/service/{implementation.ts => FeeTokenService.ts} (75%) rename packages/extension/src/shared/feeToken/service/{interface.ts => IFeeTokenService.ts} (100%) create mode 100644 packages/extension/src/shared/idb/addressNormalizerMiddleware.ts create mode 100644 packages/extension/src/shared/idb/chunkedBulkPut.ts create mode 100644 packages/extension/src/shared/idb/db.test.ts create mode 100644 packages/extension/src/shared/idb/db.ts create mode 100644 packages/extension/src/shared/idb/migration.test.ts create mode 100644 packages/extension/src/shared/idb/schema.ts rename packages/extension/src/shared/knownDapps/{interface.ts => IKnownDappService.ts} (100%) rename packages/extension/src/shared/knownDapps/{implementation.ts => KnownDappService.ts} (78%) rename packages/extension/src/shared/{storage/__new/repositories/knownDapp.ts => knownDapps/storage.ts} (77%) create mode 100644 packages/extension/src/shared/ledger/constants.ts create mode 100644 packages/extension/src/shared/ledger/schema.ts create mode 100644 packages/extension/src/shared/ledger/service/ILedgerSharedService.ts create mode 100644 packages/extension/src/shared/ledger/service/LedgerSharedService.ts create mode 100644 packages/extension/src/shared/ledger/service/index.ts create mode 100644 packages/extension/src/shared/messages/getIsSafeMessageSender.ts create mode 100644 packages/extension/src/shared/messages/getOriginFromSender.ts create mode 100644 packages/extension/src/shared/multisig/emitter.ts create mode 100644 packages/extension/src/shared/multisig/pendingOffchainSignaturesStore.ts create mode 100644 packages/extension/src/shared/multisig/service/backend/IMultisigBackendService.ts rename packages/extension/src/shared/multisig/service/backend/{implementation.test.ts => MultisigBackendService.test.ts} (84%) rename packages/extension/src/shared/multisig/service/backend/{implementation.ts => MultisigBackendService.ts} (51%) delete mode 100644 packages/extension/src/shared/multisig/service/backend/interface.ts rename packages/extension/src/shared/multisig/service/messaging/{interface.ts => IMultisigService.ts} (56%) create mode 100644 packages/extension/src/shared/multisig/utils/fixtures/multisigRequests.json create mode 100644 packages/extension/src/shared/multisig/utils/fixtures/multisigRequestsWithRejected.json create mode 100644 packages/extension/src/shared/multisig/utils/fixtures/multisigRequestsWithRetried.json create mode 100644 packages/extension/src/shared/multisig/utils/getMultisigDiscoveryUrl.ts create mode 100644 packages/extension/src/shared/multisig/utils/getMultisigTransactionType.test.ts create mode 100644 packages/extension/src/shared/multisig/utils/multisigTxV3.ts create mode 100644 packages/extension/src/shared/network/FallbackRpcProvider5.ts rename packages/extension/src/shared/network/service/{interface.ts => INetworkService.ts} (100%) rename packages/extension/src/shared/network/service/{implementation.ts => NetworkService.ts} (95%) delete mode 100644 packages/extension/src/shared/network/txv3.ts rename packages/extension/src/shared/nft/{interface.ts => INFTService.ts} (93%) rename packages/extension/src/shared/nft/{test/index.test.ts => NFTService.test.ts} (81%) rename packages/extension/src/shared/nft/{implementation.ts => NFTService.ts} (92%) rename packages/extension/src/shared/nft/{test => __mocks__}/nft.mock.ts (92%) rename packages/extension/src/shared/{storage/__new/repositories/nft.ts => nft/store.ts} (91%) delete mode 100644 packages/extension/src/shared/nft/worker/interface.ts delete mode 100644 packages/extension/src/shared/notification.ts create mode 100644 packages/extension/src/shared/notifications/INotificationService.ts create mode 100644 packages/extension/src/shared/notifications/schema.ts create mode 100644 packages/extension/src/shared/onRamp/IOnRampService.ts rename packages/extension/src/{background/__new/services/onboarding/interface.ts => shared/onboarding/IOnboardingService.ts} (100%) rename packages/extension/src/shared/preAuthorization/{service/interface.ts => IPreAuthorizationService.ts} (56%) rename packages/extension/src/shared/preAuthorization/{service/implementation.test.ts => PreAuthorizationService.test.ts} (92%) rename packages/extension/src/shared/preAuthorization/{service/implementation.ts => PreAuthorizationService.ts} (61%) create mode 100644 packages/extension/src/shared/preAuthorization/index.ts delete mode 100644 packages/extension/src/shared/preAuthorization/service/index.ts rename packages/extension/src/shared/preAuthorization/{store/index.ts => store.ts} (70%) delete mode 100644 packages/extension/src/shared/provision/interface.ts delete mode 100644 packages/extension/src/shared/provision/types.ts rename packages/extension/src/shared/recovery/{service/interface.ts => IRecoveryService.ts} (100%) rename packages/extension/src/shared/riskAssessment/{interface.ts => IRiskAssessmentService.ts} (100%) rename packages/extension/src/shared/schedule/{chromeService.test.ts => ChromeScheduleService.test.ts} (92%) rename packages/extension/src/shared/schedule/{chromeService.ts => ChromeScheduleService.ts} (94%) rename packages/extension/src/shared/schedule/{interface.ts => IScheduleService.ts} (100%) rename packages/extension/src/{ui/features => shared}/send/schema.test.ts (100%) rename packages/extension/src/{ui/features => shared}/send/schema.ts (84%) create mode 100644 packages/extension/src/shared/sentry/option.ts create mode 100644 packages/extension/src/shared/sentry/scope.ts create mode 100644 packages/extension/src/shared/sentry/stripChromeExtensionPrefix.test.ts create mode 100644 packages/extension/src/shared/sentry/stripChromeExtensionPrefix.ts create mode 100644 packages/extension/src/shared/sentry/types.ts create mode 100644 packages/extension/src/shared/sessionKeys/__fixtures__/session-message.json create mode 100644 packages/extension/src/shared/sessionKeys/schema.test.ts create mode 100644 packages/extension/src/shared/sessionKeys/schema.ts create mode 100644 packages/extension/src/shared/sessionKeys/whitelist.ts delete mode 100644 packages/extension/src/shared/shield/GuardianSignerArgentX.ts delete mode 100644 packages/extension/src/shared/shield/constants.ts create mode 100644 packages/extension/src/shared/signatureReview/ISignatureReviewService.ts create mode 100644 packages/extension/src/shared/signatureReview/schema.ts create mode 100644 packages/extension/src/shared/signer/ArgentSigner.ts create mode 100644 packages/extension/src/shared/signer/BaseSignerInterface.ts rename packages/{guardian/src/services/GuardianSigner.ts => extension/src/shared/signer/GuardianSignerV2.ts} (67%) create mode 100644 packages/extension/src/shared/signer/LedgerSigner.ts create mode 100644 packages/extension/src/shared/signer/derivationPaths.ts create mode 100644 packages/extension/src/shared/signer/index.test.ts create mode 100644 packages/extension/src/shared/signer/index.ts create mode 100644 packages/extension/src/shared/signer/types.ts create mode 100644 packages/extension/src/shared/signer/utils.ts rename packages/extension/src/shared/{shield => smartAccount}/GuardianSelfSigner.ts (86%) create mode 100644 packages/extension/src/shared/smartAccount/ISmartAccountService.ts create mode 100644 packages/extension/src/shared/smartAccount/SmartAccountService.ts create mode 100644 packages/extension/src/shared/smartAccount/account.ts rename packages/extension/src/shared/{shield => smartAccount}/backend/account.ts (78%) rename packages/extension/src/shared/{shield => smartAccount}/backend/time.ts (97%) create mode 100644 packages/extension/src/shared/smartAccount/changeGuardianCallDataToType.test.ts create mode 100644 packages/extension/src/shared/smartAccount/changeGuardianCallDataToType.ts create mode 100644 packages/extension/src/shared/smartAccount/constants.ts create mode 100644 packages/extension/src/shared/smartAccount/getChangeGuardianCalldata.ts rename packages/extension/src/shared/{shield => smartAccount}/idb.ts (88%) create mode 100644 packages/extension/src/shared/smartAccount/index.ts rename packages/extension/src/shared/{shield => smartAccount}/jwt.ts (97%) rename packages/extension/src/shared/{shield => smartAccount}/jwtFetcher.ts (100%) create mode 100644 packages/extension/src/shared/smartAccount/useSmartAccountEnabled.ts rename packages/extension/src/shared/{shield => smartAccount}/validation/addBackendAccount.test.ts (96%) rename packages/extension/src/shared/{shield => smartAccount}/validation/addBackendAccount.ts (74%) rename packages/extension/src/shared/{shield => smartAccount}/validation/validateAccount.test.ts (82%) rename packages/extension/src/shared/{shield => smartAccount}/validation/validateAccount.ts (73%) rename packages/extension/src/shared/{shield => smartAccount}/validation/verification.ts (100%) rename packages/extension/src/shared/{shield => smartAccount}/verifiedEmail.ts (94%) create mode 100644 packages/extension/src/shared/starknetAccount/base.ts create mode 100644 packages/extension/src/shared/starknetAccount/index.ts create mode 100644 packages/extension/src/shared/starknetAccount/types.ts rename packages/extension/src/shared/swap/service/{interface.ts => ISharedSwapService.ts} (100%) rename packages/extension/src/shared/swap/service/{implementation.test.ts => SharedSwapService.test.ts} (90%) rename packages/extension/src/shared/swap/service/{implementation.ts => SharedSwapService.ts} (91%) delete mode 100644 packages/extension/src/shared/token/__new/repository/token.ts delete mode 100644 packages/extension/src/shared/token/__new/repository/tokenBalance.ts delete mode 100644 packages/extension/src/shared/token/__new/repository/tokenInfo.ts delete mode 100644 packages/extension/src/shared/token/__new/repository/tokenPrice.ts rename packages/extension/src/shared/token/__new/service/{interface.ts => ITokenService.ts} (92%) rename packages/extension/src/shared/token/__new/service/{implementation.test.ts => TokenService.test.ts} (76%) rename packages/extension/src/shared/token/__new/service/{implementation.ts => TokenService.ts} (76%) rename packages/extension/src/shared/transactionReview/__fixtures__/{shield-add.json => smart-account-add.json} (100%) rename packages/extension/src/shared/transactionReview/__fixtures__/{shield-keep.json => smart-account-keep.json} (100%) rename packages/extension/src/shared/transactionReview/__fixtures__/{shield-remove.json => smart-account-remove.json} (100%) delete mode 100644 packages/extension/src/shared/transactionReview/schema.test.ts delete mode 100644 packages/extension/src/shared/transactionReview/schema.ts delete mode 100644 packages/extension/src/shared/transactionSimulation/utils.test.ts delete mode 100644 packages/extension/src/shared/transactionSimulation/utils.ts create mode 100644 packages/extension/src/shared/transactions/getChangedStatusTransactions.test.ts create mode 100644 packages/extension/src/shared/transactions/getChangedStatusTransactions.ts rename packages/extension/src/shared/{__new/services/ui/interface.ts => ui/IUIService.ts} (85%) create mode 100644 packages/extension/src/shared/ui/UIMessage.ts rename packages/extension/src/shared/{__new/services/ui/implementation.test.ts => ui/UIService.test.ts} (95%) rename packages/extension/src/shared/{__new/services/ui/implementation.ts => ui/UIService.ts} (77%) rename packages/extension/src/shared/{__new/services => }/ui/constants.ts (100%) rename packages/extension/src/shared/{__new/services => }/ui/index.ts (69%) rename packages/extension/src/{ => shared}/ui/routes.ts (72%) create mode 100644 packages/extension/src/shared/utils/getContractAddress.ts create mode 100644 packages/extension/src/shared/utils/getStandardAccountDiscoveryUrl.ts delete mode 100644 packages/extension/src/shared/utils/getTransactionVersion.ts create mode 100644 packages/extension/src/shared/utils/isSafeUpgradeTransaction.test.ts create mode 100644 packages/extension/src/shared/utils/isSafeUpgradeTransaction.ts delete mode 100644 packages/extension/src/shared/utils/isUpgradeTransaction.ts create mode 100644 packages/extension/src/shared/utils/sanitizeAccountType.test.ts create mode 100644 packages/extension/src/shared/utils/sanitizeAccountType.ts create mode 100644 packages/extension/src/shared/utils/sanitizeSignerType.ts delete mode 100644 packages/extension/src/shared/utils/schema.ts create mode 100644 packages/extension/src/shared/utils/sortByCurrencyValue.ts delete mode 100644 packages/extension/src/shared/utils/transactionVersion.ts create mode 100644 packages/extension/src/shared/wallet/getDefaultSortedAccount.ts create mode 100644 packages/extension/src/shared/wallet/getDefaultSortedAccounts.test.ts create mode 100644 packages/extension/src/shared/wallet/sanitiseSelectedAccount.ts delete mode 100644 packages/extension/src/shared/warning/schema.ts create mode 100644 packages/extension/src/ui/AppThemeProvider.tsx create mode 100644 packages/extension/src/ui/appicon/appicon-alpha.png create mode 100644 packages/extension/src/ui/appicon/appicon-beta.png rename packages/extension/src/{assets/logo.png => ui/appicon/appicon-default.png} (100%) create mode 100644 packages/extension/src/ui/appicon/favicon-alpha.ico create mode 100644 packages/extension/src/ui/appicon/favicon-beta.ico create mode 100644 packages/extension/src/ui/appicon/favicon-default.ico rename packages/extension/src/ui/{ => appicon}/favicon.ico (100%) delete mode 100644 packages/extension/src/ui/components/Icons/GithubIcon.tsx create mode 100644 packages/extension/src/ui/components/Notification.tsx create mode 100644 packages/extension/src/ui/features/accountActivity/OffchainSignatureListItem.tsx delete mode 100644 packages/extension/src/ui/features/accountActivity/transform/__test__/tokensByNetwork.ts delete mode 100644 packages/extension/src/ui/features/accountActivity/transform/explorerTransaction/transformers/provisionTransformer.ts delete mode 100644 packages/extension/src/ui/features/accountActivity/transform/transaction/transformers/type.ts delete mode 100644 packages/extension/src/ui/features/accountActivity/useActivity.ts create mode 100644 packages/extension/src/ui/features/accountActivityV2/AccountActivityContainerV2.tsx create mode 100644 packages/extension/src/ui/features/accountActivityV2/ActivityDetailsScreen.tsx create mode 100644 packages/extension/src/ui/features/accountActivityV2/ActivityDetailsScreenContainer.tsx create mode 100644 packages/extension/src/ui/features/accountActivityV2/ActivityDetailsScreenEmpty.tsx create mode 100644 packages/extension/src/ui/features/accountActivityV2/ActivityHistoryContainer.tsx create mode 100644 packages/extension/src/ui/features/accountActivityV2/EmptyAccountActivity.tsx create mode 100644 packages/extension/src/ui/features/accountActivityV2/MultisigAccountActivityContainer.tsx create mode 100644 packages/extension/src/ui/features/accountActivityV2/state.ts delete mode 100644 packages/extension/src/ui/features/accountPlugins.tsx/Plugin.tsx delete mode 100644 packages/extension/src/ui/features/accountPlugins.tsx/PluginAccount.ts delete mode 100644 packages/extension/src/ui/features/accountPlugins.tsx/Plugins.tsx delete mode 100644 packages/extension/src/ui/features/accountPlugins.tsx/useIsPlugin.tsx create mode 100644 packages/extension/src/ui/features/accountTokens/AccountBanners.tsx create mode 100644 packages/extension/src/ui/features/accountTokens/AccountBannersAndTokenListContainer.tsx create mode 100644 packages/extension/src/ui/features/accountTokens/AccountBannersContainer.tsx delete mode 100644 packages/extension/src/ui/features/accountTokens/AccountTokens.test.tsx create mode 100644 packages/extension/src/ui/features/accountTokens/AccountTokensBalance.tsx create mode 100644 packages/extension/src/ui/features/accountTokens/AccountTokensBalanceContainer.tsx delete mode 100644 packages/extension/src/ui/features/accountTokens/AccountTokensHeader.tsx create mode 100644 packages/extension/src/ui/features/accountTokens/PrettyAccountBalance.tsx delete mode 100644 packages/extension/src/ui/features/accountTokens/TokenIcon.tsx create mode 100644 packages/extension/src/ui/features/accountTokens/UpgradeBannerContainer.tsx delete mode 100644 packages/extension/src/ui/features/accountTokens/banner/useAirdropBanner.tsx delete mode 100644 packages/extension/src/ui/features/accountTokens/useAccountStatus.ts create mode 100644 packages/extension/src/ui/features/accountTokens/useIsAccountDeploying.ts create mode 100644 packages/extension/src/ui/features/accountTokens/usePromptUserReview.ts create mode 100644 packages/extension/src/ui/features/accountTokens/useShowAccountUpgrade.ts delete mode 100644 packages/extension/src/ui/features/accounts/AccountContainer.tsx rename packages/extension/src/ui/features/accounts/{HiddenAccountsBarContainer.tsx => AccountListFooter.tsx} (57%) create mode 100644 packages/extension/src/ui/features/accounts/AccountListFooterContainer.tsx create mode 100644 packages/extension/src/ui/features/accounts/AccountListItemLedgerBadge.tsx delete mode 100644 packages/extension/src/ui/features/accounts/AccountListItemShieldBadgeContainer.tsx rename packages/extension/src/ui/features/accounts/{AccountListItemShieldBadge.tsx => AccountListItemSmartAccountBadge.tsx} (59%) create mode 100644 packages/extension/src/ui/features/accounts/AccountListItemSmartAccountBadgeContainer.tsx delete mode 100644 packages/extension/src/ui/features/accounts/ClickableShieldBanner.tsx create mode 100644 packages/extension/src/ui/features/accounts/ClickableSmartAccountBanner.tsx delete mode 100644 packages/extension/src/ui/features/accounts/HiddenAccountsBar.tsx create mode 100644 packages/extension/src/ui/features/accounts/SmartAccountDetailedDescription.tsx create mode 100644 packages/extension/src/ui/features/accounts/SmartAccountDetailsDescriptionImproved.tsx create mode 100644 packages/extension/src/ui/features/accounts/getDefaultSortedAccount.ts create mode 100644 packages/extension/src/ui/features/accounts/getDefaultSortedAccounts.test.ts create mode 100644 packages/extension/src/ui/features/accounts/ui/AccountTypesList.tsx delete mode 100644 packages/extension/src/ui/features/actions/DeprecatedConfirmScreen.tsx delete mode 100644 packages/extension/src/ui/features/actions/TransactionActionScreenContainer.tsx delete mode 100644 packages/extension/src/ui/features/actions/feeEstimation/CombinedFeeEstimation.test.tsx delete mode 100644 packages/extension/src/ui/features/actions/feeEstimation/CombinedFeeEstimation.tsx delete mode 100644 packages/extension/src/ui/features/actions/feeEstimation/CombinedFeeEstimationContainer.tsx delete mode 100644 packages/extension/src/ui/features/actions/feeEstimation/FeeEstimationContainer.tsx delete mode 100644 packages/extension/src/ui/features/actions/feeEstimation/__fixtures__/combinedFeeEstimation.ts create mode 100644 packages/extension/src/ui/features/actions/hooks/useLedgerCloseOnError.ts create mode 100644 packages/extension/src/ui/features/actions/hooks/useLedgerForTransaction.ts delete mode 100644 packages/extension/src/ui/features/actions/transaction/ApproveTransactionScreen/ActionScreenErrorFooter.tsx delete mode 100644 packages/extension/src/ui/features/actions/transaction/ApproveTransactionScreen/BalanceChangeOverviewArgentX.tsx delete mode 100644 packages/extension/src/ui/features/actions/transaction/ApproveTransactionScreen/DappHeader/TransactionIcon/AddArgentShieldIcon.tsx create mode 100644 packages/extension/src/ui/features/actions/transaction/ApproveTransactionScreen/DappHeader/TransactionIcon/DowngradeSmartAccountIcon.tsx delete mode 100644 packages/extension/src/ui/features/actions/transaction/ApproveTransactionScreen/DappHeader/TransactionIcon/RemoveArgentShieldIcon.tsx create mode 100644 packages/extension/src/ui/features/actions/transaction/ApproveTransactionScreen/DappHeader/TransactionIcon/UpgradeSmartAccountIcon.tsx delete mode 100644 packages/extension/src/ui/features/actions/transaction/ApproveTransactionScreen/NftDetailsArgentXContainer.tsx delete mode 100644 packages/extension/src/ui/features/actions/transaction/ApproveTransactionScreen/SimulationLoadingBanner.tsx delete mode 100644 packages/extension/src/ui/features/actions/transaction/ApproveTransactionScreen/TransactionBanner.tsx create mode 100644 packages/extension/src/ui/features/actions/transaction/ApproveTransactionScreen/ledger/LedgerActionModal.tsx create mode 100644 packages/extension/src/ui/features/actions/transaction/ApproveTransactionScreen/ledger/LedgerModalBottomDialog.tsx create mode 100644 packages/extension/src/ui/features/actions/transaction/ApproveTransactionScreen/ledger/assets/ledger-nano-connected.svg create mode 100644 packages/extension/src/ui/features/actions/transaction/ApproveTransactionScreen/ledger/assets/ledger-nano-disconnected.svg rename packages/extension/src/ui/features/actions/transaction/{ApproveTransactionScreen/MultisigBanner.tsx => MultisigConfirmationsBanner.tsx} (62%) create mode 100644 packages/extension/src/ui/features/actions/transaction/airgap/AirGapReviewButton.tsx create mode 100644 packages/extension/src/ui/features/actions/transaction/airgap/AirGapReviewScreen.tsx delete mode 100644 packages/extension/src/ui/features/actions/transaction/executeFromOutside/model.ts create mode 100644 packages/extension/src/ui/features/actions/transaction/executeFromOutside/useValidateOutsideExecution.test.ts create mode 100644 packages/extension/src/ui/features/actions/transaction/executeFromOutside/useValidateOutsideExecution.ts delete mode 100644 packages/extension/src/ui/features/actions/transaction/executeFromOutside/utils.test.ts delete mode 100644 packages/extension/src/ui/features/actions/transaction/executeFromOutside/whitelist.ts delete mode 100644 packages/extension/src/ui/features/actions/transaction/useTransactionReview.ts create mode 100644 packages/extension/src/ui/features/actions/transactionV2/SessionKeyReview.tsx create mode 100644 packages/extension/src/ui/features/actions/transactionV2/TransactionActionScreenContainer.tsx delete mode 100644 packages/extension/src/ui/features/actions/transactionV2/TransactionActionScreenContainerV2.tsx delete mode 100644 packages/extension/src/ui/features/actions/transactionV2/TransactionHeader/AccountDetails.tsx delete mode 100644 packages/extension/src/ui/features/actions/transactionV2/TransactionHeader/TransactionIcon/DappIcon.tsx delete mode 100644 packages/extension/src/ui/features/actions/transactionV2/TransactionReviewLabel.tsx delete mode 100644 packages/extension/src/ui/features/actions/transactionV2/action/TransactionReviewAction.tsx delete mode 100644 packages/extension/src/ui/features/actions/transactionV2/action/TransactionReviewActions.tsx delete mode 100644 packages/extension/src/ui/features/actions/transactionV2/action/TransactionReviewSignAction.tsx delete mode 100644 packages/extension/src/ui/features/actions/transactionV2/action/properties/AddressProperty.tsx delete mode 100644 packages/extension/src/ui/features/actions/transactionV2/action/properties/AmountProperty.tsx delete mode 100644 packages/extension/src/ui/features/actions/transactionV2/action/properties/TextProperty.tsx delete mode 100644 packages/extension/src/ui/features/actions/transactionV2/action/properties/TimeStampProperty.tsx delete mode 100644 packages/extension/src/ui/features/actions/transactionV2/action/properties/TokenAddressProperty.tsx delete mode 100644 packages/extension/src/ui/features/actions/transactionV2/action/properties/TransactionReviewProperties.tsx delete mode 100644 packages/extension/src/ui/features/actions/transactionV2/action/properties/TransactionReviewProperty.tsx delete mode 100644 packages/extension/src/ui/features/actions/transactionV2/action/properties/ui/AddressActions.tsx delete mode 100644 packages/extension/src/ui/features/actions/transactionV2/action/properties/ui/AddressTooltip.tsx delete mode 100644 packages/extension/src/ui/features/actions/transactionV2/action/properties/ui/CallDataModal.tsx create mode 100644 packages/extension/src/ui/features/actions/transactionV2/header/AccountDetailsNavigationContainer.tsx create mode 100644 packages/extension/src/ui/features/actions/transactionV2/header/NavigationBarAccountDetails.tsx create mode 100644 packages/extension/src/ui/features/actions/transactionV2/header/NavigationBarAccountDetailsContainer.tsx create mode 100644 packages/extension/src/ui/features/actions/transactionV2/header/SessionKeyHeader.tsx rename packages/extension/src/ui/features/actions/transactionV2/{TransactionHeader/index.tsx => header/TransactionHeader.tsx} (90%) rename packages/extension/src/ui/features/actions/transactionV2/{TransactionHeader => header}/TransactionTitle.tsx (100%) create mode 100644 packages/extension/src/ui/features/actions/transactionV2/header/icon/DappIcon.tsx rename packages/extension/src/ui/features/actions/transactionV2/{TransactionHeader/TransactionIcon => header/icon}/IconWrapper.tsx (100%) rename packages/extension/src/ui/features/actions/transactionV2/{TransactionHeader/TransactionIcon => header/icon}/KnownIcon.tsx (64%) rename packages/extension/src/ui/features/actions/transactionV2/{TransactionHeader/TransactionIcon/index.tsx => header/icon/TransactionIcon.tsx} (79%) rename packages/extension/src/ui/features/actions/transactionV2/{TransactionHeader/TransactionIcon => header/icon}/UnknownDappIcon.tsx (80%) create mode 100644 packages/extension/src/ui/features/actions/transactionV2/header/icon/index.ts create mode 100644 packages/extension/src/ui/features/actions/transactionV2/header/index.ts delete mode 100644 packages/extension/src/ui/features/actions/transactionV2/simulation/TransactionReviewSimulation.tsx delete mode 100644 packages/extension/src/ui/features/actions/transactionV2/simulation/summary/TransactionReviewSummary.tsx delete mode 100644 packages/extension/src/ui/features/actions/transactionV2/simulation/summary/TransactionReviewSummaryStack.tsx create mode 100644 packages/extension/src/ui/features/actions/transactionV2/useAirGapData.ts create mode 100644 packages/extension/src/ui/features/actions/transactionV2/useFeeTokenSelection.test.ts create mode 100644 packages/extension/src/ui/features/actions/transactionV2/useFeeTokenSelection.ts create mode 100644 packages/extension/src/ui/features/actions/transactionV2/useTransactionHash.ts create mode 100644 packages/extension/src/ui/features/actions/transactionV2/useTransactionReviewV2.test.ts create mode 100644 packages/extension/src/ui/features/actions/transactionV2/utils/getAmpliPayloadFromReview.ts delete mode 100644 packages/extension/src/ui/features/actions/transactionV2/utils/getPrettyRpcError.test.ts delete mode 100644 packages/extension/src/ui/features/actions/transactionV2/utils/getPrettyRpcError.ts create mode 100644 packages/extension/src/ui/features/actions/transactionV2/utils/hasFeeTokenEnoughBalance.ts create mode 100644 packages/extension/src/ui/features/actions/useDefaultFeeToken.ts create mode 100644 packages/extension/src/ui/features/actions/warning/WarningModalContainer.tsx delete mode 100644 packages/extension/src/ui/features/argentAccount/hooks/useEmailPreferences.tsx delete mode 100644 packages/extension/src/ui/features/browser/constants.ts delete mode 100644 packages/extension/src/ui/features/browser/useOriginatingHost.ts create mode 100644 packages/extension/src/ui/features/funding/FundingFaucetSepoliaScreen.tsx create mode 100644 packages/extension/src/ui/features/ledger/CreateMultisigWithLedger/CreateMultisigWithLedgerScreen.tsx create mode 100644 packages/extension/src/ui/features/ledger/ImportLedgerAccounts/ImportLedgerAccounts.tsx create mode 100644 packages/extension/src/ui/features/ledger/ImportLedgerAccounts/ImportLedgerAccountsContainer.tsx create mode 100644 packages/extension/src/ui/features/ledger/ImportLedgerAccounts/ImportLedgerAccountsError.tsx create mode 100644 packages/extension/src/ui/features/ledger/ImportLedgerAccounts/ImportLedgerAccountsLoading.tsx create mode 100644 packages/extension/src/ui/features/ledger/ImportLedgerAccounts/ImportLedgerAccountsSuccess.tsx create mode 100644 packages/extension/src/ui/features/ledger/ImportLedgerAccounts/Pagination.tsx create mode 100644 packages/extension/src/ui/features/ledger/JoinMultisigWithLedger/JoinMultisigSidePanel.tsx create mode 100644 packages/extension/src/ui/features/ledger/JoinMultisigWithLedger/JoinMultisigWithLedger.tsx create mode 100644 packages/extension/src/ui/features/ledger/LedgerConnect/ConnectInstructionBox.tsx create mode 100644 packages/extension/src/ui/features/ledger/LedgerConnect/LedgerConnectSidePanel.tsx create mode 100644 packages/extension/src/ui/features/ledger/LedgerConnect/LedgerConnectStep.tsx create mode 100644 packages/extension/src/ui/features/ledger/LedgerConnect/LedgerConnectionError.tsx create mode 100644 packages/extension/src/ui/features/ledger/LedgerConnect/LedgerIllustration.tsx create mode 100644 packages/extension/src/ui/features/ledger/LedgerStartScreen.tsx create mode 100644 packages/extension/src/ui/features/ledger/RestoreMultisigWithLedger/RestoreDetecting.tsx create mode 100644 packages/extension/src/ui/features/ledger/RestoreMultisigWithLedger/RestoreFound.tsx create mode 100644 packages/extension/src/ui/features/ledger/RestoreMultisigWithLedger/RestoreMultisigSidePanel.tsx create mode 100644 packages/extension/src/ui/features/ledger/RestoreMultisigWithLedger/RestoreMultisigWithLedger.tsx create mode 100644 packages/extension/src/ui/features/ledger/RestoreMultisigWithLedger/RestoreNotFound.tsx create mode 100644 packages/extension/src/ui/features/ledger/hooks/useGetLedgerAccounts.ts create mode 100644 packages/extension/src/ui/features/ledger/hooks/useIsLedgerSigner.ts create mode 100644 packages/extension/src/ui/features/ledger/hooks/useLedgerConnect.ts create mode 100644 packages/extension/src/ui/features/ledger/hooks/useLedgerDeviceConnection.ts create mode 100644 packages/extension/src/ui/features/ledger/hooks/useLedgerStatus.ts create mode 100644 packages/extension/src/ui/features/ledger/hooks/useOnLedgerStart.ts create mode 100644 packages/extension/src/ui/features/ledger/hooks/useRestoreMultisigWithLedgerCallback.ts create mode 100644 packages/extension/src/ui/features/ledger/layout/Panel.tsx create mode 100644 packages/extension/src/ui/features/ledger/layout/ScreenLayout.tsx create mode 100644 packages/extension/src/ui/features/ledger/utils/index.ts create mode 100644 packages/extension/src/ui/features/lock/WithLockScreen.tsx create mode 100644 packages/extension/src/ui/features/multisig/CreateMultisigScreen/MultisigCreationForm.tsx create mode 100644 packages/extension/src/ui/features/multisig/MultisigPendingOffchainSignatureDetailsScreen.tsx delete mode 100644 packages/extension/src/ui/features/multisig/MultisigPendingTxModal.tsx create mode 100644 packages/extension/src/ui/features/multisig/MultisigSignerSelectionScreen.tsx create mode 100644 packages/extension/src/ui/features/multisig/MultisigTransactionConfirmationsScreenContainer.tsx create mode 100644 packages/extension/src/ui/features/multisig/RejectOnChainModal.tsx create mode 100644 packages/extension/src/ui/features/multisig/hooks/useHasDimissedUpgradeBanner.tsx delete mode 100644 packages/extension/src/ui/features/multisig/hooks/useIsSignerInMultisig.ts create mode 100644 packages/extension/src/ui/features/multisig/hooks/useLedgerForPendingMultisigTransaction.ts create mode 100644 packages/extension/src/ui/features/multisig/hooks/useOnArgentSignerSelection.ts create mode 100644 packages/extension/src/ui/features/multisig/multisigOffchainSignatures.state.ts create mode 100644 packages/extension/src/ui/features/onboarding/OnboardingAccountTypeScreen.tsx create mode 100644 packages/extension/src/ui/features/onboarding/OnboardingAccountTypeScreenContainer.test.tsx create mode 100644 packages/extension/src/ui/features/onboarding/OnboardingAccountTypeScreenContainer.tsx create mode 100644 packages/extension/src/ui/features/onboarding/OnboardingSmartAccountEmailScreen.test.tsx create mode 100644 packages/extension/src/ui/features/onboarding/OnboardingSmartAccountEmailScreen.tsx create mode 100644 packages/extension/src/ui/features/onboarding/OnboardingSmartAccountErrorScreen.tsx create mode 100644 packages/extension/src/ui/features/onboarding/OnboardingSmartAccountOTPScreen.test.tsx create mode 100644 packages/extension/src/ui/features/onboarding/OnboardingSmartAccountOTPScreen.tsx create mode 100644 packages/extension/src/ui/features/onboarding/ui/ArgentLinksRow.tsx create mode 100644 packages/extension/src/ui/features/onboarding/ui/KeyAsset.tsx create mode 100644 packages/extension/src/ui/features/onboarding/ui/LockAsset.tsx create mode 100644 packages/extension/src/ui/features/onboarding/ui/MobileAsset.tsx create mode 100644 packages/extension/src/ui/features/onboarding/ui/OnboardingSmartAccountFeaturesRow.tsx create mode 100644 packages/extension/src/ui/features/onboarding/ui/OnchainRecoveryAsset.tsx delete mode 100644 packages/extension/src/ui/features/recovery/recovery.service.ts create mode 100644 packages/extension/src/ui/features/root/RootTabs.tsx create mode 100644 packages/extension/src/ui/features/root/RootTabsContainer.tsx create mode 100644 packages/extension/src/ui/features/root/RootTabsScreen.tsx rename packages/extension/src/ui/features/{accounts/AccountScreen.tsx => root/RootTabsScreenContainer.tsx} (57%) create mode 100644 packages/extension/src/ui/features/send/useSendQuery.ts delete mode 100644 packages/extension/src/ui/features/settings/account/AccountEditButtons.tsx create mode 100644 packages/extension/src/ui/features/settings/account/AccountEditButtons/AccountEditButtons.tsx create mode 100644 packages/extension/src/ui/features/settings/account/AccountEditButtons/AccountEditButtonsContainer.tsx create mode 100644 packages/extension/src/ui/features/settings/account/AccountEditButtons/AccountEditButtonsLedger.tsx create mode 100644 packages/extension/src/ui/features/settings/account/AccountEditButtons/AccountEditButtonsMultisig.tsx create mode 100644 packages/extension/src/ui/features/settings/account/AccountEditButtons/buttons/ConnectedDappsButton.tsx create mode 100644 packages/extension/src/ui/features/settings/account/AccountEditButtons/buttons/DeployAccountButton.tsx create mode 100644 packages/extension/src/ui/features/settings/account/AccountEditButtons/buttons/HideOrDeleteAccountButton.tsx create mode 100644 packages/extension/src/ui/features/settings/account/AccountEditButtons/buttons/MultisigOwnersButton.tsx create mode 100644 packages/extension/src/ui/features/settings/account/AccountEditButtons/buttons/MultisigThresholdButton.tsx create mode 100644 packages/extension/src/ui/features/settings/account/AccountEditButtons/buttons/PrivateKeyExportButton.tsx create mode 100644 packages/extension/src/ui/features/settings/account/AccountEditButtons/buttons/PublicKeyExportButton.tsx create mode 100644 packages/extension/src/ui/features/settings/account/AccountEditButtons/buttons/SmartAccountToggleButton.tsx create mode 100644 packages/extension/src/ui/features/settings/account/AccountEditButtons/buttons/ViewOnExplorerButton.tsx delete mode 100644 packages/extension/src/ui/features/settings/account/AccountEditButtonsMultisig.tsx create mode 100644 packages/extension/src/ui/features/settings/account/ExportPublicKeyScreen.test.tsx create mode 100644 packages/extension/src/ui/features/settings/account/ExportPublicKeyScreen.tsx create mode 100644 packages/extension/src/ui/features/settings/developerSettings/downloadLogs/DownloadLogsScreen.test.tsx create mode 100644 packages/extension/src/ui/features/settings/developerSettings/downloadLogs/DownloadLogsScreen.tsx create mode 100644 packages/extension/src/ui/features/settings/developerSettings/downloadLogs/utils.ts delete mode 100644 packages/extension/src/ui/features/settings/preferences/EmailNotificationsSettingsScreen.tsx delete mode 100644 packages/extension/src/ui/features/settings/preferences/EmailNotificationsSettingsScreenContainer.tsx delete mode 100644 packages/extension/src/ui/features/shield/ShieldAccountActivate.tsx delete mode 100644 packages/extension/src/ui/features/shield/ShieldAccountDeactivate.tsx delete mode 100644 packages/extension/src/ui/features/shield/ShieldAccountNotDeployed.tsx delete mode 100644 packages/extension/src/ui/features/shield/ShieldAccountStartScreen.tsx delete mode 100644 packages/extension/src/ui/features/shield/ShieldBaseActionScreen.tsx delete mode 100644 packages/extension/src/ui/features/shield/ShieldBaseOTPScreen.tsx delete mode 100644 packages/extension/src/ui/features/shield/ShieldValidationErrorScreen.tsx delete mode 100644 packages/extension/src/ui/features/shield/escape/WithEscapeWarning.tsx delete mode 100644 packages/extension/src/ui/features/shield/escape/accountHasEscape.ts delete mode 100644 packages/extension/src/ui/features/shield/ui/ShieldLearnMoreButton.tsx delete mode 100644 packages/extension/src/ui/features/shield/useRouteAccount.ts delete mode 100644 packages/extension/src/ui/features/shield/useYupValidationResolver.ts create mode 100644 packages/extension/src/ui/features/smartAccount/CreateSmartAccountEmailScreen.tsx create mode 100644 packages/extension/src/ui/features/smartAccount/CreateSmartAccountOTPScreen.tsx rename packages/extension/src/ui/features/{shield/ShieldAccountActionScreen.tsx => smartAccount/SmartAccountActionScreen.tsx} (74%) create mode 100644 packages/extension/src/ui/features/smartAccount/SmartAccountActivate.tsx create mode 100644 packages/extension/src/ui/features/smartAccount/SmartAccountBaseActionScreen.tsx rename packages/extension/src/ui/features/{shield/ShieldBaseFinishScreen.tsx => smartAccount/SmartAccountBaseFinishScreen.tsx} (57%) create mode 100644 packages/extension/src/ui/features/smartAccount/SmartAccountBaseOTPScreen.tsx rename packages/extension/src/ui/features/{shield/ShieldAccountEmailScreen.tsx => smartAccount/SmartAccountEmailScreen.tsx} (67%) rename packages/extension/src/ui/features/{shield/ShieldAccountFinishScreen.tsx => smartAccount/SmartAccountFinishScreen.tsx} (62%) create mode 100644 packages/extension/src/ui/features/smartAccount/SmartAccountNotReady.tsx create mode 100644 packages/extension/src/ui/features/smartAccount/SmartAccountOTPForm.tsx rename packages/extension/src/ui/features/{shield/ShieldAccountOTPScreen.tsx => smartAccount/SmartAccountOTPScreen.tsx} (77%) create mode 100644 packages/extension/src/ui/features/smartAccount/SmartAccountStartScreen.tsx create mode 100644 packages/extension/src/ui/features/smartAccount/SmartAccountValidationErrorScreen.tsx rename packages/extension/src/ui/features/{shield/WithArgentShieldVerified.tsx => smartAccount/WithSmartAccountVerified.tsx} (68%) rename packages/extension/src/ui/features/{shield => smartAccount}/escape/EscapeBanner.tsx (77%) rename packages/extension/src/ui/features/{shield => smartAccount}/escape/EscapeGuardian.tsx (69%) rename packages/extension/src/ui/features/{shield => smartAccount}/escape/EscapeGuardianReady.tsx (64%) rename packages/extension/src/ui/features/{shield => smartAccount}/escape/EscapeSigner.tsx (80%) rename packages/extension/src/ui/features/{shield => smartAccount}/escape/EscapeWarningScreen.tsx (94%) create mode 100644 packages/extension/src/ui/features/smartAccount/escape/UseAccountEscapeWarning.tsx create mode 100644 packages/extension/src/ui/features/smartAccount/escape/accountHasEscape.ts rename packages/extension/src/ui/features/{shield => smartAccount}/escape/escapeWarningStore.ts (100%) rename packages/extension/src/ui/features/{shield => smartAccount}/escape/useAccountEscape.test.ts (100%) rename packages/extension/src/ui/features/{shield => smartAccount}/escape/useAccountEscape.ts (74%) rename packages/extension/src/ui/features/{shield/shield.state.ts => smartAccount/smartAccount.state.ts} (74%) create mode 100644 packages/extension/src/ui/features/smartAccount/ui/SmartAccountError.tsx rename packages/extension/src/ui/features/{shield/ui/ShieldExternalLinkButton.tsx => smartAccount/ui/SmartAccountExternalLinkButton.tsx} (80%) rename packages/extension/src/ui/features/{shield/ui/ShieldIconRow.tsx => smartAccount/ui/SmartAccountIconRow.tsx} (56%) create mode 100644 packages/extension/src/ui/features/smartAccount/ui/SmartAccountLearnMoreButton.tsx rename packages/extension/src/ui/features/{shield => smartAccount}/useAccountGuardian.ts (100%) rename packages/extension/src/ui/features/{shield => smartAccount}/usePendingChangingGuardian.ts (78%) create mode 100644 packages/extension/src/ui/features/smartAccount/useRouteWalletAccount.ts rename packages/extension/src/ui/features/{shield/useShieldVerifiedEmail.ts => smartAccount/useSmartAccountVerifiedEmail.ts} (75%) create mode 100644 packages/extension/src/ui/features/smartAccount/useToggleSmartAccountRoute.ts create mode 100644 packages/extension/src/ui/features/stateRestoration/CaptureEntryRouteRestorationState.tsx create mode 100644 packages/extension/src/ui/features/swap/SwapScreenContainer.tsx delete mode 100644 packages/extension/src/ui/features/swap/ui/MaxEthModal.tsx create mode 100644 packages/extension/src/ui/hooks/appState.ts create mode 100644 packages/extension/src/ui/hooks/useGlobalUtilityMethods.test.ts create mode 100644 packages/extension/src/ui/hooks/useGlobalUtilityMethods.ts create mode 100644 packages/extension/src/ui/hooks/useMessageStreamHandler.ts create mode 100644 packages/extension/src/ui/hooks/useOnMountUnsafe.ts create mode 100644 packages/extension/src/ui/hooks/useReduceMotionSetting.ts create mode 100644 packages/extension/src/ui/hooks/useRoute.ts create mode 100644 packages/extension/src/ui/hooks/useUserAgent.ts create mode 100644 packages/extension/src/ui/providers/ArgentUIProviders.tsx rename packages/extension/src/ui/services/account/{implementation.ts => ClientAccountService.ts} (63%) rename packages/extension/src/ui/services/account/{interface.ts => IClientAccountService.ts} (79%) rename packages/extension/src/ui/services/accountMessaging/{implementation.ts => AccountMessagingService.ts} (86%) rename packages/extension/src/ui/services/accountMessaging/{interface.ts => IAccountMessagingService.ts} (74%) create mode 100644 packages/extension/src/ui/services/action/ClientActionService.ts delete mode 100644 packages/extension/src/ui/services/action/client.ts create mode 100644 packages/extension/src/ui/services/activity/cache/ClientActivityCacheService.ts create mode 100644 packages/extension/src/ui/services/activity/cache/index.ts rename packages/extension/src/ui/services/address/{client.ts => ClientStarknetAddressService.ts} (84%) rename packages/extension/src/ui/services/address/{interface.ts => IClientStarknetAddressService.ts} (100%) rename packages/extension/src/ui/services/addressBook/{client.ts => ClientAddressBookService.ts} (80%) create mode 100644 packages/extension/src/ui/services/argentAccount/ClientArgentAccountService.ts create mode 100644 packages/extension/src/ui/services/argentAccount/IClientArgentAccountService.ts delete mode 100644 packages/extension/src/ui/services/argentAccount/implementation.ts delete mode 100644 packages/extension/src/ui/services/argentAccount/utils.ts delete mode 100644 packages/extension/src/ui/services/argentApiFetcher.ts delete mode 100644 packages/extension/src/ui/services/dates.ts rename packages/extension/src/ui/services/discover/{client.ts => ClientDiscoverService.ts} (52%) rename packages/extension/src/ui/services/feeToken/{implementation.ts => FeeTokenService.ts} (73%) rename packages/extension/src/ui/services/feeToken/{interface.ts => IFeeTokenService.ts} (100%) create mode 100644 packages/extension/src/ui/services/knownDapps/knownDapps.test.ts create mode 100644 packages/extension/src/ui/services/knownDapps/knownDapps.ts create mode 100644 packages/extension/src/ui/services/ledger/ILedgerService.ts create mode 100644 packages/extension/src/ui/services/ledger/LedgerService.ts create mode 100644 packages/extension/src/ui/services/ledger/index.ts rename packages/extension/src/ui/services/multisig/{implementation.ts => ClientMultisigService.ts} (77%) rename packages/extension/src/ui/services/multisig/{interface.ts => IClientMultisigService.ts} (94%) rename packages/extension/src/ui/services/nfts/{implementation.ts => ClientNftService.ts} (92%) rename packages/extension/src/ui/services/nfts/{interface.ts => IClientNftService.ts} (100%) create mode 100644 packages/extension/src/ui/services/onRamp/OnRampService.ts create mode 100644 packages/extension/src/ui/services/onRamp/index.ts create mode 100644 packages/extension/src/ui/services/onboarding/ClientOnboardingService.ts create mode 100644 packages/extension/src/ui/services/onboarding/index.ts create mode 100644 packages/extension/src/ui/services/onboarding/useOnboardingExperiment.ts create mode 100644 packages/extension/src/ui/services/preAuthorization/PreAuthorizationUIService.ts create mode 100644 packages/extension/src/ui/services/preAuthorization/index.ts delete mode 100644 packages/extension/src/ui/services/provision/implementation.ts delete mode 100644 packages/extension/src/ui/services/provision/index.ts delete mode 100644 packages/extension/src/ui/services/provision/provision.state.ts rename packages/extension/src/ui/services/recovery/{implementation.ts => ClientRecoveryService.ts} (81%) rename packages/extension/src/ui/services/riskAssessment/{client.ts => ClientRiskAssessmentService.ts} (76%) create mode 100644 packages/extension/src/ui/services/router/IRouterService.ts create mode 100644 packages/extension/src/ui/services/router/RouterService.ts create mode 100644 packages/extension/src/ui/services/router/index.ts rename packages/extension/src/ui/services/session/{interface.ts => ISessionService.ts} (100%) rename packages/extension/src/ui/services/session/{implementation.ts => SessionService.ts} (88%) create mode 100644 packages/extension/src/ui/services/signatureReview/ClientSignatureReviewService.ts create mode 100644 packages/extension/src/ui/services/signatureReview/index.ts rename packages/extension/src/ui/services/swap/{interface.ts => ISwapService.ts} (86%) rename packages/extension/src/ui/services/swap/{implementation.ts => SwapService.ts} (86%) rename packages/extension/src/ui/services/tokens/{implementation.ts => ClientTokenService.ts} (87%) rename packages/extension/src/ui/services/tokens/{interface.ts => IClientTokenService.ts} (94%) rename packages/extension/src/ui/services/{messaging/trpc.ts => trpc/index.ts} (96%) rename packages/extension/src/ui/services/udc/{implementation.ts => UdcService.ts} (94%) create mode 100644 packages/extension/src/ui/services/ui/ClientUIService.ts create mode 100644 packages/extension/src/ui/services/ui/IClientUIService.ts delete mode 100644 packages/extension/src/ui/services/ui/client.ts delete mode 100644 packages/extension/src/ui/services/ui/interface.ts create mode 100644 packages/extension/src/ui/services/ui/useClientUINavigate.ts create mode 100644 packages/extension/src/ui/services/ui/useClientUIShowNotification.tsx create mode 100644 packages/extension/src/ui/services/ui/useIsFullScreen.tsx create mode 100644 packages/extension/src/ui/services/useBrowserExtensionSentryInit.ts create mode 100644 packages/extension/src/ui/views/activityCache.ts create mode 100644 packages/extension/src/ui/views/appState.ts delete mode 100644 packages/extension/src/ui/views/defaults.ts create mode 100644 packages/extension/src/ui/views/implementation/atomFromQuery.ts delete mode 100644 packages/extension/src/ui/views/session.ts delete mode 100644 packages/extension/src/ui/views/settings.ts create mode 100644 packages/extension/src/ui/views/transactions.ts delete mode 100644 packages/extension/test/argentApiFetcher.test.ts create mode 100644 packages/extension/test/ledger.mock.ts delete mode 100644 packages/extension/webpack.config.js create mode 100644 packages/extension/webpack.config.ts delete mode 100644 packages/guardian/.eslintrc.json delete mode 100644 packages/guardian/.vscode/settings.json delete mode 100644 packages/guardian/package.json delete mode 100644 packages/guardian/src/index.ts delete mode 100644 packages/guardian/src/services/CosignerTypes.ts delete mode 100644 packages/guardian/src/services/Device.ts delete mode 100644 packages/guardian/src/services/index.ts delete mode 100644 packages/guardian/src/services/utils.ts delete mode 100644 packages/guardian/tsconfig.json delete mode 100644 packages/guardian/vite.config.ts delete mode 100644 packages/sessions/.eslintrc.json delete mode 100644 packages/sessions/.vscode/settings.json delete mode 100644 packages/sessions/CHANGELOG.md delete mode 100644 packages/sessions/README.md delete mode 100644 packages/sessions/__tests__/utils.test.ts delete mode 100644 packages/sessions/assets/add-plugin.png delete mode 100644 packages/sessions/assets/approve.png delete mode 100644 packages/sessions/assets/experimental.png delete mode 100644 packages/sessions/assets/plugins.png delete mode 100644 packages/sessions/assets/settings.png delete mode 100644 packages/sessions/assets/toggle-session.png delete mode 100644 packages/sessions/assets/use-plugin.png delete mode 100644 packages/sessions/package.json delete mode 100644 packages/sessions/src/account.ts delete mode 100644 packages/sessions/src/ensureArray.ts delete mode 100644 packages/sessions/src/main.ts delete mode 100644 packages/sessions/src/offchainSessionAccount.ts delete mode 100644 packages/sessions/src/offchainSessionUtils.ts delete mode 100644 packages/sessions/src/utils.ts delete mode 100644 packages/sessions/tsconfig.json delete mode 100644 packages/sessions/vite.config.ts delete mode 100644 packages/sessions/vitest.config.ts create mode 100644 packages/stack-router/example/src/screens/Activities.tsx create mode 100644 packages/stack-router/example/src/screens/Activity.tsx delete mode 100644 packages/stack-router/src/utils/getMatchingPath.ts create mode 100644 packages/stack-router/src/utils/path.test.ts create mode 100644 packages/stack-router/src/utils/path.ts create mode 100644 packages/storybook/src/decorators/depreactedMuiDecorator.tsx delete mode 100644 packages/storybook/src/decorators/depreactedMuiDecorators.tsx delete mode 100644 packages/storybook/src/features/actions/BalanceChangeOverviewArgentX.stories.tsx create mode 100644 packages/storybook/src/features/actions/LedgerModalBottomDialog.stories.tsx create mode 100644 packages/storybook/src/features/actions/WarningModal.stories.tsx delete mode 100644 packages/storybook/src/features/actions/transaction/TransactionBanner.stories.tsx delete mode 100644 packages/storybook/src/features/actions/transactionV2/CombinedFeeEstimation.stories.tsx create mode 100644 packages/storybook/src/features/actions/transactionV2/NavigationBarAccountDetails.stories.tsx delete mode 100644 packages/storybook/src/features/actions/transactionV2/TransactionReviewActions.stories.tsx delete mode 100644 packages/storybook/src/features/actions/transactionV2/TransactionReviewSignAction.stories.tsx delete mode 100644 packages/storybook/src/features/actions/transactionV2/TransactionReviewSimulation.stories.tsx create mode 100644 packages/storybook/src/features/ledger/LedgerConnectSidePanel.stories.tsx create mode 100644 packages/storybook/src/features/ledger/LedgerConnectStep.stories.tsx delete mode 100644 packages/storybook/src/features/settings/EmailNotificationsSettingsScreen.stories.tsx delete mode 100644 packages/storybook/src/features/shield/ShieldAccountActivate.stories.tsx delete mode 100644 packages/storybook/src/features/shield/ShieldAccountDeactivate.stories.tsx delete mode 100644 packages/storybook/src/features/shield/ShieldValidationErrorScreen.stories.tsx rename packages/storybook/src/features/{shield => smartAccount}/EscapeGuardian.stories.tsx (83%) rename packages/storybook/src/features/{shield => smartAccount}/EscapeGuardianReady.stories.tsx (87%) rename packages/storybook/src/features/{shield => smartAccount}/EscapeSigner.stories.tsx (93%) create mode 100644 packages/storybook/src/features/smartAccount/SmartAccountActivate.stories.tsx rename packages/storybook/src/features/{shield/ShieldBaseActionScreen.stories.tsx => smartAccount/SmartAccountBaseActionScreen.stories.tsx} (54%) rename packages/storybook/src/features/{shield/ShieldBaseEmailScreen.stories.tsx => smartAccount/SmartAccountBaseEmailScreen.stories.tsx} (82%) rename packages/storybook/src/features/{shield/ShieldBaseFinishScreen.stories.tsx => smartAccount/SmartAccountBaseFinishScreen.stories.tsx} (77%) rename packages/storybook/src/features/{shield/ShieldBaseOTPScreen.stories.tsx => smartAccount/SmartAccountBaseOTPScreen.stories.tsx} (52%) create mode 100644 packages/storybook/src/features/smartAccount/SmartAccountValidationErrorScreen.stories.tsx create mode 100644 packages/storybook/src/ui/components/Notification.stories.tsx create mode 100644 packages/window/CHANGELOG.md delete mode 100644 scripts/tsconfig.json diff --git a/.github/workflows/amplitude.yml b/.github/workflows/amplitude.yml deleted file mode 100644 index c56fcae72..000000000 --- a/.github/workflows/amplitude.yml +++ /dev/null @@ -1,14 +0,0 @@ -name: Ampli Implementation Check -on: pull_request - -jobs: - build: - runs-on: ubuntu-latest - container: - image: amplitudeinc/ampli - steps: - - name: Checkout repo - uses: actions/checkout@v3 - - - name: Verify analytics implementation and update status in Data - run: ampli status -t ${{secrets.AMPLI_TOKEN}} [--update] diff --git a/.github/workflows/changeset.yml b/.github/workflows/changeset.yml index 65572d1f0..1f3f32d82 100644 --- a/.github/workflows/changeset.yml +++ b/.github/workflows/changeset.yml @@ -24,11 +24,11 @@ jobs: with: node-version: "18.x" - - uses: pnpm/action-setup@v2 + - uses: pnpm/action-setup@v4 name: Install pnpm id: pnpm-install with: - version: 8 + version: 9 run_install: false - name: Get pnpm store directory diff --git a/.github/workflows/chromatic.yml b/.github/workflows/chromatic.yml index de845fe8c..f7a261ed7 100644 --- a/.github/workflows/chromatic.yml +++ b/.github/workflows/chromatic.yml @@ -23,10 +23,10 @@ jobs: with: fetch-depth: 0 - - uses: pnpm/action-setup@v2 + - uses: pnpm/action-setup@v4 name: Install pnpm with: - version: 8 + version: 9 run_install: false - name: Get pnpm store directory diff --git a/.github/workflows/pull-request.yml b/.github/workflows/pull-request.yml index 8d84bff18..89205977c 100644 --- a/.github/workflows/pull-request.yml +++ b/.github/workflows/pull-request.yml @@ -10,7 +10,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - env: [prod, staging, hydrogen] + env: [prod, staging, hydrogen, dev] extension_type: [chrome, firefox] environment: ${{ matrix.env }} @@ -25,6 +25,7 @@ jobs: FEATURE_ORBITER: "true" FEATURE_VERIFIED_DAPPS: "true" FEATURE_MULTISIG: "true" + FEATURE_ACTIVITY_V2: "true" # API URLs ARGENT_API_BASE_URL: ${{ vars.ARGENT_API_BASE_URL }} @@ -46,7 +47,7 @@ jobs: SAFE_ENV_VARS: false MULTICALL_MAX_BATCH_SIZE: 20 NEW_CAIRO_0_ENABLED: false - + TOPPER_PEM_KEY: ${{ secrets.TOPPER_PEM_KEY }} # Refresh intervals FAST: 20 # 20s MEDIUM: 60 # 60s @@ -60,11 +61,11 @@ jobs: # Setup Project - uses: actions/checkout@v4 - - uses: pnpm/action-setup@v2 + - uses: pnpm/action-setup@v4 name: Install pnpm id: pnpm-install with: - version: 8 + version: 9 run_install: false - uses: actions/setup-node@v4 @@ -131,12 +132,11 @@ jobs: ARGENT_X_STATUS_URL: ${{ vars.ARGENT_X_STATUS_URL }} ARGENT_X_NEWS_URL: ${{ vars.ARGENT_X_NEWS_URL }} ARGENT_X_ENVIRONMENT: "hydrogen" + FEATURE_MULTISIG: "true" services: devnet: - # Temporary pin the previous version of the devnet image to avoid a bug introduced in the latest version - image: shardlabs/starknet-devnet-rs:78527decb3f76c4c808fa35f46228557af3df385-seed0 - # image: shardlabs/starknet-devnet-rs:latest-seed0 + image: shardlabs/starknet-devnet-rs:0.0.7-seed0 ports: - 5050:5050 @@ -145,11 +145,11 @@ jobs: with: fetch-depth: 0 - - uses: pnpm/action-setup@v2 + - uses: pnpm/action-setup@v4 name: Install pnpm id: pnpm-install with: - version: 8 + version: 9 run_install: false - uses: actions/setup-node@v4 @@ -178,7 +178,7 @@ jobs: run: pnpm run test:ci - name: SonarCloud Scan # TODO replace with master as soon as sonarcloud fixes the issue with action https://community.sonarsource.com/t/sonarsource-sonarcloud-github-action-failing-with-node-js-12-error/89664/2 - uses: SonarSource/sonarcloud-github-action@v2.1.1 + uses: SonarSource/sonarcloud-github-action@v2.3.0 with: projectBaseDir: ./packages/extension env: @@ -194,45 +194,46 @@ jobs: shardIndex: [1, 2, 3, 4, 5, 6, 7, 8] shardTotal: [8] env: + #default ARGENT_X_ENVIRONMENT: "hydrogen" ARGENT_API_BASE_URL: ${{ secrets.ARGENT_API_BASE_URL }} + + ## BANK ACCOUNT, USED FOR FUND OTHER ACCOUNTS + E2E_SENDER_ADDRESSES: ${{ secrets.E2E_SENDER_ADDRESSES_SEPOLIA }} + E2E_SENDER_PRIVATEKEYS: ${{ secrets.E2E_SENDER_PRIVATEKEYS_SEPOLIA }} + ARGENT_SEPOLIA_RPC_URL: ${{ secrets.ARGENT_SEPOLIA_RPC_URL }} + ##slack config + SLACK_TOKEN: ${{ secrets.SLACK_TOKEN }} + SLACK_CHANNEL_ID: ${{ secrets.SLACK_CHANNEL_ID }} + E2E_TESTNET_SEED1: ${{ secrets.E2E_TESTNET_SEED1 }} - E2E_TESTNET_SEED2: ${{ secrets.E2E_TESTNET_SEED2 }} E2E_TESTNET_SEED3: ${{ secrets.E2E_TESTNET_SEED3 }} E2E_TESTNET_SEED4: ${{ secrets.E2E_TESTNET_SEED4 }} E2E_ACCOUNT_1_SEED2: ${{ secrets.E2E_ACCOUNT_1_SEED2 }} - E2E_ACCOUNT_1_SEED3: ${{ secrets.E2E_ACCOUNT_1_SEED3 }} ## BANK ACCOUNT, USED FOR FUND OTHER ACCOUNTS - E2E_SENDER_ADDRESSES: ${{ secrets.E2E_SENDER_ADDRESSES }} - E2E_SENDER_PRIVATEKEYS: ${{ secrets.E2E_SENDER_PRIVATEKEYS }} E2E_SENDER_SEED: ${{ secrets.E2E_SENDER_SEED }} - STARKNET_TESTNET_URL: ${{ secrets.STARKNET_TESTNET_URL }} - STARKSCAN_TESTNET_URL: ${{ secrets.STARKSCAN_TESTNET_URL }} - ARGENT_TESTNET_RPC_URL: ${{ secrets.ARGENT_TESTNET_RPC_URL }} - ARGENT_HEALTHCHECK_BASE_URL: ${{ secrets.ARGENT_HEALTHCHECK_BASE_URL }} + E2E_SPOK_CAMPAIGN_URL: ${{ secrets.E2E_SPOK_CAMPAIGN_URL }} E2E_SPOK_CAMPAIGN_NAME: ${{ secrets.E2E_SPOK_CAMPAIGN_NAME }} - ##slack config - SLACK_TOKEN: ${{ secrets.SLACK_TOKEN }} - SLACK_CHANNEL_ID: ${{ secrets.SLACK_CHANNEL_ID }} + + E2E_USE_STRK_AS_FEE_TOKEN: ${{ secrets.E2E_USE_STRK_AS_FEE_TOKEN }} + E2E_SKIP_TX_TESTS: ${{ secrets.E2E_SKIP_TX_TESTS}} + E2E_LOG_INFO: ${{ secrets.E2E_LOG_INFO }} + E2E_GUARDIAN_EMAIL: ${{ secrets.E2E_GUARDIAN_EMAIL }} # Refresh intervals REFRESH_INTERVAL_FAST: 1 # 1s REFRESH_INTERVAL_MEDIUM: 5 # 5s REFRESH_INTERVAL_SLOW: 20 # 20s REFRESH_INTERVAL_VERY_SLOW: 60 * 10 # 10m - ##webwallet default account config - WW_EMAIL: ${{ secrets.WW_EMAIL }} - WW_PIN: ${{ secrets.WW_PIN }} - WW_LOGIN_PASSWORD: ${{ secrets.WW_LOGIN_PASSWORD }} steps: - uses: actions/checkout@v4 - - uses: pnpm/action-setup@v2 + - uses: pnpm/action-setup@v4 name: Install pnpm id: pnpm-install with: - version: 8 + version: 9 run_install: false - uses: actions/setup-node@v4 @@ -278,46 +279,206 @@ jobs: path: packages/e2e/blob-report/ retention-days: 5 - test-notify-low-balance: + test-e2e-prod: runs-on: ubuntu-latest - if: always() - needs: [build-all-artifacts, test-e2e] + needs: [build-all-artifacts] + strategy: + matrix: + project: [ArgentX] + shardIndex: [1, 2] + shardTotal: [2] + env: + #default + ARGENT_X_ENVIRONMENT: "prod" + ## BANK ACCOUNT, USED FOR FUND OTHER ACCOUNTS + E2E_SENDER_ADDRESSES: ${{ secrets.E2E_SENDER_ADDRESSES }} + E2E_SENDER_PRIVATEKEYS: ${{ secrets.E2E_SENDER_PRIVATEKEYS }} + ARGENT_MAINNET_RPC_URL: ${{ secrets.ARGENT_MAINNET_RPC_URL }} + ARGENT_SEPOLIA_RPC_URL: ${{ secrets.ARGENT_SEPOLIA_RPC_URL }} + ##slack config + SLACK_TOKEN: ${{ secrets.SLACK_TOKEN }} + SLACK_CHANNEL_ID: ${{ secrets.SLACK_CHANNEL_ID }} + + E2E_MAINNET_SEED1: ${{ secrets.E2E_MAINNET_SEED1 }} + ## BANK ACCOUNT, USED FOR FUND OTHER ACCOUNTS + E2E_SENDER_SEED: ${{ secrets.E2E_SENDER_SEED }} + # Refresh intervals + REFRESH_INTERVAL_FAST: 1 # 1s + REFRESH_INTERVAL_MEDIUM: 5 # 5s + REFRESH_INTERVAL_SLOW: 20 # 20s + REFRESH_INTERVAL_VERY_SLOW: 60 * 10 # 10m + + E2E_LOG_INFO: ${{ secrets.E2E_LOG_INFO }} + steps: + - uses: actions/checkout@v4 + + - uses: pnpm/action-setup@v4 + name: Install pnpm + id: pnpm-install + with: + version: 9 + run_install: false + + - uses: actions/setup-node@v4 + with: + node-version: "18.x" + cache: "pnpm" + + - name: Restore pnpm cache + uses: actions/cache@v4 + with: + path: ~/.pnpm-store + key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} + restore-keys: | + ${{ runner.os }}-pnpm-store- + + - name: Restore cached build + uses: actions/cache@v4 + with: + path: ./* + key: ${{ github.sha }}-chrome-${{ env.ARGENT_X_ENVIRONMENT }} + + - name: Install Playwright Browsers + run: npx playwright install chromium + + - name: Run e2e prod tests + run: xvfb-run --auto-servernum pnpm test:e2e:extension:prod --project=${{ matrix.project }} --shard=${{ matrix.shardIndex }}/${{ matrix.shardTotal }} + + - name: Upload artifacts + uses: actions/upload-artifact@v4 + if: always() + with: + name: test-artifacts-prod-${{ matrix.shardIndex }} + path: | + packages/e2e/artifacts/playwright/ + !packages/e2e/artifacts/playwright/*.webm + retention-days: 5 + + - name: Upload blob report to GitHub Actions Artifacts + if: always() + uses: actions/upload-artifact@v4 + with: + name: all-blob-reports-prod-${{ matrix.shardIndex }} + path: packages/e2e/blob-report/ + retention-days: 5 + + test-e2e-tx: + runs-on: ubuntu-latest + needs: [build-all-artifacts] + strategy: + matrix: + project: [ArgentX] + shardIndex: [1, 2, 3, 4] + shardTotal: [4] env: + #default ARGENT_X_ENVIRONMENT: "hydrogen" ARGENT_API_BASE_URL: ${{ secrets.ARGENT_API_BASE_URL }} + + ## BANK ACCOUNT, USED FOR FUND OTHER ACCOUNTS + E2E_SENDER_ADDRESSES: ${{ secrets.E2E_SENDER_ADDRESSES_SEPOLIA }} + E2E_SENDER_PRIVATEKEYS: ${{ secrets.E2E_SENDER_PRIVATEKEYS_SEPOLIA }} + ARGENT_SEPOLIA_RPC_URL: ${{ secrets.ARGENT_SEPOLIA_RPC_URL }} + ##slack config + SLACK_TOKEN: ${{ secrets.SLACK_TOKEN }} + SLACK_CHANNEL_ID: ${{ secrets.SLACK_CHANNEL_ID }} + E2E_TESTNET_SEED1: ${{ secrets.E2E_TESTNET_SEED1 }} - E2E_TESTNET_SEED2: ${{ secrets.E2E_TESTNET_SEED2 }} E2E_TESTNET_SEED3: ${{ secrets.E2E_TESTNET_SEED3 }} E2E_TESTNET_SEED4: ${{ secrets.E2E_TESTNET_SEED4 }} E2E_ACCOUNT_1_SEED2: ${{ secrets.E2E_ACCOUNT_1_SEED2 }} - E2E_ACCOUNT_1_SEED3: ${{ secrets.E2E_ACCOUNT_1_SEED3 }} ## BANK ACCOUNT, USED FOR FUND OTHER ACCOUNTS - E2E_SENDER_ADDRESSES: ${{ secrets.E2E_SENDER_ADDRESSES }} - E2E_SENDER_PRIVATEKEYS: ${{ secrets.E2E_SENDER_PRIVATEKEYS }} E2E_SENDER_SEED: ${{ secrets.E2E_SENDER_SEED }} - STARKNET_TESTNET_URL: ${{ secrets.STARKNET_TESTNET_URL }} - STARKSCAN_TESTNET_URL: ${{ secrets.STARKSCAN_TESTNET_URL }} - ARGENT_TESTNET_RPC_URL: ${{ secrets.ARGENT_TESTNET_RPC_URL }} - ARGENT_HEALTHCHECK_BASE_URL: ${{ secrets.ARGENT_HEALTHCHECK_BASE_URL }} + E2E_SPOK_CAMPAIGN_URL: ${{ secrets.E2E_SPOK_CAMPAIGN_URL }} E2E_SPOK_CAMPAIGN_NAME: ${{ secrets.E2E_SPOK_CAMPAIGN_NAME }} - ##slack config - SLACK_TOKEN: ${{ secrets.SLACK_TOKEN }} - SLACK_CHANNEL_ID: ${{ secrets.SLACK_CHANNEL_ID }} + + E2E_USE_STRK_AS_FEE_TOKEN: ${{ secrets.E2E_USE_STRK_AS_FEE_TOKEN }} + E2E_SKIP_TX_TESTS: ${{ secrets.E2E_SKIP_TX_TESTS}} + E2E_LOG_INFO: ${{ secrets.E2E_LOG_INFO }} + E2E_GUARDIAN_EMAIL: ${{ secrets.E2E_GUARDIAN_EMAIL }} # Refresh intervals REFRESH_INTERVAL_FAST: 1 # 1s REFRESH_INTERVAL_MEDIUM: 5 # 5s REFRESH_INTERVAL_SLOW: 20 # 20s REFRESH_INTERVAL_VERY_SLOW: 60 * 10 # 10m + steps: + - uses: actions/checkout@v4 + + - uses: pnpm/action-setup@v4 + name: Install pnpm + id: pnpm-install + with: + version: 9 + run_install: false + + - uses: actions/setup-node@v4 + with: + node-version: "18.x" + cache: "pnpm" + + - name: Restore pnpm cache + uses: actions/cache@v4 + with: + path: ~/.pnpm-store + key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} + restore-keys: | + ${{ runner.os }}-pnpm-store- + - name: Restore cached build + uses: actions/cache@v4 + with: + path: ./* + key: ${{ github.sha }}-chrome-${{ env.ARGENT_X_ENVIRONMENT }} + + - name: Install Playwright Browsers + run: npx playwright install chromium + + - name: Run e2e tx tests + run: xvfb-run --auto-servernum pnpm test:e2e:extension:tx --project=${{ matrix.project }} --shard=${{ matrix.shardIndex }}/${{ matrix.shardTotal }} + + - name: Upload artifacts + uses: actions/upload-artifact@v4 + if: always() + with: + name: test-artifacts-tx-${{ matrix.shardIndex }} + path: | + packages/e2e/artifacts/playwright/ + !packages/e2e/artifacts/playwright/*.webm + retention-days: 5 + + - name: Upload blob report to GitHub Actions Artifacts + if: always() + uses: actions/upload-artifact@v4 + with: + name: all-blob-reports-tx-${{ matrix.shardIndex }} + path: packages/e2e/blob-report/ + retention-days: 5 + + test-notify-low-balance: + runs-on: ubuntu-latest + if: always() + needs: [build-all-artifacts, test-e2e, test-e2e-prod] + env: + ARGENT_X_ENVIRONMENT: "hydrogen" + ARGENT_API_BASE_URL: ${{ secrets.ARGENT_API_BASE_URL }} + + ## BANK ACCOUNT, USED FOR FUND OTHER ACCOUNTS + E2E_SENDER_ADDRESSES: ${{ secrets.E2E_SENDER_ADDRESSES_SEPOLIA }} + E2E_SENDER_PRIVATEKEYS: ${{ secrets.E2E_SENDER_PRIVATEKEYS_SEPOLIA }} + ARGENT_SEPOLIA_RPC_URL: ${{ secrets.ARGENT_SEPOLIA_RPC_URL }} + + ##slack config + SLACK_TOKEN: ${{ secrets.SLACK_TOKEN }} + SLACK_CHANNEL_ID: ${{ secrets.SLACK_CHANNEL_ID }} steps: - uses: actions/checkout@v4 - - uses: pnpm/action-setup@v2 + - uses: pnpm/action-setup@v4 name: Install pnpm id: pnpm-install with: - version: 8 + version: 9 run_install: false - uses: actions/setup-node@v4 @@ -343,23 +504,23 @@ jobs: run: pnpm run test:e2e:slack-notifications merge-reports: - needs: [test-e2e, test-webwallet] + needs: [test-e2e, test-e2e-prod] if: always() runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - - uses: pnpm/action-setup@v2 + - uses: pnpm/action-setup@v4 name: Install pnpm id: pnpm-install with: - version: 8 + version: 9 run_install: false - uses: actions/setup-node@v4 with: - node-version: "16" + node-version: "18.x" cache: "pnpm" - name: Restore pnpm cache @@ -390,16 +551,16 @@ jobs: add_pr_comments: runs-on: ubuntu-latest if: ${{ github.event_name == 'pull_request' && github.actor != 'dependabot[bot]'}} # Run only for pull requests and if not triggered by dependabot - needs: [build-all-artifacts, test-unit, test-e2e] + needs: [build-all-artifacts, test-unit, test-e2e, test-e2e-prod] steps: - uses: actions/checkout@v4 - - uses: pnpm/action-setup@v2 + - uses: pnpm/action-setup@v4 name: Install pnpm id: pnpm-install with: - version: 8 + version: 9 run_install: false - uses: actions/setup-node@v4 @@ -428,18 +589,18 @@ jobs: create_sentry_release: runs-on: ubuntu-latest if: ${{ github.event_name == 'pull_request' && github.actor != 'dependabot[bot]'}} # Run only for pull requests and if not triggered by dependabot - needs: [build-all-artifacts, test-unit, test-e2e] + needs: [build-all-artifacts, test-unit, test-e2e, test-e2e-prod] steps: - uses: actions/checkout@v4 with: fetch-depth: 0 - - uses: pnpm/action-setup@v2 + - uses: pnpm/action-setup@v4 name: Install pnpm id: pnpm-install with: - version: 8 + version: 9 run_install: false - uses: actions/setup-node@v4 @@ -481,100 +642,10 @@ jobs: version: ${{ steps.package-version.outputs.current-version }}-rc__${{ github.sha }} ignore_missing: true - test-webwallet: - runs-on: ubuntu-latest - needs: [build-all-artifacts] - continue-on-error: true - - environment: hydrogen - env: - NEXT_PUBLIC_NETWORK: "testnet" - NEXT_PUBLIC_RAMP_API_KEY: ${{ secrets.RAMP_API_KEY }} - NEXT_PUBLIC_FEATURE_COSIGNER: "true" - NEXT_PUBLIC_ARGENT_API_BASE_URL: ${{ vars.ARGENT_API_BASE_URL }} - NEXT_PUBLIC_ARGENT_TESTNET_RPC_URL: ${{ vars.ARGENT_TESTNET_RPC_URL }} - - ARGENT_API_BASE_URL: ${{ secrets.ARGENT_API_BASE_URL }} - E2E_TESTNET_SEED1: ${{ secrets.E2E_TESTNET_SEED1 }} - E2E_TESTNET_SEED2: ${{ secrets.E2E_TESTNET_SEED2 }} - E2E_TESTNET_SEED3: ${{ secrets.E2E_TESTNET_SEED3 }} - E2E_TESTNET_SEED4: ${{ secrets.E2E_TESTNET_SEED4 }} - E2E_ACCOUNT_1_SEED2: ${{ secrets.E2E_ACCOUNT_1_SEED2 }} - E2E_ACCOUNT_1_SEED3: ${{ secrets.E2E_ACCOUNT_1_SEED3 }} - ## BANK ACCOUNT, USED FOR FUND OTHER ACCOUNTS - E2E_SENDER_ADDRESSES: ${{ secrets.E2E_SENDER_ADDRESSES }} - E2E_SENDER_PRIVATEKEYS: ${{ secrets.E2E_SENDER_PRIVATEKEYS }} - E2E_SENDER_SEED: ${{ secrets.E2E_SENDER_SEED }} - STARKNET_TESTNET_URL: ${{ secrets.STARKNET_TESTNET_URL }} - STARKSCAN_TESTNET_URL: ${{ secrets.STARKSCAN_TESTNET_URL }} - ARGENT_TESTNET_RPC_URL: ${{ secrets.ARGENT_TESTNET_RPC_URL }} - ARGENT_HEALTHCHECK_BASE_URL: ${{ secrets.ARGENT_HEALTHCHECK_BASE_URL }} - E2E_SPOK_CAMPAIGN_URL: ${{ secrets.E2E_SPOK_CAMPAIGN_URL }} - E2E_SPOK_CAMPAIGN_NAME: ${{ secrets.E2E_SPOK_CAMPAIGN_NAME }} - ##slack config - SLACK_TOKEN: ${{ secrets.SLACK_TOKEN }} - SLACK_CHANNEL_ID: ${{ secrets.SLACK_CHANNEL_ID }} - - ##webwallet default account config - WW_EMAIL: ${{ secrets.WW_EMAIL }} - WW_PIN: ${{ secrets.WW_PIN }} - WW_LOGIN_PASSWORD: ${{ secrets.WW_LOGIN_PASSWORD }} - - steps: - - uses: actions/checkout@v4 - - - uses: pnpm/action-setup@v2 - name: Install pnpm - id: pnpm-install - with: - version: 8 - run_install: false - - - uses: actions/setup-node@v4 - with: - node-version: "18.x" - cache: "pnpm" - - - name: Restore cached build - uses: actions/cache@v4 - with: - path: ./* - key: ${{ github.sha }} - - - name: Build webwallet - run: pnpm run build:web - - - name: Install Playwright Browsers - run: pnpm playwright install --with-deps - - - name: Run tests - run: | - pnpm run --filter @argent/web start:ci & - sleep 10 && - curl http://localhost:3005 && - pnpm run test:e2e:webwallet - - - name: Upload artifacts - uses: actions/upload-artifact@v4 - if: always() - with: - name: test-artifacts-webwallet - path: | - packages/e2e/artifacts/playwright/ - retention-days: 5 - - - name: Upload blob report to GitHub Actions Artifacts - if: always() - uses: actions/upload-artifact@v4 - with: - name: all-blob-reports-webwallet-webwallet - path: packages/e2e/blob-report/ - retention-days: 5 - slack_notif: runs-on: ubuntu-latest if: always() - needs: [test-unit, test-e2e, test-webwallet] + needs: [test-unit, test-e2e] steps: - name: Send notification to Slack @@ -596,4 +667,17 @@ jobs: SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} BUILD_TYPE: ${{ github.event_name == 'pull_request' && 'pull request' || 'develop' }} - BUILD_STATUS: ${{ needs.test-unit.result == 'success' && needs.test-e2e.result == 'success' && needs.test-webwallet.result == 'success' && 'good' || 'danger' }} + BUILD_STATUS: ${{ needs.test-unit.result == 'success' && needs.test-e2e.result == 'success' && 'good' || 'danger' }} + + check-ampli: + runs-on: ubuntu-latest + needs: [build-all-artifacts] + container: + image: amplitudeinc/ampli + steps: + - name: Checkout repo + uses: actions/checkout@v3 + + - name: Verify analytics implementation and update status in Data + run: pwd && ampli status -t ${{secrets.AMPLI_TOKEN}} --update + working-directory: ./packages/extension diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index cd7fcf1b7..9934683b8 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -20,12 +20,14 @@ jobs: FEATURE_VERIFIED_DAPPS: "true" ARGENT_SHIELD_NETWORK_ID: "mainnet-alpha" FEATURE_MULTISIG: "true" + FEATURE_ACTIVITY_V2: "true" SENTRY_ENVIRONMENT: "production" NPM_ACCESS_TOKEN: ${{ secrets.NPM_ACCESS_TOKEN }} SEGMENT_WRITE_KEY: ${{ secrets.SEGMENT_WRITE_KEY }} SENTRY_DSN: ${{ secrets.SENTRY_DSN }} SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }} RAMP_API_KEY: ${{ secrets.RAMP_API_KEY }} + TOPPER_PEM_KEY: ${{ secrets.TOPPER_PEM_KEY }} FILENAME: argent-extension SAFE_ENV_VARS: true ARGENT_API_BASE_URL: ${{ vars.ARGENT_API_BASE_URL }} @@ -35,10 +37,12 @@ jobs: ARGENT_X_NEWS_URL: ${{ vars.ARGENT_X_NEWS_URL }} ARGENT_X_ENVIRONMENT: "prod" MULTICALL_MAX_BATCH_SIZE: 20 - FAST: 20 # 20s - MEDIUM: 60 # 60s - SLOW: 60 * 5 # 5m - VERY_SLOW: 24 * 60 * 60 # 1d + # Refresh intervals + REFRESH_INTERVAL_FAST: 20 + REFRESH_INTERVAL_MEDIUM: 60 + REFRESH_INTERVAL_SLOW: 300 + REFRESH_INTERVAL_VERY_SLOW: 86400 + NEW_CAIRO_0_ENABLED: false if: ${{ !startsWith(github.ref, 'refs/tags/') || startsWith(github.ref, 'refs/tags/') && contains(github.ref, 'extension') }} @@ -51,11 +55,11 @@ jobs: with: fetch-depth: 0 - - uses: pnpm/action-setup@v2 + - uses: pnpm/action-setup@v4 name: Install pnpm id: pnpm-install with: - version: 8 + version: 9 run_install: false - uses: actions/setup-node@v4 @@ -65,9 +69,7 @@ jobs: - run: pnpm run setup - name: Build Chrome version - run: pnpm --filter=\!@argent/web build - - - run: pnpm --filter @argent-x/dapp export + run: pnpm build - name: Check bundlesize for chrome run: pnpm bundlewatch @@ -129,14 +131,6 @@ jobs: version: ${{ steps.package-version.outputs.current-version }} ignore_missing: true - # TODO: include all packages - - name: Release npm packages - # if flow is triggered by a tag, publish to npm - if: startsWith(github.ref, 'refs/tags/') - run: | - npm config set "//registry.npmjs.org/:_authToken" "$NPM_ACCESS_TOKEN" - pnpm --filter @argent/x-sessions publish --no-git-checks --access public || exit 0 - - name: Get product version id: product-version run: | @@ -145,7 +139,7 @@ jobs: - name: Release if: startsWith(github.ref, 'refs/tags/') - uses: softprops/action-gh-release@v1 + uses: softprops/action-gh-release@v2 with: generate_release_notes: true name: extension@${{ steps.product-version.outputs.current-version }} diff --git a/.npmrc b/.npmrc index 7aa020b91..04dd96631 100644 --- a/.npmrc +++ b/.npmrc @@ -4,3 +4,4 @@ shell-emulator=true prefer-workspace-packages=true resolution-mode=highest auto-install-peers=true +link-workspace-packages=true diff --git a/.nvmrc b/.nvmrc index 2dbbe00e6..8ce703082 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -20.11.1 +20.16.0 diff --git a/.vscode/settings.json b/.vscode/settings.json index a90b461b5..f84dce20e 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -12,6 +12,6 @@ "vitest.commandLine": "npx vitest -r packages/extension/", "explorer.fileNesting.patterns": { "*.tsx": "${capture}.ts, ${capture}.typegen.ts, ${capture}Container.tsx, ${capture}.container.tsx, ${capture}.stories.tsx, ${capture}.test.tsx, ${capture}.spec.tsx, ${capture}.test.ts, ${capture}.spec.ts", - "*.ts": "${capture}.ts, ${capture}.typegen.ts, ${capture}Container.tsx, ${capture}.container.tsx, ${capture}.test.tsx, ${capture}.spec.tsx, ${capture}.test.ts, ${capture}.spec.ts" + "*.ts": "${capture}.ts, I${capture}.ts, ${capture}.typegen.ts, ${capture}Container.tsx, ${capture}.container.tsx, ${capture}.test.tsx, ${capture}.spec.tsx, ${capture}.test.ts, ${capture}.spec.ts" } } diff --git a/Readme.md b/Readme.md index a903ea175..5c1385479 100644 --- a/Readme.md +++ b/Readme.md @@ -38,9 +38,7 @@ You can try the extension using our example dapp hosted at: -[https://argentlabs.github.io/argent-x/](https://argentlabs.github.io/argent-x/) - -The example dapp is also contained in this repository. +[https://github.com/argentlabs/starknetkit-example-dapp](https://github.com/argentlabs/starknetkit-example-dapp) ## 🌐 Usage with your dapp @@ -138,13 +136,13 @@ For convenience this service can be started with [Docker desktop](https://www.do - For ARM computers (e.g. Mac computers with Apple silicon) ```bash - docker run -it -p 5050:5050 shardlabs/starknet-devnet:latest-arm-seed0 + docker run -it -p 5050:5050 shardlabs/starknet-devnet-rs:0.0.7-arm-seed0 ``` - Otherwise ```bash - docker run -it -p 5050:5050 shardlabs/starknet-devnet:latest-seed0 + docker run -it -p 5050:5050 shardlabs/starknet-devnet-rs:0.0.7-seed0 ``` ### Run tests diff --git a/package.json b/package.json index 8cafcd947..ef6ce23b4 100644 --- a/package.json +++ b/package.json @@ -8,19 +8,19 @@ "@changesets/cli": "^2.26.1", "@lavamoat/allow-scripts": "^3.0.0", "@lavamoat/preinstall-always-fail": "^2.0.0", - "bundlewatch": "^0.3.3", + "bundlewatch": "^0.4.0", "husky": "^9.0.0", "import-sort-style-module": "^6.0.0", "lint-staged": "^15.0.0", - "nx": "^18.0.0", + "nx": "^19.0.0", "patch-package": "^8.0.0", "prettier": "^3.2.5", "prettier-plugin-import-sort": "^0.0.7", "ts-node": "^10.9.1" }, "resolutions": { - "@babel/preset-react": "7.23.3", - "@babel/plugin-transform-react-jsx": "7.23.4" + "@babel/preset-react": "7.24.7", + "@babel/plugin-transform-react-jsx": "7.24.7" }, "scripts": { "format": "prettier --loglevel warn --write \"**/*.{js,jsx,ts,tsx,css,md,yml,json}\"", @@ -31,20 +31,21 @@ "clean": "rm -rf packages/extension/dist", "build": "pnpm run -r --parallel --stream build", "build:extension": "pnpm run --filter @argent-x/extension build", - "build:web": "pnpm run --filter @argent/web build", + "build:extension:alpha": "RELEASE_TRACK=alpha pnpm run --filter @argent-x/extension build", + "build:extension:beta": "RELEASE_TRACK=beta pnpm run --filter @argent-x/extension build", "build:sourcemaps": "GEN_SOURCE_MAPS=true pnpm run build", "lint": "pnpm run -r --parallel lint", "test": "pnpm run -r --parallel --stream test", "test:watch": "pnpm run -r --parallel; --stream test:watch", "test:e2e:extension": "pnpm run --filter @argent-x/e2e test:extension", - "test:e2e:webwallet": "pnpm run --filter @argent-x/e2e test:webwallet", + "test:e2e:extension:prod": "pnpm run --filter @argent-x/e2e test:extension:prod", + "test:e2e:extension:tx": "pnpm run --filter @argent-x/e2e test:extension:tx", "test:e2e:slack-notifications": "pnpm run --filter @argent-x/e2e test:slack-notifications", "setup": "pnpm install --frozen-lockfile && pnpm allow-scripts && husky install && patch-package && pnpm run -r --stream setup", "test:ci": "pnpm run --stream --parallel test:ci", "storybook": "cd packages/storybook && pnpm run storybook", "devnet:upgrade-helper": "NODE_NO_WARNINGS=1 ts-node ./scripts/devnet-upgrade-helper.ts", "devnet:setup-contracts": "NODE_NO_WARNINGS=1 ts-node ./scripts/devnet-setup-contracts.ts", - "export": "pnpm run --filter=@argent/web export", "export:extension": "pnpm run --filter @argent-x/extension export" }, "importSort": { diff --git a/packages/dapp/.env.example b/packages/dapp/.env.example deleted file mode 100644 index ce579f865..000000000 --- a/packages/dapp/.env.example +++ /dev/null @@ -1,2 +0,0 @@ -NEXT_PUBLIC_WEBWALLET_URL="http://localhost:3005" -NEXT_PUBLIC_ARGENT_CHAIN_ID=SN_GOERLI \ No newline at end of file diff --git a/packages/dapp/.eslintrc.json b/packages/dapp/.eslintrc.json deleted file mode 100644 index bffb357a7..000000000 --- a/packages/dapp/.eslintrc.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "extends": "next/core-web-vitals" -} diff --git a/packages/dapp/.gitignore b/packages/dapp/.gitignore deleted file mode 100644 index 1947ee109..000000000 --- a/packages/dapp/.gitignore +++ /dev/null @@ -1,37 +0,0 @@ -# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. - -# dependencies -/node_modules -/.pnp -.pnp.js - -# testing -/coverage - -# next.js -/.next/ -/out/ - -# production -/build - -# misc -.DS_Store -*.pem - -# debug -npm-debug.log* -pnpm-debug.log* -pnpm-error.log* - -# local env files -.env.local -.env.development.local -.env.test.local -.env.production.local - -# vercel -.vercel - -# typescript -*.tsbuildinfo diff --git a/packages/dapp/.vscode/settings.json b/packages/dapp/.vscode/settings.json deleted file mode 100644 index cc43ff1bb..000000000 --- a/packages/dapp/.vscode/settings.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "json.schemaDownload.enable": true, - "typescript.tsdk": "../../node_modules/typescript/lib" -} diff --git a/packages/dapp/README.md b/packages/dapp/README.md deleted file mode 100644 index 59408a4a2..000000000 --- a/packages/dapp/README.md +++ /dev/null @@ -1,34 +0,0 @@ -This is a [Next.js](https://nextjs.org/) project bootstrapped with [`create-next-app`](https://github.com/vercel/next.js/tree/canary/packages/create-next-app). - -## Getting Started - -First, run the development server: - -```bash -npm run dev -# or -pnpm dev -``` - -Open [http://localhost:3000](http://localhost:3000) with your browser to see the result. - -You can start editing the page by modifying `pages/index.tsx`. The page auto-updates as you edit the file. - -[API routes](https://nextjs.org/docs/api-routes/introduction) can be accessed on [http://localhost:3000/api/hello](http://localhost:3000/api/hello). This endpoint can be edited in `pages/api/hello.ts`. - -The `pages/api` directory is mapped to `/api/*`. Files in this directory are treated as [API routes](https://nextjs.org/docs/api-routes/introduction) instead of React pages. - -## Learn More - -To learn more about Next.js, take a look at the following resources: - -- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API. -- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial. - -You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js/) - your feedback and contributions are welcome! - -## Deploy on Vercel - -The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js. - -Check out our [Next.js deployment documentation](https://nextjs.org/docs/deployment) for more details. diff --git a/packages/dapp/abi/ERC20.json b/packages/dapp/abi/ERC20.json deleted file mode 100644 index 820339292..000000000 --- a/packages/dapp/abi/ERC20.json +++ /dev/null @@ -1,258 +0,0 @@ -[ - { - "members": [ - { - "name": "low", - "offset": 0, - "type": "felt" - }, - { - "name": "high", - "offset": 1, - "type": "felt" - } - ], - "name": "Uint256", - "size": 2, - "type": "struct" - }, - { - "inputs": [ - { - "name": "name", - "type": "felt" - }, - { - "name": "symbol", - "type": "felt" - }, - { - "name": "recipient", - "type": "felt" - } - ], - "name": "constructor", - "outputs": [], - "type": "constructor" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "name": "name", - "type": "felt" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "symbol", - "outputs": [ - { - "name": "symbol", - "type": "felt" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "name": "totalSupply", - "type": "Uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "decimals", - "outputs": [ - { - "name": "decimals", - "type": "felt" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "name": "account", - "type": "felt" - } - ], - "name": "balanceOf", - "outputs": [ - { - "name": "balance", - "type": "Uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "name": "owner", - "type": "felt" - }, - { - "name": "spender", - "type": "felt" - } - ], - "name": "allowance", - "outputs": [ - { - "name": "remaining", - "type": "Uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "name": "recipient", - "type": "felt" - }, - { - "name": "amount", - "type": "Uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "name": "success", - "type": "felt" - } - ], - "type": "function" - }, - { - "inputs": [ - { - "name": "sender", - "type": "felt" - }, - { - "name": "recipient", - "type": "felt" - }, - { - "name": "amount", - "type": "Uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "name": "success", - "type": "felt" - } - ], - "type": "function" - }, - { - "inputs": [ - { - "name": "spender", - "type": "felt" - }, - { - "name": "amount", - "type": "Uint256" - } - ], - "name": "approve", - "outputs": [ - { - "name": "success", - "type": "felt" - } - ], - "type": "function" - }, - { - "inputs": [ - { - "name": "spender", - "type": "felt" - }, - { - "name": "added_value", - "type": "Uint256" - } - ], - "name": "increaseAllowance", - "outputs": [ - { - "name": "success", - "type": "felt" - } - ], - "type": "function" - }, - { - "inputs": [ - { - "name": "spender", - "type": "felt" - }, - { - "name": "subtracted_value", - "type": "Uint256" - } - ], - "name": "decreaseAllowance", - "outputs": [ - { - "name": "success", - "type": "felt" - } - ], - "type": "function" - }, - { - "inputs": [ - { - "name": "recipient", - "type": "felt" - }, - { - "name": "amount", - "type": "Uint256" - } - ], - "name": "mint", - "outputs": [], - "type": "function" - }, - { - "inputs": [ - { - "name": "user", - "type": "felt" - }, - { - "name": "amount", - "type": "Uint256" - } - ], - "name": "burn", - "outputs": [], - "type": "function" - } -] diff --git a/packages/dapp/next-env.d.ts b/packages/dapp/next-env.d.ts deleted file mode 100644 index 4f11a03dc..000000000 --- a/packages/dapp/next-env.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -/// -/// - -// NOTE: This file should not be edited -// see https://nextjs.org/docs/basic-features/typescript for more information. diff --git a/packages/dapp/next.config.js b/packages/dapp/next.config.js deleted file mode 100644 index 5456af0c3..000000000 --- a/packages/dapp/next.config.js +++ /dev/null @@ -1,10 +0,0 @@ -/** @type {import('next').NextConfig} */ -module.exports = { - reactStrictMode: true, - swcMinify: false, // we need to use terser, as swc doesn't support svelte and `@argent/get-starknet` - publicRuntimeConfig: { - webWalletUrl: - process.env.NEXT_PUBLIC_WEBWALLET_URL ?? "http://localhost:3005", - argentMobileChainId: process.env.NEXT_PUBLIC_ARGENT_CHAIN_ID ?? "SN_GOERLI", - }, -} diff --git a/packages/dapp/package.json b/packages/dapp/package.json deleted file mode 100644 index cac1a4498..000000000 --- a/packages/dapp/package.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "name": "@argent-x/dapp", - "version": "6.3.2", - "private": true, - "scripts": { - "dev": "next dev", - "build": "next build", - "start": "next start", - "export": "next export", - "lint": "next lint" - }, - "dependencies": { - "@argent/x-shared": "1.1.7", - "@argent/x-ui": "^1.0.2", - "@argent/x-sessions": "^6.3.1", - "@chakra-ui/react": "^2.8.2", - "@starknet-react/chains": "0.1.7", - "@starknet-react/core": "2.2.5", - "micro-starknet": "^0.2.3", - "next": "^13.4.6", - "react": "^18.0.0", - "react-dom": "^18.0.0", - "starknet": "5.25.0", - "starknetkit": "^1.1.0" - }, - "devDependencies": { - "@types/node": "20.11.20", - "@types/react": "^18.0.0", - "@types/react-dom": "^18.0.0", - "eslint": "8", - "eslint-config-next": "13.5.6", - "typescript": "^5.0.4" - } -} diff --git a/packages/dapp/public/favicon.ico b/packages/dapp/public/favicon.ico deleted file mode 100644 index 718d6fea4835ec2d246af9800eddb7ffb276240c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25931 zcmeHv30#a{`}aL_*G&7qml|y<+KVaDM2m#dVr!KsA!#An?kSQM(q<_dDNCpjEux83 zLb9Z^XxbDl(w>%i@8hT6>)&Gu{h#Oeyszu?xtw#Zb1mO{pgX9699l+Qppw7jXaYf~-84xW z)w4x8?=youko|}Vr~(D$UXIbiXABHh`p1?nn8Po~fxRJv}|0e(BPs|G`(TT%kKVJAdg5*Z|x0leQq0 zkdUBvb#>9F()jo|T~kx@OM8$9wzs~t2l;K=woNssA3l6|sx2r3+kdfVW@e^8e*E}v zA1y5{bRi+3Z`uD3{F7LgFJDdvm;nJilkzDku>BwXH(8ItVCXk*-lSJnR?-2UN%hJ){&rlvg`CDTj z)Bzo!3v7Ou#83zEDEFcKt(f1E0~=rqeEbTnMvWR#{+9pg%7G8y>u1OVRUSoox-ovF z2Ydma(;=YuBY(eI|04{hXzZD6_f(v~H;C~y5=DhAC{MMS>2fm~1H_t2$56pc$NH8( z5bH|<)71dV-_oCHIrzrT`2s-5w_+2CM0$95I6X8p^r!gHp+j_gd;9O<1~CEQQGS8) zS9Qh3#p&JM-G8rHekNmKVewU;pJRcTAog68KYo^dRo}(M>36U4Us zfgYWSiHZL3;lpWT=zNAW>Dh#mB!_@Lg%$ms8N-;aPqMn+C2HqZgz&9~Eu z4|Kp<`$q)Uw1R?y(~S>ePdonHxpV1#eSP1B;Ogo+-Pk}6#0GsZZ5!||ev2MGdh}_m z{DeR7?0-1^zVs&`AV6Vt;r3`I`OI_wgs*w=eO%_#7Kepl{B@xiyCANc(l zzIyd4y|c6PXWq9-|KM8(zIk8LPk(>a)zyFWjhT!$HJ$qX1vo@d25W<fvZQ2zUz5WRc(UnFMKHwe1| zWmlB1qdbiA(C0jmnV<}GfbKtmcu^2*P^O?MBLZKt|As~ge8&AAO~2K@zbXelK|4T<{|y4`raF{=72kC2Kn(L4YyenWgrPiv z@^mr$t{#X5VuIMeL!7Ab6_kG$&#&5p*Z{+?5U|TZ`B!7llpVmp@skYz&n^8QfPJzL z0G6K_OJM9x+Wu2gfN45phANGt{7=C>i34CV{Xqlx(fWpeAoj^N0Biu`w+MVcCUyU* zDZuzO0>4Z6fbu^T_arWW5n!E45vX8N=bxTVeFoep_G#VmNlQzAI_KTIc{6>c+04vr zx@W}zE5JNSU>!THJ{J=cqjz+4{L4A{Ob9$ZJ*S1?Ggg3klFp!+Y1@K+pK1DqI|_gq z5ZDXVpge8-cs!o|;K73#YXZ3AShj50wBvuq3NTOZ`M&qtjj#GOFfgExjg8Gn8>Vq5 z`85n+9|!iLCZF5$HJ$Iu($dm?8~-ofu}tEc+-pyke=3!im#6pk_Wo8IA|fJwD&~~F zc16osQ)EBo58U7XDuMexaPRjU@h8tXe%S{fA0NH3vGJFhuyyO!Uyl2^&EOpX{9As0 zWj+P>{@}jxH)8|r;2HdupP!vie{sJ28b&bo!8`D^x}TE$%zXNb^X1p@0PJ86`dZyj z%ce7*{^oo+6%&~I!8hQy-vQ7E)0t0ybH4l%KltWOo~8cO`T=157JqL(oq_rC%ea&4 z2NcTJe-HgFjNg-gZ$6!Y`SMHrlj}Etf7?r!zQTPPSv}{so2e>Fjs1{gzk~LGeesX%r(Lh6rbhSo_n)@@G-FTQy93;l#E)hgP@d_SGvyCp0~o(Y;Ee8{ zdVUDbHm5`2taPUOY^MAGOw*>=s7=Gst=D+p+2yON!0%Hk` zz5mAhyT4lS*T3LS^WSxUy86q&GnoHxzQ6vm8)VS}_zuqG?+3td68_x;etQAdu@sc6 zQJ&5|4(I?~3d-QOAODHpZ=hlSg(lBZ!JZWCtHHSj`0Wh93-Uk)_S%zsJ~aD>{`A0~ z9{AG(e|q3g5B%wYKRxiL2Y$8(4w6bzchKuloQW#e&S3n+P- z8!ds-%f;TJ1>)v)##>gd{PdS2Oc3VaR`fr=`O8QIO(6(N!A?pr5C#6fc~Ge@N%Vvu zaoAX2&(a6eWy_q&UwOhU)|P3J0Qc%OdhzW=F4D|pt0E4osw;%<%Dn58hAWD^XnZD= z>9~H(3bmLtxpF?a7su6J7M*x1By7YSUbxGi)Ot0P77`}P3{)&5Un{KD?`-e?r21!4vTTnN(4Y6Lin?UkSM z`MXCTC1@4A4~mvz%Rh2&EwY))LeoT=*`tMoqcEXI>TZU9WTP#l?uFv+@Dn~b(>xh2 z;>B?;Tz2SR&KVb>vGiBSB`@U7VIWFSo=LDSb9F{GF^DbmWAfpms8Sx9OX4CnBJca3 zlj9(x!dIjN?OG1X4l*imJNvRCk}F%!?SOfiOq5y^mZW)jFL@a|r-@d#f7 z2gmU8L3IZq0ynIws=}~m^#@&C%J6QFo~Mo4V`>v7MI-_!EBMMtb%_M&kvAaN)@ZVw z+`toz&WG#HkWDjnZE!6nk{e-oFdL^$YnbOCN}JC&{$#$O27@|Tn-skXr)2ml2~O!5 zX+gYoxhoc7qoU?C^3~&!U?kRFtnSEecWuH0B0OvLodgUAi}8p1 zrO6RSXHH}DMc$&|?D004DiOVMHV8kXCP@7NKB zgaZq^^O<7PoKEp72kby@W0Z!Y*Ay{&vfg#C&gG@YVR9g?FEocMUi1gSN$+V+ayF45{a zuDZDTN}mS|;BO%gEf}pjBfN2-gIrU#G5~cucA;dokXW89%>AyXJJI z9X4UlIWA|ZYHgbI z5?oFk@A=Ik7lrEQPDH!H+b`7_Y~aDb_qa=B2^Y&Ow41cU=4WDd40dp5(QS-WMN-=Y z9g;6_-JdNU;|6cPwf$ak*aJIcwL@1n$#l~zi{c{EW?T;DaW*E8DYq?Umtz{nJ&w-M zEMyTDrC&9K$d|kZe2#ws6)L=7K+{ zQw{XnV6UC$6-rW0emqm8wJoeZK)wJIcV?dST}Z;G0Arq{dVDu0&4kd%N!3F1*;*pW zR&qUiFzK=@44#QGw7k1`3t_d8&*kBV->O##t|tonFc2YWrL7_eqg+=+k;!F-`^b8> z#KWCE8%u4k@EprxqiV$VmmtiWxDLgnGu$Vs<8rppV5EajBXL4nyyZM$SWVm!wnCj-B!Wjqj5-5dNXukI2$$|Bu3Lrw}z65Lc=1G z^-#WuQOj$hwNGG?*CM_TO8Bg-1+qc>J7k5c51U8g?ZU5n?HYor;~JIjoWH-G>AoUP ztrWWLbRNqIjW#RT*WqZgPJXU7C)VaW5}MiijYbABmzoru6EmQ*N8cVK7a3|aOB#O& zBl8JY2WKfmj;h#Q!pN%9o@VNLv{OUL?rixHwOZuvX7{IJ{(EdPpuVFoQqIOa7giLVkBOKL@^smUA!tZ1CKRK}#SSM)iQHk)*R~?M!qkCruaS!#oIL1c z?J;U~&FfH#*98^G?i}pA{ z9Jg36t4=%6mhY(quYq*vSxptes9qy|7xSlH?G=S@>u>Ebe;|LVhs~@+06N<4CViBk zUiY$thvX;>Tby6z9Y1edAMQaiH zm^r3v#$Q#2T=X>bsY#D%s!bhs^M9PMAcHbCc0FMHV{u-dwlL;a1eJ63v5U*?Q_8JO zT#50!RD619#j_Uf))0ooADz~*9&lN!bBDRUgE>Vud-i5ck%vT=r^yD*^?Mp@Q^v+V zG#-?gKlr}Eeqifb{|So?HM&g91P8|av8hQoCmQXkd?7wIJwb z_^v8bbg`SAn{I*4bH$u(RZ6*xUhuA~hc=8czK8SHEKTzSxgbwi~9(OqJB&gwb^l4+m`k*Q;_?>Y-APi1{k zAHQ)P)G)f|AyjSgcCFps)Fh6Bca*Xznq36!pV6Az&m{O8$wGFD? zY&O*3*J0;_EqM#jh6^gMQKpXV?#1?>$ml1xvh8nSN>-?H=V;nJIwB07YX$e6vLxH( zqYwQ>qxwR(i4f)DLd)-$P>T-no_c!LsN@)8`e;W@)-Hj0>nJ-}Kla4-ZdPJzI&Mce zv)V_j;(3ERN3_@I$N<^|4Lf`B;8n+bX@bHbcZTopEmDI*Jfl)-pFDvo6svPRoo@(x z);_{lY<;);XzT`dBFpRmGrr}z5u1=pC^S-{ce6iXQlLGcItwJ^mZx{m$&DA_oEZ)B{_bYPq-HA zcH8WGoBG(aBU_j)vEy+_71T34@4dmSg!|M8Vf92Zj6WH7Q7t#OHQqWgFE3ARt+%!T z?oLovLVlnf?2c7pTc)~cc^($_8nyKwsN`RA-23ed3sdj(ys%pjjM+9JrctL;dy8a( z@en&CQmnV(()bu|Y%G1-4a(6x{aLytn$T-;(&{QIJB9vMox11U-1HpD@d(QkaJdEb zG{)+6Dos_L+O3NpWo^=gR?evp|CqEG?L&Ut#D*KLaRFOgOEK(Kq1@!EGcTfo+%A&I z=dLbB+d$u{sh?u)xP{PF8L%;YPPW53+@{>5W=Jt#wQpN;0_HYdw1{ksf_XhO4#2F= zyPx6Lx2<92L-;L5PD`zn6zwIH`Jk($?Qw({erA$^bC;q33hv!d!>%wRhj# zal^hk+WGNg;rJtb-EB(?czvOM=H7dl=vblBwAv>}%1@{}mnpUznfq1cE^sgsL0*4I zJ##!*B?=vI_OEVis5o+_IwMIRrpQyT_Sq~ZU%oY7c5JMIADzpD!Upz9h@iWg_>>~j zOLS;wp^i$-E?4<_cp?RiS%Rd?i;f*mOz=~(&3lo<=@(nR!_Rqiprh@weZlL!t#NCc zO!QTcInq|%#>OVgobj{~ixEUec`E25zJ~*DofsQdzIa@5^nOXj2T;8O`l--(QyU^$t?TGY^7#&FQ+2SS3B#qK*k3`ye?8jUYSajE5iBbJls75CCc(m3dk{t?- zopcER9{Z?TC)mk~gpi^kbbu>b-+a{m#8-y2^p$ka4n60w;Sc2}HMf<8JUvhCL0B&Btk)T`ctE$*qNW8L$`7!r^9T+>=<=2qaq-;ll2{`{Rg zc5a0ZUI$oG&j-qVOuKa=*v4aY#IsoM+1|c4Z)<}lEDvy;5huB@1RJPquU2U*U-;gu z=En2m+qjBzR#DEJDO`WU)hdd{Vj%^0V*KoyZ|5lzV87&g_j~NCjwv0uQVqXOb*QrQ zy|Qn`hxx(58c70$E;L(X0uZZ72M1!6oeg)(cdKO ze0gDaTz+ohR-#d)NbAH4x{I(21yjwvBQfmpLu$)|m{XolbgF!pmsqJ#D}(ylp6uC> z{bqtcI#hT#HW=wl7>p!38sKsJ`r8}lt-q%Keqy%u(xk=yiIJiUw6|5IvkS+#?JTBl z8H5(Q?l#wzazujH!8o>1xtn8#_w+397*_cy8!pQGP%K(Ga3pAjsaTbbXJlQF_+m+-UpUUent@xM zg%jqLUExj~o^vQ3Gl*>wh=_gOr2*|U64_iXb+-111aH}$TjeajM+I20xw(((>fej-@CIz4S1pi$(#}P7`4({6QS2CaQS4NPENDp>sAqD z$bH4KGzXGffkJ7R>V>)>tC)uax{UsN*dbeNC*v}#8Y#OWYwL4t$ePR?VTyIs!wea+ z5Urmc)X|^`MG~*dS6pGSbU+gPJoq*^a=_>$n4|P^w$sMBBy@f*Z^Jg6?n5?oId6f{ z$LW4M|4m502z0t7g<#Bx%X;9<=)smFolV&(V^(7Cv2-sxbxopQ!)*#ZRhTBpx1)Fc zNm1T%bONzv6@#|dz(w02AH8OXe>kQ#1FMCzO}2J_mST)+ExmBr9cva-@?;wnmWMOk z{3_~EX_xadgJGv&H@zK_8{(x84`}+c?oSBX*Ge3VdfTt&F}yCpFP?CpW+BE^cWY0^ zb&uBN!Ja3UzYHK-CTyA5=L zEMW{l3Usky#ly=7px648W31UNV@K)&Ub&zP1c7%)`{);I4b0Q<)B}3;NMG2JH=X$U zfIW4)4n9ZM`-yRj67I)YSLDK)qfUJ_ij}a#aZN~9EXrh8eZY2&=uY%2N0UFF7<~%M zsB8=erOWZ>Ct_#^tHZ|*q`H;A)5;ycw*IcmVxi8_0Xk}aJA^ath+E;xg!x+As(M#0=)3!NJR6H&9+zd#iP(m0PIW8$ z1Y^VX`>jm`W!=WpF*{ioM?C9`yOR>@0q=u7o>BP-eSHqCgMDj!2anwH?s%i2p+Q7D zzszIf5XJpE)IG4;d_(La-xenmF(tgAxK`Y4sQ}BSJEPs6N_U2vI{8=0C_F?@7<(G; zo$~G=8p+076G;`}>{MQ>t>7cm=zGtfbdDXm6||jUU|?X?CaE?(<6bKDYKeHlz}DA8 zXT={X=yp_R;HfJ9h%?eWvQ!dRgz&Su*JfNt!Wu>|XfU&68iRikRrHRW|ZxzRR^`eIGt zIeiDgVS>IeExKVRWW8-=A=yA`}`)ZkWBrZD`hpWIxBGkh&f#ijr449~m`j6{4jiJ*C!oVA8ZC?$1RM#K(_b zL9TW)kN*Y4%^-qPpMP7d4)o?Nk#>aoYHT(*g)qmRUb?**F@pnNiy6Fv9rEiUqD(^O zzyS?nBrX63BTRYduaG(0VVG2yJRe%o&rVrLjbxTaAFTd8s;<<@Qs>u(<193R8>}2_ zuwp{7;H2a*X7_jryzriZXMg?bTuegABb^87@SsKkr2)0Gyiax8KQWstw^v#ix45EVrcEhr>!NMhprl$InQMzjSFH54x5k9qHc`@9uKQzvL4ihcq{^B zPrVR=o_ic%Y>6&rMN)hTZsI7I<3&`#(nl+3y3ys9A~&^=4?PL&nd8)`OfG#n zwAMN$1&>K++c{^|7<4P=2y(B{jJsQ0a#U;HTo4ZmWZYvI{+s;Td{Yzem%0*k#)vjpB zia;J&>}ICate44SFYY3vEelqStQWFihx%^vQ@Do(sOy7yR2@WNv7Y9I^yL=nZr3mb zXKV5t@=?-Sk|b{XMhA7ZGB@2hqsx}4xwCW!in#C zI@}scZlr3-NFJ@NFaJlhyfcw{k^vvtGl`N9xSo**rDW4S}i zM9{fMPWo%4wYDG~BZ18BD+}h|GQKc-g^{++3MY>}W_uq7jGHx{mwE9fZiPCoxN$+7 zrODGGJrOkcPQUB(FD5aoS4g~7#6NR^ma7-!>mHuJfY5kTe6PpNNKC9GGRiu^L31uG z$7v`*JknQHsYB!Tm_W{a32TM099djW%5e+j0Ve_ct}IM>XLF1Ap+YvcrLV=|CKo6S zb+9Nl3_YdKP6%Cxy@6TxZ>;4&nTneadr z_ES90ydCev)LV!dN=#(*f}|ZORFdvkYBni^aLbUk>BajeWIOcmHP#8S)*2U~QKI%S zyrLmtPqb&TphJ;>yAxri#;{uyk`JJqODDw%(Z=2`1uc}br^V%>j!gS)D*q*f_-qf8&D;W1dJgQMlaH5er zN2U<%Smb7==vE}dDI8K7cKz!vs^73o9f>2sgiTzWcwY|BMYHH5%Vn7#kiw&eItCqa zIkR2~Q}>X=Ar8W|^Ms41Fm8o6IB2_j60eOeBB1Br!boW7JnoeX6Gs)?7rW0^5psc- zjS16yb>dFn>KPOF;imD}e!enuIniFzv}n$m2#gCCv4jM#ArwlzZ$7@9&XkFxZ4n!V zj3dyiwW4Ki2QG{@i>yuZXQizw_OkZI^-3otXC{!(lUpJF33gI60ak;Uqitp74|B6I zgg{b=Iz}WkhCGj1M=hu4#Aw173YxIVbISaoc z-nLZC*6Tgivd5V`K%GxhBsp@SUU60-rfc$=wb>zdJzXS&-5(NRRodFk;Kxk!S(O(a0e7oY=E( zAyS;Ow?6Q&XA+cnkCb{28_1N8H#?J!*$MmIwLq^*T_9-z^&UE@A(z9oGYtFy6EZef LrJugUA?W`A8`#=m diff --git a/packages/dapp/public/vercel.svg b/packages/dapp/public/vercel.svg deleted file mode 100644 index fbf0e25a6..000000000 --- a/packages/dapp/public/vercel.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - \ No newline at end of file diff --git a/packages/dapp/src/components/AddNetwork.tsx b/packages/dapp/src/components/AddNetwork.tsx deleted file mode 100644 index a9e80f66e..000000000 --- a/packages/dapp/src/components/AddNetwork.tsx +++ /dev/null @@ -1,40 +0,0 @@ -import { H2 } from "@argent/x-ui" -import { Flex } from "@chakra-ui/react" -import { addNetwork } from "../services/wallet.service" -import { useState } from "react" - -const AddNetwork = () => { - const [addNetworkError, setAddNetworkError] = useState("") - - const handleAddNetwork = async () => { - try { - await addNetwork({ - id: "dapp-test", - chainId: "SN_DAPP_TEST", - chainName: "Test chain name", - baseUrl: "http://localhost:5050", - rpcUrls: ["http://localhost:5050/rpc"], - }) - setAddNetworkError("") - } catch (error) { - setAddNetworkError((error as any).message) - } - } - - return ( - -

Network

- - Add network to wallet - - {addNetworkError} -
- ) -} - -export { AddNetwork } diff --git a/packages/dapp/src/components/AddToken.tsx b/packages/dapp/src/components/AddToken.tsx deleted file mode 100644 index 22de0cfe4..000000000 --- a/packages/dapp/src/components/AddToken.tsx +++ /dev/null @@ -1,72 +0,0 @@ -import { Button, H2 } from "@argent/x-ui" -import { truncateAddress } from "../services/address.service" -import { DAITokenAddress, ETHTokenAddress } from "../services/token.service" -import { addToken } from "../services/wallet.service" -import { useState } from "react" -import { Code, Flex } from "@chakra-ui/react" - -const AddToken = () => { - const [addTokenError, setAddTokenError] = useState("") - - const handleAddEth = async () => { - try { - await addToken(ETHTokenAddress) - setAddTokenError("") - } catch (error) { - setAddTokenError((error as any).message) - } - } - - const handleAddDai = async () => { - try { - await addToken(DAITokenAddress) - setAddTokenError("") - } catch (error) { - setAddTokenError((error as any).message) - } - } - - return ( - -

ERC20

- ETH token address - - - {truncateAddress(ETHTokenAddress)} - - - - Add ETH token to wallet - - - Add DAI token to wallet - - {addTokenError} -
- ) -} - -export { AddToken } diff --git a/packages/dapp/src/components/Declare.tsx b/packages/dapp/src/components/Declare.tsx deleted file mode 100644 index a4d75ad41..000000000 --- a/packages/dapp/src/components/Declare.tsx +++ /dev/null @@ -1,146 +0,0 @@ -import { Button, H2, Input } from "@argent/x-ui" -import { - CompiledSierraCasm, - DeclareContractPayload, - hash, - isSierra, -} from "starknet" - -import { readFileAsString } from "@argent/x-shared" -import { Flex } from "@chakra-ui/react" -import { FC, useMemo, useState } from "react" -import { declare, declareAndDeploy } from "../services/wallet.service" -import { Status } from "../types/Status" - -interface DeclareProps { - setTransactionStatus: (status: Status) => void - setLastTransactionHash: (status: string) => void -} - -const Declare: FC = ({ - setTransactionStatus, - setLastTransactionHash, -}) => { - const [classHash, setClassHash] = useState("") - const [contract, setContract] = useState(null) - const [casm, setCasm] = useState(null) - const [shouldDeploy, setShouldDeploy] = useState(false) - - const contractIsSierra = useMemo(() => { - return contract && isSierra(contract) - }, [contract]) - - const handleDeclare = async (e: React.FormEvent) => { - try { - e.preventDefault() - if (!contract) { - throw new Error("No contract") - } - if (!classHash) { - throw new Error("No class hash") - } - const payload: DeclareContractPayload = { - contract, - classHash, - } - if (casm) { - payload.casm = casm - delete payload.classHash - } - if (shouldDeploy) { - const result = await declareAndDeploy(payload) - console.log(result) - setLastTransactionHash(result.deploy.transaction_hash) - } else { - const result = await declare(payload) - console.log(result) - setLastTransactionHash(result.transaction_hash) - } - setTransactionStatus("pending") - } catch (e) { - console.error(e) - setTransactionStatus("idle") - } - } - - return ( - -

Declare (and deploy)

- - - { - if (!e.target.files) { - return - } - setCasm(null) - - const file = e.target.files[0] - const fileAsString = await readFileAsString(file) - setContract(fileAsString) - - const classHash = hash.computeContractClassHash(fileAsString) - setClassHash(classHash) - }} - /> - - - - - {contractIsSierra && ( - <> - - { - if (!e.target.files) { - return - } - const file = e.target.files[0] - const fileAsString = await readFileAsString(file) - const fileAsJson = JSON.parse(fileAsString) - setCasm(fileAsJson) - }} - /> - - )} - - setShouldDeploy(!shouldDeploy)} - /> - - - -
- ) -} - -export { Declare } diff --git a/packages/dapp/src/components/Deploy.tsx b/packages/dapp/src/components/Deploy.tsx deleted file mode 100644 index 37e28dc07..000000000 --- a/packages/dapp/src/components/Deploy.tsx +++ /dev/null @@ -1,71 +0,0 @@ -import { Button, H2, Input } from "@argent/x-ui" -import { UniversalDeployerContractPayload } from "starknet" - -import { Flex } from "@chakra-ui/react" -import { FC, useState } from "react" -import { deploy } from "../services/wallet.service" -import { Status } from "../types/Status" - -interface DeployProps { - setTransactionStatus: (status: Status) => void - setLastTransactionHash: (status: string) => void -} - -const Deploy: FC = ({ - setTransactionStatus, - setLastTransactionHash, -}) => { - const [deployClassHash, setDeployClassHash] = useState("") - - const handleDeploy = async (e: React.FormEvent) => { - try { - e.preventDefault() - if (!deployClassHash) { - throw new Error("No class hash") - } - const payload: UniversalDeployerContractPayload = { - classHash: deployClassHash, - } - const result = await deploy(payload) - setLastTransactionHash(result.transaction_hash) - setTransactionStatus("pending") - } catch (e) { - console.error(e) - setTransactionStatus("idle") - } - } - - return ( - -

Deploy

- - - { - setDeployClassHash(e.target.value) - }} - value={deployClassHash} - /> - - -
- ) -} - -export { Deploy } diff --git a/packages/dapp/src/components/Header.tsx b/packages/dapp/src/components/Header.tsx deleted file mode 100644 index ac2a8f253..000000000 --- a/packages/dapp/src/components/Header.tsx +++ /dev/null @@ -1,38 +0,0 @@ -import { Divider, Flex, Text } from "@chakra-ui/react" -import { Button } from "@argent/x-ui" -import { useRouter } from "next/router" -import Link from "next/link" -import { FC } from "react" - -export const Header: FC<{ - isConnected?: boolean - disconnectFn?: () => void -}> = ({ isConnected, disconnectFn }) => { - const { pathname } = useRouter() - - return ( - - - - StarknetKit app - - - Starknet React app - - - - {!isConnected && ( - - )} - {isConnected && disconnectFn && ( - - )} - - - - ) -} diff --git a/packages/dapp/src/components/InfoRow.tsx b/packages/dapp/src/components/InfoRow.tsx deleted file mode 100644 index 6f2548624..000000000 --- a/packages/dapp/src/components/InfoRow.tsx +++ /dev/null @@ -1,45 +0,0 @@ -import { H4 } from "@argent/x-ui" -import { Code, Flex } from "@chakra-ui/react" -import { FC, ReactNode } from "react" - -const InfoRow: FC<{ - title: string - content?: ReactNode - copyContent?: string -}> = ({ title, content, copyContent }) => { - return ( - -

{title}

- {!copyContent && ( -

- - {content} - -

- )} - {copyContent && content && ( - { - navigator.clipboard.writeText(copyContent) - }} - > -

- - {content} - -

-
- )} -
- ) -} - -export { InfoRow } diff --git a/packages/dapp/src/components/Mint.tsx b/packages/dapp/src/components/Mint.tsx deleted file mode 100644 index 9cb1a4b33..000000000 --- a/packages/dapp/src/components/Mint.tsx +++ /dev/null @@ -1,64 +0,0 @@ -import { H2, Input } from "@argent/x-ui" -import { Flex } from "@chakra-ui/react" -import { FC, useState } from "react" -import { AccountInterface } from "starknet" -import { mintToken } from "../services/token.service" -import { Status } from "../types/Status" - -interface MintProps { - account?: AccountInterface - setTransactionStatus: (status: Status) => void - setLastTransactionHash: (status: string) => void - transactionStatus: Status -} -const Mint: FC = ({ - setTransactionStatus, - setLastTransactionHash, - transactionStatus, -}) => { - const [mintAmount, setMintAmount] = useState("10") - const buttonsDisabled = ["approve", "pending"].includes(transactionStatus) - - const handleMintSubmit = async (e: React.FormEvent) => { - e.preventDefault() - try { - setTransactionStatus("approve") - const { transaction_hash } = await mintToken(mintAmount) - setLastTransactionHash(transaction_hash) - setTransactionStatus("pending") - } catch (e) { - console.error(e) - setTransactionStatus("idle") - } - } - - return ( - - -

Mint token

- setMintAmount(e.target.value)} - /> - - -
-
- ) -} - -export { Mint } diff --git a/packages/dapp/src/components/MintWithStarknetReact.tsx b/packages/dapp/src/components/MintWithStarknetReact.tsx deleted file mode 100644 index 33b71ded5..000000000 --- a/packages/dapp/src/components/MintWithStarknetReact.tsx +++ /dev/null @@ -1,89 +0,0 @@ -import { bigDecimal } from "@argent/x-shared" -import { H2, Input } from "@argent/x-ui" -import { Flex } from "@chakra-ui/react" -import { useContractWrite } from "@starknet-react/core" -import { FC, useMemo, useState } from "react" -import { AccountInterface } from "starknet" -import { ETHTokenAddress } from "../services/token.service" -import { Status } from "../types/Status" - -interface MintProps { - account?: AccountInterface - setTransactionStatus: (status: Status) => void - setLastTransactionHash: (status: string) => void - transactionStatus: Status -} - -const MintWithStarknetReact: FC = ({ - account, - setTransactionStatus, - setLastTransactionHash, - transactionStatus, -}) => { - const [mintAmount, setMintAmount] = useState("10") - const buttonsDisabled = ["approve", "pending"].includes(transactionStatus) - - const mintCalls = useMemo(() => { - if (!account) { - return [] - } - return [ - { - contractAddress: ETHTokenAddress, - entrypoint: "transfer", - calldata: [ - account?.address, - Number(bigDecimal.parseEther(mintAmount).value), - 0, - ], - }, - ] - }, [account, mintAmount]) - - const { writeAsync: mintWithStarknetReact } = useContractWrite({ - calls: mintCalls, - }) - - const handleMintSubmit = async (e: React.FormEvent) => { - e.preventDefault() - try { - setTransactionStatus("approve") - const { transaction_hash } = await mintWithStarknetReact() - setLastTransactionHash(transaction_hash) - setTransactionStatus("pending") - } catch (e) { - console.error(e) - setTransactionStatus("idle") - } - } - - return ( - - -

Mint token

- setMintAmount(e.target.value)} - /> - - -
-
- ) -} - -export { MintWithStarknetReact } diff --git a/packages/dapp/src/components/OffchainSessionKeys.tsx b/packages/dapp/src/components/OffchainSessionKeys.tsx deleted file mode 100644 index 13ca5a817..000000000 --- a/packages/dapp/src/components/OffchainSessionKeys.tsx +++ /dev/null @@ -1,54 +0,0 @@ -import { Button, H2, Input } from "@argent/x-ui" -import { OffchainSessionAccount } from "@argent/x-sessions" -import { FC, useState } from "react" -import { Abi, AccountInterface, Contract } from "starknet" - -import { Flex } from "@chakra-ui/react" -import Erc20Abi from "../../abi/ERC20.json" -import { - ETHTokenAddress, - parseInputAmountToUint256, -} from "../services/token.service" -import { Status } from "../types/Status" -import { OffchainSessionKeysSign } from "./OffchainSessionKeysSign" -import { OffchainSessionKeysExecute } from "./OffchainSessionKeysExecute" - -interface OffchainSessionKeysProps { - account: AccountInterface - setTransactionStatus: (status: Status) => void - setLastTransactionHash: (tx: string) => void - transactionStatus: Status -} - -/* no starknet react, need to use the account directly to sign - and the offchainSessionAccount to execute the transaction - */ -const OffchainSessionKeys: FC = ({ - account, - setTransactionStatus, - transactionStatus, - setLastTransactionHash, -}) => { - const [offchainSessionAccount, setOffchainSessionAccount] = useState< - OffchainSessionAccount | undefined - >() - - return ( - - - - - ) -} - -export { OffchainSessionKeys } diff --git a/packages/dapp/src/components/OffchainSessionKeysExecute.tsx b/packages/dapp/src/components/OffchainSessionKeysExecute.tsx deleted file mode 100644 index 958cf4b50..000000000 --- a/packages/dapp/src/components/OffchainSessionKeysExecute.tsx +++ /dev/null @@ -1,97 +0,0 @@ -import { Button, H2, Input } from "@argent/x-ui" -import { OffchainSessionAccount } from "@argent/x-sessions" -import { FC, useState } from "react" -import { Abi, AccountInterface, Contract } from "starknet" - -import { Flex } from "@chakra-ui/react" -import Erc20Abi from "../../abi/ERC20.json" -import { - ETHTokenAddress, - parseInputAmountToUint256, -} from "../services/token.service" -import { Status } from "../types/Status" - -interface OffchainSessionKeysExecuteProps { - account: AccountInterface - setTransactionStatus: (status: Status) => void - setLastTransactionHash: (tx: string) => void - transactionStatus: Status - offchainSessionAccount: OffchainSessionAccount | undefined -} - -const OffchainSessionKeysExecute: FC = ({ - account, - setTransactionStatus, - transactionStatus, - setLastTransactionHash, - offchainSessionAccount, -}) => { - const [transferOffchainSessionAmount, setTransferOffchainSessionAmount] = - useState("") - - const buttonsDisabled = - ["approve", "pending"].includes(transactionStatus) || - !offchainSessionAccount - - const handleOffchainSessionTransaction = async (e: React.FormEvent) => { - try { - e.preventDefault() - setTransactionStatus("pending") - if (!offchainSessionAccount) { - throw new Error("No open session") - } - const erc20Contract = new Contract( - Erc20Abi as Abi, - ETHTokenAddress, - offchainSessionAccount, - ) - - const result = await erc20Contract.transfer( - account.address, - parseInputAmountToUint256(transferOffchainSessionAmount), - ) - - setLastTransactionHash(result.transaction_hash) - setTransactionStatus("success") - } catch (e) { - console.error(e) - setTransactionStatus("idle") - } - } - - return ( - -

Use session keys

- - setTransferOffchainSessionAmount(e.target.value)} - /> - -
- ) -} - -export { OffchainSessionKeysExecute } diff --git a/packages/dapp/src/components/OffchainSessionKeysSign.tsx b/packages/dapp/src/components/OffchainSessionKeysSign.tsx deleted file mode 100644 index 0e2e7523d..000000000 --- a/packages/dapp/src/components/OffchainSessionKeysSign.tsx +++ /dev/null @@ -1,85 +0,0 @@ -import { Button, H2, Input } from "@argent/x-ui" -import { OffchainSessionAccount } from "@argent/x-sessions" -import { FC, useState } from "react" -import { AccountInterface, RpcProvider } from "starknet" - -import { Flex } from "@chakra-ui/react" -import { getStarkKey, utils } from "micro-starknet" -import { createSessionKeys } from "../services/wallet.service" -import { Status } from "../types/Status" - -interface OffchainSessionKeysSignProps { - account: AccountInterface - setTransactionStatus: (status: Status) => void - setOffchainSessionAccount: (account: OffchainSessionAccount) => void -} - -const OffchainSessionKeysSign: FC = ({ - account, - setTransactionStatus, - setOffchainSessionAccount, -}) => { - const [allowedFees, setAllowedFees] = useState("") - const [sessionSigner] = useState(utils.randomPrivateKey()) - - const handleCreateSessionSubmit = async (e: React.FormEvent) => { - try { - e.preventDefault() - - setTransactionStatus("approve") - const signedSession = await createSessionKeys( - getStarkKey(sessionSigner), - allowedFees, - account, - ) - - const provider = new RpcProvider({ - nodeUrl: "https://cloud.argent-api.com/v1/starknet/goerli/rpc/v0.5", - }) - - const sessionAccount = new OffchainSessionAccount( - provider, - account.address, - sessionSigner, - signedSession, - account, - ) - - setOffchainSessionAccount(sessionAccount) - - setTransactionStatus("success") - } catch (e) { - console.error(e) - setTransactionStatus("idle") - } - } - - return ( - -

Create session keys

- setAllowedFees(e.target.value)} - /> - -
- ) -} - -export { OffchainSessionKeysSign } diff --git a/packages/dapp/src/components/SignMessage.tsx b/packages/dapp/src/components/SignMessage.tsx deleted file mode 100644 index 19107b8d0..000000000 --- a/packages/dapp/src/components/SignMessage.tsx +++ /dev/null @@ -1,92 +0,0 @@ -import { Button, H2, Input, Textarea } from "@argent/x-ui" -import { Flex } from "@chakra-ui/react" -import { FC, useState } from "react" -import { stark } from "starknet" -import { signMessage } from "../services/wallet.service" -import { Status } from "../types/Status" - -interface SignMessageProps { - setTransactionStatus: (status: Status) => void -} - -const SignMessage: FC = ({ setTransactionStatus }) => { - const [shortText, setShortText] = useState("") - const [lastSig, setLastSig] = useState([]) - - const handleSignSubmit = async (skipDeploy: boolean) => { - try { - setTransactionStatus("approve") - const result = await signMessage(shortText, skipDeploy) - setLastSig(stark.formatSignature(result)) - setTransactionStatus("success") - } catch (e) { - console.error(e) - setTransactionStatus("idle") - } - } - - return ( - - { - e.preventDefault() - handleSignSubmit(false) - }} - direction="column" - background="neutrals.700" - flex={1} - p="4" - gap="3" - borderTopLeftRadius="lg" - borderBottomLeftRadius="lg" - > -

Sign Message

- - setShortText(e.target.value)} - /> - -
- - -
-
- -

Sign results

- - {/* Label and textarea for value r */} -