Web
You can find the latest updates for the Portal Web SDK below.
Last updated
Was this helpful?
You can find the latest updates for the Portal Web SDK below.
Last updated
Was this helpful?
# 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.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.