* stake/fees spec updates * staking overview.md revisions, moving files * docs reorganization * staking spec state revisions * transaction stake updates * complete staking spec update * WIP adding unbonding/redelegation commands * added msg types for unbonding, redelegation * stake sub-package reorg * working stake reorg * modify lcd tests to not use hardcoded json strings * add description update * index keys * key managment for unbonding redelegation complete * update stake errors * completed handleMsgCompleteUnbonding fn * updated to use begin/complete unbonding/redelegation * fix token shares bug * develop docs into unbonding * got non-tests compiling after merge develop * working fixing tests * PrivlegedKeeper -> PrivilegedKeeper * tests compile * fix some tests * fixing tests * remove PrivilegedKeeper * get unbonding bug * only rpc sig verification failed tests now * move percent unbonding/redelegation to the CLI and out of handler logic * remove min unbonding height * add lcd txs * add pool sanity checks, fix a buncha tests * fix ante. set lcd log to debug (#1322) * redelegation tests, adding query functionality for bonds * add self-delegations at genesis ref #1165 * PR comments (mostly) addressed * cleanup, added Query LCD functionality * test cleanup/fixes * fix governance test * SlashValidatorSet -> ValidatorSet * changelog * stake lcd fix * x/auth: fix chainID in ante * fix lcd test * fix lint, update lint make command for spelling * lowercase error string * don't expose coinkeeper in staking * remove a few duplicate lines in changelog * chain_id in stake lcd tests * added transient redelegation * 'transient' => 'transitive' * Re-add nolint instruction * Fix tiny linter error
50 lines
928 B
Go
50 lines
928 B
Go
package wire
|
|
|
|
import (
|
|
"bytes"
|
|
"encoding/json"
|
|
|
|
"github.com/tendermint/go-amino"
|
|
"github.com/tendermint/go-crypto"
|
|
)
|
|
|
|
// amino codec to marshal/unmarshal
|
|
type Codec = amino.Codec
|
|
|
|
func NewCodec() *Codec {
|
|
cdc := amino.NewCodec()
|
|
return cdc
|
|
}
|
|
|
|
// Register the go-crypto to the codec
|
|
func RegisterCrypto(cdc *Codec) {
|
|
crypto.RegisterAmino(cdc)
|
|
}
|
|
|
|
// attempt to make some pretty json
|
|
func MarshalJSONIndent(cdc *Codec, obj interface{}) ([]byte, error) {
|
|
bz, err := cdc.MarshalJSON(obj)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
var out bytes.Buffer
|
|
err = json.Indent(&out, bz, "", " ")
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return out.Bytes(), nil
|
|
}
|
|
|
|
//__________________________________________________________________
|
|
|
|
// generic sealed codec to be used throughout sdk
|
|
var Cdc *Codec
|
|
|
|
func init() {
|
|
cdc := NewCodec()
|
|
RegisterCrypto(cdc)
|
|
Cdc = cdc
|
|
//Cdc = cdc.Seal() // TODO uncomment once amino upgraded to 0.9.10
|
|
}
|