- Add optional
label
field toConnectedWallet
instances, which contains the user-defined label of the wallet
- Handle more wallet errors in the
wrap
function
- Add legacy amino type to
MsgSend
model - Add
MsgMigrateContract
,MsgStoreCode
,MsgBeginRedelegate
,MsgDelegate
,MsgUndelegate
,MsgWithdrawDelegatorRewards
,MsgWithdrawValidatorCommission
models - Add ed25519 signature type
- Add Keplr default sign options to
WalletConnectV2
- Pin
@walletconnect/sign-client
dep to v2.8.x to reduce bundle size
- Regenerate
pnpm-lock.yaml
to fix dep issues
- Fix
RpcClient
'sRequestMessage
type error when using a request with an existingheight
field
- Add custom
WalletError
class to normalise wallet errors - Add
MsgInstantiateContract
class
- Fixed verification of station mobile signatures
- Fixed
verifyArbitrary
to verify arbitrary signatures done via Station's new Keplr interface
- Added OWallet extension support (does not support wallet connect yet)
- Ignore all errors in retrieving public keys for Station Extension
- Txs are now broadcasted directly via the user-specified RPC instead of via the wallet (closes coinhall#17)
- Update Station extension to use Keplr's API interface
- Parse
EthermintAccount
intoBaseAccount
util function
- Fix Station mobile wallet to not throw errors if pub keys do not exist
- Fix Station mobile wallet connect issue when connecting more than 1 chain
- Allow Terra testnet to work correctly with Station extension
- Added Dymension's GAMM protobufs
- Pinned Cosmos SDK protobuf to
v0.47.9
- Added tx signing support for Dymension chain
- Fixed
MnemonicWallet
to generate Injective signatures correctly
- Fixed
MnemonicWallet
to resolve Injective address correctly
- Added Ninji wallet support to execute txs via Ninji extension on Injective network (does not support wallet connect yet)
- Fixed MetaMask on Injective to work correctly with
MsgExecuteContractCompat
whenfunds
are empty
- Fixed the
verifyArbitrary
function to work correctly for all chains, including Injective which uses a different key algorithm
- Added the
verifyArbitrary
helper function (exported bycosmes/wallet
) to verify signatures signed usingConnectedWallet.signArbitrary
- Fixed the
recoverPubKeyFromEthSignature
helper function to calculate and use the correct recovery bit when generating thesecp256k1
model
- Added Compass wallet support to execute txs via Compass extension on Sei network (does not support wallet connect yet)
- Added MetaMask wallet support to execute txs via MetaMask extension on Injective network (does not support wallet connect yet)
- Added
extensionOptions
toTx.toSignedProto
- Fixed
ConnectedWallet.estimateFee
to properly extract account sequences from errors thrown by Injective RPCs
- Included
isCW20
option forsimulateAstroportSinglePoolSwap
function to handle swapping from CW20 assets
- Fixed Leap wallet android deep link to ensure redirect happens correctly
- Fixed
toKeplrChainInfo
to returnundefined
for coingecko ID if it is absent
- Added
timeout_height
parameter when simulating or broadcasting txs - Use sign mode direct (instead of legacy amino) for non-ledger extension wallets and
MnemonicWallet
- Added support for sign mode direct for
WalletConnectV2
(although no mobile wallets support it currently) - Reduced bundle size by combining Keplr-like wallets into the same interface (
examples/solid-vite
reduced from 509kb to 487kb minified)
- Added support for Injective chain (both mainnet and testnet)
- Use
JSON.stringify
on errors thrown by Station Extension to avoid[object Object]
errors
- Added
Tx.toSignDoc
method to form an unsigned, proto encoded tx ready to be signed by a wallet
- Added the optional
height
params to theFetchClient
to execute queries at a custom block height - Added batching of queries to
FetchClient
(seeexamples/batch-query
)
- Added
MnemonicWallet
to allow programmatic signing and broadcasting of txs without relying on a 3rd party wallet/signer (see examples directory) - Simplified wallet APIs [breaking change]
getAccount()
: renamed and reworked togetAuthInfo()
, but consumers are no longer required to call this method to broadcast transactionsestimateFee()
: second parameter now accepts thefeeMultiplier
directly (still optional) instead of the auth infobroadcastTx()
: second parameter now accepts thefee
from the result ofestimateFee()
(no longer optional) instead of the auth infobroadcastTxSync()
: new function that executesestimateFee
,broadcastTx
, andpollTx
sequentially
- Handle account sequence mismatch errors directly in
ConnectedWallet.estimateFee()
by retrying once with the correct sequence
- Removed the various
fromXxxToYyy
encoding/decoding functions withincosmes/codec
in favour of@scure/base
[breaking change]- The
@scure/base
pkg is re-exported incosmes/codec
- Consumers should import the correct encoder or decoder directly from
cosmes/codec
: eg. changefromHexToUint8Array(...)
tobase16.decode(...)
- The
- Re-exported
@keplr-wallet/types
fromcosmes/registry
- Added the
cosmes/registry
package with the following additions:- APIs to dynamically query for data in Chain Registry
- Util function to transform Chain Registry data to Keplr's chain info
- The
toBaseAccount
utility can now handle all vesting account types
- Prevent redirecting users to the mobile app when querying for the user's account via WalletConnect (on first connect)
- Allow memo and fee fields to be set by user for WalletConnect wallets
- Fixed Cosmostation WalletConnect to use updated API changes
- Added missing
memo
field forMsgIbcTransfer
- Added missing barrel export for
MsgIbcTransfer
model
- Added ICS 23 protobufs from
cosmos/ics23
to fixibc-go
dependency issues
- Added IBC protobufs from
cosmos/ibc-go
- Added
MsgIbcTransfer
model
- Updated Station extension to use the new APIs injected into the
window
scope
- Changed
lodash
dependency tolodash-es
- The
onDisconnect
callback in theWalletController
class now accepts a function that contains a list of disconnected wallets instead of a list of disconnected chain ID strings
- Added the
onAccountChange
event to theWalletController
class to allow consumers to detect wallet account changes (works for all wallets except Station via WalletConnect v1)
- Added
lodash
as peer dependency
- Replaced all
@walletconnect-v1
dependencies with correct legacy libraries at https://github.com/WalletConnect/walletconnect-legacy - Added bundle size benchmarks (see
./benchmarks
folder) - Improved docs on installing, polyfills, and benchmarks
- Changed GPL v3 license to MIT license
- First public release