Documentation
¶
Index ¶
- func APISignModeToInternal(mode signingv1beta1.SignMode) (signing.SignMode, error)
- func APISignModesToInternal(modes []signingv1beta1.SignMode) ([]signing.SignMode, error)
- func GetSignBytesAdapter(ctx context.Context, handlerMap *txsigning.HandlerMap, mode signing.SignMode, ...) ([]byte, error)
- func VerifySignature(ctx context.Context, pubKey cryptotypes.PubKey, ...) error
- type SigVerifiableTx
- type SignModeHandler
- type SignModeHandlerMap
- func (h SignModeHandlerMap) DefaultMode() signing.SignMode
- func (h SignModeHandlerMap) GetSignBytes(mode signing.SignMode, data SignerData, tx sdk.Tx) ([]byte, error)
- func (h SignModeHandlerMap) GetSignBytesWithContext(ctx context.Context, mode signing.SignMode, data SignerData, tx sdk.Tx) ([]byte, error)
- func (h SignModeHandlerMap) Modes() []signing.SignMode
- type SignModeHandlerWithContext
- type SignerData
- type Tx
- type V2AdaptableTx
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func APISignModeToInternal ¶ added in v0.50.1
func APISignModeToInternal(mode signingv1beta1.SignMode) (signing.SignMode, error)
APISignModeToInternal converts a protobuf SignMode to a signing.SignMode.
func APISignModesToInternal ¶ added in v0.50.1
func APISignModesToInternal(modes []signingv1beta1.SignMode) ([]signing.SignMode, error)
APISignModesToInternal converts a protobuf SignMode array to a signing.SignMode array.
func GetSignBytesAdapter ¶ added in v0.50.1
func GetSignBytesAdapter( ctx context.Context, handlerMap *txsigning.HandlerMap, mode signing.SignMode, signerData SignerData, tx sdk.Tx, ) ([]byte, error)
GetSignBytesAdapter returns the sign bytes for a given transaction and sign mode. It accepts the arguments expected for signing in x/auth/tx and converts them to the arguments expected by the txsigning.HandlerMap, then applies HandlerMap.GetSignBytes to get the sign bytes.
func VerifySignature ¶
func VerifySignature( ctx context.Context, pubKey cryptotypes.PubKey, signerData txsigning.SignerData, signatureData signing.SignatureData, handler *txsigning.HandlerMap, txData txsigning.TxData, ) error
VerifySignature verifies a transaction signature contained in SignatureData abstracting over different signing modes. It differs from VerifySignature in that it uses the new txsigning.TxData interface in x/tx.
Types ¶
type SigVerifiableTx ¶
type SigVerifiableTx interface {
types.Tx
GetSigners() ([][]byte, error)
GetPubKeys() ([]cryptotypes.PubKey, error) // If signer already has pubkey in context, this list will have nil in its place
GetSignaturesV2() ([]signing.SignatureV2, error)
}
SigVerifiableTx defines a transaction interface for all signature verification handlers.
type SignModeHandler ¶
type SignModeHandler interface {
// DefaultMode is the default mode that is to be used with this handler if no
// other mode is specified. This can be useful for testing and CLI usage
DefaultMode() signing.SignMode
// Modes is the list of modes supporting by this handler
Modes() []signing.SignMode
// GetSignBytes returns the sign bytes for the provided SignMode, SignerData and Tx,
// or an error
GetSignBytes(mode signing.SignMode, data SignerData, tx sdk.Tx) ([]byte, error)
}
SignModeHandler defines a interface to be implemented by types which will handle SignMode's by generating sign bytes from a Tx and SignerData
type SignModeHandlerMap ¶
type SignModeHandlerMap struct {
// contains filtered or unexported fields
}
SignModeHandlerMap is SignModeHandler that aggregates multiple SignModeHandler's into a single handler
func NewSignModeHandlerMap ¶
func NewSignModeHandlerMap(defaultMode signing.SignMode, handlers []SignModeHandler) SignModeHandlerMap
NewSignModeHandlerMap returns a new SignModeHandlerMap with the provided defaultMode and handlers
func (SignModeHandlerMap) DefaultMode ¶
func (h SignModeHandlerMap) DefaultMode() signing.SignMode
DefaultMode implements SignModeHandler.DefaultMode
func (SignModeHandlerMap) GetSignBytes ¶
func (h SignModeHandlerMap) GetSignBytes(mode signing.SignMode, data SignerData, tx sdk.Tx) ([]byte, error)
GetSignBytes implements SignModeHandler.GetSignBytes
func (SignModeHandlerMap) GetSignBytesWithContext ¶ added in v0.50.1
func (h SignModeHandlerMap) GetSignBytesWithContext(ctx context.Context, mode signing.SignMode, data SignerData, tx sdk.Tx) ([]byte, error)
GetSignBytesWithContext implements SignModeHandler.GetSignBytesWithContext
func (SignModeHandlerMap) Modes ¶
func (h SignModeHandlerMap) Modes() []signing.SignMode
Modes implements SignModeHandler.Modes
type SignModeHandlerWithContext ¶ added in v0.50.1
type SignModeHandlerWithContext interface {
SignModeHandler
// GetSignBytes returns the sign bytes for the provided SignMode, SignerData and Tx,
// or an error
GetSignBytesWithContext(ctx context.Context, mode signing.SignMode, data SignerData, tx sdk.Tx) ([]byte, error)
}
SignModeHandlerWithContext is like SignModeHandler, with a new GetSignBytes method which takes an additional context.Context argument, to be used to access state. Consumers should preferably type-cast to this interface and pass in the context.Context arg, and default to SignModeHandler otherwise. This interface is created for backwards compatibility, and will be deleted once SDK versions <v0.47 are not supported anymore.
type SignerData ¶
type SignerData struct {
// The address of the signer.
//
// In case of multisigs, this should be the multisig's address.
Address string
// ChainID is the chain that this transaction is targeted
ChainID string
// AccountNumber is the account number of the signer.
//
// In case of multisigs, this should be the multisig account number.
AccountNumber uint64
// Sequence is the account sequence number of the signer that is used
// for replay protection. This field is only useful for Legacy Amino signing,
// since in SIGN_MODE_DIRECT the account sequence is already in the signer
// info.
//
// In case of multisigs, this should be the multisig sequence.
Sequence uint64
// PubKey is the public key of the signer.
//
// In case of multisigs, this should be the pubkey of the member of the
// multisig that is signing the current sign doc.
PubKey cryptotypes.PubKey
}
SignerData is the specific information needed to sign a transaction that generally isn't included in the transaction body itself
type Tx ¶
type Tx interface {
SigVerifiableTx
types.TxWithMemo
types.FeeTx
types.TxWithTimeoutHeight
types.TxWithUnordered
types.HasValidateBasic
}
Tx defines a transaction interface that supports all standard message, signature fee, memo and auxiliary interfaces.
type V2AdaptableTx ¶ added in v0.50.1
V2AdaptableTx is an interface that wraps the GetSigningTxData method. GetSigningTxData returns an x/tx/signing.TxData representation of a transaction for use in signing interoperability with x/tx.