diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 038ace053..f93c402a5 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -10,3 +10,4 @@ packages/bitcoin-wallet-snap @MetaMask/networks packages/snap-networks-utils @MetaMask/networks packages/tron-wallet-snap @MetaMask/networks packages/solana-wallet-snap @MetaMask/networks +packages/stellar-wallet-snap @MetaMask/networks diff --git a/README.md b/README.md index 5ce1a797a..00471b4cb 100644 --- a/README.md +++ b/README.md @@ -23,6 +23,7 @@ Each snap in this repository has its own README with installation and usage inst - [`@metamask/bitcoin-wallet-snap`](packages/bitcoin-wallet-snap) - [`@metamask/snap-networks-utils`](packages/snap-networks-utils) - [`@metamask/solana-wallet-snap`](packages/solana-wallet-snap) +- [`@metamask/stellar-wallet-snap`](packages/stellar-wallet-snap) - [`@metamask/tron-wallet-snap`](packages/tron-wallet-snap) diff --git a/eslint-suppressions.json b/eslint-suppressions.json index e6e00f264..0bcb524fa 100644 --- a/eslint-suppressions.json +++ b/eslint-suppressions.json @@ -1268,6 +1268,409 @@ "count": 1 } }, + "packages/stellar-wallet-snap/scripts/build-preinstalled-snap.js": { + "n/no-sync": { + "count": 2 + } + }, + "packages/stellar-wallet-snap/scripts/populate-en-locale.js": { + "n/no-sync": { + "count": 1 + } + }, + "packages/stellar-wallet-snap/scripts/update-manifest-local.js": { + "n/no-process-env": { + "count": 1 + }, + "n/no-sync": { + "count": 2 + } + }, + "packages/stellar-wallet-snap/snap.config.ts": { + "import-x/no-nodejs-modules": { + "count": 1 + }, + "no-restricted-globals": { + "count": 27 + } + }, + "packages/stellar-wallet-snap/src/api/url.test.ts": { + "@typescript-eslint/explicit-function-return-type": { + "count": 2 + } + }, + "packages/stellar-wallet-snap/src/handlers/accountResolver.test.ts": { + "@typescript-eslint/explicit-function-return-type": { + "count": 1 + } + }, + "packages/stellar-wallet-snap/src/handlers/asset/assets.test.ts": { + "@typescript-eslint/explicit-function-return-type": { + "count": 1 + } + }, + "packages/stellar-wallet-snap/src/handlers/clientRequest/api.test.ts": { + "@typescript-eslint/explicit-function-return-type": { + "count": 1 + } + }, + "packages/stellar-wallet-snap/src/handlers/clientRequest/changeTrustOpt.test.ts": { + "@typescript-eslint/explicit-function-return-type": { + "count": 1 + } + }, + "packages/stellar-wallet-snap/src/handlers/clientRequest/computeFee.test.ts": { + "@typescript-eslint/explicit-function-return-type": { + "count": 1 + } + }, + "packages/stellar-wallet-snap/src/handlers/clientRequest/confirmSend.test.ts": { + "@typescript-eslint/explicit-function-return-type": { + "count": 2 + } + }, + "packages/stellar-wallet-snap/src/handlers/clientRequest/onAmountInput.test.ts": { + "@typescript-eslint/explicit-function-return-type": { + "count": 2 + } + }, + "packages/stellar-wallet-snap/src/handlers/clientRequest/signAndSendTransaction.test.ts": { + "@typescript-eslint/explicit-function-return-type": { + "count": 1 + } + }, + "packages/stellar-wallet-snap/src/handlers/cronjob/refreshConfirmationContext/handler.test.ts": { + "@typescript-eslint/explicit-function-return-type": { + "count": 1 + } + }, + "packages/stellar-wallet-snap/src/handlers/cronjob/refreshConfirmationContext/priceRefresher.test.ts": { + "@typescript-eslint/explicit-function-return-type": { + "count": 1 + } + }, + "packages/stellar-wallet-snap/src/handlers/cronjob/refreshConfirmationContext/scanRefresher.test.ts": { + "@typescript-eslint/explicit-function-return-type": { + "count": 2 + } + }, + "packages/stellar-wallet-snap/src/handlers/cronjob/refreshConfirmationContext/transactionRefresher.test.ts": { + "@typescript-eslint/explicit-function-return-type": { + "count": 2 + } + }, + "packages/stellar-wallet-snap/src/handlers/cronjob/syncAccounts.test.ts": { + "@typescript-eslint/explicit-function-return-type": { + "count": 1 + } + }, + "packages/stellar-wallet-snap/src/handlers/cronjob/syncAssets.test.ts": { + "@typescript-eslint/explicit-function-return-type": { + "count": 1 + } + }, + "packages/stellar-wallet-snap/src/handlers/cronjob/trackTransaction.test.ts": { + "@typescript-eslint/explicit-function-return-type": { + "count": 1 + } + }, + "packages/stellar-wallet-snap/src/handlers/keyring/keyring.test.ts": { + "@typescript-eslint/explicit-function-return-type": { + "count": 2 + }, + "n/no-unsupported-features/node-builtins": { + "count": 2 + } + }, + "packages/stellar-wallet-snap/src/handlers/keyring/signAuthEntry.test.ts": { + "@typescript-eslint/explicit-function-return-type": { + "count": 1 + }, + "n/no-unsupported-features/node-builtins": { + "count": 1 + } + }, + "packages/stellar-wallet-snap/src/handlers/keyring/signMessage.test.ts": { + "@typescript-eslint/explicit-function-return-type": { + "count": 1 + }, + "n/no-unsupported-features/node-builtins": { + "count": 1 + } + }, + "packages/stellar-wallet-snap/src/handlers/keyring/signTransaction.test.ts": { + "@typescript-eslint/explicit-function-return-type": { + "count": 1 + }, + "n/no-unsupported-features/node-builtins": { + "count": 1 + } + }, + "packages/stellar-wallet-snap/src/services/account/AccountService.test.ts": { + "@typescript-eslint/explicit-function-return-type": { + "count": 2 + } + }, + "packages/stellar-wallet-snap/src/services/account/__mocks__/account.fixtures.ts": { + "@typescript-eslint/explicit-function-return-type": { + "count": 1 + } + }, + "packages/stellar-wallet-snap/src/services/asset-metadata/AssetMetadataRepository.test.ts": { + "@typescript-eslint/explicit-function-return-type": { + "count": 2 + }, + "jsdoc/require-param-description": { + "count": 1 + }, + "jsdoc/require-returns": { + "count": 1 + } + }, + "packages/stellar-wallet-snap/src/services/asset-metadata/AssetMetadataService.test.ts": { + "@typescript-eslint/explicit-function-return-type": { + "count": 1 + }, + "jest/unbound-method": { + "count": 4 + } + }, + "packages/stellar-wallet-snap/src/services/asset-metadata/__mocks__/assets.fixtures.ts": { + "@typescript-eslint/explicit-function-return-type": { + "count": 1 + } + }, + "packages/stellar-wallet-snap/src/services/asset-metadata/token-api/TokenApiClient.test.ts": { + "@typescript-eslint/explicit-function-return-type": { + "count": 2 + } + }, + "packages/stellar-wallet-snap/src/services/cache/StateCache.test.ts": { + "@typescript-eslint/explicit-function-return-type": { + "count": 1 + } + }, + "packages/stellar-wallet-snap/src/services/cache/StateCache.ts": { + "no-restricted-syntax": { + "count": 1 + } + }, + "packages/stellar-wallet-snap/src/services/cache/useCache.test.ts": { + "@typescript-eslint/explicit-function-return-type": { + "count": 4 + } + }, + "packages/stellar-wallet-snap/src/services/cache/useCacheUntil.test.ts": { + "@typescript-eslint/explicit-function-return-type": { + "count": 2 + } + }, + "packages/stellar-wallet-snap/src/services/network/NetworkService.test.ts": { + "@typescript-eslint/explicit-function-return-type": { + "count": 4 + } + }, + "packages/stellar-wallet-snap/src/services/network/utils.ts": { + "no-restricted-syntax": { + "count": 1 + } + }, + "packages/stellar-wallet-snap/src/services/on-chain-account/OnChainAccount.test.ts": { + "@typescript-eslint/explicit-function-return-type": { + "count": 3 + }, + "jsdoc/require-param-description": { + "count": 2 + }, + "jsdoc/require-returns": { + "count": 1 + } + }, + "packages/stellar-wallet-snap/src/services/on-chain-account/OnChainAccount.ts": { + "no-restricted-syntax": { + "count": 1 + } + }, + "packages/stellar-wallet-snap/src/services/on-chain-account/OnChainAccountService.test.ts": { + "@typescript-eslint/explicit-function-return-type": { + "count": 1 + }, + "n/no-unsupported-features/node-builtins": { + "count": 3 + } + }, + "packages/stellar-wallet-snap/src/services/on-chain-account/OnChainAccountSynchronizeService.test.ts": { + "@typescript-eslint/explicit-function-return-type": { + "count": 10 + }, + "jsdoc/require-param-description": { + "count": 5 + }, + "jsdoc/require-returns": { + "count": 2 + }, + "n/no-unsupported-features/node-builtins": { + "count": 1 + } + }, + "packages/stellar-wallet-snap/src/services/on-chain-account/__mocks__/onChainAccount.fixtures.ts": { + "@typescript-eslint/explicit-function-return-type": { + "count": 2 + } + }, + "packages/stellar-wallet-snap/src/services/price/PriceService.test.ts": { + "@typescript-eslint/explicit-function-return-type": { + "count": 4 + } + }, + "packages/stellar-wallet-snap/src/services/price/__mocks__/price.fixtures.ts": { + "@typescript-eslint/explicit-function-return-type": { + "count": 1 + } + }, + "packages/stellar-wallet-snap/src/services/price/price-api/PriceApiClient.test.ts": { + "@typescript-eslint/explicit-function-return-type": { + "count": 2 + } + }, + "packages/stellar-wallet-snap/src/services/sync/SynchronizeService.test.ts": { + "@typescript-eslint/explicit-function-return-type": { + "count": 1 + }, + "n/no-sync": { + "count": 3 + } + }, + "packages/stellar-wallet-snap/src/services/transaction-scan/SecurityAlertsApiClient.test.ts": { + "@typescript-eslint/explicit-function-return-type": { + "count": 1 + } + }, + "packages/stellar-wallet-snap/src/services/transaction-scan/TransactionScanService.test.ts": { + "@typescript-eslint/explicit-function-return-type": { + "count": 1 + } + }, + "packages/stellar-wallet-snap/src/services/transaction/KeyringTransactionBuilder.ts": { + "no-restricted-syntax": { + "count": 1 + } + }, + "packages/stellar-wallet-snap/src/services/transaction/OperationMapper.test.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "packages/stellar-wallet-snap/src/services/transaction/OperationMapper.ts": { + "no-restricted-syntax": { + "count": 18 + } + }, + "packages/stellar-wallet-snap/src/services/transaction/TransactionBuilder.test.ts": { + "@typescript-eslint/explicit-function-return-type": { + "count": 2 + } + }, + "packages/stellar-wallet-snap/src/services/transaction/TransactionBuilder.ts": { + "no-restricted-syntax": { + "count": 1 + } + }, + "packages/stellar-wallet-snap/src/services/transaction/TransactionMapper.test.ts": { + "@typescript-eslint/explicit-function-return-type": { + "count": 2 + } + }, + "packages/stellar-wallet-snap/src/services/transaction/TransactionRepository.test.ts": { + "@typescript-eslint/explicit-function-return-type": { + "count": 3 + } + }, + "packages/stellar-wallet-snap/src/services/transaction/TransactionService.test.ts": { + "@typescript-eslint/explicit-function-return-type": { + "count": 3 + } + }, + "packages/stellar-wallet-snap/src/services/transaction/TransactionSynchronizeService.test.ts": { + "@typescript-eslint/explicit-function-return-type": { + "count": 2 + } + }, + "packages/stellar-wallet-snap/src/services/transaction/__mocks__/transaction.fixtures.ts": { + "@typescript-eslint/explicit-function-return-type": { + "count": 5 + } + }, + "packages/stellar-wallet-snap/src/services/wallet/WalletService.test.ts": { + "n/no-unsupported-features/node-builtins": { + "count": 3 + } + }, + "packages/stellar-wallet-snap/src/services/wallet/__mocks__/wallet.fixtures.ts": { + "@typescript-eslint/explicit-function-return-type": { + "count": 2 + } + }, + "packages/stellar-wallet-snap/src/ui/confirmation/components/ConfirmationFooter.tsx": { + "id-length": { + "count": 1 + } + }, + "packages/stellar-wallet-snap/src/ui/confirmation/components/EstimatedChanges/EstimatedChanges.tsx": { + "id-length": { + "count": 2 + } + }, + "packages/stellar-wallet-snap/src/ui/confirmation/views/ConfirmSendTransaction/ConfirmSendTransaction.tsx": { + "id-length": { + "count": 1 + } + }, + "packages/stellar-wallet-snap/src/ui/confirmation/views/ConfirmSignChangeTrustOptIn/ConfirmSignChangeTrustOptIn.tsx": { + "id-length": { + "count": 1 + } + }, + "packages/stellar-wallet-snap/src/ui/confirmation/views/ConfirmSignChangeTrustOptOut/ConfirmSignChangeTrustOptOut.tsx": { + "id-length": { + "count": 1 + } + }, + "packages/stellar-wallet-snap/src/ui/confirmation/views/ConfirmSignTransaction/ConfirmSignTransaction.tsx": { + "id-length": { + "count": 1 + } + }, + "packages/stellar-wallet-snap/src/ui/confirmation/views/MaliciousAcknowledgement/MaliciousAcknowledgementScreen.test.tsx": { + "@typescript-eslint/explicit-function-return-type": { + "count": 3 + } + }, + "packages/stellar-wallet-snap/src/ui/confirmation/views/MaliciousAcknowledgement/MaliciousAcknowledgementScreen.tsx": { + "id-length": { + "count": 1 + } + }, + "packages/stellar-wallet-snap/src/utils/__mocks__/snap.ts": { + "@typescript-eslint/no-explicit-any": { + "count": 1 + } + }, + "packages/stellar-wallet-snap/src/utils/async.test.ts": { + "@typescript-eslint/explicit-function-return-type": { + "count": 6 + } + }, + "packages/stellar-wallet-snap/src/utils/logger.ts": { + "no-restricted-syntax": { + "count": 1 + } + }, + "packages/stellar-wallet-snap/src/utils/snap.ts": { + "no-restricted-syntax": { + "count": 1 + } + }, "packages/tron-wallet-snap/scripts/build-preinstalled-snap.js": { "n/no-sync": { "count": 2 diff --git a/merged-packages/stellar-wallet-snap/CHANGELOG.md b/merged-packages/stellar-wallet-snap/CHANGELOG.md deleted file mode 100644 index a5cdea1ff..000000000 --- a/merged-packages/stellar-wallet-snap/CHANGELOG.md +++ /dev/null @@ -1,10 +0,0 @@ -# Changelog - -All notable changes to this project will be documented in this file. - -The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), -and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). - -## [Unreleased] - -[Unreleased]: https://github.com/MetaMask/snap-stellar-wallet/ diff --git a/merged-packages/stellar-wallet-snap/docs/misc/synchronization/accounts.md b/merged-packages/stellar-wallet-snap/docs/misc/synchronization/accounts.md deleted file mode 100644 index dbad7efff..000000000 --- a/merged-packages/stellar-wallet-snap/docs/misc/synchronization/accounts.md +++ /dev/null @@ -1,95 +0,0 @@ -# Synchronization: accounts - -On-chain account snapshots (balances, trustlines, SEP-41 tokens) for **activated** keyring accounts. - -| | | -| ---------------- | ---------------------------------------------------------------------------------------------------------------- | -| **Service** | `[OnChainAccountSynchronizeService](../../../src/services/on-chain-account/OnChainAccountSynchronizeService.ts)` | -| **Orchestrator** | `[SynchronizeService](../../../src/services/sync/SynchronizeService.ts)` | -| **Snap state** | `[OnChainAccountRepository](../../../src/services/on-chain-account/OnChainAccountRepository.ts)` | -| **Overview** | [synchronization.md](./synchronization.md) | - -## Participants - -| Component | Path | Role | -| ---------------------------------- | --------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | -| `SynchronizeService` | `services/sync` | Load activated pairs + SEP-41 catalog; run account + tx sync | -| `OnChainAccountSynchronizeService` | `services/on-chain-account` | Merge snapshots, persist, emit | -| `OnChainAccountService` | `services/on-chain-account` | Resolve live on-chain account | -| `NetworkService` | `services/network` | [Horizon](https://developers.stellar.org/docs/data/apis/horizon/api-reference/retrieve-an-account) account + SEP-41 balance reads | -| `SyncAccountsHandler` | `handlers/cronjob` | Cron / scheduled entry | - -## Request / response - -Triggered via `SynchronizeService.synchronize` (see [syncAccounts.md](../../use-cases/cron-job/syncAccounts.md)). Emits keyring events after snap state is persisted: - -- `AccountBalancesUpdated` -- `AccountAssetListUpdated` - -SEP-41 token balances are **not** from Horizon — they use Soroban RPC `balance(Address)` simulation. - -## Step-by-step - -1. `SynchronizeService` loads **activated** account pairs from [Horizon](https://developers.stellar.org/docs/data/apis/horizon/api-reference/retrieve-an-account); unfunded / not-yet-activated accounts are skipped. -2. Load SEP-41 asset metadata for the scope (shared with transaction sync on the same run). -3. `OnChainAccountSynchronizeService.synchronize` — batch-fetch SEP-41 token balances (best effort). -4. Load previous snap-state snapshots as merge baseline. -5. Per activated account — apply SEP-41 balances, then **merge** persisted gaps (classic tombstones + SEP-41 backfill). -6. **Compute deltas** — `#computeKeyringSyncDeltas` compares pre-sync snapshot vs merged on-chain view (visibility transitions → balance / asset-list payloads). -7. Persist snapshots atomically, then emit `AccountBalancesUpdated` and `AccountAssetListUpdated`. - -Account sync and transaction sync run **in parallel** when both are enabled on the same `synchronize` call. - -## Tombstones, merge, and deltas - -Merge and deltas are two linked steps: - -1. `#mergePersistedEntriesIntoOnChainAccount` — fill gaps so the in-memory on-chain view is complete before diffing. -2. `#computeKeyringSyncDeltas` — compare **persisted snapshot** vs **merged on-chain view** for visibility transitions: - -- newly visible → `added` (+ balance) -- no longer visible → `removed` (+ balance `0`) -- already not visible → omit (avoid flooding zeros) - -## Sequence - -```mermaid -sequenceDiagram - participant Cron as SyncAccountsHandler - participant Sync as SynchronizeService - participant OnChain as OnChainAccountSynchronizeService - participant Network as NetworkService - participant State as OnChainAccountRepository - participant MM as MetaMask controller - - Cron->>Sync: synchronize(accounts, scope) - Sync->>Network: resolve activated pairs (GET /accounts/:id) - Sync->>OnChain: synchronize(pairs, scope, sep41Assets) - OnChain->>Network: SEP-41 balance simulation - OnChain->>State: load last snapshots - loop per activated account - OnChain->>OnChain: apply SEP-41 balances - OnChain->>OnChain: merge (classic tombstones + SEP-41 backfill) - OnChain->>OnChain: computeKeyringSyncDeltas - end - OnChain->>State: saveMany - OnChain->>MM: AccountBalancesUpdated (delta balances) - OnChain->>MM: AccountAssetListUpdated (delta added/removed) -``` - -## Data source - -| Data | Source | -| ------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------- | -| Native + classic trustline balances | **Live on-chain** via [Horizon](https://developers.stellar.org/docs/data/apis/horizon/api-reference/retrieve-an-account) `GET /accounts/:account_id` | -| SEP-41 token balances | **Live on-chain** (Soroban simulation) | -| Persisted snapshot | **Snap state** (`OnChainAccountRepository`) | -| Keyring-facing balances / asset list | Emitted from latest snapshot (can be slightly stale until next sync) | - -## Related - -- [Horizon — Accounts](https://developers.stellar.org/docs/data/apis/horizon/api-reference/resources/accounts) -- [Horizon — Retrieve an Account](https://developers.stellar.org/docs/data/apis/horizon/api-reference/retrieve-an-account) -- [syncAccounts.md](../../use-cases/cron-job/syncAccounts.md) — cron entry and params -- [keyring.md](../../use-cases/keyring/keyring.md) — `listAccountAssets` / `getAccountBalances` read snap snapshots -- [transaction.md](./transaction.md) — transaction sync on the same run diff --git a/merged-packages/stellar-wallet-snap/docs/misc/synchronization/assets.md b/merged-packages/stellar-wallet-snap/docs/misc/synchronization/assets.md deleted file mode 100644 index 88f2e4eee..000000000 --- a/merged-packages/stellar-wallet-snap/docs/misc/synchronization/assets.md +++ /dev/null @@ -1,65 +0,0 @@ -# Synchronization: assets - -Asset metadata catalog refresh from the token API. - -| | | -| ---------------- | -------------------------------------------------------------------------------------------------- | -| **Service** | [`AssetMetadataService.synchronize`](../../../src/services/asset-metadata/AssetMetadataService.ts) | -| **Orchestrator** | [`SynchronizeService.synchronizeAssets`](../../../src/services/sync/SynchronizeService.ts) | -| **Snap state** | [`AssetMetadataRepository`](../../../src/services/asset-metadata/AssetMetadataRepository.ts) | -| **Overview** | [synchronization.md](./synchronization.md) | - -## Participants - -| Component | Path | Role | -| ---------------------- | ----------------------------------- | ----------------------------------- | -| `SyncAssetsHandler` | `handlers/cronjob` | Cron entry | -| `SynchronizeService` | `services/sync` | `synchronizeAssets(scope)` delegate | -| `AssetMetadataService` | `services/asset-metadata` | Fetch + persist catalog | -| `TokenApiClient` | `services/asset-metadata/token-api` | Token API | - -## Request / response - -Triggered by the `synchronizeAssets` cron (see [syncAssets.md](../../use-cases/cron-job/syncAssets.md)). Always uses **mainnet** scope — asset metadata is only available there, regardless of the user's selected network. - -Wire format: [SIP-29 Snap Assets API](https://metamask.github.io/SIPs/SIPS/sip-29) (lookup handlers read from the persisted catalog). - -## Step-by-step - -1. `SyncAssetsHandler` cron fires (always **mainnet** scope). -2. `SynchronizeService.synchronizeAssets(scope)` delegates to `AssetMetadataService.synchronize`. -3. Fetch full token list from the token API. -4. Persist catalog via `AssetMetadataRepository.saveMany`. -5. Failures are logged / tracked; the cron does not fail the whole Snap lifecycle. - -During account / transaction sync, `SynchronizeService` also preloads SEP-41 metadata via `fetchSep41AssetsOrSyncOnce` so transaction mapping and balance reads have catalog data without waiting for the assets cron. - -## Sequence - -```mermaid -sequenceDiagram - participant Cron as SyncAssetsHandler - participant Sync as SynchronizeService - participant Meta as AssetMetadataService - participant API as TokenApiClient - participant State as AssetMetadataRepository - - Cron->>Sync: synchronizeAssets(mainnet) - Sync->>Meta: synchronize(mainnet) - Meta->>API: fetch token list - API-->>Meta: tokens metadata - Meta->>State: saveMany -``` - -## Data source - -| Data | Source | -| ----------------------------------------- | ------------------------------------------------ | -| Asset catalog (symbol, decimals, icon, …) | **Token API** → persisted in **snap state** | -| On-demand lookup (`onAssetsLookup`) | Snap state catalog (fetch + persist missing ids) | - -## Related - -- [syncAssets.md](../../use-cases/cron-job/syncAssets.md) — cron entry -- [assets.md](../../use-cases/assets/assets.md) — `onAssets*` handlers -- [transaction.md](./transaction.md) — SEP-41 metadata used during tx mapping diff --git a/merged-packages/stellar-wallet-snap/docs/misc/synchronization/synchronization.md b/merged-packages/stellar-wallet-snap/docs/misc/synchronization/synchronization.md deleted file mode 100644 index 07fed3643..000000000 --- a/merged-packages/stellar-wallet-snap/docs/misc/synchronization/synchronization.md +++ /dev/null @@ -1,88 +0,0 @@ -# Synchronization - -How background sync wires accounts, transactions, and asset catalog together. - -| | | -| ---------------- | -------------------------------------------------------------------------------- | -| **Orchestrator** | [`SynchronizeService`](../../../src/services/sync/SynchronizeService.ts) | -| **Accounts** | [accounts.md](./accounts.md) — on-chain snapshots (balances, trustlines, SEP-41) | -| **Transactions** | [transaction.md](./transaction.md) — Horizon history, mapping, pending reconcile | -| **Assets** | [assets.md](./assets.md) — token metadata catalog | - -## Participants - -| Component | Path | Role | -| ------------------------- | ------------------ | ------------------------------------------------------ | -| `CronjobHandler` | `handlers/cronjob` | Gate — skip if inactive / locked | -| `SyncAccountsHandler` | `handlers/cronjob` | Cron / scheduled entry for accounts + txs | -| `SyncAssetsHandler` | `handlers/cronjob` | Cron entry for asset catalog | -| `TrackTransactionHandler` | `handlers/cronjob` | Poll until terminal → then synchronize | -| `SynchronizeService` | `services/sync` | Hub — mutex, parallel account + tx sync, asset catalog | - -## Step-by-step - -### `synchronizeAccounts` run - -1. Load **activated** account pairs (skip unfunded). -2. Preload SEP-41 metadata for the scope. -3. Run **[accounts](./accounts.md)** and **[transactions](./transaction.md)** sync **in parallel**. -4. Per-task failures are logged; they do not fail the whole run. - -## Sequence - -```mermaid -sequenceDiagram - participant Sync as SynchronizeService - participant Assets as assets sync - participant Acc as accounts sync - participant Tx as transaction sync - - Sync->>Assets: preload SEP-41 metadata - Assets-->>Sync: sep41Assets - par - Sync->>Acc: synchronize - and - Sync->>Tx: synchronize - end -``` - -Component detail: [accounts](./accounts.md) · [transactions](./transaction.md) · [assets](./assets.md) - -## Skip synchronization / delay synchronization - -`SynchronizeService` uses a mutex so only **one exclusive sync** runs at a time: - -| Overlapping request | Behavior | -| ------------------------------------------ | ------------------------------------------------------------------------------------------------- | -| Same accounts already in the current run | **Skip** (common during onboarding) | -| Other accounts (e.g. after account switch) | **Delay** — schedule `synchronizeAccounts` background event (~2s) instead of waiting on the mutex | - -This avoids Snap request timeouts when syncs overlap. - -```mermaid -sequenceDiagram - participant A as Sync request A - participant B as Sync request B - participant Sync as SynchronizeService - participant Cron as delayed synchronizeAccounts - - A->>Sync: synchronize(accounts A) - Note over Sync: mutex held - B->>Sync: synchronize(accounts B) - alt B accounts already in A's run - Sync-->>B: skip - else B has other accounts - Sync->>Cron: schedule (~2s) - Note over Sync: mutex released later - Cron->>Sync: synchronize(accounts B) - end -``` - -## Related - -| Use case | Doc | -| ------------------- | ------------------------------------------------------------------- | -| Cron gate | [cronjob.md](../../use-cases/cron-job/cronjob.md) | -| Sync accounts entry | [syncAccounts.md](../../use-cases/cron-job/syncAccounts.md) | -| Sync assets entry | [syncAssets.md](../../use-cases/cron-job/syncAssets.md) | -| Track submitted tx | [trackTransaction.md](../../use-cases/cron-job/trackTransaction.md) | diff --git a/merged-packages/stellar-wallet-snap/docs/misc/synchronization/transaction.md b/merged-packages/stellar-wallet-snap/docs/misc/synchronization/transaction.md deleted file mode 100644 index 45868f302..000000000 --- a/merged-packages/stellar-wallet-snap/docs/misc/synchronization/transaction.md +++ /dev/null @@ -1,106 +0,0 @@ -# Synchronization: transactions - -Maps [Horizon](https://developers.stellar.org/docs/data/apis/horizon/api-reference/resources/transactions) history to keyring transactions and reconciles snap-state pending txs. - -| | | -| -------------- | ----------------------------------------------------------------------------------------------------- | -| **Service** | [`TransactionSynchronizeService`](../../../src/services/transaction/TransactionSynchronizeService.ts) | -| **Mapper** | [`TransactionMapper`](../../../src/services/transaction/TransactionMapper.ts) | -| **Snap state** | [`TransactionRepository`](../../../src/services/transaction/TransactionRepository.ts) | -| **Overview** | [synchronization.md](./synchronization.md) | - -## Participants - -| Component | Path | Role | -| ------------------------------- | ---------------------- | ----------------------------------------------------------------------------------------------------------------------------- | -| `TransactionSynchronizeService` | `services/transaction` | Scan, map, reconcile, emit | -| `TransactionMapper` | `services/transaction` | On-chain tx → keyring tx | -| `KeyringTransactionBuilder` | `services/transaction` | Build keyring tx shapes | -| `TransactionRepository` | `services/transaction` | Pending txs + scan cursors | -| `NetworkService` | `services/network` | [Horizon](https://developers.stellar.org/docs/data/apis/horizon/api-reference/resources/transactions) fetch by account / hash | - -## Step-by-step - -1. **Create context** — load pending txs from snap state, last-scan cursors, all snap-managed accounts on scope (for SEP-41 receive), SEP-41 metadata map. -2. **Scan** — paginated [account transactions](https://developers.stellar.org/docs/data/apis/horizon/api-reference/get-transactions-by-account-id) per **activated** account; map each tx; apply SEP-41 synthetic receive when eligible. -3. **Reconcile pending** — for remaining pending hashes, [fetch by hash](https://developers.stellar.org/docs/data/apis/horizon/api-reference/retrieve-a-transaction); map when found; increment reconcile attempt on 404. -4. **Save & emit** — emit `AccountTransactionsUpdated`, then persist mapped txs + remaining pending + updated cursors. - -First scan for an account uses **DESC** (newest first). Incremental scans use **ASC** from the saved cursor. - -## Sequence - -```mermaid -sequenceDiagram - participant Sync as TransactionSynchronizeService - participant Horizon as Horizon API - participant Mapper as TransactionMapper - participant State as TransactionRepository - participant MM as MetaMask controller - - Sync->>State: load pending + cursors - loop per activated account - Sync->>Horizon: GET /accounts/:id/transactions - Horizon-->>Sync: on-chain txs - Sync->>Mapper: mapTransactionSafe - Mapper-->>Sync: keyring tx (or skip) - end - loop remaining pending - Sync->>Horizon: GET /transactions/:hash - alt found - Sync->>Mapper: map with pending state - else 404 - Sync->>State: increment reconcileAttemptCount - end - end - Sync->>MM: AccountTransactionsUpdated - Sync->>State: save pending + cursors -``` - -## Transaction mapping - -### How we decide what type of activity it is - -| Activity type | When we map it as this | Extra mapping conditions | -| -------------------- | ------------------------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| Send | I am the sender, and the transaction only contains payment or create-account operations. | Send takes priority over swap. If there are multiple operations, we only show the first payment or create-account (recipient, asset, amount). | -| Token send (SEP-41) | I am the sender, and it is a supported SEP-41 token we recognize. | Unsupported tokens may fall back to unknown. | -| Swap | I am the sender, the transaction matches our swap pattern, and it includes a path payment that credits back to my own account. | Self-swap is not a receive. If there are multiple path payment operations, we only use the first one for from/to assets and amounts. | -| Receive | At least one operation credits my account (payment, account creation, or swap). | Self-send / self-swap are not receives. Failed receives are hidden. Dust spam is hidden (very small incoming native XLM <= 0.001 from someone else). If multiple assets are credited, we show the first unique asset only (amounts are not summed). | -| Token trust (add) | I am the sender, and every operation is adding trust for a token. | If there are multiple change-trust operations, we only show the first token. | -| Token trust (remove) | I am the sender, and every operation is removing trust for a token. | If there are multiple change-trust operations, we only show the first token. | -| Unknown | The transaction does not match any rule above, or mapping fails. | We still show it as activity rather than hiding it. | - -Notes: -General rule for multi-operation transactions: - -one on-chain transaction = one history entry. - -We do not split multiple sends, swaps, or receives in the same transaction into separate rows. - -### Fee handling (Only for transactions that made from MetaMask) - -| Activity type | Fee while pending | When settled (confirmed / failed) | -| -------------------------- | ------------------------------------------ | ------------------------------------------------------------------------------- | -| Send | No fee shown yet. | We read the actual network fee from the settled transaction and show it in XLM. | -| Token trust (add / remove) | No fee shown yet. | Same as send - actual network fee in XLM is shown after settlement. | -| Swap | Estimated fee from the signed transaction. | Fee is replaced with the actual network fee from the settled transaction. | -| Bridge send | Estimated fee from the signed transaction. | Fee is replaced with the actual network fee from the settled transaction. | - -### Swap amounts (Only for transactions that made from MetaMask) - -| Activity type | Amounts while pending | When settled (confirmed / failed) | -| ----------------------- | ---------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | -| Swap | Estimated amounts from the signed transaction, not the final executed amounts yet. | We re-read actual executed amounts from the on-chain result and update the from and to legs. | -| Contract-based swap | Amounts shown as `0` - final amounts not known yet. | We try to re-map from on-chain data. If that fails, we keep the pending amounts (still `0`) as best effort. | -| Cross-chain bridge send | No from/to amounts in the snap. | Handled from transaction history when available. | - -## Related - -- [Horizon — Transactions](https://developers.stellar.org/docs/data/apis/horizon/api-reference/resources/transactions) -- [Horizon — Account's Transactions](https://developers.stellar.org/docs/data/apis/horizon/api-reference/get-transactions-by-account-id) -- [Horizon — Retrieve a Transaction](https://developers.stellar.org/docs/data/apis/horizon/api-reference/retrieve-a-transaction) -- [Horizon — Pagination](https://developers.stellar.org/docs/data/apis/horizon/api-reference/structure/pagination/page-arguments) -- [syncAccounts.md](../../use-cases/cron-job/syncAccounts.md) — cron entry -- [trackTransaction.md](../../use-cases/cron-job/trackTransaction.md) — post-submit poll -- [keyring.md](../../use-cases/keyring/keyring.md) — `listAccountTransactions` = snap pending only diff --git a/merged-packages/stellar-wallet-snap/docs/misc/transaction/send-classic-trustline.md b/merged-packages/stellar-wallet-snap/docs/misc/transaction/send-classic-trustline.md deleted file mode 100644 index 0bd1afed2..000000000 --- a/merged-packages/stellar-wallet-snap/docs/misc/transaction/send-classic-trustline.md +++ /dev/null @@ -1,61 +0,0 @@ -# Send classic trustline asset - -Payment of a **classic issued asset** (CAIP-19 classic, non-native). Destination must already hold / be able to receive the asset — the Snap does **not** create the destination account for non-native assets. - -| | | -| ----------- | ---------------------------------------------------------------------------------------------------------------------------------- | -| **Service** | `TransactionService.createValidatedSendTransaction` → `#createValidatedClassicAssetTransfer` | -| **Builder** | `TransactionBuilder.transfer` → `#send` (`Operation.payment`) | -| **Client** | [`onAmountInput`](../../use-cases/client-request/onAmountInput.md), [`confirmSend`](../../use-cases/client-request/confirmSend.md) | -| **Submit** | [Submit & bad-sequence retry](./submit-sequence-retry.md) | - -## Build - -1. Load destination account from the network. -2. If destination is **not** activated → `AccountNotActivatedException` (classic non-native cannot use `createAccount`). -3. Fetch base inclusion fee. -4. `TransactionBuilder.transfer` with `isActivated: true`: - - Normalize amount to human-readable Stellar units (`normalizeAmount`). - - `#send` → single `Operation.payment` with `caip19ToStellarAsset(assetId)`. -5. Source sequence / account id from `OnChainAccount`. - -Trustline existence / limits on sender and receiver are enforced in **validate**, not by adding a `changeTrust` op on this path (opt-in/out is [`changeTrustOpt`](../../use-cases/client-request/changeTrustOpt.md)). - -### Cache - -**Send / submit (`confirmSend`) does not use cache** (`useCache: false`). Destination load is always fresh so the envelope is safe to sign. - -**Preflight only (`onAmountInput`)** passes `useCache: true` when building the validated send for amount checks. See [onAmountInput cache note](../../use-cases/client-request/onAmountInput.md#note-cache-usage). - -## Validate - -Local checks against the sender (and destination when known): - -- Sender has enough of the classic asset to send. -- Sender and destination trustlines allow the transfer (limit / authorization). -- Sender can cover the network fee in XLM. - -## Send - -1. `Wallet.signTransaction`. -2. `TransactionService.sendTransaction` — classic envelopes **can** use one automatic `txBadSeq` rebuild + re-sign when the tx source is this wallet account. See [submit-sequence-retry](./submit-sequence-retry.md). - -## Flow - -```mermaid -sequenceDiagram - participant Handler - participant Tx as TransactionService - participant Builder as TransactionBuilder - participant Sim as TransactionSimulator - participant Wallet - - Handler->>Tx: createValidatedSendTransaction (classic) - Tx->>Tx: load destination (must be activated) - Tx->>Builder: transfer → payment - Builder-->>Tx: unsigned payment - Tx->>Sim: validate (balance, trustline, fee) - Note over Handler: confirmSend only ↓ - Handler->>Wallet: signTransaction - Handler->>Tx: sendTransaction -``` diff --git a/merged-packages/stellar-wallet-snap/docs/misc/transaction/send-native.md b/merged-packages/stellar-wallet-snap/docs/misc/transaction/send-native.md deleted file mode 100644 index f141343ef..000000000 --- a/merged-packages/stellar-wallet-snap/docs/misc/transaction/send-native.md +++ /dev/null @@ -1,78 +0,0 @@ -# Send native XLM - -Native asset (slip44) send has two use cases, chosen by whether the destination is already funded on-chain. - -| | | -| ----------- | ---------------------------------------------------------------------------------------------------------------------------------- | -| **Service** | `TransactionService.createValidatedSendTransaction` → `#createValidatedClassicAssetTransfer` | -| **Builder** | `TransactionBuilder.transfer` → `#send` or `#createAccount` | -| **Client** | [`onAmountInput`](../../use-cases/client-request/onAmountInput.md), [`confirmSend`](../../use-cases/client-request/confirmSend.md) | -| **Submit** | [Submit & bad-sequence retry](./submit-sequence-retry.md) | - -Only **native / slip44** can fund a new account. Classic / SEP-41 sends to an unactivated destination fail earlier (`AccountNotActivatedException` / `InvalidAssetForCreateAccountException`). - -## Cache - -**Send / submit (`confirmSend`) does not use cache** (`useCache: false`). Destination load is always fresh so the envelope is safe to sign. - -**Preflight only (`onAmountInput`)** passes `useCache: true` when building the validated send for amount checks. See [onAmountInput cache note](../../use-cases/client-request/onAmountInput.md#note-cache-usage). - ---- - -## Use case A — destination is activated - -Send XLM to an account that already exists on the network. - -### Build - -1. Load destination → activated (`destinationAccount !== null`). -2. Fetch base inclusion fee. -3. `TransactionBuilder.transfer` → `#send` → single `Operation.payment` (native asset). -4. Amount is normalized to human-readable Stellar units; sequence from sender `OnChainAccount`. - -### Validate - -Checks spendable native balance (after reserves) and that the sender can cover the payment plus network fee. - -### Send - -Sign → `sendTransaction` ([submit-sequence-retry](./submit-sequence-retry.md)). - ---- - -## Use case B — destination is not activated - -Fund a new Stellar account by sending native XLM. The Snap builds a **`createAccount`** op instead of `payment`. - -### Build - -1. Load destination → not activated (`destinationAccount === null`). -2. Fetch base inclusion fee. -3. `TransactionBuilder.transfer` → `#createAccount` → `Operation.createAccount({ destination, startingBalance })`. -4. **`startingBalance` = the send amount** (same value the user entered / confirmed). There is no separate “funding” field. - -### Validate - -- **`startingBalance` must be ≥ 1 XLM** (minimum when not sponsoring). -- Sender must have enough spendable native to cover that starting balance plus fee. - -### Send - -Sign → `sendTransaction` ([submit-sequence-retry](./submit-sequence-retry.md)). - ---- - -## Flow - -```mermaid -flowchart TD - Start[Native send] --> Dest{Destination activated?} - - Dest -->|yes — use case A| A1[Build: payment] - A1 --> A2[Validate: spendable XLM + fee] - A2 --> Sign[sign + send] - - Dest -->|no — use case B| B1[Build: createAccount
startingBalance = send amount] - B1 --> B2[Validate: startingBalance ≥ 1 XLM
+ spendable cover] - B2 --> Sign -``` diff --git a/merged-packages/stellar-wallet-snap/docs/misc/transaction/send-sep41.md b/merged-packages/stellar-wallet-snap/docs/misc/transaction/send-sep41.md deleted file mode 100644 index f00418f46..000000000 --- a/merged-packages/stellar-wallet-snap/docs/misc/transaction/send-sep41.md +++ /dev/null @@ -1,64 +0,0 @@ -# Send SEP-41 - -Soroban contract token transfer (`SEP-41` CAIP-19 asset → `invokeHostFunction` calling `transfer`). - -| | | -| ----------- | ---------------------------------------------------------------------------------------------------------------------------------- | -| **Service** | `TransactionService.createValidatedSendTransaction` → `#createValidatedSep41Transfer` | -| **Builder** | `TransactionBuilder.sep41Transfer` | -| **Client** | [`onAmountInput`](../../use-cases/client-request/onAmountInput.md), [`confirmSend`](../../use-cases/client-request/confirmSend.md) | -| **Submit** | [Submit & bad-sequence retry](./submit-sequence-retry.md) | - -## Build - -1. Destination must already be **activated**; otherwise `AccountNotActivatedException` (no `createAccount` for SEP-41). -2. Fetch base inclusion fee. -3. `TransactionBuilder.sep41Transfer`: - - Parse contract id from CAIP-19 asset reference. - - Build one `invokeHostFunction` op: `transfer(from, to, amount)` with amount in token **smallest units** (i128) — no classic decimal normalize. - - Source account + sequence come from the resolved `OnChainAccount`. -4. If the asset row is missing from the on-chain snapshot (`getRawAsset`), fetch SEP-41 balances from the network and attach a local balance. -5. Fail early if local balance < amount (`InsufficientBalanceException`). -6. Network simulation attaches Soroban resource fee / footprint (`sorobanData`). - -### Cache - -**Send / submit paths (`confirmSend`) never use cache** (`useCache: false`). Destination load and SEP-41 simulation are always fresh so the envelope is safe to sign. - -**Preflight only (`onAmountInput`)** passes `useCache: true` so repeated amount checks stay responsive (SEP-41 sim keyed by asset + sender + recipient + scope, not amount). That result must not be signed. See [onAmountInput cache note](../../use-cases/client-request/onAmountInput.md#note-cache-usage). - -## Validate - -Local checks after network simulation has attached the Soroban resource fee: - -- Sender has enough of the SEP-41 token balance. -- Sender can cover inclusion + resource fees in XLM. -- Envelope is a single contract `transfer` invoke with a consistent source/sender. - -## Send - -1. `Wallet.signTransaction`. -2. `TransactionService.sendTransaction` — see [submit-sequence-retry](./submit-sequence-retry.md). -3. Sequence-only rebuild does **not** safely preserve Soroban `sorobanData`; on `txBadSeq` for invoke envelopes the caller should re-simulate / rebuild rather than relying on a blind sequence bump. - -## Flow - -```mermaid -sequenceDiagram - participant Handler - participant Tx as TransactionService - participant Builder as TransactionBuilder - participant Net as NetworkService - participant Sim as TransactionSimulator - participant Wallet - - Handler->>Tx: createValidatedSendTransaction (SEP-41) - Tx->>Builder: sep41Transfer - Builder-->>Tx: unsigned invokeHostFunction - Tx->>Net: simulate (fresh for confirmSend) - Net-->>Tx: assembled envelope (+ resource fee) - Tx->>Sim: validate (balance + fees) - Note over Handler: confirmSend only ↓ - Handler->>Wallet: signTransaction - Handler->>Tx: sendTransaction -``` diff --git a/merged-packages/stellar-wallet-snap/docs/misc/transaction/send-swap.md b/merged-packages/stellar-wallet-snap/docs/misc/transaction/send-swap.md deleted file mode 100644 index b7eda37a6..000000000 --- a/merged-packages/stellar-wallet-snap/docs/misc/transaction/send-swap.md +++ /dev/null @@ -1,78 +0,0 @@ -# Send swap / bridge (from XDR) - -Swap and bridge envelopes are **not** built by `TransactionBuilder` inside the Snap. MetaMask CrossChain API supplies Base64 XDR; the Snap decodes, checks the accepted op shape, validates, then (for submit) signs and sends. - -| | | -| -------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- | -| **Service** | `TransactionService.createValidatedSwapTransaction` | -| **Decode** | `Transaction.fromXdr` | -| **Shape gate** | `SwapTransactionXdrStruct` ([`api/xdr.ts`](../../../src/api/xdr.ts)) | -| **Client** | [`computeFee`](../../use-cases/client-request/computeFee.md), [`signAndSendTransaction`](../../use-cases/client-request/signAndSendTransaction.md) | -| **Submit** | [Submit & bad-sequence retry](./submit-sequence-retry.md) | - -## Accepted operation patterns from XDR - -`SwapTransactionXdrStruct` only checks **operation kind + order** (not balances / memos). Downstream service + simulator do the rest. - -| Ops (in order) | Meaning | -| -------------------------------------- | ---------------------------------------------------------------------------------------- | -| `[invokeHostFunction]` | Soroban swap (single contract invoke) | -| `[payment]` | Bridge deposit (single payment to deposit account) **or** swap without a separate fee op | -| `[pathPayment*]` | Classic swap without a trailing fee payment | -| `[pathPayment*, payment]` | Classic swap + route fee payment | -| `[changeTrust, pathPayment*]` | Trustline setup then swap (no fee op) | -| `[payment, payment]` | Bridge: deposit payment + fee wallet payment | -| `[changeTrust, pathPayment*, payment]` | Trustline + classic swap + fee payment | - -`pathPayment*` = `pathPaymentStrictSend` or `pathPaymentStrictReceive`. - -Anything else → rejected at the JSON-RPC struct (`Unsupported swap transaction operation shape`). - -## Build / decode - -1. Client passes the **same** XDR used for `computeFee` into `signAndSendTransaction`. -2. `Transaction.fromXdr({ xdr, scope })`. -3. `computingFee(transaction)`: - - If envelope has `invokeHostFunction` → `NetworkService.simulateTransaction` (fresh Soroban assemble / resource fee). - - Else → keep fee already on the envelope (Bridge / classic quote trusted). -4. Preload participating accounts from the network (skipped for invoke-only envelopes). - -## Validate - -Local checks on the decoded envelope (balances, trustlines, fees) for whichever ops are present — e.g. path-payment amounts, trailing fee payment, leading change-trust, or Soroban invoke after simulation. - -## Send - -Only `signAndSendTransaction`: - -1. `Wallet.signTransaction` (user consent is **client-side** — Snap shows no confirmation). -2. `sendTransaction` — see [submit-sequence-retry](./submit-sequence-retry.md). -3. Persist pending keyring tx as `Swap` (same-chain) or `BridgeSend` (cross-chain) from `options.sourceAssetId` / `destAssetId`. - -## Flow - -```mermaid -sequenceDiagram - participant Client - participant Fee as ComputeFeeHandler - participant Sign as SignAndSendTransactionHandler - participant Tx as TransactionService - participant Net as NetworkService - participant Wallet - - Client->>Fee: computeFee { xdr, scope } - Fee->>Tx: createValidatedSwapTransaction - Tx->>Tx: fromXdr + computingFee - opt Soroban invoke - Tx->>Net: simulateTransaction - end - Tx->>Tx: validate (balances / trustlines / fees) - Fee-->>Client: fee entries - - Note over Client: User approves in client UI - Client->>Sign: signAndSendTransaction { same xdr, scope, options } - Sign->>Tx: createValidatedSwapTransaction - Sign->>Wallet: signTransaction - Sign->>Tx: sendTransaction - Sign-->>Client: { transactionId } -``` diff --git a/merged-packages/stellar-wallet-snap/docs/misc/transaction/submit-sequence-retry.md b/merged-packages/stellar-wallet-snap/docs/misc/transaction/submit-sequence-retry.md deleted file mode 100644 index e2fb74c7d..000000000 --- a/merged-packages/stellar-wallet-snap/docs/misc/transaction/submit-sequence-retry.md +++ /dev/null @@ -1,80 +0,0 @@ -# Submit & bad-sequence retry (`txBadSeq`) - -Shared on-chain **submit** path used after any flow has built (or decoded), validated, and signed an envelope. This doc is only about submission and recovering when the account **sequence is wrong or too old**. - -Suggested name vs “general on-chain send”: prefer **submit / sequence retry** — it is not a payment-type chooser; it is the last mile of every successful submit. - -| | | -| ----------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| **Service** | `TransactionService.sendTransaction` | -| **Network** | `NetworkService.send` | -| **Rebuild** | `TransactionBuilder.rebuildTxnWithNewSeq` | -| **Used by** | [`confirmSend`](../../use-cases/client-request/confirmSend.md), [`changeTrustOpt`](../../use-cases/client-request/changeTrustOpt.md), [`signAndSendTransaction`](../../use-cases/client-request/signAndSendTransaction.md), … | - -## Happy path - -```text -assert scope matches envelope - → NetworkService.send(signed tx) - → optional poll for terminal SUCCESS - → return transaction hash -``` - -## When sequence is stale (`txBadSeq`) - -Stellar rejects the submit with `txBadSeq` when the envelope’s sequence does not match the source account’s current sequence (concurrent txs, race after a long confirmation dialog, etc.). - -`NetworkService.send` maps that RPC error to `TransactionRetryableException`. - -`TransactionService.sendTransaction` then: - -1. Checks the envelope **source** equals the resolved `onChainAccount.accountId` (this wallet consumes the sequence). - - If source is **another** account → rethrow (cannot bump someone else’s sequence). -2. Reloads the account from the network (`getAccount`) for a fresh `sequenceNumber`. -3. `rebuildTxnWithNewSeq` — clone ops / fee / timebounds onto a new envelope with the new sequence. -4. `wallet.signTransaction` again. -5. Submit **once** more. - -Only **one** automatic retry. - -## Soroban / `invokeHostFunction` caveat - -Sequence-only rebuild copies classic-style fields and operations; it does **not** correctly preserve assembled Soroban `sorobanData`. JSDoc on `sendTransaction` states that for invoke envelopes, `txBadSeq` should not be treated as a safe auto-retry — the caller should **re-simulate / re-assemble** (e.g. fresh quote or fresh SEP-41 sim) instead of relying on a blind sequence bump. - -## Flow - -```mermaid -sequenceDiagram - participant Handler - participant Tx as TransactionService - participant Net as NetworkService - participant Builder as TransactionBuilder - participant Wallet - - Handler->>Wallet: signTransaction (initial) - Handler->>Tx: sendTransaction - Tx->>Net: send - alt SUCCESS - Net-->>Tx: hash - Tx-->>Handler: transactionId - else txBadSeq (retryable) - Net-->>Tx: TransactionRetryableException - alt source === wallet account - Tx->>Net: getAccount (fresh sequence) - Tx->>Builder: rebuildTxnWithNewSeq - Tx->>Wallet: signTransaction - Tx->>Net: send (retry once) - Net-->>Tx: hash - Tx-->>Handler: transactionId - else source is another account - Tx-->>Handler: rethrow - end - end -``` - -## After submit (callers) - -Handlers typically then: - -- `savePendingKeyringTransactionSafe` -- `TrackTransactionHandler.scheduleBackgroundEvent` diff --git a/merged-packages/stellar-wallet-snap/docs/use-cases/README.md b/merged-packages/stellar-wallet-snap/docs/use-cases/README.md deleted file mode 100644 index ad094cda4..000000000 --- a/merged-packages/stellar-wallet-snap/docs/use-cases/README.md +++ /dev/null @@ -1,60 +0,0 @@ -# Use cases - -High-level flows for the Stellar Wallet Snap. Each doc focuses on **handlers**, **services**, and **UI** involved in a use case — utility modules are omitted. - -## Client request (`onClientRequest`) - -| Use case | Entry method | Doc | -| ----------------------------------- | ------------------------ | ----------------------------------------------------------------------- | -| Validate send destination | `onAddressInput` | [onAddressInput.md](./client-request/onAddressInput.md) | -| Preflight send amount | `onAmountInput` | [onAmountInput.md](./client-request/onAmountInput.md) | -| Confirm & submit send | `confirmSend` | [confirmSend.md](./client-request/confirmSend.md) | -| Quote swap / bridge fee | `computeFee` | [computeFee.md](./client-request/computeFee.md) | -| Sign & submit swap / bridge | `signAndSendTransaction` | [signAndSendTransaction.md](./client-request/signAndSendTransaction.md) | -| Change trustline (opt-in / opt-out) | `changeTrustOpt` | [changeTrustOpt.md](./client-request/changeTrustOpt.md) | - -## Cronjob (`onCronjob`) - -All methods are no-ops when MetaMask is inactive or the wallet is **locked** — see [cronjob.md](./cron-job/cronjob.md). - -| Use case | Entry method | Doc | -| --------------------------------------- | ---------------------------- | -------------------------------------------------------------------------------------------------------------------- | -| Cron gate (locked / inactive) | `CronjobHandler` | [cronjob.md](./cron-job/cronjob.md) | -| Sync overview (accounts + txs + assets) | `SynchronizeService` | [synchronization.md](../misc/synchronization/synchronization.md) | -| Track submitted transaction | `trackTransaction` | [trackTransaction.md](./cron-job/trackTransaction.md) · [transaction sync](./../misc/synchronization/transaction.md) | -| Sync selected / listed accounts | `synchronizeAccounts` | [syncAccounts.md](./cron-job/syncAccounts.md) · [accounts sync](./../misc/synchronization/accounts.md) | -| Sync asset metadata catalog | `synchronizeAssets` | [syncAssets.md](./cron-job/syncAssets.md) · [assets sync](./../misc/synchronization/assets.md) | -| Refresh open confirmation | `refreshConfirmationContext` | [refreshConfirmationContext.md](./cron-job/refreshConfirmationContext.md) | - -## Keyring (`onKeyringRequest`) - -Account management is summarized in one place; SEP-43 signing methods have their own docs. - -| Use case | Entry method | Doc | -| ---------------------------------------- | ----------------- | -------------------------------------------------- | -| Keyring overview (accounts, balances, …) | `KeyringHandler` | [keyring.md](./keyring/keyring.md) | -| Sign transaction (no broadcast) | `signTransaction` | [signTransaction.md](./keyring/signTransaction.md) | -| Sign message | `signMessage` | [signMessage.md](./keyring/signMessage.md) | -| Sign Soroban auth entry | `signAuthEntry` | [signAuthEntry.md](./keyring/signAuthEntry.md) | - -## Assets (`endowment:assets`) - -| Use case | Entry method | Doc | -| ----------------------------------- | --------------- | ------------------------------- | -| Assets overview (lookup, prices, …) | `AssetsHandler` | [assets.md](./assets/assets.md) | - -## User input (`onUserInput`) - -| Use case | Entry method | Doc | -| ---------------------------- | ------------------ | ----------------------------------------- | -| Interactive UI event routing | `UserInputHandler` | [userInput.md](./user-input/userInput.md) | - -## Synchronization - -Background sync flow and components: [synchronization.md](../misc/synchronization/synchronization.md). - -| Component | Doc | -| -------------------------------- | -------------------------------------------------------- | -| Accounts (balances / trustlines) | [accounts.md](../misc/synchronization/accounts.md) | -| Transactions (history / pending) | [transaction.md](../misc/synchronization/transaction.md) | -| Asset catalog | [assets.md](../misc/synchronization/assets.md) | diff --git a/merged-packages/stellar-wallet-snap/docs/use-cases/assets/assets.md b/merged-packages/stellar-wallet-snap/docs/use-cases/assets/assets.md deleted file mode 100644 index 1ba144705..000000000 --- a/merged-packages/stellar-wallet-snap/docs/use-cases/assets/assets.md +++ /dev/null @@ -1,33 +0,0 @@ -# Use case: assets (`AssetsHandler`) - -Asset metadata and price entry points via Snap Assets API handlers → `AssetsHandler`. - -| | | -| ---------- | ----------------------------------------------------------------------------------------------------------- | -| **Entry** | `onAssetsLookup` / `onAssetsConversion` / `onAssetsMarketData` / `onAssetHistoricalPrice` → `AssetsHandler` | -| **Source** | [`handlers/asset/assets.ts`](../../../src/handlers/asset/assets.ts) | - -## Participants - -| Component | Path | Role | -| ---------------------- | ------------------------- | ------------------------------------------- | -| `AssetsHandler` | `handlers/asset` | Assets API surface | -| `AssetMetadataService` | `services/asset-metadata` | Resolve CAIP-19 asset metadata | -| `PriceService` | `services/price` | Conversions, market data, historical prices | - -## Request / response - -Asset methods follow the MetaMask **Snap Assets API** ([SIP-29](https://metamask.github.io/SIPs/SIPS/sip-29)): - -- [Entry points](https://docs.metamask.io/snaps/reference/entry-points/) (`onAssetsLookup`, `onAssetsConversion`, `onAssetsMarketData`, `onAssetHistoricalPrice`) - -This Snap implements those handlers in `index.ts` and delegates to `AssetsHandler`. Lookup is restricted to Stellar asset ids. - -## Methods - -| Method | What it does | Data source | -| ------------------------ | --------------------------------------------------- | -------------------------------------------------------------------------------- | -| `onAssetsLookup` | Metadata for requested CAIP-19 asset ids | **Snap state** catalog via `AssetMetadataService` (fetch + persist when missing) | -| `onAssetsConversion` | Conversion rates for requested asset pairs | **Price API** via `PriceService` (cached) | -| `onAssetsMarketData` | Market data for requested assets | **Price API** via `PriceService` (cached) | -| `onAssetHistoricalPrice` | Historical price intervals for a `from` → `to` pair | **Price API** via `PriceService` (cached) | diff --git a/merged-packages/stellar-wallet-snap/docs/use-cases/client-request/changeTrustOpt.md b/merged-packages/stellar-wallet-snap/docs/use-cases/client-request/changeTrustOpt.md deleted file mode 100644 index f43277fe8..000000000 --- a/merged-packages/stellar-wallet-snap/docs/use-cases/client-request/changeTrustOpt.md +++ /dev/null @@ -1,100 +0,0 @@ -# Use case: `changeTrustOpt` - -Add or remove a classic Stellar trustline for an asset on a managed account. - -| | | -| ----------- | --------------------------------------------------------------------------------------------------- | -| **Entry** | `onClientRequest` → `ClientRequestHandler` → `ChangeTrustOptHandler` | -| **Method** | `changeTrustOpt` (`ClientRequestMethod.ChangeTrustOpt`) | -| **Actions** | `add` (opt-in) · `delete` (opt-out, limit forced to `0`) | -| **Source** | [`handlers/clientRequest/changeTrustOpt.ts`](../../../src/handlers/clientRequest/changeTrustOpt.ts) | - -## Request / response (shape) - -**Request params** - -- `accountId` — keyring account UUID -- `assetId` — CAIP-19 classic asset -- `scope` — CAIP-2 chain ID -- `action` — `"add"` `"delete"` -- `limit` — optional; only for `"add"` (nonzero Stellar amount) - -**Response** - -- `{ status: true, transactionId }` — built, confirmed, signed, and submitted -- `{ status: true }` — opt-in already satisfied (trustline exists with limit > 0), or became redundant while the dialog was open -- `{ status: false }` — account not activated (funding prompt shown; not an RPC error) - -User rejection of the confirmation dialog throws `UserRejectedRequestError`. - -## Participants - -| Component | Path | Role in this flow | -| ----------------------------------- | --------------------------- | -------------------------------------------------------------------- | -| `ClientRequestHandler` | `handlers/clientRequest` | Routes `changeTrustOpt` to the handler | -| `ChangeTrustOptHandler` | `handlers/clientRequest` | Orchestrates the use case | -| `AccountResolver` | `handlers/` | Loads keyring account + wallet + **live** on-chain account (network) | -| `AccountService` | `services/account` | Keyring account lookup (via resolver) | -| `WalletService` / `Wallet` | `services/wallet` | Signing key material + `signTransaction` | -| `OnChainAccountService` | `services/on-chain-account` | Fetch fresh on-chain balances / trustlines | -| `AssetMetadataService` | `services/asset-metadata` | Resolve symbol / metadata for UI | -| `TransactionService` | `services/transaction` | Build + validate change-trust tx; submit; save pending keyring tx | -| `NetworkService` | `services/network` | Base fee (via `TransactionService`) | -| `ConfirmationUXController` | `ui/confirmation` | Opt-in / opt-out confirmation dialog | -| `TransactionScanService` | `services/transaction-scan` | Security scan while dialog is open | -| `RefreshConfirmationContextHandler` | `handlers/cronjob` | Re-validate tx / fees while dialog is open | -| `TrackTransactionHandler` | `handlers/cronjob` | Schedule background status tracking after submit | - -## Step-by-step - -1. **Route** — `onClientRequest` dispatches to `ChangeTrustOptHandler`. -2. **Resolve** — `AccountResolver` loads keyring account, wallet, and activated on-chain account from the **live network**. Unfunded accounts show the activation prompt and return `{ status: false }`. -3. **Short-circuit** — If `add` and a trustline with limit > 0 already exists → `{ status: true }`. If `delete` and no trustline → `TrustlineNotFoundException`. -4. **Build** — Resolve asset metadata; `TransactionService.createValidatedChangeTrustTransaction` builds a change-trust op (`delete` forces limit `"0"`). -5. **Confirm** — `ConfirmationUXController` shows opt-in or opt-out UI (fee, security scan, local re-validation cron while open). -6. **Refresh** — After confirm, account is resolved again from the live network; fee must not exceed what the user approved; redundant opt-in returns `{ status: true }` without submit. -7. **Sign & send** — `Wallet.signTransaction` → `TransactionService.sendTransaction`. -8. **Post-submit** — Persist pending keyring tx (`ChangeTrustOptIn` / `ChangeTrustOptOut`) and schedule `TrackTransactionHandler`. - -## Sequence (happy path) - -```mermaid -sequenceDiagram - participant Client - participant Handler as ChangeTrustOptHandler - participant Resolver as AccountResolver - participant Meta as AssetMetadataService - participant Tx as TransactionService - participant UI as ConfirmationUXController - participant Refresh as RefreshConfirmationContextHandler - participant Scan as TransactionScanService - participant Wallet - participant Track as TrackTransactionHandler - - Client->>Handler: changeTrustOpt (add | delete) - Handler->>Resolver: resolve activated account (live on-chain) - Resolver-->>Handler: account, wallet, onChainAccount - Handler->>Handler: trustline needed? - Handler->>Meta: resolve(assetId) - Handler->>Tx: createValidatedChangeTrustTransaction - Tx-->>Handler: Transaction - Handler->>UI: renderConfirmationDialog - UI->>Refresh: schedule background refresh - - loop While dialog open (until Client confirms / rejects) - Refresh->>Resolver: resolve on-chain account (live balances / trustlines) - Refresh->>Tx: rebuild & re-validate change-trust tx - Refresh->>Scan: security scan (refreshed envelope) - Refresh->>UI: update confirmation context - end - - Client-->>UI: confirm - UI-->>Handler: confirmed - Handler->>Resolver: resolve again (live on-chain) - Handler->>Tx: createValidatedChangeTrustTransaction - Handler->>Wallet: signTransaction - Handler->>Tx: sendTransaction - Handler->>Tx: savePendingKeyringTransactionSafe - Handler->>Track: scheduleBackgroundEvent - Handler-->>Client: { status: true, transactionId } -``` diff --git a/merged-packages/stellar-wallet-snap/docs/use-cases/client-request/computeFee.md b/merged-packages/stellar-wallet-snap/docs/use-cases/client-request/computeFee.md deleted file mode 100644 index 69a2ed9c1..000000000 --- a/merged-packages/stellar-wallet-snap/docs/use-cases/client-request/computeFee.md +++ /dev/null @@ -1,68 +0,0 @@ -# Use case: `computeFee` - -Quotes fees for a swap / bridge envelope from MetaMask CrossChain API (same validation path as `signAndSendTransaction`). - -| | | -| ------------------------ | ------------------------------------------------------------------------------------------- | -| **Entry** | `onClientRequest` → `ClientRequestHandler` → `ComputeFeeHandler` | -| **Method** | `computeFee` (`ClientRequestMethod.ComputeFee`) | -| **Source** | [`handlers/clientRequest/computeFee.ts`](../../../src/handlers/clientRequest/computeFee.ts) | -| **Transaction pipeline** | [Swap / bridge from XDR](../../misc/transaction/send-swap.md) | - -## Client workflow - -1. After the user selects a quote, obtain the unsigned XDR from MetaMask CrossChain API. -2. Call **`computeFee`** with that XDR and `scope` so the user can review fees. -3. After approval in the client UI, call **`signAndSendTransaction`** with the **same** `transaction` XDR and `scope`. - -## Request / response (shape) - -**Request params** - -- `accountId` — keyring account UUID -- `scope` — CAIP-2 chain ID -- `transaction` — Base64-encoded swap / bridge XDR -- `options` — optional (`visible`, `type`, `feeLimit`) - -**Response** - -- Array of fee entries: `[{ type: FeeType.Base, asset: { unit, type, amount, fungible } }]` -- On insufficient native balance / fee coverage, still returns a fee entry using the **required** amount (so the client can surface the shortfall) - -No confirmation dialog; nothing is signed or submitted. - -## Participants - -| Component | Path | Role in this flow | -| ----------------------- | --------------------------- | -------------------------------------------------------------------- | -| `ClientRequestHandler` | `handlers/clientRequest` | Routes `computeFee` to the handler | -| `ComputeFeeHandler` | `handlers/clientRequest` | Orchestrates fee quoting | -| `AccountResolver` | `handlers/` | Loads keyring account + wallet + **live** on-chain account (network) | -| `AccountService` | `services/account` | Keyring account lookup (via resolver) | -| `OnChainAccountService` | `services/on-chain-account` | Balances for validation / simulation | -| `TransactionService` | `services/transaction` | Decode, validate, simulate swap XDR; read `totalFee` | -| `NetworkService` | `services/network` | Fees / simulation network reads (via `TransactionService`) | - -## Step-by-step - -1. **Route** — `onClientRequest` dispatches to `ComputeFeeHandler`. -2. **Resolve** — `AccountResolver` loads keyring account, wallet, and activated on-chain account from the **live network**. -3. **Validate** — `TransactionService.createValidatedSwapTransaction` (same path as sign-and-send, including Soroban simulation when needed). -4. **Return** — Base fee as display amount in native XLM; map balance/fee shortfalls to a required-amount fee entry. - -## Sequence (happy path) - -```mermaid -sequenceDiagram - participant Client - participant Handler as ComputeFeeHandler - participant Resolver as AccountResolver - participant Tx as TransactionService - - Client->>Handler: computeFee { accountId, scope, transaction } - Handler->>Resolver: resolve activated account (live on-chain) - Resolver-->>Handler: account, wallet, onChainAccount - Handler->>Tx: createValidatedSwapTransaction - Tx-->>Handler: Transaction (totalFee) - Handler-->>Client: [{ type: Base, asset: XLM fee }] -``` diff --git a/merged-packages/stellar-wallet-snap/docs/use-cases/client-request/confirmSend.md b/merged-packages/stellar-wallet-snap/docs/use-cases/client-request/confirmSend.md deleted file mode 100644 index 26a1010a0..000000000 --- a/merged-packages/stellar-wallet-snap/docs/use-cases/client-request/confirmSend.md +++ /dev/null @@ -1,96 +0,0 @@ -# Use case: `confirmSend` - -Confirms and submits a send for Unified Non-EVM Send (live on-chain data at build and submit time). - -| | | -| ------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| **Entry** | `onClientRequest` → `ClientRequestHandler` → `ConfirmSendHandler` | -| **Method** | `confirmSend` (`ClientRequestMethod.ConfirmSend`) | -| **Source** | [`handlers/clientRequest/confirmSend.ts`](../../../src/handlers/clientRequest/confirmSend.ts) | -| **Transaction pipeline** | [SEP-41](../../misc/transaction/send-sep41.md) · [classic](../../misc/transaction/send-classic-trustline.md) · [native](../../misc/transaction/send-native.md) | - -## Request / response (shape) - -**Request params** - -- `fromAccountId` — keyring account UUID (coerced to `accountId` internally) -- `toAddress` — Stellar destination -- `assetId` — CAIP-19 classic / SEP-41 / slip44 (`scope` derived from `assetId`) -- `amount` — human-readable amount string - -**Response** - -- `{ valid: true, errors: [], transactionId }` — confirmed, signed, and submitted -- `{ valid: false, errors: [{ code }] }` — `Invalid` · `InsufficientBalance` · `InsufficientBalanceToCoverFee` - -User rejection of the confirmation dialog throws `UserRejectedRequestError`. Unactivated accounts return `{ valid: false, errors: [{ code: "Invalid" }] }` (no activation prompt). - -## Participants - -| Component | Path | Role in this flow | -| ----------------------------------- | --------------------------- | ---------------------------------------------------------- | -| `ClientRequestHandler` | `handlers/clientRequest` | Routes `confirmSend` to the handler | -| `ConfirmSendHandler` | `handlers/clientRequest` | Orchestrates the use case | -| `AccountResolver` | `handlers/` | Loads keyring account + wallet + **live** on-chain account | -| `AccountService` | `services/account` | Keyring account lookup (via resolver) | -| `WalletService` / `Wallet` | `services/wallet` | Signing key material + `signTransaction` | -| `OnChainAccountService` | `services/on-chain-account` | Fresh balances / sequence | -| `AssetMetadataService` | `services/asset-metadata` | Decimals, symbol, metadata for UI | -| `TransactionService` | `services/transaction` | Build + validate send; submit; save pending keyring tx | -| `NetworkService` | `services/network` | Base fee / network reads (via `TransactionService`) | -| `ConfirmationUXController` | `ui/confirmation` | Send confirmation dialog | -| `TransactionScanService` | `services/transaction-scan` | Security scan while dialog is open | -| `RefreshConfirmationContextHandler` | `handlers/cronjob` | Refresh balances, tx, and scan while dialog is open | -| `TrackTransactionHandler` | `handlers/cronjob` | Schedule background status tracking after submit | - -## Step-by-step - -1. **Route** — `onClientRequest` dispatches to `ConfirmSendHandler`. -2. **Resolve** — `AccountResolver` loads keyring account, wallet, and activated on-chain account from the **live network**. -3. **Build** — Resolve asset metadata; convert amount; `TransactionService.createValidatedSendTransaction`. -4. **Confirm** — `ConfirmationUXController` shows send UI (fee, estimated changes, security scan, local re-validation cron while open). -5. **Refresh** — After confirm, account is resolved again from the live network; fee must not exceed what the user approved. -6. **Sign & send** — `Wallet.signTransaction` → `TransactionService.sendTransaction`. -7. **Post-submit** — Persist pending keyring tx (`Send`) and schedule `TrackTransactionHandler` for sender + destination. - -## Sequence (happy path) - -```mermaid -sequenceDiagram - participant Client - participant Handler as ConfirmSendHandler - participant Resolver as AccountResolver - participant Meta as AssetMetadataService - participant Tx as TransactionService - participant UI as ConfirmationUXController - participant Refresh as RefreshConfirmationContextHandler - participant Scan as TransactionScanService - participant Wallet - participant Track as TrackTransactionHandler - - Client->>Handler: confirmSend { fromAccountId, toAddress, assetId, amount } - Handler->>Resolver: resolve activated account (live on-chain) - Resolver-->>Handler: account, wallet, onChainAccount - Handler->>Meta: resolve(assetId) - Handler->>Tx: createValidatedSendTransaction - Tx-->>Handler: Transaction - Handler->>UI: renderConfirmationDialog - UI->>Refresh: schedule background refresh - - loop While dialog open (until Client confirms / rejects) - Refresh->>Resolver: resolve on-chain account (live balances) - Refresh->>Tx: rebuild & re-validate send tx - Refresh->>Scan: security scan (refreshed envelope) - Refresh->>UI: update confirmation context - end - - Client-->>UI: confirm - UI-->>Handler: confirmed - Handler->>Resolver: resolve again (live on-chain) - Handler->>Tx: createValidatedSendTransaction - Handler->>Wallet: signTransaction - Handler->>Tx: sendTransaction - Handler->>Tx: savePendingKeyringTransactionSafe - Handler->>Track: scheduleBackgroundEvent - Handler-->>Client: { valid: true, errors: [], transactionId } -``` diff --git a/merged-packages/stellar-wallet-snap/docs/use-cases/client-request/onAddressInput.md b/merged-packages/stellar-wallet-snap/docs/use-cases/client-request/onAddressInput.md deleted file mode 100644 index 8b55cf952..000000000 --- a/merged-packages/stellar-wallet-snap/docs/use-cases/client-request/onAddressInput.md +++ /dev/null @@ -1,47 +0,0 @@ -# Use case: `onAddressInput` - -Validates a Stellar destination address for Unified Non-EVM Send (as the user types). - -| | | -| ---------- | --------------------------------------------------------------------------------------------------- | -| **Entry** | `onClientRequest` → `ClientRequestHandler` → `OnAddressInputHandler` | -| **Method** | `onAddressInput` (`ClientRequestMethod.OnAddressInput`) | -| **Source** | [`handlers/clientRequest/onAddressInput.ts`](../../../src/handlers/clientRequest/onAddressInput.ts) | - -## Request / response (shape) - -**Request params** - -- `value` — Stellar address string to validate - -**Response** - -- `{ valid: true, errors: [] }` — address is a valid Stellar address -- `{ valid: false, errors: [{ code: "Invalid" }] }` — validation failed - -No account resolution, confirmation UI, or network calls. - -## Participants - -| Component | Path | Role in this flow | -| ----------------------- | ------------------------ | -------------------------------------- | -| `ClientRequestHandler` | `handlers/clientRequest` | Routes `onAddressInput` to the handler | -| `OnAddressInputHandler` | `handlers/clientRequest` | Validates params via Superstruct | - -## Step-by-step - -1. **Route** — `onClientRequest` dispatches to `OnAddressInputHandler`. -2. **Validate** — Request is checked against `OnAddressInputJsonRpcRequestStruct` (`value` must be a Stellar address). -3. **Return** — `{ valid: true }` on success, or `{ valid: false, errors: [{ code: "Invalid" }] }` when params fail. - -## Sequence (happy path) - -```mermaid -sequenceDiagram - participant Client - participant Handler as OnAddressInputHandler - - Client->>Handler: onAddressInput { value } - Handler->>Handler: validate Stellar address - Handler-->>Client: { valid: true, errors: [] } -``` diff --git a/merged-packages/stellar-wallet-snap/docs/use-cases/client-request/onAmountInput.md b/merged-packages/stellar-wallet-snap/docs/use-cases/client-request/onAmountInput.md deleted file mode 100644 index eb3a757cc..000000000 --- a/merged-packages/stellar-wallet-snap/docs/use-cases/client-request/onAmountInput.md +++ /dev/null @@ -1,77 +0,0 @@ -# Use case: `onAmountInput` - -Preflight-validates a send amount while the user types (balance and fee checks only; nothing is signed or submitted). - -| | | -| ------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| **Entry** | `onClientRequest` → `ClientRequestHandler` → `OnAmountInputHandler` | -| **Method** | `onAmountInput` (`ClientRequestMethod.OnAmountInput`) | -| **Source** | [`handlers/clientRequest/onAmountInput.ts`](../../../src/handlers/clientRequest/onAmountInput.ts) | -| **Transaction pipeline** | [SEP-41](../../misc/transaction/send-sep41.md) · [classic](../../misc/transaction/send-classic-trustline.md) · [native](../../misc/transaction/send-native.md) | - -## Request / response (shape) - -**Request params** - -- `accountId` — keyring account UUID -- `assetId` — CAIP-19 classic / SEP-41 / slip44 asset (`scope` is derived from `assetId`) -- `value` — positive amount string (human-readable units) -- `to` — optional Stellar destination; omitted → self-transfer validation - -**Response** - -- `{ valid: true, errors: [] }` — amount can fund a send (incl. fee) -- `{ valid: false, errors: [{ code }] }` — `Invalid` · `InsufficientBalance` · `InsufficientBalanceToCoverFee` - -Unactivated accounts return `{ valid: false, errors: [{ code: "Invalid" }] }` (no activation prompt). - -## Participants - -| Component | Path | Role in this flow | -| ----------------------- | --------------------------- | --------------------------------------------------------- | -| `ClientRequestHandler` | `handlers/clientRequest` | Routes `onAmountInput` to the handler | -| `OnAmountInputHandler` | `handlers/clientRequest` | Orchestrates preflight validation | -| `AccountResolver` | `handlers/` | Loads account + wallet + on-chain snapshot from **state** | -| `AccountService` | `services/account` | Keyring account lookup (via resolver) | -| `OnChainAccountService` | `services/on-chain-account` | Persisted on-chain balances (via resolver) | -| `AssetMetadataService` | `services/asset-metadata` | Decimals for amount conversion | -| `TransactionService` | `services/transaction` | Build + validate send tx (`useCache: true`) | - -## Step-by-step - -1. **Route** — `onClientRequest` dispatches to `OnAmountInputHandler`. -2. **Resolve** — `AccountResolver` loads keyring account, wallet, and on-chain account from snap state. -3. **Convert** — Resolve asset metadata; convert `value` to smallest units; reject if sub-unit decimals remain. -4. **Preflight** — `TransactionService.createValidatedSendTransaction` with cached network reads (destination defaults to sender). -5. **Return** — Structured validation result; expected balance/fee failures are returned as error codes (not thrown). - -## Note: cache usage - -`onAmountInput` is the **only** client send path that passes `useCache: true`. Real send/submit (`confirmSend`) always uses `useCache: false` (fresh destination load + fresh SEP-41 simulation). - -For **SEP-41**, that preflight cache matters most: - -- Fee estimation needs an on-chain **simulation**. Without caching, every keystroke would hit RPC. -- Simulation is reused and keyed by **asset, sender, recipient, and scope** — **not** by amount. Cached XDR may carry a **stale amount or sequence** — never sign it. -- Balance is still checked **locally** before simulation, so insufficient funds fail fast. - -Classic / native preflight still uses `useCache: true` for destination-account / network reads so typing stays responsive; submit paths do not. - -## Sequence (happy path) - -```mermaid -sequenceDiagram - participant Client - participant Handler as OnAmountInputHandler - participant Resolver as AccountResolver - participant Meta as AssetMetadataService - participant Tx as TransactionService - - Client->>Handler: onAmountInput { accountId, assetId, value, to? } - Handler->>Resolver: resolve from keyring state - Resolver-->>Handler: account, wallet, onChainAccount - Handler->>Meta: resolve(assetId) - Handler->>Tx: createValidatedSendTransaction (useCache) - Tx-->>Handler: ok - Handler-->>Client: { valid: true, errors: [] } -``` diff --git a/merged-packages/stellar-wallet-snap/docs/use-cases/client-request/signAndSendTransaction.md b/merged-packages/stellar-wallet-snap/docs/use-cases/client-request/signAndSendTransaction.md deleted file mode 100644 index e7abcd6e3..000000000 --- a/merged-packages/stellar-wallet-snap/docs/use-cases/client-request/signAndSendTransaction.md +++ /dev/null @@ -1,81 +0,0 @@ -# Use case: `signAndSendTransaction` - -Signs and submits a swap / bridge envelope previously quoted via `computeFee`. **No Snap confirmation dialog** — the caller must obtain user consent first. - -| | | -| ------------------------ | ------------------------------------------------------------------------------------------------------------------- | -| **Entry** | `onClientRequest` → `ClientRequestHandler` → `SignAndSendTransactionHandler` | -| **Method** | `signAndSendTransaction` (`ClientRequestMethod.SignAndSendTransaction`) | -| **Source** | [`handlers/clientRequest/signAndSendTransaction.ts`](../../../src/handlers/clientRequest/signAndSendTransaction.ts) | -| **Transaction pipeline** | [Swap / bridge from XDR](../../misc/transaction/send-swap.md) | - -## Client workflow - -1. Quote fees with **`computeFee`** using the CrossChain API XDR. -2. Obtain explicit user approval in the **client** UI. -3. Call **`signAndSendTransaction`** with the **same** `transaction` XDR, `scope`, and swap asset options. - -## Request / response (shape) - -**Request params** - -- `accountId` — keyring account UUID -- `scope` — CAIP-2 chain ID -- `transaction` — Base64-encoded swap / bridge XDR (same as `computeFee`) -- `options.sourceAssetId` — Stellar source asset (CAIP-19 / slip44) -- `options.destAssetId` — destination asset (CAIP-19; may be another chain for bridges) -- `options.visible` / `options.type` — optional - -**Response** - -- `{ transactionId }` — submitted transaction hash - -## Security note - -This handler does **not** show a Snap confirmation. The client is responsible for displaying details and obtaining approval before calling. Signing without caller-side consent is a critical vulnerability. - -## Participants - -| Component | Path | Role in this flow | -| ------------------------------- | --------------------------- | -------------------------------------------------------------------- | -| `ClientRequestHandler` | `handlers/clientRequest` | Routes `signAndSendTransaction` to the handler | -| `SignAndSendTransactionHandler` | `handlers/clientRequest` | Orchestrates validate → sign → submit | -| `AccountResolver` | `handlers/` | Loads keyring account + wallet + **live** on-chain account (network) | -| `AccountService` | `services/account` | Keyring account lookup (via resolver) | -| `WalletService` / `Wallet` | `services/wallet` | `signTransaction` | -| `OnChainAccountService` | `services/on-chain-account` | Balances / sequence for validation | -| `AssetMetadataService` | `services/asset-metadata` | Same-chain swap asset labels for pending tx | -| `TransactionService` | `services/transaction` | Validate swap XDR; submit; save pending keyring tx | -| `TrackTransactionHandler` | `handlers/cronjob` | Schedule background status tracking after submit | - -## Step-by-step - -1. **Route** — `onClientRequest` dispatches to `SignAndSendTransactionHandler`. -2. **Resolve** — `AccountResolver` loads keyring account, wallet, and activated on-chain account from the **live network**. -3. **Validate** — `TransactionService.createValidatedSwapTransaction` on the XDR. -4. **Sign & send** — `Wallet.signTransaction` → `TransactionService.sendTransaction`. -5. **Post-submit** — Persist pending keyring tx (`Swap` for same-chain, `BridgeSend` for cross-chain) and schedule `TrackTransactionHandler`. - -## Sequence (happy path) - -```mermaid -sequenceDiagram - participant Client - participant Handler as SignAndSendTransactionHandler - participant Resolver as AccountResolver - participant Tx as TransactionService - participant Wallet - participant Track as TrackTransactionHandler - - Note over Client: User already approved in client UI - Client->>Handler: signAndSendTransaction { accountId, scope, transaction, options } - Handler->>Resolver: resolve activated account (live on-chain) - Resolver-->>Handler: account, wallet, onChainAccount - Handler->>Tx: createValidatedSwapTransaction - Tx-->>Handler: Transaction - Handler->>Wallet: signTransaction - Handler->>Tx: sendTransaction - Handler->>Tx: savePendingKeyringTransactionSafe (Swap | BridgeSend) - Handler->>Track: scheduleBackgroundEvent - Handler-->>Client: { transactionId } -``` diff --git a/merged-packages/stellar-wallet-snap/docs/use-cases/cron-job/cronjob.md b/merged-packages/stellar-wallet-snap/docs/use-cases/cron-job/cronjob.md deleted file mode 100644 index 2cdf221c7..000000000 --- a/merged-packages/stellar-wallet-snap/docs/use-cases/cron-job/cronjob.md +++ /dev/null @@ -1,44 +0,0 @@ -# Use case: cronjob gate (`CronjobHandler`) - -All background events enter through `onCronjob` → `CronjobHandler`, which **skips work when MetaMask is inactive or the wallet is locked**. - -| | | -| ---------- | ------------------------------------------------------------------------- | -| **Entry** | `onCronjob` → `CronjobHandler` | -| **Source** | [`handlers/cronjob/cronjob.ts`](../../../src/handlers/cronjob/cronjob.ts) | - -## Behavior - -1. Call `getClientStatus()` → `{ active, locked }`. -2. If **`!active` or `locked`** → return immediately (no method dispatch, no side effects). -3. Otherwise validate `request.method` against `BackgroundEventMethod` and route to the matching handler. - -This gate applies to **every** cron method (`trackTransaction`, `synchronizeAccounts`, `synchronizeAssets`, `refreshConfirmationContext`). Individual handlers do not re-check lock state. - -## Cronjob handlers - -| Cronjob handlers | Doc | -| ---------------------------- | ---------------------------------------------------------------- | -| `trackTransaction` | [trackTransaction.md](./trackTransaction.md) | -| `synchronizeAccounts` | [syncAccounts.md](./syncAccounts.md) | -| `synchronizeAssets` | [syncAssets.md](./syncAssets.md) | -| `refreshConfirmationContext` | [refreshConfirmationContext.md](./refreshConfirmationContext.md) | - -## Sequence - -```mermaid -sequenceDiagram - participant Snap as onCronjob - participant Cron as CronjobHandler - participant Status as getClientStatus - participant Method as Cronjob handler - - Snap->>Cron: background event request - Cron->>Status: active? locked? - alt not active or locked - Status-->>Cron: skip - Cron-->>Snap: return (no-op) - else unlocked and active - Cron->>Method: handle(request) - end -``` diff --git a/merged-packages/stellar-wallet-snap/docs/use-cases/cron-job/refreshConfirmationContext.md b/merged-packages/stellar-wallet-snap/docs/use-cases/cron-job/refreshConfirmationContext.md deleted file mode 100644 index 92a66ad30..000000000 --- a/merged-packages/stellar-wallet-snap/docs/use-cases/cron-job/refreshConfirmationContext.md +++ /dev/null @@ -1,86 +0,0 @@ -# Use case: `refreshConfirmationContext` - -While a confirmation dialog is open, periodically refresh prices, security scan, and/or rebuild the pending transaction against live on-chain state. - -| | | -| ---------- | ----------------------------------------------------------------------------------------------------------- | -| **Entry** | `onCronjob` → `CronjobHandler` → `RefreshConfirmationContextHandler` | -| **Method** | `refreshConfirmationContext` (`BackgroundEventMethod.RefreshConfirmationContext`) | -| **Source** | [`handlers/cronjob/refreshConfirmationContext/`](../../../src/handlers/cronjob/refreshConfirmationContext/) | -| **Gate** | Skipped when wallet locked / inactive — see [cronjob.md](./cronjob.md) | - -Scheduled by `ConfirmationUXController` when a dialog opens with pricing, security scanning, and/or local simulation enabled (e.g. [`confirmSend`](../client-request/confirmSend.md), [`changeTrustOpt`](../client-request/changeTrustOpt.md)). - -## Request params - -- `interfaceId` — Snap UI interface id -- `interfaceKey` — which confirmation view -- `scope` — CAIP-2 chain ID -- `refresherKeys` — which slices to run this cycle: `Prices` · `Scan` · `Transaction` - -## Participants - -| Component | Path | Role | -| ----------------------------------- | ------------------------------------------- | ----------------------------------------------------- | -| `RefreshConfirmationContextHandler` | `handlers/cronjob` | Orchestrate refreshers, re-render, reschedule | -| `ConfirmationPriceRefresher` | `handlers/cronjob/.../priceRefresher` | Spot prices via `PriceService` | -| `ConfirmationScanRefresher` | `handlers/cronjob/.../scanRefresher` | Blockaid / security scan via `TransactionScanService` | -| `ConfirmationTransactionRefresher` | `handlers/cronjob/.../transactionRefresher` | Rebuild + re-validate pending tx (live account) | -| `ConfirmationUXController` | `ui/confirmation` | Apply patched context to the open dialog | - -## Refreshers - -### Prices - -Fetches / updates token spot prices shown on the confirmation (fee asset, send asset, etc.). Requests reschedule while pricing is still needed and not in a terminal error state. - -### Security scan - -Runs (or refreshes) the remote security scan on the current transaction envelope in context. Uses the **latest** envelope when the transaction refresher has already patched it this cycle. - -### Transaction rebuild - -Runs **first** when enabled: - -1. Resolve live on-chain account. -2. Rebuild the pending send / change-trust envelope (fresh fee, sequence, time bounds). -3. Re-validate locally; update fee / validation status in context. -4. Write the rebuilt XDR into the security-scan request so the scan refresher does not scan a stale snapshot. - -## Step-by-step (one cycle) - -1. Resolve enabled refreshers from `refresherKeys`. -2. Load interface context; if the dialog was dismissed → stop (no reschedule). -3. Run **transaction** refresher alone (if selected), merge its patch. -4. Run **prices** and **scan** in parallel on the updated context. -5. Merge patches → `ConfirmationUXController.updateConfirmation`. -6. If any refresher asks to **reschedule** → schedule the next `refreshConfirmationContext` event. - -## Sequence - -```mermaid -sequenceDiagram - participant Cron as RefreshConfirmationContextHandler - participant TxR as Transaction refresher - participant Price as Price refresher - participant Scan as Scan refresher - participant UI as ConfirmationUXController - - Cron->>Cron: load interface context - alt dialog gone - Cron-->>Cron: stop - else still open - opt Transaction in refresherKeys - Cron->>TxR: rebuild + validate (live) - TxR-->>Cron: patch (xdr, fee, status) - end - par - Cron->>Price: refresh spot prices - Cron->>Scan: security scan (latest xdr) - end - Cron->>UI: updateConfirmation - opt any reschedule - Cron->>Cron: schedule next cycle - end - end -``` diff --git a/merged-packages/stellar-wallet-snap/docs/use-cases/cron-job/syncAccounts.md b/merged-packages/stellar-wallet-snap/docs/use-cases/cron-job/syncAccounts.md deleted file mode 100644 index 93d3aa874..000000000 --- a/merged-packages/stellar-wallet-snap/docs/use-cases/cron-job/syncAccounts.md +++ /dev/null @@ -1,47 +0,0 @@ -# Use case: `synchronizeAccounts` - -Periodically (or on demand) refresh on-chain account state and transaction history for keyring accounts. - -| | | -| ------------------- | ----------------------------------------------------------------------------------- | -| **Entry** | `onCronjob` → `CronjobHandler` → `SyncAccountsHandler` | -| **Method** | `synchronizeAccounts` (`BackgroundEventMethod.SynchronizeAccounts`) | -| **Source** | [`handlers/cronjob/syncAccounts.ts`](../../../src/handlers/cronjob/syncAccounts.ts) | -| **Synchronization** | [synchronization](../../misc/synchronization/synchronization.md) | -| **Gate** | Skipped when wallet locked / inactive — see [cronjob.md](./cronjob.md) | - -Also schedulable via `SyncAccountsHandler.scheduleBackgroundEvent` (e.g. after account changes). Declarative cron may omit params → treat as **selected** accounts. - -## Request params - -- `accountIds` — optional - - omitted / `'selected'` → all **selected** keyring accounts - - UUID array → those account ids only - -Scope comes from `AppConfig.selectedNetwork`. - -## Participants - -| Component | Path | Role | -| --------------------- | ------------------ | ---------------------------------------------------------- | -| `SyncAccountsHandler` | `handlers/cronjob` | Resolve which accounts to sync | -| `AccountService` | `services/account` | `getAllSelected` / `findByIds` | -| `SynchronizeService` | `services/sync` | Sync balances, trustlines, transactions for those accounts | - -## Step-by-step - -1. Resolve account list (`selected` vs explicit ids). -2. `SynchronizeService.synchronize(accounts, { scope })` — updates on-chain snapshots and related history for the configured network. - -## Sequence - -```mermaid -sequenceDiagram - participant Cron as SyncAccountsHandler - participant Acc as AccountService - participant Sync as SynchronizeService - - Cron->>Acc: getAllSelected() or findByIds(...) - Acc-->>Cron: accounts - Cron->>Sync: synchronize(accounts, selectedNetwork) -``` diff --git a/merged-packages/stellar-wallet-snap/docs/use-cases/cron-job/syncAssets.md b/merged-packages/stellar-wallet-snap/docs/use-cases/cron-job/syncAssets.md deleted file mode 100644 index 9f6be3b65..000000000 --- a/merged-packages/stellar-wallet-snap/docs/use-cases/cron-job/syncAssets.md +++ /dev/null @@ -1,40 +0,0 @@ -# Use case: `synchronizeAssets` - -Refresh the Snap’s asset metadata catalog from the token API (mainnet only). - -| | | -| ------------------- | ------------------------------------------------------------------------------- | -| **Entry** | `onCronjob` → `CronjobHandler` → `SyncAssetsHandler` | -| **Method** | `synchronizeAssets` (`BackgroundEventMethod.SynchronizeAssets`) | -| **Source** | [`handlers/cronjob/syncAssets.ts`](../../../src/handlers/cronjob/syncAssets.ts) | -| **Synchronization** | [synchronization](../../misc/synchronization/synchronization.md) | -| **Gate** | Skipped when wallet locked / inactive — see [cronjob.md](./cronjob.md) | - -Declarative cron in `snap.manifest.json` (no params required). - -## Participants - -| Component | Path | Role | -| ---------------------- | ------------------------- | ---------------------------- | -| `SyncAssetsHandler` | `handlers/cronjob` | Cron entry | -| `SynchronizeService` | `services/sync` | `synchronizeAssets(scope)` | -| `AssetMetadataService` | `services/asset-metadata` | Pull / persist asset catalog | - -## Step-by-step - -1. Always use **mainnet** scope (`KnownCaip2ChainId.Mainnet`) — asset metadata is only available there, regardless of the user’s selected network. -2. `SynchronizeService.synchronizeAssets` → `AssetMetadataService.synchronize`. -3. Failures are logged / tracked; the cron does not throw through to fail the whole Snap lifecycle aggressively. - -## Sequence - -```mermaid -sequenceDiagram - participant Cron as SyncAssetsHandler - participant Sync as SynchronizeService - participant Meta as AssetMetadataService - - Cron->>Sync: synchronizeAssets(mainnet) - Sync->>Meta: synchronize(mainnet) - Meta-->>Sync: catalog updated -``` diff --git a/merged-packages/stellar-wallet-snap/docs/use-cases/cron-job/trackTransaction.md b/merged-packages/stellar-wallet-snap/docs/use-cases/cron-job/trackTransaction.md deleted file mode 100644 index 2706bb10b..000000000 --- a/merged-packages/stellar-wallet-snap/docs/use-cases/cron-job/trackTransaction.md +++ /dev/null @@ -1,72 +0,0 @@ -# Use case: `trackTransaction` - -After a tx is submitted, keep polling Horizon until it shows up, then refresh the affected accounts’ balances / history. - -| | | -| ------------------- | ------------------------------------------------------------------------------------------- | -| **Entry** | `onCronjob` → `CronjobHandler` → `TrackTransactionHandler` | -| **Method** | `trackTransaction` (`BackgroundEventMethod.TrackTransaction`) | -| **Source** | [`handlers/cronjob/trackTransaction.ts`](../../../src/handlers/cronjob/trackTransaction.ts) | -| **Synchronization** | [synchronization](../../misc/synchronization/synchronization.md) | -| **Gate** | Skipped when wallet locked / inactive — see [cronjob.md](./cronjob.md) | - -Scheduled right after submit by [`confirmSend`](../client-request/confirmSend.md), [`changeTrustOpt`](../client-request/changeTrustOpt.md), [`signAndSendTransaction`](../client-request/signAndSendTransaction.md). - -## Request params - -- `txId` — Stellar transaction hash -- `scope` — CAIP-2 chain ID -- `accountIdsOrAddresses` — `[senderAccountUuid]` or `[senderAccountUuid, receiverAddress]` -- `attempt` — optional reschedule counter (default `0`) - -## What Horizon returns - -| Outcome | Meaning | -| ------------------- | ------------------------------------------------- | -| **404 / not found** | Not indexed yet (or unknown hash) | -| **Found + success** | On-chain succeeded → keyring status **Confirmed** | -| **Found + fail** | On-chain failed → keyring status **Failed** | - -Both found outcomes are **terminal** — settlement is done; sync accounts. - -## Participants - -| Component | Path | Role | -| ------------------------- | ------------------ | --------------------------------------------------- | -| `TrackTransactionHandler` | `handlers/cronjob` | Poll Horizon, reschedule, sync on settle | -| `NetworkService` | `services/network` | `getTransaction` from Horizon | -| `AccountService` | `services/account` | Resolve sender / optional receiver keyring accounts | -| `SynchronizeService` | `services/sync` | Refresh balances / history after settle | - -## Step-by-step - -1. Ask Horizon for `txId`. -2. **404 / not found** or **network error**: - - If `attempt < trackTransactionMaxReschedules` → reschedule another poll (~2s, `attempt++`). - - If **max attempts reached** → **skip** (stop tracking this tx; no further reschedule). Periodic `synchronizeAccounts` may still pick it up later. -3. **Found (confirmed or failed)** → load sender (and receiver if it is in the keyring) → `SynchronizeService.synchronize`. -4. Any other unexpected error → log / track; skip further tracking for this run. - -## Sequence - -```mermaid -sequenceDiagram - participant Cron as TrackTransactionHandler - participant Net as NetworkService - participant Acc as AccountService - participant Sync as SynchronizeService - - Cron->>Net: getTransaction(txId, scope) - alt 404 / network error - Net-->>Cron: not found / network error - alt attempt < max - Cron->>Cron: reschedule poll (attempt++) - else attempt >= max - Cron->>Cron: Skip — stop tracking - end - else completed - Net-->>Cron: transaction - Cron->>Acc: find sender (+ optional receiver) - Cron->>Sync: synchronize(accounts) - end -``` diff --git a/merged-packages/stellar-wallet-snap/docs/use-cases/keyring/keyring.md b/merged-packages/stellar-wallet-snap/docs/use-cases/keyring/keyring.md deleted file mode 100644 index a2bbd1abd..000000000 --- a/merged-packages/stellar-wallet-snap/docs/use-cases/keyring/keyring.md +++ /dev/null @@ -1,50 +0,0 @@ -# Use case: keyring (`KeyringHandler`) - -Account management and SEP-43 signing entry points via `onKeyringRequest` → `KeyringHandler`. - -| | | -| ---------- | ------------------------------------------------------------------------- | -| **Entry** | `onKeyringRequest` → `KeyringHandler` | -| **Source** | [`handlers/keyring/keyring.ts`](../../../src/handlers/keyring/keyring.ts) | - -## Participants - -| Component | Path | Role | -| ----------------------- | --------------------------- | ----------------------------------------------------------------------- | -| `KeyringHandler` | `handlers/keyring` | Keyring API surface + routing | -| `AccountService` | `services/account` | Persist / derive / select accounts (snap state) | -| `OnChainAccountService` | `services/on-chain-account` | Snap-state snapshots for balances/assets; live activation for discovery | -| `TransactionService` | `services/transaction` | Local pending keyring txs for `listAccountTransactions` | -| `SyncAccountsHandler` | `handlers/cronjob` | Scheduled after selection changes to refresh on-chain snapshots | - -## Request / response - -Account-management methods follow the MetaMask **Keyring API** (request method names `keyring_*`, params, and return types): - -- [Account Management API](https://docs.metamask.io/snaps/reference/keyring-api/account-management/) -- [`@metamask/keyring-api` docs](https://metamask.github.io/keyring-api/latest/) - -This Snap implements the `Keyring` interface; calls arrive via `wallet_invokeKeyring` / `onKeyringRequest` and are dispatched with `handleKeyringRequest`. - -`submitRequest` uses **SEP-43** request/response shapes — see [SEP-43](https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0043.md). - -## Methods - -Requests are origin-checked, then dispatched to the methods below. - -| Method | What it does | Data source | -| ------------------------- | ------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------- | -| `listAccounts` | List all Stellar keyring accounts | **Snap state** (`AccountService`) | -| `getAccount` | Get one account by id | **Snap state** | -| `createAccount` | Derive / create one account; emit `AccountCreated` for new accounts (rollback delete if emit fails) | **Snap state** (HD derive + persist) | -| `createAccounts` | Batch BIP-44 create (single index or range); Snap keyring v2 path — no `AccountCreated` events | **Snap state** (HD derive + persist) | -| `deleteAccount` | Emit `AccountDeleted`, then remove the account | **Snap state** | -| `setSelectedAccounts` | Validate ids exist, then schedule `synchronizeAccounts` for those accounts | | -| `listAccountAssets` | Visible CAIP asset ids; if no snapshot yet, returns native slip44 only | **Snap state** on-chain snapshot (background-synced; not a live Horizon read) | -| `getAccountBalances` | Balances for requested assets; missing / inactive snapshot → native `0` if asked | **Snap state** on-chain snapshot (same as above; can be slightly stale within the sync window) | -| `listAccountTransactions` | Paginated keyring transactions for the account | **Snap state** (pending / local txs via `TransactionService` — **not** Horizon history) | -| `discoverAccounts` | Derive BIP-44 address for index; return it only if activated on any requested scope | Derive locally; activation check is **live on-chain** (`NetworkService.getAccount`) | -| `resolveAccountAddress` | Given an address, return CAIP-10 if this snap owns it; else `null` (MetaMask may fall back) | **Snap state** (keyring account lookup by address) | -| `filterAccountChains` | Not implemented | Throws `MethodNotSupportedError` | -| `updateAccount` | Not implemented | Throws `MethodNotSupportedError` | -| `submitRequest` | [signTransaction.md](./signTransaction.md) · [signMessage.md](./signMessage.md) · [signAuthEntry.md](./signAuthEntry.md) | | diff --git a/merged-packages/stellar-wallet-snap/docs/use-cases/keyring/signAuthEntry.md b/merged-packages/stellar-wallet-snap/docs/use-cases/keyring/signAuthEntry.md deleted file mode 100644 index 572c6d232..000000000 --- a/merged-packages/stellar-wallet-snap/docs/use-cases/keyring/signAuthEntry.md +++ /dev/null @@ -1,58 +0,0 @@ -# Use case: `signAuthEntry` - -SEP-43: confirm and sign a Soroban authorization preimage (`HashIdPreimage` / `envelopeTypeSorobanAuthorization`). - -| | | -| ------------ | ------------------------------------------------------------------------------------- | -| **Entry** | `onKeyringRequest` → `KeyringHandler.submitRequest` → `SignAuthEntryHandler` | -| **Method** | `signAuthEntry` (`MultichainMethod.SignAuthEntry`) | -| **Source** | [`handlers/keyring/signAuthEntry.ts`](../../../src/handlers/keyring/signAuthEntry.ts) | -| **Overview** | [keyring.md](./keyring.md) | - -## Participants - -| Component | Path | Role | -| -------------------------- | ------------------ | ----------------------------- | -| `SignAuthEntryHandler` | `handlers/keyring` | Decode, confirm, sign | -| `AccountResolver` | `handlers/` | Load keyring account + wallet | -| `Wallet` | `services/wallet` | `signAuthEntry` | -| `ConfirmationUXController` | `ui/confirmation` | Sign-auth-entry dialog | - -## Request / response - -Wire format follows **SEP-43** `signAuthEntry` (via keyring `submitRequest`): - -- [SEP-43](https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0043.md) -- Keyring transport: [Account Management API](https://docs.metamask.io/snaps/reference/keyring-api/account-management/) (`keyring_submitRequest`) - -Local validators: [`handlers/keyring/api.ts`](../../../src/handlers/keyring/api.ts) (`SignAuthEntryRequestStruct` / `SignAuthEntryResponseStruct`). - -The dapp supplies a base64 `HashIdPreimage`. The Snap decodes it for the confirmation UI (contract, function, args, nested invocations, nonce, expiry ledger), then on approve signs `sha256(preimage)` with ed25519. Network id is already inside the preimage (mainnet-only validation at the struct layer). - -## Step-by-step - -1. Resolve account + wallet. -2. Decode preimage into a readable auth summary for the UI. -3. Show confirmation. -4. On approve → `wallet.signAuthEntry` → return signature. -5. On reject → SEP-43 error envelope. - -## Sequence - -```mermaid -sequenceDiagram - participant Dapp - participant Handler as SignAuthEntryHandler - participant UI as ConfirmationUXController - participant Wallet - - Dapp->>Handler: signAuthEntry (SEP-43 via keyring submitRequest) - Handler->>Handler: decode Soroban auth preimage - Handler->>UI: confirmation dialog - alt user rejects - Handler-->>Dapp: SEP-43 error envelope - else user confirms - Handler->>Wallet: signAuthEntry - Handler-->>Dapp: SEP-43 success (signedAuthEntry, signerAddress) - end -``` diff --git a/merged-packages/stellar-wallet-snap/docs/use-cases/keyring/signMessage.md b/merged-packages/stellar-wallet-snap/docs/use-cases/keyring/signMessage.md deleted file mode 100644 index 30e15c155..000000000 --- a/merged-packages/stellar-wallet-snap/docs/use-cases/keyring/signMessage.md +++ /dev/null @@ -1,73 +0,0 @@ -# Use case: `signMessage` - -SEP-43: confirm and sign an arbitrary UTF-8 message. - -| | | -| ------------ | --------------------------------------------------------------------------------- | -| **Entry** | `onKeyringRequest` → `KeyringHandler.submitRequest` → `SignMessageHandler` | -| **Method** | `signMessage` (`MultichainMethod.SignMessage`) | -| **Source** | [`handlers/keyring/signMessage.ts`](../../../src/handlers/keyring/signMessage.ts) | -| **Overview** | [keyring.md](./keyring.md) | - -## Participants - -| Component | Path | Role | -| -------------------------- | ------------------ | ----------------------------- | -| `SignMessageHandler` | `handlers/keyring` | Confirm + sign | -| `AccountResolver` | `handlers/` | Load keyring account + wallet | -| `Wallet` | `services/wallet` | `signMessage` | -| `ConfirmationUXController` | `ui/confirmation` | Sign-message dialog | - -## Request / response - -Wire format follows **SEP-43** `signMessage` (via keyring `submitRequest`): - -- [SEP-43](https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0043.md) — keyring method + params/response envelope -- Keyring transport: [Account Management API](https://docs.metamask.io/snaps/reference/keyring-api/account-management/) (`keyring_submitRequest`) - -Local validators: [`handlers/keyring/api.ts`](../../../src/handlers/keyring/api.ts) (`SignMessageRequestStruct` / `SignMessageResponseStruct`). - -This snap accepts **UTF-8 text only** for `message` (non-empty). Base64-encoded binary payloads are not auto-detected. - -## How signing works - -Signing follows the **Stellar Signed Message** protocol ([SEP-0053](https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0053.md)), implemented in [`Wallet.signMessage`](../../../src/services/wallet/Wallet.ts): - -1. **Interpret `message`** — always as UTF-8 text (string → UTF-8 bytes). -2. **Build the payload** — prepend the fixed prefix `Stellar Signed Message:\n`, then append the message bytes. -3. **Hash** — SHA-256 over that byte sequence. -4. **Sign** — Ed25519 sign the digest with the account’s keypair. -5. **Return** — base64-encoded signature as `signedMessage` (SEP-43 response). - -The confirmation UI shows the UTF-8 `message` string as given — the same content that gets signed. - -**References** - -| Spec | Role | -| ----------------------------------------------------------------------------------------- | ------------------------------------------------------------ | -| [SEP-43](https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0043.md) | Keyring `signMessage` request/response wire format | -| [SEP-0053](https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0053.md) | Stellar Signed Message prefix, hash, and signature algorithm | - -## Step-by-step - -1. Resolve keyring account + wallet for the signer. -2. Show confirmation with the UTF-8 message text. -3. On approve → `Wallet.signMessage` (SEP-0053, UTF-8) → return `signedMessage` + `signerAddress`. -4. On reject → SEP-43 error envelope. - -```mermaid -sequenceDiagram - participant Dapp - participant Handler as SignMessageHandler - participant UI as ConfirmationUXController - participant Wallet - - Dapp->>Handler: signMessage (SEP-43 via keyring submitRequest) - Handler->>UI: confirmation dialog (UTF-8 message) - alt user rejects - Handler-->>Dapp: SEP-43 error envelope - else user confirms - Handler->>Wallet: signMessage (SEP-0053, UTF-8) - Handler-->>Dapp: SEP-43 success (signedMessage, signerAddress) - end -``` diff --git a/merged-packages/stellar-wallet-snap/docs/use-cases/keyring/signTransaction.md b/merged-packages/stellar-wallet-snap/docs/use-cases/keyring/signTransaction.md deleted file mode 100644 index 61802589d..000000000 --- a/merged-packages/stellar-wallet-snap/docs/use-cases/keyring/signTransaction.md +++ /dev/null @@ -1,67 +0,0 @@ -# Use case: `signTransaction` - -SEP-43: show a confirmation, then return a **signed** transaction XDR to the dapp. The Snap does **not** change the envelope and does **not** broadcast it. - -| | | -| ------------ | ----------------------------------------------------------------------------------------- | -| **Entry** | `onKeyringRequest` → `KeyringHandler.submitRequest` → `SignTransactionHandler` | -| **Method** | `signTransaction` (`MultichainMethod.SignTransaction`) | -| **Source** | [`handlers/keyring/signTransaction.ts`](../../../src/handlers/keyring/signTransaction.ts) | -| **Overview** | [keyring.md](./keyring.md) | - -## Participants - -| Component | Path | Role | -| -------------------------- | --------------------------- | ------------------------------------------------------ | -| `SignTransactionHandler` | `handlers/keyring` | Decode, confirm, sign | -| `AccountResolver` | `handlers/` | Load keyring account + wallet | -| `Wallet` | `services/wallet` | `signTransaction` | -| `ConfirmationUXController` | `ui/confirmation` | Sign-transaction dialog | -| `TransactionScanService` | `services/transaction-scan` | Security scan + remote simulation while dialog is open | - -## Request / response - -Wire format follows **SEP-43** `signTransaction` (and MetaMask keyring `submitRequest` wrapping): - -- [SEP-43](https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0043.md) -- Keyring transport: [Account Management API](https://docs.metamask.io/snaps/reference/keyring-api/account-management/) (`keyring_submitRequest`) - -Local Superstruct validators live in [`handlers/keyring/api.ts`](../../../src/handlers/keyring/api.ts) (`SignTransactionRequestStruct` / `SignTransactionResponseStruct`). - -## Important notes - -- **No modification** — the Snap does not rebuild, re-fee, or re-simulate the transaction for signing. It decodes the dapp-supplied XDR, checks scope, and signs as-is. Balance / op-level validation is the caller’s responsibility. -- **No broadcast** — after signing, the Snap returns the SEP-43 success fields (`signedTxXdr`, `signerAddress`). Submitting to the network is entirely the dapp’s job (unlike [`confirmSend`](../client-request/confirmSend.md) / [`signAndSendTransaction`](../client-request/signAndSendTransaction.md)). -- Fee on the envelope is trusted as provided by the dapp; security scan / remote simulation may still surface issues in the confirmation UI. -- Failures / user reject are returned in the SEP-43 `error` envelope (does not throw to the dapp). - -## Step-by-step - -1. Resolve account + wallet for the signer. -2. `Transaction.fromXdr` + assert scope matches. -3. Show confirmation (readable ops, fee, prices, security scan / remote simulation). -4. On approve → `wallet.signTransaction` → return signed XDR. -5. On reject → user-rejected path mapped to SEP-43 error response. - -## Sequence - -```mermaid -sequenceDiagram - participant Dapp - participant Handler as SignTransactionHandler - participant UI as ConfirmationUXController - participant Wallet - - Dapp->>Handler: signTransaction (SEP-43 via keyring submitRequest) - Handler->>Handler: fromXdr (no rebuild / no balance validate) - Handler->>UI: confirmation dialog - alt user rejects - UI-->>Handler: rejected - Handler-->>Dapp: SEP-43 error envelope - else user confirms - UI-->>Handler: confirmed - Handler->>Wallet: signTransaction - Handler-->>Dapp: SEP-43 success (signedTxXdr, signerAddress) - Note over Dapp: Dapp broadcasts if needed - end -``` diff --git a/merged-packages/stellar-wallet-snap/docs/use-cases/user-input/userInput.md b/merged-packages/stellar-wallet-snap/docs/use-cases/user-input/userInput.md deleted file mode 100644 index 39b03c6a8..000000000 --- a/merged-packages/stellar-wallet-snap/docs/use-cases/user-input/userInput.md +++ /dev/null @@ -1,29 +0,0 @@ -# Use case: user input (`UserInputHandler`) - -Interactive UI events via `onUserInput` → `UserInputHandler`. - -| | | -| ---------- | ----------------------------------------------------------------------------------- | -| **Entry** | `onUserInput` → `UserInputHandler.handle` | -| **Source** | [`handlers/user-input/userInput.ts`](../../../src/handlers/user-input/userInput.ts) | - -## Participants - -| Component | Path | Role | -| ------------------------ | -------------------------------- | --------------------------------------------------------------- | -| `UserInputHandler` | `handlers/user-input` | Route UI events by `event.name` | -| Confirmation view events | `ui/confirmation/views/*/events` | Confirm / cancel (and related) handlers that resolve the dialog | - -## Request / response - -Wire format follows the MetaMask **interactive UI** entry point: - -- [Entry points — `onUserInput`](https://docs.metamask.io/snaps/reference/entry-points/#onuserinput) - -MetaMask calls `onUserInput` with `{ id, event, context }` when the user interacts with a Snap interface. This Snap ignores events without a `name`, then dispatches to a handler map built from confirmation views. - -## Methods - -| Method | What it does | Data source | -| ------------- | ------------------------------------------------------------------------------------------------------------------------------ | ----------- | -| `onUserInput` | Route named UI events to confirmation handlers (sign message / tx / auth entry, change trust, send, malicious acknowledgement) | | diff --git a/package.json b/package.json index 8c9afc43a..105c1c46b 100644 --- a/package.json +++ b/package.json @@ -50,7 +50,7 @@ "@metamask/eslint-config-jest": "^15.0.0", "@metamask/eslint-config-nodejs": "^15.0.0", "@metamask/eslint-config-typescript": "^15.0.0", - "@metamask/utils": "^11.9.0", + "@metamask/utils": "^11.11.0", "@types/jest": "^30.0.0", "@types/lodash": "^4.17.15", "@types/node": "^16.18.54", @@ -93,8 +93,10 @@ "@metamask/snaps-sdk": "11.2.0", "@solana/addresses": "2.1.0", "@solana/kit": "2.1.0", + "@stellar/stellar-sdk/axios@npm:1.15.0": "1.18.1", "@types/react": "18.2.4", "@types/react-dom": "18.2.4", + "axios/form-data@npm:^4.0.5": "^4.0.6", "elliptic@6.5.4": "^6.5.7", "fast-xml-parser@^4.3.4": "^4.4.1", "hash-base@npm:^3.0.0": "3.1.0", diff --git a/packages/bitcoin-wallet-snap/CHANGELOG.md b/packages/bitcoin-wallet-snap/CHANGELOG.md index b4baf62a3..570452d8e 100644 --- a/packages/bitcoin-wallet-snap/CHANGELOG.md +++ b/packages/bitcoin-wallet-snap/CHANGELOG.md @@ -13,6 +13,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Fix `onKeyringRequest` responses to correctly return `Json` directly (v2 protocol) instead of v1's `{ pending: false, result }` envelope ([#100](https://github.com/MetaMask/internal-snaps/pull/100)) +- Bump `@metamask/utils` from `^11.9.0` to `^11.11.9` ([#161](https://github.com/MetaMask/internal-snaps/pull/161)) + ## [2.0.0] [DEPRECATED] ### Added diff --git a/packages/bitcoin-wallet-snap/package.json b/packages/bitcoin-wallet-snap/package.json index 4ac44cb21..6d051a460 100644 --- a/packages/bitcoin-wallet-snap/package.json +++ b/packages/bitcoin-wallet-snap/package.json @@ -60,7 +60,7 @@ "@metamask/snaps-jest": "^10.2.0", "@metamask/snaps-sdk": "^11.2.0", "@metamask/superstruct": "^3.4.1", - "@metamask/utils": "^11.9.0", + "@metamask/utils": "^11.11.0", "bip322-js": "^3.0.0", "concurrently": "^10.0.3", "dotenv": "^17.2.1", diff --git a/packages/snap-networks-utils/CHANGELOG.md b/packages/snap-networks-utils/CHANGELOG.md index 8c3f233d3..dac68b80a 100644 --- a/packages/snap-networks-utils/CHANGELOG.md +++ b/packages/snap-networks-utils/CHANGELOG.md @@ -11,6 +11,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - **BREAKING** Replace the logger utilities with a configurable `Logger` class that requires a log level and supports level filtering, per-instance prefixes, and method decorators. +- Bump `@metamask/utils` from `^11.9.0` to `^11.11.9` ([#161](https://github.com/MetaMask/internal-snaps/pull/161)) + ## [1.0.0] ### Added diff --git a/packages/snap-networks-utils/package.json b/packages/snap-networks-utils/package.json index d713604dd..2684d632f 100644 --- a/packages/snap-networks-utils/package.json +++ b/packages/snap-networks-utils/package.json @@ -65,7 +65,7 @@ "@metamask/remote-feature-flag-controller": "^5.0.0", "@metamask/snaps-sdk": "^11.2.0", "@metamask/superstruct": "^3.4.1", - "@metamask/utils": "^11.9.0" + "@metamask/utils": "^11.11.0" }, "devDependencies": { "@metamask/auto-changelog": "^6.1.1", diff --git a/packages/solana-wallet-snap/CHANGELOG.md b/packages/solana-wallet-snap/CHANGELOG.md index 6f652af56..ab6dd1dbf 100644 --- a/packages/solana-wallet-snap/CHANGELOG.md +++ b/packages/solana-wallet-snap/CHANGELOG.md @@ -12,6 +12,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Extract Snap-owned assets domain logic into `SnapAssetsAdapter`; `AssetsService` is a thin facade that delegates metadata, market data, fetch, persist, and account asset reads through the adapter (no Core routing yet). ([#121](https://github.com/MetaMask/internal-snaps/pull/121)) - Align `AssetsService` read API with `snap-networks-utils` / AssetsController shapes by adding `getAccountAssetByID`, `getAccountAssetsByIDs`, `getAccountAssetsByScope`, and `getAccountAssets`, and routing Keyring and Send through them (still Snap-owned storage). ([#120](https://github.com/MetaMask/internal-snaps/pull/120)) +- Bump `@metamask/utils` from `^11.9.0` to `^11.11.9` ([#161](https://github.com/MetaMask/internal-snaps/pull/161)) + ## [6.0.0] ### Changed diff --git a/packages/solana-wallet-snap/package.json b/packages/solana-wallet-snap/package.json index 50660952f..5a3f22cbd 100644 --- a/packages/solana-wallet-snap/package.json +++ b/packages/solana-wallet-snap/package.json @@ -61,7 +61,7 @@ "@metamask/snaps-jest": "^10.2.0", "@metamask/snaps-sdk": "^11.2.0", "@metamask/superstruct": "^3.4.1", - "@metamask/utils": "^11.9.0", + "@metamask/utils": "^11.11.0", "@noble/ed25519": "2.1.0", "@solana-name-service/sns-sdk-kit": "0.9.0-beta", "@solana-program/compute-budget": "0.7.0", diff --git a/merged-packages/stellar-wallet-snap/.env.example b/packages/stellar-wallet-snap/.env.example similarity index 100% rename from merged-packages/stellar-wallet-snap/.env.example rename to packages/stellar-wallet-snap/.env.example diff --git a/merged-packages/stellar-wallet-snap/.prettierignore b/packages/stellar-wallet-snap/.prettierignore similarity index 100% rename from merged-packages/stellar-wallet-snap/.prettierignore rename to packages/stellar-wallet-snap/.prettierignore diff --git a/packages/stellar-wallet-snap/CHANGELOG.md b/packages/stellar-wallet-snap/CHANGELOG.md new file mode 100644 index 000000000..de2a0d829 --- /dev/null +++ b/packages/stellar-wallet-snap/CHANGELOG.md @@ -0,0 +1,14 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## [Unreleased] + +### Changed + +- This package was migrated from [snap-stellar-wallet](https://github.com/MetaMask/snap-stellar-wallet). See the source repository for the original [changelog](https://github.com/MetaMask/snap-stellar-wallet/blob/main/packages/snap/CHANGELOG.md) ([#161](https://github.com/MetaMask/internal-snaps/pull/161)) + +[Unreleased]: https://github.com/MetaMask/internal-snaps/ diff --git a/packages/stellar-wallet-snap/LICENSE b/packages/stellar-wallet-snap/LICENSE new file mode 100644 index 000000000..2bf581417 --- /dev/null +++ b/packages/stellar-wallet-snap/LICENSE @@ -0,0 +1,6 @@ +This project is licensed under either of + + * MIT license ([LICENSE.MIT](LICENSE.MIT)) + * Apache License, Version 2.0 ([LICENSE.APACHE2](LICENSE.APACHE2)) + +at your option. \ No newline at end of file diff --git a/merged-packages/stellar-wallet-snap/LICENSE.APACHE2 b/packages/stellar-wallet-snap/LICENSE.APACHE2 similarity index 100% rename from merged-packages/stellar-wallet-snap/LICENSE.APACHE2 rename to packages/stellar-wallet-snap/LICENSE.APACHE2 diff --git a/merged-packages/stellar-wallet-snap/LICENSE.MIT0 b/packages/stellar-wallet-snap/LICENSE.MIT0 similarity index 100% rename from merged-packages/stellar-wallet-snap/LICENSE.MIT0 rename to packages/stellar-wallet-snap/LICENSE.MIT0 diff --git a/merged-packages/stellar-wallet-snap/README.md b/packages/stellar-wallet-snap/README.md similarity index 99% rename from merged-packages/stellar-wallet-snap/README.md rename to packages/stellar-wallet-snap/README.md index 73833d067..18831bb3c 100644 --- a/merged-packages/stellar-wallet-snap/README.md +++ b/packages/stellar-wallet-snap/README.md @@ -76,7 +76,6 @@ provider.request({ }); ``` - ## Contributing This package is part of the Internal Snaps monorepo. See the [contribution processes](../../docs/processes/) for development, testing, building, and release instructions. diff --git a/merged-packages/stellar-wallet-snap/babel.config.js b/packages/stellar-wallet-snap/babel.config.js similarity index 100% rename from merged-packages/stellar-wallet-snap/babel.config.js rename to packages/stellar-wallet-snap/babel.config.js diff --git a/merged-packages/stellar-wallet-snap/images/icon.svg b/packages/stellar-wallet-snap/images/icon.svg similarity index 100% rename from merged-packages/stellar-wallet-snap/images/icon.svg rename to packages/stellar-wallet-snap/images/icon.svg diff --git a/merged-packages/stellar-wallet-snap/jest.config.js b/packages/stellar-wallet-snap/jest.config.js similarity index 100% rename from merged-packages/stellar-wallet-snap/jest.config.js rename to packages/stellar-wallet-snap/jest.config.js diff --git a/merged-packages/stellar-wallet-snap/jest.integration.config.mjs b/packages/stellar-wallet-snap/jest.integration.config.mjs similarity index 100% rename from merged-packages/stellar-wallet-snap/jest.integration.config.mjs rename to packages/stellar-wallet-snap/jest.integration.config.mjs diff --git a/merged-packages/stellar-wallet-snap/jest.setup.ts b/packages/stellar-wallet-snap/jest.setup.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/jest.setup.ts rename to packages/stellar-wallet-snap/jest.setup.ts diff --git a/merged-packages/stellar-wallet-snap/locales/en.json b/packages/stellar-wallet-snap/locales/en.json similarity index 100% rename from merged-packages/stellar-wallet-snap/locales/en.json rename to packages/stellar-wallet-snap/locales/en.json diff --git a/merged-packages/stellar-wallet-snap/locales/es.json b/packages/stellar-wallet-snap/locales/es.json similarity index 100% rename from merged-packages/stellar-wallet-snap/locales/es.json rename to packages/stellar-wallet-snap/locales/es.json diff --git a/merged-packages/stellar-wallet-snap/messages.json b/packages/stellar-wallet-snap/messages.json similarity index 100% rename from merged-packages/stellar-wallet-snap/messages.json rename to packages/stellar-wallet-snap/messages.json diff --git a/merged-packages/stellar-wallet-snap/package.json b/packages/stellar-wallet-snap/package.json similarity index 100% rename from merged-packages/stellar-wallet-snap/package.json rename to packages/stellar-wallet-snap/package.json diff --git a/merged-packages/stellar-wallet-snap/scripts/build-preinstalled-snap.js b/packages/stellar-wallet-snap/scripts/build-preinstalled-snap.js similarity index 100% rename from merged-packages/stellar-wallet-snap/scripts/build-preinstalled-snap.js rename to packages/stellar-wallet-snap/scripts/build-preinstalled-snap.js diff --git a/merged-packages/stellar-wallet-snap/scripts/populate-en-locale.js b/packages/stellar-wallet-snap/scripts/populate-en-locale.js similarity index 100% rename from merged-packages/stellar-wallet-snap/scripts/populate-en-locale.js rename to packages/stellar-wallet-snap/scripts/populate-en-locale.js diff --git a/merged-packages/stellar-wallet-snap/scripts/update-manifest-local.js b/packages/stellar-wallet-snap/scripts/update-manifest-local.js similarity index 100% rename from merged-packages/stellar-wallet-snap/scripts/update-manifest-local.js rename to packages/stellar-wallet-snap/scripts/update-manifest-local.js diff --git a/merged-packages/stellar-wallet-snap/snap.config.ts b/packages/stellar-wallet-snap/snap.config.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/snap.config.ts rename to packages/stellar-wallet-snap/snap.config.ts diff --git a/merged-packages/stellar-wallet-snap/snap.manifest.json b/packages/stellar-wallet-snap/snap.manifest.json similarity index 90% rename from merged-packages/stellar-wallet-snap/snap.manifest.json rename to packages/stellar-wallet-snap/snap.manifest.json index 4996c79c8..bc829d745 100644 --- a/merged-packages/stellar-wallet-snap/snap.manifest.json +++ b/packages/stellar-wallet-snap/snap.manifest.json @@ -4,10 +4,10 @@ "proposedName": "Stellar", "repository": { "type": "git", - "url": "https://github.com/MetaMask/snap-stellar-wallet.git" + "url": "https://github.com/MetaMask/internal-snaps.git" }, "source": { - "shasum": "nEk0ancd/8Cqai7EpXlN+VBkf83S0loKi22g+wkHun4=", + "shasum": "hg0T69VmDITQiiLZvHu0lCmIrQ7Cl1frkaicIBg3WMc=", "location": { "npm": { "filePath": "dist/bundle.js", @@ -64,6 +64,6 @@ "scopes": ["stellar:pubnet"] } }, - "platformVersion": "11.1.1", + "platformVersion": "11.2.0", "manifestVersion": "0.1" } diff --git a/merged-packages/stellar-wallet-snap/src/api/address.test.ts b/packages/stellar-wallet-snap/src/api/address.test.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/api/address.test.ts rename to packages/stellar-wallet-snap/src/api/address.test.ts diff --git a/merged-packages/stellar-wallet-snap/src/api/address.ts b/packages/stellar-wallet-snap/src/api/address.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/api/address.ts rename to packages/stellar-wallet-snap/src/api/address.ts diff --git a/merged-packages/stellar-wallet-snap/src/api/asset.test.ts b/packages/stellar-wallet-snap/src/api/asset.test.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/api/asset.test.ts rename to packages/stellar-wallet-snap/src/api/asset.test.ts diff --git a/merged-packages/stellar-wallet-snap/src/api/asset.ts b/packages/stellar-wallet-snap/src/api/asset.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/api/asset.ts rename to packages/stellar-wallet-snap/src/api/asset.ts diff --git a/merged-packages/stellar-wallet-snap/src/api/environment.ts b/packages/stellar-wallet-snap/src/api/environment.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/api/environment.ts rename to packages/stellar-wallet-snap/src/api/environment.ts diff --git a/merged-packages/stellar-wallet-snap/src/api/index.ts b/packages/stellar-wallet-snap/src/api/index.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/api/index.ts rename to packages/stellar-wallet-snap/src/api/index.ts diff --git a/merged-packages/stellar-wallet-snap/src/api/integer.test.ts b/packages/stellar-wallet-snap/src/api/integer.test.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/api/integer.test.ts rename to packages/stellar-wallet-snap/src/api/integer.test.ts diff --git a/merged-packages/stellar-wallet-snap/src/api/integer.ts b/packages/stellar-wallet-snap/src/api/integer.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/api/integer.ts rename to packages/stellar-wallet-snap/src/api/integer.ts diff --git a/merged-packages/stellar-wallet-snap/src/api/json.ts b/packages/stellar-wallet-snap/src/api/json.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/api/json.ts rename to packages/stellar-wallet-snap/src/api/json.ts diff --git a/merged-packages/stellar-wallet-snap/src/api/loglevel.test.ts b/packages/stellar-wallet-snap/src/api/loglevel.test.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/api/loglevel.test.ts rename to packages/stellar-wallet-snap/src/api/loglevel.test.ts diff --git a/merged-packages/stellar-wallet-snap/src/api/loglevel.ts b/packages/stellar-wallet-snap/src/api/loglevel.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/api/loglevel.ts rename to packages/stellar-wallet-snap/src/api/loglevel.ts diff --git a/merged-packages/stellar-wallet-snap/src/api/network.test.ts b/packages/stellar-wallet-snap/src/api/network.test.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/api/network.test.ts rename to packages/stellar-wallet-snap/src/api/network.test.ts diff --git a/merged-packages/stellar-wallet-snap/src/api/network.ts b/packages/stellar-wallet-snap/src/api/network.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/api/network.ts rename to packages/stellar-wallet-snap/src/api/network.ts diff --git a/merged-packages/stellar-wallet-snap/src/api/string.ts b/packages/stellar-wallet-snap/src/api/string.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/api/string.ts rename to packages/stellar-wallet-snap/src/api/string.ts diff --git a/merged-packages/stellar-wallet-snap/src/api/transactionHash.test.ts b/packages/stellar-wallet-snap/src/api/transactionHash.test.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/api/transactionHash.test.ts rename to packages/stellar-wallet-snap/src/api/transactionHash.test.ts diff --git a/merged-packages/stellar-wallet-snap/src/api/transactionHash.ts b/packages/stellar-wallet-snap/src/api/transactionHash.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/api/transactionHash.ts rename to packages/stellar-wallet-snap/src/api/transactionHash.ts diff --git a/merged-packages/stellar-wallet-snap/src/api/url.test.ts b/packages/stellar-wallet-snap/src/api/url.test.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/api/url.test.ts rename to packages/stellar-wallet-snap/src/api/url.test.ts diff --git a/merged-packages/stellar-wallet-snap/src/api/url.ts b/packages/stellar-wallet-snap/src/api/url.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/api/url.ts rename to packages/stellar-wallet-snap/src/api/url.ts diff --git a/merged-packages/stellar-wallet-snap/src/api/uuid.test.ts b/packages/stellar-wallet-snap/src/api/uuid.test.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/api/uuid.test.ts rename to packages/stellar-wallet-snap/src/api/uuid.test.ts diff --git a/merged-packages/stellar-wallet-snap/src/api/uuid.ts b/packages/stellar-wallet-snap/src/api/uuid.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/api/uuid.ts rename to packages/stellar-wallet-snap/src/api/uuid.ts diff --git a/merged-packages/stellar-wallet-snap/src/api/xdr.test.ts b/packages/stellar-wallet-snap/src/api/xdr.test.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/api/xdr.test.ts rename to packages/stellar-wallet-snap/src/api/xdr.test.ts diff --git a/merged-packages/stellar-wallet-snap/src/api/xdr.ts b/packages/stellar-wallet-snap/src/api/xdr.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/api/xdr.ts rename to packages/stellar-wallet-snap/src/api/xdr.ts diff --git a/merged-packages/stellar-wallet-snap/src/config.ts b/packages/stellar-wallet-snap/src/config.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/config.ts rename to packages/stellar-wallet-snap/src/config.ts diff --git a/merged-packages/stellar-wallet-snap/src/constants.ts b/packages/stellar-wallet-snap/src/constants.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/constants.ts rename to packages/stellar-wallet-snap/src/constants.ts diff --git a/merged-packages/stellar-wallet-snap/src/context.ts b/packages/stellar-wallet-snap/src/context.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/context.ts rename to packages/stellar-wallet-snap/src/context.ts diff --git a/merged-packages/stellar-wallet-snap/src/handlers/accountResolver.test.ts b/packages/stellar-wallet-snap/src/handlers/accountResolver.test.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/handlers/accountResolver.test.ts rename to packages/stellar-wallet-snap/src/handlers/accountResolver.test.ts diff --git a/merged-packages/stellar-wallet-snap/src/handlers/accountResolver.ts b/packages/stellar-wallet-snap/src/handlers/accountResolver.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/handlers/accountResolver.ts rename to packages/stellar-wallet-snap/src/handlers/accountResolver.ts diff --git a/merged-packages/stellar-wallet-snap/src/handlers/asset/api.test.ts b/packages/stellar-wallet-snap/src/handlers/asset/api.test.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/handlers/asset/api.test.ts rename to packages/stellar-wallet-snap/src/handlers/asset/api.test.ts diff --git a/merged-packages/stellar-wallet-snap/src/handlers/asset/api.ts b/packages/stellar-wallet-snap/src/handlers/asset/api.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/handlers/asset/api.ts rename to packages/stellar-wallet-snap/src/handlers/asset/api.ts diff --git a/merged-packages/stellar-wallet-snap/src/handlers/asset/assets.test.ts b/packages/stellar-wallet-snap/src/handlers/asset/assets.test.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/handlers/asset/assets.test.ts rename to packages/stellar-wallet-snap/src/handlers/asset/assets.test.ts diff --git a/merged-packages/stellar-wallet-snap/src/handlers/asset/assets.ts b/packages/stellar-wallet-snap/src/handlers/asset/assets.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/handlers/asset/assets.ts rename to packages/stellar-wallet-snap/src/handlers/asset/assets.ts diff --git a/merged-packages/stellar-wallet-snap/src/handlers/base.ts b/packages/stellar-wallet-snap/src/handlers/base.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/handlers/base.ts rename to packages/stellar-wallet-snap/src/handlers/base.ts diff --git a/merged-packages/stellar-wallet-snap/src/handlers/clientRequest/api.test.ts b/packages/stellar-wallet-snap/src/handlers/clientRequest/api.test.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/handlers/clientRequest/api.test.ts rename to packages/stellar-wallet-snap/src/handlers/clientRequest/api.test.ts diff --git a/merged-packages/stellar-wallet-snap/src/handlers/clientRequest/api.ts b/packages/stellar-wallet-snap/src/handlers/clientRequest/api.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/handlers/clientRequest/api.ts rename to packages/stellar-wallet-snap/src/handlers/clientRequest/api.ts diff --git a/merged-packages/stellar-wallet-snap/src/handlers/clientRequest/base.ts b/packages/stellar-wallet-snap/src/handlers/clientRequest/base.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/handlers/clientRequest/base.ts rename to packages/stellar-wallet-snap/src/handlers/clientRequest/base.ts diff --git a/merged-packages/stellar-wallet-snap/src/handlers/clientRequest/changeTrustOpt.test.ts b/packages/stellar-wallet-snap/src/handlers/clientRequest/changeTrustOpt.test.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/handlers/clientRequest/changeTrustOpt.test.ts rename to packages/stellar-wallet-snap/src/handlers/clientRequest/changeTrustOpt.test.ts diff --git a/merged-packages/stellar-wallet-snap/src/handlers/clientRequest/changeTrustOpt.ts b/packages/stellar-wallet-snap/src/handlers/clientRequest/changeTrustOpt.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/handlers/clientRequest/changeTrustOpt.ts rename to packages/stellar-wallet-snap/src/handlers/clientRequest/changeTrustOpt.ts diff --git a/merged-packages/stellar-wallet-snap/src/handlers/clientRequest/clientRequest.ts b/packages/stellar-wallet-snap/src/handlers/clientRequest/clientRequest.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/handlers/clientRequest/clientRequest.ts rename to packages/stellar-wallet-snap/src/handlers/clientRequest/clientRequest.ts diff --git a/merged-packages/stellar-wallet-snap/src/handlers/clientRequest/computeFee.test.ts b/packages/stellar-wallet-snap/src/handlers/clientRequest/computeFee.test.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/handlers/clientRequest/computeFee.test.ts rename to packages/stellar-wallet-snap/src/handlers/clientRequest/computeFee.test.ts diff --git a/merged-packages/stellar-wallet-snap/src/handlers/clientRequest/computeFee.ts b/packages/stellar-wallet-snap/src/handlers/clientRequest/computeFee.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/handlers/clientRequest/computeFee.ts rename to packages/stellar-wallet-snap/src/handlers/clientRequest/computeFee.ts diff --git a/merged-packages/stellar-wallet-snap/src/handlers/clientRequest/confirmSend.test.ts b/packages/stellar-wallet-snap/src/handlers/clientRequest/confirmSend.test.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/handlers/clientRequest/confirmSend.test.ts rename to packages/stellar-wallet-snap/src/handlers/clientRequest/confirmSend.test.ts diff --git a/merged-packages/stellar-wallet-snap/src/handlers/clientRequest/confirmSend.ts b/packages/stellar-wallet-snap/src/handlers/clientRequest/confirmSend.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/handlers/clientRequest/confirmSend.ts rename to packages/stellar-wallet-snap/src/handlers/clientRequest/confirmSend.ts diff --git a/merged-packages/stellar-wallet-snap/src/handlers/clientRequest/index.ts b/packages/stellar-wallet-snap/src/handlers/clientRequest/index.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/handlers/clientRequest/index.ts rename to packages/stellar-wallet-snap/src/handlers/clientRequest/index.ts diff --git a/merged-packages/stellar-wallet-snap/src/handlers/clientRequest/onAddressInput.test.ts b/packages/stellar-wallet-snap/src/handlers/clientRequest/onAddressInput.test.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/handlers/clientRequest/onAddressInput.test.ts rename to packages/stellar-wallet-snap/src/handlers/clientRequest/onAddressInput.test.ts diff --git a/merged-packages/stellar-wallet-snap/src/handlers/clientRequest/onAddressInput.ts b/packages/stellar-wallet-snap/src/handlers/clientRequest/onAddressInput.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/handlers/clientRequest/onAddressInput.ts rename to packages/stellar-wallet-snap/src/handlers/clientRequest/onAddressInput.ts diff --git a/merged-packages/stellar-wallet-snap/src/handlers/clientRequest/onAmountInput.test.ts b/packages/stellar-wallet-snap/src/handlers/clientRequest/onAmountInput.test.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/handlers/clientRequest/onAmountInput.test.ts rename to packages/stellar-wallet-snap/src/handlers/clientRequest/onAmountInput.test.ts diff --git a/merged-packages/stellar-wallet-snap/src/handlers/clientRequest/onAmountInput.ts b/packages/stellar-wallet-snap/src/handlers/clientRequest/onAmountInput.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/handlers/clientRequest/onAmountInput.ts rename to packages/stellar-wallet-snap/src/handlers/clientRequest/onAmountInput.ts diff --git a/merged-packages/stellar-wallet-snap/src/handlers/clientRequest/signAndSendTransaction.test.ts b/packages/stellar-wallet-snap/src/handlers/clientRequest/signAndSendTransaction.test.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/handlers/clientRequest/signAndSendTransaction.test.ts rename to packages/stellar-wallet-snap/src/handlers/clientRequest/signAndSendTransaction.test.ts diff --git a/merged-packages/stellar-wallet-snap/src/handlers/clientRequest/signAndSendTransaction.ts b/packages/stellar-wallet-snap/src/handlers/clientRequest/signAndSendTransaction.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/handlers/clientRequest/signAndSendTransaction.ts rename to packages/stellar-wallet-snap/src/handlers/clientRequest/signAndSendTransaction.ts diff --git a/merged-packages/stellar-wallet-snap/src/handlers/clientRequest/utils.ts b/packages/stellar-wallet-snap/src/handlers/clientRequest/utils.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/handlers/clientRequest/utils.ts rename to packages/stellar-wallet-snap/src/handlers/clientRequest/utils.ts diff --git a/merged-packages/stellar-wallet-snap/src/handlers/cronjob/api.test.ts b/packages/stellar-wallet-snap/src/handlers/cronjob/api.test.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/handlers/cronjob/api.test.ts rename to packages/stellar-wallet-snap/src/handlers/cronjob/api.test.ts diff --git a/merged-packages/stellar-wallet-snap/src/handlers/cronjob/api.ts b/packages/stellar-wallet-snap/src/handlers/cronjob/api.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/handlers/cronjob/api.ts rename to packages/stellar-wallet-snap/src/handlers/cronjob/api.ts diff --git a/merged-packages/stellar-wallet-snap/src/handlers/cronjob/base.ts b/packages/stellar-wallet-snap/src/handlers/cronjob/base.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/handlers/cronjob/base.ts rename to packages/stellar-wallet-snap/src/handlers/cronjob/base.ts diff --git a/merged-packages/stellar-wallet-snap/src/handlers/cronjob/cronjob.ts b/packages/stellar-wallet-snap/src/handlers/cronjob/cronjob.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/handlers/cronjob/cronjob.ts rename to packages/stellar-wallet-snap/src/handlers/cronjob/cronjob.ts diff --git a/merged-packages/stellar-wallet-snap/src/handlers/cronjob/exceptions.ts b/packages/stellar-wallet-snap/src/handlers/cronjob/exceptions.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/handlers/cronjob/exceptions.ts rename to packages/stellar-wallet-snap/src/handlers/cronjob/exceptions.ts diff --git a/merged-packages/stellar-wallet-snap/src/handlers/cronjob/refreshConfirmationContext/__fixtures__/context.fixtures.ts b/packages/stellar-wallet-snap/src/handlers/cronjob/refreshConfirmationContext/__fixtures__/context.fixtures.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/handlers/cronjob/refreshConfirmationContext/__fixtures__/context.fixtures.ts rename to packages/stellar-wallet-snap/src/handlers/cronjob/refreshConfirmationContext/__fixtures__/context.fixtures.ts diff --git a/merged-packages/stellar-wallet-snap/src/handlers/cronjob/refreshConfirmationContext/api.ts b/packages/stellar-wallet-snap/src/handlers/cronjob/refreshConfirmationContext/api.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/handlers/cronjob/refreshConfirmationContext/api.ts rename to packages/stellar-wallet-snap/src/handlers/cronjob/refreshConfirmationContext/api.ts diff --git a/merged-packages/stellar-wallet-snap/src/handlers/cronjob/refreshConfirmationContext/handler.test.ts b/packages/stellar-wallet-snap/src/handlers/cronjob/refreshConfirmationContext/handler.test.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/handlers/cronjob/refreshConfirmationContext/handler.test.ts rename to packages/stellar-wallet-snap/src/handlers/cronjob/refreshConfirmationContext/handler.test.ts diff --git a/merged-packages/stellar-wallet-snap/src/handlers/cronjob/refreshConfirmationContext/handler.ts b/packages/stellar-wallet-snap/src/handlers/cronjob/refreshConfirmationContext/handler.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/handlers/cronjob/refreshConfirmationContext/handler.ts rename to packages/stellar-wallet-snap/src/handlers/cronjob/refreshConfirmationContext/handler.ts diff --git a/merged-packages/stellar-wallet-snap/src/handlers/cronjob/refreshConfirmationContext/index.ts b/packages/stellar-wallet-snap/src/handlers/cronjob/refreshConfirmationContext/index.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/handlers/cronjob/refreshConfirmationContext/index.ts rename to packages/stellar-wallet-snap/src/handlers/cronjob/refreshConfirmationContext/index.ts diff --git a/merged-packages/stellar-wallet-snap/src/handlers/cronjob/refreshConfirmationContext/priceRefresher.test.ts b/packages/stellar-wallet-snap/src/handlers/cronjob/refreshConfirmationContext/priceRefresher.test.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/handlers/cronjob/refreshConfirmationContext/priceRefresher.test.ts rename to packages/stellar-wallet-snap/src/handlers/cronjob/refreshConfirmationContext/priceRefresher.test.ts diff --git a/merged-packages/stellar-wallet-snap/src/handlers/cronjob/refreshConfirmationContext/priceRefresher.ts b/packages/stellar-wallet-snap/src/handlers/cronjob/refreshConfirmationContext/priceRefresher.ts similarity index 93% rename from merged-packages/stellar-wallet-snap/src/handlers/cronjob/refreshConfirmationContext/priceRefresher.ts rename to packages/stellar-wallet-snap/src/handlers/cronjob/refreshConfirmationContext/priceRefresher.ts index b05bf6b56..ccf337d91 100644 --- a/merged-packages/stellar-wallet-snap/src/handlers/cronjob/refreshConfirmationContext/priceRefresher.ts +++ b/packages/stellar-wallet-snap/src/handlers/cronjob/refreshConfirmationContext/priceRefresher.ts @@ -82,13 +82,10 @@ export class ConfirmationPriceRefresher implements IConfirmationContextRefresher const updatedTokenPrices = uniqueAssetCaipIds.reduce< ContextWithPrices['tokenPrices'] - >( - (acc, assetId) => { - acc[assetId] = prices[assetId]?.price.toString() ?? null; - return acc; - }, - {} as ContextWithPrices['tokenPrices'], - ); + >((acc, assetId) => { + acc[assetId] = prices[assetId]?.price.toString() ?? null; + return acc; + }, {}); return { result: { diff --git a/merged-packages/stellar-wallet-snap/src/handlers/cronjob/refreshConfirmationContext/scanRefresher.test.ts b/packages/stellar-wallet-snap/src/handlers/cronjob/refreshConfirmationContext/scanRefresher.test.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/handlers/cronjob/refreshConfirmationContext/scanRefresher.test.ts rename to packages/stellar-wallet-snap/src/handlers/cronjob/refreshConfirmationContext/scanRefresher.test.ts diff --git a/merged-packages/stellar-wallet-snap/src/handlers/cronjob/refreshConfirmationContext/scanRefresher.ts b/packages/stellar-wallet-snap/src/handlers/cronjob/refreshConfirmationContext/scanRefresher.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/handlers/cronjob/refreshConfirmationContext/scanRefresher.ts rename to packages/stellar-wallet-snap/src/handlers/cronjob/refreshConfirmationContext/scanRefresher.ts diff --git a/merged-packages/stellar-wallet-snap/src/handlers/cronjob/refreshConfirmationContext/transactionRefresher.test.ts b/packages/stellar-wallet-snap/src/handlers/cronjob/refreshConfirmationContext/transactionRefresher.test.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/handlers/cronjob/refreshConfirmationContext/transactionRefresher.test.ts rename to packages/stellar-wallet-snap/src/handlers/cronjob/refreshConfirmationContext/transactionRefresher.test.ts diff --git a/merged-packages/stellar-wallet-snap/src/handlers/cronjob/refreshConfirmationContext/transactionRefresher.ts b/packages/stellar-wallet-snap/src/handlers/cronjob/refreshConfirmationContext/transactionRefresher.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/handlers/cronjob/refreshConfirmationContext/transactionRefresher.ts rename to packages/stellar-wallet-snap/src/handlers/cronjob/refreshConfirmationContext/transactionRefresher.ts diff --git a/merged-packages/stellar-wallet-snap/src/handlers/cronjob/syncAccounts.test.ts b/packages/stellar-wallet-snap/src/handlers/cronjob/syncAccounts.test.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/handlers/cronjob/syncAccounts.test.ts rename to packages/stellar-wallet-snap/src/handlers/cronjob/syncAccounts.test.ts diff --git a/merged-packages/stellar-wallet-snap/src/handlers/cronjob/syncAccounts.ts b/packages/stellar-wallet-snap/src/handlers/cronjob/syncAccounts.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/handlers/cronjob/syncAccounts.ts rename to packages/stellar-wallet-snap/src/handlers/cronjob/syncAccounts.ts diff --git a/merged-packages/stellar-wallet-snap/src/handlers/cronjob/syncAssets.test.ts b/packages/stellar-wallet-snap/src/handlers/cronjob/syncAssets.test.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/handlers/cronjob/syncAssets.test.ts rename to packages/stellar-wallet-snap/src/handlers/cronjob/syncAssets.test.ts diff --git a/merged-packages/stellar-wallet-snap/src/handlers/cronjob/syncAssets.ts b/packages/stellar-wallet-snap/src/handlers/cronjob/syncAssets.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/handlers/cronjob/syncAssets.ts rename to packages/stellar-wallet-snap/src/handlers/cronjob/syncAssets.ts diff --git a/merged-packages/stellar-wallet-snap/src/handlers/cronjob/trackTransaction.test.ts b/packages/stellar-wallet-snap/src/handlers/cronjob/trackTransaction.test.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/handlers/cronjob/trackTransaction.test.ts rename to packages/stellar-wallet-snap/src/handlers/cronjob/trackTransaction.test.ts diff --git a/merged-packages/stellar-wallet-snap/src/handlers/cronjob/trackTransaction.ts b/packages/stellar-wallet-snap/src/handlers/cronjob/trackTransaction.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/handlers/cronjob/trackTransaction.ts rename to packages/stellar-wallet-snap/src/handlers/cronjob/trackTransaction.ts diff --git a/merged-packages/stellar-wallet-snap/src/handlers/index.ts b/packages/stellar-wallet-snap/src/handlers/index.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/handlers/index.ts rename to packages/stellar-wallet-snap/src/handlers/index.ts diff --git a/merged-packages/stellar-wallet-snap/src/handlers/keyring/api.test.ts b/packages/stellar-wallet-snap/src/handlers/keyring/api.test.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/handlers/keyring/api.test.ts rename to packages/stellar-wallet-snap/src/handlers/keyring/api.test.ts diff --git a/merged-packages/stellar-wallet-snap/src/handlers/keyring/api.ts b/packages/stellar-wallet-snap/src/handlers/keyring/api.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/handlers/keyring/api.ts rename to packages/stellar-wallet-snap/src/handlers/keyring/api.ts diff --git a/merged-packages/stellar-wallet-snap/src/handlers/keyring/base.ts b/packages/stellar-wallet-snap/src/handlers/keyring/base.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/handlers/keyring/base.ts rename to packages/stellar-wallet-snap/src/handlers/keyring/base.ts diff --git a/merged-packages/stellar-wallet-snap/src/handlers/keyring/exceptions.ts b/packages/stellar-wallet-snap/src/handlers/keyring/exceptions.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/handlers/keyring/exceptions.ts rename to packages/stellar-wallet-snap/src/handlers/keyring/exceptions.ts diff --git a/merged-packages/stellar-wallet-snap/src/handlers/keyring/index.ts b/packages/stellar-wallet-snap/src/handlers/keyring/index.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/handlers/keyring/index.ts rename to packages/stellar-wallet-snap/src/handlers/keyring/index.ts diff --git a/merged-packages/stellar-wallet-snap/src/handlers/keyring/keyring.test.ts b/packages/stellar-wallet-snap/src/handlers/keyring/keyring.test.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/handlers/keyring/keyring.test.ts rename to packages/stellar-wallet-snap/src/handlers/keyring/keyring.test.ts diff --git a/merged-packages/stellar-wallet-snap/src/handlers/keyring/keyring.ts b/packages/stellar-wallet-snap/src/handlers/keyring/keyring.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/handlers/keyring/keyring.ts rename to packages/stellar-wallet-snap/src/handlers/keyring/keyring.ts diff --git a/merged-packages/stellar-wallet-snap/src/handlers/keyring/signAuthEntry.test.ts b/packages/stellar-wallet-snap/src/handlers/keyring/signAuthEntry.test.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/handlers/keyring/signAuthEntry.test.ts rename to packages/stellar-wallet-snap/src/handlers/keyring/signAuthEntry.test.ts diff --git a/merged-packages/stellar-wallet-snap/src/handlers/keyring/signAuthEntry.ts b/packages/stellar-wallet-snap/src/handlers/keyring/signAuthEntry.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/handlers/keyring/signAuthEntry.ts rename to packages/stellar-wallet-snap/src/handlers/keyring/signAuthEntry.ts diff --git a/merged-packages/stellar-wallet-snap/src/handlers/keyring/signMessage.test.ts b/packages/stellar-wallet-snap/src/handlers/keyring/signMessage.test.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/handlers/keyring/signMessage.test.ts rename to packages/stellar-wallet-snap/src/handlers/keyring/signMessage.test.ts diff --git a/merged-packages/stellar-wallet-snap/src/handlers/keyring/signMessage.ts b/packages/stellar-wallet-snap/src/handlers/keyring/signMessage.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/handlers/keyring/signMessage.ts rename to packages/stellar-wallet-snap/src/handlers/keyring/signMessage.ts diff --git a/merged-packages/stellar-wallet-snap/src/handlers/keyring/signTransaction.test.ts b/packages/stellar-wallet-snap/src/handlers/keyring/signTransaction.test.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/handlers/keyring/signTransaction.test.ts rename to packages/stellar-wallet-snap/src/handlers/keyring/signTransaction.test.ts diff --git a/merged-packages/stellar-wallet-snap/src/handlers/keyring/signTransaction.ts b/packages/stellar-wallet-snap/src/handlers/keyring/signTransaction.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/handlers/keyring/signTransaction.ts rename to packages/stellar-wallet-snap/src/handlers/keyring/signTransaction.ts diff --git a/merged-packages/stellar-wallet-snap/src/handlers/user-input/api.ts b/packages/stellar-wallet-snap/src/handlers/user-input/api.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/handlers/user-input/api.ts rename to packages/stellar-wallet-snap/src/handlers/user-input/api.ts diff --git a/merged-packages/stellar-wallet-snap/src/handlers/user-input/index.ts b/packages/stellar-wallet-snap/src/handlers/user-input/index.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/handlers/user-input/index.ts rename to packages/stellar-wallet-snap/src/handlers/user-input/index.ts diff --git a/merged-packages/stellar-wallet-snap/src/handlers/user-input/userInput.ts b/packages/stellar-wallet-snap/src/handlers/user-input/userInput.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/handlers/user-input/userInput.ts rename to packages/stellar-wallet-snap/src/handlers/user-input/userInput.ts diff --git a/merged-packages/stellar-wallet-snap/src/index.ts b/packages/stellar-wallet-snap/src/index.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/index.ts rename to packages/stellar-wallet-snap/src/index.ts diff --git a/merged-packages/stellar-wallet-snap/src/permissions.ts b/packages/stellar-wallet-snap/src/permissions.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/permissions.ts rename to packages/stellar-wallet-snap/src/permissions.ts diff --git a/merged-packages/stellar-wallet-snap/src/services/account/AccountService.test.ts b/packages/stellar-wallet-snap/src/services/account/AccountService.test.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/services/account/AccountService.test.ts rename to packages/stellar-wallet-snap/src/services/account/AccountService.test.ts diff --git a/merged-packages/stellar-wallet-snap/src/services/account/AccountService.ts b/packages/stellar-wallet-snap/src/services/account/AccountService.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/services/account/AccountService.ts rename to packages/stellar-wallet-snap/src/services/account/AccountService.ts diff --git a/merged-packages/stellar-wallet-snap/src/services/account/AccountsRepository.ts b/packages/stellar-wallet-snap/src/services/account/AccountsRepository.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/services/account/AccountsRepository.ts rename to packages/stellar-wallet-snap/src/services/account/AccountsRepository.ts diff --git a/merged-packages/stellar-wallet-snap/src/services/account/__mocks__/account.fixtures.ts b/packages/stellar-wallet-snap/src/services/account/__mocks__/account.fixtures.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/services/account/__mocks__/account.fixtures.ts rename to packages/stellar-wallet-snap/src/services/account/__mocks__/account.fixtures.ts diff --git a/merged-packages/stellar-wallet-snap/src/services/account/api.ts b/packages/stellar-wallet-snap/src/services/account/api.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/services/account/api.ts rename to packages/stellar-wallet-snap/src/services/account/api.ts diff --git a/merged-packages/stellar-wallet-snap/src/services/account/exceptions.ts b/packages/stellar-wallet-snap/src/services/account/exceptions.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/services/account/exceptions.ts rename to packages/stellar-wallet-snap/src/services/account/exceptions.ts diff --git a/merged-packages/stellar-wallet-snap/src/services/account/index.ts b/packages/stellar-wallet-snap/src/services/account/index.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/services/account/index.ts rename to packages/stellar-wallet-snap/src/services/account/index.ts diff --git a/merged-packages/stellar-wallet-snap/src/services/account/utils.test.ts b/packages/stellar-wallet-snap/src/services/account/utils.test.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/services/account/utils.test.ts rename to packages/stellar-wallet-snap/src/services/account/utils.test.ts diff --git a/merged-packages/stellar-wallet-snap/src/services/account/utils.ts b/packages/stellar-wallet-snap/src/services/account/utils.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/services/account/utils.ts rename to packages/stellar-wallet-snap/src/services/account/utils.ts diff --git a/merged-packages/stellar-wallet-snap/src/services/asset-metadata/AssetMetadataRepository.test.ts b/packages/stellar-wallet-snap/src/services/asset-metadata/AssetMetadataRepository.test.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/services/asset-metadata/AssetMetadataRepository.test.ts rename to packages/stellar-wallet-snap/src/services/asset-metadata/AssetMetadataRepository.test.ts diff --git a/merged-packages/stellar-wallet-snap/src/services/asset-metadata/AssetMetadataRepository.ts b/packages/stellar-wallet-snap/src/services/asset-metadata/AssetMetadataRepository.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/services/asset-metadata/AssetMetadataRepository.ts rename to packages/stellar-wallet-snap/src/services/asset-metadata/AssetMetadataRepository.ts diff --git a/merged-packages/stellar-wallet-snap/src/services/asset-metadata/AssetMetadataService.test.ts b/packages/stellar-wallet-snap/src/services/asset-metadata/AssetMetadataService.test.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/services/asset-metadata/AssetMetadataService.test.ts rename to packages/stellar-wallet-snap/src/services/asset-metadata/AssetMetadataService.test.ts diff --git a/merged-packages/stellar-wallet-snap/src/services/asset-metadata/AssetMetadataService.ts b/packages/stellar-wallet-snap/src/services/asset-metadata/AssetMetadataService.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/services/asset-metadata/AssetMetadataService.ts rename to packages/stellar-wallet-snap/src/services/asset-metadata/AssetMetadataService.ts diff --git a/merged-packages/stellar-wallet-snap/src/services/asset-metadata/__mocks__/assets.fixtures.ts b/packages/stellar-wallet-snap/src/services/asset-metadata/__mocks__/assets.fixtures.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/services/asset-metadata/__mocks__/assets.fixtures.ts rename to packages/stellar-wallet-snap/src/services/asset-metadata/__mocks__/assets.fixtures.ts diff --git a/merged-packages/stellar-wallet-snap/src/services/asset-metadata/api.ts b/packages/stellar-wallet-snap/src/services/asset-metadata/api.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/services/asset-metadata/api.ts rename to packages/stellar-wallet-snap/src/services/asset-metadata/api.ts diff --git a/merged-packages/stellar-wallet-snap/src/services/asset-metadata/exceptions.ts b/packages/stellar-wallet-snap/src/services/asset-metadata/exceptions.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/services/asset-metadata/exceptions.ts rename to packages/stellar-wallet-snap/src/services/asset-metadata/exceptions.ts diff --git a/merged-packages/stellar-wallet-snap/src/services/asset-metadata/index.ts b/packages/stellar-wallet-snap/src/services/asset-metadata/index.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/services/asset-metadata/index.ts rename to packages/stellar-wallet-snap/src/services/asset-metadata/index.ts diff --git a/merged-packages/stellar-wallet-snap/src/services/asset-metadata/token-api/TokenApiClient.test.ts b/packages/stellar-wallet-snap/src/services/asset-metadata/token-api/TokenApiClient.test.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/services/asset-metadata/token-api/TokenApiClient.test.ts rename to packages/stellar-wallet-snap/src/services/asset-metadata/token-api/TokenApiClient.test.ts diff --git a/merged-packages/stellar-wallet-snap/src/services/asset-metadata/token-api/TokenApiClient.ts b/packages/stellar-wallet-snap/src/services/asset-metadata/token-api/TokenApiClient.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/services/asset-metadata/token-api/TokenApiClient.ts rename to packages/stellar-wallet-snap/src/services/asset-metadata/token-api/TokenApiClient.ts diff --git a/merged-packages/stellar-wallet-snap/src/services/asset-metadata/token-api/api.ts b/packages/stellar-wallet-snap/src/services/asset-metadata/token-api/api.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/services/asset-metadata/token-api/api.ts rename to packages/stellar-wallet-snap/src/services/asset-metadata/token-api/api.ts diff --git a/merged-packages/stellar-wallet-snap/src/services/asset-metadata/token-api/exceptions.ts b/packages/stellar-wallet-snap/src/services/asset-metadata/token-api/exceptions.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/services/asset-metadata/token-api/exceptions.ts rename to packages/stellar-wallet-snap/src/services/asset-metadata/token-api/exceptions.ts diff --git a/merged-packages/stellar-wallet-snap/src/services/asset-metadata/utils.ts b/packages/stellar-wallet-snap/src/services/asset-metadata/utils.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/services/asset-metadata/utils.ts rename to packages/stellar-wallet-snap/src/services/asset-metadata/utils.ts diff --git a/merged-packages/stellar-wallet-snap/src/services/cache/InMemoryCache.ts b/packages/stellar-wallet-snap/src/services/cache/InMemoryCache.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/services/cache/InMemoryCache.ts rename to packages/stellar-wallet-snap/src/services/cache/InMemoryCache.ts diff --git a/merged-packages/stellar-wallet-snap/src/services/cache/InMemoryState.ts b/packages/stellar-wallet-snap/src/services/cache/InMemoryState.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/services/cache/InMemoryState.ts rename to packages/stellar-wallet-snap/src/services/cache/InMemoryState.ts diff --git a/merged-packages/stellar-wallet-snap/src/services/cache/StateCache.test.ts b/packages/stellar-wallet-snap/src/services/cache/StateCache.test.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/services/cache/StateCache.test.ts rename to packages/stellar-wallet-snap/src/services/cache/StateCache.test.ts diff --git a/merged-packages/stellar-wallet-snap/src/services/cache/StateCache.ts b/packages/stellar-wallet-snap/src/services/cache/StateCache.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/services/cache/StateCache.ts rename to packages/stellar-wallet-snap/src/services/cache/StateCache.ts diff --git a/merged-packages/stellar-wallet-snap/src/services/cache/__mocks__/cache.fixtures.ts b/packages/stellar-wallet-snap/src/services/cache/__mocks__/cache.fixtures.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/services/cache/__mocks__/cache.fixtures.ts rename to packages/stellar-wallet-snap/src/services/cache/__mocks__/cache.fixtures.ts diff --git a/merged-packages/stellar-wallet-snap/src/services/cache/api.ts b/packages/stellar-wallet-snap/src/services/cache/api.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/services/cache/api.ts rename to packages/stellar-wallet-snap/src/services/cache/api.ts diff --git a/merged-packages/stellar-wallet-snap/src/services/cache/index.ts b/packages/stellar-wallet-snap/src/services/cache/index.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/services/cache/index.ts rename to packages/stellar-wallet-snap/src/services/cache/index.ts diff --git a/merged-packages/stellar-wallet-snap/src/services/cache/useCache.test.ts b/packages/stellar-wallet-snap/src/services/cache/useCache.test.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/services/cache/useCache.test.ts rename to packages/stellar-wallet-snap/src/services/cache/useCache.test.ts diff --git a/merged-packages/stellar-wallet-snap/src/services/cache/useCache.ts b/packages/stellar-wallet-snap/src/services/cache/useCache.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/services/cache/useCache.ts rename to packages/stellar-wallet-snap/src/services/cache/useCache.ts diff --git a/merged-packages/stellar-wallet-snap/src/services/cache/useCacheUntil.test.ts b/packages/stellar-wallet-snap/src/services/cache/useCacheUntil.test.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/services/cache/useCacheUntil.test.ts rename to packages/stellar-wallet-snap/src/services/cache/useCacheUntil.test.ts diff --git a/merged-packages/stellar-wallet-snap/src/services/cache/useCacheUntil.ts b/packages/stellar-wallet-snap/src/services/cache/useCacheUntil.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/services/cache/useCacheUntil.ts rename to packages/stellar-wallet-snap/src/services/cache/useCacheUntil.ts diff --git a/merged-packages/stellar-wallet-snap/src/services/network/MultiCall.ts b/packages/stellar-wallet-snap/src/services/network/MultiCall.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/services/network/MultiCall.ts rename to packages/stellar-wallet-snap/src/services/network/MultiCall.ts diff --git a/merged-packages/stellar-wallet-snap/src/services/network/NetworkService.test.ts b/packages/stellar-wallet-snap/src/services/network/NetworkService.test.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/services/network/NetworkService.test.ts rename to packages/stellar-wallet-snap/src/services/network/NetworkService.test.ts diff --git a/merged-packages/stellar-wallet-snap/src/services/network/NetworkService.ts b/packages/stellar-wallet-snap/src/services/network/NetworkService.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/services/network/NetworkService.ts rename to packages/stellar-wallet-snap/src/services/network/NetworkService.ts diff --git a/merged-packages/stellar-wallet-snap/src/services/network/api.ts b/packages/stellar-wallet-snap/src/services/network/api.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/services/network/api.ts rename to packages/stellar-wallet-snap/src/services/network/api.ts diff --git a/merged-packages/stellar-wallet-snap/src/services/network/exceptions.ts b/packages/stellar-wallet-snap/src/services/network/exceptions.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/services/network/exceptions.ts rename to packages/stellar-wallet-snap/src/services/network/exceptions.ts diff --git a/merged-packages/stellar-wallet-snap/src/services/network/index.ts b/packages/stellar-wallet-snap/src/services/network/index.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/services/network/index.ts rename to packages/stellar-wallet-snap/src/services/network/index.ts diff --git a/merged-packages/stellar-wallet-snap/src/services/network/utils.test.ts b/packages/stellar-wallet-snap/src/services/network/utils.test.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/services/network/utils.test.ts rename to packages/stellar-wallet-snap/src/services/network/utils.test.ts diff --git a/merged-packages/stellar-wallet-snap/src/services/network/utils.ts b/packages/stellar-wallet-snap/src/services/network/utils.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/services/network/utils.ts rename to packages/stellar-wallet-snap/src/services/network/utils.ts diff --git a/merged-packages/stellar-wallet-snap/src/services/on-chain-account/OnChainAccount.test.ts b/packages/stellar-wallet-snap/src/services/on-chain-account/OnChainAccount.test.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/services/on-chain-account/OnChainAccount.test.ts rename to packages/stellar-wallet-snap/src/services/on-chain-account/OnChainAccount.test.ts diff --git a/merged-packages/stellar-wallet-snap/src/services/on-chain-account/OnChainAccount.ts b/packages/stellar-wallet-snap/src/services/on-chain-account/OnChainAccount.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/services/on-chain-account/OnChainAccount.ts rename to packages/stellar-wallet-snap/src/services/on-chain-account/OnChainAccount.ts diff --git a/merged-packages/stellar-wallet-snap/src/services/on-chain-account/OnChainAccountRepository.ts b/packages/stellar-wallet-snap/src/services/on-chain-account/OnChainAccountRepository.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/services/on-chain-account/OnChainAccountRepository.ts rename to packages/stellar-wallet-snap/src/services/on-chain-account/OnChainAccountRepository.ts diff --git a/merged-packages/stellar-wallet-snap/src/services/on-chain-account/OnChainAccountSerializable.ts b/packages/stellar-wallet-snap/src/services/on-chain-account/OnChainAccountSerializable.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/services/on-chain-account/OnChainAccountSerializable.ts rename to packages/stellar-wallet-snap/src/services/on-chain-account/OnChainAccountSerializable.ts diff --git a/merged-packages/stellar-wallet-snap/src/services/on-chain-account/OnChainAccountService.test.ts b/packages/stellar-wallet-snap/src/services/on-chain-account/OnChainAccountService.test.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/services/on-chain-account/OnChainAccountService.test.ts rename to packages/stellar-wallet-snap/src/services/on-chain-account/OnChainAccountService.test.ts diff --git a/merged-packages/stellar-wallet-snap/src/services/on-chain-account/OnChainAccountService.ts b/packages/stellar-wallet-snap/src/services/on-chain-account/OnChainAccountService.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/services/on-chain-account/OnChainAccountService.ts rename to packages/stellar-wallet-snap/src/services/on-chain-account/OnChainAccountService.ts diff --git a/merged-packages/stellar-wallet-snap/src/services/on-chain-account/OnChainAccountSynchronizeService.test.ts b/packages/stellar-wallet-snap/src/services/on-chain-account/OnChainAccountSynchronizeService.test.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/services/on-chain-account/OnChainAccountSynchronizeService.test.ts rename to packages/stellar-wallet-snap/src/services/on-chain-account/OnChainAccountSynchronizeService.test.ts diff --git a/merged-packages/stellar-wallet-snap/src/services/on-chain-account/OnChainAccountSynchronizeService.ts b/packages/stellar-wallet-snap/src/services/on-chain-account/OnChainAccountSynchronizeService.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/services/on-chain-account/OnChainAccountSynchronizeService.ts rename to packages/stellar-wallet-snap/src/services/on-chain-account/OnChainAccountSynchronizeService.ts diff --git a/merged-packages/stellar-wallet-snap/src/services/on-chain-account/__mocks__/onChainAccount.fixtures.ts b/packages/stellar-wallet-snap/src/services/on-chain-account/__mocks__/onChainAccount.fixtures.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/services/on-chain-account/__mocks__/onChainAccount.fixtures.ts rename to packages/stellar-wallet-snap/src/services/on-chain-account/__mocks__/onChainAccount.fixtures.ts diff --git a/merged-packages/stellar-wallet-snap/src/services/on-chain-account/api.ts b/packages/stellar-wallet-snap/src/services/on-chain-account/api.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/services/on-chain-account/api.ts rename to packages/stellar-wallet-snap/src/services/on-chain-account/api.ts diff --git a/merged-packages/stellar-wallet-snap/src/services/on-chain-account/exceptions.ts b/packages/stellar-wallet-snap/src/services/on-chain-account/exceptions.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/services/on-chain-account/exceptions.ts rename to packages/stellar-wallet-snap/src/services/on-chain-account/exceptions.ts diff --git a/merged-packages/stellar-wallet-snap/src/services/on-chain-account/index.ts b/packages/stellar-wallet-snap/src/services/on-chain-account/index.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/services/on-chain-account/index.ts rename to packages/stellar-wallet-snap/src/services/on-chain-account/index.ts diff --git a/merged-packages/stellar-wallet-snap/src/services/on-chain-account/keyringBalance.test.ts b/packages/stellar-wallet-snap/src/services/on-chain-account/keyringBalance.test.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/services/on-chain-account/keyringBalance.test.ts rename to packages/stellar-wallet-snap/src/services/on-chain-account/keyringBalance.test.ts diff --git a/merged-packages/stellar-wallet-snap/src/services/on-chain-account/keyringBalance.ts b/packages/stellar-wallet-snap/src/services/on-chain-account/keyringBalance.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/services/on-chain-account/keyringBalance.ts rename to packages/stellar-wallet-snap/src/services/on-chain-account/keyringBalance.ts diff --git a/merged-packages/stellar-wallet-snap/src/services/on-chain-account/utils.ts b/packages/stellar-wallet-snap/src/services/on-chain-account/utils.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/services/on-chain-account/utils.ts rename to packages/stellar-wallet-snap/src/services/on-chain-account/utils.ts diff --git a/merged-packages/stellar-wallet-snap/src/services/price/PriceService.test.ts b/packages/stellar-wallet-snap/src/services/price/PriceService.test.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/services/price/PriceService.test.ts rename to packages/stellar-wallet-snap/src/services/price/PriceService.test.ts diff --git a/merged-packages/stellar-wallet-snap/src/services/price/PriceService.ts b/packages/stellar-wallet-snap/src/services/price/PriceService.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/services/price/PriceService.ts rename to packages/stellar-wallet-snap/src/services/price/PriceService.ts diff --git a/merged-packages/stellar-wallet-snap/src/services/price/__mocks__/price.fixtures.ts b/packages/stellar-wallet-snap/src/services/price/__mocks__/price.fixtures.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/services/price/__mocks__/price.fixtures.ts rename to packages/stellar-wallet-snap/src/services/price/__mocks__/price.fixtures.ts diff --git a/merged-packages/stellar-wallet-snap/src/services/price/api.ts b/packages/stellar-wallet-snap/src/services/price/api.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/services/price/api.ts rename to packages/stellar-wallet-snap/src/services/price/api.ts diff --git a/merged-packages/stellar-wallet-snap/src/services/price/exceptions.ts b/packages/stellar-wallet-snap/src/services/price/exceptions.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/services/price/exceptions.ts rename to packages/stellar-wallet-snap/src/services/price/exceptions.ts diff --git a/merged-packages/stellar-wallet-snap/src/services/price/index.ts b/packages/stellar-wallet-snap/src/services/price/index.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/services/price/index.ts rename to packages/stellar-wallet-snap/src/services/price/index.ts diff --git a/merged-packages/stellar-wallet-snap/src/services/price/price-api/PriceApiClient.test.ts b/packages/stellar-wallet-snap/src/services/price/price-api/PriceApiClient.test.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/services/price/price-api/PriceApiClient.test.ts rename to packages/stellar-wallet-snap/src/services/price/price-api/PriceApiClient.test.ts diff --git a/merged-packages/stellar-wallet-snap/src/services/price/price-api/PriceApiClient.ts b/packages/stellar-wallet-snap/src/services/price/price-api/PriceApiClient.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/services/price/price-api/PriceApiClient.ts rename to packages/stellar-wallet-snap/src/services/price/price-api/PriceApiClient.ts diff --git a/merged-packages/stellar-wallet-snap/src/services/price/price-api/api.test.ts b/packages/stellar-wallet-snap/src/services/price/price-api/api.test.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/services/price/price-api/api.test.ts rename to packages/stellar-wallet-snap/src/services/price/price-api/api.test.ts diff --git a/merged-packages/stellar-wallet-snap/src/services/price/price-api/api.ts b/packages/stellar-wallet-snap/src/services/price/price-api/api.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/services/price/price-api/api.ts rename to packages/stellar-wallet-snap/src/services/price/price-api/api.ts diff --git a/merged-packages/stellar-wallet-snap/src/services/price/price-api/exceptions.ts b/packages/stellar-wallet-snap/src/services/price/price-api/exceptions.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/services/price/price-api/exceptions.ts rename to packages/stellar-wallet-snap/src/services/price/price-api/exceptions.ts diff --git a/merged-packages/stellar-wallet-snap/src/services/price/price-api/index.ts b/packages/stellar-wallet-snap/src/services/price/price-api/index.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/services/price/price-api/index.ts rename to packages/stellar-wallet-snap/src/services/price/price-api/index.ts diff --git a/merged-packages/stellar-wallet-snap/src/services/state/IStateManager.ts b/packages/stellar-wallet-snap/src/services/state/IStateManager.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/services/state/IStateManager.ts rename to packages/stellar-wallet-snap/src/services/state/IStateManager.ts diff --git a/merged-packages/stellar-wallet-snap/src/services/state/State.test.ts b/packages/stellar-wallet-snap/src/services/state/State.test.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/services/state/State.test.ts rename to packages/stellar-wallet-snap/src/services/state/State.test.ts diff --git a/merged-packages/stellar-wallet-snap/src/services/state/State.ts b/packages/stellar-wallet-snap/src/services/state/State.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/services/state/State.ts rename to packages/stellar-wallet-snap/src/services/state/State.ts diff --git a/merged-packages/stellar-wallet-snap/src/services/state/index.ts b/packages/stellar-wallet-snap/src/services/state/index.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/services/state/index.ts rename to packages/stellar-wallet-snap/src/services/state/index.ts diff --git a/merged-packages/stellar-wallet-snap/src/services/sync/SynchronizeService.test.ts b/packages/stellar-wallet-snap/src/services/sync/SynchronizeService.test.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/services/sync/SynchronizeService.test.ts rename to packages/stellar-wallet-snap/src/services/sync/SynchronizeService.test.ts diff --git a/merged-packages/stellar-wallet-snap/src/services/sync/SynchronizeService.ts b/packages/stellar-wallet-snap/src/services/sync/SynchronizeService.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/services/sync/SynchronizeService.ts rename to packages/stellar-wallet-snap/src/services/sync/SynchronizeService.ts diff --git a/merged-packages/stellar-wallet-snap/src/services/sync/api.ts b/packages/stellar-wallet-snap/src/services/sync/api.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/services/sync/api.ts rename to packages/stellar-wallet-snap/src/services/sync/api.ts diff --git a/merged-packages/stellar-wallet-snap/src/services/transaction-scan/SecurityAlertsApiClient.test.ts b/packages/stellar-wallet-snap/src/services/transaction-scan/SecurityAlertsApiClient.test.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/services/transaction-scan/SecurityAlertsApiClient.test.ts rename to packages/stellar-wallet-snap/src/services/transaction-scan/SecurityAlertsApiClient.test.ts diff --git a/merged-packages/stellar-wallet-snap/src/services/transaction-scan/SecurityAlertsApiClient.ts b/packages/stellar-wallet-snap/src/services/transaction-scan/SecurityAlertsApiClient.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/services/transaction-scan/SecurityAlertsApiClient.ts rename to packages/stellar-wallet-snap/src/services/transaction-scan/SecurityAlertsApiClient.ts diff --git a/merged-packages/stellar-wallet-snap/src/services/transaction-scan/TransactionScanService.test.ts b/packages/stellar-wallet-snap/src/services/transaction-scan/TransactionScanService.test.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/services/transaction-scan/TransactionScanService.test.ts rename to packages/stellar-wallet-snap/src/services/transaction-scan/TransactionScanService.test.ts diff --git a/merged-packages/stellar-wallet-snap/src/services/transaction-scan/TransactionScanService.ts b/packages/stellar-wallet-snap/src/services/transaction-scan/TransactionScanService.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/services/transaction-scan/TransactionScanService.ts rename to packages/stellar-wallet-snap/src/services/transaction-scan/TransactionScanService.ts diff --git a/merged-packages/stellar-wallet-snap/src/services/transaction-scan/__mocks__/security-alerts-api-response.fixture.ts b/packages/stellar-wallet-snap/src/services/transaction-scan/__mocks__/security-alerts-api-response.fixture.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/services/transaction-scan/__mocks__/security-alerts-api-response.fixture.ts rename to packages/stellar-wallet-snap/src/services/transaction-scan/__mocks__/security-alerts-api-response.fixture.ts diff --git a/merged-packages/stellar-wallet-snap/src/services/transaction-scan/api.ts b/packages/stellar-wallet-snap/src/services/transaction-scan/api.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/services/transaction-scan/api.ts rename to packages/stellar-wallet-snap/src/services/transaction-scan/api.ts diff --git a/merged-packages/stellar-wallet-snap/src/services/transaction-scan/exceptions.ts b/packages/stellar-wallet-snap/src/services/transaction-scan/exceptions.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/services/transaction-scan/exceptions.ts rename to packages/stellar-wallet-snap/src/services/transaction-scan/exceptions.ts diff --git a/merged-packages/stellar-wallet-snap/src/services/transaction-scan/index.ts b/packages/stellar-wallet-snap/src/services/transaction-scan/index.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/services/transaction-scan/index.ts rename to packages/stellar-wallet-snap/src/services/transaction-scan/index.ts diff --git a/merged-packages/stellar-wallet-snap/src/services/transaction/KeyringTransactionBuilder.test.ts b/packages/stellar-wallet-snap/src/services/transaction/KeyringTransactionBuilder.test.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/services/transaction/KeyringTransactionBuilder.test.ts rename to packages/stellar-wallet-snap/src/services/transaction/KeyringTransactionBuilder.test.ts diff --git a/merged-packages/stellar-wallet-snap/src/services/transaction/KeyringTransactionBuilder.ts b/packages/stellar-wallet-snap/src/services/transaction/KeyringTransactionBuilder.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/services/transaction/KeyringTransactionBuilder.ts rename to packages/stellar-wallet-snap/src/services/transaction/KeyringTransactionBuilder.ts diff --git a/merged-packages/stellar-wallet-snap/src/services/transaction/OperationMapper.test.ts b/packages/stellar-wallet-snap/src/services/transaction/OperationMapper.test.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/services/transaction/OperationMapper.test.ts rename to packages/stellar-wallet-snap/src/services/transaction/OperationMapper.test.ts diff --git a/merged-packages/stellar-wallet-snap/src/services/transaction/OperationMapper.ts b/packages/stellar-wallet-snap/src/services/transaction/OperationMapper.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/services/transaction/OperationMapper.ts rename to packages/stellar-wallet-snap/src/services/transaction/OperationMapper.ts diff --git a/merged-packages/stellar-wallet-snap/src/services/transaction/Transaction.test.ts b/packages/stellar-wallet-snap/src/services/transaction/Transaction.test.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/services/transaction/Transaction.test.ts rename to packages/stellar-wallet-snap/src/services/transaction/Transaction.test.ts diff --git a/merged-packages/stellar-wallet-snap/src/services/transaction/Transaction.ts b/packages/stellar-wallet-snap/src/services/transaction/Transaction.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/services/transaction/Transaction.ts rename to packages/stellar-wallet-snap/src/services/transaction/Transaction.ts diff --git a/merged-packages/stellar-wallet-snap/src/services/transaction/TransactionBuilder.test.ts b/packages/stellar-wallet-snap/src/services/transaction/TransactionBuilder.test.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/services/transaction/TransactionBuilder.test.ts rename to packages/stellar-wallet-snap/src/services/transaction/TransactionBuilder.test.ts diff --git a/merged-packages/stellar-wallet-snap/src/services/transaction/TransactionBuilder.ts b/packages/stellar-wallet-snap/src/services/transaction/TransactionBuilder.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/services/transaction/TransactionBuilder.ts rename to packages/stellar-wallet-snap/src/services/transaction/TransactionBuilder.ts diff --git a/merged-packages/stellar-wallet-snap/src/services/transaction/TransactionMapper.test.ts b/packages/stellar-wallet-snap/src/services/transaction/TransactionMapper.test.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/services/transaction/TransactionMapper.test.ts rename to packages/stellar-wallet-snap/src/services/transaction/TransactionMapper.test.ts diff --git a/merged-packages/stellar-wallet-snap/src/services/transaction/TransactionMapper.ts b/packages/stellar-wallet-snap/src/services/transaction/TransactionMapper.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/services/transaction/TransactionMapper.ts rename to packages/stellar-wallet-snap/src/services/transaction/TransactionMapper.ts diff --git a/merged-packages/stellar-wallet-snap/src/services/transaction/TransactionRepository.test.ts b/packages/stellar-wallet-snap/src/services/transaction/TransactionRepository.test.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/services/transaction/TransactionRepository.test.ts rename to packages/stellar-wallet-snap/src/services/transaction/TransactionRepository.test.ts diff --git a/merged-packages/stellar-wallet-snap/src/services/transaction/TransactionRepository.ts b/packages/stellar-wallet-snap/src/services/transaction/TransactionRepository.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/services/transaction/TransactionRepository.ts rename to packages/stellar-wallet-snap/src/services/transaction/TransactionRepository.ts diff --git a/merged-packages/stellar-wallet-snap/src/services/transaction/TransactionService.test.ts b/packages/stellar-wallet-snap/src/services/transaction/TransactionService.test.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/services/transaction/TransactionService.test.ts rename to packages/stellar-wallet-snap/src/services/transaction/TransactionService.test.ts diff --git a/merged-packages/stellar-wallet-snap/src/services/transaction/TransactionService.ts b/packages/stellar-wallet-snap/src/services/transaction/TransactionService.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/services/transaction/TransactionService.ts rename to packages/stellar-wallet-snap/src/services/transaction/TransactionService.ts diff --git a/merged-packages/stellar-wallet-snap/src/services/transaction/TransactionSimulator.test.ts b/packages/stellar-wallet-snap/src/services/transaction/TransactionSimulator.test.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/services/transaction/TransactionSimulator.test.ts rename to packages/stellar-wallet-snap/src/services/transaction/TransactionSimulator.test.ts diff --git a/merged-packages/stellar-wallet-snap/src/services/transaction/TransactionSimulator.ts b/packages/stellar-wallet-snap/src/services/transaction/TransactionSimulator.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/services/transaction/TransactionSimulator.ts rename to packages/stellar-wallet-snap/src/services/transaction/TransactionSimulator.ts diff --git a/merged-packages/stellar-wallet-snap/src/services/transaction/TransactionSynchronizeService.test.ts b/packages/stellar-wallet-snap/src/services/transaction/TransactionSynchronizeService.test.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/services/transaction/TransactionSynchronizeService.test.ts rename to packages/stellar-wallet-snap/src/services/transaction/TransactionSynchronizeService.test.ts diff --git a/merged-packages/stellar-wallet-snap/src/services/transaction/TransactionSynchronizeService.ts b/packages/stellar-wallet-snap/src/services/transaction/TransactionSynchronizeService.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/services/transaction/TransactionSynchronizeService.ts rename to packages/stellar-wallet-snap/src/services/transaction/TransactionSynchronizeService.ts diff --git a/merged-packages/stellar-wallet-snap/src/services/transaction/__mocks__/horizon-transaction-responses.fixtures.ts b/packages/stellar-wallet-snap/src/services/transaction/__mocks__/horizon-transaction-responses.fixtures.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/services/transaction/__mocks__/horizon-transaction-responses.fixtures.ts rename to packages/stellar-wallet-snap/src/services/transaction/__mocks__/horizon-transaction-responses.fixtures.ts diff --git a/merged-packages/stellar-wallet-snap/src/services/transaction/__mocks__/transaction.fixtures.ts b/packages/stellar-wallet-snap/src/services/transaction/__mocks__/transaction.fixtures.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/services/transaction/__mocks__/transaction.fixtures.ts rename to packages/stellar-wallet-snap/src/services/transaction/__mocks__/transaction.fixtures.ts diff --git a/merged-packages/stellar-wallet-snap/src/services/transaction/api.ts b/packages/stellar-wallet-snap/src/services/transaction/api.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/services/transaction/api.ts rename to packages/stellar-wallet-snap/src/services/transaction/api.ts diff --git a/merged-packages/stellar-wallet-snap/src/services/transaction/exceptions.ts b/packages/stellar-wallet-snap/src/services/transaction/exceptions.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/services/transaction/exceptions.ts rename to packages/stellar-wallet-snap/src/services/transaction/exceptions.ts diff --git a/merged-packages/stellar-wallet-snap/src/services/transaction/index.ts b/packages/stellar-wallet-snap/src/services/transaction/index.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/services/transaction/index.ts rename to packages/stellar-wallet-snap/src/services/transaction/index.ts diff --git a/merged-packages/stellar-wallet-snap/src/services/transaction/simulation/api.ts b/packages/stellar-wallet-snap/src/services/transaction/simulation/api.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/services/transaction/simulation/api.ts rename to packages/stellar-wallet-snap/src/services/transaction/simulation/api.ts diff --git a/merged-packages/stellar-wallet-snap/src/services/transaction/simulation/index.ts b/packages/stellar-wallet-snap/src/services/transaction/simulation/index.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/services/transaction/simulation/index.ts rename to packages/stellar-wallet-snap/src/services/transaction/simulation/index.ts diff --git a/merged-packages/stellar-wallet-snap/src/services/transaction/simulation/simulators.ts b/packages/stellar-wallet-snap/src/services/transaction/simulation/simulators.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/services/transaction/simulation/simulators.ts rename to packages/stellar-wallet-snap/src/services/transaction/simulation/simulators.ts diff --git a/merged-packages/stellar-wallet-snap/src/services/transaction/simulation/utils.ts b/packages/stellar-wallet-snap/src/services/transaction/simulation/utils.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/services/transaction/simulation/utils.ts rename to packages/stellar-wallet-snap/src/services/transaction/simulation/utils.ts diff --git a/merged-packages/stellar-wallet-snap/src/services/transaction/utils.ts b/packages/stellar-wallet-snap/src/services/transaction/utils.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/services/transaction/utils.ts rename to packages/stellar-wallet-snap/src/services/transaction/utils.ts diff --git a/merged-packages/stellar-wallet-snap/src/services/transaction/xdrParser.test.ts b/packages/stellar-wallet-snap/src/services/transaction/xdrParser.test.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/services/transaction/xdrParser.test.ts rename to packages/stellar-wallet-snap/src/services/transaction/xdrParser.test.ts diff --git a/merged-packages/stellar-wallet-snap/src/services/transaction/xdrParser.ts b/packages/stellar-wallet-snap/src/services/transaction/xdrParser.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/services/transaction/xdrParser.ts rename to packages/stellar-wallet-snap/src/services/transaction/xdrParser.ts diff --git a/merged-packages/stellar-wallet-snap/src/services/wallet/Wallet.test.ts b/packages/stellar-wallet-snap/src/services/wallet/Wallet.test.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/services/wallet/Wallet.test.ts rename to packages/stellar-wallet-snap/src/services/wallet/Wallet.test.ts diff --git a/merged-packages/stellar-wallet-snap/src/services/wallet/Wallet.ts b/packages/stellar-wallet-snap/src/services/wallet/Wallet.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/services/wallet/Wallet.ts rename to packages/stellar-wallet-snap/src/services/wallet/Wallet.ts diff --git a/merged-packages/stellar-wallet-snap/src/services/wallet/WalletService.test.ts b/packages/stellar-wallet-snap/src/services/wallet/WalletService.test.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/services/wallet/WalletService.test.ts rename to packages/stellar-wallet-snap/src/services/wallet/WalletService.test.ts diff --git a/merged-packages/stellar-wallet-snap/src/services/wallet/WalletService.ts b/packages/stellar-wallet-snap/src/services/wallet/WalletService.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/services/wallet/WalletService.ts rename to packages/stellar-wallet-snap/src/services/wallet/WalletService.ts diff --git a/merged-packages/stellar-wallet-snap/src/services/wallet/__mocks__/wallet.fixtures.ts b/packages/stellar-wallet-snap/src/services/wallet/__mocks__/wallet.fixtures.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/services/wallet/__mocks__/wallet.fixtures.ts rename to packages/stellar-wallet-snap/src/services/wallet/__mocks__/wallet.fixtures.ts diff --git a/merged-packages/stellar-wallet-snap/src/services/wallet/api.ts b/packages/stellar-wallet-snap/src/services/wallet/api.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/services/wallet/api.ts rename to packages/stellar-wallet-snap/src/services/wallet/api.ts diff --git a/merged-packages/stellar-wallet-snap/src/services/wallet/exceptions.ts b/packages/stellar-wallet-snap/src/services/wallet/exceptions.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/services/wallet/exceptions.ts rename to packages/stellar-wallet-snap/src/services/wallet/exceptions.ts diff --git a/merged-packages/stellar-wallet-snap/src/services/wallet/index.ts b/packages/stellar-wallet-snap/src/services/wallet/index.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/services/wallet/index.ts rename to packages/stellar-wallet-snap/src/services/wallet/index.ts diff --git a/merged-packages/stellar-wallet-snap/src/services/wallet/utils.ts b/packages/stellar-wallet-snap/src/services/wallet/utils.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/services/wallet/utils.ts rename to packages/stellar-wallet-snap/src/services/wallet/utils.ts diff --git a/merged-packages/stellar-wallet-snap/src/ui/confirmation/__fixtures__/confirmation.fixtures.ts b/packages/stellar-wallet-snap/src/ui/confirmation/__fixtures__/confirmation.fixtures.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/ui/confirmation/__fixtures__/confirmation.fixtures.ts rename to packages/stellar-wallet-snap/src/ui/confirmation/__fixtures__/confirmation.fixtures.ts diff --git a/merged-packages/stellar-wallet-snap/src/ui/confirmation/api.ts b/packages/stellar-wallet-snap/src/ui/confirmation/api.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/ui/confirmation/api.ts rename to packages/stellar-wallet-snap/src/ui/confirmation/api.ts diff --git a/merged-packages/stellar-wallet-snap/src/ui/confirmation/components/Asset.tsx b/packages/stellar-wallet-snap/src/ui/confirmation/components/Asset.tsx similarity index 100% rename from merged-packages/stellar-wallet-snap/src/ui/confirmation/components/Asset.tsx rename to packages/stellar-wallet-snap/src/ui/confirmation/components/Asset.tsx diff --git a/merged-packages/stellar-wallet-snap/src/ui/confirmation/components/AssetIcon.tsx b/packages/stellar-wallet-snap/src/ui/confirmation/components/AssetIcon.tsx similarity index 100% rename from merged-packages/stellar-wallet-snap/src/ui/confirmation/components/AssetIcon.tsx rename to packages/stellar-wallet-snap/src/ui/confirmation/components/AssetIcon.tsx diff --git a/merged-packages/stellar-wallet-snap/src/ui/confirmation/components/AssetText.tsx b/packages/stellar-wallet-snap/src/ui/confirmation/components/AssetText.tsx similarity index 100% rename from merged-packages/stellar-wallet-snap/src/ui/confirmation/components/AssetText.tsx rename to packages/stellar-wallet-snap/src/ui/confirmation/components/AssetText.tsx diff --git a/merged-packages/stellar-wallet-snap/src/ui/confirmation/components/Authorizations.tsx b/packages/stellar-wallet-snap/src/ui/confirmation/components/Authorizations.tsx similarity index 100% rename from merged-packages/stellar-wallet-snap/src/ui/confirmation/components/Authorizations.tsx rename to packages/stellar-wallet-snap/src/ui/confirmation/components/Authorizations.tsx diff --git a/merged-packages/stellar-wallet-snap/src/ui/confirmation/components/ConfirmationAlerts.test.tsx b/packages/stellar-wallet-snap/src/ui/confirmation/components/ConfirmationAlerts.test.tsx similarity index 100% rename from merged-packages/stellar-wallet-snap/src/ui/confirmation/components/ConfirmationAlerts.test.tsx rename to packages/stellar-wallet-snap/src/ui/confirmation/components/ConfirmationAlerts.test.tsx diff --git a/merged-packages/stellar-wallet-snap/src/ui/confirmation/components/ConfirmationAlerts.tsx b/packages/stellar-wallet-snap/src/ui/confirmation/components/ConfirmationAlerts.tsx similarity index 100% rename from merged-packages/stellar-wallet-snap/src/ui/confirmation/components/ConfirmationAlerts.tsx rename to packages/stellar-wallet-snap/src/ui/confirmation/components/ConfirmationAlerts.tsx diff --git a/merged-packages/stellar-wallet-snap/src/ui/confirmation/components/ConfirmationFooter.test.tsx b/packages/stellar-wallet-snap/src/ui/confirmation/components/ConfirmationFooter.test.tsx similarity index 100% rename from merged-packages/stellar-wallet-snap/src/ui/confirmation/components/ConfirmationFooter.test.tsx rename to packages/stellar-wallet-snap/src/ui/confirmation/components/ConfirmationFooter.test.tsx diff --git a/merged-packages/stellar-wallet-snap/src/ui/confirmation/components/ConfirmationFooter.tsx b/packages/stellar-wallet-snap/src/ui/confirmation/components/ConfirmationFooter.tsx similarity index 100% rename from merged-packages/stellar-wallet-snap/src/ui/confirmation/components/ConfirmationFooter.tsx rename to packages/stellar-wallet-snap/src/ui/confirmation/components/ConfirmationFooter.tsx diff --git a/merged-packages/stellar-wallet-snap/src/ui/confirmation/components/EstimatedChanges/EstimatedChanges.test.tsx b/packages/stellar-wallet-snap/src/ui/confirmation/components/EstimatedChanges/EstimatedChanges.test.tsx similarity index 100% rename from merged-packages/stellar-wallet-snap/src/ui/confirmation/components/EstimatedChanges/EstimatedChanges.test.tsx rename to packages/stellar-wallet-snap/src/ui/confirmation/components/EstimatedChanges/EstimatedChanges.test.tsx diff --git a/merged-packages/stellar-wallet-snap/src/ui/confirmation/components/EstimatedChanges/EstimatedChanges.tsx b/packages/stellar-wallet-snap/src/ui/confirmation/components/EstimatedChanges/EstimatedChanges.tsx similarity index 100% rename from merged-packages/stellar-wallet-snap/src/ui/confirmation/components/EstimatedChanges/EstimatedChanges.tsx rename to packages/stellar-wallet-snap/src/ui/confirmation/components/EstimatedChanges/EstimatedChanges.tsx diff --git a/merged-packages/stellar-wallet-snap/src/ui/confirmation/components/Fee.tsx b/packages/stellar-wallet-snap/src/ui/confirmation/components/Fee.tsx similarity index 100% rename from merged-packages/stellar-wallet-snap/src/ui/confirmation/components/Fee.tsx rename to packages/stellar-wallet-snap/src/ui/confirmation/components/Fee.tsx diff --git a/merged-packages/stellar-wallet-snap/src/ui/confirmation/components/InvocationSummary.tsx b/packages/stellar-wallet-snap/src/ui/confirmation/components/InvocationSummary.tsx similarity index 100% rename from merged-packages/stellar-wallet-snap/src/ui/confirmation/components/InvocationSummary.tsx rename to packages/stellar-wallet-snap/src/ui/confirmation/components/InvocationSummary.tsx diff --git a/merged-packages/stellar-wallet-snap/src/ui/confirmation/components/JsonParamsSummary.tsx b/packages/stellar-wallet-snap/src/ui/confirmation/components/JsonParamsSummary.tsx similarity index 100% rename from merged-packages/stellar-wallet-snap/src/ui/confirmation/components/JsonParamsSummary.tsx rename to packages/stellar-wallet-snap/src/ui/confirmation/components/JsonParamsSummary.tsx diff --git a/merged-packages/stellar-wallet-snap/src/ui/confirmation/components/Network.tsx b/packages/stellar-wallet-snap/src/ui/confirmation/components/Network.tsx similarity index 100% rename from merged-packages/stellar-wallet-snap/src/ui/confirmation/components/Network.tsx rename to packages/stellar-wallet-snap/src/ui/confirmation/components/Network.tsx diff --git a/merged-packages/stellar-wallet-snap/src/ui/confirmation/components/TransactionAlert.test.tsx b/packages/stellar-wallet-snap/src/ui/confirmation/components/TransactionAlert.test.tsx similarity index 100% rename from merged-packages/stellar-wallet-snap/src/ui/confirmation/components/TransactionAlert.test.tsx rename to packages/stellar-wallet-snap/src/ui/confirmation/components/TransactionAlert.test.tsx diff --git a/merged-packages/stellar-wallet-snap/src/ui/confirmation/components/TransactionAlert.tsx b/packages/stellar-wallet-snap/src/ui/confirmation/components/TransactionAlert.tsx similarity index 100% rename from merged-packages/stellar-wallet-snap/src/ui/confirmation/components/TransactionAlert.tsx rename to packages/stellar-wallet-snap/src/ui/confirmation/components/TransactionAlert.tsx diff --git a/merged-packages/stellar-wallet-snap/src/ui/confirmation/components/TransactionValidationAlert.tsx b/packages/stellar-wallet-snap/src/ui/confirmation/components/TransactionValidationAlert.tsx similarity index 100% rename from merged-packages/stellar-wallet-snap/src/ui/confirmation/components/TransactionValidationAlert.tsx rename to packages/stellar-wallet-snap/src/ui/confirmation/components/TransactionValidationAlert.tsx diff --git a/merged-packages/stellar-wallet-snap/src/ui/confirmation/components/index.ts b/packages/stellar-wallet-snap/src/ui/confirmation/components/index.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/ui/confirmation/components/index.ts rename to packages/stellar-wallet-snap/src/ui/confirmation/components/index.ts diff --git a/merged-packages/stellar-wallet-snap/src/ui/confirmation/controller.test.tsx b/packages/stellar-wallet-snap/src/ui/confirmation/controller.test.tsx similarity index 100% rename from merged-packages/stellar-wallet-snap/src/ui/confirmation/controller.test.tsx rename to packages/stellar-wallet-snap/src/ui/confirmation/controller.test.tsx diff --git a/merged-packages/stellar-wallet-snap/src/ui/confirmation/controller.tsx b/packages/stellar-wallet-snap/src/ui/confirmation/controller.tsx similarity index 100% rename from merged-packages/stellar-wallet-snap/src/ui/confirmation/controller.tsx rename to packages/stellar-wallet-snap/src/ui/confirmation/controller.tsx diff --git a/merged-packages/stellar-wallet-snap/src/ui/confirmation/qrcode.ts b/packages/stellar-wallet-snap/src/ui/confirmation/qrcode.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/ui/confirmation/qrcode.ts rename to packages/stellar-wallet-snap/src/ui/confirmation/qrcode.ts diff --git a/merged-packages/stellar-wallet-snap/src/ui/confirmation/utils.test.ts b/packages/stellar-wallet-snap/src/ui/confirmation/utils.test.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/ui/confirmation/utils.test.ts rename to packages/stellar-wallet-snap/src/ui/confirmation/utils.test.ts diff --git a/merged-packages/stellar-wallet-snap/src/ui/confirmation/utils.ts b/packages/stellar-wallet-snap/src/ui/confirmation/utils.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/ui/confirmation/utils.ts rename to packages/stellar-wallet-snap/src/ui/confirmation/utils.ts diff --git a/merged-packages/stellar-wallet-snap/src/ui/confirmation/views/AccountActivationPrompt/AccountActivationPrompt.tsx b/packages/stellar-wallet-snap/src/ui/confirmation/views/AccountActivationPrompt/AccountActivationPrompt.tsx similarity index 100% rename from merged-packages/stellar-wallet-snap/src/ui/confirmation/views/AccountActivationPrompt/AccountActivationPrompt.tsx rename to packages/stellar-wallet-snap/src/ui/confirmation/views/AccountActivationPrompt/AccountActivationPrompt.tsx diff --git a/merged-packages/stellar-wallet-snap/src/ui/confirmation/views/AccountActivationPrompt/render.tsx b/packages/stellar-wallet-snap/src/ui/confirmation/views/AccountActivationPrompt/render.tsx similarity index 100% rename from merged-packages/stellar-wallet-snap/src/ui/confirmation/views/AccountActivationPrompt/render.tsx rename to packages/stellar-wallet-snap/src/ui/confirmation/views/AccountActivationPrompt/render.tsx diff --git a/merged-packages/stellar-wallet-snap/src/ui/confirmation/views/ConfirmSendTransaction/ConfirmSendTransaction.tsx b/packages/stellar-wallet-snap/src/ui/confirmation/views/ConfirmSendTransaction/ConfirmSendTransaction.tsx similarity index 100% rename from merged-packages/stellar-wallet-snap/src/ui/confirmation/views/ConfirmSendTransaction/ConfirmSendTransaction.tsx rename to packages/stellar-wallet-snap/src/ui/confirmation/views/ConfirmSendTransaction/ConfirmSendTransaction.tsx diff --git a/merged-packages/stellar-wallet-snap/src/ui/confirmation/views/ConfirmSendTransaction/events.tsx b/packages/stellar-wallet-snap/src/ui/confirmation/views/ConfirmSendTransaction/events.tsx similarity index 100% rename from merged-packages/stellar-wallet-snap/src/ui/confirmation/views/ConfirmSendTransaction/events.tsx rename to packages/stellar-wallet-snap/src/ui/confirmation/views/ConfirmSendTransaction/events.tsx diff --git a/merged-packages/stellar-wallet-snap/src/ui/confirmation/views/ConfirmSignAuthEntry/ConfirmSignAuthEntry.tsx b/packages/stellar-wallet-snap/src/ui/confirmation/views/ConfirmSignAuthEntry/ConfirmSignAuthEntry.tsx similarity index 100% rename from merged-packages/stellar-wallet-snap/src/ui/confirmation/views/ConfirmSignAuthEntry/ConfirmSignAuthEntry.tsx rename to packages/stellar-wallet-snap/src/ui/confirmation/views/ConfirmSignAuthEntry/ConfirmSignAuthEntry.tsx diff --git a/merged-packages/stellar-wallet-snap/src/ui/confirmation/views/ConfirmSignAuthEntry/events.tsx b/packages/stellar-wallet-snap/src/ui/confirmation/views/ConfirmSignAuthEntry/events.tsx similarity index 100% rename from merged-packages/stellar-wallet-snap/src/ui/confirmation/views/ConfirmSignAuthEntry/events.tsx rename to packages/stellar-wallet-snap/src/ui/confirmation/views/ConfirmSignAuthEntry/events.tsx diff --git a/merged-packages/stellar-wallet-snap/src/ui/confirmation/views/ConfirmSignChangeTrustOptIn/ConfirmSignChangeTrustOptIn.tsx b/packages/stellar-wallet-snap/src/ui/confirmation/views/ConfirmSignChangeTrustOptIn/ConfirmSignChangeTrustOptIn.tsx similarity index 100% rename from merged-packages/stellar-wallet-snap/src/ui/confirmation/views/ConfirmSignChangeTrustOptIn/ConfirmSignChangeTrustOptIn.tsx rename to packages/stellar-wallet-snap/src/ui/confirmation/views/ConfirmSignChangeTrustOptIn/ConfirmSignChangeTrustOptIn.tsx diff --git a/merged-packages/stellar-wallet-snap/src/ui/confirmation/views/ConfirmSignChangeTrustOptIn/events.tsx b/packages/stellar-wallet-snap/src/ui/confirmation/views/ConfirmSignChangeTrustOptIn/events.tsx similarity index 100% rename from merged-packages/stellar-wallet-snap/src/ui/confirmation/views/ConfirmSignChangeTrustOptIn/events.tsx rename to packages/stellar-wallet-snap/src/ui/confirmation/views/ConfirmSignChangeTrustOptIn/events.tsx diff --git a/merged-packages/stellar-wallet-snap/src/ui/confirmation/views/ConfirmSignChangeTrustOptOut/ConfirmSignChangeTrustOptOut.tsx b/packages/stellar-wallet-snap/src/ui/confirmation/views/ConfirmSignChangeTrustOptOut/ConfirmSignChangeTrustOptOut.tsx similarity index 100% rename from merged-packages/stellar-wallet-snap/src/ui/confirmation/views/ConfirmSignChangeTrustOptOut/ConfirmSignChangeTrustOptOut.tsx rename to packages/stellar-wallet-snap/src/ui/confirmation/views/ConfirmSignChangeTrustOptOut/ConfirmSignChangeTrustOptOut.tsx diff --git a/merged-packages/stellar-wallet-snap/src/ui/confirmation/views/ConfirmSignChangeTrustOptOut/events.tsx b/packages/stellar-wallet-snap/src/ui/confirmation/views/ConfirmSignChangeTrustOptOut/events.tsx similarity index 100% rename from merged-packages/stellar-wallet-snap/src/ui/confirmation/views/ConfirmSignChangeTrustOptOut/events.tsx rename to packages/stellar-wallet-snap/src/ui/confirmation/views/ConfirmSignChangeTrustOptOut/events.tsx diff --git a/merged-packages/stellar-wallet-snap/src/ui/confirmation/views/ConfirmSignMessage/ConfirmSignMessage.tsx b/packages/stellar-wallet-snap/src/ui/confirmation/views/ConfirmSignMessage/ConfirmSignMessage.tsx similarity index 100% rename from merged-packages/stellar-wallet-snap/src/ui/confirmation/views/ConfirmSignMessage/ConfirmSignMessage.tsx rename to packages/stellar-wallet-snap/src/ui/confirmation/views/ConfirmSignMessage/ConfirmSignMessage.tsx diff --git a/merged-packages/stellar-wallet-snap/src/ui/confirmation/views/ConfirmSignMessage/events.tsx b/packages/stellar-wallet-snap/src/ui/confirmation/views/ConfirmSignMessage/events.tsx similarity index 100% rename from merged-packages/stellar-wallet-snap/src/ui/confirmation/views/ConfirmSignMessage/events.tsx rename to packages/stellar-wallet-snap/src/ui/confirmation/views/ConfirmSignMessage/events.tsx diff --git a/merged-packages/stellar-wallet-snap/src/ui/confirmation/views/ConfirmSignTransaction/ConfirmSignTransaction.tsx b/packages/stellar-wallet-snap/src/ui/confirmation/views/ConfirmSignTransaction/ConfirmSignTransaction.tsx similarity index 100% rename from merged-packages/stellar-wallet-snap/src/ui/confirmation/views/ConfirmSignTransaction/ConfirmSignTransaction.tsx rename to packages/stellar-wallet-snap/src/ui/confirmation/views/ConfirmSignTransaction/ConfirmSignTransaction.tsx diff --git a/merged-packages/stellar-wallet-snap/src/ui/confirmation/views/ConfirmSignTransaction/events.tsx b/packages/stellar-wallet-snap/src/ui/confirmation/views/ConfirmSignTransaction/events.tsx similarity index 100% rename from merged-packages/stellar-wallet-snap/src/ui/confirmation/views/ConfirmSignTransaction/events.tsx rename to packages/stellar-wallet-snap/src/ui/confirmation/views/ConfirmSignTransaction/events.tsx diff --git a/merged-packages/stellar-wallet-snap/src/ui/confirmation/views/MaliciousAcknowledgement/MaliciousAcknowledgementScreen.test.tsx b/packages/stellar-wallet-snap/src/ui/confirmation/views/MaliciousAcknowledgement/MaliciousAcknowledgementScreen.test.tsx similarity index 100% rename from merged-packages/stellar-wallet-snap/src/ui/confirmation/views/MaliciousAcknowledgement/MaliciousAcknowledgementScreen.test.tsx rename to packages/stellar-wallet-snap/src/ui/confirmation/views/MaliciousAcknowledgement/MaliciousAcknowledgementScreen.test.tsx diff --git a/merged-packages/stellar-wallet-snap/src/ui/confirmation/views/MaliciousAcknowledgement/MaliciousAcknowledgementScreen.tsx b/packages/stellar-wallet-snap/src/ui/confirmation/views/MaliciousAcknowledgement/MaliciousAcknowledgementScreen.tsx similarity index 100% rename from merged-packages/stellar-wallet-snap/src/ui/confirmation/views/MaliciousAcknowledgement/MaliciousAcknowledgementScreen.tsx rename to packages/stellar-wallet-snap/src/ui/confirmation/views/MaliciousAcknowledgement/MaliciousAcknowledgementScreen.tsx diff --git a/merged-packages/stellar-wallet-snap/src/ui/confirmation/views/MaliciousAcknowledgement/constants.ts b/packages/stellar-wallet-snap/src/ui/confirmation/views/MaliciousAcknowledgement/constants.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/ui/confirmation/views/MaliciousAcknowledgement/constants.ts rename to packages/stellar-wallet-snap/src/ui/confirmation/views/MaliciousAcknowledgement/constants.ts diff --git a/merged-packages/stellar-wallet-snap/src/ui/confirmation/views/MaliciousAcknowledgement/events.test.tsx b/packages/stellar-wallet-snap/src/ui/confirmation/views/MaliciousAcknowledgement/events.test.tsx similarity index 100% rename from merged-packages/stellar-wallet-snap/src/ui/confirmation/views/MaliciousAcknowledgement/events.test.tsx rename to packages/stellar-wallet-snap/src/ui/confirmation/views/MaliciousAcknowledgement/events.test.tsx diff --git a/merged-packages/stellar-wallet-snap/src/ui/confirmation/views/MaliciousAcknowledgement/events.tsx b/packages/stellar-wallet-snap/src/ui/confirmation/views/MaliciousAcknowledgement/events.tsx similarity index 100% rename from merged-packages/stellar-wallet-snap/src/ui/confirmation/views/MaliciousAcknowledgement/events.tsx rename to packages/stellar-wallet-snap/src/ui/confirmation/views/MaliciousAcknowledgement/events.tsx diff --git a/merged-packages/stellar-wallet-snap/src/ui/confirmation/views/render.tsx b/packages/stellar-wallet-snap/src/ui/confirmation/views/render.tsx similarity index 100% rename from merged-packages/stellar-wallet-snap/src/ui/confirmation/views/render.tsx rename to packages/stellar-wallet-snap/src/ui/confirmation/views/render.tsx diff --git a/merged-packages/stellar-wallet-snap/src/ui/images/index.ts b/packages/stellar-wallet-snap/src/ui/images/index.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/ui/images/index.ts rename to packages/stellar-wallet-snap/src/ui/images/index.ts diff --git a/merged-packages/stellar-wallet-snap/src/ui/images/question-mark.svg b/packages/stellar-wallet-snap/src/ui/images/question-mark.svg similarity index 100% rename from merged-packages/stellar-wallet-snap/src/ui/images/question-mark.svg rename to packages/stellar-wallet-snap/src/ui/images/question-mark.svg diff --git a/merged-packages/stellar-wallet-snap/src/ui/images/slip44:148.svg b/packages/stellar-wallet-snap/src/ui/images/slip44:148.svg similarity index 100% rename from merged-packages/stellar-wallet-snap/src/ui/images/slip44:148.svg rename to packages/stellar-wallet-snap/src/ui/images/slip44:148.svg diff --git a/merged-packages/stellar-wallet-snap/src/utils/__mocks__/fixtures.ts b/packages/stellar-wallet-snap/src/utils/__mocks__/fixtures.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/utils/__mocks__/fixtures.ts rename to packages/stellar-wallet-snap/src/utils/__mocks__/fixtures.ts diff --git a/merged-packages/stellar-wallet-snap/src/utils/__mocks__/logger.ts b/packages/stellar-wallet-snap/src/utils/__mocks__/logger.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/utils/__mocks__/logger.ts rename to packages/stellar-wallet-snap/src/utils/__mocks__/logger.ts diff --git a/merged-packages/stellar-wallet-snap/src/utils/__mocks__/snap.ts b/packages/stellar-wallet-snap/src/utils/__mocks__/snap.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/utils/__mocks__/snap.ts rename to packages/stellar-wallet-snap/src/utils/__mocks__/snap.ts diff --git a/merged-packages/stellar-wallet-snap/src/utils/array.test.ts b/packages/stellar-wallet-snap/src/utils/array.test.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/utils/array.test.ts rename to packages/stellar-wallet-snap/src/utils/array.test.ts diff --git a/merged-packages/stellar-wallet-snap/src/utils/array.ts b/packages/stellar-wallet-snap/src/utils/array.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/utils/array.ts rename to packages/stellar-wallet-snap/src/utils/array.ts diff --git a/merged-packages/stellar-wallet-snap/src/utils/assert.test.ts b/packages/stellar-wallet-snap/src/utils/assert.test.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/utils/assert.test.ts rename to packages/stellar-wallet-snap/src/utils/assert.test.ts diff --git a/merged-packages/stellar-wallet-snap/src/utils/assert.ts b/packages/stellar-wallet-snap/src/utils/assert.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/utils/assert.ts rename to packages/stellar-wallet-snap/src/utils/assert.ts diff --git a/merged-packages/stellar-wallet-snap/src/utils/async.test.ts b/packages/stellar-wallet-snap/src/utils/async.test.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/utils/async.test.ts rename to packages/stellar-wallet-snap/src/utils/async.test.ts diff --git a/merged-packages/stellar-wallet-snap/src/utils/async.ts b/packages/stellar-wallet-snap/src/utils/async.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/utils/async.ts rename to packages/stellar-wallet-snap/src/utils/async.ts diff --git a/merged-packages/stellar-wallet-snap/src/utils/buffer.test.ts b/packages/stellar-wallet-snap/src/utils/buffer.test.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/utils/buffer.test.ts rename to packages/stellar-wallet-snap/src/utils/buffer.test.ts diff --git a/merged-packages/stellar-wallet-snap/src/utils/buffer.ts b/packages/stellar-wallet-snap/src/utils/buffer.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/utils/buffer.ts rename to packages/stellar-wallet-snap/src/utils/buffer.ts diff --git a/merged-packages/stellar-wallet-snap/src/utils/buildUrl.test.ts b/packages/stellar-wallet-snap/src/utils/buildUrl.test.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/utils/buildUrl.test.ts rename to packages/stellar-wallet-snap/src/utils/buildUrl.test.ts diff --git a/merged-packages/stellar-wallet-snap/src/utils/buildUrl.ts b/packages/stellar-wallet-snap/src/utils/buildUrl.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/utils/buildUrl.ts rename to packages/stellar-wallet-snap/src/utils/buildUrl.ts diff --git a/merged-packages/stellar-wallet-snap/src/utils/caip.test.ts b/packages/stellar-wallet-snap/src/utils/caip.test.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/utils/caip.test.ts rename to packages/stellar-wallet-snap/src/utils/caip.test.ts diff --git a/merged-packages/stellar-wallet-snap/src/utils/caip.ts b/packages/stellar-wallet-snap/src/utils/caip.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/utils/caip.ts rename to packages/stellar-wallet-snap/src/utils/caip.ts diff --git a/merged-packages/stellar-wallet-snap/src/utils/currency.test.ts b/packages/stellar-wallet-snap/src/utils/currency.test.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/utils/currency.test.ts rename to packages/stellar-wallet-snap/src/utils/currency.test.ts diff --git a/merged-packages/stellar-wallet-snap/src/utils/currency.ts b/packages/stellar-wallet-snap/src/utils/currency.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/utils/currency.ts rename to packages/stellar-wallet-snap/src/utils/currency.ts diff --git a/merged-packages/stellar-wallet-snap/src/utils/errors.test.ts b/packages/stellar-wallet-snap/src/utils/errors.test.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/utils/errors.test.ts rename to packages/stellar-wallet-snap/src/utils/errors.test.ts diff --git a/merged-packages/stellar-wallet-snap/src/utils/errors.ts b/packages/stellar-wallet-snap/src/utils/errors.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/utils/errors.ts rename to packages/stellar-wallet-snap/src/utils/errors.ts diff --git a/merged-packages/stellar-wallet-snap/src/utils/i18n.ts b/packages/stellar-wallet-snap/src/utils/i18n.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/utils/i18n.ts rename to packages/stellar-wallet-snap/src/utils/i18n.ts diff --git a/merged-packages/stellar-wallet-snap/src/utils/index.ts b/packages/stellar-wallet-snap/src/utils/index.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/utils/index.ts rename to packages/stellar-wallet-snap/src/utils/index.ts diff --git a/merged-packages/stellar-wallet-snap/src/utils/logger.ts b/packages/stellar-wallet-snap/src/utils/logger.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/utils/logger.ts rename to packages/stellar-wallet-snap/src/utils/logger.ts diff --git a/merged-packages/stellar-wallet-snap/src/utils/number.test.ts b/packages/stellar-wallet-snap/src/utils/number.test.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/utils/number.test.ts rename to packages/stellar-wallet-snap/src/utils/number.test.ts diff --git a/merged-packages/stellar-wallet-snap/src/utils/number.ts b/packages/stellar-wallet-snap/src/utils/number.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/utils/number.ts rename to packages/stellar-wallet-snap/src/utils/number.ts diff --git a/merged-packages/stellar-wallet-snap/src/utils/requestResponse.test.ts b/packages/stellar-wallet-snap/src/utils/requestResponse.test.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/utils/requestResponse.test.ts rename to packages/stellar-wallet-snap/src/utils/requestResponse.test.ts diff --git a/merged-packages/stellar-wallet-snap/src/utils/requestResponse.ts b/packages/stellar-wallet-snap/src/utils/requestResponse.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/utils/requestResponse.ts rename to packages/stellar-wallet-snap/src/utils/requestResponse.ts diff --git a/merged-packages/stellar-wallet-snap/src/utils/safeMerge.test.ts b/packages/stellar-wallet-snap/src/utils/safeMerge.test.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/utils/safeMerge.test.ts rename to packages/stellar-wallet-snap/src/utils/safeMerge.test.ts diff --git a/merged-packages/stellar-wallet-snap/src/utils/safeMerge.ts b/packages/stellar-wallet-snap/src/utils/safeMerge.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/utils/safeMerge.ts rename to packages/stellar-wallet-snap/src/utils/safeMerge.ts diff --git a/merged-packages/stellar-wallet-snap/src/utils/sanitize.ts b/packages/stellar-wallet-snap/src/utils/sanitize.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/utils/sanitize.ts rename to packages/stellar-wallet-snap/src/utils/sanitize.ts diff --git a/merged-packages/stellar-wallet-snap/src/utils/scopes.ts b/packages/stellar-wallet-snap/src/utils/scopes.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/utils/scopes.ts rename to packages/stellar-wallet-snap/src/utils/scopes.ts diff --git a/merged-packages/stellar-wallet-snap/src/utils/serialization.test.ts b/packages/stellar-wallet-snap/src/utils/serialization.test.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/utils/serialization.test.ts rename to packages/stellar-wallet-snap/src/utils/serialization.test.ts diff --git a/merged-packages/stellar-wallet-snap/src/utils/serialization.ts b/packages/stellar-wallet-snap/src/utils/serialization.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/utils/serialization.ts rename to packages/stellar-wallet-snap/src/utils/serialization.ts diff --git a/merged-packages/stellar-wallet-snap/src/utils/snap.ts b/packages/stellar-wallet-snap/src/utils/snap.ts similarity index 100% rename from merged-packages/stellar-wallet-snap/src/utils/snap.ts rename to packages/stellar-wallet-snap/src/utils/snap.ts diff --git a/packages/stellar-wallet-snap/tokenlists/unified-pubnet.json b/packages/stellar-wallet-snap/tokenlists/unified-pubnet.json new file mode 100644 index 000000000..5b611a9f0 --- /dev/null +++ b/packages/stellar-wallet-snap/tokenlists/unified-pubnet.json @@ -0,0 +1,307 @@ +{ + "name": "Unified Stellar Assets List", + "description": "Comprehensive list of Stellar assets from CoinGecko, StellarExpert, Soroswap, and LOBSTR with icons", + "version": "1.0.0", + "assets": [ + { + "code": "yUSDC", + "issuer": "GDGTVWSM4MGS4T7Z6W4RPWOCHE2I6RDFCIFZGS3DOA63LWQTRNZNTTFF", + "contract": "CDOFW7HNKLUZRLFZST4EW7V3AV4JI5IHMT6BPXXSY2IEFZ4NE5TWU2P4", + "name": "yUSDC", + "org": "Ultra Capital LLC dba Ultra Capital", + "domain": "ultracapital.xyz", + "icon": "https://stellar.myfilebase.com/ipfs/QmTmcN7qNDkcfaawoJCUv31aWjwT75KjKAX4zC7JFrE2Xr", + "decimals": 7 + }, + { + "code": "USDC", + "issuer": "GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN", + "contract": "CCW67TSZV3SSS2HXMBQ5JFGCKJNXKZM7UQUWUZPUTHXSTZLEO7SJMI75", + "name": "USDC", + "org": "Circle Internet Financial, LLC", + "domain": "circle.com", + "icon": "https://stellar.myfilebase.com/ipfs/QmXPqPAv3oRiQFehNB8Lw25DLuDz8irZwpfU7e6hPsr2qS", + "decimals": 7 + }, + { + "code": "SSLX", + "issuer": "GBHFGY3ZNEJWLNO4LBUKLYOCEK4V7ENEBJGPRHHX7JU47GWHBREH37UR", + "contract": "CBHBD77PWZ3AXPQVYVDBHDKEMVNOR26UZUZHWCB6QC7J5SETQPRUQAS4", + "name": "SSLX", + "org": "Cassator Corp.", + "domain": "sslx.sl8.online", + "icon": "https://stellar.myfilebase.com/ipfs/QmYkosLbMRMPZSiRZBUuCBaGRbaxiuxPmXeFfs6QYeSWCY", + "decimals": 7 + }, + { + "code": "AQUA", + "issuer": "GBNZILSTVQZ4R7IKQDGHYGY2QXL5QOFJYQMXPKWRRM5PAV7Y4M67AQUA", + "contract": "CAUIKL3IYGMERDRUN6YSCLWVAKIFG5Q4YJHUKM4S4NJZQIA3BAS6OJPK", + "name": "AQUA", + "org": "Aquarius dba AQUA token", + "domain": "aqua.network", + "icon": "https://stellar.myfilebase.com/ipfs/QmTqE6DhQftp51YXXL8HtkEBhr1PpW6F8W1NxnVoyK6G93", + "decimals": 7 + }, + { + "code": "yETH", + "issuer": "GDYQNEF2UWTK4L6HITMT53MZ6F5QWO3Q4UVE6SCGC4OMEQIZQQDERQFD", + "contract": "CDYEOOVL6WV4JRY45CXQKOBJFFAPOM5KNQCCDNM333L6RM2L4RO3LKYG", + "name": "yETH", + "org": "Ultra Capital LLC dba Ultra Capital", + "domain": "ultracapital.xyz", + "icon": "https://stellar.myfilebase.com/ipfs/QmavC22bVfCkzHX2AJQZAh6Vbw83JtKDZhKZFUcktomdQn", + "decimals": 7 + }, + { + "code": "EURC", + "issuer": "GDHU6WRG4IEQXM5NZ4BMPKOXHW76MZM4Y2IEMFDVXBSDP6SJY4ITNPP2", + "contract": "CDTKPWPLOURQA2SGTKTUQOWRCBZEORB4BWBOMJ3D3ZTQQSGE5F6JBQLV", + "name": "EURC", + "org": "Circle Internet Financial, LLC", + "domain": "circle.com", + "icon": "https://stellar.myfilebase.com/ipfs/QmeRk7LG85cozSNey9QGARgbxYi1cG1dA1G6SNJGMTMdF2", + "decimals": 7 + }, + { + "code": "CETES", + "issuer": "GCRYUGD5NVARGXT56XEZI5CIFCQETYHAPQQTHO2O3IQZTHDH4LATMYWC", + "contract": "CAL6ER2TI6CTRAY6BFXWNWA7WTYXUXTQCHUBCIBU5O6KM3HJFG6Z6VXV", + "name": "Etherfuse CETES", + "org": "Etherfuse dba Etherfuse", + "domain": "etherfuse.com", + "icon": "https://stellar.myfilebase.com/ipfs/QmeiTXsP3D2icaUGVtzYekaDCpBKJ4SRHUVMNw9Qynuq4i", + "decimals": 7 + }, + { + "code": "MOBI", + "issuer": "GA6HCMBLTZS5VYYBCATRBRZ3BZJMAFUDKYYF6AH6MVCMGWMRDNSWJPIH", + "contract": "CATHRLMZW3JUIYSXYE4YAI3SBBBQGXYAP674RINGUBQLNFTCZHMI5XZJ", + "name": "Mobius", + "org": "Mochi, Inc. dba Mobius Network", + "domain": "mobius.network", + "icon": "https://stellar.myfilebase.com/ipfs/QmPW6Jr278WMrFzyQt96E21iDoXaLiG36Xkc44jYGnaQz9", + "decimals": 7 + }, + { + "code": "SCOP", + "issuer": "GC6OYQJIZF3HFXCYPFCBXYXNGIBQ4TNSFUBUXQJOZWIP6F3YZK4QH3VQ", + "contract": "CCJVS6IVXAAXWCMFVK6QLWHZHR4RTVRSEZRQ53GOAEDN3VY2BLPVY72J", + "name": "Scopuly", + "org": "Scopuly", + "domain": "scopuly.com", + "icon": "https://stellar.myfilebase.com/ipfs/QmXUQsnLxb5PA7iPby2JnP23mCHSbXxf7Kr5QdfmhYzaDQ", + "decimals": 7 + }, + { + "code": "AFR", + "issuer": "GBX6YI45VU7WNAAKA3RBFDR3I3UKNFHTJPQ5F6KOOKSGYIAM4TRQN54W", + "contract": "CCG27OZ5AV4WUXS6XTECWAXEY5UOMEFI2CWFA3LHZGBTLYZWTJF3MJYQ", + "name": "AFREUM", + "org": "Afreum DAO dba Afreum", + "domain": "afreum.com", + "icon": "https://stellar.myfilebase.com/ipfs/QmRGezPHkaVJuqxDebHrfqEeESLbEDY3m596wnCWrdCaXw", + "decimals": 7 + }, + { + "code": "LSP", + "issuer": "GAB7STHVD5BDH3EEYXPI3OM7PCS4V443PYB5FNT6CFGJVPDLMKDM24WK", + "contract": "CBXE6V454EUYWVQCI4TCSOG4CSNPQ2BLYOTKAKXYFHO3KNVX4CXYCY2T", + "name": "Lumenswap asset", + "org": "Lumenswap LLC dba Lumenswap", + "domain": "lumenswap.io", + "icon": "https://stellar.myfilebase.com/ipfs/QmUxVdZomJzT5AQpS9iCuV2h9DTWhy4mh9naMghiHnXRSv", + "decimals": 7 + }, + { + "code": "TFT", + "issuer": "GBOVQKJYHXRR3DX6NOX2RRYFRCUMSADGDESTDNBDS6CDVLGVESRTAC47", + "contract": "CCXY3CNHSU2DPUOZFKNNH67IVRMBRCATX4SABDSLBY5LAJI66LRLHTJQ", + "name": "Threefold Token", + "org": "Threefold foundation", + "domain": "threefold.io", + "icon": "https://stellar.myfilebase.com/ipfs/Qmb1bNmAaXCmTWPqE9s1QUg1jmpkkoyzakzdFQUpRLyB2z", + "decimals": 7 + }, + { + "name": "Glo Dollar", + "code": "USDGLO", + "issuer": "GBBS25EGYQPGEZCGCFBKG4OAGFXU6DSOQBGTHELLJT3HZXZJ34HWS6XV", + "contract": "CB226ZOEYXTBPD3QEGABTJYSKZVBP2PASEISLG3SBMTN5CE4QZUVZ3CE", + "org": "Glo Development Foundation", + "domain": "app.glodollar.org", + "icon": "https://app.glodollar.org/glo-logo.png", + "decimals": 7 + }, + { + "name": "Ondo U.S. Dollar Yield", + "code": "USDY", + "issuer": "GAJMPX5NBOG6TQFPQGRABJEEB2YE7RFRLUKJDZAZGAD5GFX4J7TADAZ6", + "contract": "CB3YA656OYIHU57657I5KGSBRHE5I3OZU4VFC22PYAOANFZHEWNYGAGP", + "org": "Ondo Finance", + "domain": "ondo.finance", + "icon": "https://cdn.ondo.finance/brand/logos/ondo-icon-black_160x160.png", + "decimals": 7 + }, + { + "name": "PYUSD", + "code": "PYUSD", + "issuer": "GDQE7IXJ4HUHV6RQHIUPRJSEZE4DRS5WY577O2FY6YQ5LVWZ7JZTU2V5", + "contract": "CCCRWH6Q3FNP3I2I57BDLM5AFAT7O6OF6GKQOC6SSJNDAVRZ57SPHGU2", + "org": "www.paxos.com", + "domain": "token-metadata.paxos.com", + "icon": "https://424565.fs1.hubspotusercontent-na1.net/hubfs/424565/PYUSDLOGO.png", + "decimals": 7 + }, + { + "code": "VELO", + "issuer": "GDM4RQUQQUVSKQA7S6EM7XBZP3FCGH4Q7CL6TABQ7B2BEJ5ERARM2M5M", + "contract": "CAESLMGW5LYTIEJI7FJHK6SFSWRELLNVX5Q4WR4UZEALMTRWQDBKDPAG", + "name": "VELO", + "org": "unknown", + "icon": "https://assets.coingecko.com/coins/images/12538/thumb/Logo_200x_200.png?1696512350", + "decimals": 7 + }, + { + "code": "GYEN", + "issuer": "GDF6VOEGRWLOZ64PQQGKD2IYWA22RLT37GJKS2EJXZHT2VLAGWLC5TOB", + "contract": "CA67EQNWGPGXHVT6E4HQ65WEV54KFDB6HJDHVCJM33VKZ7XKR5MN3KPJ", + "name": "GYEN", + "org": "stablecoin.z.com", + "icon": "https://assets.coingecko.com/coins/images/14191/thumb/icon_gyen_200_200.png?1696513909", + "decimals": 7 + }, + { + "code": "AUDD", + "issuer": "GDC7X2MXTYSAKUUGAIQ7J7RPEIM7GXSAIWFYWWH4GLNFECQVJJLB2EEU", + "contract": "CACXKRVCW7I6CWX6RS6ANFDKVCOUI2PB6LTDUROL3J3FMJCRZ4ZLQRF6", + "name": "AUDD", + "org": "Australian Digital Dollar", + "icon": "https://assets.coingecko.com/coins/images/33263/thumb/AUDD-Logo-Blue_512.png?1701319895", + "decimals": 7 + }, + { + "code": "USDM1", + "issuer": "GDM5QWWXCMDTQMZAKMYTCI52LA7FWBHAZMU5NJLMIFHDJISJRP2ZWPKC", + "contract": "CAC743NYRBMS76L2DCPAXZTOEF6EJPKPVEC5OX2SXY7HOWNXISSLUE2C", + "name": "USDM1", + "icon": "https://assets.coingecko.com/coins/images/102171740/thumb/usdm1-avatar.png?1769505390", + "decimals": 7 + }, + { + "code": "VEUR", + "issuer": "GDXLSLCOPPHTWOQXLLKSVN4VN3G67WD2ENU7UMVAROEYVJLSPSEWXIZN", + "contract": "CDHNIO6IJ7EBFUDVALSE347YYNV3RKFB3Y5NZ3W4RH4QP4IS56MGSI5E", + "name": "VNX EURO", + "symbol": "VEUR", + "icon": "https://assets.coingecko.com/coins/images/29351/thumb/VNXEUR_%281%29.png?1696528300", + "decimals": 7 + }, + { + "code": "MXNe", + "issuer": "GCQCNWT22JDLENQAVIE6DRJGHWAQ6EX2H5ABGPV55EJUPPZM5UA7KHZR", + "contract": "CAPW7JXJ6H6SGJ5MVM25356FAYOVT3ICZUIZRT4KGZHLUNMTWNMUI3RM", + "name": "Real MXN", + "symbol": "MXNE", + "icon": "https://assets.coingecko.com/coins/images/54735/thumb/mxne-logo-200.png?1741253834", + "decimals": 7 + }, + { + "code": "VCHF", + "issuer": "GDXLSLCOPPHTWOQXLLKSVN4VN3G67WD2ENU7UMVAROEYVJLSPSEWXIZN", + "contract": "CDOZE45WZ67M6DNO577SKX3AG6N3I3Y6HZNA63APVYEAF2X6Q6P6V5G6", + "name": "VNX Swiss Franc", + "icon": "https://assets.coingecko.com/coins/images/29547/thumb/VNXCHF_%282%29.png?1696528488", + "decimals": 7 + }, + { + "code": "EURCV", + "issuer": "GCEYGIVOLAVBF2TG2RUSGTUJCIN75KEX3NGLMY4VPL4GFE5L355AXW3G", + "contract": "CANKBYNNAYKEZXLB655F2UPNTAZFK5HILZUXL7ZTFR3NF6LKDSVY7KFH", + "name": "EUR CoinVertible", + "icon": "https://assets.coingecko.com/coins/images/33415/thumb/eurcv_%281%29.png?1701752017", + "decimals": 7 + }, + { + "code": "KTB", + "issuer": "GCRYUGD5NVARGXT56XEZI5CIFCQETYHAPQQTHO2O3IQZTHDH4LATMYWC", + "contract": "CBAECV6UVDS6ZKPMC63MUYY4V7Q3KTHR7NLUFGVVGK7K3AQT475QTETP", + "name": "Etherfuse KTB", + "icon": "https://assets.coingecko.com/coins/images/102172092/thumb/KTB_Image.png?1771517177", + "decimals": 7 + }, + { + "code": "SAFO", + "issuer": "", + "contract": "CDGSC6BA4TCAOVSFQCUEHDMOIIHYYVNYBT6YEARS4MX3ITAHUINVGQHX", + "name": "Spiko Amundi Overnight Swap Fund", + "icon": "https://assets.coingecko.com/coins/images/102172590/thumb/Fund_usdSAFO.png?1774104804", + "decimals": 5 + }, + { + "code": "UKTBL", + "issuer": "", + "contract": "CDT3KU6TQZNOHKNOHNAFFDQZDURVC3MSTL4ML7TUTZGNOPBZCLABP4FR", + "name": "Spiko UK T-Bills Money Market Fund", + "icon": "https://assets.coingecko.com/coins/images/102172855/thumb/Fund_UKTBL-4.png?1776258706", + "decimals": 5 + }, + { + "code": "CHFSAFO", + "issuer": "", + "contract": "CAJD2IBSP7VO2VYJQUYJSOGPJINTUYV7MQITINXVPTIH3CCLCUENNMW4", + "name": "Spiko Amundi Overnight Swap Fund (CHF)", + "icon": "https://assets.coingecko.com/coins/images/102172593/thumb/Fund_chfSAFO.png?1774104821", + "decimals": 5 + }, + { + "code": "GBPSAFO", + "issuer": "", + "contract": "CAGYRRKPFSWKM6SJOE4QAAVYMOSHMDS5WOQ4T5A2E6XNCU7LZZKUNQKP", + "name": "Spiko Amundi Overnight Swap Fund (GBP)", + "icon": "https://assets.coingecko.com/coins/images/102172592/thumb/Fund_gbpSAFO.png?1774104818", + "decimals": 5 + }, + { + "code": "EURAU", + "issuer": "", + "contract": "CB44W727WSLHPXJ47A6DHF5D34RKWSOZAMEDXO3CF5TEEEQ2ZX4V3VRI", + "name": "AllUnity EUR", + "icon": "https://assets.coingecko.com/coins/images/68076/thumb/EURAU_black.png?1780039468", + "decimals": 4 + }, + { + "code": "SOLVBTC", + "issuer": "", + "contract": "CBIJBDNZNF4X35BJ4FFZWCDBSCKOP5NB4PLG4SNENRMLAPYG4P5FM6VN", + "name": "Solv Protocol BTC", + "icon": "https://assets.coingecko.com/coins/images/36800/thumb/solvBTC.png?1719810684", + "decimals": 8 + }, + { + "code": "XSOLVBTC", + "issuer": "", + "contract": "CAUP7NFABXE5TJRL3FKTPMWRLC7IAXYDCTHQRFSCLR5TMGKHOOQO772J", + "name": "Solv Protocol Staked BTC", + "icon": "https://assets.coingecko.com/coins/images/39384/thumb/xSolvBTC.png?1744170824", + "decimals": 8 + }, + { + "code": "EURSAFO", + "issuer": "", + "contract": "CBOOCGZSVRSZFRE4U2NWR2B4RXYVJWRCBTGOUD2JPI2TDJPWMTJX7FZP", + "name": "Spiko Amundi Overnight Swap Fund (EUR)", + "symbol": "EURSAFO", + "icon": "https://assets.coingecko.com/coins/images/102172591/thumb/Fund_eurSAF0.png?1774104814", + "decimals": 5 + }, + { + "code": "EUTBL", + "issuer": "", + "contract": "CBGV2QFQBBGEQRUKUMCPO3SZOHDDYO6SCP5CH6TW7EALKVHCXTMWDDOF", + "name": "Spiko EU T-Bills Money Market Fund", + "icon": "https://assets.coingecko.com/coins/images/39657/thumb/EUTBL.png?1723517425", + "decimals": 5 + } + ] +} diff --git a/merged-packages/stellar-wallet-snap/tsconfig.json b/packages/stellar-wallet-snap/tsconfig.json similarity index 100% rename from merged-packages/stellar-wallet-snap/tsconfig.json rename to packages/stellar-wallet-snap/tsconfig.json diff --git a/packages/tron-wallet-snap/CHANGELOG.md b/packages/tron-wallet-snap/CHANGELOG.md index b8b01826e..733239f5e 100644 --- a/packages/tron-wallet-snap/CHANGELOG.md +++ b/packages/tron-wallet-snap/CHANGELOG.md @@ -16,6 +16,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Extract shared asset util functions and inject `SnapAssetsAdapter` from `context` into `AssetsService` ([#143](https://github.com/MetaMask/internal-snaps/pull/143)) - Rename `getByKeyringAccountId` to `getAccountAssets` (with essential-asset synthesis) and update keyring callers ([#143](https://github.com/MetaMask/internal-snaps/pull/143)) +- Bump `@metamask/utils` from `^11.9.0` to `^11.11.9` ([#161](https://github.com/MetaMask/internal-snaps/pull/161)) + ## [3.1.0] ### Added diff --git a/packages/tron-wallet-snap/package.json b/packages/tron-wallet-snap/package.json index 7debfa820..1963093d3 100644 --- a/packages/tron-wallet-snap/package.json +++ b/packages/tron-wallet-snap/package.json @@ -60,7 +60,7 @@ "@metamask/snaps-jest": "^10.2.0", "@metamask/snaps-sdk": "^11.2.0", "@metamask/superstruct": "^3.4.1", - "@metamask/utils": "^11.9.0", + "@metamask/utils": "^11.11.0", "@types/lodash": "^4.17.15", "async-mutex": "^0.5.0", "bignumber.js": "^9.3.1", diff --git a/yarn.lock b/yarn.lock index 27d5c29a1..49126b87a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2161,7 +2161,7 @@ __metadata: "@metamask/snaps-jest": "npm:^10.2.0" "@metamask/snaps-sdk": "npm:^11.2.0" "@metamask/superstruct": "npm:^3.4.1" - "@metamask/utils": "npm:^11.9.0" + "@metamask/utils": "npm:^11.11.0" bip322-js: "npm:^3.0.0" concurrently: "npm:^10.0.3" dotenv: "npm:^17.2.1" @@ -2693,7 +2693,7 @@ __metadata: "@metamask/eslint-config-jest": "npm:^15.0.0" "@metamask/eslint-config-nodejs": "npm:^15.0.0" "@metamask/eslint-config-typescript": "npm:^15.0.0" - "@metamask/utils": "npm:^11.9.0" + "@metamask/utils": "npm:^11.11.0" "@types/jest": "npm:^30.0.0" "@types/lodash": "npm:^4.17.15" "@types/node": "npm:^16.18.54" @@ -3311,7 +3311,7 @@ __metadata: "@metamask/remote-feature-flag-controller": "npm:^5.0.0" "@metamask/snaps-sdk": "npm:^11.2.0" "@metamask/superstruct": "npm:^3.4.1" - "@metamask/utils": "npm:^11.9.0" + "@metamask/utils": "npm:^11.11.0" "@ts-bridge/cli": "npm:^0.6.4" "@types/jest": "npm:^30.0.0" deepmerge: "npm:^4.2.2" @@ -3676,7 +3676,7 @@ __metadata: "@metamask/snaps-jest": "npm:^10.2.0" "@metamask/snaps-sdk": "npm:^11.2.0" "@metamask/superstruct": "npm:^3.4.1" - "@metamask/utils": "npm:^11.9.0" + "@metamask/utils": "npm:^11.11.0" "@noble/ed25519": "npm:2.1.0" "@solana-name-service/sns-sdk-kit": "npm:0.9.0-beta" "@solana-program/compute-budget": "npm:0.7.0" @@ -3706,6 +3706,35 @@ __metadata: languageName: unknown linkType: soft +"@metamask/stellar-wallet-snap@workspace:packages/stellar-wallet-snap": + version: 0.0.0-use.local + resolution: "@metamask/stellar-wallet-snap@workspace:packages/stellar-wallet-snap" + dependencies: + "@metamask/auto-changelog": "npm:^6.1.1" + "@metamask/key-tree": "npm:^10.1.1" + "@metamask/keyring-api": "npm:^23.7.0" + "@metamask/keyring-snap-sdk": "npm:^9.2.1" + "@metamask/snaps-cli": "npm:^8.4.1" + "@metamask/snaps-jest": "npm:^10.2.0" + "@metamask/snaps-sdk": "npm:^11.2.0" + "@metamask/superstruct": "npm:^3.4.1" + "@metamask/utils": "npm:^11.11.0" + "@stellar/stellar-sdk": "npm:^15.0.1" + "@types/jest": "npm:^30.0.0" + async-mutex: "npm:^0.5.0" + bignumber.js: "npm:^9.3.1" + concurrently: "npm:^10.0.3" + dotenv: "npm:^17.2.1" + jest: "npm:30.0.3" + jest-it-up: "npm:^2.0.2" + jest-transform-stub: "npm:2.0.0" + lodash: "npm:^4.17.21" + oxfmt: "npm:^0.45.0" + qrcode-generator: "npm:^2.0.4" + ts-jest: "npm:^29.4.1" + languageName: unknown + linkType: soft + "@metamask/storage-service@npm:^1.0.1, @metamask/storage-service@npm:^1.0.2": version: 1.0.2 resolution: "@metamask/storage-service@npm:1.0.2" @@ -3783,7 +3812,7 @@ __metadata: "@metamask/snaps-jest": "npm:^10.2.0" "@metamask/snaps-sdk": "npm:^11.2.0" "@metamask/superstruct": "npm:^3.4.1" - "@metamask/utils": "npm:^11.9.0" + "@metamask/utils": "npm:^11.11.0" "@types/lodash": "npm:^4.17.15" async-mutex: "npm:^0.5.0" bignumber.js: "npm:^9.3.1" @@ -3873,7 +3902,7 @@ __metadata: languageName: node linkType: hard -"@noble/curves@npm:^1.2.0, @noble/curves@npm:^1.7.0, @noble/curves@npm:^1.8.1": +"@noble/curves@npm:^1.2.0, @noble/curves@npm:^1.7.0, @noble/curves@npm:^1.8.1, @noble/curves@npm:^1.9.7": version: 1.9.7 resolution: "@noble/curves@npm:1.9.7" dependencies: @@ -5103,6 +5132,46 @@ __metadata: languageName: node linkType: hard +"@stellar/js-xdr@npm:^4.0.0": + version: 4.0.0 + resolution: "@stellar/js-xdr@npm:4.0.0" + checksum: 10/d300c723e18f9d99c666499f8744a31981390ef8d780b2a321e019cbd23436a2de5b3d999e7af5e9ed334b14801497c0a19ad86ab052aff420415f2d89785a7b + languageName: node + linkType: hard + +"@stellar/stellar-base@npm:^15.0.0": + version: 15.0.0 + resolution: "@stellar/stellar-base@npm:15.0.0" + dependencies: + "@noble/curves": "npm:^1.9.7" + "@stellar/js-xdr": "npm:^4.0.0" + base32.js: "npm:^0.1.0" + bignumber.js: "npm:^9.3.1" + buffer: "npm:^6.0.3" + sha.js: "npm:^2.4.12" + checksum: 10/7a0a485395a27082adba4ab601311a25933eced065c81abbbec6d1bdf184ef9f5d42c3393fdf55f00f061da672e2511820436261c4dcc4b4eed4f3766a0b9c6c + languageName: node + linkType: hard + +"@stellar/stellar-sdk@npm:^15.0.1": + version: 15.1.0 + resolution: "@stellar/stellar-sdk@npm:15.1.0" + dependencies: + "@stellar/stellar-base": "npm:^15.0.0" + axios: "npm:1.15.0" + bignumber.js: "npm:^9.3.1" + commander: "npm:^14.0.3" + eventsource: "npm:^2.0.2" + feaxios: "npm:^0.0.23" + randombytes: "npm:^2.1.0" + toml: "npm:^3.0.0" + urijs: "npm:^1.19.11" + bin: + stellar-js: bin/stellar-js + checksum: 10/5c1138eddf1a4c261f578853aa9a2600d7e8f3e413f90f8b1bd48279d1c3f599315aff0a0876fca840deb3116a00518ac5ea7554a94015e8f1d2a60aa904b024 + languageName: node + linkType: hard + "@swc/core-darwin-arm64@npm:1.11.31": version: 1.11.31 resolution: "@swc/core-darwin-arm64@npm:1.11.31" @@ -6289,6 +6358,15 @@ __metadata: languageName: node linkType: hard +"agent-base@npm:6": + version: 6.0.2 + resolution: "agent-base@npm:6.0.2" + dependencies: + debug: "npm:4" + checksum: 10/21fb903e0917e5cb16591b4d0ef6a028a54b83ac30cd1fca58dece3d4e0990512a8723f9f83130d88a41e2af8b1f7be1386fda3ea2d181bb1a62155e75e95e23 + languageName: node + linkType: hard + "agent-base@npm:^7.0.2, agent-base@npm:^7.1.0, agent-base@npm:^7.1.1": version: 7.1.1 resolution: "agent-base@npm:7.1.1" @@ -6582,6 +6660,18 @@ __metadata: languageName: node linkType: hard +"axios@npm:1.18.1": + version: 1.18.1 + resolution: "axios@npm:1.18.1" + dependencies: + follow-redirects: "npm:^1.16.0" + form-data: "npm:^4.0.5" + https-proxy-agent: "npm:^5.0.1" + proxy-from-env: "npm:^2.1.0" + checksum: 10/c4cdced3ee0a9bf7dcae189fbc74a124aa079d4f04dbd995e602d39c1419476e8d021f87ee39ac8d8398e5a55e6d0b986238b3645f0d9177ac80de87c2a73f18 + languageName: node + linkType: hard + "b4a@npm:^1.6.4": version: 1.8.1 resolution: "b4a@npm:1.8.1" @@ -6798,6 +6888,13 @@ __metadata: languageName: node linkType: hard +"base32.js@npm:^0.1.0": + version: 0.1.0 + resolution: "base32.js@npm:0.1.0" + checksum: 10/7d7401a8f5c4ec45336ff72c97ee554b9bc22c2153b301acf657e6f9e25928a6205b2cfc55731072ba5686515e4903e2d3e462bea49db5f1515bbd01da1276ad + languageName: node + linkType: hard + "base58-js@npm:^1.0.0": version: 1.0.5 resolution: "base58-js@npm:1.0.5" @@ -7631,6 +7728,13 @@ __metadata: languageName: node linkType: hard +"commander@npm:^14.0.3": + version: 14.0.3 + resolution: "commander@npm:14.0.3" + checksum: 10/dfa9ebe2a433d277de5cb0252d23b10a543d245d892db858d23b516336a835c50fd4f52bee4cd13c705cc8acb6f03dc632c73dd806f7d06d3353eb09953dd17a + languageName: node + linkType: hard + "commander@npm:^2.20.0": version: 2.20.3 resolution: "commander@npm:2.20.3" @@ -9038,6 +9142,13 @@ __metadata: languageName: node linkType: hard +"eventsource@npm:^2.0.2": + version: 2.0.2 + resolution: "eventsource@npm:2.0.2" + checksum: 10/e1c4c3664cebf9efdd55c90818ef847099f298bf521768d479cf22d8a681e666b3042de85327711ba6a8414ac6a04c70d2aeb4f405bba8239a8c36e06a019374 + languageName: node + linkType: hard + "evp_bytestokey@npm:^1.0.0, evp_bytestokey@npm:^1.0.3": version: 1.0.3 resolution: "evp_bytestokey@npm:1.0.3" @@ -9371,6 +9482,15 @@ __metadata: languageName: node linkType: hard +"feaxios@npm:^0.0.23": + version: 0.0.23 + resolution: "feaxios@npm:0.0.23" + dependencies: + is-retry-allowed: "npm:^3.0.0" + checksum: 10/e71ed43310bff03fb54338502369422c7b655bdf806fc4dc7e2bbc051d15ce7acc4f91800c3389cedfdcde6f0f6f076f6872a4d0258934aa08e0678869f2678f + languageName: node + linkType: hard + "file-entry-cache@npm:^8.0.0": version: 8.0.0 resolution: "file-entry-cache@npm:8.0.0" @@ -9483,7 +9603,7 @@ __metadata: languageName: node linkType: hard -"follow-redirects@npm:^1.15.6": +"follow-redirects@npm:^1.15.6, follow-redirects@npm:^1.16.0": version: 1.16.0 resolution: "follow-redirects@npm:1.16.0" peerDependenciesMeta: @@ -9535,7 +9655,7 @@ __metadata: languageName: node linkType: hard -"form-data@npm:^4.0.4": +"form-data@npm:^4.0.4, form-data@npm:^4.0.6": version: 4.0.6 resolution: "form-data@npm:4.0.6" dependencies: @@ -10057,6 +10177,16 @@ __metadata: languageName: node linkType: hard +"https-proxy-agent@npm:^5.0.1": + version: 5.0.1 + resolution: "https-proxy-agent@npm:5.0.1" + dependencies: + agent-base: "npm:6" + debug: "npm:4" + checksum: 10/f0dce7bdcac5e8eaa0be3c7368bb8836ed010fb5b6349ffb412b172a203efe8f807d9a6681319105ea1b6901e1972c7b5ea899672a7b9aad58309f766dcbe0df + languageName: node + linkType: hard + "https-proxy-agent@npm:^7.0.1": version: 7.0.5 resolution: "https-proxy-agent@npm:7.0.5" @@ -10439,6 +10569,13 @@ __metadata: languageName: node linkType: hard +"is-retry-allowed@npm:^3.0.0": + version: 3.0.0 + resolution: "is-retry-allowed@npm:3.0.0" + checksum: 10/12d17b44410484c6b0292ca38127b2ad026b65d1c1ead40f055effb2498c1a65b28ac5bc8f0383d0d091f84c1f791c3e09da32219fc3a745c3b1bab106db6cfb + languageName: node + linkType: hard + "is-stream@npm:^2.0.0": version: 2.0.1 resolution: "is-stream@npm:2.0.1" @@ -13054,6 +13191,13 @@ __metadata: languageName: node linkType: hard +"proxy-from-env@npm:^2.1.0": + version: 2.1.0 + resolution: "proxy-from-env@npm:2.1.0" + checksum: 10/fbbaf4dab2a6231dc9e394903a5f66f20475e36b734335790b46feb9da07c37d6b32e2c02e3e2ea4d4b23774c53d8562e5b7cc73282cb43f4a597b7eacaee2ee + languageName: node + linkType: hard + "public-encrypt@npm:^4.0.3": version: 4.0.3 resolution: "public-encrypt@npm:4.0.3" @@ -13096,6 +13240,13 @@ __metadata: languageName: node linkType: hard +"qrcode-generator@npm:^2.0.4": + version: 2.0.4 + resolution: "qrcode-generator@npm:2.0.4" + checksum: 10/c488558bca2869d8837300da299a9653030dbb486ce6113153585b117fa0ab6822a03c8312cc794d41c2e3f8353dc64b950e8a3ffe90f89022593c4e7060cd53 + languageName: node + linkType: hard + "qs@npm:^6.12.3, qs@npm:^6.14.0, qs@npm:^6.14.1, qs@npm:~6.15.1": version: 6.15.2 resolution: "qs@npm:6.15.2" @@ -14562,6 +14713,13 @@ __metadata: languageName: node linkType: hard +"toml@npm:^3.0.0": + version: 3.0.0 + resolution: "toml@npm:3.0.0" + checksum: 10/cfef0966868d552bd02e741f30945a611f70841b7cddb07ea2b17441fe32543985bc0a7c0dcf7971af26fcaf8a17712a485d911f46bfe28644536e9a71a2bd09 + languageName: node + linkType: hard + "totalist@npm:^3.0.0": version: 3.0.1 resolution: "totalist@npm:3.0.1" @@ -15037,6 +15195,13 @@ __metadata: languageName: node linkType: hard +"urijs@npm:^1.19.11": + version: 1.19.11 + resolution: "urijs@npm:1.19.11" + checksum: 10/2aa5547b53c37ebee03a8ad70feae1638a37cc4c7e543abbffb14fc86b17f84f303d08e45c501441410c025bab22aa84673c97604b7b2619967f1dd49f69931f + languageName: node + linkType: hard + "url@npm:^0.11.1": version: 0.11.4 resolution: "url@npm:0.11.4"