43 lines
1.2 KiB
Go
43 lines
1.2 KiB
Go
|
package client
|
||
|
|
||
|
import (
|
||
|
"github.com/cosmos/cosmos-sdk/codec"
|
||
|
sdk "github.com/cosmos/cosmos-sdk/types"
|
||
|
)
|
||
|
|
||
|
type (
|
||
|
// ClientMarshaler defines an interface that REST and CLI handler will use to
|
||
|
// create application-specific transactions and be able to serialize types
|
||
|
// specific to the application including transactions.
|
||
|
ClientMarshaler interface {
|
||
|
TxGenerator
|
||
|
codec.Marshaler
|
||
|
}
|
||
|
|
||
|
// TxGenerator defines an interface a client can utilize to generate an
|
||
|
// application-defined concrete transaction type. The type returned must
|
||
|
// implement ClientTx.
|
||
|
TxGenerator interface {
|
||
|
NewTx() ClientTx
|
||
|
}
|
||
|
|
||
|
// ClientTx defines an interface which an application-defined concrete transaction
|
||
|
// type must implement. Namely, it must be able to set messages, generate
|
||
|
// signatures, and provide canonical bytes to sign over. The transaction must
|
||
|
// also know how to encode itself.
|
||
|
ClientTx interface {
|
||
|
sdk.Tx
|
||
|
codec.ProtoMarshaler
|
||
|
|
||
|
SetMsgs(...sdk.Msg) error
|
||
|
GetSignatures() []sdk.Signature
|
||
|
SetSignatures(...sdk.Signature)
|
||
|
GetFee() sdk.Fee
|
||
|
SetFee(sdk.Fee)
|
||
|
GetMemo() string
|
||
|
SetMemo(string)
|
||
|
|
||
|
CanonicalSignBytes(cid string, num, seq uint64) ([]byte, error)
|
||
|
}
|
||
|
)
|