- Generate Mnemonic
- Generate a new vault
- Get the list of accounts
- Export mnemonic
- Export private keys
- Add a new account to the keyring
- Sign message
- Sign transaction
- Delete account
- Recover vault
- Added github actions workflow
- Implemented method to sign eip1559 transactions
- Updated the constructor parameter to initialize the SDK using the encrypted vault string
- Implemented the updated vault-eth-controller sdk to sign eip1559 transactions.
- Implemented the method to validate the user's PIN.
- Fixed the issue where some function were calling the validatePin function incorrectly.
- Updated the variable to return the error messages from
response
toerrorMessage
sinceresponse
was conflicting with the function success.
- Fixed the issue where the updated vault was not getting stored in the local storage.
- Updated the README with the new constructor initialization and also the
validatePin
function.
- Integrated the BSC controller with the vault.
- Updated the bsc controller package.
Deprecated package was
@getsafle/bsc-wallet-controller
and updated one is@getsafle/vault-bsc-controller
.
- Integrated the Polygon wallet controller.
- Integrated the Bitcoin wallet controller.
- Extended the functionality to delete an account for all the chains.
- Implemented a method to get the list of all the supported EVM and non-EVM chains.
- Integrated the Harmony wallet controller.
- Integrated the Avalanche wallet controller.
- Integrated the Velas vault controller.
- Integrated the Transaction Controller for asset discovery on Ethereum and Polygon chains for vault recovery.
- Added a method to validate the mnemonic phrase of the user.
- Created a method to import a wallet using private key for all the supported chains.
- Created a method to get the list of chains for which the user has generated or imported a wallet.
- Updated the importWallet function to return the public address of the private key along with the encrypted vault string.
- Updated the
getActiveChains()
andgetSupportedChains()
functions to return the chains along with their symbols.
- All the functions which changes the state of the vault now also maintains a log of the changes.
- Implemented a function to retrieve all the logs
getLogs()
. - BREAKING CHANGE:
addAccounts()
function now returns an object with vault and the newly added account.
- Added a function (
getVaultDetails()
) to get the detailed list of all accounts for all chains. Implemented token detection for all evm supported wallets for eth and polygon chains. - BREAKING CHANGE: Vault initialization accepts only the vault string as the parameter. If the vault has not been generated, then the constructor will be empty.
- BREAKING CHANGE:
recoverVault()
function also acceptsrpcUrl
as the parameter. - BREAKING CHANGE:
signTransaction()
function also acceptsrpcUrl
as the parameter.
- Added a function (
getBalance()
) to get the native asset balance for an address.
- Added a function (
sign()
) to sign a transaction object or message and get the signature object.
- Added a validation to ensure that the pin entered is a positive integer value
- Fixed bug where user cannot delete imported wallets.
- Integrated BSC chain wallet scanning for
recoverVault()
function. - Integrated BSC chain for
getVaultDetails()
function.
[Bugfix]: Fixed the bug where the user was unable to export the private keys of their bitcoin wallet
- Fixed the bug where the user was unable to export the private keys of their bitcoin wallet
importWallet()
function throws an error if the address is already present in the vault.- Implemented lodash library to query the nested object keys for all functions.
- Added a condition in the
importWallet()
function to check if the output of thegetAccounts()
is an error.
- Every address in the vault will have a default wallet label.
- Added the functionality to change the wallet label -
updateLabel()
.
getVaultDetails()
will also return the wallet label in the output.
validatePin()
fix an issue where the function returned an uncaught errorMalformed UTF-8 data
.
- Fixed an issue where the user was unable to generate a bitcoin wallet for the first time.
- Updated the
restoreKeyringState()
function to restore the state for non-evm chains too.
- Removed the condition which checks if the address is present in the vault to get the balance.
- Integrated Solana vault controller for generating solana wallets and perform operations.
- Integrated Tezos vault controller for generating tezos wallets and perform operations.
[BREAKING Changes] Segregated the functionality of getVaultDetails()
function into 2 diferent functions.
getVaultDetails()
function will only return the address of all the chains- Created a new function
getAssets()
which returns the list of assets for all the addresses on all the chains passed in an array.
- Fixed the issue where the addresses generated after executing
restoreKeyringState()
are duplicates.
- Removed tezos integration due to some compatibility issue in the tezos controller with RN framework.
- Updated Polygon controller version to support type2 transaction signing.
- [BREAKING] Added network selection for
validateMnemonic()
function.
- Implemented a function to change the vault pin.
changePin()
function returns the new vault string.- Added a new parameter
encryptionKey
.
- Removed
velas
,avalanche
,solana
andharmony
chain integration.
- Added error handling for an uncaught error when user inputs an invalid mnemonic in the
validateMnemonic()
function .
- Updated
safle-identity-wallet
package version. - [Breaking Change] -
validateMnemonic()
also accepts polygonRpcUrl.
- Updated the condition check for pin in the
generateVault()
function. Now users can also choose000000
as the pin.
- The developer who wants to integrate the safle-vault sdk can inject their own encryption/decryption function in the constructor. The functions can be passed inside
encryptor
object. - [Breaking Change] - Constructor parameters have to be passed as an object.
- The constructor accepts a new optional parameter called
platform
which will be saved in the logs.
- Fixed the bsc chain naming convention from
binance smart chain
tobsc
.
- Fixed a bug which prevented a user from importing the same account post deleting it
- Updated BTC vault controller version and fixed Bitcoin transaction signing issue
- Updated transaction controller version
- Updated bitcoin controller version to fix the utxo calculation while transaction signing.
- Rebased the versions 1.19.0, 1.20.0, 1.18.4, 1.18.5, 1.18.6, 1.18.7 and 1.18.8 into a new version 1.21.1
- Every address has a new flag
isExported
associated with it to track if the private key of that address has been exported. - [Breaking Change] encryptedEncryptionKey has to be passed in the
exportPrivateKey()
,signTransaction()
andsign()
function.
- Updated the output of
getVaultDetails()
function to make it more consistent. All the wallet objects are returned in an array inside thegeneratedWallets
orimportedWallets
object under their respective chains.
- Constructor also accepts the parameter
storage
where the developer can pass the vault storage mechanisms as an array.
- Created a function (
restoreAccount()
) to restore the deleted wallets.
- Enabled the user to change the wallet label for a specific EVM chain.
- [Breaking Change] -
updateLabel()
function accepts an extra parameterchainName
which is the name of the EVM chain for which the label is to be updated.
- Updated the vault logs parameters by removing the vault string and adding the platform and storage values.
- New release with all the functionalities till v1.24.1.
- Implemented backward compatiblity for update label method for wallets created on versions before 1.24.1
- Stable release 1.26.0
- Added helper method createWalletLabels to create dynamic labels for wallets
- Updated @getsafle/vault-eth-controller to v1.4.1
- Implemented validateEncryptionKey method for importWallet
- Implement checksum addresses for validateMnemonic
- Implemented check for null accepted as a valid wallet label
- Implemented validateEncryptionKey method for UpdateLabel
- Updated error message from validateEncryptionKey
- Fxied issue with signTransaction method accepts from address in lowercase
- Add length validation for pin
- Added testcases for vault sdk
- Added coverage report
- Implemented test cases and fixed CI for the same
- Updated Readme
- Updated error message for incorrect PIN type entry
- Updated outdated dependencies and removed unused package dependencies
- Added throttling on validate Pin
- Removed buffer creation for sign message
- Updated sign message for imported wallets
- update keyring to redirect to correct chain controller while importing wallet
- update keyring to slice incoming private key if it has '0x' prefixed for it to be imported
- Enabling sign transaction for an imported wallet on ETH chain
- Upgrade ETH, polygon and BSC controller, adding new controllers Optimism and Arbitrum
- Updated CI with added branches
- Updated node version in CI
- cleaned package structure
- Updated all ethereum based controllers
- Added new controllers for Mantle and Velas chain
- Updated test cases according to new chain integrated
- Updated sign message for ethereum chain to filter message hash
- Updated vault state with decryptedVault
- Updated rate limiting for pin validation, upto 10
- pakage dependency updates
- update lable correction
- Updated keyring to slice exported private key if it has '0x' prefixed to add backward campatability for imported wallets
- Updated the logs for label update & delete account
- Removed unused encryption key parameter in get accounts
- Added validation for pin parameter in export private key, restore keyring state & current pin parameter in change pin
- Added validation for encryption key in add account, sign message, delete account, get vault details & update label
- Sync the pin validation steps with other methods in import wallet
- Updated tests wrt changes in vault generation and parameter validations
- Implemented vault recovery using logs and updated tests
- Implemented account recovery in case of deleted accounts, both generated and imported
- Added test cases for account recovery
- Added logs for export mnemonic
- Added logs for export private key(for generated and imported accounts)
- Re-encrypted the private key of imported wallets and updated vault state after change pin
- Added checksum for address comparison in export private key
- Updated label creation according to logs
- Updated test cases according to checksum address comparison in export private key
- Updated pin format from number to string
- updated test cases according to pin format changes
- Updated pin while resetting imported wallets
- Integrated upgraded bitcoin controller into vault
- Enable backward compatibility in vault recovery for evm chains for undefined chain parameter in logs
- Generate a default wallet for every chain when generating vault
- Add fallback for recover vault - the default address to be recovered for every chain
- Updated recover vault to create default wallet address for bitcoin for preexisting vaults
- Updated test result for bitcoin
- Removed workflow for nightly release branch
- Merging nightly release 1.31.0 into main branch
- Added backward compatibility in recover vault to handle incomplete logs for older users
- Updated restore keyring state for other chains
- Response updated for no accounts found
- Added a precheck of current chain in decrypted vault while restoring keyring state
- Node version upgrade to 18.x
- Added getFees() method to get transaction fees
- Updated readme for getFees() method
- Added test for getFees() method
- Updated controller version of eth, polygon, bsc, optimism, arbitrum, mantle, velas, bitcoin
- Integrated avalanche C chain in safle vault.
- Integrated base chain in safle vault.
- Integrated polygon zkEVM chain in safle vault.
- Updated recover vault to handle disordered logs and duplicate addresses.
- Updated bitcoin controller version
- Increased rate limit for validating pin
- Updated bitcoin controller version
- Updated bitcoin controller version with proxy service integrated
- Updated bitcoin controller version with network param for signing
- Updated restore keyring state and vault structure in recover vault function for bitcoin
- Updated recover vault to handle recurring addresses in logs
- Removed function
getAssets()
to get the list of assets of all the accounts associated as it is moved to an api service. - Updated avalanche, base and zkEVM controllers.
- Refactored recover vault logic and generalized it for evm and non evm chains
- updated labeling for evm and non evm wallet accounts
- Integrated restore account logs for vault recovery
- Integrated stacks chain in safle vault
- Upgraded stacks controller version
- Updated add account for stacks addresses
- Upgraded stacks controller version
- Integrated solana chain in safle vault
- Updated test cases
- Integrated BEVM chain in safle vault
- Integrated rootstock chain in safle vault
- Update BEVM controller version
- Fixed validatePin function for tests
-Integrated vault-evm-controller -Resolved issue for unarchival of a wallet -Adding test for bitcoin -Adding sensitive info in env github pipeline
-Integrated the following chains to safle-vault opBNB, Ronin, Sei Skale - Nebula, Immutable zk-EVM