Easy-to-use SDK to build Tendermint ABCI applications
x/sigs
allow to explicitly specify which user to bump the sequence for
instead of relying on the transaction signatures.x/username
when registering a token, allow to explicitly specify the new
token owner instead of relying only on the transaction signatures.Breaking changes
x.MainSigner
to x.AnySigner
to better describe
provided functionality.x/username
: allow to change configuration via messagegconf
: allow to provide an optional authentication address that will be
used to authenticate a configuration creation message. This solves a
chicken-egg problem of when the confgiuration was not created via genesis.migrations
: when upgrading the schema version an explicit version must be
provided. This is required to ensure at most one delivery.cmd/bnscli
can create a schema upgrade transaction.cmd/bnsd/x/blueaccount
but
not integrated into cmd/bnsd
application.orm
: implement SerialModelBucket
that provides a better API to interact with datastore.migration
: implement migration for SerialModelBucket
.This release includes the commits necessary to make block-explorer functioning.
x/batch
: increase maximum number of messages to 15cmd/bnscli
: a new command mnemonic
was added for generating a random
mnemonic as described in BIP-39.weave.Options
: add an option to stream json for lower memory footprint
when parsing large json objects.cmd/bnscli
: when a transaction is submitted, for certain messages parse
returned response data and print it in a human readable format.clean_protos.sh
appends option go_package = "github.com/iov-one/weave";
to prevent protoc error in weave based frameworkscmd/bnscli
support for more query endpointsbnsd/x/username
was updated and now the username validation rules are
defined dynamically via gconf powered configuration.Breaking changes
cmd/bnscli
: keygen
command was updated and requires a mnemonic to
generate a key.orm
: VersionedIDRef
is now de/serialized by appending BigEndian ID and BigEndian Versioncmd/bnscli
: now expects VersionedIDRef to be serialised using the new formatBreaking changes
bnsd/x/username
: iov
is the only valid and accepted domain name for a
username. This limitation is forced for the MVP release as we do not have
namespace management implemented.testify
dependency from our testsx/cron
is added. It allows to configure weave application
to be able to schedule messages for future execution.x/gov
are having their tally executed automatically
after the voting time is over. This is possible thanks to x/cron
extension.owner
index to bnsd x/username
to be able to query tokens by owner.x/username
to enable name reservation.address
attribute to entities aswap.Swap
,
escrow.Contract
, distribution.Revenue
, multisig.Contract
gov.ElectionRule
and
paychan.PaymentChannel
.Breaking changes
weave.Ticker
interface was updated.owner
index to bnsd x/username
to be able to query tokens by owner.x/username
to enable name reservation.x/username
extension was changed from []byte
to
string
. Instead of base64 encoded value, a valid string is stored as the
address.x/gov
package were updated to follow the
naming convention.gov.TallyMsg
is no longer available. Tally is created automatically when
the voting time is over.bnsd/x/username
genesis initializer implemented and included in bnsd
.bnscli
bnscli
x/utils.ActionTagger
: all bnsd
transactions now have
action=${msg.Path()}
tags. If there is a batch, there is one tag per
sub-message. If it is a governance tally, the TallyMsg as well as the
option (message executed on behalf of the governance stack) is tagged.Breaking changes
<package>/<message_name>
app.Router
interface was changed. Handler registration requires a message
and not message path.src
and sender
to source
dst
and recipient
to destination
app
errors.Field
was added. This allows to bind errors to field names and
enables easier testing of group errors.x/validators
to store initial validator list and validate updates against
this list while updating on every successful transaction.x/username
was added. This
implementation does not rely on x/nft
package.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 transactionx/aswap
allow timeout of a swap to be any value after 1970-01-01.Iterator
s 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
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>
.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.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.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 UXcash.UpdateConfigurationMsg
requires Metadata.Schema
weave
package. Weave is using these definitions
now instead of abci internally.Iterator
to 2 methods - Next() and Release()cmd/bcpd
applicationx/namecoin
package that is no longer used.examples
directory