Easy-to-use SDK to build Tendermint ABCI applications
cmd/bnscli
for interacting with a BNS node was created.x/gov
extension is now restricted to only
members of the electorate that this proposal is created for.orm.ModelBucket
was added that provides an
easier to use interface when dealing with a single entity type.migration
package was updated to provide orm.ModelBucket
wrapper for
transparent schema version migrationsx/gov
package was added, which maintains multiple versioned Electorates and
ElectionRules that define voting rules (quorum, threshold, voting period) for
a given Electorate. Votes can be tallied at the end and execute an
application-defined action which is passed in to the constructor. This is
compatible with standard handler interfaces and sample application-level
setup is demonstrated in the test code (and all sample*_test.go
code).DeliverResult.Log
(reporting to be improved in a
future issue)x/gov
adds three internal transations: UpdateElectorate, UpdateElectionRule,
and TextResolution. TextResolutions can only be created by elections and
the text is stored in a bucket along with a reference to the electorate
and proposal that they refer to.x/batch
in bnsd. You can now send a batch of messages, which are
executed atomically as one unit (all succeed, or no changes committed).x/gov
methods are exposed in bnsd application. The list of messages that
are eligible for proposals is in cmd/bnsd/app/codec.go.ProposalOptions
.
Note that you can also use a batch message with a subset of possible actions,
to make multiple SendTx as part of a governance vote, for example.errors.Append
function to combine errors into a new multi error
typespec
directory now contains protobuf files and testvectors (standard api
objects in both json and binary encodings) to enable easier bindings and unit
tests in client code, and projects that import weave.Breaking changes
Metadata
attribute was removed from transaction attributes. This affects
two entities x/cash.FeeInfo
and x/sigs.StdSignature
x/aswap
extension implementing atomic swap functionality. Atomic swap
implementation is separated from x/escrow
x/cash
is using the new gconf
package for configuration. New genesis path
is used. To update genesis file, replace "gconf": { "cash:xyz": "foo" }
with
"conf": { "cash": { "xyz": "foo" } }
migration
package. Schema versioning for models and messages can be
implemented by relying on functionality provided by this package.Breaking changes
dep
is no longer used or
supported.x/paychan
extension is using a wall clock for the timeout functionality
instead of relying on the block heightgconf
package was reimplemented from scratch. Configuration can be changed
during the runtime using messages.weave.Metadata
and support schema
versioning as implemented by migrations
package. Protobuf messages are
using new schema and are not binary compatible with old ones. Updated
extensions are: x/cash
, x/currency
, x/distribution
, x/escrow
,
x/msgfee
, x/multisig
, x/namecoin
,
x/nft
, x/paychan
, x/sigs
, x/validators
weave.LoadMsg
x/gov
)x/sigs
extension costs gas nowBumpSequenceMsg
for incrementing a user sequence value in
x/sigs
extensionx/escrow
extension, expiration time is now
inclusive[bugfix] Bcpd: initialize validator update addresses
[Feature] Upgrade Tendermint to v0.29.1