Skip to content

v0.17.0

Compare
Choose a tag to compare
@ethanfrey ethanfrey released this 24 Jun 17:13
· 277 commits to master since this release
  • Unified dedupe logic for validator bookkeeping and validator diffs in app
  • A new errors.Field was added. This allows to bind errors to field names and
    enables easier testing of group errors.
  • Expose some more Genesis params to extension initializers. Utilise those in
    x/validators to store initial validator list and validate updates against
    this list while updating on every successful transaction.
  • A new from scratch username implementation x/username was added. This
    implementation does not rely on x/nft package.
  • Add CommitInfo to the context in order to be able to see who signed the
    current block.
  • cmd/bnscli new commands
    • with-fee to configure a transaction fee,
    • set-validators to configure the validators,
    • multisig to create or update a multisig contract,
    • with-multisig to attach a multisig to a transaction,
    • with-multisig-participant to attach a participant to a multisig
      contract create/update transaction
  • x/aswap allow timeout of a swap to be any value after 1970-01-01.
  • Iterators in store (btree cache and iavl adaptor) are now lazy. We also
    provide a ReadOneFromIterator function to easily get the first or last item
    in a range. This will only load desired items from disk and no longer greedily
    load the entire range before returning the first item.

Breaking changes

  • Update bnsd transaction entities. All transaction attributes that point to
    a message are now snake case, and their naming follows the format
    <package_name>_<message_type_name>.
  • Some messages were renamed to follow the general start with a verb format, also to remove stutter:
    • cmd/bnsd: BatchMsg -> bnsd.ExecuteBatchMsg, ProposalBatchMsg -> bnsd.ExecuteProposalBatchMsg
    • x/aswap: CreateSwapMsg -> aswap.CreateMsg, ReleaseSwapMsg -> aswap.ReleaseMsg, ReturnSwapMsg -> aswap.ReturnMsg
    • x/cash: ConfigurationMsg -> cash.UpdateConfigurationMsg
    • x/currency: NewTokenInfoMsg -> currency.CreateMsg
    • x/distribution: NewRevenueMsg -> distribution.CreateMsg, ResetRevenueMsg -> distribution.ResetMsg
    • x/escrow: CreateEscrowMsg -> escrow.CreateMsg, ReleaseEscrowMsg -> escrow.ReleaseMsg, ReturnEscrowMsg -> escrow.ReturnMsg, UpdateEscrowPartiesMsg -> escrow.UpdatePartiesMsg
    • x/gov: TextResolutionMsg -> gov.CreateTextResolutionMsg
    • x/multisig: CreateContractMsg -> multisig.CreateMsg, UpdateContractMsg -> multisig.UpdateMsg
    • x/paychan: CreatePaymentChannelMsg -> paychan.CreateMsg, TransferPaymentChannelMsg -> paychan.TransferMsg, ClosePaymentChannelMsg -> paychan.CloseMsg
    • x/validators: SetValidatorsMsg -> validators.ApplyDiffMsg
    • bnsd/x/username: Username string removed from all message names.
  • bnsd specific protobuf objects (Tx, BatchMsg) are now under package bnsd, rather than
    conflicting with generic app messages in a namespace conflict.
  • Moved some more messages from x/validators package to weave
  • cmd/bnsd: nft/username allows now for any number of aliases/names for a
    single address. Lookup of the username by an address is no longer available.
  • messages produced by cmd/bnscli have a new binary format incompatible with
    the previous version.
  • x/gov added indexes to proposals and electorate to enable better client-side UX
  • cash.UpdateConfigurationMsg requires Metadata.Schema
  • ValidatorUpdate definitions now moved to weave package. Weave is using these definitions
    now instead of abci internally.
  • Simplified Iterator to 2 methods - Next() and Release()
  • Removed cmd/bcpd application
  • Removed x/namecoin package that is no longer used.
  • Removed obsolete examples directory