basecoin compiles

This commit is contained in:
Ethan Buchman 2018-01-14 22:49:57 -05:00
parent d2a801a513
commit 381424460c
8 changed files with 42 additions and 28 deletions

View File

@ -1 +0,0 @@
package main

View File

@ -88,11 +88,11 @@ func main() {
// Misc. // Misc.
func registerMsgs() { func registerMsgs() {
wire.RegisterInterface((*types.Msg), nil) wire.RegisterInterface((*sdk.Msg)(nil), nil)
wire.RegisterConcrete((*bank.SendMsg), nil) wire.RegisterConcrete(&bank.SendMsg{}, "com.cosmos.basecoin.send_msg", nil)
} }
func decodeTx(txBytes []byte) (types.Tx, error) { func decodeTx(txBytes []byte) (sdk.Tx, error) {
var tx = sdk.StdTx{} var tx = sdk.StdTx{}
err := wire.UnmarshalBinary(txBytes, &tx) err := wire.UnmarshalBinary(txBytes, &tx)
return tx, err return tx, err

30
glide.lock generated
View File

@ -1,10 +1,14 @@
hash: faf3b372fd15fa4ee41114e8f0f76707e648c79b418f55b845b023b2069f88d0 hash: a48b72c21e7e4eaf17cf54ae0ab8104c15a9b230adc3f33318fe5c068dd94996
updated: 2018-01-13T12:34:01.209505425-05:00 updated: 2018-01-14T22:42:37.763378242-05:00
imports: imports:
- name: github.com/btcsuite/btcd - name: github.com/btcsuite/btcd
version: c7588cbf7690cd9f047a28efa2dcd8f2435a4e5e version: c7588cbf7690cd9f047a28efa2dcd8f2435a4e5e
subpackages: subpackages:
- btcec - btcec
- name: github.com/davecgh/go-spew
version: 04cdfd42973bb9c8589fd6a731800cf222fde1a9
subpackages:
- spew
- name: github.com/ebuchman/fail-test - name: github.com/ebuchman/fail-test
version: 95f809107225be108efcf10a3509e4ea6ceef3c4 version: 95f809107225be108efcf10a3509e4ea6ceef3c4
- name: github.com/go-kit/kit - name: github.com/go-kit/kit
@ -37,7 +41,7 @@ imports:
- name: github.com/golang/snappy - name: github.com/golang/snappy
version: 553a641470496b2327abcac10b36396bd98e45c9 version: 553a641470496b2327abcac10b36396bd98e45c9
- name: github.com/gorilla/websocket - name: github.com/gorilla/websocket
version: 71fa72d4842364bc5f74185f4161e0099ea3624a version: ea4d1f681babbce9545c9c5f3d5194a789c89f5b
- name: github.com/jmhodges/levigo - name: github.com/jmhodges/levigo
version: c42d9e0ca023e2198120196f842701bb4c55d7b9 version: c42d9e0ca023e2198120196f842701bb4c55d7b9
- name: github.com/kr/logfmt - name: github.com/kr/logfmt
@ -51,7 +55,7 @@ imports:
- name: github.com/spf13/pflag - name: github.com/spf13/pflag
version: 97afa5e7ca8a08a383cb259e06636b5e2cc7897f version: 97afa5e7ca8a08a383cb259e06636b5e2cc7897f
- name: github.com/spf13/viper - name: github.com/spf13/viper
version: 8ef37cbca71638bf32f3d5e194117d4cb46da163 version: 25b30aa063fc18e48662b86996252eabdcf2f0c7
- name: github.com/syndtr/goleveldb - name: github.com/syndtr/goleveldb
version: b89cc31ef7977104127d34c1bd31ebd1a9db2199 version: b89cc31ef7977104127d34c1bd31ebd1a9db2199
subpackages: subpackages:
@ -68,7 +72,7 @@ imports:
- leveldb/table - leveldb/table
- leveldb/util - leveldb/util
- name: github.com/tendermint/abci - name: github.com/tendermint/abci
version: 2bd556205d1679683fddcd5a91eeccf37a8a1007 version: 4243954d8d940f9ee0646a83d48ea7a1a907529e
subpackages: subpackages:
- client - client
- example/code - example/code
@ -81,15 +85,15 @@ imports:
- edwards25519 - edwards25519
- extra25519 - extra25519
- name: github.com/tendermint/go-crypto - name: github.com/tendermint/go-crypto
version: 67a47e6a0bf474a76f6a8f09b39cfdf382f39b90 version: 32741be2126500d600cede1e2016bbbe2754cb46
subpackages: subpackages:
- keys - keys
- name: github.com/tendermint/go-wire - name: github.com/tendermint/go-wire
version: 27be46e25124ddf775e23317a83647ce62a93f6b version: b93ebdd4f306833936c243561ec30af3455dc764
subpackages: subpackages:
- data - data
- name: github.com/tendermint/iavl - name: github.com/tendermint/iavl
version: ed0bbf0acc51e75f72c76099293113c2d67199b9 version: 1dfe265ab4b491418e88e1da6577a8ad594fc989
- name: github.com/tendermint/light-client - name: github.com/tendermint/light-client
version: 76313d625e662ed7b284d066d68ff71edd7a9fac version: 76313d625e662ed7b284d066d68ff71edd7a9fac
subpackages: subpackages:
@ -98,7 +102,7 @@ imports:
- certifiers/files - certifiers/files
- proofs - proofs
- name: github.com/tendermint/tendermint - name: github.com/tendermint/tendermint
version: ec1ca04a1608eb947b6692343744cbce08778d61 version: 81ecbd4e5f82fbd2f657571e3154c68240080127
subpackages: subpackages:
- config - config
- consensus/types - consensus/types
@ -113,7 +117,7 @@ imports:
- state - state
- types - types
- name: github.com/tendermint/tmlibs - name: github.com/tendermint/tmlibs
version: 2bb538b150f197a04a0b969a27e9ea24d35edbc1 version: f2bc5432c31974bb3f5b1a80a53c38e37d481b8d
subpackages: subpackages:
- cli - cli
- cli/flags - cli/flags
@ -178,16 +182,12 @@ imports:
- tap - tap
- transport - transport
testImports: testImports:
- name: github.com/davecgh/go-spew
version: 04cdfd42973bb9c8589fd6a731800cf222fde1a9
subpackages:
- spew
- name: github.com/pmezard/go-difflib - name: github.com/pmezard/go-difflib
version: d8ed2627bdf02c080bf22230dbb337003b7aba2d version: d8ed2627bdf02c080bf22230dbb337003b7aba2d
subpackages: subpackages:
- difflib - difflib
- name: github.com/stretchr/testify - name: github.com/stretchr/testify
version: 2aa2c176b9dab406a6970f6a55f513e8a8c8b18f version: b91bfb9ebec76498946beb6af7c0230c7cc7ba6c
subpackages: subpackages:
- assert - assert
- require - require

View File

@ -12,7 +12,7 @@ import:
- server - server
- types - types
- package: github.com/tendermint/go-crypto - package: github.com/tendermint/go-crypto
version: develop version: sdk2
subpackages: subpackages:
- keys - keys
- package: github.com/tendermint/go-wire - package: github.com/tendermint/go-wire

View File

@ -226,7 +226,7 @@ type substoreCore struct {
// Hash returns the RIPEMD160 of the wire-encoded substore. // Hash returns the RIPEMD160 of the wire-encoded substore.
func (sc substoreCore) Hash() []byte { func (sc substoreCore) Hash() []byte {
scBytes, _ := wire.Marshal(sc) // Does not error scBytes, _ := wire.MarshalBinary(sc) // Does not error
hasher := ripemd160.New() hasher := ripemd160.New()
hasher.Write(scBytes) hasher.Write(scBytes)
return hasher.Sum(nil) return hasher.Sum(nil)
@ -241,7 +241,7 @@ func getLatestVersion(db dbm.DB) int64 {
if latestBytes == nil { if latestBytes == nil {
return 0 return 0
} }
err := wire.Unmarshal(latestBytes, &latest) err := wire.UnmarshalBinary(latestBytes, &latest)
if err != nil { if err != nil {
panic(err) panic(err)
} }
@ -250,7 +250,7 @@ func getLatestVersion(db dbm.DB) int64 {
// Set the latest version. // Set the latest version.
func setLatestVersion(batch dbm.Batch, version int64) { func setLatestVersion(batch dbm.Batch, version int64) {
latestBytes, _ := wire.Marshal(version) // Does not error latestBytes, _ := wire.MarshalBinary(version) // Does not error
batch.Set([]byte(latestVersionKey), latestBytes) batch.Set([]byte(latestVersionKey), latestBytes)
} }
@ -287,7 +287,7 @@ func getCommitState(db dbm.DB, ver int64) (commitState, error) {
// Parse bytes. // Parse bytes.
var state commitState var state commitState
err := wire.Unmarshal(stateBytes, &state) err := wire.UnmarshalBinary(stateBytes, &state)
if err != nil { if err != nil {
return commitState{}, fmt.Errorf("Failed to get rootMultiStore: %v", err) return commitState{}, fmt.Errorf("Failed to get rootMultiStore: %v", err)
} }
@ -296,7 +296,7 @@ func getCommitState(db dbm.DB, ver int64) (commitState, error) {
// Set a commit state for given version. // Set a commit state for given version.
func setCommitState(batch dbm.Batch, version int64, state commitState) { func setCommitState(batch dbm.Batch, version int64, state commitState) {
stateBytes, err := wire.Marshal(state) stateBytes, err := wire.MarshalBinary(state)
if err != nil { if err != nil {
panic(err) panic(err)
} }

View File

@ -1,6 +1,9 @@
package types package types
import crypto "github.com/tendermint/go-crypto" import (
crypto "github.com/tendermint/go-crypto"
wire "github.com/tendermint/go-wire"
)
type Msg interface { type Msg interface {
@ -45,9 +48,21 @@ type Tx interface {
GetSignatures() []StdSignature GetSignatures() []StdSignature
} }
var _ Tx = (*StdTx)(nil)
type StdTx struct { type StdTx struct {
Msg Msg
Signatures []StdSignature Signatures []StdSignature
} }
func (tx StdTx) GetFeePayer() crypto.Address { return tx.Signatures[0].PubKey.Address() }
func (tx StdTx) GetTxBytes() []byte {
bz, err := wire.MarshalBinary(tx)
if err != nil {
panic(err)
}
return bz
}
func (tx StdTx) GetSignatures() []StdSignature { return tx.Signatures }
type TxDecoder func(txBytes []byte) (Tx, error) type TxDecoder func(txBytes []byte) (Tx, error)

View File

@ -56,7 +56,7 @@ func (acc BaseAccount) GetPubKey() crypto.PubKey {
// Implements Account // Implements Account
func (acc *BaseAccount) SetPubKey(pubKey crypto.PubKey) error { func (acc *BaseAccount) SetPubKey(pubKey crypto.PubKey) error {
if !acc.PubKey.Empty() { if acc.PubKey != nil {
return errors.New("cannot override BaseAccount pubkey") return errors.New("cannot override BaseAccount pubkey")
} }
acc.PubKey = pubKey acc.PubKey = pubKey

View File

@ -46,7 +46,7 @@ func NewAnteHandler(store sdk.AccountStore) sdk.AnteHandler {
signerAccs[i] = signerAcc signerAccs[i] = signerAcc
// If no pubkey, set pubkey. // If no pubkey, set pubkey.
if signerAcc.GetPubKey().Empty() { if signerAcc.GetPubKey() == nil {
err := signerAcc.SetPubKey(sig.PubKey) err := signerAcc.SetPubKey(sig.PubKey)
if err != nil { if err != nil {
return ctx, sdk.Result{ return ctx, sdk.Result{