The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- @cosmjs/math: Add
Decimal.floor
andDecimal.ceil
. - @cosmjs/tendermint-rpc: Add
num_unconfirmed_txs
endpoint. (#1150)
- @cosmjs/stargate: Let
calculateFee
handle fee amounts that exceed the safe integer range.
0.28.4 - 2022-04-15
- @cosmjs/math: Add
Decimal.zero
andDecimal.one
(#1110). - @cosmjs/amino: Add
addCoins
(#1116) - @cosmjs/stargate: Add
StargateClient.getBalanceStaked()
to query the sum of all staked balance. (#1116)
- @cosmjs/faucet: Docker build image is 90 % smaller now (from 500 MB to 50 MB) due to build system optimizations (#1120, #1121).
- @cosmjs/cosmwasm-stargate:
CosmWasmClient.connect
andSigningCosmWasmClient.connectWithSigner
now accept custom HTTP headers (#1007) - @cosmjs/stargate:
StargateClient.connect
andSigningStargateClient.connectWithSigner
now accept custom HTTP headers (#1007) - @cosmjs/tendermint-rpc:
Tendermint34Client.connect
now accepts custom HTTP headers (#1007).
0.28.3 - 2022-04-11
- @cosmjs/encoding: Add missing export:
normalizeBech32
.
0.28.2 - 2022-04-07
- @cosmjs/encoding: Create
normalizeBech32
. - @cosmjs/stargate: Added support for
MsgCreateVestingAccount
(#1074). Please note that Amino JSON signing is currently not available for this type (#1115).
0.28.1 - 2022-03-30
- @cosmjs/stargate: Added the ability to specify a custom account parser for
StargateClient
- @cosmjs/proto-signing: Add missing runtime dependencies @cosmjs/encoding and @cosmjs/utils.
- @cosmjs/tendermint-rpc: Add missing runtime dependency @cosmjs/utils.
0.28.0 - 2022-03-17
- all: The TypeScript compilation target is now ES2018.
- @cosmjs/crypto: Add
Secp256k1.uncompressPubkey
. - @cosmjs/crypto: Replace hashing implementations with @noble/hashes (#960).
- @cosmjs/faucet: Set default value of
FAUCET_GAS_LIMIT
to 100_000 to better support Cosmos SDK 0.45 chains. - @cosmjs/stargate: The
AminoTypes
now always requires an argument of typeAminoTypesOptions
. This is an object with a requiredprefix
field. Before the prefix defaulted to "cosmos" but this is almost never the right choice for CosmJS users that need to add Amino types manually. (#989) - @cosmjs/cosmwasm-stargate:
height
,gasWanted
andgasUsed
have been added to all result types ofSigningCosmWasmClient
- @cosmjs/stargate:
MsgSend
andCoin
are now parts ofdefaultRegistryTypes
. (#994) - @cosmjs/proto-signing:
Registry
's constructor can now override default types. (#994) - @cosmjs/tendermint-rpc: The property
evidence
in the interfaceBlock
is now non-optional. (#1011) - @cosmjs/stargate: Added the following message types to stargate's
defaultRegistryTypes
: (#1026)- cosmos.authz.v1beta1.MsgGrant
- cosmos.authz.v1beta1.MsgExec
- cosmos.authz.v1beta1.MsgRevoke
- cosmos.feegrant.v1beta1.MsgGrantAllowance
- cosmos.feegrant.v1beta1.MsgRevokeAllowance
- @cosmjs/stargate: In
AminoTypes
the uniqueness of the Amino type identifier is checked infromAmino
now instead of the constructor. This only affects you if multiple different protobuf type URLs map to the same Amino type identifier which should not be the case anyways. - @cosmjs/stargate: Added support for slashing queries (#927)
- @cosmjs/ledger-amino: Renamed
LaunchpadLedger
toLedgerConnector
(#955) - @cosmjs/encoding: Created
toBech32()
andfromBech32()
. Class Bech32 is now deprecated and should not longer be used. (#1053) - @cosmjs/crypto: Use a custom BIP-39 implementation to reduce external dependencies. This should also reduce the bundle size as only the English wordlist is shipped. (#966)
- @cosmjs/cli: Rename binary
cosmwasm-cli
tocosmjs-cli
(#1033). - @cosmjs/stargate: Added Authz queries. (#1080).
- @cosmjs/stargate & @cosmjs/cosmwasm-stargate: Removed default types from AminoTypes. (#1079)
- @cosmjs/cosmwasm-stargate: getCodes() automatically loops through all pagination pages now. (#1077)
- @cosmjs/stargate & @cosmjs/cosmwasm-stargate: Timeout Errors shows more relevant information about the timeout. (#1066)
- @cosmjs/crypto: Remove the SHA1 implementation (
Sha1
andsha1
) as it is not used in the Cosmos tech stack and not implemented in the hashing lib we want to migrate to (#1003). Also it has known weaknesses. - @cosmjs/launchpad: Package was removed as no support for Cosmos SDK 0.37-0.39 is needed anymore (#947).
0.27.1 - 2022-01-26
- @cosmjs/cosmwasm-stargate: Add
fromBinary
/toBinary
to convert between JavaScript objects and the JSON representation ofcosmwasm_std::Binary
(base64). - @cosmjs/cosmwasm-stargate: Export
WasmExtension
andsetupWasmExtension
. - @cosmjs/ledger-amino: Added
LedgerSigner.showAddress
andLaunchpadLedger.showAddress
to show the user's address in the Ledger screen.
- @cosmjs/stargate: The error messages for missing types in
AminoTypes
now contain the type that was searched for (#990). - @cosmjs/tendermint-rpc: Change the
Evidence
type toany
and avoid decoding it. The structure we had before was outdated and trying to decode it led to exceptions at runtime when a block with actual values was encountered. (#980)
0.27.0 - 2022-01-10
- @cosmjs/tendermint-rpc: Add
hash
field toBroadcastTxAsyncResponse
(#938). - @cosmjs/stargate: Add
denomMetadata
anddenomsMetadata
toBankExtension
(#932). - @cosmjs/stargate: Merge
DeliverTxFailure
andDeliverTxSuccess
into a singleDeliverTxResponse
(#878, #949). AddassertIsDeliverTxFailure
. - @cosmjs/stargate: Created initial
MintExtension
. - @cosmjs/stargate: Created
types.Dec
decoder functiondecodeCosmosSdkDecFromProto
. - @cosmjs/amino: Added
StdTx
,isStdTx
andmakeStdTx
and removed them from @cosmjs/launchpad. They are re-exported in @cosmjs/launchpad for backwards compatibility. - @cosmjs/stargate: Add
GasPrice.toString
. - @cosmjs/faucet: Added a new functionality to faucet: Each address is only allowed to get credits once every 24h to prevent draining. (#962))
- @cosmjs/tendermint-rpc: Add missing
BlockSearchResponse
case toResponse
.
- @cosmjs/stargate: Remove verified queries from
AuthExtension
andBankExtension
as well asStargateClient.getAccountVerified
because the storage layout is not stable across multiple Cosmos SDK releases. Verified queries remain available in theIbcExtension
because for IBC the storage layout is standardized. Such queries can still be implemented in CosmJS caller code that only needs to support one backend. (#865) - @cosmjs/tendermint-rpc: Remove default URL from
HttpClient
andWebsocketClient
constructors (#897). - all: Upgrade cosmjs-types to 0.4. This includes the types of the Cosmos SDK
0.44 modules x/authz and x/feegrant. It causes a few breaking changes by
adding fields to interfaces as well as changing
Date
to aTimestamp
object. (#928) - @cosmjs/stargate and @cosmjs/cosmwasm-stargate: Add simulation support (#931).
- @cosmjs/cosmwasm-stargate: Rename
BroadcastTx{Success,Failure}
toDeliverTx{Success,Failure}
,BroadcastTxResponse
toDeliverTxResponse
,isBroadcastTx{Success,Failure}
toisDeliverTx{Success,Failure}
andassertIsBroadcastTxSuccess
toassertIsDeliverTxSuccess
. (#946) - @cosmjs/tendermint-rpc: Remove
Tendermint33Client
and related symbols. - @cosmjs/cosmwasm-stargate: Add support for wasmd 0.21. This changes the AMINO
JSON representation of
Msg{Execute,Instantiate,Migrate}Contract.msg
from base64 strings to JSON objects. (#948) - @cosmjs/cli: Replace
colors
dependency withchalk
(see https://snyk.io/blog/open-source-npm-packages-colors-faker/)
0.26.6 - 2022-01-10
- @cosmjs/cli: Replace
colors
dependency withchalk
(see https://snyk.io/blog/open-source-npm-packages-colors-faker/)
0.26.5 - 2021-11-20
- @cosmjs/amino: The
coin
andcoins
helpers now support bothnumber
andstring
as input types for the amount. This is useful if your values exceed the safe integer range.
- @cosmjs/tendermint-rpc: Fix undefined
this
indecodeBroadcastTxAsync
andbroadcastTxAsync
(#937).
0.26.4 - 2021-10-28
- @cosmjs/cosmwasm-stargate: Fix response error handling for smart queries.
0.26.3 - 2021-10-25
- @cosmjs/ledger-amino: Add support for using forks of the Cosmos Ledger app by
adding the fields
LaunchpadLedgerOptions.ledgerAppName
and.minLedgerAppVersion
.
- @cosmjs/stargate: The verified queries from
AuthExtension
andBankExtension
as well asStargateClient.getAccountVerified
are deprecated and will be removed in 0.27 (#910).
0.26.2 - 2021-10-12
- @cosmjs/stargate: remove extra space in messageTimeout registry.
- @cosmjs/cosmwasm-stargate: Fix Amino JSON representation of
MsgInstantiateContract
,MsgMigrateContract
andMsgExecuteContract
to match the wasmd expectation. This was broken since the wasmd upgrade to Stargate such that no Ledger signing was possible for those message types in the meantime.
0.26.1 - 2021-09-30
- @cosmjs/amino:
decodeBech32Pubkey
anddecodeAminoPubkey
now support decoding multisig public keys (#882).
- @cosmjs/stargate: Add missing pagination key arguments to query types in
GovExtension
.
0.26.0 - 2021-08-24
- @cosmjs/tendermint-rpc:
Tendermint34Client.blockSearch
andTendermint34Client.blockSearchAll
were added to allow searching blocks in Tendermint 0.34.9+ backends. - @cosmjs/tendermint-rpc:
Tendermint33Client
has been added to provide support for Tendermint v0.33. - @cosmjs/tendermint-rpc: Exports relating to
Tendermint33Client
are now available undertendermint33
. - @cosmjs/proto-signing and @cosmjs/stargate: Create a Stargate-ready
parseCoins
that replaces theparseCoins
re-export from@cosmjs/amino
. - @cosmjs/cosmwasm-stargate: Export
isValidBuilder
, which is a clone ofisValidBuilder
from @cosmjs/cosmwasm-launchpad. - @cosmjs/cosmwasm-stargate: Copy symbols
Code
,CodeDetails
,Contract
,ContractCodeHistoryEntry
andJsonObject
from @cosmjs/cosmwasm-launchpad and remove dependency on @cosmjs/cosmwasm-launchpad. - @cosmjs/faucet: Add new configuration variable
FAUCET_PATH_PATTERN
to configure the HD path of the faucet accounts (#832). - @cosmjs/cosmwasm-stargate: Add field
ibcPortId
toContract
(#836). - @cosmjs/stargate: Add
GovExtension
for query client. - @cosmjs/stargate: Add support for
MsgDeposit
,MsgSubmitProposal
andMsgVote
.
- @cosmjs/cosmwasm-launchpad: The
transferAmount
property onInstantiateOptions
(accepted as a parameter toSigningCosmWasmClient.instantiate
) has been renamed tofunds
. - @cosmjs/cosmwasm-stargate: The
transferAmount
property onInstantiateOptions
(accepted as a parameter toSigningCosmWasmClient.instantiate
) has been renamed tofunds
. - @cosmjs/cosmwasm-stargate: Default fee/gas values have been removed. Fees now
need to be calculated and passed to
SigningCosmWasmClient
when calling any methods which submit transactions to the blockchain. - @cosmjs/stargate: Default fee/gas values have been removed. Fees now need to
be calculated and passed to
SigningStargateClient
when calling any methods which submit transactions to the blockchain. - @cosmjs/tendermint-rpc: Make
tendermint34.Header.lastBlockId
andtendermint34.Block.lastCommit
optional to better handle the case of height 1 where there is no previous block. - @cosmjs/proto-signing:
makeAuthInfoBytes
now takes an array of pubkey sequence pairs in order to support different sequences for different signers. - @cosmjs/cosmwasm-stargate: Upgraded client to support wasmd 0.18 backends.
Other backends are not supported anymore. Update proto types from
cosmwasm.wasm.v1beta1.*
tocosmwasm.wasm.v1.*
.MsgStoreCode.source
andMsgStoreCode.builder
were removed;MsgInstantiateContract.initMsg
andMsgMigrateContract.migrateMsg
were renamed tomsg
;Code.{source,builder}
andCodeDetails.{source,builder}
were removed;isValidBuilder
was removed;UploadMeta
and themeta
fromSigningCosmWasmClient.upload
were removed. (#863)
- Node.js v10 is no longer supported. Please use v12 or later.
- @cosmjs/cosmwasm-stargate: Remove
CosmWasmFeeTable
type anddefaultGasLimits
object. - @cosmjs/stargate: Remove types, objects and functions to do with default fees:
CosmosFeeTable
,FeeTable
,GasLimits
,defaultGasLimits
,defaultGasPrice
andbuildFeeTable
. - @cosmjs/tendermint-rpc:
Client
has been removed. Please useTendermint33Client
orTendermint34Client
, depending on your needs. - @cosmjs/cosmwasm: Package removed (#786).
- @cosmjs/cosmwasm-launchpad: Package removed (#786).
- @cosmjs/socket: Upgrade dependency "ws" to version 7 to avoid potential security problems.
0.25.6 - 2021-07-26
- @cosmjs/stargate: Fix types
AminoMsgTransfer
andAminoHeight
as well as the encoding ofMsgTransfer
for Amino signing.
0.25.5 - 2021-06-23
- @cosmjs/tendermint-rpc:
Tendermint34Client.blockSearch
andTendermint34Client.blockSearchAll
were added to allow searching blocks in Tendermint 0.34.9+ backends. This is a backport of #815. Note: Decoding blocks of height 1 is unsupported. This is fixed in #815 and will be released as part of CosmJS 0.26.
0.25.4 - 2021-05-31
- @cosmjs/socket: Upgrade dependency "ws" to version 7 to avoid potential security problems.
0.25.3 - 2021-05-18
- @cosmjs/cosmwasm-stargate, @cosmjs/stargate: Fix error propagation in
CosmWasmClient.broadcastTx
andStargateClient.broadcastTx
(#800). This bug was introduced with the switch from broadcast mode "commit" to "sync" in version 0.25.0. - @cosmjs/launchpad, @cosmjs/stargate: Avoid the use of named capture groups in
GasPrice.fromString
to restore ES2017 compatibility and make the library work with Hermes (#801; thanks @AlexBHarley). - @cosmjs/launchpad: Adapt
GasPrice.fromString
denom pattern to Cosmos SDK 0.39 rules: reduce denom length to 16 and allow digits in denom. - @cosmjs/stargate: Adapt
GasPrice.fromString
denom pattern to Cosmos SDK 0.42 rules: allow lengths up to 128, allow upper case letters and digits.
0.25.2 - 2021-05-11
- @cosmjs/cosmwasm-stargate: Add
broadcastTimeoutMs
andbroadcastPollIntervalMs
options added toSigningCosmWasmClientOptions
. - @cosmjs/proto-signing: Add
serialize
andserializeWithEncryptionKey
methods toDirectSecp256k1HdWallet
. Also adddeserialize
anddeserializeWithEncryptionKey
static methods. - @cosmjs/proto-signing: Export
extractKdfConfiguration
andexecuteKdf
helper functions andKdfConfiguration
type. - @cosmjs/proto-signing: Export
makeCosmoshubPath
helper. - @cosmjs/stargate: Export
makeCosmoshubPath
helper. - @cosmjs/stargate: Add
broadcastTimeoutMs
andbroadcastPollIntervalMs
options added toSigningStargateClientOptions
.
0.25.1 - 2021-05-06
- @cosmjs/cosmwasm-stargate: Export types
Code
,CodeDetails
,Contract
,ContractCodeHistoryEntry
andJsonObject
which are response types ofCosmWasmClient
methods. Export typesChangeAdminResult
,ExecuteResult
,InstantiateOptions
,InstantiateResult
,MigrateResult
,UploadMeta
andUploadResult
which are argument or response types ofSigningCosmWasmClient
methods.
- @cosmjs/cosmwasm-stargate: Use
CosmWasmFeeTable
instead ofCosmosFeeTable
inSigningCosmWasmClientOptions
; export typeCosmWasmFeeTable
. - @cosmjs/amino, @cosmjs/cli, @cosmjs/ledger-amino, @cosmjs/proto-signing: Fix runtime error caused by passing explicitly undefined options.
0.25.0 - 2021-05-05
- @cosmjs/cosmwasm-launchpad: Expose
SigningCosmWasmClient.fees
. - @cosmjs/cosmwasm-stargate: Expose
SigningCosmWasmClient.fees
andSigningCosmWasmClient.registry
. - @cosmjs/launchpad: Expose
SigningCosmosClient.fees
. - @cosmjs/stargate: Expose
SigningStargateClient.fees
andSigningStargateClient.registry
. - @cosmjs/stargate: Add support for different account types in
accountFromAny
andStargateClient
. AddedModuleAccount
and vesting accountsBaseVestingAccount
,ContinuousVestingAccount
,DelayedVestingAccount
andPeriodicVestingAccount
. - @cosmjs/stargate: Add codecs for IBC channel tx, client query/tx, and connection tx, as well as Tendermint.
- @cosmjs/stargate: Add support for IBC message types in
SigningStargateClient
. - @cosmjs/stargate: Added new
logs
export with all the functionality from @cosmjs/launchpad. - @cosmjs/stargate: Added new
Coin
,coin
,coins
andparseCoins
exports which have the same functionality as already existed in @cosmjs/launchpad. - @cosmjs/amino: New package created that contains the shared amino signing functionality for @cosmjs/launchpad and @cosmjs/stargate.
- @cosmjs/amino: Split public key interfaces into
Pubkey
,SinglePubkey
andSecp256k1Pubkey
wherePubkey
is a generalization of the oldPubKey
that supported nested pubkeys for multisig.SinglePubkey
is the oldPubKey
in which thevalue
is a base64 encoded string. AndSecp256k1Pubkey
is a single secp256k1 pubkey. - @cosmjs/utils: The new
arrayContentStartsWith
works similar toarrayContentEquals
but only checks the start of an array. - @cosmjs/proto-signing: Added new
Coin
,coin
,coins
andparseCoins
exports which have the same functionality as already existed in @cosmjs/launchpad. - @cosmjs/stargate: Add
SigningStargateClient.sign
, which allows you to create signed transactions without broadcasting them directly. The new typeSignerData
can be passed into.sign
to skip querying account number, sequence and chain ID - @cosmjs/cosmwasm-stargate: Add
SigningCosmWasmClient.sign
, which allows you to create signed transactions without broadcasting them directly. The new typeSignerData
from @cosmjs/stargate can be passed into.sign
to skip querying account number, sequence and chain ID. - @cosmjs/stargate: Add constructor
SigningStargateClient.offline
which does not connect to Tendermint. This allows offline signing. - @cosmjs/stargate: Add
makeMultisignedTx
which allows you to assemble a transaction signed by a multisig account. - @cosmjs/stargate: Add
delegateTokens
,undelegateTokens
andwithdrawRewards
methods toSigningStargateClient
. - @cosmjs/stargate: Export
defaultGasLimits
anddefaultGasPrice
. - @cosmjs/cosmwasm-stargate: Export
defaultGasLimits
. - @cosmjs/stargate:
SigningStargateClient
constructor is nowprotected
. - @cosmjs/cosmwasm-stargate:
SigningCosmWasmClient
constructor is nowprotected
. - @cosmjs/cosmwasm-stargate: Add
SigningCosmWasmClient.offline
static method for constructing offline clients without a Tendermint client. - @cosmjs/stargate: Add
SigningStargateClient.sendIbcTokens
method. - @cosmjs/amino: Export
Secp256k1HdWalletOptions
interface. - @cosmjs/amino: Add
bip39Password
option toSecp256k1HdWallet
options. - @cosmjs/proto-signing: Export
DirectSecp256k1HdWalletOptions
interface. - @cosmjs/proto-signing: Add
bip39Password
option toDirectSecp256k1HdWallet
options. - @cosmjs/amino: Add
rawEd25519PubkeyToRawAddress
helper function. - @cosmjs/tendermint-rpc: Add
pubkeyToAddress
,pubkeyToRawAddress
,rawEd25519PubkeyToRawAddress
, andrawSecp256k1PubkeyToRawAddress
helper functions. - @cosmjs/stargate:
StargateClient.broadcastTx
and.getTx
results now includegasUsed
andgasWanted
properties. - @cosmjs/cosmwasm-stargate:
CosmWasmClient.broadcastTx
and.getTx
results now includegasUsed
andgasWanted
properties. - @cosmjs/proto-signing: Export
DecodeObject
andTxBodyEncodeObject
interfaces as well asisTxBodyEncodeObject
helper function. - @cosmjs/stargate: Add
MsgDelegateEncodeObject
,MsgSendEncodeObject
,MsgTransferEncodeObject
,MsgUndelegateEncodeObject
andMsgWithdrawDelegatorRewardEncodeObject
interfaces as well asisMsgDelegateEncodeObject
etc helpers. - @cosmjs/cosmwasm-stargate: Add
MsgClearAdminEncodeObject
,MsgExecuteContractEncodeObject
,MsgInstantiateContractEncodeObject
,MsgMigrateContractEncodeObject
,MsgStoreCodeEncodeObject
andMsgUpdateAdminEncodeObject
interfaces as well asisMsgClearAdminEncodeObject
etc helpers. - @cosmjs/stargate: Add transfer queries codec, as well as transfer query methods to IBC query extension.
- @cosmjs/tendermint-rpc: Export
ValidatorSecp256k1Pubkey
interface. - @cosmjs/proto-signing: Add transaction decoder
decodeTxRaw
for decoding transaction bytes returned by Tendermint (e.g. inIndexedTx.tx
).
- @cosmjs/cosmwasm-stargate: Codec adapted to support wasmd 0.16. Older versions of wasmd are not supported anymore.
- @cosmjs/stargate: Let
AuthExtension.account
andAuthExtension.unverified.account
return an account of typeAny
. This makes the caller responsible for decoding the type. - @cosmjs/stargate: Remove
accountFromProto
in favour ofaccountFromAny
. - @cosmjs/stargate: Rename
Rpc
interface toProtobufRpcClient
andcreateRpc
tocreateProtobufRpcClient
. - @cosmjs/stargate: Reorganize nesting structure of IBC query client and add support for more methods.
- @cosmjs/tendermint-rpc: The fields
CommitSignature.validatorAddress
,.timestamp
and.signature
are now optional. They are unset whenblockIdFlag
isBlockIdFlag.Absent
. The decoding intoCommitSignature
is only updated for the classTendermint34Client
, not forClient
. Please migrate to the former. - @cosmjs/launchpad:
rawSecp256k1PubkeyToAddress
was removed. Instead useBech32.encode(prefix, rawSecp256k1PubkeyToRawAddress(pubkeyRaw))
withrawSecp256k1PubkeyToRawAddress
from @cosmjs/amino. - @cosmjs/stargate:
parseRawLog
is now nested under thelogs
export. - @cosmjs/stargate: Query extensions now have unverified queries at the root and
verified queries nested under
.verified
. - @cosmjs/cosmwasm-stargate:
wasm
extension now has unverified queries at the root. - @cosmjs/stargate:
StargateClient.getAccount
now uses an unverified query andStargateClient.getAccountUnverified
has been removed.StargateClient.getAccountVerified
has been added, which performs a verified query. - @cosmjs/cosmwasm-stargate:
CosmWasmClient.getAccount
now uses an unverified query andCosmWasmClient.getAccountUnverified
has been removed.CosmWasmClient.getAccountVerified
has been added, which performs a verified query. - @cosmjs/stargate:
StargateClient.getSequence
now rejects if the account is not found, instead of returning null. - @cosmjs/stargate:
StargateClient.getBalance
now returns a 0 balance instead of null. - @cosmjs/stargate:
StargateClient.getAllBalancesUnverified
has been renamed.getAllBalances
. - @cosmjs/cosmwasm-stargate:
CosmWasmClient.getSequence
now rejects if the account is not found, instead of returning null. - @cosmjs/cosmwasm-stargate:
CosmWasmClient.getBalance
now returns a 0 balance instead of null. - @cosmjs/amino: Options for
Secp256k1HdWallet.fromMnemonic
are now passed via aSecp256k1HdWalletOptions
object. - @cosmjs/proto-signing: Options for
DirectSecp256k1HdWallet.fromMnemonic
are now passed via aDirectSecp256k1HdWalletOptions
object. - @cosmjs/stargate:
StargateClient.broadcastTx
now uses sync mode and then polls for the transaction before resolving. The timeout and poll interval can be configured. - @cosmjs/cosmwasm-stargate:
CosmWasmClient.broadcastTx
now uses sync mode and then polls for the transaction before resolving. The timeout and poll interval can be configured. - @cosmjs/tendermint-rpc: Tendermint v34
TxData
type now includescodeSpace
,gasWanted
, andgasUsed
properties. - @cosmjs/amino:
Secp256k1HdWallet.fromMnemonic
now accepts aSecp256k1HdWalletOptions
argument which includes an array ofhdPaths
instead of a singlehdPath
.Secp256k1HdWallet.generate
now also accepts options via this interface. This adds support for multiple accounts from the same mnemonic toSecp256k1HdWallet
. - @cosmjs/proto-signing:
DirectSecp256k1HdWallet.fromMnemonic
now accepts aDirectSecp256k1HdWalletOptions
argument which includes an array ofhdPaths
instead of a singlehdPath
.DirectSecp256k1HdWallet.generate
now also accepts options via this interface. This adds support for multiple accounts from the same mnemonic toDirectSecp256k1HdWallet
. - @cosmjs/tendermint-rpc:
ValidatorPubkey
is now a union ofValidatorEd25519Pubkey
and the newly exportedValidatorSecp256k1Pubkey
interface. - @cosmjs/tendermint-rpc:
decodePubkey
now supports secp256k1 public keys.
- @cosmjs/tendermint-rpc:
Client
has been deprecated. Launchpad applications do not need a Tendermint RPC client and Stargate applications should useTendermint34Client
.
- @cosmjs/stargate:
coinFromProto
helper has been removed as it is no longer needed after thets-proto
migration.
0.24.1 - 2021-03-12
CHANGELOG entries missing. Please see the diff.
0.24.0 - 2021-03-11
- @cosmjs/cosmwasm: This package is now deprecated. The same functionality is now available in @cosmjs/cosmwasm-launchpad.
- @cosmjs/cosmwasm:
logs
is no longer exported. Uselogs
from @cosmjs/launchpad instead. - @cosmjs/cosmwasm: Export
JsonObject
,ChangeAdminResult
andWasmData
types as well asisValidBuilder
andparseWasmData
functions. - @cosmjs/cosmwasm: Add
CosmWasmClient.getTx
method for searching by ID and remove such functionality fromCosmWasmClient.searchTx
. - @cosmjs/cosmwasm: Rename
SigningCosmWasmClient.senderAddress
to.signerAddress
. - @cosmjs/cosmwasm-stargate: Add new package for CosmWasm Stargate support.
- @cosmjs/crypto: Change
Secp256k1Keypair
from tagged type to simple interface. - @cosmjs/launchpad: Add
Secp256k1Wallet
to manage a single raw secp256k1 keypair. - @cosmjs/launchpad:
OfflineSigner
type’ssign
method renamedsignAmino
andSignResponse
type renamedAminoSignResponse
. - @cosmjs/launchpad:
Secp256k1HdWallet.sign
method renamedsignAmino
. - @cosmjs/launchpad: Add
CosmosClient.getTx
method for searching by ID and remove such functionality fromCosmosClient.searchTx
. - @cosmjs/launchpad: Add
SigningCosmosClient.sign
method for signing without broadcasting. - @cosmjs/launchpad: Add
SigningCosmosClient.appendSignature
method creating transactions with multiple signatures. - @cosmjs/launchpad: Add support for undefined memo in
makeSignDoc
. - @cosmjs/launchpad: Rename
SigningCosmosClient.senderAddress
to.signerAddress
. - @cosmjs/proto-signing: Add new package for handling transaction signing with protobuf encoding.
- @cosmjs/proto-signing: Expose
DirectSignResponse
interface. - @cosmjs/stargate: Add new package for Cosmos SDK Stargate support.
- @cosmjs/tendermint-rpc: Make
Client.detectVersion
private and let it return a version instead of a client. - @cosmjs/tendermint-rpc: Make the constructor of
Client
private. AddClient.create
for creating a Tendermint client given an RPC client and an optional adaptor. - @cosmjs/tendermint-rpc: Add an optional adaptor argument to
Client.connect
which allows skipping the auto-detection. - @cosmjs/tendermint-rpc: Remove export
v0_33
in favour ofadaptor33
andadaptor34
. Export theAdaptor
type. - @cosmjs/tendermint-rpc: Export
DateTime
class. - @cosmjs/tendermint-rpc: Remove types
QueryString
,Base64String
,HexString
,IntegerString
andIpPortString
. Usestring
instead. - @cosmjs/tendermint-rpc: Remove types
BlockHash
,TxBytes
andTxHash
. UseUint8Array
instead.
- @cosmjs/launchpad: Export distribution module msg types
MsgFundCommunityPool
,MsgSetWithdrawAddress
,MsgWithdrawDelegatorReward
,MsgWithdrawValidatorCommission
and type checker helper functions. - @cosmjs/utils: Added
assertDefinedAndNotNull
. - @cosmjs/tendermint-rpc: The new
Tendermint34Client
is a copy of the oldClient
but without the automatic version detection. Its usage is encouraged overClient
if you connect to a Tendermint 0.34 backend.
- @cosmjs/encoding: Change return type of
fromRfc3339
fromReadonlyDate
toDate
as the caller becomes the owner of the object and can safely mutate it in any way. - @cosmjs/launchpad-ledger: Renamed to @cosmjs/ledger-amino.
- @cosmjs/ledger-amino:
LedgerSigner.sign
method renamedsignAmino
.
- @cosmjs/tendermint-rpc: Deprecate
DateTime
in favour of the free functionsfromRfc3339WithNanoseconds
andtoRfc3339WithNanoseconds
.
- @cosmjs/cli: Update vulnerable axios dependency.
- @cosmjs/faucet-client: Update vulnerable axios dependency.
- @cosmjs/launchpad: Update vulnerable axios dependency.
- @cosmjs/tendermint-rpc: Update vulnerable axios dependency.
- @cosmjs/crypto: Export new convenience functions
keccak256
,ripemd160
,sha1
,sha256
andsha512
. - @cosmjs/faucet-client: Add new package which exports
FaucetClient
class.
- @cosmjs/cli: Expose
HdPath
type. - @cosmjs/cosmwasm: Rename
CosmWasmClient.postTx
method to.broadcastTx
. - @cosmjs/cosmwasm: Rename
FeeTable
type toCosmWasmFeeTable
. - @cosmjs/cosmwasm:
SigningCosmWasmClient
constructor now takes optional argumentsgasPrice
andgasLimits
instead ofcustomFees
for easier customization. - @cosmjs/cosmwasm: Rename
SigningCosmWasmClient.signAndPost
method to.signAndBroadcast
. - @cosmjs/cosmwasm: Use stricter type
Record<string, unknown>
for smart query, init, migrate and handle messages (inWasmExtension.wasm.queryContractSmart
,CosmWasmClient.queryContractSmart
,SigningCosmWasmClient.instantiate
,SigningCosmWasmClient.migrate
,SigningCosmWasmClient.execute
). - @cosmjs/crypto: Export new type alias
HdPath
. - @cosmjs/crypto: Add
Secp256k1Signature.toFixedLength
method. - @cosmjs/demo-staking: Remove package and supporting scripts.
- @cosmjs/encoding: Add
limit
parameter toBech32.encode
and.decode
. The new default limit for decoding is infinity (was 90 before). Set it to 90 to create a strict decoder. - @cosmjs/faucet: Environmental variable
FAUCET_FEE
renamed toFAUCET_GAS_PRICE
and now only accepts one token. Environmental variableFAUCET_GAS
renamed toFAUCET_GAS_LIMIT
. - @cosmjs/faucet:
/credit
API now expectsdenom
(base token) instead ofticker
(unit token). Environmental variables specifying credit amounts now need to use uppercase denom. - @cosmjs/launchpad: Rename
FeeTable
type toCosmosFeeTable
and export a new more generic typeFeeTable
. - @cosmjs/launchpad: Add new class
GasPrice
, new helper typeGasLimits
and new helper functionbuildFeeTable
for easier handling of gas prices and fees. - @cosmjs/launchpad: Rename
CosmosClient.postTx
method to.broadcastTx
. - @cosmjs/launchpad:
SigningCosmosClient
constructor now takes optional argumentsgasPrice
andgasLimits
instead ofcustomFees
for easier customization. - @cosmjs/launchpad: Rename
SigningCosmosClient.signAndPost
method to.signAndBroadcast
. - @cosmjs/launchpad: Rename
PostTx
-related types toBroadcastTxResult
,BroadcastTxSuccess
andBroadcastTxFailure
respectively, as well as helper functionsisBroadcastTxFailure
,isBroadcastTxSuccess
andassertIsBroadcastTxSuccess
. - @cosmjs/launchpad: Export
isSearchByIdQuery
,isSearchByHeightQuery
,isSearchBySentFromOrToQuery
andisSearchByTagsQuery
. - @cosmjs/launchpad: Change type of
TxsResponse.logs
andBroadcastTxsResponse.logs
tounknown[]
. - @cosmjs/launchpad: Export
StdSignDoc
and create helpers to make and serialize aStdSignDoc
:makeSignDoc
andserializeSignDoc
. - @cosmjs/launchpad: Let
OfflineSigner.sign
take anStdSignDoc
instead of an encoded message and return aSignResponse
that includes the document which was signed. - @cosmjs/launchpad: Remove
PrehashType
and the prehash type argument inOfflineSigner.sign
because the signer now needs to know how to serialize anStdSignDoc
. - @cosmjs/launchpad: Remove
makeSignBytes
in favour ofmakeSignDoc
andserializeSignDoc
. - @cosmjs/launchpad: Create
WrappedTx
,WrappedStdTx
andisWrappedStdTx
to better represent the Amino tx interface. DeprecateCosmosSdkTx
, which is an alias forWrappedStdTx
. - @cosmjs/launchpad: Add
makeStdTx
to create anStdTx
. - @cosmjs/launchpad: Rename
Secp256k1Wallet
toSecp256k1HdWallet
. Later on, we'll useSecp256k1Wallet
for single key wallets. - @cosmjs/launchpad-ledger: Add package supporting Ledger device integration for
Launchpad. Two new classes are provided:
LedgerSigner
(for most use cases) andLaunchpadLedger
for more fine-grained access. - @cosmjs/math: Add
.multiply
method toDecimal
class. - @cosmjs/math: Deprecate
Uint32.fromBigEndianBytes
in favour ofUint32.fromBytes
, which supports both big and little endian. - @cosmjs/math: Deprecate
Uint64.fromBytesBigEndian
in favour ofUint64.fromBytes
, which supports both big and little endian. - @cosmjs/math: Add
Uint32.fromString
. - @cosmjs/tendermint-rpc: Make
BroadcastTxCommitResponse.height
non-optional. - @cosmjs/tendermint-rpc: Make
TxProof.proof.leafHash
non-optional because it is always set. - @cosmjs/tendermint-rpc: Change type of
GenesisResponse.appState
toRecord<string, unknown> | undefined
. - @cosmjs/tendermint-rpc: Remove obsolete
TxData.tags
and makeTxData.events
non-optional. RenameTag
toAttribute
. - @cosmjs/tendermint-rpc: Remove obsolete
BlockResultsResponse.beginBlock
and.beginBlock
. The new.beginBlockEvents
and.endBlockEvents
now parse the events correctly. - @cosmjs/tendermint-rpc: Remove trivial helpers
getTxEventHeight
,getHeaderEventHeight
andgetBlockEventHeight
because they don't do anything else than accessing an object member. - @cosmjs/tendermint-rpc: Add support for connecting to Tendermint RPC 0.34.
- @cosmjs/tendermint-rpc: Make
TxEvent.index
optional and deprecate it because it is not set anymore in Tendermint 0.34. - @cosmjs/utils: Add
assertDefined
. - @cosmjs/faucet: Rename binary from
cosmwasm-faucet
tocosmos-faucet
.
- @cosmjs/math: Add
Decimal.minus
.
- @cosmjs/faucet: Log errors for failed send transactions.
- @cosmjs/faucet: Add config variable
FAUCET_MEMO
. - @cosmjs/faucet: Add config variables
FAUCET_FEE
andFAUCET_GAS
. - @cosmjs/launchpad: Add
parseCoins
helper.
- @cosmjs/cli: Import
encodeAminoPubkey
,encodeBech32Pubkey
,decodeAminoPubkey
anddecodeBech32Pubkey
by default. - @cosmjs/launchpad: Add ed25519 support to
encodeBech32Pubkey
. - @cosmjs/launchpad: Add
encodeAminoPubkey
anddecodeAminoPubkey
. - @cosmjs/utils: Add
arrayContentEquals
. - @cosmjs/faucet: Add config variables
FAUCET_ADDRESS_PREFIX
andFAUCET_TOKENS
. - @cosmjs/faucet: Remove broken chain ID from
cosmwasm-faucet generate
.
- @cosmjs/cli: Now supports HTTPs URLs for
--init
code sources. - @cosmjs/cli: Now supports adding code directly via
--code
. - @cosmjs/cosmwasm: Rename
CosmWasmClient.getNonce
method to.getSequence
. - @cosmjs/cosmwasm: Remove
RestClient
class in favour of new modularLcdClient
class from @cosmjs/sdk38. - @cosmjs/cosmwasm: Add
SigningCosmWasmClient.signAndPost
as a mid-level abstraction betweenSigningCosmWasmClient.upload
/.instantiate
/.execute
and.postTx
. - @cosmjs/cosmwasm: Use
*PostTx*
types and helpers from @cosmjs/sdk38. Remove exportedPostTxResult
. - @cosmjs/cosmwasm:
ContractDetails
was removed in favour of justContract
. The missinginit_msg
is now available via the contract's code history (seegetContractCodeHistory
). - @cosmjs/cosmwasm: Remove
SigningCallback
in favour of theOfflineSigner
interface. - @cosmjs/sdk38: Rename
CosmosClient.getNonce
method to.getSequence
. - @cosmjs/sdk38: Remove
RestClient
class in favour of new modularLcdClient
class. - @cosmjs/sdk38: Remove
Pen
type in favour ofOfflineSigner
and removeSecp256k1Pen
class in favour ofSecp256k1Wallet
which takes anOfflineSigner
instead of aSigningCallback
. - @cosmjs/sdk38: Rename
CosmosSdkAccount
toBaseAccount
and export the type. - @cosmjs/sdk38:
BaseAccount
now usesnumber | string
as the type foraccount_number
andsequence
. The new helpersuint64ToNumber
anduint64ToString
allow you to normalize the mixed input. - @cosmjs/sdk38:
BaseAccount
now usesstring | PubKey | null
as the type forpublic_key
. The new helpernormalizePubkey
allows you to normalize the mixed input. - @cosmjs/math: Add missing integer check to
Uint64.fromNumber
. BeforeUint64.fromNumber(1.1)
produced some result. - @cosmjs/sdk38: Add
SigningCosmosClient.signAndPost
as a mid-level abstraction betweenSigningCosmosClient.sendTokens
and.postTx
. - @cosmjs/sdk38: Export
PostTxFailure
/PostTxSuccess
and type checkersisPostTxFailure
/isPostTxSuccess
; exportassertIsPostTxSuccess
. - @cosmjs/sdk38:
Secp256k1Wallet
s can now be generated randomly withSecp256k1Wallet.generate(n)
wheren
is 12, 15, 18, 21 or 24 mnemonic words. - @cosmjs/sdk38: The new
Secp256k1Wallet.serialize
and.deserialize
allow encrypted serialization of the wallet. - @cosmjs/sdk38: Remove the obsolete
upload
,init
,exec
properties fromFeeTable
. @cosmjs/cosmwasm has its ownFeeTable
with those properties. - @cosmjs/sdk38: Rename package to @cosmjs/launchpad.