Skip to content

Latest commit

 

History

History
906 lines (763 loc) · 42 KB

CHANGELOG.md

File metadata and controls

906 lines (763 loc) · 42 KB

CHANGELOG

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

Added

  • @cosmjs/math: Add Decimal.floor and Decimal.ceil.
  • @cosmjs/tendermint-rpc: Add num_unconfirmed_txs endpoint. (#1150)

Changed

  • @cosmjs/stargate: Let calculateFee handle fee amounts that exceed the safe integer range.

0.28.4 - 2022-04-15

Added

  • @cosmjs/math: Add Decimal.zero and Decimal.one (#1110).
  • @cosmjs/amino: Add addCoins (#1116)
  • @cosmjs/stargate: Add StargateClient.getBalanceStaked() to query the sum of all staked balance. (#1116)

Changed

  • @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 and SigningCosmWasmClient.connectWithSigner now accept custom HTTP headers (#1007)
  • @cosmjs/stargate: StargateClient.connect and SigningStargateClient.connectWithSigner now accept custom HTTP headers (#1007)
  • @cosmjs/tendermint-rpc: Tendermint34Client.connect now accepts custom HTTP headers (#1007).

0.28.3 - 2022-04-11

Added

  • @cosmjs/encoding: Add missing export: normalizeBech32.

0.28.2 - 2022-04-07

Added

  • @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

Added

  • @cosmjs/stargate: Added the ability to specify a custom account parser for StargateClient

Fixed

  • @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

Changed

  • 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 type AminoTypesOptions. This is an object with a required prefix 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 and gasUsed have been added to all result types of SigningCosmWasmClient
  • @cosmjs/stargate: MsgSend and Coin are now parts of defaultRegistryTypes. (#994)
  • @cosmjs/proto-signing: Registry's constructor can now override default types. (#994)
  • @cosmjs/tendermint-rpc: The property evidence in the interface Block 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 in fromAmino 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 to LedgerConnector (#955)
  • @cosmjs/encoding: Created toBech32() and fromBech32(). 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 to cosmjs-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)

Removed

  • @cosmjs/crypto: Remove the SHA1 implementation (Sha1 and sha1) 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

Added

  • @cosmjs/cosmwasm-stargate: Add fromBinary/toBinary to convert between JavaScript objects and the JSON representation of cosmwasm_std::Binary (base64).
  • @cosmjs/cosmwasm-stargate: Export WasmExtension and setupWasmExtension.
  • @cosmjs/ledger-amino: Added LedgerSigner.showAddress and LaunchpadLedger.showAddress to show the user's address in the Ledger screen.

Changed

  • @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 to any 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

Added

  • @cosmjs/tendermint-rpc: Add hash field to BroadcastTxAsyncResponse (#938).
  • @cosmjs/stargate: Add denomMetadata and denomsMetadata to BankExtension (#932).
  • @cosmjs/stargate: Merge DeliverTxFailure and DeliverTxSuccess into a single DeliverTxResponse (#878, #949). Add assertIsDeliverTxFailure.
  • @cosmjs/stargate: Created initial MintExtension.
  • @cosmjs/stargate: Created types.Dec decoder function decodeCosmosSdkDecFromProto.
  • @cosmjs/amino: Added StdTx, isStdTx and makeStdTx 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))

Fixed

  • @cosmjs/tendermint-rpc: Add missing BlockSearchResponse case to Response.

Changed

  • @cosmjs/stargate: Remove verified queries from AuthExtension and BankExtension as well as StargateClient.getAccountVerified because the storage layout is not stable across multiple Cosmos SDK releases. Verified queries remain available in the IbcExtension 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 and WebsocketClient 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 a Timestamp object. (#928)
  • @cosmjs/stargate and @cosmjs/cosmwasm-stargate: Add simulation support (#931).
  • @cosmjs/cosmwasm-stargate: Rename BroadcastTx{Success,Failure} to DeliverTx{Success,Failure}, BroadcastTxResponse to DeliverTxResponse, isBroadcastTx{Success,Failure} to isDeliverTx{Success,Failure} and assertIsBroadcastTxSuccess to assertIsDeliverTxSuccess. (#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 with chalk (see https://snyk.io/blog/open-source-npm-packages-colors-faker/)

0.26.6 - 2022-01-10

Changed

0.26.5 - 2021-11-20

Added

  • @cosmjs/amino: The coin and coins helpers now support both number and string as input types for the amount. This is useful if your values exceed the safe integer range.

Fixed

  • @cosmjs/tendermint-rpc: Fix undefined this in decodeBroadcastTxAsync and broadcastTxAsync (#937).

0.26.4 - 2021-10-28

Fixed

  • @cosmjs/cosmwasm-stargate: Fix response error handling for smart queries.

0.26.3 - 2021-10-25

Added

  • @cosmjs/ledger-amino: Add support for using forks of the Cosmos Ledger app by adding the fields LaunchpadLedgerOptions.ledgerAppName and .minLedgerAppVersion.

Deprecated

  • @cosmjs/stargate: The verified queries from AuthExtension and BankExtension as well as StargateClient.getAccountVerified are deprecated and will be removed in 0.27 (#910).

0.26.2 - 2021-10-12

Fixed

  • @cosmjs/stargate: remove extra space in messageTimeout registry.
  • @cosmjs/cosmwasm-stargate: Fix Amino JSON representation of MsgInstantiateContract, MsgMigrateContract and MsgExecuteContract 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

Added

  • @cosmjs/amino: decodeBech32Pubkey and decodeAminoPubkey now support decoding multisig public keys (#882).

Fixed

  • @cosmjs/stargate: Add missing pagination key arguments to query types in GovExtension.

0.26.0 - 2021-08-24

Added

  • @cosmjs/tendermint-rpc: Tendermint34Client.blockSearch and Tendermint34Client.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 under tendermint33.
  • @cosmjs/proto-signing and @cosmjs/stargate: Create a Stargate-ready parseCoins that replaces the parseCoins re-export from @cosmjs/amino.
  • @cosmjs/cosmwasm-stargate: Export isValidBuilder, which is a clone of isValidBuilder from @cosmjs/cosmwasm-launchpad.
  • @cosmjs/cosmwasm-stargate: Copy symbols Code, CodeDetails, Contract, ContractCodeHistoryEntry and JsonObject 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 to Contract (#836).
  • @cosmjs/stargate: Add GovExtension for query client.
  • @cosmjs/stargate: Add support for MsgDeposit, MsgSubmitProposal and MsgVote.

Changed

  • @cosmjs/cosmwasm-launchpad: The transferAmount property on InstantiateOptions (accepted as a parameter to SigningCosmWasmClient.instantiate) has been renamed to funds.
  • @cosmjs/cosmwasm-stargate: The transferAmount property on InstantiateOptions (accepted as a parameter to SigningCosmWasmClient.instantiate) has been renamed to funds.
  • @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 and tendermint34.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.* to cosmwasm.wasm.v1.*. MsgStoreCode.source and MsgStoreCode.builder were removed; MsgInstantiateContract.initMsg and MsgMigrateContract.migrateMsg were renamed to msg; Code.{source,builder} and CodeDetails.{source,builder} were removed; isValidBuilder was removed; UploadMeta and the meta from SigningCosmWasmClient.upload were removed. (#863)

Removed

  • Node.js v10 is no longer supported. Please use v12 or later.
  • @cosmjs/cosmwasm-stargate: Remove CosmWasmFeeTable type and defaultGasLimits object.
  • @cosmjs/stargate: Remove types, objects and functions to do with default fees: CosmosFeeTable, FeeTable, GasLimits, defaultGasLimits, defaultGasPrice and buildFeeTable.
  • @cosmjs/tendermint-rpc: Client has been removed. Please use Tendermint33Client or Tendermint34Client, depending on your needs.
  • @cosmjs/cosmwasm: Package removed (#786).
  • @cosmjs/cosmwasm-launchpad: Package removed (#786).

Fixed

  • @cosmjs/socket: Upgrade dependency "ws" to version 7 to avoid potential security problems.

0.25.6 - 2021-07-26

Fixed

  • @cosmjs/stargate: Fix types AminoMsgTransfer and AminoHeight as well as the encoding of MsgTransfer for Amino signing.

0.25.5 - 2021-06-23

Added

  • @cosmjs/tendermint-rpc: Tendermint34Client.blockSearch and Tendermint34Client.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

Fixed

  • @cosmjs/socket: Upgrade dependency "ws" to version 7 to avoid potential security problems.

0.25.3 - 2021-05-18

Fixed

  • @cosmjs/cosmwasm-stargate, @cosmjs/stargate: Fix error propagation in CosmWasmClient.broadcastTx and StargateClient.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

Added

  • @cosmjs/cosmwasm-stargate: Add broadcastTimeoutMs and broadcastPollIntervalMs options added to SigningCosmWasmClientOptions.
  • @cosmjs/proto-signing: Add serialize and serializeWithEncryptionKey methods to DirectSecp256k1HdWallet. Also add deserialize and deserializeWithEncryptionKey static methods.
  • @cosmjs/proto-signing: Export extractKdfConfiguration and executeKdf helper functions and KdfConfiguration type.
  • @cosmjs/proto-signing: Export makeCosmoshubPath helper.
  • @cosmjs/stargate: Export makeCosmoshubPath helper.
  • @cosmjs/stargate: Add broadcastTimeoutMs and broadcastPollIntervalMs options added to SigningStargateClientOptions.

0.25.1 - 2021-05-06

Added

  • @cosmjs/cosmwasm-stargate: Export types Code, CodeDetails, Contract, ContractCodeHistoryEntry and JsonObject which are response types of CosmWasmClient methods. Export types ChangeAdminResult, ExecuteResult, InstantiateOptions, InstantiateResult, MigrateResult, UploadMeta and UploadResult which are argument or response types of SigningCosmWasmClient methods.

Fixed

  • @cosmjs/cosmwasm-stargate: Use CosmWasmFeeTable instead of CosmosFeeTable in SigningCosmWasmClientOptions; export type CosmWasmFeeTable.
  • @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

Added

  • @cosmjs/cosmwasm-launchpad: Expose SigningCosmWasmClient.fees.
  • @cosmjs/cosmwasm-stargate: Expose SigningCosmWasmClient.fees and SigningCosmWasmClient.registry.
  • @cosmjs/launchpad: Expose SigningCosmosClient.fees.
  • @cosmjs/stargate: Expose SigningStargateClient.fees and SigningStargateClient.registry.
  • @cosmjs/stargate: Add support for different account types in accountFromAny and StargateClient. Added ModuleAccount and vesting accounts BaseVestingAccount, ContinuousVestingAccount, DelayedVestingAccount and PeriodicVestingAccount.
  • @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 and parseCoins 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 and Secp256k1Pubkey where Pubkey is a generalization of the old PubKey that supported nested pubkeys for multisig. SinglePubkey is the old PubKey in which the value is a base64 encoded string. And Secp256k1Pubkey is a single secp256k1 pubkey.
  • @cosmjs/utils: The new arrayContentStartsWith works similar to arrayContentEquals but only checks the start of an array.
  • @cosmjs/proto-signing: Added new Coin, coin, coins and parseCoins 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 type SignerData 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 type SignerData 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 and withdrawRewards methods to SigningStargateClient.
  • @cosmjs/stargate: Export defaultGasLimits and defaultGasPrice.
  • @cosmjs/cosmwasm-stargate: Export defaultGasLimits.
  • @cosmjs/stargate: SigningStargateClient constructor is now protected.
  • @cosmjs/cosmwasm-stargate: SigningCosmWasmClient constructor is now protected.
  • @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 to Secp256k1HdWallet options.
  • @cosmjs/proto-signing: Export DirectSecp256k1HdWalletOptions interface.
  • @cosmjs/proto-signing: Add bip39Password option to DirectSecp256k1HdWallet options.
  • @cosmjs/amino: Add rawEd25519PubkeyToRawAddress helper function.
  • @cosmjs/tendermint-rpc: Add pubkeyToAddress, pubkeyToRawAddress, rawEd25519PubkeyToRawAddress, and rawSecp256k1PubkeyToRawAddress helper functions.
  • @cosmjs/stargate: StargateClient.broadcastTx and .getTx results now include gasUsed and gasWanted properties.
  • @cosmjs/cosmwasm-stargate: CosmWasmClient.broadcastTx and .getTx results now include gasUsed and gasWanted properties.
  • @cosmjs/proto-signing: Export DecodeObject and TxBodyEncodeObject interfaces as well as isTxBodyEncodeObject helper function.
  • @cosmjs/stargate: Add MsgDelegateEncodeObject, MsgSendEncodeObject, MsgTransferEncodeObject, MsgUndelegateEncodeObject and MsgWithdrawDelegatorRewardEncodeObject interfaces as well as isMsgDelegateEncodeObject etc helpers.
  • @cosmjs/cosmwasm-stargate: Add MsgClearAdminEncodeObject, MsgExecuteContractEncodeObject, MsgInstantiateContractEncodeObject, MsgMigrateContractEncodeObject, MsgStoreCodeEncodeObject and MsgUpdateAdminEncodeObject interfaces as well as isMsgClearAdminEncodeObject 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. in IndexedTx.tx).

Changed

  • @cosmjs/cosmwasm-stargate: Codec adapted to support wasmd 0.16. Older versions of wasmd are not supported anymore.
  • @cosmjs/stargate: Let AuthExtension.account and AuthExtension.unverified.account return an account of type Any. This makes the caller responsible for decoding the type.
  • @cosmjs/stargate: Remove accountFromProto in favour of accountFromAny.
  • @cosmjs/stargate: Rename Rpc interface to ProtobufRpcClient and createRpc to createProtobufRpcClient.
  • @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 when blockIdFlag is BlockIdFlag.Absent. The decoding into CommitSignature is only updated for the class Tendermint34Client, not for Client. Please migrate to the former.
  • @cosmjs/launchpad: rawSecp256k1PubkeyToAddress was removed. Instead use Bech32.encode(prefix, rawSecp256k1PubkeyToRawAddress(pubkeyRaw)) with rawSecp256k1PubkeyToRawAddress from @cosmjs/amino.
  • @cosmjs/stargate: parseRawLog is now nested under the logs 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 and StargateClient.getAccountUnverified has been removed. StargateClient.getAccountVerified has been added, which performs a verified query.
  • @cosmjs/cosmwasm-stargate: CosmWasmClient.getAccount now uses an unverified query and CosmWasmClient.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 a Secp256k1HdWalletOptions object.
  • @cosmjs/proto-signing: Options for DirectSecp256k1HdWallet.fromMnemonic are now passed via a DirectSecp256k1HdWalletOptions 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 includes codeSpace, gasWanted, and gasUsed properties.
  • @cosmjs/amino: Secp256k1HdWallet.fromMnemonic now accepts a Secp256k1HdWalletOptions argument which includes an array of hdPaths instead of a single hdPath. Secp256k1HdWallet.generate now also accepts options via this interface. This adds support for multiple accounts from the same mnemonic to Secp256k1HdWallet.
  • @cosmjs/proto-signing: DirectSecp256k1HdWallet.fromMnemonic now accepts a DirectSecp256k1HdWalletOptions argument which includes an array of hdPaths instead of a single hdPath. DirectSecp256k1HdWallet.generate now also accepts options via this interface. This adds support for multiple accounts from the same mnemonic to DirectSecp256k1HdWallet.
  • @cosmjs/tendermint-rpc: ValidatorPubkey is now a union of ValidatorEd25519Pubkey and the newly exported ValidatorSecp256k1Pubkey interface.
  • @cosmjs/tendermint-rpc: decodePubkey now supports secp256k1 public keys.

Deprecated

  • @cosmjs/tendermint-rpc: Client has been deprecated. Launchpad applications do not need a Tendermint RPC client and Stargate applications should use Tendermint34Client.

Removed

  • @cosmjs/stargate: coinFromProto helper has been removed as it is no longer needed after the ts-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. Use logs from @cosmjs/launchpad instead.
  • @cosmjs/cosmwasm: Export JsonObject, ChangeAdminResult and WasmData types as well as isValidBuilder and parseWasmData functions.
  • @cosmjs/cosmwasm: Add CosmWasmClient.getTx method for searching by ID and remove such functionality from CosmWasmClient.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’s sign method renamed signAmino and SignResponse type renamed AminoSignResponse.
  • @cosmjs/launchpad: Secp256k1HdWallet.sign method renamed signAmino.
  • @cosmjs/launchpad: Add CosmosClient.getTx method for searching by ID and remove such functionality from CosmosClient.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. Add Client.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 of adaptor33 and adaptor34. Export the Adaptor type.
  • @cosmjs/tendermint-rpc: Export DateTime class.
  • @cosmjs/tendermint-rpc: Remove types QueryString, Base64String, HexString, IntegerString and IpPortString. Use string instead.
  • @cosmjs/tendermint-rpc: Remove types BlockHash, TxBytes and TxHash. Use Uint8Array instead.

Added

  • @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 old Client but without the automatic version detection. Its usage is encouraged over Client if you connect to a Tendermint 0.34 backend.

Changed

  • @cosmjs/encoding: Change return type of fromRfc3339 from ReadonlyDate to Date 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 renamed signAmino.

Deprecated

  • @cosmjs/tendermint-rpc: Deprecate DateTime in favour of the free functions fromRfc3339WithNanoseconds and toRfc3339WithNanoseconds.

0.23.2 (2021-01-06)

Security

  • @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.

0.23.1 (2020-10-27)

  • @cosmjs/crypto: Export new convenience functions keccak256, ripemd160, sha1, sha256 and sha512.
  • @cosmjs/faucet-client: Add new package which exports FaucetClient class.

0.23.0 (2020-10-09)

  • @cosmjs/cli: Expose HdPath type.
  • @cosmjs/cosmwasm: Rename CosmWasmClient.postTx method to .broadcastTx.
  • @cosmjs/cosmwasm: Rename FeeTable type to CosmWasmFeeTable.
  • @cosmjs/cosmwasm: SigningCosmWasmClient constructor now takes optional arguments gasPrice and gasLimits instead of customFees 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 (in WasmExtension.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 to Bech32.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 to FAUCET_GAS_PRICE and now only accepts one token. Environmental variable FAUCET_GAS renamed to FAUCET_GAS_LIMIT.
  • @cosmjs/faucet: /credit API now expects denom (base token) instead of ticker (unit token). Environmental variables specifying credit amounts now need to use uppercase denom.
  • @cosmjs/launchpad: Rename FeeTable type to CosmosFeeTable and export a new more generic type FeeTable.
  • @cosmjs/launchpad: Add new class GasPrice, new helper type GasLimits and new helper function buildFeeTable for easier handling of gas prices and fees.
  • @cosmjs/launchpad: Rename CosmosClient.postTx method to .broadcastTx.
  • @cosmjs/launchpad: SigningCosmosClient constructor now takes optional arguments gasPrice and gasLimits instead of customFees for easier customization.
  • @cosmjs/launchpad: Rename SigningCosmosClient.signAndPost method to .signAndBroadcast.
  • @cosmjs/launchpad: Rename PostTx-related types to BroadcastTxResult, BroadcastTxSuccess and BroadcastTxFailure respectively, as well as helper functions isBroadcastTxFailure, isBroadcastTxSuccess and assertIsBroadcastTxSuccess.
  • @cosmjs/launchpad: Export isSearchByIdQuery, isSearchByHeightQuery, isSearchBySentFromOrToQuery and isSearchByTagsQuery.
  • @cosmjs/launchpad: Change type of TxsResponse.logs and BroadcastTxsResponse.logs to unknown[].
  • @cosmjs/launchpad: Export StdSignDoc and create helpers to make and serialize a StdSignDoc: makeSignDoc and serializeSignDoc.
  • @cosmjs/launchpad: Let OfflineSigner.sign take an StdSignDoc instead of an encoded message and return a SignResponse that includes the document which was signed.
  • @cosmjs/launchpad: Remove PrehashType and the prehash type argument in OfflineSigner.sign because the signer now needs to know how to serialize an StdSignDoc.
  • @cosmjs/launchpad: Remove makeSignBytes in favour of makeSignDoc and serializeSignDoc.
  • @cosmjs/launchpad: Create WrappedTx, WrappedStdTx and isWrappedStdTx to better represent the Amino tx interface. Deprecate CosmosSdkTx, which is an alias for WrappedStdTx.
  • @cosmjs/launchpad: Add makeStdTx to create an StdTx.
  • @cosmjs/launchpad: Rename Secp256k1Wallet to Secp256k1HdWallet. Later on, we'll use Secp256k1Wallet 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) and LaunchpadLedger for more fine-grained access.
  • @cosmjs/math: Add .multiply method to Decimal class.
  • @cosmjs/math: Deprecate Uint32.fromBigEndianBytes in favour of Uint32.fromBytes, which supports both big and little endian.
  • @cosmjs/math: Deprecate Uint64.fromBytesBigEndian in favour of Uint64.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 to Record<string, unknown> | undefined.
  • @cosmjs/tendermint-rpc: Remove obsolete TxData.tags and make TxData.events non-optional. Rename Tag to Attribute.
  • @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 and getBlockEventHeight 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 to cosmos-faucet.

0.22.3 (2020-09-15)

  • @cosmjs/math: Add Decimal.minus.

0.22.2 (2020-08-11)

  • @cosmjs/faucet: Log errors for failed send transactions.
  • @cosmjs/faucet: Add config variable FAUCET_MEMO.
  • @cosmjs/faucet: Add config variables FAUCET_FEE and FAUCET_GAS.
  • @cosmjs/launchpad: Add parseCoins helper.

0.22.1 (2020-08-11)

  • @cosmjs/cli: Import encodeAminoPubkey, encodeBech32Pubkey, decodeAminoPubkey and decodeBech32Pubkey by default.
  • @cosmjs/launchpad: Add ed25519 support to encodeBech32Pubkey.
  • @cosmjs/launchpad: Add encodeAminoPubkey and decodeAminoPubkey.
  • @cosmjs/utils: Add arrayContentEquals.
  • @cosmjs/faucet: Add config variables FAUCET_ADDRESS_PREFIX and FAUCET_TOKENS.
  • @cosmjs/faucet: Remove broken chain ID from cosmwasm-faucet generate.

0.22.0 (2020-08-03)

  • @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 modular LcdClient class from @cosmjs/sdk38.
  • @cosmjs/cosmwasm: Add SigningCosmWasmClient.signAndPost as a mid-level abstraction between SigningCosmWasmClient.upload/.instantiate/.execute and .postTx.
  • @cosmjs/cosmwasm: Use *PostTx* types and helpers from @cosmjs/sdk38. Remove exported PostTxResult.
  • @cosmjs/cosmwasm: ContractDetails was removed in favour of just Contract. The missing init_msg is now available via the contract's code history (see getContractCodeHistory).
  • @cosmjs/cosmwasm: Remove SigningCallback in favour of the OfflineSigner interface.
  • @cosmjs/sdk38: Rename CosmosClient.getNonce method to .getSequence.
  • @cosmjs/sdk38: Remove RestClient class in favour of new modular LcdClient class.
  • @cosmjs/sdk38: Remove Pen type in favour of OfflineSigner and remove Secp256k1Pen class in favour of Secp256k1Wallet which takes an OfflineSigner instead of a SigningCallback.
  • @cosmjs/sdk38: Rename CosmosSdkAccount to BaseAccount and export the type.
  • @cosmjs/sdk38: BaseAccount now uses number | string as the type for account_number and sequence. The new helpers uint64ToNumber and uint64ToString allow you to normalize the mixed input.
  • @cosmjs/sdk38: BaseAccount now uses string | PubKey | null as the type for public_key. The new helper normalizePubkey allows you to normalize the mixed input.
  • @cosmjs/math: Add missing integer check to Uint64.fromNumber. Before Uint64.fromNumber(1.1) produced some result.
  • @cosmjs/sdk38: Add SigningCosmosClient.signAndPost as a mid-level abstraction between SigningCosmosClient.sendTokens and .postTx.
  • @cosmjs/sdk38: Export PostTxFailure/PostTxSuccess and type checkers isPostTxFailure/isPostTxSuccess; export assertIsPostTxSuccess.
  • @cosmjs/sdk38: Secp256k1Wallets can now be generated randomly with Secp256k1Wallet.generate(n) where n 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 from FeeTable. @cosmjs/cosmwasm has its own FeeTable with those properties.
  • @cosmjs/sdk38: Rename package to @cosmjs/launchpad.