Web

You can find the latest updates for the Portal Web SDK below.

https://github.com/portal-hq/portal-web/blob/main/CHANGELOG.md
# Changelog

All notable changes to this project will be documented in this file.
Possible Types of changes include:

- Added
- Changed
- Deprecated
- Removed
- Fixed
- Security

## 3.4.2 - 2025-03-03
- Adds `portal.receiveTestnetAsset` method and `portal.api.fund` method to fund a Portal client with testnet tokens
- Adds `portal.sendAsset` method that builds and submits a transaction to send tokens
-

## 3.4.0 - 2024-12-21
- Adds support for ejecting ED25519 wallet

## 3.3.1 - 2024-11-20

- Adds `chainId` as optional field to Portal Class
- Fixes compatibility with lido sdk provider

## 3.3.0 - 2024-11-04

- Added `evaluateTransaction` method for both EVM and Solana
- Added `buildTransaction` method for both EVM and Solana
- Added `getNFTAssets` method to get NFT assets by chainId
- Added `getAssets` method to get assets by chainId
- Added `isWalletBackedUp` method to check if the user has backed up their wallet
- Added `isWalletRecoverable` method to check if the user can recover their wallet
- Added `availableRecoveryMethods` method that returns a list of available recovery methods based on the user's backups
- Deprecated `personalSign`, `getBalances`, `getNFTs`, and `simulateTransaction`

## 3.2.3 - 2024-10-16

- Fixes cross-SDK recovery

## 3.2.2 - 2024-10-15

- Fixes some typing issues with the `chainId` when using the Portal Swaps implementation.

## 3.2.1 - 2024-09-06

- Added support for `rawSign`

## 3.2.0 - 2024-07-24

- Adds support for Backup with Portal.

## 3.1.0 - 2024-06-21

- Removes unnecessary `featureFlags.optimzed` flag
- Update error handling
- Captures the SDK version for server-side logging during MPC operations

## 3.0.2 - 2024-05-29

- Fixes issues with the Google auth prompt not firing properly.

## 3.0.1 - 2024-05-28

- Replaces our Google oAuth implementation with the GSI library to address Google Drive permissions issues.

## 3.0.0 - 2024-05-15

This release includes major changes to our Web SDK, and specifically it includes support for Solana!

