From cc78696dbeb160721906eae3b24a1b12f22703a1 Mon Sep 17 00:00:00 2001 From: Youngtaek Yoon <197ac7ec-5458-4ef9-ba89-d88278c45027@yoon.anonaddy.me> Date: Tue, 5 Oct 2021 11:48:18 +0000 Subject: [PATCH] fix: move SigBlockHeight from TxBody into AuthInfo (#344) * fix: move `SigBlockHeight` from TxBody into AuthInfo (#293) * chore: add the change into CHANGELOG.md * fix: revert the omission of `GetSigBlockHeight()` in the tests * fix: revert the omission `SetSigBlockHeight()` in simapp * chore: replace the description in CHANGELOG.md into PR's * chore: change the scope of the item into auth --- CHANGELOG.md | 1 + docs/core/proto-docs.md | 2 +- proto/lbm/tx/v1/tx.proto | 12 +- testutil/testdata/unknonwnproto.pb.go | 258 +++++++++++--------------- testutil/testdata/unknonwnproto.proto | 7 +- types/tx/tx.pb.go | 191 +++++++++---------- types/tx/types.go | 2 +- x/auth/tx/builder.go | 4 +- 8 files changed, 221 insertions(+), 256 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 78920c5508..725071839a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -51,6 +51,7 @@ * (wasm) [\#254](https://github.com/line/lbm-sdk/pull/254) Specify wasm event types * (x) [\#255](https://github.com/line/lbm-sdk/pull/255) Remove legacy from modules * (perf) [\#320](https:/github.com/line/lbm-sdk/pull/320) internal objects optimization (BaseAccount, Balance & Supply) +* (auth) [\#344](https://github.com/line/lbm-sdk/pull/344) move SigBlockHeight from TxBody into AuthInfo ### Bug Fixes * (test) [\#92](https://github.com/line/lbm-sdk/pull/92) Fix SendToModuleAccountTest diff --git a/docs/core/proto-docs.md b/docs/core/proto-docs.md index b908ad124a..bd8d898184 100644 --- a/docs/core/proto-docs.md +++ b/docs/core/proto-docs.md @@ -9469,6 +9469,7 @@ transaction. | ----- | ---- | ----- | ----------- | | `signer_infos` | [SignerInfo](#lbm.tx.v1.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](#lbm.tx.v1.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. | +| `sig_block_height` | [uint64](#uint64) | | sig block height is available between current block height and current block height - `VALID_SIG_BLOCK_PERIOD` this is used for distinguish signatures instead of account number. this is mandatory. | @@ -9605,7 +9606,6 @@ TxBody is the body of a transaction that all signers sign over. | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | `messages` | [google.protobuf.Any](#google.protobuf.Any) | repeated | messages is a list of messages to be executed. The required signers of those messages define the number and order of elements in AuthInfo's signer_infos and Tx's signatures. Each required signer address is added to the list only the first time it occurs. By convention, the first required signer (usually from the first message) is referred to as the primary signer and pays the fee for the whole transaction. | -| `sig_block_height` | [uint64](#uint64) | | sig block height is available between current block height and current block height - `VALID_SIG_BLOCK_PERIOD` this is used for distinguish signatures instead of account number. this is mandatory. | | `memo` | [string](#string) | | memo is any arbitrary memo to be added to the transaction | | `timeout_height` | [uint64](#uint64) | | timeout is the block height after which this transaction will not be processed by the chain | | `extension_options` | [google.protobuf.Any](#google.protobuf.Any) | repeated | extension_options are arbitrary options that can be added by chains when the default options are not sufficient. If any of these are present and can't be handled, the transaction will be rejected | diff --git a/proto/lbm/tx/v1/tx.proto b/proto/lbm/tx/v1/tx.proto index 597e627951..265151e4fc 100644 --- a/proto/lbm/tx/v1/tx.proto +++ b/proto/lbm/tx/v1/tx.proto @@ -71,16 +71,12 @@ message TxBody { // transaction. repeated google.protobuf.Any messages = 1; - // sig block height is available between current block height and current block height - `VALID_SIG_BLOCK_PERIOD` - // this is used for distinguish signatures instead of account number. this is mandatory. - uint64 sig_block_height = 2; - // memo is any arbitrary memo to be added to the transaction - string memo = 3; + string memo = 2; // timeout is the block height after which this transaction will not // be processed by the chain - uint64 timeout_height = 4; + uint64 timeout_height = 3; // extension_options are arbitrary options that can be added by chains // when the default options are not sufficient. If any of these are present @@ -107,6 +103,10 @@ 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; + + // sig block height is available between current block height and current block height - `VALID_SIG_BLOCK_PERIOD` + // this is used for distinguish signatures instead of account number. this is mandatory. + uint64 sig_block_height = 3; } // SignerInfo describes the public key and signing mode of a single top-level diff --git a/testutil/testdata/unknonwnproto.pb.go b/testutil/testdata/unknonwnproto.pb.go index 01adb35e25..55b19c3863 100644 --- a/testutil/testdata/unknonwnproto.pb.go +++ b/testutil/testdata/unknonwnproto.pb.go @@ -2567,10 +2567,9 @@ func (m *TestUpdatedTxRaw) GetNewField_1024() []byte { type TestUpdatedTxBody struct { Messages []*types.Any `protobuf:"bytes,1,rep,name=messages,proto3" json:"messages,omitempty"` - SigBlockHeight uint64 `protobuf:"varint,2,opt,name=sig_block_height,json=sigBlockHeight,proto3" json:"sig_block_height,omitempty"` - Memo string `protobuf:"bytes,3,opt,name=memo,proto3" json:"memo,omitempty"` - TimeoutHeight int64 `protobuf:"varint,4,opt,name=timeout_height,json=timeoutHeight,proto3" json:"timeout_height,omitempty"` - SomeNewField uint64 `protobuf:"varint,5,opt,name=some_new_field,json=someNewField,proto3" json:"some_new_field,omitempty"` + Memo string `protobuf:"bytes,2,opt,name=memo,proto3" json:"memo,omitempty"` + TimeoutHeight int64 `protobuf:"varint,3,opt,name=timeout_height,json=timeoutHeight,proto3" json:"timeout_height,omitempty"` + SomeNewField uint64 `protobuf:"varint,4,opt,name=some_new_field,json=someNewField,proto3" json:"some_new_field,omitempty"` SomeNewFieldNonCriticalField string `protobuf:"bytes,1050,opt,name=some_new_field_non_critical_field,json=someNewFieldNonCriticalField,proto3" json:"some_new_field_non_critical_field,omitempty"` ExtensionOptions []*types.Any `protobuf:"bytes,1023,rep,name=extension_options,json=extensionOptions,proto3" json:"extension_options,omitempty"` NonCriticalExtensionOptions []*types.Any `protobuf:"bytes,2047,rep,name=non_critical_extension_options,json=nonCriticalExtensionOptions,proto3" json:"non_critical_extension_options,omitempty"` @@ -2616,13 +2615,6 @@ func (m *TestUpdatedTxBody) GetMessages() []*types.Any { return nil } -func (m *TestUpdatedTxBody) GetSigBlockHeight() uint64 { - if m != nil { - return m.SigBlockHeight - } - return 0 -} - func (m *TestUpdatedTxBody) GetMemo() string { if m != nil { return m.Memo @@ -2817,111 +2809,110 @@ func init() { func init() { proto.RegisterFile("unknonwnproto.proto", fileDescriptor_448ea787339d1228) } var fileDescriptor_448ea787339d1228 = []byte{ - // 1663 bytes of a gzipped FileDescriptorProto + // 1639 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x58, 0xcd, 0x6f, 0x1b, 0xc7, - 0x15, 0xd7, 0x70, 0x49, 0x89, 0x7c, 0xa2, 0x69, 0x66, 0xec, 0xb6, 0x1b, 0x39, 0x66, 0x98, 0x85, - 0xeb, 0x30, 0x41, 0x43, 0x9a, 0x4b, 0x06, 0x08, 0x72, 0x0a, 0xa9, 0x58, 0xb5, 0x01, 0x57, 0x2e, - 0xa6, 0x4e, 0x5a, 0xf8, 0x42, 0x2c, 0xb9, 0xc3, 0xe5, 0x42, 0xe4, 0x8c, 0xba, 0x33, 0x6b, 0x91, - 0xb7, 0xa2, 0x3d, 0xf4, 0xda, 0x4b, 0x51, 0xa0, 0xff, 0x41, 0x4f, 0x45, 0x6e, 0x45, 0x4f, 0x3d, - 0xe6, 0x52, 0xc0, 0x97, 0x02, 0x05, 0x0a, 0x04, 0x85, 0x7d, 0xed, 0x7f, 0x50, 0x14, 0x29, 0x66, - 0xf6, 0x83, 0x4b, 0x4b, 0x74, 0x28, 0xa5, 0x8d, 0x21, 0x20, 0x17, 0x69, 0xe6, 0xed, 0x6f, 0xde, - 0xc7, 0xef, 0x7d, 0x70, 0x67, 0xe1, 0x5a, 0xc8, 0x8e, 0x18, 0x67, 0x27, 0xec, 0x38, 0xe0, 0x92, - 0x37, 0xf5, 0x5f, 0x5c, 0x94, 0x54, 0x48, 0xd7, 0x91, 0xce, 0xde, 0x75, 0x8f, 0x7b, 0x5c, 0x0b, - 0x5b, 0x6a, 0x15, 0x3d, 0xdf, 0x7b, 0xdd, 0xe3, 0xdc, 0x9b, 0xd2, 0x96, 0xde, 0x0d, 0xc3, 0x71, - 0xcb, 0x61, 0x8b, 0xf8, 0x11, 0x9e, 0x0e, 0x67, 0x2d, 0x39, 0x6f, 0x3d, 0x69, 0xb7, 0xe4, 0x3c, - 0x92, 0x59, 0x12, 0x4a, 0xfb, 0xa1, 0x90, 0x7c, 0x46, 0x83, 0x36, 0xae, 0x40, 0xce, 0x77, 0x4d, - 0x54, 0x47, 0x8d, 0x02, 0xc9, 0xf9, 0x2e, 0xc6, 0x90, 0x67, 0xce, 0x8c, 0x9a, 0xb9, 0x3a, 0x6a, - 0x94, 0x88, 0x5e, 0xe3, 0x77, 0xa0, 0x2a, 0xc2, 0xa1, 0x18, 0x05, 0xfe, 0xb1, 0xf4, 0x39, 0x1b, - 0x8c, 0x29, 0x35, 0x8d, 0x3a, 0x6a, 0xe4, 0xc8, 0xd5, 0xac, 0xfc, 0x80, 0x52, 0x6c, 0xc2, 0xce, - 0xb1, 0xb3, 0x98, 0x51, 0x26, 0xcd, 0x1d, 0xad, 0x21, 0xd9, 0x5a, 0x9f, 0xe5, 0x96, 0x66, 0xed, - 0x53, 0x66, 0xf7, 0xa0, 0xe8, 0x33, 0x37, 0x14, 0x32, 0x58, 0x68, 0xd3, 0x05, 0x92, 0xee, 0x53, - 0x97, 0x8c, 0x8c, 0x4b, 0xd7, 0xa1, 0x30, 0xa6, 0x27, 0x34, 0x30, 0xf3, 0xda, 0x8f, 0x68, 0x83, - 0x6f, 0x40, 0x31, 0xa0, 0x82, 0x06, 0x4f, 0xa8, 0x6b, 0xfe, 0xae, 0x58, 0x47, 0x0d, 0x83, 0xa4, - 0x02, 0xfc, 0x03, 0xc8, 0x8f, 0x7c, 0xb9, 0x30, 0xb7, 0xeb, 0xa8, 0x51, 0xb1, 0xcd, 0x66, 0x42, - 0x6a, 0x33, 0xf5, 0xaa, 0xb9, 0xef, 0xcb, 0x05, 0xd1, 0x28, 0xfc, 0x21, 0x5c, 0x99, 0xf9, 0x62, - 0x44, 0xa7, 0x53, 0x87, 0x51, 0x1e, 0x0a, 0x13, 0xea, 0xa8, 0xb1, 0x6b, 0x5f, 0x6f, 0x46, 0x5c, - 0x37, 0x13, 0xae, 0x9b, 0x3d, 0xb6, 0x20, 0xab, 0x50, 0xeb, 0x87, 0x90, 0x57, 0x9a, 0x70, 0x11, - 0xf2, 0x0f, 0x1c, 0x2e, 0xaa, 0x5b, 0xb8, 0x02, 0xf0, 0x80, 0x8b, 0x1e, 0xf3, 0xe8, 0x94, 0x8a, - 0x2a, 0xc2, 0x65, 0x28, 0xfe, 0xd8, 0x99, 0xf2, 0xde, 0x54, 0xf2, 0x6a, 0x0e, 0x03, 0x6c, 0xff, - 0x88, 0x8b, 0x11, 0x3f, 0xa9, 0x1a, 0x78, 0x17, 0x76, 0x0e, 0x1d, 0x3f, 0xe0, 0x43, 0xbf, 0x9a, - 0xb7, 0x9a, 0x50, 0x3c, 0xa4, 0x42, 0x52, 0xb7, 0xdb, 0xdb, 0x24, 0x51, 0xd6, 0xdf, 0x50, 0x72, - 0xa0, 0xb3, 0xd1, 0x01, 0x6c, 0x41, 0xce, 0xe9, 0x9a, 0xf9, 0xba, 0xd1, 0xd8, 0xb5, 0xf1, 0x92, - 0x91, 0xc4, 0x28, 0xc9, 0x39, 0x5d, 0xdc, 0x81, 0x82, 0xcf, 0x5c, 0x3a, 0x37, 0x0b, 0x1a, 0x76, - 0xf3, 0x45, 0x58, 0xa7, 0xd7, 0xbc, 0xaf, 0x9e, 0xdf, 0x65, 0x32, 0x58, 0x90, 0x08, 0xbb, 0xf7, - 0x00, 0x60, 0x29, 0xc4, 0x55, 0x30, 0x8e, 0xe8, 0x42, 0xfb, 0x62, 0x10, 0xb5, 0xc4, 0x0d, 0x28, - 0x3c, 0x71, 0xa6, 0x61, 0xe4, 0xcd, 0xd9, 0xb6, 0x23, 0xc0, 0x87, 0xb9, 0x0f, 0x90, 0xf5, 0x38, - 0x09, 0xcb, 0xde, 0x2c, 0xac, 0x77, 0x61, 0x9b, 0x69, 0xbc, 0xae, 0x99, 0x33, 0xd4, 0x77, 0x7a, - 0x24, 0x46, 0x58, 0x07, 0x89, 0xee, 0xf6, 0x69, 0xdd, 0x4b, 0x3d, 0x6b, 0xdc, 0xb4, 0x97, 0x7a, - 0x3e, 0x4a, 0x73, 0xd5, 0x3f, 0xa5, 0xa7, 0x0a, 0x86, 0xe3, 0xd1, 0xb8, 0xb0, 0xd5, 0xf2, 0xac, - 0x9a, 0xb6, 0xdc, 0x34, 0x79, 0x17, 0xd4, 0xa0, 0xd2, 0x39, 0x5c, 0x9f, 0xce, 0x3e, 0xc9, 0x0d, - 0xbb, 0x16, 0x4b, 0xb9, 0x3c, 0xd3, 0x8a, 0xea, 0x6d, 0x65, 0x05, 0x11, 0xb5, 0xdc, 0x80, 0xc9, - 0x7e, 0xc2, 0x80, 0xea, 0xc9, 0x80, 0x87, 0x92, 0xea, 0x9e, 0x2c, 0x91, 0x68, 0x63, 0xfd, 0x2c, - 0xe5, 0xb7, 0x7f, 0x01, 0x7e, 0x97, 0xda, 0x63, 0x06, 0x8c, 0x94, 0x01, 0xeb, 0x97, 0x99, 0x89, - 0xd2, 0xd9, 0xa8, 0x2e, 0x2a, 0x90, 0x13, 0xe3, 0x78, 0x74, 0xe5, 0xc4, 0x18, 0xbf, 0x01, 0x25, - 0x11, 0x06, 0xa3, 0x89, 0x13, 0x78, 0x34, 0x9e, 0x24, 0x4b, 0x01, 0xae, 0xc3, 0xae, 0x4b, 0x85, - 0xf4, 0x99, 0xa3, 0xa6, 0x9b, 0x59, 0xd0, 0x8a, 0xb2, 0x22, 0x7c, 0x1b, 0x2a, 0xa3, 0x80, 0xba, - 0xbe, 0x1c, 0x8c, 0x9c, 0xc0, 0x1d, 0x30, 0x1e, 0x0d, 0xbd, 0x7b, 0x5b, 0xa4, 0x1c, 0xc9, 0xf7, - 0x9d, 0xc0, 0x3d, 0xe4, 0xf8, 0x26, 0x94, 0x46, 0x13, 0xfa, 0xf3, 0x90, 0x2a, 0x48, 0x31, 0x86, - 0x14, 0x23, 0xd1, 0x21, 0xc7, 0x2d, 0x28, 0xf2, 0xc0, 0xf7, 0x7c, 0xe6, 0x4c, 0xcd, 0x92, 0x26, - 0xe2, 0xda, 0xe9, 0xe9, 0xd4, 0x26, 0x29, 0xa8, 0x5f, 0x4a, 0xa7, 0xac, 0xf5, 0xaf, 0x1c, 0x94, - 0x1f, 0x51, 0x21, 0x3f, 0xa5, 0x81, 0xf0, 0x39, 0x6b, 0xe3, 0x32, 0xa0, 0x79, 0xdc, 0x69, 0x68, - 0x8e, 0x6f, 0x01, 0x72, 0x62, 0x72, 0xbf, 0xbb, 0xd4, 0x99, 0x3d, 0x40, 0x90, 0xa3, 0x50, 0xc3, - 0x38, 0xc1, 0x6b, 0x51, 0x43, 0x85, 0x1a, 0xc5, 0xc5, 0xb5, 0x16, 0x35, 0xc2, 0xef, 0x02, 0x72, - 0xe3, 0x51, 0xb1, 0x06, 0xd5, 0xcf, 0x7f, 0xfe, 0xc5, 0x9b, 0x5b, 0x04, 0xb9, 0xb8, 0x02, 0x88, - 0xea, 0x79, 0x5c, 0xb8, 0xb7, 0x45, 0x10, 0xc5, 0xb7, 0x01, 0x8d, 0x35, 0x85, 0x6b, 0xcf, 0x2a, - 0xdc, 0x18, 0x5b, 0x80, 0x3c, 0xcd, 0xe3, 0xba, 0x81, 0x8c, 0x3c, 0xe5, 0xed, 0xc4, 0x2c, 0xbd, - 0xdc, 0xdb, 0x09, 0x7e, 0x1b, 0xd0, 0x91, 0x59, 0x5e, 0xcb, 0x79, 0x3f, 0xff, 0xf4, 0x8b, 0x37, - 0x11, 0x41, 0x47, 0xfd, 0x02, 0x18, 0x22, 0x9c, 0x59, 0xbf, 0x32, 0x56, 0xe8, 0xb6, 0xcf, 0x4b, - 0xb7, 0xbd, 0x11, 0xdd, 0xf6, 0x46, 0x74, 0xdb, 0x8a, 0xee, 0x5b, 0x5f, 0x45, 0xb7, 0x7d, 0x21, - 0xa2, 0xed, 0x57, 0x45, 0x34, 0xbe, 0x01, 0x25, 0x46, 0x4f, 0x06, 0x63, 0x9f, 0x4e, 0x5d, 0xf3, - 0xf5, 0x3a, 0x6a, 0xe4, 0x49, 0x91, 0xd1, 0x93, 0x03, 0xb5, 0x4f, 0xb2, 0xf0, 0xdb, 0xd5, 0x2c, - 0x74, 0xce, 0x9b, 0x85, 0xce, 0x46, 0x59, 0xe8, 0x6c, 0x94, 0x85, 0xce, 0x46, 0x59, 0xe8, 0x5c, - 0x28, 0x0b, 0x9d, 0x57, 0x96, 0x85, 0xf7, 0x00, 0x33, 0xce, 0x06, 0xa3, 0xc0, 0x97, 0xfe, 0xc8, - 0x99, 0xc6, 0xe9, 0xf8, 0xb5, 0x9e, 0x5d, 0xa4, 0xca, 0x38, 0xdb, 0x8f, 0x9f, 0xac, 0xe4, 0xe5, - 0xdf, 0x39, 0xd8, 0xcb, 0xba, 0xff, 0x80, 0x33, 0xfa, 0x90, 0xd1, 0x87, 0xe3, 0x4f, 0xd5, 0x4f, - 0xf9, 0x25, 0xcd, 0xd2, 0xa5, 0x61, 0xff, 0x3f, 0xdb, 0xf0, 0xbd, 0x17, 0xd9, 0x3f, 0xd4, 0xbf, - 0x56, 0xde, 0x25, 0xa1, 0xbe, 0xbd, 0x6c, 0x88, 0xb7, 0xce, 0x46, 0x65, 0x62, 0xba, 0x24, 0xbd, - 0x81, 0x3f, 0x82, 0x6d, 0x9f, 0x31, 0x1a, 0xb4, 0xcd, 0x8a, 0x56, 0xde, 0xf8, 0xca, 0xc8, 0x9a, - 0xf7, 0x35, 0x9e, 0xc4, 0xe7, 0x52, 0x0d, 0xb6, 0x79, 0xf5, 0x5c, 0x1a, 0xec, 0x58, 0x83, 0xbd, - 0xf7, 0x07, 0x04, 0xdb, 0x91, 0xd2, 0xcc, 0x7b, 0x92, 0xb1, 0xf6, 0x3d, 0xe9, 0xbe, 0x7a, 0xe5, - 0x67, 0x34, 0x88, 0xb3, 0xdf, 0xd9, 0xd4, 0xe3, 0xe8, 0x9f, 0xfe, 0x43, 0x22, 0x0d, 0x7b, 0x77, - 0xd4, 0x45, 0x20, 0x11, 0x66, 0x8c, 0x97, 0x12, 0xe3, 0xfa, 0x4e, 0x16, 0x1b, 0x57, 0xeb, 0xbd, - 0x3f, 0x26, 0xbe, 0xda, 0xa7, 0xe0, 0x26, 0xec, 0x8c, 0x78, 0xc8, 0x92, 0x4b, 0x62, 0x89, 0x24, - 0xdb, 0x8b, 0x7a, 0x6c, 0xff, 0x2f, 0x3c, 0x4e, 0xfa, 0xef, 0xcb, 0xd5, 0xfe, 0xeb, 0x7e, 0xdb, - 0x7f, 0x97, 0xa8, 0xff, 0xba, 0x5f, 0xbb, 0xff, 0xba, 0xdf, 0x70, 0xff, 0x75, 0xbf, 0x56, 0xff, - 0x19, 0x6b, 0xfb, 0xef, 0xb3, 0xff, 0x5b, 0xff, 0x75, 0x37, 0xea, 0x3f, 0xfb, 0xa5, 0xfd, 0x77, - 0x3d, 0xfb, 0xe1, 0xc0, 0x88, 0x3f, 0x12, 0x24, 0x1d, 0xf8, 0x57, 0x04, 0x95, 0x8c, 0xbd, 0x83, - 0x8f, 0x2f, 0x76, 0x1d, 0x7a, 0xe5, 0xd7, 0x92, 0x24, 0x9e, 0x7f, 0xa0, 0x95, 0xf7, 0xa9, 0x83, - 0x8f, 0xdb, 0x3f, 0xf5, 0xe5, 0xe4, 0xee, 0x5c, 0x06, 0x4e, 0x8f, 0x2d, 0xbe, 0xd1, 0xd8, 0x6e, - 0x2d, 0x63, 0xcb, 0xe0, 0x7a, 0x6c, 0x91, 0x7a, 0x74, 0xee, 0xe8, 0x1e, 0x41, 0x39, 0x7b, 0x1e, - 0x37, 0x54, 0x00, 0x68, 0x3d, 0x7d, 0xc9, 0x04, 0x70, 0x54, 0xe0, 0xd1, 0x64, 0x34, 0xd4, 0x04, - 0x2c, 0x47, 0x13, 0x50, 0xef, 0x46, 0xd6, 0x5f, 0x10, 0x54, 0x95, 0xc1, 0x4f, 0x8e, 0x5d, 0x47, - 0x52, 0xf7, 0xd1, 0x9c, 0x38, 0x27, 0xf8, 0x26, 0xc0, 0x90, 0xbb, 0x8b, 0xc1, 0x70, 0x21, 0xa9, - 0xd0, 0x36, 0xca, 0xa4, 0xa4, 0x24, 0x7d, 0x25, 0xc0, 0xb7, 0xe1, 0xaa, 0x13, 0xca, 0xc9, 0xc0, - 0x67, 0x63, 0x1e, 0x63, 0x72, 0x1a, 0x73, 0x45, 0x89, 0xef, 0xb3, 0x31, 0x8f, 0x70, 0x35, 0x00, - 0xe1, 0x7b, 0xcc, 0x91, 0x61, 0x40, 0x85, 0x69, 0xd4, 0x8d, 0x46, 0x99, 0x64, 0x24, 0xb8, 0x06, - 0xbb, 0xe9, 0xdd, 0x65, 0xf0, 0xbe, 0xfe, 0x62, 0x50, 0x26, 0xa5, 0xe4, 0xf6, 0xf2, 0x3e, 0xfe, - 0x3e, 0x54, 0x96, 0xcf, 0xdb, 0x77, 0xec, 0xae, 0xf9, 0x8b, 0xa2, 0xc6, 0x94, 0x13, 0x8c, 0x12, - 0x5a, 0x7f, 0x36, 0xe0, 0xb5, 0x95, 0x10, 0xfa, 0xdc, 0x5d, 0xe0, 0x3b, 0x50, 0x9c, 0x51, 0x21, - 0x1c, 0x4f, 0x47, 0x60, 0xac, 0x2d, 0xb2, 0x14, 0x85, 0x1b, 0x50, 0x15, 0xbe, 0x37, 0x18, 0x4e, - 0xf9, 0xe8, 0x68, 0x30, 0xa1, 0xbe, 0x37, 0x91, 0x3a, 0xae, 0x3c, 0xa9, 0x08, 0xdf, 0xeb, 0x2b, - 0xf1, 0x3d, 0x2d, 0x55, 0x73, 0x60, 0x46, 0x67, 0x3c, 0xf9, 0x98, 0xa4, 0xd6, 0xca, 0x59, 0xe9, - 0xcf, 0x28, 0x0f, 0x65, 0x72, 0x36, 0xe2, 0xf8, 0x4a, 0x2c, 0x8d, 0x8f, 0xde, 0x82, 0x8a, 0xe0, - 0x33, 0x3a, 0x58, 0x5e, 0xda, 0x0a, 0xda, 0x44, 0x59, 0x49, 0x0f, 0xe3, 0xb0, 0xf0, 0x3d, 0x78, - 0x6b, 0x15, 0x35, 0x38, 0x63, 0x84, 0xff, 0x3e, 0x1a, 0xe1, 0x6f, 0x64, 0x4f, 0x1e, 0xbe, 0x38, - 0xce, 0xfb, 0xf0, 0x1a, 0x9d, 0x4b, 0xca, 0x54, 0x35, 0x0d, 0xb8, 0xfe, 0xf0, 0x2c, 0xcc, 0x2f, - 0x77, 0x5e, 0x42, 0x48, 0x35, 0xc5, 0x3f, 0x8c, 0xe0, 0xf8, 0x31, 0xd4, 0x56, 0xcc, 0x9f, 0xa1, - 0xf0, 0xea, 0x4b, 0x14, 0xde, 0xc8, 0xfc, 0xc6, 0xdc, 0x7d, 0x41, 0xb7, 0xf5, 0x27, 0x04, 0xd7, - 0x32, 0xc9, 0xeb, 0xc5, 0x05, 0x84, 0x3f, 0x80, 0xb2, 0xaa, 0x14, 0x1a, 0xe8, 0x2a, 0x4b, 0x52, - 0xf8, 0x9d, 0xe6, 0x74, 0x38, 0x6b, 0xca, 0x79, 0xf3, 0x49, 0xbb, 0xf9, 0x13, 0xfd, 0x58, 0x81, - 0xc9, 0xae, 0x48, 0xd7, 0x02, 0xd7, 0x97, 0x5f, 0xe5, 0x76, 0xed, 0x4a, 0xe6, 0xc0, 0x01, 0xa5, - 0xd1, 0x57, 0xba, 0x95, 0xba, 0xeb, 0xe8, 0x2c, 0x66, 0xea, 0xae, 0xb3, 0x69, 0xdd, 0xbd, 0x1d, - 0x95, 0x1d, 0xa1, 0xc7, 0x54, 0xb9, 0xfe, 0x89, 0xcf, 0xa4, 0xd0, 0xbf, 0x4f, 0xe1, 0x2c, 0xf2, - 0x37, 0x4f, 0xf4, 0xba, 0xbf, 0xff, 0xf9, 0xb3, 0x1a, 0x7a, 0xfa, 0xac, 0x86, 0xfe, 0xf9, 0xac, - 0x86, 0x7e, 0xf3, 0xbc, 0xb6, 0xf5, 0xf4, 0x79, 0x6d, 0xeb, 0xef, 0xcf, 0x6b, 0x5b, 0x8f, 0xdf, - 0xf1, 0x7c, 0x39, 0x09, 0x87, 0xcd, 0x11, 0x9f, 0xb5, 0xa6, 0x3e, 0xa3, 0xad, 0xe9, 0x70, 0xf6, - 0x9e, 0x70, 0x8f, 0x5a, 0x6a, 0x18, 0x84, 0xd2, 0x9f, 0xb6, 0x92, 0xa9, 0x30, 0xdc, 0xd6, 0x9c, - 0x76, 0xfe, 0x1b, 0x00, 0x00, 0xff, 0xff, 0xe4, 0xdc, 0xff, 0x25, 0xf3, 0x18, 0x00, 0x00, + 0x15, 0xd7, 0x70, 0x49, 0x89, 0x7c, 0xa2, 0x29, 0x66, 0xac, 0xb6, 0x1b, 0x3a, 0x66, 0x98, 0x85, + 0xea, 0x30, 0x41, 0x43, 0x9a, 0x4b, 0x06, 0x08, 0x72, 0x0a, 0xa9, 0x58, 0x95, 0x00, 0x55, 0x2e, + 0xa6, 0x4e, 0x5a, 0xf8, 0x42, 0x2c, 0xb9, 0x43, 0x72, 0x21, 0x72, 0x46, 0xdd, 0x9d, 0x95, 0xc8, + 0x5b, 0xd1, 0x1e, 0x7a, 0xcd, 0xa5, 0x28, 0xd0, 0xff, 0xa0, 0xa7, 0x22, 0xb7, 0x1e, 0x7b, 0xcc, + 0xa5, 0x80, 0x2f, 0x05, 0x0a, 0x14, 0x08, 0x0a, 0xfb, 0xda, 0xff, 0xa0, 0x28, 0x52, 0xcc, 0xec, + 0x07, 0x97, 0x92, 0xa8, 0x50, 0x72, 0x6b, 0x43, 0x40, 0x2e, 0xd2, 0xcc, 0xdb, 0xdf, 0xbc, 0x8f, + 0xdf, 0xfb, 0xe0, 0xce, 0xc2, 0x5d, 0x9f, 0x1d, 0x33, 0xce, 0xce, 0xd8, 0x89, 0xcb, 0x05, 0xaf, + 0xa9, 0xbf, 0x38, 0x2b, 0xa8, 0x27, 0x6c, 0x4b, 0x58, 0xa5, 0xed, 0x21, 0x1f, 0x72, 0x25, 0xac, + 0xcb, 0x55, 0xf0, 0xbc, 0xf4, 0xe6, 0x90, 0xf3, 0xe1, 0x98, 0xd6, 0xd5, 0xae, 0xe7, 0x0f, 0xea, + 0x16, 0x9b, 0x85, 0x8f, 0xf0, 0xb8, 0x37, 0xa9, 0x8b, 0x69, 0xfd, 0xb4, 0x51, 0x17, 0xd3, 0x40, + 0x66, 0x08, 0xc8, 0xed, 0xfa, 0x9e, 0xe0, 0x13, 0xea, 0x36, 0x70, 0x01, 0x52, 0x8e, 0xad, 0xa3, + 0x0a, 0xaa, 0x66, 0x48, 0xca, 0xb1, 0x31, 0x86, 0x34, 0xb3, 0x26, 0x54, 0x4f, 0x55, 0x50, 0x35, + 0x47, 0xd4, 0x1a, 0xbf, 0x07, 0x45, 0xcf, 0xef, 0x79, 0x7d, 0xd7, 0x39, 0x11, 0x0e, 0x67, 0xdd, + 0x01, 0xa5, 0xba, 0x56, 0x41, 0xd5, 0x14, 0xd9, 0x4a, 0xca, 0xf7, 0x28, 0xc5, 0x3a, 0x6c, 0x9c, + 0x58, 0xb3, 0x09, 0x65, 0x42, 0xdf, 0x50, 0x1a, 0xa2, 0xad, 0xf1, 0x65, 0x6a, 0x6e, 0xd6, 0xbc, + 0x60, 0xb6, 0x04, 0x59, 0x87, 0xd9, 0xbe, 0x27, 0xdc, 0x99, 0x32, 0x9d, 0x21, 0xf1, 0x3e, 0x76, + 0x49, 0x4b, 0xb8, 0xb4, 0x0d, 0x99, 0x01, 0x3d, 0xa3, 0xae, 0x9e, 0x56, 0x7e, 0x04, 0x1b, 0x7c, + 0x0f, 0xb2, 0x2e, 0xf5, 0xa8, 0x7b, 0x4a, 0x6d, 0xfd, 0xf7, 0xd9, 0x0a, 0xaa, 0x6a, 0x24, 0x16, + 0xe0, 0x1f, 0x41, 0xba, 0xef, 0x88, 0x99, 0xbe, 0x5e, 0x41, 0xd5, 0x82, 0xa9, 0xd7, 0x22, 0x52, + 0x6b, 0xb1, 0x57, 0xb5, 0x5d, 0x47, 0xcc, 0x88, 0x42, 0xe1, 0x8f, 0xe1, 0xce, 0xc4, 0xf1, 0xfa, + 0x74, 0x3c, 0xb6, 0x18, 0xe5, 0xbe, 0xa7, 0x43, 0x05, 0x55, 0x37, 0xcd, 0xed, 0x5a, 0xc0, 0x75, + 0x2d, 0xe2, 0xba, 0xd6, 0x66, 0x33, 0xb2, 0x08, 0x35, 0x7e, 0x0c, 0x69, 0xa9, 0x09, 0x67, 0x21, + 0x7d, 0x68, 0x71, 0xaf, 0xb8, 0x86, 0x0b, 0x00, 0x87, 0xdc, 0x6b, 0xb3, 0x21, 0x1d, 0x53, 0xaf, + 0x88, 0x70, 0x1e, 0xb2, 0x3f, 0xb5, 0xc6, 0xbc, 0x3d, 0x16, 0xbc, 0x98, 0xc2, 0x00, 0xeb, 0x3f, + 0xe1, 0x5e, 0x9f, 0x9f, 0x15, 0x35, 0xbc, 0x09, 0x1b, 0x47, 0x96, 0xe3, 0xf2, 0x9e, 0x53, 0x4c, + 0x1b, 0x35, 0xc8, 0x1e, 0x51, 0x4f, 0x50, 0xbb, 0xd5, 0x5e, 0x25, 0x51, 0xc6, 0xdf, 0x50, 0x74, + 0xa0, 0xb9, 0xd2, 0x01, 0x6c, 0x40, 0xca, 0x6a, 0xe9, 0xe9, 0x8a, 0x56, 0xdd, 0x34, 0xf1, 0x9c, + 0x91, 0xc8, 0x28, 0x49, 0x59, 0x2d, 0xdc, 0x84, 0x8c, 0xc3, 0x6c, 0x3a, 0xd5, 0x33, 0x0a, 0x76, + 0xff, 0x3c, 0xac, 0xd9, 0xae, 0x1d, 0xc8, 0xe7, 0x8f, 0x98, 0x70, 0x67, 0x24, 0xc0, 0x96, 0x0e, + 0x01, 0xe6, 0x42, 0x5c, 0x04, 0xed, 0x98, 0xce, 0x94, 0x2f, 0x1a, 0x91, 0x4b, 0x5c, 0x85, 0xcc, + 0xa9, 0x35, 0xf6, 0x03, 0x6f, 0x2e, 0xb7, 0x1d, 0x00, 0x3e, 0x4e, 0x7d, 0x84, 0x8c, 0xa7, 0x51, + 0x58, 0xe6, 0x6a, 0x61, 0xbd, 0x0f, 0xeb, 0x4c, 0xe1, 0x55, 0xcd, 0x5c, 0xa2, 0xbe, 0xd9, 0x26, + 0x21, 0xc2, 0xd8, 0x8b, 0x74, 0x37, 0x2e, 0xea, 0x9e, 0xeb, 0x59, 0xe2, 0xa6, 0x39, 0xd7, 0xf3, + 0x49, 0x9c, 0xab, 0xce, 0x05, 0x3d, 0x45, 0xd0, 0xac, 0x21, 0x0d, 0x0b, 0x5b, 0x2e, 0x2f, 0xab, + 0x69, 0xc3, 0x8e, 0x93, 0x77, 0x43, 0x0d, 0x32, 0x9d, 0xbd, 0xe5, 0xe9, 0xec, 0x90, 0x54, 0xaf, + 0x65, 0xb0, 0x98, 0xcb, 0x4b, 0xad, 0xc8, 0xde, 0x96, 0x56, 0x10, 0x91, 0xcb, 0x15, 0x98, 0xec, + 0x44, 0x0c, 0xc8, 0x9e, 0x74, 0xb9, 0x2f, 0xa8, 0xea, 0xc9, 0x1c, 0x09, 0x36, 0xc6, 0x2f, 0x62, + 0x7e, 0x3b, 0x37, 0xe0, 0x77, 0xae, 0x3d, 0x64, 0x40, 0x8b, 0x19, 0x30, 0x7e, 0x9d, 0x98, 0x28, + 0xcd, 0x95, 0xea, 0xa2, 0x00, 0x29, 0x6f, 0x10, 0x8e, 0xae, 0x94, 0x37, 0xc0, 0x6f, 0x41, 0xce, + 0xf3, 0xdd, 0xfe, 0xc8, 0x72, 0x87, 0x34, 0x9c, 0x24, 0x73, 0x01, 0xae, 0xc0, 0xa6, 0x4d, 0x3d, + 0xe1, 0x30, 0x4b, 0x4e, 0x37, 0x3d, 0xa3, 0x14, 0x25, 0x45, 0xf8, 0x01, 0x14, 0xfa, 0x2e, 0xb5, + 0x1d, 0xd1, 0xed, 0x5b, 0xae, 0xdd, 0x65, 0x3c, 0x18, 0x7a, 0xfb, 0x6b, 0x24, 0x1f, 0xc8, 0x77, + 0x2d, 0xd7, 0x3e, 0xe2, 0xf8, 0x3e, 0xe4, 0xfa, 0x23, 0xfa, 0x4b, 0x9f, 0x4a, 0x48, 0x36, 0x84, + 0x64, 0x03, 0xd1, 0x11, 0xc7, 0x75, 0xc8, 0x72, 0xd7, 0x19, 0x3a, 0xcc, 0x1a, 0xeb, 0x39, 0x45, + 0xc4, 0xdd, 0x8b, 0xd3, 0xa9, 0x41, 0x62, 0x50, 0x27, 0x17, 0x4f, 0x59, 0xe3, 0x5f, 0x29, 0xc8, + 0x3f, 0xa1, 0x9e, 0xf8, 0x9c, 0xba, 0x9e, 0xc3, 0x59, 0x03, 0xe7, 0x01, 0x4d, 0xc3, 0x4e, 0x43, + 0x53, 0xbc, 0x03, 0xc8, 0x0a, 0xc9, 0xfd, 0xfe, 0x5c, 0x67, 0xf2, 0x00, 0x41, 0x96, 0x44, 0xf5, + 0xc2, 0x04, 0x2f, 0x45, 0xf5, 0x24, 0xaa, 0x1f, 0x16, 0xd7, 0x52, 0x54, 0x1f, 0xbf, 0x0f, 0xc8, + 0x0e, 0x47, 0xc5, 0x12, 0x54, 0x27, 0xfd, 0xd5, 0xd7, 0x6f, 0xaf, 0x11, 0x64, 0xe3, 0x02, 0x20, + 0xaa, 0xe6, 0x71, 0x66, 0x7f, 0x8d, 0x20, 0x8a, 0x1f, 0x00, 0x1a, 0x28, 0x0a, 0x97, 0x9e, 0x95, + 0xb8, 0x01, 0x36, 0x00, 0x0d, 0x15, 0x8f, 0xcb, 0x06, 0x32, 0x1a, 0x4a, 0x6f, 0x47, 0x7a, 0xee, + 0x6a, 0x6f, 0x47, 0xf8, 0x5d, 0x40, 0xc7, 0x7a, 0x7e, 0x29, 0xe7, 0x9d, 0xf4, 0xb3, 0xaf, 0xdf, + 0x46, 0x04, 0x1d, 0x77, 0x32, 0xa0, 0x79, 0xfe, 0xc4, 0xf8, 0x8d, 0xb6, 0x40, 0xb7, 0x79, 0x5d, + 0xba, 0xcd, 0x95, 0xe8, 0x36, 0x57, 0xa2, 0xdb, 0x94, 0x74, 0xef, 0x7c, 0x1b, 0xdd, 0xe6, 0x8d, + 0x88, 0x36, 0x5f, 0x17, 0xd1, 0xf8, 0x1e, 0xe4, 0x18, 0x3d, 0xeb, 0x0e, 0x1c, 0x3a, 0xb6, 0xf5, + 0x37, 0x2b, 0xa8, 0x9a, 0x26, 0x59, 0x46, 0xcf, 0xf6, 0xe4, 0x3e, 0xca, 0xc2, 0xef, 0x16, 0xb3, + 0xd0, 0xbc, 0x6e, 0x16, 0x9a, 0x2b, 0x65, 0xa1, 0xb9, 0x52, 0x16, 0x9a, 0x2b, 0x65, 0xa1, 0x79, + 0xa3, 0x2c, 0x34, 0x5f, 0x5b, 0x16, 0x3e, 0x00, 0xcc, 0x38, 0xeb, 0xf6, 0x5d, 0x47, 0x38, 0x7d, + 0x6b, 0x1c, 0xa6, 0xe3, 0xb7, 0x6a, 0x76, 0x91, 0x22, 0xe3, 0x6c, 0x37, 0x7c, 0xb2, 0x90, 0x97, + 0x7f, 0xa7, 0xa0, 0x94, 0x74, 0xff, 0x90, 0x33, 0xfa, 0x98, 0xd1, 0xc7, 0x83, 0xcf, 0xe5, 0x4f, + 0xf9, 0x2d, 0xcd, 0xd2, 0xad, 0x61, 0xff, 0x3f, 0xeb, 0xf0, 0x83, 0xf3, 0xec, 0x1f, 0xa9, 0x5f, + 0xab, 0xe1, 0x2d, 0xa1, 0xbe, 0x31, 0x6f, 0x88, 0x77, 0x2e, 0x47, 0x25, 0x62, 0xba, 0x25, 0xbd, + 0x81, 0x3f, 0x81, 0x75, 0x87, 0x31, 0xea, 0x36, 0xf4, 0x82, 0x52, 0x5e, 0xfd, 0xd6, 0xc8, 0x6a, + 0x07, 0x0a, 0x4f, 0xc2, 0x73, 0xb1, 0x06, 0x53, 0xdf, 0xba, 0x96, 0x06, 0x33, 0xd4, 0x60, 0x96, + 0xfe, 0x88, 0x60, 0x3d, 0x50, 0x9a, 0x78, 0x4f, 0xd2, 0x96, 0xbe, 0x27, 0x1d, 0xc8, 0x57, 0x7e, + 0x46, 0xdd, 0x30, 0xfb, 0xcd, 0x55, 0x3d, 0x0e, 0xfe, 0xa9, 0x3f, 0x24, 0xd0, 0x50, 0x7a, 0x28, + 0x2f, 0x02, 0x91, 0x30, 0x61, 0x3c, 0x17, 0x19, 0x57, 0x77, 0xb2, 0xd0, 0xb8, 0x5c, 0x97, 0xfe, + 0x14, 0xf9, 0x6a, 0x5e, 0x80, 0xeb, 0xb0, 0xd1, 0xe7, 0x3e, 0x8b, 0x2e, 0x89, 0x39, 0x12, 0x6d, + 0x6f, 0xea, 0xb1, 0xf9, 0xbf, 0xf0, 0x38, 0xea, 0xbf, 0x6f, 0x16, 0xfb, 0xaf, 0xf5, 0x5d, 0xff, + 0xdd, 0xa2, 0xfe, 0x6b, 0xbd, 0x74, 0xff, 0xb5, 0x5e, 0x71, 0xff, 0xb5, 0x5e, 0xaa, 0xff, 0xb4, + 0xa5, 0xfd, 0xf7, 0xe5, 0xff, 0xad, 0xff, 0x5a, 0x2b, 0xf5, 0x9f, 0x79, 0x65, 0xff, 0x6d, 0x27, + 0x3f, 0x1c, 0x68, 0xe1, 0x47, 0x82, 0xa8, 0x03, 0xff, 0x8a, 0xa0, 0x90, 0xb0, 0xb7, 0xf7, 0xe9, + 0xcd, 0xae, 0x43, 0xaf, 0xfd, 0x5a, 0x12, 0xc5, 0xf3, 0x0f, 0xb4, 0xf0, 0x3e, 0xb5, 0xf7, 0x69, + 0xe3, 0xe7, 0x8e, 0x18, 0x3d, 0x9a, 0x0a, 0xd7, 0x6a, 0xb3, 0xd9, 0x2b, 0x8d, 0x6d, 0x67, 0x1e, + 0x5b, 0x02, 0xd7, 0x66, 0xb3, 0xd8, 0xa3, 0x6b, 0x47, 0xf7, 0x04, 0xf2, 0xc9, 0xf3, 0xb8, 0x2a, + 0x03, 0x40, 0xcb, 0xe9, 0x8b, 0x26, 0x80, 0x25, 0x03, 0x0f, 0x26, 0xa3, 0x26, 0x27, 0x60, 0x3e, + 0x98, 0x80, 0x6a, 0xd7, 0x37, 0xfe, 0x82, 0xa0, 0x28, 0x0d, 0x7e, 0x76, 0x62, 0x5b, 0x82, 0xda, + 0x4f, 0xa6, 0xc4, 0x3a, 0xc3, 0xf7, 0x01, 0x7a, 0xdc, 0x9e, 0x75, 0x7b, 0x33, 0x41, 0x3d, 0x65, + 0x23, 0x4f, 0x72, 0x52, 0xd2, 0x91, 0x02, 0xfc, 0x00, 0xb6, 0x2c, 0x5f, 0x8c, 0xba, 0x0e, 0x1b, + 0xf0, 0x10, 0x93, 0x52, 0x98, 0x3b, 0x52, 0x7c, 0xc0, 0x06, 0x3c, 0xc0, 0x95, 0x01, 0x3c, 0x67, + 0xc8, 0x2c, 0xe1, 0xbb, 0xd4, 0xd3, 0xb5, 0x8a, 0x56, 0xcd, 0x93, 0x84, 0x04, 0x97, 0x61, 0x33, + 0xbe, 0xbb, 0x74, 0x3f, 0x54, 0x5f, 0x0c, 0xf2, 0x24, 0x17, 0xdd, 0x5e, 0x3e, 0xc4, 0x3f, 0x84, + 0xc2, 0xfc, 0x79, 0xe3, 0xa1, 0xd9, 0xd2, 0x7f, 0x95, 0x55, 0x98, 0x7c, 0x84, 0x91, 0x42, 0xe3, + 0x0b, 0x0d, 0xde, 0x58, 0x08, 0xa1, 0xc3, 0xed, 0x19, 0x7e, 0x08, 0xd9, 0x09, 0xf5, 0x3c, 0x6b, + 0xa8, 0x22, 0xd0, 0x96, 0x16, 0x59, 0x8c, 0x92, 0xdd, 0x3d, 0xa1, 0x13, 0x1e, 0x75, 0xb7, 0x5c, + 0x4b, 0x17, 0x84, 0x33, 0xa1, 0xdc, 0x17, 0xdd, 0x11, 0x75, 0x86, 0x23, 0x11, 0xf2, 0x78, 0x27, + 0x94, 0xee, 0x2b, 0x21, 0xde, 0x81, 0x82, 0xc7, 0x27, 0xb4, 0x3b, 0xbf, 0x8a, 0xa5, 0xd5, 0x55, + 0x2c, 0x2f, 0xa5, 0x47, 0xa1, 0xb3, 0x78, 0x1f, 0xde, 0x59, 0x44, 0x75, 0x2f, 0x19, 0xcc, 0x7f, + 0x08, 0x06, 0xf3, 0x5b, 0xc9, 0x93, 0x47, 0xe7, 0x87, 0x74, 0x07, 0xde, 0xa0, 0x53, 0x41, 0x99, + 0xac, 0x91, 0x2e, 0x57, 0x9f, 0x93, 0x3d, 0xfd, 0x9b, 0x8d, 0x2b, 0xc2, 0x2c, 0xc6, 0xf8, 0xc7, + 0x01, 0x1c, 0x3f, 0x85, 0xf2, 0x82, 0xf9, 0x4b, 0x14, 0x6e, 0x5d, 0xa1, 0xf0, 0x5e, 0xe2, 0x97, + 0xe3, 0xd1, 0x39, 0xdd, 0xc6, 0x9f, 0x11, 0xdc, 0x4d, 0xa4, 0xa4, 0x1d, 0x96, 0x05, 0xfe, 0x08, + 0xf2, 0x32, 0xff, 0xd4, 0x55, 0xb5, 0x13, 0x25, 0xe6, 0x7b, 0xb5, 0x71, 0x6f, 0x52, 0x13, 0xd3, + 0xda, 0x69, 0xa3, 0xf6, 0x33, 0xf5, 0x58, 0x82, 0xc9, 0xa6, 0x17, 0xaf, 0x3d, 0x5c, 0x99, 0x7f, + 0x6b, 0xdb, 0x34, 0x0b, 0x89, 0x03, 0x7b, 0x94, 0x06, 0xdf, 0xde, 0x16, 0xaa, 0xa9, 0xa9, 0xf2, + 0x94, 0xa8, 0xa6, 0xe6, 0xaa, 0xd5, 0xf4, 0x6e, 0x50, 0x4c, 0x84, 0x9e, 0x50, 0xe9, 0xfa, 0x67, + 0x0e, 0x13, 0xaa, 0x34, 0x98, 0x3f, 0x09, 0xfc, 0x4d, 0x13, 0xb5, 0xee, 0xec, 0x7e, 0xf5, 0xbc, + 0x8c, 0x9e, 0x3d, 0x2f, 0xa3, 0x7f, 0x3e, 0x2f, 0xa3, 0x2f, 0x5e, 0x94, 0xd7, 0x9e, 0xbd, 0x28, + 0xaf, 0xfd, 0xfd, 0x45, 0x79, 0xed, 0xe9, 0x7b, 0x43, 0x47, 0x8c, 0xfc, 0x5e, 0xad, 0xcf, 0x27, + 0xf5, 0xb1, 0xc3, 0x68, 0x7d, 0xdc, 0x9b, 0x7c, 0xe0, 0xd9, 0xc7, 0x75, 0xd9, 0xe2, 0xbe, 0x70, + 0xc6, 0xf5, 0xa8, 0xd7, 0x7b, 0xeb, 0x8a, 0xd3, 0xe6, 0x7f, 0x03, 0x00, 0x00, 0xff, 0xff, 0xc7, + 0x8b, 0xa3, 0xa7, 0xc9, 0x18, 0x00, 0x00, } func (m *Customer1) Marshal() (dAtA []byte, err error) { @@ -5261,24 +5252,19 @@ func (m *TestUpdatedTxBody) MarshalToSizedBuffer(dAtA []byte) (int, error) { if m.SomeNewField != 0 { i = encodeVarintUnknonwnproto(dAtA, i, uint64(m.SomeNewField)) i-- - dAtA[i] = 0x28 + dAtA[i] = 0x20 } if m.TimeoutHeight != 0 { i = encodeVarintUnknonwnproto(dAtA, i, uint64(m.TimeoutHeight)) i-- - dAtA[i] = 0x20 + dAtA[i] = 0x18 } if len(m.Memo) > 0 { i -= len(m.Memo) copy(dAtA[i:], m.Memo) i = encodeVarintUnknonwnproto(dAtA, i, uint64(len(m.Memo))) i-- - dAtA[i] = 0x1a - } - if m.SigBlockHeight != 0 { - i = encodeVarintUnknonwnproto(dAtA, i, uint64(m.SigBlockHeight)) - i-- - dAtA[i] = 0x10 + dAtA[i] = 0x12 } if len(m.Messages) > 0 { for iNdEx := len(m.Messages) - 1; iNdEx >= 0; iNdEx-- { @@ -6430,9 +6416,6 @@ func (m *TestUpdatedTxBody) Size() (n int) { n += 1 + l + sovUnknonwnproto(uint64(l)) } } - if m.SigBlockHeight != 0 { - n += 1 + sovUnknonwnproto(uint64(m.SigBlockHeight)) - } l = len(m.Memo) if l > 0 { n += 1 + l + sovUnknonwnproto(uint64(l)) @@ -12560,25 +12543,6 @@ func (m *TestUpdatedTxBody) Unmarshal(dAtA []byte) error { } iNdEx = postIndex case 2: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field SigBlockHeight", wireType) - } - m.SigBlockHeight = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowUnknonwnproto - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.SigBlockHeight |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 3: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field Memo", wireType) } @@ -12610,7 +12574,7 @@ func (m *TestUpdatedTxBody) Unmarshal(dAtA []byte) error { } m.Memo = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 4: + case 3: if wireType != 0 { return fmt.Errorf("proto: wrong wireType = %d for field TimeoutHeight", wireType) } @@ -12629,7 +12593,7 @@ func (m *TestUpdatedTxBody) Unmarshal(dAtA []byte) error { break } } - case 5: + case 4: if wireType != 0 { return fmt.Errorf("proto: wrong wireType = %d for field SomeNewField", wireType) } diff --git a/testutil/testdata/unknonwnproto.proto b/testutil/testdata/unknonwnproto.proto index 37a453f945..c6c4e6d772 100644 --- a/testutil/testdata/unknonwnproto.proto +++ b/testutil/testdata/unknonwnproto.proto @@ -288,10 +288,9 @@ message TestUpdatedTxRaw { message TestUpdatedTxBody { repeated google.protobuf.Any messages = 1; - uint64 sig_block_height = 2; - string memo = 3; - int64 timeout_height = 4; - uint64 some_new_field = 5; + string memo = 2; + int64 timeout_height = 3; + uint64 some_new_field = 4; string some_new_field_non_critical_field = 1050; repeated google.protobuf.Any extension_options = 1023; repeated google.protobuf.Any non_critical_extension_options = 2047; diff --git a/types/tx/tx.pb.go b/types/tx/tx.pb.go index 93182aed0a..9d4bbfaa8e 100644 --- a/types/tx/tx.pb.go +++ b/types/tx/tx.pb.go @@ -245,14 +245,11 @@ type TxBody struct { // is referred to as the primary signer and pays the fee for the whole // transaction. Messages []*types.Any `protobuf:"bytes,1,rep,name=messages,proto3" json:"messages,omitempty"` - // sig block height is available between current block height and current block height - `VALID_SIG_BLOCK_PERIOD` - // this is used for distinguish signatures instead of account number. this is mandatory. - SigBlockHeight uint64 `protobuf:"varint,2,opt,name=sig_block_height,json=sigBlockHeight,proto3" json:"sig_block_height,omitempty"` // memo is any arbitrary memo to be added to the transaction - Memo string `protobuf:"bytes,3,opt,name=memo,proto3" json:"memo,omitempty"` + Memo string `protobuf:"bytes,2,opt,name=memo,proto3" json:"memo,omitempty"` // timeout is the block height after which this transaction will not // be processed by the chain - TimeoutHeight uint64 `protobuf:"varint,4,opt,name=timeout_height,json=timeoutHeight,proto3" json:"timeout_height,omitempty"` + TimeoutHeight uint64 `protobuf:"varint,3,opt,name=timeout_height,json=timeoutHeight,proto3" json:"timeout_height,omitempty"` // extension_options are arbitrary options that can be added by chains // when the default options are not sufficient. If any of these are present // and can't be handled, the transaction will be rejected @@ -303,13 +300,6 @@ func (m *TxBody) GetMessages() []*types.Any { return nil } -func (m *TxBody) GetSigBlockHeight() uint64 { - if m != nil { - return m.SigBlockHeight - } - return 0 -} - func (m *TxBody) GetMemo() string { if m != nil { return m.Memo @@ -351,6 +341,9 @@ 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"` + // sig block height is available between current block height and current block height - `VALID_SIG_BLOCK_PERIOD` + // this is used for distinguish signatures instead of account number. this is mandatory. + SigBlockHeight uint64 `protobuf:"varint,3,opt,name=sig_block_height,json=sigBlockHeight,proto3" json:"sig_block_height,omitempty"` } func (m *AuthInfo) Reset() { *m = AuthInfo{} } @@ -400,6 +393,13 @@ func (m *AuthInfo) GetFee() *Fee { return nil } +func (m *AuthInfo) GetSigBlockHeight() uint64 { + if m != nil { + return m.SigBlockHeight + } + return 0 +} + // SignerInfo describes the public key and signing mode of a single top-level // signer. type SignerInfo struct { @@ -759,59 +759,60 @@ func init() { func init() { proto.RegisterFile("lbm/tx/v1/tx.proto", fileDescriptor_f80bf4f3a3e5da31) } var fileDescriptor_f80bf4f3a3e5da31 = []byte{ - // 831 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x54, 0xcd, 0x6e, 0x23, 0x45, - 0x10, 0xf6, 0xf8, 0x2f, 0x76, 0x25, 0x9b, 0xdd, 0x6d, 0x02, 0x72, 0x1c, 0xe1, 0x58, 0x46, 0x01, - 0x4b, 0x88, 0x99, 0x4d, 0x96, 0x03, 0x70, 0x8b, 0x03, 0xab, 0xac, 0x60, 0x85, 0xd4, 0x89, 0x38, - 0xec, 0x65, 0xd4, 0x33, 0x6e, 0xb7, 0x5b, 0x99, 0xe9, 0x36, 0xd3, 0x3d, 0xc1, 0x73, 0x40, 0xe2, - 0x0d, 0xe0, 0x39, 0xf6, 0x09, 0xb8, 0x71, 0xdd, 0xe3, 0x1e, 0x39, 0x01, 0x4a, 0x1e, 0x04, 0xd4, - 0x3d, 0x3d, 0x43, 0x84, 0x92, 0x70, 0xd9, 0x5b, 0x55, 0xf5, 0xf7, 0x55, 0x7d, 0xaa, 0xae, 0x2a, - 0x40, 0x49, 0x94, 0x06, 0x7a, 0x1d, 0x5c, 0x1e, 0x06, 0x7a, 0xed, 0xaf, 0x32, 0xa9, 0x25, 0xea, - 0x27, 0x51, 0xea, 0xeb, 0xb5, 0x7f, 0x79, 0x38, 0xdc, 0x61, 0x92, 0x49, 0x1b, 0x0d, 0x8c, 0x55, - 0x02, 0x86, 0x07, 0x86, 0x14, 0x67, 0xc5, 0x4a, 0xcb, 0x20, 0xcd, 0x13, 0xcd, 0x15, 0x67, 0x26, - 0x43, 0x65, 0x3b, 0xd8, 0x7b, 0x06, 0x16, 0x11, 0x45, 0xcd, 0x5b, 0x2c, 0xb9, 0x70, 0xf1, 0x7d, - 0x57, 0x53, 0x71, 0x26, 0xb8, 0xb0, 0x4c, 0x67, 0x3a, 0xc0, 0x2e, 0x93, 0x92, 0x25, 0x34, 0xb0, - 0x5e, 0x94, 0x2f, 0x02, 0x22, 0x8a, 0xf2, 0x69, 0xf2, 0x23, 0x34, 0xcf, 0xd7, 0xe8, 0x00, 0xda, - 0x91, 0x9c, 0x17, 0x03, 0x6f, 0xec, 0x4d, 0x37, 0x8f, 0x1e, 0xfb, 0xb5, 0x60, 0xff, 0x7c, 0x3d, - 0x93, 0xf3, 0x02, 0xdb, 0x67, 0xf4, 0x04, 0xfa, 0x24, 0xd7, 0xcb, 0x90, 0x8b, 0x85, 0x1c, 0x34, - 0x2d, 0xf6, 0x9d, 0x1b, 0xd8, 0xe3, 0x5c, 0x2f, 0x9f, 0x8b, 0x85, 0xc4, 0x3d, 0xe2, 0x2c, 0x34, - 0x02, 0x30, 0x52, 0x88, 0xce, 0x33, 0xaa, 0x06, 0xad, 0x71, 0x6b, 0xba, 0x85, 0x6f, 0x44, 0x26, - 0x02, 0x3a, 0xe7, 0x6b, 0x4c, 0x7e, 0x40, 0xef, 0x03, 0x98, 0x12, 0x61, 0x54, 0x68, 0xaa, 0xac, - 0x8e, 0x2d, 0xdc, 0x37, 0x91, 0x99, 0x09, 0xa0, 0x0f, 0xe1, 0x61, 0x5d, 0xd9, 0x61, 0x9a, 0x16, - 0xf3, 0xa0, 0x2a, 0x55, 0xe2, 0xfe, 0xaf, 0xde, 0x05, 0x6c, 0x9c, 0x71, 0x26, 0xbe, 0x94, 0xf1, - 0xdb, 0xaa, 0xb8, 0x0b, 0xbd, 0x78, 0x49, 0xb8, 0x08, 0xf9, 0x7c, 0xd0, 0x1a, 0x7b, 0xd3, 0x3e, - 0xde, 0xb0, 0xfe, 0xf3, 0xf9, 0xe4, 0xb7, 0x26, 0x74, 0xcb, 0xfe, 0xa1, 0x27, 0xd0, 0x4b, 0xa9, - 0x52, 0x84, 0xd9, 0x52, 0xad, 0xe9, 0xe6, 0xd1, 0x8e, 0x5f, 0x7e, 0x8a, 0x5f, 0x7d, 0x8a, 0x7f, - 0x2c, 0x0a, 0x5c, 0xa3, 0xd0, 0x14, 0x1e, 0x29, 0xce, 0xc2, 0x28, 0x91, 0xf1, 0x45, 0xb8, 0xa4, - 0x9c, 0x2d, 0xb5, 0x15, 0xd0, 0xc6, 0xdb, 0x8a, 0xb3, 0x99, 0x09, 0x9f, 0xda, 0x28, 0x42, 0xd0, - 0x4e, 0x69, 0x2a, 0x5d, 0x75, 0x6b, 0xa3, 0x03, 0xd8, 0xd6, 0x3c, 0xa5, 0x32, 0xd7, 0x15, 0xb7, - 0x6d, 0xb9, 0x0f, 0x5c, 0xd4, 0x51, 0x67, 0xf0, 0x98, 0xae, 0x35, 0x15, 0x8a, 0x4b, 0x11, 0xca, - 0x95, 0xe6, 0x52, 0xa8, 0xc1, 0xdf, 0x1b, 0xf7, 0x08, 0x7c, 0x54, 0xe3, 0xbf, 0x2d, 0xe1, 0xe8, - 0x25, 0x8c, 0x84, 0x14, 0x61, 0x9c, 0x71, 0xcd, 0x63, 0x92, 0x84, 0xb7, 0x24, 0x7c, 0x78, 0x4f, - 0xc2, 0x3d, 0x21, 0xc5, 0x89, 0xe3, 0x7e, 0xf5, 0x9f, 0xdc, 0x93, 0x05, 0xf4, 0xaa, 0xa1, 0x42, - 0x9f, 0xc1, 0x96, 0xf9, 0x48, 0x9a, 0xd9, 0x2f, 0xa9, 0xda, 0xf8, 0xee, 0x8d, 0xf9, 0x3b, 0xb3, - 0xcf, 0x76, 0x02, 0x37, 0x55, 0x6d, 0x2b, 0x34, 0x86, 0xd6, 0x82, 0x52, 0x37, 0xb0, 0xdb, 0x37, - 0x08, 0xcf, 0x28, 0xc5, 0xe6, 0x69, 0xf2, 0xb3, 0x07, 0xf0, 0x2f, 0x1b, 0x3d, 0x05, 0x58, 0xe5, - 0x51, 0xc2, 0xe3, 0xf0, 0x82, 0x56, 0x4b, 0x71, 0xbb, 0xfa, 0x7e, 0x89, 0xfb, 0x9a, 0xda, 0xe5, - 0x48, 0xe5, 0x9c, 0xde, 0xb5, 0x1c, 0x2f, 0xe4, 0x9c, 0x96, 0xcb, 0x91, 0x3a, 0x0b, 0x0d, 0xa1, - 0xa7, 0xe8, 0xf7, 0x39, 0x15, 0x31, 0xb5, 0x9f, 0xd7, 0xc6, 0xb5, 0x3f, 0xf9, 0xb5, 0x09, 0xbd, - 0x8a, 0x82, 0x3e, 0x85, 0xae, 0xe2, 0x82, 0x25, 0xd4, 0x69, 0x19, 0xde, 0x92, 0xd7, 0x3f, 0xb3, - 0x88, 0xd3, 0x06, 0x76, 0x58, 0x74, 0x08, 0x1d, 0x7b, 0x40, 0x9c, 0x98, 0xdd, 0xdb, 0x48, 0x2f, - 0x0c, 0xe0, 0xb4, 0x81, 0x4b, 0xe4, 0xf0, 0x73, 0xe8, 0x96, 0x69, 0x50, 0x00, 0x6d, 0xa3, 0xd3, - 0x16, 0xdc, 0x3e, 0xda, 0xab, 0xb8, 0xd5, 0x5d, 0x71, 0xdd, 0x36, 0x79, 0xb0, 0x05, 0x0e, 0x7f, - 0xf2, 0xa0, 0x63, 0xb3, 0xa1, 0x13, 0xe8, 0x45, 0x5c, 0x93, 0x2c, 0x23, 0x55, 0xef, 0x3e, 0xb2, - 0xf4, 0xf2, 0xc0, 0xf9, 0xf5, 0x51, 0xbb, 0x3c, 0xf4, 0x4f, 0x64, 0xba, 0x22, 0xb1, 0x9e, 0x71, - 0x7d, 0x6c, 0xe0, 0xb8, 0x26, 0xa2, 0x23, 0x80, 0xba, 0x9b, 0x66, 0xf3, 0x5a, 0x77, 0xb5, 0xb3, - 0x5f, 0xb5, 0x53, 0xcd, 0x3a, 0xd0, 0x52, 0x79, 0x3a, 0x79, 0xe5, 0x41, 0xeb, 0x19, 0xa5, 0xe8, - 0x3b, 0xe8, 0x92, 0x54, 0xe6, 0x42, 0xbb, 0x51, 0x29, 0xcf, 0x9a, 0xb9, 0x9f, 0x65, 0x69, 0x2e, - 0x66, 0x1f, 0xbf, 0xfe, 0x63, 0xbf, 0xf1, 0xea, 0xcf, 0xfd, 0x0f, 0x18, 0xd7, 0xcb, 0x3c, 0xf2, - 0x63, 0x99, 0x06, 0x09, 0x17, 0x34, 0x48, 0xa2, 0xf4, 0x13, 0x35, 0xbf, 0x08, 0x74, 0xb1, 0xa2, - 0xca, 0x62, 0x15, 0x76, 0xd9, 0xd0, 0x1e, 0xf4, 0x19, 0x51, 0x61, 0xc2, 0x53, 0x5e, 0xad, 0x64, - 0x8f, 0x11, 0xf5, 0x8d, 0xf1, 0xd1, 0x0e, 0x74, 0x56, 0xa4, 0xa0, 0x99, 0xdb, 0xc6, 0xd2, 0x41, - 0x03, 0xd8, 0x60, 0x19, 0x11, 0x9a, 0x66, 0x76, 0x0f, 0xfb, 0xb8, 0x72, 0x67, 0x5f, 0xbc, 0xbe, - 0x1a, 0x79, 0x6f, 0xae, 0x46, 0xde, 0x5f, 0x57, 0x23, 0xef, 0x97, 0xeb, 0x51, 0xe3, 0xcd, 0xf5, - 0xa8, 0xf1, 0xfb, 0xf5, 0xa8, 0xf1, 0x72, 0x7c, 0xaf, 0xa6, 0x40, 0xaf, 0xa3, 0xae, 0x1d, 0xc5, - 0xa7, 0xff, 0x04, 0x00, 0x00, 0xff, 0xff, 0x17, 0xba, 0xa0, 0x41, 0x74, 0x06, 0x00, 0x00, + // 835 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x54, 0xcd, 0x6e, 0x1c, 0x45, + 0x10, 0xde, 0xd9, 0x3f, 0xef, 0x96, 0x1d, 0x27, 0x69, 0x0c, 0x5a, 0xaf, 0xc5, 0x7a, 0xb5, 0xc8, + 0xb0, 0x12, 0x62, 0x26, 0x76, 0x38, 0x00, 0x37, 0xaf, 0x21, 0x72, 0x04, 0x11, 0xd2, 0xd8, 0xe2, + 0x90, 0xcb, 0xa8, 0x67, 0xb6, 0xdd, 0xdb, 0xf2, 0x4c, 0xf7, 0x32, 0xdd, 0x63, 0x76, 0x0e, 0x48, + 0xbc, 0x01, 0xb9, 0xf0, 0x12, 0x79, 0x02, 0x1e, 0x21, 0xc7, 0x1c, 0x39, 0x01, 0xb2, 0x1f, 0x04, + 0xd4, 0x3f, 0x33, 0x18, 0xb4, 0x31, 0x97, 0xdc, 0xaa, 0xaa, 0xbf, 0xaa, 0xaf, 0xe6, 0x9b, 0xaa, + 0x02, 0x94, 0xc6, 0x59, 0xa0, 0x56, 0xc1, 0xd5, 0x61, 0xa0, 0x56, 0xfe, 0x32, 0x17, 0x4a, 0xa0, + 0x7e, 0x1a, 0x67, 0xbe, 0x5a, 0xf9, 0x57, 0x87, 0xc3, 0x1d, 0x2a, 0xa8, 0x30, 0xd1, 0x40, 0x5b, + 0x16, 0x30, 0x3c, 0xd0, 0x49, 0x49, 0x5e, 0x2e, 0x95, 0x08, 0xb2, 0x22, 0x55, 0x4c, 0x32, 0xaa, + 0x2b, 0x54, 0xb6, 0x83, 0xbd, 0xa7, 0x61, 0x31, 0x96, 0x44, 0xbf, 0x25, 0x82, 0x71, 0x17, 0xdf, + 0x77, 0x9c, 0x92, 0x51, 0xce, 0xb8, 0xc9, 0x74, 0xa6, 0x03, 0xec, 0x52, 0x21, 0x68, 0x4a, 0x02, + 0xe3, 0xc5, 0xc5, 0x45, 0x80, 0x79, 0x69, 0x9f, 0x26, 0x3f, 0x42, 0xf3, 0x7c, 0x85, 0x0e, 0xa0, + 0x1d, 0x8b, 0x79, 0x39, 0xf0, 0xc6, 0xde, 0x74, 0xf3, 0xe8, 0xa1, 0x5f, 0x37, 0xec, 0x9f, 0xaf, + 0x66, 0x62, 0x5e, 0x86, 0xe6, 0x19, 0x3d, 0x82, 0x3e, 0x2e, 0xd4, 0x22, 0x62, 0xfc, 0x42, 0x0c, + 0x9a, 0x06, 0xfb, 0xce, 0x2d, 0xec, 0x71, 0xa1, 0x16, 0x4f, 0xf9, 0x85, 0x08, 0x7b, 0xd8, 0x59, + 0x68, 0x04, 0xa0, 0x5b, 0xc1, 0xaa, 0xc8, 0x89, 0x1c, 0xb4, 0xc6, 0xad, 0xe9, 0x56, 0x78, 0x2b, + 0x32, 0xe1, 0xd0, 0x39, 0x5f, 0x85, 0xf8, 0x07, 0xf4, 0x3e, 0x80, 0xa6, 0x88, 0xe2, 0x52, 0x11, + 0x69, 0xfa, 0xd8, 0x0a, 0xfb, 0x3a, 0x32, 0xd3, 0x01, 0xf4, 0x21, 0xdc, 0xaf, 0x99, 0x1d, 0xa6, + 0x69, 0x30, 0xf7, 0x2a, 0x2a, 0x8b, 0xfb, 0x3f, 0xbe, 0x4b, 0xd8, 0x38, 0x63, 0x94, 0x7f, 0x29, + 0x92, 0xb7, 0xc5, 0xb8, 0x0b, 0xbd, 0x64, 0x81, 0x19, 0x8f, 0xd8, 0x7c, 0xd0, 0x1a, 0x7b, 0xd3, + 0x7e, 0xb8, 0x61, 0xfc, 0xa7, 0xf3, 0xc9, 0x2f, 0x4d, 0xe8, 0x5a, 0xfd, 0xd0, 0x23, 0xe8, 0x65, + 0x44, 0x4a, 0x4c, 0x0d, 0x55, 0x6b, 0xba, 0x79, 0xb4, 0xe3, 0xdb, 0x9f, 0xe2, 0x57, 0x3f, 0xc5, + 0x3f, 0xe6, 0x65, 0x58, 0xa3, 0x10, 0x82, 0x76, 0x46, 0x32, 0x2b, 0x73, 0x3f, 0x34, 0x36, 0x3a, + 0x80, 0x6d, 0xc5, 0x32, 0x22, 0x0a, 0x15, 0x2d, 0x08, 0xa3, 0x0b, 0x65, 0x18, 0xdb, 0xe1, 0x3d, + 0x17, 0x3d, 0x35, 0x41, 0x34, 0x83, 0x87, 0x64, 0xa5, 0x08, 0x97, 0x4c, 0xf0, 0x48, 0x2c, 0x15, + 0x13, 0x5c, 0x0e, 0xfe, 0xda, 0xb8, 0x83, 0xf6, 0x41, 0x8d, 0xff, 0xd6, 0xc2, 0xd1, 0x73, 0x18, + 0x71, 0xc1, 0xa3, 0x24, 0x67, 0x8a, 0x25, 0x38, 0x8d, 0xd6, 0x14, 0xbc, 0x7f, 0x47, 0xc1, 0x3d, + 0x2e, 0xf8, 0x89, 0xcb, 0xfd, 0xea, 0x3f, 0xb5, 0x27, 0x2f, 0x3c, 0xe8, 0x55, 0xb3, 0x82, 0x3e, + 0x83, 0x2d, 0xfd, 0x7f, 0x48, 0x6e, 0x94, 0xae, 0xd4, 0x79, 0xf7, 0xd6, 0x58, 0x9d, 0x99, 0x67, + 0x33, 0x58, 0x9b, 0xb2, 0xb6, 0x25, 0x1a, 0x43, 0xeb, 0x82, 0x10, 0x37, 0x87, 0xdb, 0xb7, 0x12, + 0x9e, 0x10, 0x12, 0xea, 0x27, 0x34, 0x85, 0x07, 0x92, 0xd1, 0x28, 0x4e, 0x45, 0x72, 0xf9, 0x6f, + 0xc5, 0xb6, 0x25, 0xa3, 0x33, 0x1d, 0xb6, 0x92, 0x4d, 0x7e, 0xf6, 0x00, 0xfe, 0xe1, 0x41, 0x8f, + 0x01, 0x96, 0x45, 0x9c, 0xb2, 0x24, 0xba, 0x24, 0xd5, 0x56, 0xac, 0xff, 0xd0, 0xbe, 0xc5, 0x7d, + 0x4d, 0xcc, 0x76, 0x64, 0x62, 0x4e, 0xde, 0xb4, 0x1d, 0xcf, 0xc4, 0x9c, 0xd8, 0xed, 0xc8, 0x9c, + 0x85, 0x86, 0xd0, 0x93, 0xe4, 0xfb, 0x82, 0xf0, 0x84, 0xb8, 0xbe, 0x6a, 0x7f, 0xf2, 0x6b, 0x13, + 0x7a, 0x55, 0x0a, 0xfa, 0x14, 0xba, 0x92, 0x71, 0x9a, 0x12, 0xd7, 0xcb, 0x70, 0x4d, 0x5d, 0xff, + 0xcc, 0x20, 0x4e, 0x1b, 0xa1, 0xc3, 0xa2, 0x43, 0xe8, 0x98, 0x0b, 0xe2, 0x9a, 0xd9, 0x5d, 0x97, + 0xf4, 0x4c, 0x03, 0x4e, 0x1b, 0xa1, 0x45, 0x0e, 0x3f, 0x87, 0xae, 0x2d, 0x83, 0x02, 0x68, 0xeb, + 0x3e, 0x0d, 0xe1, 0xf6, 0xd1, 0x5e, 0x95, 0x5b, 0x1d, 0x16, 0xf7, 0x5f, 0x74, 0x9d, 0xd0, 0x00, + 0x87, 0x3f, 0x79, 0xd0, 0x31, 0xd5, 0xd0, 0x09, 0xf4, 0x62, 0xa6, 0x70, 0x9e, 0xe3, 0x4a, 0xbb, + 0x8f, 0x4c, 0xba, 0xbd, 0x70, 0x7e, 0x7d, 0xd5, 0xae, 0x0e, 0xfd, 0x13, 0x91, 0x2d, 0x71, 0xa2, + 0x66, 0x4c, 0x1d, 0x6b, 0x78, 0x58, 0x27, 0xa2, 0x23, 0x80, 0x5a, 0x4d, 0xbd, 0x7a, 0xad, 0x37, + 0xc9, 0xd9, 0xaf, 0xe4, 0x94, 0xb3, 0x0e, 0xb4, 0x64, 0x91, 0x4d, 0x5e, 0x7a, 0xd0, 0x7a, 0x42, + 0x08, 0xfa, 0x0e, 0xba, 0x38, 0x13, 0x05, 0x57, 0x6e, 0xa8, 0xec, 0x5d, 0xd3, 0x07, 0xd4, 0x52, + 0x33, 0x3e, 0xfb, 0xf8, 0xd5, 0xef, 0xfb, 0x8d, 0x97, 0x7f, 0xec, 0x7f, 0x40, 0x99, 0x5a, 0x14, + 0xb1, 0x9f, 0x88, 0x2c, 0x48, 0x19, 0x27, 0x41, 0x1a, 0x67, 0x9f, 0xc8, 0xf9, 0x65, 0xa0, 0xca, + 0x25, 0x91, 0x06, 0x2b, 0x43, 0x57, 0x0d, 0xed, 0x41, 0x9f, 0x62, 0x19, 0xa5, 0x2c, 0x63, 0xca, + 0x68, 0xdb, 0x0e, 0x7b, 0x14, 0xcb, 0x6f, 0xb4, 0x8f, 0x76, 0xa0, 0xb3, 0xc4, 0x25, 0xc9, 0xdd, + 0x31, 0xb0, 0x0e, 0x1a, 0xc0, 0x06, 0xcd, 0x31, 0x57, 0x24, 0x1f, 0xb4, 0xed, 0x91, 0x70, 0xee, + 0xec, 0x8b, 0x57, 0xd7, 0x23, 0xef, 0xf5, 0xf5, 0xc8, 0xfb, 0xf3, 0x7a, 0xe4, 0xbd, 0xb8, 0x19, + 0x35, 0x5e, 0xdf, 0x8c, 0x1a, 0xbf, 0xdd, 0x8c, 0x1a, 0xcf, 0xc7, 0x77, 0xf6, 0x14, 0xa8, 0x55, + 0xdc, 0x35, 0xa3, 0xf8, 0xf8, 0xef, 0x00, 0x00, 0x00, 0xff, 0xff, 0x34, 0x82, 0xea, 0x2b, 0x75, + 0x06, 0x00, 0x00, } func (m *Tx) Marshal() (dAtA []byte, err error) { @@ -1015,19 +1016,14 @@ func (m *TxBody) MarshalToSizedBuffer(dAtA []byte) (int, error) { if m.TimeoutHeight != 0 { i = encodeVarintTx(dAtA, i, uint64(m.TimeoutHeight)) i-- - dAtA[i] = 0x20 + dAtA[i] = 0x18 } if len(m.Memo) > 0 { i -= len(m.Memo) copy(dAtA[i:], m.Memo) i = encodeVarintTx(dAtA, i, uint64(len(m.Memo))) i-- - dAtA[i] = 0x1a - } - if m.SigBlockHeight != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.SigBlockHeight)) - i-- - dAtA[i] = 0x10 + dAtA[i] = 0x12 } if len(m.Messages) > 0 { for iNdEx := len(m.Messages) - 1; iNdEx >= 0; iNdEx-- { @@ -1066,6 +1062,11 @@ func (m *AuthInfo) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + if m.SigBlockHeight != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.SigBlockHeight)) + i-- + dAtA[i] = 0x18 + } if m.Fee != nil { { size, err := m.Fee.MarshalToSizedBuffer(dAtA[:i]) @@ -1444,9 +1445,6 @@ func (m *TxBody) Size() (n int) { n += 1 + l + sovTx(uint64(l)) } } - if m.SigBlockHeight != 0 { - n += 1 + sovTx(uint64(m.SigBlockHeight)) - } l = len(m.Memo) if l > 0 { n += 1 + l + sovTx(uint64(l)) @@ -1485,6 +1483,9 @@ func (m *AuthInfo) Size() (n int) { l = m.Fee.Size() n += 1 + l + sovTx(uint64(l)) } + if m.SigBlockHeight != 0 { + n += 1 + sovTx(uint64(m.SigBlockHeight)) + } return n } @@ -2125,25 +2126,6 @@ func (m *TxBody) Unmarshal(dAtA []byte) error { } iNdEx = postIndex case 2: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field SigBlockHeight", wireType) - } - m.SigBlockHeight = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.SigBlockHeight |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 3: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field Memo", wireType) } @@ -2175,7 +2157,7 @@ func (m *TxBody) Unmarshal(dAtA []byte) error { } m.Memo = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 4: + case 3: if wireType != 0 { return fmt.Errorf("proto: wrong wireType = %d for field TimeoutHeight", wireType) } @@ -2382,6 +2364,25 @@ func (m *AuthInfo) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field SigBlockHeight", wireType) + } + m.SigBlockHeight = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.SigBlockHeight |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) diff --git a/types/tx/types.go b/types/tx/types.go index 5dcc91b256..57b70e5545 100644 --- a/types/tx/types.go +++ b/types/tx/types.go @@ -144,7 +144,7 @@ func (t *Tx) UnpackInterfaces(unpacker codectypes.AnyUnpacker) error { } func (t *Tx) GetSigBlockHeight() uint64 { - return t.Body.SigBlockHeight + return t.AuthInfo.SigBlockHeight } // UnpackInterfaces implements the UnpackInterfaceMessages.UnpackInterfaces method diff --git a/x/auth/tx/builder.go b/x/auth/tx/builder.go index 2f67639383..315475038d 100644 --- a/x/auth/tx/builder.go +++ b/x/auth/tx/builder.go @@ -146,7 +146,7 @@ func (w *wrapper) FeeGranter() sdk.AccAddress { } func (w *wrapper) GetSigBlockHeight() uint64 { - return w.tx.Body.SigBlockHeight + return w.tx.AuthInfo.SigBlockHeight } func (w *wrapper) GetMemo() string { @@ -229,7 +229,7 @@ func (w *wrapper) SetMemo(memo string) { } func (w *wrapper) SetSigBlockHeight(sbh uint64) { - w.tx.Body.SigBlockHeight = sbh + w.tx.AuthInfo.SigBlockHeight = sbh } func (w *wrapper) SetGasLimit(limit uint64) {