feat: Add SIGN_MODE_DIRECT_AUX and tx Tip proto definitions (#9405)

closes: #9406 

---

Before we can merge this PR, please make sure that all the following items have been
checked off. If any of the checklist items are not applicable, please leave them but
write a little note why.

- [ ] Targeted PR against correct branch (see [CONTRIBUTING.md](https://github.com/cosmos/cosmos-sdk/blob/master/CONTRIBUTING.md#pr-targeting))
- [ ] Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
- [ ] Code follows the [module structure standards](https://github.com/cosmos/cosmos-sdk/blob/master/docs/building-modules/structure.md).
- [ ] Wrote unit and integration [tests](https://github.com/cosmos/cosmos-sdk/blob/master/CONTRIBUTING.md#testing)
- [ ] Updated relevant documentation (`docs/`) or specification (`x/<module>/spec/`)
- [ ] Added relevant `godoc` [comments](https://blog.golang.org/godoc-documenting-go-code).
- [ ] Added a relevant changelog entry to the `Unreleased` section in `CHANGELOG.md`
- [ ] Re-reviewed `Files changed` in the Github PR explorer
- [ ] Review `Codecov Report` in the comment section below once CI passes
This commit is contained in:
Aaron Craelius 2021-08-11 07:12:47 -04:00 committed by GitHub
parent c14b101a7a
commit 69b4935c63
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 921 additions and 103 deletions

View File

@ -611,8 +611,10 @@
- [ModeInfo.Multi](#cosmos.tx.v1beta1.ModeInfo.Multi)
- [ModeInfo.Single](#cosmos.tx.v1beta1.ModeInfo.Single)
- [SignDoc](#cosmos.tx.v1beta1.SignDoc)
- [SignDocDirectAux](#cosmos.tx.v1beta1.SignDocDirectAux)
- [SignDocJSON](#cosmos.tx.v1beta1.SignDocJSON)
- [SignerInfo](#cosmos.tx.v1beta1.SignerInfo)
- [Tip](#cosmos.tx.v1beta1.Tip)
- [Tx](#cosmos.tx.v1beta1.Tx)
- [TxBody](#cosmos.tx.v1beta1.TxBody)
- [TxRaw](#cosmos.tx.v1beta1.TxRaw)
@ -8623,7 +8625,8 @@ SignMode represents a signing mode with its own security guarantees.
| SIGN_MODE_UNSPECIFIED | 0 | SIGN_MODE_UNSPECIFIED specifies an unknown signing mode and will be rejected. |
| SIGN_MODE_DIRECT | 1 | SIGN_MODE_DIRECT specifies a signing mode which uses SignDoc and is verified with raw bytes from Tx. |
| SIGN_MODE_TEXTUAL | 2 | SIGN_MODE_TEXTUAL is a future signing mode that will verify some human-readable textual representation on top of the binary representation from SIGN_MODE_DIRECT. It is currently not supported. |
| SIGN_MODE_DIRECT_JSON | 3 | SIGN_MODE_DIRECT_JSON specifies a signing mode which uses SignDocJSON. It is verified using a canonical JSON representation of the bytes used in SIGN_MODE_DIRECT. |
| SIGN_MODE_DIRECT_JSON | 3 | SIGN_MODE_DIRECT_JSON specifies a signing mode which uses SignDocJSON. It is verified using a canonical JSON representation of the bytes used in SIGN_MODE_DIRECT. It is currently not supported. |
| SIGN_MODE_DIRECT_AUX | 4 | SIGN_MODE_DIRECT_AUX specifies a signing mode which uses SignDocDirectAux. As opposed to SIGN_MODE_DIRECT, this sign mode does not require signers signing over other signers' `signer_info`. It also allows for adding Tips in transactions. |
| SIGN_MODE_LEGACY_AMINO_JSON | 127 | SIGN_MODE_LEGACY_AMINO_JSON is a backwards compatibility mode which uses Amino JSON and will be removed in the future. |
@ -8653,6 +8656,7 @@ transaction.
| ----- | ---- | ----- | ----------- |
| `signer_infos` | [SignerInfo](#cosmos.tx.v1beta1.SignerInfo) | repeated | signer_infos defines the signing modes for the required signers. The number and order of elements must match the required signers from TxBody's messages. The first element is the primary signer and the one which pays the fee. |
| `fee` | [Fee](#cosmos.tx.v1beta1.Fee) | | Fee is the fee and gas limit for the transaction. The first signer is the primary signer and the one which pays the fee. The fee can be calculated based on the cost of evaluating the body and doing signature verification of the signers. This can be estimated via simulation. |
| `tip` | [Tip](#cosmos.tx.v1beta1.Tip) | | Tip is the optional tip used for meta-transactions. |
@ -8746,6 +8750,27 @@ SignDoc is the type used for generating sign bytes for SIGN_MODE_DIRECT.
<a name="cosmos.tx.v1beta1.SignDocDirectAux"></a>
### SignDocDirectAux
SignDocDirectAux is the type used for generating sign bytes for
SIGN_MODE_DIRECT_AUX.
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| `body_bytes` | [bytes](#bytes) | | body_bytes is protobuf serialization of a TxBody that matches the representation in TxRaw. |
| `public_key` | [google.protobuf.Any](#google.protobuf.Any) | | public_key is the public key of the signing account. |
| `chain_id` | [string](#string) | | chain_id is the identifier of the chain this transaction targets. It prevents signed transactions from being used on another chain by an attacker. |
| `account_number` | [uint64](#uint64) | | account_number is the account number of the account in state. |
| `sequence` | [uint64](#uint64) | | sequence is the sequence number of the signing account. |
| `tip` | [Tip](#cosmos.tx.v1beta1.Tip) | | Tip is the optional tip used for meta-transactions. It should be left empty if the signer is not the tipper for this transaction. |
<a name="cosmos.tx.v1beta1.SignDocJSON"></a>
### SignDocJSON
@ -8786,6 +8811,22 @@ signer.
<a name="cosmos.tx.v1beta1.Tip"></a>
### Tip
Tip is the tip used for meta-transactions.
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| `amount` | [cosmos.base.v1beta1.Coin](#cosmos.base.v1beta1.Coin) | repeated | amount is the amount of the tip |
| `tipper` | [string](#string) | | tipper is the address of the account paying for the tip |
<a name="cosmos.tx.v1beta1.Tx"></a>
### Tx

View File

@ -23,9 +23,15 @@ enum SignMode {
// SIGN_MODE_DIRECT_JSON specifies a signing mode which uses SignDocJSON. It
// is verified using a canonical JSON representation of the bytes used in
// SIGN_MODE_DIRECT.
// SIGN_MODE_DIRECT. It is currently not supported.
SIGN_MODE_DIRECT_JSON = 3;
// SIGN_MODE_DIRECT_AUX specifies a signing mode which uses
// SignDocDirectAux. As opposed to SIGN_MODE_DIRECT, this sign mode does not
// require signers signing over other signers' `signer_info`. It also allows
// for adding Tips in transactions.
SIGN_MODE_DIRECT_AUX = 4;
// SIGN_MODE_LEGACY_AMINO_JSON is a backwards compatibility mode which uses
// Amino JSON and will be removed in the future.
SIGN_MODE_LEGACY_AMINO_JSON = 127;

View File

@ -96,6 +96,32 @@ message SignDocJSON {
bytes sign_doc_sha256_hash = 5;
}
// SignDocDirectAux is the type used for generating sign bytes for
// SIGN_MODE_DIRECT_AUX.
message SignDocDirectAux {
// body_bytes is protobuf serialization of a TxBody that matches the
// representation in TxRaw.
bytes body_bytes = 1;
// public_key is the public key of the signing account.
google.protobuf.Any public_key = 2;
// chain_id is the identifier of the chain this transaction targets.
// It prevents signed transactions from being used on another chain by an
// attacker.
string chain_id = 3;
// account_number is the account number of the account in state.
uint64 account_number = 4;
// sequence is the sequence number of the signing account.
uint64 sequence = 5;
// Tip is the optional tip used for meta-transactions. It should be left
// empty if the signer is not the tipper for this transaction.
Tip tip = 6;
}
// TxBody is the body of a transaction that all signers sign over.
message TxBody {
// messages is a list of messages to be executed. The required signers of
@ -141,6 +167,9 @@ message AuthInfo {
// based on the cost of evaluating the body and doing signature verification
// of the signers. This can be estimated via simulation.
Fee fee = 2;
// Tip is the optional tip used for meta-transactions.
Tip tip = 3;
}
// SignerInfo describes the public key and signing mode of a single top-level
@ -214,3 +243,11 @@ message Fee {
// not support fee grants, this will fail
string granter = 4;
}
// Tip is the tip used for meta-transactions.
message Tip {
// amount is the amount of the tip
repeated cosmos.base.v1beta1.Coin amount = 1;
// tipper is the address of the account paying for the tip
string tipper = 2;
}

View File

@ -40,8 +40,13 @@ const (
SignMode_SIGN_MODE_TEXTUAL SignMode = 2
// SIGN_MODE_DIRECT_JSON specifies a signing mode which uses SignDocJSON. It
// is verified using a canonical JSON representation of the bytes used in
// SIGN_MODE_DIRECT.
// SIGN_MODE_DIRECT. It is currently not supported.
SignMode_SIGN_MODE_DIRECT_JSON SignMode = 3
// SIGN_MODE_DIRECT_AUX specifies a signing mode which uses
// SignDocDirectAux. As opposed to SIGN_MODE_DIRECT, this sign mode does not
// require signers signing over other signers' `signer_info`. It also allows
// for adding Tips in transactions.
SignMode_SIGN_MODE_DIRECT_AUX SignMode = 4
// SIGN_MODE_LEGACY_AMINO_JSON is a backwards compatibility mode which uses
// Amino JSON and will be removed in the future.
SignMode_SIGN_MODE_LEGACY_AMINO_JSON SignMode = 127
@ -52,6 +57,7 @@ var SignMode_name = map[int32]string{
1: "SIGN_MODE_DIRECT",
2: "SIGN_MODE_TEXTUAL",
3: "SIGN_MODE_DIRECT_JSON",
4: "SIGN_MODE_DIRECT_AUX",
127: "SIGN_MODE_LEGACY_AMINO_JSON",
}
@ -60,6 +66,7 @@ var SignMode_value = map[string]int32{
"SIGN_MODE_DIRECT": 1,
"SIGN_MODE_TEXTUAL": 2,
"SIGN_MODE_DIRECT_JSON": 3,
"SIGN_MODE_DIRECT_AUX": 4,
"SIGN_MODE_LEGACY_AMINO_JSON": 127,
}
@ -397,42 +404,43 @@ func init() {
}
var fileDescriptor_9a54958ff3d0b1b9 = []byte{
// 552 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x94, 0xcf, 0x6e, 0xd3, 0x40,
0x10, 0xc6, 0xed, 0x26, 0xad, 0xd2, 0x29, 0x42, 0x61, 0x49, 0xa5, 0xc4, 0x20, 0x13, 0x95, 0x03,
0x11, 0x52, 0xd6, 0x6a, 0x72, 0x40, 0x70, 0xcb, 0x1f, 0x93, 0x86, 0x36, 0x09, 0xd8, 0xa9, 0x04,
0x5c, 0x2c, 0xdb, 0xd9, 0x1a, 0xab, 0xb1, 0xd7, 0x78, 0xd7, 0xa8, 0x3e, 0xf1, 0x06, 0x88, 0xd7,
0xe0, 0x39, 0xb8, 0x70, 0xec, 0x91, 0x23, 0x4a, 0x9e, 0x81, 0x3b, 0x8a, 0x1d, 0x27, 0xa9, 0x54,
0x84, 0xc8, 0xc9, 0x9a, 0x99, 0x6f, 0x7f, 0xf3, 0xad, 0x66, 0xd6, 0xf0, 0xc4, 0xa6, 0xcc, 0xa3,
0x4c, 0xe1, 0x57, 0x0a, 0x73, 0x1d, 0xdf, 0xf5, 0x1d, 0xe5, 0xd3, 0xb1, 0x45, 0xb8, 0x79, 0x9c,
0xc5, 0x38, 0x08, 0x29, 0xa7, 0xa8, 0x92, 0x0a, 0x31, 0xbf, 0xc2, 0x59, 0x61, 0x29, 0x94, 0xea,
0x4b, 0x86, 0x1d, 0xc6, 0x01, 0xa7, 0x8a, 0x17, 0x4d, 0xb9, 0xcb, 0xdc, 0x35, 0x28, 0x4b, 0xa4,
0x24, 0xa9, 0xe2, 0x50, 0xea, 0x4c, 0x89, 0x92, 0x44, 0x56, 0x74, 0xa1, 0x98, 0x7e, 0x9c, 0x96,
0x8e, 0x2e, 0xa0, 0xa4, 0xbb, 0x8e, 0x6f, 0xf2, 0x28, 0x24, 0x5d, 0xc2, 0xec, 0xd0, 0x0d, 0x38,
0x0d, 0x19, 0x1a, 0x02, 0xb0, 0x2c, 0xcf, 0xca, 0x62, 0x35, 0x57, 0x3b, 0x68, 0x60, 0xfc, 0x57,
0x47, 0xf8, 0x16, 0x88, 0xb6, 0x41, 0x38, 0xfa, 0x9d, 0x87, 0xfb, 0xb7, 0x68, 0x50, 0x13, 0x20,
0x88, 0xac, 0xa9, 0x6b, 0x1b, 0x97, 0x24, 0x2e, 0x8b, 0x55, 0xb1, 0x76, 0xd0, 0x28, 0xe1, 0xd4,
0x2f, 0xce, 0xfc, 0xe2, 0x96, 0x1f, 0x6b, 0xfb, 0xa9, 0xee, 0x94, 0xc4, 0xa8, 0x07, 0xf9, 0x89,
0xc9, 0xcd, 0xf2, 0x4e, 0x22, 0x6f, 0xfe, 0x9f, 0x2d, 0xdc, 0x35, 0xb9, 0xa9, 0x25, 0x00, 0x24,
0x41, 0x81, 0x91, 0x8f, 0x11, 0xf1, 0x6d, 0x52, 0xce, 0x55, 0xc5, 0x5a, 0x5e, 0x5b, 0xc5, 0xd2,
0xf7, 0x1c, 0xe4, 0x17, 0x52, 0x34, 0x86, 0x3d, 0xe6, 0xfa, 0xce, 0x94, 0x2c, 0xed, 0xbd, 0xd8,
0xa2, 0x1f, 0xd6, 0x13, 0xc2, 0x89, 0xa0, 0x2d, 0x59, 0xe8, 0x0d, 0xec, 0x26, 0x53, 0x5a, 0x5e,
0xe2, 0xf9, 0x36, 0xd0, 0xc1, 0x02, 0x70, 0x22, 0x68, 0x29, 0x49, 0x32, 0x60, 0x2f, 0x6d, 0x83,
0x9e, 0x41, 0xde, 0xa3, 0x93, 0xd4, 0xf0, 0xdd, 0xc6, 0xe3, 0x7f, 0xb0, 0x07, 0x74, 0x42, 0xb4,
0xe4, 0x00, 0x7a, 0x08, 0xfb, 0xab, 0xa1, 0x25, 0xce, 0xee, 0x68, 0xeb, 0x84, 0xf4, 0x4d, 0x84,
0xdd, 0xa4, 0x27, 0x3a, 0x85, 0x82, 0xe5, 0x72, 0x33, 0x0c, 0xcd, 0x6c, 0x68, 0x4a, 0xd6, 0x24,
0xdd, 0x49, 0xbc, 0x5a, 0xc1, 0xac, 0x53, 0x87, 0x7a, 0x81, 0x69, 0xf3, 0xb6, 0xcb, 0x5b, 0x8b,
0x63, 0xda, 0x0a, 0x80, 0xf4, 0x1b, 0xbb, 0xb6, 0x93, 0xec, 0xda, 0x56, 0x43, 0xdd, 0xc0, 0xb4,
0x77, 0x21, 0xc7, 0x22, 0xef, 0xe9, 0x17, 0x11, 0x0a, 0xd9, 0x1d, 0x51, 0x05, 0x0e, 0xf5, 0x7e,
0x6f, 0x68, 0x0c, 0x46, 0x5d, 0xd5, 0x38, 0x1f, 0xea, 0xaf, 0xd5, 0x4e, 0xff, 0x65, 0x5f, 0xed,
0x16, 0x05, 0x54, 0x82, 0xe2, 0xba, 0xd4, 0xed, 0x6b, 0x6a, 0x67, 0x5c, 0x14, 0xd1, 0x21, 0xdc,
0x5b, 0x67, 0xc7, 0xea, 0xdb, 0xf1, 0x79, 0xeb, 0xac, 0xb8, 0x73, 0x93, 0x93, 0x8a, 0x8d, 0x57,
0xfa, 0x68, 0x58, 0xcc, 0xa1, 0x47, 0xf0, 0x60, 0x5d, 0x3a, 0x53, 0x7b, 0xad, 0xce, 0x3b, 0xa3,
0x35, 0xe8, 0x0f, 0x47, 0xa9, 0xe0, 0x73, 0xbb, 0xf7, 0x63, 0x26, 0x8b, 0xd7, 0x33, 0x59, 0xfc,
0x35, 0x93, 0xc5, 0xaf, 0x73, 0x59, 0xb8, 0x9e, 0xcb, 0xc2, 0xcf, 0xb9, 0x2c, 0xbc, 0xaf, 0x3b,
0x2e, 0xff, 0x10, 0x59, 0xd8, 0xa6, 0x9e, 0x92, 0xbd, 0xef, 0xe4, 0x53, 0x67, 0x93, 0x4b, 0x85,
0xc7, 0x01, 0xd9, 0xfc, 0x69, 0x58, 0x7b, 0xc9, 0xeb, 0x68, 0xfe, 0x09, 0x00, 0x00, 0xff, 0xff,
0x93, 0x71, 0x12, 0x94, 0x50, 0x04, 0x00, 0x00,
// 562 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x94, 0xc1, 0x6e, 0xd3, 0x40,
0x10, 0x86, 0xed, 0xc6, 0xad, 0xda, 0x29, 0x42, 0x66, 0x49, 0xa5, 0xd4, 0x20, 0x53, 0x95, 0x03,
0x15, 0x52, 0xd7, 0x6a, 0x7b, 0x40, 0x70, 0x73, 0x13, 0x93, 0x86, 0x36, 0x09, 0xd8, 0x89, 0x54,
0xb8, 0x58, 0xb6, 0xb3, 0x35, 0x56, 0x63, 0xaf, 0xf1, 0xae, 0x51, 0x7d, 0xe2, 0x15, 0x78, 0x0c,
0x78, 0x0e, 0x2e, 0x1c, 0x7b, 0xe4, 0x88, 0x92, 0x67, 0xe0, 0x8e, 0x62, 0xc7, 0x49, 0x2a, 0x8a,
0x10, 0x39, 0x59, 0x3b, 0xf3, 0xcf, 0x37, 0xff, 0x6a, 0x66, 0x0d, 0x4f, 0x3c, 0xca, 0x42, 0xca,
0x34, 0x7e, 0xa5, 0xb1, 0xc0, 0x8f, 0x82, 0xc8, 0xd7, 0x3e, 0x1e, 0xb8, 0x84, 0x3b, 0x07, 0xe5,
0x19, 0xc7, 0x09, 0xe5, 0x14, 0x6d, 0x17, 0x42, 0xcc, 0xaf, 0x70, 0x99, 0x98, 0x0a, 0x95, 0xfd,
0x29, 0xc3, 0x4b, 0xb2, 0x98, 0x53, 0x2d, 0x4c, 0x87, 0x3c, 0x60, 0xc1, 0x1c, 0x54, 0x06, 0x0a,
0x92, 0xb2, 0xed, 0x53, 0xea, 0x0f, 0x89, 0x96, 0x9f, 0xdc, 0xf4, 0x42, 0x73, 0xa2, 0xac, 0x48,
0xed, 0x5e, 0x40, 0xd5, 0x0a, 0xfc, 0xc8, 0xe1, 0x69, 0x42, 0x1a, 0x84, 0x79, 0x49, 0x10, 0x73,
0x9a, 0x30, 0xd4, 0x01, 0x60, 0x65, 0x9c, 0xd5, 0xc4, 0x9d, 0xca, 0xde, 0xe6, 0x21, 0xc6, 0x7f,
0x75, 0x84, 0x6f, 0x81, 0x98, 0x0b, 0x84, 0xdd, 0x5f, 0x12, 0xdc, 0xbf, 0x45, 0x83, 0x8e, 0x00,
0xe2, 0xd4, 0x1d, 0x06, 0x9e, 0x7d, 0x49, 0xb2, 0x9a, 0xb8, 0x23, 0xee, 0x6d, 0x1e, 0x56, 0x71,
0xe1, 0x17, 0x97, 0x7e, 0xb1, 0x1e, 0x65, 0xe6, 0x46, 0xa1, 0x3b, 0x25, 0x19, 0x6a, 0x82, 0x34,
0x70, 0xb8, 0x53, 0x5b, 0xc9, 0xe5, 0x47, 0xff, 0x67, 0x0b, 0x37, 0x1c, 0xee, 0x98, 0x39, 0x00,
0x29, 0xb0, 0xce, 0xc8, 0x87, 0x94, 0x44, 0x1e, 0xa9, 0x55, 0x76, 0xc4, 0x3d, 0xc9, 0x9c, 0x9d,
0x95, 0x6f, 0x15, 0x90, 0x26, 0x52, 0xd4, 0x83, 0x35, 0x16, 0x44, 0xfe, 0x90, 0x4c, 0xed, 0xbd,
0x58, 0xa2, 0x1f, 0xb6, 0x72, 0xc2, 0x89, 0x60, 0x4e, 0x59, 0xe8, 0x0d, 0xac, 0xe6, 0x53, 0x9a,
0x5e, 0xe2, 0xf9, 0x32, 0xd0, 0xf6, 0x04, 0x70, 0x22, 0x98, 0x05, 0x49, 0xb1, 0x61, 0xad, 0x68,
0x83, 0x9e, 0x81, 0x14, 0xd2, 0x41, 0x61, 0xf8, 0xee, 0xe1, 0xe3, 0x7f, 0xb0, 0xdb, 0x74, 0x40,
0xcc, 0xbc, 0x00, 0x3d, 0x84, 0x8d, 0xd9, 0xd0, 0x72, 0x67, 0x77, 0xcc, 0x79, 0x40, 0xf9, 0x2a,
0xc2, 0x6a, 0xde, 0x13, 0x9d, 0xc2, 0xba, 0x1b, 0x70, 0x27, 0x49, 0x9c, 0x72, 0x68, 0x5a, 0xd9,
0xa4, 0xd8, 0x49, 0x3c, 0x5b, 0xc1, 0xb2, 0x53, 0x9d, 0x86, 0xb1, 0xe3, 0xf1, 0xe3, 0x80, 0xeb,
0x93, 0x32, 0x73, 0x06, 0x40, 0xd6, 0x8d, 0x5d, 0x5b, 0xc9, 0x77, 0x6d, 0xa9, 0xa1, 0x2e, 0x60,
0x8e, 0x57, 0xa1, 0xc2, 0xd2, 0xf0, 0xe9, 0x17, 0x11, 0xd6, 0xcb, 0x3b, 0xa2, 0x6d, 0xd8, 0xb2,
0x5a, 0xcd, 0x8e, 0xdd, 0xee, 0x36, 0x0c, 0xbb, 0xdf, 0xb1, 0x5e, 0x1b, 0xf5, 0xd6, 0xcb, 0x96,
0xd1, 0x90, 0x05, 0x54, 0x05, 0x79, 0x9e, 0x6a, 0xb4, 0x4c, 0xa3, 0xde, 0x93, 0x45, 0xb4, 0x05,
0xf7, 0xe6, 0xd1, 0x9e, 0x71, 0xde, 0xeb, 0xeb, 0x67, 0xf2, 0xca, 0x4d, 0x4e, 0x21, 0xb6, 0x5f,
0x59, 0xdd, 0x8e, 0x5c, 0x41, 0x35, 0xa8, 0xfe, 0x91, 0xd2, 0xfb, 0xe7, 0xb2, 0x84, 0x1e, 0xc1,
0x83, 0x79, 0xe6, 0xcc, 0x68, 0xea, 0xf5, 0xb7, 0xb6, 0xde, 0x6e, 0x75, 0xba, 0x45, 0xe9, 0xa7,
0xe3, 0xe6, 0xf7, 0x91, 0x2a, 0x5e, 0x8f, 0x54, 0xf1, 0xe7, 0x48, 0x15, 0x3f, 0x8f, 0x55, 0xe1,
0x7a, 0xac, 0x0a, 0x3f, 0xc6, 0xaa, 0xf0, 0x6e, 0xdf, 0x0f, 0xf8, 0xfb, 0xd4, 0xc5, 0x1e, 0x0d,
0xb5, 0xf2, 0xe5, 0xe7, 0x9f, 0x7d, 0x36, 0xb8, 0xd4, 0x78, 0x16, 0x93, 0xc5, 0xdf, 0x89, 0xbb,
0x96, 0xbf, 0x9b, 0xa3, 0xdf, 0x01, 0x00, 0x00, 0xff, 0xff, 0x9a, 0x94, 0x26, 0xd7, 0x6a, 0x04,
0x00, 0x00,
}
func (m *SignatureDescriptors) Marshal() (dAtA []byte, err error) {

View File

@ -341,6 +341,102 @@ func (m *SignDocJSON) GetSignDocSha256Hash() []byte {
return nil
}
// SignDocDirectAux is the type used for generating sign bytes for
// SIGN_MODE_DIRECT_AUX.
type SignDocDirectAux struct {
// body_bytes is protobuf serialization of a TxBody that matches the
// representation in TxRaw.
BodyBytes []byte `protobuf:"bytes,1,opt,name=body_bytes,json=bodyBytes,proto3" json:"body_bytes,omitempty"`
// public_key is the public key of the signing account.
PublicKey *types.Any `protobuf:"bytes,2,opt,name=public_key,json=publicKey,proto3" json:"public_key,omitempty"`
// chain_id is the identifier of the chain this transaction targets.
// It prevents signed transactions from being used on another chain by an
// attacker.
ChainId string `protobuf:"bytes,3,opt,name=chain_id,json=chainId,proto3" json:"chain_id,omitempty"`
// account_number is the account number of the account in state.
AccountNumber uint64 `protobuf:"varint,4,opt,name=account_number,json=accountNumber,proto3" json:"account_number,omitempty"`
// sequence is the sequence number of the signing account.
Sequence uint64 `protobuf:"varint,5,opt,name=sequence,proto3" json:"sequence,omitempty"`
// Tip is the optional tip used for meta-transactions. It should be left
// empty if the signer is not the tipper for this transaction.
Tip *Tip `protobuf:"bytes,6,opt,name=tip,proto3" json:"tip,omitempty"`
}
func (m *SignDocDirectAux) Reset() { *m = SignDocDirectAux{} }
func (m *SignDocDirectAux) String() string { return proto.CompactTextString(m) }
func (*SignDocDirectAux) ProtoMessage() {}
func (*SignDocDirectAux) Descriptor() ([]byte, []int) {
return fileDescriptor_96d1575ffde80842, []int{4}
}
func (m *SignDocDirectAux) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
}
func (m *SignDocDirectAux) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
if deterministic {
return xxx_messageInfo_SignDocDirectAux.Marshal(b, m, deterministic)
} else {
b = b[:cap(b)]
n, err := m.MarshalToSizedBuffer(b)
if err != nil {
return nil, err
}
return b[:n], nil
}
}
func (m *SignDocDirectAux) XXX_Merge(src proto.Message) {
xxx_messageInfo_SignDocDirectAux.Merge(m, src)
}
func (m *SignDocDirectAux) XXX_Size() int {
return m.Size()
}
func (m *SignDocDirectAux) XXX_DiscardUnknown() {
xxx_messageInfo_SignDocDirectAux.DiscardUnknown(m)
}
var xxx_messageInfo_SignDocDirectAux proto.InternalMessageInfo
func (m *SignDocDirectAux) GetBodyBytes() []byte {
if m != nil {
return m.BodyBytes
}
return nil
}
func (m *SignDocDirectAux) GetPublicKey() *types.Any {
if m != nil {
return m.PublicKey
}
return nil
}
func (m *SignDocDirectAux) GetChainId() string {
if m != nil {
return m.ChainId
}
return ""
}
func (m *SignDocDirectAux) GetAccountNumber() uint64 {
if m != nil {
return m.AccountNumber
}
return 0
}
func (m *SignDocDirectAux) GetSequence() uint64 {
if m != nil {
return m.Sequence
}
return 0
}
func (m *SignDocDirectAux) GetTip() *Tip {
if m != nil {
return m.Tip
}
return nil
}
// TxBody is the body of a transaction that all signers sign over.
type TxBody struct {
// messages is a list of messages to be executed. The required signers of
@ -372,7 +468,7 @@ func (m *TxBody) Reset() { *m = TxBody{} }
func (m *TxBody) String() string { return proto.CompactTextString(m) }
func (*TxBody) ProtoMessage() {}
func (*TxBody) Descriptor() ([]byte, []int) {
return fileDescriptor_96d1575ffde80842, []int{4}
return fileDescriptor_96d1575ffde80842, []int{5}
}
func (m *TxBody) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@ -449,13 +545,15 @@ type AuthInfo struct {
// based on the cost of evaluating the body and doing signature verification
// of the signers. This can be estimated via simulation.
Fee *Fee `protobuf:"bytes,2,opt,name=fee,proto3" json:"fee,omitempty"`
// Tip is the optional tip used for meta-transactions.
Tip *Tip `protobuf:"bytes,3,opt,name=tip,proto3" json:"tip,omitempty"`
}
func (m *AuthInfo) Reset() { *m = AuthInfo{} }
func (m *AuthInfo) String() string { return proto.CompactTextString(m) }
func (*AuthInfo) ProtoMessage() {}
func (*AuthInfo) Descriptor() ([]byte, []int) {
return fileDescriptor_96d1575ffde80842, []int{5}
return fileDescriptor_96d1575ffde80842, []int{6}
}
func (m *AuthInfo) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@ -498,6 +596,13 @@ func (m *AuthInfo) GetFee() *Fee {
return nil
}
func (m *AuthInfo) GetTip() *Tip {
if m != nil {
return m.Tip
}
return nil
}
// SignerInfo describes the public key and signing mode of a single top-level
// signer.
type SignerInfo struct {
@ -518,7 +623,7 @@ func (m *SignerInfo) Reset() { *m = SignerInfo{} }
func (m *SignerInfo) String() string { return proto.CompactTextString(m) }
func (*SignerInfo) ProtoMessage() {}
func (*SignerInfo) Descriptor() ([]byte, []int) {
return fileDescriptor_96d1575ffde80842, []int{6}
return fileDescriptor_96d1575ffde80842, []int{7}
}
func (m *SignerInfo) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@ -583,7 +688,7 @@ func (m *ModeInfo) Reset() { *m = ModeInfo{} }
func (m *ModeInfo) String() string { return proto.CompactTextString(m) }
func (*ModeInfo) ProtoMessage() {}
func (*ModeInfo) Descriptor() ([]byte, []int) {
return fileDescriptor_96d1575ffde80842, []int{7}
return fileDescriptor_96d1575ffde80842, []int{8}
}
func (m *ModeInfo) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@ -669,7 +774,7 @@ func (m *ModeInfo_Single) Reset() { *m = ModeInfo_Single{} }
func (m *ModeInfo_Single) String() string { return proto.CompactTextString(m) }
func (*ModeInfo_Single) ProtoMessage() {}
func (*ModeInfo_Single) Descriptor() ([]byte, []int) {
return fileDescriptor_96d1575ffde80842, []int{7, 0}
return fileDescriptor_96d1575ffde80842, []int{8, 0}
}
func (m *ModeInfo_Single) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@ -718,7 +823,7 @@ func (m *ModeInfo_Multi) Reset() { *m = ModeInfo_Multi{} }
func (m *ModeInfo_Multi) String() string { return proto.CompactTextString(m) }
func (*ModeInfo_Multi) ProtoMessage() {}
func (*ModeInfo_Multi) Descriptor() ([]byte, []int) {
return fileDescriptor_96d1575ffde80842, []int{7, 1}
return fileDescriptor_96d1575ffde80842, []int{8, 1}
}
func (m *ModeInfo_Multi) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@ -784,7 +889,7 @@ func (m *Fee) Reset() { *m = Fee{} }
func (m *Fee) String() string { return proto.CompactTextString(m) }
func (*Fee) ProtoMessage() {}
func (*Fee) Descriptor() ([]byte, []int) {
return fileDescriptor_96d1575ffde80842, []int{8}
return fileDescriptor_96d1575ffde80842, []int{9}
}
func (m *Fee) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@ -841,11 +946,67 @@ func (m *Fee) GetGranter() string {
return ""
}
// Tip is the tip used for meta-transactions.
type Tip struct {
// amount is the amount of the tip
Amount []*types2.Coin `protobuf:"bytes,1,rep,name=amount,proto3" json:"amount,omitempty"`
// tipper is the address of the account paying for the tip
Tipper string `protobuf:"bytes,2,opt,name=tipper,proto3" json:"tipper,omitempty"`
}
func (m *Tip) Reset() { *m = Tip{} }
func (m *Tip) String() string { return proto.CompactTextString(m) }
func (*Tip) ProtoMessage() {}
func (*Tip) Descriptor() ([]byte, []int) {
return fileDescriptor_96d1575ffde80842, []int{10}
}
func (m *Tip) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
}
func (m *Tip) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
if deterministic {
return xxx_messageInfo_Tip.Marshal(b, m, deterministic)
} else {
b = b[:cap(b)]
n, err := m.MarshalToSizedBuffer(b)
if err != nil {
return nil, err
}
return b[:n], nil
}
}
func (m *Tip) XXX_Merge(src proto.Message) {
xxx_messageInfo_Tip.Merge(m, src)
}
func (m *Tip) XXX_Size() int {
return m.Size()
}
func (m *Tip) XXX_DiscardUnknown() {
xxx_messageInfo_Tip.DiscardUnknown(m)
}
var xxx_messageInfo_Tip proto.InternalMessageInfo
func (m *Tip) GetAmount() []*types2.Coin {
if m != nil {
return m.Amount
}
return nil
}
func (m *Tip) GetTipper() string {
if m != nil {
return m.Tipper
}
return ""
}
func init() {
proto.RegisterType((*Tx)(nil), "cosmos.tx.v1beta1.Tx")
proto.RegisterType((*TxRaw)(nil), "cosmos.tx.v1beta1.TxRaw")
proto.RegisterType((*SignDoc)(nil), "cosmos.tx.v1beta1.SignDoc")
proto.RegisterType((*SignDocJSON)(nil), "cosmos.tx.v1beta1.SignDocJSON")
proto.RegisterType((*SignDocDirectAux)(nil), "cosmos.tx.v1beta1.SignDocDirectAux")
proto.RegisterType((*TxBody)(nil), "cosmos.tx.v1beta1.TxBody")
proto.RegisterType((*AuthInfo)(nil), "cosmos.tx.v1beta1.AuthInfo")
proto.RegisterType((*SignerInfo)(nil), "cosmos.tx.v1beta1.SignerInfo")
@ -853,68 +1014,74 @@ func init() {
proto.RegisterType((*ModeInfo_Single)(nil), "cosmos.tx.v1beta1.ModeInfo.Single")
proto.RegisterType((*ModeInfo_Multi)(nil), "cosmos.tx.v1beta1.ModeInfo.Multi")
proto.RegisterType((*Fee)(nil), "cosmos.tx.v1beta1.Fee")
proto.RegisterType((*Tip)(nil), "cosmos.tx.v1beta1.Tip")
}
func init() { proto.RegisterFile("cosmos/tx/v1beta1/tx.proto", fileDescriptor_96d1575ffde80842) }
var fileDescriptor_96d1575ffde80842 = []byte{
// 895 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x55, 0xcd, 0x6e, 0xdb, 0x46,
0x10, 0x16, 0xf5, 0x67, 0x69, 0x6c, 0x27, 0xf5, 0xc2, 0x28, 0x64, 0x19, 0x61, 0x5c, 0x16, 0x69,
0x75, 0x31, 0x99, 0x38, 0xe8, 0x2f, 0x0a, 0xb4, 0x56, 0xda, 0xc0, 0x69, 0x9a, 0x04, 0x58, 0xf9,
0x94, 0x0b, 0xb1, 0xa4, 0xd6, 0xe4, 0x22, 0xe2, 0xae, 0xca, 0x5d, 0xa6, 0xd2, 0x43, 0x14, 0x08,
0x0a, 0x14, 0x7d, 0x87, 0xbe, 0x40, 0x5f, 0x21, 0xc7, 0x1c, 0x7b, 0x6a, 0x0d, 0xfb, 0xd4, 0xa7,
0x68, 0xb1, 0xcb, 0x25, 0x6d, 0xb4, 0x82, 0x7d, 0x68, 0xd1, 0x93, 0x76, 0x66, 0xbe, 0xf9, 0xf6,
0xdb, 0x99, 0xd1, 0x10, 0x86, 0xb1, 0x90, 0x99, 0x90, 0x81, 0x5a, 0x04, 0x2f, 0xef, 0x45, 0x54,
0x91, 0x7b, 0x81, 0x5a, 0xf8, 0xf3, 0x5c, 0x28, 0x81, 0xb6, 0xca, 0x98, 0xaf, 0x16, 0xbe, 0x8d,
0x0d, 0xb7, 0x13, 0x91, 0x08, 0x13, 0x0d, 0xf4, 0xa9, 0x04, 0x0e, 0xf7, 0x2d, 0x49, 0x9c, 0x2f,
0xe7, 0x4a, 0x04, 0x59, 0x31, 0x53, 0x4c, 0xb2, 0xa4, 0x66, 0xac, 0x1c, 0x16, 0xee, 0x5a, 0x78,
0x44, 0x24, 0xad, 0x31, 0xb1, 0x60, 0xdc, 0xc6, 0xdf, 0xbf, 0xd0, 0x24, 0x59, 0xc2, 0x19, 0xbf,
0x60, 0xb2, 0xb6, 0x05, 0xee, 0x24, 0x42, 0x24, 0x33, 0x1a, 0x18, 0x2b, 0x2a, 0x4e, 0x02, 0xc2,
0x97, 0x65, 0xc8, 0xfb, 0xde, 0x81, 0xe6, 0xf1, 0x02, 0xed, 0x43, 0x3b, 0x12, 0xd3, 0xe5, 0xc0,
0xd9, 0x73, 0x46, 0xeb, 0x07, 0x3b, 0xfe, 0x3f, 0x5e, 0xe4, 0x1f, 0x2f, 0xc6, 0x62, 0xba, 0xc4,
0x06, 0x86, 0x3e, 0x86, 0x3e, 0x29, 0x54, 0x1a, 0x32, 0x7e, 0x22, 0x06, 0x4d, 0x93, 0xb3, 0xbb,
0x22, 0xe7, 0xb0, 0x50, 0xe9, 0x23, 0x7e, 0x22, 0x70, 0x8f, 0xd8, 0x13, 0x72, 0x01, 0xb4, 0x36,
0xa2, 0x8a, 0x9c, 0xca, 0x41, 0x6b, 0xaf, 0x35, 0xda, 0xc0, 0x97, 0x3c, 0x1e, 0x87, 0xce, 0xf1,
0x02, 0x93, 0xef, 0xd0, 0x2d, 0x00, 0x7d, 0x55, 0x18, 0x2d, 0x15, 0x95, 0x46, 0xd7, 0x06, 0xee,
0x6b, 0xcf, 0x58, 0x3b, 0xd0, 0x7b, 0x70, 0xb3, 0x56, 0x60, 0x31, 0x4d, 0x83, 0xd9, 0xac, 0xae,
0x2a, 0x71, 0xd7, 0xdd, 0xf7, 0x83, 0x03, 0x6b, 0x13, 0x96, 0xf0, 0x2f, 0x45, 0xfc, 0x5f, 0x5d,
0xb9, 0x03, 0xbd, 0x38, 0x25, 0x8c, 0x87, 0x6c, 0x3a, 0x68, 0xed, 0x39, 0xa3, 0x3e, 0x5e, 0x33,
0xf6, 0xa3, 0x29, 0xba, 0x03, 0x37, 0x48, 0x1c, 0x8b, 0x82, 0xab, 0x90, 0x17, 0x59, 0x44, 0xf3,
0x41, 0x7b, 0xcf, 0x19, 0xb5, 0xf1, 0xa6, 0xf5, 0x3e, 0x35, 0x4e, 0xef, 0x0f, 0x07, 0xd6, 0xad,
0xa8, 0xaf, 0x27, 0xcf, 0x9e, 0xfe, 0x7f, 0xdd, 0xf9, 0xd7, 0xd2, 0x51, 0x00, 0xdb, 0xba, 0xba,
0xe1, 0x54, 0xc4, 0xa1, 0x4c, 0xc9, 0xc1, 0x07, 0x1f, 0x86, 0x29, 0x91, 0xe9, 0xa0, 0x63, 0x2a,
0xb5, 0x25, 0xcb, 0x57, 0x4d, 0x4c, 0xe4, 0x88, 0xc8, 0xd4, 0xfb, 0xb1, 0x09, 0xdd, 0x52, 0x3d,
0xba, 0x0b, 0xbd, 0x8c, 0x4a, 0x49, 0x12, 0x53, 0xfd, 0xd6, 0x68, 0xfd, 0x60, 0xdb, 0x2f, 0x27,
0xd7, 0xaf, 0x26, 0xd7, 0x3f, 0xe4, 0x4b, 0x5c, 0xa3, 0x10, 0x82, 0x76, 0x46, 0xb3, 0xf2, 0x91,
0x7d, 0x6c, 0xce, 0x5a, 0xa8, 0x62, 0x19, 0x15, 0x85, 0x0a, 0x53, 0xca, 0x92, 0x54, 0x99, 0x97,
0xb4, 0xf1, 0xa6, 0xf5, 0x1e, 0x19, 0x27, 0x1a, 0xc3, 0x16, 0x5d, 0x28, 0xca, 0x25, 0x13, 0x3c,
0x14, 0x73, 0xc5, 0x04, 0x97, 0x83, 0x3f, 0xd7, 0xae, 0xb8, 0xf6, 0xad, 0x1a, 0xff, 0xac, 0x84,
0xa3, 0xe7, 0xe0, 0x72, 0xc1, 0xc3, 0x38, 0x67, 0x8a, 0xc5, 0x64, 0x16, 0xae, 0x20, 0xbc, 0x79,
0x05, 0xe1, 0x2e, 0x17, 0xfc, 0x81, 0xcd, 0xfd, 0xea, 0x6f, 0xdc, 0xde, 0x4b, 0xe8, 0x55, 0x0d,
0x42, 0x5f, 0xc0, 0x86, 0x2e, 0x1c, 0xcd, 0x4d, 0x4b, 0xab, 0xe2, 0xdc, 0x5a, 0xd1, 0xd3, 0x89,
0x81, 0x99, 0xae, 0xae, 0xcb, 0xfa, 0x2c, 0xd1, 0x08, 0x5a, 0x27, 0x94, 0xda, 0x61, 0x78, 0x7b,
0x45, 0xe2, 0x43, 0x4a, 0xb1, 0x86, 0x78, 0x3f, 0x39, 0x00, 0x17, 0x2c, 0xe8, 0x3e, 0xc0, 0xbc,
0x88, 0x66, 0x2c, 0x0e, 0x5f, 0xd0, 0x6a, 0x00, 0x57, 0xbf, 0xa6, 0x5f, 0xe2, 0x1e, 0x53, 0x33,
0x80, 0x99, 0x98, 0xd2, 0xeb, 0x06, 0xf0, 0x89, 0x98, 0xd2, 0x72, 0x00, 0x33, 0x7b, 0x42, 0x43,
0xe8, 0x49, 0xfa, 0x6d, 0x41, 0x79, 0x4c, 0x6d, 0xdb, 0x6a, 0xdb, 0x3b, 0x6d, 0x42, 0xaf, 0x4a,
0x41, 0x9f, 0x41, 0x57, 0x32, 0x9e, 0xcc, 0xa8, 0xd5, 0xe4, 0x5d, 0xc1, 0xef, 0x4f, 0x0c, 0xf2,
0xa8, 0x81, 0x6d, 0x0e, 0xfa, 0x04, 0x3a, 0x66, 0xd7, 0x5a, 0x71, 0xef, 0x5c, 0x95, 0xfc, 0x44,
0x03, 0x8f, 0x1a, 0xb8, 0xcc, 0x18, 0x1e, 0x42, 0xb7, 0xa4, 0x43, 0x1f, 0x41, 0x5b, 0xeb, 0x36,
0x02, 0x6e, 0x1c, 0xbc, 0x7b, 0x89, 0xa3, 0xda, 0xbe, 0x97, 0xbb, 0xa2, 0xf9, 0xb0, 0x49, 0x18,
0xbe, 0x72, 0xa0, 0x63, 0x58, 0xd1, 0x63, 0xe8, 0x45, 0x4c, 0x91, 0x3c, 0x27, 0x55, 0x6d, 0x83,
0x8a, 0xa6, 0xfc, 0x46, 0xf8, 0xf5, 0x27, 0xa1, 0xe2, 0x7a, 0x20, 0xb2, 0x39, 0x89, 0xd5, 0x98,
0xa9, 0x43, 0x9d, 0x86, 0x6b, 0x02, 0xf4, 0x29, 0x40, 0x5d, 0x75, 0xbd, 0x9a, 0x5a, 0xd7, 0x95,
0xbd, 0x5f, 0x95, 0x5d, 0x8e, 0x3b, 0xd0, 0x92, 0x45, 0xe6, 0xfd, 0xe2, 0x40, 0xeb, 0x21, 0xa5,
0x28, 0x86, 0x2e, 0xc9, 0xf4, 0xbf, 0xda, 0x8e, 0x5a, 0xbd, 0x72, 0xf4, 0xa7, 0xe8, 0x92, 0x14,
0xc6, 0xc7, 0x77, 0x5f, 0xff, 0x76, 0xbb, 0xf1, 0xf3, 0xef, 0xb7, 0x47, 0x09, 0x53, 0x69, 0x11,
0xf9, 0xb1, 0xc8, 0x82, 0xea, 0x33, 0x67, 0x7e, 0xf6, 0xe5, 0xf4, 0x45, 0xa0, 0x96, 0x73, 0x2a,
0x4d, 0x82, 0xc4, 0x96, 0x1a, 0xed, 0x42, 0x3f, 0x21, 0x32, 0x9c, 0xb1, 0x8c, 0x29, 0xd3, 0x88,
0x36, 0xee, 0x25, 0x44, 0x7e, 0xa3, 0x6d, 0xb4, 0x0d, 0x9d, 0x39, 0x59, 0xd2, 0xdc, 0xae, 0xa1,
0xd2, 0x40, 0x03, 0x58, 0x4b, 0x72, 0xc2, 0x95, 0xdd, 0x3e, 0x7d, 0x5c, 0x99, 0xe3, 0xcf, 0x5f,
0x9f, 0xb9, 0xce, 0x9b, 0x33, 0xd7, 0x39, 0x3d, 0x73, 0x9d, 0x57, 0xe7, 0x6e, 0xe3, 0xcd, 0xb9,
0xdb, 0xf8, 0xf5, 0xdc, 0x6d, 0x3c, 0xbf, 0x73, 0xbd, 0xb0, 0x40, 0x2d, 0xa2, 0xae, 0x19, 0xe6,
0xfb, 0x7f, 0x05, 0x00, 0x00, 0xff, 0xff, 0x34, 0xab, 0x74, 0x31, 0xe9, 0x07, 0x00, 0x00,
// 976 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x56, 0x4f, 0x6f, 0x1b, 0xc5,
0x1b, 0xf6, 0x66, 0x6d, 0xc7, 0x7e, 0x93, 0xb4, 0xcd, 0x28, 0xaa, 0x1c, 0x47, 0x75, 0xf3, 0xf3,
0x4f, 0x05, 0x5f, 0xb2, 0xdb, 0xa4, 0x02, 0x0a, 0x42, 0x82, 0xb8, 0xa5, 0x4a, 0x29, 0x6d, 0xd1,
0x24, 0xa7, 0x5e, 0x56, 0xb3, 0xeb, 0xc9, 0xee, 0xa8, 0xde, 0x99, 0x65, 0x67, 0x16, 0xbc, 0x1f,
0x02, 0xa9, 0x42, 0x42, 0x5c, 0x39, 0xf3, 0x05, 0xf8, 0x0a, 0x3d, 0xf6, 0xc8, 0x09, 0xaa, 0xe4,
0xc4, 0x85, 0xaf, 0x00, 0xda, 0xd9, 0xd9, 0x4d, 0x5a, 0x4c, 0x5c, 0x89, 0x8a, 0x93, 0xe7, 0x7d,
0xe7, 0x79, 0x9f, 0x79, 0xde, 0x3f, 0x3b, 0x63, 0xe8, 0x07, 0x42, 0xc6, 0x42, 0xba, 0x6a, 0xe6,
0x7e, 0xbd, 0xeb, 0x53, 0x45, 0x76, 0x5d, 0x35, 0x73, 0x92, 0x54, 0x28, 0x81, 0xd6, 0xcb, 0x3d,
0x47, 0xcd, 0x1c, 0xb3, 0xd7, 0xdf, 0x08, 0x45, 0x28, 0xf4, 0xae, 0x5b, 0xac, 0x4a, 0x60, 0x7f,
0xc7, 0x90, 0x04, 0x69, 0x9e, 0x28, 0xe1, 0xc6, 0xd9, 0x54, 0x31, 0xc9, 0xc2, 0x9a, 0xb1, 0x72,
0x18, 0xf8, 0xc0, 0xc0, 0x7d, 0x22, 0x69, 0x8d, 0x09, 0x04, 0xe3, 0x66, 0xff, 0xdd, 0x33, 0x4d,
0x92, 0x85, 0x9c, 0xf1, 0x33, 0x26, 0x63, 0x1b, 0xe0, 0x66, 0x28, 0x44, 0x38, 0xa5, 0xae, 0xb6,
0xfc, 0xec, 0xd8, 0x25, 0x3c, 0x2f, 0xb7, 0x86, 0xdf, 0x5a, 0xb0, 0x74, 0x34, 0x43, 0x3b, 0xd0,
0xf4, 0xc5, 0x24, 0xef, 0x59, 0xdb, 0xd6, 0x68, 0x65, 0x6f, 0xd3, 0xf9, 0x5b, 0x46, 0xce, 0xd1,
0x6c, 0x2c, 0x26, 0x39, 0xd6, 0x30, 0x74, 0x1b, 0xba, 0x24, 0x53, 0x91, 0xc7, 0xf8, 0xb1, 0xe8,
0x2d, 0xe9, 0x98, 0xad, 0x39, 0x31, 0xfb, 0x99, 0x8a, 0xee, 0xf3, 0x63, 0x81, 0x3b, 0xc4, 0xac,
0xd0, 0x00, 0xa0, 0xd0, 0x46, 0x54, 0x96, 0x52, 0xd9, 0xb3, 0xb7, 0xed, 0xd1, 0x2a, 0x3e, 0xe7,
0x19, 0x72, 0x68, 0x1d, 0xcd, 0x30, 0xf9, 0x06, 0x5d, 0x03, 0x28, 0x8e, 0xf2, 0xfc, 0x5c, 0x51,
0xa9, 0x75, 0xad, 0xe2, 0x6e, 0xe1, 0x19, 0x17, 0x0e, 0xf4, 0x0e, 0x5c, 0xae, 0x15, 0x18, 0xcc,
0x92, 0xc6, 0xac, 0x55, 0x47, 0x95, 0xb8, 0x45, 0xe7, 0x7d, 0x67, 0xc1, 0xf2, 0x21, 0x0b, 0xf9,
0x5d, 0x11, 0xbc, 0xad, 0x23, 0x37, 0xa1, 0x13, 0x44, 0x84, 0x71, 0x8f, 0x4d, 0x7a, 0xf6, 0xb6,
0x35, 0xea, 0xe2, 0x65, 0x6d, 0xdf, 0x9f, 0xa0, 0x1b, 0x70, 0x89, 0x04, 0x81, 0xc8, 0xb8, 0xf2,
0x78, 0x16, 0xfb, 0x34, 0xed, 0x35, 0xb7, 0xad, 0x51, 0x13, 0xaf, 0x19, 0xef, 0x23, 0xed, 0x1c,
0xfe, 0x6e, 0xc1, 0x8a, 0x11, 0xf5, 0xf9, 0xe1, 0xe3, 0x47, 0xff, 0x5d, 0x77, 0xfe, 0xb5, 0x74,
0xe4, 0xc2, 0x46, 0x51, 0x5d, 0x6f, 0x22, 0x02, 0x4f, 0x46, 0x64, 0xef, 0xbd, 0xf7, 0xbd, 0x88,
0xc8, 0xa8, 0xd7, 0xd2, 0x95, 0x5a, 0x97, 0x65, 0x56, 0x87, 0x7a, 0xe7, 0x80, 0xc8, 0x68, 0xf8,
0x87, 0x05, 0x57, 0x4c, 0xae, 0x77, 0x59, 0x4a, 0x03, 0xb5, 0x9f, 0xcd, 0x16, 0x75, 0xe2, 0x16,
0x40, 0x92, 0xf9, 0x53, 0x16, 0x78, 0x4f, 0x69, 0x6e, 0x32, 0xdc, 0x70, 0xca, 0x21, 0x77, 0xaa,
0x21, 0x77, 0xf6, 0x79, 0x8e, 0xbb, 0x25, 0xee, 0x01, 0xcd, 0xdf, 0x42, 0x6e, 0x7d, 0xe8, 0x48,
0xfa, 0x55, 0x46, 0x79, 0x40, 0x75, 0x3e, 0x4d, 0x5c, 0xdb, 0x68, 0x04, 0xb6, 0x62, 0x49, 0xaf,
0xad, 0xb5, 0x5c, 0x9d, 0xd7, 0x21, 0x96, 0xe0, 0x02, 0x32, 0xfc, 0x7e, 0x09, 0xda, 0x65, 0xbb,
0xd0, 0x4d, 0xe8, 0xc4, 0x54, 0x4a, 0x12, 0xea, 0x24, 0xed, 0x7f, 0xcc, 0xa2, 0x46, 0x21, 0x04,
0xcd, 0x98, 0xc6, 0x65, 0x57, 0xbb, 0x58, 0xaf, 0x0b, 0xf5, 0x8a, 0xc5, 0x54, 0x64, 0xca, 0x8b,
0x28, 0x0b, 0x23, 0xa5, 0xd3, 0x6b, 0xe2, 0x35, 0xe3, 0x3d, 0xd0, 0x4e, 0x34, 0x86, 0x75, 0x3a,
0x53, 0x94, 0x4b, 0x26, 0xb8, 0x27, 0x12, 0xc5, 0x04, 0x97, 0xbd, 0x3f, 0x97, 0x2f, 0x38, 0xf6,
0x4a, 0x8d, 0x7f, 0x5c, 0xc2, 0xd1, 0x13, 0x18, 0x70, 0xc1, 0xbd, 0x20, 0x65, 0x8a, 0x05, 0x64,
0xea, 0xcd, 0x21, 0xbc, 0x7c, 0x01, 0xe1, 0x16, 0x17, 0xfc, 0x8e, 0x89, 0xfd, 0xec, 0x35, 0xee,
0xe1, 0x8f, 0x16, 0x74, 0xaa, 0x91, 0x44, 0x9f, 0xc2, 0x6a, 0x31, 0x2a, 0x34, 0xd5, 0x43, 0x5c,
0x55, 0xe7, 0xda, 0x9c, 0xba, 0x1e, 0x6a, 0x98, 0x9e, 0xe3, 0x15, 0x59, 0xaf, 0x65, 0xd1, 0x90,
0x63, 0x4a, 0xcd, 0x70, 0xcc, 0x6b, 0xc8, 0x3d, 0x4a, 0x71, 0x01, 0xa9, 0x5a, 0x67, 0x2f, 0x6e,
0xdd, 0x0f, 0x16, 0xc0, 0xd9, 0x79, 0xaf, 0x8d, 0xa1, 0xf5, 0x66, 0x63, 0x78, 0x1b, 0xba, 0xb1,
0x98, 0xd0, 0x45, 0x1f, 0xe7, 0x43, 0x31, 0xa1, 0xe5, 0xc7, 0x19, 0x9b, 0xd5, 0x2b, 0xe3, 0x67,
0xbf, 0x3a, 0x7e, 0xc3, 0x97, 0x4b, 0xd0, 0xa9, 0x42, 0xd0, 0xc7, 0xd0, 0x96, 0x8c, 0x87, 0x53,
0x6a, 0x34, 0x0d, 0x2f, 0xe0, 0x77, 0x0e, 0x35, 0xf2, 0xa0, 0x81, 0x4d, 0x0c, 0xfa, 0x10, 0x5a,
0xfa, 0x1d, 0x32, 0xe2, 0xfe, 0x77, 0x51, 0xf0, 0xc3, 0x02, 0x78, 0xd0, 0xc0, 0x65, 0x44, 0x7f,
0x1f, 0xda, 0x25, 0x1d, 0xfa, 0x00, 0x9a, 0x85, 0x6e, 0x2d, 0xe0, 0xd2, 0xde, 0xff, 0xcf, 0x71,
0x54, 0x2f, 0xd3, 0xf9, 0xfe, 0x15, 0x7c, 0x58, 0x07, 0xf4, 0x9f, 0x59, 0xd0, 0xd2, 0xac, 0xe8,
0x01, 0x74, 0x7c, 0xa6, 0x48, 0x9a, 0x92, 0xaa, 0xb6, 0x6e, 0x45, 0x53, 0xbe, 0x9f, 0x4e, 0xfd,
0x5c, 0x56, 0x5c, 0x77, 0x44, 0x9c, 0x90, 0x40, 0x8d, 0x99, 0xda, 0x2f, 0xc2, 0x70, 0x4d, 0x80,
0x3e, 0x02, 0xa8, 0xab, 0x5e, 0x5c, 0xdb, 0xf6, 0xa2, 0xb2, 0x77, 0xab, 0xb2, 0xcb, 0x71, 0x0b,
0x6c, 0x99, 0xc5, 0xc3, 0x9f, 0x2d, 0xb0, 0xef, 0x51, 0x8a, 0x02, 0x68, 0x93, 0xb8, 0xb8, 0x15,
0xcc, 0x50, 0xd6, 0xd7, 0x71, 0xf1, 0x4c, 0x9f, 0x93, 0xc2, 0xf8, 0xf8, 0xe6, 0xf3, 0x5f, 0xaf,
0x37, 0x7e, 0xfa, 0xed, 0xfa, 0x28, 0x64, 0x2a, 0xca, 0x7c, 0x27, 0x10, 0xb1, 0x5b, 0xfd, 0x05,
0xd0, 0x3f, 0x3b, 0x72, 0xf2, 0xd4, 0x55, 0x79, 0x42, 0xa5, 0x0e, 0x90, 0xd8, 0x50, 0xa3, 0x2d,
0xe8, 0x86, 0x44, 0x7a, 0x53, 0x16, 0x33, 0xa5, 0x1b, 0xd1, 0xc4, 0x9d, 0x90, 0xc8, 0x2f, 0x0a,
0x1b, 0x6d, 0x40, 0x2b, 0x21, 0x39, 0x4d, 0xcd, 0x35, 0x56, 0x1a, 0xa8, 0x07, 0xcb, 0x61, 0x4a,
0xb8, 0x32, 0xb7, 0x57, 0x17, 0x57, 0xe6, 0xf0, 0x4b, 0xb0, 0x8f, 0x58, 0x82, 0x76, 0xdf, 0x58,
0x78, 0x2d, 0xe3, 0x2a, 0xb4, 0x15, 0x4b, 0x12, 0x9a, 0x9a, 0x0b, 0xc7, 0x58, 0xe3, 0x4f, 0x9e,
0x9f, 0x0c, 0xac, 0x17, 0x27, 0x03, 0xeb, 0xe5, 0xc9, 0xc0, 0x7a, 0x76, 0x3a, 0x68, 0xbc, 0x38,
0x1d, 0x34, 0x7e, 0x39, 0x1d, 0x34, 0x9e, 0xdc, 0x58, 0x9c, 0xaa, 0xab, 0x66, 0x7e, 0x5b, 0x7f,
0x1e, 0xb7, 0xfe, 0x0a, 0x00, 0x00, 0xff, 0xff, 0xfa, 0xf9, 0x59, 0x1a, 0x57, 0x09, 0x00, 0x00,
}
func (m *Tx) Marshal() (dAtA []byte, err error) {
@ -1134,6 +1301,77 @@ func (m *SignDocJSON) MarshalToSizedBuffer(dAtA []byte) (int, error) {
return len(dAtA) - i, nil
}
func (m *SignDocDirectAux) Marshal() (dAtA []byte, err error) {
size := m.Size()
dAtA = make([]byte, size)
n, err := m.MarshalToSizedBuffer(dAtA[:size])
if err != nil {
return nil, err
}
return dAtA[:n], nil
}
func (m *SignDocDirectAux) MarshalTo(dAtA []byte) (int, error) {
size := m.Size()
return m.MarshalToSizedBuffer(dAtA[:size])
}
func (m *SignDocDirectAux) MarshalToSizedBuffer(dAtA []byte) (int, error) {
i := len(dAtA)
_ = i
var l int
_ = l
if m.Tip != nil {
{
size, err := m.Tip.MarshalToSizedBuffer(dAtA[:i])
if err != nil {
return 0, err
}
i -= size
i = encodeVarintTx(dAtA, i, uint64(size))
}
i--
dAtA[i] = 0x32
}
if m.Sequence != 0 {
i = encodeVarintTx(dAtA, i, uint64(m.Sequence))
i--
dAtA[i] = 0x28
}
if m.AccountNumber != 0 {
i = encodeVarintTx(dAtA, i, uint64(m.AccountNumber))
i--
dAtA[i] = 0x20
}
if len(m.ChainId) > 0 {
i -= len(m.ChainId)
copy(dAtA[i:], m.ChainId)
i = encodeVarintTx(dAtA, i, uint64(len(m.ChainId)))
i--
dAtA[i] = 0x1a
}
if m.PublicKey != nil {
{
size, err := m.PublicKey.MarshalToSizedBuffer(dAtA[:i])
if err != nil {
return 0, err
}
i -= size
i = encodeVarintTx(dAtA, i, uint64(size))
}
i--
dAtA[i] = 0x12
}
if len(m.BodyBytes) > 0 {
i -= len(m.BodyBytes)
copy(dAtA[i:], m.BodyBytes)
i = encodeVarintTx(dAtA, i, uint64(len(m.BodyBytes)))
i--
dAtA[i] = 0xa
}
return len(dAtA) - i, nil
}
func (m *TxBody) Marshal() (dAtA []byte, err error) {
size := m.Size()
dAtA = make([]byte, size)
@ -1235,6 +1473,18 @@ func (m *AuthInfo) MarshalToSizedBuffer(dAtA []byte) (int, error) {
_ = i
var l int
_ = l
if m.Tip != nil {
{
size, err := m.Tip.MarshalToSizedBuffer(dAtA[:i])
if err != nil {
return 0, err
}
i -= size
i = encodeVarintTx(dAtA, i, uint64(size))
}
i--
dAtA[i] = 0x1a
}
if m.Fee != nil {
{
size, err := m.Fee.MarshalToSizedBuffer(dAtA[:i])
@ -1523,6 +1773,50 @@ func (m *Fee) MarshalToSizedBuffer(dAtA []byte) (int, error) {
return len(dAtA) - i, nil
}
func (m *Tip) Marshal() (dAtA []byte, err error) {
size := m.Size()
dAtA = make([]byte, size)
n, err := m.MarshalToSizedBuffer(dAtA[:size])
if err != nil {
return nil, err
}
return dAtA[:n], nil
}
func (m *Tip) MarshalTo(dAtA []byte) (int, error) {
size := m.Size()
return m.MarshalToSizedBuffer(dAtA[:size])
}
func (m *Tip) MarshalToSizedBuffer(dAtA []byte) (int, error) {
i := len(dAtA)
_ = i
var l int
_ = l
if len(m.Tipper) > 0 {
i -= len(m.Tipper)
copy(dAtA[i:], m.Tipper)
i = encodeVarintTx(dAtA, i, uint64(len(m.Tipper)))
i--
dAtA[i] = 0x12
}
if len(m.Amount) > 0 {
for iNdEx := len(m.Amount) - 1; iNdEx >= 0; iNdEx-- {
{
size, err := m.Amount[iNdEx].MarshalToSizedBuffer(dAtA[:i])
if err != nil {
return 0, err
}
i -= size
i = encodeVarintTx(dAtA, i, uint64(size))
}
i--
dAtA[i] = 0xa
}
}
return len(dAtA) - i, nil
}
func encodeVarintTx(dAtA []byte, offset int, v uint64) int {
offset -= sovTx(v)
base := offset
@ -1632,6 +1926,37 @@ func (m *SignDocJSON) Size() (n int) {
return n
}
func (m *SignDocDirectAux) Size() (n int) {
if m == nil {
return 0
}
var l int
_ = l
l = len(m.BodyBytes)
if l > 0 {
n += 1 + l + sovTx(uint64(l))
}
if m.PublicKey != nil {
l = m.PublicKey.Size()
n += 1 + l + sovTx(uint64(l))
}
l = len(m.ChainId)
if l > 0 {
n += 1 + l + sovTx(uint64(l))
}
if m.AccountNumber != 0 {
n += 1 + sovTx(uint64(m.AccountNumber))
}
if m.Sequence != 0 {
n += 1 + sovTx(uint64(m.Sequence))
}
if m.Tip != nil {
l = m.Tip.Size()
n += 1 + l + sovTx(uint64(l))
}
return n
}
func (m *TxBody) Size() (n int) {
if m == nil {
return 0
@ -1682,6 +2007,10 @@ func (m *AuthInfo) Size() (n int) {
l = m.Fee.Size()
n += 1 + l + sovTx(uint64(l))
}
if m.Tip != nil {
l = m.Tip.Size()
n += 1 + l + sovTx(uint64(l))
}
return n
}
@ -1798,6 +2127,25 @@ func (m *Fee) Size() (n int) {
return n
}
func (m *Tip) Size() (n int) {
if m == nil {
return 0
}
var l int
_ = l
if len(m.Amount) > 0 {
for _, e := range m.Amount {
l = e.Size()
n += 1 + l + sovTx(uint64(l))
}
}
l = len(m.Tipper)
if l > 0 {
n += 1 + l + sovTx(uint64(l))
}
return n
}
func sovTx(x uint64) (n int) {
return (math_bits.Len64(x|1) + 6) / 7
}
@ -2484,6 +2832,232 @@ func (m *SignDocJSON) Unmarshal(dAtA []byte) error {
}
return nil
}
func (m *SignDocDirectAux) Unmarshal(dAtA []byte) error {
l := len(dAtA)
iNdEx := 0
for iNdEx < l {
preIndex := iNdEx
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowTx
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
wire |= uint64(b&0x7F) << shift
if b < 0x80 {
break
}
}
fieldNum := int32(wire >> 3)
wireType := int(wire & 0x7)
if wireType == 4 {
return fmt.Errorf("proto: SignDocDirectAux: wiretype end group for non-group")
}
if fieldNum <= 0 {
return fmt.Errorf("proto: SignDocDirectAux: illegal tag %d (wire type %d)", fieldNum, wire)
}
switch fieldNum {
case 1:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field BodyBytes", wireType)
}
var byteLen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowTx
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
byteLen |= int(b&0x7F) << shift
if b < 0x80 {
break
}
}
if byteLen < 0 {
return ErrInvalidLengthTx
}
postIndex := iNdEx + byteLen
if postIndex < 0 {
return ErrInvalidLengthTx
}
if postIndex > l {
return io.ErrUnexpectedEOF
}
m.BodyBytes = append(m.BodyBytes[:0], dAtA[iNdEx:postIndex]...)
if m.BodyBytes == nil {
m.BodyBytes = []byte{}
}
iNdEx = postIndex
case 2:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field PublicKey", wireType)
}
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowTx
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
msglen |= int(b&0x7F) << shift
if b < 0x80 {
break
}
}
if msglen < 0 {
return ErrInvalidLengthTx
}
postIndex := iNdEx + msglen
if postIndex < 0 {
return ErrInvalidLengthTx
}
if postIndex > l {
return io.ErrUnexpectedEOF
}
if m.PublicKey == nil {
m.PublicKey = &types.Any{}
}
if err := m.PublicKey.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
return err
}
iNdEx = postIndex
case 3:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field ChainId", wireType)
}
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowTx
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
stringLen |= uint64(b&0x7F) << shift
if b < 0x80 {
break
}
}
intStringLen := int(stringLen)
if intStringLen < 0 {
return ErrInvalidLengthTx
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
return ErrInvalidLengthTx
}
if postIndex > l {
return io.ErrUnexpectedEOF
}
m.ChainId = string(dAtA[iNdEx:postIndex])
iNdEx = postIndex
case 4:
if wireType != 0 {
return fmt.Errorf("proto: wrong wireType = %d for field AccountNumber", wireType)
}
m.AccountNumber = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowTx
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
m.AccountNumber |= uint64(b&0x7F) << shift
if b < 0x80 {
break
}
}
case 5:
if wireType != 0 {
return fmt.Errorf("proto: wrong wireType = %d for field Sequence", wireType)
}
m.Sequence = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowTx
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
m.Sequence |= uint64(b&0x7F) << shift
if b < 0x80 {
break
}
}
case 6:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field Tip", wireType)
}
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowTx
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
msglen |= int(b&0x7F) << shift
if b < 0x80 {
break
}
}
if msglen < 0 {
return ErrInvalidLengthTx
}
postIndex := iNdEx + msglen
if postIndex < 0 {
return ErrInvalidLengthTx
}
if postIndex > l {
return io.ErrUnexpectedEOF
}
if m.Tip == nil {
m.Tip = &Tip{}
}
if err := m.Tip.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
return err
}
iNdEx = postIndex
default:
iNdEx = preIndex
skippy, err := skipTx(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
return ErrInvalidLengthTx
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
}
iNdEx += skippy
}
}
if iNdEx > l {
return io.ErrUnexpectedEOF
}
return nil
}
func (m *TxBody) Unmarshal(dAtA []byte) error {
l := len(dAtA)
iNdEx := 0
@ -2786,6 +3360,42 @@ func (m *AuthInfo) Unmarshal(dAtA []byte) error {
return err
}
iNdEx = postIndex
case 3:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field Tip", wireType)
}
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowTx
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
msglen |= int(b&0x7F) << shift
if b < 0x80 {
break
}
}
if msglen < 0 {
return ErrInvalidLengthTx
}
postIndex := iNdEx + msglen
if postIndex < 0 {
return ErrInvalidLengthTx
}
if postIndex > l {
return io.ErrUnexpectedEOF
}
if m.Tip == nil {
m.Tip = &Tip{}
}
if err := m.Tip.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
return err
}
iNdEx = postIndex
default:
iNdEx = preIndex
skippy, err := skipTx(dAtA[iNdEx:])
@ -3424,6 +4034,122 @@ func (m *Fee) Unmarshal(dAtA []byte) error {
}
return nil
}
func (m *Tip) Unmarshal(dAtA []byte) error {
l := len(dAtA)
iNdEx := 0
for iNdEx < l {
preIndex := iNdEx
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowTx
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
wire |= uint64(b&0x7F) << shift
if b < 0x80 {
break
}
}
fieldNum := int32(wire >> 3)
wireType := int(wire & 0x7)
if wireType == 4 {
return fmt.Errorf("proto: Tip: wiretype end group for non-group")
}
if fieldNum <= 0 {
return fmt.Errorf("proto: Tip: illegal tag %d (wire type %d)", fieldNum, wire)
}
switch fieldNum {
case 1:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field Amount", wireType)
}
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowTx
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
msglen |= int(b&0x7F) << shift
if b < 0x80 {
break
}
}
if msglen < 0 {
return ErrInvalidLengthTx
}
postIndex := iNdEx + msglen
if postIndex < 0 {
return ErrInvalidLengthTx
}
if postIndex > l {
return io.ErrUnexpectedEOF
}
m.Amount = append(m.Amount, &types2.Coin{})
if err := m.Amount[len(m.Amount)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
return err
}
iNdEx = postIndex
case 2:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field Tipper", wireType)
}
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowTx
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
stringLen |= uint64(b&0x7F) << shift
if b < 0x80 {
break
}
}
intStringLen := int(stringLen)
if intStringLen < 0 {
return ErrInvalidLengthTx
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
return ErrInvalidLengthTx
}
if postIndex > l {
return io.ErrUnexpectedEOF
}
m.Tipper = string(dAtA[iNdEx:postIndex])
iNdEx = postIndex
default:
iNdEx = preIndex
skippy, err := skipTx(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
return ErrInvalidLengthTx
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
}
iNdEx += skippy
}
}
if iNdEx > l {
return io.ErrUnexpectedEOF
}
return nil
}
func skipTx(dAtA []byte) (n int, err error) {
l := len(dAtA)
iNdEx := 0