We also completely rewrote [the documentation for the Web SDK](https://docs.portalhq.io/guides/web), so we recommend reviewing them from the beginning as you upgrade to `3.0.0`!

- Added `portal.sendSol`
- Renames `portal.ejectPrivateKey` to `portal.eject`, also fixes eject functionality
- `new Portal(config)`, `config` excludes `chainId`, changes property `gatewayConfig` to `rpcConfig`
- Added `portal.getEip155Address`
- Added `portal.getSolanaAddress`
- Added `portal.checkSharesOnDevice`
- Added `portal.doesWalletExist`
- Added `portal.isWalletOnDevice`
- `portal.ethEstimateGas` now has `chainId` as the first argument, added deprecation warning
- `portal.ethGasPrice` now has `chainId` as the first argument, added deprecation warning
- `portal.ethGetBalance` now has `chainId` as the first argument, added deprecation warning
- `portal.ethSendTransaction` now has `chainId` as the first argument, added deprecation warning
- `portal.ethSign` now has `chainId` as the first argument, added deprecation warning
- `portal.ethSignTransaction` now has `chainId` as the first argument, added deprecation warning
- `portal.ethSignTypedData` now has `chainId` as the first argument, added deprecation warning
- `portal.ethSignTypedDataV3` now has `chainId` as the first argument, added deprecation warning
- `portal.ethSignTypedDataV4` now has `chainId` as the first argument, added deprecation warning
- `portal.personalSign` now has `chainId` as the first argument, added deprecation warning
- `portal.getBalances` now has `chainId` as the first argument
- Removed `portal.getBackupShareMetadata` (in favor of `portal.getClient`)
- Removed `portal.getSigningShareMetadata` (in favor of `portal.getClient`)
- `portal.getNFTs` now has `chainId` as the first argument
- `portal.getTransactions` now has `chainId` as the first argument
- `portal.simulateTransaction` now has `chainId` as the first argument
- `portal.getQuote` now has `chainId` as required
- `portal.getSources` now has `chainId` as required
- `portal.getRpcUrl` now has `chainId` as an optional argument

## 2.0.1 - 2024-05-03

- Changed the EMM endpoints for `v1` to `v1/sdk`

## 2.0.0 - 2024-04-26

- Adds multi-wallet support (a prerequisite for Solana support!)
  - `portal.backup()` is now returning a `BackupResponse` type, so this release includes a breaking change.

## 1.0.4 - 2024-03-08

- Updated binary.

## 1.0.3 - 2024-02-29

- Added the `featureFlag.isMultiBackupEnabled` if present to `storedClientBackupShare` and `storedClientBackupShareKey` requests

## 1.0.2 - 2024-02-23

- Multi-backup is here in all SDKs! Read how to get started using it with the [Multi-Backup Migration Guide](https://docs.portalhq.io/resources/multi-backup-migration-guide).

## 1.0.1 - 2024-02-16

- Added `.getBackupShareMetadata()` to get backup shares' details for a user.
- Added `.getSigningShareMetadata()` to get signing shares' details for a user.
- 3X Performance optimizations for all MPC operations!!!
- Adds support for multi-backup. (Details to follow next week!)
- Configurable relying party for Passkeys
- Resolves session management for local development

## 1.0.0 - 2024-02-16

- Added multi-backup functionality
  - Allow multiple backing up and recovering with multiple backups.
  - Update `MpcShare` type to include optional `backupSharePairId`.
  - Update `recoverBackup`
  - Update `portal.backup`
  - Add api endpoint handler `portal.api.getBackupShareMetadata` (array of backup share pair records, includes `{ backupSharePairId }`) for new endpoint.
  - Update `storedClientBackupShareKey` API request to pass in `backupSharePairId` in the request body
  - Update `recoverSigning`

## 0.1.2 - 2024-02-02

- Support for client attestation when using the `optimized: true` feature flag

## 0.1.1 - 2024-01-26

This release includes access to the Passkeys via our Web SDK!

- Fixes bug with webview switch chain
- Passkey + Enclave Storage (Alpha)
  - check out the [docs](https://docs.portalhq.io/sdk/web/backing-up-a-wallet/backup-options#passkey--enclave-backup) to learn more

## 0.1.0 - 2024-01-19

This release includes access to the Eject Feature via our SDKs!

Eject enables users to choose to migrate from MPC (with two key _shares_) to their own non-custodial wallet with a single private key. You can learn more about the [Eject Feature on our docs](https://docs.portalhq.io/resources/eject).

- Eject feature available via the `portal.ejectPrivateKey` function.

## 0.0.8 - 2023-12-11

- Adds typed imports to unblock Alchemy.

## 0.0.7 - 2023-12-08

- Added convenience methods for `ethGetBalance`, `ethEstimateGas`, and `ethGasPrice`.
- Updated example apps to use the `Sepolia` chain instead of `Goerli` by default.

## 0.0.6 - 2023-11-21

- Fixes opposite check on chainIds in gateway config to prevent false positive errors.

## 0.0.5 - 2023-11-03

-Use `portal.provisionWallet` (or `portal.recoverWallet`) to enable your users to create multiple signing shares across all of the Portal SDKs. [Read more here](https://docs.portalhq.io/sdk/react-native/cross-device-sessions).

## 0.0.4 - 2023-10-27

- Enhanced `portal.getTransactions` to support optional arguments: `limit`, `offset`, `order`, and `chainId`.
  - Transactions from `portal.getTransactions` now include `metadata.blockTimestamp` and `chainId`. Read more [here](https://docs.portalhq.io/sdk/web-beta/portal-api-methods#portal.gettransactions).
- Added support for `allowanceTarget` in Swap quotes.
- New helper methods for `getBalances`, `getTransactions`, and `getNFTs`. Read more here.
- Introduced Swaps support.

## 0.0.3 - 2023-10-25

- Fixes issues with how `worker.js` is reading and writing `localStorage` items. Updates this process to use the same methods we're using in `core` by requesting values via the `postMessage` api.
- Monorepo refactor
  - `browser` - the `npm` package source code that will ultimately run in the browser within the customer's DOM
  - `iframe` - the source code that is bundled and pushed up to GCP during the release process and ultimately run within an iframe living on `web(-staging).portalhq.io`
  - This will ensure that the import path for iframe files and the `npm` package remain isolated, which should prevent mistakes and missed errors (particularly in reference to imports) between local development and production.

## 0.0.2 - 2023-10-23

- Centralizes our use of the `Keychain` instance for accessing `localStorage` and fixes the issues with how this class was reading and writing data.
  - Updating the keys used in the `Keychain` instance
  - Adding support for fetching client data in the `Keychain` class
  - Ensuring the `Keychain` class was using the updated keys (with the `clientId` appended) to read and write data

## 0.0.1 - 2023-10-20

- Resolves issues with WalletConnect when dApps exclude `requiredNamespaces` fields in their session proposal
- Sets max-age on Web SDK cookies
- Improved logging
- The alpha release of our Password/PIN Backups is now included

## 0.0.1-rc2n - 2023-10-17

- Resolved build issues with version `0.0.1-rc2m`

## 0.0.1-rc2m - 2023-10-13

- Added `backupStatus` and `signingStatus` in `portal.api.getClient` & `portal.client` returned values.
- Updated types for `/clients/me` endpoint.
- Added `portal.getTransactions`, `portal.getClient`.
- Origin validation for `postMessages`.
- Coding style unified via linters.

## 0.0.1-rc2l - 2023-09-29

- Security Update: Transitioned from static Paillier key usage to dynamic Paillier key retrieval.

## 0.0.1-rc2k - 2023-09-22

- Enhanced MPC & API call tracking.
- Refreshed binary.
- Recovery Update:
  - **_Breaking Change_**: The `recover` function now solely updates signing shares, returning the wallet address similar to `generate`.
  - Earlier versions updated both signing and backup shares, with potentially confusing error handling.
  - For those wanting the older method, use the new `legacyRecover` function.

## 0.0.1-rc2d to 0.0.1-rc2j - 2023-08-25

### Added

- `portal.api.simulateTransaction`
- Request using `portal.api.storedClientBackupShareKey` on `backup` and `recover` following successfully saving the client backup share encryption key to the user's backup method.
- Add unit tests for Google Drive.

Last updated

Was this helpful?