You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

15036 lines
365 KiB

7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
abci: Refactor tagging events using list of lists (#3643) ## PR This PR introduces a fundamental breaking change to the structure of ABCI response and tx tags and the way they're processed. Namely, the SDK can support more complex and aggregated events for distribution and slashing. In addition, block responses can include duplicate keys in events. Implement new Event type. An event has a type and a list of KV pairs (ie. list-of-lists). Typical events may look like: "rewards": [{"amount": "5000uatom", "validator": "...", "recipient": "..."}] "sender": [{"address": "...", "balance": "100uatom"}] The events are indexed by {even.type}.{even.attribute[i].key}/.... In this case a client would subscribe or query for rewards.recipient='...' ABCI response types and related types now include Events []Event instead of Tags []cmn.KVPair. PubSub logic now publishes/matches against map[string][]string instead of map[string]string to support duplicate keys in response events (from #1385). A match is successful if the value is found in the slice of strings. closes: #1859 closes: #2905 ## Commits: * Implement Event ABCI type and updates responses to use events * Update messages_test.go * Update kvstore.go * Update event_bus.go * Update subscription.go * Update pubsub.go * Update kvstore.go * Update query logic to handle slice of strings in events * Update Empty#Matches and unit tests * Update pubsub logic * Update EventBus#Publish * Update kv tx indexer * Update godocs * Update ResultEvent to use slice of strings; update RPC * Update more tests * Update abci.md * Check for key in validateAndStringifyEvents * Fix KV indexer to skip empty keys * Fix linting errors * Update CHANGELOG_PENDING.md * Update docs/spec/abci/abci.md Co-Authored-By: Federico Kunze <31522760+fedekunze@users.noreply.github.com> * Update abci/types/types.proto Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update docs/spec/abci/abci.md Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update libs/pubsub/query/query.go Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update match function to match if ANY value matches * Implement TestSubscribeDuplicateKeys * Update TestMatches to include multi-key test cases * Update events.go * Update Query interface godoc * Update match godoc * Add godoc for matchValue * DRY-up tx indexing * Return error from PublishWithEvents in EventBus#Publish * Update PublishEventNewBlockHeader to return an error * Fix build * Update events doc in ABCI * Update ABCI events godoc * Implement TestEventBusPublishEventTxDuplicateKeys * Update TestSubscribeDuplicateKeys to be table-driven * Remove mod file * Remove markdown from events godoc * Implement TestTxSearchDeprecatedIndexing test
5 years ago
abci: Refactor tagging events using list of lists (#3643) ## PR This PR introduces a fundamental breaking change to the structure of ABCI response and tx tags and the way they're processed. Namely, the SDK can support more complex and aggregated events for distribution and slashing. In addition, block responses can include duplicate keys in events. Implement new Event type. An event has a type and a list of KV pairs (ie. list-of-lists). Typical events may look like: "rewards": [{"amount": "5000uatom", "validator": "...", "recipient": "..."}] "sender": [{"address": "...", "balance": "100uatom"}] The events are indexed by {even.type}.{even.attribute[i].key}/.... In this case a client would subscribe or query for rewards.recipient='...' ABCI response types and related types now include Events []Event instead of Tags []cmn.KVPair. PubSub logic now publishes/matches against map[string][]string instead of map[string]string to support duplicate keys in response events (from #1385). A match is successful if the value is found in the slice of strings. closes: #1859 closes: #2905 ## Commits: * Implement Event ABCI type and updates responses to use events * Update messages_test.go * Update kvstore.go * Update event_bus.go * Update subscription.go * Update pubsub.go * Update kvstore.go * Update query logic to handle slice of strings in events * Update Empty#Matches and unit tests * Update pubsub logic * Update EventBus#Publish * Update kv tx indexer * Update godocs * Update ResultEvent to use slice of strings; update RPC * Update more tests * Update abci.md * Check for key in validateAndStringifyEvents * Fix KV indexer to skip empty keys * Fix linting errors * Update CHANGELOG_PENDING.md * Update docs/spec/abci/abci.md Co-Authored-By: Federico Kunze <31522760+fedekunze@users.noreply.github.com> * Update abci/types/types.proto Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update docs/spec/abci/abci.md Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update libs/pubsub/query/query.go Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update match function to match if ANY value matches * Implement TestSubscribeDuplicateKeys * Update TestMatches to include multi-key test cases * Update events.go * Update Query interface godoc * Update match godoc * Add godoc for matchValue * DRY-up tx indexing * Return error from PublishWithEvents in EventBus#Publish * Update PublishEventNewBlockHeader to return an error * Fix build * Update events doc in ABCI * Update ABCI events godoc * Implement TestEventBusPublishEventTxDuplicateKeys * Update TestSubscribeDuplicateKeys to be table-driven * Remove mod file * Remove markdown from events godoc * Implement TestTxSearchDeprecatedIndexing test
5 years ago
7 years ago
abci: Refactor tagging events using list of lists (#3643) ## PR This PR introduces a fundamental breaking change to the structure of ABCI response and tx tags and the way they're processed. Namely, the SDK can support more complex and aggregated events for distribution and slashing. In addition, block responses can include duplicate keys in events. Implement new Event type. An event has a type and a list of KV pairs (ie. list-of-lists). Typical events may look like: "rewards": [{"amount": "5000uatom", "validator": "...", "recipient": "..."}] "sender": [{"address": "...", "balance": "100uatom"}] The events are indexed by {even.type}.{even.attribute[i].key}/.... In this case a client would subscribe or query for rewards.recipient='...' ABCI response types and related types now include Events []Event instead of Tags []cmn.KVPair. PubSub logic now publishes/matches against map[string][]string instead of map[string]string to support duplicate keys in response events (from #1385). A match is successful if the value is found in the slice of strings. closes: #1859 closes: #2905 ## Commits: * Implement Event ABCI type and updates responses to use events * Update messages_test.go * Update kvstore.go * Update event_bus.go * Update subscription.go * Update pubsub.go * Update kvstore.go * Update query logic to handle slice of strings in events * Update Empty#Matches and unit tests * Update pubsub logic * Update EventBus#Publish * Update kv tx indexer * Update godocs * Update ResultEvent to use slice of strings; update RPC * Update more tests * Update abci.md * Check for key in validateAndStringifyEvents * Fix KV indexer to skip empty keys * Fix linting errors * Update CHANGELOG_PENDING.md * Update docs/spec/abci/abci.md Co-Authored-By: Federico Kunze <31522760+fedekunze@users.noreply.github.com> * Update abci/types/types.proto Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update docs/spec/abci/abci.md Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update libs/pubsub/query/query.go Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update match function to match if ANY value matches * Implement TestSubscribeDuplicateKeys * Update TestMatches to include multi-key test cases * Update events.go * Update Query interface godoc * Update match godoc * Add godoc for matchValue * DRY-up tx indexing * Return error from PublishWithEvents in EventBus#Publish * Update PublishEventNewBlockHeader to return an error * Fix build * Update events doc in ABCI * Update ABCI events godoc * Implement TestEventBusPublishEventTxDuplicateKeys * Update TestSubscribeDuplicateKeys to be table-driven * Remove mod file * Remove markdown from events godoc * Implement TestTxSearchDeprecatedIndexing test
5 years ago
abci: Refactor tagging events using list of lists (#3643) ## PR This PR introduces a fundamental breaking change to the structure of ABCI response and tx tags and the way they're processed. Namely, the SDK can support more complex and aggregated events for distribution and slashing. In addition, block responses can include duplicate keys in events. Implement new Event type. An event has a type and a list of KV pairs (ie. list-of-lists). Typical events may look like: "rewards": [{"amount": "5000uatom", "validator": "...", "recipient": "..."}] "sender": [{"address": "...", "balance": "100uatom"}] The events are indexed by {even.type}.{even.attribute[i].key}/.... In this case a client would subscribe or query for rewards.recipient='...' ABCI response types and related types now include Events []Event instead of Tags []cmn.KVPair. PubSub logic now publishes/matches against map[string][]string instead of map[string]string to support duplicate keys in response events (from #1385). A match is successful if the value is found in the slice of strings. closes: #1859 closes: #2905 ## Commits: * Implement Event ABCI type and updates responses to use events * Update messages_test.go * Update kvstore.go * Update event_bus.go * Update subscription.go * Update pubsub.go * Update kvstore.go * Update query logic to handle slice of strings in events * Update Empty#Matches and unit tests * Update pubsub logic * Update EventBus#Publish * Update kv tx indexer * Update godocs * Update ResultEvent to use slice of strings; update RPC * Update more tests * Update abci.md * Check for key in validateAndStringifyEvents * Fix KV indexer to skip empty keys * Fix linting errors * Update CHANGELOG_PENDING.md * Update docs/spec/abci/abci.md Co-Authored-By: Federico Kunze <31522760+fedekunze@users.noreply.github.com> * Update abci/types/types.proto Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update docs/spec/abci/abci.md Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update libs/pubsub/query/query.go Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update match function to match if ANY value matches * Implement TestSubscribeDuplicateKeys * Update TestMatches to include multi-key test cases * Update events.go * Update Query interface godoc * Update match godoc * Add godoc for matchValue * DRY-up tx indexing * Return error from PublishWithEvents in EventBus#Publish * Update PublishEventNewBlockHeader to return an error * Fix build * Update events doc in ABCI * Update ABCI events godoc * Implement TestEventBusPublishEventTxDuplicateKeys * Update TestSubscribeDuplicateKeys to be table-driven * Remove mod file * Remove markdown from events godoc * Implement TestTxSearchDeprecatedIndexing test
5 years ago
add support for block pruning via ABCI Commit response (#4588) * Added BlockStore.DeleteBlock() * Added initial block pruner prototype * wip * Added BlockStore.PruneBlocks() * Added consensus setting for block pruning * Added BlockStore base * Error on replay if base does not have blocks * Handle missing blocks when sending VoteSetMaj23Message * Error message tweak * Properly update blockstore state * Error message fix again * blockchain: ignore peer missing blocks * Added FIXME * Added test for block replay with truncated history * Handle peer base in blockchain reactor * Improved replay error handling * Added tests for Store.PruneBlocks() * Fix non-RPC handling of truncated block history * Panic on missing block meta in needProofBlock() * Updated changelog * Handle truncated block history in RPC layer * Added info about earliest block in /status RPC * Reorder height and base in blockchain reactor messages * Updated changelog * Fix tests * Appease linter * Minor review fixes * Non-empty BlockStores should always have base > 0 * Update code to assume base > 0 invariant * Added blockstore tests for pruning to 0 * Make sure we don't prune below the current base * Added BlockStore.Size() * config: added retain_blocks recommendations * Update v1 blockchain reactor to handle blockstore base * Added state database pruning * Propagate errors on missing validator sets * Comment tweaks * Improved error message Co-Authored-By: Anton Kaliaev <anton.kalyaev@gmail.com> * use ABCI field ResponseCommit.retain_height instead of retain-blocks config option * remove State.RetainHeight, return value instead * fix minor issues * rename pruneHeights() to pruneBlocks() * noop to fix GitHub borkage Co-authored-by: Anton Kaliaev <anton.kalyaev@gmail.com>
4 years ago
abci: Refactor tagging events using list of lists (#3643) ## PR This PR introduces a fundamental breaking change to the structure of ABCI response and tx tags and the way they're processed. Namely, the SDK can support more complex and aggregated events for distribution and slashing. In addition, block responses can include duplicate keys in events. Implement new Event type. An event has a type and a list of KV pairs (ie. list-of-lists). Typical events may look like: "rewards": [{"amount": "5000uatom", "validator": "...", "recipient": "..."}] "sender": [{"address": "...", "balance": "100uatom"}] The events are indexed by {even.type}.{even.attribute[i].key}/.... In this case a client would subscribe or query for rewards.recipient='...' ABCI response types and related types now include Events []Event instead of Tags []cmn.KVPair. PubSub logic now publishes/matches against map[string][]string instead of map[string]string to support duplicate keys in response events (from #1385). A match is successful if the value is found in the slice of strings. closes: #1859 closes: #2905 ## Commits: * Implement Event ABCI type and updates responses to use events * Update messages_test.go * Update kvstore.go * Update event_bus.go * Update subscription.go * Update pubsub.go * Update kvstore.go * Update query logic to handle slice of strings in events * Update Empty#Matches and unit tests * Update pubsub logic * Update EventBus#Publish * Update kv tx indexer * Update godocs * Update ResultEvent to use slice of strings; update RPC * Update more tests * Update abci.md * Check for key in validateAndStringifyEvents * Fix KV indexer to skip empty keys * Fix linting errors * Update CHANGELOG_PENDING.md * Update docs/spec/abci/abci.md Co-Authored-By: Federico Kunze <31522760+fedekunze@users.noreply.github.com> * Update abci/types/types.proto Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update docs/spec/abci/abci.md Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update libs/pubsub/query/query.go Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update match function to match if ANY value matches * Implement TestSubscribeDuplicateKeys * Update TestMatches to include multi-key test cases * Update events.go * Update Query interface godoc * Update match godoc * Add godoc for matchValue * DRY-up tx indexing * Return error from PublishWithEvents in EventBus#Publish * Update PublishEventNewBlockHeader to return an error * Fix build * Update events doc in ABCI * Update ABCI events godoc * Implement TestEventBusPublishEventTxDuplicateKeys * Update TestSubscribeDuplicateKeys to be table-driven * Remove mod file * Remove markdown from events godoc * Implement TestTxSearchDeprecatedIndexing test
5 years ago
abci: Refactor tagging events using list of lists (#3643) ## PR This PR introduces a fundamental breaking change to the structure of ABCI response and tx tags and the way they're processed. Namely, the SDK can support more complex and aggregated events for distribution and slashing. In addition, block responses can include duplicate keys in events. Implement new Event type. An event has a type and a list of KV pairs (ie. list-of-lists). Typical events may look like: "rewards": [{"amount": "5000uatom", "validator": "...", "recipient": "..."}] "sender": [{"address": "...", "balance": "100uatom"}] The events are indexed by {even.type}.{even.attribute[i].key}/.... In this case a client would subscribe or query for rewards.recipient='...' ABCI response types and related types now include Events []Event instead of Tags []cmn.KVPair. PubSub logic now publishes/matches against map[string][]string instead of map[string]string to support duplicate keys in response events (from #1385). A match is successful if the value is found in the slice of strings. closes: #1859 closes: #2905 ## Commits: * Implement Event ABCI type and updates responses to use events * Update messages_test.go * Update kvstore.go * Update event_bus.go * Update subscription.go * Update pubsub.go * Update kvstore.go * Update query logic to handle slice of strings in events * Update Empty#Matches and unit tests * Update pubsub logic * Update EventBus#Publish * Update kv tx indexer * Update godocs * Update ResultEvent to use slice of strings; update RPC * Update more tests * Update abci.md * Check for key in validateAndStringifyEvents * Fix KV indexer to skip empty keys * Fix linting errors * Update CHANGELOG_PENDING.md * Update docs/spec/abci/abci.md Co-Authored-By: Federico Kunze <31522760+fedekunze@users.noreply.github.com> * Update abci/types/types.proto Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update docs/spec/abci/abci.md Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update libs/pubsub/query/query.go Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update match function to match if ANY value matches * Implement TestSubscribeDuplicateKeys * Update TestMatches to include multi-key test cases * Update events.go * Update Query interface godoc * Update match godoc * Add godoc for matchValue * DRY-up tx indexing * Return error from PublishWithEvents in EventBus#Publish * Update PublishEventNewBlockHeader to return an error * Fix build * Update events doc in ABCI * Update ABCI events godoc * Implement TestEventBusPublishEventTxDuplicateKeys * Update TestSubscribeDuplicateKeys to be table-driven * Remove mod file * Remove markdown from events godoc * Implement TestTxSearchDeprecatedIndexing test
5 years ago
abci: Refactor tagging events using list of lists (#3643) ## PR This PR introduces a fundamental breaking change to the structure of ABCI response and tx tags and the way they're processed. Namely, the SDK can support more complex and aggregated events for distribution and slashing. In addition, block responses can include duplicate keys in events. Implement new Event type. An event has a type and a list of KV pairs (ie. list-of-lists). Typical events may look like: "rewards": [{"amount": "5000uatom", "validator": "...", "recipient": "..."}] "sender": [{"address": "...", "balance": "100uatom"}] The events are indexed by {even.type}.{even.attribute[i].key}/.... In this case a client would subscribe or query for rewards.recipient='...' ABCI response types and related types now include Events []Event instead of Tags []cmn.KVPair. PubSub logic now publishes/matches against map[string][]string instead of map[string]string to support duplicate keys in response events (from #1385). A match is successful if the value is found in the slice of strings. closes: #1859 closes: #2905 ## Commits: * Implement Event ABCI type and updates responses to use events * Update messages_test.go * Update kvstore.go * Update event_bus.go * Update subscription.go * Update pubsub.go * Update kvstore.go * Update query logic to handle slice of strings in events * Update Empty#Matches and unit tests * Update pubsub logic * Update EventBus#Publish * Update kv tx indexer * Update godocs * Update ResultEvent to use slice of strings; update RPC * Update more tests * Update abci.md * Check for key in validateAndStringifyEvents * Fix KV indexer to skip empty keys * Fix linting errors * Update CHANGELOG_PENDING.md * Update docs/spec/abci/abci.md Co-Authored-By: Federico Kunze <31522760+fedekunze@users.noreply.github.com> * Update abci/types/types.proto Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update docs/spec/abci/abci.md Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update libs/pubsub/query/query.go Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update match function to match if ANY value matches * Implement TestSubscribeDuplicateKeys * Update TestMatches to include multi-key test cases * Update events.go * Update Query interface godoc * Update match godoc * Add godoc for matchValue * DRY-up tx indexing * Return error from PublishWithEvents in EventBus#Publish * Update PublishEventNewBlockHeader to return an error * Fix build * Update events doc in ABCI * Update ABCI events godoc * Implement TestEventBusPublishEventTxDuplicateKeys * Update TestSubscribeDuplicateKeys to be table-driven * Remove mod file * Remove markdown from events godoc * Implement TestTxSearchDeprecatedIndexing test
5 years ago
abci: Refactor tagging events using list of lists (#3643) ## PR This PR introduces a fundamental breaking change to the structure of ABCI response and tx tags and the way they're processed. Namely, the SDK can support more complex and aggregated events for distribution and slashing. In addition, block responses can include duplicate keys in events. Implement new Event type. An event has a type and a list of KV pairs (ie. list-of-lists). Typical events may look like: "rewards": [{"amount": "5000uatom", "validator": "...", "recipient": "..."}] "sender": [{"address": "...", "balance": "100uatom"}] The events are indexed by {even.type}.{even.attribute[i].key}/.... In this case a client would subscribe or query for rewards.recipient='...' ABCI response types and related types now include Events []Event instead of Tags []cmn.KVPair. PubSub logic now publishes/matches against map[string][]string instead of map[string]string to support duplicate keys in response events (from #1385). A match is successful if the value is found in the slice of strings. closes: #1859 closes: #2905 ## Commits: * Implement Event ABCI type and updates responses to use events * Update messages_test.go * Update kvstore.go * Update event_bus.go * Update subscription.go * Update pubsub.go * Update kvstore.go * Update query logic to handle slice of strings in events * Update Empty#Matches and unit tests * Update pubsub logic * Update EventBus#Publish * Update kv tx indexer * Update godocs * Update ResultEvent to use slice of strings; update RPC * Update more tests * Update abci.md * Check for key in validateAndStringifyEvents * Fix KV indexer to skip empty keys * Fix linting errors * Update CHANGELOG_PENDING.md * Update docs/spec/abci/abci.md Co-Authored-By: Federico Kunze <31522760+fedekunze@users.noreply.github.com> * Update abci/types/types.proto Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update docs/spec/abci/abci.md Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update libs/pubsub/query/query.go Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update match function to match if ANY value matches * Implement TestSubscribeDuplicateKeys * Update TestMatches to include multi-key test cases * Update events.go * Update Query interface godoc * Update match godoc * Add godoc for matchValue * DRY-up tx indexing * Return error from PublishWithEvents in EventBus#Publish * Update PublishEventNewBlockHeader to return an error * Fix build * Update events doc in ABCI * Update ABCI events godoc * Implement TestEventBusPublishEventTxDuplicateKeys * Update TestSubscribeDuplicateKeys to be table-driven * Remove mod file * Remove markdown from events godoc * Implement TestTxSearchDeprecatedIndexing test
5 years ago
abci: Refactor tagging events using list of lists (#3643) ## PR This PR introduces a fundamental breaking change to the structure of ABCI response and tx tags and the way they're processed. Namely, the SDK can support more complex and aggregated events for distribution and slashing. In addition, block responses can include duplicate keys in events. Implement new Event type. An event has a type and a list of KV pairs (ie. list-of-lists). Typical events may look like: "rewards": [{"amount": "5000uatom", "validator": "...", "recipient": "..."}] "sender": [{"address": "...", "balance": "100uatom"}] The events are indexed by {even.type}.{even.attribute[i].key}/.... In this case a client would subscribe or query for rewards.recipient='...' ABCI response types and related types now include Events []Event instead of Tags []cmn.KVPair. PubSub logic now publishes/matches against map[string][]string instead of map[string]string to support duplicate keys in response events (from #1385). A match is successful if the value is found in the slice of strings. closes: #1859 closes: #2905 ## Commits: * Implement Event ABCI type and updates responses to use events * Update messages_test.go * Update kvstore.go * Update event_bus.go * Update subscription.go * Update pubsub.go * Update kvstore.go * Update query logic to handle slice of strings in events * Update Empty#Matches and unit tests * Update pubsub logic * Update EventBus#Publish * Update kv tx indexer * Update godocs * Update ResultEvent to use slice of strings; update RPC * Update more tests * Update abci.md * Check for key in validateAndStringifyEvents * Fix KV indexer to skip empty keys * Fix linting errors * Update CHANGELOG_PENDING.md * Update docs/spec/abci/abci.md Co-Authored-By: Federico Kunze <31522760+fedekunze@users.noreply.github.com> * Update abci/types/types.proto Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update docs/spec/abci/abci.md Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update libs/pubsub/query/query.go Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update match function to match if ANY value matches * Implement TestSubscribeDuplicateKeys * Update TestMatches to include multi-key test cases * Update events.go * Update Query interface godoc * Update match godoc * Add godoc for matchValue * DRY-up tx indexing * Return error from PublishWithEvents in EventBus#Publish * Update PublishEventNewBlockHeader to return an error * Fix build * Update events doc in ABCI * Update ABCI events godoc * Implement TestEventBusPublishEventTxDuplicateKeys * Update TestSubscribeDuplicateKeys to be table-driven * Remove mod file * Remove markdown from events godoc * Implement TestTxSearchDeprecatedIndexing test
5 years ago
abci: Refactor tagging events using list of lists (#3643) ## PR This PR introduces a fundamental breaking change to the structure of ABCI response and tx tags and the way they're processed. Namely, the SDK can support more complex and aggregated events for distribution and slashing. In addition, block responses can include duplicate keys in events. Implement new Event type. An event has a type and a list of KV pairs (ie. list-of-lists). Typical events may look like: "rewards": [{"amount": "5000uatom", "validator": "...", "recipient": "..."}] "sender": [{"address": "...", "balance": "100uatom"}] The events are indexed by {even.type}.{even.attribute[i].key}/.... In this case a client would subscribe or query for rewards.recipient='...' ABCI response types and related types now include Events []Event instead of Tags []cmn.KVPair. PubSub logic now publishes/matches against map[string][]string instead of map[string]string to support duplicate keys in response events (from #1385). A match is successful if the value is found in the slice of strings. closes: #1859 closes: #2905 ## Commits: * Implement Event ABCI type and updates responses to use events * Update messages_test.go * Update kvstore.go * Update event_bus.go * Update subscription.go * Update pubsub.go * Update kvstore.go * Update query logic to handle slice of strings in events * Update Empty#Matches and unit tests * Update pubsub logic * Update EventBus#Publish * Update kv tx indexer * Update godocs * Update ResultEvent to use slice of strings; update RPC * Update more tests * Update abci.md * Check for key in validateAndStringifyEvents * Fix KV indexer to skip empty keys * Fix linting errors * Update CHANGELOG_PENDING.md * Update docs/spec/abci/abci.md Co-Authored-By: Federico Kunze <31522760+fedekunze@users.noreply.github.com> * Update abci/types/types.proto Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update docs/spec/abci/abci.md Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update libs/pubsub/query/query.go Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update match function to match if ANY value matches * Implement TestSubscribeDuplicateKeys * Update TestMatches to include multi-key test cases * Update events.go * Update Query interface godoc * Update match godoc * Add godoc for matchValue * DRY-up tx indexing * Return error from PublishWithEvents in EventBus#Publish * Update PublishEventNewBlockHeader to return an error * Fix build * Update events doc in ABCI * Update ABCI events godoc * Implement TestEventBusPublishEventTxDuplicateKeys * Update TestSubscribeDuplicateKeys to be table-driven * Remove mod file * Remove markdown from events godoc * Implement TestTxSearchDeprecatedIndexing test
5 years ago
abci: Refactor tagging events using list of lists (#3643) ## PR This PR introduces a fundamental breaking change to the structure of ABCI response and tx tags and the way they're processed. Namely, the SDK can support more complex and aggregated events for distribution and slashing. In addition, block responses can include duplicate keys in events. Implement new Event type. An event has a type and a list of KV pairs (ie. list-of-lists). Typical events may look like: "rewards": [{"amount": "5000uatom", "validator": "...", "recipient": "..."}] "sender": [{"address": "...", "balance": "100uatom"}] The events are indexed by {even.type}.{even.attribute[i].key}/.... In this case a client would subscribe or query for rewards.recipient='...' ABCI response types and related types now include Events []Event instead of Tags []cmn.KVPair. PubSub logic now publishes/matches against map[string][]string instead of map[string]string to support duplicate keys in response events (from #1385). A match is successful if the value is found in the slice of strings. closes: #1859 closes: #2905 ## Commits: * Implement Event ABCI type and updates responses to use events * Update messages_test.go * Update kvstore.go * Update event_bus.go * Update subscription.go * Update pubsub.go * Update kvstore.go * Update query logic to handle slice of strings in events * Update Empty#Matches and unit tests * Update pubsub logic * Update EventBus#Publish * Update kv tx indexer * Update godocs * Update ResultEvent to use slice of strings; update RPC * Update more tests * Update abci.md * Check for key in validateAndStringifyEvents * Fix KV indexer to skip empty keys * Fix linting errors * Update CHANGELOG_PENDING.md * Update docs/spec/abci/abci.md Co-Authored-By: Federico Kunze <31522760+fedekunze@users.noreply.github.com> * Update abci/types/types.proto Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update docs/spec/abci/abci.md Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update libs/pubsub/query/query.go Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update match function to match if ANY value matches * Implement TestSubscribeDuplicateKeys * Update TestMatches to include multi-key test cases * Update events.go * Update Query interface godoc * Update match godoc * Add godoc for matchValue * DRY-up tx indexing * Return error from PublishWithEvents in EventBus#Publish * Update PublishEventNewBlockHeader to return an error * Fix build * Update events doc in ABCI * Update ABCI events godoc * Implement TestEventBusPublishEventTxDuplicateKeys * Update TestSubscribeDuplicateKeys to be table-driven * Remove mod file * Remove markdown from events godoc * Implement TestTxSearchDeprecatedIndexing test
5 years ago
abci: Refactor tagging events using list of lists (#3643) ## PR This PR introduces a fundamental breaking change to the structure of ABCI response and tx tags and the way they're processed. Namely, the SDK can support more complex and aggregated events for distribution and slashing. In addition, block responses can include duplicate keys in events. Implement new Event type. An event has a type and a list of KV pairs (ie. list-of-lists). Typical events may look like: "rewards": [{"amount": "5000uatom", "validator": "...", "recipient": "..."}] "sender": [{"address": "...", "balance": "100uatom"}] The events are indexed by {even.type}.{even.attribute[i].key}/.... In this case a client would subscribe or query for rewards.recipient='...' ABCI response types and related types now include Events []Event instead of Tags []cmn.KVPair. PubSub logic now publishes/matches against map[string][]string instead of map[string]string to support duplicate keys in response events (from #1385). A match is successful if the value is found in the slice of strings. closes: #1859 closes: #2905 ## Commits: * Implement Event ABCI type and updates responses to use events * Update messages_test.go * Update kvstore.go * Update event_bus.go * Update subscription.go * Update pubsub.go * Update kvstore.go * Update query logic to handle slice of strings in events * Update Empty#Matches and unit tests * Update pubsub logic * Update EventBus#Publish * Update kv tx indexer * Update godocs * Update ResultEvent to use slice of strings; update RPC * Update more tests * Update abci.md * Check for key in validateAndStringifyEvents * Fix KV indexer to skip empty keys * Fix linting errors * Update CHANGELOG_PENDING.md * Update docs/spec/abci/abci.md Co-Authored-By: Federico Kunze <31522760+fedekunze@users.noreply.github.com> * Update abci/types/types.proto Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update docs/spec/abci/abci.md Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update libs/pubsub/query/query.go Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update match function to match if ANY value matches * Implement TestSubscribeDuplicateKeys * Update TestMatches to include multi-key test cases * Update events.go * Update Query interface godoc * Update match godoc * Add godoc for matchValue * DRY-up tx indexing * Return error from PublishWithEvents in EventBus#Publish * Update PublishEventNewBlockHeader to return an error * Fix build * Update events doc in ABCI * Update ABCI events godoc * Implement TestEventBusPublishEventTxDuplicateKeys * Update TestSubscribeDuplicateKeys to be table-driven * Remove mod file * Remove markdown from events godoc * Implement TestTxSearchDeprecatedIndexing test
5 years ago
abci: Refactor tagging events using list of lists (#3643) ## PR This PR introduces a fundamental breaking change to the structure of ABCI response and tx tags and the way they're processed. Namely, the SDK can support more complex and aggregated events for distribution and slashing. In addition, block responses can include duplicate keys in events. Implement new Event type. An event has a type and a list of KV pairs (ie. list-of-lists). Typical events may look like: "rewards": [{"amount": "5000uatom", "validator": "...", "recipient": "..."}] "sender": [{"address": "...", "balance": "100uatom"}] The events are indexed by {even.type}.{even.attribute[i].key}/.... In this case a client would subscribe or query for rewards.recipient='...' ABCI response types and related types now include Events []Event instead of Tags []cmn.KVPair. PubSub logic now publishes/matches against map[string][]string instead of map[string]string to support duplicate keys in response events (from #1385). A match is successful if the value is found in the slice of strings. closes: #1859 closes: #2905 ## Commits: * Implement Event ABCI type and updates responses to use events * Update messages_test.go * Update kvstore.go * Update event_bus.go * Update subscription.go * Update pubsub.go * Update kvstore.go * Update query logic to handle slice of strings in events * Update Empty#Matches and unit tests * Update pubsub logic * Update EventBus#Publish * Update kv tx indexer * Update godocs * Update ResultEvent to use slice of strings; update RPC * Update more tests * Update abci.md * Check for key in validateAndStringifyEvents * Fix KV indexer to skip empty keys * Fix linting errors * Update CHANGELOG_PENDING.md * Update docs/spec/abci/abci.md Co-Authored-By: Federico Kunze <31522760+fedekunze@users.noreply.github.com> * Update abci/types/types.proto Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update docs/spec/abci/abci.md Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update libs/pubsub/query/query.go Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update match function to match if ANY value matches * Implement TestSubscribeDuplicateKeys * Update TestMatches to include multi-key test cases * Update events.go * Update Query interface godoc * Update match godoc * Add godoc for matchValue * DRY-up tx indexing * Return error from PublishWithEvents in EventBus#Publish * Update PublishEventNewBlockHeader to return an error * Fix build * Update events doc in ABCI * Update ABCI events godoc * Implement TestEventBusPublishEventTxDuplicateKeys * Update TestSubscribeDuplicateKeys to be table-driven * Remove mod file * Remove markdown from events godoc * Implement TestTxSearchDeprecatedIndexing test
5 years ago
abci: Refactor tagging events using list of lists (#3643) ## PR This PR introduces a fundamental breaking change to the structure of ABCI response and tx tags and the way they're processed. Namely, the SDK can support more complex and aggregated events for distribution and slashing. In addition, block responses can include duplicate keys in events. Implement new Event type. An event has a type and a list of KV pairs (ie. list-of-lists). Typical events may look like: "rewards": [{"amount": "5000uatom", "validator": "...", "recipient": "..."}] "sender": [{"address": "...", "balance": "100uatom"}] The events are indexed by {even.type}.{even.attribute[i].key}/.... In this case a client would subscribe or query for rewards.recipient='...' ABCI response types and related types now include Events []Event instead of Tags []cmn.KVPair. PubSub logic now publishes/matches against map[string][]string instead of map[string]string to support duplicate keys in response events (from #1385). A match is successful if the value is found in the slice of strings. closes: #1859 closes: #2905 ## Commits: * Implement Event ABCI type and updates responses to use events * Update messages_test.go * Update kvstore.go * Update event_bus.go * Update subscription.go * Update pubsub.go * Update kvstore.go * Update query logic to handle slice of strings in events * Update Empty#Matches and unit tests * Update pubsub logic * Update EventBus#Publish * Update kv tx indexer * Update godocs * Update ResultEvent to use slice of strings; update RPC * Update more tests * Update abci.md * Check for key in validateAndStringifyEvents * Fix KV indexer to skip empty keys * Fix linting errors * Update CHANGELOG_PENDING.md * Update docs/spec/abci/abci.md Co-Authored-By: Federico Kunze <31522760+fedekunze@users.noreply.github.com> * Update abci/types/types.proto Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update docs/spec/abci/abci.md Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update libs/pubsub/query/query.go Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update match function to match if ANY value matches * Implement TestSubscribeDuplicateKeys * Update TestMatches to include multi-key test cases * Update events.go * Update Query interface godoc * Update match godoc * Add godoc for matchValue * DRY-up tx indexing * Return error from PublishWithEvents in EventBus#Publish * Update PublishEventNewBlockHeader to return an error * Fix build * Update events doc in ABCI * Update ABCI events godoc * Implement TestEventBusPublishEventTxDuplicateKeys * Update TestSubscribeDuplicateKeys to be table-driven * Remove mod file * Remove markdown from events godoc * Implement TestTxSearchDeprecatedIndexing test
5 years ago
abci: Refactor tagging events using list of lists (#3643) ## PR This PR introduces a fundamental breaking change to the structure of ABCI response and tx tags and the way they're processed. Namely, the SDK can support more complex and aggregated events for distribution and slashing. In addition, block responses can include duplicate keys in events. Implement new Event type. An event has a type and a list of KV pairs (ie. list-of-lists). Typical events may look like: "rewards": [{"amount": "5000uatom", "validator": "...", "recipient": "..."}] "sender": [{"address": "...", "balance": "100uatom"}] The events are indexed by {even.type}.{even.attribute[i].key}/.... In this case a client would subscribe or query for rewards.recipient='...' ABCI response types and related types now include Events []Event instead of Tags []cmn.KVPair. PubSub logic now publishes/matches against map[string][]string instead of map[string]string to support duplicate keys in response events (from #1385). A match is successful if the value is found in the slice of strings. closes: #1859 closes: #2905 ## Commits: * Implement Event ABCI type and updates responses to use events * Update messages_test.go * Update kvstore.go * Update event_bus.go * Update subscription.go * Update pubsub.go * Update kvstore.go * Update query logic to handle slice of strings in events * Update Empty#Matches and unit tests * Update pubsub logic * Update EventBus#Publish * Update kv tx indexer * Update godocs * Update ResultEvent to use slice of strings; update RPC * Update more tests * Update abci.md * Check for key in validateAndStringifyEvents * Fix KV indexer to skip empty keys * Fix linting errors * Update CHANGELOG_PENDING.md * Update docs/spec/abci/abci.md Co-Authored-By: Federico Kunze <31522760+fedekunze@users.noreply.github.com> * Update abci/types/types.proto Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update docs/spec/abci/abci.md Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update libs/pubsub/query/query.go Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update match function to match if ANY value matches * Implement TestSubscribeDuplicateKeys * Update TestMatches to include multi-key test cases * Update events.go * Update Query interface godoc * Update match godoc * Add godoc for matchValue * DRY-up tx indexing * Return error from PublishWithEvents in EventBus#Publish * Update PublishEventNewBlockHeader to return an error * Fix build * Update events doc in ABCI * Update ABCI events godoc * Implement TestEventBusPublishEventTxDuplicateKeys * Update TestSubscribeDuplicateKeys to be table-driven * Remove mod file * Remove markdown from events godoc * Implement TestTxSearchDeprecatedIndexing test
5 years ago
abci: Refactor tagging events using list of lists (#3643) ## PR This PR introduces a fundamental breaking change to the structure of ABCI response and tx tags and the way they're processed. Namely, the SDK can support more complex and aggregated events for distribution and slashing. In addition, block responses can include duplicate keys in events. Implement new Event type. An event has a type and a list of KV pairs (ie. list-of-lists). Typical events may look like: "rewards": [{"amount": "5000uatom", "validator": "...", "recipient": "..."}] "sender": [{"address": "...", "balance": "100uatom"}] The events are indexed by {even.type}.{even.attribute[i].key}/.... In this case a client would subscribe or query for rewards.recipient='...' ABCI response types and related types now include Events []Event instead of Tags []cmn.KVPair. PubSub logic now publishes/matches against map[string][]string instead of map[string]string to support duplicate keys in response events (from #1385). A match is successful if the value is found in the slice of strings. closes: #1859 closes: #2905 ## Commits: * Implement Event ABCI type and updates responses to use events * Update messages_test.go * Update kvstore.go * Update event_bus.go * Update subscription.go * Update pubsub.go * Update kvstore.go * Update query logic to handle slice of strings in events * Update Empty#Matches and unit tests * Update pubsub logic * Update EventBus#Publish * Update kv tx indexer * Update godocs * Update ResultEvent to use slice of strings; update RPC * Update more tests * Update abci.md * Check for key in validateAndStringifyEvents * Fix KV indexer to skip empty keys * Fix linting errors * Update CHANGELOG_PENDING.md * Update docs/spec/abci/abci.md Co-Authored-By: Federico Kunze <31522760+fedekunze@users.noreply.github.com> * Update abci/types/types.proto Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update docs/spec/abci/abci.md Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update libs/pubsub/query/query.go Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update match function to match if ANY value matches * Implement TestSubscribeDuplicateKeys * Update TestMatches to include multi-key test cases * Update events.go * Update Query interface godoc * Update match godoc * Add godoc for matchValue * DRY-up tx indexing * Return error from PublishWithEvents in EventBus#Publish * Update PublishEventNewBlockHeader to return an error * Fix build * Update events doc in ABCI * Update ABCI events godoc * Implement TestEventBusPublishEventTxDuplicateKeys * Update TestSubscribeDuplicateKeys to be table-driven * Remove mod file * Remove markdown from events godoc * Implement TestTxSearchDeprecatedIndexing test
5 years ago
abci: Refactor tagging events using list of lists (#3643) ## PR This PR introduces a fundamental breaking change to the structure of ABCI response and tx tags and the way they're processed. Namely, the SDK can support more complex and aggregated events for distribution and slashing. In addition, block responses can include duplicate keys in events. Implement new Event type. An event has a type and a list of KV pairs (ie. list-of-lists). Typical events may look like: "rewards": [{"amount": "5000uatom", "validator": "...", "recipient": "..."}] "sender": [{"address": "...", "balance": "100uatom"}] The events are indexed by {even.type}.{even.attribute[i].key}/.... In this case a client would subscribe or query for rewards.recipient='...' ABCI response types and related types now include Events []Event instead of Tags []cmn.KVPair. PubSub logic now publishes/matches against map[string][]string instead of map[string]string to support duplicate keys in response events (from #1385). A match is successful if the value is found in the slice of strings. closes: #1859 closes: #2905 ## Commits: * Implement Event ABCI type and updates responses to use events * Update messages_test.go * Update kvstore.go * Update event_bus.go * Update subscription.go * Update pubsub.go * Update kvstore.go * Update query logic to handle slice of strings in events * Update Empty#Matches and unit tests * Update pubsub logic * Update EventBus#Publish * Update kv tx indexer * Update godocs * Update ResultEvent to use slice of strings; update RPC * Update more tests * Update abci.md * Check for key in validateAndStringifyEvents * Fix KV indexer to skip empty keys * Fix linting errors * Update CHANGELOG_PENDING.md * Update docs/spec/abci/abci.md Co-Authored-By: Federico Kunze <31522760+fedekunze@users.noreply.github.com> * Update abci/types/types.proto Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update docs/spec/abci/abci.md Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update libs/pubsub/query/query.go Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update match function to match if ANY value matches * Implement TestSubscribeDuplicateKeys * Update TestMatches to include multi-key test cases * Update events.go * Update Query interface godoc * Update match godoc * Add godoc for matchValue * DRY-up tx indexing * Return error from PublishWithEvents in EventBus#Publish * Update PublishEventNewBlockHeader to return an error * Fix build * Update events doc in ABCI * Update ABCI events godoc * Implement TestEventBusPublishEventTxDuplicateKeys * Update TestSubscribeDuplicateKeys to be table-driven * Remove mod file * Remove markdown from events godoc * Implement TestTxSearchDeprecatedIndexing test
5 years ago
abci: Refactor tagging events using list of lists (#3643) ## PR This PR introduces a fundamental breaking change to the structure of ABCI response and tx tags and the way they're processed. Namely, the SDK can support more complex and aggregated events for distribution and slashing. In addition, block responses can include duplicate keys in events. Implement new Event type. An event has a type and a list of KV pairs (ie. list-of-lists). Typical events may look like: "rewards": [{"amount": "5000uatom", "validator": "...", "recipient": "..."}] "sender": [{"address": "...", "balance": "100uatom"}] The events are indexed by {even.type}.{even.attribute[i].key}/.... In this case a client would subscribe or query for rewards.recipient='...' ABCI response types and related types now include Events []Event instead of Tags []cmn.KVPair. PubSub logic now publishes/matches against map[string][]string instead of map[string]string to support duplicate keys in response events (from #1385). A match is successful if the value is found in the slice of strings. closes: #1859 closes: #2905 ## Commits: * Implement Event ABCI type and updates responses to use events * Update messages_test.go * Update kvstore.go * Update event_bus.go * Update subscription.go * Update pubsub.go * Update kvstore.go * Update query logic to handle slice of strings in events * Update Empty#Matches and unit tests * Update pubsub logic * Update EventBus#Publish * Update kv tx indexer * Update godocs * Update ResultEvent to use slice of strings; update RPC * Update more tests * Update abci.md * Check for key in validateAndStringifyEvents * Fix KV indexer to skip empty keys * Fix linting errors * Update CHANGELOG_PENDING.md * Update docs/spec/abci/abci.md Co-Authored-By: Federico Kunze <31522760+fedekunze@users.noreply.github.com> * Update abci/types/types.proto Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update docs/spec/abci/abci.md Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update libs/pubsub/query/query.go Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update match function to match if ANY value matches * Implement TestSubscribeDuplicateKeys * Update TestMatches to include multi-key test cases * Update events.go * Update Query interface godoc * Update match godoc * Add godoc for matchValue * DRY-up tx indexing * Return error from PublishWithEvents in EventBus#Publish * Update PublishEventNewBlockHeader to return an error * Fix build * Update events doc in ABCI * Update ABCI events godoc * Implement TestEventBusPublishEventTxDuplicateKeys * Update TestSubscribeDuplicateKeys to be table-driven * Remove mod file * Remove markdown from events godoc * Implement TestTxSearchDeprecatedIndexing test
5 years ago
abci: Refactor tagging events using list of lists (#3643) ## PR This PR introduces a fundamental breaking change to the structure of ABCI response and tx tags and the way they're processed. Namely, the SDK can support more complex and aggregated events for distribution and slashing. In addition, block responses can include duplicate keys in events. Implement new Event type. An event has a type and a list of KV pairs (ie. list-of-lists). Typical events may look like: "rewards": [{"amount": "5000uatom", "validator": "...", "recipient": "..."}] "sender": [{"address": "...", "balance": "100uatom"}] The events are indexed by {even.type}.{even.attribute[i].key}/.... In this case a client would subscribe or query for rewards.recipient='...' ABCI response types and related types now include Events []Event instead of Tags []cmn.KVPair. PubSub logic now publishes/matches against map[string][]string instead of map[string]string to support duplicate keys in response events (from #1385). A match is successful if the value is found in the slice of strings. closes: #1859 closes: #2905 ## Commits: * Implement Event ABCI type and updates responses to use events * Update messages_test.go * Update kvstore.go * Update event_bus.go * Update subscription.go * Update pubsub.go * Update kvstore.go * Update query logic to handle slice of strings in events * Update Empty#Matches and unit tests * Update pubsub logic * Update EventBus#Publish * Update kv tx indexer * Update godocs * Update ResultEvent to use slice of strings; update RPC * Update more tests * Update abci.md * Check for key in validateAndStringifyEvents * Fix KV indexer to skip empty keys * Fix linting errors * Update CHANGELOG_PENDING.md * Update docs/spec/abci/abci.md Co-Authored-By: Federico Kunze <31522760+fedekunze@users.noreply.github.com> * Update abci/types/types.proto Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update docs/spec/abci/abci.md Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update libs/pubsub/query/query.go Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update match function to match if ANY value matches * Implement TestSubscribeDuplicateKeys * Update TestMatches to include multi-key test cases * Update events.go * Update Query interface godoc * Update match godoc * Add godoc for matchValue * DRY-up tx indexing * Return error from PublishWithEvents in EventBus#Publish * Update PublishEventNewBlockHeader to return an error * Fix build * Update events doc in ABCI * Update ABCI events godoc * Implement TestEventBusPublishEventTxDuplicateKeys * Update TestSubscribeDuplicateKeys to be table-driven * Remove mod file * Remove markdown from events godoc * Implement TestTxSearchDeprecatedIndexing test
5 years ago
abci: Refactor tagging events using list of lists (#3643) ## PR This PR introduces a fundamental breaking change to the structure of ABCI response and tx tags and the way they're processed. Namely, the SDK can support more complex and aggregated events for distribution and slashing. In addition, block responses can include duplicate keys in events. Implement new Event type. An event has a type and a list of KV pairs (ie. list-of-lists). Typical events may look like: "rewards": [{"amount": "5000uatom", "validator": "...", "recipient": "..."}] "sender": [{"address": "...", "balance": "100uatom"}] The events are indexed by {even.type}.{even.attribute[i].key}/.... In this case a client would subscribe or query for rewards.recipient='...' ABCI response types and related types now include Events []Event instead of Tags []cmn.KVPair. PubSub logic now publishes/matches against map[string][]string instead of map[string]string to support duplicate keys in response events (from #1385). A match is successful if the value is found in the slice of strings. closes: #1859 closes: #2905 ## Commits: * Implement Event ABCI type and updates responses to use events * Update messages_test.go * Update kvstore.go * Update event_bus.go * Update subscription.go * Update pubsub.go * Update kvstore.go * Update query logic to handle slice of strings in events * Update Empty#Matches and unit tests * Update pubsub logic * Update EventBus#Publish * Update kv tx indexer * Update godocs * Update ResultEvent to use slice of strings; update RPC * Update more tests * Update abci.md * Check for key in validateAndStringifyEvents * Fix KV indexer to skip empty keys * Fix linting errors * Update CHANGELOG_PENDING.md * Update docs/spec/abci/abci.md Co-Authored-By: Federico Kunze <31522760+fedekunze@users.noreply.github.com> * Update abci/types/types.proto Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update docs/spec/abci/abci.md Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update libs/pubsub/query/query.go Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update match function to match if ANY value matches * Implement TestSubscribeDuplicateKeys * Update TestMatches to include multi-key test cases * Update events.go * Update Query interface godoc * Update match godoc * Add godoc for matchValue * DRY-up tx indexing * Return error from PublishWithEvents in EventBus#Publish * Update PublishEventNewBlockHeader to return an error * Fix build * Update events doc in ABCI * Update ABCI events godoc * Implement TestEventBusPublishEventTxDuplicateKeys * Update TestSubscribeDuplicateKeys to be table-driven * Remove mod file * Remove markdown from events godoc * Implement TestTxSearchDeprecatedIndexing test
5 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
add support for block pruning via ABCI Commit response (#4588) * Added BlockStore.DeleteBlock() * Added initial block pruner prototype * wip * Added BlockStore.PruneBlocks() * Added consensus setting for block pruning * Added BlockStore base * Error on replay if base does not have blocks * Handle missing blocks when sending VoteSetMaj23Message * Error message tweak * Properly update blockstore state * Error message fix again * blockchain: ignore peer missing blocks * Added FIXME * Added test for block replay with truncated history * Handle peer base in blockchain reactor * Improved replay error handling * Added tests for Store.PruneBlocks() * Fix non-RPC handling of truncated block history * Panic on missing block meta in needProofBlock() * Updated changelog * Handle truncated block history in RPC layer * Added info about earliest block in /status RPC * Reorder height and base in blockchain reactor messages * Updated changelog * Fix tests * Appease linter * Minor review fixes * Non-empty BlockStores should always have base > 0 * Update code to assume base > 0 invariant * Added blockstore tests for pruning to 0 * Make sure we don't prune below the current base * Added BlockStore.Size() * config: added retain_blocks recommendations * Update v1 blockchain reactor to handle blockstore base * Added state database pruning * Propagate errors on missing validator sets * Comment tweaks * Improved error message Co-Authored-By: Anton Kaliaev <anton.kalyaev@gmail.com> * use ABCI field ResponseCommit.retain_height instead of retain-blocks config option * remove State.RetainHeight, return value instead * fix minor issues * rename pruneHeights() to pruneBlocks() * noop to fix GitHub borkage Co-authored-by: Anton Kaliaev <anton.kalyaev@gmail.com>
4 years ago
add support for block pruning via ABCI Commit response (#4588) * Added BlockStore.DeleteBlock() * Added initial block pruner prototype * wip * Added BlockStore.PruneBlocks() * Added consensus setting for block pruning * Added BlockStore base * Error on replay if base does not have blocks * Handle missing blocks when sending VoteSetMaj23Message * Error message tweak * Properly update blockstore state * Error message fix again * blockchain: ignore peer missing blocks * Added FIXME * Added test for block replay with truncated history * Handle peer base in blockchain reactor * Improved replay error handling * Added tests for Store.PruneBlocks() * Fix non-RPC handling of truncated block history * Panic on missing block meta in needProofBlock() * Updated changelog * Handle truncated block history in RPC layer * Added info about earliest block in /status RPC * Reorder height and base in blockchain reactor messages * Updated changelog * Fix tests * Appease linter * Minor review fixes * Non-empty BlockStores should always have base > 0 * Update code to assume base > 0 invariant * Added blockstore tests for pruning to 0 * Make sure we don't prune below the current base * Added BlockStore.Size() * config: added retain_blocks recommendations * Update v1 blockchain reactor to handle blockstore base * Added state database pruning * Propagate errors on missing validator sets * Comment tweaks * Improved error message Co-Authored-By: Anton Kaliaev <anton.kalyaev@gmail.com> * use ABCI field ResponseCommit.retain_height instead of retain-blocks config option * remove State.RetainHeight, return value instead * fix minor issues * rename pruneHeights() to pruneBlocks() * noop to fix GitHub borkage Co-authored-by: Anton Kaliaev <anton.kalyaev@gmail.com>
4 years ago
abci: Refactor tagging events using list of lists (#3643) ## PR This PR introduces a fundamental breaking change to the structure of ABCI response and tx tags and the way they're processed. Namely, the SDK can support more complex and aggregated events for distribution and slashing. In addition, block responses can include duplicate keys in events. Implement new Event type. An event has a type and a list of KV pairs (ie. list-of-lists). Typical events may look like: "rewards": [{"amount": "5000uatom", "validator": "...", "recipient": "..."}] "sender": [{"address": "...", "balance": "100uatom"}] The events are indexed by {even.type}.{even.attribute[i].key}/.... In this case a client would subscribe or query for rewards.recipient='...' ABCI response types and related types now include Events []Event instead of Tags []cmn.KVPair. PubSub logic now publishes/matches against map[string][]string instead of map[string]string to support duplicate keys in response events (from #1385). A match is successful if the value is found in the slice of strings. closes: #1859 closes: #2905 ## Commits: * Implement Event ABCI type and updates responses to use events * Update messages_test.go * Update kvstore.go * Update event_bus.go * Update subscription.go * Update pubsub.go * Update kvstore.go * Update query logic to handle slice of strings in events * Update Empty#Matches and unit tests * Update pubsub logic * Update EventBus#Publish * Update kv tx indexer * Update godocs * Update ResultEvent to use slice of strings; update RPC * Update more tests * Update abci.md * Check for key in validateAndStringifyEvents * Fix KV indexer to skip empty keys * Fix linting errors * Update CHANGELOG_PENDING.md * Update docs/spec/abci/abci.md Co-Authored-By: Federico Kunze <31522760+fedekunze@users.noreply.github.com> * Update abci/types/types.proto Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update docs/spec/abci/abci.md Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update libs/pubsub/query/query.go Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update match function to match if ANY value matches * Implement TestSubscribeDuplicateKeys * Update TestMatches to include multi-key test cases * Update events.go * Update Query interface godoc * Update match godoc * Add godoc for matchValue * DRY-up tx indexing * Return error from PublishWithEvents in EventBus#Publish * Update PublishEventNewBlockHeader to return an error * Fix build * Update events doc in ABCI * Update ABCI events godoc * Implement TestEventBusPublishEventTxDuplicateKeys * Update TestSubscribeDuplicateKeys to be table-driven * Remove mod file * Remove markdown from events godoc * Implement TestTxSearchDeprecatedIndexing test
5 years ago
abci: Refactor tagging events using list of lists (#3643) ## PR This PR introduces a fundamental breaking change to the structure of ABCI response and tx tags and the way they're processed. Namely, the SDK can support more complex and aggregated events for distribution and slashing. In addition, block responses can include duplicate keys in events. Implement new Event type. An event has a type and a list of KV pairs (ie. list-of-lists). Typical events may look like: "rewards": [{"amount": "5000uatom", "validator": "...", "recipient": "..."}] "sender": [{"address": "...", "balance": "100uatom"}] The events are indexed by {even.type}.{even.attribute[i].key}/.... In this case a client would subscribe or query for rewards.recipient='...' ABCI response types and related types now include Events []Event instead of Tags []cmn.KVPair. PubSub logic now publishes/matches against map[string][]string instead of map[string]string to support duplicate keys in response events (from #1385). A match is successful if the value is found in the slice of strings. closes: #1859 closes: #2905 ## Commits: * Implement Event ABCI type and updates responses to use events * Update messages_test.go * Update kvstore.go * Update event_bus.go * Update subscription.go * Update pubsub.go * Update kvstore.go * Update query logic to handle slice of strings in events * Update Empty#Matches and unit tests * Update pubsub logic * Update EventBus#Publish * Update kv tx indexer * Update godocs * Update ResultEvent to use slice of strings; update RPC * Update more tests * Update abci.md * Check for key in validateAndStringifyEvents * Fix KV indexer to skip empty keys * Fix linting errors * Update CHANGELOG_PENDING.md * Update docs/spec/abci/abci.md Co-Authored-By: Federico Kunze <31522760+fedekunze@users.noreply.github.com> * Update abci/types/types.proto Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update docs/spec/abci/abci.md Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update libs/pubsub/query/query.go Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update match function to match if ANY value matches * Implement TestSubscribeDuplicateKeys * Update TestMatches to include multi-key test cases * Update events.go * Update Query interface godoc * Update match godoc * Add godoc for matchValue * DRY-up tx indexing * Return error from PublishWithEvents in EventBus#Publish * Update PublishEventNewBlockHeader to return an error * Fix build * Update events doc in ABCI * Update ABCI events godoc * Implement TestEventBusPublishEventTxDuplicateKeys * Update TestSubscribeDuplicateKeys to be table-driven * Remove mod file * Remove markdown from events godoc * Implement TestTxSearchDeprecatedIndexing test
5 years ago
abci: Refactor tagging events using list of lists (#3643) ## PR This PR introduces a fundamental breaking change to the structure of ABCI response and tx tags and the way they're processed. Namely, the SDK can support more complex and aggregated events for distribution and slashing. In addition, block responses can include duplicate keys in events. Implement new Event type. An event has a type and a list of KV pairs (ie. list-of-lists). Typical events may look like: "rewards": [{"amount": "5000uatom", "validator": "...", "recipient": "..."}] "sender": [{"address": "...", "balance": "100uatom"}] The events are indexed by {even.type}.{even.attribute[i].key}/.... In this case a client would subscribe or query for rewards.recipient='...' ABCI response types and related types now include Events []Event instead of Tags []cmn.KVPair. PubSub logic now publishes/matches against map[string][]string instead of map[string]string to support duplicate keys in response events (from #1385). A match is successful if the value is found in the slice of strings. closes: #1859 closes: #2905 ## Commits: * Implement Event ABCI type and updates responses to use events * Update messages_test.go * Update kvstore.go * Update event_bus.go * Update subscription.go * Update pubsub.go * Update kvstore.go * Update query logic to handle slice of strings in events * Update Empty#Matches and unit tests * Update pubsub logic * Update EventBus#Publish * Update kv tx indexer * Update godocs * Update ResultEvent to use slice of strings; update RPC * Update more tests * Update abci.md * Check for key in validateAndStringifyEvents * Fix KV indexer to skip empty keys * Fix linting errors * Update CHANGELOG_PENDING.md * Update docs/spec/abci/abci.md Co-Authored-By: Federico Kunze <31522760+fedekunze@users.noreply.github.com> * Update abci/types/types.proto Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update docs/spec/abci/abci.md Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update libs/pubsub/query/query.go Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update match function to match if ANY value matches * Implement TestSubscribeDuplicateKeys * Update TestMatches to include multi-key test cases * Update events.go * Update Query interface godoc * Update match godoc * Add godoc for matchValue * DRY-up tx indexing * Return error from PublishWithEvents in EventBus#Publish * Update PublishEventNewBlockHeader to return an error * Fix build * Update events doc in ABCI * Update ABCI events godoc * Implement TestEventBusPublishEventTxDuplicateKeys * Update TestSubscribeDuplicateKeys to be table-driven * Remove mod file * Remove markdown from events godoc * Implement TestTxSearchDeprecatedIndexing test
5 years ago
abci: Refactor tagging events using list of lists (#3643) ## PR This PR introduces a fundamental breaking change to the structure of ABCI response and tx tags and the way they're processed. Namely, the SDK can support more complex and aggregated events for distribution and slashing. In addition, block responses can include duplicate keys in events. Implement new Event type. An event has a type and a list of KV pairs (ie. list-of-lists). Typical events may look like: "rewards": [{"amount": "5000uatom", "validator": "...", "recipient": "..."}] "sender": [{"address": "...", "balance": "100uatom"}] The events are indexed by {even.type}.{even.attribute[i].key}/.... In this case a client would subscribe or query for rewards.recipient='...' ABCI response types and related types now include Events []Event instead of Tags []cmn.KVPair. PubSub logic now publishes/matches against map[string][]string instead of map[string]string to support duplicate keys in response events (from #1385). A match is successful if the value is found in the slice of strings. closes: #1859 closes: #2905 ## Commits: * Implement Event ABCI type and updates responses to use events * Update messages_test.go * Update kvstore.go * Update event_bus.go * Update subscription.go * Update pubsub.go * Update kvstore.go * Update query logic to handle slice of strings in events * Update Empty#Matches and unit tests * Update pubsub logic * Update EventBus#Publish * Update kv tx indexer * Update godocs * Update ResultEvent to use slice of strings; update RPC * Update more tests * Update abci.md * Check for key in validateAndStringifyEvents * Fix KV indexer to skip empty keys * Fix linting errors * Update CHANGELOG_PENDING.md * Update docs/spec/abci/abci.md Co-Authored-By: Federico Kunze <31522760+fedekunze@users.noreply.github.com> * Update abci/types/types.proto Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update docs/spec/abci/abci.md Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update libs/pubsub/query/query.go Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update match function to match if ANY value matches * Implement TestSubscribeDuplicateKeys * Update TestMatches to include multi-key test cases * Update events.go * Update Query interface godoc * Update match godoc * Add godoc for matchValue * DRY-up tx indexing * Return error from PublishWithEvents in EventBus#Publish * Update PublishEventNewBlockHeader to return an error * Fix build * Update events doc in ABCI * Update ABCI events godoc * Implement TestEventBusPublishEventTxDuplicateKeys * Update TestSubscribeDuplicateKeys to be table-driven * Remove mod file * Remove markdown from events godoc * Implement TestTxSearchDeprecatedIndexing test
5 years ago
abci: Refactor tagging events using list of lists (#3643) ## PR This PR introduces a fundamental breaking change to the structure of ABCI response and tx tags and the way they're processed. Namely, the SDK can support more complex and aggregated events for distribution and slashing. In addition, block responses can include duplicate keys in events. Implement new Event type. An event has a type and a list of KV pairs (ie. list-of-lists). Typical events may look like: "rewards": [{"amount": "5000uatom", "validator": "...", "recipient": "..."}] "sender": [{"address": "...", "balance": "100uatom"}] The events are indexed by {even.type}.{even.attribute[i].key}/.... In this case a client would subscribe or query for rewards.recipient='...' ABCI response types and related types now include Events []Event instead of Tags []cmn.KVPair. PubSub logic now publishes/matches against map[string][]string instead of map[string]string to support duplicate keys in response events (from #1385). A match is successful if the value is found in the slice of strings. closes: #1859 closes: #2905 ## Commits: * Implement Event ABCI type and updates responses to use events * Update messages_test.go * Update kvstore.go * Update event_bus.go * Update subscription.go * Update pubsub.go * Update kvstore.go * Update query logic to handle slice of strings in events * Update Empty#Matches and unit tests * Update pubsub logic * Update EventBus#Publish * Update kv tx indexer * Update godocs * Update ResultEvent to use slice of strings; update RPC * Update more tests * Update abci.md * Check for key in validateAndStringifyEvents * Fix KV indexer to skip empty keys * Fix linting errors * Update CHANGELOG_PENDING.md * Update docs/spec/abci/abci.md Co-Authored-By: Federico Kunze <31522760+fedekunze@users.noreply.github.com> * Update abci/types/types.proto Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update docs/spec/abci/abci.md Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update libs/pubsub/query/query.go Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update match function to match if ANY value matches * Implement TestSubscribeDuplicateKeys * Update TestMatches to include multi-key test cases * Update events.go * Update Query interface godoc * Update match godoc * Add godoc for matchValue * DRY-up tx indexing * Return error from PublishWithEvents in EventBus#Publish * Update PublishEventNewBlockHeader to return an error * Fix build * Update events doc in ABCI * Update ABCI events godoc * Implement TestEventBusPublishEventTxDuplicateKeys * Update TestSubscribeDuplicateKeys to be table-driven * Remove mod file * Remove markdown from events godoc * Implement TestTxSearchDeprecatedIndexing test
5 years ago
abci: Refactor tagging events using list of lists (#3643) ## PR This PR introduces a fundamental breaking change to the structure of ABCI response and tx tags and the way they're processed. Namely, the SDK can support more complex and aggregated events for distribution and slashing. In addition, block responses can include duplicate keys in events. Implement new Event type. An event has a type and a list of KV pairs (ie. list-of-lists). Typical events may look like: "rewards": [{"amount": "5000uatom", "validator": "...", "recipient": "..."}] "sender": [{"address": "...", "balance": "100uatom"}] The events are indexed by {even.type}.{even.attribute[i].key}/.... In this case a client would subscribe or query for rewards.recipient='...' ABCI response types and related types now include Events []Event instead of Tags []cmn.KVPair. PubSub logic now publishes/matches against map[string][]string instead of map[string]string to support duplicate keys in response events (from #1385). A match is successful if the value is found in the slice of strings. closes: #1859 closes: #2905 ## Commits: * Implement Event ABCI type and updates responses to use events * Update messages_test.go * Update kvstore.go * Update event_bus.go * Update subscription.go * Update pubsub.go * Update kvstore.go * Update query logic to handle slice of strings in events * Update Empty#Matches and unit tests * Update pubsub logic * Update EventBus#Publish * Update kv tx indexer * Update godocs * Update ResultEvent to use slice of strings; update RPC * Update more tests * Update abci.md * Check for key in validateAndStringifyEvents * Fix KV indexer to skip empty keys * Fix linting errors * Update CHANGELOG_PENDING.md * Update docs/spec/abci/abci.md Co-Authored-By: Federico Kunze <31522760+fedekunze@users.noreply.github.com> * Update abci/types/types.proto Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update docs/spec/abci/abci.md Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update libs/pubsub/query/query.go Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update match function to match if ANY value matches * Implement TestSubscribeDuplicateKeys * Update TestMatches to include multi-key test cases * Update events.go * Update Query interface godoc * Update match godoc * Add godoc for matchValue * DRY-up tx indexing * Return error from PublishWithEvents in EventBus#Publish * Update PublishEventNewBlockHeader to return an error * Fix build * Update events doc in ABCI * Update ABCI events godoc * Implement TestEventBusPublishEventTxDuplicateKeys * Update TestSubscribeDuplicateKeys to be table-driven * Remove mod file * Remove markdown from events godoc * Implement TestTxSearchDeprecatedIndexing test
5 years ago
abci: Refactor tagging events using list of lists (#3643) ## PR This PR introduces a fundamental breaking change to the structure of ABCI response and tx tags and the way they're processed. Namely, the SDK can support more complex and aggregated events for distribution and slashing. In addition, block responses can include duplicate keys in events. Implement new Event type. An event has a type and a list of KV pairs (ie. list-of-lists). Typical events may look like: "rewards": [{"amount": "5000uatom", "validator": "...", "recipient": "..."}] "sender": [{"address": "...", "balance": "100uatom"}] The events are indexed by {even.type}.{even.attribute[i].key}/.... In this case a client would subscribe or query for rewards.recipient='...' ABCI response types and related types now include Events []Event instead of Tags []cmn.KVPair. PubSub logic now publishes/matches against map[string][]string instead of map[string]string to support duplicate keys in response events (from #1385). A match is successful if the value is found in the slice of strings. closes: #1859 closes: #2905 ## Commits: * Implement Event ABCI type and updates responses to use events * Update messages_test.go * Update kvstore.go * Update event_bus.go * Update subscription.go * Update pubsub.go * Update kvstore.go * Update query logic to handle slice of strings in events * Update Empty#Matches and unit tests * Update pubsub logic * Update EventBus#Publish * Update kv tx indexer * Update godocs * Update ResultEvent to use slice of strings; update RPC * Update more tests * Update abci.md * Check for key in validateAndStringifyEvents * Fix KV indexer to skip empty keys * Fix linting errors * Update CHANGELOG_PENDING.md * Update docs/spec/abci/abci.md Co-Authored-By: Federico Kunze <31522760+fedekunze@users.noreply.github.com> * Update abci/types/types.proto Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update docs/spec/abci/abci.md Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update libs/pubsub/query/query.go Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update match function to match if ANY value matches * Implement TestSubscribeDuplicateKeys * Update TestMatches to include multi-key test cases * Update events.go * Update Query interface godoc * Update match godoc * Add godoc for matchValue * DRY-up tx indexing * Return error from PublishWithEvents in EventBus#Publish * Update PublishEventNewBlockHeader to return an error * Fix build * Update events doc in ABCI * Update ABCI events godoc * Implement TestEventBusPublishEventTxDuplicateKeys * Update TestSubscribeDuplicateKeys to be table-driven * Remove mod file * Remove markdown from events godoc * Implement TestTxSearchDeprecatedIndexing test
5 years ago
abci: Refactor tagging events using list of lists (#3643) ## PR This PR introduces a fundamental breaking change to the structure of ABCI response and tx tags and the way they're processed. Namely, the SDK can support more complex and aggregated events for distribution and slashing. In addition, block responses can include duplicate keys in events. Implement new Event type. An event has a type and a list of KV pairs (ie. list-of-lists). Typical events may look like: "rewards": [{"amount": "5000uatom", "validator": "...", "recipient": "..."}] "sender": [{"address": "...", "balance": "100uatom"}] The events are indexed by {even.type}.{even.attribute[i].key}/.... In this case a client would subscribe or query for rewards.recipient='...' ABCI response types and related types now include Events []Event instead of Tags []cmn.KVPair. PubSub logic now publishes/matches against map[string][]string instead of map[string]string to support duplicate keys in response events (from #1385). A match is successful if the value is found in the slice of strings. closes: #1859 closes: #2905 ## Commits: * Implement Event ABCI type and updates responses to use events * Update messages_test.go * Update kvstore.go * Update event_bus.go * Update subscription.go * Update pubsub.go * Update kvstore.go * Update query logic to handle slice of strings in events * Update Empty#Matches and unit tests * Update pubsub logic * Update EventBus#Publish * Update kv tx indexer * Update godocs * Update ResultEvent to use slice of strings; update RPC * Update more tests * Update abci.md * Check for key in validateAndStringifyEvents * Fix KV indexer to skip empty keys * Fix linting errors * Update CHANGELOG_PENDING.md * Update docs/spec/abci/abci.md Co-Authored-By: Federico Kunze <31522760+fedekunze@users.noreply.github.com> * Update abci/types/types.proto Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update docs/spec/abci/abci.md Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update libs/pubsub/query/query.go Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update match function to match if ANY value matches * Implement TestSubscribeDuplicateKeys * Update TestMatches to include multi-key test cases * Update events.go * Update Query interface godoc * Update match godoc * Add godoc for matchValue * DRY-up tx indexing * Return error from PublishWithEvents in EventBus#Publish * Update PublishEventNewBlockHeader to return an error * Fix build * Update events doc in ABCI * Update ABCI events godoc * Implement TestEventBusPublishEventTxDuplicateKeys * Update TestSubscribeDuplicateKeys to be table-driven * Remove mod file * Remove markdown from events godoc * Implement TestTxSearchDeprecatedIndexing test
5 years ago
abci: Refactor tagging events using list of lists (#3643) ## PR This PR introduces a fundamental breaking change to the structure of ABCI response and tx tags and the way they're processed. Namely, the SDK can support more complex and aggregated events for distribution and slashing. In addition, block responses can include duplicate keys in events. Implement new Event type. An event has a type and a list of KV pairs (ie. list-of-lists). Typical events may look like: "rewards": [{"amount": "5000uatom", "validator": "...", "recipient": "..."}] "sender": [{"address": "...", "balance": "100uatom"}] The events are indexed by {even.type}.{even.attribute[i].key}/.... In this case a client would subscribe or query for rewards.recipient='...' ABCI response types and related types now include Events []Event instead of Tags []cmn.KVPair. PubSub logic now publishes/matches against map[string][]string instead of map[string]string to support duplicate keys in response events (from #1385). A match is successful if the value is found in the slice of strings. closes: #1859 closes: #2905 ## Commits: * Implement Event ABCI type and updates responses to use events * Update messages_test.go * Update kvstore.go * Update event_bus.go * Update subscription.go * Update pubsub.go * Update kvstore.go * Update query logic to handle slice of strings in events * Update Empty#Matches and unit tests * Update pubsub logic * Update EventBus#Publish * Update kv tx indexer * Update godocs * Update ResultEvent to use slice of strings; update RPC * Update more tests * Update abci.md * Check for key in validateAndStringifyEvents * Fix KV indexer to skip empty keys * Fix linting errors * Update CHANGELOG_PENDING.md * Update docs/spec/abci/abci.md Co-Authored-By: Federico Kunze <31522760+fedekunze@users.noreply.github.com> * Update abci/types/types.proto Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update docs/spec/abci/abci.md Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update libs/pubsub/query/query.go Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update match function to match if ANY value matches * Implement TestSubscribeDuplicateKeys * Update TestMatches to include multi-key test cases * Update events.go * Update Query interface godoc * Update match godoc * Add godoc for matchValue * DRY-up tx indexing * Return error from PublishWithEvents in EventBus#Publish * Update PublishEventNewBlockHeader to return an error * Fix build * Update events doc in ABCI * Update ABCI events godoc * Implement TestEventBusPublishEventTxDuplicateKeys * Update TestSubscribeDuplicateKeys to be table-driven * Remove mod file * Remove markdown from events godoc * Implement TestTxSearchDeprecatedIndexing test
5 years ago
add support for block pruning via ABCI Commit response (#4588) * Added BlockStore.DeleteBlock() * Added initial block pruner prototype * wip * Added BlockStore.PruneBlocks() * Added consensus setting for block pruning * Added BlockStore base * Error on replay if base does not have blocks * Handle missing blocks when sending VoteSetMaj23Message * Error message tweak * Properly update blockstore state * Error message fix again * blockchain: ignore peer missing blocks * Added FIXME * Added test for block replay with truncated history * Handle peer base in blockchain reactor * Improved replay error handling * Added tests for Store.PruneBlocks() * Fix non-RPC handling of truncated block history * Panic on missing block meta in needProofBlock() * Updated changelog * Handle truncated block history in RPC layer * Added info about earliest block in /status RPC * Reorder height and base in blockchain reactor messages * Updated changelog * Fix tests * Appease linter * Minor review fixes * Non-empty BlockStores should always have base > 0 * Update code to assume base > 0 invariant * Added blockstore tests for pruning to 0 * Make sure we don't prune below the current base * Added BlockStore.Size() * config: added retain_blocks recommendations * Update v1 blockchain reactor to handle blockstore base * Added state database pruning * Propagate errors on missing validator sets * Comment tweaks * Improved error message Co-Authored-By: Anton Kaliaev <anton.kalyaev@gmail.com> * use ABCI field ResponseCommit.retain_height instead of retain-blocks config option * remove State.RetainHeight, return value instead * fix minor issues * rename pruneHeights() to pruneBlocks() * noop to fix GitHub borkage Co-authored-by: Anton Kaliaev <anton.kalyaev@gmail.com>
4 years ago
add support for block pruning via ABCI Commit response (#4588) * Added BlockStore.DeleteBlock() * Added initial block pruner prototype * wip * Added BlockStore.PruneBlocks() * Added consensus setting for block pruning * Added BlockStore base * Error on replay if base does not have blocks * Handle missing blocks when sending VoteSetMaj23Message * Error message tweak * Properly update blockstore state * Error message fix again * blockchain: ignore peer missing blocks * Added FIXME * Added test for block replay with truncated history * Handle peer base in blockchain reactor * Improved replay error handling * Added tests for Store.PruneBlocks() * Fix non-RPC handling of truncated block history * Panic on missing block meta in needProofBlock() * Updated changelog * Handle truncated block history in RPC layer * Added info about earliest block in /status RPC * Reorder height and base in blockchain reactor messages * Updated changelog * Fix tests * Appease linter * Minor review fixes * Non-empty BlockStores should always have base > 0 * Update code to assume base > 0 invariant * Added blockstore tests for pruning to 0 * Make sure we don't prune below the current base * Added BlockStore.Size() * config: added retain_blocks recommendations * Update v1 blockchain reactor to handle blockstore base * Added state database pruning * Propagate errors on missing validator sets * Comment tweaks * Improved error message Co-Authored-By: Anton Kaliaev <anton.kalyaev@gmail.com> * use ABCI field ResponseCommit.retain_height instead of retain-blocks config option * remove State.RetainHeight, return value instead * fix minor issues * rename pruneHeights() to pruneBlocks() * noop to fix GitHub borkage Co-authored-by: Anton Kaliaev <anton.kalyaev@gmail.com>
4 years ago
abci: Refactor tagging events using list of lists (#3643) ## PR This PR introduces a fundamental breaking change to the structure of ABCI response and tx tags and the way they're processed. Namely, the SDK can support more complex and aggregated events for distribution and slashing. In addition, block responses can include duplicate keys in events. Implement new Event type. An event has a type and a list of KV pairs (ie. list-of-lists). Typical events may look like: "rewards": [{"amount": "5000uatom", "validator": "...", "recipient": "..."}] "sender": [{"address": "...", "balance": "100uatom"}] The events are indexed by {even.type}.{even.attribute[i].key}/.... In this case a client would subscribe or query for rewards.recipient='...' ABCI response types and related types now include Events []Event instead of Tags []cmn.KVPair. PubSub logic now publishes/matches against map[string][]string instead of map[string]string to support duplicate keys in response events (from #1385). A match is successful if the value is found in the slice of strings. closes: #1859 closes: #2905 ## Commits: * Implement Event ABCI type and updates responses to use events * Update messages_test.go * Update kvstore.go * Update event_bus.go * Update subscription.go * Update pubsub.go * Update kvstore.go * Update query logic to handle slice of strings in events * Update Empty#Matches and unit tests * Update pubsub logic * Update EventBus#Publish * Update kv tx indexer * Update godocs * Update ResultEvent to use slice of strings; update RPC * Update more tests * Update abci.md * Check for key in validateAndStringifyEvents * Fix KV indexer to skip empty keys * Fix linting errors * Update CHANGELOG_PENDING.md * Update docs/spec/abci/abci.md Co-Authored-By: Federico Kunze <31522760+fedekunze@users.noreply.github.com> * Update abci/types/types.proto Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update docs/spec/abci/abci.md Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update libs/pubsub/query/query.go Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update match function to match if ANY value matches * Implement TestSubscribeDuplicateKeys * Update TestMatches to include multi-key test cases * Update events.go * Update Query interface godoc * Update match godoc * Add godoc for matchValue * DRY-up tx indexing * Return error from PublishWithEvents in EventBus#Publish * Update PublishEventNewBlockHeader to return an error * Fix build * Update events doc in ABCI * Update ABCI events godoc * Implement TestEventBusPublishEventTxDuplicateKeys * Update TestSubscribeDuplicateKeys to be table-driven * Remove mod file * Remove markdown from events godoc * Implement TestTxSearchDeprecatedIndexing test
5 years ago
abci: Refactor tagging events using list of lists (#3643) ## PR This PR introduces a fundamental breaking change to the structure of ABCI response and tx tags and the way they're processed. Namely, the SDK can support more complex and aggregated events for distribution and slashing. In addition, block responses can include duplicate keys in events. Implement new Event type. An event has a type and a list of KV pairs (ie. list-of-lists). Typical events may look like: "rewards": [{"amount": "5000uatom", "validator": "...", "recipient": "..."}] "sender": [{"address": "...", "balance": "100uatom"}] The events are indexed by {even.type}.{even.attribute[i].key}/.... In this case a client would subscribe or query for rewards.recipient='...' ABCI response types and related types now include Events []Event instead of Tags []cmn.KVPair. PubSub logic now publishes/matches against map[string][]string instead of map[string]string to support duplicate keys in response events (from #1385). A match is successful if the value is found in the slice of strings. closes: #1859 closes: #2905 ## Commits: * Implement Event ABCI type and updates responses to use events * Update messages_test.go * Update kvstore.go * Update event_bus.go * Update subscription.go * Update pubsub.go * Update kvstore.go * Update query logic to handle slice of strings in events * Update Empty#Matches and unit tests * Update pubsub logic * Update EventBus#Publish * Update kv tx indexer * Update godocs * Update ResultEvent to use slice of strings; update RPC * Update more tests * Update abci.md * Check for key in validateAndStringifyEvents * Fix KV indexer to skip empty keys * Fix linting errors * Update CHANGELOG_PENDING.md * Update docs/spec/abci/abci.md Co-Authored-By: Federico Kunze <31522760+fedekunze@users.noreply.github.com> * Update abci/types/types.proto Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update docs/spec/abci/abci.md Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update libs/pubsub/query/query.go Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update match function to match if ANY value matches * Implement TestSubscribeDuplicateKeys * Update TestMatches to include multi-key test cases * Update events.go * Update Query interface godoc * Update match godoc * Add godoc for matchValue * DRY-up tx indexing * Return error from PublishWithEvents in EventBus#Publish * Update PublishEventNewBlockHeader to return an error * Fix build * Update events doc in ABCI * Update ABCI events godoc * Implement TestEventBusPublishEventTxDuplicateKeys * Update TestSubscribeDuplicateKeys to be table-driven * Remove mod file * Remove markdown from events godoc * Implement TestTxSearchDeprecatedIndexing test
5 years ago
abci: Refactor tagging events using list of lists (#3643) ## PR This PR introduces a fundamental breaking change to the structure of ABCI response and tx tags and the way they're processed. Namely, the SDK can support more complex and aggregated events for distribution and slashing. In addition, block responses can include duplicate keys in events. Implement new Event type. An event has a type and a list of KV pairs (ie. list-of-lists). Typical events may look like: "rewards": [{"amount": "5000uatom", "validator": "...", "recipient": "..."}] "sender": [{"address": "...", "balance": "100uatom"}] The events are indexed by {even.type}.{even.attribute[i].key}/.... In this case a client would subscribe or query for rewards.recipient='...' ABCI response types and related types now include Events []Event instead of Tags []cmn.KVPair. PubSub logic now publishes/matches against map[string][]string instead of map[string]string to support duplicate keys in response events (from #1385). A match is successful if the value is found in the slice of strings. closes: #1859 closes: #2905 ## Commits: * Implement Event ABCI type and updates responses to use events * Update messages_test.go * Update kvstore.go * Update event_bus.go * Update subscription.go * Update pubsub.go * Update kvstore.go * Update query logic to handle slice of strings in events * Update Empty#Matches and unit tests * Update pubsub logic * Update EventBus#Publish * Update kv tx indexer * Update godocs * Update ResultEvent to use slice of strings; update RPC * Update more tests * Update abci.md * Check for key in validateAndStringifyEvents * Fix KV indexer to skip empty keys * Fix linting errors * Update CHANGELOG_PENDING.md * Update docs/spec/abci/abci.md Co-Authored-By: Federico Kunze <31522760+fedekunze@users.noreply.github.com> * Update abci/types/types.proto Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update docs/spec/abci/abci.md Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update libs/pubsub/query/query.go Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update match function to match if ANY value matches * Implement TestSubscribeDuplicateKeys * Update TestMatches to include multi-key test cases * Update events.go * Update Query interface godoc * Update match godoc * Add godoc for matchValue * DRY-up tx indexing * Return error from PublishWithEvents in EventBus#Publish * Update PublishEventNewBlockHeader to return an error * Fix build * Update events doc in ABCI * Update ABCI events godoc * Implement TestEventBusPublishEventTxDuplicateKeys * Update TestSubscribeDuplicateKeys to be table-driven * Remove mod file * Remove markdown from events godoc * Implement TestTxSearchDeprecatedIndexing test
5 years ago
abci: Refactor tagging events using list of lists (#3643) ## PR This PR introduces a fundamental breaking change to the structure of ABCI response and tx tags and the way they're processed. Namely, the SDK can support more complex and aggregated events for distribution and slashing. In addition, block responses can include duplicate keys in events. Implement new Event type. An event has a type and a list of KV pairs (ie. list-of-lists). Typical events may look like: "rewards": [{"amount": "5000uatom", "validator": "...", "recipient": "..."}] "sender": [{"address": "...", "balance": "100uatom"}] The events are indexed by {even.type}.{even.attribute[i].key}/.... In this case a client would subscribe or query for rewards.recipient='...' ABCI response types and related types now include Events []Event instead of Tags []cmn.KVPair. PubSub logic now publishes/matches against map[string][]string instead of map[string]string to support duplicate keys in response events (from #1385). A match is successful if the value is found in the slice of strings. closes: #1859 closes: #2905 ## Commits: * Implement Event ABCI type and updates responses to use events * Update messages_test.go * Update kvstore.go * Update event_bus.go * Update subscription.go * Update pubsub.go * Update kvstore.go * Update query logic to handle slice of strings in events * Update Empty#Matches and unit tests * Update pubsub logic * Update EventBus#Publish * Update kv tx indexer * Update godocs * Update ResultEvent to use slice of strings; update RPC * Update more tests * Update abci.md * Check for key in validateAndStringifyEvents * Fix KV indexer to skip empty keys * Fix linting errors * Update CHANGELOG_PENDING.md * Update docs/spec/abci/abci.md Co-Authored-By: Federico Kunze <31522760+fedekunze@users.noreply.github.com> * Update abci/types/types.proto Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update docs/spec/abci/abci.md Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update libs/pubsub/query/query.go Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update match function to match if ANY value matches * Implement TestSubscribeDuplicateKeys * Update TestMatches to include multi-key test cases * Update events.go * Update Query interface godoc * Update match godoc * Add godoc for matchValue * DRY-up tx indexing * Return error from PublishWithEvents in EventBus#Publish * Update PublishEventNewBlockHeader to return an error * Fix build * Update events doc in ABCI * Update ABCI events godoc * Implement TestEventBusPublishEventTxDuplicateKeys * Update TestSubscribeDuplicateKeys to be table-driven * Remove mod file * Remove markdown from events godoc * Implement TestTxSearchDeprecatedIndexing test
5 years ago
add support for block pruning via ABCI Commit response (#4588) * Added BlockStore.DeleteBlock() * Added initial block pruner prototype * wip * Added BlockStore.PruneBlocks() * Added consensus setting for block pruning * Added BlockStore base * Error on replay if base does not have blocks * Handle missing blocks when sending VoteSetMaj23Message * Error message tweak * Properly update blockstore state * Error message fix again * blockchain: ignore peer missing blocks * Added FIXME * Added test for block replay with truncated history * Handle peer base in blockchain reactor * Improved replay error handling * Added tests for Store.PruneBlocks() * Fix non-RPC handling of truncated block history * Panic on missing block meta in needProofBlock() * Updated changelog * Handle truncated block history in RPC layer * Added info about earliest block in /status RPC * Reorder height and base in blockchain reactor messages * Updated changelog * Fix tests * Appease linter * Minor review fixes * Non-empty BlockStores should always have base > 0 * Update code to assume base > 0 invariant * Added blockstore tests for pruning to 0 * Make sure we don't prune below the current base * Added BlockStore.Size() * config: added retain_blocks recommendations * Update v1 blockchain reactor to handle blockstore base * Added state database pruning * Propagate errors on missing validator sets * Comment tweaks * Improved error message Co-Authored-By: Anton Kaliaev <anton.kalyaev@gmail.com> * use ABCI field ResponseCommit.retain_height instead of retain-blocks config option * remove State.RetainHeight, return value instead * fix minor issues * rename pruneHeights() to pruneBlocks() * noop to fix GitHub borkage Co-authored-by: Anton Kaliaev <anton.kalyaev@gmail.com>
4 years ago
add support for block pruning via ABCI Commit response (#4588) * Added BlockStore.DeleteBlock() * Added initial block pruner prototype * wip * Added BlockStore.PruneBlocks() * Added consensus setting for block pruning * Added BlockStore base * Error on replay if base does not have blocks * Handle missing blocks when sending VoteSetMaj23Message * Error message tweak * Properly update blockstore state * Error message fix again * blockchain: ignore peer missing blocks * Added FIXME * Added test for block replay with truncated history * Handle peer base in blockchain reactor * Improved replay error handling * Added tests for Store.PruneBlocks() * Fix non-RPC handling of truncated block history * Panic on missing block meta in needProofBlock() * Updated changelog * Handle truncated block history in RPC layer * Added info about earliest block in /status RPC * Reorder height and base in blockchain reactor messages * Updated changelog * Fix tests * Appease linter * Minor review fixes * Non-empty BlockStores should always have base > 0 * Update code to assume base > 0 invariant * Added blockstore tests for pruning to 0 * Make sure we don't prune below the current base * Added BlockStore.Size() * config: added retain_blocks recommendations * Update v1 blockchain reactor to handle blockstore base * Added state database pruning * Propagate errors on missing validator sets * Comment tweaks * Improved error message Co-Authored-By: Anton Kaliaev <anton.kalyaev@gmail.com> * use ABCI field ResponseCommit.retain_height instead of retain-blocks config option * remove State.RetainHeight, return value instead * fix minor issues * rename pruneHeights() to pruneBlocks() * noop to fix GitHub borkage Co-authored-by: Anton Kaliaev <anton.kalyaev@gmail.com>
4 years ago
add support for block pruning via ABCI Commit response (#4588) * Added BlockStore.DeleteBlock() * Added initial block pruner prototype * wip * Added BlockStore.PruneBlocks() * Added consensus setting for block pruning * Added BlockStore base * Error on replay if base does not have blocks * Handle missing blocks when sending VoteSetMaj23Message * Error message tweak * Properly update blockstore state * Error message fix again * blockchain: ignore peer missing blocks * Added FIXME * Added test for block replay with truncated history * Handle peer base in blockchain reactor * Improved replay error handling * Added tests for Store.PruneBlocks() * Fix non-RPC handling of truncated block history * Panic on missing block meta in needProofBlock() * Updated changelog * Handle truncated block history in RPC layer * Added info about earliest block in /status RPC * Reorder height and base in blockchain reactor messages * Updated changelog * Fix tests * Appease linter * Minor review fixes * Non-empty BlockStores should always have base > 0 * Update code to assume base > 0 invariant * Added blockstore tests for pruning to 0 * Make sure we don't prune below the current base * Added BlockStore.Size() * config: added retain_blocks recommendations * Update v1 blockchain reactor to handle blockstore base * Added state database pruning * Propagate errors on missing validator sets * Comment tweaks * Improved error message Co-Authored-By: Anton Kaliaev <anton.kalyaev@gmail.com> * use ABCI field ResponseCommit.retain_height instead of retain-blocks config option * remove State.RetainHeight, return value instead * fix minor issues * rename pruneHeights() to pruneBlocks() * noop to fix GitHub borkage Co-authored-by: Anton Kaliaev <anton.kalyaev@gmail.com>
4 years ago
add support for block pruning via ABCI Commit response (#4588) * Added BlockStore.DeleteBlock() * Added initial block pruner prototype * wip * Added BlockStore.PruneBlocks() * Added consensus setting for block pruning * Added BlockStore base * Error on replay if base does not have blocks * Handle missing blocks when sending VoteSetMaj23Message * Error message tweak * Properly update blockstore state * Error message fix again * blockchain: ignore peer missing blocks * Added FIXME * Added test for block replay with truncated history * Handle peer base in blockchain reactor * Improved replay error handling * Added tests for Store.PruneBlocks() * Fix non-RPC handling of truncated block history * Panic on missing block meta in needProofBlock() * Updated changelog * Handle truncated block history in RPC layer * Added info about earliest block in /status RPC * Reorder height and base in blockchain reactor messages * Updated changelog * Fix tests * Appease linter * Minor review fixes * Non-empty BlockStores should always have base > 0 * Update code to assume base > 0 invariant * Added blockstore tests for pruning to 0 * Make sure we don't prune below the current base * Added BlockStore.Size() * config: added retain_blocks recommendations * Update v1 blockchain reactor to handle blockstore base * Added state database pruning * Propagate errors on missing validator sets * Comment tweaks * Improved error message Co-Authored-By: Anton Kaliaev <anton.kalyaev@gmail.com> * use ABCI field ResponseCommit.retain_height instead of retain-blocks config option * remove State.RetainHeight, return value instead * fix minor issues * rename pruneHeights() to pruneBlocks() * noop to fix GitHub borkage Co-authored-by: Anton Kaliaev <anton.kalyaev@gmail.com>
4 years ago
add support for block pruning via ABCI Commit response (#4588) * Added BlockStore.DeleteBlock() * Added initial block pruner prototype * wip * Added BlockStore.PruneBlocks() * Added consensus setting for block pruning * Added BlockStore base * Error on replay if base does not have blocks * Handle missing blocks when sending VoteSetMaj23Message * Error message tweak * Properly update blockstore state * Error message fix again * blockchain: ignore peer missing blocks * Added FIXME * Added test for block replay with truncated history * Handle peer base in blockchain reactor * Improved replay error handling * Added tests for Store.PruneBlocks() * Fix non-RPC handling of truncated block history * Panic on missing block meta in needProofBlock() * Updated changelog * Handle truncated block history in RPC layer * Added info about earliest block in /status RPC * Reorder height and base in blockchain reactor messages * Updated changelog * Fix tests * Appease linter * Minor review fixes * Non-empty BlockStores should always have base > 0 * Update code to assume base > 0 invariant * Added blockstore tests for pruning to 0 * Make sure we don't prune below the current base * Added BlockStore.Size() * config: added retain_blocks recommendations * Update v1 blockchain reactor to handle blockstore base * Added state database pruning * Propagate errors on missing validator sets * Comment tweaks * Improved error message Co-Authored-By: Anton Kaliaev <anton.kalyaev@gmail.com> * use ABCI field ResponseCommit.retain_height instead of retain-blocks config option * remove State.RetainHeight, return value instead * fix minor issues * rename pruneHeights() to pruneBlocks() * noop to fix GitHub borkage Co-authored-by: Anton Kaliaev <anton.kalyaev@gmail.com>
4 years ago
abci: Refactor tagging events using list of lists (#3643) ## PR This PR introduces a fundamental breaking change to the structure of ABCI response and tx tags and the way they're processed. Namely, the SDK can support more complex and aggregated events for distribution and slashing. In addition, block responses can include duplicate keys in events. Implement new Event type. An event has a type and a list of KV pairs (ie. list-of-lists). Typical events may look like: "rewards": [{"amount": "5000uatom", "validator": "...", "recipient": "..."}] "sender": [{"address": "...", "balance": "100uatom"}] The events are indexed by {even.type}.{even.attribute[i].key}/.... In this case a client would subscribe or query for rewards.recipient='...' ABCI response types and related types now include Events []Event instead of Tags []cmn.KVPair. PubSub logic now publishes/matches against map[string][]string instead of map[string]string to support duplicate keys in response events (from #1385). A match is successful if the value is found in the slice of strings. closes: #1859 closes: #2905 ## Commits: * Implement Event ABCI type and updates responses to use events * Update messages_test.go * Update kvstore.go * Update event_bus.go * Update subscription.go * Update pubsub.go * Update kvstore.go * Update query logic to handle slice of strings in events * Update Empty#Matches and unit tests * Update pubsub logic * Update EventBus#Publish * Update kv tx indexer * Update godocs * Update ResultEvent to use slice of strings; update RPC * Update more tests * Update abci.md * Check for key in validateAndStringifyEvents * Fix KV indexer to skip empty keys * Fix linting errors * Update CHANGELOG_PENDING.md * Update docs/spec/abci/abci.md Co-Authored-By: Federico Kunze <31522760+fedekunze@users.noreply.github.com> * Update abci/types/types.proto Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update docs/spec/abci/abci.md Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update libs/pubsub/query/query.go Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update match function to match if ANY value matches * Implement TestSubscribeDuplicateKeys * Update TestMatches to include multi-key test cases * Update events.go * Update Query interface godoc * Update match godoc * Add godoc for matchValue * DRY-up tx indexing * Return error from PublishWithEvents in EventBus#Publish * Update PublishEventNewBlockHeader to return an error * Fix build * Update events doc in ABCI * Update ABCI events godoc * Implement TestEventBusPublishEventTxDuplicateKeys * Update TestSubscribeDuplicateKeys to be table-driven * Remove mod file * Remove markdown from events godoc * Implement TestTxSearchDeprecatedIndexing test
5 years ago
abci: Refactor tagging events using list of lists (#3643) ## PR This PR introduces a fundamental breaking change to the structure of ABCI response and tx tags and the way they're processed. Namely, the SDK can support more complex and aggregated events for distribution and slashing. In addition, block responses can include duplicate keys in events. Implement new Event type. An event has a type and a list of KV pairs (ie. list-of-lists). Typical events may look like: "rewards": [{"amount": "5000uatom", "validator": "...", "recipient": "..."}] "sender": [{"address": "...", "balance": "100uatom"}] The events are indexed by {even.type}.{even.attribute[i].key}/.... In this case a client would subscribe or query for rewards.recipient='...' ABCI response types and related types now include Events []Event instead of Tags []cmn.KVPair. PubSub logic now publishes/matches against map[string][]string instead of map[string]string to support duplicate keys in response events (from #1385). A match is successful if the value is found in the slice of strings. closes: #1859 closes: #2905 ## Commits: * Implement Event ABCI type and updates responses to use events * Update messages_test.go * Update kvstore.go * Update event_bus.go * Update subscription.go * Update pubsub.go * Update kvstore.go * Update query logic to handle slice of strings in events * Update Empty#Matches and unit tests * Update pubsub logic * Update EventBus#Publish * Update kv tx indexer * Update godocs * Update ResultEvent to use slice of strings; update RPC * Update more tests * Update abci.md * Check for key in validateAndStringifyEvents * Fix KV indexer to skip empty keys * Fix linting errors * Update CHANGELOG_PENDING.md * Update docs/spec/abci/abci.md Co-Authored-By: Federico Kunze <31522760+fedekunze@users.noreply.github.com> * Update abci/types/types.proto Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update docs/spec/abci/abci.md Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update libs/pubsub/query/query.go Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update match function to match if ANY value matches * Implement TestSubscribeDuplicateKeys * Update TestMatches to include multi-key test cases * Update events.go * Update Query interface godoc * Update match godoc * Add godoc for matchValue * DRY-up tx indexing * Return error from PublishWithEvents in EventBus#Publish * Update PublishEventNewBlockHeader to return an error * Fix build * Update events doc in ABCI * Update ABCI events godoc * Implement TestEventBusPublishEventTxDuplicateKeys * Update TestSubscribeDuplicateKeys to be table-driven * Remove mod file * Remove markdown from events godoc * Implement TestTxSearchDeprecatedIndexing test
5 years ago
abci: Refactor tagging events using list of lists (#3643) ## PR This PR introduces a fundamental breaking change to the structure of ABCI response and tx tags and the way they're processed. Namely, the SDK can support more complex and aggregated events for distribution and slashing. In addition, block responses can include duplicate keys in events. Implement new Event type. An event has a type and a list of KV pairs (ie. list-of-lists). Typical events may look like: "rewards": [{"amount": "5000uatom", "validator": "...", "recipient": "..."}] "sender": [{"address": "...", "balance": "100uatom"}] The events are indexed by {even.type}.{even.attribute[i].key}/.... In this case a client would subscribe or query for rewards.recipient='...' ABCI response types and related types now include Events []Event instead of Tags []cmn.KVPair. PubSub logic now publishes/matches against map[string][]string instead of map[string]string to support duplicate keys in response events (from #1385). A match is successful if the value is found in the slice of strings. closes: #1859 closes: #2905 ## Commits: * Implement Event ABCI type and updates responses to use events * Update messages_test.go * Update kvstore.go * Update event_bus.go * Update subscription.go * Update pubsub.go * Update kvstore.go * Update query logic to handle slice of strings in events * Update Empty#Matches and unit tests * Update pubsub logic * Update EventBus#Publish * Update kv tx indexer * Update godocs * Update ResultEvent to use slice of strings; update RPC * Update more tests * Update abci.md * Check for key in validateAndStringifyEvents * Fix KV indexer to skip empty keys * Fix linting errors * Update CHANGELOG_PENDING.md * Update docs/spec/abci/abci.md Co-Authored-By: Federico Kunze <31522760+fedekunze@users.noreply.github.com> * Update abci/types/types.proto Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update docs/spec/abci/abci.md Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update libs/pubsub/query/query.go Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update match function to match if ANY value matches * Implement TestSubscribeDuplicateKeys * Update TestMatches to include multi-key test cases * Update events.go * Update Query interface godoc * Update match godoc * Add godoc for matchValue * DRY-up tx indexing * Return error from PublishWithEvents in EventBus#Publish * Update PublishEventNewBlockHeader to return an error * Fix build * Update events doc in ABCI * Update ABCI events godoc * Implement TestEventBusPublishEventTxDuplicateKeys * Update TestSubscribeDuplicateKeys to be table-driven * Remove mod file * Remove markdown from events godoc * Implement TestTxSearchDeprecatedIndexing test
5 years ago
abci: Refactor tagging events using list of lists (#3643) ## PR This PR introduces a fundamental breaking change to the structure of ABCI response and tx tags and the way they're processed. Namely, the SDK can support more complex and aggregated events for distribution and slashing. In addition, block responses can include duplicate keys in events. Implement new Event type. An event has a type and a list of KV pairs (ie. list-of-lists). Typical events may look like: "rewards": [{"amount": "5000uatom", "validator": "...", "recipient": "..."}] "sender": [{"address": "...", "balance": "100uatom"}] The events are indexed by {even.type}.{even.attribute[i].key}/.... In this case a client would subscribe or query for rewards.recipient='...' ABCI response types and related types now include Events []Event instead of Tags []cmn.KVPair. PubSub logic now publishes/matches against map[string][]string instead of map[string]string to support duplicate keys in response events (from #1385). A match is successful if the value is found in the slice of strings. closes: #1859 closes: #2905 ## Commits: * Implement Event ABCI type and updates responses to use events * Update messages_test.go * Update kvstore.go * Update event_bus.go * Update subscription.go * Update pubsub.go * Update kvstore.go * Update query logic to handle slice of strings in events * Update Empty#Matches and unit tests * Update pubsub logic * Update EventBus#Publish * Update kv tx indexer * Update godocs * Update ResultEvent to use slice of strings; update RPC * Update more tests * Update abci.md * Check for key in validateAndStringifyEvents * Fix KV indexer to skip empty keys * Fix linting errors * Update CHANGELOG_PENDING.md * Update docs/spec/abci/abci.md Co-Authored-By: Federico Kunze <31522760+fedekunze@users.noreply.github.com> * Update abci/types/types.proto Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update docs/spec/abci/abci.md Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update libs/pubsub/query/query.go Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update match function to match if ANY value matches * Implement TestSubscribeDuplicateKeys * Update TestMatches to include multi-key test cases * Update events.go * Update Query interface godoc * Update match godoc * Add godoc for matchValue * DRY-up tx indexing * Return error from PublishWithEvents in EventBus#Publish * Update PublishEventNewBlockHeader to return an error * Fix build * Update events doc in ABCI * Update ABCI events godoc * Implement TestEventBusPublishEventTxDuplicateKeys * Update TestSubscribeDuplicateKeys to be table-driven * Remove mod file * Remove markdown from events godoc * Implement TestTxSearchDeprecatedIndexing test
5 years ago
abci: Refactor tagging events using list of lists (#3643) ## PR This PR introduces a fundamental breaking change to the structure of ABCI response and tx tags and the way they're processed. Namely, the SDK can support more complex and aggregated events for distribution and slashing. In addition, block responses can include duplicate keys in events. Implement new Event type. An event has a type and a list of KV pairs (ie. list-of-lists). Typical events may look like: "rewards": [{"amount": "5000uatom", "validator": "...", "recipient": "..."}] "sender": [{"address": "...", "balance": "100uatom"}] The events are indexed by {even.type}.{even.attribute[i].key}/.... In this case a client would subscribe or query for rewards.recipient='...' ABCI response types and related types now include Events []Event instead of Tags []cmn.KVPair. PubSub logic now publishes/matches against map[string][]string instead of map[string]string to support duplicate keys in response events (from #1385). A match is successful if the value is found in the slice of strings. closes: #1859 closes: #2905 ## Commits: * Implement Event ABCI type and updates responses to use events * Update messages_test.go * Update kvstore.go * Update event_bus.go * Update subscription.go * Update pubsub.go * Update kvstore.go * Update query logic to handle slice of strings in events * Update Empty#Matches and unit tests * Update pubsub logic * Update EventBus#Publish * Update kv tx indexer * Update godocs * Update ResultEvent to use slice of strings; update RPC * Update more tests * Update abci.md * Check for key in validateAndStringifyEvents * Fix KV indexer to skip empty keys * Fix linting errors * Update CHANGELOG_PENDING.md * Update docs/spec/abci/abci.md Co-Authored-By: Federico Kunze <31522760+fedekunze@users.noreply.github.com> * Update abci/types/types.proto Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update docs/spec/abci/abci.md Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update libs/pubsub/query/query.go Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update match function to match if ANY value matches * Implement TestSubscribeDuplicateKeys * Update TestMatches to include multi-key test cases * Update events.go * Update Query interface godoc * Update match godoc * Add godoc for matchValue * DRY-up tx indexing * Return error from PublishWithEvents in EventBus#Publish * Update PublishEventNewBlockHeader to return an error * Fix build * Update events doc in ABCI * Update ABCI events godoc * Implement TestEventBusPublishEventTxDuplicateKeys * Update TestSubscribeDuplicateKeys to be table-driven * Remove mod file * Remove markdown from events godoc * Implement TestTxSearchDeprecatedIndexing test
5 years ago
abci: Refactor tagging events using list of lists (#3643) ## PR This PR introduces a fundamental breaking change to the structure of ABCI response and tx tags and the way they're processed. Namely, the SDK can support more complex and aggregated events for distribution and slashing. In addition, block responses can include duplicate keys in events. Implement new Event type. An event has a type and a list of KV pairs (ie. list-of-lists). Typical events may look like: "rewards": [{"amount": "5000uatom", "validator": "...", "recipient": "..."}] "sender": [{"address": "...", "balance": "100uatom"}] The events are indexed by {even.type}.{even.attribute[i].key}/.... In this case a client would subscribe or query for rewards.recipient='...' ABCI response types and related types now include Events []Event instead of Tags []cmn.KVPair. PubSub logic now publishes/matches against map[string][]string instead of map[string]string to support duplicate keys in response events (from #1385). A match is successful if the value is found in the slice of strings. closes: #1859 closes: #2905 ## Commits: * Implement Event ABCI type and updates responses to use events * Update messages_test.go * Update kvstore.go * Update event_bus.go * Update subscription.go * Update pubsub.go * Update kvstore.go * Update query logic to handle slice of strings in events * Update Empty#Matches and unit tests * Update pubsub logic * Update EventBus#Publish * Update kv tx indexer * Update godocs * Update ResultEvent to use slice of strings; update RPC * Update more tests * Update abci.md * Check for key in validateAndStringifyEvents * Fix KV indexer to skip empty keys * Fix linting errors * Update CHANGELOG_PENDING.md * Update docs/spec/abci/abci.md Co-Authored-By: Federico Kunze <31522760+fedekunze@users.noreply.github.com> * Update abci/types/types.proto Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update docs/spec/abci/abci.md Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update libs/pubsub/query/query.go Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update match function to match if ANY value matches * Implement TestSubscribeDuplicateKeys * Update TestMatches to include multi-key test cases * Update events.go * Update Query interface godoc * Update match godoc * Add godoc for matchValue * DRY-up tx indexing * Return error from PublishWithEvents in EventBus#Publish * Update PublishEventNewBlockHeader to return an error * Fix build * Update events doc in ABCI * Update ABCI events godoc * Implement TestEventBusPublishEventTxDuplicateKeys * Update TestSubscribeDuplicateKeys to be table-driven * Remove mod file * Remove markdown from events godoc * Implement TestTxSearchDeprecatedIndexing test
5 years ago
abci: Refactor tagging events using list of lists (#3643) ## PR This PR introduces a fundamental breaking change to the structure of ABCI response and tx tags and the way they're processed. Namely, the SDK can support more complex and aggregated events for distribution and slashing. In addition, block responses can include duplicate keys in events. Implement new Event type. An event has a type and a list of KV pairs (ie. list-of-lists). Typical events may look like: "rewards": [{"amount": "5000uatom", "validator": "...", "recipient": "..."}] "sender": [{"address": "...", "balance": "100uatom"}] The events are indexed by {even.type}.{even.attribute[i].key}/.... In this case a client would subscribe or query for rewards.recipient='...' ABCI response types and related types now include Events []Event instead of Tags []cmn.KVPair. PubSub logic now publishes/matches against map[string][]string instead of map[string]string to support duplicate keys in response events (from #1385). A match is successful if the value is found in the slice of strings. closes: #1859 closes: #2905 ## Commits: * Implement Event ABCI type and updates responses to use events * Update messages_test.go * Update kvstore.go * Update event_bus.go * Update subscription.go * Update pubsub.go * Update kvstore.go * Update query logic to handle slice of strings in events * Update Empty#Matches and unit tests * Update pubsub logic * Update EventBus#Publish * Update kv tx indexer * Update godocs * Update ResultEvent to use slice of strings; update RPC * Update more tests * Update abci.md * Check for key in validateAndStringifyEvents * Fix KV indexer to skip empty keys * Fix linting errors * Update CHANGELOG_PENDING.md * Update docs/spec/abci/abci.md Co-Authored-By: Federico Kunze <31522760+fedekunze@users.noreply.github.com> * Update abci/types/types.proto Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update docs/spec/abci/abci.md Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update libs/pubsub/query/query.go Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update match function to match if ANY value matches * Implement TestSubscribeDuplicateKeys * Update TestMatches to include multi-key test cases * Update events.go * Update Query interface godoc * Update match godoc * Add godoc for matchValue * DRY-up tx indexing * Return error from PublishWithEvents in EventBus#Publish * Update PublishEventNewBlockHeader to return an error * Fix build * Update events doc in ABCI * Update ABCI events godoc * Implement TestEventBusPublishEventTxDuplicateKeys * Update TestSubscribeDuplicateKeys to be table-driven * Remove mod file * Remove markdown from events godoc * Implement TestTxSearchDeprecatedIndexing test
5 years ago
abci: Refactor tagging events using list of lists (#3643) ## PR This PR introduces a fundamental breaking change to the structure of ABCI response and tx tags and the way they're processed. Namely, the SDK can support more complex and aggregated events for distribution and slashing. In addition, block responses can include duplicate keys in events. Implement new Event type. An event has a type and a list of KV pairs (ie. list-of-lists). Typical events may look like: "rewards": [{"amount": "5000uatom", "validator": "...", "recipient": "..."}] "sender": [{"address": "...", "balance": "100uatom"}] The events are indexed by {even.type}.{even.attribute[i].key}/.... In this case a client would subscribe or query for rewards.recipient='...' ABCI response types and related types now include Events []Event instead of Tags []cmn.KVPair. PubSub logic now publishes/matches against map[string][]string instead of map[string]string to support duplicate keys in response events (from #1385). A match is successful if the value is found in the slice of strings. closes: #1859 closes: #2905 ## Commits: * Implement Event ABCI type and updates responses to use events * Update messages_test.go * Update kvstore.go * Update event_bus.go * Update subscription.go * Update pubsub.go * Update kvstore.go * Update query logic to handle slice of strings in events * Update Empty#Matches and unit tests * Update pubsub logic * Update EventBus#Publish * Update kv tx indexer * Update godocs * Update ResultEvent to use slice of strings; update RPC * Update more tests * Update abci.md * Check for key in validateAndStringifyEvents * Fix KV indexer to skip empty keys * Fix linting errors * Update CHANGELOG_PENDING.md * Update docs/spec/abci/abci.md Co-Authored-By: Federico Kunze <31522760+fedekunze@users.noreply.github.com> * Update abci/types/types.proto Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update docs/spec/abci/abci.md Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update libs/pubsub/query/query.go Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update match function to match if ANY value matches * Implement TestSubscribeDuplicateKeys * Update TestMatches to include multi-key test cases * Update events.go * Update Query interface godoc * Update match godoc * Add godoc for matchValue * DRY-up tx indexing * Return error from PublishWithEvents in EventBus#Publish * Update PublishEventNewBlockHeader to return an error * Fix build * Update events doc in ABCI * Update ABCI events godoc * Implement TestEventBusPublishEventTxDuplicateKeys * Update TestSubscribeDuplicateKeys to be table-driven * Remove mod file * Remove markdown from events godoc * Implement TestTxSearchDeprecatedIndexing test
5 years ago
abci: Refactor tagging events using list of lists (#3643) ## PR This PR introduces a fundamental breaking change to the structure of ABCI response and tx tags and the way they're processed. Namely, the SDK can support more complex and aggregated events for distribution and slashing. In addition, block responses can include duplicate keys in events. Implement new Event type. An event has a type and a list of KV pairs (ie. list-of-lists). Typical events may look like: "rewards": [{"amount": "5000uatom", "validator": "...", "recipient": "..."}] "sender": [{"address": "...", "balance": "100uatom"}] The events are indexed by {even.type}.{even.attribute[i].key}/.... In this case a client would subscribe or query for rewards.recipient='...' ABCI response types and related types now include Events []Event instead of Tags []cmn.KVPair. PubSub logic now publishes/matches against map[string][]string instead of map[string]string to support duplicate keys in response events (from #1385). A match is successful if the value is found in the slice of strings. closes: #1859 closes: #2905 ## Commits: * Implement Event ABCI type and updates responses to use events * Update messages_test.go * Update kvstore.go * Update event_bus.go * Update subscription.go * Update pubsub.go * Update kvstore.go * Update query logic to handle slice of strings in events * Update Empty#Matches and unit tests * Update pubsub logic * Update EventBus#Publish * Update kv tx indexer * Update godocs * Update ResultEvent to use slice of strings; update RPC * Update more tests * Update abci.md * Check for key in validateAndStringifyEvents * Fix KV indexer to skip empty keys * Fix linting errors * Update CHANGELOG_PENDING.md * Update docs/spec/abci/abci.md Co-Authored-By: Federico Kunze <31522760+fedekunze@users.noreply.github.com> * Update abci/types/types.proto Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update docs/spec/abci/abci.md Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update libs/pubsub/query/query.go Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update match function to match if ANY value matches * Implement TestSubscribeDuplicateKeys * Update TestMatches to include multi-key test cases * Update events.go * Update Query interface godoc * Update match godoc * Add godoc for matchValue * DRY-up tx indexing * Return error from PublishWithEvents in EventBus#Publish * Update PublishEventNewBlockHeader to return an error * Fix build * Update events doc in ABCI * Update ABCI events godoc * Implement TestEventBusPublishEventTxDuplicateKeys * Update TestSubscribeDuplicateKeys to be table-driven * Remove mod file * Remove markdown from events godoc * Implement TestTxSearchDeprecatedIndexing test
5 years ago
abci: Refactor tagging events using list of lists (#3643) ## PR This PR introduces a fundamental breaking change to the structure of ABCI response and tx tags and the way they're processed. Namely, the SDK can support more complex and aggregated events for distribution and slashing. In addition, block responses can include duplicate keys in events. Implement new Event type. An event has a type and a list of KV pairs (ie. list-of-lists). Typical events may look like: "rewards": [{"amount": "5000uatom", "validator": "...", "recipient": "..."}] "sender": [{"address": "...", "balance": "100uatom"}] The events are indexed by {even.type}.{even.attribute[i].key}/.... In this case a client would subscribe or query for rewards.recipient='...' ABCI response types and related types now include Events []Event instead of Tags []cmn.KVPair. PubSub logic now publishes/matches against map[string][]string instead of map[string]string to support duplicate keys in response events (from #1385). A match is successful if the value is found in the slice of strings. closes: #1859 closes: #2905 ## Commits: * Implement Event ABCI type and updates responses to use events * Update messages_test.go * Update kvstore.go * Update event_bus.go * Update subscription.go * Update pubsub.go * Update kvstore.go * Update query logic to handle slice of strings in events * Update Empty#Matches and unit tests * Update pubsub logic * Update EventBus#Publish * Update kv tx indexer * Update godocs * Update ResultEvent to use slice of strings; update RPC * Update more tests * Update abci.md * Check for key in validateAndStringifyEvents * Fix KV indexer to skip empty keys * Fix linting errors * Update CHANGELOG_PENDING.md * Update docs/spec/abci/abci.md Co-Authored-By: Federico Kunze <31522760+fedekunze@users.noreply.github.com> * Update abci/types/types.proto Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update docs/spec/abci/abci.md Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update libs/pubsub/query/query.go Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update match function to match if ANY value matches * Implement TestSubscribeDuplicateKeys * Update TestMatches to include multi-key test cases * Update events.go * Update Query interface godoc * Update match godoc * Add godoc for matchValue * DRY-up tx indexing * Return error from PublishWithEvents in EventBus#Publish * Update PublishEventNewBlockHeader to return an error * Fix build * Update events doc in ABCI * Update ABCI events godoc * Implement TestEventBusPublishEventTxDuplicateKeys * Update TestSubscribeDuplicateKeys to be table-driven * Remove mod file * Remove markdown from events godoc * Implement TestTxSearchDeprecatedIndexing test
5 years ago
abci: Refactor tagging events using list of lists (#3643) ## PR This PR introduces a fundamental breaking change to the structure of ABCI response and tx tags and the way they're processed. Namely, the SDK can support more complex and aggregated events for distribution and slashing. In addition, block responses can include duplicate keys in events. Implement new Event type. An event has a type and a list of KV pairs (ie. list-of-lists). Typical events may look like: "rewards": [{"amount": "5000uatom", "validator": "...", "recipient": "..."}] "sender": [{"address": "...", "balance": "100uatom"}] The events are indexed by {even.type}.{even.attribute[i].key}/.... In this case a client would subscribe or query for rewards.recipient='...' ABCI response types and related types now include Events []Event instead of Tags []cmn.KVPair. PubSub logic now publishes/matches against map[string][]string instead of map[string]string to support duplicate keys in response events (from #1385). A match is successful if the value is found in the slice of strings. closes: #1859 closes: #2905 ## Commits: * Implement Event ABCI type and updates responses to use events * Update messages_test.go * Update kvstore.go * Update event_bus.go * Update subscription.go * Update pubsub.go * Update kvstore.go * Update query logic to handle slice of strings in events * Update Empty#Matches and unit tests * Update pubsub logic * Update EventBus#Publish * Update kv tx indexer * Update godocs * Update ResultEvent to use slice of strings; update RPC * Update more tests * Update abci.md * Check for key in validateAndStringifyEvents * Fix KV indexer to skip empty keys * Fix linting errors * Update CHANGELOG_PENDING.md * Update docs/spec/abci/abci.md Co-Authored-By: Federico Kunze <31522760+fedekunze@users.noreply.github.com> * Update abci/types/types.proto Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update docs/spec/abci/abci.md Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update libs/pubsub/query/query.go Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update match function to match if ANY value matches * Implement TestSubscribeDuplicateKeys * Update TestMatches to include multi-key test cases * Update events.go * Update Query interface godoc * Update match godoc * Add godoc for matchValue * DRY-up tx indexing * Return error from PublishWithEvents in EventBus#Publish * Update PublishEventNewBlockHeader to return an error * Fix build * Update events doc in ABCI * Update ABCI events godoc * Implement TestEventBusPublishEventTxDuplicateKeys * Update TestSubscribeDuplicateKeys to be table-driven * Remove mod file * Remove markdown from events godoc * Implement TestTxSearchDeprecatedIndexing test
5 years ago
abci: Refactor tagging events using list of lists (#3643) ## PR This PR introduces a fundamental breaking change to the structure of ABCI response and tx tags and the way they're processed. Namely, the SDK can support more complex and aggregated events for distribution and slashing. In addition, block responses can include duplicate keys in events. Implement new Event type. An event has a type and a list of KV pairs (ie. list-of-lists). Typical events may look like: "rewards": [{"amount": "5000uatom", "validator": "...", "recipient": "..."}] "sender": [{"address": "...", "balance": "100uatom"}] The events are indexed by {even.type}.{even.attribute[i].key}/.... In this case a client would subscribe or query for rewards.recipient='...' ABCI response types and related types now include Events []Event instead of Tags []cmn.KVPair. PubSub logic now publishes/matches against map[string][]string instead of map[string]string to support duplicate keys in response events (from #1385). A match is successful if the value is found in the slice of strings. closes: #1859 closes: #2905 ## Commits: * Implement Event ABCI type and updates responses to use events * Update messages_test.go * Update kvstore.go * Update event_bus.go * Update subscription.go * Update pubsub.go * Update kvstore.go * Update query logic to handle slice of strings in events * Update Empty#Matches and unit tests * Update pubsub logic * Update EventBus#Publish * Update kv tx indexer * Update godocs * Update ResultEvent to use slice of strings; update RPC * Update more tests * Update abci.md * Check for key in validateAndStringifyEvents * Fix KV indexer to skip empty keys * Fix linting errors * Update CHANGELOG_PENDING.md * Update docs/spec/abci/abci.md Co-Authored-By: Federico Kunze <31522760+fedekunze@users.noreply.github.com> * Update abci/types/types.proto Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update docs/spec/abci/abci.md Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update libs/pubsub/query/query.go Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update match function to match if ANY value matches * Implement TestSubscribeDuplicateKeys * Update TestMatches to include multi-key test cases * Update events.go * Update Query interface godoc * Update match godoc * Add godoc for matchValue * DRY-up tx indexing * Return error from PublishWithEvents in EventBus#Publish * Update PublishEventNewBlockHeader to return an error * Fix build * Update events doc in ABCI * Update ABCI events godoc * Implement TestEventBusPublishEventTxDuplicateKeys * Update TestSubscribeDuplicateKeys to be table-driven * Remove mod file * Remove markdown from events godoc * Implement TestTxSearchDeprecatedIndexing test
5 years ago
abci: Refactor tagging events using list of lists (#3643) ## PR This PR introduces a fundamental breaking change to the structure of ABCI response and tx tags and the way they're processed. Namely, the SDK can support more complex and aggregated events for distribution and slashing. In addition, block responses can include duplicate keys in events. Implement new Event type. An event has a type and a list of KV pairs (ie. list-of-lists). Typical events may look like: "rewards": [{"amount": "5000uatom", "validator": "...", "recipient": "..."}] "sender": [{"address": "...", "balance": "100uatom"}] The events are indexed by {even.type}.{even.attribute[i].key}/.... In this case a client would subscribe or query for rewards.recipient='...' ABCI response types and related types now include Events []Event instead of Tags []cmn.KVPair. PubSub logic now publishes/matches against map[string][]string instead of map[string]string to support duplicate keys in response events (from #1385). A match is successful if the value is found in the slice of strings. closes: #1859 closes: #2905 ## Commits: * Implement Event ABCI type and updates responses to use events * Update messages_test.go * Update kvstore.go * Update event_bus.go * Update subscription.go * Update pubsub.go * Update kvstore.go * Update query logic to handle slice of strings in events * Update Empty#Matches and unit tests * Update pubsub logic * Update EventBus#Publish * Update kv tx indexer * Update godocs * Update ResultEvent to use slice of strings; update RPC * Update more tests * Update abci.md * Check for key in validateAndStringifyEvents * Fix KV indexer to skip empty keys * Fix linting errors * Update CHANGELOG_PENDING.md * Update docs/spec/abci/abci.md Co-Authored-By: Federico Kunze <31522760+fedekunze@users.noreply.github.com> * Update abci/types/types.proto Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update docs/spec/abci/abci.md Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update libs/pubsub/query/query.go Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update match function to match if ANY value matches * Implement TestSubscribeDuplicateKeys * Update TestMatches to include multi-key test cases * Update events.go * Update Query interface godoc * Update match godoc * Add godoc for matchValue * DRY-up tx indexing * Return error from PublishWithEvents in EventBus#Publish * Update PublishEventNewBlockHeader to return an error * Fix build * Update events doc in ABCI * Update ABCI events godoc * Implement TestEventBusPublishEventTxDuplicateKeys * Update TestSubscribeDuplicateKeys to be table-driven * Remove mod file * Remove markdown from events godoc * Implement TestTxSearchDeprecatedIndexing test
5 years ago
abci: Refactor tagging events using list of lists (#3643) ## PR This PR introduces a fundamental breaking change to the structure of ABCI response and tx tags and the way they're processed. Namely, the SDK can support more complex and aggregated events for distribution and slashing. In addition, block responses can include duplicate keys in events. Implement new Event type. An event has a type and a list of KV pairs (ie. list-of-lists). Typical events may look like: "rewards": [{"amount": "5000uatom", "validator": "...", "recipient": "..."}] "sender": [{"address": "...", "balance": "100uatom"}] The events are indexed by {even.type}.{even.attribute[i].key}/.... In this case a client would subscribe or query for rewards.recipient='...' ABCI response types and related types now include Events []Event instead of Tags []cmn.KVPair. PubSub logic now publishes/matches against map[string][]string instead of map[string]string to support duplicate keys in response events (from #1385). A match is successful if the value is found in the slice of strings. closes: #1859 closes: #2905 ## Commits: * Implement Event ABCI type and updates responses to use events * Update messages_test.go * Update kvstore.go * Update event_bus.go * Update subscription.go * Update pubsub.go * Update kvstore.go * Update query logic to handle slice of strings in events * Update Empty#Matches and unit tests * Update pubsub logic * Update EventBus#Publish * Update kv tx indexer * Update godocs * Update ResultEvent to use slice of strings; update RPC * Update more tests * Update abci.md * Check for key in validateAndStringifyEvents * Fix KV indexer to skip empty keys * Fix linting errors * Update CHANGELOG_PENDING.md * Update docs/spec/abci/abci.md Co-Authored-By: Federico Kunze <31522760+fedekunze@users.noreply.github.com> * Update abci/types/types.proto Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update docs/spec/abci/abci.md Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update libs/pubsub/query/query.go Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update match function to match if ANY value matches * Implement TestSubscribeDuplicateKeys * Update TestMatches to include multi-key test cases * Update events.go * Update Query interface godoc * Update match godoc * Add godoc for matchValue * DRY-up tx indexing * Return error from PublishWithEvents in EventBus#Publish * Update PublishEventNewBlockHeader to return an error * Fix build * Update events doc in ABCI * Update ABCI events godoc * Implement TestEventBusPublishEventTxDuplicateKeys * Update TestSubscribeDuplicateKeys to be table-driven * Remove mod file * Remove markdown from events godoc * Implement TestTxSearchDeprecatedIndexing test
5 years ago
abci: Refactor tagging events using list of lists (#3643) ## PR This PR introduces a fundamental breaking change to the structure of ABCI response and tx tags and the way they're processed. Namely, the SDK can support more complex and aggregated events for distribution and slashing. In addition, block responses can include duplicate keys in events. Implement new Event type. An event has a type and a list of KV pairs (ie. list-of-lists). Typical events may look like: "rewards": [{"amount": "5000uatom", "validator": "...", "recipient": "..."}] "sender": [{"address": "...", "balance": "100uatom"}] The events are indexed by {even.type}.{even.attribute[i].key}/.... In this case a client would subscribe or query for rewards.recipient='...' ABCI response types and related types now include Events []Event instead of Tags []cmn.KVPair. PubSub logic now publishes/matches against map[string][]string instead of map[string]string to support duplicate keys in response events (from #1385). A match is successful if the value is found in the slice of strings. closes: #1859 closes: #2905 ## Commits: * Implement Event ABCI type and updates responses to use events * Update messages_test.go * Update kvstore.go * Update event_bus.go * Update subscription.go * Update pubsub.go * Update kvstore.go * Update query logic to handle slice of strings in events * Update Empty#Matches and unit tests * Update pubsub logic * Update EventBus#Publish * Update kv tx indexer * Update godocs * Update ResultEvent to use slice of strings; update RPC * Update more tests * Update abci.md * Check for key in validateAndStringifyEvents * Fix KV indexer to skip empty keys * Fix linting errors * Update CHANGELOG_PENDING.md * Update docs/spec/abci/abci.md Co-Authored-By: Federico Kunze <31522760+fedekunze@users.noreply.github.com> * Update abci/types/types.proto Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update docs/spec/abci/abci.md Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update libs/pubsub/query/query.go Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update match function to match if ANY value matches * Implement TestSubscribeDuplicateKeys * Update TestMatches to include multi-key test cases * Update events.go * Update Query interface godoc * Update match godoc * Add godoc for matchValue * DRY-up tx indexing * Return error from PublishWithEvents in EventBus#Publish * Update PublishEventNewBlockHeader to return an error * Fix build * Update events doc in ABCI * Update ABCI events godoc * Implement TestEventBusPublishEventTxDuplicateKeys * Update TestSubscribeDuplicateKeys to be table-driven * Remove mod file * Remove markdown from events godoc * Implement TestTxSearchDeprecatedIndexing test
5 years ago
abci: Refactor tagging events using list of lists (#3643) ## PR This PR introduces a fundamental breaking change to the structure of ABCI response and tx tags and the way they're processed. Namely, the SDK can support more complex and aggregated events for distribution and slashing. In addition, block responses can include duplicate keys in events. Implement new Event type. An event has a type and a list of KV pairs (ie. list-of-lists). Typical events may look like: "rewards": [{"amount": "5000uatom", "validator": "...", "recipient": "..."}] "sender": [{"address": "...", "balance": "100uatom"}] The events are indexed by {even.type}.{even.attribute[i].key}/.... In this case a client would subscribe or query for rewards.recipient='...' ABCI response types and related types now include Events []Event instead of Tags []cmn.KVPair. PubSub logic now publishes/matches against map[string][]string instead of map[string]string to support duplicate keys in response events (from #1385). A match is successful if the value is found in the slice of strings. closes: #1859 closes: #2905 ## Commits: * Implement Event ABCI type and updates responses to use events * Update messages_test.go * Update kvstore.go * Update event_bus.go * Update subscription.go * Update pubsub.go * Update kvstore.go * Update query logic to handle slice of strings in events * Update Empty#Matches and unit tests * Update pubsub logic * Update EventBus#Publish * Update kv tx indexer * Update godocs * Update ResultEvent to use slice of strings; update RPC * Update more tests * Update abci.md * Check for key in validateAndStringifyEvents * Fix KV indexer to skip empty keys * Fix linting errors * Update CHANGELOG_PENDING.md * Update docs/spec/abci/abci.md Co-Authored-By: Federico Kunze <31522760+fedekunze@users.noreply.github.com> * Update abci/types/types.proto Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update docs/spec/abci/abci.md Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update libs/pubsub/query/query.go Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update match function to match if ANY value matches * Implement TestSubscribeDuplicateKeys * Update TestMatches to include multi-key test cases * Update events.go * Update Query interface godoc * Update match godoc * Add godoc for matchValue * DRY-up tx indexing * Return error from PublishWithEvents in EventBus#Publish * Update PublishEventNewBlockHeader to return an error * Fix build * Update events doc in ABCI * Update ABCI events godoc * Implement TestEventBusPublishEventTxDuplicateKeys * Update TestSubscribeDuplicateKeys to be table-driven * Remove mod file * Remove markdown from events godoc * Implement TestTxSearchDeprecatedIndexing test
5 years ago
abci: Refactor tagging events using list of lists (#3643) ## PR This PR introduces a fundamental breaking change to the structure of ABCI response and tx tags and the way they're processed. Namely, the SDK can support more complex and aggregated events for distribution and slashing. In addition, block responses can include duplicate keys in events. Implement new Event type. An event has a type and a list of KV pairs (ie. list-of-lists). Typical events may look like: "rewards": [{"amount": "5000uatom", "validator": "...", "recipient": "..."}] "sender": [{"address": "...", "balance": "100uatom"}] The events are indexed by {even.type}.{even.attribute[i].key}/.... In this case a client would subscribe or query for rewards.recipient='...' ABCI response types and related types now include Events []Event instead of Tags []cmn.KVPair. PubSub logic now publishes/matches against map[string][]string instead of map[string]string to support duplicate keys in response events (from #1385). A match is successful if the value is found in the slice of strings. closes: #1859 closes: #2905 ## Commits: * Implement Event ABCI type and updates responses to use events * Update messages_test.go * Update kvstore.go * Update event_bus.go * Update subscription.go * Update pubsub.go * Update kvstore.go * Update query logic to handle slice of strings in events * Update Empty#Matches and unit tests * Update pubsub logic * Update EventBus#Publish * Update kv tx indexer * Update godocs * Update ResultEvent to use slice of strings; update RPC * Update more tests * Update abci.md * Check for key in validateAndStringifyEvents * Fix KV indexer to skip empty keys * Fix linting errors * Update CHANGELOG_PENDING.md * Update docs/spec/abci/abci.md Co-Authored-By: Federico Kunze <31522760+fedekunze@users.noreply.github.com> * Update abci/types/types.proto Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update docs/spec/abci/abci.md Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update libs/pubsub/query/query.go Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update match function to match if ANY value matches * Implement TestSubscribeDuplicateKeys * Update TestMatches to include multi-key test cases * Update events.go * Update Query interface godoc * Update match godoc * Add godoc for matchValue * DRY-up tx indexing * Return error from PublishWithEvents in EventBus#Publish * Update PublishEventNewBlockHeader to return an error * Fix build * Update events doc in ABCI * Update ABCI events godoc * Implement TestEventBusPublishEventTxDuplicateKeys * Update TestSubscribeDuplicateKeys to be table-driven * Remove mod file * Remove markdown from events godoc * Implement TestTxSearchDeprecatedIndexing test
5 years ago
abci: Refactor tagging events using list of lists (#3643) ## PR This PR introduces a fundamental breaking change to the structure of ABCI response and tx tags and the way they're processed. Namely, the SDK can support more complex and aggregated events for distribution and slashing. In addition, block responses can include duplicate keys in events. Implement new Event type. An event has a type and a list of KV pairs (ie. list-of-lists). Typical events may look like: "rewards": [{"amount": "5000uatom", "validator": "...", "recipient": "..."}] "sender": [{"address": "...", "balance": "100uatom"}] The events are indexed by {even.type}.{even.attribute[i].key}/.... In this case a client would subscribe or query for rewards.recipient='...' ABCI response types and related types now include Events []Event instead of Tags []cmn.KVPair. PubSub logic now publishes/matches against map[string][]string instead of map[string]string to support duplicate keys in response events (from #1385). A match is successful if the value is found in the slice of strings. closes: #1859 closes: #2905 ## Commits: * Implement Event ABCI type and updates responses to use events * Update messages_test.go * Update kvstore.go * Update event_bus.go * Update subscription.go * Update pubsub.go * Update kvstore.go * Update query logic to handle slice of strings in events * Update Empty#Matches and unit tests * Update pubsub logic * Update EventBus#Publish * Update kv tx indexer * Update godocs * Update ResultEvent to use slice of strings; update RPC * Update more tests * Update abci.md * Check for key in validateAndStringifyEvents * Fix KV indexer to skip empty keys * Fix linting errors * Update CHANGELOG_PENDING.md * Update docs/spec/abci/abci.md Co-Authored-By: Federico Kunze <31522760+fedekunze@users.noreply.github.com> * Update abci/types/types.proto Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update docs/spec/abci/abci.md Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update libs/pubsub/query/query.go Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update match function to match if ANY value matches * Implement TestSubscribeDuplicateKeys * Update TestMatches to include multi-key test cases * Update events.go * Update Query interface godoc * Update match godoc * Add godoc for matchValue * DRY-up tx indexing * Return error from PublishWithEvents in EventBus#Publish * Update PublishEventNewBlockHeader to return an error * Fix build * Update events doc in ABCI * Update ABCI events godoc * Implement TestEventBusPublishEventTxDuplicateKeys * Update TestSubscribeDuplicateKeys to be table-driven * Remove mod file * Remove markdown from events godoc * Implement TestTxSearchDeprecatedIndexing test
5 years ago
abci: Refactor tagging events using list of lists (#3643) ## PR This PR introduces a fundamental breaking change to the structure of ABCI response and tx tags and the way they're processed. Namely, the SDK can support more complex and aggregated events for distribution and slashing. In addition, block responses can include duplicate keys in events. Implement new Event type. An event has a type and a list of KV pairs (ie. list-of-lists). Typical events may look like: "rewards": [{"amount": "5000uatom", "validator": "...", "recipient": "..."}] "sender": [{"address": "...", "balance": "100uatom"}] The events are indexed by {even.type}.{even.attribute[i].key}/.... In this case a client would subscribe or query for rewards.recipient='...' ABCI response types and related types now include Events []Event instead of Tags []cmn.KVPair. PubSub logic now publishes/matches against map[string][]string instead of map[string]string to support duplicate keys in response events (from #1385). A match is successful if the value is found in the slice of strings. closes: #1859 closes: #2905 ## Commits: * Implement Event ABCI type and updates responses to use events * Update messages_test.go * Update kvstore.go * Update event_bus.go * Update subscription.go * Update pubsub.go * Update kvstore.go * Update query logic to handle slice of strings in events * Update Empty#Matches and unit tests * Update pubsub logic * Update EventBus#Publish * Update kv tx indexer * Update godocs * Update ResultEvent to use slice of strings; update RPC * Update more tests * Update abci.md * Check for key in validateAndStringifyEvents * Fix KV indexer to skip empty keys * Fix linting errors * Update CHANGELOG_PENDING.md * Update docs/spec/abci/abci.md Co-Authored-By: Federico Kunze <31522760+fedekunze@users.noreply.github.com> * Update abci/types/types.proto Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update docs/spec/abci/abci.md Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update libs/pubsub/query/query.go Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update match function to match if ANY value matches * Implement TestSubscribeDuplicateKeys * Update TestMatches to include multi-key test cases * Update events.go * Update Query interface godoc * Update match godoc * Add godoc for matchValue * DRY-up tx indexing * Return error from PublishWithEvents in EventBus#Publish * Update PublishEventNewBlockHeader to return an error * Fix build * Update events doc in ABCI * Update ABCI events godoc * Implement TestEventBusPublishEventTxDuplicateKeys * Update TestSubscribeDuplicateKeys to be table-driven * Remove mod file * Remove markdown from events godoc * Implement TestTxSearchDeprecatedIndexing test
5 years ago
abci: Refactor tagging events using list of lists (#3643) ## PR This PR introduces a fundamental breaking change to the structure of ABCI response and tx tags and the way they're processed. Namely, the SDK can support more complex and aggregated events for distribution and slashing. In addition, block responses can include duplicate keys in events. Implement new Event type. An event has a type and a list of KV pairs (ie. list-of-lists). Typical events may look like: "rewards": [{"amount": "5000uatom", "validator": "...", "recipient": "..."}] "sender": [{"address": "...", "balance": "100uatom"}] The events are indexed by {even.type}.{even.attribute[i].key}/.... In this case a client would subscribe or query for rewards.recipient='...' ABCI response types and related types now include Events []Event instead of Tags []cmn.KVPair. PubSub logic now publishes/matches against map[string][]string instead of map[string]string to support duplicate keys in response events (from #1385). A match is successful if the value is found in the slice of strings. closes: #1859 closes: #2905 ## Commits: * Implement Event ABCI type and updates responses to use events * Update messages_test.go * Update kvstore.go * Update event_bus.go * Update subscription.go * Update pubsub.go * Update kvstore.go * Update query logic to handle slice of strings in events * Update Empty#Matches and unit tests * Update pubsub logic * Update EventBus#Publish * Update kv tx indexer * Update godocs * Update ResultEvent to use slice of strings; update RPC * Update more tests * Update abci.md * Check for key in validateAndStringifyEvents * Fix KV indexer to skip empty keys * Fix linting errors * Update CHANGELOG_PENDING.md * Update docs/spec/abci/abci.md Co-Authored-By: Federico Kunze <31522760+fedekunze@users.noreply.github.com> * Update abci/types/types.proto Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update docs/spec/abci/abci.md Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update libs/pubsub/query/query.go Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update match function to match if ANY value matches * Implement TestSubscribeDuplicateKeys * Update TestMatches to include multi-key test cases * Update events.go * Update Query interface godoc * Update match godoc * Add godoc for matchValue * DRY-up tx indexing * Return error from PublishWithEvents in EventBus#Publish * Update PublishEventNewBlockHeader to return an error * Fix build * Update events doc in ABCI * Update ABCI events godoc * Implement TestEventBusPublishEventTxDuplicateKeys * Update TestSubscribeDuplicateKeys to be table-driven * Remove mod file * Remove markdown from events godoc * Implement TestTxSearchDeprecatedIndexing test
5 years ago
abci: Refactor tagging events using list of lists (#3643) ## PR This PR introduces a fundamental breaking change to the structure of ABCI response and tx tags and the way they're processed. Namely, the SDK can support more complex and aggregated events for distribution and slashing. In addition, block responses can include duplicate keys in events. Implement new Event type. An event has a type and a list of KV pairs (ie. list-of-lists). Typical events may look like: "rewards": [{"amount": "5000uatom", "validator": "...", "recipient": "..."}] "sender": [{"address": "...", "balance": "100uatom"}] The events are indexed by {even.type}.{even.attribute[i].key}/.... In this case a client would subscribe or query for rewards.recipient='...' ABCI response types and related types now include Events []Event instead of Tags []cmn.KVPair. PubSub logic now publishes/matches against map[string][]string instead of map[string]string to support duplicate keys in response events (from #1385). A match is successful if the value is found in the slice of strings. closes: #1859 closes: #2905 ## Commits: * Implement Event ABCI type and updates responses to use events * Update messages_test.go * Update kvstore.go * Update event_bus.go * Update subscription.go * Update pubsub.go * Update kvstore.go * Update query logic to handle slice of strings in events * Update Empty#Matches and unit tests * Update pubsub logic * Update EventBus#Publish * Update kv tx indexer * Update godocs * Update ResultEvent to use slice of strings; update RPC * Update more tests * Update abci.md * Check for key in validateAndStringifyEvents * Fix KV indexer to skip empty keys * Fix linting errors * Update CHANGELOG_PENDING.md * Update docs/spec/abci/abci.md Co-Authored-By: Federico Kunze <31522760+fedekunze@users.noreply.github.com> * Update abci/types/types.proto Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update docs/spec/abci/abci.md Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update libs/pubsub/query/query.go Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update match function to match if ANY value matches * Implement TestSubscribeDuplicateKeys * Update TestMatches to include multi-key test cases * Update events.go * Update Query interface godoc * Update match godoc * Add godoc for matchValue * DRY-up tx indexing * Return error from PublishWithEvents in EventBus#Publish * Update PublishEventNewBlockHeader to return an error * Fix build * Update events doc in ABCI * Update ABCI events godoc * Implement TestEventBusPublishEventTxDuplicateKeys * Update TestSubscribeDuplicateKeys to be table-driven * Remove mod file * Remove markdown from events godoc * Implement TestTxSearchDeprecatedIndexing test
5 years ago
abci: Refactor tagging events using list of lists (#3643) ## PR This PR introduces a fundamental breaking change to the structure of ABCI response and tx tags and the way they're processed. Namely, the SDK can support more complex and aggregated events for distribution and slashing. In addition, block responses can include duplicate keys in events. Implement new Event type. An event has a type and a list of KV pairs (ie. list-of-lists). Typical events may look like: "rewards": [{"amount": "5000uatom", "validator": "...", "recipient": "..."}] "sender": [{"address": "...", "balance": "100uatom"}] The events are indexed by {even.type}.{even.attribute[i].key}/.... In this case a client would subscribe or query for rewards.recipient='...' ABCI response types and related types now include Events []Event instead of Tags []cmn.KVPair. PubSub logic now publishes/matches against map[string][]string instead of map[string]string to support duplicate keys in response events (from #1385). A match is successful if the value is found in the slice of strings. closes: #1859 closes: #2905 ## Commits: * Implement Event ABCI type and updates responses to use events * Update messages_test.go * Update kvstore.go * Update event_bus.go * Update subscription.go * Update pubsub.go * Update kvstore.go * Update query logic to handle slice of strings in events * Update Empty#Matches and unit tests * Update pubsub logic * Update EventBus#Publish * Update kv tx indexer * Update godocs * Update ResultEvent to use slice of strings; update RPC * Update more tests * Update abci.md * Check for key in validateAndStringifyEvents * Fix KV indexer to skip empty keys * Fix linting errors * Update CHANGELOG_PENDING.md * Update docs/spec/abci/abci.md Co-Authored-By: Federico Kunze <31522760+fedekunze@users.noreply.github.com> * Update abci/types/types.proto Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update docs/spec/abci/abci.md Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update libs/pubsub/query/query.go Co-Authored-By: Ethan Buchman <ethan@coinculture.info> * Update match function to match if ANY value matches * Implement TestSubscribeDuplicateKeys * Update TestMatches to include multi-key test cases * Update events.go * Update Query interface godoc * Update match godoc * Add godoc for matchValue * DRY-up tx indexing * Return error from PublishWithEvents in EventBus#Publish * Update PublishEventNewBlockHeader to return an error * Fix build * Update events doc in ABCI * Update ABCI events godoc * Implement TestEventBusPublishEventTxDuplicateKeys * Update TestSubscribeDuplicateKeys to be table-driven * Remove mod file * Remove markdown from events godoc * Implement TestTxSearchDeprecatedIndexing test
5 years ago
  1. // Code generated by protoc-gen-gogo. DO NOT EDIT.
  2. // source: tendermint/abci/types.proto
  3. package types
  4. import (
  5. context "context"
  6. fmt "fmt"
  7. _ "github.com/gogo/protobuf/gogoproto"
  8. proto "github.com/gogo/protobuf/proto"
  9. _ "github.com/gogo/protobuf/types"
  10. github_com_gogo_protobuf_types "github.com/gogo/protobuf/types"
  11. crypto "github.com/tendermint/tendermint/proto/tendermint/crypto"
  12. types1 "github.com/tendermint/tendermint/proto/tendermint/types"
  13. grpc "google.golang.org/grpc"
  14. codes "google.golang.org/grpc/codes"
  15. status "google.golang.org/grpc/status"
  16. io "io"
  17. math "math"
  18. math_bits "math/bits"
  19. time "time"
  20. )
  21. // Reference imports to suppress errors if they are not otherwise used.
  22. var _ = proto.Marshal
  23. var _ = fmt.Errorf
  24. var _ = math.Inf
  25. var _ = time.Kitchen
  26. // This is a compile-time assertion to ensure that this generated file
  27. // is compatible with the proto package it is being compiled against.
  28. // A compilation error at this line likely means your copy of the
  29. // proto package needs to be updated.
  30. const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package
  31. type CheckTxType int32
  32. const (
  33. CheckTxType_New CheckTxType = 0
  34. CheckTxType_Recheck CheckTxType = 1
  35. )
  36. var CheckTxType_name = map[int32]string{
  37. 0: "NEW",
  38. 1: "RECHECK",
  39. }
  40. var CheckTxType_value = map[string]int32{
  41. "NEW": 0,
  42. "RECHECK": 1,
  43. }
  44. func (x CheckTxType) String() string {
  45. return proto.EnumName(CheckTxType_name, int32(x))
  46. }
  47. func (CheckTxType) EnumDescriptor() ([]byte, []int) {
  48. return fileDescriptor_252557cfdd89a31a, []int{0}
  49. }
  50. type EvidenceType int32
  51. const (
  52. EvidenceType_UNKNOWN EvidenceType = 0
  53. EvidenceType_DUPLICATE_VOTE EvidenceType = 1
  54. EvidenceType_LIGHT_CLIENT_ATTACK EvidenceType = 2
  55. )
  56. var EvidenceType_name = map[int32]string{
  57. 0: "UNKNOWN",
  58. 1: "DUPLICATE_VOTE",
  59. 2: "LIGHT_CLIENT_ATTACK",
  60. }
  61. var EvidenceType_value = map[string]int32{
  62. "UNKNOWN": 0,
  63. "DUPLICATE_VOTE": 1,
  64. "LIGHT_CLIENT_ATTACK": 2,
  65. }
  66. func (x EvidenceType) String() string {
  67. return proto.EnumName(EvidenceType_name, int32(x))
  68. }
  69. func (EvidenceType) EnumDescriptor() ([]byte, []int) {
  70. return fileDescriptor_252557cfdd89a31a, []int{1}
  71. }
  72. type ResponseOfferSnapshot_Result int32
  73. const (
  74. ResponseOfferSnapshot_UNKNOWN ResponseOfferSnapshot_Result = 0
  75. ResponseOfferSnapshot_ACCEPT ResponseOfferSnapshot_Result = 1
  76. ResponseOfferSnapshot_ABORT ResponseOfferSnapshot_Result = 2
  77. ResponseOfferSnapshot_REJECT ResponseOfferSnapshot_Result = 3
  78. ResponseOfferSnapshot_REJECT_FORMAT ResponseOfferSnapshot_Result = 4
  79. ResponseOfferSnapshot_REJECT_SENDER ResponseOfferSnapshot_Result = 5
  80. )
  81. var ResponseOfferSnapshot_Result_name = map[int32]string{
  82. 0: "UNKNOWN",
  83. 1: "ACCEPT",
  84. 2: "ABORT",
  85. 3: "REJECT",
  86. 4: "REJECT_FORMAT",
  87. 5: "REJECT_SENDER",
  88. }
  89. var ResponseOfferSnapshot_Result_value = map[string]int32{
  90. "UNKNOWN": 0,
  91. "ACCEPT": 1,
  92. "ABORT": 2,
  93. "REJECT": 3,
  94. "REJECT_FORMAT": 4,
  95. "REJECT_SENDER": 5,
  96. }
  97. func (x ResponseOfferSnapshot_Result) String() string {
  98. return proto.EnumName(ResponseOfferSnapshot_Result_name, int32(x))
  99. }
  100. func (ResponseOfferSnapshot_Result) EnumDescriptor() ([]byte, []int) {
  101. return fileDescriptor_252557cfdd89a31a, []int{28, 0}
  102. }
  103. type ResponseApplySnapshotChunk_Result int32
  104. const (
  105. ResponseApplySnapshotChunk_UNKNOWN ResponseApplySnapshotChunk_Result = 0
  106. ResponseApplySnapshotChunk_ACCEPT ResponseApplySnapshotChunk_Result = 1
  107. ResponseApplySnapshotChunk_ABORT ResponseApplySnapshotChunk_Result = 2
  108. ResponseApplySnapshotChunk_RETRY ResponseApplySnapshotChunk_Result = 3
  109. ResponseApplySnapshotChunk_RETRY_SNAPSHOT ResponseApplySnapshotChunk_Result = 4
  110. ResponseApplySnapshotChunk_REJECT_SNAPSHOT ResponseApplySnapshotChunk_Result = 5
  111. )
  112. var ResponseApplySnapshotChunk_Result_name = map[int32]string{
  113. 0: "UNKNOWN",
  114. 1: "ACCEPT",
  115. 2: "ABORT",
  116. 3: "RETRY",
  117. 4: "RETRY_SNAPSHOT",
  118. 5: "REJECT_SNAPSHOT",
  119. }
  120. var ResponseApplySnapshotChunk_Result_value = map[string]int32{
  121. "UNKNOWN": 0,
  122. "ACCEPT": 1,
  123. "ABORT": 2,
  124. "RETRY": 3,
  125. "RETRY_SNAPSHOT": 4,
  126. "REJECT_SNAPSHOT": 5,
  127. }
  128. func (x ResponseApplySnapshotChunk_Result) String() string {
  129. return proto.EnumName(ResponseApplySnapshotChunk_Result_name, int32(x))
  130. }
  131. func (ResponseApplySnapshotChunk_Result) EnumDescriptor() ([]byte, []int) {
  132. return fileDescriptor_252557cfdd89a31a, []int{30, 0}
  133. }
  134. type ResponseVerifyVoteExtension_Result int32
  135. const (
  136. ResponseVerifyVoteExtension_UNKNOWN ResponseVerifyVoteExtension_Result = 0
  137. ResponseVerifyVoteExtension_ACCEPT ResponseVerifyVoteExtension_Result = 1
  138. ResponseVerifyVoteExtension_SLASH ResponseVerifyVoteExtension_Result = 2
  139. ResponseVerifyVoteExtension_REJECT ResponseVerifyVoteExtension_Result = 3
  140. )
  141. var ResponseVerifyVoteExtension_Result_name = map[int32]string{
  142. 0: "UNKNOWN",
  143. 1: "ACCEPT",
  144. 2: "SLASH",
  145. 3: "REJECT",
  146. }
  147. var ResponseVerifyVoteExtension_Result_value = map[string]int32{
  148. "UNKNOWN": 0,
  149. "ACCEPT": 1,
  150. "SLASH": 2,
  151. "REJECT": 3,
  152. }
  153. func (x ResponseVerifyVoteExtension_Result) String() string {
  154. return proto.EnumName(ResponseVerifyVoteExtension_Result_name, int32(x))
  155. }
  156. func (ResponseVerifyVoteExtension_Result) EnumDescriptor() ([]byte, []int) {
  157. return fileDescriptor_252557cfdd89a31a, []int{33, 0}
  158. }
  159. type ResponseProcessProposal_Result int32
  160. const (
  161. ResponseProcessProposal_UNKNOWN ResponseProcessProposal_Result = 0
  162. ResponseProcessProposal_ACCEPT ResponseProcessProposal_Result = 1
  163. ResponseProcessProposal_REJECT ResponseProcessProposal_Result = 2
  164. )
  165. var ResponseProcessProposal_Result_name = map[int32]string{
  166. 0: "UNKNOWN",
  167. 1: "ACCEPT",
  168. 2: "REJECT",
  169. }
  170. var ResponseProcessProposal_Result_value = map[string]int32{
  171. "UNKNOWN": 0,
  172. "ACCEPT": 1,
  173. "REJECT": 2,
  174. }
  175. func (x ResponseProcessProposal_Result) String() string {
  176. return proto.EnumName(ResponseProcessProposal_Result_name, int32(x))
  177. }
  178. func (ResponseProcessProposal_Result) EnumDescriptor() ([]byte, []int) {
  179. return fileDescriptor_252557cfdd89a31a, []int{34, 0}
  180. }
  181. type Request struct {
  182. // Types that are valid to be assigned to Value:
  183. // *Request_Echo
  184. // *Request_Flush
  185. // *Request_Info
  186. // *Request_InitChain
  187. // *Request_Query
  188. // *Request_CheckTx
  189. // *Request_Commit
  190. // *Request_ListSnapshots
  191. // *Request_OfferSnapshot
  192. // *Request_LoadSnapshotChunk
  193. // *Request_ApplySnapshotChunk
  194. // *Request_PrepareProposal
  195. // *Request_ProcessProposal
  196. // *Request_ExtendVote
  197. // *Request_VerifyVoteExtension
  198. // *Request_FinalizeBlock
  199. Value isRequest_Value `protobuf_oneof:"value"`
  200. }
  201. func (m *Request) Reset() { *m = Request{} }
  202. func (m *Request) String() string { return proto.CompactTextString(m) }
  203. func (*Request) ProtoMessage() {}
  204. func (*Request) Descriptor() ([]byte, []int) {
  205. return fileDescriptor_252557cfdd89a31a, []int{0}
  206. }
  207. func (m *Request) XXX_Unmarshal(b []byte) error {
  208. return m.Unmarshal(b)
  209. }
  210. func (m *Request) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  211. if deterministic {
  212. return xxx_messageInfo_Request.Marshal(b, m, deterministic)
  213. } else {
  214. b = b[:cap(b)]
  215. n, err := m.MarshalToSizedBuffer(b)
  216. if err != nil {
  217. return nil, err
  218. }
  219. return b[:n], nil
  220. }
  221. }
  222. func (m *Request) XXX_Merge(src proto.Message) {
  223. xxx_messageInfo_Request.Merge(m, src)
  224. }
  225. func (m *Request) XXX_Size() int {
  226. return m.Size()
  227. }
  228. func (m *Request) XXX_DiscardUnknown() {
  229. xxx_messageInfo_Request.DiscardUnknown(m)
  230. }
  231. var xxx_messageInfo_Request proto.InternalMessageInfo
  232. type isRequest_Value interface {
  233. isRequest_Value()
  234. MarshalTo([]byte) (int, error)
  235. Size() int
  236. }
  237. type Request_Echo struct {
  238. Echo *RequestEcho `protobuf:"bytes,1,opt,name=echo,proto3,oneof" json:"echo,omitempty"`
  239. }
  240. type Request_Flush struct {
  241. Flush *RequestFlush `protobuf:"bytes,2,opt,name=flush,proto3,oneof" json:"flush,omitempty"`
  242. }
  243. type Request_Info struct {
  244. Info *RequestInfo `protobuf:"bytes,3,opt,name=info,proto3,oneof" json:"info,omitempty"`
  245. }
  246. type Request_InitChain struct {
  247. InitChain *RequestInitChain `protobuf:"bytes,4,opt,name=init_chain,json=initChain,proto3,oneof" json:"init_chain,omitempty"`
  248. }
  249. type Request_Query struct {
  250. Query *RequestQuery `protobuf:"bytes,5,opt,name=query,proto3,oneof" json:"query,omitempty"`
  251. }
  252. type Request_CheckTx struct {
  253. CheckTx *RequestCheckTx `protobuf:"bytes,7,opt,name=check_tx,json=checkTx,proto3,oneof" json:"check_tx,omitempty"`
  254. }
  255. type Request_Commit struct {
  256. Commit *RequestCommit `protobuf:"bytes,10,opt,name=commit,proto3,oneof" json:"commit,omitempty"`
  257. }
  258. type Request_ListSnapshots struct {
  259. ListSnapshots *RequestListSnapshots `protobuf:"bytes,11,opt,name=list_snapshots,json=listSnapshots,proto3,oneof" json:"list_snapshots,omitempty"`
  260. }
  261. type Request_OfferSnapshot struct {
  262. OfferSnapshot *RequestOfferSnapshot `protobuf:"bytes,12,opt,name=offer_snapshot,json=offerSnapshot,proto3,oneof" json:"offer_snapshot,omitempty"`
  263. }
  264. type Request_LoadSnapshotChunk struct {
  265. LoadSnapshotChunk *RequestLoadSnapshotChunk `protobuf:"bytes,13,opt,name=load_snapshot_chunk,json=loadSnapshotChunk,proto3,oneof" json:"load_snapshot_chunk,omitempty"`
  266. }
  267. type Request_ApplySnapshotChunk struct {
  268. ApplySnapshotChunk *RequestApplySnapshotChunk `protobuf:"bytes,14,opt,name=apply_snapshot_chunk,json=applySnapshotChunk,proto3,oneof" json:"apply_snapshot_chunk,omitempty"`
  269. }
  270. type Request_PrepareProposal struct {
  271. PrepareProposal *RequestPrepareProposal `protobuf:"bytes,15,opt,name=prepare_proposal,json=prepareProposal,proto3,oneof" json:"prepare_proposal,omitempty"`
  272. }
  273. type Request_ProcessProposal struct {
  274. ProcessProposal *RequestProcessProposal `protobuf:"bytes,16,opt,name=process_proposal,json=processProposal,proto3,oneof" json:"process_proposal,omitempty"`
  275. }
  276. type Request_ExtendVote struct {
  277. ExtendVote *RequestExtendVote `protobuf:"bytes,17,opt,name=extend_vote,json=extendVote,proto3,oneof" json:"extend_vote,omitempty"`
  278. }
  279. type Request_VerifyVoteExtension struct {
  280. VerifyVoteExtension *RequestVerifyVoteExtension `protobuf:"bytes,18,opt,name=verify_vote_extension,json=verifyVoteExtension,proto3,oneof" json:"verify_vote_extension,omitempty"`
  281. }
  282. type Request_FinalizeBlock struct {
  283. FinalizeBlock *RequestFinalizeBlock `protobuf:"bytes,19,opt,name=finalize_block,json=finalizeBlock,proto3,oneof" json:"finalize_block,omitempty"`
  284. }
  285. func (*Request_Echo) isRequest_Value() {}
  286. func (*Request_Flush) isRequest_Value() {}
  287. func (*Request_Info) isRequest_Value() {}
  288. func (*Request_InitChain) isRequest_Value() {}
  289. func (*Request_Query) isRequest_Value() {}
  290. func (*Request_CheckTx) isRequest_Value() {}
  291. func (*Request_Commit) isRequest_Value() {}
  292. func (*Request_ListSnapshots) isRequest_Value() {}
  293. func (*Request_OfferSnapshot) isRequest_Value() {}
  294. func (*Request_LoadSnapshotChunk) isRequest_Value() {}
  295. func (*Request_ApplySnapshotChunk) isRequest_Value() {}
  296. func (*Request_PrepareProposal) isRequest_Value() {}
  297. func (*Request_ProcessProposal) isRequest_Value() {}
  298. func (*Request_ExtendVote) isRequest_Value() {}
  299. func (*Request_VerifyVoteExtension) isRequest_Value() {}
  300. func (*Request_FinalizeBlock) isRequest_Value() {}
  301. func (m *Request) GetValue() isRequest_Value {
  302. if m != nil {
  303. return m.Value
  304. }
  305. return nil
  306. }
  307. func (m *Request) GetEcho() *RequestEcho {
  308. if x, ok := m.GetValue().(*Request_Echo); ok {
  309. return x.Echo
  310. }
  311. return nil
  312. }
  313. func (m *Request) GetFlush() *RequestFlush {
  314. if x, ok := m.GetValue().(*Request_Flush); ok {
  315. return x.Flush
  316. }
  317. return nil
  318. }
  319. func (m *Request) GetInfo() *RequestInfo {
  320. if x, ok := m.GetValue().(*Request_Info); ok {
  321. return x.Info
  322. }
  323. return nil
  324. }
  325. func (m *Request) GetInitChain() *RequestInitChain {
  326. if x, ok := m.GetValue().(*Request_InitChain); ok {
  327. return x.InitChain
  328. }
  329. return nil
  330. }
  331. func (m *Request) GetQuery() *RequestQuery {
  332. if x, ok := m.GetValue().(*Request_Query); ok {
  333. return x.Query
  334. }
  335. return nil
  336. }
  337. func (m *Request) GetCheckTx() *RequestCheckTx {
  338. if x, ok := m.GetValue().(*Request_CheckTx); ok {
  339. return x.CheckTx
  340. }
  341. return nil
  342. }
  343. func (m *Request) GetCommit() *RequestCommit {
  344. if x, ok := m.GetValue().(*Request_Commit); ok {
  345. return x.Commit
  346. }
  347. return nil
  348. }
  349. func (m *Request) GetListSnapshots() *RequestListSnapshots {
  350. if x, ok := m.GetValue().(*Request_ListSnapshots); ok {
  351. return x.ListSnapshots
  352. }
  353. return nil
  354. }
  355. func (m *Request) GetOfferSnapshot() *RequestOfferSnapshot {
  356. if x, ok := m.GetValue().(*Request_OfferSnapshot); ok {
  357. return x.OfferSnapshot
  358. }
  359. return nil
  360. }
  361. func (m *Request) GetLoadSnapshotChunk() *RequestLoadSnapshotChunk {
  362. if x, ok := m.GetValue().(*Request_LoadSnapshotChunk); ok {
  363. return x.LoadSnapshotChunk
  364. }
  365. return nil
  366. }
  367. func (m *Request) GetApplySnapshotChunk() *RequestApplySnapshotChunk {
  368. if x, ok := m.GetValue().(*Request_ApplySnapshotChunk); ok {
  369. return x.ApplySnapshotChunk
  370. }
  371. return nil
  372. }
  373. func (m *Request) GetPrepareProposal() *RequestPrepareProposal {
  374. if x, ok := m.GetValue().(*Request_PrepareProposal); ok {
  375. return x.PrepareProposal
  376. }
  377. return nil
  378. }
  379. func (m *Request) GetProcessProposal() *RequestProcessProposal {
  380. if x, ok := m.GetValue().(*Request_ProcessProposal); ok {
  381. return x.ProcessProposal
  382. }
  383. return nil
  384. }
  385. func (m *Request) GetExtendVote() *RequestExtendVote {
  386. if x, ok := m.GetValue().(*Request_ExtendVote); ok {
  387. return x.ExtendVote
  388. }
  389. return nil
  390. }
  391. func (m *Request) GetVerifyVoteExtension() *RequestVerifyVoteExtension {
  392. if x, ok := m.GetValue().(*Request_VerifyVoteExtension); ok {
  393. return x.VerifyVoteExtension
  394. }
  395. return nil
  396. }
  397. func (m *Request) GetFinalizeBlock() *RequestFinalizeBlock {
  398. if x, ok := m.GetValue().(*Request_FinalizeBlock); ok {
  399. return x.FinalizeBlock
  400. }
  401. return nil
  402. }
  403. // XXX_OneofWrappers is for the internal use of the proto package.
  404. func (*Request) XXX_OneofWrappers() []interface{} {
  405. return []interface{}{
  406. (*Request_Echo)(nil),
  407. (*Request_Flush)(nil),
  408. (*Request_Info)(nil),
  409. (*Request_InitChain)(nil),
  410. (*Request_Query)(nil),
  411. (*Request_CheckTx)(nil),
  412. (*Request_Commit)(nil),
  413. (*Request_ListSnapshots)(nil),
  414. (*Request_OfferSnapshot)(nil),
  415. (*Request_LoadSnapshotChunk)(nil),
  416. (*Request_ApplySnapshotChunk)(nil),
  417. (*Request_PrepareProposal)(nil),
  418. (*Request_ProcessProposal)(nil),
  419. (*Request_ExtendVote)(nil),
  420. (*Request_VerifyVoteExtension)(nil),
  421. (*Request_FinalizeBlock)(nil),
  422. }
  423. }
  424. type RequestEcho struct {
  425. Message string `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"`
  426. }
  427. func (m *RequestEcho) Reset() { *m = RequestEcho{} }
  428. func (m *RequestEcho) String() string { return proto.CompactTextString(m) }
  429. func (*RequestEcho) ProtoMessage() {}
  430. func (*RequestEcho) Descriptor() ([]byte, []int) {
  431. return fileDescriptor_252557cfdd89a31a, []int{1}
  432. }
  433. func (m *RequestEcho) XXX_Unmarshal(b []byte) error {
  434. return m.Unmarshal(b)
  435. }
  436. func (m *RequestEcho) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  437. if deterministic {
  438. return xxx_messageInfo_RequestEcho.Marshal(b, m, deterministic)
  439. } else {
  440. b = b[:cap(b)]
  441. n, err := m.MarshalToSizedBuffer(b)
  442. if err != nil {
  443. return nil, err
  444. }
  445. return b[:n], nil
  446. }
  447. }
  448. func (m *RequestEcho) XXX_Merge(src proto.Message) {
  449. xxx_messageInfo_RequestEcho.Merge(m, src)
  450. }
  451. func (m *RequestEcho) XXX_Size() int {
  452. return m.Size()
  453. }
  454. func (m *RequestEcho) XXX_DiscardUnknown() {
  455. xxx_messageInfo_RequestEcho.DiscardUnknown(m)
  456. }
  457. var xxx_messageInfo_RequestEcho proto.InternalMessageInfo
  458. func (m *RequestEcho) GetMessage() string {
  459. if m != nil {
  460. return m.Message
  461. }
  462. return ""
  463. }
  464. type RequestFlush struct {
  465. }
  466. func (m *RequestFlush) Reset() { *m = RequestFlush{} }
  467. func (m *RequestFlush) String() string { return proto.CompactTextString(m) }
  468. func (*RequestFlush) ProtoMessage() {}
  469. func (*RequestFlush) Descriptor() ([]byte, []int) {
  470. return fileDescriptor_252557cfdd89a31a, []int{2}
  471. }
  472. func (m *RequestFlush) XXX_Unmarshal(b []byte) error {
  473. return m.Unmarshal(b)
  474. }
  475. func (m *RequestFlush) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  476. if deterministic {
  477. return xxx_messageInfo_RequestFlush.Marshal(b, m, deterministic)
  478. } else {
  479. b = b[:cap(b)]
  480. n, err := m.MarshalToSizedBuffer(b)
  481. if err != nil {
  482. return nil, err
  483. }
  484. return b[:n], nil
  485. }
  486. }
  487. func (m *RequestFlush) XXX_Merge(src proto.Message) {
  488. xxx_messageInfo_RequestFlush.Merge(m, src)
  489. }
  490. func (m *RequestFlush) XXX_Size() int {
  491. return m.Size()
  492. }
  493. func (m *RequestFlush) XXX_DiscardUnknown() {
  494. xxx_messageInfo_RequestFlush.DiscardUnknown(m)
  495. }
  496. var xxx_messageInfo_RequestFlush proto.InternalMessageInfo
  497. type RequestInfo struct {
  498. Version string `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"`
  499. BlockVersion uint64 `protobuf:"varint,2,opt,name=block_version,json=blockVersion,proto3" json:"block_version,omitempty"`
  500. P2PVersion uint64 `protobuf:"varint,3,opt,name=p2p_version,json=p2pVersion,proto3" json:"p2p_version,omitempty"`
  501. AbciVersion string `protobuf:"bytes,4,opt,name=abci_version,json=abciVersion,proto3" json:"abci_version,omitempty"`
  502. }
  503. func (m *RequestInfo) Reset() { *m = RequestInfo{} }
  504. func (m *RequestInfo) String() string { return proto.CompactTextString(m) }
  505. func (*RequestInfo) ProtoMessage() {}
  506. func (*RequestInfo) Descriptor() ([]byte, []int) {
  507. return fileDescriptor_252557cfdd89a31a, []int{3}
  508. }
  509. func (m *RequestInfo) XXX_Unmarshal(b []byte) error {
  510. return m.Unmarshal(b)
  511. }
  512. func (m *RequestInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  513. if deterministic {
  514. return xxx_messageInfo_RequestInfo.Marshal(b, m, deterministic)
  515. } else {
  516. b = b[:cap(b)]
  517. n, err := m.MarshalToSizedBuffer(b)
  518. if err != nil {
  519. return nil, err
  520. }
  521. return b[:n], nil
  522. }
  523. }
  524. func (m *RequestInfo) XXX_Merge(src proto.Message) {
  525. xxx_messageInfo_RequestInfo.Merge(m, src)
  526. }
  527. func (m *RequestInfo) XXX_Size() int {
  528. return m.Size()
  529. }
  530. func (m *RequestInfo) XXX_DiscardUnknown() {
  531. xxx_messageInfo_RequestInfo.DiscardUnknown(m)
  532. }
  533. var xxx_messageInfo_RequestInfo proto.InternalMessageInfo
  534. func (m *RequestInfo) GetVersion() string {
  535. if m != nil {
  536. return m.Version
  537. }
  538. return ""
  539. }
  540. func (m *RequestInfo) GetBlockVersion() uint64 {
  541. if m != nil {
  542. return m.BlockVersion
  543. }
  544. return 0
  545. }
  546. func (m *RequestInfo) GetP2PVersion() uint64 {
  547. if m != nil {
  548. return m.P2PVersion
  549. }
  550. return 0
  551. }
  552. func (m *RequestInfo) GetAbciVersion() string {
  553. if m != nil {
  554. return m.AbciVersion
  555. }
  556. return ""
  557. }
  558. type RequestInitChain struct {
  559. Time time.Time `protobuf:"bytes,1,opt,name=time,proto3,stdtime" json:"time"`
  560. ChainId string `protobuf:"bytes,2,opt,name=chain_id,json=chainId,proto3" json:"chain_id,omitempty"`
  561. ConsensusParams *types1.ConsensusParams `protobuf:"bytes,3,opt,name=consensus_params,json=consensusParams,proto3" json:"consensus_params,omitempty"`
  562. Validators []ValidatorUpdate `protobuf:"bytes,4,rep,name=validators,proto3" json:"validators"`
  563. AppStateBytes []byte `protobuf:"bytes,5,opt,name=app_state_bytes,json=appStateBytes,proto3" json:"app_state_bytes,omitempty"`
  564. InitialHeight int64 `protobuf:"varint,6,opt,name=initial_height,json=initialHeight,proto3" json:"initial_height,omitempty"`
  565. }
  566. func (m *RequestInitChain) Reset() { *m = RequestInitChain{} }
  567. func (m *RequestInitChain) String() string { return proto.CompactTextString(m) }
  568. func (*RequestInitChain) ProtoMessage() {}
  569. func (*RequestInitChain) Descriptor() ([]byte, []int) {
  570. return fileDescriptor_252557cfdd89a31a, []int{4}
  571. }
  572. func (m *RequestInitChain) XXX_Unmarshal(b []byte) error {
  573. return m.Unmarshal(b)
  574. }
  575. func (m *RequestInitChain) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  576. if deterministic {
  577. return xxx_messageInfo_RequestInitChain.Marshal(b, m, deterministic)
  578. } else {
  579. b = b[:cap(b)]
  580. n, err := m.MarshalToSizedBuffer(b)
  581. if err != nil {
  582. return nil, err
  583. }
  584. return b[:n], nil
  585. }
  586. }
  587. func (m *RequestInitChain) XXX_Merge(src proto.Message) {
  588. xxx_messageInfo_RequestInitChain.Merge(m, src)
  589. }
  590. func (m *RequestInitChain) XXX_Size() int {
  591. return m.Size()
  592. }
  593. func (m *RequestInitChain) XXX_DiscardUnknown() {
  594. xxx_messageInfo_RequestInitChain.DiscardUnknown(m)
  595. }
  596. var xxx_messageInfo_RequestInitChain proto.InternalMessageInfo
  597. func (m *RequestInitChain) GetTime() time.Time {
  598. if m != nil {
  599. return m.Time
  600. }
  601. return time.Time{}
  602. }
  603. func (m *RequestInitChain) GetChainId() string {
  604. if m != nil {
  605. return m.ChainId
  606. }
  607. return ""
  608. }
  609. func (m *RequestInitChain) GetConsensusParams() *types1.ConsensusParams {
  610. if m != nil {
  611. return m.ConsensusParams
  612. }
  613. return nil
  614. }
  615. func (m *RequestInitChain) GetValidators() []ValidatorUpdate {
  616. if m != nil {
  617. return m.Validators
  618. }
  619. return nil
  620. }
  621. func (m *RequestInitChain) GetAppStateBytes() []byte {
  622. if m != nil {
  623. return m.AppStateBytes
  624. }
  625. return nil
  626. }
  627. func (m *RequestInitChain) GetInitialHeight() int64 {
  628. if m != nil {
  629. return m.InitialHeight
  630. }
  631. return 0
  632. }
  633. type RequestQuery struct {
  634. Data []byte `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"`
  635. Path string `protobuf:"bytes,2,opt,name=path,proto3" json:"path,omitempty"`
  636. Height int64 `protobuf:"varint,3,opt,name=height,proto3" json:"height,omitempty"`
  637. Prove bool `protobuf:"varint,4,opt,name=prove,proto3" json:"prove,omitempty"`
  638. }
  639. func (m *RequestQuery) Reset() { *m = RequestQuery{} }
  640. func (m *RequestQuery) String() string { return proto.CompactTextString(m) }
  641. func (*RequestQuery) ProtoMessage() {}
  642. func (*RequestQuery) Descriptor() ([]byte, []int) {
  643. return fileDescriptor_252557cfdd89a31a, []int{5}
  644. }
  645. func (m *RequestQuery) XXX_Unmarshal(b []byte) error {
  646. return m.Unmarshal(b)
  647. }
  648. func (m *RequestQuery) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  649. if deterministic {
  650. return xxx_messageInfo_RequestQuery.Marshal(b, m, deterministic)
  651. } else {
  652. b = b[:cap(b)]
  653. n, err := m.MarshalToSizedBuffer(b)
  654. if err != nil {
  655. return nil, err
  656. }
  657. return b[:n], nil
  658. }
  659. }
  660. func (m *RequestQuery) XXX_Merge(src proto.Message) {
  661. xxx_messageInfo_RequestQuery.Merge(m, src)
  662. }
  663. func (m *RequestQuery) XXX_Size() int {
  664. return m.Size()
  665. }
  666. func (m *RequestQuery) XXX_DiscardUnknown() {
  667. xxx_messageInfo_RequestQuery.DiscardUnknown(m)
  668. }
  669. var xxx_messageInfo_RequestQuery proto.InternalMessageInfo
  670. func (m *RequestQuery) GetData() []byte {
  671. if m != nil {
  672. return m.Data
  673. }
  674. return nil
  675. }
  676. func (m *RequestQuery) GetPath() string {
  677. if m != nil {
  678. return m.Path
  679. }
  680. return ""
  681. }
  682. func (m *RequestQuery) GetHeight() int64 {
  683. if m != nil {
  684. return m.Height
  685. }
  686. return 0
  687. }
  688. func (m *RequestQuery) GetProve() bool {
  689. if m != nil {
  690. return m.Prove
  691. }
  692. return false
  693. }
  694. type RequestCheckTx struct {
  695. Tx []byte `protobuf:"bytes,1,opt,name=tx,proto3" json:"tx,omitempty"`
  696. Type CheckTxType `protobuf:"varint,2,opt,name=type,proto3,enum=tendermint.abci.CheckTxType" json:"type,omitempty"`
  697. }
  698. func (m *RequestCheckTx) Reset() { *m = RequestCheckTx{} }
  699. func (m *RequestCheckTx) String() string { return proto.CompactTextString(m) }
  700. func (*RequestCheckTx) ProtoMessage() {}
  701. func (*RequestCheckTx) Descriptor() ([]byte, []int) {
  702. return fileDescriptor_252557cfdd89a31a, []int{6}
  703. }
  704. func (m *RequestCheckTx) XXX_Unmarshal(b []byte) error {
  705. return m.Unmarshal(b)
  706. }
  707. func (m *RequestCheckTx) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  708. if deterministic {
  709. return xxx_messageInfo_RequestCheckTx.Marshal(b, m, deterministic)
  710. } else {
  711. b = b[:cap(b)]
  712. n, err := m.MarshalToSizedBuffer(b)
  713. if err != nil {
  714. return nil, err
  715. }
  716. return b[:n], nil
  717. }
  718. }
  719. func (m *RequestCheckTx) XXX_Merge(src proto.Message) {
  720. xxx_messageInfo_RequestCheckTx.Merge(m, src)
  721. }
  722. func (m *RequestCheckTx) XXX_Size() int {
  723. return m.Size()
  724. }
  725. func (m *RequestCheckTx) XXX_DiscardUnknown() {
  726. xxx_messageInfo_RequestCheckTx.DiscardUnknown(m)
  727. }
  728. var xxx_messageInfo_RequestCheckTx proto.InternalMessageInfo
  729. func (m *RequestCheckTx) GetTx() []byte {
  730. if m != nil {
  731. return m.Tx
  732. }
  733. return nil
  734. }
  735. func (m *RequestCheckTx) GetType() CheckTxType {
  736. if m != nil {
  737. return m.Type
  738. }
  739. return CheckTxType_New
  740. }
  741. type RequestCommit struct {
  742. }
  743. func (m *RequestCommit) Reset() { *m = RequestCommit{} }
  744. func (m *RequestCommit) String() string { return proto.CompactTextString(m) }
  745. func (*RequestCommit) ProtoMessage() {}
  746. func (*RequestCommit) Descriptor() ([]byte, []int) {
  747. return fileDescriptor_252557cfdd89a31a, []int{7}
  748. }
  749. func (m *RequestCommit) XXX_Unmarshal(b []byte) error {
  750. return m.Unmarshal(b)
  751. }
  752. func (m *RequestCommit) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  753. if deterministic {
  754. return xxx_messageInfo_RequestCommit.Marshal(b, m, deterministic)
  755. } else {
  756. b = b[:cap(b)]
  757. n, err := m.MarshalToSizedBuffer(b)
  758. if err != nil {
  759. return nil, err
  760. }
  761. return b[:n], nil
  762. }
  763. }
  764. func (m *RequestCommit) XXX_Merge(src proto.Message) {
  765. xxx_messageInfo_RequestCommit.Merge(m, src)
  766. }
  767. func (m *RequestCommit) XXX_Size() int {
  768. return m.Size()
  769. }
  770. func (m *RequestCommit) XXX_DiscardUnknown() {
  771. xxx_messageInfo_RequestCommit.DiscardUnknown(m)
  772. }
  773. var xxx_messageInfo_RequestCommit proto.InternalMessageInfo
  774. // lists available snapshots
  775. type RequestListSnapshots struct {
  776. }
  777. func (m *RequestListSnapshots) Reset() { *m = RequestListSnapshots{} }
  778. func (m *RequestListSnapshots) String() string { return proto.CompactTextString(m) }
  779. func (*RequestListSnapshots) ProtoMessage() {}
  780. func (*RequestListSnapshots) Descriptor() ([]byte, []int) {
  781. return fileDescriptor_252557cfdd89a31a, []int{8}
  782. }
  783. func (m *RequestListSnapshots) XXX_Unmarshal(b []byte) error {
  784. return m.Unmarshal(b)
  785. }
  786. func (m *RequestListSnapshots) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  787. if deterministic {
  788. return xxx_messageInfo_RequestListSnapshots.Marshal(b, m, deterministic)
  789. } else {
  790. b = b[:cap(b)]
  791. n, err := m.MarshalToSizedBuffer(b)
  792. if err != nil {
  793. return nil, err
  794. }
  795. return b[:n], nil
  796. }
  797. }
  798. func (m *RequestListSnapshots) XXX_Merge(src proto.Message) {
  799. xxx_messageInfo_RequestListSnapshots.Merge(m, src)
  800. }
  801. func (m *RequestListSnapshots) XXX_Size() int {
  802. return m.Size()
  803. }
  804. func (m *RequestListSnapshots) XXX_DiscardUnknown() {
  805. xxx_messageInfo_RequestListSnapshots.DiscardUnknown(m)
  806. }
  807. var xxx_messageInfo_RequestListSnapshots proto.InternalMessageInfo
  808. // offers a snapshot to the application
  809. type RequestOfferSnapshot struct {
  810. Snapshot *Snapshot `protobuf:"bytes,1,opt,name=snapshot,proto3" json:"snapshot,omitempty"`
  811. AppHash []byte `protobuf:"bytes,2,opt,name=app_hash,json=appHash,proto3" json:"app_hash,omitempty"`
  812. }
  813. func (m *RequestOfferSnapshot) Reset() { *m = RequestOfferSnapshot{} }
  814. func (m *RequestOfferSnapshot) String() string { return proto.CompactTextString(m) }
  815. func (*RequestOfferSnapshot) ProtoMessage() {}
  816. func (*RequestOfferSnapshot) Descriptor() ([]byte, []int) {
  817. return fileDescriptor_252557cfdd89a31a, []int{9}
  818. }
  819. func (m *RequestOfferSnapshot) XXX_Unmarshal(b []byte) error {
  820. return m.Unmarshal(b)
  821. }
  822. func (m *RequestOfferSnapshot) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  823. if deterministic {
  824. return xxx_messageInfo_RequestOfferSnapshot.Marshal(b, m, deterministic)
  825. } else {
  826. b = b[:cap(b)]
  827. n, err := m.MarshalToSizedBuffer(b)
  828. if err != nil {
  829. return nil, err
  830. }
  831. return b[:n], nil
  832. }
  833. }
  834. func (m *RequestOfferSnapshot) XXX_Merge(src proto.Message) {
  835. xxx_messageInfo_RequestOfferSnapshot.Merge(m, src)
  836. }
  837. func (m *RequestOfferSnapshot) XXX_Size() int {
  838. return m.Size()
  839. }
  840. func (m *RequestOfferSnapshot) XXX_DiscardUnknown() {
  841. xxx_messageInfo_RequestOfferSnapshot.DiscardUnknown(m)
  842. }
  843. var xxx_messageInfo_RequestOfferSnapshot proto.InternalMessageInfo
  844. func (m *RequestOfferSnapshot) GetSnapshot() *Snapshot {
  845. if m != nil {
  846. return m.Snapshot
  847. }
  848. return nil
  849. }
  850. func (m *RequestOfferSnapshot) GetAppHash() []byte {
  851. if m != nil {
  852. return m.AppHash
  853. }
  854. return nil
  855. }
  856. // loads a snapshot chunk
  857. type RequestLoadSnapshotChunk struct {
  858. Height uint64 `protobuf:"varint,1,opt,name=height,proto3" json:"height,omitempty"`
  859. Format uint32 `protobuf:"varint,2,opt,name=format,proto3" json:"format,omitempty"`
  860. Chunk uint32 `protobuf:"varint,3,opt,name=chunk,proto3" json:"chunk,omitempty"`
  861. }
  862. func (m *RequestLoadSnapshotChunk) Reset() { *m = RequestLoadSnapshotChunk{} }
  863. func (m *RequestLoadSnapshotChunk) String() string { return proto.CompactTextString(m) }
  864. func (*RequestLoadSnapshotChunk) ProtoMessage() {}
  865. func (*RequestLoadSnapshotChunk) Descriptor() ([]byte, []int) {
  866. return fileDescriptor_252557cfdd89a31a, []int{10}
  867. }
  868. func (m *RequestLoadSnapshotChunk) XXX_Unmarshal(b []byte) error {
  869. return m.Unmarshal(b)
  870. }
  871. func (m *RequestLoadSnapshotChunk) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  872. if deterministic {
  873. return xxx_messageInfo_RequestLoadSnapshotChunk.Marshal(b, m, deterministic)
  874. } else {
  875. b = b[:cap(b)]
  876. n, err := m.MarshalToSizedBuffer(b)
  877. if err != nil {
  878. return nil, err
  879. }
  880. return b[:n], nil
  881. }
  882. }
  883. func (m *RequestLoadSnapshotChunk) XXX_Merge(src proto.Message) {
  884. xxx_messageInfo_RequestLoadSnapshotChunk.Merge(m, src)
  885. }
  886. func (m *RequestLoadSnapshotChunk) XXX_Size() int {
  887. return m.Size()
  888. }
  889. func (m *RequestLoadSnapshotChunk) XXX_DiscardUnknown() {
  890. xxx_messageInfo_RequestLoadSnapshotChunk.DiscardUnknown(m)
  891. }
  892. var xxx_messageInfo_RequestLoadSnapshotChunk proto.InternalMessageInfo
  893. func (m *RequestLoadSnapshotChunk) GetHeight() uint64 {
  894. if m != nil {
  895. return m.Height
  896. }
  897. return 0
  898. }
  899. func (m *RequestLoadSnapshotChunk) GetFormat() uint32 {
  900. if m != nil {
  901. return m.Format
  902. }
  903. return 0
  904. }
  905. func (m *RequestLoadSnapshotChunk) GetChunk() uint32 {
  906. if m != nil {
  907. return m.Chunk
  908. }
  909. return 0
  910. }
  911. // Applies a snapshot chunk
  912. type RequestApplySnapshotChunk struct {
  913. Index uint32 `protobuf:"varint,1,opt,name=index,proto3" json:"index,omitempty"`
  914. Chunk []byte `protobuf:"bytes,2,opt,name=chunk,proto3" json:"chunk,omitempty"`
  915. Sender string `protobuf:"bytes,3,opt,name=sender,proto3" json:"sender,omitempty"`
  916. }
  917. func (m *RequestApplySnapshotChunk) Reset() { *m = RequestApplySnapshotChunk{} }
  918. func (m *RequestApplySnapshotChunk) String() string { return proto.CompactTextString(m) }
  919. func (*RequestApplySnapshotChunk) ProtoMessage() {}
  920. func (*RequestApplySnapshotChunk) Descriptor() ([]byte, []int) {
  921. return fileDescriptor_252557cfdd89a31a, []int{11}
  922. }
  923. func (m *RequestApplySnapshotChunk) XXX_Unmarshal(b []byte) error {
  924. return m.Unmarshal(b)
  925. }
  926. func (m *RequestApplySnapshotChunk) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  927. if deterministic {
  928. return xxx_messageInfo_RequestApplySnapshotChunk.Marshal(b, m, deterministic)
  929. } else {
  930. b = b[:cap(b)]
  931. n, err := m.MarshalToSizedBuffer(b)
  932. if err != nil {
  933. return nil, err
  934. }
  935. return b[:n], nil
  936. }
  937. }
  938. func (m *RequestApplySnapshotChunk) XXX_Merge(src proto.Message) {
  939. xxx_messageInfo_RequestApplySnapshotChunk.Merge(m, src)
  940. }
  941. func (m *RequestApplySnapshotChunk) XXX_Size() int {
  942. return m.Size()
  943. }
  944. func (m *RequestApplySnapshotChunk) XXX_DiscardUnknown() {
  945. xxx_messageInfo_RequestApplySnapshotChunk.DiscardUnknown(m)
  946. }
  947. var xxx_messageInfo_RequestApplySnapshotChunk proto.InternalMessageInfo
  948. func (m *RequestApplySnapshotChunk) GetIndex() uint32 {
  949. if m != nil {
  950. return m.Index
  951. }
  952. return 0
  953. }
  954. func (m *RequestApplySnapshotChunk) GetChunk() []byte {
  955. if m != nil {
  956. return m.Chunk
  957. }
  958. return nil
  959. }
  960. func (m *RequestApplySnapshotChunk) GetSender() string {
  961. if m != nil {
  962. return m.Sender
  963. }
  964. return ""
  965. }
  966. type RequestPrepareProposal struct {
  967. // block_data is an array of transactions that will be included in a block,
  968. // sent to the app for possible modifications.
  969. // applications can not exceed the size of the data passed to it.
  970. BlockData [][]byte `protobuf:"bytes,1,rep,name=block_data,json=blockData,proto3" json:"block_data,omitempty"`
  971. // If an application decides to populate block_data with extra information, they can not exceed this value.
  972. BlockDataSize int64 `protobuf:"varint,2,opt,name=block_data_size,json=blockDataSize,proto3" json:"block_data_size,omitempty"`
  973. }
  974. func (m *RequestPrepareProposal) Reset() { *m = RequestPrepareProposal{} }
  975. func (m *RequestPrepareProposal) String() string { return proto.CompactTextString(m) }
  976. func (*RequestPrepareProposal) ProtoMessage() {}
  977. func (*RequestPrepareProposal) Descriptor() ([]byte, []int) {
  978. return fileDescriptor_252557cfdd89a31a, []int{12}
  979. }
  980. func (m *RequestPrepareProposal) XXX_Unmarshal(b []byte) error {
  981. return m.Unmarshal(b)
  982. }
  983. func (m *RequestPrepareProposal) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  984. if deterministic {
  985. return xxx_messageInfo_RequestPrepareProposal.Marshal(b, m, deterministic)
  986. } else {
  987. b = b[:cap(b)]
  988. n, err := m.MarshalToSizedBuffer(b)
  989. if err != nil {
  990. return nil, err
  991. }
  992. return b[:n], nil
  993. }
  994. }
  995. func (m *RequestPrepareProposal) XXX_Merge(src proto.Message) {
  996. xxx_messageInfo_RequestPrepareProposal.Merge(m, src)
  997. }
  998. func (m *RequestPrepareProposal) XXX_Size() int {
  999. return m.Size()
  1000. }
  1001. func (m *RequestPrepareProposal) XXX_DiscardUnknown() {
  1002. xxx_messageInfo_RequestPrepareProposal.DiscardUnknown(m)
  1003. }
  1004. var xxx_messageInfo_RequestPrepareProposal proto.InternalMessageInfo
  1005. func (m *RequestPrepareProposal) GetBlockData() [][]byte {
  1006. if m != nil {
  1007. return m.BlockData
  1008. }
  1009. return nil
  1010. }
  1011. func (m *RequestPrepareProposal) GetBlockDataSize() int64 {
  1012. if m != nil {
  1013. return m.BlockDataSize
  1014. }
  1015. return 0
  1016. }
  1017. // Extends a vote with application-side injection
  1018. type RequestExtendVote struct {
  1019. Vote *types1.Vote `protobuf:"bytes,1,opt,name=vote,proto3" json:"vote,omitempty"`
  1020. }
  1021. func (m *RequestExtendVote) Reset() { *m = RequestExtendVote{} }
  1022. func (m *RequestExtendVote) String() string { return proto.CompactTextString(m) }
  1023. func (*RequestExtendVote) ProtoMessage() {}
  1024. func (*RequestExtendVote) Descriptor() ([]byte, []int) {
  1025. return fileDescriptor_252557cfdd89a31a, []int{13}
  1026. }
  1027. func (m *RequestExtendVote) XXX_Unmarshal(b []byte) error {
  1028. return m.Unmarshal(b)
  1029. }
  1030. func (m *RequestExtendVote) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1031. if deterministic {
  1032. return xxx_messageInfo_RequestExtendVote.Marshal(b, m, deterministic)
  1033. } else {
  1034. b = b[:cap(b)]
  1035. n, err := m.MarshalToSizedBuffer(b)
  1036. if err != nil {
  1037. return nil, err
  1038. }
  1039. return b[:n], nil
  1040. }
  1041. }
  1042. func (m *RequestExtendVote) XXX_Merge(src proto.Message) {
  1043. xxx_messageInfo_RequestExtendVote.Merge(m, src)
  1044. }
  1045. func (m *RequestExtendVote) XXX_Size() int {
  1046. return m.Size()
  1047. }
  1048. func (m *RequestExtendVote) XXX_DiscardUnknown() {
  1049. xxx_messageInfo_RequestExtendVote.DiscardUnknown(m)
  1050. }
  1051. var xxx_messageInfo_RequestExtendVote proto.InternalMessageInfo
  1052. func (m *RequestExtendVote) GetVote() *types1.Vote {
  1053. if m != nil {
  1054. return m.Vote
  1055. }
  1056. return nil
  1057. }
  1058. // Verify the vote extension
  1059. type RequestVerifyVoteExtension struct {
  1060. Vote *types1.Vote `protobuf:"bytes,1,opt,name=vote,proto3" json:"vote,omitempty"`
  1061. }
  1062. func (m *RequestVerifyVoteExtension) Reset() { *m = RequestVerifyVoteExtension{} }
  1063. func (m *RequestVerifyVoteExtension) String() string { return proto.CompactTextString(m) }
  1064. func (*RequestVerifyVoteExtension) ProtoMessage() {}
  1065. func (*RequestVerifyVoteExtension) Descriptor() ([]byte, []int) {
  1066. return fileDescriptor_252557cfdd89a31a, []int{14}
  1067. }
  1068. func (m *RequestVerifyVoteExtension) XXX_Unmarshal(b []byte) error {
  1069. return m.Unmarshal(b)
  1070. }
  1071. func (m *RequestVerifyVoteExtension) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1072. if deterministic {
  1073. return xxx_messageInfo_RequestVerifyVoteExtension.Marshal(b, m, deterministic)
  1074. } else {
  1075. b = b[:cap(b)]
  1076. n, err := m.MarshalToSizedBuffer(b)
  1077. if err != nil {
  1078. return nil, err
  1079. }
  1080. return b[:n], nil
  1081. }
  1082. }
  1083. func (m *RequestVerifyVoteExtension) XXX_Merge(src proto.Message) {
  1084. xxx_messageInfo_RequestVerifyVoteExtension.Merge(m, src)
  1085. }
  1086. func (m *RequestVerifyVoteExtension) XXX_Size() int {
  1087. return m.Size()
  1088. }
  1089. func (m *RequestVerifyVoteExtension) XXX_DiscardUnknown() {
  1090. xxx_messageInfo_RequestVerifyVoteExtension.DiscardUnknown(m)
  1091. }
  1092. var xxx_messageInfo_RequestVerifyVoteExtension proto.InternalMessageInfo
  1093. func (m *RequestVerifyVoteExtension) GetVote() *types1.Vote {
  1094. if m != nil {
  1095. return m.Vote
  1096. }
  1097. return nil
  1098. }
  1099. type RequestProcessProposal struct {
  1100. Header types1.Header `protobuf:"bytes,1,opt,name=header,proto3" json:"header"`
  1101. Txs [][]byte `protobuf:"bytes,2,rep,name=txs,proto3" json:"txs,omitempty"`
  1102. }
  1103. func (m *RequestProcessProposal) Reset() { *m = RequestProcessProposal{} }
  1104. func (m *RequestProcessProposal) String() string { return proto.CompactTextString(m) }
  1105. func (*RequestProcessProposal) ProtoMessage() {}
  1106. func (*RequestProcessProposal) Descriptor() ([]byte, []int) {
  1107. return fileDescriptor_252557cfdd89a31a, []int{15}
  1108. }
  1109. func (m *RequestProcessProposal) XXX_Unmarshal(b []byte) error {
  1110. return m.Unmarshal(b)
  1111. }
  1112. func (m *RequestProcessProposal) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1113. if deterministic {
  1114. return xxx_messageInfo_RequestProcessProposal.Marshal(b, m, deterministic)
  1115. } else {
  1116. b = b[:cap(b)]
  1117. n, err := m.MarshalToSizedBuffer(b)
  1118. if err != nil {
  1119. return nil, err
  1120. }
  1121. return b[:n], nil
  1122. }
  1123. }
  1124. func (m *RequestProcessProposal) XXX_Merge(src proto.Message) {
  1125. xxx_messageInfo_RequestProcessProposal.Merge(m, src)
  1126. }
  1127. func (m *RequestProcessProposal) XXX_Size() int {
  1128. return m.Size()
  1129. }
  1130. func (m *RequestProcessProposal) XXX_DiscardUnknown() {
  1131. xxx_messageInfo_RequestProcessProposal.DiscardUnknown(m)
  1132. }
  1133. var xxx_messageInfo_RequestProcessProposal proto.InternalMessageInfo
  1134. func (m *RequestProcessProposal) GetHeader() types1.Header {
  1135. if m != nil {
  1136. return m.Header
  1137. }
  1138. return types1.Header{}
  1139. }
  1140. func (m *RequestProcessProposal) GetTxs() [][]byte {
  1141. if m != nil {
  1142. return m.Txs
  1143. }
  1144. return nil
  1145. }
  1146. type RequestFinalizeBlock struct {
  1147. Txs [][]byte `protobuf:"bytes,1,rep,name=txs,proto3" json:"txs,omitempty"`
  1148. Hash []byte `protobuf:"bytes,2,opt,name=hash,proto3" json:"hash,omitempty"`
  1149. Height int64 `protobuf:"varint,3,opt,name=height,proto3" json:"height,omitempty"`
  1150. Header types1.Header `protobuf:"bytes,4,opt,name=header,proto3" json:"header"`
  1151. LastCommitInfo LastCommitInfo `protobuf:"bytes,5,opt,name=last_commit_info,json=lastCommitInfo,proto3" json:"last_commit_info"`
  1152. ByzantineValidators []Evidence `protobuf:"bytes,6,rep,name=byzantine_validators,json=byzantineValidators,proto3" json:"byzantine_validators"`
  1153. }
  1154. func (m *RequestFinalizeBlock) Reset() { *m = RequestFinalizeBlock{} }
  1155. func (m *RequestFinalizeBlock) String() string { return proto.CompactTextString(m) }
  1156. func (*RequestFinalizeBlock) ProtoMessage() {}
  1157. func (*RequestFinalizeBlock) Descriptor() ([]byte, []int) {
  1158. return fileDescriptor_252557cfdd89a31a, []int{16}
  1159. }
  1160. func (m *RequestFinalizeBlock) XXX_Unmarshal(b []byte) error {
  1161. return m.Unmarshal(b)
  1162. }
  1163. func (m *RequestFinalizeBlock) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1164. if deterministic {
  1165. return xxx_messageInfo_RequestFinalizeBlock.Marshal(b, m, deterministic)
  1166. } else {
  1167. b = b[:cap(b)]
  1168. n, err := m.MarshalToSizedBuffer(b)
  1169. if err != nil {
  1170. return nil, err
  1171. }
  1172. return b[:n], nil
  1173. }
  1174. }
  1175. func (m *RequestFinalizeBlock) XXX_Merge(src proto.Message) {
  1176. xxx_messageInfo_RequestFinalizeBlock.Merge(m, src)
  1177. }
  1178. func (m *RequestFinalizeBlock) XXX_Size() int {
  1179. return m.Size()
  1180. }
  1181. func (m *RequestFinalizeBlock) XXX_DiscardUnknown() {
  1182. xxx_messageInfo_RequestFinalizeBlock.DiscardUnknown(m)
  1183. }
  1184. var xxx_messageInfo_RequestFinalizeBlock proto.InternalMessageInfo
  1185. func (m *RequestFinalizeBlock) GetTxs() [][]byte {
  1186. if m != nil {
  1187. return m.Txs
  1188. }
  1189. return nil
  1190. }
  1191. func (m *RequestFinalizeBlock) GetHash() []byte {
  1192. if m != nil {
  1193. return m.Hash
  1194. }
  1195. return nil
  1196. }
  1197. func (m *RequestFinalizeBlock) GetHeight() int64 {
  1198. if m != nil {
  1199. return m.Height
  1200. }
  1201. return 0
  1202. }
  1203. func (m *RequestFinalizeBlock) GetHeader() types1.Header {
  1204. if m != nil {
  1205. return m.Header
  1206. }
  1207. return types1.Header{}
  1208. }
  1209. func (m *RequestFinalizeBlock) GetLastCommitInfo() LastCommitInfo {
  1210. if m != nil {
  1211. return m.LastCommitInfo
  1212. }
  1213. return LastCommitInfo{}
  1214. }
  1215. func (m *RequestFinalizeBlock) GetByzantineValidators() []Evidence {
  1216. if m != nil {
  1217. return m.ByzantineValidators
  1218. }
  1219. return nil
  1220. }
  1221. type Response struct {
  1222. // Types that are valid to be assigned to Value:
  1223. // *Response_Exception
  1224. // *Response_Echo
  1225. // *Response_Flush
  1226. // *Response_Info
  1227. // *Response_InitChain
  1228. // *Response_Query
  1229. // *Response_CheckTx
  1230. // *Response_Commit
  1231. // *Response_ListSnapshots
  1232. // *Response_OfferSnapshot
  1233. // *Response_LoadSnapshotChunk
  1234. // *Response_ApplySnapshotChunk
  1235. // *Response_PrepareProposal
  1236. // *Response_ProcessProposal
  1237. // *Response_ExtendVote
  1238. // *Response_VerifyVoteExtension
  1239. // *Response_FinalizeBlock
  1240. Value isResponse_Value `protobuf_oneof:"value"`
  1241. }
  1242. func (m *Response) Reset() { *m = Response{} }
  1243. func (m *Response) String() string { return proto.CompactTextString(m) }
  1244. func (*Response) ProtoMessage() {}
  1245. func (*Response) Descriptor() ([]byte, []int) {
  1246. return fileDescriptor_252557cfdd89a31a, []int{17}
  1247. }
  1248. func (m *Response) XXX_Unmarshal(b []byte) error {
  1249. return m.Unmarshal(b)
  1250. }
  1251. func (m *Response) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1252. if deterministic {
  1253. return xxx_messageInfo_Response.Marshal(b, m, deterministic)
  1254. } else {
  1255. b = b[:cap(b)]
  1256. n, err := m.MarshalToSizedBuffer(b)
  1257. if err != nil {
  1258. return nil, err
  1259. }
  1260. return b[:n], nil
  1261. }
  1262. }
  1263. func (m *Response) XXX_Merge(src proto.Message) {
  1264. xxx_messageInfo_Response.Merge(m, src)
  1265. }
  1266. func (m *Response) XXX_Size() int {
  1267. return m.Size()
  1268. }
  1269. func (m *Response) XXX_DiscardUnknown() {
  1270. xxx_messageInfo_Response.DiscardUnknown(m)
  1271. }
  1272. var xxx_messageInfo_Response proto.InternalMessageInfo
  1273. type isResponse_Value interface {
  1274. isResponse_Value()
  1275. MarshalTo([]byte) (int, error)
  1276. Size() int
  1277. }
  1278. type Response_Exception struct {
  1279. Exception *ResponseException `protobuf:"bytes,1,opt,name=exception,proto3,oneof" json:"exception,omitempty"`
  1280. }
  1281. type Response_Echo struct {
  1282. Echo *ResponseEcho `protobuf:"bytes,2,opt,name=echo,proto3,oneof" json:"echo,omitempty"`
  1283. }
  1284. type Response_Flush struct {
  1285. Flush *ResponseFlush `protobuf:"bytes,3,opt,name=flush,proto3,oneof" json:"flush,omitempty"`
  1286. }
  1287. type Response_Info struct {
  1288. Info *ResponseInfo `protobuf:"bytes,4,opt,name=info,proto3,oneof" json:"info,omitempty"`
  1289. }
  1290. type Response_InitChain struct {
  1291. InitChain *ResponseInitChain `protobuf:"bytes,5,opt,name=init_chain,json=initChain,proto3,oneof" json:"init_chain,omitempty"`
  1292. }
  1293. type Response_Query struct {
  1294. Query *ResponseQuery `protobuf:"bytes,6,opt,name=query,proto3,oneof" json:"query,omitempty"`
  1295. }
  1296. type Response_CheckTx struct {
  1297. CheckTx *ResponseCheckTx `protobuf:"bytes,8,opt,name=check_tx,json=checkTx,proto3,oneof" json:"check_tx,omitempty"`
  1298. }
  1299. type Response_Commit struct {
  1300. Commit *ResponseCommit `protobuf:"bytes,11,opt,name=commit,proto3,oneof" json:"commit,omitempty"`
  1301. }
  1302. type Response_ListSnapshots struct {
  1303. ListSnapshots *ResponseListSnapshots `protobuf:"bytes,12,opt,name=list_snapshots,json=listSnapshots,proto3,oneof" json:"list_snapshots,omitempty"`
  1304. }
  1305. type Response_OfferSnapshot struct {
  1306. OfferSnapshot *ResponseOfferSnapshot `protobuf:"bytes,13,opt,name=offer_snapshot,json=offerSnapshot,proto3,oneof" json:"offer_snapshot,omitempty"`
  1307. }
  1308. type Response_LoadSnapshotChunk struct {
  1309. LoadSnapshotChunk *ResponseLoadSnapshotChunk `protobuf:"bytes,14,opt,name=load_snapshot_chunk,json=loadSnapshotChunk,proto3,oneof" json:"load_snapshot_chunk,omitempty"`
  1310. }
  1311. type Response_ApplySnapshotChunk struct {
  1312. ApplySnapshotChunk *ResponseApplySnapshotChunk `protobuf:"bytes,15,opt,name=apply_snapshot_chunk,json=applySnapshotChunk,proto3,oneof" json:"apply_snapshot_chunk,omitempty"`
  1313. }
  1314. type Response_PrepareProposal struct {
  1315. PrepareProposal *ResponsePrepareProposal `protobuf:"bytes,16,opt,name=prepare_proposal,json=prepareProposal,proto3,oneof" json:"prepare_proposal,omitempty"`
  1316. }
  1317. type Response_ProcessProposal struct {
  1318. ProcessProposal *ResponseProcessProposal `protobuf:"bytes,17,opt,name=process_proposal,json=processProposal,proto3,oneof" json:"process_proposal,omitempty"`
  1319. }
  1320. type Response_ExtendVote struct {
  1321. ExtendVote *ResponseExtendVote `protobuf:"bytes,18,opt,name=extend_vote,json=extendVote,proto3,oneof" json:"extend_vote,omitempty"`
  1322. }
  1323. type Response_VerifyVoteExtension struct {
  1324. VerifyVoteExtension *ResponseVerifyVoteExtension `protobuf:"bytes,19,opt,name=verify_vote_extension,json=verifyVoteExtension,proto3,oneof" json:"verify_vote_extension,omitempty"`
  1325. }
  1326. type Response_FinalizeBlock struct {
  1327. FinalizeBlock *ResponseFinalizeBlock `protobuf:"bytes,20,opt,name=finalize_block,json=finalizeBlock,proto3,oneof" json:"finalize_block,omitempty"`
  1328. }
  1329. func (*Response_Exception) isResponse_Value() {}
  1330. func (*Response_Echo) isResponse_Value() {}
  1331. func (*Response_Flush) isResponse_Value() {}
  1332. func (*Response_Info) isResponse_Value() {}
  1333. func (*Response_InitChain) isResponse_Value() {}
  1334. func (*Response_Query) isResponse_Value() {}
  1335. func (*Response_CheckTx) isResponse_Value() {}
  1336. func (*Response_Commit) isResponse_Value() {}
  1337. func (*Response_ListSnapshots) isResponse_Value() {}
  1338. func (*Response_OfferSnapshot) isResponse_Value() {}
  1339. func (*Response_LoadSnapshotChunk) isResponse_Value() {}
  1340. func (*Response_ApplySnapshotChunk) isResponse_Value() {}
  1341. func (*Response_PrepareProposal) isResponse_Value() {}
  1342. func (*Response_ProcessProposal) isResponse_Value() {}
  1343. func (*Response_ExtendVote) isResponse_Value() {}
  1344. func (*Response_VerifyVoteExtension) isResponse_Value() {}
  1345. func (*Response_FinalizeBlock) isResponse_Value() {}
  1346. func (m *Response) GetValue() isResponse_Value {
  1347. if m != nil {
  1348. return m.Value
  1349. }
  1350. return nil
  1351. }
  1352. func (m *Response) GetException() *ResponseException {
  1353. if x, ok := m.GetValue().(*Response_Exception); ok {
  1354. return x.Exception
  1355. }
  1356. return nil
  1357. }
  1358. func (m *Response) GetEcho() *ResponseEcho {
  1359. if x, ok := m.GetValue().(*Response_Echo); ok {
  1360. return x.Echo
  1361. }
  1362. return nil
  1363. }
  1364. func (m *Response) GetFlush() *ResponseFlush {
  1365. if x, ok := m.GetValue().(*Response_Flush); ok {
  1366. return x.Flush
  1367. }
  1368. return nil
  1369. }
  1370. func (m *Response) GetInfo() *ResponseInfo {
  1371. if x, ok := m.GetValue().(*Response_Info); ok {
  1372. return x.Info
  1373. }
  1374. return nil
  1375. }
  1376. func (m *Response) GetInitChain() *ResponseInitChain {
  1377. if x, ok := m.GetValue().(*Response_InitChain); ok {
  1378. return x.InitChain
  1379. }
  1380. return nil
  1381. }
  1382. func (m *Response) GetQuery() *ResponseQuery {
  1383. if x, ok := m.GetValue().(*Response_Query); ok {
  1384. return x.Query
  1385. }
  1386. return nil
  1387. }
  1388. func (m *Response) GetCheckTx() *ResponseCheckTx {
  1389. if x, ok := m.GetValue().(*Response_CheckTx); ok {
  1390. return x.CheckTx
  1391. }
  1392. return nil
  1393. }
  1394. func (m *Response) GetCommit() *ResponseCommit {
  1395. if x, ok := m.GetValue().(*Response_Commit); ok {
  1396. return x.Commit
  1397. }
  1398. return nil
  1399. }
  1400. func (m *Response) GetListSnapshots() *ResponseListSnapshots {
  1401. if x, ok := m.GetValue().(*Response_ListSnapshots); ok {
  1402. return x.ListSnapshots
  1403. }
  1404. return nil
  1405. }
  1406. func (m *Response) GetOfferSnapshot() *ResponseOfferSnapshot {
  1407. if x, ok := m.GetValue().(*Response_OfferSnapshot); ok {
  1408. return x.OfferSnapshot
  1409. }
  1410. return nil
  1411. }
  1412. func (m *Response) GetLoadSnapshotChunk() *ResponseLoadSnapshotChunk {
  1413. if x, ok := m.GetValue().(*Response_LoadSnapshotChunk); ok {
  1414. return x.LoadSnapshotChunk
  1415. }
  1416. return nil
  1417. }
  1418. func (m *Response) GetApplySnapshotChunk() *ResponseApplySnapshotChunk {
  1419. if x, ok := m.GetValue().(*Response_ApplySnapshotChunk); ok {
  1420. return x.ApplySnapshotChunk
  1421. }
  1422. return nil
  1423. }
  1424. func (m *Response) GetPrepareProposal() *ResponsePrepareProposal {
  1425. if x, ok := m.GetValue().(*Response_PrepareProposal); ok {
  1426. return x.PrepareProposal
  1427. }
  1428. return nil
  1429. }
  1430. func (m *Response) GetProcessProposal() *ResponseProcessProposal {
  1431. if x, ok := m.GetValue().(*Response_ProcessProposal); ok {
  1432. return x.ProcessProposal
  1433. }
  1434. return nil
  1435. }
  1436. func (m *Response) GetExtendVote() *ResponseExtendVote {
  1437. if x, ok := m.GetValue().(*Response_ExtendVote); ok {
  1438. return x.ExtendVote
  1439. }
  1440. return nil
  1441. }
  1442. func (m *Response) GetVerifyVoteExtension() *ResponseVerifyVoteExtension {
  1443. if x, ok := m.GetValue().(*Response_VerifyVoteExtension); ok {
  1444. return x.VerifyVoteExtension
  1445. }
  1446. return nil
  1447. }
  1448. func (m *Response) GetFinalizeBlock() *ResponseFinalizeBlock {
  1449. if x, ok := m.GetValue().(*Response_FinalizeBlock); ok {
  1450. return x.FinalizeBlock
  1451. }
  1452. return nil
  1453. }
  1454. // XXX_OneofWrappers is for the internal use of the proto package.
  1455. func (*Response) XXX_OneofWrappers() []interface{} {
  1456. return []interface{}{
  1457. (*Response_Exception)(nil),
  1458. (*Response_Echo)(nil),
  1459. (*Response_Flush)(nil),
  1460. (*Response_Info)(nil),
  1461. (*Response_InitChain)(nil),
  1462. (*Response_Query)(nil),
  1463. (*Response_CheckTx)(nil),
  1464. (*Response_Commit)(nil),
  1465. (*Response_ListSnapshots)(nil),
  1466. (*Response_OfferSnapshot)(nil),
  1467. (*Response_LoadSnapshotChunk)(nil),
  1468. (*Response_ApplySnapshotChunk)(nil),
  1469. (*Response_PrepareProposal)(nil),
  1470. (*Response_ProcessProposal)(nil),
  1471. (*Response_ExtendVote)(nil),
  1472. (*Response_VerifyVoteExtension)(nil),
  1473. (*Response_FinalizeBlock)(nil),
  1474. }
  1475. }
  1476. // nondeterministic
  1477. type ResponseException struct {
  1478. Error string `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"`
  1479. }
  1480. func (m *ResponseException) Reset() { *m = ResponseException{} }
  1481. func (m *ResponseException) String() string { return proto.CompactTextString(m) }
  1482. func (*ResponseException) ProtoMessage() {}
  1483. func (*ResponseException) Descriptor() ([]byte, []int) {
  1484. return fileDescriptor_252557cfdd89a31a, []int{18}
  1485. }
  1486. func (m *ResponseException) XXX_Unmarshal(b []byte) error {
  1487. return m.Unmarshal(b)
  1488. }
  1489. func (m *ResponseException) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1490. if deterministic {
  1491. return xxx_messageInfo_ResponseException.Marshal(b, m, deterministic)
  1492. } else {
  1493. b = b[:cap(b)]
  1494. n, err := m.MarshalToSizedBuffer(b)
  1495. if err != nil {
  1496. return nil, err
  1497. }
  1498. return b[:n], nil
  1499. }
  1500. }
  1501. func (m *ResponseException) XXX_Merge(src proto.Message) {
  1502. xxx_messageInfo_ResponseException.Merge(m, src)
  1503. }
  1504. func (m *ResponseException) XXX_Size() int {
  1505. return m.Size()
  1506. }
  1507. func (m *ResponseException) XXX_DiscardUnknown() {
  1508. xxx_messageInfo_ResponseException.DiscardUnknown(m)
  1509. }
  1510. var xxx_messageInfo_ResponseException proto.InternalMessageInfo
  1511. func (m *ResponseException) GetError() string {
  1512. if m != nil {
  1513. return m.Error
  1514. }
  1515. return ""
  1516. }
  1517. type ResponseEcho struct {
  1518. Message string `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"`
  1519. }
  1520. func (m *ResponseEcho) Reset() { *m = ResponseEcho{} }
  1521. func (m *ResponseEcho) String() string { return proto.CompactTextString(m) }
  1522. func (*ResponseEcho) ProtoMessage() {}
  1523. func (*ResponseEcho) Descriptor() ([]byte, []int) {
  1524. return fileDescriptor_252557cfdd89a31a, []int{19}
  1525. }
  1526. func (m *ResponseEcho) XXX_Unmarshal(b []byte) error {
  1527. return m.Unmarshal(b)
  1528. }
  1529. func (m *ResponseEcho) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1530. if deterministic {
  1531. return xxx_messageInfo_ResponseEcho.Marshal(b, m, deterministic)
  1532. } else {
  1533. b = b[:cap(b)]
  1534. n, err := m.MarshalToSizedBuffer(b)
  1535. if err != nil {
  1536. return nil, err
  1537. }
  1538. return b[:n], nil
  1539. }
  1540. }
  1541. func (m *ResponseEcho) XXX_Merge(src proto.Message) {
  1542. xxx_messageInfo_ResponseEcho.Merge(m, src)
  1543. }
  1544. func (m *ResponseEcho) XXX_Size() int {
  1545. return m.Size()
  1546. }
  1547. func (m *ResponseEcho) XXX_DiscardUnknown() {
  1548. xxx_messageInfo_ResponseEcho.DiscardUnknown(m)
  1549. }
  1550. var xxx_messageInfo_ResponseEcho proto.InternalMessageInfo
  1551. func (m *ResponseEcho) GetMessage() string {
  1552. if m != nil {
  1553. return m.Message
  1554. }
  1555. return ""
  1556. }
  1557. type ResponseFlush struct {
  1558. }
  1559. func (m *ResponseFlush) Reset() { *m = ResponseFlush{} }
  1560. func (m *ResponseFlush) String() string { return proto.CompactTextString(m) }
  1561. func (*ResponseFlush) ProtoMessage() {}
  1562. func (*ResponseFlush) Descriptor() ([]byte, []int) {
  1563. return fileDescriptor_252557cfdd89a31a, []int{20}
  1564. }
  1565. func (m *ResponseFlush) XXX_Unmarshal(b []byte) error {
  1566. return m.Unmarshal(b)
  1567. }
  1568. func (m *ResponseFlush) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1569. if deterministic {
  1570. return xxx_messageInfo_ResponseFlush.Marshal(b, m, deterministic)
  1571. } else {
  1572. b = b[:cap(b)]
  1573. n, err := m.MarshalToSizedBuffer(b)
  1574. if err != nil {
  1575. return nil, err
  1576. }
  1577. return b[:n], nil
  1578. }
  1579. }
  1580. func (m *ResponseFlush) XXX_Merge(src proto.Message) {
  1581. xxx_messageInfo_ResponseFlush.Merge(m, src)
  1582. }
  1583. func (m *ResponseFlush) XXX_Size() int {
  1584. return m.Size()
  1585. }
  1586. func (m *ResponseFlush) XXX_DiscardUnknown() {
  1587. xxx_messageInfo_ResponseFlush.DiscardUnknown(m)
  1588. }
  1589. var xxx_messageInfo_ResponseFlush proto.InternalMessageInfo
  1590. type ResponseInfo struct {
  1591. Data string `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"`
  1592. // this is the software version of the application. TODO: remove?
  1593. Version string `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"`
  1594. AppVersion uint64 `protobuf:"varint,3,opt,name=app_version,json=appVersion,proto3" json:"app_version,omitempty"`
  1595. LastBlockHeight int64 `protobuf:"varint,4,opt,name=last_block_height,json=lastBlockHeight,proto3" json:"last_block_height,omitempty"`
  1596. LastBlockAppHash []byte `protobuf:"bytes,5,opt,name=last_block_app_hash,json=lastBlockAppHash,proto3" json:"last_block_app_hash,omitempty"`
  1597. }
  1598. func (m *ResponseInfo) Reset() { *m = ResponseInfo{} }
  1599. func (m *ResponseInfo) String() string { return proto.CompactTextString(m) }
  1600. func (*ResponseInfo) ProtoMessage() {}
  1601. func (*ResponseInfo) Descriptor() ([]byte, []int) {
  1602. return fileDescriptor_252557cfdd89a31a, []int{21}
  1603. }
  1604. func (m *ResponseInfo) XXX_Unmarshal(b []byte) error {
  1605. return m.Unmarshal(b)
  1606. }
  1607. func (m *ResponseInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1608. if deterministic {
  1609. return xxx_messageInfo_ResponseInfo.Marshal(b, m, deterministic)
  1610. } else {
  1611. b = b[:cap(b)]
  1612. n, err := m.MarshalToSizedBuffer(b)
  1613. if err != nil {
  1614. return nil, err
  1615. }
  1616. return b[:n], nil
  1617. }
  1618. }
  1619. func (m *ResponseInfo) XXX_Merge(src proto.Message) {
  1620. xxx_messageInfo_ResponseInfo.Merge(m, src)
  1621. }
  1622. func (m *ResponseInfo) XXX_Size() int {
  1623. return m.Size()
  1624. }
  1625. func (m *ResponseInfo) XXX_DiscardUnknown() {
  1626. xxx_messageInfo_ResponseInfo.DiscardUnknown(m)
  1627. }
  1628. var xxx_messageInfo_ResponseInfo proto.InternalMessageInfo
  1629. func (m *ResponseInfo) GetData() string {
  1630. if m != nil {
  1631. return m.Data
  1632. }
  1633. return ""
  1634. }
  1635. func (m *ResponseInfo) GetVersion() string {
  1636. if m != nil {
  1637. return m.Version
  1638. }
  1639. return ""
  1640. }
  1641. func (m *ResponseInfo) GetAppVersion() uint64 {
  1642. if m != nil {
  1643. return m.AppVersion
  1644. }
  1645. return 0
  1646. }
  1647. func (m *ResponseInfo) GetLastBlockHeight() int64 {
  1648. if m != nil {
  1649. return m.LastBlockHeight
  1650. }
  1651. return 0
  1652. }
  1653. func (m *ResponseInfo) GetLastBlockAppHash() []byte {
  1654. if m != nil {
  1655. return m.LastBlockAppHash
  1656. }
  1657. return nil
  1658. }
  1659. type ResponseInitChain struct {
  1660. ConsensusParams *types1.ConsensusParams `protobuf:"bytes,1,opt,name=consensus_params,json=consensusParams,proto3" json:"consensus_params,omitempty"`
  1661. Validators []ValidatorUpdate `protobuf:"bytes,2,rep,name=validators,proto3" json:"validators"`
  1662. AppHash []byte `protobuf:"bytes,3,opt,name=app_hash,json=appHash,proto3" json:"app_hash,omitempty"`
  1663. }
  1664. func (m *ResponseInitChain) Reset() { *m = ResponseInitChain{} }
  1665. func (m *ResponseInitChain) String() string { return proto.CompactTextString(m) }
  1666. func (*ResponseInitChain) ProtoMessage() {}
  1667. func (*ResponseInitChain) Descriptor() ([]byte, []int) {
  1668. return fileDescriptor_252557cfdd89a31a, []int{22}
  1669. }
  1670. func (m *ResponseInitChain) XXX_Unmarshal(b []byte) error {
  1671. return m.Unmarshal(b)
  1672. }
  1673. func (m *ResponseInitChain) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1674. if deterministic {
  1675. return xxx_messageInfo_ResponseInitChain.Marshal(b, m, deterministic)
  1676. } else {
  1677. b = b[:cap(b)]
  1678. n, err := m.MarshalToSizedBuffer(b)
  1679. if err != nil {
  1680. return nil, err
  1681. }
  1682. return b[:n], nil
  1683. }
  1684. }
  1685. func (m *ResponseInitChain) XXX_Merge(src proto.Message) {
  1686. xxx_messageInfo_ResponseInitChain.Merge(m, src)
  1687. }
  1688. func (m *ResponseInitChain) XXX_Size() int {
  1689. return m.Size()
  1690. }
  1691. func (m *ResponseInitChain) XXX_DiscardUnknown() {
  1692. xxx_messageInfo_ResponseInitChain.DiscardUnknown(m)
  1693. }
  1694. var xxx_messageInfo_ResponseInitChain proto.InternalMessageInfo
  1695. func (m *ResponseInitChain) GetConsensusParams() *types1.ConsensusParams {
  1696. if m != nil {
  1697. return m.ConsensusParams
  1698. }
  1699. return nil
  1700. }
  1701. func (m *ResponseInitChain) GetValidators() []ValidatorUpdate {
  1702. if m != nil {
  1703. return m.Validators
  1704. }
  1705. return nil
  1706. }
  1707. func (m *ResponseInitChain) GetAppHash() []byte {
  1708. if m != nil {
  1709. return m.AppHash
  1710. }
  1711. return nil
  1712. }
  1713. type ResponseQuery struct {
  1714. Code uint32 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"`
  1715. // bytes data = 2; // use "value" instead.
  1716. Log string `protobuf:"bytes,3,opt,name=log,proto3" json:"log,omitempty"`
  1717. Info string `protobuf:"bytes,4,opt,name=info,proto3" json:"info,omitempty"`
  1718. Index int64 `protobuf:"varint,5,opt,name=index,proto3" json:"index,omitempty"`
  1719. Key []byte `protobuf:"bytes,6,opt,name=key,proto3" json:"key,omitempty"`
  1720. Value []byte `protobuf:"bytes,7,opt,name=value,proto3" json:"value,omitempty"`
  1721. ProofOps *crypto.ProofOps `protobuf:"bytes,8,opt,name=proof_ops,json=proofOps,proto3" json:"proof_ops,omitempty"`
  1722. Height int64 `protobuf:"varint,9,opt,name=height,proto3" json:"height,omitempty"`
  1723. Codespace string `protobuf:"bytes,10,opt,name=codespace,proto3" json:"codespace,omitempty"`
  1724. }
  1725. func (m *ResponseQuery) Reset() { *m = ResponseQuery{} }
  1726. func (m *ResponseQuery) String() string { return proto.CompactTextString(m) }
  1727. func (*ResponseQuery) ProtoMessage() {}
  1728. func (*ResponseQuery) Descriptor() ([]byte, []int) {
  1729. return fileDescriptor_252557cfdd89a31a, []int{23}
  1730. }
  1731. func (m *ResponseQuery) XXX_Unmarshal(b []byte) error {
  1732. return m.Unmarshal(b)
  1733. }
  1734. func (m *ResponseQuery) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1735. if deterministic {
  1736. return xxx_messageInfo_ResponseQuery.Marshal(b, m, deterministic)
  1737. } else {
  1738. b = b[:cap(b)]
  1739. n, err := m.MarshalToSizedBuffer(b)
  1740. if err != nil {
  1741. return nil, err
  1742. }
  1743. return b[:n], nil
  1744. }
  1745. }
  1746. func (m *ResponseQuery) XXX_Merge(src proto.Message) {
  1747. xxx_messageInfo_ResponseQuery.Merge(m, src)
  1748. }
  1749. func (m *ResponseQuery) XXX_Size() int {
  1750. return m.Size()
  1751. }
  1752. func (m *ResponseQuery) XXX_DiscardUnknown() {
  1753. xxx_messageInfo_ResponseQuery.DiscardUnknown(m)
  1754. }
  1755. var xxx_messageInfo_ResponseQuery proto.InternalMessageInfo
  1756. func (m *ResponseQuery) GetCode() uint32 {
  1757. if m != nil {
  1758. return m.Code
  1759. }
  1760. return 0
  1761. }
  1762. func (m *ResponseQuery) GetLog() string {
  1763. if m != nil {
  1764. return m.Log
  1765. }
  1766. return ""
  1767. }
  1768. func (m *ResponseQuery) GetInfo() string {
  1769. if m != nil {
  1770. return m.Info
  1771. }
  1772. return ""
  1773. }
  1774. func (m *ResponseQuery) GetIndex() int64 {
  1775. if m != nil {
  1776. return m.Index
  1777. }
  1778. return 0
  1779. }
  1780. func (m *ResponseQuery) GetKey() []byte {
  1781. if m != nil {
  1782. return m.Key
  1783. }
  1784. return nil
  1785. }
  1786. func (m *ResponseQuery) GetValue() []byte {
  1787. if m != nil {
  1788. return m.Value
  1789. }
  1790. return nil
  1791. }
  1792. func (m *ResponseQuery) GetProofOps() *crypto.ProofOps {
  1793. if m != nil {
  1794. return m.ProofOps
  1795. }
  1796. return nil
  1797. }
  1798. func (m *ResponseQuery) GetHeight() int64 {
  1799. if m != nil {
  1800. return m.Height
  1801. }
  1802. return 0
  1803. }
  1804. func (m *ResponseQuery) GetCodespace() string {
  1805. if m != nil {
  1806. return m.Codespace
  1807. }
  1808. return ""
  1809. }
  1810. type ResponseCheckTx struct {
  1811. Code uint32 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"`
  1812. Data []byte `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"`
  1813. Log string `protobuf:"bytes,3,opt,name=log,proto3" json:"log,omitempty"`
  1814. Info string `protobuf:"bytes,4,opt,name=info,proto3" json:"info,omitempty"`
  1815. GasWanted int64 `protobuf:"varint,5,opt,name=gas_wanted,proto3" json:"gas_wanted,omitempty"`
  1816. GasUsed int64 `protobuf:"varint,6,opt,name=gas_used,proto3" json:"gas_used,omitempty"`
  1817. Events []Event `protobuf:"bytes,7,rep,name=events,proto3" json:"events,omitempty"`
  1818. Codespace string `protobuf:"bytes,8,opt,name=codespace,proto3" json:"codespace,omitempty"`
  1819. Sender string `protobuf:"bytes,9,opt,name=sender,proto3" json:"sender,omitempty"`
  1820. Priority int64 `protobuf:"varint,10,opt,name=priority,proto3" json:"priority,omitempty"`
  1821. // mempool_error is set by Tendermint.
  1822. // ABCI applications creating a ResponseCheckTX should not set mempool_error.
  1823. MempoolError string `protobuf:"bytes,11,opt,name=mempool_error,json=mempoolError,proto3" json:"mempool_error,omitempty"`
  1824. }
  1825. func (m *ResponseCheckTx) Reset() { *m = ResponseCheckTx{} }
  1826. func (m *ResponseCheckTx) String() string { return proto.CompactTextString(m) }
  1827. func (*ResponseCheckTx) ProtoMessage() {}
  1828. func (*ResponseCheckTx) Descriptor() ([]byte, []int) {
  1829. return fileDescriptor_252557cfdd89a31a, []int{24}
  1830. }
  1831. func (m *ResponseCheckTx) XXX_Unmarshal(b []byte) error {
  1832. return m.Unmarshal(b)
  1833. }
  1834. func (m *ResponseCheckTx) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1835. if deterministic {
  1836. return xxx_messageInfo_ResponseCheckTx.Marshal(b, m, deterministic)
  1837. } else {
  1838. b = b[:cap(b)]
  1839. n, err := m.MarshalToSizedBuffer(b)
  1840. if err != nil {
  1841. return nil, err
  1842. }
  1843. return b[:n], nil
  1844. }
  1845. }
  1846. func (m *ResponseCheckTx) XXX_Merge(src proto.Message) {
  1847. xxx_messageInfo_ResponseCheckTx.Merge(m, src)
  1848. }
  1849. func (m *ResponseCheckTx) XXX_Size() int {
  1850. return m.Size()
  1851. }
  1852. func (m *ResponseCheckTx) XXX_DiscardUnknown() {
  1853. xxx_messageInfo_ResponseCheckTx.DiscardUnknown(m)
  1854. }
  1855. var xxx_messageInfo_ResponseCheckTx proto.InternalMessageInfo
  1856. func (m *ResponseCheckTx) GetCode() uint32 {
  1857. if m != nil {
  1858. return m.Code
  1859. }
  1860. return 0
  1861. }
  1862. func (m *ResponseCheckTx) GetData() []byte {
  1863. if m != nil {
  1864. return m.Data
  1865. }
  1866. return nil
  1867. }
  1868. func (m *ResponseCheckTx) GetLog() string {
  1869. if m != nil {
  1870. return m.Log
  1871. }
  1872. return ""
  1873. }
  1874. func (m *ResponseCheckTx) GetInfo() string {
  1875. if m != nil {
  1876. return m.Info
  1877. }
  1878. return ""
  1879. }
  1880. func (m *ResponseCheckTx) GetGasWanted() int64 {
  1881. if m != nil {
  1882. return m.GasWanted
  1883. }
  1884. return 0
  1885. }
  1886. func (m *ResponseCheckTx) GetGasUsed() int64 {
  1887. if m != nil {
  1888. return m.GasUsed
  1889. }
  1890. return 0
  1891. }
  1892. func (m *ResponseCheckTx) GetEvents() []Event {
  1893. if m != nil {
  1894. return m.Events
  1895. }
  1896. return nil
  1897. }
  1898. func (m *ResponseCheckTx) GetCodespace() string {
  1899. if m != nil {
  1900. return m.Codespace
  1901. }
  1902. return ""
  1903. }
  1904. func (m *ResponseCheckTx) GetSender() string {
  1905. if m != nil {
  1906. return m.Sender
  1907. }
  1908. return ""
  1909. }
  1910. func (m *ResponseCheckTx) GetPriority() int64 {
  1911. if m != nil {
  1912. return m.Priority
  1913. }
  1914. return 0
  1915. }
  1916. func (m *ResponseCheckTx) GetMempoolError() string {
  1917. if m != nil {
  1918. return m.MempoolError
  1919. }
  1920. return ""
  1921. }
  1922. type ResponseDeliverTx struct {
  1923. Code uint32 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"`
  1924. Data []byte `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"`
  1925. Log string `protobuf:"bytes,3,opt,name=log,proto3" json:"log,omitempty"`
  1926. Info string `protobuf:"bytes,4,opt,name=info,proto3" json:"info,omitempty"`
  1927. GasWanted int64 `protobuf:"varint,5,opt,name=gas_wanted,proto3" json:"gas_wanted,omitempty"`
  1928. GasUsed int64 `protobuf:"varint,6,opt,name=gas_used,proto3" json:"gas_used,omitempty"`
  1929. Events []Event `protobuf:"bytes,7,rep,name=events,proto3" json:"events,omitempty"`
  1930. Codespace string `protobuf:"bytes,8,opt,name=codespace,proto3" json:"codespace,omitempty"`
  1931. }
  1932. func (m *ResponseDeliverTx) Reset() { *m = ResponseDeliverTx{} }
  1933. func (m *ResponseDeliverTx) String() string { return proto.CompactTextString(m) }
  1934. func (*ResponseDeliverTx) ProtoMessage() {}
  1935. func (*ResponseDeliverTx) Descriptor() ([]byte, []int) {
  1936. return fileDescriptor_252557cfdd89a31a, []int{25}
  1937. }
  1938. func (m *ResponseDeliverTx) XXX_Unmarshal(b []byte) error {
  1939. return m.Unmarshal(b)
  1940. }
  1941. func (m *ResponseDeliverTx) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1942. if deterministic {
  1943. return xxx_messageInfo_ResponseDeliverTx.Marshal(b, m, deterministic)
  1944. } else {
  1945. b = b[:cap(b)]
  1946. n, err := m.MarshalToSizedBuffer(b)
  1947. if err != nil {
  1948. return nil, err
  1949. }
  1950. return b[:n], nil
  1951. }
  1952. }
  1953. func (m *ResponseDeliverTx) XXX_Merge(src proto.Message) {
  1954. xxx_messageInfo_ResponseDeliverTx.Merge(m, src)
  1955. }
  1956. func (m *ResponseDeliverTx) XXX_Size() int {
  1957. return m.Size()
  1958. }
  1959. func (m *ResponseDeliverTx) XXX_DiscardUnknown() {
  1960. xxx_messageInfo_ResponseDeliverTx.DiscardUnknown(m)
  1961. }
  1962. var xxx_messageInfo_ResponseDeliverTx proto.InternalMessageInfo
  1963. func (m *ResponseDeliverTx) GetCode() uint32 {
  1964. if m != nil {
  1965. return m.Code
  1966. }
  1967. return 0
  1968. }
  1969. func (m *ResponseDeliverTx) GetData() []byte {
  1970. if m != nil {
  1971. return m.Data
  1972. }
  1973. return nil
  1974. }
  1975. func (m *ResponseDeliverTx) GetLog() string {
  1976. if m != nil {
  1977. return m.Log
  1978. }
  1979. return ""
  1980. }
  1981. func (m *ResponseDeliverTx) GetInfo() string {
  1982. if m != nil {
  1983. return m.Info
  1984. }
  1985. return ""
  1986. }
  1987. func (m *ResponseDeliverTx) GetGasWanted() int64 {
  1988. if m != nil {
  1989. return m.GasWanted
  1990. }
  1991. return 0
  1992. }
  1993. func (m *ResponseDeliverTx) GetGasUsed() int64 {
  1994. if m != nil {
  1995. return m.GasUsed
  1996. }
  1997. return 0
  1998. }
  1999. func (m *ResponseDeliverTx) GetEvents() []Event {
  2000. if m != nil {
  2001. return m.Events
  2002. }
  2003. return nil
  2004. }
  2005. func (m *ResponseDeliverTx) GetCodespace() string {
  2006. if m != nil {
  2007. return m.Codespace
  2008. }
  2009. return ""
  2010. }
  2011. type ResponseCommit struct {
  2012. // reserve 1
  2013. Data []byte `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"`
  2014. RetainHeight int64 `protobuf:"varint,3,opt,name=retain_height,json=retainHeight,proto3" json:"retain_height,omitempty"`
  2015. }
  2016. func (m *ResponseCommit) Reset() { *m = ResponseCommit{} }
  2017. func (m *ResponseCommit) String() string { return proto.CompactTextString(m) }
  2018. func (*ResponseCommit) ProtoMessage() {}
  2019. func (*ResponseCommit) Descriptor() ([]byte, []int) {
  2020. return fileDescriptor_252557cfdd89a31a, []int{26}
  2021. }
  2022. func (m *ResponseCommit) XXX_Unmarshal(b []byte) error {
  2023. return m.Unmarshal(b)
  2024. }
  2025. func (m *ResponseCommit) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2026. if deterministic {
  2027. return xxx_messageInfo_ResponseCommit.Marshal(b, m, deterministic)
  2028. } else {
  2029. b = b[:cap(b)]
  2030. n, err := m.MarshalToSizedBuffer(b)
  2031. if err != nil {
  2032. return nil, err
  2033. }
  2034. return b[:n], nil
  2035. }
  2036. }
  2037. func (m *ResponseCommit) XXX_Merge(src proto.Message) {
  2038. xxx_messageInfo_ResponseCommit.Merge(m, src)
  2039. }
  2040. func (m *ResponseCommit) XXX_Size() int {
  2041. return m.Size()
  2042. }
  2043. func (m *ResponseCommit) XXX_DiscardUnknown() {
  2044. xxx_messageInfo_ResponseCommit.DiscardUnknown(m)
  2045. }
  2046. var xxx_messageInfo_ResponseCommit proto.InternalMessageInfo
  2047. func (m *ResponseCommit) GetData() []byte {
  2048. if m != nil {
  2049. return m.Data
  2050. }
  2051. return nil
  2052. }
  2053. func (m *ResponseCommit) GetRetainHeight() int64 {
  2054. if m != nil {
  2055. return m.RetainHeight
  2056. }
  2057. return 0
  2058. }
  2059. type ResponseListSnapshots struct {
  2060. Snapshots []*Snapshot `protobuf:"bytes,1,rep,name=snapshots,proto3" json:"snapshots,omitempty"`
  2061. }
  2062. func (m *ResponseListSnapshots) Reset() { *m = ResponseListSnapshots{} }
  2063. func (m *ResponseListSnapshots) String() string { return proto.CompactTextString(m) }
  2064. func (*ResponseListSnapshots) ProtoMessage() {}
  2065. func (*ResponseListSnapshots) Descriptor() ([]byte, []int) {
  2066. return fileDescriptor_252557cfdd89a31a, []int{27}
  2067. }
  2068. func (m *ResponseListSnapshots) XXX_Unmarshal(b []byte) error {
  2069. return m.Unmarshal(b)
  2070. }
  2071. func (m *ResponseListSnapshots) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2072. if deterministic {
  2073. return xxx_messageInfo_ResponseListSnapshots.Marshal(b, m, deterministic)
  2074. } else {
  2075. b = b[:cap(b)]
  2076. n, err := m.MarshalToSizedBuffer(b)
  2077. if err != nil {
  2078. return nil, err
  2079. }
  2080. return b[:n], nil
  2081. }
  2082. }
  2083. func (m *ResponseListSnapshots) XXX_Merge(src proto.Message) {
  2084. xxx_messageInfo_ResponseListSnapshots.Merge(m, src)
  2085. }
  2086. func (m *ResponseListSnapshots) XXX_Size() int {
  2087. return m.Size()
  2088. }
  2089. func (m *ResponseListSnapshots) XXX_DiscardUnknown() {
  2090. xxx_messageInfo_ResponseListSnapshots.DiscardUnknown(m)
  2091. }
  2092. var xxx_messageInfo_ResponseListSnapshots proto.InternalMessageInfo
  2093. func (m *ResponseListSnapshots) GetSnapshots() []*Snapshot {
  2094. if m != nil {
  2095. return m.Snapshots
  2096. }
  2097. return nil
  2098. }
  2099. type ResponseOfferSnapshot struct {
  2100. Result ResponseOfferSnapshot_Result `protobuf:"varint,1,opt,name=result,proto3,enum=tendermint.abci.ResponseOfferSnapshot_Result" json:"result,omitempty"`
  2101. }
  2102. func (m *ResponseOfferSnapshot) Reset() { *m = ResponseOfferSnapshot{} }
  2103. func (m *ResponseOfferSnapshot) String() string { return proto.CompactTextString(m) }
  2104. func (*ResponseOfferSnapshot) ProtoMessage() {}
  2105. func (*ResponseOfferSnapshot) Descriptor() ([]byte, []int) {
  2106. return fileDescriptor_252557cfdd89a31a, []int{28}
  2107. }
  2108. func (m *ResponseOfferSnapshot) XXX_Unmarshal(b []byte) error {
  2109. return m.Unmarshal(b)
  2110. }
  2111. func (m *ResponseOfferSnapshot) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2112. if deterministic {
  2113. return xxx_messageInfo_ResponseOfferSnapshot.Marshal(b, m, deterministic)
  2114. } else {
  2115. b = b[:cap(b)]
  2116. n, err := m.MarshalToSizedBuffer(b)
  2117. if err != nil {
  2118. return nil, err
  2119. }
  2120. return b[:n], nil
  2121. }
  2122. }
  2123. func (m *ResponseOfferSnapshot) XXX_Merge(src proto.Message) {
  2124. xxx_messageInfo_ResponseOfferSnapshot.Merge(m, src)
  2125. }
  2126. func (m *ResponseOfferSnapshot) XXX_Size() int {
  2127. return m.Size()
  2128. }
  2129. func (m *ResponseOfferSnapshot) XXX_DiscardUnknown() {
  2130. xxx_messageInfo_ResponseOfferSnapshot.DiscardUnknown(m)
  2131. }
  2132. var xxx_messageInfo_ResponseOfferSnapshot proto.InternalMessageInfo
  2133. func (m *ResponseOfferSnapshot) GetResult() ResponseOfferSnapshot_Result {
  2134. if m != nil {
  2135. return m.Result
  2136. }
  2137. return ResponseOfferSnapshot_UNKNOWN
  2138. }
  2139. type ResponseLoadSnapshotChunk struct {
  2140. Chunk []byte `protobuf:"bytes,1,opt,name=chunk,proto3" json:"chunk,omitempty"`
  2141. }
  2142. func (m *ResponseLoadSnapshotChunk) Reset() { *m = ResponseLoadSnapshotChunk{} }
  2143. func (m *ResponseLoadSnapshotChunk) String() string { return proto.CompactTextString(m) }
  2144. func (*ResponseLoadSnapshotChunk) ProtoMessage() {}
  2145. func (*ResponseLoadSnapshotChunk) Descriptor() ([]byte, []int) {
  2146. return fileDescriptor_252557cfdd89a31a, []int{29}
  2147. }
  2148. func (m *ResponseLoadSnapshotChunk) XXX_Unmarshal(b []byte) error {
  2149. return m.Unmarshal(b)
  2150. }
  2151. func (m *ResponseLoadSnapshotChunk) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2152. if deterministic {
  2153. return xxx_messageInfo_ResponseLoadSnapshotChunk.Marshal(b, m, deterministic)
  2154. } else {
  2155. b = b[:cap(b)]
  2156. n, err := m.MarshalToSizedBuffer(b)
  2157. if err != nil {
  2158. return nil, err
  2159. }
  2160. return b[:n], nil
  2161. }
  2162. }
  2163. func (m *ResponseLoadSnapshotChunk) XXX_Merge(src proto.Message) {
  2164. xxx_messageInfo_ResponseLoadSnapshotChunk.Merge(m, src)
  2165. }
  2166. func (m *ResponseLoadSnapshotChunk) XXX_Size() int {
  2167. return m.Size()
  2168. }
  2169. func (m *ResponseLoadSnapshotChunk) XXX_DiscardUnknown() {
  2170. xxx_messageInfo_ResponseLoadSnapshotChunk.DiscardUnknown(m)
  2171. }
  2172. var xxx_messageInfo_ResponseLoadSnapshotChunk proto.InternalMessageInfo
  2173. func (m *ResponseLoadSnapshotChunk) GetChunk() []byte {
  2174. if m != nil {
  2175. return m.Chunk
  2176. }
  2177. return nil
  2178. }
  2179. type ResponseApplySnapshotChunk struct {
  2180. Result ResponseApplySnapshotChunk_Result `protobuf:"varint,1,opt,name=result,proto3,enum=tendermint.abci.ResponseApplySnapshotChunk_Result" json:"result,omitempty"`
  2181. RefetchChunks []uint32 `protobuf:"varint,2,rep,packed,name=refetch_chunks,json=refetchChunks,proto3" json:"refetch_chunks,omitempty"`
  2182. RejectSenders []string `protobuf:"bytes,3,rep,name=reject_senders,json=rejectSenders,proto3" json:"reject_senders,omitempty"`
  2183. }
  2184. func (m *ResponseApplySnapshotChunk) Reset() { *m = ResponseApplySnapshotChunk{} }
  2185. func (m *ResponseApplySnapshotChunk) String() string { return proto.CompactTextString(m) }
  2186. func (*ResponseApplySnapshotChunk) ProtoMessage() {}
  2187. func (*ResponseApplySnapshotChunk) Descriptor() ([]byte, []int) {
  2188. return fileDescriptor_252557cfdd89a31a, []int{30}
  2189. }
  2190. func (m *ResponseApplySnapshotChunk) XXX_Unmarshal(b []byte) error {
  2191. return m.Unmarshal(b)
  2192. }
  2193. func (m *ResponseApplySnapshotChunk) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2194. if deterministic {
  2195. return xxx_messageInfo_ResponseApplySnapshotChunk.Marshal(b, m, deterministic)
  2196. } else {
  2197. b = b[:cap(b)]
  2198. n, err := m.MarshalToSizedBuffer(b)
  2199. if err != nil {
  2200. return nil, err
  2201. }
  2202. return b[:n], nil
  2203. }
  2204. }
  2205. func (m *ResponseApplySnapshotChunk) XXX_Merge(src proto.Message) {
  2206. xxx_messageInfo_ResponseApplySnapshotChunk.Merge(m, src)
  2207. }
  2208. func (m *ResponseApplySnapshotChunk) XXX_Size() int {
  2209. return m.Size()
  2210. }
  2211. func (m *ResponseApplySnapshotChunk) XXX_DiscardUnknown() {
  2212. xxx_messageInfo_ResponseApplySnapshotChunk.DiscardUnknown(m)
  2213. }
  2214. var xxx_messageInfo_ResponseApplySnapshotChunk proto.InternalMessageInfo
  2215. func (m *ResponseApplySnapshotChunk) GetResult() ResponseApplySnapshotChunk_Result {
  2216. if m != nil {
  2217. return m.Result
  2218. }
  2219. return ResponseApplySnapshotChunk_UNKNOWN
  2220. }
  2221. func (m *ResponseApplySnapshotChunk) GetRefetchChunks() []uint32 {
  2222. if m != nil {
  2223. return m.RefetchChunks
  2224. }
  2225. return nil
  2226. }
  2227. func (m *ResponseApplySnapshotChunk) GetRejectSenders() []string {
  2228. if m != nil {
  2229. return m.RejectSenders
  2230. }
  2231. return nil
  2232. }
  2233. type ResponsePrepareProposal struct {
  2234. BlockData [][]byte `protobuf:"bytes,1,rep,name=block_data,json=blockData,proto3" json:"block_data,omitempty"`
  2235. }
  2236. func (m *ResponsePrepareProposal) Reset() { *m = ResponsePrepareProposal{} }
  2237. func (m *ResponsePrepareProposal) String() string { return proto.CompactTextString(m) }
  2238. func (*ResponsePrepareProposal) ProtoMessage() {}
  2239. func (*ResponsePrepareProposal) Descriptor() ([]byte, []int) {
  2240. return fileDescriptor_252557cfdd89a31a, []int{31}
  2241. }
  2242. func (m *ResponsePrepareProposal) XXX_Unmarshal(b []byte) error {
  2243. return m.Unmarshal(b)
  2244. }
  2245. func (m *ResponsePrepareProposal) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2246. if deterministic {
  2247. return xxx_messageInfo_ResponsePrepareProposal.Marshal(b, m, deterministic)
  2248. } else {
  2249. b = b[:cap(b)]
  2250. n, err := m.MarshalToSizedBuffer(b)
  2251. if err != nil {
  2252. return nil, err
  2253. }
  2254. return b[:n], nil
  2255. }
  2256. }
  2257. func (m *ResponsePrepareProposal) XXX_Merge(src proto.Message) {
  2258. xxx_messageInfo_ResponsePrepareProposal.Merge(m, src)
  2259. }
  2260. func (m *ResponsePrepareProposal) XXX_Size() int {
  2261. return m.Size()
  2262. }
  2263. func (m *ResponsePrepareProposal) XXX_DiscardUnknown() {
  2264. xxx_messageInfo_ResponsePrepareProposal.DiscardUnknown(m)
  2265. }
  2266. var xxx_messageInfo_ResponsePrepareProposal proto.InternalMessageInfo
  2267. func (m *ResponsePrepareProposal) GetBlockData() [][]byte {
  2268. if m != nil {
  2269. return m.BlockData
  2270. }
  2271. return nil
  2272. }
  2273. type ResponseExtendVote struct {
  2274. VoteExtension *types1.VoteExtension `protobuf:"bytes,1,opt,name=vote_extension,json=voteExtension,proto3" json:"vote_extension,omitempty"`
  2275. }
  2276. func (m *ResponseExtendVote) Reset() { *m = ResponseExtendVote{} }
  2277. func (m *ResponseExtendVote) String() string { return proto.CompactTextString(m) }
  2278. func (*ResponseExtendVote) ProtoMessage() {}
  2279. func (*ResponseExtendVote) Descriptor() ([]byte, []int) {
  2280. return fileDescriptor_252557cfdd89a31a, []int{32}
  2281. }
  2282. func (m *ResponseExtendVote) XXX_Unmarshal(b []byte) error {
  2283. return m.Unmarshal(b)
  2284. }
  2285. func (m *ResponseExtendVote) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2286. if deterministic {
  2287. return xxx_messageInfo_ResponseExtendVote.Marshal(b, m, deterministic)
  2288. } else {
  2289. b = b[:cap(b)]
  2290. n, err := m.MarshalToSizedBuffer(b)
  2291. if err != nil {
  2292. return nil, err
  2293. }
  2294. return b[:n], nil
  2295. }
  2296. }
  2297. func (m *ResponseExtendVote) XXX_Merge(src proto.Message) {
  2298. xxx_messageInfo_ResponseExtendVote.Merge(m, src)
  2299. }
  2300. func (m *ResponseExtendVote) XXX_Size() int {
  2301. return m.Size()
  2302. }
  2303. func (m *ResponseExtendVote) XXX_DiscardUnknown() {
  2304. xxx_messageInfo_ResponseExtendVote.DiscardUnknown(m)
  2305. }
  2306. var xxx_messageInfo_ResponseExtendVote proto.InternalMessageInfo
  2307. func (m *ResponseExtendVote) GetVoteExtension() *types1.VoteExtension {
  2308. if m != nil {
  2309. return m.VoteExtension
  2310. }
  2311. return nil
  2312. }
  2313. type ResponseVerifyVoteExtension struct {
  2314. Result ResponseVerifyVoteExtension_Result `protobuf:"varint,1,opt,name=result,proto3,enum=tendermint.abci.ResponseVerifyVoteExtension_Result" json:"result,omitempty"`
  2315. }
  2316. func (m *ResponseVerifyVoteExtension) Reset() { *m = ResponseVerifyVoteExtension{} }
  2317. func (m *ResponseVerifyVoteExtension) String() string { return proto.CompactTextString(m) }
  2318. func (*ResponseVerifyVoteExtension) ProtoMessage() {}
  2319. func (*ResponseVerifyVoteExtension) Descriptor() ([]byte, []int) {
  2320. return fileDescriptor_252557cfdd89a31a, []int{33}
  2321. }
  2322. func (m *ResponseVerifyVoteExtension) XXX_Unmarshal(b []byte) error {
  2323. return m.Unmarshal(b)
  2324. }
  2325. func (m *ResponseVerifyVoteExtension) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2326. if deterministic {
  2327. return xxx_messageInfo_ResponseVerifyVoteExtension.Marshal(b, m, deterministic)
  2328. } else {
  2329. b = b[:cap(b)]
  2330. n, err := m.MarshalToSizedBuffer(b)
  2331. if err != nil {
  2332. return nil, err
  2333. }
  2334. return b[:n], nil
  2335. }
  2336. }
  2337. func (m *ResponseVerifyVoteExtension) XXX_Merge(src proto.Message) {
  2338. xxx_messageInfo_ResponseVerifyVoteExtension.Merge(m, src)
  2339. }
  2340. func (m *ResponseVerifyVoteExtension) XXX_Size() int {
  2341. return m.Size()
  2342. }
  2343. func (m *ResponseVerifyVoteExtension) XXX_DiscardUnknown() {
  2344. xxx_messageInfo_ResponseVerifyVoteExtension.DiscardUnknown(m)
  2345. }
  2346. var xxx_messageInfo_ResponseVerifyVoteExtension proto.InternalMessageInfo
  2347. func (m *ResponseVerifyVoteExtension) GetResult() ResponseVerifyVoteExtension_Result {
  2348. if m != nil {
  2349. return m.Result
  2350. }
  2351. return ResponseVerifyVoteExtension_UNKNOWN
  2352. }
  2353. type ResponseProcessProposal struct {
  2354. Result ResponseProcessProposal_Result `protobuf:"varint,1,opt,name=result,proto3,enum=tendermint.abci.ResponseProcessProposal_Result" json:"result,omitempty"`
  2355. Evidence [][]byte `protobuf:"bytes,2,rep,name=evidence,proto3" json:"evidence,omitempty"`
  2356. }
  2357. func (m *ResponseProcessProposal) Reset() { *m = ResponseProcessProposal{} }
  2358. func (m *ResponseProcessProposal) String() string { return proto.CompactTextString(m) }
  2359. func (*ResponseProcessProposal) ProtoMessage() {}
  2360. func (*ResponseProcessProposal) Descriptor() ([]byte, []int) {
  2361. return fileDescriptor_252557cfdd89a31a, []int{34}
  2362. }
  2363. func (m *ResponseProcessProposal) XXX_Unmarshal(b []byte) error {
  2364. return m.Unmarshal(b)
  2365. }
  2366. func (m *ResponseProcessProposal) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2367. if deterministic {
  2368. return xxx_messageInfo_ResponseProcessProposal.Marshal(b, m, deterministic)
  2369. } else {
  2370. b = b[:cap(b)]
  2371. n, err := m.MarshalToSizedBuffer(b)
  2372. if err != nil {
  2373. return nil, err
  2374. }
  2375. return b[:n], nil
  2376. }
  2377. }
  2378. func (m *ResponseProcessProposal) XXX_Merge(src proto.Message) {
  2379. xxx_messageInfo_ResponseProcessProposal.Merge(m, src)
  2380. }
  2381. func (m *ResponseProcessProposal) XXX_Size() int {
  2382. return m.Size()
  2383. }
  2384. func (m *ResponseProcessProposal) XXX_DiscardUnknown() {
  2385. xxx_messageInfo_ResponseProcessProposal.DiscardUnknown(m)
  2386. }
  2387. var xxx_messageInfo_ResponseProcessProposal proto.InternalMessageInfo
  2388. func (m *ResponseProcessProposal) GetResult() ResponseProcessProposal_Result {
  2389. if m != nil {
  2390. return m.Result
  2391. }
  2392. return ResponseProcessProposal_UNKNOWN
  2393. }
  2394. func (m *ResponseProcessProposal) GetEvidence() [][]byte {
  2395. if m != nil {
  2396. return m.Evidence
  2397. }
  2398. return nil
  2399. }
  2400. type ResponseFinalizeBlock struct {
  2401. Txs []*ResponseDeliverTx `protobuf:"bytes,1,rep,name=txs,proto3" json:"txs,omitempty"`
  2402. ValidatorUpdates []ValidatorUpdate `protobuf:"bytes,2,rep,name=validator_updates,json=validatorUpdates,proto3" json:"validator_updates"`
  2403. ConsensusParamUpdates *types1.ConsensusParams `protobuf:"bytes,3,opt,name=consensus_param_updates,json=consensusParamUpdates,proto3" json:"consensus_param_updates,omitempty"`
  2404. Events []Event `protobuf:"bytes,4,rep,name=events,proto3" json:"events,omitempty"`
  2405. }
  2406. func (m *ResponseFinalizeBlock) Reset() { *m = ResponseFinalizeBlock{} }
  2407. func (m *ResponseFinalizeBlock) String() string { return proto.CompactTextString(m) }
  2408. func (*ResponseFinalizeBlock) ProtoMessage() {}
  2409. func (*ResponseFinalizeBlock) Descriptor() ([]byte, []int) {
  2410. return fileDescriptor_252557cfdd89a31a, []int{35}
  2411. }
  2412. func (m *ResponseFinalizeBlock) XXX_Unmarshal(b []byte) error {
  2413. return m.Unmarshal(b)
  2414. }
  2415. func (m *ResponseFinalizeBlock) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2416. if deterministic {
  2417. return xxx_messageInfo_ResponseFinalizeBlock.Marshal(b, m, deterministic)
  2418. } else {
  2419. b = b[:cap(b)]
  2420. n, err := m.MarshalToSizedBuffer(b)
  2421. if err != nil {
  2422. return nil, err
  2423. }
  2424. return b[:n], nil
  2425. }
  2426. }
  2427. func (m *ResponseFinalizeBlock) XXX_Merge(src proto.Message) {
  2428. xxx_messageInfo_ResponseFinalizeBlock.Merge(m, src)
  2429. }
  2430. func (m *ResponseFinalizeBlock) XXX_Size() int {
  2431. return m.Size()
  2432. }
  2433. func (m *ResponseFinalizeBlock) XXX_DiscardUnknown() {
  2434. xxx_messageInfo_ResponseFinalizeBlock.DiscardUnknown(m)
  2435. }
  2436. var xxx_messageInfo_ResponseFinalizeBlock proto.InternalMessageInfo
  2437. func (m *ResponseFinalizeBlock) GetTxs() []*ResponseDeliverTx {
  2438. if m != nil {
  2439. return m.Txs
  2440. }
  2441. return nil
  2442. }
  2443. func (m *ResponseFinalizeBlock) GetValidatorUpdates() []ValidatorUpdate {
  2444. if m != nil {
  2445. return m.ValidatorUpdates
  2446. }
  2447. return nil
  2448. }
  2449. func (m *ResponseFinalizeBlock) GetConsensusParamUpdates() *types1.ConsensusParams {
  2450. if m != nil {
  2451. return m.ConsensusParamUpdates
  2452. }
  2453. return nil
  2454. }
  2455. func (m *ResponseFinalizeBlock) GetEvents() []Event {
  2456. if m != nil {
  2457. return m.Events
  2458. }
  2459. return nil
  2460. }
  2461. type LastCommitInfo struct {
  2462. Round int32 `protobuf:"varint,1,opt,name=round,proto3" json:"round,omitempty"`
  2463. Votes []VoteInfo `protobuf:"bytes,2,rep,name=votes,proto3" json:"votes"`
  2464. }
  2465. func (m *LastCommitInfo) Reset() { *m = LastCommitInfo{} }
  2466. func (m *LastCommitInfo) String() string { return proto.CompactTextString(m) }
  2467. func (*LastCommitInfo) ProtoMessage() {}
  2468. func (*LastCommitInfo) Descriptor() ([]byte, []int) {
  2469. return fileDescriptor_252557cfdd89a31a, []int{36}
  2470. }
  2471. func (m *LastCommitInfo) XXX_Unmarshal(b []byte) error {
  2472. return m.Unmarshal(b)
  2473. }
  2474. func (m *LastCommitInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2475. if deterministic {
  2476. return xxx_messageInfo_LastCommitInfo.Marshal(b, m, deterministic)
  2477. } else {
  2478. b = b[:cap(b)]
  2479. n, err := m.MarshalToSizedBuffer(b)
  2480. if err != nil {
  2481. return nil, err
  2482. }
  2483. return b[:n], nil
  2484. }
  2485. }
  2486. func (m *LastCommitInfo) XXX_Merge(src proto.Message) {
  2487. xxx_messageInfo_LastCommitInfo.Merge(m, src)
  2488. }
  2489. func (m *LastCommitInfo) XXX_Size() int {
  2490. return m.Size()
  2491. }
  2492. func (m *LastCommitInfo) XXX_DiscardUnknown() {
  2493. xxx_messageInfo_LastCommitInfo.DiscardUnknown(m)
  2494. }
  2495. var xxx_messageInfo_LastCommitInfo proto.InternalMessageInfo
  2496. func (m *LastCommitInfo) GetRound() int32 {
  2497. if m != nil {
  2498. return m.Round
  2499. }
  2500. return 0
  2501. }
  2502. func (m *LastCommitInfo) GetVotes() []VoteInfo {
  2503. if m != nil {
  2504. return m.Votes
  2505. }
  2506. return nil
  2507. }
  2508. // Event allows application developers to attach additional information to
  2509. // ResponseBeginBlock, ResponseEndBlock, ResponseCheckTx and ResponseDeliverTx.
  2510. // Later, transactions may be queried using these events.
  2511. type Event struct {
  2512. Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"`
  2513. Attributes []EventAttribute `protobuf:"bytes,2,rep,name=attributes,proto3" json:"attributes,omitempty"`
  2514. }
  2515. func (m *Event) Reset() { *m = Event{} }
  2516. func (m *Event) String() string { return proto.CompactTextString(m) }
  2517. func (*Event) ProtoMessage() {}
  2518. func (*Event) Descriptor() ([]byte, []int) {
  2519. return fileDescriptor_252557cfdd89a31a, []int{37}
  2520. }
  2521. func (m *Event) XXX_Unmarshal(b []byte) error {
  2522. return m.Unmarshal(b)
  2523. }
  2524. func (m *Event) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2525. if deterministic {
  2526. return xxx_messageInfo_Event.Marshal(b, m, deterministic)
  2527. } else {
  2528. b = b[:cap(b)]
  2529. n, err := m.MarshalToSizedBuffer(b)
  2530. if err != nil {
  2531. return nil, err
  2532. }
  2533. return b[:n], nil
  2534. }
  2535. }
  2536. func (m *Event) XXX_Merge(src proto.Message) {
  2537. xxx_messageInfo_Event.Merge(m, src)
  2538. }
  2539. func (m *Event) XXX_Size() int {
  2540. return m.Size()
  2541. }
  2542. func (m *Event) XXX_DiscardUnknown() {
  2543. xxx_messageInfo_Event.DiscardUnknown(m)
  2544. }
  2545. var xxx_messageInfo_Event proto.InternalMessageInfo
  2546. func (m *Event) GetType() string {
  2547. if m != nil {
  2548. return m.Type
  2549. }
  2550. return ""
  2551. }
  2552. func (m *Event) GetAttributes() []EventAttribute {
  2553. if m != nil {
  2554. return m.Attributes
  2555. }
  2556. return nil
  2557. }
  2558. // EventAttribute is a single key-value pair, associated with an event.
  2559. type EventAttribute struct {
  2560. Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
  2561. Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
  2562. Index bool `protobuf:"varint,3,opt,name=index,proto3" json:"index,omitempty"`
  2563. }
  2564. func (m *EventAttribute) Reset() { *m = EventAttribute{} }
  2565. func (m *EventAttribute) String() string { return proto.CompactTextString(m) }
  2566. func (*EventAttribute) ProtoMessage() {}
  2567. func (*EventAttribute) Descriptor() ([]byte, []int) {
  2568. return fileDescriptor_252557cfdd89a31a, []int{38}
  2569. }
  2570. func (m *EventAttribute) XXX_Unmarshal(b []byte) error {
  2571. return m.Unmarshal(b)
  2572. }
  2573. func (m *EventAttribute) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2574. if deterministic {
  2575. return xxx_messageInfo_EventAttribute.Marshal(b, m, deterministic)
  2576. } else {
  2577. b = b[:cap(b)]
  2578. n, err := m.MarshalToSizedBuffer(b)
  2579. if err != nil {
  2580. return nil, err
  2581. }
  2582. return b[:n], nil
  2583. }
  2584. }
  2585. func (m *EventAttribute) XXX_Merge(src proto.Message) {
  2586. xxx_messageInfo_EventAttribute.Merge(m, src)
  2587. }
  2588. func (m *EventAttribute) XXX_Size() int {
  2589. return m.Size()
  2590. }
  2591. func (m *EventAttribute) XXX_DiscardUnknown() {
  2592. xxx_messageInfo_EventAttribute.DiscardUnknown(m)
  2593. }
  2594. var xxx_messageInfo_EventAttribute proto.InternalMessageInfo
  2595. func (m *EventAttribute) GetKey() string {
  2596. if m != nil {
  2597. return m.Key
  2598. }
  2599. return ""
  2600. }
  2601. func (m *EventAttribute) GetValue() string {
  2602. if m != nil {
  2603. return m.Value
  2604. }
  2605. return ""
  2606. }
  2607. func (m *EventAttribute) GetIndex() bool {
  2608. if m != nil {
  2609. return m.Index
  2610. }
  2611. return false
  2612. }
  2613. // TxResult contains results of executing the transaction.
  2614. //
  2615. // One usage is indexing transaction results.
  2616. type TxResult struct {
  2617. Height int64 `protobuf:"varint,1,opt,name=height,proto3" json:"height,omitempty"`
  2618. Index uint32 `protobuf:"varint,2,opt,name=index,proto3" json:"index,omitempty"`
  2619. Tx []byte `protobuf:"bytes,3,opt,name=tx,proto3" json:"tx,omitempty"`
  2620. Result ResponseDeliverTx `protobuf:"bytes,4,opt,name=result,proto3" json:"result"`
  2621. }
  2622. func (m *TxResult) Reset() { *m = TxResult{} }
  2623. func (m *TxResult) String() string { return proto.CompactTextString(m) }
  2624. func (*TxResult) ProtoMessage() {}
  2625. func (*TxResult) Descriptor() ([]byte, []int) {
  2626. return fileDescriptor_252557cfdd89a31a, []int{39}
  2627. }
  2628. func (m *TxResult) XXX_Unmarshal(b []byte) error {
  2629. return m.Unmarshal(b)
  2630. }
  2631. func (m *TxResult) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2632. if deterministic {
  2633. return xxx_messageInfo_TxResult.Marshal(b, m, deterministic)
  2634. } else {
  2635. b = b[:cap(b)]
  2636. n, err := m.MarshalToSizedBuffer(b)
  2637. if err != nil {
  2638. return nil, err
  2639. }
  2640. return b[:n], nil
  2641. }
  2642. }
  2643. func (m *TxResult) XXX_Merge(src proto.Message) {
  2644. xxx_messageInfo_TxResult.Merge(m, src)
  2645. }
  2646. func (m *TxResult) XXX_Size() int {
  2647. return m.Size()
  2648. }
  2649. func (m *TxResult) XXX_DiscardUnknown() {
  2650. xxx_messageInfo_TxResult.DiscardUnknown(m)
  2651. }
  2652. var xxx_messageInfo_TxResult proto.InternalMessageInfo
  2653. func (m *TxResult) GetHeight() int64 {
  2654. if m != nil {
  2655. return m.Height
  2656. }
  2657. return 0
  2658. }
  2659. func (m *TxResult) GetIndex() uint32 {
  2660. if m != nil {
  2661. return m.Index
  2662. }
  2663. return 0
  2664. }
  2665. func (m *TxResult) GetTx() []byte {
  2666. if m != nil {
  2667. return m.Tx
  2668. }
  2669. return nil
  2670. }
  2671. func (m *TxResult) GetResult() ResponseDeliverTx {
  2672. if m != nil {
  2673. return m.Result
  2674. }
  2675. return ResponseDeliverTx{}
  2676. }
  2677. // Validator
  2678. type Validator struct {
  2679. Address []byte `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
  2680. // PubKey pub_key = 2 [(gogoproto.nullable)=false];
  2681. Power int64 `protobuf:"varint,3,opt,name=power,proto3" json:"power,omitempty"`
  2682. }
  2683. func (m *Validator) Reset() { *m = Validator{} }
  2684. func (m *Validator) String() string { return proto.CompactTextString(m) }
  2685. func (*Validator) ProtoMessage() {}
  2686. func (*Validator) Descriptor() ([]byte, []int) {
  2687. return fileDescriptor_252557cfdd89a31a, []int{40}
  2688. }
  2689. func (m *Validator) XXX_Unmarshal(b []byte) error {
  2690. return m.Unmarshal(b)
  2691. }
  2692. func (m *Validator) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2693. if deterministic {
  2694. return xxx_messageInfo_Validator.Marshal(b, m, deterministic)
  2695. } else {
  2696. b = b[:cap(b)]
  2697. n, err := m.MarshalToSizedBuffer(b)
  2698. if err != nil {
  2699. return nil, err
  2700. }
  2701. return b[:n], nil
  2702. }
  2703. }
  2704. func (m *Validator) XXX_Merge(src proto.Message) {
  2705. xxx_messageInfo_Validator.Merge(m, src)
  2706. }
  2707. func (m *Validator) XXX_Size() int {
  2708. return m.Size()
  2709. }
  2710. func (m *Validator) XXX_DiscardUnknown() {
  2711. xxx_messageInfo_Validator.DiscardUnknown(m)
  2712. }
  2713. var xxx_messageInfo_Validator proto.InternalMessageInfo
  2714. func (m *Validator) GetAddress() []byte {
  2715. if m != nil {
  2716. return m.Address
  2717. }
  2718. return nil
  2719. }
  2720. func (m *Validator) GetPower() int64 {
  2721. if m != nil {
  2722. return m.Power
  2723. }
  2724. return 0
  2725. }
  2726. // ValidatorUpdate
  2727. type ValidatorUpdate struct {
  2728. PubKey crypto.PublicKey `protobuf:"bytes,1,opt,name=pub_key,json=pubKey,proto3" json:"pub_key"`
  2729. Power int64 `protobuf:"varint,2,opt,name=power,proto3" json:"power,omitempty"`
  2730. }
  2731. func (m *ValidatorUpdate) Reset() { *m = ValidatorUpdate{} }
  2732. func (m *ValidatorUpdate) String() string { return proto.CompactTextString(m) }
  2733. func (*ValidatorUpdate) ProtoMessage() {}
  2734. func (*ValidatorUpdate) Descriptor() ([]byte, []int) {
  2735. return fileDescriptor_252557cfdd89a31a, []int{41}
  2736. }
  2737. func (m *ValidatorUpdate) XXX_Unmarshal(b []byte) error {
  2738. return m.Unmarshal(b)
  2739. }
  2740. func (m *ValidatorUpdate) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2741. if deterministic {
  2742. return xxx_messageInfo_ValidatorUpdate.Marshal(b, m, deterministic)
  2743. } else {
  2744. b = b[:cap(b)]
  2745. n, err := m.MarshalToSizedBuffer(b)
  2746. if err != nil {
  2747. return nil, err
  2748. }
  2749. return b[:n], nil
  2750. }
  2751. }
  2752. func (m *ValidatorUpdate) XXX_Merge(src proto.Message) {
  2753. xxx_messageInfo_ValidatorUpdate.Merge(m, src)
  2754. }
  2755. func (m *ValidatorUpdate) XXX_Size() int {
  2756. return m.Size()
  2757. }
  2758. func (m *ValidatorUpdate) XXX_DiscardUnknown() {
  2759. xxx_messageInfo_ValidatorUpdate.DiscardUnknown(m)
  2760. }
  2761. var xxx_messageInfo_ValidatorUpdate proto.InternalMessageInfo
  2762. func (m *ValidatorUpdate) GetPubKey() crypto.PublicKey {
  2763. if m != nil {
  2764. return m.PubKey
  2765. }
  2766. return crypto.PublicKey{}
  2767. }
  2768. func (m *ValidatorUpdate) GetPower() int64 {
  2769. if m != nil {
  2770. return m.Power
  2771. }
  2772. return 0
  2773. }
  2774. // VoteInfo
  2775. type VoteInfo struct {
  2776. Validator Validator `protobuf:"bytes,1,opt,name=validator,proto3" json:"validator"`
  2777. SignedLastBlock bool `protobuf:"varint,2,opt,name=signed_last_block,json=signedLastBlock,proto3" json:"signed_last_block,omitempty"`
  2778. }
  2779. func (m *VoteInfo) Reset() { *m = VoteInfo{} }
  2780. func (m *VoteInfo) String() string { return proto.CompactTextString(m) }
  2781. func (*VoteInfo) ProtoMessage() {}
  2782. func (*VoteInfo) Descriptor() ([]byte, []int) {
  2783. return fileDescriptor_252557cfdd89a31a, []int{42}
  2784. }
  2785. func (m *VoteInfo) XXX_Unmarshal(b []byte) error {
  2786. return m.Unmarshal(b)
  2787. }
  2788. func (m *VoteInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2789. if deterministic {
  2790. return xxx_messageInfo_VoteInfo.Marshal(b, m, deterministic)
  2791. } else {
  2792. b = b[:cap(b)]
  2793. n, err := m.MarshalToSizedBuffer(b)
  2794. if err != nil {
  2795. return nil, err
  2796. }
  2797. return b[:n], nil
  2798. }
  2799. }
  2800. func (m *VoteInfo) XXX_Merge(src proto.Message) {
  2801. xxx_messageInfo_VoteInfo.Merge(m, src)
  2802. }
  2803. func (m *VoteInfo) XXX_Size() int {
  2804. return m.Size()
  2805. }
  2806. func (m *VoteInfo) XXX_DiscardUnknown() {
  2807. xxx_messageInfo_VoteInfo.DiscardUnknown(m)
  2808. }
  2809. var xxx_messageInfo_VoteInfo proto.InternalMessageInfo
  2810. func (m *VoteInfo) GetValidator() Validator {
  2811. if m != nil {
  2812. return m.Validator
  2813. }
  2814. return Validator{}
  2815. }
  2816. func (m *VoteInfo) GetSignedLastBlock() bool {
  2817. if m != nil {
  2818. return m.SignedLastBlock
  2819. }
  2820. return false
  2821. }
  2822. type Evidence struct {
  2823. Type EvidenceType `protobuf:"varint,1,opt,name=type,proto3,enum=tendermint.abci.EvidenceType" json:"type,omitempty"`
  2824. // The offending validator
  2825. Validator Validator `protobuf:"bytes,2,opt,name=validator,proto3" json:"validator"`
  2826. // The height when the offense occurred
  2827. Height int64 `protobuf:"varint,3,opt,name=height,proto3" json:"height,omitempty"`
  2828. // The corresponding time where the offense occurred
  2829. Time time.Time `protobuf:"bytes,4,opt,name=time,proto3,stdtime" json:"time"`
  2830. // Total voting power of the validator set in case the ABCI application does
  2831. // not store historical validators.
  2832. // https://github.com/tendermint/tendermint/issues/4581
  2833. TotalVotingPower int64 `protobuf:"varint,5,opt,name=total_voting_power,json=totalVotingPower,proto3" json:"total_voting_power,omitempty"`
  2834. }
  2835. func (m *Evidence) Reset() { *m = Evidence{} }
  2836. func (m *Evidence) String() string { return proto.CompactTextString(m) }
  2837. func (*Evidence) ProtoMessage() {}
  2838. func (*Evidence) Descriptor() ([]byte, []int) {
  2839. return fileDescriptor_252557cfdd89a31a, []int{43}
  2840. }
  2841. func (m *Evidence) XXX_Unmarshal(b []byte) error {
  2842. return m.Unmarshal(b)
  2843. }
  2844. func (m *Evidence) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2845. if deterministic {
  2846. return xxx_messageInfo_Evidence.Marshal(b, m, deterministic)
  2847. } else {
  2848. b = b[:cap(b)]
  2849. n, err := m.MarshalToSizedBuffer(b)
  2850. if err != nil {
  2851. return nil, err
  2852. }
  2853. return b[:n], nil
  2854. }
  2855. }
  2856. func (m *Evidence) XXX_Merge(src proto.Message) {
  2857. xxx_messageInfo_Evidence.Merge(m, src)
  2858. }
  2859. func (m *Evidence) XXX_Size() int {
  2860. return m.Size()
  2861. }
  2862. func (m *Evidence) XXX_DiscardUnknown() {
  2863. xxx_messageInfo_Evidence.DiscardUnknown(m)
  2864. }
  2865. var xxx_messageInfo_Evidence proto.InternalMessageInfo
  2866. func (m *Evidence) GetType() EvidenceType {
  2867. if m != nil {
  2868. return m.Type
  2869. }
  2870. return EvidenceType_UNKNOWN
  2871. }
  2872. func (m *Evidence) GetValidator() Validator {
  2873. if m != nil {
  2874. return m.Validator
  2875. }
  2876. return Validator{}
  2877. }
  2878. func (m *Evidence) GetHeight() int64 {
  2879. if m != nil {
  2880. return m.Height
  2881. }
  2882. return 0
  2883. }
  2884. func (m *Evidence) GetTime() time.Time {
  2885. if m != nil {
  2886. return m.Time
  2887. }
  2888. return time.Time{}
  2889. }
  2890. func (m *Evidence) GetTotalVotingPower() int64 {
  2891. if m != nil {
  2892. return m.TotalVotingPower
  2893. }
  2894. return 0
  2895. }
  2896. type Snapshot struct {
  2897. Height uint64 `protobuf:"varint,1,opt,name=height,proto3" json:"height,omitempty"`
  2898. Format uint32 `protobuf:"varint,2,opt,name=format,proto3" json:"format,omitempty"`
  2899. Chunks uint32 `protobuf:"varint,3,opt,name=chunks,proto3" json:"chunks,omitempty"`
  2900. Hash []byte `protobuf:"bytes,4,opt,name=hash,proto3" json:"hash,omitempty"`
  2901. Metadata []byte `protobuf:"bytes,5,opt,name=metadata,proto3" json:"metadata,omitempty"`
  2902. }
  2903. func (m *Snapshot) Reset() { *m = Snapshot{} }
  2904. func (m *Snapshot) String() string { return proto.CompactTextString(m) }
  2905. func (*Snapshot) ProtoMessage() {}
  2906. func (*Snapshot) Descriptor() ([]byte, []int) {
  2907. return fileDescriptor_252557cfdd89a31a, []int{44}
  2908. }
  2909. func (m *Snapshot) XXX_Unmarshal(b []byte) error {
  2910. return m.Unmarshal(b)
  2911. }
  2912. func (m *Snapshot) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2913. if deterministic {
  2914. return xxx_messageInfo_Snapshot.Marshal(b, m, deterministic)
  2915. } else {
  2916. b = b[:cap(b)]
  2917. n, err := m.MarshalToSizedBuffer(b)
  2918. if err != nil {
  2919. return nil, err
  2920. }
  2921. return b[:n], nil
  2922. }
  2923. }
  2924. func (m *Snapshot) XXX_Merge(src proto.Message) {
  2925. xxx_messageInfo_Snapshot.Merge(m, src)
  2926. }
  2927. func (m *Snapshot) XXX_Size() int {
  2928. return m.Size()
  2929. }
  2930. func (m *Snapshot) XXX_DiscardUnknown() {
  2931. xxx_messageInfo_Snapshot.DiscardUnknown(m)
  2932. }
  2933. var xxx_messageInfo_Snapshot proto.InternalMessageInfo
  2934. func (m *Snapshot) GetHeight() uint64 {
  2935. if m != nil {
  2936. return m.Height
  2937. }
  2938. return 0
  2939. }
  2940. func (m *Snapshot) GetFormat() uint32 {
  2941. if m != nil {
  2942. return m.Format
  2943. }
  2944. return 0
  2945. }
  2946. func (m *Snapshot) GetChunks() uint32 {
  2947. if m != nil {
  2948. return m.Chunks
  2949. }
  2950. return 0
  2951. }
  2952. func (m *Snapshot) GetHash() []byte {
  2953. if m != nil {
  2954. return m.Hash
  2955. }
  2956. return nil
  2957. }
  2958. func (m *Snapshot) GetMetadata() []byte {
  2959. if m != nil {
  2960. return m.Metadata
  2961. }
  2962. return nil
  2963. }
  2964. func init() {
  2965. proto.RegisterEnum("tendermint.abci.CheckTxType", CheckTxType_name, CheckTxType_value)
  2966. proto.RegisterEnum("tendermint.abci.EvidenceType", EvidenceType_name, EvidenceType_value)
  2967. proto.RegisterEnum("tendermint.abci.ResponseOfferSnapshot_Result", ResponseOfferSnapshot_Result_name, ResponseOfferSnapshot_Result_value)
  2968. proto.RegisterEnum("tendermint.abci.ResponseApplySnapshotChunk_Result", ResponseApplySnapshotChunk_Result_name, ResponseApplySnapshotChunk_Result_value)
  2969. proto.RegisterEnum("tendermint.abci.ResponseVerifyVoteExtension_Result", ResponseVerifyVoteExtension_Result_name, ResponseVerifyVoteExtension_Result_value)
  2970. proto.RegisterEnum("tendermint.abci.ResponseProcessProposal_Result", ResponseProcessProposal_Result_name, ResponseProcessProposal_Result_value)
  2971. proto.RegisterType((*Request)(nil), "tendermint.abci.Request")
  2972. proto.RegisterType((*RequestEcho)(nil), "tendermint.abci.RequestEcho")
  2973. proto.RegisterType((*RequestFlush)(nil), "tendermint.abci.RequestFlush")
  2974. proto.RegisterType((*RequestInfo)(nil), "tendermint.abci.RequestInfo")
  2975. proto.RegisterType((*RequestInitChain)(nil), "tendermint.abci.RequestInitChain")
  2976. proto.RegisterType((*RequestQuery)(nil), "tendermint.abci.RequestQuery")
  2977. proto.RegisterType((*RequestCheckTx)(nil), "tendermint.abci.RequestCheckTx")
  2978. proto.RegisterType((*RequestCommit)(nil), "tendermint.abci.RequestCommit")
  2979. proto.RegisterType((*RequestListSnapshots)(nil), "tendermint.abci.RequestListSnapshots")
  2980. proto.RegisterType((*RequestOfferSnapshot)(nil), "tendermint.abci.RequestOfferSnapshot")
  2981. proto.RegisterType((*RequestLoadSnapshotChunk)(nil), "tendermint.abci.RequestLoadSnapshotChunk")
  2982. proto.RegisterType((*RequestApplySnapshotChunk)(nil), "tendermint.abci.RequestApplySnapshotChunk")
  2983. proto.RegisterType((*RequestPrepareProposal)(nil), "tendermint.abci.RequestPrepareProposal")
  2984. proto.RegisterType((*RequestExtendVote)(nil), "tendermint.abci.RequestExtendVote")
  2985. proto.RegisterType((*RequestVerifyVoteExtension)(nil), "tendermint.abci.RequestVerifyVoteExtension")
  2986. proto.RegisterType((*RequestProcessProposal)(nil), "tendermint.abci.RequestProcessProposal")
  2987. proto.RegisterType((*RequestFinalizeBlock)(nil), "tendermint.abci.RequestFinalizeBlock")
  2988. proto.RegisterType((*Response)(nil), "tendermint.abci.Response")
  2989. proto.RegisterType((*ResponseException)(nil), "tendermint.abci.ResponseException")
  2990. proto.RegisterType((*ResponseEcho)(nil), "tendermint.abci.ResponseEcho")
  2991. proto.RegisterType((*ResponseFlush)(nil), "tendermint.abci.ResponseFlush")
  2992. proto.RegisterType((*ResponseInfo)(nil), "tendermint.abci.ResponseInfo")
  2993. proto.RegisterType((*ResponseInitChain)(nil), "tendermint.abci.ResponseInitChain")
  2994. proto.RegisterType((*ResponseQuery)(nil), "tendermint.abci.ResponseQuery")
  2995. proto.RegisterType((*ResponseCheckTx)(nil), "tendermint.abci.ResponseCheckTx")
  2996. proto.RegisterType((*ResponseDeliverTx)(nil), "tendermint.abci.ResponseDeliverTx")
  2997. proto.RegisterType((*ResponseCommit)(nil), "tendermint.abci.ResponseCommit")
  2998. proto.RegisterType((*ResponseListSnapshots)(nil), "tendermint.abci.ResponseListSnapshots")
  2999. proto.RegisterType((*ResponseOfferSnapshot)(nil), "tendermint.abci.ResponseOfferSnapshot")
  3000. proto.RegisterType((*ResponseLoadSnapshotChunk)(nil), "tendermint.abci.ResponseLoadSnapshotChunk")
  3001. proto.RegisterType((*ResponseApplySnapshotChunk)(nil), "tendermint.abci.ResponseApplySnapshotChunk")
  3002. proto.RegisterType((*ResponsePrepareProposal)(nil), "tendermint.abci.ResponsePrepareProposal")
  3003. proto.RegisterType((*ResponseExtendVote)(nil), "tendermint.abci.ResponseExtendVote")
  3004. proto.RegisterType((*ResponseVerifyVoteExtension)(nil), "tendermint.abci.ResponseVerifyVoteExtension")
  3005. proto.RegisterType((*ResponseProcessProposal)(nil), "tendermint.abci.ResponseProcessProposal")
  3006. proto.RegisterType((*ResponseFinalizeBlock)(nil), "tendermint.abci.ResponseFinalizeBlock")
  3007. proto.RegisterType((*LastCommitInfo)(nil), "tendermint.abci.LastCommitInfo")
  3008. proto.RegisterType((*Event)(nil), "tendermint.abci.Event")
  3009. proto.RegisterType((*EventAttribute)(nil), "tendermint.abci.EventAttribute")
  3010. proto.RegisterType((*TxResult)(nil), "tendermint.abci.TxResult")
  3011. proto.RegisterType((*Validator)(nil), "tendermint.abci.Validator")
  3012. proto.RegisterType((*ValidatorUpdate)(nil), "tendermint.abci.ValidatorUpdate")
  3013. proto.RegisterType((*VoteInfo)(nil), "tendermint.abci.VoteInfo")
  3014. proto.RegisterType((*Evidence)(nil), "tendermint.abci.Evidence")
  3015. proto.RegisterType((*Snapshot)(nil), "tendermint.abci.Snapshot")
  3016. }
  3017. func init() { proto.RegisterFile("tendermint/abci/types.proto", fileDescriptor_252557cfdd89a31a) }
  3018. var fileDescriptor_252557cfdd89a31a = []byte{
  3019. // 2944 bytes of a gzipped FileDescriptorProto
  3020. 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0x9a, 0xbd, 0x73, 0xe3, 0xc6,
  3021. 0x15, 0xc0, 0x09, 0x7e, 0x89, 0x7c, 0xfc, 0xd4, 0xea, 0x2c, 0xd3, 0xf0, 0x9d, 0x24, 0xc3, 0x63,
  3022. 0x5b, 0x3e, 0xdb, 0x52, 0xac, 0x8b, 0x9d, 0xf3, 0x38, 0x5f, 0x12, 0x8f, 0x32, 0xe5, 0x53, 0x24,
  3023. 0x65, 0xc5, 0x3b, 0x8f, 0x13, 0xdb, 0x30, 0x48, 0xae, 0x44, 0xf8, 0x48, 0x00, 0x06, 0x40, 0x5a,
  3024. 0xba, 0x32, 0x33, 0x69, 0x5c, 0xb9, 0x4c, 0xe3, 0x2e, 0x33, 0x49, 0x93, 0x22, 0x5d, 0xaa, 0x54,
  3025. 0x99, 0x89, 0x8b, 0x14, 0x2e, 0x53, 0x64, 0x9c, 0x8c, 0xdd, 0xe5, 0x1f, 0x48, 0x93, 0xcc, 0x64,
  3026. 0xf6, 0x03, 0x5f, 0x24, 0xc1, 0x8f, 0x24, 0x5d, 0x3a, 0xec, 0xc3, 0x7b, 0x0f, 0x8b, 0xc5, 0xee,
  3027. 0xdb, 0xdf, 0x7b, 0x58, 0x78, 0xda, 0x25, 0x46, 0x97, 0xd8, 0x03, 0xdd, 0x70, 0x77, 0xb5, 0x76,
  3028. 0x47, 0xdf, 0x75, 0xaf, 0x2d, 0xe2, 0xec, 0x58, 0xb6, 0xe9, 0x9a, 0xa8, 0x12, 0xdc, 0xdc, 0xa1,
  3029. 0x37, 0xe5, 0x5b, 0x21, 0xed, 0x8e, 0x7d, 0x6d, 0xb9, 0xe6, 0xae, 0x65, 0x9b, 0xe6, 0x05, 0xd7,
  3030. 0x97, 0x6f, 0x86, 0x6e, 0x33, 0x3f, 0x61, 0x6f, 0x91, 0xbb, 0xc2, 0xf8, 0x11, 0xb9, 0xf6, 0xee,
  3031. 0xde, 0x9a, 0xb0, 0xb5, 0x34, 0x5b, 0x1b, 0x78, 0xb7, 0x37, 0x2f, 0x4d, 0xf3, 0xb2, 0x4f, 0x76,
  3032. 0x59, 0xab, 0x3d, 0xbc, 0xd8, 0x75, 0xf5, 0x01, 0x71, 0x5c, 0x6d, 0x60, 0x09, 0x85, 0x1b, 0x97,
  3033. 0xe6, 0xa5, 0xc9, 0x2e, 0x77, 0xe9, 0x15, 0x97, 0x2a, 0xbf, 0xca, 0xc3, 0x0a, 0x26, 0x1f, 0x0f,
  3034. 0x89, 0xe3, 0xa2, 0x3d, 0x48, 0x93, 0x4e, 0xcf, 0xac, 0x49, 0x5b, 0xd2, 0x76, 0x61, 0xef, 0xe6,
  3035. 0xce, 0xd8, 0xcb, 0xed, 0x08, 0xbd, 0x46, 0xa7, 0x67, 0x36, 0x13, 0x98, 0xe9, 0xa2, 0xd7, 0x20,
  3036. 0x73, 0xd1, 0x1f, 0x3a, 0xbd, 0x5a, 0x92, 0x19, 0xdd, 0x8a, 0x33, 0x3a, 0xa4, 0x4a, 0xcd, 0x04,
  3037. 0xe6, 0xda, 0xf4, 0x51, 0xba, 0x71, 0x61, 0xd6, 0x52, 0xb3, 0x1f, 0x75, 0x64, 0x5c, 0xb0, 0x47,
  3038. 0x51, 0x5d, 0x74, 0x00, 0xa0, 0x1b, 0xba, 0xab, 0x76, 0x7a, 0x9a, 0x6e, 0xd4, 0xd2, 0xcc, 0xf2,
  3039. 0x99, 0x78, 0x4b, 0xdd, 0xad, 0x53, 0xc5, 0x66, 0x02, 0xe7, 0x75, 0xaf, 0x41, 0xbb, 0xfb, 0xf1,
  3040. 0x90, 0xd8, 0xd7, 0xb5, 0xcc, 0xec, 0xee, 0xfe, 0x98, 0x2a, 0xd1, 0xee, 0x32, 0x6d, 0xf4, 0x5d,
  3041. 0xc8, 0x75, 0x7a, 0xa4, 0xf3, 0x48, 0x75, 0xaf, 0x6a, 0x2b, 0xcc, 0x72, 0x33, 0xce, 0xb2, 0x4e,
  3042. 0xf5, 0x5a, 0x57, 0xcd, 0x04, 0x5e, 0xe9, 0xf0, 0x4b, 0x74, 0x17, 0xb2, 0x1d, 0x73, 0x30, 0xd0,
  3043. 0xdd, 0x1a, 0x30, 0xdb, 0x8d, 0x58, 0x5b, 0xa6, 0xd5, 0x4c, 0x60, 0xa1, 0x8f, 0x4e, 0xa0, 0xdc,
  3044. 0xd7, 0x1d, 0x57, 0x75, 0x0c, 0xcd, 0x72, 0x7a, 0xa6, 0xeb, 0xd4, 0x0a, 0xcc, 0xc3, 0x73, 0x71,
  3045. 0x1e, 0x8e, 0x75, 0xc7, 0x3d, 0xf7, 0x94, 0x9b, 0x09, 0x5c, 0xea, 0x87, 0x05, 0xd4, 0x9f, 0x79,
  3046. 0x71, 0x41, 0x6c, 0xdf, 0x61, 0xad, 0x38, 0xdb, 0xdf, 0x29, 0xd5, 0xf6, 0xec, 0xa9, 0x3f, 0x33,
  3047. 0x2c, 0x40, 0x3f, 0x85, 0xb5, 0xbe, 0xa9, 0x75, 0x7d, 0x77, 0x6a, 0xa7, 0x37, 0x34, 0x1e, 0xd5,
  3048. 0x4a, 0xcc, 0xe9, 0x8b, 0xb1, 0x9d, 0x34, 0xb5, 0xae, 0xe7, 0xa2, 0x4e, 0x0d, 0x9a, 0x09, 0xbc,
  3049. 0xda, 0x1f, 0x17, 0xa2, 0x0f, 0xe0, 0x86, 0x66, 0x59, 0xfd, 0xeb, 0x71, 0xef, 0x65, 0xe6, 0xfd,
  3050. 0x76, 0x9c, 0xf7, 0x7d, 0x6a, 0x33, 0xee, 0x1e, 0x69, 0x13, 0x52, 0xd4, 0x82, 0xaa, 0x65, 0x13,
  3051. 0x4b, 0xb3, 0x89, 0x6a, 0xd9, 0xa6, 0x65, 0x3a, 0x5a, 0xbf, 0x56, 0x61, 0xbe, 0x5f, 0x88, 0xf3,
  3052. 0x7d, 0xc6, 0xf5, 0xcf, 0x84, 0x7a, 0x33, 0x81, 0x2b, 0x56, 0x54, 0xc4, 0xbd, 0x9a, 0x1d, 0xe2,
  3053. 0x38, 0x81, 0xd7, 0xea, 0x3c, 0xaf, 0x4c, 0x3f, 0xea, 0x35, 0x22, 0x42, 0x0d, 0x28, 0x90, 0x2b,
  3054. 0x6a, 0xae, 0x8e, 0x4c, 0x97, 0xd4, 0x56, 0x99, 0x43, 0x25, 0x76, 0x85, 0x32, 0xd5, 0x87, 0xa6,
  3055. 0x4b, 0x9a, 0x09, 0x0c, 0xc4, 0x6f, 0x21, 0x0d, 0x9e, 0x18, 0x11, 0x5b, 0xbf, 0xb8, 0x66, 0x6e,
  3056. 0x54, 0x76, 0xc7, 0xd1, 0x4d, 0xa3, 0x86, 0x98, 0xc3, 0x97, 0xe2, 0x1c, 0x3e, 0x64, 0x46, 0xd4,
  3057. 0x45, 0xc3, 0x33, 0x69, 0x26, 0xf0, 0xda, 0x68, 0x52, 0x4c, 0xa7, 0xd8, 0x85, 0x6e, 0x68, 0x7d,
  3058. 0xfd, 0x31, 0x51, 0xdb, 0x7d, 0xb3, 0xf3, 0xa8, 0xb6, 0x36, 0x7b, 0x8a, 0x1d, 0x0a, 0xed, 0x03,
  3059. 0xaa, 0x4c, 0xa7, 0xd8, 0x45, 0x58, 0x70, 0xb0, 0x02, 0x99, 0x91, 0xd6, 0x1f, 0x12, 0xe5, 0x05,
  3060. 0x28, 0x84, 0x02, 0x10, 0xaa, 0xc1, 0xca, 0x80, 0x38, 0x8e, 0x76, 0x49, 0x58, 0xbc, 0xca, 0x63,
  3061. 0xaf, 0xa9, 0x94, 0xa1, 0x18, 0x0e, 0x3a, 0xca, 0x67, 0x92, 0x6f, 0x49, 0xe3, 0x09, 0xb5, 0x1c,
  3062. 0x11, 0x9b, 0xbd, 0xb6, 0xb0, 0x14, 0x4d, 0xf4, 0x2c, 0x94, 0x58, 0x97, 0x55, 0xef, 0x3e, 0x0d,
  3063. 0x6a, 0x69, 0x5c, 0x64, 0xc2, 0x87, 0x42, 0x69, 0x13, 0x0a, 0xd6, 0x9e, 0xe5, 0xab, 0xa4, 0x98,
  3064. 0x0a, 0x58, 0x7b, 0x96, 0xa7, 0xf0, 0x0c, 0x14, 0xe9, 0xfb, 0xf9, 0x1a, 0x69, 0xf6, 0x90, 0x02,
  3065. 0x95, 0x09, 0x15, 0xe5, 0x4f, 0x49, 0xa8, 0x8e, 0x07, 0x2a, 0x74, 0x17, 0xd2, 0x34, 0x66, 0x8b,
  3066. 0xf0, 0x2b, 0xef, 0xf0, 0x80, 0xbe, 0xe3, 0x05, 0xf4, 0x9d, 0x96, 0x17, 0xd0, 0x0f, 0x72, 0x5f,
  3067. 0x7c, 0xb5, 0x99, 0xf8, 0xec, 0xaf, 0x9b, 0x12, 0x66, 0x16, 0xe8, 0x29, 0x1a, 0x9e, 0x34, 0xdd,
  3068. 0x50, 0xf5, 0x2e, 0xeb, 0x72, 0x9e, 0xc6, 0x1e, 0x4d, 0x37, 0x8e, 0xba, 0xe8, 0x18, 0xaa, 0x1d,
  3069. 0xd3, 0x70, 0x88, 0xe1, 0x0c, 0x1d, 0x95, 0x6f, 0x18, 0x22, 0xe8, 0x46, 0x42, 0x27, 0xdf, 0x86,
  3070. 0xea, 0x9e, 0xe6, 0x19, 0x53, 0xc4, 0x95, 0x4e, 0x54, 0x80, 0x0e, 0x01, 0x46, 0x5a, 0x5f, 0xef,
  3071. 0x6a, 0xae, 0x69, 0x3b, 0xb5, 0xf4, 0x56, 0x6a, 0xbb, 0xb0, 0xb7, 0x35, 0xf1, 0x61, 0x1f, 0x7a,
  3072. 0x2a, 0x0f, 0xac, 0xae, 0xe6, 0x92, 0x83, 0x34, 0xed, 0x2e, 0x0e, 0x59, 0xa2, 0xe7, 0xa1, 0xa2,
  3073. 0x59, 0x96, 0xea, 0xb8, 0x9a, 0x4b, 0xd4, 0xf6, 0xb5, 0x4b, 0x1c, 0x16, 0x90, 0x8b, 0xb8, 0xa4,
  3074. 0x59, 0xd6, 0x39, 0x95, 0x1e, 0x50, 0x21, 0x7a, 0x0e, 0xca, 0x34, 0x76, 0xeb, 0x5a, 0x5f, 0xed,
  3075. 0x11, 0xfd, 0xb2, 0xe7, 0xd6, 0xb2, 0x5b, 0xd2, 0x76, 0x0a, 0x97, 0x84, 0xb4, 0xc9, 0x84, 0x4a,
  3076. 0xd7, 0xff, 0xe2, 0x2c, 0x6e, 0x23, 0x04, 0xe9, 0xae, 0xe6, 0x6a, 0x6c, 0x24, 0x8b, 0x98, 0x5d,
  3077. 0x53, 0x99, 0xa5, 0xb9, 0x3d, 0x31, 0x3e, 0xec, 0x1a, 0xad, 0x43, 0x56, 0xb8, 0x4d, 0x31, 0xb7,
  3078. 0xa2, 0x85, 0x6e, 0x40, 0xc6, 0xb2, 0xcd, 0x11, 0x61, 0x9f, 0x2e, 0x87, 0x79, 0x43, 0xc1, 0x50,
  3079. 0x8e, 0xc6, 0x78, 0x54, 0x86, 0xa4, 0x7b, 0x25, 0x9e, 0x92, 0x74, 0xaf, 0xd0, 0xb7, 0x20, 0x4d,
  3080. 0x07, 0x92, 0x3d, 0xa3, 0x3c, 0x65, 0x57, 0x13, 0x76, 0xad, 0x6b, 0x8b, 0x60, 0xa6, 0xa9, 0x54,
  3081. 0xa0, 0x14, 0x89, 0xfd, 0xca, 0x3a, 0xdc, 0x98, 0x16, 0xca, 0x95, 0x9e, 0x2f, 0x8f, 0x84, 0x64,
  3082. 0xf4, 0x1a, 0xe4, 0xfc, 0x58, 0xce, 0x27, 0xce, 0x53, 0x13, 0x8f, 0xf5, 0x94, 0xb1, 0xaf, 0x4a,
  3083. 0x67, 0x0c, 0xfd, 0x00, 0x3d, 0x4d, 0xec, 0xdc, 0x45, 0xbc, 0xa2, 0x59, 0x56, 0x53, 0x73, 0x7a,
  3084. 0xca, 0x87, 0x50, 0x8b, 0x8b, 0xd3, 0xa1, 0x01, 0x93, 0xd8, 0xb4, 0xf7, 0x06, 0x6c, 0x1d, 0xb2,
  3085. 0x17, 0xa6, 0x3d, 0xd0, 0x5c, 0xe6, 0xac, 0x84, 0x45, 0x8b, 0x0e, 0x24, 0x8f, 0xd9, 0x29, 0x26,
  3086. 0xe6, 0x0d, 0x45, 0x85, 0xa7, 0x62, 0x63, 0x35, 0x35, 0xd1, 0x8d, 0x2e, 0xe1, 0xc3, 0x5a, 0xc2,
  3087. 0xbc, 0x11, 0x38, 0xe2, 0x9d, 0xe5, 0x0d, 0xfa, 0x58, 0x87, 0xbd, 0x2b, 0xf3, 0x9f, 0xc7, 0xa2,
  3088. 0xa5, 0xa8, 0xb0, 0x3e, 0x3d, 0x60, 0xa3, 0x5b, 0x00, 0x7c, 0x85, 0x8b, 0xf9, 0x91, 0xda, 0x2e,
  3089. 0xe2, 0x3c, 0x93, 0xdc, 0xa3, 0x93, 0xe4, 0x79, 0xa8, 0x04, 0xb7, 0x55, 0x47, 0x7f, 0xcc, 0xbf,
  3090. 0x65, 0x0a, 0x97, 0x7c, 0x9d, 0x73, 0xfd, 0x31, 0x51, 0x7e, 0x00, 0xab, 0x13, 0xa1, 0x16, 0xdd,
  3091. 0x86, 0x34, 0x0b, 0xce, 0xfc, 0x33, 0xac, 0x4f, 0x2e, 0x2f, 0xaa, 0x85, 0x99, 0x8e, 0xd2, 0x04,
  3092. 0x39, 0x3e, 0xb4, 0x2e, 0xe5, 0xa9, 0x1d, 0x7a, 0xd7, 0xe8, 0x9e, 0xf1, 0x3a, 0xfd, 0x58, 0x1a,
  3093. 0x1d, 0x1d, 0xee, 0xa7, 0x36, 0xe9, 0xa7, 0xc9, 0xee, 0x8b, 0x05, 0x2a, 0xb4, 0x51, 0x15, 0x52,
  3094. 0xee, 0x95, 0x53, 0x4b, 0xb2, 0xc1, 0xa1, 0x97, 0xca, 0x6f, 0x93, 0xfe, 0xec, 0x8b, 0x44, 0x6b,
  3095. 0x4f, 0x55, 0xf2, 0x55, 0xe9, 0x32, 0x0b, 0x4d, 0x2a, 0x76, 0x1d, 0xbb, 0xcc, 0x82, 0x0e, 0xa6,
  3096. 0x97, 0xea, 0xe0, 0x29, 0x54, 0xfb, 0x9a, 0xe3, 0xaa, 0x1c, 0x92, 0x54, 0x06, 0x92, 0x99, 0x18,
  3097. 0x2a, 0x3b, 0xd6, 0xbc, 0xa5, 0x45, 0x63, 0xbf, 0x70, 0x54, 0xee, 0x47, 0xa4, 0x08, 0xc3, 0x8d,
  3098. 0xf6, 0xf5, 0x63, 0xcd, 0x70, 0x75, 0x83, 0xa8, 0xa1, 0x00, 0x97, 0x65, 0x01, 0x6e, 0x72, 0x41,
  3099. 0x35, 0x46, 0x7a, 0x97, 0x18, 0x1d, 0x2f, 0xb2, 0xad, 0xf9, 0xc6, 0x7e, 0xe4, 0x73, 0x94, 0x7f,
  3100. 0xe6, 0x21, 0x87, 0x89, 0x63, 0xd1, 0x08, 0x8a, 0x0e, 0x20, 0x4f, 0xae, 0x3a, 0xc4, 0x72, 0xbd,
  3101. 0x4d, 0x67, 0xfa, 0xe6, 0xcd, 0xb5, 0x1b, 0x9e, 0x26, 0x45, 0x57, 0xdf, 0x0c, 0xdd, 0x11, 0x74,
  3102. 0x1e, 0x0f, 0xda, 0xc2, 0x3c, 0x8c, 0xe7, 0xaf, 0x7b, 0x78, 0x9e, 0x8a, 0x25, 0x4f, 0x6e, 0x35,
  3103. 0xc6, 0xe7, 0x77, 0x04, 0x9f, 0xa7, 0xe7, 0x3c, 0x2c, 0x02, 0xe8, 0xf5, 0x08, 0xa0, 0x67, 0xe6,
  3104. 0xbc, 0x66, 0x0c, 0xa1, 0xbf, 0xee, 0x11, 0x7a, 0x76, 0x4e, 0x8f, 0xc7, 0x10, 0xfd, 0x7b, 0x21,
  3105. 0x44, 0xcf, 0x31, 0xd3, 0xad, 0x58, 0xd3, 0x29, 0x8c, 0xfe, 0x86, 0xcf, 0xe8, 0x85, 0x58, 0xbe,
  3106. 0x17, 0xc6, 0xe3, 0x90, 0x7e, 0x3a, 0x01, 0xe9, 0x1c, 0xaa, 0x9f, 0x8f, 0x75, 0x31, 0x87, 0xd2,
  3107. 0x4f, 0x27, 0x28, 0xbd, 0x34, 0xc7, 0xe1, 0x1c, 0x4c, 0x7f, 0x6f, 0x3a, 0xa6, 0xc7, 0x83, 0xb4,
  3108. 0xe8, 0xe6, 0x62, 0x9c, 0xae, 0xc6, 0x70, 0x7a, 0x25, 0x96, 0x29, 0xb9, 0xfb, 0x85, 0x41, 0xfd,
  3109. 0xc1, 0x14, 0x50, 0xe7, 0x48, 0xbd, 0x1d, 0xeb, 0x7c, 0x01, 0x52, 0x7f, 0x30, 0x85, 0xd4, 0x57,
  3110. 0xe7, 0xba, 0x9d, 0x8b, 0xea, 0x87, 0x51, 0x54, 0xe7, 0x64, 0xfd, 0xec, 0x8c, 0xd5, 0x1e, 0xc3,
  3111. 0xea, 0xed, 0x38, 0x56, 0xe7, 0x3c, 0xfd, 0x72, 0xac, 0xc7, 0x25, 0x60, 0xfd, 0x74, 0x02, 0xd6,
  3112. 0x6f, 0xcc, 0x99, 0x69, 0x8b, 0xd2, 0xfa, 0x8b, 0x74, 0x87, 0x1c, 0x8b, 0x67, 0x74, 0x17, 0x27,
  3113. 0xb6, 0x6d, 0xda, 0x82, 0xbb, 0x79, 0x43, 0xd9, 0xa6, 0xf4, 0x16, 0xc4, 0xae, 0x19, 0x64, 0xcf,
  3114. 0x68, 0x29, 0x14, 0xaf, 0x94, 0xdf, 0x49, 0x81, 0x2d, 0x8b, 0xe4, 0x61, 0xf2, 0xcb, 0x0b, 0xf2,
  3115. 0x0b, 0xf1, 0x7e, 0x32, 0xca, 0xfb, 0x9b, 0x50, 0xa0, 0x14, 0x34, 0x86, 0xf2, 0x9a, 0xe5, 0xa3,
  3116. 0xfc, 0x6d, 0x58, 0x65, 0x3b, 0x0d, 0x87, 0x02, 0xb1, 0x89, 0xa5, 0xd9, 0x26, 0x56, 0xa1, 0x37,
  3117. 0xf8, 0x28, 0xf0, 0xdd, 0xec, 0x15, 0x58, 0x0b, 0xe9, 0xfa, 0x74, 0xc5, 0xb9, 0xb6, 0xea, 0x6b,
  3118. 0xef, 0x0b, 0xcc, 0xfa, 0x83, 0x14, 0x8c, 0x50, 0x90, 0x03, 0x4c, 0xc3, 0x75, 0xe9, 0x7f, 0x84,
  3119. 0xeb, 0xc9, 0xff, 0x18, 0xd7, 0xc3, 0xb4, 0x98, 0x8a, 0xd2, 0xe2, 0x3f, 0xa4, 0xe0, 0x9b, 0xf8,
  3120. 0xf0, 0xdd, 0x31, 0xbb, 0x44, 0xf0, 0x1b, 0xbb, 0xa6, 0x9c, 0xd0, 0x37, 0x2f, 0x05, 0xa5, 0xd1,
  3121. 0x4b, 0xaa, 0xe5, 0x6f, 0x30, 0x79, 0xb1, 0x7f, 0xf8, 0xe8, 0x97, 0x61, 0x23, 0x2c, 0xd0, 0xaf,
  3122. 0x0a, 0xa9, 0x47, 0x84, 0x6f, 0x07, 0x45, 0x4c, 0x2f, 0xa9, 0x1e, 0x9b, 0x64, 0xac, 0x14, 0x53,
  3123. 0xc4, 0xbc, 0x81, 0xee, 0x42, 0x9e, 0x95, 0xda, 0x54, 0xd3, 0x72, 0xc4, 0x0e, 0xf0, 0x74, 0xf8,
  3124. 0x5d, 0x79, 0x45, 0x6d, 0xe7, 0x8c, 0xea, 0x9c, 0x5a, 0x0e, 0xce, 0x59, 0xe2, 0x2a, 0xc4, 0x27,
  3125. 0xf9, 0x08, 0x9f, 0xdc, 0x84, 0x3c, 0xed, 0xbd, 0x63, 0x69, 0x1d, 0xc2, 0x4a, 0x37, 0x79, 0x1c,
  3126. 0x08, 0x94, 0xbf, 0x24, 0xa1, 0x32, 0xb6, 0xa1, 0x4c, 0x7d, 0x77, 0x6f, 0x4a, 0x26, 0x43, 0xc9,
  3127. 0xc8, 0x62, 0xe3, 0xb1, 0x01, 0x70, 0xa9, 0x39, 0xea, 0x27, 0x9a, 0xe1, 0x92, 0xae, 0x18, 0x94,
  3128. 0x90, 0x04, 0xc9, 0x90, 0xa3, 0xad, 0xa1, 0x43, 0xba, 0x22, 0x2f, 0xf2, 0xdb, 0xa8, 0x09, 0x59,
  3129. 0x32, 0x22, 0x86, 0xeb, 0xd4, 0x56, 0xd8, 0x67, 0x5f, 0x9f, 0x02, 0x31, 0xc4, 0x70, 0x0f, 0x6a,
  3130. 0xf4, 0x63, 0xff, 0xfd, 0xab, 0xcd, 0x2a, 0xd7, 0x7e, 0xd9, 0x1c, 0xe8, 0x2e, 0x19, 0x58, 0xee,
  3131. 0x35, 0x16, 0xf6, 0xd1, 0x51, 0xc8, 0x8d, 0x8d, 0x42, 0x08, 0xc1, 0xf3, 0x61, 0x04, 0xa7, 0x7d,
  3132. 0xb3, 0x6c, 0xdd, 0xb4, 0x75, 0xf7, 0x9a, 0x0d, 0x5d, 0x0a, 0xfb, 0x6d, 0x9a, 0x66, 0x0f, 0xc8,
  3133. 0xc0, 0x32, 0xcd, 0xbe, 0xca, 0xc3, 0x41, 0x81, 0x99, 0x16, 0x85, 0xb0, 0xc1, 0xa2, 0xc2, 0xcf,
  3134. 0x93, 0xc1, 0xfa, 0xb8, 0x47, 0xfa, 0xfa, 0x88, 0xd8, 0xff, 0x8f, 0x03, 0xac, 0x1c, 0xd1, 0xac,
  3135. 0x33, 0x4c, 0x1e, 0x53, 0xdf, 0xf7, 0x59, 0x28, 0xd9, 0xc4, 0xd5, 0x74, 0x43, 0x8d, 0x90, 0x76,
  3136. 0x91, 0x0b, 0x45, 0x9a, 0x7c, 0x06, 0x4f, 0x4c, 0x25, 0x10, 0xf4, 0x1d, 0xc8, 0x07, 0xf0, 0x22,
  3137. 0xc5, 0x40, 0xaf, 0x9f, 0x45, 0x06, 0xba, 0xca, 0xef, 0xa5, 0xc0, 0x65, 0x34, 0x2f, 0x6d, 0x40,
  3138. 0xd6, 0x26, 0xce, 0xb0, 0xcf, 0x33, 0xc5, 0xf2, 0xde, 0x2b, 0x8b, 0xb1, 0x0b, 0x95, 0x0e, 0xfb,
  3139. 0x2e, 0x16, 0xc6, 0xca, 0x07, 0x90, 0xe5, 0x12, 0x54, 0x80, 0x95, 0x07, 0x27, 0xf7, 0x4f, 0x4e,
  3140. 0xdf, 0x39, 0xa9, 0x26, 0x10, 0x40, 0x76, 0xbf, 0x5e, 0x6f, 0x9c, 0xb5, 0xaa, 0x12, 0xca, 0x43,
  3141. 0x66, 0xff, 0xe0, 0x14, 0xb7, 0xaa, 0x49, 0x2a, 0xc6, 0x8d, 0xb7, 0x1b, 0xf5, 0x56, 0x35, 0x85,
  3142. 0x56, 0xa1, 0xc4, 0xaf, 0xd5, 0xc3, 0x53, 0xfc, 0xa3, 0xfd, 0x56, 0x35, 0x1d, 0x12, 0x9d, 0x37,
  3143. 0x4e, 0xee, 0x35, 0x70, 0x35, 0xa3, 0xbc, 0x4a, 0x53, 0xd1, 0x18, 0xda, 0x09, 0x92, 0x4e, 0x29,
  3144. 0x94, 0x74, 0x2a, 0xbf, 0x48, 0xd2, 0xdc, 0x2d, 0x0e, 0x61, 0xd0, 0xdb, 0x63, 0x2f, 0xbe, 0xb7,
  3145. 0x04, 0xff, 0x8c, 0xbd, 0x3d, 0x7a, 0x0e, 0xca, 0x36, 0xb9, 0x20, 0x6e, 0xa7, 0xc7, 0x91, 0x8a,
  3146. 0xc7, 0xf0, 0x12, 0x2e, 0x09, 0x29, 0x33, 0x72, 0xb8, 0xda, 0x47, 0xa4, 0xe3, 0xaa, 0x7c, 0xf1,
  3147. 0x39, 0xb5, 0xd4, 0x56, 0x6a, 0x3b, 0x4f, 0xd5, 0xa8, 0xf4, 0x9c, 0x0b, 0x95, 0x0f, 0x97, 0x1a,
  3148. 0xcb, 0x3c, 0x64, 0x70, 0xa3, 0x85, 0xdf, 0xad, 0xa6, 0x10, 0x82, 0x32, 0xbb, 0x54, 0xcf, 0x4f,
  3149. 0xf6, 0xcf, 0xce, 0x9b, 0xa7, 0x74, 0x2c, 0xd7, 0xa0, 0xe2, 0x8d, 0xa5, 0x27, 0xcc, 0x28, 0x77,
  3150. 0xe1, 0xc9, 0x18, 0xfe, 0x9a, 0x93, 0x78, 0x2b, 0xef, 0x01, 0x9a, 0x04, 0x22, 0x74, 0x08, 0xe5,
  3151. 0x31, 0xf6, 0x91, 0x26, 0xe1, 0x3c, 0xc8, 0x88, 0x7d, 0xae, 0xc1, 0xa5, 0x51, 0xb8, 0xa9, 0xfc,
  3152. 0x52, 0x82, 0xa7, 0x67, 0xd0, 0x11, 0xba, 0x3f, 0xf6, 0xcd, 0xee, 0x2c, 0xc3, 0x56, 0xe3, 0x53,
  3153. 0xf6, 0xee, 0x42, 0xc3, 0x7c, 0x7e, 0xbc, 0x7f, 0xde, 0x8c, 0x4e, 0x59, 0xe5, 0x37, 0x52, 0x78,
  3154. 0xfc, 0xa2, 0x54, 0xf9, 0xd6, 0x58, 0x17, 0x77, 0x17, 0x45, 0xd4, 0xf1, 0x39, 0x25, 0x43, 0x8e,
  3155. 0x88, 0xf4, 0x55, 0xa4, 0xf8, 0x7e, 0x5b, 0x79, 0x65, 0x7e, 0xd7, 0x83, 0xfe, 0x26, 0x95, 0x3f,
  3156. 0x26, 0x83, 0xd5, 0x1f, 0xad, 0x0b, 0x7c, 0x3b, 0xa8, 0x0b, 0xcc, 0x4a, 0x01, 0xfd, 0xb8, 0xce,
  3157. 0x6b, 0x07, 0xe7, 0xb0, 0xea, 0x43, 0x87, 0x3a, 0x64, 0x30, 0xb2, 0x2c, 0xb5, 0x54, 0x47, 0x51,
  3158. 0xb1, 0x83, 0xde, 0x85, 0x27, 0xc7, 0x88, 0xca, 0x77, 0xbd, 0x70, 0x1d, 0xf4, 0x89, 0x28, 0x58,
  3159. 0x79, 0xae, 0x83, 0x2d, 0x20, 0xfd, 0xdf, 0x6d, 0x01, 0xca, 0xfb, 0x50, 0x8e, 0x16, 0x2a, 0x68,
  3160. 0xec, 0xb1, 0xcd, 0xa1, 0xd1, 0x65, 0x9f, 0x3b, 0x83, 0x79, 0x03, 0xbd, 0x06, 0x19, 0x3a, 0xb3,
  3161. 0xbd, 0x51, 0x99, 0x0c, 0xd2, 0x74, 0x66, 0x86, 0x0a, 0x1d, 0x5c, 0x5b, 0x79, 0x0c, 0x19, 0xd6,
  3162. 0x13, 0xba, 0x75, 0xb0, 0x02, 0xa5, 0xc0, 0x63, 0x7a, 0x8d, 0xde, 0x07, 0xd0, 0x5c, 0xd7, 0xd6,
  3163. 0xdb, 0xc3, 0xc0, 0xf1, 0xe6, 0xf4, 0x37, 0xd9, 0xf7, 0xf4, 0x0e, 0x6e, 0x8a, 0x57, 0xba, 0x11,
  3164. 0x98, 0x86, 0x5e, 0x2b, 0xe4, 0x50, 0x39, 0x81, 0x72, 0xd4, 0xd6, 0x03, 0x3a, 0xde, 0x87, 0x28,
  3165. 0xd0, 0x71, 0x3e, 0x17, 0x40, 0xe7, 0xe3, 0x60, 0x8a, 0x57, 0x61, 0x59, 0x43, 0xf9, 0x54, 0x82,
  3166. 0x5c, 0xeb, 0x4a, 0x4c, 0xd3, 0x68, 0x3d, 0x32, 0x52, 0xc0, 0xe5, 0xa6, 0xc9, 0x70, 0x11, 0x91,
  3167. 0x97, 0x6b, 0x53, 0x7e, 0xb9, 0xf6, 0x87, 0xfe, 0x9a, 0x4a, 0xcf, 0xa9, 0x55, 0xf8, 0x13, 0xd5,
  3168. 0xab, 0x44, 0x89, 0xb5, 0xfe, 0x26, 0xe4, 0xfd, 0x79, 0x48, 0xf3, 0x0c, 0xad, 0xdb, 0xb5, 0x89,
  3169. 0xe3, 0x88, 0x0d, 0xc3, 0x6b, 0xb2, 0x7a, 0xb2, 0xf9, 0x89, 0x28, 0x53, 0xa6, 0x30, 0x6f, 0x28,
  3170. 0x5d, 0xa8, 0x8c, 0x4d, 0x62, 0xf4, 0x26, 0xac, 0x58, 0xc3, 0xb6, 0xea, 0x0d, 0xcf, 0xd8, 0x9f,
  3171. 0x51, 0x8f, 0x60, 0x87, 0xed, 0xbe, 0xde, 0xb9, 0x4f, 0xae, 0xbd, 0xce, 0x58, 0xc3, 0xf6, 0x7d,
  3172. 0x3e, 0x8a, 0xfc, 0x29, 0xc9, 0xf0, 0x53, 0x46, 0x90, 0xf3, 0x26, 0x05, 0xfa, 0x3e, 0xe4, 0xfd,
  3173. 0xf5, 0xe1, 0xff, 0x66, 0x88, 0x5d, 0x58, 0xc2, 0x7d, 0x60, 0x42, 0xd3, 0x21, 0x47, 0xbf, 0x34,
  3174. 0x48, 0x57, 0x0d, 0x32, 0x1d, 0xf6, 0xb4, 0x1c, 0xae, 0xf0, 0x1b, 0xc7, 0x5e, 0x9a, 0xa3, 0xfc,
  3175. 0x4b, 0x82, 0x9c, 0x57, 0x27, 0x43, 0xaf, 0x86, 0xe6, 0x5d, 0x79, 0x4a, 0x39, 0xc9, 0x53, 0x0c,
  3176. 0x2a, 0xe3, 0xd1, 0xbe, 0x26, 0x97, 0xef, 0x6b, 0x5c, 0xd1, 0xd1, 0xfb, 0xcb, 0x92, 0x5e, 0xfa,
  3177. 0x2f, 0xcb, 0xcb, 0x80, 0x5c, 0xd3, 0xd5, 0xfa, 0x34, 0x1f, 0xd7, 0x8d, 0x4b, 0x95, 0x0f, 0x36,
  3178. 0xa7, 0xc6, 0x2a, 0xbb, 0xf3, 0x90, 0xdd, 0x38, 0x63, 0xe3, 0xfe, 0x33, 0x09, 0x72, 0x3e, 0x0d,
  3179. 0x2d, 0x5b, 0x37, 0x5f, 0x87, 0xac, 0xd8, 0xf0, 0x79, 0xe1, 0x5c, 0xb4, 0xfc, 0xea, 0x6a, 0x3a,
  3180. 0x54, 0x5d, 0x95, 0x21, 0x37, 0x20, 0xae, 0xc6, 0xf6, 0x55, 0x9e, 0x6c, 0xfa, 0xed, 0xdb, 0x6f,
  3181. 0x40, 0x21, 0xf4, 0xcf, 0x81, 0xae, 0xbc, 0x93, 0xc6, 0x3b, 0xd5, 0x84, 0xbc, 0xf2, 0xe9, 0xe7,
  3182. 0x5b, 0xa9, 0x13, 0xf2, 0x09, 0x9d, 0xb3, 0xb8, 0x51, 0x6f, 0x36, 0xea, 0xf7, 0xab, 0x92, 0x5c,
  3183. 0xf8, 0xf4, 0xf3, 0xad, 0x15, 0x4c, 0x58, 0x49, 0xec, 0x76, 0x13, 0x8a, 0xe1, 0xaf, 0x12, 0xdd,
  3184. 0x11, 0x10, 0x94, 0xef, 0x3d, 0x38, 0x3b, 0x3e, 0xaa, 0xef, 0xb7, 0x1a, 0xea, 0xc3, 0xd3, 0x56,
  3185. 0xa3, 0x2a, 0xa1, 0x27, 0x61, 0xed, 0xf8, 0xe8, 0xad, 0x66, 0x4b, 0xad, 0x1f, 0x1f, 0x35, 0x4e,
  3186. 0x5a, 0xea, 0x7e, 0xab, 0xb5, 0x5f, 0xbf, 0x5f, 0x4d, 0xee, 0xfd, 0xba, 0x00, 0x95, 0xfd, 0x83,
  3187. 0xfa, 0x11, 0xe5, 0x1d, 0xbd, 0xa3, 0xb1, 0x4a, 0x40, 0x1d, 0xd2, 0x2c, 0xd7, 0x9f, 0x79, 0xc8,
  3188. 0x40, 0x9e, 0x5d, 0xe4, 0x44, 0x87, 0x90, 0x61, 0x65, 0x00, 0x34, 0xfb, 0xd4, 0x81, 0x3c, 0xa7,
  3189. 0xea, 0x49, 0x3b, 0xc3, 0x96, 0xc7, 0xcc, 0x63, 0x08, 0xf2, 0xec, 0x22, 0x28, 0x3a, 0x86, 0x15,
  3190. 0x2f, 0x0b, 0x9c, 0x77, 0x36, 0x40, 0x9e, 0x5b, 0x99, 0xa4, 0xaf, 0xc6, 0xb3, 0xe9, 0xd9, 0x27,
  3191. 0x14, 0xe4, 0x39, 0xe5, 0x51, 0x74, 0x04, 0x59, 0x91, 0x35, 0xcc, 0x39, 0x74, 0x20, 0xcf, 0x2b,
  3192. 0x78, 0x22, 0x0c, 0xf9, 0xa0, 0x4e, 0x31, 0xff, 0xdc, 0x85, 0xbc, 0x40, 0xe5, 0x17, 0x7d, 0x00,
  3193. 0xa5, 0x68, 0x26, 0xb2, 0xd8, 0xc1, 0x06, 0x79, 0xc1, 0xd2, 0x2a, 0xf5, 0x1f, 0x4d, 0x4b, 0x16,
  3194. 0x3b, 0xe8, 0x20, 0x2f, 0x58, 0x69, 0x45, 0x1f, 0xc1, 0xea, 0x64, 0xda, 0xb0, 0xf8, 0xb9, 0x07,
  3195. 0x79, 0x89, 0xda, 0x2b, 0x1a, 0x00, 0x9a, 0x92, 0x6e, 0x2c, 0x71, 0x0c, 0x42, 0x5e, 0xa6, 0x14,
  3196. 0x8b, 0xba, 0x50, 0x19, 0x67, 0xf8, 0x45, 0x8f, 0x45, 0xc8, 0x0b, 0x97, 0x65, 0xf9, 0x53, 0xa2,
  3197. 0xa4, 0xbb, 0xe8, 0x31, 0x09, 0x79, 0xe1, 0x2a, 0x2d, 0x7a, 0x00, 0x10, 0xca, 0x2a, 0x16, 0x38,
  3198. 0x36, 0x21, 0x2f, 0x52, 0xaf, 0x45, 0x16, 0xac, 0x4d, 0xcb, 0x26, 0x96, 0x39, 0x45, 0x21, 0x2f,
  3199. 0x55, 0xc6, 0xa5, 0xf3, 0x39, 0x0a, 0xda, 0x8b, 0x9d, 0xaa, 0x90, 0x17, 0xac, 0xe7, 0x1e, 0x34,
  3200. 0xbe, 0xf8, 0x7a, 0x43, 0xfa, 0xf2, 0xeb, 0x0d, 0xe9, 0x6f, 0x5f, 0x6f, 0x48, 0x9f, 0x7d, 0xb3,
  3201. 0x91, 0xf8, 0xf2, 0x9b, 0x8d, 0xc4, 0x9f, 0xbf, 0xd9, 0x48, 0xfc, 0xe4, 0xa5, 0x4b, 0xdd, 0xed,
  3202. 0x0d, 0xdb, 0x3b, 0x1d, 0x73, 0xb0, 0x1b, 0x3e, 0x88, 0x36, 0xed, 0x70, 0x5c, 0x3b, 0xcb, 0x76,
  3203. 0xd3, 0x3b, 0xff, 0x0e, 0x00, 0x00, 0xff, 0xff, 0x38, 0xc0, 0x71, 0xe9, 0x3c, 0x27, 0x00, 0x00,
  3204. }
  3205. // Reference imports to suppress errors if they are not otherwise used.
  3206. var _ context.Context
  3207. var _ grpc.ClientConn
  3208. // This is a compile-time assertion to ensure that this generated file
  3209. // is compatible with the grpc package it is being compiled against.
  3210. const _ = grpc.SupportPackageIsVersion4
  3211. // ABCIApplicationClient is the client API for ABCIApplication service.
  3212. //
  3213. // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
  3214. type ABCIApplicationClient interface {
  3215. Echo(ctx context.Context, in *RequestEcho, opts ...grpc.CallOption) (*ResponseEcho, error)
  3216. Flush(ctx context.Context, in *RequestFlush, opts ...grpc.CallOption) (*ResponseFlush, error)
  3217. Info(ctx context.Context, in *RequestInfo, opts ...grpc.CallOption) (*ResponseInfo, error)
  3218. // rpc DeliverTx(RequestDeliverTx) returns (ResponseDeliverTx);
  3219. CheckTx(ctx context.Context, in *RequestCheckTx, opts ...grpc.CallOption) (*ResponseCheckTx, error)
  3220. Query(ctx context.Context, in *RequestQuery, opts ...grpc.CallOption) (*ResponseQuery, error)
  3221. Commit(ctx context.Context, in *RequestCommit, opts ...grpc.CallOption) (*ResponseCommit, error)
  3222. InitChain(ctx context.Context, in *RequestInitChain, opts ...grpc.CallOption) (*ResponseInitChain, error)
  3223. // rpc BeginBlock(RequestBeginBlock) returns (ResponseBeginBlock);
  3224. // rpc EndBlock(RequestEndBlock) returns (ResponseEndBlock);
  3225. ListSnapshots(ctx context.Context, in *RequestListSnapshots, opts ...grpc.CallOption) (*ResponseListSnapshots, error)
  3226. OfferSnapshot(ctx context.Context, in *RequestOfferSnapshot, opts ...grpc.CallOption) (*ResponseOfferSnapshot, error)
  3227. LoadSnapshotChunk(ctx context.Context, in *RequestLoadSnapshotChunk, opts ...grpc.CallOption) (*ResponseLoadSnapshotChunk, error)
  3228. ApplySnapshotChunk(ctx context.Context, in *RequestApplySnapshotChunk, opts ...grpc.CallOption) (*ResponseApplySnapshotChunk, error)
  3229. PrepareProposal(ctx context.Context, in *RequestPrepareProposal, opts ...grpc.CallOption) (*ResponsePrepareProposal, error)
  3230. ProcessProposal(ctx context.Context, in *RequestProcessProposal, opts ...grpc.CallOption) (*ResponseProcessProposal, error)
  3231. ExtendVote(ctx context.Context, in *RequestExtendVote, opts ...grpc.CallOption) (*ResponseExtendVote, error)
  3232. VerifyVoteExtension(ctx context.Context, in *RequestVerifyVoteExtension, opts ...grpc.CallOption) (*ResponseVerifyVoteExtension, error)
  3233. FinalizeBlock(ctx context.Context, in *RequestFinalizeBlock, opts ...grpc.CallOption) (*ResponseFinalizeBlock, error)
  3234. }
  3235. type aBCIApplicationClient struct {
  3236. cc *grpc.ClientConn
  3237. }
  3238. func NewABCIApplicationClient(cc *grpc.ClientConn) ABCIApplicationClient {
  3239. return &aBCIApplicationClient{cc}
  3240. }
  3241. func (c *aBCIApplicationClient) Echo(ctx context.Context, in *RequestEcho, opts ...grpc.CallOption) (*ResponseEcho, error) {
  3242. out := new(ResponseEcho)
  3243. err := c.cc.Invoke(ctx, "/tendermint.abci.ABCIApplication/Echo", in, out, opts...)
  3244. if err != nil {
  3245. return nil, err
  3246. }
  3247. return out, nil
  3248. }
  3249. func (c *aBCIApplicationClient) Flush(ctx context.Context, in *RequestFlush, opts ...grpc.CallOption) (*ResponseFlush, error) {
  3250. out := new(ResponseFlush)
  3251. err := c.cc.Invoke(ctx, "/tendermint.abci.ABCIApplication/Flush", in, out, opts...)
  3252. if err != nil {
  3253. return nil, err
  3254. }
  3255. return out, nil
  3256. }
  3257. func (c *aBCIApplicationClient) Info(ctx context.Context, in *RequestInfo, opts ...grpc.CallOption) (*ResponseInfo, error) {
  3258. out := new(ResponseInfo)
  3259. err := c.cc.Invoke(ctx, "/tendermint.abci.ABCIApplication/Info", in, out, opts...)
  3260. if err != nil {
  3261. return nil, err
  3262. }
  3263. return out, nil
  3264. }
  3265. func (c *aBCIApplicationClient) CheckTx(ctx context.Context, in *RequestCheckTx, opts ...grpc.CallOption) (*ResponseCheckTx, error) {
  3266. out := new(ResponseCheckTx)
  3267. err := c.cc.Invoke(ctx, "/tendermint.abci.ABCIApplication/CheckTx", in, out, opts...)
  3268. if err != nil {
  3269. return nil, err
  3270. }
  3271. return out, nil
  3272. }
  3273. func (c *aBCIApplicationClient) Query(ctx context.Context, in *RequestQuery, opts ...grpc.CallOption) (*ResponseQuery, error) {
  3274. out := new(ResponseQuery)
  3275. err := c.cc.Invoke(ctx, "/tendermint.abci.ABCIApplication/Query", in, out, opts...)
  3276. if err != nil {
  3277. return nil, err
  3278. }
  3279. return out, nil
  3280. }
  3281. func (c *aBCIApplicationClient) Commit(ctx context.Context, in *RequestCommit, opts ...grpc.CallOption) (*ResponseCommit, error) {
  3282. out := new(ResponseCommit)
  3283. err := c.cc.Invoke(ctx, "/tendermint.abci.ABCIApplication/Commit", in, out, opts...)
  3284. if err != nil {
  3285. return nil, err
  3286. }
  3287. return out, nil
  3288. }
  3289. func (c *aBCIApplicationClient) InitChain(ctx context.Context, in *RequestInitChain, opts ...grpc.CallOption) (*ResponseInitChain, error) {
  3290. out := new(ResponseInitChain)
  3291. err := c.cc.Invoke(ctx, "/tendermint.abci.ABCIApplication/InitChain", in, out, opts...)
  3292. if err != nil {
  3293. return nil, err
  3294. }
  3295. return out, nil
  3296. }
  3297. func (c *aBCIApplicationClient) ListSnapshots(ctx context.Context, in *RequestListSnapshots, opts ...grpc.CallOption) (*ResponseListSnapshots, error) {
  3298. out := new(ResponseListSnapshots)
  3299. err := c.cc.Invoke(ctx, "/tendermint.abci.ABCIApplication/ListSnapshots", in, out, opts...)
  3300. if err != nil {
  3301. return nil, err
  3302. }
  3303. return out, nil
  3304. }
  3305. func (c *aBCIApplicationClient) OfferSnapshot(ctx context.Context, in *RequestOfferSnapshot, opts ...grpc.CallOption) (*ResponseOfferSnapshot, error) {
  3306. out := new(ResponseOfferSnapshot)
  3307. err := c.cc.Invoke(ctx, "/tendermint.abci.ABCIApplication/OfferSnapshot", in, out, opts...)
  3308. if err != nil {
  3309. return nil, err
  3310. }
  3311. return out, nil
  3312. }
  3313. func (c *aBCIApplicationClient) LoadSnapshotChunk(ctx context.Context, in *RequestLoadSnapshotChunk, opts ...grpc.CallOption) (*ResponseLoadSnapshotChunk, error) {
  3314. out := new(ResponseLoadSnapshotChunk)
  3315. err := c.cc.Invoke(ctx, "/tendermint.abci.ABCIApplication/LoadSnapshotChunk", in, out, opts...)
  3316. if err != nil {
  3317. return nil, err
  3318. }
  3319. return out, nil
  3320. }
  3321. func (c *aBCIApplicationClient) ApplySnapshotChunk(ctx context.Context, in *RequestApplySnapshotChunk, opts ...grpc.CallOption) (*ResponseApplySnapshotChunk, error) {
  3322. out := new(ResponseApplySnapshotChunk)
  3323. err := c.cc.Invoke(ctx, "/tendermint.abci.ABCIApplication/ApplySnapshotChunk", in, out, opts...)
  3324. if err != nil {
  3325. return nil, err
  3326. }
  3327. return out, nil
  3328. }
  3329. func (c *aBCIApplicationClient) PrepareProposal(ctx context.Context, in *RequestPrepareProposal, opts ...grpc.CallOption) (*ResponsePrepareProposal, error) {
  3330. out := new(ResponsePrepareProposal)
  3331. err := c.cc.Invoke(ctx, "/tendermint.abci.ABCIApplication/PrepareProposal", in, out, opts...)
  3332. if err != nil {
  3333. return nil, err
  3334. }
  3335. return out, nil
  3336. }
  3337. func (c *aBCIApplicationClient) ProcessProposal(ctx context.Context, in *RequestProcessProposal, opts ...grpc.CallOption) (*ResponseProcessProposal, error) {
  3338. out := new(ResponseProcessProposal)
  3339. err := c.cc.Invoke(ctx, "/tendermint.abci.ABCIApplication/ProcessProposal", in, out, opts...)
  3340. if err != nil {
  3341. return nil, err
  3342. }
  3343. return out, nil
  3344. }
  3345. func (c *aBCIApplicationClient) ExtendVote(ctx context.Context, in *RequestExtendVote, opts ...grpc.CallOption) (*ResponseExtendVote, error) {
  3346. out := new(ResponseExtendVote)
  3347. err := c.cc.Invoke(ctx, "/tendermint.abci.ABCIApplication/ExtendVote", in, out, opts...)
  3348. if err != nil {
  3349. return nil, err
  3350. }
  3351. return out, nil
  3352. }
  3353. func (c *aBCIApplicationClient) VerifyVoteExtension(ctx context.Context, in *RequestVerifyVoteExtension, opts ...grpc.CallOption) (*ResponseVerifyVoteExtension, error) {
  3354. out := new(ResponseVerifyVoteExtension)
  3355. err := c.cc.Invoke(ctx, "/tendermint.abci.ABCIApplication/VerifyVoteExtension", in, out, opts...)
  3356. if err != nil {
  3357. return nil, err
  3358. }
  3359. return out, nil
  3360. }
  3361. func (c *aBCIApplicationClient) FinalizeBlock(ctx context.Context, in *RequestFinalizeBlock, opts ...grpc.CallOption) (*ResponseFinalizeBlock, error) {
  3362. out := new(ResponseFinalizeBlock)
  3363. err := c.cc.Invoke(ctx, "/tendermint.abci.ABCIApplication/FinalizeBlock", in, out, opts...)
  3364. if err != nil {
  3365. return nil, err
  3366. }
  3367. return out, nil
  3368. }
  3369. // ABCIApplicationServer is the server API for ABCIApplication service.
  3370. type ABCIApplicationServer interface {
  3371. Echo(context.Context, *RequestEcho) (*ResponseEcho, error)
  3372. Flush(context.Context, *RequestFlush) (*ResponseFlush, error)
  3373. Info(context.Context, *RequestInfo) (*ResponseInfo, error)
  3374. // rpc DeliverTx(RequestDeliverTx) returns (ResponseDeliverTx);
  3375. CheckTx(context.Context, *RequestCheckTx) (*ResponseCheckTx, error)
  3376. Query(context.Context, *RequestQuery) (*ResponseQuery, error)
  3377. Commit(context.Context, *RequestCommit) (*ResponseCommit, error)
  3378. InitChain(context.Context, *RequestInitChain) (*ResponseInitChain, error)
  3379. // rpc BeginBlock(RequestBeginBlock) returns (ResponseBeginBlock);
  3380. // rpc EndBlock(RequestEndBlock) returns (ResponseEndBlock);
  3381. ListSnapshots(context.Context, *RequestListSnapshots) (*ResponseListSnapshots, error)
  3382. OfferSnapshot(context.Context, *RequestOfferSnapshot) (*ResponseOfferSnapshot, error)
  3383. LoadSnapshotChunk(context.Context, *RequestLoadSnapshotChunk) (*ResponseLoadSnapshotChunk, error)
  3384. ApplySnapshotChunk(context.Context, *RequestApplySnapshotChunk) (*ResponseApplySnapshotChunk, error)
  3385. PrepareProposal(context.Context, *RequestPrepareProposal) (*ResponsePrepareProposal, error)
  3386. ProcessProposal(context.Context, *RequestProcessProposal) (*ResponseProcessProposal, error)
  3387. ExtendVote(context.Context, *RequestExtendVote) (*ResponseExtendVote, error)
  3388. VerifyVoteExtension(context.Context, *RequestVerifyVoteExtension) (*ResponseVerifyVoteExtension, error)
  3389. FinalizeBlock(context.Context, *RequestFinalizeBlock) (*ResponseFinalizeBlock, error)
  3390. }
  3391. // UnimplementedABCIApplicationServer can be embedded to have forward compatible implementations.
  3392. type UnimplementedABCIApplicationServer struct {
  3393. }
  3394. func (*UnimplementedABCIApplicationServer) Echo(ctx context.Context, req *RequestEcho) (*ResponseEcho, error) {
  3395. return nil, status.Errorf(codes.Unimplemented, "method Echo not implemented")
  3396. }
  3397. func (*UnimplementedABCIApplicationServer) Flush(ctx context.Context, req *RequestFlush) (*ResponseFlush, error) {
  3398. return nil, status.Errorf(codes.Unimplemented, "method Flush not implemented")
  3399. }
  3400. func (*UnimplementedABCIApplicationServer) Info(ctx context.Context, req *RequestInfo) (*ResponseInfo, error) {
  3401. return nil, status.Errorf(codes.Unimplemented, "method Info not implemented")
  3402. }
  3403. func (*UnimplementedABCIApplicationServer) CheckTx(ctx context.Context, req *RequestCheckTx) (*ResponseCheckTx, error) {
  3404. return nil, status.Errorf(codes.Unimplemented, "method CheckTx not implemented")
  3405. }
  3406. func (*UnimplementedABCIApplicationServer) Query(ctx context.Context, req *RequestQuery) (*ResponseQuery, error) {
  3407. return nil, status.Errorf(codes.Unimplemented, "method Query not implemented")
  3408. }
  3409. func (*UnimplementedABCIApplicationServer) Commit(ctx context.Context, req *RequestCommit) (*ResponseCommit, error) {
  3410. return nil, status.Errorf(codes.Unimplemented, "method Commit not implemented")
  3411. }
  3412. func (*UnimplementedABCIApplicationServer) InitChain(ctx context.Context, req *RequestInitChain) (*ResponseInitChain, error) {
  3413. return nil, status.Errorf(codes.Unimplemented, "method InitChain not implemented")
  3414. }
  3415. func (*UnimplementedABCIApplicationServer) ListSnapshots(ctx context.Context, req *RequestListSnapshots) (*ResponseListSnapshots, error) {
  3416. return nil, status.Errorf(codes.Unimplemented, "method ListSnapshots not implemented")
  3417. }
  3418. func (*UnimplementedABCIApplicationServer) OfferSnapshot(ctx context.Context, req *RequestOfferSnapshot) (*ResponseOfferSnapshot, error) {
  3419. return nil, status.Errorf(codes.Unimplemented, "method OfferSnapshot not implemented")
  3420. }
  3421. func (*UnimplementedABCIApplicationServer) LoadSnapshotChunk(ctx context.Context, req *RequestLoadSnapshotChunk) (*ResponseLoadSnapshotChunk, error) {
  3422. return nil, status.Errorf(codes.Unimplemented, "method LoadSnapshotChunk not implemented")
  3423. }
  3424. func (*UnimplementedABCIApplicationServer) ApplySnapshotChunk(ctx context.Context, req *RequestApplySnapshotChunk) (*ResponseApplySnapshotChunk, error) {
  3425. return nil, status.Errorf(codes.Unimplemented, "method ApplySnapshotChunk not implemented")
  3426. }
  3427. func (*UnimplementedABCIApplicationServer) PrepareProposal(ctx context.Context, req *RequestPrepareProposal) (*ResponsePrepareProposal, error) {
  3428. return nil, status.Errorf(codes.Unimplemented, "method PrepareProposal not implemented")
  3429. }
  3430. func (*UnimplementedABCIApplicationServer) ProcessProposal(ctx context.Context, req *RequestProcessProposal) (*ResponseProcessProposal, error) {
  3431. return nil, status.Errorf(codes.Unimplemented, "method ProcessProposal not implemented")
  3432. }
  3433. func (*UnimplementedABCIApplicationServer) ExtendVote(ctx context.Context, req *RequestExtendVote) (*ResponseExtendVote, error) {
  3434. return nil, status.Errorf(codes.Unimplemented, "method ExtendVote not implemented")
  3435. }
  3436. func (*UnimplementedABCIApplicationServer) VerifyVoteExtension(ctx context.Context, req *RequestVerifyVoteExtension) (*ResponseVerifyVoteExtension, error) {
  3437. return nil, status.Errorf(codes.Unimplemented, "method VerifyVoteExtension not implemented")
  3438. }
  3439. func (*UnimplementedABCIApplicationServer) FinalizeBlock(ctx context.Context, req *RequestFinalizeBlock) (*ResponseFinalizeBlock, error) {
  3440. return nil, status.Errorf(codes.Unimplemented, "method FinalizeBlock not implemented")
  3441. }
  3442. func RegisterABCIApplicationServer(s *grpc.Server, srv ABCIApplicationServer) {
  3443. s.RegisterService(&_ABCIApplication_serviceDesc, srv)
  3444. }
  3445. func _ABCIApplication_Echo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  3446. in := new(RequestEcho)
  3447. if err := dec(in); err != nil {
  3448. return nil, err
  3449. }
  3450. if interceptor == nil {
  3451. return srv.(ABCIApplicationServer).Echo(ctx, in)
  3452. }
  3453. info := &grpc.UnaryServerInfo{
  3454. Server: srv,
  3455. FullMethod: "/tendermint.abci.ABCIApplication/Echo",
  3456. }
  3457. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  3458. return srv.(ABCIApplicationServer).Echo(ctx, req.(*RequestEcho))
  3459. }
  3460. return interceptor(ctx, in, info, handler)
  3461. }
  3462. func _ABCIApplication_Flush_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  3463. in := new(RequestFlush)
  3464. if err := dec(in); err != nil {
  3465. return nil, err
  3466. }
  3467. if interceptor == nil {
  3468. return srv.(ABCIApplicationServer).Flush(ctx, in)
  3469. }
  3470. info := &grpc.UnaryServerInfo{
  3471. Server: srv,
  3472. FullMethod: "/tendermint.abci.ABCIApplication/Flush",
  3473. }
  3474. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  3475. return srv.(ABCIApplicationServer).Flush(ctx, req.(*RequestFlush))
  3476. }
  3477. return interceptor(ctx, in, info, handler)
  3478. }
  3479. func _ABCIApplication_Info_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  3480. in := new(RequestInfo)
  3481. if err := dec(in); err != nil {
  3482. return nil, err
  3483. }
  3484. if interceptor == nil {
  3485. return srv.(ABCIApplicationServer).Info(ctx, in)
  3486. }
  3487. info := &grpc.UnaryServerInfo{
  3488. Server: srv,
  3489. FullMethod: "/tendermint.abci.ABCIApplication/Info",
  3490. }
  3491. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  3492. return srv.(ABCIApplicationServer).Info(ctx, req.(*RequestInfo))
  3493. }
  3494. return interceptor(ctx, in, info, handler)
  3495. }
  3496. func _ABCIApplication_CheckTx_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  3497. in := new(RequestCheckTx)
  3498. if err := dec(in); err != nil {
  3499. return nil, err
  3500. }
  3501. if interceptor == nil {
  3502. return srv.(ABCIApplicationServer).CheckTx(ctx, in)
  3503. }
  3504. info := &grpc.UnaryServerInfo{
  3505. Server: srv,
  3506. FullMethod: "/tendermint.abci.ABCIApplication/CheckTx",
  3507. }
  3508. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  3509. return srv.(ABCIApplicationServer).CheckTx(ctx, req.(*RequestCheckTx))
  3510. }
  3511. return interceptor(ctx, in, info, handler)
  3512. }
  3513. func _ABCIApplication_Query_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  3514. in := new(RequestQuery)
  3515. if err := dec(in); err != nil {
  3516. return nil, err
  3517. }
  3518. if interceptor == nil {
  3519. return srv.(ABCIApplicationServer).Query(ctx, in)
  3520. }
  3521. info := &grpc.UnaryServerInfo{
  3522. Server: srv,
  3523. FullMethod: "/tendermint.abci.ABCIApplication/Query",
  3524. }
  3525. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  3526. return srv.(ABCIApplicationServer).Query(ctx, req.(*RequestQuery))
  3527. }
  3528. return interceptor(ctx, in, info, handler)
  3529. }
  3530. func _ABCIApplication_Commit_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  3531. in := new(RequestCommit)
  3532. if err := dec(in); err != nil {
  3533. return nil, err
  3534. }
  3535. if interceptor == nil {
  3536. return srv.(ABCIApplicationServer).Commit(ctx, in)
  3537. }
  3538. info := &grpc.UnaryServerInfo{
  3539. Server: srv,
  3540. FullMethod: "/tendermint.abci.ABCIApplication/Commit",
  3541. }
  3542. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  3543. return srv.(ABCIApplicationServer).Commit(ctx, req.(*RequestCommit))
  3544. }
  3545. return interceptor(ctx, in, info, handler)
  3546. }
  3547. func _ABCIApplication_InitChain_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  3548. in := new(RequestInitChain)
  3549. if err := dec(in); err != nil {
  3550. return nil, err
  3551. }
  3552. if interceptor == nil {
  3553. return srv.(ABCIApplicationServer).InitChain(ctx, in)
  3554. }
  3555. info := &grpc.UnaryServerInfo{
  3556. Server: srv,
  3557. FullMethod: "/tendermint.abci.ABCIApplication/InitChain",
  3558. }
  3559. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  3560. return srv.(ABCIApplicationServer).InitChain(ctx, req.(*RequestInitChain))
  3561. }
  3562. return interceptor(ctx, in, info, handler)
  3563. }
  3564. func _ABCIApplication_ListSnapshots_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  3565. in := new(RequestListSnapshots)
  3566. if err := dec(in); err != nil {
  3567. return nil, err
  3568. }
  3569. if interceptor == nil {
  3570. return srv.(ABCIApplicationServer).ListSnapshots(ctx, in)
  3571. }
  3572. info := &grpc.UnaryServerInfo{
  3573. Server: srv,
  3574. FullMethod: "/tendermint.abci.ABCIApplication/ListSnapshots",
  3575. }
  3576. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  3577. return srv.(ABCIApplicationServer).ListSnapshots(ctx, req.(*RequestListSnapshots))
  3578. }
  3579. return interceptor(ctx, in, info, handler)
  3580. }
  3581. func _ABCIApplication_OfferSnapshot_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  3582. in := new(RequestOfferSnapshot)
  3583. if err := dec(in); err != nil {
  3584. return nil, err
  3585. }
  3586. if interceptor == nil {
  3587. return srv.(ABCIApplicationServer).OfferSnapshot(ctx, in)
  3588. }
  3589. info := &grpc.UnaryServerInfo{
  3590. Server: srv,
  3591. FullMethod: "/tendermint.abci.ABCIApplication/OfferSnapshot",
  3592. }
  3593. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  3594. return srv.(ABCIApplicationServer).OfferSnapshot(ctx, req.(*RequestOfferSnapshot))
  3595. }
  3596. return interceptor(ctx, in, info, handler)
  3597. }
  3598. func _ABCIApplication_LoadSnapshotChunk_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  3599. in := new(RequestLoadSnapshotChunk)
  3600. if err := dec(in); err != nil {
  3601. return nil, err
  3602. }
  3603. if interceptor == nil {
  3604. return srv.(ABCIApplicationServer).LoadSnapshotChunk(ctx, in)
  3605. }
  3606. info := &grpc.UnaryServerInfo{
  3607. Server: srv,
  3608. FullMethod: "/tendermint.abci.ABCIApplication/LoadSnapshotChunk",
  3609. }
  3610. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  3611. return srv.(ABCIApplicationServer).LoadSnapshotChunk(ctx, req.(*RequestLoadSnapshotChunk))
  3612. }
  3613. return interceptor(ctx, in, info, handler)
  3614. }
  3615. func _ABCIApplication_ApplySnapshotChunk_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  3616. in := new(RequestApplySnapshotChunk)
  3617. if err := dec(in); err != nil {
  3618. return nil, err
  3619. }
  3620. if interceptor == nil {
  3621. return srv.(ABCIApplicationServer).ApplySnapshotChunk(ctx, in)
  3622. }
  3623. info := &grpc.UnaryServerInfo{
  3624. Server: srv,
  3625. FullMethod: "/tendermint.abci.ABCIApplication/ApplySnapshotChunk",
  3626. }
  3627. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  3628. return srv.(ABCIApplicationServer).ApplySnapshotChunk(ctx, req.(*RequestApplySnapshotChunk))
  3629. }
  3630. return interceptor(ctx, in, info, handler)
  3631. }
  3632. func _ABCIApplication_PrepareProposal_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  3633. in := new(RequestPrepareProposal)
  3634. if err := dec(in); err != nil {
  3635. return nil, err
  3636. }
  3637. if interceptor == nil {
  3638. return srv.(ABCIApplicationServer).PrepareProposal(ctx, in)
  3639. }
  3640. info := &grpc.UnaryServerInfo{
  3641. Server: srv,
  3642. FullMethod: "/tendermint.abci.ABCIApplication/PrepareProposal",
  3643. }
  3644. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  3645. return srv.(ABCIApplicationServer).PrepareProposal(ctx, req.(*RequestPrepareProposal))
  3646. }
  3647. return interceptor(ctx, in, info, handler)
  3648. }
  3649. func _ABCIApplication_ProcessProposal_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  3650. in := new(RequestProcessProposal)
  3651. if err := dec(in); err != nil {
  3652. return nil, err
  3653. }
  3654. if interceptor == nil {
  3655. return srv.(ABCIApplicationServer).ProcessProposal(ctx, in)
  3656. }
  3657. info := &grpc.UnaryServerInfo{
  3658. Server: srv,
  3659. FullMethod: "/tendermint.abci.ABCIApplication/ProcessProposal",
  3660. }
  3661. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  3662. return srv.(ABCIApplicationServer).ProcessProposal(ctx, req.(*RequestProcessProposal))
  3663. }
  3664. return interceptor(ctx, in, info, handler)
  3665. }
  3666. func _ABCIApplication_ExtendVote_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  3667. in := new(RequestExtendVote)
  3668. if err := dec(in); err != nil {
  3669. return nil, err
  3670. }
  3671. if interceptor == nil {
  3672. return srv.(ABCIApplicationServer).ExtendVote(ctx, in)
  3673. }
  3674. info := &grpc.UnaryServerInfo{
  3675. Server: srv,
  3676. FullMethod: "/tendermint.abci.ABCIApplication/ExtendVote",
  3677. }
  3678. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  3679. return srv.(ABCIApplicationServer).ExtendVote(ctx, req.(*RequestExtendVote))
  3680. }
  3681. return interceptor(ctx, in, info, handler)
  3682. }
  3683. func _ABCIApplication_VerifyVoteExtension_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  3684. in := new(RequestVerifyVoteExtension)
  3685. if err := dec(in); err != nil {
  3686. return nil, err
  3687. }
  3688. if interceptor == nil {
  3689. return srv.(ABCIApplicationServer).VerifyVoteExtension(ctx, in)
  3690. }
  3691. info := &grpc.UnaryServerInfo{
  3692. Server: srv,
  3693. FullMethod: "/tendermint.abci.ABCIApplication/VerifyVoteExtension",
  3694. }
  3695. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  3696. return srv.(ABCIApplicationServer).VerifyVoteExtension(ctx, req.(*RequestVerifyVoteExtension))
  3697. }
  3698. return interceptor(ctx, in, info, handler)
  3699. }
  3700. func _ABCIApplication_FinalizeBlock_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  3701. in := new(RequestFinalizeBlock)
  3702. if err := dec(in); err != nil {
  3703. return nil, err
  3704. }
  3705. if interceptor == nil {
  3706. return srv.(ABCIApplicationServer).FinalizeBlock(ctx, in)
  3707. }
  3708. info := &grpc.UnaryServerInfo{
  3709. Server: srv,
  3710. FullMethod: "/tendermint.abci.ABCIApplication/FinalizeBlock",
  3711. }
  3712. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  3713. return srv.(ABCIApplicationServer).FinalizeBlock(ctx, req.(*RequestFinalizeBlock))
  3714. }
  3715. return interceptor(ctx, in, info, handler)
  3716. }
  3717. var _ABCIApplication_serviceDesc = grpc.ServiceDesc{
  3718. ServiceName: "tendermint.abci.ABCIApplication",
  3719. HandlerType: (*ABCIApplicationServer)(nil),
  3720. Methods: []grpc.MethodDesc{
  3721. {
  3722. MethodName: "Echo",
  3723. Handler: _ABCIApplication_Echo_Handler,
  3724. },
  3725. {
  3726. MethodName: "Flush",
  3727. Handler: _ABCIApplication_Flush_Handler,
  3728. },
  3729. {
  3730. MethodName: "Info",
  3731. Handler: _ABCIApplication_Info_Handler,
  3732. },
  3733. {
  3734. MethodName: "CheckTx",
  3735. Handler: _ABCIApplication_CheckTx_Handler,
  3736. },
  3737. {
  3738. MethodName: "Query",
  3739. Handler: _ABCIApplication_Query_Handler,
  3740. },
  3741. {
  3742. MethodName: "Commit",
  3743. Handler: _ABCIApplication_Commit_Handler,
  3744. },
  3745. {
  3746. MethodName: "InitChain",
  3747. Handler: _ABCIApplication_InitChain_Handler,
  3748. },
  3749. {
  3750. MethodName: "ListSnapshots",
  3751. Handler: _ABCIApplication_ListSnapshots_Handler,
  3752. },
  3753. {
  3754. MethodName: "OfferSnapshot",
  3755. Handler: _ABCIApplication_OfferSnapshot_Handler,
  3756. },
  3757. {
  3758. MethodName: "LoadSnapshotChunk",
  3759. Handler: _ABCIApplication_LoadSnapshotChunk_Handler,
  3760. },
  3761. {
  3762. MethodName: "ApplySnapshotChunk",
  3763. Handler: _ABCIApplication_ApplySnapshotChunk_Handler,
  3764. },
  3765. {
  3766. MethodName: "PrepareProposal",
  3767. Handler: _ABCIApplication_PrepareProposal_Handler,
  3768. },
  3769. {
  3770. MethodName: "ProcessProposal",
  3771. Handler: _ABCIApplication_ProcessProposal_Handler,
  3772. },
  3773. {
  3774. MethodName: "ExtendVote",
  3775. Handler: _ABCIApplication_ExtendVote_Handler,
  3776. },
  3777. {
  3778. MethodName: "VerifyVoteExtension",
  3779. Handler: _ABCIApplication_VerifyVoteExtension_Handler,
  3780. },
  3781. {
  3782. MethodName: "FinalizeBlock",
  3783. Handler: _ABCIApplication_FinalizeBlock_Handler,
  3784. },
  3785. },
  3786. Streams: []grpc.StreamDesc{},
  3787. Metadata: "tendermint/abci/types.proto",
  3788. }
  3789. func (m *Request) Marshal() (dAtA []byte, err error) {
  3790. size := m.Size()
  3791. dAtA = make([]byte, size)
  3792. n, err := m.MarshalToSizedBuffer(dAtA[:size])
  3793. if err != nil {
  3794. return nil, err
  3795. }
  3796. return dAtA[:n], nil
  3797. }
  3798. func (m *Request) MarshalTo(dAtA []byte) (int, error) {
  3799. size := m.Size()
  3800. return m.MarshalToSizedBuffer(dAtA[:size])
  3801. }
  3802. func (m *Request) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  3803. i := len(dAtA)
  3804. _ = i
  3805. var l int
  3806. _ = l
  3807. if m.Value != nil {
  3808. {
  3809. size := m.Value.Size()
  3810. i -= size
  3811. if _, err := m.Value.MarshalTo(dAtA[i:]); err != nil {
  3812. return 0, err
  3813. }
  3814. }
  3815. }
  3816. return len(dAtA) - i, nil
  3817. }
  3818. func (m *Request_Echo) MarshalTo(dAtA []byte) (int, error) {
  3819. size := m.Size()
  3820. return m.MarshalToSizedBuffer(dAtA[:size])
  3821. }
  3822. func (m *Request_Echo) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  3823. i := len(dAtA)
  3824. if m.Echo != nil {
  3825. {
  3826. size, err := m.Echo.MarshalToSizedBuffer(dAtA[:i])
  3827. if err != nil {
  3828. return 0, err
  3829. }
  3830. i -= size
  3831. i = encodeVarintTypes(dAtA, i, uint64(size))
  3832. }
  3833. i--
  3834. dAtA[i] = 0xa
  3835. }
  3836. return len(dAtA) - i, nil
  3837. }
  3838. func (m *Request_Flush) MarshalTo(dAtA []byte) (int, error) {
  3839. size := m.Size()
  3840. return m.MarshalToSizedBuffer(dAtA[:size])
  3841. }
  3842. func (m *Request_Flush) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  3843. i := len(dAtA)
  3844. if m.Flush != nil {
  3845. {
  3846. size, err := m.Flush.MarshalToSizedBuffer(dAtA[:i])
  3847. if err != nil {
  3848. return 0, err
  3849. }
  3850. i -= size
  3851. i = encodeVarintTypes(dAtA, i, uint64(size))
  3852. }
  3853. i--
  3854. dAtA[i] = 0x12
  3855. }
  3856. return len(dAtA) - i, nil
  3857. }
  3858. func (m *Request_Info) MarshalTo(dAtA []byte) (int, error) {
  3859. size := m.Size()
  3860. return m.MarshalToSizedBuffer(dAtA[:size])
  3861. }
  3862. func (m *Request_Info) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  3863. i := len(dAtA)
  3864. if m.Info != nil {
  3865. {
  3866. size, err := m.Info.MarshalToSizedBuffer(dAtA[:i])
  3867. if err != nil {
  3868. return 0, err
  3869. }
  3870. i -= size
  3871. i = encodeVarintTypes(dAtA, i, uint64(size))
  3872. }
  3873. i--
  3874. dAtA[i] = 0x1a
  3875. }
  3876. return len(dAtA) - i, nil
  3877. }
  3878. func (m *Request_InitChain) MarshalTo(dAtA []byte) (int, error) {
  3879. size := m.Size()
  3880. return m.MarshalToSizedBuffer(dAtA[:size])
  3881. }
  3882. func (m *Request_InitChain) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  3883. i := len(dAtA)
  3884. if m.InitChain != nil {
  3885. {
  3886. size, err := m.InitChain.MarshalToSizedBuffer(dAtA[:i])
  3887. if err != nil {
  3888. return 0, err
  3889. }
  3890. i -= size
  3891. i = encodeVarintTypes(dAtA, i, uint64(size))
  3892. }
  3893. i--
  3894. dAtA[i] = 0x22
  3895. }
  3896. return len(dAtA) - i, nil
  3897. }
  3898. func (m *Request_Query) MarshalTo(dAtA []byte) (int, error) {
  3899. size := m.Size()
  3900. return m.MarshalToSizedBuffer(dAtA[:size])
  3901. }
  3902. func (m *Request_Query) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  3903. i := len(dAtA)
  3904. if m.Query != nil {
  3905. {
  3906. size, err := m.Query.MarshalToSizedBuffer(dAtA[:i])
  3907. if err != nil {
  3908. return 0, err
  3909. }
  3910. i -= size
  3911. i = encodeVarintTypes(dAtA, i, uint64(size))
  3912. }
  3913. i--
  3914. dAtA[i] = 0x2a
  3915. }
  3916. return len(dAtA) - i, nil
  3917. }
  3918. func (m *Request_CheckTx) MarshalTo(dAtA []byte) (int, error) {
  3919. size := m.Size()
  3920. return m.MarshalToSizedBuffer(dAtA[:size])
  3921. }
  3922. func (m *Request_CheckTx) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  3923. i := len(dAtA)
  3924. if m.CheckTx != nil {
  3925. {
  3926. size, err := m.CheckTx.MarshalToSizedBuffer(dAtA[:i])
  3927. if err != nil {
  3928. return 0, err
  3929. }
  3930. i -= size
  3931. i = encodeVarintTypes(dAtA, i, uint64(size))
  3932. }
  3933. i--
  3934. dAtA[i] = 0x3a
  3935. }
  3936. return len(dAtA) - i, nil
  3937. }
  3938. func (m *Request_Commit) MarshalTo(dAtA []byte) (int, error) {
  3939. size := m.Size()
  3940. return m.MarshalToSizedBuffer(dAtA[:size])
  3941. }
  3942. func (m *Request_Commit) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  3943. i := len(dAtA)
  3944. if m.Commit != nil {
  3945. {
  3946. size, err := m.Commit.MarshalToSizedBuffer(dAtA[:i])
  3947. if err != nil {
  3948. return 0, err
  3949. }
  3950. i -= size
  3951. i = encodeVarintTypes(dAtA, i, uint64(size))
  3952. }
  3953. i--
  3954. dAtA[i] = 0x52
  3955. }
  3956. return len(dAtA) - i, nil
  3957. }
  3958. func (m *Request_ListSnapshots) MarshalTo(dAtA []byte) (int, error) {
  3959. size := m.Size()
  3960. return m.MarshalToSizedBuffer(dAtA[:size])
  3961. }
  3962. func (m *Request_ListSnapshots) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  3963. i := len(dAtA)
  3964. if m.ListSnapshots != nil {
  3965. {
  3966. size, err := m.ListSnapshots.MarshalToSizedBuffer(dAtA[:i])
  3967. if err != nil {
  3968. return 0, err
  3969. }
  3970. i -= size
  3971. i = encodeVarintTypes(dAtA, i, uint64(size))
  3972. }
  3973. i--
  3974. dAtA[i] = 0x5a
  3975. }
  3976. return len(dAtA) - i, nil
  3977. }
  3978. func (m *Request_OfferSnapshot) MarshalTo(dAtA []byte) (int, error) {
  3979. size := m.Size()
  3980. return m.MarshalToSizedBuffer(dAtA[:size])
  3981. }
  3982. func (m *Request_OfferSnapshot) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  3983. i := len(dAtA)
  3984. if m.OfferSnapshot != nil {
  3985. {
  3986. size, err := m.OfferSnapshot.MarshalToSizedBuffer(dAtA[:i])
  3987. if err != nil {
  3988. return 0, err
  3989. }
  3990. i -= size
  3991. i = encodeVarintTypes(dAtA, i, uint64(size))
  3992. }
  3993. i--
  3994. dAtA[i] = 0x62
  3995. }
  3996. return len(dAtA) - i, nil
  3997. }
  3998. func (m *Request_LoadSnapshotChunk) MarshalTo(dAtA []byte) (int, error) {
  3999. size := m.Size()
  4000. return m.MarshalToSizedBuffer(dAtA[:size])
  4001. }
  4002. func (m *Request_LoadSnapshotChunk) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  4003. i := len(dAtA)
  4004. if m.LoadSnapshotChunk != nil {
  4005. {
  4006. size, err := m.LoadSnapshotChunk.MarshalToSizedBuffer(dAtA[:i])
  4007. if err != nil {
  4008. return 0, err
  4009. }
  4010. i -= size
  4011. i = encodeVarintTypes(dAtA, i, uint64(size))
  4012. }
  4013. i--
  4014. dAtA[i] = 0x6a
  4015. }
  4016. return len(dAtA) - i, nil
  4017. }
  4018. func (m *Request_ApplySnapshotChunk) MarshalTo(dAtA []byte) (int, error) {
  4019. size := m.Size()
  4020. return m.MarshalToSizedBuffer(dAtA[:size])
  4021. }
  4022. func (m *Request_ApplySnapshotChunk) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  4023. i := len(dAtA)
  4024. if m.ApplySnapshotChunk != nil {
  4025. {
  4026. size, err := m.ApplySnapshotChunk.MarshalToSizedBuffer(dAtA[:i])
  4027. if err != nil {
  4028. return 0, err
  4029. }
  4030. i -= size
  4031. i = encodeVarintTypes(dAtA, i, uint64(size))
  4032. }
  4033. i--
  4034. dAtA[i] = 0x72
  4035. }
  4036. return len(dAtA) - i, nil
  4037. }
  4038. func (m *Request_PrepareProposal) MarshalTo(dAtA []byte) (int, error) {
  4039. size := m.Size()
  4040. return m.MarshalToSizedBuffer(dAtA[:size])
  4041. }
  4042. func (m *Request_PrepareProposal) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  4043. i := len(dAtA)
  4044. if m.PrepareProposal != nil {
  4045. {
  4046. size, err := m.PrepareProposal.MarshalToSizedBuffer(dAtA[:i])
  4047. if err != nil {
  4048. return 0, err
  4049. }
  4050. i -= size
  4051. i = encodeVarintTypes(dAtA, i, uint64(size))
  4052. }
  4053. i--
  4054. dAtA[i] = 0x7a
  4055. }
  4056. return len(dAtA) - i, nil
  4057. }
  4058. func (m *Request_ProcessProposal) MarshalTo(dAtA []byte) (int, error) {
  4059. size := m.Size()
  4060. return m.MarshalToSizedBuffer(dAtA[:size])
  4061. }
  4062. func (m *Request_ProcessProposal) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  4063. i := len(dAtA)
  4064. if m.ProcessProposal != nil {
  4065. {
  4066. size, err := m.ProcessProposal.MarshalToSizedBuffer(dAtA[:i])
  4067. if err != nil {
  4068. return 0, err
  4069. }
  4070. i -= size
  4071. i = encodeVarintTypes(dAtA, i, uint64(size))
  4072. }
  4073. i--
  4074. dAtA[i] = 0x1
  4075. i--
  4076. dAtA[i] = 0x82
  4077. }
  4078. return len(dAtA) - i, nil
  4079. }
  4080. func (m *Request_ExtendVote) MarshalTo(dAtA []byte) (int, error) {
  4081. size := m.Size()
  4082. return m.MarshalToSizedBuffer(dAtA[:size])
  4083. }
  4084. func (m *Request_ExtendVote) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  4085. i := len(dAtA)
  4086. if m.ExtendVote != nil {
  4087. {
  4088. size, err := m.ExtendVote.MarshalToSizedBuffer(dAtA[:i])
  4089. if err != nil {
  4090. return 0, err
  4091. }
  4092. i -= size
  4093. i = encodeVarintTypes(dAtA, i, uint64(size))
  4094. }
  4095. i--
  4096. dAtA[i] = 0x1
  4097. i--
  4098. dAtA[i] = 0x8a
  4099. }
  4100. return len(dAtA) - i, nil
  4101. }
  4102. func (m *Request_VerifyVoteExtension) MarshalTo(dAtA []byte) (int, error) {
  4103. size := m.Size()
  4104. return m.MarshalToSizedBuffer(dAtA[:size])
  4105. }
  4106. func (m *Request_VerifyVoteExtension) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  4107. i := len(dAtA)
  4108. if m.VerifyVoteExtension != nil {
  4109. {
  4110. size, err := m.VerifyVoteExtension.MarshalToSizedBuffer(dAtA[:i])
  4111. if err != nil {
  4112. return 0, err
  4113. }
  4114. i -= size
  4115. i = encodeVarintTypes(dAtA, i, uint64(size))
  4116. }
  4117. i--
  4118. dAtA[i] = 0x1
  4119. i--
  4120. dAtA[i] = 0x92
  4121. }
  4122. return len(dAtA) - i, nil
  4123. }
  4124. func (m *Request_FinalizeBlock) MarshalTo(dAtA []byte) (int, error) {
  4125. size := m.Size()
  4126. return m.MarshalToSizedBuffer(dAtA[:size])
  4127. }
  4128. func (m *Request_FinalizeBlock) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  4129. i := len(dAtA)
  4130. if m.FinalizeBlock != nil {
  4131. {
  4132. size, err := m.FinalizeBlock.MarshalToSizedBuffer(dAtA[:i])
  4133. if err != nil {
  4134. return 0, err
  4135. }
  4136. i -= size
  4137. i = encodeVarintTypes(dAtA, i, uint64(size))
  4138. }
  4139. i--
  4140. dAtA[i] = 0x1
  4141. i--
  4142. dAtA[i] = 0x9a
  4143. }
  4144. return len(dAtA) - i, nil
  4145. }
  4146. func (m *RequestEcho) Marshal() (dAtA []byte, err error) {
  4147. size := m.Size()
  4148. dAtA = make([]byte, size)
  4149. n, err := m.MarshalToSizedBuffer(dAtA[:size])
  4150. if err != nil {
  4151. return nil, err
  4152. }
  4153. return dAtA[:n], nil
  4154. }
  4155. func (m *RequestEcho) MarshalTo(dAtA []byte) (int, error) {
  4156. size := m.Size()
  4157. return m.MarshalToSizedBuffer(dAtA[:size])
  4158. }
  4159. func (m *RequestEcho) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  4160. i := len(dAtA)
  4161. _ = i
  4162. var l int
  4163. _ = l
  4164. if len(m.Message) > 0 {
  4165. i -= len(m.Message)
  4166. copy(dAtA[i:], m.Message)
  4167. i = encodeVarintTypes(dAtA, i, uint64(len(m.Message)))
  4168. i--
  4169. dAtA[i] = 0xa
  4170. }
  4171. return len(dAtA) - i, nil
  4172. }
  4173. func (m *RequestFlush) Marshal() (dAtA []byte, err error) {
  4174. size := m.Size()
  4175. dAtA = make([]byte, size)
  4176. n, err := m.MarshalToSizedBuffer(dAtA[:size])
  4177. if err != nil {
  4178. return nil, err
  4179. }
  4180. return dAtA[:n], nil
  4181. }
  4182. func (m *RequestFlush) MarshalTo(dAtA []byte) (int, error) {
  4183. size := m.Size()
  4184. return m.MarshalToSizedBuffer(dAtA[:size])
  4185. }
  4186. func (m *RequestFlush) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  4187. i := len(dAtA)
  4188. _ = i
  4189. var l int
  4190. _ = l
  4191. return len(dAtA) - i, nil
  4192. }
  4193. func (m *RequestInfo) Marshal() (dAtA []byte, err error) {
  4194. size := m.Size()
  4195. dAtA = make([]byte, size)
  4196. n, err := m.MarshalToSizedBuffer(dAtA[:size])
  4197. if err != nil {
  4198. return nil, err
  4199. }
  4200. return dAtA[:n], nil
  4201. }
  4202. func (m *RequestInfo) MarshalTo(dAtA []byte) (int, error) {
  4203. size := m.Size()
  4204. return m.MarshalToSizedBuffer(dAtA[:size])
  4205. }
  4206. func (m *RequestInfo) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  4207. i := len(dAtA)
  4208. _ = i
  4209. var l int
  4210. _ = l
  4211. if len(m.AbciVersion) > 0 {
  4212. i -= len(m.AbciVersion)
  4213. copy(dAtA[i:], m.AbciVersion)
  4214. i = encodeVarintTypes(dAtA, i, uint64(len(m.AbciVersion)))
  4215. i--
  4216. dAtA[i] = 0x22
  4217. }
  4218. if m.P2PVersion != 0 {
  4219. i = encodeVarintTypes(dAtA, i, uint64(m.P2PVersion))
  4220. i--
  4221. dAtA[i] = 0x18
  4222. }
  4223. if m.BlockVersion != 0 {
  4224. i = encodeVarintTypes(dAtA, i, uint64(m.BlockVersion))
  4225. i--
  4226. dAtA[i] = 0x10
  4227. }
  4228. if len(m.Version) > 0 {
  4229. i -= len(m.Version)
  4230. copy(dAtA[i:], m.Version)
  4231. i = encodeVarintTypes(dAtA, i, uint64(len(m.Version)))
  4232. i--
  4233. dAtA[i] = 0xa
  4234. }
  4235. return len(dAtA) - i, nil
  4236. }
  4237. func (m *RequestInitChain) Marshal() (dAtA []byte, err error) {
  4238. size := m.Size()
  4239. dAtA = make([]byte, size)
  4240. n, err := m.MarshalToSizedBuffer(dAtA[:size])
  4241. if err != nil {
  4242. return nil, err
  4243. }
  4244. return dAtA[:n], nil
  4245. }
  4246. func (m *RequestInitChain) MarshalTo(dAtA []byte) (int, error) {
  4247. size := m.Size()
  4248. return m.MarshalToSizedBuffer(dAtA[:size])
  4249. }
  4250. func (m *RequestInitChain) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  4251. i := len(dAtA)
  4252. _ = i
  4253. var l int
  4254. _ = l
  4255. if m.InitialHeight != 0 {
  4256. i = encodeVarintTypes(dAtA, i, uint64(m.InitialHeight))
  4257. i--
  4258. dAtA[i] = 0x30
  4259. }
  4260. if len(m.AppStateBytes) > 0 {
  4261. i -= len(m.AppStateBytes)
  4262. copy(dAtA[i:], m.AppStateBytes)
  4263. i = encodeVarintTypes(dAtA, i, uint64(len(m.AppStateBytes)))
  4264. i--
  4265. dAtA[i] = 0x2a
  4266. }
  4267. if len(m.Validators) > 0 {
  4268. for iNdEx := len(m.Validators) - 1; iNdEx >= 0; iNdEx-- {
  4269. {
  4270. size, err := m.Validators[iNdEx].MarshalToSizedBuffer(dAtA[:i])
  4271. if err != nil {
  4272. return 0, err
  4273. }
  4274. i -= size
  4275. i = encodeVarintTypes(dAtA, i, uint64(size))
  4276. }
  4277. i--
  4278. dAtA[i] = 0x22
  4279. }
  4280. }
  4281. if m.ConsensusParams != nil {
  4282. {
  4283. size, err := m.ConsensusParams.MarshalToSizedBuffer(dAtA[:i])
  4284. if err != nil {
  4285. return 0, err
  4286. }
  4287. i -= size
  4288. i = encodeVarintTypes(dAtA, i, uint64(size))
  4289. }
  4290. i--
  4291. dAtA[i] = 0x1a
  4292. }
  4293. if len(m.ChainId) > 0 {
  4294. i -= len(m.ChainId)
  4295. copy(dAtA[i:], m.ChainId)
  4296. i = encodeVarintTypes(dAtA, i, uint64(len(m.ChainId)))
  4297. i--
  4298. dAtA[i] = 0x12
  4299. }
  4300. n18, err18 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Time, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Time):])
  4301. if err18 != nil {
  4302. return 0, err18
  4303. }
  4304. i -= n18
  4305. i = encodeVarintTypes(dAtA, i, uint64(n18))
  4306. i--
  4307. dAtA[i] = 0xa
  4308. return len(dAtA) - i, nil
  4309. }
  4310. func (m *RequestQuery) Marshal() (dAtA []byte, err error) {
  4311. size := m.Size()
  4312. dAtA = make([]byte, size)
  4313. n, err := m.MarshalToSizedBuffer(dAtA[:size])
  4314. if err != nil {
  4315. return nil, err
  4316. }
  4317. return dAtA[:n], nil
  4318. }
  4319. func (m *RequestQuery) MarshalTo(dAtA []byte) (int, error) {
  4320. size := m.Size()
  4321. return m.MarshalToSizedBuffer(dAtA[:size])
  4322. }
  4323. func (m *RequestQuery) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  4324. i := len(dAtA)
  4325. _ = i
  4326. var l int
  4327. _ = l
  4328. if m.Prove {
  4329. i--
  4330. if m.Prove {
  4331. dAtA[i] = 1
  4332. } else {
  4333. dAtA[i] = 0
  4334. }
  4335. i--
  4336. dAtA[i] = 0x20
  4337. }
  4338. if m.Height != 0 {
  4339. i = encodeVarintTypes(dAtA, i, uint64(m.Height))
  4340. i--
  4341. dAtA[i] = 0x18
  4342. }
  4343. if len(m.Path) > 0 {
  4344. i -= len(m.Path)
  4345. copy(dAtA[i:], m.Path)
  4346. i = encodeVarintTypes(dAtA, i, uint64(len(m.Path)))
  4347. i--
  4348. dAtA[i] = 0x12
  4349. }
  4350. if len(m.Data) > 0 {
  4351. i -= len(m.Data)
  4352. copy(dAtA[i:], m.Data)
  4353. i = encodeVarintTypes(dAtA, i, uint64(len(m.Data)))
  4354. i--
  4355. dAtA[i] = 0xa
  4356. }
  4357. return len(dAtA) - i, nil
  4358. }
  4359. func (m *RequestCheckTx) Marshal() (dAtA []byte, err error) {
  4360. size := m.Size()
  4361. dAtA = make([]byte, size)
  4362. n, err := m.MarshalToSizedBuffer(dAtA[:size])
  4363. if err != nil {
  4364. return nil, err
  4365. }
  4366. return dAtA[:n], nil
  4367. }
  4368. func (m *RequestCheckTx) MarshalTo(dAtA []byte) (int, error) {
  4369. size := m.Size()
  4370. return m.MarshalToSizedBuffer(dAtA[:size])
  4371. }
  4372. func (m *RequestCheckTx) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  4373. i := len(dAtA)
  4374. _ = i
  4375. var l int
  4376. _ = l
  4377. if m.Type != 0 {
  4378. i = encodeVarintTypes(dAtA, i, uint64(m.Type))
  4379. i--
  4380. dAtA[i] = 0x10
  4381. }
  4382. if len(m.Tx) > 0 {
  4383. i -= len(m.Tx)
  4384. copy(dAtA[i:], m.Tx)
  4385. i = encodeVarintTypes(dAtA, i, uint64(len(m.Tx)))
  4386. i--
  4387. dAtA[i] = 0xa
  4388. }
  4389. return len(dAtA) - i, nil
  4390. }
  4391. func (m *RequestCommit) Marshal() (dAtA []byte, err error) {
  4392. size := m.Size()
  4393. dAtA = make([]byte, size)
  4394. n, err := m.MarshalToSizedBuffer(dAtA[:size])
  4395. if err != nil {
  4396. return nil, err
  4397. }
  4398. return dAtA[:n], nil
  4399. }
  4400. func (m *RequestCommit) MarshalTo(dAtA []byte) (int, error) {
  4401. size := m.Size()
  4402. return m.MarshalToSizedBuffer(dAtA[:size])
  4403. }
  4404. func (m *RequestCommit) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  4405. i := len(dAtA)
  4406. _ = i
  4407. var l int
  4408. _ = l
  4409. return len(dAtA) - i, nil
  4410. }
  4411. func (m *RequestListSnapshots) Marshal() (dAtA []byte, err error) {
  4412. size := m.Size()
  4413. dAtA = make([]byte, size)
  4414. n, err := m.MarshalToSizedBuffer(dAtA[:size])
  4415. if err != nil {
  4416. return nil, err
  4417. }
  4418. return dAtA[:n], nil
  4419. }
  4420. func (m *RequestListSnapshots) MarshalTo(dAtA []byte) (int, error) {
  4421. size := m.Size()
  4422. return m.MarshalToSizedBuffer(dAtA[:size])
  4423. }
  4424. func (m *RequestListSnapshots) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  4425. i := len(dAtA)
  4426. _ = i
  4427. var l int
  4428. _ = l
  4429. return len(dAtA) - i, nil
  4430. }
  4431. func (m *RequestOfferSnapshot) Marshal() (dAtA []byte, err error) {
  4432. size := m.Size()
  4433. dAtA = make([]byte, size)
  4434. n, err := m.MarshalToSizedBuffer(dAtA[:size])
  4435. if err != nil {
  4436. return nil, err
  4437. }
  4438. return dAtA[:n], nil
  4439. }
  4440. func (m *RequestOfferSnapshot) MarshalTo(dAtA []byte) (int, error) {
  4441. size := m.Size()
  4442. return m.MarshalToSizedBuffer(dAtA[:size])
  4443. }
  4444. func (m *RequestOfferSnapshot) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  4445. i := len(dAtA)
  4446. _ = i
  4447. var l int
  4448. _ = l
  4449. if len(m.AppHash) > 0 {
  4450. i -= len(m.AppHash)
  4451. copy(dAtA[i:], m.AppHash)
  4452. i = encodeVarintTypes(dAtA, i, uint64(len(m.AppHash)))
  4453. i--
  4454. dAtA[i] = 0x12
  4455. }
  4456. if m.Snapshot != nil {
  4457. {
  4458. size, err := m.Snapshot.MarshalToSizedBuffer(dAtA[:i])
  4459. if err != nil {
  4460. return 0, err
  4461. }
  4462. i -= size
  4463. i = encodeVarintTypes(dAtA, i, uint64(size))
  4464. }
  4465. i--
  4466. dAtA[i] = 0xa
  4467. }
  4468. return len(dAtA) - i, nil
  4469. }
  4470. func (m *RequestLoadSnapshotChunk) Marshal() (dAtA []byte, err error) {
  4471. size := m.Size()
  4472. dAtA = make([]byte, size)
  4473. n, err := m.MarshalToSizedBuffer(dAtA[:size])
  4474. if err != nil {
  4475. return nil, err
  4476. }
  4477. return dAtA[:n], nil
  4478. }
  4479. func (m *RequestLoadSnapshotChunk) MarshalTo(dAtA []byte) (int, error) {
  4480. size := m.Size()
  4481. return m.MarshalToSizedBuffer(dAtA[:size])
  4482. }
  4483. func (m *RequestLoadSnapshotChunk) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  4484. i := len(dAtA)
  4485. _ = i
  4486. var l int
  4487. _ = l
  4488. if m.Chunk != 0 {
  4489. i = encodeVarintTypes(dAtA, i, uint64(m.Chunk))
  4490. i--
  4491. dAtA[i] = 0x18
  4492. }
  4493. if m.Format != 0 {
  4494. i = encodeVarintTypes(dAtA, i, uint64(m.Format))
  4495. i--
  4496. dAtA[i] = 0x10
  4497. }
  4498. if m.Height != 0 {
  4499. i = encodeVarintTypes(dAtA, i, uint64(m.Height))
  4500. i--
  4501. dAtA[i] = 0x8
  4502. }
  4503. return len(dAtA) - i, nil
  4504. }
  4505. func (m *RequestApplySnapshotChunk) Marshal() (dAtA []byte, err error) {
  4506. size := m.Size()
  4507. dAtA = make([]byte, size)
  4508. n, err := m.MarshalToSizedBuffer(dAtA[:size])
  4509. if err != nil {
  4510. return nil, err
  4511. }
  4512. return dAtA[:n], nil
  4513. }
  4514. func (m *RequestApplySnapshotChunk) MarshalTo(dAtA []byte) (int, error) {
  4515. size := m.Size()
  4516. return m.MarshalToSizedBuffer(dAtA[:size])
  4517. }
  4518. func (m *RequestApplySnapshotChunk) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  4519. i := len(dAtA)
  4520. _ = i
  4521. var l int
  4522. _ = l
  4523. if len(m.Sender) > 0 {
  4524. i -= len(m.Sender)
  4525. copy(dAtA[i:], m.Sender)
  4526. i = encodeVarintTypes(dAtA, i, uint64(len(m.Sender)))
  4527. i--
  4528. dAtA[i] = 0x1a
  4529. }
  4530. if len(m.Chunk) > 0 {
  4531. i -= len(m.Chunk)
  4532. copy(dAtA[i:], m.Chunk)
  4533. i = encodeVarintTypes(dAtA, i, uint64(len(m.Chunk)))
  4534. i--
  4535. dAtA[i] = 0x12
  4536. }
  4537. if m.Index != 0 {
  4538. i = encodeVarintTypes(dAtA, i, uint64(m.Index))
  4539. i--
  4540. dAtA[i] = 0x8
  4541. }
  4542. return len(dAtA) - i, nil
  4543. }
  4544. func (m *RequestPrepareProposal) Marshal() (dAtA []byte, err error) {
  4545. size := m.Size()
  4546. dAtA = make([]byte, size)
  4547. n, err := m.MarshalToSizedBuffer(dAtA[:size])
  4548. if err != nil {
  4549. return nil, err
  4550. }
  4551. return dAtA[:n], nil
  4552. }
  4553. func (m *RequestPrepareProposal) MarshalTo(dAtA []byte) (int, error) {
  4554. size := m.Size()
  4555. return m.MarshalToSizedBuffer(dAtA[:size])
  4556. }
  4557. func (m *RequestPrepareProposal) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  4558. i := len(dAtA)
  4559. _ = i
  4560. var l int
  4561. _ = l
  4562. if m.BlockDataSize != 0 {
  4563. i = encodeVarintTypes(dAtA, i, uint64(m.BlockDataSize))
  4564. i--
  4565. dAtA[i] = 0x10
  4566. }
  4567. if len(m.BlockData) > 0 {
  4568. for iNdEx := len(m.BlockData) - 1; iNdEx >= 0; iNdEx-- {
  4569. i -= len(m.BlockData[iNdEx])
  4570. copy(dAtA[i:], m.BlockData[iNdEx])
  4571. i = encodeVarintTypes(dAtA, i, uint64(len(m.BlockData[iNdEx])))
  4572. i--
  4573. dAtA[i] = 0xa
  4574. }
  4575. }
  4576. return len(dAtA) - i, nil
  4577. }
  4578. func (m *RequestExtendVote) Marshal() (dAtA []byte, err error) {
  4579. size := m.Size()
  4580. dAtA = make([]byte, size)
  4581. n, err := m.MarshalToSizedBuffer(dAtA[:size])
  4582. if err != nil {
  4583. return nil, err
  4584. }
  4585. return dAtA[:n], nil
  4586. }
  4587. func (m *RequestExtendVote) MarshalTo(dAtA []byte) (int, error) {
  4588. size := m.Size()
  4589. return m.MarshalToSizedBuffer(dAtA[:size])
  4590. }
  4591. func (m *RequestExtendVote) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  4592. i := len(dAtA)
  4593. _ = i
  4594. var l int
  4595. _ = l
  4596. if m.Vote != nil {
  4597. {
  4598. size, err := m.Vote.MarshalToSizedBuffer(dAtA[:i])
  4599. if err != nil {
  4600. return 0, err
  4601. }
  4602. i -= size
  4603. i = encodeVarintTypes(dAtA, i, uint64(size))
  4604. }
  4605. i--
  4606. dAtA[i] = 0xa
  4607. }
  4608. return len(dAtA) - i, nil
  4609. }
  4610. func (m *RequestVerifyVoteExtension) Marshal() (dAtA []byte, err error) {
  4611. size := m.Size()
  4612. dAtA = make([]byte, size)
  4613. n, err := m.MarshalToSizedBuffer(dAtA[:size])
  4614. if err != nil {
  4615. return nil, err
  4616. }
  4617. return dAtA[:n], nil
  4618. }
  4619. func (m *RequestVerifyVoteExtension) MarshalTo(dAtA []byte) (int, error) {
  4620. size := m.Size()
  4621. return m.MarshalToSizedBuffer(dAtA[:size])
  4622. }
  4623. func (m *RequestVerifyVoteExtension) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  4624. i := len(dAtA)
  4625. _ = i
  4626. var l int
  4627. _ = l
  4628. if m.Vote != nil {
  4629. {
  4630. size, err := m.Vote.MarshalToSizedBuffer(dAtA[:i])
  4631. if err != nil {
  4632. return 0, err
  4633. }
  4634. i -= size
  4635. i = encodeVarintTypes(dAtA, i, uint64(size))
  4636. }
  4637. i--
  4638. dAtA[i] = 0xa
  4639. }
  4640. return len(dAtA) - i, nil
  4641. }
  4642. func (m *RequestProcessProposal) Marshal() (dAtA []byte, err error) {
  4643. size := m.Size()
  4644. dAtA = make([]byte, size)
  4645. n, err := m.MarshalToSizedBuffer(dAtA[:size])
  4646. if err != nil {
  4647. return nil, err
  4648. }
  4649. return dAtA[:n], nil
  4650. }
  4651. func (m *RequestProcessProposal) MarshalTo(dAtA []byte) (int, error) {
  4652. size := m.Size()
  4653. return m.MarshalToSizedBuffer(dAtA[:size])
  4654. }
  4655. func (m *RequestProcessProposal) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  4656. i := len(dAtA)
  4657. _ = i
  4658. var l int
  4659. _ = l
  4660. if len(m.Txs) > 0 {
  4661. for iNdEx := len(m.Txs) - 1; iNdEx >= 0; iNdEx-- {
  4662. i -= len(m.Txs[iNdEx])
  4663. copy(dAtA[i:], m.Txs[iNdEx])
  4664. i = encodeVarintTypes(dAtA, i, uint64(len(m.Txs[iNdEx])))
  4665. i--
  4666. dAtA[i] = 0x12
  4667. }
  4668. }
  4669. {
  4670. size, err := m.Header.MarshalToSizedBuffer(dAtA[:i])
  4671. if err != nil {
  4672. return 0, err
  4673. }
  4674. i -= size
  4675. i = encodeVarintTypes(dAtA, i, uint64(size))
  4676. }
  4677. i--
  4678. dAtA[i] = 0xa
  4679. return len(dAtA) - i, nil
  4680. }
  4681. func (m *RequestFinalizeBlock) Marshal() (dAtA []byte, err error) {
  4682. size := m.Size()
  4683. dAtA = make([]byte, size)
  4684. n, err := m.MarshalToSizedBuffer(dAtA[:size])
  4685. if err != nil {
  4686. return nil, err
  4687. }
  4688. return dAtA[:n], nil
  4689. }
  4690. func (m *RequestFinalizeBlock) MarshalTo(dAtA []byte) (int, error) {
  4691. size := m.Size()
  4692. return m.MarshalToSizedBuffer(dAtA[:size])
  4693. }
  4694. func (m *RequestFinalizeBlock) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  4695. i := len(dAtA)
  4696. _ = i
  4697. var l int
  4698. _ = l
  4699. if len(m.ByzantineValidators) > 0 {
  4700. for iNdEx := len(m.ByzantineValidators) - 1; iNdEx >= 0; iNdEx-- {
  4701. {
  4702. size, err := m.ByzantineValidators[iNdEx].MarshalToSizedBuffer(dAtA[:i])
  4703. if err != nil {
  4704. return 0, err
  4705. }
  4706. i -= size
  4707. i = encodeVarintTypes(dAtA, i, uint64(size))
  4708. }
  4709. i--
  4710. dAtA[i] = 0x32
  4711. }
  4712. }
  4713. {
  4714. size, err := m.LastCommitInfo.MarshalToSizedBuffer(dAtA[:i])
  4715. if err != nil {
  4716. return 0, err
  4717. }
  4718. i -= size
  4719. i = encodeVarintTypes(dAtA, i, uint64(size))
  4720. }
  4721. i--
  4722. dAtA[i] = 0x2a
  4723. {
  4724. size, err := m.Header.MarshalToSizedBuffer(dAtA[:i])
  4725. if err != nil {
  4726. return 0, err
  4727. }
  4728. i -= size
  4729. i = encodeVarintTypes(dAtA, i, uint64(size))
  4730. }
  4731. i--
  4732. dAtA[i] = 0x22
  4733. if m.Height != 0 {
  4734. i = encodeVarintTypes(dAtA, i, uint64(m.Height))
  4735. i--
  4736. dAtA[i] = 0x18
  4737. }
  4738. if len(m.Hash) > 0 {
  4739. i -= len(m.Hash)
  4740. copy(dAtA[i:], m.Hash)
  4741. i = encodeVarintTypes(dAtA, i, uint64(len(m.Hash)))
  4742. i--
  4743. dAtA[i] = 0x12
  4744. }
  4745. if len(m.Txs) > 0 {
  4746. for iNdEx := len(m.Txs) - 1; iNdEx >= 0; iNdEx-- {
  4747. i -= len(m.Txs[iNdEx])
  4748. copy(dAtA[i:], m.Txs[iNdEx])
  4749. i = encodeVarintTypes(dAtA, i, uint64(len(m.Txs[iNdEx])))
  4750. i--
  4751. dAtA[i] = 0xa
  4752. }
  4753. }
  4754. return len(dAtA) - i, nil
  4755. }
  4756. func (m *Response) Marshal() (dAtA []byte, err error) {
  4757. size := m.Size()
  4758. dAtA = make([]byte, size)
  4759. n, err := m.MarshalToSizedBuffer(dAtA[:size])
  4760. if err != nil {
  4761. return nil, err
  4762. }
  4763. return dAtA[:n], nil
  4764. }
  4765. func (m *Response) MarshalTo(dAtA []byte) (int, error) {
  4766. size := m.Size()
  4767. return m.MarshalToSizedBuffer(dAtA[:size])
  4768. }
  4769. func (m *Response) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  4770. i := len(dAtA)
  4771. _ = i
  4772. var l int
  4773. _ = l
  4774. if m.Value != nil {
  4775. {
  4776. size := m.Value.Size()
  4777. i -= size
  4778. if _, err := m.Value.MarshalTo(dAtA[i:]); err != nil {
  4779. return 0, err
  4780. }
  4781. }
  4782. }
  4783. return len(dAtA) - i, nil
  4784. }
  4785. func (m *Response_Exception) MarshalTo(dAtA []byte) (int, error) {
  4786. size := m.Size()
  4787. return m.MarshalToSizedBuffer(dAtA[:size])
  4788. }
  4789. func (m *Response_Exception) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  4790. i := len(dAtA)
  4791. if m.Exception != nil {
  4792. {
  4793. size, err := m.Exception.MarshalToSizedBuffer(dAtA[:i])
  4794. if err != nil {
  4795. return 0, err
  4796. }
  4797. i -= size
  4798. i = encodeVarintTypes(dAtA, i, uint64(size))
  4799. }
  4800. i--
  4801. dAtA[i] = 0xa
  4802. }
  4803. return len(dAtA) - i, nil
  4804. }
  4805. func (m *Response_Echo) MarshalTo(dAtA []byte) (int, error) {
  4806. size := m.Size()
  4807. return m.MarshalToSizedBuffer(dAtA[:size])
  4808. }
  4809. func (m *Response_Echo) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  4810. i := len(dAtA)
  4811. if m.Echo != nil {
  4812. {
  4813. size, err := m.Echo.MarshalToSizedBuffer(dAtA[:i])
  4814. if err != nil {
  4815. return 0, err
  4816. }
  4817. i -= size
  4818. i = encodeVarintTypes(dAtA, i, uint64(size))
  4819. }
  4820. i--
  4821. dAtA[i] = 0x12
  4822. }
  4823. return len(dAtA) - i, nil
  4824. }
  4825. func (m *Response_Flush) MarshalTo(dAtA []byte) (int, error) {
  4826. size := m.Size()
  4827. return m.MarshalToSizedBuffer(dAtA[:size])
  4828. }
  4829. func (m *Response_Flush) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  4830. i := len(dAtA)
  4831. if m.Flush != nil {
  4832. {
  4833. size, err := m.Flush.MarshalToSizedBuffer(dAtA[:i])
  4834. if err != nil {
  4835. return 0, err
  4836. }
  4837. i -= size
  4838. i = encodeVarintTypes(dAtA, i, uint64(size))
  4839. }
  4840. i--
  4841. dAtA[i] = 0x1a
  4842. }
  4843. return len(dAtA) - i, nil
  4844. }
  4845. func (m *Response_Info) MarshalTo(dAtA []byte) (int, error) {
  4846. size := m.Size()
  4847. return m.MarshalToSizedBuffer(dAtA[:size])
  4848. }
  4849. func (m *Response_Info) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  4850. i := len(dAtA)
  4851. if m.Info != nil {
  4852. {
  4853. size, err := m.Info.MarshalToSizedBuffer(dAtA[:i])
  4854. if err != nil {
  4855. return 0, err
  4856. }
  4857. i -= size
  4858. i = encodeVarintTypes(dAtA, i, uint64(size))
  4859. }
  4860. i--
  4861. dAtA[i] = 0x22
  4862. }
  4863. return len(dAtA) - i, nil
  4864. }
  4865. func (m *Response_InitChain) MarshalTo(dAtA []byte) (int, error) {
  4866. size := m.Size()
  4867. return m.MarshalToSizedBuffer(dAtA[:size])
  4868. }
  4869. func (m *Response_InitChain) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  4870. i := len(dAtA)
  4871. if m.InitChain != nil {
  4872. {
  4873. size, err := m.InitChain.MarshalToSizedBuffer(dAtA[:i])
  4874. if err != nil {
  4875. return 0, err
  4876. }
  4877. i -= size
  4878. i = encodeVarintTypes(dAtA, i, uint64(size))
  4879. }
  4880. i--
  4881. dAtA[i] = 0x2a
  4882. }
  4883. return len(dAtA) - i, nil
  4884. }
  4885. func (m *Response_Query) MarshalTo(dAtA []byte) (int, error) {
  4886. size := m.Size()
  4887. return m.MarshalToSizedBuffer(dAtA[:size])
  4888. }
  4889. func (m *Response_Query) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  4890. i := len(dAtA)
  4891. if m.Query != nil {
  4892. {
  4893. size, err := m.Query.MarshalToSizedBuffer(dAtA[:i])
  4894. if err != nil {
  4895. return 0, err
  4896. }
  4897. i -= size
  4898. i = encodeVarintTypes(dAtA, i, uint64(size))
  4899. }
  4900. i--
  4901. dAtA[i] = 0x32
  4902. }
  4903. return len(dAtA) - i, nil
  4904. }
  4905. func (m *Response_CheckTx) MarshalTo(dAtA []byte) (int, error) {
  4906. size := m.Size()
  4907. return m.MarshalToSizedBuffer(dAtA[:size])
  4908. }
  4909. func (m *Response_CheckTx) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  4910. i := len(dAtA)
  4911. if m.CheckTx != nil {
  4912. {
  4913. size, err := m.CheckTx.MarshalToSizedBuffer(dAtA[:i])
  4914. if err != nil {
  4915. return 0, err
  4916. }
  4917. i -= size
  4918. i = encodeVarintTypes(dAtA, i, uint64(size))
  4919. }
  4920. i--
  4921. dAtA[i] = 0x42
  4922. }
  4923. return len(dAtA) - i, nil
  4924. }
  4925. func (m *Response_Commit) MarshalTo(dAtA []byte) (int, error) {
  4926. size := m.Size()
  4927. return m.MarshalToSizedBuffer(dAtA[:size])
  4928. }
  4929. func (m *Response_Commit) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  4930. i := len(dAtA)
  4931. if m.Commit != nil {
  4932. {
  4933. size, err := m.Commit.MarshalToSizedBuffer(dAtA[:i])
  4934. if err != nil {
  4935. return 0, err
  4936. }
  4937. i -= size
  4938. i = encodeVarintTypes(dAtA, i, uint64(size))
  4939. }
  4940. i--
  4941. dAtA[i] = 0x5a
  4942. }
  4943. return len(dAtA) - i, nil
  4944. }
  4945. func (m *Response_ListSnapshots) MarshalTo(dAtA []byte) (int, error) {
  4946. size := m.Size()
  4947. return m.MarshalToSizedBuffer(dAtA[:size])
  4948. }
  4949. func (m *Response_ListSnapshots) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  4950. i := len(dAtA)
  4951. if m.ListSnapshots != nil {
  4952. {
  4953. size, err := m.ListSnapshots.MarshalToSizedBuffer(dAtA[:i])
  4954. if err != nil {
  4955. return 0, err
  4956. }
  4957. i -= size
  4958. i = encodeVarintTypes(dAtA, i, uint64(size))
  4959. }
  4960. i--
  4961. dAtA[i] = 0x62
  4962. }
  4963. return len(dAtA) - i, nil
  4964. }
  4965. func (m *Response_OfferSnapshot) MarshalTo(dAtA []byte) (int, error) {
  4966. size := m.Size()
  4967. return m.MarshalToSizedBuffer(dAtA[:size])
  4968. }
  4969. func (m *Response_OfferSnapshot) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  4970. i := len(dAtA)
  4971. if m.OfferSnapshot != nil {
  4972. {
  4973. size, err := m.OfferSnapshot.MarshalToSizedBuffer(dAtA[:i])
  4974. if err != nil {
  4975. return 0, err
  4976. }
  4977. i -= size
  4978. i = encodeVarintTypes(dAtA, i, uint64(size))
  4979. }
  4980. i--
  4981. dAtA[i] = 0x6a
  4982. }
  4983. return len(dAtA) - i, nil
  4984. }
  4985. func (m *Response_LoadSnapshotChunk) MarshalTo(dAtA []byte) (int, error) {
  4986. size := m.Size()
  4987. return m.MarshalToSizedBuffer(dAtA[:size])
  4988. }
  4989. func (m *Response_LoadSnapshotChunk) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  4990. i := len(dAtA)
  4991. if m.LoadSnapshotChunk != nil {
  4992. {
  4993. size, err := m.LoadSnapshotChunk.MarshalToSizedBuffer(dAtA[:i])
  4994. if err != nil {
  4995. return 0, err
  4996. }
  4997. i -= size
  4998. i = encodeVarintTypes(dAtA, i, uint64(size))
  4999. }
  5000. i--
  5001. dAtA[i] = 0x72
  5002. }
  5003. return len(dAtA) - i, nil
  5004. }
  5005. func (m *Response_ApplySnapshotChunk) MarshalTo(dAtA []byte) (int, error) {
  5006. size := m.Size()
  5007. return m.MarshalToSizedBuffer(dAtA[:size])
  5008. }
  5009. func (m *Response_ApplySnapshotChunk) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  5010. i := len(dAtA)
  5011. if m.ApplySnapshotChunk != nil {
  5012. {
  5013. size, err := m.ApplySnapshotChunk.MarshalToSizedBuffer(dAtA[:i])
  5014. if err != nil {
  5015. return 0, err
  5016. }
  5017. i -= size
  5018. i = encodeVarintTypes(dAtA, i, uint64(size))
  5019. }
  5020. i--
  5021. dAtA[i] = 0x7a
  5022. }
  5023. return len(dAtA) - i, nil
  5024. }
  5025. func (m *Response_PrepareProposal) MarshalTo(dAtA []byte) (int, error) {
  5026. size := m.Size()
  5027. return m.MarshalToSizedBuffer(dAtA[:size])
  5028. }
  5029. func (m *Response_PrepareProposal) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  5030. i := len(dAtA)
  5031. if m.PrepareProposal != nil {
  5032. {
  5033. size, err := m.PrepareProposal.MarshalToSizedBuffer(dAtA[:i])
  5034. if err != nil {
  5035. return 0, err
  5036. }
  5037. i -= size
  5038. i = encodeVarintTypes(dAtA, i, uint64(size))
  5039. }
  5040. i--
  5041. dAtA[i] = 0x1
  5042. i--
  5043. dAtA[i] = 0x82
  5044. }
  5045. return len(dAtA) - i, nil
  5046. }
  5047. func (m *Response_ProcessProposal) MarshalTo(dAtA []byte) (int, error) {
  5048. size := m.Size()
  5049. return m.MarshalToSizedBuffer(dAtA[:size])
  5050. }
  5051. func (m *Response_ProcessProposal) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  5052. i := len(dAtA)
  5053. if m.ProcessProposal != nil {
  5054. {
  5055. size, err := m.ProcessProposal.MarshalToSizedBuffer(dAtA[:i])
  5056. if err != nil {
  5057. return 0, err
  5058. }
  5059. i -= size
  5060. i = encodeVarintTypes(dAtA, i, uint64(size))
  5061. }
  5062. i--
  5063. dAtA[i] = 0x1
  5064. i--
  5065. dAtA[i] = 0x8a
  5066. }
  5067. return len(dAtA) - i, nil
  5068. }
  5069. func (m *Response_ExtendVote) MarshalTo(dAtA []byte) (int, error) {
  5070. size := m.Size()
  5071. return m.MarshalToSizedBuffer(dAtA[:size])
  5072. }
  5073. func (m *Response_ExtendVote) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  5074. i := len(dAtA)
  5075. if m.ExtendVote != nil {
  5076. {
  5077. size, err := m.ExtendVote.MarshalToSizedBuffer(dAtA[:i])
  5078. if err != nil {
  5079. return 0, err
  5080. }
  5081. i -= size
  5082. i = encodeVarintTypes(dAtA, i, uint64(size))
  5083. }
  5084. i--
  5085. dAtA[i] = 0x1
  5086. i--
  5087. dAtA[i] = 0x92
  5088. }
  5089. return len(dAtA) - i, nil
  5090. }
  5091. func (m *Response_VerifyVoteExtension) MarshalTo(dAtA []byte) (int, error) {
  5092. size := m.Size()
  5093. return m.MarshalToSizedBuffer(dAtA[:size])
  5094. }
  5095. func (m *Response_VerifyVoteExtension) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  5096. i := len(dAtA)
  5097. if m.VerifyVoteExtension != nil {
  5098. {
  5099. size, err := m.VerifyVoteExtension.MarshalToSizedBuffer(dAtA[:i])
  5100. if err != nil {
  5101. return 0, err
  5102. }
  5103. i -= size
  5104. i = encodeVarintTypes(dAtA, i, uint64(size))
  5105. }
  5106. i--
  5107. dAtA[i] = 0x1
  5108. i--
  5109. dAtA[i] = 0x9a
  5110. }
  5111. return len(dAtA) - i, nil
  5112. }
  5113. func (m *Response_FinalizeBlock) MarshalTo(dAtA []byte) (int, error) {
  5114. size := m.Size()
  5115. return m.MarshalToSizedBuffer(dAtA[:size])
  5116. }
  5117. func (m *Response_FinalizeBlock) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  5118. i := len(dAtA)
  5119. if m.FinalizeBlock != nil {
  5120. {
  5121. size, err := m.FinalizeBlock.MarshalToSizedBuffer(dAtA[:i])
  5122. if err != nil {
  5123. return 0, err
  5124. }
  5125. i -= size
  5126. i = encodeVarintTypes(dAtA, i, uint64(size))
  5127. }
  5128. i--
  5129. dAtA[i] = 0x1
  5130. i--
  5131. dAtA[i] = 0xa2
  5132. }
  5133. return len(dAtA) - i, nil
  5134. }
  5135. func (m *ResponseException) Marshal() (dAtA []byte, err error) {
  5136. size := m.Size()
  5137. dAtA = make([]byte, size)
  5138. n, err := m.MarshalToSizedBuffer(dAtA[:size])
  5139. if err != nil {
  5140. return nil, err
  5141. }
  5142. return dAtA[:n], nil
  5143. }
  5144. func (m *ResponseException) MarshalTo(dAtA []byte) (int, error) {
  5145. size := m.Size()
  5146. return m.MarshalToSizedBuffer(dAtA[:size])
  5147. }
  5148. func (m *ResponseException) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  5149. i := len(dAtA)
  5150. _ = i
  5151. var l int
  5152. _ = l
  5153. if len(m.Error) > 0 {
  5154. i -= len(m.Error)
  5155. copy(dAtA[i:], m.Error)
  5156. i = encodeVarintTypes(dAtA, i, uint64(len(m.Error)))
  5157. i--
  5158. dAtA[i] = 0xa
  5159. }
  5160. return len(dAtA) - i, nil
  5161. }
  5162. func (m *ResponseEcho) Marshal() (dAtA []byte, err error) {
  5163. size := m.Size()
  5164. dAtA = make([]byte, size)
  5165. n, err := m.MarshalToSizedBuffer(dAtA[:size])
  5166. if err != nil {
  5167. return nil, err
  5168. }
  5169. return dAtA[:n], nil
  5170. }
  5171. func (m *ResponseEcho) MarshalTo(dAtA []byte) (int, error) {
  5172. size := m.Size()
  5173. return m.MarshalToSizedBuffer(dAtA[:size])
  5174. }
  5175. func (m *ResponseEcho) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  5176. i := len(dAtA)
  5177. _ = i
  5178. var l int
  5179. _ = l
  5180. if len(m.Message) > 0 {
  5181. i -= len(m.Message)
  5182. copy(dAtA[i:], m.Message)
  5183. i = encodeVarintTypes(dAtA, i, uint64(len(m.Message)))
  5184. i--
  5185. dAtA[i] = 0xa
  5186. }
  5187. return len(dAtA) - i, nil
  5188. }
  5189. func (m *ResponseFlush) Marshal() (dAtA []byte, err error) {
  5190. size := m.Size()
  5191. dAtA = make([]byte, size)
  5192. n, err := m.MarshalToSizedBuffer(dAtA[:size])
  5193. if err != nil {
  5194. return nil, err
  5195. }
  5196. return dAtA[:n], nil
  5197. }
  5198. func (m *ResponseFlush) MarshalTo(dAtA []byte) (int, error) {
  5199. size := m.Size()
  5200. return m.MarshalToSizedBuffer(dAtA[:size])
  5201. }
  5202. func (m *ResponseFlush) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  5203. i := len(dAtA)
  5204. _ = i
  5205. var l int
  5206. _ = l
  5207. return len(dAtA) - i, nil
  5208. }
  5209. func (m *ResponseInfo) Marshal() (dAtA []byte, err error) {
  5210. size := m.Size()
  5211. dAtA = make([]byte, size)
  5212. n, err := m.MarshalToSizedBuffer(dAtA[:size])
  5213. if err != nil {
  5214. return nil, err
  5215. }
  5216. return dAtA[:n], nil
  5217. }
  5218. func (m *ResponseInfo) MarshalTo(dAtA []byte) (int, error) {
  5219. size := m.Size()
  5220. return m.MarshalToSizedBuffer(dAtA[:size])
  5221. }
  5222. func (m *ResponseInfo) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  5223. i := len(dAtA)
  5224. _ = i
  5225. var l int
  5226. _ = l
  5227. if len(m.LastBlockAppHash) > 0 {
  5228. i -= len(m.LastBlockAppHash)
  5229. copy(dAtA[i:], m.LastBlockAppHash)
  5230. i = encodeVarintTypes(dAtA, i, uint64(len(m.LastBlockAppHash)))
  5231. i--
  5232. dAtA[i] = 0x2a
  5233. }
  5234. if m.LastBlockHeight != 0 {
  5235. i = encodeVarintTypes(dAtA, i, uint64(m.LastBlockHeight))
  5236. i--
  5237. dAtA[i] = 0x20
  5238. }
  5239. if m.AppVersion != 0 {
  5240. i = encodeVarintTypes(dAtA, i, uint64(m.AppVersion))
  5241. i--
  5242. dAtA[i] = 0x18
  5243. }
  5244. if len(m.Version) > 0 {
  5245. i -= len(m.Version)
  5246. copy(dAtA[i:], m.Version)
  5247. i = encodeVarintTypes(dAtA, i, uint64(len(m.Version)))
  5248. i--
  5249. dAtA[i] = 0x12
  5250. }
  5251. if len(m.Data) > 0 {
  5252. i -= len(m.Data)
  5253. copy(dAtA[i:], m.Data)
  5254. i = encodeVarintTypes(dAtA, i, uint64(len(m.Data)))
  5255. i--
  5256. dAtA[i] = 0xa
  5257. }
  5258. return len(dAtA) - i, nil
  5259. }
  5260. func (m *ResponseInitChain) Marshal() (dAtA []byte, err error) {
  5261. size := m.Size()
  5262. dAtA = make([]byte, size)
  5263. n, err := m.MarshalToSizedBuffer(dAtA[:size])
  5264. if err != nil {
  5265. return nil, err
  5266. }
  5267. return dAtA[:n], nil
  5268. }
  5269. func (m *ResponseInitChain) MarshalTo(dAtA []byte) (int, error) {
  5270. size := m.Size()
  5271. return m.MarshalToSizedBuffer(dAtA[:size])
  5272. }
  5273. func (m *ResponseInitChain) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  5274. i := len(dAtA)
  5275. _ = i
  5276. var l int
  5277. _ = l
  5278. if len(m.AppHash) > 0 {
  5279. i -= len(m.AppHash)
  5280. copy(dAtA[i:], m.AppHash)
  5281. i = encodeVarintTypes(dAtA, i, uint64(len(m.AppHash)))
  5282. i--
  5283. dAtA[i] = 0x1a
  5284. }
  5285. if len(m.Validators) > 0 {
  5286. for iNdEx := len(m.Validators) - 1; iNdEx >= 0; iNdEx-- {
  5287. {
  5288. size, err := m.Validators[iNdEx].MarshalToSizedBuffer(dAtA[:i])
  5289. if err != nil {
  5290. return 0, err
  5291. }
  5292. i -= size
  5293. i = encodeVarintTypes(dAtA, i, uint64(size))
  5294. }
  5295. i--
  5296. dAtA[i] = 0x12
  5297. }
  5298. }
  5299. if m.ConsensusParams != nil {
  5300. {
  5301. size, err := m.ConsensusParams.MarshalToSizedBuffer(dAtA[:i])
  5302. if err != nil {
  5303. return 0, err
  5304. }
  5305. i -= size
  5306. i = encodeVarintTypes(dAtA, i, uint64(size))
  5307. }
  5308. i--
  5309. dAtA[i] = 0xa
  5310. }
  5311. return len(dAtA) - i, nil
  5312. }
  5313. func (m *ResponseQuery) Marshal() (dAtA []byte, err error) {
  5314. size := m.Size()
  5315. dAtA = make([]byte, size)
  5316. n, err := m.MarshalToSizedBuffer(dAtA[:size])
  5317. if err != nil {
  5318. return nil, err
  5319. }
  5320. return dAtA[:n], nil
  5321. }
  5322. func (m *ResponseQuery) MarshalTo(dAtA []byte) (int, error) {
  5323. size := m.Size()
  5324. return m.MarshalToSizedBuffer(dAtA[:size])
  5325. }
  5326. func (m *ResponseQuery) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  5327. i := len(dAtA)
  5328. _ = i
  5329. var l int
  5330. _ = l
  5331. if len(m.Codespace) > 0 {
  5332. i -= len(m.Codespace)
  5333. copy(dAtA[i:], m.Codespace)
  5334. i = encodeVarintTypes(dAtA, i, uint64(len(m.Codespace)))
  5335. i--
  5336. dAtA[i] = 0x52
  5337. }
  5338. if m.Height != 0 {
  5339. i = encodeVarintTypes(dAtA, i, uint64(m.Height))
  5340. i--
  5341. dAtA[i] = 0x48
  5342. }
  5343. if m.ProofOps != nil {
  5344. {
  5345. size, err := m.ProofOps.MarshalToSizedBuffer(dAtA[:i])
  5346. if err != nil {
  5347. return 0, err
  5348. }
  5349. i -= size
  5350. i = encodeVarintTypes(dAtA, i, uint64(size))
  5351. }
  5352. i--
  5353. dAtA[i] = 0x42
  5354. }
  5355. if len(m.Value) > 0 {
  5356. i -= len(m.Value)
  5357. copy(dAtA[i:], m.Value)
  5358. i = encodeVarintTypes(dAtA, i, uint64(len(m.Value)))
  5359. i--
  5360. dAtA[i] = 0x3a
  5361. }
  5362. if len(m.Key) > 0 {
  5363. i -= len(m.Key)
  5364. copy(dAtA[i:], m.Key)
  5365. i = encodeVarintTypes(dAtA, i, uint64(len(m.Key)))
  5366. i--
  5367. dAtA[i] = 0x32
  5368. }
  5369. if m.Index != 0 {
  5370. i = encodeVarintTypes(dAtA, i, uint64(m.Index))
  5371. i--
  5372. dAtA[i] = 0x28
  5373. }
  5374. if len(m.Info) > 0 {
  5375. i -= len(m.Info)
  5376. copy(dAtA[i:], m.Info)
  5377. i = encodeVarintTypes(dAtA, i, uint64(len(m.Info)))
  5378. i--
  5379. dAtA[i] = 0x22
  5380. }
  5381. if len(m.Log) > 0 {
  5382. i -= len(m.Log)
  5383. copy(dAtA[i:], m.Log)
  5384. i = encodeVarintTypes(dAtA, i, uint64(len(m.Log)))
  5385. i--
  5386. dAtA[i] = 0x1a
  5387. }
  5388. if m.Code != 0 {
  5389. i = encodeVarintTypes(dAtA, i, uint64(m.Code))
  5390. i--
  5391. dAtA[i] = 0x8
  5392. }
  5393. return len(dAtA) - i, nil
  5394. }
  5395. func (m *ResponseCheckTx) Marshal() (dAtA []byte, err error) {
  5396. size := m.Size()
  5397. dAtA = make([]byte, size)
  5398. n, err := m.MarshalToSizedBuffer(dAtA[:size])
  5399. if err != nil {
  5400. return nil, err
  5401. }
  5402. return dAtA[:n], nil
  5403. }
  5404. func (m *ResponseCheckTx) MarshalTo(dAtA []byte) (int, error) {
  5405. size := m.Size()
  5406. return m.MarshalToSizedBuffer(dAtA[:size])
  5407. }
  5408. func (m *ResponseCheckTx) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  5409. i := len(dAtA)
  5410. _ = i
  5411. var l int
  5412. _ = l
  5413. if len(m.MempoolError) > 0 {
  5414. i -= len(m.MempoolError)
  5415. copy(dAtA[i:], m.MempoolError)
  5416. i = encodeVarintTypes(dAtA, i, uint64(len(m.MempoolError)))
  5417. i--
  5418. dAtA[i] = 0x5a
  5419. }
  5420. if m.Priority != 0 {
  5421. i = encodeVarintTypes(dAtA, i, uint64(m.Priority))
  5422. i--
  5423. dAtA[i] = 0x50
  5424. }
  5425. if len(m.Sender) > 0 {
  5426. i -= len(m.Sender)
  5427. copy(dAtA[i:], m.Sender)
  5428. i = encodeVarintTypes(dAtA, i, uint64(len(m.Sender)))
  5429. i--
  5430. dAtA[i] = 0x4a
  5431. }
  5432. if len(m.Codespace) > 0 {
  5433. i -= len(m.Codespace)
  5434. copy(dAtA[i:], m.Codespace)
  5435. i = encodeVarintTypes(dAtA, i, uint64(len(m.Codespace)))
  5436. i--
  5437. dAtA[i] = 0x42
  5438. }
  5439. if len(m.Events) > 0 {
  5440. for iNdEx := len(m.Events) - 1; iNdEx >= 0; iNdEx-- {
  5441. {
  5442. size, err := m.Events[iNdEx].MarshalToSizedBuffer(dAtA[:i])
  5443. if err != nil {
  5444. return 0, err
  5445. }
  5446. i -= size
  5447. i = encodeVarintTypes(dAtA, i, uint64(size))
  5448. }
  5449. i--
  5450. dAtA[i] = 0x3a
  5451. }
  5452. }
  5453. if m.GasUsed != 0 {
  5454. i = encodeVarintTypes(dAtA, i, uint64(m.GasUsed))
  5455. i--
  5456. dAtA[i] = 0x30
  5457. }
  5458. if m.GasWanted != 0 {
  5459. i = encodeVarintTypes(dAtA, i, uint64(m.GasWanted))
  5460. i--
  5461. dAtA[i] = 0x28
  5462. }
  5463. if len(m.Info) > 0 {
  5464. i -= len(m.Info)
  5465. copy(dAtA[i:], m.Info)
  5466. i = encodeVarintTypes(dAtA, i, uint64(len(m.Info)))
  5467. i--
  5468. dAtA[i] = 0x22
  5469. }
  5470. if len(m.Log) > 0 {
  5471. i -= len(m.Log)
  5472. copy(dAtA[i:], m.Log)
  5473. i = encodeVarintTypes(dAtA, i, uint64(len(m.Log)))
  5474. i--
  5475. dAtA[i] = 0x1a
  5476. }
  5477. if len(m.Data) > 0 {
  5478. i -= len(m.Data)
  5479. copy(dAtA[i:], m.Data)
  5480. i = encodeVarintTypes(dAtA, i, uint64(len(m.Data)))
  5481. i--
  5482. dAtA[i] = 0x12
  5483. }
  5484. if m.Code != 0 {
  5485. i = encodeVarintTypes(dAtA, i, uint64(m.Code))
  5486. i--
  5487. dAtA[i] = 0x8
  5488. }
  5489. return len(dAtA) - i, nil
  5490. }
  5491. func (m *ResponseDeliverTx) Marshal() (dAtA []byte, err error) {
  5492. size := m.Size()
  5493. dAtA = make([]byte, size)
  5494. n, err := m.MarshalToSizedBuffer(dAtA[:size])
  5495. if err != nil {
  5496. return nil, err
  5497. }
  5498. return dAtA[:n], nil
  5499. }
  5500. func (m *ResponseDeliverTx) MarshalTo(dAtA []byte) (int, error) {
  5501. size := m.Size()
  5502. return m.MarshalToSizedBuffer(dAtA[:size])
  5503. }
  5504. func (m *ResponseDeliverTx) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  5505. i := len(dAtA)
  5506. _ = i
  5507. var l int
  5508. _ = l
  5509. if len(m.Codespace) > 0 {
  5510. i -= len(m.Codespace)
  5511. copy(dAtA[i:], m.Codespace)
  5512. i = encodeVarintTypes(dAtA, i, uint64(len(m.Codespace)))
  5513. i--
  5514. dAtA[i] = 0x42
  5515. }
  5516. if len(m.Events) > 0 {
  5517. for iNdEx := len(m.Events) - 1; iNdEx >= 0; iNdEx-- {
  5518. {
  5519. size, err := m.Events[iNdEx].MarshalToSizedBuffer(dAtA[:i])
  5520. if err != nil {
  5521. return 0, err
  5522. }
  5523. i -= size
  5524. i = encodeVarintTypes(dAtA, i, uint64(size))
  5525. }
  5526. i--
  5527. dAtA[i] = 0x3a
  5528. }
  5529. }
  5530. if m.GasUsed != 0 {
  5531. i = encodeVarintTypes(dAtA, i, uint64(m.GasUsed))
  5532. i--
  5533. dAtA[i] = 0x30
  5534. }
  5535. if m.GasWanted != 0 {
  5536. i = encodeVarintTypes(dAtA, i, uint64(m.GasWanted))
  5537. i--
  5538. dAtA[i] = 0x28
  5539. }
  5540. if len(m.Info) > 0 {
  5541. i -= len(m.Info)
  5542. copy(dAtA[i:], m.Info)
  5543. i = encodeVarintTypes(dAtA, i, uint64(len(m.Info)))
  5544. i--
  5545. dAtA[i] = 0x22
  5546. }
  5547. if len(m.Log) > 0 {
  5548. i -= len(m.Log)
  5549. copy(dAtA[i:], m.Log)
  5550. i = encodeVarintTypes(dAtA, i, uint64(len(m.Log)))
  5551. i--
  5552. dAtA[i] = 0x1a
  5553. }
  5554. if len(m.Data) > 0 {
  5555. i -= len(m.Data)
  5556. copy(dAtA[i:], m.Data)
  5557. i = encodeVarintTypes(dAtA, i, uint64(len(m.Data)))
  5558. i--
  5559. dAtA[i] = 0x12
  5560. }
  5561. if m.Code != 0 {
  5562. i = encodeVarintTypes(dAtA, i, uint64(m.Code))
  5563. i--
  5564. dAtA[i] = 0x8
  5565. }
  5566. return len(dAtA) - i, nil
  5567. }
  5568. func (m *ResponseCommit) Marshal() (dAtA []byte, err error) {
  5569. size := m.Size()
  5570. dAtA = make([]byte, size)
  5571. n, err := m.MarshalToSizedBuffer(dAtA[:size])
  5572. if err != nil {
  5573. return nil, err
  5574. }
  5575. return dAtA[:n], nil
  5576. }
  5577. func (m *ResponseCommit) MarshalTo(dAtA []byte) (int, error) {
  5578. size := m.Size()
  5579. return m.MarshalToSizedBuffer(dAtA[:size])
  5580. }
  5581. func (m *ResponseCommit) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  5582. i := len(dAtA)
  5583. _ = i
  5584. var l int
  5585. _ = l
  5586. if m.RetainHeight != 0 {
  5587. i = encodeVarintTypes(dAtA, i, uint64(m.RetainHeight))
  5588. i--
  5589. dAtA[i] = 0x18
  5590. }
  5591. if len(m.Data) > 0 {
  5592. i -= len(m.Data)
  5593. copy(dAtA[i:], m.Data)
  5594. i = encodeVarintTypes(dAtA, i, uint64(len(m.Data)))
  5595. i--
  5596. dAtA[i] = 0x12
  5597. }
  5598. return len(dAtA) - i, nil
  5599. }
  5600. func (m *ResponseListSnapshots) Marshal() (dAtA []byte, err error) {
  5601. size := m.Size()
  5602. dAtA = make([]byte, size)
  5603. n, err := m.MarshalToSizedBuffer(dAtA[:size])
  5604. if err != nil {
  5605. return nil, err
  5606. }
  5607. return dAtA[:n], nil
  5608. }
  5609. func (m *ResponseListSnapshots) MarshalTo(dAtA []byte) (int, error) {
  5610. size := m.Size()
  5611. return m.MarshalToSizedBuffer(dAtA[:size])
  5612. }
  5613. func (m *ResponseListSnapshots) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  5614. i := len(dAtA)
  5615. _ = i
  5616. var l int
  5617. _ = l
  5618. if len(m.Snapshots) > 0 {
  5619. for iNdEx := len(m.Snapshots) - 1; iNdEx >= 0; iNdEx-- {
  5620. {
  5621. size, err := m.Snapshots[iNdEx].MarshalToSizedBuffer(dAtA[:i])
  5622. if err != nil {
  5623. return 0, err
  5624. }
  5625. i -= size
  5626. i = encodeVarintTypes(dAtA, i, uint64(size))
  5627. }
  5628. i--
  5629. dAtA[i] = 0xa
  5630. }
  5631. }
  5632. return len(dAtA) - i, nil
  5633. }
  5634. func (m *ResponseOfferSnapshot) Marshal() (dAtA []byte, err error) {
  5635. size := m.Size()
  5636. dAtA = make([]byte, size)
  5637. n, err := m.MarshalToSizedBuffer(dAtA[:size])
  5638. if err != nil {
  5639. return nil, err
  5640. }
  5641. return dAtA[:n], nil
  5642. }
  5643. func (m *ResponseOfferSnapshot) MarshalTo(dAtA []byte) (int, error) {
  5644. size := m.Size()
  5645. return m.MarshalToSizedBuffer(dAtA[:size])
  5646. }
  5647. func (m *ResponseOfferSnapshot) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  5648. i := len(dAtA)
  5649. _ = i
  5650. var l int
  5651. _ = l
  5652. if m.Result != 0 {
  5653. i = encodeVarintTypes(dAtA, i, uint64(m.Result))
  5654. i--
  5655. dAtA[i] = 0x8
  5656. }
  5657. return len(dAtA) - i, nil
  5658. }
  5659. func (m *ResponseLoadSnapshotChunk) Marshal() (dAtA []byte, err error) {
  5660. size := m.Size()
  5661. dAtA = make([]byte, size)
  5662. n, err := m.MarshalToSizedBuffer(dAtA[:size])
  5663. if err != nil {
  5664. return nil, err
  5665. }
  5666. return dAtA[:n], nil
  5667. }
  5668. func (m *ResponseLoadSnapshotChunk) MarshalTo(dAtA []byte) (int, error) {
  5669. size := m.Size()
  5670. return m.MarshalToSizedBuffer(dAtA[:size])
  5671. }
  5672. func (m *ResponseLoadSnapshotChunk) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  5673. i := len(dAtA)
  5674. _ = i
  5675. var l int
  5676. _ = l
  5677. if len(m.Chunk) > 0 {
  5678. i -= len(m.Chunk)
  5679. copy(dAtA[i:], m.Chunk)
  5680. i = encodeVarintTypes(dAtA, i, uint64(len(m.Chunk)))
  5681. i--
  5682. dAtA[i] = 0xa
  5683. }
  5684. return len(dAtA) - i, nil
  5685. }
  5686. func (m *ResponseApplySnapshotChunk) Marshal() (dAtA []byte, err error) {
  5687. size := m.Size()
  5688. dAtA = make([]byte, size)
  5689. n, err := m.MarshalToSizedBuffer(dAtA[:size])
  5690. if err != nil {
  5691. return nil, err
  5692. }
  5693. return dAtA[:n], nil
  5694. }
  5695. func (m *ResponseApplySnapshotChunk) MarshalTo(dAtA []byte) (int, error) {
  5696. size := m.Size()
  5697. return m.MarshalToSizedBuffer(dAtA[:size])
  5698. }
  5699. func (m *ResponseApplySnapshotChunk) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  5700. i := len(dAtA)
  5701. _ = i
  5702. var l int
  5703. _ = l
  5704. if len(m.RejectSenders) > 0 {
  5705. for iNdEx := len(m.RejectSenders) - 1; iNdEx >= 0; iNdEx-- {
  5706. i -= len(m.RejectSenders[iNdEx])
  5707. copy(dAtA[i:], m.RejectSenders[iNdEx])
  5708. i = encodeVarintTypes(dAtA, i, uint64(len(m.RejectSenders[iNdEx])))
  5709. i--
  5710. dAtA[i] = 0x1a
  5711. }
  5712. }
  5713. if len(m.RefetchChunks) > 0 {
  5714. dAtA45 := make([]byte, len(m.RefetchChunks)*10)
  5715. var j44 int
  5716. for _, num := range m.RefetchChunks {
  5717. for num >= 1<<7 {
  5718. dAtA45[j44] = uint8(uint64(num)&0x7f | 0x80)
  5719. num >>= 7
  5720. j44++
  5721. }
  5722. dAtA45[j44] = uint8(num)
  5723. j44++
  5724. }
  5725. i -= j44
  5726. copy(dAtA[i:], dAtA45[:j44])
  5727. i = encodeVarintTypes(dAtA, i, uint64(j44))
  5728. i--
  5729. dAtA[i] = 0x12
  5730. }
  5731. if m.Result != 0 {
  5732. i = encodeVarintTypes(dAtA, i, uint64(m.Result))
  5733. i--
  5734. dAtA[i] = 0x8
  5735. }
  5736. return len(dAtA) - i, nil
  5737. }
  5738. func (m *ResponsePrepareProposal) Marshal() (dAtA []byte, err error) {
  5739. size := m.Size()
  5740. dAtA = make([]byte, size)
  5741. n, err := m.MarshalToSizedBuffer(dAtA[:size])
  5742. if err != nil {
  5743. return nil, err
  5744. }
  5745. return dAtA[:n], nil
  5746. }
  5747. func (m *ResponsePrepareProposal) MarshalTo(dAtA []byte) (int, error) {
  5748. size := m.Size()
  5749. return m.MarshalToSizedBuffer(dAtA[:size])
  5750. }
  5751. func (m *ResponsePrepareProposal) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  5752. i := len(dAtA)
  5753. _ = i
  5754. var l int
  5755. _ = l
  5756. if len(m.BlockData) > 0 {
  5757. for iNdEx := len(m.BlockData) - 1; iNdEx >= 0; iNdEx-- {
  5758. i -= len(m.BlockData[iNdEx])
  5759. copy(dAtA[i:], m.BlockData[iNdEx])
  5760. i = encodeVarintTypes(dAtA, i, uint64(len(m.BlockData[iNdEx])))
  5761. i--
  5762. dAtA[i] = 0xa
  5763. }
  5764. }
  5765. return len(dAtA) - i, nil
  5766. }
  5767. func (m *ResponseExtendVote) Marshal() (dAtA []byte, err error) {
  5768. size := m.Size()
  5769. dAtA = make([]byte, size)
  5770. n, err := m.MarshalToSizedBuffer(dAtA[:size])
  5771. if err != nil {
  5772. return nil, err
  5773. }
  5774. return dAtA[:n], nil
  5775. }
  5776. func (m *ResponseExtendVote) MarshalTo(dAtA []byte) (int, error) {
  5777. size := m.Size()
  5778. return m.MarshalToSizedBuffer(dAtA[:size])
  5779. }
  5780. func (m *ResponseExtendVote) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  5781. i := len(dAtA)
  5782. _ = i
  5783. var l int
  5784. _ = l
  5785. if m.VoteExtension != nil {
  5786. {
  5787. size, err := m.VoteExtension.MarshalToSizedBuffer(dAtA[:i])
  5788. if err != nil {
  5789. return 0, err
  5790. }
  5791. i -= size
  5792. i = encodeVarintTypes(dAtA, i, uint64(size))
  5793. }
  5794. i--
  5795. dAtA[i] = 0xa
  5796. }
  5797. return len(dAtA) - i, nil
  5798. }
  5799. func (m *ResponseVerifyVoteExtension) Marshal() (dAtA []byte, err error) {
  5800. size := m.Size()
  5801. dAtA = make([]byte, size)
  5802. n, err := m.MarshalToSizedBuffer(dAtA[:size])
  5803. if err != nil {
  5804. return nil, err
  5805. }
  5806. return dAtA[:n], nil
  5807. }
  5808. func (m *ResponseVerifyVoteExtension) MarshalTo(dAtA []byte) (int, error) {
  5809. size := m.Size()
  5810. return m.MarshalToSizedBuffer(dAtA[:size])
  5811. }
  5812. func (m *ResponseVerifyVoteExtension) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  5813. i := len(dAtA)
  5814. _ = i
  5815. var l int
  5816. _ = l
  5817. if m.Result != 0 {
  5818. i = encodeVarintTypes(dAtA, i, uint64(m.Result))
  5819. i--
  5820. dAtA[i] = 0x8
  5821. }
  5822. return len(dAtA) - i, nil
  5823. }
  5824. func (m *ResponseProcessProposal) Marshal() (dAtA []byte, err error) {
  5825. size := m.Size()
  5826. dAtA = make([]byte, size)
  5827. n, err := m.MarshalToSizedBuffer(dAtA[:size])
  5828. if err != nil {
  5829. return nil, err
  5830. }
  5831. return dAtA[:n], nil
  5832. }
  5833. func (m *ResponseProcessProposal) MarshalTo(dAtA []byte) (int, error) {
  5834. size := m.Size()
  5835. return m.MarshalToSizedBuffer(dAtA[:size])
  5836. }
  5837. func (m *ResponseProcessProposal) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  5838. i := len(dAtA)
  5839. _ = i
  5840. var l int
  5841. _ = l
  5842. if len(m.Evidence) > 0 {
  5843. for iNdEx := len(m.Evidence) - 1; iNdEx >= 0; iNdEx-- {
  5844. i -= len(m.Evidence[iNdEx])
  5845. copy(dAtA[i:], m.Evidence[iNdEx])
  5846. i = encodeVarintTypes(dAtA, i, uint64(len(m.Evidence[iNdEx])))
  5847. i--
  5848. dAtA[i] = 0x12
  5849. }
  5850. }
  5851. if m.Result != 0 {
  5852. i = encodeVarintTypes(dAtA, i, uint64(m.Result))
  5853. i--
  5854. dAtA[i] = 0x8
  5855. }
  5856. return len(dAtA) - i, nil
  5857. }
  5858. func (m *ResponseFinalizeBlock) Marshal() (dAtA []byte, err error) {
  5859. size := m.Size()
  5860. dAtA = make([]byte, size)
  5861. n, err := m.MarshalToSizedBuffer(dAtA[:size])
  5862. if err != nil {
  5863. return nil, err
  5864. }
  5865. return dAtA[:n], nil
  5866. }
  5867. func (m *ResponseFinalizeBlock) MarshalTo(dAtA []byte) (int, error) {
  5868. size := m.Size()
  5869. return m.MarshalToSizedBuffer(dAtA[:size])
  5870. }
  5871. func (m *ResponseFinalizeBlock) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  5872. i := len(dAtA)
  5873. _ = i
  5874. var l int
  5875. _ = l
  5876. if len(m.Events) > 0 {
  5877. for iNdEx := len(m.Events) - 1; iNdEx >= 0; iNdEx-- {
  5878. {
  5879. size, err := m.Events[iNdEx].MarshalToSizedBuffer(dAtA[:i])
  5880. if err != nil {
  5881. return 0, err
  5882. }
  5883. i -= size
  5884. i = encodeVarintTypes(dAtA, i, uint64(size))
  5885. }
  5886. i--
  5887. dAtA[i] = 0x22
  5888. }
  5889. }
  5890. if m.ConsensusParamUpdates != nil {
  5891. {
  5892. size, err := m.ConsensusParamUpdates.MarshalToSizedBuffer(dAtA[:i])
  5893. if err != nil {
  5894. return 0, err
  5895. }
  5896. i -= size
  5897. i = encodeVarintTypes(dAtA, i, uint64(size))
  5898. }
  5899. i--
  5900. dAtA[i] = 0x1a
  5901. }
  5902. if len(m.ValidatorUpdates) > 0 {
  5903. for iNdEx := len(m.ValidatorUpdates) - 1; iNdEx >= 0; iNdEx-- {
  5904. {
  5905. size, err := m.ValidatorUpdates[iNdEx].MarshalToSizedBuffer(dAtA[:i])
  5906. if err != nil {
  5907. return 0, err
  5908. }
  5909. i -= size
  5910. i = encodeVarintTypes(dAtA, i, uint64(size))
  5911. }
  5912. i--
  5913. dAtA[i] = 0x12
  5914. }
  5915. }
  5916. if len(m.Txs) > 0 {
  5917. for iNdEx := len(m.Txs) - 1; iNdEx >= 0; iNdEx-- {
  5918. {
  5919. size, err := m.Txs[iNdEx].MarshalToSizedBuffer(dAtA[:i])
  5920. if err != nil {
  5921. return 0, err
  5922. }
  5923. i -= size
  5924. i = encodeVarintTypes(dAtA, i, uint64(size))
  5925. }
  5926. i--
  5927. dAtA[i] = 0xa
  5928. }
  5929. }
  5930. return len(dAtA) - i, nil
  5931. }
  5932. func (m *LastCommitInfo) Marshal() (dAtA []byte, err error) {
  5933. size := m.Size()
  5934. dAtA = make([]byte, size)
  5935. n, err := m.MarshalToSizedBuffer(dAtA[:size])
  5936. if err != nil {
  5937. return nil, err
  5938. }
  5939. return dAtA[:n], nil
  5940. }
  5941. func (m *LastCommitInfo) MarshalTo(dAtA []byte) (int, error) {
  5942. size := m.Size()
  5943. return m.MarshalToSizedBuffer(dAtA[:size])
  5944. }
  5945. func (m *LastCommitInfo) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  5946. i := len(dAtA)
  5947. _ = i
  5948. var l int
  5949. _ = l
  5950. if len(m.Votes) > 0 {
  5951. for iNdEx := len(m.Votes) - 1; iNdEx >= 0; iNdEx-- {
  5952. {
  5953. size, err := m.Votes[iNdEx].MarshalToSizedBuffer(dAtA[:i])
  5954. if err != nil {
  5955. return 0, err
  5956. }
  5957. i -= size
  5958. i = encodeVarintTypes(dAtA, i, uint64(size))
  5959. }
  5960. i--
  5961. dAtA[i] = 0x12
  5962. }
  5963. }
  5964. if m.Round != 0 {
  5965. i = encodeVarintTypes(dAtA, i, uint64(m.Round))
  5966. i--
  5967. dAtA[i] = 0x8
  5968. }
  5969. return len(dAtA) - i, nil
  5970. }
  5971. func (m *Event) Marshal() (dAtA []byte, err error) {
  5972. size := m.Size()
  5973. dAtA = make([]byte, size)
  5974. n, err := m.MarshalToSizedBuffer(dAtA[:size])
  5975. if err != nil {
  5976. return nil, err
  5977. }
  5978. return dAtA[:n], nil
  5979. }
  5980. func (m *Event) MarshalTo(dAtA []byte) (int, error) {
  5981. size := m.Size()
  5982. return m.MarshalToSizedBuffer(dAtA[:size])
  5983. }
  5984. func (m *Event) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  5985. i := len(dAtA)
  5986. _ = i
  5987. var l int
  5988. _ = l
  5989. if len(m.Attributes) > 0 {
  5990. for iNdEx := len(m.Attributes) - 1; iNdEx >= 0; iNdEx-- {
  5991. {
  5992. size, err := m.Attributes[iNdEx].MarshalToSizedBuffer(dAtA[:i])
  5993. if err != nil {
  5994. return 0, err
  5995. }
  5996. i -= size
  5997. i = encodeVarintTypes(dAtA, i, uint64(size))
  5998. }
  5999. i--
  6000. dAtA[i] = 0x12
  6001. }
  6002. }
  6003. if len(m.Type) > 0 {
  6004. i -= len(m.Type)
  6005. copy(dAtA[i:], m.Type)
  6006. i = encodeVarintTypes(dAtA, i, uint64(len(m.Type)))
  6007. i--
  6008. dAtA[i] = 0xa
  6009. }
  6010. return len(dAtA) - i, nil
  6011. }
  6012. func (m *EventAttribute) Marshal() (dAtA []byte, err error) {
  6013. size := m.Size()
  6014. dAtA = make([]byte, size)
  6015. n, err := m.MarshalToSizedBuffer(dAtA[:size])
  6016. if err != nil {
  6017. return nil, err
  6018. }
  6019. return dAtA[:n], nil
  6020. }
  6021. func (m *EventAttribute) MarshalTo(dAtA []byte) (int, error) {
  6022. size := m.Size()
  6023. return m.MarshalToSizedBuffer(dAtA[:size])
  6024. }
  6025. func (m *EventAttribute) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  6026. i := len(dAtA)
  6027. _ = i
  6028. var l int
  6029. _ = l
  6030. if m.Index {
  6031. i--
  6032. if m.Index {
  6033. dAtA[i] = 1
  6034. } else {
  6035. dAtA[i] = 0
  6036. }
  6037. i--
  6038. dAtA[i] = 0x18
  6039. }
  6040. if len(m.Value) > 0 {
  6041. i -= len(m.Value)
  6042. copy(dAtA[i:], m.Value)
  6043. i = encodeVarintTypes(dAtA, i, uint64(len(m.Value)))
  6044. i--
  6045. dAtA[i] = 0x12
  6046. }
  6047. if len(m.Key) > 0 {
  6048. i -= len(m.Key)
  6049. copy(dAtA[i:], m.Key)
  6050. i = encodeVarintTypes(dAtA, i, uint64(len(m.Key)))
  6051. i--
  6052. dAtA[i] = 0xa
  6053. }
  6054. return len(dAtA) - i, nil
  6055. }
  6056. func (m *TxResult) Marshal() (dAtA []byte, err error) {
  6057. size := m.Size()
  6058. dAtA = make([]byte, size)
  6059. n, err := m.MarshalToSizedBuffer(dAtA[:size])
  6060. if err != nil {
  6061. return nil, err
  6062. }
  6063. return dAtA[:n], nil
  6064. }
  6065. func (m *TxResult) MarshalTo(dAtA []byte) (int, error) {
  6066. size := m.Size()
  6067. return m.MarshalToSizedBuffer(dAtA[:size])
  6068. }
  6069. func (m *TxResult) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  6070. i := len(dAtA)
  6071. _ = i
  6072. var l int
  6073. _ = l
  6074. {
  6075. size, err := m.Result.MarshalToSizedBuffer(dAtA[:i])
  6076. if err != nil {
  6077. return 0, err
  6078. }
  6079. i -= size
  6080. i = encodeVarintTypes(dAtA, i, uint64(size))
  6081. }
  6082. i--
  6083. dAtA[i] = 0x22
  6084. if len(m.Tx) > 0 {
  6085. i -= len(m.Tx)
  6086. copy(dAtA[i:], m.Tx)
  6087. i = encodeVarintTypes(dAtA, i, uint64(len(m.Tx)))
  6088. i--
  6089. dAtA[i] = 0x1a
  6090. }
  6091. if m.Index != 0 {
  6092. i = encodeVarintTypes(dAtA, i, uint64(m.Index))
  6093. i--
  6094. dAtA[i] = 0x10
  6095. }
  6096. if m.Height != 0 {
  6097. i = encodeVarintTypes(dAtA, i, uint64(m.Height))
  6098. i--
  6099. dAtA[i] = 0x8
  6100. }
  6101. return len(dAtA) - i, nil
  6102. }
  6103. func (m *Validator) Marshal() (dAtA []byte, err error) {
  6104. size := m.Size()
  6105. dAtA = make([]byte, size)
  6106. n, err := m.MarshalToSizedBuffer(dAtA[:size])
  6107. if err != nil {
  6108. return nil, err
  6109. }
  6110. return dAtA[:n], nil
  6111. }
  6112. func (m *Validator) MarshalTo(dAtA []byte) (int, error) {
  6113. size := m.Size()
  6114. return m.MarshalToSizedBuffer(dAtA[:size])
  6115. }
  6116. func (m *Validator) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  6117. i := len(dAtA)
  6118. _ = i
  6119. var l int
  6120. _ = l
  6121. if m.Power != 0 {
  6122. i = encodeVarintTypes(dAtA, i, uint64(m.Power))
  6123. i--
  6124. dAtA[i] = 0x18
  6125. }
  6126. if len(m.Address) > 0 {
  6127. i -= len(m.Address)
  6128. copy(dAtA[i:], m.Address)
  6129. i = encodeVarintTypes(dAtA, i, uint64(len(m.Address)))
  6130. i--
  6131. dAtA[i] = 0xa
  6132. }
  6133. return len(dAtA) - i, nil
  6134. }
  6135. func (m *ValidatorUpdate) Marshal() (dAtA []byte, err error) {
  6136. size := m.Size()
  6137. dAtA = make([]byte, size)
  6138. n, err := m.MarshalToSizedBuffer(dAtA[:size])
  6139. if err != nil {
  6140. return nil, err
  6141. }
  6142. return dAtA[:n], nil
  6143. }
  6144. func (m *ValidatorUpdate) MarshalTo(dAtA []byte) (int, error) {
  6145. size := m.Size()
  6146. return m.MarshalToSizedBuffer(dAtA[:size])
  6147. }
  6148. func (m *ValidatorUpdate) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  6149. i := len(dAtA)
  6150. _ = i
  6151. var l int
  6152. _ = l
  6153. if m.Power != 0 {
  6154. i = encodeVarintTypes(dAtA, i, uint64(m.Power))
  6155. i--
  6156. dAtA[i] = 0x10
  6157. }
  6158. {
  6159. size, err := m.PubKey.MarshalToSizedBuffer(dAtA[:i])
  6160. if err != nil {
  6161. return 0, err
  6162. }
  6163. i -= size
  6164. i = encodeVarintTypes(dAtA, i, uint64(size))
  6165. }
  6166. i--
  6167. dAtA[i] = 0xa
  6168. return len(dAtA) - i, nil
  6169. }
  6170. func (m *VoteInfo) Marshal() (dAtA []byte, err error) {
  6171. size := m.Size()
  6172. dAtA = make([]byte, size)
  6173. n, err := m.MarshalToSizedBuffer(dAtA[:size])
  6174. if err != nil {
  6175. return nil, err
  6176. }
  6177. return dAtA[:n], nil
  6178. }
  6179. func (m *VoteInfo) MarshalTo(dAtA []byte) (int, error) {
  6180. size := m.Size()
  6181. return m.MarshalToSizedBuffer(dAtA[:size])
  6182. }
  6183. func (m *VoteInfo) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  6184. i := len(dAtA)
  6185. _ = i
  6186. var l int
  6187. _ = l
  6188. if m.SignedLastBlock {
  6189. i--
  6190. if m.SignedLastBlock {
  6191. dAtA[i] = 1
  6192. } else {
  6193. dAtA[i] = 0
  6194. }
  6195. i--
  6196. dAtA[i] = 0x10
  6197. }
  6198. {
  6199. size, err := m.Validator.MarshalToSizedBuffer(dAtA[:i])
  6200. if err != nil {
  6201. return 0, err
  6202. }
  6203. i -= size
  6204. i = encodeVarintTypes(dAtA, i, uint64(size))
  6205. }
  6206. i--
  6207. dAtA[i] = 0xa
  6208. return len(dAtA) - i, nil
  6209. }
  6210. func (m *Evidence) Marshal() (dAtA []byte, err error) {
  6211. size := m.Size()
  6212. dAtA = make([]byte, size)
  6213. n, err := m.MarshalToSizedBuffer(dAtA[:size])
  6214. if err != nil {
  6215. return nil, err
  6216. }
  6217. return dAtA[:n], nil
  6218. }
  6219. func (m *Evidence) MarshalTo(dAtA []byte) (int, error) {
  6220. size := m.Size()
  6221. return m.MarshalToSizedBuffer(dAtA[:size])
  6222. }
  6223. func (m *Evidence) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  6224. i := len(dAtA)
  6225. _ = i
  6226. var l int
  6227. _ = l
  6228. if m.TotalVotingPower != 0 {
  6229. i = encodeVarintTypes(dAtA, i, uint64(m.TotalVotingPower))
  6230. i--
  6231. dAtA[i] = 0x28
  6232. }
  6233. n51, err51 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Time, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Time):])
  6234. if err51 != nil {
  6235. return 0, err51
  6236. }
  6237. i -= n51
  6238. i = encodeVarintTypes(dAtA, i, uint64(n51))
  6239. i--
  6240. dAtA[i] = 0x22
  6241. if m.Height != 0 {
  6242. i = encodeVarintTypes(dAtA, i, uint64(m.Height))
  6243. i--
  6244. dAtA[i] = 0x18
  6245. }
  6246. {
  6247. size, err := m.Validator.MarshalToSizedBuffer(dAtA[:i])
  6248. if err != nil {
  6249. return 0, err
  6250. }
  6251. i -= size
  6252. i = encodeVarintTypes(dAtA, i, uint64(size))
  6253. }
  6254. i--
  6255. dAtA[i] = 0x12
  6256. if m.Type != 0 {
  6257. i = encodeVarintTypes(dAtA, i, uint64(m.Type))
  6258. i--
  6259. dAtA[i] = 0x8
  6260. }
  6261. return len(dAtA) - i, nil
  6262. }
  6263. func (m *Snapshot) Marshal() (dAtA []byte, err error) {
  6264. size := m.Size()
  6265. dAtA = make([]byte, size)
  6266. n, err := m.MarshalToSizedBuffer(dAtA[:size])
  6267. if err != nil {
  6268. return nil, err
  6269. }
  6270. return dAtA[:n], nil
  6271. }
  6272. func (m *Snapshot) MarshalTo(dAtA []byte) (int, error) {
  6273. size := m.Size()
  6274. return m.MarshalToSizedBuffer(dAtA[:size])
  6275. }
  6276. func (m *Snapshot) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  6277. i := len(dAtA)
  6278. _ = i
  6279. var l int
  6280. _ = l
  6281. if len(m.Metadata) > 0 {
  6282. i -= len(m.Metadata)
  6283. copy(dAtA[i:], m.Metadata)
  6284. i = encodeVarintTypes(dAtA, i, uint64(len(m.Metadata)))
  6285. i--
  6286. dAtA[i] = 0x2a
  6287. }
  6288. if len(m.Hash) > 0 {
  6289. i -= len(m.Hash)
  6290. copy(dAtA[i:], m.Hash)
  6291. i = encodeVarintTypes(dAtA, i, uint64(len(m.Hash)))
  6292. i--
  6293. dAtA[i] = 0x22
  6294. }
  6295. if m.Chunks != 0 {
  6296. i = encodeVarintTypes(dAtA, i, uint64(m.Chunks))
  6297. i--
  6298. dAtA[i] = 0x18
  6299. }
  6300. if m.Format != 0 {
  6301. i = encodeVarintTypes(dAtA, i, uint64(m.Format))
  6302. i--
  6303. dAtA[i] = 0x10
  6304. }
  6305. if m.Height != 0 {
  6306. i = encodeVarintTypes(dAtA, i, uint64(m.Height))
  6307. i--
  6308. dAtA[i] = 0x8
  6309. }
  6310. return len(dAtA) - i, nil
  6311. }
  6312. func encodeVarintTypes(dAtA []byte, offset int, v uint64) int {
  6313. offset -= sovTypes(v)
  6314. base := offset
  6315. for v >= 1<<7 {
  6316. dAtA[offset] = uint8(v&0x7f | 0x80)
  6317. v >>= 7
  6318. offset++
  6319. }
  6320. dAtA[offset] = uint8(v)
  6321. return base
  6322. }
  6323. func (m *Request) Size() (n int) {
  6324. if m == nil {
  6325. return 0
  6326. }
  6327. var l int
  6328. _ = l
  6329. if m.Value != nil {
  6330. n += m.Value.Size()
  6331. }
  6332. return n
  6333. }
  6334. func (m *Request_Echo) Size() (n int) {
  6335. if m == nil {
  6336. return 0
  6337. }
  6338. var l int
  6339. _ = l
  6340. if m.Echo != nil {
  6341. l = m.Echo.Size()
  6342. n += 1 + l + sovTypes(uint64(l))
  6343. }
  6344. return n
  6345. }
  6346. func (m *Request_Flush) Size() (n int) {
  6347. if m == nil {
  6348. return 0
  6349. }
  6350. var l int
  6351. _ = l
  6352. if m.Flush != nil {
  6353. l = m.Flush.Size()
  6354. n += 1 + l + sovTypes(uint64(l))
  6355. }
  6356. return n
  6357. }
  6358. func (m *Request_Info) Size() (n int) {
  6359. if m == nil {
  6360. return 0
  6361. }
  6362. var l int
  6363. _ = l
  6364. if m.Info != nil {
  6365. l = m.Info.Size()
  6366. n += 1 + l + sovTypes(uint64(l))
  6367. }
  6368. return n
  6369. }
  6370. func (m *Request_InitChain) Size() (n int) {
  6371. if m == nil {
  6372. return 0
  6373. }
  6374. var l int
  6375. _ = l
  6376. if m.InitChain != nil {
  6377. l = m.InitChain.Size()
  6378. n += 1 + l + sovTypes(uint64(l))
  6379. }
  6380. return n
  6381. }
  6382. func (m *Request_Query) Size() (n int) {
  6383. if m == nil {
  6384. return 0
  6385. }
  6386. var l int
  6387. _ = l
  6388. if m.Query != nil {
  6389. l = m.Query.Size()
  6390. n += 1 + l + sovTypes(uint64(l))
  6391. }
  6392. return n
  6393. }
  6394. func (m *Request_CheckTx) Size() (n int) {
  6395. if m == nil {
  6396. return 0
  6397. }
  6398. var l int
  6399. _ = l
  6400. if m.CheckTx != nil {
  6401. l = m.CheckTx.Size()
  6402. n += 1 + l + sovTypes(uint64(l))
  6403. }
  6404. return n
  6405. }
  6406. func (m *Request_Commit) Size() (n int) {
  6407. if m == nil {
  6408. return 0
  6409. }
  6410. var l int
  6411. _ = l
  6412. if m.Commit != nil {
  6413. l = m.Commit.Size()
  6414. n += 1 + l + sovTypes(uint64(l))
  6415. }
  6416. return n
  6417. }
  6418. func (m *Request_ListSnapshots) Size() (n int) {
  6419. if m == nil {
  6420. return 0
  6421. }
  6422. var l int
  6423. _ = l
  6424. if m.ListSnapshots != nil {
  6425. l = m.ListSnapshots.Size()
  6426. n += 1 + l + sovTypes(uint64(l))
  6427. }
  6428. return n
  6429. }
  6430. func (m *Request_OfferSnapshot) Size() (n int) {
  6431. if m == nil {
  6432. return 0
  6433. }
  6434. var l int
  6435. _ = l
  6436. if m.OfferSnapshot != nil {
  6437. l = m.OfferSnapshot.Size()
  6438. n += 1 + l + sovTypes(uint64(l))
  6439. }
  6440. return n
  6441. }
  6442. func (m *Request_LoadSnapshotChunk) Size() (n int) {
  6443. if m == nil {
  6444. return 0
  6445. }
  6446. var l int
  6447. _ = l
  6448. if m.LoadSnapshotChunk != nil {
  6449. l = m.LoadSnapshotChunk.Size()
  6450. n += 1 + l + sovTypes(uint64(l))
  6451. }
  6452. return n
  6453. }
  6454. func (m *Request_ApplySnapshotChunk) Size() (n int) {
  6455. if m == nil {
  6456. return 0
  6457. }
  6458. var l int
  6459. _ = l
  6460. if m.ApplySnapshotChunk != nil {
  6461. l = m.ApplySnapshotChunk.Size()
  6462. n += 1 + l + sovTypes(uint64(l))
  6463. }
  6464. return n
  6465. }
  6466. func (m *Request_PrepareProposal) Size() (n int) {
  6467. if m == nil {
  6468. return 0
  6469. }
  6470. var l int
  6471. _ = l
  6472. if m.PrepareProposal != nil {
  6473. l = m.PrepareProposal.Size()
  6474. n += 1 + l + sovTypes(uint64(l))
  6475. }
  6476. return n
  6477. }
  6478. func (m *Request_ProcessProposal) Size() (n int) {
  6479. if m == nil {
  6480. return 0
  6481. }
  6482. var l int
  6483. _ = l
  6484. if m.ProcessProposal != nil {
  6485. l = m.ProcessProposal.Size()
  6486. n += 2 + l + sovTypes(uint64(l))
  6487. }
  6488. return n
  6489. }
  6490. func (m *Request_ExtendVote) Size() (n int) {
  6491. if m == nil {
  6492. return 0
  6493. }
  6494. var l int
  6495. _ = l
  6496. if m.ExtendVote != nil {
  6497. l = m.ExtendVote.Size()
  6498. n += 2 + l + sovTypes(uint64(l))
  6499. }
  6500. return n
  6501. }
  6502. func (m *Request_VerifyVoteExtension) Size() (n int) {
  6503. if m == nil {
  6504. return 0
  6505. }
  6506. var l int
  6507. _ = l
  6508. if m.VerifyVoteExtension != nil {
  6509. l = m.VerifyVoteExtension.Size()
  6510. n += 2 + l + sovTypes(uint64(l))
  6511. }
  6512. return n
  6513. }
  6514. func (m *Request_FinalizeBlock) Size() (n int) {
  6515. if m == nil {
  6516. return 0
  6517. }
  6518. var l int
  6519. _ = l
  6520. if m.FinalizeBlock != nil {
  6521. l = m.FinalizeBlock.Size()
  6522. n += 2 + l + sovTypes(uint64(l))
  6523. }
  6524. return n
  6525. }
  6526. func (m *RequestEcho) Size() (n int) {
  6527. if m == nil {
  6528. return 0
  6529. }
  6530. var l int
  6531. _ = l
  6532. l = len(m.Message)
  6533. if l > 0 {
  6534. n += 1 + l + sovTypes(uint64(l))
  6535. }
  6536. return n
  6537. }
  6538. func (m *RequestFlush) Size() (n int) {
  6539. if m == nil {
  6540. return 0
  6541. }
  6542. var l int
  6543. _ = l
  6544. return n
  6545. }
  6546. func (m *RequestInfo) Size() (n int) {
  6547. if m == nil {
  6548. return 0
  6549. }
  6550. var l int
  6551. _ = l
  6552. l = len(m.Version)
  6553. if l > 0 {
  6554. n += 1 + l + sovTypes(uint64(l))
  6555. }
  6556. if m.BlockVersion != 0 {
  6557. n += 1 + sovTypes(uint64(m.BlockVersion))
  6558. }
  6559. if m.P2PVersion != 0 {
  6560. n += 1 + sovTypes(uint64(m.P2PVersion))
  6561. }
  6562. l = len(m.AbciVersion)
  6563. if l > 0 {
  6564. n += 1 + l + sovTypes(uint64(l))
  6565. }
  6566. return n
  6567. }
  6568. func (m *RequestInitChain) Size() (n int) {
  6569. if m == nil {
  6570. return 0
  6571. }
  6572. var l int
  6573. _ = l
  6574. l = github_com_gogo_protobuf_types.SizeOfStdTime(m.Time)
  6575. n += 1 + l + sovTypes(uint64(l))
  6576. l = len(m.ChainId)
  6577. if l > 0 {
  6578. n += 1 + l + sovTypes(uint64(l))
  6579. }
  6580. if m.ConsensusParams != nil {
  6581. l = m.ConsensusParams.Size()
  6582. n += 1 + l + sovTypes(uint64(l))
  6583. }
  6584. if len(m.Validators) > 0 {
  6585. for _, e := range m.Validators {
  6586. l = e.Size()
  6587. n += 1 + l + sovTypes(uint64(l))
  6588. }
  6589. }
  6590. l = len(m.AppStateBytes)
  6591. if l > 0 {
  6592. n += 1 + l + sovTypes(uint64(l))
  6593. }
  6594. if m.InitialHeight != 0 {
  6595. n += 1 + sovTypes(uint64(m.InitialHeight))
  6596. }
  6597. return n
  6598. }
  6599. func (m *RequestQuery) Size() (n int) {
  6600. if m == nil {
  6601. return 0
  6602. }
  6603. var l int
  6604. _ = l
  6605. l = len(m.Data)
  6606. if l > 0 {
  6607. n += 1 + l + sovTypes(uint64(l))
  6608. }
  6609. l = len(m.Path)
  6610. if l > 0 {
  6611. n += 1 + l + sovTypes(uint64(l))
  6612. }
  6613. if m.Height != 0 {
  6614. n += 1 + sovTypes(uint64(m.Height))
  6615. }
  6616. if m.Prove {
  6617. n += 2
  6618. }
  6619. return n
  6620. }
  6621. func (m *RequestCheckTx) Size() (n int) {
  6622. if m == nil {
  6623. return 0
  6624. }
  6625. var l int
  6626. _ = l
  6627. l = len(m.Tx)
  6628. if l > 0 {
  6629. n += 1 + l + sovTypes(uint64(l))
  6630. }
  6631. if m.Type != 0 {
  6632. n += 1 + sovTypes(uint64(m.Type))
  6633. }
  6634. return n
  6635. }
  6636. func (m *RequestCommit) Size() (n int) {
  6637. if m == nil {
  6638. return 0
  6639. }
  6640. var l int
  6641. _ = l
  6642. return n
  6643. }
  6644. func (m *RequestListSnapshots) Size() (n int) {
  6645. if m == nil {
  6646. return 0
  6647. }
  6648. var l int
  6649. _ = l
  6650. return n
  6651. }
  6652. func (m *RequestOfferSnapshot) Size() (n int) {
  6653. if m == nil {
  6654. return 0
  6655. }
  6656. var l int
  6657. _ = l
  6658. if m.Snapshot != nil {
  6659. l = m.Snapshot.Size()
  6660. n += 1 + l + sovTypes(uint64(l))
  6661. }
  6662. l = len(m.AppHash)
  6663. if l > 0 {
  6664. n += 1 + l + sovTypes(uint64(l))
  6665. }
  6666. return n
  6667. }
  6668. func (m *RequestLoadSnapshotChunk) Size() (n int) {
  6669. if m == nil {
  6670. return 0
  6671. }
  6672. var l int
  6673. _ = l
  6674. if m.Height != 0 {
  6675. n += 1 + sovTypes(uint64(m.Height))
  6676. }
  6677. if m.Format != 0 {
  6678. n += 1 + sovTypes(uint64(m.Format))
  6679. }
  6680. if m.Chunk != 0 {
  6681. n += 1 + sovTypes(uint64(m.Chunk))
  6682. }
  6683. return n
  6684. }
  6685. func (m *RequestApplySnapshotChunk) Size() (n int) {
  6686. if m == nil {
  6687. return 0
  6688. }
  6689. var l int
  6690. _ = l
  6691. if m.Index != 0 {
  6692. n += 1 + sovTypes(uint64(m.Index))
  6693. }
  6694. l = len(m.Chunk)
  6695. if l > 0 {
  6696. n += 1 + l + sovTypes(uint64(l))
  6697. }
  6698. l = len(m.Sender)
  6699. if l > 0 {
  6700. n += 1 + l + sovTypes(uint64(l))
  6701. }
  6702. return n
  6703. }
  6704. func (m *RequestPrepareProposal) Size() (n int) {
  6705. if m == nil {
  6706. return 0
  6707. }
  6708. var l int
  6709. _ = l
  6710. if len(m.BlockData) > 0 {
  6711. for _, b := range m.BlockData {
  6712. l = len(b)
  6713. n += 1 + l + sovTypes(uint64(l))
  6714. }
  6715. }
  6716. if m.BlockDataSize != 0 {
  6717. n += 1 + sovTypes(uint64(m.BlockDataSize))
  6718. }
  6719. return n
  6720. }
  6721. func (m *RequestExtendVote) Size() (n int) {
  6722. if m == nil {
  6723. return 0
  6724. }
  6725. var l int
  6726. _ = l
  6727. if m.Vote != nil {
  6728. l = m.Vote.Size()
  6729. n += 1 + l + sovTypes(uint64(l))
  6730. }
  6731. return n
  6732. }
  6733. func (m *RequestVerifyVoteExtension) Size() (n int) {
  6734. if m == nil {
  6735. return 0
  6736. }
  6737. var l int
  6738. _ = l
  6739. if m.Vote != nil {
  6740. l = m.Vote.Size()
  6741. n += 1 + l + sovTypes(uint64(l))
  6742. }
  6743. return n
  6744. }
  6745. func (m *RequestProcessProposal) Size() (n int) {
  6746. if m == nil {
  6747. return 0
  6748. }
  6749. var l int
  6750. _ = l
  6751. l = m.Header.Size()
  6752. n += 1 + l + sovTypes(uint64(l))
  6753. if len(m.Txs) > 0 {
  6754. for _, b := range m.Txs {
  6755. l = len(b)
  6756. n += 1 + l + sovTypes(uint64(l))
  6757. }
  6758. }
  6759. return n
  6760. }
  6761. func (m *RequestFinalizeBlock) Size() (n int) {
  6762. if m == nil {
  6763. return 0
  6764. }
  6765. var l int
  6766. _ = l
  6767. if len(m.Txs) > 0 {
  6768. for _, b := range m.Txs {
  6769. l = len(b)
  6770. n += 1 + l + sovTypes(uint64(l))
  6771. }
  6772. }
  6773. l = len(m.Hash)
  6774. if l > 0 {
  6775. n += 1 + l + sovTypes(uint64(l))
  6776. }
  6777. if m.Height != 0 {
  6778. n += 1 + sovTypes(uint64(m.Height))
  6779. }
  6780. l = m.Header.Size()
  6781. n += 1 + l + sovTypes(uint64(l))
  6782. l = m.LastCommitInfo.Size()
  6783. n += 1 + l + sovTypes(uint64(l))
  6784. if len(m.ByzantineValidators) > 0 {
  6785. for _, e := range m.ByzantineValidators {
  6786. l = e.Size()
  6787. n += 1 + l + sovTypes(uint64(l))
  6788. }
  6789. }
  6790. return n
  6791. }
  6792. func (m *Response) Size() (n int) {
  6793. if m == nil {
  6794. return 0
  6795. }
  6796. var l int
  6797. _ = l
  6798. if m.Value != nil {
  6799. n += m.Value.Size()
  6800. }
  6801. return n
  6802. }
  6803. func (m *Response_Exception) Size() (n int) {
  6804. if m == nil {
  6805. return 0
  6806. }
  6807. var l int
  6808. _ = l
  6809. if m.Exception != nil {
  6810. l = m.Exception.Size()
  6811. n += 1 + l + sovTypes(uint64(l))
  6812. }
  6813. return n
  6814. }
  6815. func (m *Response_Echo) Size() (n int) {
  6816. if m == nil {
  6817. return 0
  6818. }
  6819. var l int
  6820. _ = l
  6821. if m.Echo != nil {
  6822. l = m.Echo.Size()
  6823. n += 1 + l + sovTypes(uint64(l))
  6824. }
  6825. return n
  6826. }
  6827. func (m *Response_Flush) Size() (n int) {
  6828. if m == nil {
  6829. return 0
  6830. }
  6831. var l int
  6832. _ = l
  6833. if m.Flush != nil {
  6834. l = m.Flush.Size()
  6835. n += 1 + l + sovTypes(uint64(l))
  6836. }
  6837. return n
  6838. }
  6839. func (m *Response_Info) Size() (n int) {
  6840. if m == nil {
  6841. return 0
  6842. }
  6843. var l int
  6844. _ = l
  6845. if m.Info != nil {
  6846. l = m.Info.Size()
  6847. n += 1 + l + sovTypes(uint64(l))
  6848. }
  6849. return n
  6850. }
  6851. func (m *Response_InitChain) Size() (n int) {
  6852. if m == nil {
  6853. return 0
  6854. }
  6855. var l int
  6856. _ = l
  6857. if m.InitChain != nil {
  6858. l = m.InitChain.Size()
  6859. n += 1 + l + sovTypes(uint64(l))
  6860. }
  6861. return n
  6862. }
  6863. func (m *Response_Query) Size() (n int) {
  6864. if m == nil {
  6865. return 0
  6866. }
  6867. var l int
  6868. _ = l
  6869. if m.Query != nil {
  6870. l = m.Query.Size()
  6871. n += 1 + l + sovTypes(uint64(l))
  6872. }
  6873. return n
  6874. }
  6875. func (m *Response_CheckTx) Size() (n int) {
  6876. if m == nil {
  6877. return 0
  6878. }
  6879. var l int
  6880. _ = l
  6881. if m.CheckTx != nil {
  6882. l = m.CheckTx.Size()
  6883. n += 1 + l + sovTypes(uint64(l))
  6884. }
  6885. return n
  6886. }
  6887. func (m *Response_Commit) Size() (n int) {
  6888. if m == nil {
  6889. return 0
  6890. }
  6891. var l int
  6892. _ = l
  6893. if m.Commit != nil {
  6894. l = m.Commit.Size()
  6895. n += 1 + l + sovTypes(uint64(l))
  6896. }
  6897. return n
  6898. }
  6899. func (m *Response_ListSnapshots) Size() (n int) {
  6900. if m == nil {
  6901. return 0
  6902. }
  6903. var l int
  6904. _ = l
  6905. if m.ListSnapshots != nil {
  6906. l = m.ListSnapshots.Size()
  6907. n += 1 + l + sovTypes(uint64(l))
  6908. }
  6909. return n
  6910. }
  6911. func (m *Response_OfferSnapshot) Size() (n int) {
  6912. if m == nil {
  6913. return 0
  6914. }
  6915. var l int
  6916. _ = l
  6917. if m.OfferSnapshot != nil {
  6918. l = m.OfferSnapshot.Size()
  6919. n += 1 + l + sovTypes(uint64(l))
  6920. }
  6921. return n
  6922. }
  6923. func (m *Response_LoadSnapshotChunk) Size() (n int) {
  6924. if m == nil {
  6925. return 0
  6926. }
  6927. var l int
  6928. _ = l
  6929. if m.LoadSnapshotChunk != nil {
  6930. l = m.LoadSnapshotChunk.Size()
  6931. n += 1 + l + sovTypes(uint64(l))
  6932. }
  6933. return n
  6934. }
  6935. func (m *Response_ApplySnapshotChunk) Size() (n int) {
  6936. if m == nil {
  6937. return 0
  6938. }
  6939. var l int
  6940. _ = l
  6941. if m.ApplySnapshotChunk != nil {
  6942. l = m.ApplySnapshotChunk.Size()
  6943. n += 1 + l + sovTypes(uint64(l))
  6944. }
  6945. return n
  6946. }
  6947. func (m *Response_PrepareProposal) Size() (n int) {
  6948. if m == nil {
  6949. return 0
  6950. }
  6951. var l int
  6952. _ = l
  6953. if m.PrepareProposal != nil {
  6954. l = m.PrepareProposal.Size()
  6955. n += 2 + l + sovTypes(uint64(l))
  6956. }
  6957. return n
  6958. }
  6959. func (m *Response_ProcessProposal) Size() (n int) {
  6960. if m == nil {
  6961. return 0
  6962. }
  6963. var l int
  6964. _ = l
  6965. if m.ProcessProposal != nil {
  6966. l = m.ProcessProposal.Size()
  6967. n += 2 + l + sovTypes(uint64(l))
  6968. }
  6969. return n
  6970. }
  6971. func (m *Response_ExtendVote) Size() (n int) {
  6972. if m == nil {
  6973. return 0
  6974. }
  6975. var l int
  6976. _ = l
  6977. if m.ExtendVote != nil {
  6978. l = m.ExtendVote.Size()
  6979. n += 2 + l + sovTypes(uint64(l))
  6980. }
  6981. return n
  6982. }
  6983. func (m *Response_VerifyVoteExtension) Size() (n int) {
  6984. if m == nil {
  6985. return 0
  6986. }
  6987. var l int
  6988. _ = l
  6989. if m.VerifyVoteExtension != nil {
  6990. l = m.VerifyVoteExtension.Size()
  6991. n += 2 + l + sovTypes(uint64(l))
  6992. }
  6993. return n
  6994. }
  6995. func (m *Response_FinalizeBlock) Size() (n int) {
  6996. if m == nil {
  6997. return 0
  6998. }
  6999. var l int
  7000. _ = l
  7001. if m.FinalizeBlock != nil {
  7002. l = m.FinalizeBlock.Size()
  7003. n += 2 + l + sovTypes(uint64(l))
  7004. }
  7005. return n
  7006. }
  7007. func (m *ResponseException) Size() (n int) {
  7008. if m == nil {
  7009. return 0
  7010. }
  7011. var l int
  7012. _ = l
  7013. l = len(m.Error)
  7014. if l > 0 {
  7015. n += 1 + l + sovTypes(uint64(l))
  7016. }
  7017. return n
  7018. }
  7019. func (m *ResponseEcho) Size() (n int) {
  7020. if m == nil {
  7021. return 0
  7022. }
  7023. var l int
  7024. _ = l
  7025. l = len(m.Message)
  7026. if l > 0 {
  7027. n += 1 + l + sovTypes(uint64(l))
  7028. }
  7029. return n
  7030. }
  7031. func (m *ResponseFlush) Size() (n int) {
  7032. if m == nil {
  7033. return 0
  7034. }
  7035. var l int
  7036. _ = l
  7037. return n
  7038. }
  7039. func (m *ResponseInfo) Size() (n int) {
  7040. if m == nil {
  7041. return 0
  7042. }
  7043. var l int
  7044. _ = l
  7045. l = len(m.Data)
  7046. if l > 0 {
  7047. n += 1 + l + sovTypes(uint64(l))
  7048. }
  7049. l = len(m.Version)
  7050. if l > 0 {
  7051. n += 1 + l + sovTypes(uint64(l))
  7052. }
  7053. if m.AppVersion != 0 {
  7054. n += 1 + sovTypes(uint64(m.AppVersion))
  7055. }
  7056. if m.LastBlockHeight != 0 {
  7057. n += 1 + sovTypes(uint64(m.LastBlockHeight))
  7058. }
  7059. l = len(m.LastBlockAppHash)
  7060. if l > 0 {
  7061. n += 1 + l + sovTypes(uint64(l))
  7062. }
  7063. return n
  7064. }
  7065. func (m *ResponseInitChain) Size() (n int) {
  7066. if m == nil {
  7067. return 0
  7068. }
  7069. var l int
  7070. _ = l
  7071. if m.ConsensusParams != nil {
  7072. l = m.ConsensusParams.Size()
  7073. n += 1 + l + sovTypes(uint64(l))
  7074. }
  7075. if len(m.Validators) > 0 {
  7076. for _, e := range m.Validators {
  7077. l = e.Size()
  7078. n += 1 + l + sovTypes(uint64(l))
  7079. }
  7080. }
  7081. l = len(m.AppHash)
  7082. if l > 0 {
  7083. n += 1 + l + sovTypes(uint64(l))
  7084. }
  7085. return n
  7086. }
  7087. func (m *ResponseQuery) Size() (n int) {
  7088. if m == nil {
  7089. return 0
  7090. }
  7091. var l int
  7092. _ = l
  7093. if m.Code != 0 {
  7094. n += 1 + sovTypes(uint64(m.Code))
  7095. }
  7096. l = len(m.Log)
  7097. if l > 0 {
  7098. n += 1 + l + sovTypes(uint64(l))
  7099. }
  7100. l = len(m.Info)
  7101. if l > 0 {
  7102. n += 1 + l + sovTypes(uint64(l))
  7103. }
  7104. if m.Index != 0 {
  7105. n += 1 + sovTypes(uint64(m.Index))
  7106. }
  7107. l = len(m.Key)
  7108. if l > 0 {
  7109. n += 1 + l + sovTypes(uint64(l))
  7110. }
  7111. l = len(m.Value)
  7112. if l > 0 {
  7113. n += 1 + l + sovTypes(uint64(l))
  7114. }
  7115. if m.ProofOps != nil {
  7116. l = m.ProofOps.Size()
  7117. n += 1 + l + sovTypes(uint64(l))
  7118. }
  7119. if m.Height != 0 {
  7120. n += 1 + sovTypes(uint64(m.Height))
  7121. }
  7122. l = len(m.Codespace)
  7123. if l > 0 {
  7124. n += 1 + l + sovTypes(uint64(l))
  7125. }
  7126. return n
  7127. }
  7128. func (m *ResponseCheckTx) Size() (n int) {
  7129. if m == nil {
  7130. return 0
  7131. }
  7132. var l int
  7133. _ = l
  7134. if m.Code != 0 {
  7135. n += 1 + sovTypes(uint64(m.Code))
  7136. }
  7137. l = len(m.Data)
  7138. if l > 0 {
  7139. n += 1 + l + sovTypes(uint64(l))
  7140. }
  7141. l = len(m.Log)
  7142. if l > 0 {
  7143. n += 1 + l + sovTypes(uint64(l))
  7144. }
  7145. l = len(m.Info)
  7146. if l > 0 {
  7147. n += 1 + l + sovTypes(uint64(l))
  7148. }
  7149. if m.GasWanted != 0 {
  7150. n += 1 + sovTypes(uint64(m.GasWanted))
  7151. }
  7152. if m.GasUsed != 0 {
  7153. n += 1 + sovTypes(uint64(m.GasUsed))
  7154. }
  7155. if len(m.Events) > 0 {
  7156. for _, e := range m.Events {
  7157. l = e.Size()
  7158. n += 1 + l + sovTypes(uint64(l))
  7159. }
  7160. }
  7161. l = len(m.Codespace)
  7162. if l > 0 {
  7163. n += 1 + l + sovTypes(uint64(l))
  7164. }
  7165. l = len(m.Sender)
  7166. if l > 0 {
  7167. n += 1 + l + sovTypes(uint64(l))
  7168. }
  7169. if m.Priority != 0 {
  7170. n += 1 + sovTypes(uint64(m.Priority))
  7171. }
  7172. l = len(m.MempoolError)
  7173. if l > 0 {
  7174. n += 1 + l + sovTypes(uint64(l))
  7175. }
  7176. return n
  7177. }
  7178. func (m *ResponseDeliverTx) Size() (n int) {
  7179. if m == nil {
  7180. return 0
  7181. }
  7182. var l int
  7183. _ = l
  7184. if m.Code != 0 {
  7185. n += 1 + sovTypes(uint64(m.Code))
  7186. }
  7187. l = len(m.Data)
  7188. if l > 0 {
  7189. n += 1 + l + sovTypes(uint64(l))
  7190. }
  7191. l = len(m.Log)
  7192. if l > 0 {
  7193. n += 1 + l + sovTypes(uint64(l))
  7194. }
  7195. l = len(m.Info)
  7196. if l > 0 {
  7197. n += 1 + l + sovTypes(uint64(l))
  7198. }
  7199. if m.GasWanted != 0 {
  7200. n += 1 + sovTypes(uint64(m.GasWanted))
  7201. }
  7202. if m.GasUsed != 0 {
  7203. n += 1 + sovTypes(uint64(m.GasUsed))
  7204. }
  7205. if len(m.Events) > 0 {
  7206. for _, e := range m.Events {
  7207. l = e.Size()
  7208. n += 1 + l + sovTypes(uint64(l))
  7209. }
  7210. }
  7211. l = len(m.Codespace)
  7212. if l > 0 {
  7213. n += 1 + l + sovTypes(uint64(l))
  7214. }
  7215. return n
  7216. }
  7217. func (m *ResponseCommit) Size() (n int) {
  7218. if m == nil {
  7219. return 0
  7220. }
  7221. var l int
  7222. _ = l
  7223. l = len(m.Data)
  7224. if l > 0 {
  7225. n += 1 + l + sovTypes(uint64(l))
  7226. }
  7227. if m.RetainHeight != 0 {
  7228. n += 1 + sovTypes(uint64(m.RetainHeight))
  7229. }
  7230. return n
  7231. }
  7232. func (m *ResponseListSnapshots) Size() (n int) {
  7233. if m == nil {
  7234. return 0
  7235. }
  7236. var l int
  7237. _ = l
  7238. if len(m.Snapshots) > 0 {
  7239. for _, e := range m.Snapshots {
  7240. l = e.Size()
  7241. n += 1 + l + sovTypes(uint64(l))
  7242. }
  7243. }
  7244. return n
  7245. }
  7246. func (m *ResponseOfferSnapshot) Size() (n int) {
  7247. if m == nil {
  7248. return 0
  7249. }
  7250. var l int
  7251. _ = l
  7252. if m.Result != 0 {
  7253. n += 1 + sovTypes(uint64(m.Result))
  7254. }
  7255. return n
  7256. }
  7257. func (m *ResponseLoadSnapshotChunk) Size() (n int) {
  7258. if m == nil {
  7259. return 0
  7260. }
  7261. var l int
  7262. _ = l
  7263. l = len(m.Chunk)
  7264. if l > 0 {
  7265. n += 1 + l + sovTypes(uint64(l))
  7266. }
  7267. return n
  7268. }
  7269. func (m *ResponseApplySnapshotChunk) Size() (n int) {
  7270. if m == nil {
  7271. return 0
  7272. }
  7273. var l int
  7274. _ = l
  7275. if m.Result != 0 {
  7276. n += 1 + sovTypes(uint64(m.Result))
  7277. }
  7278. if len(m.RefetchChunks) > 0 {
  7279. l = 0
  7280. for _, e := range m.RefetchChunks {
  7281. l += sovTypes(uint64(e))
  7282. }
  7283. n += 1 + sovTypes(uint64(l)) + l
  7284. }
  7285. if len(m.RejectSenders) > 0 {
  7286. for _, s := range m.RejectSenders {
  7287. l = len(s)
  7288. n += 1 + l + sovTypes(uint64(l))
  7289. }
  7290. }
  7291. return n
  7292. }
  7293. func (m *ResponsePrepareProposal) Size() (n int) {
  7294. if m == nil {
  7295. return 0
  7296. }
  7297. var l int
  7298. _ = l
  7299. if len(m.BlockData) > 0 {
  7300. for _, b := range m.BlockData {
  7301. l = len(b)
  7302. n += 1 + l + sovTypes(uint64(l))
  7303. }
  7304. }
  7305. return n
  7306. }
  7307. func (m *ResponseExtendVote) Size() (n int) {
  7308. if m == nil {
  7309. return 0
  7310. }
  7311. var l int
  7312. _ = l
  7313. if m.VoteExtension != nil {
  7314. l = m.VoteExtension.Size()
  7315. n += 1 + l + sovTypes(uint64(l))
  7316. }
  7317. return n
  7318. }
  7319. func (m *ResponseVerifyVoteExtension) Size() (n int) {
  7320. if m == nil {
  7321. return 0
  7322. }
  7323. var l int
  7324. _ = l
  7325. if m.Result != 0 {
  7326. n += 1 + sovTypes(uint64(m.Result))
  7327. }
  7328. return n
  7329. }
  7330. func (m *ResponseProcessProposal) Size() (n int) {
  7331. if m == nil {
  7332. return 0
  7333. }
  7334. var l int
  7335. _ = l
  7336. if m.Result != 0 {
  7337. n += 1 + sovTypes(uint64(m.Result))
  7338. }
  7339. if len(m.Evidence) > 0 {
  7340. for _, b := range m.Evidence {
  7341. l = len(b)
  7342. n += 1 + l + sovTypes(uint64(l))
  7343. }
  7344. }
  7345. return n
  7346. }
  7347. func (m *ResponseFinalizeBlock) Size() (n int) {
  7348. if m == nil {
  7349. return 0
  7350. }
  7351. var l int
  7352. _ = l
  7353. if len(m.Txs) > 0 {
  7354. for _, e := range m.Txs {
  7355. l = e.Size()
  7356. n += 1 + l + sovTypes(uint64(l))
  7357. }
  7358. }
  7359. if len(m.ValidatorUpdates) > 0 {
  7360. for _, e := range m.ValidatorUpdates {
  7361. l = e.Size()
  7362. n += 1 + l + sovTypes(uint64(l))
  7363. }
  7364. }
  7365. if m.ConsensusParamUpdates != nil {
  7366. l = m.ConsensusParamUpdates.Size()
  7367. n += 1 + l + sovTypes(uint64(l))
  7368. }
  7369. if len(m.Events) > 0 {
  7370. for _, e := range m.Events {
  7371. l = e.Size()
  7372. n += 1 + l + sovTypes(uint64(l))
  7373. }
  7374. }
  7375. return n
  7376. }
  7377. func (m *LastCommitInfo) Size() (n int) {
  7378. if m == nil {
  7379. return 0
  7380. }
  7381. var l int
  7382. _ = l
  7383. if m.Round != 0 {
  7384. n += 1 + sovTypes(uint64(m.Round))
  7385. }
  7386. if len(m.Votes) > 0 {
  7387. for _, e := range m.Votes {
  7388. l = e.Size()
  7389. n += 1 + l + sovTypes(uint64(l))
  7390. }
  7391. }
  7392. return n
  7393. }
  7394. func (m *Event) Size() (n int) {
  7395. if m == nil {
  7396. return 0
  7397. }
  7398. var l int
  7399. _ = l
  7400. l = len(m.Type)
  7401. if l > 0 {
  7402. n += 1 + l + sovTypes(uint64(l))
  7403. }
  7404. if len(m.Attributes) > 0 {
  7405. for _, e := range m.Attributes {
  7406. l = e.Size()
  7407. n += 1 + l + sovTypes(uint64(l))
  7408. }
  7409. }
  7410. return n
  7411. }
  7412. func (m *EventAttribute) Size() (n int) {
  7413. if m == nil {
  7414. return 0
  7415. }
  7416. var l int
  7417. _ = l
  7418. l = len(m.Key)
  7419. if l > 0 {
  7420. n += 1 + l + sovTypes(uint64(l))
  7421. }
  7422. l = len(m.Value)
  7423. if l > 0 {
  7424. n += 1 + l + sovTypes(uint64(l))
  7425. }
  7426. if m.Index {
  7427. n += 2
  7428. }
  7429. return n
  7430. }
  7431. func (m *TxResult) Size() (n int) {
  7432. if m == nil {
  7433. return 0
  7434. }
  7435. var l int
  7436. _ = l
  7437. if m.Height != 0 {
  7438. n += 1 + sovTypes(uint64(m.Height))
  7439. }
  7440. if m.Index != 0 {
  7441. n += 1 + sovTypes(uint64(m.Index))
  7442. }
  7443. l = len(m.Tx)
  7444. if l > 0 {
  7445. n += 1 + l + sovTypes(uint64(l))
  7446. }
  7447. l = m.Result.Size()
  7448. n += 1 + l + sovTypes(uint64(l))
  7449. return n
  7450. }
  7451. func (m *Validator) Size() (n int) {
  7452. if m == nil {
  7453. return 0
  7454. }
  7455. var l int
  7456. _ = l
  7457. l = len(m.Address)
  7458. if l > 0 {
  7459. n += 1 + l + sovTypes(uint64(l))
  7460. }
  7461. if m.Power != 0 {
  7462. n += 1 + sovTypes(uint64(m.Power))
  7463. }
  7464. return n
  7465. }
  7466. func (m *ValidatorUpdate) Size() (n int) {
  7467. if m == nil {
  7468. return 0
  7469. }
  7470. var l int
  7471. _ = l
  7472. l = m.PubKey.Size()
  7473. n += 1 + l + sovTypes(uint64(l))
  7474. if m.Power != 0 {
  7475. n += 1 + sovTypes(uint64(m.Power))
  7476. }
  7477. return n
  7478. }
  7479. func (m *VoteInfo) Size() (n int) {
  7480. if m == nil {
  7481. return 0
  7482. }
  7483. var l int
  7484. _ = l
  7485. l = m.Validator.Size()
  7486. n += 1 + l + sovTypes(uint64(l))
  7487. if m.SignedLastBlock {
  7488. n += 2
  7489. }
  7490. return n
  7491. }
  7492. func (m *Evidence) Size() (n int) {
  7493. if m == nil {
  7494. return 0
  7495. }
  7496. var l int
  7497. _ = l
  7498. if m.Type != 0 {
  7499. n += 1 + sovTypes(uint64(m.Type))
  7500. }
  7501. l = m.Validator.Size()
  7502. n += 1 + l + sovTypes(uint64(l))
  7503. if m.Height != 0 {
  7504. n += 1 + sovTypes(uint64(m.Height))
  7505. }
  7506. l = github_com_gogo_protobuf_types.SizeOfStdTime(m.Time)
  7507. n += 1 + l + sovTypes(uint64(l))
  7508. if m.TotalVotingPower != 0 {
  7509. n += 1 + sovTypes(uint64(m.TotalVotingPower))
  7510. }
  7511. return n
  7512. }
  7513. func (m *Snapshot) Size() (n int) {
  7514. if m == nil {
  7515. return 0
  7516. }
  7517. var l int
  7518. _ = l
  7519. if m.Height != 0 {
  7520. n += 1 + sovTypes(uint64(m.Height))
  7521. }
  7522. if m.Format != 0 {
  7523. n += 1 + sovTypes(uint64(m.Format))
  7524. }
  7525. if m.Chunks != 0 {
  7526. n += 1 + sovTypes(uint64(m.Chunks))
  7527. }
  7528. l = len(m.Hash)
  7529. if l > 0 {
  7530. n += 1 + l + sovTypes(uint64(l))
  7531. }
  7532. l = len(m.Metadata)
  7533. if l > 0 {
  7534. n += 1 + l + sovTypes(uint64(l))
  7535. }
  7536. return n
  7537. }
  7538. func sovTypes(x uint64) (n int) {
  7539. return (math_bits.Len64(x|1) + 6) / 7
  7540. }
  7541. func sozTypes(x uint64) (n int) {
  7542. return sovTypes(uint64((x << 1) ^ uint64((int64(x) >> 63))))
  7543. }
  7544. func (m *Request) Unmarshal(dAtA []byte) error {
  7545. l := len(dAtA)
  7546. iNdEx := 0
  7547. for iNdEx < l {
  7548. preIndex := iNdEx
  7549. var wire uint64
  7550. for shift := uint(0); ; shift += 7 {
  7551. if shift >= 64 {
  7552. return ErrIntOverflowTypes
  7553. }
  7554. if iNdEx >= l {
  7555. return io.ErrUnexpectedEOF
  7556. }
  7557. b := dAtA[iNdEx]
  7558. iNdEx++
  7559. wire |= uint64(b&0x7F) << shift
  7560. if b < 0x80 {
  7561. break
  7562. }
  7563. }
  7564. fieldNum := int32(wire >> 3)
  7565. wireType := int(wire & 0x7)
  7566. if wireType == 4 {
  7567. return fmt.Errorf("proto: Request: wiretype end group for non-group")
  7568. }
  7569. if fieldNum <= 0 {
  7570. return fmt.Errorf("proto: Request: illegal tag %d (wire type %d)", fieldNum, wire)
  7571. }
  7572. switch fieldNum {
  7573. case 1:
  7574. if wireType != 2 {
  7575. return fmt.Errorf("proto: wrong wireType = %d for field Echo", wireType)
  7576. }
  7577. var msglen int
  7578. for shift := uint(0); ; shift += 7 {
  7579. if shift >= 64 {
  7580. return ErrIntOverflowTypes
  7581. }
  7582. if iNdEx >= l {
  7583. return io.ErrUnexpectedEOF
  7584. }
  7585. b := dAtA[iNdEx]
  7586. iNdEx++
  7587. msglen |= int(b&0x7F) << shift
  7588. if b < 0x80 {
  7589. break
  7590. }
  7591. }
  7592. if msglen < 0 {
  7593. return ErrInvalidLengthTypes
  7594. }
  7595. postIndex := iNdEx + msglen
  7596. if postIndex < 0 {
  7597. return ErrInvalidLengthTypes
  7598. }
  7599. if postIndex > l {
  7600. return io.ErrUnexpectedEOF
  7601. }
  7602. v := &RequestEcho{}
  7603. if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  7604. return err
  7605. }
  7606. m.Value = &Request_Echo{v}
  7607. iNdEx = postIndex
  7608. case 2:
  7609. if wireType != 2 {
  7610. return fmt.Errorf("proto: wrong wireType = %d for field Flush", wireType)
  7611. }
  7612. var msglen int
  7613. for shift := uint(0); ; shift += 7 {
  7614. if shift >= 64 {
  7615. return ErrIntOverflowTypes
  7616. }
  7617. if iNdEx >= l {
  7618. return io.ErrUnexpectedEOF
  7619. }
  7620. b := dAtA[iNdEx]
  7621. iNdEx++
  7622. msglen |= int(b&0x7F) << shift
  7623. if b < 0x80 {
  7624. break
  7625. }
  7626. }
  7627. if msglen < 0 {
  7628. return ErrInvalidLengthTypes
  7629. }
  7630. postIndex := iNdEx + msglen
  7631. if postIndex < 0 {
  7632. return ErrInvalidLengthTypes
  7633. }
  7634. if postIndex > l {
  7635. return io.ErrUnexpectedEOF
  7636. }
  7637. v := &RequestFlush{}
  7638. if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  7639. return err
  7640. }
  7641. m.Value = &Request_Flush{v}
  7642. iNdEx = postIndex
  7643. case 3:
  7644. if wireType != 2 {
  7645. return fmt.Errorf("proto: wrong wireType = %d for field Info", wireType)
  7646. }
  7647. var msglen int
  7648. for shift := uint(0); ; shift += 7 {
  7649. if shift >= 64 {
  7650. return ErrIntOverflowTypes
  7651. }
  7652. if iNdEx >= l {
  7653. return io.ErrUnexpectedEOF
  7654. }
  7655. b := dAtA[iNdEx]
  7656. iNdEx++
  7657. msglen |= int(b&0x7F) << shift
  7658. if b < 0x80 {
  7659. break
  7660. }
  7661. }
  7662. if msglen < 0 {
  7663. return ErrInvalidLengthTypes
  7664. }
  7665. postIndex := iNdEx + msglen
  7666. if postIndex < 0 {
  7667. return ErrInvalidLengthTypes
  7668. }
  7669. if postIndex > l {
  7670. return io.ErrUnexpectedEOF
  7671. }
  7672. v := &RequestInfo{}
  7673. if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  7674. return err
  7675. }
  7676. m.Value = &Request_Info{v}
  7677. iNdEx = postIndex
  7678. case 4:
  7679. if wireType != 2 {
  7680. return fmt.Errorf("proto: wrong wireType = %d for field InitChain", wireType)
  7681. }
  7682. var msglen int
  7683. for shift := uint(0); ; shift += 7 {
  7684. if shift >= 64 {
  7685. return ErrIntOverflowTypes
  7686. }
  7687. if iNdEx >= l {
  7688. return io.ErrUnexpectedEOF
  7689. }
  7690. b := dAtA[iNdEx]
  7691. iNdEx++
  7692. msglen |= int(b&0x7F) << shift
  7693. if b < 0x80 {
  7694. break
  7695. }
  7696. }
  7697. if msglen < 0 {
  7698. return ErrInvalidLengthTypes
  7699. }
  7700. postIndex := iNdEx + msglen
  7701. if postIndex < 0 {
  7702. return ErrInvalidLengthTypes
  7703. }
  7704. if postIndex > l {
  7705. return io.ErrUnexpectedEOF
  7706. }
  7707. v := &RequestInitChain{}
  7708. if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  7709. return err
  7710. }
  7711. m.Value = &Request_InitChain{v}
  7712. iNdEx = postIndex
  7713. case 5:
  7714. if wireType != 2 {
  7715. return fmt.Errorf("proto: wrong wireType = %d for field Query", wireType)
  7716. }
  7717. var msglen int
  7718. for shift := uint(0); ; shift += 7 {
  7719. if shift >= 64 {
  7720. return ErrIntOverflowTypes
  7721. }
  7722. if iNdEx >= l {
  7723. return io.ErrUnexpectedEOF
  7724. }
  7725. b := dAtA[iNdEx]
  7726. iNdEx++
  7727. msglen |= int(b&0x7F) << shift
  7728. if b < 0x80 {
  7729. break
  7730. }
  7731. }
  7732. if msglen < 0 {
  7733. return ErrInvalidLengthTypes
  7734. }
  7735. postIndex := iNdEx + msglen
  7736. if postIndex < 0 {
  7737. return ErrInvalidLengthTypes
  7738. }
  7739. if postIndex > l {
  7740. return io.ErrUnexpectedEOF
  7741. }
  7742. v := &RequestQuery{}
  7743. if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  7744. return err
  7745. }
  7746. m.Value = &Request_Query{v}
  7747. iNdEx = postIndex
  7748. case 7:
  7749. if wireType != 2 {
  7750. return fmt.Errorf("proto: wrong wireType = %d for field CheckTx", wireType)
  7751. }
  7752. var msglen int
  7753. for shift := uint(0); ; shift += 7 {
  7754. if shift >= 64 {
  7755. return ErrIntOverflowTypes
  7756. }
  7757. if iNdEx >= l {
  7758. return io.ErrUnexpectedEOF
  7759. }
  7760. b := dAtA[iNdEx]
  7761. iNdEx++
  7762. msglen |= int(b&0x7F) << shift
  7763. if b < 0x80 {
  7764. break
  7765. }
  7766. }
  7767. if msglen < 0 {
  7768. return ErrInvalidLengthTypes
  7769. }
  7770. postIndex := iNdEx + msglen
  7771. if postIndex < 0 {
  7772. return ErrInvalidLengthTypes
  7773. }
  7774. if postIndex > l {
  7775. return io.ErrUnexpectedEOF
  7776. }
  7777. v := &RequestCheckTx{}
  7778. if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  7779. return err
  7780. }
  7781. m.Value = &Request_CheckTx{v}
  7782. iNdEx = postIndex
  7783. case 10:
  7784. if wireType != 2 {
  7785. return fmt.Errorf("proto: wrong wireType = %d for field Commit", wireType)
  7786. }
  7787. var msglen int
  7788. for shift := uint(0); ; shift += 7 {
  7789. if shift >= 64 {
  7790. return ErrIntOverflowTypes
  7791. }
  7792. if iNdEx >= l {
  7793. return io.ErrUnexpectedEOF
  7794. }
  7795. b := dAtA[iNdEx]
  7796. iNdEx++
  7797. msglen |= int(b&0x7F) << shift
  7798. if b < 0x80 {
  7799. break
  7800. }
  7801. }
  7802. if msglen < 0 {
  7803. return ErrInvalidLengthTypes
  7804. }
  7805. postIndex := iNdEx + msglen
  7806. if postIndex < 0 {
  7807. return ErrInvalidLengthTypes
  7808. }
  7809. if postIndex > l {
  7810. return io.ErrUnexpectedEOF
  7811. }
  7812. v := &RequestCommit{}
  7813. if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  7814. return err
  7815. }
  7816. m.Value = &Request_Commit{v}
  7817. iNdEx = postIndex
  7818. case 11:
  7819. if wireType != 2 {
  7820. return fmt.Errorf("proto: wrong wireType = %d for field ListSnapshots", wireType)
  7821. }
  7822. var msglen int
  7823. for shift := uint(0); ; shift += 7 {
  7824. if shift >= 64 {
  7825. return ErrIntOverflowTypes
  7826. }
  7827. if iNdEx >= l {
  7828. return io.ErrUnexpectedEOF
  7829. }
  7830. b := dAtA[iNdEx]
  7831. iNdEx++
  7832. msglen |= int(b&0x7F) << shift
  7833. if b < 0x80 {
  7834. break
  7835. }
  7836. }
  7837. if msglen < 0 {
  7838. return ErrInvalidLengthTypes
  7839. }
  7840. postIndex := iNdEx + msglen
  7841. if postIndex < 0 {
  7842. return ErrInvalidLengthTypes
  7843. }
  7844. if postIndex > l {
  7845. return io.ErrUnexpectedEOF
  7846. }
  7847. v := &RequestListSnapshots{}
  7848. if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  7849. return err
  7850. }
  7851. m.Value = &Request_ListSnapshots{v}
  7852. iNdEx = postIndex
  7853. case 12:
  7854. if wireType != 2 {
  7855. return fmt.Errorf("proto: wrong wireType = %d for field OfferSnapshot", wireType)
  7856. }
  7857. var msglen int
  7858. for shift := uint(0); ; shift += 7 {
  7859. if shift >= 64 {
  7860. return ErrIntOverflowTypes
  7861. }
  7862. if iNdEx >= l {
  7863. return io.ErrUnexpectedEOF
  7864. }
  7865. b := dAtA[iNdEx]
  7866. iNdEx++
  7867. msglen |= int(b&0x7F) << shift
  7868. if b < 0x80 {
  7869. break
  7870. }
  7871. }
  7872. if msglen < 0 {
  7873. return ErrInvalidLengthTypes
  7874. }
  7875. postIndex := iNdEx + msglen
  7876. if postIndex < 0 {
  7877. return ErrInvalidLengthTypes
  7878. }
  7879. if postIndex > l {
  7880. return io.ErrUnexpectedEOF
  7881. }
  7882. v := &RequestOfferSnapshot{}
  7883. if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  7884. return err
  7885. }
  7886. m.Value = &Request_OfferSnapshot{v}
  7887. iNdEx = postIndex
  7888. case 13:
  7889. if wireType != 2 {
  7890. return fmt.Errorf("proto: wrong wireType = %d for field LoadSnapshotChunk", wireType)
  7891. }
  7892. var msglen int
  7893. for shift := uint(0); ; shift += 7 {
  7894. if shift >= 64 {
  7895. return ErrIntOverflowTypes
  7896. }
  7897. if iNdEx >= l {
  7898. return io.ErrUnexpectedEOF
  7899. }
  7900. b := dAtA[iNdEx]
  7901. iNdEx++
  7902. msglen |= int(b&0x7F) << shift
  7903. if b < 0x80 {
  7904. break
  7905. }
  7906. }
  7907. if msglen < 0 {
  7908. return ErrInvalidLengthTypes
  7909. }
  7910. postIndex := iNdEx + msglen
  7911. if postIndex < 0 {
  7912. return ErrInvalidLengthTypes
  7913. }
  7914. if postIndex > l {
  7915. return io.ErrUnexpectedEOF
  7916. }
  7917. v := &RequestLoadSnapshotChunk{}
  7918. if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  7919. return err
  7920. }
  7921. m.Value = &Request_LoadSnapshotChunk{v}
  7922. iNdEx = postIndex
  7923. case 14:
  7924. if wireType != 2 {
  7925. return fmt.Errorf("proto: wrong wireType = %d for field ApplySnapshotChunk", wireType)
  7926. }
  7927. var msglen int
  7928. for shift := uint(0); ; shift += 7 {
  7929. if shift >= 64 {
  7930. return ErrIntOverflowTypes
  7931. }
  7932. if iNdEx >= l {
  7933. return io.ErrUnexpectedEOF
  7934. }
  7935. b := dAtA[iNdEx]
  7936. iNdEx++
  7937. msglen |= int(b&0x7F) << shift
  7938. if b < 0x80 {
  7939. break
  7940. }
  7941. }
  7942. if msglen < 0 {
  7943. return ErrInvalidLengthTypes
  7944. }
  7945. postIndex := iNdEx + msglen
  7946. if postIndex < 0 {
  7947. return ErrInvalidLengthTypes
  7948. }
  7949. if postIndex > l {
  7950. return io.ErrUnexpectedEOF
  7951. }
  7952. v := &RequestApplySnapshotChunk{}
  7953. if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  7954. return err
  7955. }
  7956. m.Value = &Request_ApplySnapshotChunk{v}
  7957. iNdEx = postIndex
  7958. case 15:
  7959. if wireType != 2 {
  7960. return fmt.Errorf("proto: wrong wireType = %d for field PrepareProposal", wireType)
  7961. }
  7962. var msglen int
  7963. for shift := uint(0); ; shift += 7 {
  7964. if shift >= 64 {
  7965. return ErrIntOverflowTypes
  7966. }
  7967. if iNdEx >= l {
  7968. return io.ErrUnexpectedEOF
  7969. }
  7970. b := dAtA[iNdEx]
  7971. iNdEx++
  7972. msglen |= int(b&0x7F) << shift
  7973. if b < 0x80 {
  7974. break
  7975. }
  7976. }
  7977. if msglen < 0 {
  7978. return ErrInvalidLengthTypes
  7979. }
  7980. postIndex := iNdEx + msglen
  7981. if postIndex < 0 {
  7982. return ErrInvalidLengthTypes
  7983. }
  7984. if postIndex > l {
  7985. return io.ErrUnexpectedEOF
  7986. }
  7987. v := &RequestPrepareProposal{}
  7988. if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  7989. return err
  7990. }
  7991. m.Value = &Request_PrepareProposal{v}
  7992. iNdEx = postIndex
  7993. case 16:
  7994. if wireType != 2 {
  7995. return fmt.Errorf("proto: wrong wireType = %d for field ProcessProposal", wireType)
  7996. }
  7997. var msglen int
  7998. for shift := uint(0); ; shift += 7 {
  7999. if shift >= 64 {
  8000. return ErrIntOverflowTypes
  8001. }
  8002. if iNdEx >= l {
  8003. return io.ErrUnexpectedEOF
  8004. }
  8005. b := dAtA[iNdEx]
  8006. iNdEx++
  8007. msglen |= int(b&0x7F) << shift
  8008. if b < 0x80 {
  8009. break
  8010. }
  8011. }
  8012. if msglen < 0 {
  8013. return ErrInvalidLengthTypes
  8014. }
  8015. postIndex := iNdEx + msglen
  8016. if postIndex < 0 {
  8017. return ErrInvalidLengthTypes
  8018. }
  8019. if postIndex > l {
  8020. return io.ErrUnexpectedEOF
  8021. }
  8022. v := &RequestProcessProposal{}
  8023. if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  8024. return err
  8025. }
  8026. m.Value = &Request_ProcessProposal{v}
  8027. iNdEx = postIndex
  8028. case 17:
  8029. if wireType != 2 {
  8030. return fmt.Errorf("proto: wrong wireType = %d for field ExtendVote", wireType)
  8031. }
  8032. var msglen int
  8033. for shift := uint(0); ; shift += 7 {
  8034. if shift >= 64 {
  8035. return ErrIntOverflowTypes
  8036. }
  8037. if iNdEx >= l {
  8038. return io.ErrUnexpectedEOF
  8039. }
  8040. b := dAtA[iNdEx]
  8041. iNdEx++
  8042. msglen |= int(b&0x7F) << shift
  8043. if b < 0x80 {
  8044. break
  8045. }
  8046. }
  8047. if msglen < 0 {
  8048. return ErrInvalidLengthTypes
  8049. }
  8050. postIndex := iNdEx + msglen
  8051. if postIndex < 0 {
  8052. return ErrInvalidLengthTypes
  8053. }
  8054. if postIndex > l {
  8055. return io.ErrUnexpectedEOF
  8056. }
  8057. v := &RequestExtendVote{}
  8058. if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  8059. return err
  8060. }
  8061. m.Value = &Request_ExtendVote{v}
  8062. iNdEx = postIndex
  8063. case 18:
  8064. if wireType != 2 {
  8065. return fmt.Errorf("proto: wrong wireType = %d for field VerifyVoteExtension", wireType)
  8066. }
  8067. var msglen int
  8068. for shift := uint(0); ; shift += 7 {
  8069. if shift >= 64 {
  8070. return ErrIntOverflowTypes
  8071. }
  8072. if iNdEx >= l {
  8073. return io.ErrUnexpectedEOF
  8074. }
  8075. b := dAtA[iNdEx]
  8076. iNdEx++
  8077. msglen |= int(b&0x7F) << shift
  8078. if b < 0x80 {
  8079. break
  8080. }
  8081. }
  8082. if msglen < 0 {
  8083. return ErrInvalidLengthTypes
  8084. }
  8085. postIndex := iNdEx + msglen
  8086. if postIndex < 0 {
  8087. return ErrInvalidLengthTypes
  8088. }
  8089. if postIndex > l {
  8090. return io.ErrUnexpectedEOF
  8091. }
  8092. v := &RequestVerifyVoteExtension{}
  8093. if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  8094. return err
  8095. }
  8096. m.Value = &Request_VerifyVoteExtension{v}
  8097. iNdEx = postIndex
  8098. case 19:
  8099. if wireType != 2 {
  8100. return fmt.Errorf("proto: wrong wireType = %d for field FinalizeBlock", wireType)
  8101. }
  8102. var msglen int
  8103. for shift := uint(0); ; shift += 7 {
  8104. if shift >= 64 {
  8105. return ErrIntOverflowTypes
  8106. }
  8107. if iNdEx >= l {
  8108. return io.ErrUnexpectedEOF
  8109. }
  8110. b := dAtA[iNdEx]
  8111. iNdEx++
  8112. msglen |= int(b&0x7F) << shift
  8113. if b < 0x80 {
  8114. break
  8115. }
  8116. }
  8117. if msglen < 0 {
  8118. return ErrInvalidLengthTypes
  8119. }
  8120. postIndex := iNdEx + msglen
  8121. if postIndex < 0 {
  8122. return ErrInvalidLengthTypes
  8123. }
  8124. if postIndex > l {
  8125. return io.ErrUnexpectedEOF
  8126. }
  8127. v := &RequestFinalizeBlock{}
  8128. if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  8129. return err
  8130. }
  8131. m.Value = &Request_FinalizeBlock{v}
  8132. iNdEx = postIndex
  8133. default:
  8134. iNdEx = preIndex
  8135. skippy, err := skipTypes(dAtA[iNdEx:])
  8136. if err != nil {
  8137. return err
  8138. }
  8139. if (skippy < 0) || (iNdEx+skippy) < 0 {
  8140. return ErrInvalidLengthTypes
  8141. }
  8142. if (iNdEx + skippy) > l {
  8143. return io.ErrUnexpectedEOF
  8144. }
  8145. iNdEx += skippy
  8146. }
  8147. }
  8148. if iNdEx > l {
  8149. return io.ErrUnexpectedEOF
  8150. }
  8151. return nil
  8152. }
  8153. func (m *RequestEcho) Unmarshal(dAtA []byte) error {
  8154. l := len(dAtA)
  8155. iNdEx := 0
  8156. for iNdEx < l {
  8157. preIndex := iNdEx
  8158. var wire uint64
  8159. for shift := uint(0); ; shift += 7 {
  8160. if shift >= 64 {
  8161. return ErrIntOverflowTypes
  8162. }
  8163. if iNdEx >= l {
  8164. return io.ErrUnexpectedEOF
  8165. }
  8166. b := dAtA[iNdEx]
  8167. iNdEx++
  8168. wire |= uint64(b&0x7F) << shift
  8169. if b < 0x80 {
  8170. break
  8171. }
  8172. }
  8173. fieldNum := int32(wire >> 3)
  8174. wireType := int(wire & 0x7)
  8175. if wireType == 4 {
  8176. return fmt.Errorf("proto: RequestEcho: wiretype end group for non-group")
  8177. }
  8178. if fieldNum <= 0 {
  8179. return fmt.Errorf("proto: RequestEcho: illegal tag %d (wire type %d)", fieldNum, wire)
  8180. }
  8181. switch fieldNum {
  8182. case 1:
  8183. if wireType != 2 {
  8184. return fmt.Errorf("proto: wrong wireType = %d for field Message", wireType)
  8185. }
  8186. var stringLen uint64
  8187. for shift := uint(0); ; shift += 7 {
  8188. if shift >= 64 {
  8189. return ErrIntOverflowTypes
  8190. }
  8191. if iNdEx >= l {
  8192. return io.ErrUnexpectedEOF
  8193. }
  8194. b := dAtA[iNdEx]
  8195. iNdEx++
  8196. stringLen |= uint64(b&0x7F) << shift
  8197. if b < 0x80 {
  8198. break
  8199. }
  8200. }
  8201. intStringLen := int(stringLen)
  8202. if intStringLen < 0 {
  8203. return ErrInvalidLengthTypes
  8204. }
  8205. postIndex := iNdEx + intStringLen
  8206. if postIndex < 0 {
  8207. return ErrInvalidLengthTypes
  8208. }
  8209. if postIndex > l {
  8210. return io.ErrUnexpectedEOF
  8211. }
  8212. m.Message = string(dAtA[iNdEx:postIndex])
  8213. iNdEx = postIndex
  8214. default:
  8215. iNdEx = preIndex
  8216. skippy, err := skipTypes(dAtA[iNdEx:])
  8217. if err != nil {
  8218. return err
  8219. }
  8220. if (skippy < 0) || (iNdEx+skippy) < 0 {
  8221. return ErrInvalidLengthTypes
  8222. }
  8223. if (iNdEx + skippy) > l {
  8224. return io.ErrUnexpectedEOF
  8225. }
  8226. iNdEx += skippy
  8227. }
  8228. }
  8229. if iNdEx > l {
  8230. return io.ErrUnexpectedEOF
  8231. }
  8232. return nil
  8233. }
  8234. func (m *RequestFlush) Unmarshal(dAtA []byte) error {
  8235. l := len(dAtA)
  8236. iNdEx := 0
  8237. for iNdEx < l {
  8238. preIndex := iNdEx
  8239. var wire uint64
  8240. for shift := uint(0); ; shift += 7 {
  8241. if shift >= 64 {
  8242. return ErrIntOverflowTypes
  8243. }
  8244. if iNdEx >= l {
  8245. return io.ErrUnexpectedEOF
  8246. }
  8247. b := dAtA[iNdEx]
  8248. iNdEx++
  8249. wire |= uint64(b&0x7F) << shift
  8250. if b < 0x80 {
  8251. break
  8252. }
  8253. }
  8254. fieldNum := int32(wire >> 3)
  8255. wireType := int(wire & 0x7)
  8256. if wireType == 4 {
  8257. return fmt.Errorf("proto: RequestFlush: wiretype end group for non-group")
  8258. }
  8259. if fieldNum <= 0 {
  8260. return fmt.Errorf("proto: RequestFlush: illegal tag %d (wire type %d)", fieldNum, wire)
  8261. }
  8262. switch fieldNum {
  8263. default:
  8264. iNdEx = preIndex
  8265. skippy, err := skipTypes(dAtA[iNdEx:])
  8266. if err != nil {
  8267. return err
  8268. }
  8269. if (skippy < 0) || (iNdEx+skippy) < 0 {
  8270. return ErrInvalidLengthTypes
  8271. }
  8272. if (iNdEx + skippy) > l {
  8273. return io.ErrUnexpectedEOF
  8274. }
  8275. iNdEx += skippy
  8276. }
  8277. }
  8278. if iNdEx > l {
  8279. return io.ErrUnexpectedEOF
  8280. }
  8281. return nil
  8282. }
  8283. func (m *RequestInfo) Unmarshal(dAtA []byte) error {
  8284. l := len(dAtA)
  8285. iNdEx := 0
  8286. for iNdEx < l {
  8287. preIndex := iNdEx
  8288. var wire uint64
  8289. for shift := uint(0); ; shift += 7 {
  8290. if shift >= 64 {
  8291. return ErrIntOverflowTypes
  8292. }
  8293. if iNdEx >= l {
  8294. return io.ErrUnexpectedEOF
  8295. }
  8296. b := dAtA[iNdEx]
  8297. iNdEx++
  8298. wire |= uint64(b&0x7F) << shift
  8299. if b < 0x80 {
  8300. break
  8301. }
  8302. }
  8303. fieldNum := int32(wire >> 3)
  8304. wireType := int(wire & 0x7)
  8305. if wireType == 4 {
  8306. return fmt.Errorf("proto: RequestInfo: wiretype end group for non-group")
  8307. }
  8308. if fieldNum <= 0 {
  8309. return fmt.Errorf("proto: RequestInfo: illegal tag %d (wire type %d)", fieldNum, wire)
  8310. }
  8311. switch fieldNum {
  8312. case 1:
  8313. if wireType != 2 {
  8314. return fmt.Errorf("proto: wrong wireType = %d for field Version", wireType)
  8315. }
  8316. var stringLen uint64
  8317. for shift := uint(0); ; shift += 7 {
  8318. if shift >= 64 {
  8319. return ErrIntOverflowTypes
  8320. }
  8321. if iNdEx >= l {
  8322. return io.ErrUnexpectedEOF
  8323. }
  8324. b := dAtA[iNdEx]
  8325. iNdEx++
  8326. stringLen |= uint64(b&0x7F) << shift
  8327. if b < 0x80 {
  8328. break
  8329. }
  8330. }
  8331. intStringLen := int(stringLen)
  8332. if intStringLen < 0 {
  8333. return ErrInvalidLengthTypes
  8334. }
  8335. postIndex := iNdEx + intStringLen
  8336. if postIndex < 0 {
  8337. return ErrInvalidLengthTypes
  8338. }
  8339. if postIndex > l {
  8340. return io.ErrUnexpectedEOF
  8341. }
  8342. m.Version = string(dAtA[iNdEx:postIndex])
  8343. iNdEx = postIndex
  8344. case 2:
  8345. if wireType != 0 {
  8346. return fmt.Errorf("proto: wrong wireType = %d for field BlockVersion", wireType)
  8347. }
  8348. m.BlockVersion = 0
  8349. for shift := uint(0); ; shift += 7 {
  8350. if shift >= 64 {
  8351. return ErrIntOverflowTypes
  8352. }
  8353. if iNdEx >= l {
  8354. return io.ErrUnexpectedEOF
  8355. }
  8356. b := dAtA[iNdEx]
  8357. iNdEx++
  8358. m.BlockVersion |= uint64(b&0x7F) << shift
  8359. if b < 0x80 {
  8360. break
  8361. }
  8362. }
  8363. case 3:
  8364. if wireType != 0 {
  8365. return fmt.Errorf("proto: wrong wireType = %d for field P2PVersion", wireType)
  8366. }
  8367. m.P2PVersion = 0
  8368. for shift := uint(0); ; shift += 7 {
  8369. if shift >= 64 {
  8370. return ErrIntOverflowTypes
  8371. }
  8372. if iNdEx >= l {
  8373. return io.ErrUnexpectedEOF
  8374. }
  8375. b := dAtA[iNdEx]
  8376. iNdEx++
  8377. m.P2PVersion |= uint64(b&0x7F) << shift
  8378. if b < 0x80 {
  8379. break
  8380. }
  8381. }
  8382. case 4:
  8383. if wireType != 2 {
  8384. return fmt.Errorf("proto: wrong wireType = %d for field AbciVersion", wireType)
  8385. }
  8386. var stringLen uint64
  8387. for shift := uint(0); ; shift += 7 {
  8388. if shift >= 64 {
  8389. return ErrIntOverflowTypes
  8390. }
  8391. if iNdEx >= l {
  8392. return io.ErrUnexpectedEOF
  8393. }
  8394. b := dAtA[iNdEx]
  8395. iNdEx++
  8396. stringLen |= uint64(b&0x7F) << shift
  8397. if b < 0x80 {
  8398. break
  8399. }
  8400. }
  8401. intStringLen := int(stringLen)
  8402. if intStringLen < 0 {
  8403. return ErrInvalidLengthTypes
  8404. }
  8405. postIndex := iNdEx + intStringLen
  8406. if postIndex < 0 {
  8407. return ErrInvalidLengthTypes
  8408. }
  8409. if postIndex > l {
  8410. return io.ErrUnexpectedEOF
  8411. }
  8412. m.AbciVersion = string(dAtA[iNdEx:postIndex])
  8413. iNdEx = postIndex
  8414. default:
  8415. iNdEx = preIndex
  8416. skippy, err := skipTypes(dAtA[iNdEx:])
  8417. if err != nil {
  8418. return err
  8419. }
  8420. if (skippy < 0) || (iNdEx+skippy) < 0 {
  8421. return ErrInvalidLengthTypes
  8422. }
  8423. if (iNdEx + skippy) > l {
  8424. return io.ErrUnexpectedEOF
  8425. }
  8426. iNdEx += skippy
  8427. }
  8428. }
  8429. if iNdEx > l {
  8430. return io.ErrUnexpectedEOF
  8431. }
  8432. return nil
  8433. }
  8434. func (m *RequestInitChain) Unmarshal(dAtA []byte) error {
  8435. l := len(dAtA)
  8436. iNdEx := 0
  8437. for iNdEx < l {
  8438. preIndex := iNdEx
  8439. var wire uint64
  8440. for shift := uint(0); ; shift += 7 {
  8441. if shift >= 64 {
  8442. return ErrIntOverflowTypes
  8443. }
  8444. if iNdEx >= l {
  8445. return io.ErrUnexpectedEOF
  8446. }
  8447. b := dAtA[iNdEx]
  8448. iNdEx++
  8449. wire |= uint64(b&0x7F) << shift
  8450. if b < 0x80 {
  8451. break
  8452. }
  8453. }
  8454. fieldNum := int32(wire >> 3)
  8455. wireType := int(wire & 0x7)
  8456. if wireType == 4 {
  8457. return fmt.Errorf("proto: RequestInitChain: wiretype end group for non-group")
  8458. }
  8459. if fieldNum <= 0 {
  8460. return fmt.Errorf("proto: RequestInitChain: illegal tag %d (wire type %d)", fieldNum, wire)
  8461. }
  8462. switch fieldNum {
  8463. case 1:
  8464. if wireType != 2 {
  8465. return fmt.Errorf("proto: wrong wireType = %d for field Time", wireType)
  8466. }
  8467. var msglen int
  8468. for shift := uint(0); ; shift += 7 {
  8469. if shift >= 64 {
  8470. return ErrIntOverflowTypes
  8471. }
  8472. if iNdEx >= l {
  8473. return io.ErrUnexpectedEOF
  8474. }
  8475. b := dAtA[iNdEx]
  8476. iNdEx++
  8477. msglen |= int(b&0x7F) << shift
  8478. if b < 0x80 {
  8479. break
  8480. }
  8481. }
  8482. if msglen < 0 {
  8483. return ErrInvalidLengthTypes
  8484. }
  8485. postIndex := iNdEx + msglen
  8486. if postIndex < 0 {
  8487. return ErrInvalidLengthTypes
  8488. }
  8489. if postIndex > l {
  8490. return io.ErrUnexpectedEOF
  8491. }
  8492. if err := github_com_gogo_protobuf_types.StdTimeUnmarshal(&m.Time, dAtA[iNdEx:postIndex]); err != nil {
  8493. return err
  8494. }
  8495. iNdEx = postIndex
  8496. case 2:
  8497. if wireType != 2 {
  8498. return fmt.Errorf("proto: wrong wireType = %d for field ChainId", wireType)
  8499. }
  8500. var stringLen uint64
  8501. for shift := uint(0); ; shift += 7 {
  8502. if shift >= 64 {
  8503. return ErrIntOverflowTypes
  8504. }
  8505. if iNdEx >= l {
  8506. return io.ErrUnexpectedEOF
  8507. }
  8508. b := dAtA[iNdEx]
  8509. iNdEx++
  8510. stringLen |= uint64(b&0x7F) << shift
  8511. if b < 0x80 {
  8512. break
  8513. }
  8514. }
  8515. intStringLen := int(stringLen)
  8516. if intStringLen < 0 {
  8517. return ErrInvalidLengthTypes
  8518. }
  8519. postIndex := iNdEx + intStringLen
  8520. if postIndex < 0 {
  8521. return ErrInvalidLengthTypes
  8522. }
  8523. if postIndex > l {
  8524. return io.ErrUnexpectedEOF
  8525. }
  8526. m.ChainId = string(dAtA[iNdEx:postIndex])
  8527. iNdEx = postIndex
  8528. case 3:
  8529. if wireType != 2 {
  8530. return fmt.Errorf("proto: wrong wireType = %d for field ConsensusParams", wireType)
  8531. }
  8532. var msglen int
  8533. for shift := uint(0); ; shift += 7 {
  8534. if shift >= 64 {
  8535. return ErrIntOverflowTypes
  8536. }
  8537. if iNdEx >= l {
  8538. return io.ErrUnexpectedEOF
  8539. }
  8540. b := dAtA[iNdEx]
  8541. iNdEx++
  8542. msglen |= int(b&0x7F) << shift
  8543. if b < 0x80 {
  8544. break
  8545. }
  8546. }
  8547. if msglen < 0 {
  8548. return ErrInvalidLengthTypes
  8549. }
  8550. postIndex := iNdEx + msglen
  8551. if postIndex < 0 {
  8552. return ErrInvalidLengthTypes
  8553. }
  8554. if postIndex > l {
  8555. return io.ErrUnexpectedEOF
  8556. }
  8557. if m.ConsensusParams == nil {
  8558. m.ConsensusParams = &types1.ConsensusParams{}
  8559. }
  8560. if err := m.ConsensusParams.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  8561. return err
  8562. }
  8563. iNdEx = postIndex
  8564. case 4:
  8565. if wireType != 2 {
  8566. return fmt.Errorf("proto: wrong wireType = %d for field Validators", wireType)
  8567. }
  8568. var msglen int
  8569. for shift := uint(0); ; shift += 7 {
  8570. if shift >= 64 {
  8571. return ErrIntOverflowTypes
  8572. }
  8573. if iNdEx >= l {
  8574. return io.ErrUnexpectedEOF
  8575. }
  8576. b := dAtA[iNdEx]
  8577. iNdEx++
  8578. msglen |= int(b&0x7F) << shift
  8579. if b < 0x80 {
  8580. break
  8581. }
  8582. }
  8583. if msglen < 0 {
  8584. return ErrInvalidLengthTypes
  8585. }
  8586. postIndex := iNdEx + msglen
  8587. if postIndex < 0 {
  8588. return ErrInvalidLengthTypes
  8589. }
  8590. if postIndex > l {
  8591. return io.ErrUnexpectedEOF
  8592. }
  8593. m.Validators = append(m.Validators, ValidatorUpdate{})
  8594. if err := m.Validators[len(m.Validators)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  8595. return err
  8596. }
  8597. iNdEx = postIndex
  8598. case 5:
  8599. if wireType != 2 {
  8600. return fmt.Errorf("proto: wrong wireType = %d for field AppStateBytes", wireType)
  8601. }
  8602. var byteLen int
  8603. for shift := uint(0); ; shift += 7 {
  8604. if shift >= 64 {
  8605. return ErrIntOverflowTypes
  8606. }
  8607. if iNdEx >= l {
  8608. return io.ErrUnexpectedEOF
  8609. }
  8610. b := dAtA[iNdEx]
  8611. iNdEx++
  8612. byteLen |= int(b&0x7F) << shift
  8613. if b < 0x80 {
  8614. break
  8615. }
  8616. }
  8617. if byteLen < 0 {
  8618. return ErrInvalidLengthTypes
  8619. }
  8620. postIndex := iNdEx + byteLen
  8621. if postIndex < 0 {
  8622. return ErrInvalidLengthTypes
  8623. }
  8624. if postIndex > l {
  8625. return io.ErrUnexpectedEOF
  8626. }
  8627. m.AppStateBytes = append(m.AppStateBytes[:0], dAtA[iNdEx:postIndex]...)
  8628. if m.AppStateBytes == nil {
  8629. m.AppStateBytes = []byte{}
  8630. }
  8631. iNdEx = postIndex
  8632. case 6:
  8633. if wireType != 0 {
  8634. return fmt.Errorf("proto: wrong wireType = %d for field InitialHeight", wireType)
  8635. }
  8636. m.InitialHeight = 0
  8637. for shift := uint(0); ; shift += 7 {
  8638. if shift >= 64 {
  8639. return ErrIntOverflowTypes
  8640. }
  8641. if iNdEx >= l {
  8642. return io.ErrUnexpectedEOF
  8643. }
  8644. b := dAtA[iNdEx]
  8645. iNdEx++
  8646. m.InitialHeight |= int64(b&0x7F) << shift
  8647. if b < 0x80 {
  8648. break
  8649. }
  8650. }
  8651. default:
  8652. iNdEx = preIndex
  8653. skippy, err := skipTypes(dAtA[iNdEx:])
  8654. if err != nil {
  8655. return err
  8656. }
  8657. if (skippy < 0) || (iNdEx+skippy) < 0 {
  8658. return ErrInvalidLengthTypes
  8659. }
  8660. if (iNdEx + skippy) > l {
  8661. return io.ErrUnexpectedEOF
  8662. }
  8663. iNdEx += skippy
  8664. }
  8665. }
  8666. if iNdEx > l {
  8667. return io.ErrUnexpectedEOF
  8668. }
  8669. return nil
  8670. }
  8671. func (m *RequestQuery) Unmarshal(dAtA []byte) error {
  8672. l := len(dAtA)
  8673. iNdEx := 0
  8674. for iNdEx < l {
  8675. preIndex := iNdEx
  8676. var wire uint64
  8677. for shift := uint(0); ; shift += 7 {
  8678. if shift >= 64 {
  8679. return ErrIntOverflowTypes
  8680. }
  8681. if iNdEx >= l {
  8682. return io.ErrUnexpectedEOF
  8683. }
  8684. b := dAtA[iNdEx]
  8685. iNdEx++
  8686. wire |= uint64(b&0x7F) << shift
  8687. if b < 0x80 {
  8688. break
  8689. }
  8690. }
  8691. fieldNum := int32(wire >> 3)
  8692. wireType := int(wire & 0x7)
  8693. if wireType == 4 {
  8694. return fmt.Errorf("proto: RequestQuery: wiretype end group for non-group")
  8695. }
  8696. if fieldNum <= 0 {
  8697. return fmt.Errorf("proto: RequestQuery: illegal tag %d (wire type %d)", fieldNum, wire)
  8698. }
  8699. switch fieldNum {
  8700. case 1:
  8701. if wireType != 2 {
  8702. return fmt.Errorf("proto: wrong wireType = %d for field Data", wireType)
  8703. }
  8704. var byteLen int
  8705. for shift := uint(0); ; shift += 7 {
  8706. if shift >= 64 {
  8707. return ErrIntOverflowTypes
  8708. }
  8709. if iNdEx >= l {
  8710. return io.ErrUnexpectedEOF
  8711. }
  8712. b := dAtA[iNdEx]
  8713. iNdEx++
  8714. byteLen |= int(b&0x7F) << shift
  8715. if b < 0x80 {
  8716. break
  8717. }
  8718. }
  8719. if byteLen < 0 {
  8720. return ErrInvalidLengthTypes
  8721. }
  8722. postIndex := iNdEx + byteLen
  8723. if postIndex < 0 {
  8724. return ErrInvalidLengthTypes
  8725. }
  8726. if postIndex > l {
  8727. return io.ErrUnexpectedEOF
  8728. }
  8729. m.Data = append(m.Data[:0], dAtA[iNdEx:postIndex]...)
  8730. if m.Data == nil {
  8731. m.Data = []byte{}
  8732. }
  8733. iNdEx = postIndex
  8734. case 2:
  8735. if wireType != 2 {
  8736. return fmt.Errorf("proto: wrong wireType = %d for field Path", wireType)
  8737. }
  8738. var stringLen uint64
  8739. for shift := uint(0); ; shift += 7 {
  8740. if shift >= 64 {
  8741. return ErrIntOverflowTypes
  8742. }
  8743. if iNdEx >= l {
  8744. return io.ErrUnexpectedEOF
  8745. }
  8746. b := dAtA[iNdEx]
  8747. iNdEx++
  8748. stringLen |= uint64(b&0x7F) << shift
  8749. if b < 0x80 {
  8750. break
  8751. }
  8752. }
  8753. intStringLen := int(stringLen)
  8754. if intStringLen < 0 {
  8755. return ErrInvalidLengthTypes
  8756. }
  8757. postIndex := iNdEx + intStringLen
  8758. if postIndex < 0 {
  8759. return ErrInvalidLengthTypes
  8760. }
  8761. if postIndex > l {
  8762. return io.ErrUnexpectedEOF
  8763. }
  8764. m.Path = string(dAtA[iNdEx:postIndex])
  8765. iNdEx = postIndex
  8766. case 3:
  8767. if wireType != 0 {
  8768. return fmt.Errorf("proto: wrong wireType = %d for field Height", wireType)
  8769. }
  8770. m.Height = 0
  8771. for shift := uint(0); ; shift += 7 {
  8772. if shift >= 64 {
  8773. return ErrIntOverflowTypes
  8774. }
  8775. if iNdEx >= l {
  8776. return io.ErrUnexpectedEOF
  8777. }
  8778. b := dAtA[iNdEx]
  8779. iNdEx++
  8780. m.Height |= int64(b&0x7F) << shift
  8781. if b < 0x80 {
  8782. break
  8783. }
  8784. }
  8785. case 4:
  8786. if wireType != 0 {
  8787. return fmt.Errorf("proto: wrong wireType = %d for field Prove", wireType)
  8788. }
  8789. var v int
  8790. for shift := uint(0); ; shift += 7 {
  8791. if shift >= 64 {
  8792. return ErrIntOverflowTypes
  8793. }
  8794. if iNdEx >= l {
  8795. return io.ErrUnexpectedEOF
  8796. }
  8797. b := dAtA[iNdEx]
  8798. iNdEx++
  8799. v |= int(b&0x7F) << shift
  8800. if b < 0x80 {
  8801. break
  8802. }
  8803. }
  8804. m.Prove = bool(v != 0)
  8805. default:
  8806. iNdEx = preIndex
  8807. skippy, err := skipTypes(dAtA[iNdEx:])
  8808. if err != nil {
  8809. return err
  8810. }
  8811. if (skippy < 0) || (iNdEx+skippy) < 0 {
  8812. return ErrInvalidLengthTypes
  8813. }
  8814. if (iNdEx + skippy) > l {
  8815. return io.ErrUnexpectedEOF
  8816. }
  8817. iNdEx += skippy
  8818. }
  8819. }
  8820. if iNdEx > l {
  8821. return io.ErrUnexpectedEOF
  8822. }
  8823. return nil
  8824. }
  8825. func (m *RequestCheckTx) Unmarshal(dAtA []byte) error {
  8826. l := len(dAtA)
  8827. iNdEx := 0
  8828. for iNdEx < l {
  8829. preIndex := iNdEx
  8830. var wire uint64
  8831. for shift := uint(0); ; shift += 7 {
  8832. if shift >= 64 {
  8833. return ErrIntOverflowTypes
  8834. }
  8835. if iNdEx >= l {
  8836. return io.ErrUnexpectedEOF
  8837. }
  8838. b := dAtA[iNdEx]
  8839. iNdEx++
  8840. wire |= uint64(b&0x7F) << shift
  8841. if b < 0x80 {
  8842. break
  8843. }
  8844. }
  8845. fieldNum := int32(wire >> 3)
  8846. wireType := int(wire & 0x7)
  8847. if wireType == 4 {
  8848. return fmt.Errorf("proto: RequestCheckTx: wiretype end group for non-group")
  8849. }
  8850. if fieldNum <= 0 {
  8851. return fmt.Errorf("proto: RequestCheckTx: illegal tag %d (wire type %d)", fieldNum, wire)
  8852. }
  8853. switch fieldNum {
  8854. case 1:
  8855. if wireType != 2 {
  8856. return fmt.Errorf("proto: wrong wireType = %d for field Tx", wireType)
  8857. }
  8858. var byteLen int
  8859. for shift := uint(0); ; shift += 7 {
  8860. if shift >= 64 {
  8861. return ErrIntOverflowTypes
  8862. }
  8863. if iNdEx >= l {
  8864. return io.ErrUnexpectedEOF
  8865. }
  8866. b := dAtA[iNdEx]
  8867. iNdEx++
  8868. byteLen |= int(b&0x7F) << shift
  8869. if b < 0x80 {
  8870. break
  8871. }
  8872. }
  8873. if byteLen < 0 {
  8874. return ErrInvalidLengthTypes
  8875. }
  8876. postIndex := iNdEx + byteLen
  8877. if postIndex < 0 {
  8878. return ErrInvalidLengthTypes
  8879. }
  8880. if postIndex > l {
  8881. return io.ErrUnexpectedEOF
  8882. }
  8883. m.Tx = append(m.Tx[:0], dAtA[iNdEx:postIndex]...)
  8884. if m.Tx == nil {
  8885. m.Tx = []byte{}
  8886. }
  8887. iNdEx = postIndex
  8888. case 2:
  8889. if wireType != 0 {
  8890. return fmt.Errorf("proto: wrong wireType = %d for field Type", wireType)
  8891. }
  8892. m.Type = 0
  8893. for shift := uint(0); ; shift += 7 {
  8894. if shift >= 64 {
  8895. return ErrIntOverflowTypes
  8896. }
  8897. if iNdEx >= l {
  8898. return io.ErrUnexpectedEOF
  8899. }
  8900. b := dAtA[iNdEx]
  8901. iNdEx++
  8902. m.Type |= CheckTxType(b&0x7F) << shift
  8903. if b < 0x80 {
  8904. break
  8905. }
  8906. }
  8907. default:
  8908. iNdEx = preIndex
  8909. skippy, err := skipTypes(dAtA[iNdEx:])
  8910. if err != nil {
  8911. return err
  8912. }
  8913. if (skippy < 0) || (iNdEx+skippy) < 0 {
  8914. return ErrInvalidLengthTypes
  8915. }
  8916. if (iNdEx + skippy) > l {
  8917. return io.ErrUnexpectedEOF
  8918. }
  8919. iNdEx += skippy
  8920. }
  8921. }
  8922. if iNdEx > l {
  8923. return io.ErrUnexpectedEOF
  8924. }
  8925. return nil
  8926. }
  8927. func (m *RequestCommit) Unmarshal(dAtA []byte) error {
  8928. l := len(dAtA)
  8929. iNdEx := 0
  8930. for iNdEx < l {
  8931. preIndex := iNdEx
  8932. var wire uint64
  8933. for shift := uint(0); ; shift += 7 {
  8934. if shift >= 64 {
  8935. return ErrIntOverflowTypes
  8936. }
  8937. if iNdEx >= l {
  8938. return io.ErrUnexpectedEOF
  8939. }
  8940. b := dAtA[iNdEx]
  8941. iNdEx++
  8942. wire |= uint64(b&0x7F) << shift
  8943. if b < 0x80 {
  8944. break
  8945. }
  8946. }
  8947. fieldNum := int32(wire >> 3)
  8948. wireType := int(wire & 0x7)
  8949. if wireType == 4 {
  8950. return fmt.Errorf("proto: RequestCommit: wiretype end group for non-group")
  8951. }
  8952. if fieldNum <= 0 {
  8953. return fmt.Errorf("proto: RequestCommit: illegal tag %d (wire type %d)", fieldNum, wire)
  8954. }
  8955. switch fieldNum {
  8956. default:
  8957. iNdEx = preIndex
  8958. skippy, err := skipTypes(dAtA[iNdEx:])
  8959. if err != nil {
  8960. return err
  8961. }
  8962. if (skippy < 0) || (iNdEx+skippy) < 0 {
  8963. return ErrInvalidLengthTypes
  8964. }
  8965. if (iNdEx + skippy) > l {
  8966. return io.ErrUnexpectedEOF
  8967. }
  8968. iNdEx += skippy
  8969. }
  8970. }
  8971. if iNdEx > l {
  8972. return io.ErrUnexpectedEOF
  8973. }
  8974. return nil
  8975. }
  8976. func (m *RequestListSnapshots) Unmarshal(dAtA []byte) error {
  8977. l := len(dAtA)
  8978. iNdEx := 0
  8979. for iNdEx < l {
  8980. preIndex := iNdEx
  8981. var wire uint64
  8982. for shift := uint(0); ; shift += 7 {
  8983. if shift >= 64 {
  8984. return ErrIntOverflowTypes
  8985. }
  8986. if iNdEx >= l {
  8987. return io.ErrUnexpectedEOF
  8988. }
  8989. b := dAtA[iNdEx]
  8990. iNdEx++
  8991. wire |= uint64(b&0x7F) << shift
  8992. if b < 0x80 {
  8993. break
  8994. }
  8995. }
  8996. fieldNum := int32(wire >> 3)
  8997. wireType := int(wire & 0x7)
  8998. if wireType == 4 {
  8999. return fmt.Errorf("proto: RequestListSnapshots: wiretype end group for non-group")
  9000. }
  9001. if fieldNum <= 0 {
  9002. return fmt.Errorf("proto: RequestListSnapshots: illegal tag %d (wire type %d)", fieldNum, wire)
  9003. }
  9004. switch fieldNum {
  9005. default:
  9006. iNdEx = preIndex
  9007. skippy, err := skipTypes(dAtA[iNdEx:])
  9008. if err != nil {
  9009. return err
  9010. }
  9011. if (skippy < 0) || (iNdEx+skippy) < 0 {
  9012. return ErrInvalidLengthTypes
  9013. }
  9014. if (iNdEx + skippy) > l {
  9015. return io.ErrUnexpectedEOF
  9016. }
  9017. iNdEx += skippy
  9018. }
  9019. }
  9020. if iNdEx > l {
  9021. return io.ErrUnexpectedEOF
  9022. }
  9023. return nil
  9024. }
  9025. func (m *RequestOfferSnapshot) Unmarshal(dAtA []byte) error {
  9026. l := len(dAtA)
  9027. iNdEx := 0
  9028. for iNdEx < l {
  9029. preIndex := iNdEx
  9030. var wire uint64
  9031. for shift := uint(0); ; shift += 7 {
  9032. if shift >= 64 {
  9033. return ErrIntOverflowTypes
  9034. }
  9035. if iNdEx >= l {
  9036. return io.ErrUnexpectedEOF
  9037. }
  9038. b := dAtA[iNdEx]
  9039. iNdEx++
  9040. wire |= uint64(b&0x7F) << shift
  9041. if b < 0x80 {
  9042. break
  9043. }
  9044. }
  9045. fieldNum := int32(wire >> 3)
  9046. wireType := int(wire & 0x7)
  9047. if wireType == 4 {
  9048. return fmt.Errorf("proto: RequestOfferSnapshot: wiretype end group for non-group")
  9049. }
  9050. if fieldNum <= 0 {
  9051. return fmt.Errorf("proto: RequestOfferSnapshot: illegal tag %d (wire type %d)", fieldNum, wire)
  9052. }
  9053. switch fieldNum {
  9054. case 1:
  9055. if wireType != 2 {
  9056. return fmt.Errorf("proto: wrong wireType = %d for field Snapshot", wireType)
  9057. }
  9058. var msglen int
  9059. for shift := uint(0); ; shift += 7 {
  9060. if shift >= 64 {
  9061. return ErrIntOverflowTypes
  9062. }
  9063. if iNdEx >= l {
  9064. return io.ErrUnexpectedEOF
  9065. }
  9066. b := dAtA[iNdEx]
  9067. iNdEx++
  9068. msglen |= int(b&0x7F) << shift
  9069. if b < 0x80 {
  9070. break
  9071. }
  9072. }
  9073. if msglen < 0 {
  9074. return ErrInvalidLengthTypes
  9075. }
  9076. postIndex := iNdEx + msglen
  9077. if postIndex < 0 {
  9078. return ErrInvalidLengthTypes
  9079. }
  9080. if postIndex > l {
  9081. return io.ErrUnexpectedEOF
  9082. }
  9083. if m.Snapshot == nil {
  9084. m.Snapshot = &Snapshot{}
  9085. }
  9086. if err := m.Snapshot.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  9087. return err
  9088. }
  9089. iNdEx = postIndex
  9090. case 2:
  9091. if wireType != 2 {
  9092. return fmt.Errorf("proto: wrong wireType = %d for field AppHash", wireType)
  9093. }
  9094. var byteLen int
  9095. for shift := uint(0); ; shift += 7 {
  9096. if shift >= 64 {
  9097. return ErrIntOverflowTypes
  9098. }
  9099. if iNdEx >= l {
  9100. return io.ErrUnexpectedEOF
  9101. }
  9102. b := dAtA[iNdEx]
  9103. iNdEx++
  9104. byteLen |= int(b&0x7F) << shift
  9105. if b < 0x80 {
  9106. break
  9107. }
  9108. }
  9109. if byteLen < 0 {
  9110. return ErrInvalidLengthTypes
  9111. }
  9112. postIndex := iNdEx + byteLen
  9113. if postIndex < 0 {
  9114. return ErrInvalidLengthTypes
  9115. }
  9116. if postIndex > l {
  9117. return io.ErrUnexpectedEOF
  9118. }
  9119. m.AppHash = append(m.AppHash[:0], dAtA[iNdEx:postIndex]...)
  9120. if m.AppHash == nil {
  9121. m.AppHash = []byte{}
  9122. }
  9123. iNdEx = postIndex
  9124. default:
  9125. iNdEx = preIndex
  9126. skippy, err := skipTypes(dAtA[iNdEx:])
  9127. if err != nil {
  9128. return err
  9129. }
  9130. if (skippy < 0) || (iNdEx+skippy) < 0 {
  9131. return ErrInvalidLengthTypes
  9132. }
  9133. if (iNdEx + skippy) > l {
  9134. return io.ErrUnexpectedEOF
  9135. }
  9136. iNdEx += skippy
  9137. }
  9138. }
  9139. if iNdEx > l {
  9140. return io.ErrUnexpectedEOF
  9141. }
  9142. return nil
  9143. }
  9144. func (m *RequestLoadSnapshotChunk) Unmarshal(dAtA []byte) error {
  9145. l := len(dAtA)
  9146. iNdEx := 0
  9147. for iNdEx < l {
  9148. preIndex := iNdEx
  9149. var wire uint64
  9150. for shift := uint(0); ; shift += 7 {
  9151. if shift >= 64 {
  9152. return ErrIntOverflowTypes
  9153. }
  9154. if iNdEx >= l {
  9155. return io.ErrUnexpectedEOF
  9156. }
  9157. b := dAtA[iNdEx]
  9158. iNdEx++
  9159. wire |= uint64(b&0x7F) << shift
  9160. if b < 0x80 {
  9161. break
  9162. }
  9163. }
  9164. fieldNum := int32(wire >> 3)
  9165. wireType := int(wire & 0x7)
  9166. if wireType == 4 {
  9167. return fmt.Errorf("proto: RequestLoadSnapshotChunk: wiretype end group for non-group")
  9168. }
  9169. if fieldNum <= 0 {
  9170. return fmt.Errorf("proto: RequestLoadSnapshotChunk: illegal tag %d (wire type %d)", fieldNum, wire)
  9171. }
  9172. switch fieldNum {
  9173. case 1:
  9174. if wireType != 0 {
  9175. return fmt.Errorf("proto: wrong wireType = %d for field Height", wireType)
  9176. }
  9177. m.Height = 0
  9178. for shift := uint(0); ; shift += 7 {
  9179. if shift >= 64 {
  9180. return ErrIntOverflowTypes
  9181. }
  9182. if iNdEx >= l {
  9183. return io.ErrUnexpectedEOF
  9184. }
  9185. b := dAtA[iNdEx]
  9186. iNdEx++
  9187. m.Height |= uint64(b&0x7F) << shift
  9188. if b < 0x80 {
  9189. break
  9190. }
  9191. }
  9192. case 2:
  9193. if wireType != 0 {
  9194. return fmt.Errorf("proto: wrong wireType = %d for field Format", wireType)
  9195. }
  9196. m.Format = 0
  9197. for shift := uint(0); ; shift += 7 {
  9198. if shift >= 64 {
  9199. return ErrIntOverflowTypes
  9200. }
  9201. if iNdEx >= l {
  9202. return io.ErrUnexpectedEOF
  9203. }
  9204. b := dAtA[iNdEx]
  9205. iNdEx++
  9206. m.Format |= uint32(b&0x7F) << shift
  9207. if b < 0x80 {
  9208. break
  9209. }
  9210. }
  9211. case 3:
  9212. if wireType != 0 {
  9213. return fmt.Errorf("proto: wrong wireType = %d for field Chunk", wireType)
  9214. }
  9215. m.Chunk = 0
  9216. for shift := uint(0); ; shift += 7 {
  9217. if shift >= 64 {
  9218. return ErrIntOverflowTypes
  9219. }
  9220. if iNdEx >= l {
  9221. return io.ErrUnexpectedEOF
  9222. }
  9223. b := dAtA[iNdEx]
  9224. iNdEx++
  9225. m.Chunk |= uint32(b&0x7F) << shift
  9226. if b < 0x80 {
  9227. break
  9228. }
  9229. }
  9230. default:
  9231. iNdEx = preIndex
  9232. skippy, err := skipTypes(dAtA[iNdEx:])
  9233. if err != nil {
  9234. return err
  9235. }
  9236. if (skippy < 0) || (iNdEx+skippy) < 0 {
  9237. return ErrInvalidLengthTypes
  9238. }
  9239. if (iNdEx + skippy) > l {
  9240. return io.ErrUnexpectedEOF
  9241. }
  9242. iNdEx += skippy
  9243. }
  9244. }
  9245. if iNdEx > l {
  9246. return io.ErrUnexpectedEOF
  9247. }
  9248. return nil
  9249. }
  9250. func (m *RequestApplySnapshotChunk) Unmarshal(dAtA []byte) error {
  9251. l := len(dAtA)
  9252. iNdEx := 0
  9253. for iNdEx < l {
  9254. preIndex := iNdEx
  9255. var wire uint64
  9256. for shift := uint(0); ; shift += 7 {
  9257. if shift >= 64 {
  9258. return ErrIntOverflowTypes
  9259. }
  9260. if iNdEx >= l {
  9261. return io.ErrUnexpectedEOF
  9262. }
  9263. b := dAtA[iNdEx]
  9264. iNdEx++
  9265. wire |= uint64(b&0x7F) << shift
  9266. if b < 0x80 {
  9267. break
  9268. }
  9269. }
  9270. fieldNum := int32(wire >> 3)
  9271. wireType := int(wire & 0x7)
  9272. if wireType == 4 {
  9273. return fmt.Errorf("proto: RequestApplySnapshotChunk: wiretype end group for non-group")
  9274. }
  9275. if fieldNum <= 0 {
  9276. return fmt.Errorf("proto: RequestApplySnapshotChunk: illegal tag %d (wire type %d)", fieldNum, wire)
  9277. }
  9278. switch fieldNum {
  9279. case 1:
  9280. if wireType != 0 {
  9281. return fmt.Errorf("proto: wrong wireType = %d for field Index", wireType)
  9282. }
  9283. m.Index = 0
  9284. for shift := uint(0); ; shift += 7 {
  9285. if shift >= 64 {
  9286. return ErrIntOverflowTypes
  9287. }
  9288. if iNdEx >= l {
  9289. return io.ErrUnexpectedEOF
  9290. }
  9291. b := dAtA[iNdEx]
  9292. iNdEx++
  9293. m.Index |= uint32(b&0x7F) << shift
  9294. if b < 0x80 {
  9295. break
  9296. }
  9297. }
  9298. case 2:
  9299. if wireType != 2 {
  9300. return fmt.Errorf("proto: wrong wireType = %d for field Chunk", wireType)
  9301. }
  9302. var byteLen int
  9303. for shift := uint(0); ; shift += 7 {
  9304. if shift >= 64 {
  9305. return ErrIntOverflowTypes
  9306. }
  9307. if iNdEx >= l {
  9308. return io.ErrUnexpectedEOF
  9309. }
  9310. b := dAtA[iNdEx]
  9311. iNdEx++
  9312. byteLen |= int(b&0x7F) << shift
  9313. if b < 0x80 {
  9314. break
  9315. }
  9316. }
  9317. if byteLen < 0 {
  9318. return ErrInvalidLengthTypes
  9319. }
  9320. postIndex := iNdEx + byteLen
  9321. if postIndex < 0 {
  9322. return ErrInvalidLengthTypes
  9323. }
  9324. if postIndex > l {
  9325. return io.ErrUnexpectedEOF
  9326. }
  9327. m.Chunk = append(m.Chunk[:0], dAtA[iNdEx:postIndex]...)
  9328. if m.Chunk == nil {
  9329. m.Chunk = []byte{}
  9330. }
  9331. iNdEx = postIndex
  9332. case 3:
  9333. if wireType != 2 {
  9334. return fmt.Errorf("proto: wrong wireType = %d for field Sender", wireType)
  9335. }
  9336. var stringLen uint64
  9337. for shift := uint(0); ; shift += 7 {
  9338. if shift >= 64 {
  9339. return ErrIntOverflowTypes
  9340. }
  9341. if iNdEx >= l {
  9342. return io.ErrUnexpectedEOF
  9343. }
  9344. b := dAtA[iNdEx]
  9345. iNdEx++
  9346. stringLen |= uint64(b&0x7F) << shift
  9347. if b < 0x80 {
  9348. break
  9349. }
  9350. }
  9351. intStringLen := int(stringLen)
  9352. if intStringLen < 0 {
  9353. return ErrInvalidLengthTypes
  9354. }
  9355. postIndex := iNdEx + intStringLen
  9356. if postIndex < 0 {
  9357. return ErrInvalidLengthTypes
  9358. }
  9359. if postIndex > l {
  9360. return io.ErrUnexpectedEOF
  9361. }
  9362. m.Sender = string(dAtA[iNdEx:postIndex])
  9363. iNdEx = postIndex
  9364. default:
  9365. iNdEx = preIndex
  9366. skippy, err := skipTypes(dAtA[iNdEx:])
  9367. if err != nil {
  9368. return err
  9369. }
  9370. if (skippy < 0) || (iNdEx+skippy) < 0 {
  9371. return ErrInvalidLengthTypes
  9372. }
  9373. if (iNdEx + skippy) > l {
  9374. return io.ErrUnexpectedEOF
  9375. }
  9376. iNdEx += skippy
  9377. }
  9378. }
  9379. if iNdEx > l {
  9380. return io.ErrUnexpectedEOF
  9381. }
  9382. return nil
  9383. }
  9384. func (m *RequestPrepareProposal) Unmarshal(dAtA []byte) error {
  9385. l := len(dAtA)
  9386. iNdEx := 0
  9387. for iNdEx < l {
  9388. preIndex := iNdEx
  9389. var wire uint64
  9390. for shift := uint(0); ; shift += 7 {
  9391. if shift >= 64 {
  9392. return ErrIntOverflowTypes
  9393. }
  9394. if iNdEx >= l {
  9395. return io.ErrUnexpectedEOF
  9396. }
  9397. b := dAtA[iNdEx]
  9398. iNdEx++
  9399. wire |= uint64(b&0x7F) << shift
  9400. if b < 0x80 {
  9401. break
  9402. }
  9403. }
  9404. fieldNum := int32(wire >> 3)
  9405. wireType := int(wire & 0x7)
  9406. if wireType == 4 {
  9407. return fmt.Errorf("proto: RequestPrepareProposal: wiretype end group for non-group")
  9408. }
  9409. if fieldNum <= 0 {
  9410. return fmt.Errorf("proto: RequestPrepareProposal: illegal tag %d (wire type %d)", fieldNum, wire)
  9411. }
  9412. switch fieldNum {
  9413. case 1:
  9414. if wireType != 2 {
  9415. return fmt.Errorf("proto: wrong wireType = %d for field BlockData", wireType)
  9416. }
  9417. var byteLen int
  9418. for shift := uint(0); ; shift += 7 {
  9419. if shift >= 64 {
  9420. return ErrIntOverflowTypes
  9421. }
  9422. if iNdEx >= l {
  9423. return io.ErrUnexpectedEOF
  9424. }
  9425. b := dAtA[iNdEx]
  9426. iNdEx++
  9427. byteLen |= int(b&0x7F) << shift
  9428. if b < 0x80 {
  9429. break
  9430. }
  9431. }
  9432. if byteLen < 0 {
  9433. return ErrInvalidLengthTypes
  9434. }
  9435. postIndex := iNdEx + byteLen
  9436. if postIndex < 0 {
  9437. return ErrInvalidLengthTypes
  9438. }
  9439. if postIndex > l {
  9440. return io.ErrUnexpectedEOF
  9441. }
  9442. m.BlockData = append(m.BlockData, make([]byte, postIndex-iNdEx))
  9443. copy(m.BlockData[len(m.BlockData)-1], dAtA[iNdEx:postIndex])
  9444. iNdEx = postIndex
  9445. case 2:
  9446. if wireType != 0 {
  9447. return fmt.Errorf("proto: wrong wireType = %d for field BlockDataSize", wireType)
  9448. }
  9449. m.BlockDataSize = 0
  9450. for shift := uint(0); ; shift += 7 {
  9451. if shift >= 64 {
  9452. return ErrIntOverflowTypes
  9453. }
  9454. if iNdEx >= l {
  9455. return io.ErrUnexpectedEOF
  9456. }
  9457. b := dAtA[iNdEx]
  9458. iNdEx++
  9459. m.BlockDataSize |= int64(b&0x7F) << shift
  9460. if b < 0x80 {
  9461. break
  9462. }
  9463. }
  9464. default:
  9465. iNdEx = preIndex
  9466. skippy, err := skipTypes(dAtA[iNdEx:])
  9467. if err != nil {
  9468. return err
  9469. }
  9470. if (skippy < 0) || (iNdEx+skippy) < 0 {
  9471. return ErrInvalidLengthTypes
  9472. }
  9473. if (iNdEx + skippy) > l {
  9474. return io.ErrUnexpectedEOF
  9475. }
  9476. iNdEx += skippy
  9477. }
  9478. }
  9479. if iNdEx > l {
  9480. return io.ErrUnexpectedEOF
  9481. }
  9482. return nil
  9483. }
  9484. func (m *RequestExtendVote) Unmarshal(dAtA []byte) error {
  9485. l := len(dAtA)
  9486. iNdEx := 0
  9487. for iNdEx < l {
  9488. preIndex := iNdEx
  9489. var wire uint64
  9490. for shift := uint(0); ; shift += 7 {
  9491. if shift >= 64 {
  9492. return ErrIntOverflowTypes
  9493. }
  9494. if iNdEx >= l {
  9495. return io.ErrUnexpectedEOF
  9496. }
  9497. b := dAtA[iNdEx]
  9498. iNdEx++
  9499. wire |= uint64(b&0x7F) << shift
  9500. if b < 0x80 {
  9501. break
  9502. }
  9503. }
  9504. fieldNum := int32(wire >> 3)
  9505. wireType := int(wire & 0x7)
  9506. if wireType == 4 {
  9507. return fmt.Errorf("proto: RequestExtendVote: wiretype end group for non-group")
  9508. }
  9509. if fieldNum <= 0 {
  9510. return fmt.Errorf("proto: RequestExtendVote: illegal tag %d (wire type %d)", fieldNum, wire)
  9511. }
  9512. switch fieldNum {
  9513. case 1:
  9514. if wireType != 2 {
  9515. return fmt.Errorf("proto: wrong wireType = %d for field Vote", wireType)
  9516. }
  9517. var msglen int
  9518. for shift := uint(0); ; shift += 7 {
  9519. if shift >= 64 {
  9520. return ErrIntOverflowTypes
  9521. }
  9522. if iNdEx >= l {
  9523. return io.ErrUnexpectedEOF
  9524. }
  9525. b := dAtA[iNdEx]
  9526. iNdEx++
  9527. msglen |= int(b&0x7F) << shift
  9528. if b < 0x80 {
  9529. break
  9530. }
  9531. }
  9532. if msglen < 0 {
  9533. return ErrInvalidLengthTypes
  9534. }
  9535. postIndex := iNdEx + msglen
  9536. if postIndex < 0 {
  9537. return ErrInvalidLengthTypes
  9538. }
  9539. if postIndex > l {
  9540. return io.ErrUnexpectedEOF
  9541. }
  9542. if m.Vote == nil {
  9543. m.Vote = &types1.Vote{}
  9544. }
  9545. if err := m.Vote.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  9546. return err
  9547. }
  9548. iNdEx = postIndex
  9549. default:
  9550. iNdEx = preIndex
  9551. skippy, err := skipTypes(dAtA[iNdEx:])
  9552. if err != nil {
  9553. return err
  9554. }
  9555. if (skippy < 0) || (iNdEx+skippy) < 0 {
  9556. return ErrInvalidLengthTypes
  9557. }
  9558. if (iNdEx + skippy) > l {
  9559. return io.ErrUnexpectedEOF
  9560. }
  9561. iNdEx += skippy
  9562. }
  9563. }
  9564. if iNdEx > l {
  9565. return io.ErrUnexpectedEOF
  9566. }
  9567. return nil
  9568. }
  9569. func (m *RequestVerifyVoteExtension) Unmarshal(dAtA []byte) error {
  9570. l := len(dAtA)
  9571. iNdEx := 0
  9572. for iNdEx < l {
  9573. preIndex := iNdEx
  9574. var wire uint64
  9575. for shift := uint(0); ; shift += 7 {
  9576. if shift >= 64 {
  9577. return ErrIntOverflowTypes
  9578. }
  9579. if iNdEx >= l {
  9580. return io.ErrUnexpectedEOF
  9581. }
  9582. b := dAtA[iNdEx]
  9583. iNdEx++
  9584. wire |= uint64(b&0x7F) << shift
  9585. if b < 0x80 {
  9586. break
  9587. }
  9588. }
  9589. fieldNum := int32(wire >> 3)
  9590. wireType := int(wire & 0x7)
  9591. if wireType == 4 {
  9592. return fmt.Errorf("proto: RequestVerifyVoteExtension: wiretype end group for non-group")
  9593. }
  9594. if fieldNum <= 0 {
  9595. return fmt.Errorf("proto: RequestVerifyVoteExtension: illegal tag %d (wire type %d)", fieldNum, wire)
  9596. }
  9597. switch fieldNum {
  9598. case 1:
  9599. if wireType != 2 {
  9600. return fmt.Errorf("proto: wrong wireType = %d for field Vote", wireType)
  9601. }
  9602. var msglen int
  9603. for shift := uint(0); ; shift += 7 {
  9604. if shift >= 64 {
  9605. return ErrIntOverflowTypes
  9606. }
  9607. if iNdEx >= l {
  9608. return io.ErrUnexpectedEOF
  9609. }
  9610. b := dAtA[iNdEx]
  9611. iNdEx++
  9612. msglen |= int(b&0x7F) << shift
  9613. if b < 0x80 {
  9614. break
  9615. }
  9616. }
  9617. if msglen < 0 {
  9618. return ErrInvalidLengthTypes
  9619. }
  9620. postIndex := iNdEx + msglen
  9621. if postIndex < 0 {
  9622. return ErrInvalidLengthTypes
  9623. }
  9624. if postIndex > l {
  9625. return io.ErrUnexpectedEOF
  9626. }
  9627. if m.Vote == nil {
  9628. m.Vote = &types1.Vote{}
  9629. }
  9630. if err := m.Vote.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  9631. return err
  9632. }
  9633. iNdEx = postIndex
  9634. default:
  9635. iNdEx = preIndex
  9636. skippy, err := skipTypes(dAtA[iNdEx:])
  9637. if err != nil {
  9638. return err
  9639. }
  9640. if (skippy < 0) || (iNdEx+skippy) < 0 {
  9641. return ErrInvalidLengthTypes
  9642. }
  9643. if (iNdEx + skippy) > l {
  9644. return io.ErrUnexpectedEOF
  9645. }
  9646. iNdEx += skippy
  9647. }
  9648. }
  9649. if iNdEx > l {
  9650. return io.ErrUnexpectedEOF
  9651. }
  9652. return nil
  9653. }
  9654. func (m *RequestProcessProposal) Unmarshal(dAtA []byte) error {
  9655. l := len(dAtA)
  9656. iNdEx := 0
  9657. for iNdEx < l {
  9658. preIndex := iNdEx
  9659. var wire uint64
  9660. for shift := uint(0); ; shift += 7 {
  9661. if shift >= 64 {
  9662. return ErrIntOverflowTypes
  9663. }
  9664. if iNdEx >= l {
  9665. return io.ErrUnexpectedEOF
  9666. }
  9667. b := dAtA[iNdEx]
  9668. iNdEx++
  9669. wire |= uint64(b&0x7F) << shift
  9670. if b < 0x80 {
  9671. break
  9672. }
  9673. }
  9674. fieldNum := int32(wire >> 3)
  9675. wireType := int(wire & 0x7)
  9676. if wireType == 4 {
  9677. return fmt.Errorf("proto: RequestProcessProposal: wiretype end group for non-group")
  9678. }
  9679. if fieldNum <= 0 {
  9680. return fmt.Errorf("proto: RequestProcessProposal: illegal tag %d (wire type %d)", fieldNum, wire)
  9681. }
  9682. switch fieldNum {
  9683. case 1:
  9684. if wireType != 2 {
  9685. return fmt.Errorf("proto: wrong wireType = %d for field Header", wireType)
  9686. }
  9687. var msglen int
  9688. for shift := uint(0); ; shift += 7 {
  9689. if shift >= 64 {
  9690. return ErrIntOverflowTypes
  9691. }
  9692. if iNdEx >= l {
  9693. return io.ErrUnexpectedEOF
  9694. }
  9695. b := dAtA[iNdEx]
  9696. iNdEx++
  9697. msglen |= int(b&0x7F) << shift
  9698. if b < 0x80 {
  9699. break
  9700. }
  9701. }
  9702. if msglen < 0 {
  9703. return ErrInvalidLengthTypes
  9704. }
  9705. postIndex := iNdEx + msglen
  9706. if postIndex < 0 {
  9707. return ErrInvalidLengthTypes
  9708. }
  9709. if postIndex > l {
  9710. return io.ErrUnexpectedEOF
  9711. }
  9712. if err := m.Header.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  9713. return err
  9714. }
  9715. iNdEx = postIndex
  9716. case 2:
  9717. if wireType != 2 {
  9718. return fmt.Errorf("proto: wrong wireType = %d for field Txs", wireType)
  9719. }
  9720. var byteLen int
  9721. for shift := uint(0); ; shift += 7 {
  9722. if shift >= 64 {
  9723. return ErrIntOverflowTypes
  9724. }
  9725. if iNdEx >= l {
  9726. return io.ErrUnexpectedEOF
  9727. }
  9728. b := dAtA[iNdEx]
  9729. iNdEx++
  9730. byteLen |= int(b&0x7F) << shift
  9731. if b < 0x80 {
  9732. break
  9733. }
  9734. }
  9735. if byteLen < 0 {
  9736. return ErrInvalidLengthTypes
  9737. }
  9738. postIndex := iNdEx + byteLen
  9739. if postIndex < 0 {
  9740. return ErrInvalidLengthTypes
  9741. }
  9742. if postIndex > l {
  9743. return io.ErrUnexpectedEOF
  9744. }
  9745. m.Txs = append(m.Txs, make([]byte, postIndex-iNdEx))
  9746. copy(m.Txs[len(m.Txs)-1], dAtA[iNdEx:postIndex])
  9747. iNdEx = postIndex
  9748. default:
  9749. iNdEx = preIndex
  9750. skippy, err := skipTypes(dAtA[iNdEx:])
  9751. if err != nil {
  9752. return err
  9753. }
  9754. if (skippy < 0) || (iNdEx+skippy) < 0 {
  9755. return ErrInvalidLengthTypes
  9756. }
  9757. if (iNdEx + skippy) > l {
  9758. return io.ErrUnexpectedEOF
  9759. }
  9760. iNdEx += skippy
  9761. }
  9762. }
  9763. if iNdEx > l {
  9764. return io.ErrUnexpectedEOF
  9765. }
  9766. return nil
  9767. }
  9768. func (m *RequestFinalizeBlock) Unmarshal(dAtA []byte) error {
  9769. l := len(dAtA)
  9770. iNdEx := 0
  9771. for iNdEx < l {
  9772. preIndex := iNdEx
  9773. var wire uint64
  9774. for shift := uint(0); ; shift += 7 {
  9775. if shift >= 64 {
  9776. return ErrIntOverflowTypes
  9777. }
  9778. if iNdEx >= l {
  9779. return io.ErrUnexpectedEOF
  9780. }
  9781. b := dAtA[iNdEx]
  9782. iNdEx++
  9783. wire |= uint64(b&0x7F) << shift
  9784. if b < 0x80 {
  9785. break
  9786. }
  9787. }
  9788. fieldNum := int32(wire >> 3)
  9789. wireType := int(wire & 0x7)
  9790. if wireType == 4 {
  9791. return fmt.Errorf("proto: RequestFinalizeBlock: wiretype end group for non-group")
  9792. }
  9793. if fieldNum <= 0 {
  9794. return fmt.Errorf("proto: RequestFinalizeBlock: illegal tag %d (wire type %d)", fieldNum, wire)
  9795. }
  9796. switch fieldNum {
  9797. case 1:
  9798. if wireType != 2 {
  9799. return fmt.Errorf("proto: wrong wireType = %d for field Txs", wireType)
  9800. }
  9801. var byteLen int
  9802. for shift := uint(0); ; shift += 7 {
  9803. if shift >= 64 {
  9804. return ErrIntOverflowTypes
  9805. }
  9806. if iNdEx >= l {
  9807. return io.ErrUnexpectedEOF
  9808. }
  9809. b := dAtA[iNdEx]
  9810. iNdEx++
  9811. byteLen |= int(b&0x7F) << shift
  9812. if b < 0x80 {
  9813. break
  9814. }
  9815. }
  9816. if byteLen < 0 {
  9817. return ErrInvalidLengthTypes
  9818. }
  9819. postIndex := iNdEx + byteLen
  9820. if postIndex < 0 {
  9821. return ErrInvalidLengthTypes
  9822. }
  9823. if postIndex > l {
  9824. return io.ErrUnexpectedEOF
  9825. }
  9826. m.Txs = append(m.Txs, make([]byte, postIndex-iNdEx))
  9827. copy(m.Txs[len(m.Txs)-1], dAtA[iNdEx:postIndex])
  9828. iNdEx = postIndex
  9829. case 2:
  9830. if wireType != 2 {
  9831. return fmt.Errorf("proto: wrong wireType = %d for field Hash", wireType)
  9832. }
  9833. var byteLen int
  9834. for shift := uint(0); ; shift += 7 {
  9835. if shift >= 64 {
  9836. return ErrIntOverflowTypes
  9837. }
  9838. if iNdEx >= l {
  9839. return io.ErrUnexpectedEOF
  9840. }
  9841. b := dAtA[iNdEx]
  9842. iNdEx++
  9843. byteLen |= int(b&0x7F) << shift
  9844. if b < 0x80 {
  9845. break
  9846. }
  9847. }
  9848. if byteLen < 0 {
  9849. return ErrInvalidLengthTypes
  9850. }
  9851. postIndex := iNdEx + byteLen
  9852. if postIndex < 0 {
  9853. return ErrInvalidLengthTypes
  9854. }
  9855. if postIndex > l {
  9856. return io.ErrUnexpectedEOF
  9857. }
  9858. m.Hash = append(m.Hash[:0], dAtA[iNdEx:postIndex]...)
  9859. if m.Hash == nil {
  9860. m.Hash = []byte{}
  9861. }
  9862. iNdEx = postIndex
  9863. case 3:
  9864. if wireType != 0 {
  9865. return fmt.Errorf("proto: wrong wireType = %d for field Height", wireType)
  9866. }
  9867. m.Height = 0
  9868. for shift := uint(0); ; shift += 7 {
  9869. if shift >= 64 {
  9870. return ErrIntOverflowTypes
  9871. }
  9872. if iNdEx >= l {
  9873. return io.ErrUnexpectedEOF
  9874. }
  9875. b := dAtA[iNdEx]
  9876. iNdEx++
  9877. m.Height |= int64(b&0x7F) << shift
  9878. if b < 0x80 {
  9879. break
  9880. }
  9881. }
  9882. case 4:
  9883. if wireType != 2 {
  9884. return fmt.Errorf("proto: wrong wireType = %d for field Header", wireType)
  9885. }
  9886. var msglen int
  9887. for shift := uint(0); ; shift += 7 {
  9888. if shift >= 64 {
  9889. return ErrIntOverflowTypes
  9890. }
  9891. if iNdEx >= l {
  9892. return io.ErrUnexpectedEOF
  9893. }
  9894. b := dAtA[iNdEx]
  9895. iNdEx++
  9896. msglen |= int(b&0x7F) << shift
  9897. if b < 0x80 {
  9898. break
  9899. }
  9900. }
  9901. if msglen < 0 {
  9902. return ErrInvalidLengthTypes
  9903. }
  9904. postIndex := iNdEx + msglen
  9905. if postIndex < 0 {
  9906. return ErrInvalidLengthTypes
  9907. }
  9908. if postIndex > l {
  9909. return io.ErrUnexpectedEOF
  9910. }
  9911. if err := m.Header.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  9912. return err
  9913. }
  9914. iNdEx = postIndex
  9915. case 5:
  9916. if wireType != 2 {
  9917. return fmt.Errorf("proto: wrong wireType = %d for field LastCommitInfo", wireType)
  9918. }
  9919. var msglen int
  9920. for shift := uint(0); ; shift += 7 {
  9921. if shift >= 64 {
  9922. return ErrIntOverflowTypes
  9923. }
  9924. if iNdEx >= l {
  9925. return io.ErrUnexpectedEOF
  9926. }
  9927. b := dAtA[iNdEx]
  9928. iNdEx++
  9929. msglen |= int(b&0x7F) << shift
  9930. if b < 0x80 {
  9931. break
  9932. }
  9933. }
  9934. if msglen < 0 {
  9935. return ErrInvalidLengthTypes
  9936. }
  9937. postIndex := iNdEx + msglen
  9938. if postIndex < 0 {
  9939. return ErrInvalidLengthTypes
  9940. }
  9941. if postIndex > l {
  9942. return io.ErrUnexpectedEOF
  9943. }
  9944. if err := m.LastCommitInfo.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  9945. return err
  9946. }
  9947. iNdEx = postIndex
  9948. case 6:
  9949. if wireType != 2 {
  9950. return fmt.Errorf("proto: wrong wireType = %d for field ByzantineValidators", wireType)
  9951. }
  9952. var msglen int
  9953. for shift := uint(0); ; shift += 7 {
  9954. if shift >= 64 {
  9955. return ErrIntOverflowTypes
  9956. }
  9957. if iNdEx >= l {
  9958. return io.ErrUnexpectedEOF
  9959. }
  9960. b := dAtA[iNdEx]
  9961. iNdEx++
  9962. msglen |= int(b&0x7F) << shift
  9963. if b < 0x80 {
  9964. break
  9965. }
  9966. }
  9967. if msglen < 0 {
  9968. return ErrInvalidLengthTypes
  9969. }
  9970. postIndex := iNdEx + msglen
  9971. if postIndex < 0 {
  9972. return ErrInvalidLengthTypes
  9973. }
  9974. if postIndex > l {
  9975. return io.ErrUnexpectedEOF
  9976. }
  9977. m.ByzantineValidators = append(m.ByzantineValidators, Evidence{})
  9978. if err := m.ByzantineValidators[len(m.ByzantineValidators)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  9979. return err
  9980. }
  9981. iNdEx = postIndex
  9982. default:
  9983. iNdEx = preIndex
  9984. skippy, err := skipTypes(dAtA[iNdEx:])
  9985. if err != nil {
  9986. return err
  9987. }
  9988. if (skippy < 0) || (iNdEx+skippy) < 0 {
  9989. return ErrInvalidLengthTypes
  9990. }
  9991. if (iNdEx + skippy) > l {
  9992. return io.ErrUnexpectedEOF
  9993. }
  9994. iNdEx += skippy
  9995. }
  9996. }
  9997. if iNdEx > l {
  9998. return io.ErrUnexpectedEOF
  9999. }
  10000. return nil
  10001. }
  10002. func (m *Response) Unmarshal(dAtA []byte) error {
  10003. l := len(dAtA)
  10004. iNdEx := 0
  10005. for iNdEx < l {
  10006. preIndex := iNdEx
  10007. var wire uint64
  10008. for shift := uint(0); ; shift += 7 {
  10009. if shift >= 64 {
  10010. return ErrIntOverflowTypes
  10011. }
  10012. if iNdEx >= l {
  10013. return io.ErrUnexpectedEOF
  10014. }
  10015. b := dAtA[iNdEx]
  10016. iNdEx++
  10017. wire |= uint64(b&0x7F) << shift
  10018. if b < 0x80 {
  10019. break
  10020. }
  10021. }
  10022. fieldNum := int32(wire >> 3)
  10023. wireType := int(wire & 0x7)
  10024. if wireType == 4 {
  10025. return fmt.Errorf("proto: Response: wiretype end group for non-group")
  10026. }
  10027. if fieldNum <= 0 {
  10028. return fmt.Errorf("proto: Response: illegal tag %d (wire type %d)", fieldNum, wire)
  10029. }
  10030. switch fieldNum {
  10031. case 1:
  10032. if wireType != 2 {
  10033. return fmt.Errorf("proto: wrong wireType = %d for field Exception", wireType)
  10034. }
  10035. var msglen int
  10036. for shift := uint(0); ; shift += 7 {
  10037. if shift >= 64 {
  10038. return ErrIntOverflowTypes
  10039. }
  10040. if iNdEx >= l {
  10041. return io.ErrUnexpectedEOF
  10042. }
  10043. b := dAtA[iNdEx]
  10044. iNdEx++
  10045. msglen |= int(b&0x7F) << shift
  10046. if b < 0x80 {
  10047. break
  10048. }
  10049. }
  10050. if msglen < 0 {
  10051. return ErrInvalidLengthTypes
  10052. }
  10053. postIndex := iNdEx + msglen
  10054. if postIndex < 0 {
  10055. return ErrInvalidLengthTypes
  10056. }
  10057. if postIndex > l {
  10058. return io.ErrUnexpectedEOF
  10059. }
  10060. v := &ResponseException{}
  10061. if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  10062. return err
  10063. }
  10064. m.Value = &Response_Exception{v}
  10065. iNdEx = postIndex
  10066. case 2:
  10067. if wireType != 2 {
  10068. return fmt.Errorf("proto: wrong wireType = %d for field Echo", wireType)
  10069. }
  10070. var msglen int
  10071. for shift := uint(0); ; shift += 7 {
  10072. if shift >= 64 {
  10073. return ErrIntOverflowTypes
  10074. }
  10075. if iNdEx >= l {
  10076. return io.ErrUnexpectedEOF
  10077. }
  10078. b := dAtA[iNdEx]
  10079. iNdEx++
  10080. msglen |= int(b&0x7F) << shift
  10081. if b < 0x80 {
  10082. break
  10083. }
  10084. }
  10085. if msglen < 0 {
  10086. return ErrInvalidLengthTypes
  10087. }
  10088. postIndex := iNdEx + msglen
  10089. if postIndex < 0 {
  10090. return ErrInvalidLengthTypes
  10091. }
  10092. if postIndex > l {
  10093. return io.ErrUnexpectedEOF
  10094. }
  10095. v := &ResponseEcho{}
  10096. if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  10097. return err
  10098. }
  10099. m.Value = &Response_Echo{v}
  10100. iNdEx = postIndex
  10101. case 3:
  10102. if wireType != 2 {
  10103. return fmt.Errorf("proto: wrong wireType = %d for field Flush", wireType)
  10104. }
  10105. var msglen int
  10106. for shift := uint(0); ; shift += 7 {
  10107. if shift >= 64 {
  10108. return ErrIntOverflowTypes
  10109. }
  10110. if iNdEx >= l {
  10111. return io.ErrUnexpectedEOF
  10112. }
  10113. b := dAtA[iNdEx]
  10114. iNdEx++
  10115. msglen |= int(b&0x7F) << shift
  10116. if b < 0x80 {
  10117. break
  10118. }
  10119. }
  10120. if msglen < 0 {
  10121. return ErrInvalidLengthTypes
  10122. }
  10123. postIndex := iNdEx + msglen
  10124. if postIndex < 0 {
  10125. return ErrInvalidLengthTypes
  10126. }
  10127. if postIndex > l {
  10128. return io.ErrUnexpectedEOF
  10129. }
  10130. v := &ResponseFlush{}
  10131. if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  10132. return err
  10133. }
  10134. m.Value = &Response_Flush{v}
  10135. iNdEx = postIndex
  10136. case 4:
  10137. if wireType != 2 {
  10138. return fmt.Errorf("proto: wrong wireType = %d for field Info", wireType)
  10139. }
  10140. var msglen int
  10141. for shift := uint(0); ; shift += 7 {
  10142. if shift >= 64 {
  10143. return ErrIntOverflowTypes
  10144. }
  10145. if iNdEx >= l {
  10146. return io.ErrUnexpectedEOF
  10147. }
  10148. b := dAtA[iNdEx]
  10149. iNdEx++
  10150. msglen |= int(b&0x7F) << shift
  10151. if b < 0x80 {
  10152. break
  10153. }
  10154. }
  10155. if msglen < 0 {
  10156. return ErrInvalidLengthTypes
  10157. }
  10158. postIndex := iNdEx + msglen
  10159. if postIndex < 0 {
  10160. return ErrInvalidLengthTypes
  10161. }
  10162. if postIndex > l {
  10163. return io.ErrUnexpectedEOF
  10164. }
  10165. v := &ResponseInfo{}
  10166. if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  10167. return err
  10168. }
  10169. m.Value = &Response_Info{v}
  10170. iNdEx = postIndex
  10171. case 5:
  10172. if wireType != 2 {
  10173. return fmt.Errorf("proto: wrong wireType = %d for field InitChain", wireType)
  10174. }
  10175. var msglen int
  10176. for shift := uint(0); ; shift += 7 {
  10177. if shift >= 64 {
  10178. return ErrIntOverflowTypes
  10179. }
  10180. if iNdEx >= l {
  10181. return io.ErrUnexpectedEOF
  10182. }
  10183. b := dAtA[iNdEx]
  10184. iNdEx++
  10185. msglen |= int(b&0x7F) << shift
  10186. if b < 0x80 {
  10187. break
  10188. }
  10189. }
  10190. if msglen < 0 {
  10191. return ErrInvalidLengthTypes
  10192. }
  10193. postIndex := iNdEx + msglen
  10194. if postIndex < 0 {
  10195. return ErrInvalidLengthTypes
  10196. }
  10197. if postIndex > l {
  10198. return io.ErrUnexpectedEOF
  10199. }
  10200. v := &ResponseInitChain{}
  10201. if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  10202. return err
  10203. }
  10204. m.Value = &Response_InitChain{v}
  10205. iNdEx = postIndex
  10206. case 6:
  10207. if wireType != 2 {
  10208. return fmt.Errorf("proto: wrong wireType = %d for field Query", wireType)
  10209. }
  10210. var msglen int
  10211. for shift := uint(0); ; shift += 7 {
  10212. if shift >= 64 {
  10213. return ErrIntOverflowTypes
  10214. }
  10215. if iNdEx >= l {
  10216. return io.ErrUnexpectedEOF
  10217. }
  10218. b := dAtA[iNdEx]
  10219. iNdEx++
  10220. msglen |= int(b&0x7F) << shift
  10221. if b < 0x80 {
  10222. break
  10223. }
  10224. }
  10225. if msglen < 0 {
  10226. return ErrInvalidLengthTypes
  10227. }
  10228. postIndex := iNdEx + msglen
  10229. if postIndex < 0 {
  10230. return ErrInvalidLengthTypes
  10231. }
  10232. if postIndex > l {
  10233. return io.ErrUnexpectedEOF
  10234. }
  10235. v := &ResponseQuery{}
  10236. if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  10237. return err
  10238. }
  10239. m.Value = &Response_Query{v}
  10240. iNdEx = postIndex
  10241. case 8:
  10242. if wireType != 2 {
  10243. return fmt.Errorf("proto: wrong wireType = %d for field CheckTx", wireType)
  10244. }
  10245. var msglen int
  10246. for shift := uint(0); ; shift += 7 {
  10247. if shift >= 64 {
  10248. return ErrIntOverflowTypes
  10249. }
  10250. if iNdEx >= l {
  10251. return io.ErrUnexpectedEOF
  10252. }
  10253. b := dAtA[iNdEx]
  10254. iNdEx++
  10255. msglen |= int(b&0x7F) << shift
  10256. if b < 0x80 {
  10257. break
  10258. }
  10259. }
  10260. if msglen < 0 {
  10261. return ErrInvalidLengthTypes
  10262. }
  10263. postIndex := iNdEx + msglen
  10264. if postIndex < 0 {
  10265. return ErrInvalidLengthTypes
  10266. }
  10267. if postIndex > l {
  10268. return io.ErrUnexpectedEOF
  10269. }
  10270. v := &ResponseCheckTx{}
  10271. if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  10272. return err
  10273. }
  10274. m.Value = &Response_CheckTx{v}
  10275. iNdEx = postIndex
  10276. case 11:
  10277. if wireType != 2 {
  10278. return fmt.Errorf("proto: wrong wireType = %d for field Commit", wireType)
  10279. }
  10280. var msglen int
  10281. for shift := uint(0); ; shift += 7 {
  10282. if shift >= 64 {
  10283. return ErrIntOverflowTypes
  10284. }
  10285. if iNdEx >= l {
  10286. return io.ErrUnexpectedEOF
  10287. }
  10288. b := dAtA[iNdEx]
  10289. iNdEx++
  10290. msglen |= int(b&0x7F) << shift
  10291. if b < 0x80 {
  10292. break
  10293. }
  10294. }
  10295. if msglen < 0 {
  10296. return ErrInvalidLengthTypes
  10297. }
  10298. postIndex := iNdEx + msglen
  10299. if postIndex < 0 {
  10300. return ErrInvalidLengthTypes
  10301. }
  10302. if postIndex > l {
  10303. return io.ErrUnexpectedEOF
  10304. }
  10305. v := &ResponseCommit{}
  10306. if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  10307. return err
  10308. }
  10309. m.Value = &Response_Commit{v}
  10310. iNdEx = postIndex
  10311. case 12:
  10312. if wireType != 2 {
  10313. return fmt.Errorf("proto: wrong wireType = %d for field ListSnapshots", wireType)
  10314. }
  10315. var msglen int
  10316. for shift := uint(0); ; shift += 7 {
  10317. if shift >= 64 {
  10318. return ErrIntOverflowTypes
  10319. }
  10320. if iNdEx >= l {
  10321. return io.ErrUnexpectedEOF
  10322. }
  10323. b := dAtA[iNdEx]
  10324. iNdEx++
  10325. msglen |= int(b&0x7F) << shift
  10326. if b < 0x80 {
  10327. break
  10328. }
  10329. }
  10330. if msglen < 0 {
  10331. return ErrInvalidLengthTypes
  10332. }
  10333. postIndex := iNdEx + msglen
  10334. if postIndex < 0 {
  10335. return ErrInvalidLengthTypes
  10336. }
  10337. if postIndex > l {
  10338. return io.ErrUnexpectedEOF
  10339. }
  10340. v := &ResponseListSnapshots{}
  10341. if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  10342. return err
  10343. }
  10344. m.Value = &Response_ListSnapshots{v}
  10345. iNdEx = postIndex
  10346. case 13:
  10347. if wireType != 2 {
  10348. return fmt.Errorf("proto: wrong wireType = %d for field OfferSnapshot", wireType)
  10349. }
  10350. var msglen int
  10351. for shift := uint(0); ; shift += 7 {
  10352. if shift >= 64 {
  10353. return ErrIntOverflowTypes
  10354. }
  10355. if iNdEx >= l {
  10356. return io.ErrUnexpectedEOF
  10357. }
  10358. b := dAtA[iNdEx]
  10359. iNdEx++
  10360. msglen |= int(b&0x7F) << shift
  10361. if b < 0x80 {
  10362. break
  10363. }
  10364. }
  10365. if msglen < 0 {
  10366. return ErrInvalidLengthTypes
  10367. }
  10368. postIndex := iNdEx + msglen
  10369. if postIndex < 0 {
  10370. return ErrInvalidLengthTypes
  10371. }
  10372. if postIndex > l {
  10373. return io.ErrUnexpectedEOF
  10374. }
  10375. v := &ResponseOfferSnapshot{}
  10376. if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  10377. return err
  10378. }
  10379. m.Value = &Response_OfferSnapshot{v}
  10380. iNdEx = postIndex
  10381. case 14:
  10382. if wireType != 2 {
  10383. return fmt.Errorf("proto: wrong wireType = %d for field LoadSnapshotChunk", wireType)
  10384. }
  10385. var msglen int
  10386. for shift := uint(0); ; shift += 7 {
  10387. if shift >= 64 {
  10388. return ErrIntOverflowTypes
  10389. }
  10390. if iNdEx >= l {
  10391. return io.ErrUnexpectedEOF
  10392. }
  10393. b := dAtA[iNdEx]
  10394. iNdEx++
  10395. msglen |= int(b&0x7F) << shift
  10396. if b < 0x80 {
  10397. break
  10398. }
  10399. }
  10400. if msglen < 0 {
  10401. return ErrInvalidLengthTypes
  10402. }
  10403. postIndex := iNdEx + msglen
  10404. if postIndex < 0 {
  10405. return ErrInvalidLengthTypes
  10406. }
  10407. if postIndex > l {
  10408. return io.ErrUnexpectedEOF
  10409. }
  10410. v := &ResponseLoadSnapshotChunk{}
  10411. if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  10412. return err
  10413. }
  10414. m.Value = &Response_LoadSnapshotChunk{v}
  10415. iNdEx = postIndex
  10416. case 15:
  10417. if wireType != 2 {
  10418. return fmt.Errorf("proto: wrong wireType = %d for field ApplySnapshotChunk", wireType)
  10419. }
  10420. var msglen int
  10421. for shift := uint(0); ; shift += 7 {
  10422. if shift >= 64 {
  10423. return ErrIntOverflowTypes
  10424. }
  10425. if iNdEx >= l {
  10426. return io.ErrUnexpectedEOF
  10427. }
  10428. b := dAtA[iNdEx]
  10429. iNdEx++
  10430. msglen |= int(b&0x7F) << shift
  10431. if b < 0x80 {
  10432. break
  10433. }
  10434. }
  10435. if msglen < 0 {
  10436. return ErrInvalidLengthTypes
  10437. }
  10438. postIndex := iNdEx + msglen
  10439. if postIndex < 0 {
  10440. return ErrInvalidLengthTypes
  10441. }
  10442. if postIndex > l {
  10443. return io.ErrUnexpectedEOF
  10444. }
  10445. v := &ResponseApplySnapshotChunk{}
  10446. if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  10447. return err
  10448. }
  10449. m.Value = &Response_ApplySnapshotChunk{v}
  10450. iNdEx = postIndex
  10451. case 16:
  10452. if wireType != 2 {
  10453. return fmt.Errorf("proto: wrong wireType = %d for field PrepareProposal", wireType)
  10454. }
  10455. var msglen int
  10456. for shift := uint(0); ; shift += 7 {
  10457. if shift >= 64 {
  10458. return ErrIntOverflowTypes
  10459. }
  10460. if iNdEx >= l {
  10461. return io.ErrUnexpectedEOF
  10462. }
  10463. b := dAtA[iNdEx]
  10464. iNdEx++
  10465. msglen |= int(b&0x7F) << shift
  10466. if b < 0x80 {
  10467. break
  10468. }
  10469. }
  10470. if msglen < 0 {
  10471. return ErrInvalidLengthTypes
  10472. }
  10473. postIndex := iNdEx + msglen
  10474. if postIndex < 0 {
  10475. return ErrInvalidLengthTypes
  10476. }
  10477. if postIndex > l {
  10478. return io.ErrUnexpectedEOF
  10479. }
  10480. v := &ResponsePrepareProposal{}
  10481. if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  10482. return err
  10483. }
  10484. m.Value = &Response_PrepareProposal{v}
  10485. iNdEx = postIndex
  10486. case 17:
  10487. if wireType != 2 {
  10488. return fmt.Errorf("proto: wrong wireType = %d for field ProcessProposal", wireType)
  10489. }
  10490. var msglen int
  10491. for shift := uint(0); ; shift += 7 {
  10492. if shift >= 64 {
  10493. return ErrIntOverflowTypes
  10494. }
  10495. if iNdEx >= l {
  10496. return io.ErrUnexpectedEOF
  10497. }
  10498. b := dAtA[iNdEx]
  10499. iNdEx++
  10500. msglen |= int(b&0x7F) << shift
  10501. if b < 0x80 {
  10502. break
  10503. }
  10504. }
  10505. if msglen < 0 {
  10506. return ErrInvalidLengthTypes
  10507. }
  10508. postIndex := iNdEx + msglen
  10509. if postIndex < 0 {
  10510. return ErrInvalidLengthTypes
  10511. }
  10512. if postIndex > l {
  10513. return io.ErrUnexpectedEOF
  10514. }
  10515. v := &ResponseProcessProposal{}
  10516. if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  10517. return err
  10518. }
  10519. m.Value = &Response_ProcessProposal{v}
  10520. iNdEx = postIndex
  10521. case 18:
  10522. if wireType != 2 {
  10523. return fmt.Errorf("proto: wrong wireType = %d for field ExtendVote", wireType)
  10524. }
  10525. var msglen int
  10526. for shift := uint(0); ; shift += 7 {
  10527. if shift >= 64 {
  10528. return ErrIntOverflowTypes
  10529. }
  10530. if iNdEx >= l {
  10531. return io.ErrUnexpectedEOF
  10532. }
  10533. b := dAtA[iNdEx]
  10534. iNdEx++
  10535. msglen |= int(b&0x7F) << shift
  10536. if b < 0x80 {
  10537. break
  10538. }
  10539. }
  10540. if msglen < 0 {
  10541. return ErrInvalidLengthTypes
  10542. }
  10543. postIndex := iNdEx + msglen
  10544. if postIndex < 0 {
  10545. return ErrInvalidLengthTypes
  10546. }
  10547. if postIndex > l {
  10548. return io.ErrUnexpectedEOF
  10549. }
  10550. v := &ResponseExtendVote{}
  10551. if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  10552. return err
  10553. }
  10554. m.Value = &Response_ExtendVote{v}
  10555. iNdEx = postIndex
  10556. case 19:
  10557. if wireType != 2 {
  10558. return fmt.Errorf("proto: wrong wireType = %d for field VerifyVoteExtension", wireType)
  10559. }
  10560. var msglen int
  10561. for shift := uint(0); ; shift += 7 {
  10562. if shift >= 64 {
  10563. return ErrIntOverflowTypes
  10564. }
  10565. if iNdEx >= l {
  10566. return io.ErrUnexpectedEOF
  10567. }
  10568. b := dAtA[iNdEx]
  10569. iNdEx++
  10570. msglen |= int(b&0x7F) << shift
  10571. if b < 0x80 {
  10572. break
  10573. }
  10574. }
  10575. if msglen < 0 {
  10576. return ErrInvalidLengthTypes
  10577. }
  10578. postIndex := iNdEx + msglen
  10579. if postIndex < 0 {
  10580. return ErrInvalidLengthTypes
  10581. }
  10582. if postIndex > l {
  10583. return io.ErrUnexpectedEOF
  10584. }
  10585. v := &ResponseVerifyVoteExtension{}
  10586. if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  10587. return err
  10588. }
  10589. m.Value = &Response_VerifyVoteExtension{v}
  10590. iNdEx = postIndex
  10591. case 20:
  10592. if wireType != 2 {
  10593. return fmt.Errorf("proto: wrong wireType = %d for field FinalizeBlock", wireType)
  10594. }
  10595. var msglen int
  10596. for shift := uint(0); ; shift += 7 {
  10597. if shift >= 64 {
  10598. return ErrIntOverflowTypes
  10599. }
  10600. if iNdEx >= l {
  10601. return io.ErrUnexpectedEOF
  10602. }
  10603. b := dAtA[iNdEx]
  10604. iNdEx++
  10605. msglen |= int(b&0x7F) << shift
  10606. if b < 0x80 {
  10607. break
  10608. }
  10609. }
  10610. if msglen < 0 {
  10611. return ErrInvalidLengthTypes
  10612. }
  10613. postIndex := iNdEx + msglen
  10614. if postIndex < 0 {
  10615. return ErrInvalidLengthTypes
  10616. }
  10617. if postIndex > l {
  10618. return io.ErrUnexpectedEOF
  10619. }
  10620. v := &ResponseFinalizeBlock{}
  10621. if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  10622. return err
  10623. }
  10624. m.Value = &Response_FinalizeBlock{v}
  10625. iNdEx = postIndex
  10626. default:
  10627. iNdEx = preIndex
  10628. skippy, err := skipTypes(dAtA[iNdEx:])
  10629. if err != nil {
  10630. return err
  10631. }
  10632. if (skippy < 0) || (iNdEx+skippy) < 0 {
  10633. return ErrInvalidLengthTypes
  10634. }
  10635. if (iNdEx + skippy) > l {
  10636. return io.ErrUnexpectedEOF
  10637. }
  10638. iNdEx += skippy
  10639. }
  10640. }
  10641. if iNdEx > l {
  10642. return io.ErrUnexpectedEOF
  10643. }
  10644. return nil
  10645. }
  10646. func (m *ResponseException) Unmarshal(dAtA []byte) error {
  10647. l := len(dAtA)
  10648. iNdEx := 0
  10649. for iNdEx < l {
  10650. preIndex := iNdEx
  10651. var wire uint64
  10652. for shift := uint(0); ; shift += 7 {
  10653. if shift >= 64 {
  10654. return ErrIntOverflowTypes
  10655. }
  10656. if iNdEx >= l {
  10657. return io.ErrUnexpectedEOF
  10658. }
  10659. b := dAtA[iNdEx]
  10660. iNdEx++
  10661. wire |= uint64(b&0x7F) << shift
  10662. if b < 0x80 {
  10663. break
  10664. }
  10665. }
  10666. fieldNum := int32(wire >> 3)
  10667. wireType := int(wire & 0x7)
  10668. if wireType == 4 {
  10669. return fmt.Errorf("proto: ResponseException: wiretype end group for non-group")
  10670. }
  10671. if fieldNum <= 0 {
  10672. return fmt.Errorf("proto: ResponseException: illegal tag %d (wire type %d)", fieldNum, wire)
  10673. }
  10674. switch fieldNum {
  10675. case 1:
  10676. if wireType != 2 {
  10677. return fmt.Errorf("proto: wrong wireType = %d for field Error", wireType)
  10678. }
  10679. var stringLen uint64
  10680. for shift := uint(0); ; shift += 7 {
  10681. if shift >= 64 {
  10682. return ErrIntOverflowTypes
  10683. }
  10684. if iNdEx >= l {
  10685. return io.ErrUnexpectedEOF
  10686. }
  10687. b := dAtA[iNdEx]
  10688. iNdEx++
  10689. stringLen |= uint64(b&0x7F) << shift
  10690. if b < 0x80 {
  10691. break
  10692. }
  10693. }
  10694. intStringLen := int(stringLen)
  10695. if intStringLen < 0 {
  10696. return ErrInvalidLengthTypes
  10697. }
  10698. postIndex := iNdEx + intStringLen
  10699. if postIndex < 0 {
  10700. return ErrInvalidLengthTypes
  10701. }
  10702. if postIndex > l {
  10703. return io.ErrUnexpectedEOF
  10704. }
  10705. m.Error = string(dAtA[iNdEx:postIndex])
  10706. iNdEx = postIndex
  10707. default:
  10708. iNdEx = preIndex
  10709. skippy, err := skipTypes(dAtA[iNdEx:])
  10710. if err != nil {
  10711. return err
  10712. }
  10713. if (skippy < 0) || (iNdEx+skippy) < 0 {
  10714. return ErrInvalidLengthTypes
  10715. }
  10716. if (iNdEx + skippy) > l {
  10717. return io.ErrUnexpectedEOF
  10718. }
  10719. iNdEx += skippy
  10720. }
  10721. }
  10722. if iNdEx > l {
  10723. return io.ErrUnexpectedEOF
  10724. }
  10725. return nil
  10726. }
  10727. func (m *ResponseEcho) Unmarshal(dAtA []byte) error {
  10728. l := len(dAtA)
  10729. iNdEx := 0
  10730. for iNdEx < l {
  10731. preIndex := iNdEx
  10732. var wire uint64
  10733. for shift := uint(0); ; shift += 7 {
  10734. if shift >= 64 {
  10735. return ErrIntOverflowTypes
  10736. }
  10737. if iNdEx >= l {
  10738. return io.ErrUnexpectedEOF
  10739. }
  10740. b := dAtA[iNdEx]
  10741. iNdEx++
  10742. wire |= uint64(b&0x7F) << shift
  10743. if b < 0x80 {
  10744. break
  10745. }
  10746. }
  10747. fieldNum := int32(wire >> 3)
  10748. wireType := int(wire & 0x7)
  10749. if wireType == 4 {
  10750. return fmt.Errorf("proto: ResponseEcho: wiretype end group for non-group")
  10751. }
  10752. if fieldNum <= 0 {
  10753. return fmt.Errorf("proto: ResponseEcho: illegal tag %d (wire type %d)", fieldNum, wire)
  10754. }
  10755. switch fieldNum {
  10756. case 1:
  10757. if wireType != 2 {
  10758. return fmt.Errorf("proto: wrong wireType = %d for field Message", wireType)
  10759. }
  10760. var stringLen uint64
  10761. for shift := uint(0); ; shift += 7 {
  10762. if shift >= 64 {
  10763. return ErrIntOverflowTypes
  10764. }
  10765. if iNdEx >= l {
  10766. return io.ErrUnexpectedEOF
  10767. }
  10768. b := dAtA[iNdEx]
  10769. iNdEx++
  10770. stringLen |= uint64(b&0x7F) << shift
  10771. if b < 0x80 {
  10772. break
  10773. }
  10774. }
  10775. intStringLen := int(stringLen)
  10776. if intStringLen < 0 {
  10777. return ErrInvalidLengthTypes
  10778. }
  10779. postIndex := iNdEx + intStringLen
  10780. if postIndex < 0 {
  10781. return ErrInvalidLengthTypes
  10782. }
  10783. if postIndex > l {
  10784. return io.ErrUnexpectedEOF
  10785. }
  10786. m.Message = string(dAtA[iNdEx:postIndex])
  10787. iNdEx = postIndex
  10788. default:
  10789. iNdEx = preIndex
  10790. skippy, err := skipTypes(dAtA[iNdEx:])
  10791. if err != nil {
  10792. return err
  10793. }
  10794. if (skippy < 0) || (iNdEx+skippy) < 0 {
  10795. return ErrInvalidLengthTypes
  10796. }
  10797. if (iNdEx + skippy) > l {
  10798. return io.ErrUnexpectedEOF
  10799. }
  10800. iNdEx += skippy
  10801. }
  10802. }
  10803. if iNdEx > l {
  10804. return io.ErrUnexpectedEOF
  10805. }
  10806. return nil
  10807. }
  10808. func (m *ResponseFlush) Unmarshal(dAtA []byte) error {
  10809. l := len(dAtA)
  10810. iNdEx := 0
  10811. for iNdEx < l {
  10812. preIndex := iNdEx
  10813. var wire uint64
  10814. for shift := uint(0); ; shift += 7 {
  10815. if shift >= 64 {
  10816. return ErrIntOverflowTypes
  10817. }
  10818. if iNdEx >= l {
  10819. return io.ErrUnexpectedEOF
  10820. }
  10821. b := dAtA[iNdEx]
  10822. iNdEx++
  10823. wire |= uint64(b&0x7F) << shift
  10824. if b < 0x80 {
  10825. break
  10826. }
  10827. }
  10828. fieldNum := int32(wire >> 3)
  10829. wireType := int(wire & 0x7)
  10830. if wireType == 4 {
  10831. return fmt.Errorf("proto: ResponseFlush: wiretype end group for non-group")
  10832. }
  10833. if fieldNum <= 0 {
  10834. return fmt.Errorf("proto: ResponseFlush: illegal tag %d (wire type %d)", fieldNum, wire)
  10835. }
  10836. switch fieldNum {
  10837. default:
  10838. iNdEx = preIndex
  10839. skippy, err := skipTypes(dAtA[iNdEx:])
  10840. if err != nil {
  10841. return err
  10842. }
  10843. if (skippy < 0) || (iNdEx+skippy) < 0 {
  10844. return ErrInvalidLengthTypes
  10845. }
  10846. if (iNdEx + skippy) > l {
  10847. return io.ErrUnexpectedEOF
  10848. }
  10849. iNdEx += skippy
  10850. }
  10851. }
  10852. if iNdEx > l {
  10853. return io.ErrUnexpectedEOF
  10854. }
  10855. return nil
  10856. }
  10857. func (m *ResponseInfo) Unmarshal(dAtA []byte) error {
  10858. l := len(dAtA)
  10859. iNdEx := 0
  10860. for iNdEx < l {
  10861. preIndex := iNdEx
  10862. var wire uint64
  10863. for shift := uint(0); ; shift += 7 {
  10864. if shift >= 64 {
  10865. return ErrIntOverflowTypes
  10866. }
  10867. if iNdEx >= l {
  10868. return io.ErrUnexpectedEOF
  10869. }
  10870. b := dAtA[iNdEx]
  10871. iNdEx++
  10872. wire |= uint64(b&0x7F) << shift
  10873. if b < 0x80 {
  10874. break
  10875. }
  10876. }
  10877. fieldNum := int32(wire >> 3)
  10878. wireType := int(wire & 0x7)
  10879. if wireType == 4 {
  10880. return fmt.Errorf("proto: ResponseInfo: wiretype end group for non-group")
  10881. }
  10882. if fieldNum <= 0 {
  10883. return fmt.Errorf("proto: ResponseInfo: illegal tag %d (wire type %d)", fieldNum, wire)
  10884. }
  10885. switch fieldNum {
  10886. case 1:
  10887. if wireType != 2 {
  10888. return fmt.Errorf("proto: wrong wireType = %d for field Data", wireType)
  10889. }
  10890. var stringLen uint64
  10891. for shift := uint(0); ; shift += 7 {
  10892. if shift >= 64 {
  10893. return ErrIntOverflowTypes
  10894. }
  10895. if iNdEx >= l {
  10896. return io.ErrUnexpectedEOF
  10897. }
  10898. b := dAtA[iNdEx]
  10899. iNdEx++
  10900. stringLen |= uint64(b&0x7F) << shift
  10901. if b < 0x80 {
  10902. break
  10903. }
  10904. }
  10905. intStringLen := int(stringLen)
  10906. if intStringLen < 0 {
  10907. return ErrInvalidLengthTypes
  10908. }
  10909. postIndex := iNdEx + intStringLen
  10910. if postIndex < 0 {
  10911. return ErrInvalidLengthTypes
  10912. }
  10913. if postIndex > l {
  10914. return io.ErrUnexpectedEOF
  10915. }
  10916. m.Data = string(dAtA[iNdEx:postIndex])
  10917. iNdEx = postIndex
  10918. case 2:
  10919. if wireType != 2 {
  10920. return fmt.Errorf("proto: wrong wireType = %d for field Version", wireType)
  10921. }
  10922. var stringLen uint64
  10923. for shift := uint(0); ; shift += 7 {
  10924. if shift >= 64 {
  10925. return ErrIntOverflowTypes
  10926. }
  10927. if iNdEx >= l {
  10928. return io.ErrUnexpectedEOF
  10929. }
  10930. b := dAtA[iNdEx]
  10931. iNdEx++
  10932. stringLen |= uint64(b&0x7F) << shift
  10933. if b < 0x80 {
  10934. break
  10935. }
  10936. }
  10937. intStringLen := int(stringLen)
  10938. if intStringLen < 0 {
  10939. return ErrInvalidLengthTypes
  10940. }
  10941. postIndex := iNdEx + intStringLen
  10942. if postIndex < 0 {
  10943. return ErrInvalidLengthTypes
  10944. }
  10945. if postIndex > l {
  10946. return io.ErrUnexpectedEOF
  10947. }
  10948. m.Version = string(dAtA[iNdEx:postIndex])
  10949. iNdEx = postIndex
  10950. case 3:
  10951. if wireType != 0 {
  10952. return fmt.Errorf("proto: wrong wireType = %d for field AppVersion", wireType)
  10953. }
  10954. m.AppVersion = 0
  10955. for shift := uint(0); ; shift += 7 {
  10956. if shift >= 64 {
  10957. return ErrIntOverflowTypes
  10958. }
  10959. if iNdEx >= l {
  10960. return io.ErrUnexpectedEOF
  10961. }
  10962. b := dAtA[iNdEx]
  10963. iNdEx++
  10964. m.AppVersion |= uint64(b&0x7F) << shift
  10965. if b < 0x80 {
  10966. break
  10967. }
  10968. }
  10969. case 4:
  10970. if wireType != 0 {
  10971. return fmt.Errorf("proto: wrong wireType = %d for field LastBlockHeight", wireType)
  10972. }
  10973. m.LastBlockHeight = 0
  10974. for shift := uint(0); ; shift += 7 {
  10975. if shift >= 64 {
  10976. return ErrIntOverflowTypes
  10977. }
  10978. if iNdEx >= l {
  10979. return io.ErrUnexpectedEOF
  10980. }
  10981. b := dAtA[iNdEx]
  10982. iNdEx++
  10983. m.LastBlockHeight |= int64(b&0x7F) << shift
  10984. if b < 0x80 {
  10985. break
  10986. }
  10987. }
  10988. case 5:
  10989. if wireType != 2 {
  10990. return fmt.Errorf("proto: wrong wireType = %d for field LastBlockAppHash", wireType)
  10991. }
  10992. var byteLen int
  10993. for shift := uint(0); ; shift += 7 {
  10994. if shift >= 64 {
  10995. return ErrIntOverflowTypes
  10996. }
  10997. if iNdEx >= l {
  10998. return io.ErrUnexpectedEOF
  10999. }
  11000. b := dAtA[iNdEx]
  11001. iNdEx++
  11002. byteLen |= int(b&0x7F) << shift
  11003. if b < 0x80 {
  11004. break
  11005. }
  11006. }
  11007. if byteLen < 0 {
  11008. return ErrInvalidLengthTypes
  11009. }
  11010. postIndex := iNdEx + byteLen
  11011. if postIndex < 0 {
  11012. return ErrInvalidLengthTypes
  11013. }
  11014. if postIndex > l {
  11015. return io.ErrUnexpectedEOF
  11016. }
  11017. m.LastBlockAppHash = append(m.LastBlockAppHash[:0], dAtA[iNdEx:postIndex]...)
  11018. if m.LastBlockAppHash == nil {
  11019. m.LastBlockAppHash = []byte{}
  11020. }
  11021. iNdEx = postIndex
  11022. default:
  11023. iNdEx = preIndex
  11024. skippy, err := skipTypes(dAtA[iNdEx:])
  11025. if err != nil {
  11026. return err
  11027. }
  11028. if (skippy < 0) || (iNdEx+skippy) < 0 {
  11029. return ErrInvalidLengthTypes
  11030. }
  11031. if (iNdEx + skippy) > l {
  11032. return io.ErrUnexpectedEOF
  11033. }
  11034. iNdEx += skippy
  11035. }
  11036. }
  11037. if iNdEx > l {
  11038. return io.ErrUnexpectedEOF
  11039. }
  11040. return nil
  11041. }
  11042. func (m *ResponseInitChain) Unmarshal(dAtA []byte) error {
  11043. l := len(dAtA)
  11044. iNdEx := 0
  11045. for iNdEx < l {
  11046. preIndex := iNdEx
  11047. var wire uint64
  11048. for shift := uint(0); ; shift += 7 {
  11049. if shift >= 64 {
  11050. return ErrIntOverflowTypes
  11051. }
  11052. if iNdEx >= l {
  11053. return io.ErrUnexpectedEOF
  11054. }
  11055. b := dAtA[iNdEx]
  11056. iNdEx++
  11057. wire |= uint64(b&0x7F) << shift
  11058. if b < 0x80 {
  11059. break
  11060. }
  11061. }
  11062. fieldNum := int32(wire >> 3)
  11063. wireType := int(wire & 0x7)
  11064. if wireType == 4 {
  11065. return fmt.Errorf("proto: ResponseInitChain: wiretype end group for non-group")
  11066. }
  11067. if fieldNum <= 0 {
  11068. return fmt.Errorf("proto: ResponseInitChain: illegal tag %d (wire type %d)", fieldNum, wire)
  11069. }
  11070. switch fieldNum {
  11071. case 1:
  11072. if wireType != 2 {
  11073. return fmt.Errorf("proto: wrong wireType = %d for field ConsensusParams", wireType)
  11074. }
  11075. var msglen int
  11076. for shift := uint(0); ; shift += 7 {
  11077. if shift >= 64 {
  11078. return ErrIntOverflowTypes
  11079. }
  11080. if iNdEx >= l {
  11081. return io.ErrUnexpectedEOF
  11082. }
  11083. b := dAtA[iNdEx]
  11084. iNdEx++
  11085. msglen |= int(b&0x7F) << shift
  11086. if b < 0x80 {
  11087. break
  11088. }
  11089. }
  11090. if msglen < 0 {
  11091. return ErrInvalidLengthTypes
  11092. }
  11093. postIndex := iNdEx + msglen
  11094. if postIndex < 0 {
  11095. return ErrInvalidLengthTypes
  11096. }
  11097. if postIndex > l {
  11098. return io.ErrUnexpectedEOF
  11099. }
  11100. if m.ConsensusParams == nil {
  11101. m.ConsensusParams = &types1.ConsensusParams{}
  11102. }
  11103. if err := m.ConsensusParams.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  11104. return err
  11105. }
  11106. iNdEx = postIndex
  11107. case 2:
  11108. if wireType != 2 {
  11109. return fmt.Errorf("proto: wrong wireType = %d for field Validators", wireType)
  11110. }
  11111. var msglen int
  11112. for shift := uint(0); ; shift += 7 {
  11113. if shift >= 64 {
  11114. return ErrIntOverflowTypes
  11115. }
  11116. if iNdEx >= l {
  11117. return io.ErrUnexpectedEOF
  11118. }
  11119. b := dAtA[iNdEx]
  11120. iNdEx++
  11121. msglen |= int(b&0x7F) << shift
  11122. if b < 0x80 {
  11123. break
  11124. }
  11125. }
  11126. if msglen < 0 {
  11127. return ErrInvalidLengthTypes
  11128. }
  11129. postIndex := iNdEx + msglen
  11130. if postIndex < 0 {
  11131. return ErrInvalidLengthTypes
  11132. }
  11133. if postIndex > l {
  11134. return io.ErrUnexpectedEOF
  11135. }
  11136. m.Validators = append(m.Validators, ValidatorUpdate{})
  11137. if err := m.Validators[len(m.Validators)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  11138. return err
  11139. }
  11140. iNdEx = postIndex
  11141. case 3:
  11142. if wireType != 2 {
  11143. return fmt.Errorf("proto: wrong wireType = %d for field AppHash", wireType)
  11144. }
  11145. var byteLen int
  11146. for shift := uint(0); ; shift += 7 {
  11147. if shift >= 64 {
  11148. return ErrIntOverflowTypes
  11149. }
  11150. if iNdEx >= l {
  11151. return io.ErrUnexpectedEOF
  11152. }
  11153. b := dAtA[iNdEx]
  11154. iNdEx++
  11155. byteLen |= int(b&0x7F) << shift
  11156. if b < 0x80 {
  11157. break
  11158. }
  11159. }
  11160. if byteLen < 0 {
  11161. return ErrInvalidLengthTypes
  11162. }
  11163. postIndex := iNdEx + byteLen
  11164. if postIndex < 0 {
  11165. return ErrInvalidLengthTypes
  11166. }
  11167. if postIndex > l {
  11168. return io.ErrUnexpectedEOF
  11169. }
  11170. m.AppHash = append(m.AppHash[:0], dAtA[iNdEx:postIndex]...)
  11171. if m.AppHash == nil {
  11172. m.AppHash = []byte{}
  11173. }
  11174. iNdEx = postIndex
  11175. default:
  11176. iNdEx = preIndex
  11177. skippy, err := skipTypes(dAtA[iNdEx:])
  11178. if err != nil {
  11179. return err
  11180. }
  11181. if (skippy < 0) || (iNdEx+skippy) < 0 {
  11182. return ErrInvalidLengthTypes
  11183. }
  11184. if (iNdEx + skippy) > l {
  11185. return io.ErrUnexpectedEOF
  11186. }
  11187. iNdEx += skippy
  11188. }
  11189. }
  11190. if iNdEx > l {
  11191. return io.ErrUnexpectedEOF
  11192. }
  11193. return nil
  11194. }
  11195. func (m *ResponseQuery) Unmarshal(dAtA []byte) error {
  11196. l := len(dAtA)
  11197. iNdEx := 0
  11198. for iNdEx < l {
  11199. preIndex := iNdEx
  11200. var wire uint64
  11201. for shift := uint(0); ; shift += 7 {
  11202. if shift >= 64 {
  11203. return ErrIntOverflowTypes
  11204. }
  11205. if iNdEx >= l {
  11206. return io.ErrUnexpectedEOF
  11207. }
  11208. b := dAtA[iNdEx]
  11209. iNdEx++
  11210. wire |= uint64(b&0x7F) << shift
  11211. if b < 0x80 {
  11212. break
  11213. }
  11214. }
  11215. fieldNum := int32(wire >> 3)
  11216. wireType := int(wire & 0x7)
  11217. if wireType == 4 {
  11218. return fmt.Errorf("proto: ResponseQuery: wiretype end group for non-group")
  11219. }
  11220. if fieldNum <= 0 {
  11221. return fmt.Errorf("proto: ResponseQuery: illegal tag %d (wire type %d)", fieldNum, wire)
  11222. }
  11223. switch fieldNum {
  11224. case 1:
  11225. if wireType != 0 {
  11226. return fmt.Errorf("proto: wrong wireType = %d for field Code", wireType)
  11227. }
  11228. m.Code = 0
  11229. for shift := uint(0); ; shift += 7 {
  11230. if shift >= 64 {
  11231. return ErrIntOverflowTypes
  11232. }
  11233. if iNdEx >= l {
  11234. return io.ErrUnexpectedEOF
  11235. }
  11236. b := dAtA[iNdEx]
  11237. iNdEx++
  11238. m.Code |= uint32(b&0x7F) << shift
  11239. if b < 0x80 {
  11240. break
  11241. }
  11242. }
  11243. case 3:
  11244. if wireType != 2 {
  11245. return fmt.Errorf("proto: wrong wireType = %d for field Log", wireType)
  11246. }
  11247. var stringLen uint64
  11248. for shift := uint(0); ; shift += 7 {
  11249. if shift >= 64 {
  11250. return ErrIntOverflowTypes
  11251. }
  11252. if iNdEx >= l {
  11253. return io.ErrUnexpectedEOF
  11254. }
  11255. b := dAtA[iNdEx]
  11256. iNdEx++
  11257. stringLen |= uint64(b&0x7F) << shift
  11258. if b < 0x80 {
  11259. break
  11260. }
  11261. }
  11262. intStringLen := int(stringLen)
  11263. if intStringLen < 0 {
  11264. return ErrInvalidLengthTypes
  11265. }
  11266. postIndex := iNdEx + intStringLen
  11267. if postIndex < 0 {
  11268. return ErrInvalidLengthTypes
  11269. }
  11270. if postIndex > l {
  11271. return io.ErrUnexpectedEOF
  11272. }
  11273. m.Log = string(dAtA[iNdEx:postIndex])
  11274. iNdEx = postIndex
  11275. case 4:
  11276. if wireType != 2 {
  11277. return fmt.Errorf("proto: wrong wireType = %d for field Info", wireType)
  11278. }
  11279. var stringLen uint64
  11280. for shift := uint(0); ; shift += 7 {
  11281. if shift >= 64 {
  11282. return ErrIntOverflowTypes
  11283. }
  11284. if iNdEx >= l {
  11285. return io.ErrUnexpectedEOF
  11286. }
  11287. b := dAtA[iNdEx]
  11288. iNdEx++
  11289. stringLen |= uint64(b&0x7F) << shift
  11290. if b < 0x80 {
  11291. break
  11292. }
  11293. }
  11294. intStringLen := int(stringLen)
  11295. if intStringLen < 0 {
  11296. return ErrInvalidLengthTypes
  11297. }
  11298. postIndex := iNdEx + intStringLen
  11299. if postIndex < 0 {
  11300. return ErrInvalidLengthTypes
  11301. }
  11302. if postIndex > l {
  11303. return io.ErrUnexpectedEOF
  11304. }
  11305. m.Info = string(dAtA[iNdEx:postIndex])
  11306. iNdEx = postIndex
  11307. case 5:
  11308. if wireType != 0 {
  11309. return fmt.Errorf("proto: wrong wireType = %d for field Index", wireType)
  11310. }
  11311. m.Index = 0
  11312. for shift := uint(0); ; shift += 7 {
  11313. if shift >= 64 {
  11314. return ErrIntOverflowTypes
  11315. }
  11316. if iNdEx >= l {
  11317. return io.ErrUnexpectedEOF
  11318. }
  11319. b := dAtA[iNdEx]
  11320. iNdEx++
  11321. m.Index |= int64(b&0x7F) << shift
  11322. if b < 0x80 {
  11323. break
  11324. }
  11325. }
  11326. case 6:
  11327. if wireType != 2 {
  11328. return fmt.Errorf("proto: wrong wireType = %d for field Key", wireType)
  11329. }
  11330. var byteLen int
  11331. for shift := uint(0); ; shift += 7 {
  11332. if shift >= 64 {
  11333. return ErrIntOverflowTypes
  11334. }
  11335. if iNdEx >= l {
  11336. return io.ErrUnexpectedEOF
  11337. }
  11338. b := dAtA[iNdEx]
  11339. iNdEx++
  11340. byteLen |= int(b&0x7F) << shift
  11341. if b < 0x80 {
  11342. break
  11343. }
  11344. }
  11345. if byteLen < 0 {
  11346. return ErrInvalidLengthTypes
  11347. }
  11348. postIndex := iNdEx + byteLen
  11349. if postIndex < 0 {
  11350. return ErrInvalidLengthTypes
  11351. }
  11352. if postIndex > l {
  11353. return io.ErrUnexpectedEOF
  11354. }
  11355. m.Key = append(m.Key[:0], dAtA[iNdEx:postIndex]...)
  11356. if m.Key == nil {
  11357. m.Key = []byte{}
  11358. }
  11359. iNdEx = postIndex
  11360. case 7:
  11361. if wireType != 2 {
  11362. return fmt.Errorf("proto: wrong wireType = %d for field Value", wireType)
  11363. }
  11364. var byteLen int
  11365. for shift := uint(0); ; shift += 7 {
  11366. if shift >= 64 {
  11367. return ErrIntOverflowTypes
  11368. }
  11369. if iNdEx >= l {
  11370. return io.ErrUnexpectedEOF
  11371. }
  11372. b := dAtA[iNdEx]
  11373. iNdEx++
  11374. byteLen |= int(b&0x7F) << shift
  11375. if b < 0x80 {
  11376. break
  11377. }
  11378. }
  11379. if byteLen < 0 {
  11380. return ErrInvalidLengthTypes
  11381. }
  11382. postIndex := iNdEx + byteLen
  11383. if postIndex < 0 {
  11384. return ErrInvalidLengthTypes
  11385. }
  11386. if postIndex > l {
  11387. return io.ErrUnexpectedEOF
  11388. }
  11389. m.Value = append(m.Value[:0], dAtA[iNdEx:postIndex]...)
  11390. if m.Value == nil {
  11391. m.Value = []byte{}
  11392. }
  11393. iNdEx = postIndex
  11394. case 8:
  11395. if wireType != 2 {
  11396. return fmt.Errorf("proto: wrong wireType = %d for field ProofOps", wireType)
  11397. }
  11398. var msglen int
  11399. for shift := uint(0); ; shift += 7 {
  11400. if shift >= 64 {
  11401. return ErrIntOverflowTypes
  11402. }
  11403. if iNdEx >= l {
  11404. return io.ErrUnexpectedEOF
  11405. }
  11406. b := dAtA[iNdEx]
  11407. iNdEx++
  11408. msglen |= int(b&0x7F) << shift
  11409. if b < 0x80 {
  11410. break
  11411. }
  11412. }
  11413. if msglen < 0 {
  11414. return ErrInvalidLengthTypes
  11415. }
  11416. postIndex := iNdEx + msglen
  11417. if postIndex < 0 {
  11418. return ErrInvalidLengthTypes
  11419. }
  11420. if postIndex > l {
  11421. return io.ErrUnexpectedEOF
  11422. }
  11423. if m.ProofOps == nil {
  11424. m.ProofOps = &crypto.ProofOps{}
  11425. }
  11426. if err := m.ProofOps.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  11427. return err
  11428. }
  11429. iNdEx = postIndex
  11430. case 9:
  11431. if wireType != 0 {
  11432. return fmt.Errorf("proto: wrong wireType = %d for field Height", wireType)
  11433. }
  11434. m.Height = 0
  11435. for shift := uint(0); ; shift += 7 {
  11436. if shift >= 64 {
  11437. return ErrIntOverflowTypes
  11438. }
  11439. if iNdEx >= l {
  11440. return io.ErrUnexpectedEOF
  11441. }
  11442. b := dAtA[iNdEx]
  11443. iNdEx++
  11444. m.Height |= int64(b&0x7F) << shift
  11445. if b < 0x80 {
  11446. break
  11447. }
  11448. }
  11449. case 10:
  11450. if wireType != 2 {
  11451. return fmt.Errorf("proto: wrong wireType = %d for field Codespace", wireType)
  11452. }
  11453. var stringLen uint64
  11454. for shift := uint(0); ; shift += 7 {
  11455. if shift >= 64 {
  11456. return ErrIntOverflowTypes
  11457. }
  11458. if iNdEx >= l {
  11459. return io.ErrUnexpectedEOF
  11460. }
  11461. b := dAtA[iNdEx]
  11462. iNdEx++
  11463. stringLen |= uint64(b&0x7F) << shift
  11464. if b < 0x80 {
  11465. break
  11466. }
  11467. }
  11468. intStringLen := int(stringLen)
  11469. if intStringLen < 0 {
  11470. return ErrInvalidLengthTypes
  11471. }
  11472. postIndex := iNdEx + intStringLen
  11473. if postIndex < 0 {
  11474. return ErrInvalidLengthTypes
  11475. }
  11476. if postIndex > l {
  11477. return io.ErrUnexpectedEOF
  11478. }
  11479. m.Codespace = string(dAtA[iNdEx:postIndex])
  11480. iNdEx = postIndex
  11481. default:
  11482. iNdEx = preIndex
  11483. skippy, err := skipTypes(dAtA[iNdEx:])
  11484. if err != nil {
  11485. return err
  11486. }
  11487. if (skippy < 0) || (iNdEx+skippy) < 0 {
  11488. return ErrInvalidLengthTypes
  11489. }
  11490. if (iNdEx + skippy) > l {
  11491. return io.ErrUnexpectedEOF
  11492. }
  11493. iNdEx += skippy
  11494. }
  11495. }
  11496. if iNdEx > l {
  11497. return io.ErrUnexpectedEOF
  11498. }
  11499. return nil
  11500. }
  11501. func (m *ResponseCheckTx) Unmarshal(dAtA []byte) error {
  11502. l := len(dAtA)
  11503. iNdEx := 0
  11504. for iNdEx < l {
  11505. preIndex := iNdEx
  11506. var wire uint64
  11507. for shift := uint(0); ; shift += 7 {
  11508. if shift >= 64 {
  11509. return ErrIntOverflowTypes
  11510. }
  11511. if iNdEx >= l {
  11512. return io.ErrUnexpectedEOF
  11513. }
  11514. b := dAtA[iNdEx]
  11515. iNdEx++
  11516. wire |= uint64(b&0x7F) << shift
  11517. if b < 0x80 {
  11518. break
  11519. }
  11520. }
  11521. fieldNum := int32(wire >> 3)
  11522. wireType := int(wire & 0x7)
  11523. if wireType == 4 {
  11524. return fmt.Errorf("proto: ResponseCheckTx: wiretype end group for non-group")
  11525. }
  11526. if fieldNum <= 0 {
  11527. return fmt.Errorf("proto: ResponseCheckTx: illegal tag %d (wire type %d)", fieldNum, wire)
  11528. }
  11529. switch fieldNum {
  11530. case 1:
  11531. if wireType != 0 {
  11532. return fmt.Errorf("proto: wrong wireType = %d for field Code", wireType)
  11533. }
  11534. m.Code = 0
  11535. for shift := uint(0); ; shift += 7 {
  11536. if shift >= 64 {
  11537. return ErrIntOverflowTypes
  11538. }
  11539. if iNdEx >= l {
  11540. return io.ErrUnexpectedEOF
  11541. }
  11542. b := dAtA[iNdEx]
  11543. iNdEx++
  11544. m.Code |= uint32(b&0x7F) << shift
  11545. if b < 0x80 {
  11546. break
  11547. }
  11548. }
  11549. case 2:
  11550. if wireType != 2 {
  11551. return fmt.Errorf("proto: wrong wireType = %d for field Data", wireType)
  11552. }
  11553. var byteLen int
  11554. for shift := uint(0); ; shift += 7 {
  11555. if shift >= 64 {
  11556. return ErrIntOverflowTypes
  11557. }
  11558. if iNdEx >= l {
  11559. return io.ErrUnexpectedEOF
  11560. }
  11561. b := dAtA[iNdEx]
  11562. iNdEx++
  11563. byteLen |= int(b&0x7F) << shift
  11564. if b < 0x80 {
  11565. break
  11566. }
  11567. }
  11568. if byteLen < 0 {
  11569. return ErrInvalidLengthTypes
  11570. }
  11571. postIndex := iNdEx + byteLen
  11572. if postIndex < 0 {
  11573. return ErrInvalidLengthTypes
  11574. }
  11575. if postIndex > l {
  11576. return io.ErrUnexpectedEOF
  11577. }
  11578. m.Data = append(m.Data[:0], dAtA[iNdEx:postIndex]...)
  11579. if m.Data == nil {
  11580. m.Data = []byte{}
  11581. }
  11582. iNdEx = postIndex
  11583. case 3:
  11584. if wireType != 2 {
  11585. return fmt.Errorf("proto: wrong wireType = %d for field Log", wireType)
  11586. }
  11587. var stringLen uint64
  11588. for shift := uint(0); ; shift += 7 {
  11589. if shift >= 64 {
  11590. return ErrIntOverflowTypes
  11591. }
  11592. if iNdEx >= l {
  11593. return io.ErrUnexpectedEOF
  11594. }
  11595. b := dAtA[iNdEx]
  11596. iNdEx++
  11597. stringLen |= uint64(b&0x7F) << shift
  11598. if b < 0x80 {
  11599. break
  11600. }
  11601. }
  11602. intStringLen := int(stringLen)
  11603. if intStringLen < 0 {
  11604. return ErrInvalidLengthTypes
  11605. }
  11606. postIndex := iNdEx + intStringLen
  11607. if postIndex < 0 {
  11608. return ErrInvalidLengthTypes
  11609. }
  11610. if postIndex > l {
  11611. return io.ErrUnexpectedEOF
  11612. }
  11613. m.Log = string(dAtA[iNdEx:postIndex])
  11614. iNdEx = postIndex
  11615. case 4:
  11616. if wireType != 2 {
  11617. return fmt.Errorf("proto: wrong wireType = %d for field Info", wireType)
  11618. }
  11619. var stringLen uint64
  11620. for shift := uint(0); ; shift += 7 {
  11621. if shift >= 64 {
  11622. return ErrIntOverflowTypes
  11623. }
  11624. if iNdEx >= l {
  11625. return io.ErrUnexpectedEOF
  11626. }
  11627. b := dAtA[iNdEx]
  11628. iNdEx++
  11629. stringLen |= uint64(b&0x7F) << shift
  11630. if b < 0x80 {
  11631. break
  11632. }
  11633. }
  11634. intStringLen := int(stringLen)
  11635. if intStringLen < 0 {
  11636. return ErrInvalidLengthTypes
  11637. }
  11638. postIndex := iNdEx + intStringLen
  11639. if postIndex < 0 {
  11640. return ErrInvalidLengthTypes
  11641. }
  11642. if postIndex > l {
  11643. return io.ErrUnexpectedEOF
  11644. }
  11645. m.Info = string(dAtA[iNdEx:postIndex])
  11646. iNdEx = postIndex
  11647. case 5:
  11648. if wireType != 0 {
  11649. return fmt.Errorf("proto: wrong wireType = %d for field GasWanted", wireType)
  11650. }
  11651. m.GasWanted = 0
  11652. for shift := uint(0); ; shift += 7 {
  11653. if shift >= 64 {
  11654. return ErrIntOverflowTypes
  11655. }
  11656. if iNdEx >= l {
  11657. return io.ErrUnexpectedEOF
  11658. }
  11659. b := dAtA[iNdEx]
  11660. iNdEx++
  11661. m.GasWanted |= int64(b&0x7F) << shift
  11662. if b < 0x80 {
  11663. break
  11664. }
  11665. }
  11666. case 6:
  11667. if wireType != 0 {
  11668. return fmt.Errorf("proto: wrong wireType = %d for field GasUsed", wireType)
  11669. }
  11670. m.GasUsed = 0
  11671. for shift := uint(0); ; shift += 7 {
  11672. if shift >= 64 {
  11673. return ErrIntOverflowTypes
  11674. }
  11675. if iNdEx >= l {
  11676. return io.ErrUnexpectedEOF
  11677. }
  11678. b := dAtA[iNdEx]
  11679. iNdEx++
  11680. m.GasUsed |= int64(b&0x7F) << shift
  11681. if b < 0x80 {
  11682. break
  11683. }
  11684. }
  11685. case 7:
  11686. if wireType != 2 {
  11687. return fmt.Errorf("proto: wrong wireType = %d for field Events", wireType)
  11688. }
  11689. var msglen int
  11690. for shift := uint(0); ; shift += 7 {
  11691. if shift >= 64 {
  11692. return ErrIntOverflowTypes
  11693. }
  11694. if iNdEx >= l {
  11695. return io.ErrUnexpectedEOF
  11696. }
  11697. b := dAtA[iNdEx]
  11698. iNdEx++
  11699. msglen |= int(b&0x7F) << shift
  11700. if b < 0x80 {
  11701. break
  11702. }
  11703. }
  11704. if msglen < 0 {
  11705. return ErrInvalidLengthTypes
  11706. }
  11707. postIndex := iNdEx + msglen
  11708. if postIndex < 0 {
  11709. return ErrInvalidLengthTypes
  11710. }
  11711. if postIndex > l {
  11712. return io.ErrUnexpectedEOF
  11713. }
  11714. m.Events = append(m.Events, Event{})
  11715. if err := m.Events[len(m.Events)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  11716. return err
  11717. }
  11718. iNdEx = postIndex
  11719. case 8:
  11720. if wireType != 2 {
  11721. return fmt.Errorf("proto: wrong wireType = %d for field Codespace", wireType)
  11722. }
  11723. var stringLen uint64
  11724. for shift := uint(0); ; shift += 7 {
  11725. if shift >= 64 {
  11726. return ErrIntOverflowTypes
  11727. }
  11728. if iNdEx >= l {
  11729. return io.ErrUnexpectedEOF
  11730. }
  11731. b := dAtA[iNdEx]
  11732. iNdEx++
  11733. stringLen |= uint64(b&0x7F) << shift
  11734. if b < 0x80 {
  11735. break
  11736. }
  11737. }
  11738. intStringLen := int(stringLen)
  11739. if intStringLen < 0 {
  11740. return ErrInvalidLengthTypes
  11741. }
  11742. postIndex := iNdEx + intStringLen
  11743. if postIndex < 0 {
  11744. return ErrInvalidLengthTypes
  11745. }
  11746. if postIndex > l {
  11747. return io.ErrUnexpectedEOF
  11748. }
  11749. m.Codespace = string(dAtA[iNdEx:postIndex])
  11750. iNdEx = postIndex
  11751. case 9:
  11752. if wireType != 2 {
  11753. return fmt.Errorf("proto: wrong wireType = %d for field Sender", wireType)
  11754. }
  11755. var stringLen uint64
  11756. for shift := uint(0); ; shift += 7 {
  11757. if shift >= 64 {
  11758. return ErrIntOverflowTypes
  11759. }
  11760. if iNdEx >= l {
  11761. return io.ErrUnexpectedEOF
  11762. }
  11763. b := dAtA[iNdEx]
  11764. iNdEx++
  11765. stringLen |= uint64(b&0x7F) << shift
  11766. if b < 0x80 {
  11767. break
  11768. }
  11769. }
  11770. intStringLen := int(stringLen)
  11771. if intStringLen < 0 {
  11772. return ErrInvalidLengthTypes
  11773. }
  11774. postIndex := iNdEx + intStringLen
  11775. if postIndex < 0 {
  11776. return ErrInvalidLengthTypes
  11777. }
  11778. if postIndex > l {
  11779. return io.ErrUnexpectedEOF
  11780. }
  11781. m.Sender = string(dAtA[iNdEx:postIndex])
  11782. iNdEx = postIndex
  11783. case 10:
  11784. if wireType != 0 {
  11785. return fmt.Errorf("proto: wrong wireType = %d for field Priority", wireType)
  11786. }
  11787. m.Priority = 0
  11788. for shift := uint(0); ; shift += 7 {
  11789. if shift >= 64 {
  11790. return ErrIntOverflowTypes
  11791. }
  11792. if iNdEx >= l {
  11793. return io.ErrUnexpectedEOF
  11794. }
  11795. b := dAtA[iNdEx]
  11796. iNdEx++
  11797. m.Priority |= int64(b&0x7F) << shift
  11798. if b < 0x80 {
  11799. break
  11800. }
  11801. }
  11802. case 11:
  11803. if wireType != 2 {
  11804. return fmt.Errorf("proto: wrong wireType = %d for field MempoolError", wireType)
  11805. }
  11806. var stringLen uint64
  11807. for shift := uint(0); ; shift += 7 {
  11808. if shift >= 64 {
  11809. return ErrIntOverflowTypes
  11810. }
  11811. if iNdEx >= l {
  11812. return io.ErrUnexpectedEOF
  11813. }
  11814. b := dAtA[iNdEx]
  11815. iNdEx++
  11816. stringLen |= uint64(b&0x7F) << shift
  11817. if b < 0x80 {
  11818. break
  11819. }
  11820. }
  11821. intStringLen := int(stringLen)
  11822. if intStringLen < 0 {
  11823. return ErrInvalidLengthTypes
  11824. }
  11825. postIndex := iNdEx + intStringLen
  11826. if postIndex < 0 {
  11827. return ErrInvalidLengthTypes
  11828. }
  11829. if postIndex > l {
  11830. return io.ErrUnexpectedEOF
  11831. }
  11832. m.MempoolError = string(dAtA[iNdEx:postIndex])
  11833. iNdEx = postIndex
  11834. default:
  11835. iNdEx = preIndex
  11836. skippy, err := skipTypes(dAtA[iNdEx:])
  11837. if err != nil {
  11838. return err
  11839. }
  11840. if (skippy < 0) || (iNdEx+skippy) < 0 {
  11841. return ErrInvalidLengthTypes
  11842. }
  11843. if (iNdEx + skippy) > l {
  11844. return io.ErrUnexpectedEOF
  11845. }
  11846. iNdEx += skippy
  11847. }
  11848. }
  11849. if iNdEx > l {
  11850. return io.ErrUnexpectedEOF
  11851. }
  11852. return nil
  11853. }
  11854. func (m *ResponseDeliverTx) Unmarshal(dAtA []byte) error {
  11855. l := len(dAtA)
  11856. iNdEx := 0
  11857. for iNdEx < l {
  11858. preIndex := iNdEx
  11859. var wire uint64
  11860. for shift := uint(0); ; shift += 7 {
  11861. if shift >= 64 {
  11862. return ErrIntOverflowTypes
  11863. }
  11864. if iNdEx >= l {
  11865. return io.ErrUnexpectedEOF
  11866. }
  11867. b := dAtA[iNdEx]
  11868. iNdEx++
  11869. wire |= uint64(b&0x7F) << shift
  11870. if b < 0x80 {
  11871. break
  11872. }
  11873. }
  11874. fieldNum := int32(wire >> 3)
  11875. wireType := int(wire & 0x7)
  11876. if wireType == 4 {
  11877. return fmt.Errorf("proto: ResponseDeliverTx: wiretype end group for non-group")
  11878. }
  11879. if fieldNum <= 0 {
  11880. return fmt.Errorf("proto: ResponseDeliverTx: illegal tag %d (wire type %d)", fieldNum, wire)
  11881. }
  11882. switch fieldNum {
  11883. case 1:
  11884. if wireType != 0 {
  11885. return fmt.Errorf("proto: wrong wireType = %d for field Code", wireType)
  11886. }
  11887. m.Code = 0
  11888. for shift := uint(0); ; shift += 7 {
  11889. if shift >= 64 {
  11890. return ErrIntOverflowTypes
  11891. }
  11892. if iNdEx >= l {
  11893. return io.ErrUnexpectedEOF
  11894. }
  11895. b := dAtA[iNdEx]
  11896. iNdEx++
  11897. m.Code |= uint32(b&0x7F) << shift
  11898. if b < 0x80 {
  11899. break
  11900. }
  11901. }
  11902. case 2:
  11903. if wireType != 2 {
  11904. return fmt.Errorf("proto: wrong wireType = %d for field Data", wireType)
  11905. }
  11906. var byteLen int
  11907. for shift := uint(0); ; shift += 7 {
  11908. if shift >= 64 {
  11909. return ErrIntOverflowTypes
  11910. }
  11911. if iNdEx >= l {
  11912. return io.ErrUnexpectedEOF
  11913. }
  11914. b := dAtA[iNdEx]
  11915. iNdEx++
  11916. byteLen |= int(b&0x7F) << shift
  11917. if b < 0x80 {
  11918. break
  11919. }
  11920. }
  11921. if byteLen < 0 {
  11922. return ErrInvalidLengthTypes
  11923. }
  11924. postIndex := iNdEx + byteLen
  11925. if postIndex < 0 {
  11926. return ErrInvalidLengthTypes
  11927. }
  11928. if postIndex > l {
  11929. return io.ErrUnexpectedEOF
  11930. }
  11931. m.Data = append(m.Data[:0], dAtA[iNdEx:postIndex]...)
  11932. if m.Data == nil {
  11933. m.Data = []byte{}
  11934. }
  11935. iNdEx = postIndex
  11936. case 3:
  11937. if wireType != 2 {
  11938. return fmt.Errorf("proto: wrong wireType = %d for field Log", wireType)
  11939. }
  11940. var stringLen uint64
  11941. for shift := uint(0); ; shift += 7 {
  11942. if shift >= 64 {
  11943. return ErrIntOverflowTypes
  11944. }
  11945. if iNdEx >= l {
  11946. return io.ErrUnexpectedEOF
  11947. }
  11948. b := dAtA[iNdEx]
  11949. iNdEx++
  11950. stringLen |= uint64(b&0x7F) << shift
  11951. if b < 0x80 {
  11952. break
  11953. }
  11954. }
  11955. intStringLen := int(stringLen)
  11956. if intStringLen < 0 {
  11957. return ErrInvalidLengthTypes
  11958. }
  11959. postIndex := iNdEx + intStringLen
  11960. if postIndex < 0 {
  11961. return ErrInvalidLengthTypes
  11962. }
  11963. if postIndex > l {
  11964. return io.ErrUnexpectedEOF
  11965. }
  11966. m.Log = string(dAtA[iNdEx:postIndex])
  11967. iNdEx = postIndex
  11968. case 4:
  11969. if wireType != 2 {
  11970. return fmt.Errorf("proto: wrong wireType = %d for field Info", wireType)
  11971. }
  11972. var stringLen uint64
  11973. for shift := uint(0); ; shift += 7 {
  11974. if shift >= 64 {
  11975. return ErrIntOverflowTypes
  11976. }
  11977. if iNdEx >= l {
  11978. return io.ErrUnexpectedEOF
  11979. }
  11980. b := dAtA[iNdEx]
  11981. iNdEx++
  11982. stringLen |= uint64(b&0x7F) << shift
  11983. if b < 0x80 {
  11984. break
  11985. }
  11986. }
  11987. intStringLen := int(stringLen)
  11988. if intStringLen < 0 {
  11989. return ErrInvalidLengthTypes
  11990. }
  11991. postIndex := iNdEx + intStringLen
  11992. if postIndex < 0 {
  11993. return ErrInvalidLengthTypes
  11994. }
  11995. if postIndex > l {
  11996. return io.ErrUnexpectedEOF
  11997. }
  11998. m.Info = string(dAtA[iNdEx:postIndex])
  11999. iNdEx = postIndex
  12000. case 5:
  12001. if wireType != 0 {
  12002. return fmt.Errorf("proto: wrong wireType = %d for field GasWanted", wireType)
  12003. }
  12004. m.GasWanted = 0
  12005. for shift := uint(0); ; shift += 7 {
  12006. if shift >= 64 {
  12007. return ErrIntOverflowTypes
  12008. }
  12009. if iNdEx >= l {
  12010. return io.ErrUnexpectedEOF
  12011. }
  12012. b := dAtA[iNdEx]
  12013. iNdEx++
  12014. m.GasWanted |= int64(b&0x7F) << shift
  12015. if b < 0x80 {
  12016. break
  12017. }
  12018. }
  12019. case 6:
  12020. if wireType != 0 {
  12021. return fmt.Errorf("proto: wrong wireType = %d for field GasUsed", wireType)
  12022. }
  12023. m.GasUsed = 0
  12024. for shift := uint(0); ; shift += 7 {
  12025. if shift >= 64 {
  12026. return ErrIntOverflowTypes
  12027. }
  12028. if iNdEx >= l {
  12029. return io.ErrUnexpectedEOF
  12030. }
  12031. b := dAtA[iNdEx]
  12032. iNdEx++
  12033. m.GasUsed |= int64(b&0x7F) << shift
  12034. if b < 0x80 {
  12035. break
  12036. }
  12037. }
  12038. case 7:
  12039. if wireType != 2 {
  12040. return fmt.Errorf("proto: wrong wireType = %d for field Events", wireType)
  12041. }
  12042. var msglen int
  12043. for shift := uint(0); ; shift += 7 {
  12044. if shift >= 64 {
  12045. return ErrIntOverflowTypes
  12046. }
  12047. if iNdEx >= l {
  12048. return io.ErrUnexpectedEOF
  12049. }
  12050. b := dAtA[iNdEx]
  12051. iNdEx++
  12052. msglen |= int(b&0x7F) << shift
  12053. if b < 0x80 {
  12054. break
  12055. }
  12056. }
  12057. if msglen < 0 {
  12058. return ErrInvalidLengthTypes
  12059. }
  12060. postIndex := iNdEx + msglen
  12061. if postIndex < 0 {
  12062. return ErrInvalidLengthTypes
  12063. }
  12064. if postIndex > l {
  12065. return io.ErrUnexpectedEOF
  12066. }
  12067. m.Events = append(m.Events, Event{})
  12068. if err := m.Events[len(m.Events)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  12069. return err
  12070. }
  12071. iNdEx = postIndex
  12072. case 8:
  12073. if wireType != 2 {
  12074. return fmt.Errorf("proto: wrong wireType = %d for field Codespace", wireType)
  12075. }
  12076. var stringLen uint64
  12077. for shift := uint(0); ; shift += 7 {
  12078. if shift >= 64 {
  12079. return ErrIntOverflowTypes
  12080. }
  12081. if iNdEx >= l {
  12082. return io.ErrUnexpectedEOF
  12083. }
  12084. b := dAtA[iNdEx]
  12085. iNdEx++
  12086. stringLen |= uint64(b&0x7F) << shift
  12087. if b < 0x80 {
  12088. break
  12089. }
  12090. }
  12091. intStringLen := int(stringLen)
  12092. if intStringLen < 0 {
  12093. return ErrInvalidLengthTypes
  12094. }
  12095. postIndex := iNdEx + intStringLen
  12096. if postIndex < 0 {
  12097. return ErrInvalidLengthTypes
  12098. }
  12099. if postIndex > l {
  12100. return io.ErrUnexpectedEOF
  12101. }
  12102. m.Codespace = string(dAtA[iNdEx:postIndex])
  12103. iNdEx = postIndex
  12104. default:
  12105. iNdEx = preIndex
  12106. skippy, err := skipTypes(dAtA[iNdEx:])
  12107. if err != nil {
  12108. return err
  12109. }
  12110. if (skippy < 0) || (iNdEx+skippy) < 0 {
  12111. return ErrInvalidLengthTypes
  12112. }
  12113. if (iNdEx + skippy) > l {
  12114. return io.ErrUnexpectedEOF
  12115. }
  12116. iNdEx += skippy
  12117. }
  12118. }
  12119. if iNdEx > l {
  12120. return io.ErrUnexpectedEOF
  12121. }
  12122. return nil
  12123. }
  12124. func (m *ResponseCommit) Unmarshal(dAtA []byte) error {
  12125. l := len(dAtA)
  12126. iNdEx := 0
  12127. for iNdEx < l {
  12128. preIndex := iNdEx
  12129. var wire uint64
  12130. for shift := uint(0); ; shift += 7 {
  12131. if shift >= 64 {
  12132. return ErrIntOverflowTypes
  12133. }
  12134. if iNdEx >= l {
  12135. return io.ErrUnexpectedEOF
  12136. }
  12137. b := dAtA[iNdEx]
  12138. iNdEx++
  12139. wire |= uint64(b&0x7F) << shift
  12140. if b < 0x80 {
  12141. break
  12142. }
  12143. }
  12144. fieldNum := int32(wire >> 3)
  12145. wireType := int(wire & 0x7)
  12146. if wireType == 4 {
  12147. return fmt.Errorf("proto: ResponseCommit: wiretype end group for non-group")
  12148. }
  12149. if fieldNum <= 0 {
  12150. return fmt.Errorf("proto: ResponseCommit: illegal tag %d (wire type %d)", fieldNum, wire)
  12151. }
  12152. switch fieldNum {
  12153. case 2:
  12154. if wireType != 2 {
  12155. return fmt.Errorf("proto: wrong wireType = %d for field Data", wireType)
  12156. }
  12157. var byteLen int
  12158. for shift := uint(0); ; shift += 7 {
  12159. if shift >= 64 {
  12160. return ErrIntOverflowTypes
  12161. }
  12162. if iNdEx >= l {
  12163. return io.ErrUnexpectedEOF
  12164. }
  12165. b := dAtA[iNdEx]
  12166. iNdEx++
  12167. byteLen |= int(b&0x7F) << shift
  12168. if b < 0x80 {
  12169. break
  12170. }
  12171. }
  12172. if byteLen < 0 {
  12173. return ErrInvalidLengthTypes
  12174. }
  12175. postIndex := iNdEx + byteLen
  12176. if postIndex < 0 {
  12177. return ErrInvalidLengthTypes
  12178. }
  12179. if postIndex > l {
  12180. return io.ErrUnexpectedEOF
  12181. }
  12182. m.Data = append(m.Data[:0], dAtA[iNdEx:postIndex]...)
  12183. if m.Data == nil {
  12184. m.Data = []byte{}
  12185. }
  12186. iNdEx = postIndex
  12187. case 3:
  12188. if wireType != 0 {
  12189. return fmt.Errorf("proto: wrong wireType = %d for field RetainHeight", wireType)
  12190. }
  12191. m.RetainHeight = 0
  12192. for shift := uint(0); ; shift += 7 {
  12193. if shift >= 64 {
  12194. return ErrIntOverflowTypes
  12195. }
  12196. if iNdEx >= l {
  12197. return io.ErrUnexpectedEOF
  12198. }
  12199. b := dAtA[iNdEx]
  12200. iNdEx++
  12201. m.RetainHeight |= int64(b&0x7F) << shift
  12202. if b < 0x80 {
  12203. break
  12204. }
  12205. }
  12206. default:
  12207. iNdEx = preIndex
  12208. skippy, err := skipTypes(dAtA[iNdEx:])
  12209. if err != nil {
  12210. return err
  12211. }
  12212. if (skippy < 0) || (iNdEx+skippy) < 0 {
  12213. return ErrInvalidLengthTypes
  12214. }
  12215. if (iNdEx + skippy) > l {
  12216. return io.ErrUnexpectedEOF
  12217. }
  12218. iNdEx += skippy
  12219. }
  12220. }
  12221. if iNdEx > l {
  12222. return io.ErrUnexpectedEOF
  12223. }
  12224. return nil
  12225. }
  12226. func (m *ResponseListSnapshots) Unmarshal(dAtA []byte) error {
  12227. l := len(dAtA)
  12228. iNdEx := 0
  12229. for iNdEx < l {
  12230. preIndex := iNdEx
  12231. var wire uint64
  12232. for shift := uint(0); ; shift += 7 {
  12233. if shift >= 64 {
  12234. return ErrIntOverflowTypes
  12235. }
  12236. if iNdEx >= l {
  12237. return io.ErrUnexpectedEOF
  12238. }
  12239. b := dAtA[iNdEx]
  12240. iNdEx++
  12241. wire |= uint64(b&0x7F) << shift
  12242. if b < 0x80 {
  12243. break
  12244. }
  12245. }
  12246. fieldNum := int32(wire >> 3)
  12247. wireType := int(wire & 0x7)
  12248. if wireType == 4 {
  12249. return fmt.Errorf("proto: ResponseListSnapshots: wiretype end group for non-group")
  12250. }
  12251. if fieldNum <= 0 {
  12252. return fmt.Errorf("proto: ResponseListSnapshots: illegal tag %d (wire type %d)", fieldNum, wire)
  12253. }
  12254. switch fieldNum {
  12255. case 1:
  12256. if wireType != 2 {
  12257. return fmt.Errorf("proto: wrong wireType = %d for field Snapshots", wireType)
  12258. }
  12259. var msglen int
  12260. for shift := uint(0); ; shift += 7 {
  12261. if shift >= 64 {
  12262. return ErrIntOverflowTypes
  12263. }
  12264. if iNdEx >= l {
  12265. return io.ErrUnexpectedEOF
  12266. }
  12267. b := dAtA[iNdEx]
  12268. iNdEx++
  12269. msglen |= int(b&0x7F) << shift
  12270. if b < 0x80 {
  12271. break
  12272. }
  12273. }
  12274. if msglen < 0 {
  12275. return ErrInvalidLengthTypes
  12276. }
  12277. postIndex := iNdEx + msglen
  12278. if postIndex < 0 {
  12279. return ErrInvalidLengthTypes
  12280. }
  12281. if postIndex > l {
  12282. return io.ErrUnexpectedEOF
  12283. }
  12284. m.Snapshots = append(m.Snapshots, &Snapshot{})
  12285. if err := m.Snapshots[len(m.Snapshots)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  12286. return err
  12287. }
  12288. iNdEx = postIndex
  12289. default:
  12290. iNdEx = preIndex
  12291. skippy, err := skipTypes(dAtA[iNdEx:])
  12292. if err != nil {
  12293. return err
  12294. }
  12295. if (skippy < 0) || (iNdEx+skippy) < 0 {
  12296. return ErrInvalidLengthTypes
  12297. }
  12298. if (iNdEx + skippy) > l {
  12299. return io.ErrUnexpectedEOF
  12300. }
  12301. iNdEx += skippy
  12302. }
  12303. }
  12304. if iNdEx > l {
  12305. return io.ErrUnexpectedEOF
  12306. }
  12307. return nil
  12308. }
  12309. func (m *ResponseOfferSnapshot) Unmarshal(dAtA []byte) error {
  12310. l := len(dAtA)
  12311. iNdEx := 0
  12312. for iNdEx < l {
  12313. preIndex := iNdEx
  12314. var wire uint64
  12315. for shift := uint(0); ; shift += 7 {
  12316. if shift >= 64 {
  12317. return ErrIntOverflowTypes
  12318. }
  12319. if iNdEx >= l {
  12320. return io.ErrUnexpectedEOF
  12321. }
  12322. b := dAtA[iNdEx]
  12323. iNdEx++
  12324. wire |= uint64(b&0x7F) << shift
  12325. if b < 0x80 {
  12326. break
  12327. }
  12328. }
  12329. fieldNum := int32(wire >> 3)
  12330. wireType := int(wire & 0x7)
  12331. if wireType == 4 {
  12332. return fmt.Errorf("proto: ResponseOfferSnapshot: wiretype end group for non-group")
  12333. }
  12334. if fieldNum <= 0 {
  12335. return fmt.Errorf("proto: ResponseOfferSnapshot: illegal tag %d (wire type %d)", fieldNum, wire)
  12336. }
  12337. switch fieldNum {
  12338. case 1:
  12339. if wireType != 0 {
  12340. return fmt.Errorf("proto: wrong wireType = %d for field Result", wireType)
  12341. }
  12342. m.Result = 0
  12343. for shift := uint(0); ; shift += 7 {
  12344. if shift >= 64 {
  12345. return ErrIntOverflowTypes
  12346. }
  12347. if iNdEx >= l {
  12348. return io.ErrUnexpectedEOF
  12349. }
  12350. b := dAtA[iNdEx]
  12351. iNdEx++
  12352. m.Result |= ResponseOfferSnapshot_Result(b&0x7F) << shift
  12353. if b < 0x80 {
  12354. break
  12355. }
  12356. }
  12357. default:
  12358. iNdEx = preIndex
  12359. skippy, err := skipTypes(dAtA[iNdEx:])
  12360. if err != nil {
  12361. return err
  12362. }
  12363. if (skippy < 0) || (iNdEx+skippy) < 0 {
  12364. return ErrInvalidLengthTypes
  12365. }
  12366. if (iNdEx + skippy) > l {
  12367. return io.ErrUnexpectedEOF
  12368. }
  12369. iNdEx += skippy
  12370. }
  12371. }
  12372. if iNdEx > l {
  12373. return io.ErrUnexpectedEOF
  12374. }
  12375. return nil
  12376. }
  12377. func (m *ResponseLoadSnapshotChunk) Unmarshal(dAtA []byte) error {
  12378. l := len(dAtA)
  12379. iNdEx := 0
  12380. for iNdEx < l {
  12381. preIndex := iNdEx
  12382. var wire uint64
  12383. for shift := uint(0); ; shift += 7 {
  12384. if shift >= 64 {
  12385. return ErrIntOverflowTypes
  12386. }
  12387. if iNdEx >= l {
  12388. return io.ErrUnexpectedEOF
  12389. }
  12390. b := dAtA[iNdEx]
  12391. iNdEx++
  12392. wire |= uint64(b&0x7F) << shift
  12393. if b < 0x80 {
  12394. break
  12395. }
  12396. }
  12397. fieldNum := int32(wire >> 3)
  12398. wireType := int(wire & 0x7)
  12399. if wireType == 4 {
  12400. return fmt.Errorf("proto: ResponseLoadSnapshotChunk: wiretype end group for non-group")
  12401. }
  12402. if fieldNum <= 0 {
  12403. return fmt.Errorf("proto: ResponseLoadSnapshotChunk: illegal tag %d (wire type %d)", fieldNum, wire)
  12404. }
  12405. switch fieldNum {
  12406. case 1:
  12407. if wireType != 2 {
  12408. return fmt.Errorf("proto: wrong wireType = %d for field Chunk", wireType)
  12409. }
  12410. var byteLen int
  12411. for shift := uint(0); ; shift += 7 {
  12412. if shift >= 64 {
  12413. return ErrIntOverflowTypes
  12414. }
  12415. if iNdEx >= l {
  12416. return io.ErrUnexpectedEOF
  12417. }
  12418. b := dAtA[iNdEx]
  12419. iNdEx++
  12420. byteLen |= int(b&0x7F) << shift
  12421. if b < 0x80 {
  12422. break
  12423. }
  12424. }
  12425. if byteLen < 0 {
  12426. return ErrInvalidLengthTypes
  12427. }
  12428. postIndex := iNdEx + byteLen
  12429. if postIndex < 0 {
  12430. return ErrInvalidLengthTypes
  12431. }
  12432. if postIndex > l {
  12433. return io.ErrUnexpectedEOF
  12434. }
  12435. m.Chunk = append(m.Chunk[:0], dAtA[iNdEx:postIndex]...)
  12436. if m.Chunk == nil {
  12437. m.Chunk = []byte{}
  12438. }
  12439. iNdEx = postIndex
  12440. default:
  12441. iNdEx = preIndex
  12442. skippy, err := skipTypes(dAtA[iNdEx:])
  12443. if err != nil {
  12444. return err
  12445. }
  12446. if (skippy < 0) || (iNdEx+skippy) < 0 {
  12447. return ErrInvalidLengthTypes
  12448. }
  12449. if (iNdEx + skippy) > l {
  12450. return io.ErrUnexpectedEOF
  12451. }
  12452. iNdEx += skippy
  12453. }
  12454. }
  12455. if iNdEx > l {
  12456. return io.ErrUnexpectedEOF
  12457. }
  12458. return nil
  12459. }
  12460. func (m *ResponseApplySnapshotChunk) Unmarshal(dAtA []byte) error {
  12461. l := len(dAtA)
  12462. iNdEx := 0
  12463. for iNdEx < l {
  12464. preIndex := iNdEx
  12465. var wire uint64
  12466. for shift := uint(0); ; shift += 7 {
  12467. if shift >= 64 {
  12468. return ErrIntOverflowTypes
  12469. }
  12470. if iNdEx >= l {
  12471. return io.ErrUnexpectedEOF
  12472. }
  12473. b := dAtA[iNdEx]
  12474. iNdEx++
  12475. wire |= uint64(b&0x7F) << shift
  12476. if b < 0x80 {
  12477. break
  12478. }
  12479. }
  12480. fieldNum := int32(wire >> 3)
  12481. wireType := int(wire & 0x7)
  12482. if wireType == 4 {
  12483. return fmt.Errorf("proto: ResponseApplySnapshotChunk: wiretype end group for non-group")
  12484. }
  12485. if fieldNum <= 0 {
  12486. return fmt.Errorf("proto: ResponseApplySnapshotChunk: illegal tag %d (wire type %d)", fieldNum, wire)
  12487. }
  12488. switch fieldNum {
  12489. case 1:
  12490. if wireType != 0 {
  12491. return fmt.Errorf("proto: wrong wireType = %d for field Result", wireType)
  12492. }
  12493. m.Result = 0
  12494. for shift := uint(0); ; shift += 7 {
  12495. if shift >= 64 {
  12496. return ErrIntOverflowTypes
  12497. }
  12498. if iNdEx >= l {
  12499. return io.ErrUnexpectedEOF
  12500. }
  12501. b := dAtA[iNdEx]
  12502. iNdEx++
  12503. m.Result |= ResponseApplySnapshotChunk_Result(b&0x7F) << shift
  12504. if b < 0x80 {
  12505. break
  12506. }
  12507. }
  12508. case 2:
  12509. if wireType == 0 {
  12510. var v uint32
  12511. for shift := uint(0); ; shift += 7 {
  12512. if shift >= 64 {
  12513. return ErrIntOverflowTypes
  12514. }
  12515. if iNdEx >= l {
  12516. return io.ErrUnexpectedEOF
  12517. }
  12518. b := dAtA[iNdEx]
  12519. iNdEx++
  12520. v |= uint32(b&0x7F) << shift
  12521. if b < 0x80 {
  12522. break
  12523. }
  12524. }
  12525. m.RefetchChunks = append(m.RefetchChunks, v)
  12526. } else if wireType == 2 {
  12527. var packedLen int
  12528. for shift := uint(0); ; shift += 7 {
  12529. if shift >= 64 {
  12530. return ErrIntOverflowTypes
  12531. }
  12532. if iNdEx >= l {
  12533. return io.ErrUnexpectedEOF
  12534. }
  12535. b := dAtA[iNdEx]
  12536. iNdEx++
  12537. packedLen |= int(b&0x7F) << shift
  12538. if b < 0x80 {
  12539. break
  12540. }
  12541. }
  12542. if packedLen < 0 {
  12543. return ErrInvalidLengthTypes
  12544. }
  12545. postIndex := iNdEx + packedLen
  12546. if postIndex < 0 {
  12547. return ErrInvalidLengthTypes
  12548. }
  12549. if postIndex > l {
  12550. return io.ErrUnexpectedEOF
  12551. }
  12552. var elementCount int
  12553. var count int
  12554. for _, integer := range dAtA[iNdEx:postIndex] {
  12555. if integer < 128 {
  12556. count++
  12557. }
  12558. }
  12559. elementCount = count
  12560. if elementCount != 0 && len(m.RefetchChunks) == 0 {
  12561. m.RefetchChunks = make([]uint32, 0, elementCount)
  12562. }
  12563. for iNdEx < postIndex {
  12564. var v uint32
  12565. for shift := uint(0); ; shift += 7 {
  12566. if shift >= 64 {
  12567. return ErrIntOverflowTypes
  12568. }
  12569. if iNdEx >= l {
  12570. return io.ErrUnexpectedEOF
  12571. }
  12572. b := dAtA[iNdEx]
  12573. iNdEx++
  12574. v |= uint32(b&0x7F) << shift
  12575. if b < 0x80 {
  12576. break
  12577. }
  12578. }
  12579. m.RefetchChunks = append(m.RefetchChunks, v)
  12580. }
  12581. } else {
  12582. return fmt.Errorf("proto: wrong wireType = %d for field RefetchChunks", wireType)
  12583. }
  12584. case 3:
  12585. if wireType != 2 {
  12586. return fmt.Errorf("proto: wrong wireType = %d for field RejectSenders", wireType)
  12587. }
  12588. var stringLen uint64
  12589. for shift := uint(0); ; shift += 7 {
  12590. if shift >= 64 {
  12591. return ErrIntOverflowTypes
  12592. }
  12593. if iNdEx >= l {
  12594. return io.ErrUnexpectedEOF
  12595. }
  12596. b := dAtA[iNdEx]
  12597. iNdEx++
  12598. stringLen |= uint64(b&0x7F) << shift
  12599. if b < 0x80 {
  12600. break
  12601. }
  12602. }
  12603. intStringLen := int(stringLen)
  12604. if intStringLen < 0 {
  12605. return ErrInvalidLengthTypes
  12606. }
  12607. postIndex := iNdEx + intStringLen
  12608. if postIndex < 0 {
  12609. return ErrInvalidLengthTypes
  12610. }
  12611. if postIndex > l {
  12612. return io.ErrUnexpectedEOF
  12613. }
  12614. m.RejectSenders = append(m.RejectSenders, string(dAtA[iNdEx:postIndex]))
  12615. iNdEx = postIndex
  12616. default:
  12617. iNdEx = preIndex
  12618. skippy, err := skipTypes(dAtA[iNdEx:])
  12619. if err != nil {
  12620. return err
  12621. }
  12622. if (skippy < 0) || (iNdEx+skippy) < 0 {
  12623. return ErrInvalidLengthTypes
  12624. }
  12625. if (iNdEx + skippy) > l {
  12626. return io.ErrUnexpectedEOF
  12627. }
  12628. iNdEx += skippy
  12629. }
  12630. }
  12631. if iNdEx > l {
  12632. return io.ErrUnexpectedEOF
  12633. }
  12634. return nil
  12635. }
  12636. func (m *ResponsePrepareProposal) Unmarshal(dAtA []byte) error {
  12637. l := len(dAtA)
  12638. iNdEx := 0
  12639. for iNdEx < l {
  12640. preIndex := iNdEx
  12641. var wire uint64
  12642. for shift := uint(0); ; shift += 7 {
  12643. if shift >= 64 {
  12644. return ErrIntOverflowTypes
  12645. }
  12646. if iNdEx >= l {
  12647. return io.ErrUnexpectedEOF
  12648. }
  12649. b := dAtA[iNdEx]
  12650. iNdEx++
  12651. wire |= uint64(b&0x7F) << shift
  12652. if b < 0x80 {
  12653. break
  12654. }
  12655. }
  12656. fieldNum := int32(wire >> 3)
  12657. wireType := int(wire & 0x7)
  12658. if wireType == 4 {
  12659. return fmt.Errorf("proto: ResponsePrepareProposal: wiretype end group for non-group")
  12660. }
  12661. if fieldNum <= 0 {
  12662. return fmt.Errorf("proto: ResponsePrepareProposal: illegal tag %d (wire type %d)", fieldNum, wire)
  12663. }
  12664. switch fieldNum {
  12665. case 1:
  12666. if wireType != 2 {
  12667. return fmt.Errorf("proto: wrong wireType = %d for field BlockData", wireType)
  12668. }
  12669. var byteLen int
  12670. for shift := uint(0); ; shift += 7 {
  12671. if shift >= 64 {
  12672. return ErrIntOverflowTypes
  12673. }
  12674. if iNdEx >= l {
  12675. return io.ErrUnexpectedEOF
  12676. }
  12677. b := dAtA[iNdEx]
  12678. iNdEx++
  12679. byteLen |= int(b&0x7F) << shift
  12680. if b < 0x80 {
  12681. break
  12682. }
  12683. }
  12684. if byteLen < 0 {
  12685. return ErrInvalidLengthTypes
  12686. }
  12687. postIndex := iNdEx + byteLen
  12688. if postIndex < 0 {
  12689. return ErrInvalidLengthTypes
  12690. }
  12691. if postIndex > l {
  12692. return io.ErrUnexpectedEOF
  12693. }
  12694. m.BlockData = append(m.BlockData, make([]byte, postIndex-iNdEx))
  12695. copy(m.BlockData[len(m.BlockData)-1], dAtA[iNdEx:postIndex])
  12696. iNdEx = postIndex
  12697. default:
  12698. iNdEx = preIndex
  12699. skippy, err := skipTypes(dAtA[iNdEx:])
  12700. if err != nil {
  12701. return err
  12702. }
  12703. if (skippy < 0) || (iNdEx+skippy) < 0 {
  12704. return ErrInvalidLengthTypes
  12705. }
  12706. if (iNdEx + skippy) > l {
  12707. return io.ErrUnexpectedEOF
  12708. }
  12709. iNdEx += skippy
  12710. }
  12711. }
  12712. if iNdEx > l {
  12713. return io.ErrUnexpectedEOF
  12714. }
  12715. return nil
  12716. }
  12717. func (m *ResponseExtendVote) Unmarshal(dAtA []byte) error {
  12718. l := len(dAtA)
  12719. iNdEx := 0
  12720. for iNdEx < l {
  12721. preIndex := iNdEx
  12722. var wire uint64
  12723. for shift := uint(0); ; shift += 7 {
  12724. if shift >= 64 {
  12725. return ErrIntOverflowTypes
  12726. }
  12727. if iNdEx >= l {
  12728. return io.ErrUnexpectedEOF
  12729. }
  12730. b := dAtA[iNdEx]
  12731. iNdEx++
  12732. wire |= uint64(b&0x7F) << shift
  12733. if b < 0x80 {
  12734. break
  12735. }
  12736. }
  12737. fieldNum := int32(wire >> 3)
  12738. wireType := int(wire & 0x7)
  12739. if wireType == 4 {
  12740. return fmt.Errorf("proto: ResponseExtendVote: wiretype end group for non-group")
  12741. }
  12742. if fieldNum <= 0 {
  12743. return fmt.Errorf("proto: ResponseExtendVote: illegal tag %d (wire type %d)", fieldNum, wire)
  12744. }
  12745. switch fieldNum {
  12746. case 1:
  12747. if wireType != 2 {
  12748. return fmt.Errorf("proto: wrong wireType = %d for field VoteExtension", wireType)
  12749. }
  12750. var msglen int
  12751. for shift := uint(0); ; shift += 7 {
  12752. if shift >= 64 {
  12753. return ErrIntOverflowTypes
  12754. }
  12755. if iNdEx >= l {
  12756. return io.ErrUnexpectedEOF
  12757. }
  12758. b := dAtA[iNdEx]
  12759. iNdEx++
  12760. msglen |= int(b&0x7F) << shift
  12761. if b < 0x80 {
  12762. break
  12763. }
  12764. }
  12765. if msglen < 0 {
  12766. return ErrInvalidLengthTypes
  12767. }
  12768. postIndex := iNdEx + msglen
  12769. if postIndex < 0 {
  12770. return ErrInvalidLengthTypes
  12771. }
  12772. if postIndex > l {
  12773. return io.ErrUnexpectedEOF
  12774. }
  12775. if m.VoteExtension == nil {
  12776. m.VoteExtension = &types1.VoteExtension{}
  12777. }
  12778. if err := m.VoteExtension.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  12779. return err
  12780. }
  12781. iNdEx = postIndex
  12782. default:
  12783. iNdEx = preIndex
  12784. skippy, err := skipTypes(dAtA[iNdEx:])
  12785. if err != nil {
  12786. return err
  12787. }
  12788. if (skippy < 0) || (iNdEx+skippy) < 0 {
  12789. return ErrInvalidLengthTypes
  12790. }
  12791. if (iNdEx + skippy) > l {
  12792. return io.ErrUnexpectedEOF
  12793. }
  12794. iNdEx += skippy
  12795. }
  12796. }
  12797. if iNdEx > l {
  12798. return io.ErrUnexpectedEOF
  12799. }
  12800. return nil
  12801. }
  12802. func (m *ResponseVerifyVoteExtension) Unmarshal(dAtA []byte) error {
  12803. l := len(dAtA)
  12804. iNdEx := 0
  12805. for iNdEx < l {
  12806. preIndex := iNdEx
  12807. var wire uint64
  12808. for shift := uint(0); ; shift += 7 {
  12809. if shift >= 64 {
  12810. return ErrIntOverflowTypes
  12811. }
  12812. if iNdEx >= l {
  12813. return io.ErrUnexpectedEOF
  12814. }
  12815. b := dAtA[iNdEx]
  12816. iNdEx++
  12817. wire |= uint64(b&0x7F) << shift
  12818. if b < 0x80 {
  12819. break
  12820. }
  12821. }
  12822. fieldNum := int32(wire >> 3)
  12823. wireType := int(wire & 0x7)
  12824. if wireType == 4 {
  12825. return fmt.Errorf("proto: ResponseVerifyVoteExtension: wiretype end group for non-group")
  12826. }
  12827. if fieldNum <= 0 {
  12828. return fmt.Errorf("proto: ResponseVerifyVoteExtension: illegal tag %d (wire type %d)", fieldNum, wire)
  12829. }
  12830. switch fieldNum {
  12831. case 1:
  12832. if wireType != 0 {
  12833. return fmt.Errorf("proto: wrong wireType = %d for field Result", wireType)
  12834. }
  12835. m.Result = 0
  12836. for shift := uint(0); ; shift += 7 {
  12837. if shift >= 64 {
  12838. return ErrIntOverflowTypes
  12839. }
  12840. if iNdEx >= l {
  12841. return io.ErrUnexpectedEOF
  12842. }
  12843. b := dAtA[iNdEx]
  12844. iNdEx++
  12845. m.Result |= ResponseVerifyVoteExtension_Result(b&0x7F) << shift
  12846. if b < 0x80 {
  12847. break
  12848. }
  12849. }
  12850. default:
  12851. iNdEx = preIndex
  12852. skippy, err := skipTypes(dAtA[iNdEx:])
  12853. if err != nil {
  12854. return err
  12855. }
  12856. if (skippy < 0) || (iNdEx+skippy) < 0 {
  12857. return ErrInvalidLengthTypes
  12858. }
  12859. if (iNdEx + skippy) > l {
  12860. return io.ErrUnexpectedEOF
  12861. }
  12862. iNdEx += skippy
  12863. }
  12864. }
  12865. if iNdEx > l {
  12866. return io.ErrUnexpectedEOF
  12867. }
  12868. return nil
  12869. }
  12870. func (m *ResponseProcessProposal) Unmarshal(dAtA []byte) error {
  12871. l := len(dAtA)
  12872. iNdEx := 0
  12873. for iNdEx < l {
  12874. preIndex := iNdEx
  12875. var wire uint64
  12876. for shift := uint(0); ; shift += 7 {
  12877. if shift >= 64 {
  12878. return ErrIntOverflowTypes
  12879. }
  12880. if iNdEx >= l {
  12881. return io.ErrUnexpectedEOF
  12882. }
  12883. b := dAtA[iNdEx]
  12884. iNdEx++
  12885. wire |= uint64(b&0x7F) << shift
  12886. if b < 0x80 {
  12887. break
  12888. }
  12889. }
  12890. fieldNum := int32(wire >> 3)
  12891. wireType := int(wire & 0x7)
  12892. if wireType == 4 {
  12893. return fmt.Errorf("proto: ResponseProcessProposal: wiretype end group for non-group")
  12894. }
  12895. if fieldNum <= 0 {
  12896. return fmt.Errorf("proto: ResponseProcessProposal: illegal tag %d (wire type %d)", fieldNum, wire)
  12897. }
  12898. switch fieldNum {
  12899. case 1:
  12900. if wireType != 0 {
  12901. return fmt.Errorf("proto: wrong wireType = %d for field Result", wireType)
  12902. }
  12903. m.Result = 0
  12904. for shift := uint(0); ; shift += 7 {
  12905. if shift >= 64 {
  12906. return ErrIntOverflowTypes
  12907. }
  12908. if iNdEx >= l {
  12909. return io.ErrUnexpectedEOF
  12910. }
  12911. b := dAtA[iNdEx]
  12912. iNdEx++
  12913. m.Result |= ResponseProcessProposal_Result(b&0x7F) << shift
  12914. if b < 0x80 {
  12915. break
  12916. }
  12917. }
  12918. case 2:
  12919. if wireType != 2 {
  12920. return fmt.Errorf("proto: wrong wireType = %d for field Evidence", wireType)
  12921. }
  12922. var byteLen int
  12923. for shift := uint(0); ; shift += 7 {
  12924. if shift >= 64 {
  12925. return ErrIntOverflowTypes
  12926. }
  12927. if iNdEx >= l {
  12928. return io.ErrUnexpectedEOF
  12929. }
  12930. b := dAtA[iNdEx]
  12931. iNdEx++
  12932. byteLen |= int(b&0x7F) << shift
  12933. if b < 0x80 {
  12934. break
  12935. }
  12936. }
  12937. if byteLen < 0 {
  12938. return ErrInvalidLengthTypes
  12939. }
  12940. postIndex := iNdEx + byteLen
  12941. if postIndex < 0 {
  12942. return ErrInvalidLengthTypes
  12943. }
  12944. if postIndex > l {
  12945. return io.ErrUnexpectedEOF
  12946. }
  12947. m.Evidence = append(m.Evidence, make([]byte, postIndex-iNdEx))
  12948. copy(m.Evidence[len(m.Evidence)-1], dAtA[iNdEx:postIndex])
  12949. iNdEx = postIndex
  12950. default:
  12951. iNdEx = preIndex
  12952. skippy, err := skipTypes(dAtA[iNdEx:])
  12953. if err != nil {
  12954. return err
  12955. }
  12956. if (skippy < 0) || (iNdEx+skippy) < 0 {
  12957. return ErrInvalidLengthTypes
  12958. }
  12959. if (iNdEx + skippy) > l {
  12960. return io.ErrUnexpectedEOF
  12961. }
  12962. iNdEx += skippy
  12963. }
  12964. }
  12965. if iNdEx > l {
  12966. return io.ErrUnexpectedEOF
  12967. }
  12968. return nil
  12969. }
  12970. func (m *ResponseFinalizeBlock) Unmarshal(dAtA []byte) error {
  12971. l := len(dAtA)
  12972. iNdEx := 0
  12973. for iNdEx < l {
  12974. preIndex := iNdEx
  12975. var wire uint64
  12976. for shift := uint(0); ; shift += 7 {
  12977. if shift >= 64 {
  12978. return ErrIntOverflowTypes
  12979. }
  12980. if iNdEx >= l {
  12981. return io.ErrUnexpectedEOF
  12982. }
  12983. b := dAtA[iNdEx]
  12984. iNdEx++
  12985. wire |= uint64(b&0x7F) << shift
  12986. if b < 0x80 {
  12987. break
  12988. }
  12989. }
  12990. fieldNum := int32(wire >> 3)
  12991. wireType := int(wire & 0x7)
  12992. if wireType == 4 {
  12993. return fmt.Errorf("proto: ResponseFinalizeBlock: wiretype end group for non-group")
  12994. }
  12995. if fieldNum <= 0 {
  12996. return fmt.Errorf("proto: ResponseFinalizeBlock: illegal tag %d (wire type %d)", fieldNum, wire)
  12997. }
  12998. switch fieldNum {
  12999. case 1:
  13000. if wireType != 2 {
  13001. return fmt.Errorf("proto: wrong wireType = %d for field Txs", wireType)
  13002. }
  13003. var msglen int
  13004. for shift := uint(0); ; shift += 7 {
  13005. if shift >= 64 {
  13006. return ErrIntOverflowTypes
  13007. }
  13008. if iNdEx >= l {
  13009. return io.ErrUnexpectedEOF
  13010. }
  13011. b := dAtA[iNdEx]
  13012. iNdEx++
  13013. msglen |= int(b&0x7F) << shift
  13014. if b < 0x80 {
  13015. break
  13016. }
  13017. }
  13018. if msglen < 0 {
  13019. return ErrInvalidLengthTypes
  13020. }
  13021. postIndex := iNdEx + msglen
  13022. if postIndex < 0 {
  13023. return ErrInvalidLengthTypes
  13024. }
  13025. if postIndex > l {
  13026. return io.ErrUnexpectedEOF
  13027. }
  13028. m.Txs = append(m.Txs, &ResponseDeliverTx{})
  13029. if err := m.Txs[len(m.Txs)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  13030. return err
  13031. }
  13032. iNdEx = postIndex
  13033. case 2:
  13034. if wireType != 2 {
  13035. return fmt.Errorf("proto: wrong wireType = %d for field ValidatorUpdates", wireType)
  13036. }
  13037. var msglen int
  13038. for shift := uint(0); ; shift += 7 {
  13039. if shift >= 64 {
  13040. return ErrIntOverflowTypes
  13041. }
  13042. if iNdEx >= l {
  13043. return io.ErrUnexpectedEOF
  13044. }
  13045. b := dAtA[iNdEx]
  13046. iNdEx++
  13047. msglen |= int(b&0x7F) << shift
  13048. if b < 0x80 {
  13049. break
  13050. }
  13051. }
  13052. if msglen < 0 {
  13053. return ErrInvalidLengthTypes
  13054. }
  13055. postIndex := iNdEx + msglen
  13056. if postIndex < 0 {
  13057. return ErrInvalidLengthTypes
  13058. }
  13059. if postIndex > l {
  13060. return io.ErrUnexpectedEOF
  13061. }
  13062. m.ValidatorUpdates = append(m.ValidatorUpdates, ValidatorUpdate{})
  13063. if err := m.ValidatorUpdates[len(m.ValidatorUpdates)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  13064. return err
  13065. }
  13066. iNdEx = postIndex
  13067. case 3:
  13068. if wireType != 2 {
  13069. return fmt.Errorf("proto: wrong wireType = %d for field ConsensusParamUpdates", wireType)
  13070. }
  13071. var msglen int
  13072. for shift := uint(0); ; shift += 7 {
  13073. if shift >= 64 {
  13074. return ErrIntOverflowTypes
  13075. }
  13076. if iNdEx >= l {
  13077. return io.ErrUnexpectedEOF
  13078. }
  13079. b := dAtA[iNdEx]
  13080. iNdEx++
  13081. msglen |= int(b&0x7F) << shift
  13082. if b < 0x80 {
  13083. break
  13084. }
  13085. }
  13086. if msglen < 0 {
  13087. return ErrInvalidLengthTypes
  13088. }
  13089. postIndex := iNdEx + msglen
  13090. if postIndex < 0 {
  13091. return ErrInvalidLengthTypes
  13092. }
  13093. if postIndex > l {
  13094. return io.ErrUnexpectedEOF
  13095. }
  13096. if m.ConsensusParamUpdates == nil {
  13097. m.ConsensusParamUpdates = &types1.ConsensusParams{}
  13098. }
  13099. if err := m.ConsensusParamUpdates.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  13100. return err
  13101. }
  13102. iNdEx = postIndex
  13103. case 4:
  13104. if wireType != 2 {
  13105. return fmt.Errorf("proto: wrong wireType = %d for field Events", wireType)
  13106. }
  13107. var msglen int
  13108. for shift := uint(0); ; shift += 7 {
  13109. if shift >= 64 {
  13110. return ErrIntOverflowTypes
  13111. }
  13112. if iNdEx >= l {
  13113. return io.ErrUnexpectedEOF
  13114. }
  13115. b := dAtA[iNdEx]
  13116. iNdEx++
  13117. msglen |= int(b&0x7F) << shift
  13118. if b < 0x80 {
  13119. break
  13120. }
  13121. }
  13122. if msglen < 0 {
  13123. return ErrInvalidLengthTypes
  13124. }
  13125. postIndex := iNdEx + msglen
  13126. if postIndex < 0 {
  13127. return ErrInvalidLengthTypes
  13128. }
  13129. if postIndex > l {
  13130. return io.ErrUnexpectedEOF
  13131. }
  13132. m.Events = append(m.Events, Event{})
  13133. if err := m.Events[len(m.Events)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  13134. return err
  13135. }
  13136. iNdEx = postIndex
  13137. default:
  13138. iNdEx = preIndex
  13139. skippy, err := skipTypes(dAtA[iNdEx:])
  13140. if err != nil {
  13141. return err
  13142. }
  13143. if (skippy < 0) || (iNdEx+skippy) < 0 {
  13144. return ErrInvalidLengthTypes
  13145. }
  13146. if (iNdEx + skippy) > l {
  13147. return io.ErrUnexpectedEOF
  13148. }
  13149. iNdEx += skippy
  13150. }
  13151. }
  13152. if iNdEx > l {
  13153. return io.ErrUnexpectedEOF
  13154. }
  13155. return nil
  13156. }
  13157. func (m *LastCommitInfo) Unmarshal(dAtA []byte) error {
  13158. l := len(dAtA)
  13159. iNdEx := 0
  13160. for iNdEx < l {
  13161. preIndex := iNdEx
  13162. var wire uint64
  13163. for shift := uint(0); ; shift += 7 {
  13164. if shift >= 64 {
  13165. return ErrIntOverflowTypes
  13166. }
  13167. if iNdEx >= l {
  13168. return io.ErrUnexpectedEOF
  13169. }
  13170. b := dAtA[iNdEx]
  13171. iNdEx++
  13172. wire |= uint64(b&0x7F) << shift
  13173. if b < 0x80 {
  13174. break
  13175. }
  13176. }
  13177. fieldNum := int32(wire >> 3)
  13178. wireType := int(wire & 0x7)
  13179. if wireType == 4 {
  13180. return fmt.Errorf("proto: LastCommitInfo: wiretype end group for non-group")
  13181. }
  13182. if fieldNum <= 0 {
  13183. return fmt.Errorf("proto: LastCommitInfo: illegal tag %d (wire type %d)", fieldNum, wire)
  13184. }
  13185. switch fieldNum {
  13186. case 1:
  13187. if wireType != 0 {
  13188. return fmt.Errorf("proto: wrong wireType = %d for field Round", wireType)
  13189. }
  13190. m.Round = 0
  13191. for shift := uint(0); ; shift += 7 {
  13192. if shift >= 64 {
  13193. return ErrIntOverflowTypes
  13194. }
  13195. if iNdEx >= l {
  13196. return io.ErrUnexpectedEOF
  13197. }
  13198. b := dAtA[iNdEx]
  13199. iNdEx++
  13200. m.Round |= int32(b&0x7F) << shift
  13201. if b < 0x80 {
  13202. break
  13203. }
  13204. }
  13205. case 2:
  13206. if wireType != 2 {
  13207. return fmt.Errorf("proto: wrong wireType = %d for field Votes", wireType)
  13208. }
  13209. var msglen int
  13210. for shift := uint(0); ; shift += 7 {
  13211. if shift >= 64 {
  13212. return ErrIntOverflowTypes
  13213. }
  13214. if iNdEx >= l {
  13215. return io.ErrUnexpectedEOF
  13216. }
  13217. b := dAtA[iNdEx]
  13218. iNdEx++
  13219. msglen |= int(b&0x7F) << shift
  13220. if b < 0x80 {
  13221. break
  13222. }
  13223. }
  13224. if msglen < 0 {
  13225. return ErrInvalidLengthTypes
  13226. }
  13227. postIndex := iNdEx + msglen
  13228. if postIndex < 0 {
  13229. return ErrInvalidLengthTypes
  13230. }
  13231. if postIndex > l {
  13232. return io.ErrUnexpectedEOF
  13233. }
  13234. m.Votes = append(m.Votes, VoteInfo{})
  13235. if err := m.Votes[len(m.Votes)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  13236. return err
  13237. }
  13238. iNdEx = postIndex
  13239. default:
  13240. iNdEx = preIndex
  13241. skippy, err := skipTypes(dAtA[iNdEx:])
  13242. if err != nil {
  13243. return err
  13244. }
  13245. if (skippy < 0) || (iNdEx+skippy) < 0 {
  13246. return ErrInvalidLengthTypes
  13247. }
  13248. if (iNdEx + skippy) > l {
  13249. return io.ErrUnexpectedEOF
  13250. }
  13251. iNdEx += skippy
  13252. }
  13253. }
  13254. if iNdEx > l {
  13255. return io.ErrUnexpectedEOF
  13256. }
  13257. return nil
  13258. }
  13259. func (m *Event) Unmarshal(dAtA []byte) error {
  13260. l := len(dAtA)
  13261. iNdEx := 0
  13262. for iNdEx < l {
  13263. preIndex := iNdEx
  13264. var wire uint64
  13265. for shift := uint(0); ; shift += 7 {
  13266. if shift >= 64 {
  13267. return ErrIntOverflowTypes
  13268. }
  13269. if iNdEx >= l {
  13270. return io.ErrUnexpectedEOF
  13271. }
  13272. b := dAtA[iNdEx]
  13273. iNdEx++
  13274. wire |= uint64(b&0x7F) << shift
  13275. if b < 0x80 {
  13276. break
  13277. }
  13278. }
  13279. fieldNum := int32(wire >> 3)
  13280. wireType := int(wire & 0x7)
  13281. if wireType == 4 {
  13282. return fmt.Errorf("proto: Event: wiretype end group for non-group")
  13283. }
  13284. if fieldNum <= 0 {
  13285. return fmt.Errorf("proto: Event: illegal tag %d (wire type %d)", fieldNum, wire)
  13286. }
  13287. switch fieldNum {
  13288. case 1:
  13289. if wireType != 2 {
  13290. return fmt.Errorf("proto: wrong wireType = %d for field Type", wireType)
  13291. }
  13292. var stringLen uint64
  13293. for shift := uint(0); ; shift += 7 {
  13294. if shift >= 64 {
  13295. return ErrIntOverflowTypes
  13296. }
  13297. if iNdEx >= l {
  13298. return io.ErrUnexpectedEOF
  13299. }
  13300. b := dAtA[iNdEx]
  13301. iNdEx++
  13302. stringLen |= uint64(b&0x7F) << shift
  13303. if b < 0x80 {
  13304. break
  13305. }
  13306. }
  13307. intStringLen := int(stringLen)
  13308. if intStringLen < 0 {
  13309. return ErrInvalidLengthTypes
  13310. }
  13311. postIndex := iNdEx + intStringLen
  13312. if postIndex < 0 {
  13313. return ErrInvalidLengthTypes
  13314. }
  13315. if postIndex > l {
  13316. return io.ErrUnexpectedEOF
  13317. }
  13318. m.Type = string(dAtA[iNdEx:postIndex])
  13319. iNdEx = postIndex
  13320. case 2:
  13321. if wireType != 2 {
  13322. return fmt.Errorf("proto: wrong wireType = %d for field Attributes", wireType)
  13323. }
  13324. var msglen int
  13325. for shift := uint(0); ; shift += 7 {
  13326. if shift >= 64 {
  13327. return ErrIntOverflowTypes
  13328. }
  13329. if iNdEx >= l {
  13330. return io.ErrUnexpectedEOF
  13331. }
  13332. b := dAtA[iNdEx]
  13333. iNdEx++
  13334. msglen |= int(b&0x7F) << shift
  13335. if b < 0x80 {
  13336. break
  13337. }
  13338. }
  13339. if msglen < 0 {
  13340. return ErrInvalidLengthTypes
  13341. }
  13342. postIndex := iNdEx + msglen
  13343. if postIndex < 0 {
  13344. return ErrInvalidLengthTypes
  13345. }
  13346. if postIndex > l {
  13347. return io.ErrUnexpectedEOF
  13348. }
  13349. m.Attributes = append(m.Attributes, EventAttribute{})
  13350. if err := m.Attributes[len(m.Attributes)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  13351. return err
  13352. }
  13353. iNdEx = postIndex
  13354. default:
  13355. iNdEx = preIndex
  13356. skippy, err := skipTypes(dAtA[iNdEx:])
  13357. if err != nil {
  13358. return err
  13359. }
  13360. if (skippy < 0) || (iNdEx+skippy) < 0 {
  13361. return ErrInvalidLengthTypes
  13362. }
  13363. if (iNdEx + skippy) > l {
  13364. return io.ErrUnexpectedEOF
  13365. }
  13366. iNdEx += skippy
  13367. }
  13368. }
  13369. if iNdEx > l {
  13370. return io.ErrUnexpectedEOF
  13371. }
  13372. return nil
  13373. }
  13374. func (m *EventAttribute) Unmarshal(dAtA []byte) error {
  13375. l := len(dAtA)
  13376. iNdEx := 0
  13377. for iNdEx < l {
  13378. preIndex := iNdEx
  13379. var wire uint64
  13380. for shift := uint(0); ; shift += 7 {
  13381. if shift >= 64 {
  13382. return ErrIntOverflowTypes
  13383. }
  13384. if iNdEx >= l {
  13385. return io.ErrUnexpectedEOF
  13386. }
  13387. b := dAtA[iNdEx]
  13388. iNdEx++
  13389. wire |= uint64(b&0x7F) << shift
  13390. if b < 0x80 {
  13391. break
  13392. }
  13393. }
  13394. fieldNum := int32(wire >> 3)
  13395. wireType := int(wire & 0x7)
  13396. if wireType == 4 {
  13397. return fmt.Errorf("proto: EventAttribute: wiretype end group for non-group")
  13398. }
  13399. if fieldNum <= 0 {
  13400. return fmt.Errorf("proto: EventAttribute: illegal tag %d (wire type %d)", fieldNum, wire)
  13401. }
  13402. switch fieldNum {
  13403. case 1:
  13404. if wireType != 2 {
  13405. return fmt.Errorf("proto: wrong wireType = %d for field Key", wireType)
  13406. }
  13407. var stringLen uint64
  13408. for shift := uint(0); ; shift += 7 {
  13409. if shift >= 64 {
  13410. return ErrIntOverflowTypes
  13411. }
  13412. if iNdEx >= l {
  13413. return io.ErrUnexpectedEOF
  13414. }
  13415. b := dAtA[iNdEx]
  13416. iNdEx++
  13417. stringLen |= uint64(b&0x7F) << shift
  13418. if b < 0x80 {
  13419. break
  13420. }
  13421. }
  13422. intStringLen := int(stringLen)
  13423. if intStringLen < 0 {
  13424. return ErrInvalidLengthTypes
  13425. }
  13426. postIndex := iNdEx + intStringLen
  13427. if postIndex < 0 {
  13428. return ErrInvalidLengthTypes
  13429. }
  13430. if postIndex > l {
  13431. return io.ErrUnexpectedEOF
  13432. }
  13433. m.Key = string(dAtA[iNdEx:postIndex])
  13434. iNdEx = postIndex
  13435. case 2:
  13436. if wireType != 2 {
  13437. return fmt.Errorf("proto: wrong wireType = %d for field Value", wireType)
  13438. }
  13439. var stringLen uint64
  13440. for shift := uint(0); ; shift += 7 {
  13441. if shift >= 64 {
  13442. return ErrIntOverflowTypes
  13443. }
  13444. if iNdEx >= l {
  13445. return io.ErrUnexpectedEOF
  13446. }
  13447. b := dAtA[iNdEx]
  13448. iNdEx++
  13449. stringLen |= uint64(b&0x7F) << shift
  13450. if b < 0x80 {
  13451. break
  13452. }
  13453. }
  13454. intStringLen := int(stringLen)
  13455. if intStringLen < 0 {
  13456. return ErrInvalidLengthTypes
  13457. }
  13458. postIndex := iNdEx + intStringLen
  13459. if postIndex < 0 {
  13460. return ErrInvalidLengthTypes
  13461. }
  13462. if postIndex > l {
  13463. return io.ErrUnexpectedEOF
  13464. }
  13465. m.Value = string(dAtA[iNdEx:postIndex])
  13466. iNdEx = postIndex
  13467. case 3:
  13468. if wireType != 0 {
  13469. return fmt.Errorf("proto: wrong wireType = %d for field Index", wireType)
  13470. }
  13471. var v int
  13472. for shift := uint(0); ; shift += 7 {
  13473. if shift >= 64 {
  13474. return ErrIntOverflowTypes
  13475. }
  13476. if iNdEx >= l {
  13477. return io.ErrUnexpectedEOF
  13478. }
  13479. b := dAtA[iNdEx]
  13480. iNdEx++
  13481. v |= int(b&0x7F) << shift
  13482. if b < 0x80 {
  13483. break
  13484. }
  13485. }
  13486. m.Index = bool(v != 0)
  13487. default:
  13488. iNdEx = preIndex
  13489. skippy, err := skipTypes(dAtA[iNdEx:])
  13490. if err != nil {
  13491. return err
  13492. }
  13493. if (skippy < 0) || (iNdEx+skippy) < 0 {
  13494. return ErrInvalidLengthTypes
  13495. }
  13496. if (iNdEx + skippy) > l {
  13497. return io.ErrUnexpectedEOF
  13498. }
  13499. iNdEx += skippy
  13500. }
  13501. }
  13502. if iNdEx > l {
  13503. return io.ErrUnexpectedEOF
  13504. }
  13505. return nil
  13506. }
  13507. func (m *TxResult) Unmarshal(dAtA []byte) error {
  13508. l := len(dAtA)
  13509. iNdEx := 0
  13510. for iNdEx < l {
  13511. preIndex := iNdEx
  13512. var wire uint64
  13513. for shift := uint(0); ; shift += 7 {
  13514. if shift >= 64 {
  13515. return ErrIntOverflowTypes
  13516. }
  13517. if iNdEx >= l {
  13518. return io.ErrUnexpectedEOF
  13519. }
  13520. b := dAtA[iNdEx]
  13521. iNdEx++
  13522. wire |= uint64(b&0x7F) << shift
  13523. if b < 0x80 {
  13524. break
  13525. }
  13526. }
  13527. fieldNum := int32(wire >> 3)
  13528. wireType := int(wire & 0x7)
  13529. if wireType == 4 {
  13530. return fmt.Errorf("proto: TxResult: wiretype end group for non-group")
  13531. }
  13532. if fieldNum <= 0 {
  13533. return fmt.Errorf("proto: TxResult: illegal tag %d (wire type %d)", fieldNum, wire)
  13534. }
  13535. switch fieldNum {
  13536. case 1:
  13537. if wireType != 0 {
  13538. return fmt.Errorf("proto: wrong wireType = %d for field Height", wireType)
  13539. }
  13540. m.Height = 0
  13541. for shift := uint(0); ; shift += 7 {
  13542. if shift >= 64 {
  13543. return ErrIntOverflowTypes
  13544. }
  13545. if iNdEx >= l {
  13546. return io.ErrUnexpectedEOF
  13547. }
  13548. b := dAtA[iNdEx]
  13549. iNdEx++
  13550. m.Height |= int64(b&0x7F) << shift
  13551. if b < 0x80 {
  13552. break
  13553. }
  13554. }
  13555. case 2:
  13556. if wireType != 0 {
  13557. return fmt.Errorf("proto: wrong wireType = %d for field Index", wireType)
  13558. }
  13559. m.Index = 0
  13560. for shift := uint(0); ; shift += 7 {
  13561. if shift >= 64 {
  13562. return ErrIntOverflowTypes
  13563. }
  13564. if iNdEx >= l {
  13565. return io.ErrUnexpectedEOF
  13566. }
  13567. b := dAtA[iNdEx]
  13568. iNdEx++
  13569. m.Index |= uint32(b&0x7F) << shift
  13570. if b < 0x80 {
  13571. break
  13572. }
  13573. }
  13574. case 3:
  13575. if wireType != 2 {
  13576. return fmt.Errorf("proto: wrong wireType = %d for field Tx", wireType)
  13577. }
  13578. var byteLen int
  13579. for shift := uint(0); ; shift += 7 {
  13580. if shift >= 64 {
  13581. return ErrIntOverflowTypes
  13582. }
  13583. if iNdEx >= l {
  13584. return io.ErrUnexpectedEOF
  13585. }
  13586. b := dAtA[iNdEx]
  13587. iNdEx++
  13588. byteLen |= int(b&0x7F) << shift
  13589. if b < 0x80 {
  13590. break
  13591. }
  13592. }
  13593. if byteLen < 0 {
  13594. return ErrInvalidLengthTypes
  13595. }
  13596. postIndex := iNdEx + byteLen
  13597. if postIndex < 0 {
  13598. return ErrInvalidLengthTypes
  13599. }
  13600. if postIndex > l {
  13601. return io.ErrUnexpectedEOF
  13602. }
  13603. m.Tx = append(m.Tx[:0], dAtA[iNdEx:postIndex]...)
  13604. if m.Tx == nil {
  13605. m.Tx = []byte{}
  13606. }
  13607. iNdEx = postIndex
  13608. case 4:
  13609. if wireType != 2 {
  13610. return fmt.Errorf("proto: wrong wireType = %d for field Result", wireType)
  13611. }
  13612. var msglen int
  13613. for shift := uint(0); ; shift += 7 {
  13614. if shift >= 64 {
  13615. return ErrIntOverflowTypes
  13616. }
  13617. if iNdEx >= l {
  13618. return io.ErrUnexpectedEOF
  13619. }
  13620. b := dAtA[iNdEx]
  13621. iNdEx++
  13622. msglen |= int(b&0x7F) << shift
  13623. if b < 0x80 {
  13624. break
  13625. }
  13626. }
  13627. if msglen < 0 {
  13628. return ErrInvalidLengthTypes
  13629. }
  13630. postIndex := iNdEx + msglen
  13631. if postIndex < 0 {
  13632. return ErrInvalidLengthTypes
  13633. }
  13634. if postIndex > l {
  13635. return io.ErrUnexpectedEOF
  13636. }
  13637. if err := m.Result.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  13638. return err
  13639. }
  13640. iNdEx = postIndex
  13641. default:
  13642. iNdEx = preIndex
  13643. skippy, err := skipTypes(dAtA[iNdEx:])
  13644. if err != nil {
  13645. return err
  13646. }
  13647. if (skippy < 0) || (iNdEx+skippy) < 0 {
  13648. return ErrInvalidLengthTypes
  13649. }
  13650. if (iNdEx + skippy) > l {
  13651. return io.ErrUnexpectedEOF
  13652. }
  13653. iNdEx += skippy
  13654. }
  13655. }
  13656. if iNdEx > l {
  13657. return io.ErrUnexpectedEOF
  13658. }
  13659. return nil
  13660. }
  13661. func (m *Validator) Unmarshal(dAtA []byte) error {
  13662. l := len(dAtA)
  13663. iNdEx := 0
  13664. for iNdEx < l {
  13665. preIndex := iNdEx
  13666. var wire uint64
  13667. for shift := uint(0); ; shift += 7 {
  13668. if shift >= 64 {
  13669. return ErrIntOverflowTypes
  13670. }
  13671. if iNdEx >= l {
  13672. return io.ErrUnexpectedEOF
  13673. }
  13674. b := dAtA[iNdEx]
  13675. iNdEx++
  13676. wire |= uint64(b&0x7F) << shift
  13677. if b < 0x80 {
  13678. break
  13679. }
  13680. }
  13681. fieldNum := int32(wire >> 3)
  13682. wireType := int(wire & 0x7)
  13683. if wireType == 4 {
  13684. return fmt.Errorf("proto: Validator: wiretype end group for non-group")
  13685. }
  13686. if fieldNum <= 0 {
  13687. return fmt.Errorf("proto: Validator: illegal tag %d (wire type %d)", fieldNum, wire)
  13688. }
  13689. switch fieldNum {
  13690. case 1:
  13691. if wireType != 2 {
  13692. return fmt.Errorf("proto: wrong wireType = %d for field Address", wireType)
  13693. }
  13694. var byteLen int
  13695. for shift := uint(0); ; shift += 7 {
  13696. if shift >= 64 {
  13697. return ErrIntOverflowTypes
  13698. }
  13699. if iNdEx >= l {
  13700. return io.ErrUnexpectedEOF
  13701. }
  13702. b := dAtA[iNdEx]
  13703. iNdEx++
  13704. byteLen |= int(b&0x7F) << shift
  13705. if b < 0x80 {
  13706. break
  13707. }
  13708. }
  13709. if byteLen < 0 {
  13710. return ErrInvalidLengthTypes
  13711. }
  13712. postIndex := iNdEx + byteLen
  13713. if postIndex < 0 {
  13714. return ErrInvalidLengthTypes
  13715. }
  13716. if postIndex > l {
  13717. return io.ErrUnexpectedEOF
  13718. }
  13719. m.Address = append(m.Address[:0], dAtA[iNdEx:postIndex]...)
  13720. if m.Address == nil {
  13721. m.Address = []byte{}
  13722. }
  13723. iNdEx = postIndex
  13724. case 3:
  13725. if wireType != 0 {
  13726. return fmt.Errorf("proto: wrong wireType = %d for field Power", wireType)
  13727. }
  13728. m.Power = 0
  13729. for shift := uint(0); ; shift += 7 {
  13730. if shift >= 64 {
  13731. return ErrIntOverflowTypes
  13732. }
  13733. if iNdEx >= l {
  13734. return io.ErrUnexpectedEOF
  13735. }
  13736. b := dAtA[iNdEx]
  13737. iNdEx++
  13738. m.Power |= int64(b&0x7F) << shift
  13739. if b < 0x80 {
  13740. break
  13741. }
  13742. }
  13743. default:
  13744. iNdEx = preIndex
  13745. skippy, err := skipTypes(dAtA[iNdEx:])
  13746. if err != nil {
  13747. return err
  13748. }
  13749. if (skippy < 0) || (iNdEx+skippy) < 0 {
  13750. return ErrInvalidLengthTypes
  13751. }
  13752. if (iNdEx + skippy) > l {
  13753. return io.ErrUnexpectedEOF
  13754. }
  13755. iNdEx += skippy
  13756. }
  13757. }
  13758. if iNdEx > l {
  13759. return io.ErrUnexpectedEOF
  13760. }
  13761. return nil
  13762. }
  13763. func (m *ValidatorUpdate) Unmarshal(dAtA []byte) error {
  13764. l := len(dAtA)
  13765. iNdEx := 0
  13766. for iNdEx < l {
  13767. preIndex := iNdEx
  13768. var wire uint64
  13769. for shift := uint(0); ; shift += 7 {
  13770. if shift >= 64 {
  13771. return ErrIntOverflowTypes
  13772. }
  13773. if iNdEx >= l {
  13774. return io.ErrUnexpectedEOF
  13775. }
  13776. b := dAtA[iNdEx]
  13777. iNdEx++
  13778. wire |= uint64(b&0x7F) << shift
  13779. if b < 0x80 {
  13780. break
  13781. }
  13782. }
  13783. fieldNum := int32(wire >> 3)
  13784. wireType := int(wire & 0x7)
  13785. if wireType == 4 {
  13786. return fmt.Errorf("proto: ValidatorUpdate: wiretype end group for non-group")
  13787. }
  13788. if fieldNum <= 0 {
  13789. return fmt.Errorf("proto: ValidatorUpdate: illegal tag %d (wire type %d)", fieldNum, wire)
  13790. }
  13791. switch fieldNum {
  13792. case 1:
  13793. if wireType != 2 {
  13794. return fmt.Errorf("proto: wrong wireType = %d for field PubKey", wireType)
  13795. }
  13796. var msglen int
  13797. for shift := uint(0); ; shift += 7 {
  13798. if shift >= 64 {
  13799. return ErrIntOverflowTypes
  13800. }
  13801. if iNdEx >= l {
  13802. return io.ErrUnexpectedEOF
  13803. }
  13804. b := dAtA[iNdEx]
  13805. iNdEx++
  13806. msglen |= int(b&0x7F) << shift
  13807. if b < 0x80 {
  13808. break
  13809. }
  13810. }
  13811. if msglen < 0 {
  13812. return ErrInvalidLengthTypes
  13813. }
  13814. postIndex := iNdEx + msglen
  13815. if postIndex < 0 {
  13816. return ErrInvalidLengthTypes
  13817. }
  13818. if postIndex > l {
  13819. return io.ErrUnexpectedEOF
  13820. }
  13821. if err := m.PubKey.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  13822. return err
  13823. }
  13824. iNdEx = postIndex
  13825. case 2:
  13826. if wireType != 0 {
  13827. return fmt.Errorf("proto: wrong wireType = %d for field Power", wireType)
  13828. }
  13829. m.Power = 0
  13830. for shift := uint(0); ; shift += 7 {
  13831. if shift >= 64 {
  13832. return ErrIntOverflowTypes
  13833. }
  13834. if iNdEx >= l {
  13835. return io.ErrUnexpectedEOF
  13836. }
  13837. b := dAtA[iNdEx]
  13838. iNdEx++
  13839. m.Power |= int64(b&0x7F) << shift
  13840. if b < 0x80 {
  13841. break
  13842. }
  13843. }
  13844. default:
  13845. iNdEx = preIndex
  13846. skippy, err := skipTypes(dAtA[iNdEx:])
  13847. if err != nil {
  13848. return err
  13849. }
  13850. if (skippy < 0) || (iNdEx+skippy) < 0 {
  13851. return ErrInvalidLengthTypes
  13852. }
  13853. if (iNdEx + skippy) > l {
  13854. return io.ErrUnexpectedEOF
  13855. }
  13856. iNdEx += skippy
  13857. }
  13858. }
  13859. if iNdEx > l {
  13860. return io.ErrUnexpectedEOF
  13861. }
  13862. return nil
  13863. }
  13864. func (m *VoteInfo) Unmarshal(dAtA []byte) error {
  13865. l := len(dAtA)
  13866. iNdEx := 0
  13867. for iNdEx < l {
  13868. preIndex := iNdEx
  13869. var wire uint64
  13870. for shift := uint(0); ; shift += 7 {
  13871. if shift >= 64 {
  13872. return ErrIntOverflowTypes
  13873. }
  13874. if iNdEx >= l {
  13875. return io.ErrUnexpectedEOF
  13876. }
  13877. b := dAtA[iNdEx]
  13878. iNdEx++
  13879. wire |= uint64(b&0x7F) << shift
  13880. if b < 0x80 {
  13881. break
  13882. }
  13883. }
  13884. fieldNum := int32(wire >> 3)
  13885. wireType := int(wire & 0x7)
  13886. if wireType == 4 {
  13887. return fmt.Errorf("proto: VoteInfo: wiretype end group for non-group")
  13888. }
  13889. if fieldNum <= 0 {
  13890. return fmt.Errorf("proto: VoteInfo: illegal tag %d (wire type %d)", fieldNum, wire)
  13891. }
  13892. switch fieldNum {
  13893. case 1:
  13894. if wireType != 2 {
  13895. return fmt.Errorf("proto: wrong wireType = %d for field Validator", wireType)
  13896. }
  13897. var msglen int
  13898. for shift := uint(0); ; shift += 7 {
  13899. if shift >= 64 {
  13900. return ErrIntOverflowTypes
  13901. }
  13902. if iNdEx >= l {
  13903. return io.ErrUnexpectedEOF
  13904. }
  13905. b := dAtA[iNdEx]
  13906. iNdEx++
  13907. msglen |= int(b&0x7F) << shift
  13908. if b < 0x80 {
  13909. break
  13910. }
  13911. }
  13912. if msglen < 0 {
  13913. return ErrInvalidLengthTypes
  13914. }
  13915. postIndex := iNdEx + msglen
  13916. if postIndex < 0 {
  13917. return ErrInvalidLengthTypes
  13918. }
  13919. if postIndex > l {
  13920. return io.ErrUnexpectedEOF
  13921. }
  13922. if err := m.Validator.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  13923. return err
  13924. }
  13925. iNdEx = postIndex
  13926. case 2:
  13927. if wireType != 0 {
  13928. return fmt.Errorf("proto: wrong wireType = %d for field SignedLastBlock", wireType)
  13929. }
  13930. var v int
  13931. for shift := uint(0); ; shift += 7 {
  13932. if shift >= 64 {
  13933. return ErrIntOverflowTypes
  13934. }
  13935. if iNdEx >= l {
  13936. return io.ErrUnexpectedEOF
  13937. }
  13938. b := dAtA[iNdEx]
  13939. iNdEx++
  13940. v |= int(b&0x7F) << shift
  13941. if b < 0x80 {
  13942. break
  13943. }
  13944. }
  13945. m.SignedLastBlock = bool(v != 0)
  13946. default:
  13947. iNdEx = preIndex
  13948. skippy, err := skipTypes(dAtA[iNdEx:])
  13949. if err != nil {
  13950. return err
  13951. }
  13952. if (skippy < 0) || (iNdEx+skippy) < 0 {
  13953. return ErrInvalidLengthTypes
  13954. }
  13955. if (iNdEx + skippy) > l {
  13956. return io.ErrUnexpectedEOF
  13957. }
  13958. iNdEx += skippy
  13959. }
  13960. }
  13961. if iNdEx > l {
  13962. return io.ErrUnexpectedEOF
  13963. }
  13964. return nil
  13965. }
  13966. func (m *Evidence) Unmarshal(dAtA []byte) error {
  13967. l := len(dAtA)
  13968. iNdEx := 0
  13969. for iNdEx < l {
  13970. preIndex := iNdEx
  13971. var wire uint64
  13972. for shift := uint(0); ; shift += 7 {
  13973. if shift >= 64 {
  13974. return ErrIntOverflowTypes
  13975. }
  13976. if iNdEx >= l {
  13977. return io.ErrUnexpectedEOF
  13978. }
  13979. b := dAtA[iNdEx]
  13980. iNdEx++
  13981. wire |= uint64(b&0x7F) << shift
  13982. if b < 0x80 {
  13983. break
  13984. }
  13985. }
  13986. fieldNum := int32(wire >> 3)
  13987. wireType := int(wire & 0x7)
  13988. if wireType == 4 {
  13989. return fmt.Errorf("proto: Evidence: wiretype end group for non-group")
  13990. }
  13991. if fieldNum <= 0 {
  13992. return fmt.Errorf("proto: Evidence: illegal tag %d (wire type %d)", fieldNum, wire)
  13993. }
  13994. switch fieldNum {
  13995. case 1:
  13996. if wireType != 0 {
  13997. return fmt.Errorf("proto: wrong wireType = %d for field Type", wireType)
  13998. }
  13999. m.Type = 0
  14000. for shift := uint(0); ; shift += 7 {
  14001. if shift >= 64 {
  14002. return ErrIntOverflowTypes
  14003. }
  14004. if iNdEx >= l {
  14005. return io.ErrUnexpectedEOF
  14006. }
  14007. b := dAtA[iNdEx]
  14008. iNdEx++
  14009. m.Type |= EvidenceType(b&0x7F) << shift
  14010. if b < 0x80 {
  14011. break
  14012. }
  14013. }
  14014. case 2:
  14015. if wireType != 2 {
  14016. return fmt.Errorf("proto: wrong wireType = %d for field Validator", wireType)
  14017. }
  14018. var msglen int
  14019. for shift := uint(0); ; shift += 7 {
  14020. if shift >= 64 {
  14021. return ErrIntOverflowTypes
  14022. }
  14023. if iNdEx >= l {
  14024. return io.ErrUnexpectedEOF
  14025. }
  14026. b := dAtA[iNdEx]
  14027. iNdEx++
  14028. msglen |= int(b&0x7F) << shift
  14029. if b < 0x80 {
  14030. break
  14031. }
  14032. }
  14033. if msglen < 0 {
  14034. return ErrInvalidLengthTypes
  14035. }
  14036. postIndex := iNdEx + msglen
  14037. if postIndex < 0 {
  14038. return ErrInvalidLengthTypes
  14039. }
  14040. if postIndex > l {
  14041. return io.ErrUnexpectedEOF
  14042. }
  14043. if err := m.Validator.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  14044. return err
  14045. }
  14046. iNdEx = postIndex
  14047. case 3:
  14048. if wireType != 0 {
  14049. return fmt.Errorf("proto: wrong wireType = %d for field Height", wireType)
  14050. }
  14051. m.Height = 0
  14052. for shift := uint(0); ; shift += 7 {
  14053. if shift >= 64 {
  14054. return ErrIntOverflowTypes
  14055. }
  14056. if iNdEx >= l {
  14057. return io.ErrUnexpectedEOF
  14058. }
  14059. b := dAtA[iNdEx]
  14060. iNdEx++
  14061. m.Height |= int64(b&0x7F) << shift
  14062. if b < 0x80 {
  14063. break
  14064. }
  14065. }
  14066. case 4:
  14067. if wireType != 2 {
  14068. return fmt.Errorf("proto: wrong wireType = %d for field Time", wireType)
  14069. }
  14070. var msglen int
  14071. for shift := uint(0); ; shift += 7 {
  14072. if shift >= 64 {
  14073. return ErrIntOverflowTypes
  14074. }
  14075. if iNdEx >= l {
  14076. return io.ErrUnexpectedEOF
  14077. }
  14078. b := dAtA[iNdEx]
  14079. iNdEx++
  14080. msglen |= int(b&0x7F) << shift
  14081. if b < 0x80 {
  14082. break
  14083. }
  14084. }
  14085. if msglen < 0 {
  14086. return ErrInvalidLengthTypes
  14087. }
  14088. postIndex := iNdEx + msglen
  14089. if postIndex < 0 {
  14090. return ErrInvalidLengthTypes
  14091. }
  14092. if postIndex > l {
  14093. return io.ErrUnexpectedEOF
  14094. }
  14095. if err := github_com_gogo_protobuf_types.StdTimeUnmarshal(&m.Time, dAtA[iNdEx:postIndex]); err != nil {
  14096. return err
  14097. }
  14098. iNdEx = postIndex
  14099. case 5:
  14100. if wireType != 0 {
  14101. return fmt.Errorf("proto: wrong wireType = %d for field TotalVotingPower", wireType)
  14102. }
  14103. m.TotalVotingPower = 0
  14104. for shift := uint(0); ; shift += 7 {
  14105. if shift >= 64 {
  14106. return ErrIntOverflowTypes
  14107. }
  14108. if iNdEx >= l {
  14109. return io.ErrUnexpectedEOF
  14110. }
  14111. b := dAtA[iNdEx]
  14112. iNdEx++
  14113. m.TotalVotingPower |= int64(b&0x7F) << shift
  14114. if b < 0x80 {
  14115. break
  14116. }
  14117. }
  14118. default:
  14119. iNdEx = preIndex
  14120. skippy, err := skipTypes(dAtA[iNdEx:])
  14121. if err != nil {
  14122. return err
  14123. }
  14124. if (skippy < 0) || (iNdEx+skippy) < 0 {
  14125. return ErrInvalidLengthTypes
  14126. }
  14127. if (iNdEx + skippy) > l {
  14128. return io.ErrUnexpectedEOF
  14129. }
  14130. iNdEx += skippy
  14131. }
  14132. }
  14133. if iNdEx > l {
  14134. return io.ErrUnexpectedEOF
  14135. }
  14136. return nil
  14137. }
  14138. func (m *Snapshot) Unmarshal(dAtA []byte) error {
  14139. l := len(dAtA)
  14140. iNdEx := 0
  14141. for iNdEx < l {
  14142. preIndex := iNdEx
  14143. var wire uint64
  14144. for shift := uint(0); ; shift += 7 {
  14145. if shift >= 64 {
  14146. return ErrIntOverflowTypes
  14147. }
  14148. if iNdEx >= l {
  14149. return io.ErrUnexpectedEOF
  14150. }
  14151. b := dAtA[iNdEx]
  14152. iNdEx++
  14153. wire |= uint64(b&0x7F) << shift
  14154. if b < 0x80 {
  14155. break
  14156. }
  14157. }
  14158. fieldNum := int32(wire >> 3)
  14159. wireType := int(wire & 0x7)
  14160. if wireType == 4 {
  14161. return fmt.Errorf("proto: Snapshot: wiretype end group for non-group")
  14162. }
  14163. if fieldNum <= 0 {
  14164. return fmt.Errorf("proto: Snapshot: illegal tag %d (wire type %d)", fieldNum, wire)
  14165. }
  14166. switch fieldNum {
  14167. case 1:
  14168. if wireType != 0 {
  14169. return fmt.Errorf("proto: wrong wireType = %d for field Height", wireType)
  14170. }
  14171. m.Height = 0
  14172. for shift := uint(0); ; shift += 7 {
  14173. if shift >= 64 {
  14174. return ErrIntOverflowTypes
  14175. }
  14176. if iNdEx >= l {
  14177. return io.ErrUnexpectedEOF
  14178. }
  14179. b := dAtA[iNdEx]
  14180. iNdEx++
  14181. m.Height |= uint64(b&0x7F) << shift
  14182. if b < 0x80 {
  14183. break
  14184. }
  14185. }
  14186. case 2:
  14187. if wireType != 0 {
  14188. return fmt.Errorf("proto: wrong wireType = %d for field Format", wireType)
  14189. }
  14190. m.Format = 0
  14191. for shift := uint(0); ; shift += 7 {
  14192. if shift >= 64 {
  14193. return ErrIntOverflowTypes
  14194. }
  14195. if iNdEx >= l {
  14196. return io.ErrUnexpectedEOF
  14197. }
  14198. b := dAtA[iNdEx]
  14199. iNdEx++
  14200. m.Format |= uint32(b&0x7F) << shift
  14201. if b < 0x80 {
  14202. break
  14203. }
  14204. }
  14205. case 3:
  14206. if wireType != 0 {
  14207. return fmt.Errorf("proto: wrong wireType = %d for field Chunks", wireType)
  14208. }
  14209. m.Chunks = 0
  14210. for shift := uint(0); ; shift += 7 {
  14211. if shift >= 64 {
  14212. return ErrIntOverflowTypes
  14213. }
  14214. if iNdEx >= l {
  14215. return io.ErrUnexpectedEOF
  14216. }
  14217. b := dAtA[iNdEx]
  14218. iNdEx++
  14219. m.Chunks |= uint32(b&0x7F) << shift
  14220. if b < 0x80 {
  14221. break
  14222. }
  14223. }
  14224. case 4:
  14225. if wireType != 2 {
  14226. return fmt.Errorf("proto: wrong wireType = %d for field Hash", wireType)
  14227. }
  14228. var byteLen int
  14229. for shift := uint(0); ; shift += 7 {
  14230. if shift >= 64 {
  14231. return ErrIntOverflowTypes
  14232. }
  14233. if iNdEx >= l {
  14234. return io.ErrUnexpectedEOF
  14235. }
  14236. b := dAtA[iNdEx]
  14237. iNdEx++
  14238. byteLen |= int(b&0x7F) << shift
  14239. if b < 0x80 {
  14240. break
  14241. }
  14242. }
  14243. if byteLen < 0 {
  14244. return ErrInvalidLengthTypes
  14245. }
  14246. postIndex := iNdEx + byteLen
  14247. if postIndex < 0 {
  14248. return ErrInvalidLengthTypes
  14249. }
  14250. if postIndex > l {
  14251. return io.ErrUnexpectedEOF
  14252. }
  14253. m.Hash = append(m.Hash[:0], dAtA[iNdEx:postIndex]...)
  14254. if m.Hash == nil {
  14255. m.Hash = []byte{}
  14256. }
  14257. iNdEx = postIndex
  14258. case 5:
  14259. if wireType != 2 {
  14260. return fmt.Errorf("proto: wrong wireType = %d for field Metadata", wireType)
  14261. }
  14262. var byteLen int
  14263. for shift := uint(0); ; shift += 7 {
  14264. if shift >= 64 {
  14265. return ErrIntOverflowTypes
  14266. }
  14267. if iNdEx >= l {
  14268. return io.ErrUnexpectedEOF
  14269. }
  14270. b := dAtA[iNdEx]
  14271. iNdEx++
  14272. byteLen |= int(b&0x7F) << shift
  14273. if b < 0x80 {
  14274. break
  14275. }
  14276. }
  14277. if byteLen < 0 {
  14278. return ErrInvalidLengthTypes
  14279. }
  14280. postIndex := iNdEx + byteLen
  14281. if postIndex < 0 {
  14282. return ErrInvalidLengthTypes
  14283. }
  14284. if postIndex > l {
  14285. return io.ErrUnexpectedEOF
  14286. }
  14287. m.Metadata = append(m.Metadata[:0], dAtA[iNdEx:postIndex]...)
  14288. if m.Metadata == nil {
  14289. m.Metadata = []byte{}
  14290. }
  14291. iNdEx = postIndex
  14292. default:
  14293. iNdEx = preIndex
  14294. skippy, err := skipTypes(dAtA[iNdEx:])
  14295. if err != nil {
  14296. return err
  14297. }
  14298. if (skippy < 0) || (iNdEx+skippy) < 0 {
  14299. return ErrInvalidLengthTypes
  14300. }
  14301. if (iNdEx + skippy) > l {
  14302. return io.ErrUnexpectedEOF
  14303. }
  14304. iNdEx += skippy
  14305. }
  14306. }
  14307. if iNdEx > l {
  14308. return io.ErrUnexpectedEOF
  14309. }
  14310. return nil
  14311. }
  14312. func skipTypes(dAtA []byte) (n int, err error) {
  14313. l := len(dAtA)
  14314. iNdEx := 0
  14315. depth := 0
  14316. for iNdEx < l {
  14317. var wire uint64
  14318. for shift := uint(0); ; shift += 7 {
  14319. if shift >= 64 {
  14320. return 0, ErrIntOverflowTypes
  14321. }
  14322. if iNdEx >= l {
  14323. return 0, io.ErrUnexpectedEOF
  14324. }
  14325. b := dAtA[iNdEx]
  14326. iNdEx++
  14327. wire |= (uint64(b) & 0x7F) << shift
  14328. if b < 0x80 {
  14329. break
  14330. }
  14331. }
  14332. wireType := int(wire & 0x7)
  14333. switch wireType {
  14334. case 0:
  14335. for shift := uint(0); ; shift += 7 {
  14336. if shift >= 64 {
  14337. return 0, ErrIntOverflowTypes
  14338. }
  14339. if iNdEx >= l {
  14340. return 0, io.ErrUnexpectedEOF
  14341. }
  14342. iNdEx++
  14343. if dAtA[iNdEx-1] < 0x80 {
  14344. break
  14345. }
  14346. }
  14347. case 1:
  14348. iNdEx += 8
  14349. case 2:
  14350. var length int
  14351. for shift := uint(0); ; shift += 7 {
  14352. if shift >= 64 {
  14353. return 0, ErrIntOverflowTypes
  14354. }
  14355. if iNdEx >= l {
  14356. return 0, io.ErrUnexpectedEOF
  14357. }
  14358. b := dAtA[iNdEx]
  14359. iNdEx++
  14360. length |= (int(b) & 0x7F) << shift
  14361. if b < 0x80 {
  14362. break
  14363. }
  14364. }
  14365. if length < 0 {
  14366. return 0, ErrInvalidLengthTypes
  14367. }
  14368. iNdEx += length
  14369. case 3:
  14370. depth++
  14371. case 4:
  14372. if depth == 0 {
  14373. return 0, ErrUnexpectedEndOfGroupTypes
  14374. }
  14375. depth--
  14376. case 5:
  14377. iNdEx += 4
  14378. default:
  14379. return 0, fmt.Errorf("proto: illegal wireType %d", wireType)
  14380. }
  14381. if iNdEx < 0 {
  14382. return 0, ErrInvalidLengthTypes
  14383. }
  14384. if depth == 0 {
  14385. return iNdEx, nil
  14386. }
  14387. }
  14388. return 0, io.ErrUnexpectedEOF
  14389. }
  14390. var (
  14391. ErrInvalidLengthTypes = fmt.Errorf("proto: negative length found during unmarshaling")
  14392. ErrIntOverflowTypes = fmt.Errorf("proto: integer overflow")
  14393. ErrUnexpectedEndOfGroupTypes = fmt.Errorf("proto: unexpected end of group")
  14394. )