mirror of
https://github.com/cosmos/cosmjs.git
synced 2025-03-11 14:09:15 +00:00
253 lines
13 KiB
Markdown
253 lines
13 KiB
Markdown
# CHANGELOG
|
||
|
||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
||
and this project adheres to
|
||
[Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||
|
||
## [Unreleased]
|
||
|
||
## [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: `Secp256k1Wallet`s 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.
|
||
|
||
[unreleased]: https://github.com/cosmos/cosmjs/compare/v0.24.0...HEAD
|
||
[0.24.0]: https://github.com/cosmos/cosmjs/compare/v0.23.0...v0.24.0
|