types: introduce StdFee
This commit is contained in:
parent
eb23803833
commit
be7cb6c96c
|
@ -49,6 +49,7 @@ var _ Tx = (*StdTx)(nil)
|
||||||
// NOTE: the first signature is the FeePayer (Signatures must not be nil).
|
// NOTE: the first signature is the FeePayer (Signatures must not be nil).
|
||||||
type StdTx struct {
|
type StdTx struct {
|
||||||
Msg `json:"msg"`
|
Msg `json:"msg"`
|
||||||
|
Fee StdFee `json:"fee"`
|
||||||
Signatures []StdSignature `json:"signatures"`
|
Signatures []StdSignature `json:"signatures"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -59,6 +60,16 @@ func NewStdTx(msg Msg, sigs []StdSignature) StdTx {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// SetFee sets the StdFee on the transaction.
|
||||||
|
func (tx StdTx) SetFee(fee StdFee) StdTx {
|
||||||
|
tx.Fee = fee
|
||||||
|
return tx
|
||||||
|
}
|
||||||
|
|
||||||
|
//nolint
|
||||||
|
func (tx StdTx) GetMsg() Msg { return tx.Msg }
|
||||||
|
func (tx StdTx) GetSignatures() []StdSignature { return tx.Signatures }
|
||||||
|
|
||||||
// FeePayer returns the address responsible for paying the fees
|
// FeePayer returns the address responsible for paying the fees
|
||||||
// for the transactions. It's the first address returned by msg.GetSigners().
|
// for the transactions. It's the first address returned by msg.GetSigners().
|
||||||
// If GetSigners() is empty, this panics.
|
// If GetSigners() is empty, this panics.
|
||||||
|
@ -66,9 +77,20 @@ func FeePayer(tx Tx) Address {
|
||||||
return tx.GetMsg().GetSigners()[0]
|
return tx.GetMsg().GetSigners()[0]
|
||||||
}
|
}
|
||||||
|
|
||||||
//nolint
|
// StdFee includes the amount of coins paid in fees and the maximum
|
||||||
func (tx StdTx) GetMsg() Msg { return tx.Msg }
|
// gas to be used by the transaction. The ratio yields an effectie "gasprice",
|
||||||
func (tx StdTx) GetSignatures() []StdSignature { return tx.Signatures }
|
// which must be above some miminum to be accepted into the mempool.
|
||||||
|
type StdFee struct {
|
||||||
|
Amount Coins `json"amount"`
|
||||||
|
Gas int64 `json"gas"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func NewStdFee(gas int64, amount ...Coin) StdFee {
|
||||||
|
return StdFee{
|
||||||
|
Amount: amount,
|
||||||
|
Gas: gas,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// StdSignDoc is replay-prevention structure.
|
// StdSignDoc is replay-prevention structure.
|
||||||
// It includes the result of msg.GetSignBytes(),
|
// It includes the result of msg.GetSignBytes(),
|
||||||
|
|
Loading…
Reference in New Issue