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.

14381 lines
340 KiB

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
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
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
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 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
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
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
  1. // Code generated by protoc-gen-gogo. DO NOT EDIT.
  2. // source: tendermint/abci/abci.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. keys "github.com/tendermint/tendermint/proto/tendermint/crypto/keys"
  12. merkle "github.com/tendermint/tendermint/proto/tendermint/crypto/merkle"
  13. types1 "github.com/tendermint/tendermint/proto/tendermint/types"
  14. grpc "google.golang.org/grpc"
  15. codes "google.golang.org/grpc/codes"
  16. status "google.golang.org/grpc/status"
  17. io "io"
  18. math "math"
  19. math_bits "math/bits"
  20. time "time"
  21. )
  22. // Reference imports to suppress errors if they are not otherwise used.
  23. var _ = proto.Marshal
  24. var _ = fmt.Errorf
  25. var _ = math.Inf
  26. var _ = time.Kitchen
  27. // This is a compile-time assertion to ensure that this generated file
  28. // is compatible with the proto package it is being compiled against.
  29. // A compilation error at this line likely means your copy of the
  30. // proto package needs to be updated.
  31. const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package
  32. type CheckTxType int32
  33. const (
  34. CheckTxType_New CheckTxType = 0
  35. CheckTxType_Recheck CheckTxType = 1
  36. )
  37. var CheckTxType_name = map[int32]string{
  38. 0: "New",
  39. 1: "Recheck",
  40. }
  41. var CheckTxType_value = map[string]int32{
  42. "New": 0,
  43. "Recheck": 1,
  44. }
  45. func (x CheckTxType) String() string {
  46. return proto.EnumName(CheckTxType_name, int32(x))
  47. }
  48. func (CheckTxType) EnumDescriptor() ([]byte, []int) {
  49. return fileDescriptor_51a5414a4a9be4c5, []int{0}
  50. }
  51. type ResponseOfferSnapshot_Result int32
  52. const (
  53. ResponseOfferSnapshot_ACCEPT ResponseOfferSnapshot_Result = 0
  54. ResponseOfferSnapshot_ABORT ResponseOfferSnapshot_Result = 1
  55. ResponseOfferSnapshot_REJECT ResponseOfferSnapshot_Result = 2
  56. ResponseOfferSnapshot_REJECT_FORMAT ResponseOfferSnapshot_Result = 3
  57. ResponseOfferSnapshot_REJECT_SENDER ResponseOfferSnapshot_Result = 4
  58. )
  59. var ResponseOfferSnapshot_Result_name = map[int32]string{
  60. 0: "ACCEPT",
  61. 1: "ABORT",
  62. 2: "REJECT",
  63. 3: "REJECT_FORMAT",
  64. 4: "REJECT_SENDER",
  65. }
  66. var ResponseOfferSnapshot_Result_value = map[string]int32{
  67. "ACCEPT": 0,
  68. "ABORT": 1,
  69. "REJECT": 2,
  70. "REJECT_FORMAT": 3,
  71. "REJECT_SENDER": 4,
  72. }
  73. func (x ResponseOfferSnapshot_Result) String() string {
  74. return proto.EnumName(ResponseOfferSnapshot_Result_name, int32(x))
  75. }
  76. func (ResponseOfferSnapshot_Result) EnumDescriptor() ([]byte, []int) {
  77. return fileDescriptor_51a5414a4a9be4c5, []int{30, 0}
  78. }
  79. type ResponseApplySnapshotChunk_Result int32
  80. const (
  81. ResponseApplySnapshotChunk_ACCEPT ResponseApplySnapshotChunk_Result = 0
  82. ResponseApplySnapshotChunk_ABORT ResponseApplySnapshotChunk_Result = 1
  83. ResponseApplySnapshotChunk_RETRY ResponseApplySnapshotChunk_Result = 2
  84. ResponseApplySnapshotChunk_RETRY_SNAPSHOT ResponseApplySnapshotChunk_Result = 3
  85. ResponseApplySnapshotChunk_REJECT_SNAPSHOT ResponseApplySnapshotChunk_Result = 4
  86. )
  87. var ResponseApplySnapshotChunk_Result_name = map[int32]string{
  88. 0: "ACCEPT",
  89. 1: "ABORT",
  90. 2: "RETRY",
  91. 3: "RETRY_SNAPSHOT",
  92. 4: "REJECT_SNAPSHOT",
  93. }
  94. var ResponseApplySnapshotChunk_Result_value = map[string]int32{
  95. "ACCEPT": 0,
  96. "ABORT": 1,
  97. "RETRY": 2,
  98. "RETRY_SNAPSHOT": 3,
  99. "REJECT_SNAPSHOT": 4,
  100. }
  101. func (x ResponseApplySnapshotChunk_Result) String() string {
  102. return proto.EnumName(ResponseApplySnapshotChunk_Result_name, int32(x))
  103. }
  104. func (ResponseApplySnapshotChunk_Result) EnumDescriptor() ([]byte, []int) {
  105. return fileDescriptor_51a5414a4a9be4c5, []int{32, 0}
  106. }
  107. type Request struct {
  108. // Types that are valid to be assigned to Value:
  109. // *Request_Echo
  110. // *Request_Flush
  111. // *Request_Info
  112. // *Request_SetOption
  113. // *Request_InitChain
  114. // *Request_Query
  115. // *Request_BeginBlock
  116. // *Request_CheckTx
  117. // *Request_DeliverTx
  118. // *Request_EndBlock
  119. // *Request_Commit
  120. // *Request_ListSnapshots
  121. // *Request_OfferSnapshot
  122. // *Request_LoadSnapshotChunk
  123. // *Request_ApplySnapshotChunk
  124. Value isRequest_Value `protobuf_oneof:"value"`
  125. }
  126. func (m *Request) Reset() { *m = Request{} }
  127. func (m *Request) String() string { return proto.CompactTextString(m) }
  128. func (*Request) ProtoMessage() {}
  129. func (*Request) Descriptor() ([]byte, []int) {
  130. return fileDescriptor_51a5414a4a9be4c5, []int{0}
  131. }
  132. func (m *Request) XXX_Unmarshal(b []byte) error {
  133. return m.Unmarshal(b)
  134. }
  135. func (m *Request) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  136. if deterministic {
  137. return xxx_messageInfo_Request.Marshal(b, m, deterministic)
  138. } else {
  139. b = b[:cap(b)]
  140. n, err := m.MarshalToSizedBuffer(b)
  141. if err != nil {
  142. return nil, err
  143. }
  144. return b[:n], nil
  145. }
  146. }
  147. func (m *Request) XXX_Merge(src proto.Message) {
  148. xxx_messageInfo_Request.Merge(m, src)
  149. }
  150. func (m *Request) XXX_Size() int {
  151. return m.Size()
  152. }
  153. func (m *Request) XXX_DiscardUnknown() {
  154. xxx_messageInfo_Request.DiscardUnknown(m)
  155. }
  156. var xxx_messageInfo_Request proto.InternalMessageInfo
  157. type isRequest_Value interface {
  158. isRequest_Value()
  159. MarshalTo([]byte) (int, error)
  160. Size() int
  161. }
  162. type Request_Echo struct {
  163. Echo *RequestEcho `protobuf:"bytes,2,opt,name=echo,proto3,oneof" json:"echo,omitempty"`
  164. }
  165. type Request_Flush struct {
  166. Flush *RequestFlush `protobuf:"bytes,3,opt,name=flush,proto3,oneof" json:"flush,omitempty"`
  167. }
  168. type Request_Info struct {
  169. Info *RequestInfo `protobuf:"bytes,4,opt,name=info,proto3,oneof" json:"info,omitempty"`
  170. }
  171. type Request_SetOption struct {
  172. SetOption *RequestSetOption `protobuf:"bytes,5,opt,name=set_option,json=setOption,proto3,oneof" json:"set_option,omitempty"`
  173. }
  174. type Request_InitChain struct {
  175. InitChain *RequestInitChain `protobuf:"bytes,6,opt,name=init_chain,json=initChain,proto3,oneof" json:"init_chain,omitempty"`
  176. }
  177. type Request_Query struct {
  178. Query *RequestQuery `protobuf:"bytes,7,opt,name=query,proto3,oneof" json:"query,omitempty"`
  179. }
  180. type Request_BeginBlock struct {
  181. BeginBlock *RequestBeginBlock `protobuf:"bytes,8,opt,name=begin_block,json=beginBlock,proto3,oneof" json:"begin_block,omitempty"`
  182. }
  183. type Request_CheckTx struct {
  184. CheckTx *RequestCheckTx `protobuf:"bytes,9,opt,name=check_tx,json=checkTx,proto3,oneof" json:"check_tx,omitempty"`
  185. }
  186. type Request_DeliverTx struct {
  187. DeliverTx *RequestDeliverTx `protobuf:"bytes,19,opt,name=deliver_tx,json=deliverTx,proto3,oneof" json:"deliver_tx,omitempty"`
  188. }
  189. type Request_EndBlock struct {
  190. EndBlock *RequestEndBlock `protobuf:"bytes,11,opt,name=end_block,json=endBlock,proto3,oneof" json:"end_block,omitempty"`
  191. }
  192. type Request_Commit struct {
  193. Commit *RequestCommit `protobuf:"bytes,12,opt,name=commit,proto3,oneof" json:"commit,omitempty"`
  194. }
  195. type Request_ListSnapshots struct {
  196. ListSnapshots *RequestListSnapshots `protobuf:"bytes,13,opt,name=list_snapshots,json=listSnapshots,proto3,oneof" json:"list_snapshots,omitempty"`
  197. }
  198. type Request_OfferSnapshot struct {
  199. OfferSnapshot *RequestOfferSnapshot `protobuf:"bytes,14,opt,name=offer_snapshot,json=offerSnapshot,proto3,oneof" json:"offer_snapshot,omitempty"`
  200. }
  201. type Request_LoadSnapshotChunk struct {
  202. LoadSnapshotChunk *RequestLoadSnapshotChunk `protobuf:"bytes,15,opt,name=load_snapshot_chunk,json=loadSnapshotChunk,proto3,oneof" json:"load_snapshot_chunk,omitempty"`
  203. }
  204. type Request_ApplySnapshotChunk struct {
  205. ApplySnapshotChunk *RequestApplySnapshotChunk `protobuf:"bytes,16,opt,name=apply_snapshot_chunk,json=applySnapshotChunk,proto3,oneof" json:"apply_snapshot_chunk,omitempty"`
  206. }
  207. func (*Request_Echo) isRequest_Value() {}
  208. func (*Request_Flush) isRequest_Value() {}
  209. func (*Request_Info) isRequest_Value() {}
  210. func (*Request_SetOption) isRequest_Value() {}
  211. func (*Request_InitChain) isRequest_Value() {}
  212. func (*Request_Query) isRequest_Value() {}
  213. func (*Request_BeginBlock) isRequest_Value() {}
  214. func (*Request_CheckTx) isRequest_Value() {}
  215. func (*Request_DeliverTx) isRequest_Value() {}
  216. func (*Request_EndBlock) isRequest_Value() {}
  217. func (*Request_Commit) isRequest_Value() {}
  218. func (*Request_ListSnapshots) isRequest_Value() {}
  219. func (*Request_OfferSnapshot) isRequest_Value() {}
  220. func (*Request_LoadSnapshotChunk) isRequest_Value() {}
  221. func (*Request_ApplySnapshotChunk) isRequest_Value() {}
  222. func (m *Request) GetValue() isRequest_Value {
  223. if m != nil {
  224. return m.Value
  225. }
  226. return nil
  227. }
  228. func (m *Request) GetEcho() *RequestEcho {
  229. if x, ok := m.GetValue().(*Request_Echo); ok {
  230. return x.Echo
  231. }
  232. return nil
  233. }
  234. func (m *Request) GetFlush() *RequestFlush {
  235. if x, ok := m.GetValue().(*Request_Flush); ok {
  236. return x.Flush
  237. }
  238. return nil
  239. }
  240. func (m *Request) GetInfo() *RequestInfo {
  241. if x, ok := m.GetValue().(*Request_Info); ok {
  242. return x.Info
  243. }
  244. return nil
  245. }
  246. func (m *Request) GetSetOption() *RequestSetOption {
  247. if x, ok := m.GetValue().(*Request_SetOption); ok {
  248. return x.SetOption
  249. }
  250. return nil
  251. }
  252. func (m *Request) GetInitChain() *RequestInitChain {
  253. if x, ok := m.GetValue().(*Request_InitChain); ok {
  254. return x.InitChain
  255. }
  256. return nil
  257. }
  258. func (m *Request) GetQuery() *RequestQuery {
  259. if x, ok := m.GetValue().(*Request_Query); ok {
  260. return x.Query
  261. }
  262. return nil
  263. }
  264. func (m *Request) GetBeginBlock() *RequestBeginBlock {
  265. if x, ok := m.GetValue().(*Request_BeginBlock); ok {
  266. return x.BeginBlock
  267. }
  268. return nil
  269. }
  270. func (m *Request) GetCheckTx() *RequestCheckTx {
  271. if x, ok := m.GetValue().(*Request_CheckTx); ok {
  272. return x.CheckTx
  273. }
  274. return nil
  275. }
  276. func (m *Request) GetDeliverTx() *RequestDeliverTx {
  277. if x, ok := m.GetValue().(*Request_DeliverTx); ok {
  278. return x.DeliverTx
  279. }
  280. return nil
  281. }
  282. func (m *Request) GetEndBlock() *RequestEndBlock {
  283. if x, ok := m.GetValue().(*Request_EndBlock); ok {
  284. return x.EndBlock
  285. }
  286. return nil
  287. }
  288. func (m *Request) GetCommit() *RequestCommit {
  289. if x, ok := m.GetValue().(*Request_Commit); ok {
  290. return x.Commit
  291. }
  292. return nil
  293. }
  294. func (m *Request) GetListSnapshots() *RequestListSnapshots {
  295. if x, ok := m.GetValue().(*Request_ListSnapshots); ok {
  296. return x.ListSnapshots
  297. }
  298. return nil
  299. }
  300. func (m *Request) GetOfferSnapshot() *RequestOfferSnapshot {
  301. if x, ok := m.GetValue().(*Request_OfferSnapshot); ok {
  302. return x.OfferSnapshot
  303. }
  304. return nil
  305. }
  306. func (m *Request) GetLoadSnapshotChunk() *RequestLoadSnapshotChunk {
  307. if x, ok := m.GetValue().(*Request_LoadSnapshotChunk); ok {
  308. return x.LoadSnapshotChunk
  309. }
  310. return nil
  311. }
  312. func (m *Request) GetApplySnapshotChunk() *RequestApplySnapshotChunk {
  313. if x, ok := m.GetValue().(*Request_ApplySnapshotChunk); ok {
  314. return x.ApplySnapshotChunk
  315. }
  316. return nil
  317. }
  318. // XXX_OneofWrappers is for the internal use of the proto package.
  319. func (*Request) XXX_OneofWrappers() []interface{} {
  320. return []interface{}{
  321. (*Request_Echo)(nil),
  322. (*Request_Flush)(nil),
  323. (*Request_Info)(nil),
  324. (*Request_SetOption)(nil),
  325. (*Request_InitChain)(nil),
  326. (*Request_Query)(nil),
  327. (*Request_BeginBlock)(nil),
  328. (*Request_CheckTx)(nil),
  329. (*Request_DeliverTx)(nil),
  330. (*Request_EndBlock)(nil),
  331. (*Request_Commit)(nil),
  332. (*Request_ListSnapshots)(nil),
  333. (*Request_OfferSnapshot)(nil),
  334. (*Request_LoadSnapshotChunk)(nil),
  335. (*Request_ApplySnapshotChunk)(nil),
  336. }
  337. }
  338. type RequestEcho struct {
  339. Message string `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"`
  340. }
  341. func (m *RequestEcho) Reset() { *m = RequestEcho{} }
  342. func (m *RequestEcho) String() string { return proto.CompactTextString(m) }
  343. func (*RequestEcho) ProtoMessage() {}
  344. func (*RequestEcho) Descriptor() ([]byte, []int) {
  345. return fileDescriptor_51a5414a4a9be4c5, []int{1}
  346. }
  347. func (m *RequestEcho) XXX_Unmarshal(b []byte) error {
  348. return m.Unmarshal(b)
  349. }
  350. func (m *RequestEcho) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  351. if deterministic {
  352. return xxx_messageInfo_RequestEcho.Marshal(b, m, deterministic)
  353. } else {
  354. b = b[:cap(b)]
  355. n, err := m.MarshalToSizedBuffer(b)
  356. if err != nil {
  357. return nil, err
  358. }
  359. return b[:n], nil
  360. }
  361. }
  362. func (m *RequestEcho) XXX_Merge(src proto.Message) {
  363. xxx_messageInfo_RequestEcho.Merge(m, src)
  364. }
  365. func (m *RequestEcho) XXX_Size() int {
  366. return m.Size()
  367. }
  368. func (m *RequestEcho) XXX_DiscardUnknown() {
  369. xxx_messageInfo_RequestEcho.DiscardUnknown(m)
  370. }
  371. var xxx_messageInfo_RequestEcho proto.InternalMessageInfo
  372. func (m *RequestEcho) GetMessage() string {
  373. if m != nil {
  374. return m.Message
  375. }
  376. return ""
  377. }
  378. type RequestFlush struct {
  379. }
  380. func (m *RequestFlush) Reset() { *m = RequestFlush{} }
  381. func (m *RequestFlush) String() string { return proto.CompactTextString(m) }
  382. func (*RequestFlush) ProtoMessage() {}
  383. func (*RequestFlush) Descriptor() ([]byte, []int) {
  384. return fileDescriptor_51a5414a4a9be4c5, []int{2}
  385. }
  386. func (m *RequestFlush) XXX_Unmarshal(b []byte) error {
  387. return m.Unmarshal(b)
  388. }
  389. func (m *RequestFlush) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  390. if deterministic {
  391. return xxx_messageInfo_RequestFlush.Marshal(b, m, deterministic)
  392. } else {
  393. b = b[:cap(b)]
  394. n, err := m.MarshalToSizedBuffer(b)
  395. if err != nil {
  396. return nil, err
  397. }
  398. return b[:n], nil
  399. }
  400. }
  401. func (m *RequestFlush) XXX_Merge(src proto.Message) {
  402. xxx_messageInfo_RequestFlush.Merge(m, src)
  403. }
  404. func (m *RequestFlush) XXX_Size() int {
  405. return m.Size()
  406. }
  407. func (m *RequestFlush) XXX_DiscardUnknown() {
  408. xxx_messageInfo_RequestFlush.DiscardUnknown(m)
  409. }
  410. var xxx_messageInfo_RequestFlush proto.InternalMessageInfo
  411. type RequestInfo struct {
  412. Version string `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"`
  413. BlockVersion uint64 `protobuf:"varint,2,opt,name=block_version,json=blockVersion,proto3" json:"block_version,omitempty"`
  414. P2PVersion uint64 `protobuf:"varint,3,opt,name=p2p_version,json=p2pVersion,proto3" json:"p2p_version,omitempty"`
  415. }
  416. func (m *RequestInfo) Reset() { *m = RequestInfo{} }
  417. func (m *RequestInfo) String() string { return proto.CompactTextString(m) }
  418. func (*RequestInfo) ProtoMessage() {}
  419. func (*RequestInfo) Descriptor() ([]byte, []int) {
  420. return fileDescriptor_51a5414a4a9be4c5, []int{3}
  421. }
  422. func (m *RequestInfo) XXX_Unmarshal(b []byte) error {
  423. return m.Unmarshal(b)
  424. }
  425. func (m *RequestInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  426. if deterministic {
  427. return xxx_messageInfo_RequestInfo.Marshal(b, m, deterministic)
  428. } else {
  429. b = b[:cap(b)]
  430. n, err := m.MarshalToSizedBuffer(b)
  431. if err != nil {
  432. return nil, err
  433. }
  434. return b[:n], nil
  435. }
  436. }
  437. func (m *RequestInfo) XXX_Merge(src proto.Message) {
  438. xxx_messageInfo_RequestInfo.Merge(m, src)
  439. }
  440. func (m *RequestInfo) XXX_Size() int {
  441. return m.Size()
  442. }
  443. func (m *RequestInfo) XXX_DiscardUnknown() {
  444. xxx_messageInfo_RequestInfo.DiscardUnknown(m)
  445. }
  446. var xxx_messageInfo_RequestInfo proto.InternalMessageInfo
  447. func (m *RequestInfo) GetVersion() string {
  448. if m != nil {
  449. return m.Version
  450. }
  451. return ""
  452. }
  453. func (m *RequestInfo) GetBlockVersion() uint64 {
  454. if m != nil {
  455. return m.BlockVersion
  456. }
  457. return 0
  458. }
  459. func (m *RequestInfo) GetP2PVersion() uint64 {
  460. if m != nil {
  461. return m.P2PVersion
  462. }
  463. return 0
  464. }
  465. // nondeterministic
  466. type RequestSetOption struct {
  467. Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
  468. Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
  469. }
  470. func (m *RequestSetOption) Reset() { *m = RequestSetOption{} }
  471. func (m *RequestSetOption) String() string { return proto.CompactTextString(m) }
  472. func (*RequestSetOption) ProtoMessage() {}
  473. func (*RequestSetOption) Descriptor() ([]byte, []int) {
  474. return fileDescriptor_51a5414a4a9be4c5, []int{4}
  475. }
  476. func (m *RequestSetOption) XXX_Unmarshal(b []byte) error {
  477. return m.Unmarshal(b)
  478. }
  479. func (m *RequestSetOption) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  480. if deterministic {
  481. return xxx_messageInfo_RequestSetOption.Marshal(b, m, deterministic)
  482. } else {
  483. b = b[:cap(b)]
  484. n, err := m.MarshalToSizedBuffer(b)
  485. if err != nil {
  486. return nil, err
  487. }
  488. return b[:n], nil
  489. }
  490. }
  491. func (m *RequestSetOption) XXX_Merge(src proto.Message) {
  492. xxx_messageInfo_RequestSetOption.Merge(m, src)
  493. }
  494. func (m *RequestSetOption) XXX_Size() int {
  495. return m.Size()
  496. }
  497. func (m *RequestSetOption) XXX_DiscardUnknown() {
  498. xxx_messageInfo_RequestSetOption.DiscardUnknown(m)
  499. }
  500. var xxx_messageInfo_RequestSetOption proto.InternalMessageInfo
  501. func (m *RequestSetOption) GetKey() string {
  502. if m != nil {
  503. return m.Key
  504. }
  505. return ""
  506. }
  507. func (m *RequestSetOption) GetValue() string {
  508. if m != nil {
  509. return m.Value
  510. }
  511. return ""
  512. }
  513. type RequestInitChain struct {
  514. Time time.Time `protobuf:"bytes,1,opt,name=time,proto3,stdtime" json:"time"`
  515. ChainId string `protobuf:"bytes,2,opt,name=chain_id,json=chainId,proto3" json:"chain_id,omitempty"`
  516. ConsensusParams *ConsensusParams `protobuf:"bytes,3,opt,name=consensus_params,json=consensusParams,proto3" json:"consensus_params,omitempty"`
  517. Validators []ValidatorUpdate `protobuf:"bytes,4,rep,name=validators,proto3" json:"validators"`
  518. AppStateBytes []byte `protobuf:"bytes,5,opt,name=app_state_bytes,json=appStateBytes,proto3" json:"app_state_bytes,omitempty"`
  519. }
  520. func (m *RequestInitChain) Reset() { *m = RequestInitChain{} }
  521. func (m *RequestInitChain) String() string { return proto.CompactTextString(m) }
  522. func (*RequestInitChain) ProtoMessage() {}
  523. func (*RequestInitChain) Descriptor() ([]byte, []int) {
  524. return fileDescriptor_51a5414a4a9be4c5, []int{5}
  525. }
  526. func (m *RequestInitChain) XXX_Unmarshal(b []byte) error {
  527. return m.Unmarshal(b)
  528. }
  529. func (m *RequestInitChain) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  530. if deterministic {
  531. return xxx_messageInfo_RequestInitChain.Marshal(b, m, deterministic)
  532. } else {
  533. b = b[:cap(b)]
  534. n, err := m.MarshalToSizedBuffer(b)
  535. if err != nil {
  536. return nil, err
  537. }
  538. return b[:n], nil
  539. }
  540. }
  541. func (m *RequestInitChain) XXX_Merge(src proto.Message) {
  542. xxx_messageInfo_RequestInitChain.Merge(m, src)
  543. }
  544. func (m *RequestInitChain) XXX_Size() int {
  545. return m.Size()
  546. }
  547. func (m *RequestInitChain) XXX_DiscardUnknown() {
  548. xxx_messageInfo_RequestInitChain.DiscardUnknown(m)
  549. }
  550. var xxx_messageInfo_RequestInitChain proto.InternalMessageInfo
  551. func (m *RequestInitChain) GetTime() time.Time {
  552. if m != nil {
  553. return m.Time
  554. }
  555. return time.Time{}
  556. }
  557. func (m *RequestInitChain) GetChainId() string {
  558. if m != nil {
  559. return m.ChainId
  560. }
  561. return ""
  562. }
  563. func (m *RequestInitChain) GetConsensusParams() *ConsensusParams {
  564. if m != nil {
  565. return m.ConsensusParams
  566. }
  567. return nil
  568. }
  569. func (m *RequestInitChain) GetValidators() []ValidatorUpdate {
  570. if m != nil {
  571. return m.Validators
  572. }
  573. return nil
  574. }
  575. func (m *RequestInitChain) GetAppStateBytes() []byte {
  576. if m != nil {
  577. return m.AppStateBytes
  578. }
  579. return nil
  580. }
  581. type RequestQuery struct {
  582. Data []byte `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"`
  583. Path string `protobuf:"bytes,2,opt,name=path,proto3" json:"path,omitempty"`
  584. Height int64 `protobuf:"varint,3,opt,name=height,proto3" json:"height,omitempty"`
  585. Prove bool `protobuf:"varint,4,opt,name=prove,proto3" json:"prove,omitempty"`
  586. }
  587. func (m *RequestQuery) Reset() { *m = RequestQuery{} }
  588. func (m *RequestQuery) String() string { return proto.CompactTextString(m) }
  589. func (*RequestQuery) ProtoMessage() {}
  590. func (*RequestQuery) Descriptor() ([]byte, []int) {
  591. return fileDescriptor_51a5414a4a9be4c5, []int{6}
  592. }
  593. func (m *RequestQuery) XXX_Unmarshal(b []byte) error {
  594. return m.Unmarshal(b)
  595. }
  596. func (m *RequestQuery) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  597. if deterministic {
  598. return xxx_messageInfo_RequestQuery.Marshal(b, m, deterministic)
  599. } else {
  600. b = b[:cap(b)]
  601. n, err := m.MarshalToSizedBuffer(b)
  602. if err != nil {
  603. return nil, err
  604. }
  605. return b[:n], nil
  606. }
  607. }
  608. func (m *RequestQuery) XXX_Merge(src proto.Message) {
  609. xxx_messageInfo_RequestQuery.Merge(m, src)
  610. }
  611. func (m *RequestQuery) XXX_Size() int {
  612. return m.Size()
  613. }
  614. func (m *RequestQuery) XXX_DiscardUnknown() {
  615. xxx_messageInfo_RequestQuery.DiscardUnknown(m)
  616. }
  617. var xxx_messageInfo_RequestQuery proto.InternalMessageInfo
  618. func (m *RequestQuery) GetData() []byte {
  619. if m != nil {
  620. return m.Data
  621. }
  622. return nil
  623. }
  624. func (m *RequestQuery) GetPath() string {
  625. if m != nil {
  626. return m.Path
  627. }
  628. return ""
  629. }
  630. func (m *RequestQuery) GetHeight() int64 {
  631. if m != nil {
  632. return m.Height
  633. }
  634. return 0
  635. }
  636. func (m *RequestQuery) GetProve() bool {
  637. if m != nil {
  638. return m.Prove
  639. }
  640. return false
  641. }
  642. type RequestBeginBlock struct {
  643. Hash []byte `protobuf:"bytes,1,opt,name=hash,proto3" json:"hash,omitempty"`
  644. Header types1.Header `protobuf:"bytes,2,opt,name=header,proto3" json:"header"`
  645. LastCommitInfo LastCommitInfo `protobuf:"bytes,3,opt,name=last_commit_info,json=lastCommitInfo,proto3" json:"last_commit_info"`
  646. ByzantineValidators []Evidence `protobuf:"bytes,4,rep,name=byzantine_validators,json=byzantineValidators,proto3" json:"byzantine_validators"`
  647. }
  648. func (m *RequestBeginBlock) Reset() { *m = RequestBeginBlock{} }
  649. func (m *RequestBeginBlock) String() string { return proto.CompactTextString(m) }
  650. func (*RequestBeginBlock) ProtoMessage() {}
  651. func (*RequestBeginBlock) Descriptor() ([]byte, []int) {
  652. return fileDescriptor_51a5414a4a9be4c5, []int{7}
  653. }
  654. func (m *RequestBeginBlock) XXX_Unmarshal(b []byte) error {
  655. return m.Unmarshal(b)
  656. }
  657. func (m *RequestBeginBlock) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  658. if deterministic {
  659. return xxx_messageInfo_RequestBeginBlock.Marshal(b, m, deterministic)
  660. } else {
  661. b = b[:cap(b)]
  662. n, err := m.MarshalToSizedBuffer(b)
  663. if err != nil {
  664. return nil, err
  665. }
  666. return b[:n], nil
  667. }
  668. }
  669. func (m *RequestBeginBlock) XXX_Merge(src proto.Message) {
  670. xxx_messageInfo_RequestBeginBlock.Merge(m, src)
  671. }
  672. func (m *RequestBeginBlock) XXX_Size() int {
  673. return m.Size()
  674. }
  675. func (m *RequestBeginBlock) XXX_DiscardUnknown() {
  676. xxx_messageInfo_RequestBeginBlock.DiscardUnknown(m)
  677. }
  678. var xxx_messageInfo_RequestBeginBlock proto.InternalMessageInfo
  679. func (m *RequestBeginBlock) GetHash() []byte {
  680. if m != nil {
  681. return m.Hash
  682. }
  683. return nil
  684. }
  685. func (m *RequestBeginBlock) GetHeader() types1.Header {
  686. if m != nil {
  687. return m.Header
  688. }
  689. return types1.Header{}
  690. }
  691. func (m *RequestBeginBlock) GetLastCommitInfo() LastCommitInfo {
  692. if m != nil {
  693. return m.LastCommitInfo
  694. }
  695. return LastCommitInfo{}
  696. }
  697. func (m *RequestBeginBlock) GetByzantineValidators() []Evidence {
  698. if m != nil {
  699. return m.ByzantineValidators
  700. }
  701. return nil
  702. }
  703. type RequestCheckTx struct {
  704. Tx []byte `protobuf:"bytes,1,opt,name=tx,proto3" json:"tx,omitempty"`
  705. Type CheckTxType `protobuf:"varint,2,opt,name=type,proto3,enum=tendermint.abci.CheckTxType" json:"type,omitempty"`
  706. }
  707. func (m *RequestCheckTx) Reset() { *m = RequestCheckTx{} }
  708. func (m *RequestCheckTx) String() string { return proto.CompactTextString(m) }
  709. func (*RequestCheckTx) ProtoMessage() {}
  710. func (*RequestCheckTx) Descriptor() ([]byte, []int) {
  711. return fileDescriptor_51a5414a4a9be4c5, []int{8}
  712. }
  713. func (m *RequestCheckTx) XXX_Unmarshal(b []byte) error {
  714. return m.Unmarshal(b)
  715. }
  716. func (m *RequestCheckTx) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  717. if deterministic {
  718. return xxx_messageInfo_RequestCheckTx.Marshal(b, m, deterministic)
  719. } else {
  720. b = b[:cap(b)]
  721. n, err := m.MarshalToSizedBuffer(b)
  722. if err != nil {
  723. return nil, err
  724. }
  725. return b[:n], nil
  726. }
  727. }
  728. func (m *RequestCheckTx) XXX_Merge(src proto.Message) {
  729. xxx_messageInfo_RequestCheckTx.Merge(m, src)
  730. }
  731. func (m *RequestCheckTx) XXX_Size() int {
  732. return m.Size()
  733. }
  734. func (m *RequestCheckTx) XXX_DiscardUnknown() {
  735. xxx_messageInfo_RequestCheckTx.DiscardUnknown(m)
  736. }
  737. var xxx_messageInfo_RequestCheckTx proto.InternalMessageInfo
  738. func (m *RequestCheckTx) GetTx() []byte {
  739. if m != nil {
  740. return m.Tx
  741. }
  742. return nil
  743. }
  744. func (m *RequestCheckTx) GetType() CheckTxType {
  745. if m != nil {
  746. return m.Type
  747. }
  748. return CheckTxType_New
  749. }
  750. type RequestDeliverTx struct {
  751. Tx []byte `protobuf:"bytes,1,opt,name=tx,proto3" json:"tx,omitempty"`
  752. }
  753. func (m *RequestDeliverTx) Reset() { *m = RequestDeliverTx{} }
  754. func (m *RequestDeliverTx) String() string { return proto.CompactTextString(m) }
  755. func (*RequestDeliverTx) ProtoMessage() {}
  756. func (*RequestDeliverTx) Descriptor() ([]byte, []int) {
  757. return fileDescriptor_51a5414a4a9be4c5, []int{9}
  758. }
  759. func (m *RequestDeliverTx) XXX_Unmarshal(b []byte) error {
  760. return m.Unmarshal(b)
  761. }
  762. func (m *RequestDeliverTx) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  763. if deterministic {
  764. return xxx_messageInfo_RequestDeliverTx.Marshal(b, m, deterministic)
  765. } else {
  766. b = b[:cap(b)]
  767. n, err := m.MarshalToSizedBuffer(b)
  768. if err != nil {
  769. return nil, err
  770. }
  771. return b[:n], nil
  772. }
  773. }
  774. func (m *RequestDeliverTx) XXX_Merge(src proto.Message) {
  775. xxx_messageInfo_RequestDeliverTx.Merge(m, src)
  776. }
  777. func (m *RequestDeliverTx) XXX_Size() int {
  778. return m.Size()
  779. }
  780. func (m *RequestDeliverTx) XXX_DiscardUnknown() {
  781. xxx_messageInfo_RequestDeliverTx.DiscardUnknown(m)
  782. }
  783. var xxx_messageInfo_RequestDeliverTx proto.InternalMessageInfo
  784. func (m *RequestDeliverTx) GetTx() []byte {
  785. if m != nil {
  786. return m.Tx
  787. }
  788. return nil
  789. }
  790. type RequestEndBlock struct {
  791. Height int64 `protobuf:"varint,1,opt,name=height,proto3" json:"height,omitempty"`
  792. }
  793. func (m *RequestEndBlock) Reset() { *m = RequestEndBlock{} }
  794. func (m *RequestEndBlock) String() string { return proto.CompactTextString(m) }
  795. func (*RequestEndBlock) ProtoMessage() {}
  796. func (*RequestEndBlock) Descriptor() ([]byte, []int) {
  797. return fileDescriptor_51a5414a4a9be4c5, []int{10}
  798. }
  799. func (m *RequestEndBlock) XXX_Unmarshal(b []byte) error {
  800. return m.Unmarshal(b)
  801. }
  802. func (m *RequestEndBlock) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  803. if deterministic {
  804. return xxx_messageInfo_RequestEndBlock.Marshal(b, m, deterministic)
  805. } else {
  806. b = b[:cap(b)]
  807. n, err := m.MarshalToSizedBuffer(b)
  808. if err != nil {
  809. return nil, err
  810. }
  811. return b[:n], nil
  812. }
  813. }
  814. func (m *RequestEndBlock) XXX_Merge(src proto.Message) {
  815. xxx_messageInfo_RequestEndBlock.Merge(m, src)
  816. }
  817. func (m *RequestEndBlock) XXX_Size() int {
  818. return m.Size()
  819. }
  820. func (m *RequestEndBlock) XXX_DiscardUnknown() {
  821. xxx_messageInfo_RequestEndBlock.DiscardUnknown(m)
  822. }
  823. var xxx_messageInfo_RequestEndBlock proto.InternalMessageInfo
  824. func (m *RequestEndBlock) GetHeight() int64 {
  825. if m != nil {
  826. return m.Height
  827. }
  828. return 0
  829. }
  830. type RequestCommit struct {
  831. }
  832. func (m *RequestCommit) Reset() { *m = RequestCommit{} }
  833. func (m *RequestCommit) String() string { return proto.CompactTextString(m) }
  834. func (*RequestCommit) ProtoMessage() {}
  835. func (*RequestCommit) Descriptor() ([]byte, []int) {
  836. return fileDescriptor_51a5414a4a9be4c5, []int{11}
  837. }
  838. func (m *RequestCommit) XXX_Unmarshal(b []byte) error {
  839. return m.Unmarshal(b)
  840. }
  841. func (m *RequestCommit) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  842. if deterministic {
  843. return xxx_messageInfo_RequestCommit.Marshal(b, m, deterministic)
  844. } else {
  845. b = b[:cap(b)]
  846. n, err := m.MarshalToSizedBuffer(b)
  847. if err != nil {
  848. return nil, err
  849. }
  850. return b[:n], nil
  851. }
  852. }
  853. func (m *RequestCommit) XXX_Merge(src proto.Message) {
  854. xxx_messageInfo_RequestCommit.Merge(m, src)
  855. }
  856. func (m *RequestCommit) XXX_Size() int {
  857. return m.Size()
  858. }
  859. func (m *RequestCommit) XXX_DiscardUnknown() {
  860. xxx_messageInfo_RequestCommit.DiscardUnknown(m)
  861. }
  862. var xxx_messageInfo_RequestCommit proto.InternalMessageInfo
  863. // lists available snapshots
  864. type RequestListSnapshots struct {
  865. }
  866. func (m *RequestListSnapshots) Reset() { *m = RequestListSnapshots{} }
  867. func (m *RequestListSnapshots) String() string { return proto.CompactTextString(m) }
  868. func (*RequestListSnapshots) ProtoMessage() {}
  869. func (*RequestListSnapshots) Descriptor() ([]byte, []int) {
  870. return fileDescriptor_51a5414a4a9be4c5, []int{12}
  871. }
  872. func (m *RequestListSnapshots) XXX_Unmarshal(b []byte) error {
  873. return m.Unmarshal(b)
  874. }
  875. func (m *RequestListSnapshots) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  876. if deterministic {
  877. return xxx_messageInfo_RequestListSnapshots.Marshal(b, m, deterministic)
  878. } else {
  879. b = b[:cap(b)]
  880. n, err := m.MarshalToSizedBuffer(b)
  881. if err != nil {
  882. return nil, err
  883. }
  884. return b[:n], nil
  885. }
  886. }
  887. func (m *RequestListSnapshots) XXX_Merge(src proto.Message) {
  888. xxx_messageInfo_RequestListSnapshots.Merge(m, src)
  889. }
  890. func (m *RequestListSnapshots) XXX_Size() int {
  891. return m.Size()
  892. }
  893. func (m *RequestListSnapshots) XXX_DiscardUnknown() {
  894. xxx_messageInfo_RequestListSnapshots.DiscardUnknown(m)
  895. }
  896. var xxx_messageInfo_RequestListSnapshots proto.InternalMessageInfo
  897. // offers a snapshot to the application
  898. type RequestOfferSnapshot struct {
  899. Snapshot *Snapshot `protobuf:"bytes,1,opt,name=snapshot,proto3" json:"snapshot,omitempty"`
  900. AppHash []byte `protobuf:"bytes,2,opt,name=app_hash,json=appHash,proto3" json:"app_hash,omitempty"`
  901. }
  902. func (m *RequestOfferSnapshot) Reset() { *m = RequestOfferSnapshot{} }
  903. func (m *RequestOfferSnapshot) String() string { return proto.CompactTextString(m) }
  904. func (*RequestOfferSnapshot) ProtoMessage() {}
  905. func (*RequestOfferSnapshot) Descriptor() ([]byte, []int) {
  906. return fileDescriptor_51a5414a4a9be4c5, []int{13}
  907. }
  908. func (m *RequestOfferSnapshot) XXX_Unmarshal(b []byte) error {
  909. return m.Unmarshal(b)
  910. }
  911. func (m *RequestOfferSnapshot) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  912. if deterministic {
  913. return xxx_messageInfo_RequestOfferSnapshot.Marshal(b, m, deterministic)
  914. } else {
  915. b = b[:cap(b)]
  916. n, err := m.MarshalToSizedBuffer(b)
  917. if err != nil {
  918. return nil, err
  919. }
  920. return b[:n], nil
  921. }
  922. }
  923. func (m *RequestOfferSnapshot) XXX_Merge(src proto.Message) {
  924. xxx_messageInfo_RequestOfferSnapshot.Merge(m, src)
  925. }
  926. func (m *RequestOfferSnapshot) XXX_Size() int {
  927. return m.Size()
  928. }
  929. func (m *RequestOfferSnapshot) XXX_DiscardUnknown() {
  930. xxx_messageInfo_RequestOfferSnapshot.DiscardUnknown(m)
  931. }
  932. var xxx_messageInfo_RequestOfferSnapshot proto.InternalMessageInfo
  933. func (m *RequestOfferSnapshot) GetSnapshot() *Snapshot {
  934. if m != nil {
  935. return m.Snapshot
  936. }
  937. return nil
  938. }
  939. func (m *RequestOfferSnapshot) GetAppHash() []byte {
  940. if m != nil {
  941. return m.AppHash
  942. }
  943. return nil
  944. }
  945. // loads a snapshot chunk
  946. type RequestLoadSnapshotChunk struct {
  947. Height uint64 `protobuf:"varint,1,opt,name=height,proto3" json:"height,omitempty"`
  948. Format uint32 `protobuf:"varint,2,opt,name=format,proto3" json:"format,omitempty"`
  949. Chunk uint32 `protobuf:"varint,3,opt,name=chunk,proto3" json:"chunk,omitempty"`
  950. }
  951. func (m *RequestLoadSnapshotChunk) Reset() { *m = RequestLoadSnapshotChunk{} }
  952. func (m *RequestLoadSnapshotChunk) String() string { return proto.CompactTextString(m) }
  953. func (*RequestLoadSnapshotChunk) ProtoMessage() {}
  954. func (*RequestLoadSnapshotChunk) Descriptor() ([]byte, []int) {
  955. return fileDescriptor_51a5414a4a9be4c5, []int{14}
  956. }
  957. func (m *RequestLoadSnapshotChunk) XXX_Unmarshal(b []byte) error {
  958. return m.Unmarshal(b)
  959. }
  960. func (m *RequestLoadSnapshotChunk) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  961. if deterministic {
  962. return xxx_messageInfo_RequestLoadSnapshotChunk.Marshal(b, m, deterministic)
  963. } else {
  964. b = b[:cap(b)]
  965. n, err := m.MarshalToSizedBuffer(b)
  966. if err != nil {
  967. return nil, err
  968. }
  969. return b[:n], nil
  970. }
  971. }
  972. func (m *RequestLoadSnapshotChunk) XXX_Merge(src proto.Message) {
  973. xxx_messageInfo_RequestLoadSnapshotChunk.Merge(m, src)
  974. }
  975. func (m *RequestLoadSnapshotChunk) XXX_Size() int {
  976. return m.Size()
  977. }
  978. func (m *RequestLoadSnapshotChunk) XXX_DiscardUnknown() {
  979. xxx_messageInfo_RequestLoadSnapshotChunk.DiscardUnknown(m)
  980. }
  981. var xxx_messageInfo_RequestLoadSnapshotChunk proto.InternalMessageInfo
  982. func (m *RequestLoadSnapshotChunk) GetHeight() uint64 {
  983. if m != nil {
  984. return m.Height
  985. }
  986. return 0
  987. }
  988. func (m *RequestLoadSnapshotChunk) GetFormat() uint32 {
  989. if m != nil {
  990. return m.Format
  991. }
  992. return 0
  993. }
  994. func (m *RequestLoadSnapshotChunk) GetChunk() uint32 {
  995. if m != nil {
  996. return m.Chunk
  997. }
  998. return 0
  999. }
  1000. // Applies a snapshot chunk
  1001. type RequestApplySnapshotChunk struct {
  1002. Index uint32 `protobuf:"varint,1,opt,name=index,proto3" json:"index,omitempty"`
  1003. Chunk []byte `protobuf:"bytes,2,opt,name=chunk,proto3" json:"chunk,omitempty"`
  1004. Sender string `protobuf:"bytes,3,opt,name=sender,proto3" json:"sender,omitempty"`
  1005. }
  1006. func (m *RequestApplySnapshotChunk) Reset() { *m = RequestApplySnapshotChunk{} }
  1007. func (m *RequestApplySnapshotChunk) String() string { return proto.CompactTextString(m) }
  1008. func (*RequestApplySnapshotChunk) ProtoMessage() {}
  1009. func (*RequestApplySnapshotChunk) Descriptor() ([]byte, []int) {
  1010. return fileDescriptor_51a5414a4a9be4c5, []int{15}
  1011. }
  1012. func (m *RequestApplySnapshotChunk) XXX_Unmarshal(b []byte) error {
  1013. return m.Unmarshal(b)
  1014. }
  1015. func (m *RequestApplySnapshotChunk) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1016. if deterministic {
  1017. return xxx_messageInfo_RequestApplySnapshotChunk.Marshal(b, m, deterministic)
  1018. } else {
  1019. b = b[:cap(b)]
  1020. n, err := m.MarshalToSizedBuffer(b)
  1021. if err != nil {
  1022. return nil, err
  1023. }
  1024. return b[:n], nil
  1025. }
  1026. }
  1027. func (m *RequestApplySnapshotChunk) XXX_Merge(src proto.Message) {
  1028. xxx_messageInfo_RequestApplySnapshotChunk.Merge(m, src)
  1029. }
  1030. func (m *RequestApplySnapshotChunk) XXX_Size() int {
  1031. return m.Size()
  1032. }
  1033. func (m *RequestApplySnapshotChunk) XXX_DiscardUnknown() {
  1034. xxx_messageInfo_RequestApplySnapshotChunk.DiscardUnknown(m)
  1035. }
  1036. var xxx_messageInfo_RequestApplySnapshotChunk proto.InternalMessageInfo
  1037. func (m *RequestApplySnapshotChunk) GetIndex() uint32 {
  1038. if m != nil {
  1039. return m.Index
  1040. }
  1041. return 0
  1042. }
  1043. func (m *RequestApplySnapshotChunk) GetChunk() []byte {
  1044. if m != nil {
  1045. return m.Chunk
  1046. }
  1047. return nil
  1048. }
  1049. func (m *RequestApplySnapshotChunk) GetSender() string {
  1050. if m != nil {
  1051. return m.Sender
  1052. }
  1053. return ""
  1054. }
  1055. type Response struct {
  1056. // Types that are valid to be assigned to Value:
  1057. // *Response_Exception
  1058. // *Response_Echo
  1059. // *Response_Flush
  1060. // *Response_Info
  1061. // *Response_SetOption
  1062. // *Response_InitChain
  1063. // *Response_Query
  1064. // *Response_BeginBlock
  1065. // *Response_CheckTx
  1066. // *Response_DeliverTx
  1067. // *Response_EndBlock
  1068. // *Response_Commit
  1069. // *Response_ListSnapshots
  1070. // *Response_OfferSnapshot
  1071. // *Response_LoadSnapshotChunk
  1072. // *Response_ApplySnapshotChunk
  1073. Value isResponse_Value `protobuf_oneof:"value"`
  1074. }
  1075. func (m *Response) Reset() { *m = Response{} }
  1076. func (m *Response) String() string { return proto.CompactTextString(m) }
  1077. func (*Response) ProtoMessage() {}
  1078. func (*Response) Descriptor() ([]byte, []int) {
  1079. return fileDescriptor_51a5414a4a9be4c5, []int{16}
  1080. }
  1081. func (m *Response) XXX_Unmarshal(b []byte) error {
  1082. return m.Unmarshal(b)
  1083. }
  1084. func (m *Response) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1085. if deterministic {
  1086. return xxx_messageInfo_Response.Marshal(b, m, deterministic)
  1087. } else {
  1088. b = b[:cap(b)]
  1089. n, err := m.MarshalToSizedBuffer(b)
  1090. if err != nil {
  1091. return nil, err
  1092. }
  1093. return b[:n], nil
  1094. }
  1095. }
  1096. func (m *Response) XXX_Merge(src proto.Message) {
  1097. xxx_messageInfo_Response.Merge(m, src)
  1098. }
  1099. func (m *Response) XXX_Size() int {
  1100. return m.Size()
  1101. }
  1102. func (m *Response) XXX_DiscardUnknown() {
  1103. xxx_messageInfo_Response.DiscardUnknown(m)
  1104. }
  1105. var xxx_messageInfo_Response proto.InternalMessageInfo
  1106. type isResponse_Value interface {
  1107. isResponse_Value()
  1108. MarshalTo([]byte) (int, error)
  1109. Size() int
  1110. }
  1111. type Response_Exception struct {
  1112. Exception *ResponseException `protobuf:"bytes,1,opt,name=exception,proto3,oneof" json:"exception,omitempty"`
  1113. }
  1114. type Response_Echo struct {
  1115. Echo *ResponseEcho `protobuf:"bytes,2,opt,name=echo,proto3,oneof" json:"echo,omitempty"`
  1116. }
  1117. type Response_Flush struct {
  1118. Flush *ResponseFlush `protobuf:"bytes,3,opt,name=flush,proto3,oneof" json:"flush,omitempty"`
  1119. }
  1120. type Response_Info struct {
  1121. Info *ResponseInfo `protobuf:"bytes,4,opt,name=info,proto3,oneof" json:"info,omitempty"`
  1122. }
  1123. type Response_SetOption struct {
  1124. SetOption *ResponseSetOption `protobuf:"bytes,5,opt,name=set_option,json=setOption,proto3,oneof" json:"set_option,omitempty"`
  1125. }
  1126. type Response_InitChain struct {
  1127. InitChain *ResponseInitChain `protobuf:"bytes,6,opt,name=init_chain,json=initChain,proto3,oneof" json:"init_chain,omitempty"`
  1128. }
  1129. type Response_Query struct {
  1130. Query *ResponseQuery `protobuf:"bytes,7,opt,name=query,proto3,oneof" json:"query,omitempty"`
  1131. }
  1132. type Response_BeginBlock struct {
  1133. BeginBlock *ResponseBeginBlock `protobuf:"bytes,8,opt,name=begin_block,json=beginBlock,proto3,oneof" json:"begin_block,omitempty"`
  1134. }
  1135. type Response_CheckTx struct {
  1136. CheckTx *ResponseCheckTx `protobuf:"bytes,9,opt,name=check_tx,json=checkTx,proto3,oneof" json:"check_tx,omitempty"`
  1137. }
  1138. type Response_DeliverTx struct {
  1139. DeliverTx *ResponseDeliverTx `protobuf:"bytes,10,opt,name=deliver_tx,json=deliverTx,proto3,oneof" json:"deliver_tx,omitempty"`
  1140. }
  1141. type Response_EndBlock struct {
  1142. EndBlock *ResponseEndBlock `protobuf:"bytes,11,opt,name=end_block,json=endBlock,proto3,oneof" json:"end_block,omitempty"`
  1143. }
  1144. type Response_Commit struct {
  1145. Commit *ResponseCommit `protobuf:"bytes,12,opt,name=commit,proto3,oneof" json:"commit,omitempty"`
  1146. }
  1147. type Response_ListSnapshots struct {
  1148. ListSnapshots *ResponseListSnapshots `protobuf:"bytes,13,opt,name=list_snapshots,json=listSnapshots,proto3,oneof" json:"list_snapshots,omitempty"`
  1149. }
  1150. type Response_OfferSnapshot struct {
  1151. OfferSnapshot *ResponseOfferSnapshot `protobuf:"bytes,14,opt,name=offer_snapshot,json=offerSnapshot,proto3,oneof" json:"offer_snapshot,omitempty"`
  1152. }
  1153. type Response_LoadSnapshotChunk struct {
  1154. LoadSnapshotChunk *ResponseLoadSnapshotChunk `protobuf:"bytes,15,opt,name=load_snapshot_chunk,json=loadSnapshotChunk,proto3,oneof" json:"load_snapshot_chunk,omitempty"`
  1155. }
  1156. type Response_ApplySnapshotChunk struct {
  1157. ApplySnapshotChunk *ResponseApplySnapshotChunk `protobuf:"bytes,16,opt,name=apply_snapshot_chunk,json=applySnapshotChunk,proto3,oneof" json:"apply_snapshot_chunk,omitempty"`
  1158. }
  1159. func (*Response_Exception) isResponse_Value() {}
  1160. func (*Response_Echo) isResponse_Value() {}
  1161. func (*Response_Flush) isResponse_Value() {}
  1162. func (*Response_Info) isResponse_Value() {}
  1163. func (*Response_SetOption) isResponse_Value() {}
  1164. func (*Response_InitChain) isResponse_Value() {}
  1165. func (*Response_Query) isResponse_Value() {}
  1166. func (*Response_BeginBlock) isResponse_Value() {}
  1167. func (*Response_CheckTx) isResponse_Value() {}
  1168. func (*Response_DeliverTx) isResponse_Value() {}
  1169. func (*Response_EndBlock) isResponse_Value() {}
  1170. func (*Response_Commit) isResponse_Value() {}
  1171. func (*Response_ListSnapshots) isResponse_Value() {}
  1172. func (*Response_OfferSnapshot) isResponse_Value() {}
  1173. func (*Response_LoadSnapshotChunk) isResponse_Value() {}
  1174. func (*Response_ApplySnapshotChunk) isResponse_Value() {}
  1175. func (m *Response) GetValue() isResponse_Value {
  1176. if m != nil {
  1177. return m.Value
  1178. }
  1179. return nil
  1180. }
  1181. func (m *Response) GetException() *ResponseException {
  1182. if x, ok := m.GetValue().(*Response_Exception); ok {
  1183. return x.Exception
  1184. }
  1185. return nil
  1186. }
  1187. func (m *Response) GetEcho() *ResponseEcho {
  1188. if x, ok := m.GetValue().(*Response_Echo); ok {
  1189. return x.Echo
  1190. }
  1191. return nil
  1192. }
  1193. func (m *Response) GetFlush() *ResponseFlush {
  1194. if x, ok := m.GetValue().(*Response_Flush); ok {
  1195. return x.Flush
  1196. }
  1197. return nil
  1198. }
  1199. func (m *Response) GetInfo() *ResponseInfo {
  1200. if x, ok := m.GetValue().(*Response_Info); ok {
  1201. return x.Info
  1202. }
  1203. return nil
  1204. }
  1205. func (m *Response) GetSetOption() *ResponseSetOption {
  1206. if x, ok := m.GetValue().(*Response_SetOption); ok {
  1207. return x.SetOption
  1208. }
  1209. return nil
  1210. }
  1211. func (m *Response) GetInitChain() *ResponseInitChain {
  1212. if x, ok := m.GetValue().(*Response_InitChain); ok {
  1213. return x.InitChain
  1214. }
  1215. return nil
  1216. }
  1217. func (m *Response) GetQuery() *ResponseQuery {
  1218. if x, ok := m.GetValue().(*Response_Query); ok {
  1219. return x.Query
  1220. }
  1221. return nil
  1222. }
  1223. func (m *Response) GetBeginBlock() *ResponseBeginBlock {
  1224. if x, ok := m.GetValue().(*Response_BeginBlock); ok {
  1225. return x.BeginBlock
  1226. }
  1227. return nil
  1228. }
  1229. func (m *Response) GetCheckTx() *ResponseCheckTx {
  1230. if x, ok := m.GetValue().(*Response_CheckTx); ok {
  1231. return x.CheckTx
  1232. }
  1233. return nil
  1234. }
  1235. func (m *Response) GetDeliverTx() *ResponseDeliverTx {
  1236. if x, ok := m.GetValue().(*Response_DeliverTx); ok {
  1237. return x.DeliverTx
  1238. }
  1239. return nil
  1240. }
  1241. func (m *Response) GetEndBlock() *ResponseEndBlock {
  1242. if x, ok := m.GetValue().(*Response_EndBlock); ok {
  1243. return x.EndBlock
  1244. }
  1245. return nil
  1246. }
  1247. func (m *Response) GetCommit() *ResponseCommit {
  1248. if x, ok := m.GetValue().(*Response_Commit); ok {
  1249. return x.Commit
  1250. }
  1251. return nil
  1252. }
  1253. func (m *Response) GetListSnapshots() *ResponseListSnapshots {
  1254. if x, ok := m.GetValue().(*Response_ListSnapshots); ok {
  1255. return x.ListSnapshots
  1256. }
  1257. return nil
  1258. }
  1259. func (m *Response) GetOfferSnapshot() *ResponseOfferSnapshot {
  1260. if x, ok := m.GetValue().(*Response_OfferSnapshot); ok {
  1261. return x.OfferSnapshot
  1262. }
  1263. return nil
  1264. }
  1265. func (m *Response) GetLoadSnapshotChunk() *ResponseLoadSnapshotChunk {
  1266. if x, ok := m.GetValue().(*Response_LoadSnapshotChunk); ok {
  1267. return x.LoadSnapshotChunk
  1268. }
  1269. return nil
  1270. }
  1271. func (m *Response) GetApplySnapshotChunk() *ResponseApplySnapshotChunk {
  1272. if x, ok := m.GetValue().(*Response_ApplySnapshotChunk); ok {
  1273. return x.ApplySnapshotChunk
  1274. }
  1275. return nil
  1276. }
  1277. // XXX_OneofWrappers is for the internal use of the proto package.
  1278. func (*Response) XXX_OneofWrappers() []interface{} {
  1279. return []interface{}{
  1280. (*Response_Exception)(nil),
  1281. (*Response_Echo)(nil),
  1282. (*Response_Flush)(nil),
  1283. (*Response_Info)(nil),
  1284. (*Response_SetOption)(nil),
  1285. (*Response_InitChain)(nil),
  1286. (*Response_Query)(nil),
  1287. (*Response_BeginBlock)(nil),
  1288. (*Response_CheckTx)(nil),
  1289. (*Response_DeliverTx)(nil),
  1290. (*Response_EndBlock)(nil),
  1291. (*Response_Commit)(nil),
  1292. (*Response_ListSnapshots)(nil),
  1293. (*Response_OfferSnapshot)(nil),
  1294. (*Response_LoadSnapshotChunk)(nil),
  1295. (*Response_ApplySnapshotChunk)(nil),
  1296. }
  1297. }
  1298. // nondeterministic
  1299. type ResponseException struct {
  1300. Error string `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"`
  1301. }
  1302. func (m *ResponseException) Reset() { *m = ResponseException{} }
  1303. func (m *ResponseException) String() string { return proto.CompactTextString(m) }
  1304. func (*ResponseException) ProtoMessage() {}
  1305. func (*ResponseException) Descriptor() ([]byte, []int) {
  1306. return fileDescriptor_51a5414a4a9be4c5, []int{17}
  1307. }
  1308. func (m *ResponseException) XXX_Unmarshal(b []byte) error {
  1309. return m.Unmarshal(b)
  1310. }
  1311. func (m *ResponseException) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1312. if deterministic {
  1313. return xxx_messageInfo_ResponseException.Marshal(b, m, deterministic)
  1314. } else {
  1315. b = b[:cap(b)]
  1316. n, err := m.MarshalToSizedBuffer(b)
  1317. if err != nil {
  1318. return nil, err
  1319. }
  1320. return b[:n], nil
  1321. }
  1322. }
  1323. func (m *ResponseException) XXX_Merge(src proto.Message) {
  1324. xxx_messageInfo_ResponseException.Merge(m, src)
  1325. }
  1326. func (m *ResponseException) XXX_Size() int {
  1327. return m.Size()
  1328. }
  1329. func (m *ResponseException) XXX_DiscardUnknown() {
  1330. xxx_messageInfo_ResponseException.DiscardUnknown(m)
  1331. }
  1332. var xxx_messageInfo_ResponseException proto.InternalMessageInfo
  1333. func (m *ResponseException) GetError() string {
  1334. if m != nil {
  1335. return m.Error
  1336. }
  1337. return ""
  1338. }
  1339. type ResponseEcho struct {
  1340. Message string `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"`
  1341. }
  1342. func (m *ResponseEcho) Reset() { *m = ResponseEcho{} }
  1343. func (m *ResponseEcho) String() string { return proto.CompactTextString(m) }
  1344. func (*ResponseEcho) ProtoMessage() {}
  1345. func (*ResponseEcho) Descriptor() ([]byte, []int) {
  1346. return fileDescriptor_51a5414a4a9be4c5, []int{18}
  1347. }
  1348. func (m *ResponseEcho) XXX_Unmarshal(b []byte) error {
  1349. return m.Unmarshal(b)
  1350. }
  1351. func (m *ResponseEcho) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1352. if deterministic {
  1353. return xxx_messageInfo_ResponseEcho.Marshal(b, m, deterministic)
  1354. } else {
  1355. b = b[:cap(b)]
  1356. n, err := m.MarshalToSizedBuffer(b)
  1357. if err != nil {
  1358. return nil, err
  1359. }
  1360. return b[:n], nil
  1361. }
  1362. }
  1363. func (m *ResponseEcho) XXX_Merge(src proto.Message) {
  1364. xxx_messageInfo_ResponseEcho.Merge(m, src)
  1365. }
  1366. func (m *ResponseEcho) XXX_Size() int {
  1367. return m.Size()
  1368. }
  1369. func (m *ResponseEcho) XXX_DiscardUnknown() {
  1370. xxx_messageInfo_ResponseEcho.DiscardUnknown(m)
  1371. }
  1372. var xxx_messageInfo_ResponseEcho proto.InternalMessageInfo
  1373. func (m *ResponseEcho) GetMessage() string {
  1374. if m != nil {
  1375. return m.Message
  1376. }
  1377. return ""
  1378. }
  1379. type ResponseFlush struct {
  1380. }
  1381. func (m *ResponseFlush) Reset() { *m = ResponseFlush{} }
  1382. func (m *ResponseFlush) String() string { return proto.CompactTextString(m) }
  1383. func (*ResponseFlush) ProtoMessage() {}
  1384. func (*ResponseFlush) Descriptor() ([]byte, []int) {
  1385. return fileDescriptor_51a5414a4a9be4c5, []int{19}
  1386. }
  1387. func (m *ResponseFlush) XXX_Unmarshal(b []byte) error {
  1388. return m.Unmarshal(b)
  1389. }
  1390. func (m *ResponseFlush) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1391. if deterministic {
  1392. return xxx_messageInfo_ResponseFlush.Marshal(b, m, deterministic)
  1393. } else {
  1394. b = b[:cap(b)]
  1395. n, err := m.MarshalToSizedBuffer(b)
  1396. if err != nil {
  1397. return nil, err
  1398. }
  1399. return b[:n], nil
  1400. }
  1401. }
  1402. func (m *ResponseFlush) XXX_Merge(src proto.Message) {
  1403. xxx_messageInfo_ResponseFlush.Merge(m, src)
  1404. }
  1405. func (m *ResponseFlush) XXX_Size() int {
  1406. return m.Size()
  1407. }
  1408. func (m *ResponseFlush) XXX_DiscardUnknown() {
  1409. xxx_messageInfo_ResponseFlush.DiscardUnknown(m)
  1410. }
  1411. var xxx_messageInfo_ResponseFlush proto.InternalMessageInfo
  1412. type ResponseInfo struct {
  1413. Data string `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"`
  1414. Version string `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"`
  1415. AppVersion uint64 `protobuf:"varint,3,opt,name=app_version,json=appVersion,proto3" json:"app_version,omitempty"`
  1416. LastBlockHeight int64 `protobuf:"varint,4,opt,name=last_block_height,json=lastBlockHeight,proto3" json:"last_block_height,omitempty"`
  1417. LastBlockAppHash []byte `protobuf:"bytes,5,opt,name=last_block_app_hash,json=lastBlockAppHash,proto3" json:"last_block_app_hash,omitempty"`
  1418. }
  1419. func (m *ResponseInfo) Reset() { *m = ResponseInfo{} }
  1420. func (m *ResponseInfo) String() string { return proto.CompactTextString(m) }
  1421. func (*ResponseInfo) ProtoMessage() {}
  1422. func (*ResponseInfo) Descriptor() ([]byte, []int) {
  1423. return fileDescriptor_51a5414a4a9be4c5, []int{20}
  1424. }
  1425. func (m *ResponseInfo) XXX_Unmarshal(b []byte) error {
  1426. return m.Unmarshal(b)
  1427. }
  1428. func (m *ResponseInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1429. if deterministic {
  1430. return xxx_messageInfo_ResponseInfo.Marshal(b, m, deterministic)
  1431. } else {
  1432. b = b[:cap(b)]
  1433. n, err := m.MarshalToSizedBuffer(b)
  1434. if err != nil {
  1435. return nil, err
  1436. }
  1437. return b[:n], nil
  1438. }
  1439. }
  1440. func (m *ResponseInfo) XXX_Merge(src proto.Message) {
  1441. xxx_messageInfo_ResponseInfo.Merge(m, src)
  1442. }
  1443. func (m *ResponseInfo) XXX_Size() int {
  1444. return m.Size()
  1445. }
  1446. func (m *ResponseInfo) XXX_DiscardUnknown() {
  1447. xxx_messageInfo_ResponseInfo.DiscardUnknown(m)
  1448. }
  1449. var xxx_messageInfo_ResponseInfo proto.InternalMessageInfo
  1450. func (m *ResponseInfo) GetData() string {
  1451. if m != nil {
  1452. return m.Data
  1453. }
  1454. return ""
  1455. }
  1456. func (m *ResponseInfo) GetVersion() string {
  1457. if m != nil {
  1458. return m.Version
  1459. }
  1460. return ""
  1461. }
  1462. func (m *ResponseInfo) GetAppVersion() uint64 {
  1463. if m != nil {
  1464. return m.AppVersion
  1465. }
  1466. return 0
  1467. }
  1468. func (m *ResponseInfo) GetLastBlockHeight() int64 {
  1469. if m != nil {
  1470. return m.LastBlockHeight
  1471. }
  1472. return 0
  1473. }
  1474. func (m *ResponseInfo) GetLastBlockAppHash() []byte {
  1475. if m != nil {
  1476. return m.LastBlockAppHash
  1477. }
  1478. return nil
  1479. }
  1480. // nondeterministic
  1481. type ResponseSetOption struct {
  1482. Code uint32 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"`
  1483. // bytes data = 2;
  1484. Log string `protobuf:"bytes,3,opt,name=log,proto3" json:"log,omitempty"`
  1485. Info string `protobuf:"bytes,4,opt,name=info,proto3" json:"info,omitempty"`
  1486. }
  1487. func (m *ResponseSetOption) Reset() { *m = ResponseSetOption{} }
  1488. func (m *ResponseSetOption) String() string { return proto.CompactTextString(m) }
  1489. func (*ResponseSetOption) ProtoMessage() {}
  1490. func (*ResponseSetOption) Descriptor() ([]byte, []int) {
  1491. return fileDescriptor_51a5414a4a9be4c5, []int{21}
  1492. }
  1493. func (m *ResponseSetOption) XXX_Unmarshal(b []byte) error {
  1494. return m.Unmarshal(b)
  1495. }
  1496. func (m *ResponseSetOption) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1497. if deterministic {
  1498. return xxx_messageInfo_ResponseSetOption.Marshal(b, m, deterministic)
  1499. } else {
  1500. b = b[:cap(b)]
  1501. n, err := m.MarshalToSizedBuffer(b)
  1502. if err != nil {
  1503. return nil, err
  1504. }
  1505. return b[:n], nil
  1506. }
  1507. }
  1508. func (m *ResponseSetOption) XXX_Merge(src proto.Message) {
  1509. xxx_messageInfo_ResponseSetOption.Merge(m, src)
  1510. }
  1511. func (m *ResponseSetOption) XXX_Size() int {
  1512. return m.Size()
  1513. }
  1514. func (m *ResponseSetOption) XXX_DiscardUnknown() {
  1515. xxx_messageInfo_ResponseSetOption.DiscardUnknown(m)
  1516. }
  1517. var xxx_messageInfo_ResponseSetOption proto.InternalMessageInfo
  1518. func (m *ResponseSetOption) GetCode() uint32 {
  1519. if m != nil {
  1520. return m.Code
  1521. }
  1522. return 0
  1523. }
  1524. func (m *ResponseSetOption) GetLog() string {
  1525. if m != nil {
  1526. return m.Log
  1527. }
  1528. return ""
  1529. }
  1530. func (m *ResponseSetOption) GetInfo() string {
  1531. if m != nil {
  1532. return m.Info
  1533. }
  1534. return ""
  1535. }
  1536. type ResponseInitChain struct {
  1537. ConsensusParams *ConsensusParams `protobuf:"bytes,1,opt,name=consensus_params,json=consensusParams,proto3" json:"consensus_params,omitempty"`
  1538. Validators []ValidatorUpdate `protobuf:"bytes,2,rep,name=validators,proto3" json:"validators"`
  1539. }
  1540. func (m *ResponseInitChain) Reset() { *m = ResponseInitChain{} }
  1541. func (m *ResponseInitChain) String() string { return proto.CompactTextString(m) }
  1542. func (*ResponseInitChain) ProtoMessage() {}
  1543. func (*ResponseInitChain) Descriptor() ([]byte, []int) {
  1544. return fileDescriptor_51a5414a4a9be4c5, []int{22}
  1545. }
  1546. func (m *ResponseInitChain) XXX_Unmarshal(b []byte) error {
  1547. return m.Unmarshal(b)
  1548. }
  1549. func (m *ResponseInitChain) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1550. if deterministic {
  1551. return xxx_messageInfo_ResponseInitChain.Marshal(b, m, deterministic)
  1552. } else {
  1553. b = b[:cap(b)]
  1554. n, err := m.MarshalToSizedBuffer(b)
  1555. if err != nil {
  1556. return nil, err
  1557. }
  1558. return b[:n], nil
  1559. }
  1560. }
  1561. func (m *ResponseInitChain) XXX_Merge(src proto.Message) {
  1562. xxx_messageInfo_ResponseInitChain.Merge(m, src)
  1563. }
  1564. func (m *ResponseInitChain) XXX_Size() int {
  1565. return m.Size()
  1566. }
  1567. func (m *ResponseInitChain) XXX_DiscardUnknown() {
  1568. xxx_messageInfo_ResponseInitChain.DiscardUnknown(m)
  1569. }
  1570. var xxx_messageInfo_ResponseInitChain proto.InternalMessageInfo
  1571. func (m *ResponseInitChain) GetConsensusParams() *ConsensusParams {
  1572. if m != nil {
  1573. return m.ConsensusParams
  1574. }
  1575. return nil
  1576. }
  1577. func (m *ResponseInitChain) GetValidators() []ValidatorUpdate {
  1578. if m != nil {
  1579. return m.Validators
  1580. }
  1581. return nil
  1582. }
  1583. type ResponseQuery struct {
  1584. Code uint32 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"`
  1585. // bytes data = 2; // use "value" instead.
  1586. Log string `protobuf:"bytes,3,opt,name=log,proto3" json:"log,omitempty"`
  1587. Info string `protobuf:"bytes,4,opt,name=info,proto3" json:"info,omitempty"`
  1588. Index int64 `protobuf:"varint,5,opt,name=index,proto3" json:"index,omitempty"`
  1589. Key []byte `protobuf:"bytes,6,opt,name=key,proto3" json:"key,omitempty"`
  1590. Value []byte `protobuf:"bytes,7,opt,name=value,proto3" json:"value,omitempty"`
  1591. ProofOps *merkle.ProofOps `protobuf:"bytes,8,opt,name=proof_ops,json=proofOps,proto3" json:"proof_ops,omitempty"`
  1592. Height int64 `protobuf:"varint,9,opt,name=height,proto3" json:"height,omitempty"`
  1593. Codespace string `protobuf:"bytes,10,opt,name=codespace,proto3" json:"codespace,omitempty"`
  1594. }
  1595. func (m *ResponseQuery) Reset() { *m = ResponseQuery{} }
  1596. func (m *ResponseQuery) String() string { return proto.CompactTextString(m) }
  1597. func (*ResponseQuery) ProtoMessage() {}
  1598. func (*ResponseQuery) Descriptor() ([]byte, []int) {
  1599. return fileDescriptor_51a5414a4a9be4c5, []int{23}
  1600. }
  1601. func (m *ResponseQuery) XXX_Unmarshal(b []byte) error {
  1602. return m.Unmarshal(b)
  1603. }
  1604. func (m *ResponseQuery) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1605. if deterministic {
  1606. return xxx_messageInfo_ResponseQuery.Marshal(b, m, deterministic)
  1607. } else {
  1608. b = b[:cap(b)]
  1609. n, err := m.MarshalToSizedBuffer(b)
  1610. if err != nil {
  1611. return nil, err
  1612. }
  1613. return b[:n], nil
  1614. }
  1615. }
  1616. func (m *ResponseQuery) XXX_Merge(src proto.Message) {
  1617. xxx_messageInfo_ResponseQuery.Merge(m, src)
  1618. }
  1619. func (m *ResponseQuery) XXX_Size() int {
  1620. return m.Size()
  1621. }
  1622. func (m *ResponseQuery) XXX_DiscardUnknown() {
  1623. xxx_messageInfo_ResponseQuery.DiscardUnknown(m)
  1624. }
  1625. var xxx_messageInfo_ResponseQuery proto.InternalMessageInfo
  1626. func (m *ResponseQuery) GetCode() uint32 {
  1627. if m != nil {
  1628. return m.Code
  1629. }
  1630. return 0
  1631. }
  1632. func (m *ResponseQuery) GetLog() string {
  1633. if m != nil {
  1634. return m.Log
  1635. }
  1636. return ""
  1637. }
  1638. func (m *ResponseQuery) GetInfo() string {
  1639. if m != nil {
  1640. return m.Info
  1641. }
  1642. return ""
  1643. }
  1644. func (m *ResponseQuery) GetIndex() int64 {
  1645. if m != nil {
  1646. return m.Index
  1647. }
  1648. return 0
  1649. }
  1650. func (m *ResponseQuery) GetKey() []byte {
  1651. if m != nil {
  1652. return m.Key
  1653. }
  1654. return nil
  1655. }
  1656. func (m *ResponseQuery) GetValue() []byte {
  1657. if m != nil {
  1658. return m.Value
  1659. }
  1660. return nil
  1661. }
  1662. func (m *ResponseQuery) GetProofOps() *merkle.ProofOps {
  1663. if m != nil {
  1664. return m.ProofOps
  1665. }
  1666. return nil
  1667. }
  1668. func (m *ResponseQuery) GetHeight() int64 {
  1669. if m != nil {
  1670. return m.Height
  1671. }
  1672. return 0
  1673. }
  1674. func (m *ResponseQuery) GetCodespace() string {
  1675. if m != nil {
  1676. return m.Codespace
  1677. }
  1678. return ""
  1679. }
  1680. type ResponseBeginBlock struct {
  1681. Events []Event `protobuf:"bytes,1,rep,name=events,proto3" json:"events,omitempty"`
  1682. }
  1683. func (m *ResponseBeginBlock) Reset() { *m = ResponseBeginBlock{} }
  1684. func (m *ResponseBeginBlock) String() string { return proto.CompactTextString(m) }
  1685. func (*ResponseBeginBlock) ProtoMessage() {}
  1686. func (*ResponseBeginBlock) Descriptor() ([]byte, []int) {
  1687. return fileDescriptor_51a5414a4a9be4c5, []int{24}
  1688. }
  1689. func (m *ResponseBeginBlock) XXX_Unmarshal(b []byte) error {
  1690. return m.Unmarshal(b)
  1691. }
  1692. func (m *ResponseBeginBlock) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1693. if deterministic {
  1694. return xxx_messageInfo_ResponseBeginBlock.Marshal(b, m, deterministic)
  1695. } else {
  1696. b = b[:cap(b)]
  1697. n, err := m.MarshalToSizedBuffer(b)
  1698. if err != nil {
  1699. return nil, err
  1700. }
  1701. return b[:n], nil
  1702. }
  1703. }
  1704. func (m *ResponseBeginBlock) XXX_Merge(src proto.Message) {
  1705. xxx_messageInfo_ResponseBeginBlock.Merge(m, src)
  1706. }
  1707. func (m *ResponseBeginBlock) XXX_Size() int {
  1708. return m.Size()
  1709. }
  1710. func (m *ResponseBeginBlock) XXX_DiscardUnknown() {
  1711. xxx_messageInfo_ResponseBeginBlock.DiscardUnknown(m)
  1712. }
  1713. var xxx_messageInfo_ResponseBeginBlock proto.InternalMessageInfo
  1714. func (m *ResponseBeginBlock) GetEvents() []Event {
  1715. if m != nil {
  1716. return m.Events
  1717. }
  1718. return nil
  1719. }
  1720. type ResponseCheckTx struct {
  1721. Code uint32 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"`
  1722. Data []byte `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"`
  1723. Log string `protobuf:"bytes,3,opt,name=log,proto3" json:"log,omitempty"`
  1724. Info string `protobuf:"bytes,4,opt,name=info,proto3" json:"info,omitempty"`
  1725. GasWanted int64 `protobuf:"varint,5,opt,name=gas_wanted,json=gasWanted,proto3" json:"gas_wanted,omitempty"`
  1726. GasUsed int64 `protobuf:"varint,6,opt,name=gas_used,json=gasUsed,proto3" json:"gas_used,omitempty"`
  1727. Events []Event `protobuf:"bytes,7,rep,name=events,proto3" json:"events,omitempty"`
  1728. Codespace string `protobuf:"bytes,8,opt,name=codespace,proto3" json:"codespace,omitempty"`
  1729. }
  1730. func (m *ResponseCheckTx) Reset() { *m = ResponseCheckTx{} }
  1731. func (m *ResponseCheckTx) String() string { return proto.CompactTextString(m) }
  1732. func (*ResponseCheckTx) ProtoMessage() {}
  1733. func (*ResponseCheckTx) Descriptor() ([]byte, []int) {
  1734. return fileDescriptor_51a5414a4a9be4c5, []int{25}
  1735. }
  1736. func (m *ResponseCheckTx) XXX_Unmarshal(b []byte) error {
  1737. return m.Unmarshal(b)
  1738. }
  1739. func (m *ResponseCheckTx) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1740. if deterministic {
  1741. return xxx_messageInfo_ResponseCheckTx.Marshal(b, m, deterministic)
  1742. } else {
  1743. b = b[:cap(b)]
  1744. n, err := m.MarshalToSizedBuffer(b)
  1745. if err != nil {
  1746. return nil, err
  1747. }
  1748. return b[:n], nil
  1749. }
  1750. }
  1751. func (m *ResponseCheckTx) XXX_Merge(src proto.Message) {
  1752. xxx_messageInfo_ResponseCheckTx.Merge(m, src)
  1753. }
  1754. func (m *ResponseCheckTx) XXX_Size() int {
  1755. return m.Size()
  1756. }
  1757. func (m *ResponseCheckTx) XXX_DiscardUnknown() {
  1758. xxx_messageInfo_ResponseCheckTx.DiscardUnknown(m)
  1759. }
  1760. var xxx_messageInfo_ResponseCheckTx proto.InternalMessageInfo
  1761. func (m *ResponseCheckTx) GetCode() uint32 {
  1762. if m != nil {
  1763. return m.Code
  1764. }
  1765. return 0
  1766. }
  1767. func (m *ResponseCheckTx) GetData() []byte {
  1768. if m != nil {
  1769. return m.Data
  1770. }
  1771. return nil
  1772. }
  1773. func (m *ResponseCheckTx) GetLog() string {
  1774. if m != nil {
  1775. return m.Log
  1776. }
  1777. return ""
  1778. }
  1779. func (m *ResponseCheckTx) GetInfo() string {
  1780. if m != nil {
  1781. return m.Info
  1782. }
  1783. return ""
  1784. }
  1785. func (m *ResponseCheckTx) GetGasWanted() int64 {
  1786. if m != nil {
  1787. return m.GasWanted
  1788. }
  1789. return 0
  1790. }
  1791. func (m *ResponseCheckTx) GetGasUsed() int64 {
  1792. if m != nil {
  1793. return m.GasUsed
  1794. }
  1795. return 0
  1796. }
  1797. func (m *ResponseCheckTx) GetEvents() []Event {
  1798. if m != nil {
  1799. return m.Events
  1800. }
  1801. return nil
  1802. }
  1803. func (m *ResponseCheckTx) GetCodespace() string {
  1804. if m != nil {
  1805. return m.Codespace
  1806. }
  1807. return ""
  1808. }
  1809. type ResponseDeliverTx struct {
  1810. Code uint32 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"`
  1811. Data []byte `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"`
  1812. Log string `protobuf:"bytes,3,opt,name=log,proto3" json:"log,omitempty"`
  1813. Info string `protobuf:"bytes,4,opt,name=info,proto3" json:"info,omitempty"`
  1814. GasWanted int64 `protobuf:"varint,5,opt,name=gas_wanted,json=gasWanted,proto3" json:"gas_wanted,omitempty"`
  1815. GasUsed int64 `protobuf:"varint,6,opt,name=gas_used,json=gasUsed,proto3" json:"gas_used,omitempty"`
  1816. Events []Event `protobuf:"bytes,7,rep,name=events,proto3" json:"events,omitempty"`
  1817. Codespace string `protobuf:"bytes,8,opt,name=codespace,proto3" json:"codespace,omitempty"`
  1818. }
  1819. func (m *ResponseDeliverTx) Reset() { *m = ResponseDeliverTx{} }
  1820. func (m *ResponseDeliverTx) String() string { return proto.CompactTextString(m) }
  1821. func (*ResponseDeliverTx) ProtoMessage() {}
  1822. func (*ResponseDeliverTx) Descriptor() ([]byte, []int) {
  1823. return fileDescriptor_51a5414a4a9be4c5, []int{26}
  1824. }
  1825. func (m *ResponseDeliverTx) XXX_Unmarshal(b []byte) error {
  1826. return m.Unmarshal(b)
  1827. }
  1828. func (m *ResponseDeliverTx) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1829. if deterministic {
  1830. return xxx_messageInfo_ResponseDeliverTx.Marshal(b, m, deterministic)
  1831. } else {
  1832. b = b[:cap(b)]
  1833. n, err := m.MarshalToSizedBuffer(b)
  1834. if err != nil {
  1835. return nil, err
  1836. }
  1837. return b[:n], nil
  1838. }
  1839. }
  1840. func (m *ResponseDeliverTx) XXX_Merge(src proto.Message) {
  1841. xxx_messageInfo_ResponseDeliverTx.Merge(m, src)
  1842. }
  1843. func (m *ResponseDeliverTx) XXX_Size() int {
  1844. return m.Size()
  1845. }
  1846. func (m *ResponseDeliverTx) XXX_DiscardUnknown() {
  1847. xxx_messageInfo_ResponseDeliverTx.DiscardUnknown(m)
  1848. }
  1849. var xxx_messageInfo_ResponseDeliverTx proto.InternalMessageInfo
  1850. func (m *ResponseDeliverTx) GetCode() uint32 {
  1851. if m != nil {
  1852. return m.Code
  1853. }
  1854. return 0
  1855. }
  1856. func (m *ResponseDeliverTx) GetData() []byte {
  1857. if m != nil {
  1858. return m.Data
  1859. }
  1860. return nil
  1861. }
  1862. func (m *ResponseDeliverTx) GetLog() string {
  1863. if m != nil {
  1864. return m.Log
  1865. }
  1866. return ""
  1867. }
  1868. func (m *ResponseDeliverTx) GetInfo() string {
  1869. if m != nil {
  1870. return m.Info
  1871. }
  1872. return ""
  1873. }
  1874. func (m *ResponseDeliverTx) GetGasWanted() int64 {
  1875. if m != nil {
  1876. return m.GasWanted
  1877. }
  1878. return 0
  1879. }
  1880. func (m *ResponseDeliverTx) GetGasUsed() int64 {
  1881. if m != nil {
  1882. return m.GasUsed
  1883. }
  1884. return 0
  1885. }
  1886. func (m *ResponseDeliverTx) GetEvents() []Event {
  1887. if m != nil {
  1888. return m.Events
  1889. }
  1890. return nil
  1891. }
  1892. func (m *ResponseDeliverTx) GetCodespace() string {
  1893. if m != nil {
  1894. return m.Codespace
  1895. }
  1896. return ""
  1897. }
  1898. type ResponseEndBlock struct {
  1899. ValidatorUpdates []ValidatorUpdate `protobuf:"bytes,1,rep,name=validator_updates,json=validatorUpdates,proto3" json:"validator_updates"`
  1900. ConsensusParamUpdates *ConsensusParams `protobuf:"bytes,2,opt,name=consensus_param_updates,json=consensusParamUpdates,proto3" json:"consensus_param_updates,omitempty"`
  1901. Events []Event `protobuf:"bytes,3,rep,name=events,proto3" json:"events,omitempty"`
  1902. }
  1903. func (m *ResponseEndBlock) Reset() { *m = ResponseEndBlock{} }
  1904. func (m *ResponseEndBlock) String() string { return proto.CompactTextString(m) }
  1905. func (*ResponseEndBlock) ProtoMessage() {}
  1906. func (*ResponseEndBlock) Descriptor() ([]byte, []int) {
  1907. return fileDescriptor_51a5414a4a9be4c5, []int{27}
  1908. }
  1909. func (m *ResponseEndBlock) XXX_Unmarshal(b []byte) error {
  1910. return m.Unmarshal(b)
  1911. }
  1912. func (m *ResponseEndBlock) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1913. if deterministic {
  1914. return xxx_messageInfo_ResponseEndBlock.Marshal(b, m, deterministic)
  1915. } else {
  1916. b = b[:cap(b)]
  1917. n, err := m.MarshalToSizedBuffer(b)
  1918. if err != nil {
  1919. return nil, err
  1920. }
  1921. return b[:n], nil
  1922. }
  1923. }
  1924. func (m *ResponseEndBlock) XXX_Merge(src proto.Message) {
  1925. xxx_messageInfo_ResponseEndBlock.Merge(m, src)
  1926. }
  1927. func (m *ResponseEndBlock) XXX_Size() int {
  1928. return m.Size()
  1929. }
  1930. func (m *ResponseEndBlock) XXX_DiscardUnknown() {
  1931. xxx_messageInfo_ResponseEndBlock.DiscardUnknown(m)
  1932. }
  1933. var xxx_messageInfo_ResponseEndBlock proto.InternalMessageInfo
  1934. func (m *ResponseEndBlock) GetValidatorUpdates() []ValidatorUpdate {
  1935. if m != nil {
  1936. return m.ValidatorUpdates
  1937. }
  1938. return nil
  1939. }
  1940. func (m *ResponseEndBlock) GetConsensusParamUpdates() *ConsensusParams {
  1941. if m != nil {
  1942. return m.ConsensusParamUpdates
  1943. }
  1944. return nil
  1945. }
  1946. func (m *ResponseEndBlock) GetEvents() []Event {
  1947. if m != nil {
  1948. return m.Events
  1949. }
  1950. return nil
  1951. }
  1952. type ResponseCommit struct {
  1953. // reserve 1
  1954. Data []byte `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"`
  1955. RetainHeight int64 `protobuf:"varint,3,opt,name=retain_height,json=retainHeight,proto3" json:"retain_height,omitempty"`
  1956. }
  1957. func (m *ResponseCommit) Reset() { *m = ResponseCommit{} }
  1958. func (m *ResponseCommit) String() string { return proto.CompactTextString(m) }
  1959. func (*ResponseCommit) ProtoMessage() {}
  1960. func (*ResponseCommit) Descriptor() ([]byte, []int) {
  1961. return fileDescriptor_51a5414a4a9be4c5, []int{28}
  1962. }
  1963. func (m *ResponseCommit) XXX_Unmarshal(b []byte) error {
  1964. return m.Unmarshal(b)
  1965. }
  1966. func (m *ResponseCommit) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1967. if deterministic {
  1968. return xxx_messageInfo_ResponseCommit.Marshal(b, m, deterministic)
  1969. } else {
  1970. b = b[:cap(b)]
  1971. n, err := m.MarshalToSizedBuffer(b)
  1972. if err != nil {
  1973. return nil, err
  1974. }
  1975. return b[:n], nil
  1976. }
  1977. }
  1978. func (m *ResponseCommit) XXX_Merge(src proto.Message) {
  1979. xxx_messageInfo_ResponseCommit.Merge(m, src)
  1980. }
  1981. func (m *ResponseCommit) XXX_Size() int {
  1982. return m.Size()
  1983. }
  1984. func (m *ResponseCommit) XXX_DiscardUnknown() {
  1985. xxx_messageInfo_ResponseCommit.DiscardUnknown(m)
  1986. }
  1987. var xxx_messageInfo_ResponseCommit proto.InternalMessageInfo
  1988. func (m *ResponseCommit) GetData() []byte {
  1989. if m != nil {
  1990. return m.Data
  1991. }
  1992. return nil
  1993. }
  1994. func (m *ResponseCommit) GetRetainHeight() int64 {
  1995. if m != nil {
  1996. return m.RetainHeight
  1997. }
  1998. return 0
  1999. }
  2000. type ResponseListSnapshots struct {
  2001. Snapshots []*Snapshot `protobuf:"bytes,1,rep,name=snapshots,proto3" json:"snapshots,omitempty"`
  2002. }
  2003. func (m *ResponseListSnapshots) Reset() { *m = ResponseListSnapshots{} }
  2004. func (m *ResponseListSnapshots) String() string { return proto.CompactTextString(m) }
  2005. func (*ResponseListSnapshots) ProtoMessage() {}
  2006. func (*ResponseListSnapshots) Descriptor() ([]byte, []int) {
  2007. return fileDescriptor_51a5414a4a9be4c5, []int{29}
  2008. }
  2009. func (m *ResponseListSnapshots) XXX_Unmarshal(b []byte) error {
  2010. return m.Unmarshal(b)
  2011. }
  2012. func (m *ResponseListSnapshots) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2013. if deterministic {
  2014. return xxx_messageInfo_ResponseListSnapshots.Marshal(b, m, deterministic)
  2015. } else {
  2016. b = b[:cap(b)]
  2017. n, err := m.MarshalToSizedBuffer(b)
  2018. if err != nil {
  2019. return nil, err
  2020. }
  2021. return b[:n], nil
  2022. }
  2023. }
  2024. func (m *ResponseListSnapshots) XXX_Merge(src proto.Message) {
  2025. xxx_messageInfo_ResponseListSnapshots.Merge(m, src)
  2026. }
  2027. func (m *ResponseListSnapshots) XXX_Size() int {
  2028. return m.Size()
  2029. }
  2030. func (m *ResponseListSnapshots) XXX_DiscardUnknown() {
  2031. xxx_messageInfo_ResponseListSnapshots.DiscardUnknown(m)
  2032. }
  2033. var xxx_messageInfo_ResponseListSnapshots proto.InternalMessageInfo
  2034. func (m *ResponseListSnapshots) GetSnapshots() []*Snapshot {
  2035. if m != nil {
  2036. return m.Snapshots
  2037. }
  2038. return nil
  2039. }
  2040. type ResponseOfferSnapshot struct {
  2041. Result ResponseOfferSnapshot_Result `protobuf:"varint,1,opt,name=result,proto3,enum=tendermint.abci.ResponseOfferSnapshot_Result" json:"result,omitempty"`
  2042. }
  2043. func (m *ResponseOfferSnapshot) Reset() { *m = ResponseOfferSnapshot{} }
  2044. func (m *ResponseOfferSnapshot) String() string { return proto.CompactTextString(m) }
  2045. func (*ResponseOfferSnapshot) ProtoMessage() {}
  2046. func (*ResponseOfferSnapshot) Descriptor() ([]byte, []int) {
  2047. return fileDescriptor_51a5414a4a9be4c5, []int{30}
  2048. }
  2049. func (m *ResponseOfferSnapshot) XXX_Unmarshal(b []byte) error {
  2050. return m.Unmarshal(b)
  2051. }
  2052. func (m *ResponseOfferSnapshot) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2053. if deterministic {
  2054. return xxx_messageInfo_ResponseOfferSnapshot.Marshal(b, m, deterministic)
  2055. } else {
  2056. b = b[:cap(b)]
  2057. n, err := m.MarshalToSizedBuffer(b)
  2058. if err != nil {
  2059. return nil, err
  2060. }
  2061. return b[:n], nil
  2062. }
  2063. }
  2064. func (m *ResponseOfferSnapshot) XXX_Merge(src proto.Message) {
  2065. xxx_messageInfo_ResponseOfferSnapshot.Merge(m, src)
  2066. }
  2067. func (m *ResponseOfferSnapshot) XXX_Size() int {
  2068. return m.Size()
  2069. }
  2070. func (m *ResponseOfferSnapshot) XXX_DiscardUnknown() {
  2071. xxx_messageInfo_ResponseOfferSnapshot.DiscardUnknown(m)
  2072. }
  2073. var xxx_messageInfo_ResponseOfferSnapshot proto.InternalMessageInfo
  2074. func (m *ResponseOfferSnapshot) GetResult() ResponseOfferSnapshot_Result {
  2075. if m != nil {
  2076. return m.Result
  2077. }
  2078. return ResponseOfferSnapshot_ACCEPT
  2079. }
  2080. type ResponseLoadSnapshotChunk struct {
  2081. Chunk []byte `protobuf:"bytes,1,opt,name=chunk,proto3" json:"chunk,omitempty"`
  2082. }
  2083. func (m *ResponseLoadSnapshotChunk) Reset() { *m = ResponseLoadSnapshotChunk{} }
  2084. func (m *ResponseLoadSnapshotChunk) String() string { return proto.CompactTextString(m) }
  2085. func (*ResponseLoadSnapshotChunk) ProtoMessage() {}
  2086. func (*ResponseLoadSnapshotChunk) Descriptor() ([]byte, []int) {
  2087. return fileDescriptor_51a5414a4a9be4c5, []int{31}
  2088. }
  2089. func (m *ResponseLoadSnapshotChunk) XXX_Unmarshal(b []byte) error {
  2090. return m.Unmarshal(b)
  2091. }
  2092. func (m *ResponseLoadSnapshotChunk) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2093. if deterministic {
  2094. return xxx_messageInfo_ResponseLoadSnapshotChunk.Marshal(b, m, deterministic)
  2095. } else {
  2096. b = b[:cap(b)]
  2097. n, err := m.MarshalToSizedBuffer(b)
  2098. if err != nil {
  2099. return nil, err
  2100. }
  2101. return b[:n], nil
  2102. }
  2103. }
  2104. func (m *ResponseLoadSnapshotChunk) XXX_Merge(src proto.Message) {
  2105. xxx_messageInfo_ResponseLoadSnapshotChunk.Merge(m, src)
  2106. }
  2107. func (m *ResponseLoadSnapshotChunk) XXX_Size() int {
  2108. return m.Size()
  2109. }
  2110. func (m *ResponseLoadSnapshotChunk) XXX_DiscardUnknown() {
  2111. xxx_messageInfo_ResponseLoadSnapshotChunk.DiscardUnknown(m)
  2112. }
  2113. var xxx_messageInfo_ResponseLoadSnapshotChunk proto.InternalMessageInfo
  2114. func (m *ResponseLoadSnapshotChunk) GetChunk() []byte {
  2115. if m != nil {
  2116. return m.Chunk
  2117. }
  2118. return nil
  2119. }
  2120. type ResponseApplySnapshotChunk struct {
  2121. Result ResponseApplySnapshotChunk_Result `protobuf:"varint,1,opt,name=result,proto3,enum=tendermint.abci.ResponseApplySnapshotChunk_Result" json:"result,omitempty"`
  2122. RefetchChunks []uint32 `protobuf:"varint,2,rep,packed,name=refetch_chunks,json=refetchChunks,proto3" json:"refetch_chunks,omitempty"`
  2123. RejectSenders []string `protobuf:"bytes,3,rep,name=reject_senders,json=rejectSenders,proto3" json:"reject_senders,omitempty"`
  2124. }
  2125. func (m *ResponseApplySnapshotChunk) Reset() { *m = ResponseApplySnapshotChunk{} }
  2126. func (m *ResponseApplySnapshotChunk) String() string { return proto.CompactTextString(m) }
  2127. func (*ResponseApplySnapshotChunk) ProtoMessage() {}
  2128. func (*ResponseApplySnapshotChunk) Descriptor() ([]byte, []int) {
  2129. return fileDescriptor_51a5414a4a9be4c5, []int{32}
  2130. }
  2131. func (m *ResponseApplySnapshotChunk) XXX_Unmarshal(b []byte) error {
  2132. return m.Unmarshal(b)
  2133. }
  2134. func (m *ResponseApplySnapshotChunk) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2135. if deterministic {
  2136. return xxx_messageInfo_ResponseApplySnapshotChunk.Marshal(b, m, deterministic)
  2137. } else {
  2138. b = b[:cap(b)]
  2139. n, err := m.MarshalToSizedBuffer(b)
  2140. if err != nil {
  2141. return nil, err
  2142. }
  2143. return b[:n], nil
  2144. }
  2145. }
  2146. func (m *ResponseApplySnapshotChunk) XXX_Merge(src proto.Message) {
  2147. xxx_messageInfo_ResponseApplySnapshotChunk.Merge(m, src)
  2148. }
  2149. func (m *ResponseApplySnapshotChunk) XXX_Size() int {
  2150. return m.Size()
  2151. }
  2152. func (m *ResponseApplySnapshotChunk) XXX_DiscardUnknown() {
  2153. xxx_messageInfo_ResponseApplySnapshotChunk.DiscardUnknown(m)
  2154. }
  2155. var xxx_messageInfo_ResponseApplySnapshotChunk proto.InternalMessageInfo
  2156. func (m *ResponseApplySnapshotChunk) GetResult() ResponseApplySnapshotChunk_Result {
  2157. if m != nil {
  2158. return m.Result
  2159. }
  2160. return ResponseApplySnapshotChunk_ACCEPT
  2161. }
  2162. func (m *ResponseApplySnapshotChunk) GetRefetchChunks() []uint32 {
  2163. if m != nil {
  2164. return m.RefetchChunks
  2165. }
  2166. return nil
  2167. }
  2168. func (m *ResponseApplySnapshotChunk) GetRejectSenders() []string {
  2169. if m != nil {
  2170. return m.RejectSenders
  2171. }
  2172. return nil
  2173. }
  2174. // ConsensusParams contains all consensus-relevant parameters
  2175. // that can be adjusted by the abci app
  2176. type ConsensusParams struct {
  2177. Block *BlockParams `protobuf:"bytes,1,opt,name=block,proto3" json:"block,omitempty"`
  2178. Evidence *types1.EvidenceParams `protobuf:"bytes,2,opt,name=evidence,proto3" json:"evidence,omitempty"`
  2179. Validator *types1.ValidatorParams `protobuf:"bytes,3,opt,name=validator,proto3" json:"validator,omitempty"`
  2180. }
  2181. func (m *ConsensusParams) Reset() { *m = ConsensusParams{} }
  2182. func (m *ConsensusParams) String() string { return proto.CompactTextString(m) }
  2183. func (*ConsensusParams) ProtoMessage() {}
  2184. func (*ConsensusParams) Descriptor() ([]byte, []int) {
  2185. return fileDescriptor_51a5414a4a9be4c5, []int{33}
  2186. }
  2187. func (m *ConsensusParams) XXX_Unmarshal(b []byte) error {
  2188. return m.Unmarshal(b)
  2189. }
  2190. func (m *ConsensusParams) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2191. if deterministic {
  2192. return xxx_messageInfo_ConsensusParams.Marshal(b, m, deterministic)
  2193. } else {
  2194. b = b[:cap(b)]
  2195. n, err := m.MarshalToSizedBuffer(b)
  2196. if err != nil {
  2197. return nil, err
  2198. }
  2199. return b[:n], nil
  2200. }
  2201. }
  2202. func (m *ConsensusParams) XXX_Merge(src proto.Message) {
  2203. xxx_messageInfo_ConsensusParams.Merge(m, src)
  2204. }
  2205. func (m *ConsensusParams) XXX_Size() int {
  2206. return m.Size()
  2207. }
  2208. func (m *ConsensusParams) XXX_DiscardUnknown() {
  2209. xxx_messageInfo_ConsensusParams.DiscardUnknown(m)
  2210. }
  2211. var xxx_messageInfo_ConsensusParams proto.InternalMessageInfo
  2212. func (m *ConsensusParams) GetBlock() *BlockParams {
  2213. if m != nil {
  2214. return m.Block
  2215. }
  2216. return nil
  2217. }
  2218. func (m *ConsensusParams) GetEvidence() *types1.EvidenceParams {
  2219. if m != nil {
  2220. return m.Evidence
  2221. }
  2222. return nil
  2223. }
  2224. func (m *ConsensusParams) GetValidator() *types1.ValidatorParams {
  2225. if m != nil {
  2226. return m.Validator
  2227. }
  2228. return nil
  2229. }
  2230. // BlockParams contains limits on the block size.
  2231. type BlockParams struct {
  2232. // Note: must be greater than 0
  2233. MaxBytes int64 `protobuf:"varint,1,opt,name=max_bytes,json=maxBytes,proto3" json:"max_bytes,omitempty"`
  2234. // Note: must be greater or equal to -1
  2235. MaxGas int64 `protobuf:"varint,2,opt,name=max_gas,json=maxGas,proto3" json:"max_gas,omitempty"`
  2236. }
  2237. func (m *BlockParams) Reset() { *m = BlockParams{} }
  2238. func (m *BlockParams) String() string { return proto.CompactTextString(m) }
  2239. func (*BlockParams) ProtoMessage() {}
  2240. func (*BlockParams) Descriptor() ([]byte, []int) {
  2241. return fileDescriptor_51a5414a4a9be4c5, []int{34}
  2242. }
  2243. func (m *BlockParams) XXX_Unmarshal(b []byte) error {
  2244. return m.Unmarshal(b)
  2245. }
  2246. func (m *BlockParams) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2247. if deterministic {
  2248. return xxx_messageInfo_BlockParams.Marshal(b, m, deterministic)
  2249. } else {
  2250. b = b[:cap(b)]
  2251. n, err := m.MarshalToSizedBuffer(b)
  2252. if err != nil {
  2253. return nil, err
  2254. }
  2255. return b[:n], nil
  2256. }
  2257. }
  2258. func (m *BlockParams) XXX_Merge(src proto.Message) {
  2259. xxx_messageInfo_BlockParams.Merge(m, src)
  2260. }
  2261. func (m *BlockParams) XXX_Size() int {
  2262. return m.Size()
  2263. }
  2264. func (m *BlockParams) XXX_DiscardUnknown() {
  2265. xxx_messageInfo_BlockParams.DiscardUnknown(m)
  2266. }
  2267. var xxx_messageInfo_BlockParams proto.InternalMessageInfo
  2268. func (m *BlockParams) GetMaxBytes() int64 {
  2269. if m != nil {
  2270. return m.MaxBytes
  2271. }
  2272. return 0
  2273. }
  2274. func (m *BlockParams) GetMaxGas() int64 {
  2275. if m != nil {
  2276. return m.MaxGas
  2277. }
  2278. return 0
  2279. }
  2280. type LastCommitInfo struct {
  2281. Round int32 `protobuf:"varint,1,opt,name=round,proto3" json:"round,omitempty"`
  2282. Votes []VoteInfo `protobuf:"bytes,2,rep,name=votes,proto3" json:"votes"`
  2283. }
  2284. func (m *LastCommitInfo) Reset() { *m = LastCommitInfo{} }
  2285. func (m *LastCommitInfo) String() string { return proto.CompactTextString(m) }
  2286. func (*LastCommitInfo) ProtoMessage() {}
  2287. func (*LastCommitInfo) Descriptor() ([]byte, []int) {
  2288. return fileDescriptor_51a5414a4a9be4c5, []int{35}
  2289. }
  2290. func (m *LastCommitInfo) XXX_Unmarshal(b []byte) error {
  2291. return m.Unmarshal(b)
  2292. }
  2293. func (m *LastCommitInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2294. if deterministic {
  2295. return xxx_messageInfo_LastCommitInfo.Marshal(b, m, deterministic)
  2296. } else {
  2297. b = b[:cap(b)]
  2298. n, err := m.MarshalToSizedBuffer(b)
  2299. if err != nil {
  2300. return nil, err
  2301. }
  2302. return b[:n], nil
  2303. }
  2304. }
  2305. func (m *LastCommitInfo) XXX_Merge(src proto.Message) {
  2306. xxx_messageInfo_LastCommitInfo.Merge(m, src)
  2307. }
  2308. func (m *LastCommitInfo) XXX_Size() int {
  2309. return m.Size()
  2310. }
  2311. func (m *LastCommitInfo) XXX_DiscardUnknown() {
  2312. xxx_messageInfo_LastCommitInfo.DiscardUnknown(m)
  2313. }
  2314. var xxx_messageInfo_LastCommitInfo proto.InternalMessageInfo
  2315. func (m *LastCommitInfo) GetRound() int32 {
  2316. if m != nil {
  2317. return m.Round
  2318. }
  2319. return 0
  2320. }
  2321. func (m *LastCommitInfo) GetVotes() []VoteInfo {
  2322. if m != nil {
  2323. return m.Votes
  2324. }
  2325. return nil
  2326. }
  2327. // EventAttribute represents an event to the indexing service.
  2328. type EventAttribute struct {
  2329. Key []byte `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
  2330. Value []byte `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
  2331. Index bool `protobuf:"varint,3,opt,name=index,proto3" json:"index,omitempty"`
  2332. }
  2333. func (m *EventAttribute) Reset() { *m = EventAttribute{} }
  2334. func (m *EventAttribute) String() string { return proto.CompactTextString(m) }
  2335. func (*EventAttribute) ProtoMessage() {}
  2336. func (*EventAttribute) Descriptor() ([]byte, []int) {
  2337. return fileDescriptor_51a5414a4a9be4c5, []int{36}
  2338. }
  2339. func (m *EventAttribute) XXX_Unmarshal(b []byte) error {
  2340. return m.Unmarshal(b)
  2341. }
  2342. func (m *EventAttribute) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2343. if deterministic {
  2344. return xxx_messageInfo_EventAttribute.Marshal(b, m, deterministic)
  2345. } else {
  2346. b = b[:cap(b)]
  2347. n, err := m.MarshalToSizedBuffer(b)
  2348. if err != nil {
  2349. return nil, err
  2350. }
  2351. return b[:n], nil
  2352. }
  2353. }
  2354. func (m *EventAttribute) XXX_Merge(src proto.Message) {
  2355. xxx_messageInfo_EventAttribute.Merge(m, src)
  2356. }
  2357. func (m *EventAttribute) XXX_Size() int {
  2358. return m.Size()
  2359. }
  2360. func (m *EventAttribute) XXX_DiscardUnknown() {
  2361. xxx_messageInfo_EventAttribute.DiscardUnknown(m)
  2362. }
  2363. var xxx_messageInfo_EventAttribute proto.InternalMessageInfo
  2364. func (m *EventAttribute) GetKey() []byte {
  2365. if m != nil {
  2366. return m.Key
  2367. }
  2368. return nil
  2369. }
  2370. func (m *EventAttribute) GetValue() []byte {
  2371. if m != nil {
  2372. return m.Value
  2373. }
  2374. return nil
  2375. }
  2376. func (m *EventAttribute) GetIndex() bool {
  2377. if m != nil {
  2378. return m.Index
  2379. }
  2380. return false
  2381. }
  2382. type Event struct {
  2383. Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"`
  2384. Attributes []EventAttribute `protobuf:"bytes,2,rep,name=attributes,proto3" json:"attributes,omitempty"`
  2385. }
  2386. func (m *Event) Reset() { *m = Event{} }
  2387. func (m *Event) String() string { return proto.CompactTextString(m) }
  2388. func (*Event) ProtoMessage() {}
  2389. func (*Event) Descriptor() ([]byte, []int) {
  2390. return fileDescriptor_51a5414a4a9be4c5, []int{37}
  2391. }
  2392. func (m *Event) XXX_Unmarshal(b []byte) error {
  2393. return m.Unmarshal(b)
  2394. }
  2395. func (m *Event) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2396. if deterministic {
  2397. return xxx_messageInfo_Event.Marshal(b, m, deterministic)
  2398. } else {
  2399. b = b[:cap(b)]
  2400. n, err := m.MarshalToSizedBuffer(b)
  2401. if err != nil {
  2402. return nil, err
  2403. }
  2404. return b[:n], nil
  2405. }
  2406. }
  2407. func (m *Event) XXX_Merge(src proto.Message) {
  2408. xxx_messageInfo_Event.Merge(m, src)
  2409. }
  2410. func (m *Event) XXX_Size() int {
  2411. return m.Size()
  2412. }
  2413. func (m *Event) XXX_DiscardUnknown() {
  2414. xxx_messageInfo_Event.DiscardUnknown(m)
  2415. }
  2416. var xxx_messageInfo_Event proto.InternalMessageInfo
  2417. func (m *Event) GetType() string {
  2418. if m != nil {
  2419. return m.Type
  2420. }
  2421. return ""
  2422. }
  2423. func (m *Event) GetAttributes() []EventAttribute {
  2424. if m != nil {
  2425. return m.Attributes
  2426. }
  2427. return nil
  2428. }
  2429. // TxResult contains results of executing the transaction.
  2430. //
  2431. // One usage is indexing transaction results.
  2432. type TxResult struct {
  2433. Height int64 `protobuf:"varint,1,opt,name=height,proto3" json:"height,omitempty"`
  2434. Index uint32 `protobuf:"varint,2,opt,name=Index,proto3" json:"Index,omitempty"`
  2435. Tx []byte `protobuf:"bytes,3,opt,name=tx,proto3" json:"tx,omitempty"`
  2436. Result ResponseDeliverTx `protobuf:"bytes,4,opt,name=result,proto3" json:"result"`
  2437. }
  2438. func (m *TxResult) Reset() { *m = TxResult{} }
  2439. func (m *TxResult) String() string { return proto.CompactTextString(m) }
  2440. func (*TxResult) ProtoMessage() {}
  2441. func (*TxResult) Descriptor() ([]byte, []int) {
  2442. return fileDescriptor_51a5414a4a9be4c5, []int{38}
  2443. }
  2444. func (m *TxResult) XXX_Unmarshal(b []byte) error {
  2445. return m.Unmarshal(b)
  2446. }
  2447. func (m *TxResult) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2448. if deterministic {
  2449. return xxx_messageInfo_TxResult.Marshal(b, m, deterministic)
  2450. } else {
  2451. b = b[:cap(b)]
  2452. n, err := m.MarshalToSizedBuffer(b)
  2453. if err != nil {
  2454. return nil, err
  2455. }
  2456. return b[:n], nil
  2457. }
  2458. }
  2459. func (m *TxResult) XXX_Merge(src proto.Message) {
  2460. xxx_messageInfo_TxResult.Merge(m, src)
  2461. }
  2462. func (m *TxResult) XXX_Size() int {
  2463. return m.Size()
  2464. }
  2465. func (m *TxResult) XXX_DiscardUnknown() {
  2466. xxx_messageInfo_TxResult.DiscardUnknown(m)
  2467. }
  2468. var xxx_messageInfo_TxResult proto.InternalMessageInfo
  2469. func (m *TxResult) GetHeight() int64 {
  2470. if m != nil {
  2471. return m.Height
  2472. }
  2473. return 0
  2474. }
  2475. func (m *TxResult) GetIndex() uint32 {
  2476. if m != nil {
  2477. return m.Index
  2478. }
  2479. return 0
  2480. }
  2481. func (m *TxResult) GetTx() []byte {
  2482. if m != nil {
  2483. return m.Tx
  2484. }
  2485. return nil
  2486. }
  2487. func (m *TxResult) GetResult() ResponseDeliverTx {
  2488. if m != nil {
  2489. return m.Result
  2490. }
  2491. return ResponseDeliverTx{}
  2492. }
  2493. // Validator
  2494. type Validator struct {
  2495. Address []byte `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
  2496. // PubKey pub_key = 2 [(gogoproto.nullable)=false];
  2497. Power int64 `protobuf:"varint,3,opt,name=power,proto3" json:"power,omitempty"`
  2498. }
  2499. func (m *Validator) Reset() { *m = Validator{} }
  2500. func (m *Validator) String() string { return proto.CompactTextString(m) }
  2501. func (*Validator) ProtoMessage() {}
  2502. func (*Validator) Descriptor() ([]byte, []int) {
  2503. return fileDescriptor_51a5414a4a9be4c5, []int{39}
  2504. }
  2505. func (m *Validator) XXX_Unmarshal(b []byte) error {
  2506. return m.Unmarshal(b)
  2507. }
  2508. func (m *Validator) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2509. if deterministic {
  2510. return xxx_messageInfo_Validator.Marshal(b, m, deterministic)
  2511. } else {
  2512. b = b[:cap(b)]
  2513. n, err := m.MarshalToSizedBuffer(b)
  2514. if err != nil {
  2515. return nil, err
  2516. }
  2517. return b[:n], nil
  2518. }
  2519. }
  2520. func (m *Validator) XXX_Merge(src proto.Message) {
  2521. xxx_messageInfo_Validator.Merge(m, src)
  2522. }
  2523. func (m *Validator) XXX_Size() int {
  2524. return m.Size()
  2525. }
  2526. func (m *Validator) XXX_DiscardUnknown() {
  2527. xxx_messageInfo_Validator.DiscardUnknown(m)
  2528. }
  2529. var xxx_messageInfo_Validator proto.InternalMessageInfo
  2530. func (m *Validator) GetAddress() []byte {
  2531. if m != nil {
  2532. return m.Address
  2533. }
  2534. return nil
  2535. }
  2536. func (m *Validator) GetPower() int64 {
  2537. if m != nil {
  2538. return m.Power
  2539. }
  2540. return 0
  2541. }
  2542. // ValidatorUpdate
  2543. type ValidatorUpdate struct {
  2544. PubKey keys.PublicKey `protobuf:"bytes,1,opt,name=pub_key,json=pubKey,proto3" json:"pub_key"`
  2545. Power int64 `protobuf:"varint,2,opt,name=power,proto3" json:"power,omitempty"`
  2546. }
  2547. func (m *ValidatorUpdate) Reset() { *m = ValidatorUpdate{} }
  2548. func (m *ValidatorUpdate) String() string { return proto.CompactTextString(m) }
  2549. func (*ValidatorUpdate) ProtoMessage() {}
  2550. func (*ValidatorUpdate) Descriptor() ([]byte, []int) {
  2551. return fileDescriptor_51a5414a4a9be4c5, []int{40}
  2552. }
  2553. func (m *ValidatorUpdate) XXX_Unmarshal(b []byte) error {
  2554. return m.Unmarshal(b)
  2555. }
  2556. func (m *ValidatorUpdate) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2557. if deterministic {
  2558. return xxx_messageInfo_ValidatorUpdate.Marshal(b, m, deterministic)
  2559. } else {
  2560. b = b[:cap(b)]
  2561. n, err := m.MarshalToSizedBuffer(b)
  2562. if err != nil {
  2563. return nil, err
  2564. }
  2565. return b[:n], nil
  2566. }
  2567. }
  2568. func (m *ValidatorUpdate) XXX_Merge(src proto.Message) {
  2569. xxx_messageInfo_ValidatorUpdate.Merge(m, src)
  2570. }
  2571. func (m *ValidatorUpdate) XXX_Size() int {
  2572. return m.Size()
  2573. }
  2574. func (m *ValidatorUpdate) XXX_DiscardUnknown() {
  2575. xxx_messageInfo_ValidatorUpdate.DiscardUnknown(m)
  2576. }
  2577. var xxx_messageInfo_ValidatorUpdate proto.InternalMessageInfo
  2578. func (m *ValidatorUpdate) GetPubKey() keys.PublicKey {
  2579. if m != nil {
  2580. return m.PubKey
  2581. }
  2582. return keys.PublicKey{}
  2583. }
  2584. func (m *ValidatorUpdate) GetPower() int64 {
  2585. if m != nil {
  2586. return m.Power
  2587. }
  2588. return 0
  2589. }
  2590. // VoteInfo
  2591. type VoteInfo struct {
  2592. Validator Validator `protobuf:"bytes,1,opt,name=validator,proto3" json:"validator"`
  2593. SignedLastBlock bool `protobuf:"varint,2,opt,name=signed_last_block,json=signedLastBlock,proto3" json:"signed_last_block,omitempty"`
  2594. }
  2595. func (m *VoteInfo) Reset() { *m = VoteInfo{} }
  2596. func (m *VoteInfo) String() string { return proto.CompactTextString(m) }
  2597. func (*VoteInfo) ProtoMessage() {}
  2598. func (*VoteInfo) Descriptor() ([]byte, []int) {
  2599. return fileDescriptor_51a5414a4a9be4c5, []int{41}
  2600. }
  2601. func (m *VoteInfo) XXX_Unmarshal(b []byte) error {
  2602. return m.Unmarshal(b)
  2603. }
  2604. func (m *VoteInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2605. if deterministic {
  2606. return xxx_messageInfo_VoteInfo.Marshal(b, m, deterministic)
  2607. } else {
  2608. b = b[:cap(b)]
  2609. n, err := m.MarshalToSizedBuffer(b)
  2610. if err != nil {
  2611. return nil, err
  2612. }
  2613. return b[:n], nil
  2614. }
  2615. }
  2616. func (m *VoteInfo) XXX_Merge(src proto.Message) {
  2617. xxx_messageInfo_VoteInfo.Merge(m, src)
  2618. }
  2619. func (m *VoteInfo) XXX_Size() int {
  2620. return m.Size()
  2621. }
  2622. func (m *VoteInfo) XXX_DiscardUnknown() {
  2623. xxx_messageInfo_VoteInfo.DiscardUnknown(m)
  2624. }
  2625. var xxx_messageInfo_VoteInfo proto.InternalMessageInfo
  2626. func (m *VoteInfo) GetValidator() Validator {
  2627. if m != nil {
  2628. return m.Validator
  2629. }
  2630. return Validator{}
  2631. }
  2632. func (m *VoteInfo) GetSignedLastBlock() bool {
  2633. if m != nil {
  2634. return m.SignedLastBlock
  2635. }
  2636. return false
  2637. }
  2638. type Evidence struct {
  2639. Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"`
  2640. Validator Validator `protobuf:"bytes,2,opt,name=validator,proto3" json:"validator"`
  2641. Height int64 `protobuf:"varint,3,opt,name=height,proto3" json:"height,omitempty"`
  2642. Time time.Time `protobuf:"bytes,4,opt,name=time,proto3,stdtime" json:"time"`
  2643. TotalVotingPower int64 `protobuf:"varint,5,opt,name=total_voting_power,json=totalVotingPower,proto3" json:"total_voting_power,omitempty"`
  2644. }
  2645. func (m *Evidence) Reset() { *m = Evidence{} }
  2646. func (m *Evidence) String() string { return proto.CompactTextString(m) }
  2647. func (*Evidence) ProtoMessage() {}
  2648. func (*Evidence) Descriptor() ([]byte, []int) {
  2649. return fileDescriptor_51a5414a4a9be4c5, []int{42}
  2650. }
  2651. func (m *Evidence) XXX_Unmarshal(b []byte) error {
  2652. return m.Unmarshal(b)
  2653. }
  2654. func (m *Evidence) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2655. if deterministic {
  2656. return xxx_messageInfo_Evidence.Marshal(b, m, deterministic)
  2657. } else {
  2658. b = b[:cap(b)]
  2659. n, err := m.MarshalToSizedBuffer(b)
  2660. if err != nil {
  2661. return nil, err
  2662. }
  2663. return b[:n], nil
  2664. }
  2665. }
  2666. func (m *Evidence) XXX_Merge(src proto.Message) {
  2667. xxx_messageInfo_Evidence.Merge(m, src)
  2668. }
  2669. func (m *Evidence) XXX_Size() int {
  2670. return m.Size()
  2671. }
  2672. func (m *Evidence) XXX_DiscardUnknown() {
  2673. xxx_messageInfo_Evidence.DiscardUnknown(m)
  2674. }
  2675. var xxx_messageInfo_Evidence proto.InternalMessageInfo
  2676. func (m *Evidence) GetType() string {
  2677. if m != nil {
  2678. return m.Type
  2679. }
  2680. return ""
  2681. }
  2682. func (m *Evidence) GetValidator() Validator {
  2683. if m != nil {
  2684. return m.Validator
  2685. }
  2686. return Validator{}
  2687. }
  2688. func (m *Evidence) GetHeight() int64 {
  2689. if m != nil {
  2690. return m.Height
  2691. }
  2692. return 0
  2693. }
  2694. func (m *Evidence) GetTime() time.Time {
  2695. if m != nil {
  2696. return m.Time
  2697. }
  2698. return time.Time{}
  2699. }
  2700. func (m *Evidence) GetTotalVotingPower() int64 {
  2701. if m != nil {
  2702. return m.TotalVotingPower
  2703. }
  2704. return 0
  2705. }
  2706. type Snapshot struct {
  2707. Height uint64 `protobuf:"varint,1,opt,name=height,proto3" json:"height,omitempty"`
  2708. Format uint32 `protobuf:"varint,2,opt,name=format,proto3" json:"format,omitempty"`
  2709. Chunks uint32 `protobuf:"varint,3,opt,name=chunks,proto3" json:"chunks,omitempty"`
  2710. Hash []byte `protobuf:"bytes,4,opt,name=hash,proto3" json:"hash,omitempty"`
  2711. Metadata []byte `protobuf:"bytes,5,opt,name=metadata,proto3" json:"metadata,omitempty"`
  2712. }
  2713. func (m *Snapshot) Reset() { *m = Snapshot{} }
  2714. func (m *Snapshot) String() string { return proto.CompactTextString(m) }
  2715. func (*Snapshot) ProtoMessage() {}
  2716. func (*Snapshot) Descriptor() ([]byte, []int) {
  2717. return fileDescriptor_51a5414a4a9be4c5, []int{43}
  2718. }
  2719. func (m *Snapshot) XXX_Unmarshal(b []byte) error {
  2720. return m.Unmarshal(b)
  2721. }
  2722. func (m *Snapshot) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2723. if deterministic {
  2724. return xxx_messageInfo_Snapshot.Marshal(b, m, deterministic)
  2725. } else {
  2726. b = b[:cap(b)]
  2727. n, err := m.MarshalToSizedBuffer(b)
  2728. if err != nil {
  2729. return nil, err
  2730. }
  2731. return b[:n], nil
  2732. }
  2733. }
  2734. func (m *Snapshot) XXX_Merge(src proto.Message) {
  2735. xxx_messageInfo_Snapshot.Merge(m, src)
  2736. }
  2737. func (m *Snapshot) XXX_Size() int {
  2738. return m.Size()
  2739. }
  2740. func (m *Snapshot) XXX_DiscardUnknown() {
  2741. xxx_messageInfo_Snapshot.DiscardUnknown(m)
  2742. }
  2743. var xxx_messageInfo_Snapshot proto.InternalMessageInfo
  2744. func (m *Snapshot) GetHeight() uint64 {
  2745. if m != nil {
  2746. return m.Height
  2747. }
  2748. return 0
  2749. }
  2750. func (m *Snapshot) GetFormat() uint32 {
  2751. if m != nil {
  2752. return m.Format
  2753. }
  2754. return 0
  2755. }
  2756. func (m *Snapshot) GetChunks() uint32 {
  2757. if m != nil {
  2758. return m.Chunks
  2759. }
  2760. return 0
  2761. }
  2762. func (m *Snapshot) GetHash() []byte {
  2763. if m != nil {
  2764. return m.Hash
  2765. }
  2766. return nil
  2767. }
  2768. func (m *Snapshot) GetMetadata() []byte {
  2769. if m != nil {
  2770. return m.Metadata
  2771. }
  2772. return nil
  2773. }
  2774. func init() {
  2775. proto.RegisterEnum("tendermint.abci.CheckTxType", CheckTxType_name, CheckTxType_value)
  2776. proto.RegisterEnum("tendermint.abci.ResponseOfferSnapshot_Result", ResponseOfferSnapshot_Result_name, ResponseOfferSnapshot_Result_value)
  2777. proto.RegisterEnum("tendermint.abci.ResponseApplySnapshotChunk_Result", ResponseApplySnapshotChunk_Result_name, ResponseApplySnapshotChunk_Result_value)
  2778. proto.RegisterType((*Request)(nil), "tendermint.abci.Request")
  2779. proto.RegisterType((*RequestEcho)(nil), "tendermint.abci.RequestEcho")
  2780. proto.RegisterType((*RequestFlush)(nil), "tendermint.abci.RequestFlush")
  2781. proto.RegisterType((*RequestInfo)(nil), "tendermint.abci.RequestInfo")
  2782. proto.RegisterType((*RequestSetOption)(nil), "tendermint.abci.RequestSetOption")
  2783. proto.RegisterType((*RequestInitChain)(nil), "tendermint.abci.RequestInitChain")
  2784. proto.RegisterType((*RequestQuery)(nil), "tendermint.abci.RequestQuery")
  2785. proto.RegisterType((*RequestBeginBlock)(nil), "tendermint.abci.RequestBeginBlock")
  2786. proto.RegisterType((*RequestCheckTx)(nil), "tendermint.abci.RequestCheckTx")
  2787. proto.RegisterType((*RequestDeliverTx)(nil), "tendermint.abci.RequestDeliverTx")
  2788. proto.RegisterType((*RequestEndBlock)(nil), "tendermint.abci.RequestEndBlock")
  2789. proto.RegisterType((*RequestCommit)(nil), "tendermint.abci.RequestCommit")
  2790. proto.RegisterType((*RequestListSnapshots)(nil), "tendermint.abci.RequestListSnapshots")
  2791. proto.RegisterType((*RequestOfferSnapshot)(nil), "tendermint.abci.RequestOfferSnapshot")
  2792. proto.RegisterType((*RequestLoadSnapshotChunk)(nil), "tendermint.abci.RequestLoadSnapshotChunk")
  2793. proto.RegisterType((*RequestApplySnapshotChunk)(nil), "tendermint.abci.RequestApplySnapshotChunk")
  2794. proto.RegisterType((*Response)(nil), "tendermint.abci.Response")
  2795. proto.RegisterType((*ResponseException)(nil), "tendermint.abci.ResponseException")
  2796. proto.RegisterType((*ResponseEcho)(nil), "tendermint.abci.ResponseEcho")
  2797. proto.RegisterType((*ResponseFlush)(nil), "tendermint.abci.ResponseFlush")
  2798. proto.RegisterType((*ResponseInfo)(nil), "tendermint.abci.ResponseInfo")
  2799. proto.RegisterType((*ResponseSetOption)(nil), "tendermint.abci.ResponseSetOption")
  2800. proto.RegisterType((*ResponseInitChain)(nil), "tendermint.abci.ResponseInitChain")
  2801. proto.RegisterType((*ResponseQuery)(nil), "tendermint.abci.ResponseQuery")
  2802. proto.RegisterType((*ResponseBeginBlock)(nil), "tendermint.abci.ResponseBeginBlock")
  2803. proto.RegisterType((*ResponseCheckTx)(nil), "tendermint.abci.ResponseCheckTx")
  2804. proto.RegisterType((*ResponseDeliverTx)(nil), "tendermint.abci.ResponseDeliverTx")
  2805. proto.RegisterType((*ResponseEndBlock)(nil), "tendermint.abci.ResponseEndBlock")
  2806. proto.RegisterType((*ResponseCommit)(nil), "tendermint.abci.ResponseCommit")
  2807. proto.RegisterType((*ResponseListSnapshots)(nil), "tendermint.abci.ResponseListSnapshots")
  2808. proto.RegisterType((*ResponseOfferSnapshot)(nil), "tendermint.abci.ResponseOfferSnapshot")
  2809. proto.RegisterType((*ResponseLoadSnapshotChunk)(nil), "tendermint.abci.ResponseLoadSnapshotChunk")
  2810. proto.RegisterType((*ResponseApplySnapshotChunk)(nil), "tendermint.abci.ResponseApplySnapshotChunk")
  2811. proto.RegisterType((*ConsensusParams)(nil), "tendermint.abci.ConsensusParams")
  2812. proto.RegisterType((*BlockParams)(nil), "tendermint.abci.BlockParams")
  2813. proto.RegisterType((*LastCommitInfo)(nil), "tendermint.abci.LastCommitInfo")
  2814. proto.RegisterType((*EventAttribute)(nil), "tendermint.abci.EventAttribute")
  2815. proto.RegisterType((*Event)(nil), "tendermint.abci.Event")
  2816. proto.RegisterType((*TxResult)(nil), "tendermint.abci.TxResult")
  2817. proto.RegisterType((*Validator)(nil), "tendermint.abci.Validator")
  2818. proto.RegisterType((*ValidatorUpdate)(nil), "tendermint.abci.ValidatorUpdate")
  2819. proto.RegisterType((*VoteInfo)(nil), "tendermint.abci.VoteInfo")
  2820. proto.RegisterType((*Evidence)(nil), "tendermint.abci.Evidence")
  2821. proto.RegisterType((*Snapshot)(nil), "tendermint.abci.Snapshot")
  2822. }
  2823. func init() { proto.RegisterFile("tendermint/abci/abci.proto", fileDescriptor_51a5414a4a9be4c5) }
  2824. var fileDescriptor_51a5414a4a9be4c5 = []byte{
  2825. // 2622 bytes of a gzipped FileDescriptorProto
  2826. 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0x5a, 0x4b, 0x97, 0x1b, 0x47,
  2827. 0x15, 0x56, 0x4b, 0x1a, 0x3d, 0xee, 0x8c, 0x1e, 0x53, 0x9e, 0x38, 0x8a, 0xb0, 0x67, 0x9c, 0x36,
  2828. 0x09, 0xb1, 0x93, 0xcc, 0xc0, 0xf8, 0xd8, 0x04, 0x08, 0xe0, 0x91, 0x22, 0xa3, 0x89, 0x1d, 0xcf,
  2829. 0xa4, 0x67, 0x6c, 0x9e, 0x71, 0x53, 0x52, 0xd7, 0x48, 0x9d, 0x91, 0xba, 0x3b, 0xdd, 0xa5, 0xf1,
  2830. 0x28, 0x3b, 0x08, 0x2b, 0xd8, 0x84, 0xff, 0xc0, 0x82, 0x2d, 0x3b, 0x7e, 0x00, 0x8b, 0x2c, 0xb3,
  2831. 0x64, 0x65, 0x38, 0xf6, 0x61, 0xc3, 0x8f, 0xe0, 0x70, 0xea, 0xd1, 0x2f, 0x49, 0x2d, 0x69, 0x12,
  2832. 0x76, 0x6c, 0x74, 0xaa, 0xaa, 0xef, 0xbd, 0x55, 0xb7, 0x1e, 0x5f, 0x7d, 0xf7, 0x96, 0xa0, 0x4e,
  2833. 0x89, 0x65, 0x10, 0x77, 0x68, 0x5a, 0x74, 0x07, 0x77, 0xba, 0x26, 0xff, 0xd9, 0x76, 0x5c, 0x9b,
  2834. 0xda, 0xa8, 0x12, 0x7e, 0xdb, 0x66, 0xcd, 0xf5, 0x6f, 0x46, 0x84, 0xbb, 0xee, 0xd8, 0xa1, 0xf6,
  2835. 0xce, 0x90, 0xb8, 0xa7, 0x03, 0xb2, 0x43, 0xc7, 0x0e, 0xf1, 0x84, 0x5a, 0xfd, 0x4a, 0x44, 0x8a,
  2836. 0xb7, 0xc7, 0xbe, 0xaa, 0xd3, 0x36, 0x4e, 0xc9, 0x38, 0x2e, 0x73, 0x75, 0xca, 0x82, 0x83, 0x5d,
  2837. 0x3c, 0xf4, 0x3f, 0x6f, 0xf5, 0x6c, 0xbb, 0x37, 0x20, 0x3b, 0xbc, 0xd6, 0x19, 0x9d, 0xec, 0x50,
  2838. 0x73, 0x48, 0x3c, 0x8a, 0x87, 0x8e, 0x14, 0xd8, 0xe8, 0xd9, 0x3d, 0x9b, 0x17, 0x77, 0x58, 0x49,
  2839. 0xb4, 0xaa, 0x7f, 0x2c, 0x40, 0x5e, 0x23, 0x9f, 0x8c, 0x88, 0x47, 0xd1, 0x2e, 0x64, 0x49, 0xb7,
  2840. 0x6f, 0xd7, 0xd2, 0xd7, 0x94, 0x37, 0x56, 0x77, 0xaf, 0x6c, 0x4f, 0x78, 0xba, 0x2d, 0xe5, 0x5a,
  2841. 0xdd, 0xbe, 0xdd, 0x4e, 0x69, 0x5c, 0x16, 0xdd, 0x86, 0x95, 0x93, 0xc1, 0xc8, 0xeb, 0xd7, 0x32,
  2842. 0x5c, 0xe9, 0x6a, 0x92, 0xd2, 0x3d, 0x26, 0xd4, 0x4e, 0x69, 0x42, 0x9a, 0x75, 0x65, 0x5a, 0x27,
  2843. 0x76, 0x2d, 0x3b, 0xbf, 0xab, 0x7d, 0xeb, 0x84, 0x77, 0xc5, 0x64, 0x51, 0x03, 0xc0, 0x23, 0x54,
  2844. 0xb7, 0x1d, 0x6a, 0xda, 0x56, 0x6d, 0x85, 0x6b, 0xbe, 0x9a, 0xa4, 0x79, 0x44, 0xe8, 0x01, 0x17,
  2845. 0x6c, 0xa7, 0xb4, 0xa2, 0xe7, 0x57, 0x98, 0x0d, 0xd3, 0x32, 0xa9, 0xde, 0xed, 0x63, 0xd3, 0xaa,
  2846. 0xe5, 0xe6, 0xdb, 0xd8, 0xb7, 0x4c, 0xda, 0x64, 0x82, 0xcc, 0x86, 0xe9, 0x57, 0x98, 0xcb, 0x9f,
  2847. 0x8c, 0x88, 0x3b, 0xae, 0xe5, 0xe7, 0xbb, 0xfc, 0x21, 0x13, 0x62, 0x2e, 0x73, 0x69, 0xd4, 0x82,
  2848. 0xd5, 0x0e, 0xe9, 0x99, 0x96, 0xde, 0x19, 0xd8, 0xdd, 0xd3, 0x5a, 0x81, 0x2b, 0xab, 0x49, 0xca,
  2849. 0x0d, 0x26, 0xda, 0x60, 0x92, 0xed, 0x94, 0x06, 0x9d, 0xa0, 0x86, 0xde, 0x85, 0x42, 0xb7, 0x4f,
  2850. 0xba, 0xa7, 0x3a, 0x3d, 0xaf, 0x15, 0xb9, 0x8d, 0xad, 0x24, 0x1b, 0x4d, 0x26, 0x77, 0x7c, 0xde,
  2851. 0x4e, 0x69, 0xf9, 0xae, 0x28, 0x32, 0xff, 0x0d, 0x32, 0x30, 0xcf, 0x88, 0xcb, 0xf4, 0x2f, 0xcd,
  2852. 0xf7, 0xff, 0x3d, 0x21, 0xc9, 0x2d, 0x14, 0x0d, 0xbf, 0x82, 0x7e, 0x0c, 0x45, 0x62, 0x19, 0xd2,
  2853. 0x8d, 0x55, 0x6e, 0xe2, 0x5a, 0xe2, 0x5e, 0xb1, 0x0c, 0xdf, 0x89, 0x02, 0x91, 0x65, 0xf4, 0x0e,
  2854. 0xe4, 0xba, 0xf6, 0x70, 0x68, 0xd2, 0xda, 0x1a, 0xd7, 0xde, 0x4c, 0x74, 0x80, 0x4b, 0xb5, 0x53,
  2855. 0x9a, 0x94, 0x47, 0x0f, 0xa1, 0x3c, 0x30, 0x3d, 0xaa, 0x7b, 0x16, 0x76, 0xbc, 0xbe, 0x4d, 0xbd,
  2856. 0x5a, 0x89, 0x5b, 0x78, 0x2d, 0xc9, 0xc2, 0x03, 0xd3, 0xa3, 0x47, 0xbe, 0x70, 0x3b, 0xa5, 0x95,
  2857. 0x06, 0xd1, 0x06, 0x66, 0xcf, 0x3e, 0x39, 0x21, 0x6e, 0x60, 0xb0, 0x56, 0x9e, 0x6f, 0xef, 0x80,
  2858. 0x49, 0xfb, 0xfa, 0xcc, 0x9e, 0x1d, 0x6d, 0x40, 0xbf, 0x84, 0x4b, 0x03, 0x1b, 0x1b, 0x81, 0x39,
  2859. 0xbd, 0xdb, 0x1f, 0x59, 0xa7, 0xb5, 0x0a, 0x37, 0x7a, 0x23, 0x71, 0x90, 0x36, 0x36, 0x7c, 0x13,
  2860. 0x4d, 0xa6, 0xd0, 0x4e, 0x69, 0xeb, 0x83, 0xc9, 0x46, 0xf4, 0x04, 0x36, 0xb0, 0xe3, 0x0c, 0xc6,
  2861. 0x93, 0xd6, 0xab, 0xdc, 0xfa, 0xcd, 0x24, 0xeb, 0x7b, 0x4c, 0x67, 0xd2, 0x3c, 0xc2, 0x53, 0xad,
  2862. 0x8d, 0x3c, 0xac, 0x9c, 0xe1, 0xc1, 0x88, 0xa8, 0xdf, 0x82, 0xd5, 0xc8, 0x51, 0x47, 0x35, 0xc8,
  2863. 0x0f, 0x89, 0xe7, 0xe1, 0x1e, 0xa9, 0x29, 0xd7, 0x94, 0x37, 0x8a, 0x9a, 0x5f, 0x55, 0xcb, 0xb0,
  2864. 0x16, 0x3d, 0xde, 0xea, 0x30, 0x50, 0x64, 0x07, 0x97, 0x29, 0x9e, 0x11, 0xd7, 0x63, 0xa7, 0x55,
  2865. 0x2a, 0xca, 0x2a, 0xba, 0x0e, 0x25, 0xbe, 0x7d, 0x74, 0xff, 0x3b, 0x83, 0x9c, 0xac, 0xb6, 0xc6,
  2866. 0x1b, 0x1f, 0x4b, 0xa1, 0x2d, 0x58, 0x75, 0x76, 0x9d, 0x40, 0x24, 0xc3, 0x45, 0xc0, 0xd9, 0x75,
  2867. 0xa4, 0x80, 0xfa, 0x7d, 0xa8, 0x4e, 0x9e, 0x76, 0x54, 0x85, 0xcc, 0x29, 0x19, 0xcb, 0xfe, 0x58,
  2868. 0x11, 0x6d, 0x48, 0xb7, 0x78, 0x1f, 0x45, 0x4d, 0xfa, 0xf8, 0xa7, 0x74, 0xa0, 0x1c, 0x1c, 0x73,
  2869. 0xf4, 0x0e, 0x64, 0x19, 0x6a, 0x72, 0xed, 0xd5, 0xdd, 0xfa, 0xb6, 0x80, 0xd4, 0x6d, 0x1f, 0x52,
  2870. 0xb7, 0x8f, 0x7d, 0x48, 0x6d, 0x14, 0xbe, 0x78, 0xb6, 0x95, 0xfa, 0xfc, 0x1f, 0x5b, 0x8a, 0xc6,
  2871. 0x35, 0xd0, 0x2b, 0xec, 0x54, 0x62, 0xd3, 0xd2, 0x4d, 0x43, 0xf6, 0x93, 0xe7, 0xf5, 0x7d, 0x03,
  2872. 0xdd, 0x87, 0x6a, 0xd7, 0xb6, 0x3c, 0x62, 0x79, 0x23, 0x4f, 0x17, 0x90, 0x2d, 0xc1, 0x72, 0xfa,
  2873. 0xd4, 0x34, 0x7d, 0xc1, 0x43, 0x2e, 0xa7, 0x55, 0xba, 0xf1, 0x06, 0x74, 0x0f, 0xe0, 0x0c, 0x0f,
  2874. 0x4c, 0x03, 0x53, 0xdb, 0xf5, 0x6a, 0xd9, 0x6b, 0x99, 0x99, 0x66, 0x1e, 0xfb, 0x22, 0x8f, 0x1c,
  2875. 0x03, 0x53, 0xd2, 0xc8, 0xb2, 0xd1, 0x6a, 0x11, 0x4d, 0xf4, 0x3a, 0x54, 0xb0, 0xe3, 0xe8, 0x1e,
  2876. 0xc5, 0x94, 0xe8, 0x9d, 0x31, 0x25, 0x1e, 0x07, 0xd4, 0x35, 0xad, 0x84, 0x1d, 0xe7, 0x88, 0xb5,
  2877. 0x36, 0x58, 0xa3, 0x6a, 0x04, 0x2b, 0xcc, 0xd1, 0x0c, 0x21, 0xc8, 0x1a, 0x98, 0x62, 0x3e, 0x43,
  2878. 0x6b, 0x1a, 0x2f, 0xb3, 0x36, 0x07, 0xd3, 0xbe, 0xf4, 0x9b, 0x97, 0xd1, 0x65, 0xc8, 0xf5, 0x89,
  2879. 0xd9, 0xeb, 0x53, 0xee, 0x6a, 0x46, 0x93, 0x35, 0xb6, 0x18, 0x8e, 0x6b, 0x9f, 0x11, 0x0e, 0xfc,
  2880. 0x05, 0x4d, 0x54, 0xd4, 0xdf, 0xa5, 0x61, 0x7d, 0x0a, 0xf7, 0x98, 0xdd, 0x3e, 0xf6, 0xfa, 0x7e,
  2881. 0x5f, 0xac, 0x8c, 0xee, 0x30, 0xbb, 0xd8, 0x20, 0xae, 0xbc, 0xa4, 0x6a, 0x51, 0xdf, 0xc5, 0x6d,
  2882. 0xd9, 0xe6, 0xdf, 0xa5, 0xcf, 0x52, 0x1a, 0x1d, 0x40, 0x75, 0x80, 0x3d, 0xaa, 0x0b, 0x1c, 0xd1,
  2883. 0xf9, 0xdd, 0x93, 0x49, 0x40, 0xcf, 0x07, 0xd8, 0x47, 0x1e, 0xb6, 0x8b, 0xa5, 0xa1, 0xf2, 0x20,
  2884. 0xd6, 0x8a, 0x34, 0xd8, 0xe8, 0x8c, 0x3f, 0xc5, 0x16, 0x35, 0x2d, 0xa2, 0x4f, 0x2d, 0xc9, 0x2b,
  2885. 0x53, 0x46, 0x5b, 0x67, 0xa6, 0x41, 0xac, 0xae, 0xbf, 0x16, 0x97, 0x02, 0xe5, 0x60, 0xad, 0x3c,
  2886. 0x55, 0x83, 0x72, 0x1c, 0xb9, 0x51, 0x19, 0xd2, 0xf4, 0x5c, 0x4e, 0x40, 0x9a, 0x9e, 0xa3, 0x6f,
  2887. 0x43, 0x96, 0x39, 0xc9, 0x9d, 0x2f, 0xcf, 0xb8, 0x36, 0xa5, 0xde, 0xf1, 0xd8, 0x21, 0x1a, 0x97,
  2888. 0x54, 0xd5, 0x60, 0x9b, 0x07, 0x68, 0x3e, 0x69, 0x55, 0xbd, 0x01, 0x95, 0x09, 0xb8, 0x8e, 0xac,
  2889. 0x9f, 0x12, 0x5d, 0x3f, 0xb5, 0x02, 0xa5, 0x18, 0x36, 0xab, 0x97, 0x61, 0x63, 0x16, 0xd4, 0xaa,
  2890. 0xfd, 0xa0, 0x3d, 0x06, 0x99, 0xe8, 0x36, 0x14, 0x02, 0xac, 0x15, 0xc7, 0x6c, 0x7a, 0xae, 0x7c,
  2891. 0x61, 0x2d, 0x10, 0x65, 0xe7, 0x8b, 0xed, 0x57, 0xbe, 0x1f, 0xd2, 0x7c, 0xe0, 0x79, 0xec, 0x38,
  2892. 0x6d, 0xec, 0xf5, 0xd5, 0x5f, 0x43, 0x2d, 0x09, 0x47, 0x27, 0xdc, 0xc8, 0x06, 0xdb, 0xf0, 0x32,
  2893. 0xe4, 0x4e, 0x6c, 0x77, 0x88, 0x29, 0x37, 0x56, 0xd2, 0x64, 0x8d, 0x6d, 0x4f, 0x81, 0xa9, 0x19,
  2894. 0xde, 0x2c, 0x2a, 0xaa, 0x0e, 0xaf, 0x24, 0x62, 0x29, 0x53, 0x31, 0x2d, 0x83, 0x88, 0xf9, 0x2c,
  2895. 0x69, 0xa2, 0x12, 0x1a, 0x12, 0x83, 0x15, 0x15, 0xd6, 0xad, 0xc7, 0x7d, 0xe5, 0xf6, 0x8b, 0x9a,
  2896. 0xac, 0xa9, 0xff, 0x2a, 0x40, 0x41, 0x23, 0x9e, 0xc3, 0x0e, 0x3b, 0x6a, 0x40, 0x91, 0x9c, 0x77,
  2897. 0x89, 0x60, 0x39, 0x4a, 0x22, 0x4b, 0x10, 0xd2, 0x2d, 0x5f, 0x92, 0x5d, 0xd1, 0x81, 0x1a, 0xba,
  2898. 0x15, 0x63, 0x72, 0x57, 0x93, 0xd5, 0xa3, 0x54, 0xee, 0x4e, 0x9c, 0xca, 0x6d, 0x26, 0x6a, 0x4d,
  2899. 0x70, 0xb9, 0x5b, 0x31, 0x2e, 0x97, 0xdc, 0x59, 0x8c, 0xcc, 0x35, 0x67, 0x90, 0xb9, 0x64, 0x37,
  2900. 0x13, 0xd8, 0x5c, 0x73, 0x06, 0x9b, 0x53, 0xe7, 0xf4, 0x3f, 0x93, 0xce, 0xdd, 0x89, 0xd3, 0xb9,
  2901. 0x64, 0xb7, 0x27, 0xf8, 0xdc, 0xbd, 0x59, 0x7c, 0xee, 0x7a, 0xa2, 0x76, 0x22, 0xa1, 0xfb, 0xe1,
  2902. 0x14, 0xa1, 0xbb, 0x96, 0x68, 0x64, 0x06, 0xa3, 0x6b, 0xc6, 0x18, 0x1d, 0x2c, 0x98, 0x83, 0x04,
  2903. 0x4a, 0x77, 0x77, 0x9a, 0xd2, 0xbd, 0x9a, 0xbc, 0x69, 0x66, 0x71, 0xba, 0xef, 0x4d, 0x70, 0xba,
  2904. 0xad, 0x64, 0x1f, 0x26, 0x49, 0xdd, 0x41, 0x02, 0xa9, 0x7b, 0x3d, 0xd1, 0xc4, 0x02, 0x56, 0x77,
  2905. 0x90, 0xc0, 0xea, 0x92, 0x0d, 0x2e, 0xa0, 0x75, 0xbf, 0x9a, 0x47, 0xeb, 0x6e, 0x26, 0x0f, 0x73,
  2906. 0x39, 0x5e, 0xa7, 0xcf, 0xe5, 0x75, 0x6f, 0x26, 0x9a, 0xbf, 0x38, 0xb1, 0xbb, 0xc1, 0xae, 0xd9,
  2907. 0x09, 0xe0, 0x60, 0x50, 0x45, 0x5c, 0xd7, 0x76, 0x25, 0x67, 0x12, 0x15, 0xf5, 0x0d, 0x76, 0xf1,
  2908. 0x87, 0x20, 0x31, 0x87, 0x04, 0xf2, 0x2b, 0x21, 0x02, 0x0c, 0xea, 0x5f, 0x95, 0x50, 0x97, 0xdf,
  2909. 0x95, 0x51, 0xd2, 0x50, 0x94, 0xa4, 0x21, 0xc2, 0x0d, 0xd3, 0x71, 0x6e, 0xb8, 0x05, 0xab, 0x0c,
  2910. 0xea, 0x27, 0x68, 0x1f, 0x76, 0x7c, 0xda, 0x87, 0x6e, 0xc2, 0x3a, 0xbf, 0xcb, 0x05, 0x83, 0x94,
  2911. 0xf8, 0x9e, 0xe5, 0xd7, 0x54, 0x85, 0x7d, 0x10, 0x9b, 0x53, 0x00, 0xfd, 0xdb, 0x70, 0x29, 0x22,
  2912. 0x1b, 0x5c, 0x21, 0x82, 0xeb, 0x54, 0x03, 0xe9, 0x3d, 0x79, 0x97, 0x7c, 0x10, 0x4e, 0x50, 0x48,
  2913. 0x29, 0x11, 0x64, 0xbb, 0xb6, 0x41, 0x24, 0xc0, 0xf3, 0x32, 0xa3, 0x99, 0x03, 0xbb, 0x27, 0x61,
  2914. 0x9c, 0x15, 0x99, 0x54, 0x80, 0x82, 0x45, 0x01, 0x72, 0xea, 0x9f, 0x95, 0xd0, 0x5e, 0xc8, 0x32,
  2915. 0x67, 0x11, 0x42, 0xe5, 0x7f, 0x43, 0x08, 0xd3, 0x5f, 0x95, 0x10, 0xaa, 0xff, 0x51, 0xc2, 0x65,
  2916. 0x0c, 0xa8, 0xde, 0x57, 0x73, 0x3b, 0xbc, 0x12, 0x57, 0xf8, 0xa2, 0xc8, 0x2b, 0x51, 0x32, 0xf3,
  2917. 0x1c, 0x9f, 0xfa, 0x38, 0x33, 0xcf, 0x8b, 0x4b, 0x92, 0x57, 0x58, 0x78, 0xe9, 0xb8, 0xb6, 0x7d,
  2918. 0xa2, 0xdb, 0x8e, 0x37, 0x2b, 0x4a, 0x16, 0xf9, 0x91, 0x6d, 0x91, 0x63, 0xd9, 0x3e, 0x64, 0xa2,
  2919. 0x07, 0x8e, 0xa7, 0x15, 0x1c, 0x59, 0x8a, 0x5c, 0xfa, 0xc5, 0x18, 0xf7, 0xbc, 0x02, 0x45, 0xe6,
  2920. 0x84, 0xe7, 0xe0, 0x2e, 0xe1, 0x40, 0x59, 0xd4, 0xc2, 0x06, 0xf5, 0x09, 0xa0, 0x69, 0xa8, 0x46,
  2921. 0x6d, 0xc8, 0x91, 0x33, 0x62, 0x51, 0xb6, 0x42, 0x6c, 0x6a, 0x2f, 0xcf, 0x20, 0x76, 0xc4, 0xa2,
  2922. 0x8d, 0x1a, 0x9b, 0xd0, 0x7f, 0x3f, 0xdb, 0xaa, 0x0a, 0xe9, 0xb7, 0xec, 0xa1, 0x49, 0xc9, 0xd0,
  2923. 0xa1, 0x63, 0x4d, 0xea, 0xab, 0xbf, 0x49, 0x33, 0x96, 0x15, 0x83, 0xf1, 0x99, 0x53, 0xec, 0x1f,
  2924. 0x96, 0x74, 0x84, 0x61, 0x2f, 0x37, 0xed, 0x57, 0x01, 0x7a, 0xd8, 0xd3, 0x9f, 0x62, 0x8b, 0x12,
  2925. 0x43, 0xce, 0x7d, 0xb1, 0x87, 0xbd, 0x9f, 0xf2, 0x06, 0x46, 0xa1, 0xd8, 0xe7, 0x91, 0x47, 0x0c,
  2926. 0xbe, 0x08, 0x19, 0x2d, 0xdf, 0xc3, 0xde, 0x23, 0x8f, 0x18, 0x11, 0x2f, 0xf3, 0x5f, 0xcf, 0xcb,
  2927. 0xf8, 0x1c, 0x17, 0x26, 0xe7, 0xf8, 0xb3, 0x74, 0x78, 0x1e, 0x42, 0x3a, 0xfa, 0xff, 0x36, 0x0b,
  2928. 0x7f, 0xe0, 0xa1, 0x67, 0xfc, 0x2e, 0x45, 0x47, 0xb0, 0x1e, 0x9c, 0x46, 0x7d, 0xc4, 0x4f, 0xa9,
  2929. 0xbf, 0xe7, 0x96, 0x3d, 0xce, 0xd5, 0xb3, 0x78, 0xb3, 0x87, 0x7e, 0x06, 0x2f, 0x4f, 0x20, 0x4d,
  2930. 0x60, 0x3a, 0xbd, 0x24, 0xe0, 0xbc, 0x14, 0x07, 0x1c, 0xdf, 0x72, 0x38, 0x57, 0x99, 0xaf, 0x79,
  2931. 0x2e, 0xf6, 0x59, 0xd0, 0x13, 0x65, 0x06, 0x33, 0xd7, 0xfe, 0x3a, 0x94, 0x5c, 0x42, 0x59, 0x80,
  2932. 0x1d, 0x0b, 0x2b, 0xd7, 0x44, 0xa3, 0x00, 0x7b, 0xf5, 0x10, 0x5e, 0x9a, 0xc9, 0x10, 0xd0, 0x77,
  2933. 0xa1, 0x18, 0x92, 0x0b, 0x25, 0x21, 0x42, 0x0b, 0xa2, 0x8e, 0x50, 0x56, 0xfd, 0x8b, 0x12, 0x9a,
  2934. 0x8c, 0xc7, 0x31, 0x2d, 0xc8, 0xb9, 0xc4, 0x1b, 0x0d, 0x44, 0x64, 0x51, 0xde, 0x7d, 0x7b, 0x39,
  2935. 0x6e, 0xc1, 0x5a, 0x47, 0x03, 0xaa, 0x49, 0x65, 0xf5, 0x43, 0xc8, 0x89, 0x16, 0x04, 0x90, 0xdb,
  2936. 0x6b, 0x36, 0x5b, 0x87, 0xc7, 0xd5, 0x14, 0x2a, 0xc2, 0xca, 0x5e, 0xe3, 0x40, 0x3b, 0xae, 0x2a,
  2937. 0xac, 0x59, 0x6b, 0xbd, 0xdf, 0x6a, 0x1e, 0x57, 0xd3, 0x68, 0x1d, 0x4a, 0xa2, 0xac, 0xdf, 0x3b,
  2938. 0xd0, 0x3e, 0xd8, 0x3b, 0xae, 0x66, 0x22, 0x4d, 0x47, 0xad, 0x87, 0xef, 0xb5, 0xb4, 0x6a, 0x56,
  2939. 0xfd, 0x0e, 0x8b, 0x56, 0x12, 0x08, 0x48, 0x18, 0x97, 0x28, 0x91, 0xb8, 0x84, 0xed, 0xc8, 0x7a,
  2940. 0x32, 0xab, 0x40, 0xef, 0x4f, 0xf8, 0xba, 0x7b, 0x01, 0x4a, 0x32, 0xe1, 0x30, 0x7a, 0x0d, 0xca,
  2941. 0x2e, 0x39, 0x21, 0xb4, 0xdb, 0x17, 0x2c, 0x47, 0xdc, 0x59, 0x25, 0xad, 0x24, 0x5b, 0xb9, 0x92,
  2942. 0x27, 0xc4, 0x3e, 0x26, 0x5d, 0xaa, 0x8b, 0x10, 0x49, 0xec, 0xb3, 0x22, 0x13, 0x63, 0xad, 0x47,
  2943. 0xa2, 0x51, 0x3d, 0x5a, 0x34, 0x7d, 0x45, 0x58, 0xd1, 0x5a, 0xc7, 0xda, 0xcf, 0xab, 0x69, 0x84,
  2944. 0xa0, 0xcc, 0x8b, 0xfa, 0xd1, 0xc3, 0xbd, 0xc3, 0xa3, 0xf6, 0x01, 0x9b, 0xbe, 0x4b, 0x50, 0xf1,
  2945. 0xa7, 0xcf, 0x6f, 0xcc, 0xaa, 0x7f, 0x53, 0xa0, 0x32, 0x71, 0x0c, 0xd0, 0x2e, 0xac, 0x08, 0x72,
  2946. 0xac, 0x24, 0x24, 0xac, 0xf9, 0x29, 0x96, 0x67, 0x46, 0x88, 0xa2, 0x77, 0xa1, 0x40, 0x64, 0xd4,
  2947. 0x3f, 0xeb, 0xb8, 0x89, 0x6c, 0x85, 0x9f, 0x17, 0x90, 0xaa, 0x81, 0x06, 0xbb, 0x06, 0x83, 0xf3,
  2948. 0x2c, 0x23, 0xb2, 0x57, 0xa7, 0xd5, 0x03, 0x24, 0x90, 0xfa, 0xa1, 0x8e, 0xda, 0x84, 0xd5, 0xc8,
  2949. 0xa0, 0xd0, 0x37, 0xa0, 0x38, 0xc4, 0xe7, 0x32, 0xd7, 0x23, 0x82, 0xfa, 0xc2, 0x10, 0x9f, 0xf3,
  2950. 0x34, 0x0f, 0x7a, 0x19, 0xf2, 0xec, 0x63, 0x0f, 0x0b, 0x60, 0xc8, 0x68, 0xb9, 0x21, 0x3e, 0xff,
  2951. 0x09, 0xf6, 0xd4, 0x8f, 0xa0, 0x1c, 0x4f, 0x87, 0xb0, 0x1d, 0xe4, 0xda, 0x23, 0xcb, 0xe0, 0x36,
  2952. 0x56, 0x34, 0x51, 0x41, 0xb7, 0x61, 0xe5, 0xcc, 0x16, 0xb8, 0x32, 0xfb, 0x74, 0x3d, 0xb6, 0x29,
  2953. 0x89, 0xa4, 0x53, 0x84, 0xb4, 0xfa, 0x10, 0xca, 0x1c, 0x27, 0xf6, 0x28, 0x75, 0xcd, 0xce, 0x88,
  2954. 0x92, 0x68, 0xfe, 0x6e, 0x6d, 0x46, 0xfe, 0x2e, 0x60, 0x09, 0x01, 0xc7, 0xc8, 0x88, 0x44, 0x12,
  2955. 0xaf, 0xa8, 0x9f, 0xc2, 0x0a, 0xb7, 0xc7, 0x30, 0x84, 0x27, 0x4a, 0x24, 0xe5, 0x64, 0x65, 0xf4,
  2956. 0x11, 0x00, 0xf6, 0xfb, 0xf1, 0x07, 0xba, 0x35, 0x1b, 0xb7, 0x82, 0xf1, 0x34, 0xae, 0x48, 0x00,
  2957. 0xdb, 0x08, 0x55, 0x23, 0x20, 0x16, 0x31, 0xa8, 0xfe, 0x5e, 0x81, 0xc2, 0xf1, 0xb9, 0xdc, 0x8e,
  2958. 0x09, 0xf9, 0x13, 0x36, 0xec, 0x7d, 0x3e, 0x6c, 0x91, 0x77, 0x10, 0x15, 0x99, 0x90, 0xc9, 0x04,
  2959. 0x69, 0x9e, 0xbb, 0xc1, 0x81, 0xcb, 0x2e, 0x1b, 0xcf, 0xf9, 0xf9, 0x2e, 0x89, 0x2b, 0x3f, 0x80,
  2960. 0x62, 0xb0, 0x35, 0x18, 0xd7, 0xc6, 0x86, 0xe1, 0x12, 0xcf, 0x93, 0xf3, 0xea, 0x57, 0x79, 0x3a,
  2961. 0xce, 0x7e, 0x2a, 0xf3, 0x11, 0x19, 0x4d, 0x54, 0x54, 0x13, 0x2a, 0x13, 0x37, 0x0c, 0xba, 0x0b,
  2962. 0x79, 0x67, 0xd4, 0xd1, 0xfd, 0xa5, 0x99, 0xd8, 0x8b, 0x92, 0x92, 0x9d, 0x92, 0xb1, 0xb7, 0x7d,
  2963. 0x38, 0xea, 0x0c, 0xcc, 0xee, 0x7d, 0x32, 0xf6, 0x47, 0xe4, 0x8c, 0x3a, 0xf7, 0xc5, 0x32, 0x8a,
  2964. 0xae, 0xd2, 0xd1, 0xae, 0xce, 0xa0, 0xe0, 0xef, 0x0c, 0xf4, 0xa3, 0xe8, 0x8e, 0xf7, 0x53, 0xb0,
  2965. 0x89, 0x57, 0x9f, 0x34, 0x1f, 0xaa, 0xb0, 0xb8, 0xc0, 0x33, 0x7b, 0x16, 0x31, 0xf4, 0x90, 0xf2,
  2966. 0xf3, 0xde, 0x0a, 0x5a, 0x45, 0x7c, 0x78, 0xe0, 0xf3, 0x7d, 0xf5, 0x99, 0x02, 0x05, 0xff, 0xe8,
  2967. 0xcd, 0xdc, 0x2c, 0xb1, 0xc1, 0xa4, 0x2f, 0x3e, 0x98, 0xa4, 0x04, 0xa8, 0x9f, 0x62, 0xce, 0x5e,
  2968. 0x38, 0xc5, 0xfc, 0x16, 0x20, 0x6a, 0x53, 0x3c, 0xd0, 0xcf, 0x6c, 0x6a, 0x5a, 0x3d, 0x5d, 0xcc,
  2969. 0xa6, 0x20, 0x38, 0x55, 0xfe, 0xe5, 0x31, 0xff, 0x70, 0xc8, 0x27, 0xf6, 0xb7, 0x0a, 0x14, 0x82,
  2970. 0xcb, 0xea, 0xa2, 0x69, 0xb0, 0xcb, 0x90, 0x93, 0xe0, 0x2c, 0xf2, 0x60, 0xb2, 0x16, 0x64, 0x64,
  2971. 0xb3, 0x91, 0x8c, 0x6c, 0x1d, 0x0a, 0x43, 0x42, 0x31, 0xbf, 0xb1, 0x45, 0x58, 0x15, 0xd4, 0x6f,
  2972. 0x5e, 0x87, 0xd5, 0x48, 0x46, 0x12, 0xe5, 0x21, 0xf3, 0x90, 0x3c, 0xad, 0xa6, 0xd0, 0x2a, 0xe4,
  2973. 0x35, 0xc2, 0x13, 0x18, 0x55, 0x65, 0xf7, 0x33, 0x80, 0xca, 0x5e, 0xa3, 0xb9, 0xcf, 0xee, 0x0e,
  2974. 0xb3, 0x8b, 0x65, 0x62, 0x27, 0xcb, 0xa3, 0xce, 0xb9, 0x6f, 0x90, 0xf5, 0xf9, 0x79, 0x2d, 0x74,
  2975. 0x0f, 0x56, 0x78, 0x40, 0x8a, 0xe6, 0x3f, 0x4a, 0xd6, 0x17, 0x24, 0xba, 0xd8, 0x60, 0xf8, 0xfe,
  2976. 0x9c, 0xfb, 0x4a, 0x59, 0x9f, 0x9f, 0xf7, 0x42, 0x1a, 0x14, 0xc3, 0x88, 0x72, 0xf1, 0xab, 0x65,
  2977. 0x7d, 0x89, 0x5c, 0x18, 0xb3, 0x19, 0xb2, 0xe8, 0xc5, 0xaf, 0x78, 0xf5, 0x25, 0x60, 0x04, 0x3d,
  2978. 0x80, 0xbc, 0x1f, 0x9d, 0x2c, 0x7a, 0x57, 0xac, 0x2f, 0xcc, 0x53, 0xb1, 0x25, 0x10, 0xc1, 0xe4,
  2979. 0xfc, 0x47, 0xd2, 0xfa, 0x82, 0xa4, 0x1b, 0xda, 0x87, 0x9c, 0x24, 0x87, 0x0b, 0xde, 0x0a, 0xeb,
  2980. 0x8b, 0xf2, 0x4e, 0x6c, 0xd2, 0xc2, 0x50, 0x7c, 0xf1, 0xd3, 0x6f, 0x7d, 0x89, 0x7c, 0x22, 0x7a,
  2981. 0x04, 0x10, 0x89, 0x19, 0x97, 0x78, 0xd3, 0xad, 0x2f, 0x93, 0x27, 0x44, 0x07, 0x50, 0x08, 0xe2,
  2982. 0x83, 0x85, 0x2f, 0xac, 0xf5, 0xc5, 0x09, 0x3b, 0xf4, 0x04, 0x4a, 0x71, 0x62, 0xbc, 0xdc, 0xbb,
  2983. 0x69, 0x7d, 0xc9, 0x4c, 0x1c, 0xb3, 0x1f, 0x67, 0xc9, 0xcb, 0xbd, 0xa3, 0xd6, 0x97, 0x4c, 0xcc,
  2984. 0xa1, 0x8f, 0x61, 0x7d, 0x9a, 0xd2, 0x2e, 0xff, 0xac, 0x5a, 0xbf, 0x40, 0xaa, 0x0e, 0x0d, 0x01,
  2985. 0xcd, 0xa0, 0xc2, 0x17, 0x78, 0x65, 0xad, 0x5f, 0x24, 0x73, 0xd7, 0x68, 0x7d, 0xf1, 0x7c, 0x53,
  2986. 0xf9, 0xf2, 0xf9, 0xa6, 0xf2, 0xcf, 0xe7, 0x9b, 0xca, 0xe7, 0x2f, 0x36, 0x53, 0x5f, 0xbe, 0xd8,
  2987. 0x4c, 0xfd, 0xfd, 0xc5, 0x66, 0xea, 0x17, 0x6f, 0xf6, 0x4c, 0xda, 0x1f, 0x75, 0xb6, 0xbb, 0xf6,
  2988. 0x70, 0x27, 0xfa, 0x17, 0x90, 0x89, 0xbf, 0xa8, 0x70, 0x3e, 0xd8, 0xc9, 0xf1, 0x8b, 0xe4, 0xd6,
  2989. 0x7f, 0x03, 0x00, 0x00, 0xff, 0xff, 0x58, 0x74, 0x9d, 0xd7, 0xc2, 0x22, 0x00, 0x00,
  2990. }
  2991. // Reference imports to suppress errors if they are not otherwise used.
  2992. var _ context.Context
  2993. var _ grpc.ClientConn
  2994. // This is a compile-time assertion to ensure that this generated file
  2995. // is compatible with the grpc package it is being compiled against.
  2996. const _ = grpc.SupportPackageIsVersion4
  2997. // ABCIApplicationClient is the client API for ABCIApplication service.
  2998. //
  2999. // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
  3000. type ABCIApplicationClient interface {
  3001. Echo(ctx context.Context, in *RequestEcho, opts ...grpc.CallOption) (*ResponseEcho, error)
  3002. Flush(ctx context.Context, in *RequestFlush, opts ...grpc.CallOption) (*ResponseFlush, error)
  3003. Info(ctx context.Context, in *RequestInfo, opts ...grpc.CallOption) (*ResponseInfo, error)
  3004. SetOption(ctx context.Context, in *RequestSetOption, opts ...grpc.CallOption) (*ResponseSetOption, error)
  3005. DeliverTx(ctx context.Context, in *RequestDeliverTx, opts ...grpc.CallOption) (*ResponseDeliverTx, error)
  3006. CheckTx(ctx context.Context, in *RequestCheckTx, opts ...grpc.CallOption) (*ResponseCheckTx, error)
  3007. Query(ctx context.Context, in *RequestQuery, opts ...grpc.CallOption) (*ResponseQuery, error)
  3008. Commit(ctx context.Context, in *RequestCommit, opts ...grpc.CallOption) (*ResponseCommit, error)
  3009. InitChain(ctx context.Context, in *RequestInitChain, opts ...grpc.CallOption) (*ResponseInitChain, error)
  3010. BeginBlock(ctx context.Context, in *RequestBeginBlock, opts ...grpc.CallOption) (*ResponseBeginBlock, error)
  3011. EndBlock(ctx context.Context, in *RequestEndBlock, opts ...grpc.CallOption) (*ResponseEndBlock, error)
  3012. ListSnapshots(ctx context.Context, in *RequestListSnapshots, opts ...grpc.CallOption) (*ResponseListSnapshots, error)
  3013. OfferSnapshot(ctx context.Context, in *RequestOfferSnapshot, opts ...grpc.CallOption) (*ResponseOfferSnapshot, error)
  3014. LoadSnapshotChunk(ctx context.Context, in *RequestLoadSnapshotChunk, opts ...grpc.CallOption) (*ResponseLoadSnapshotChunk, error)
  3015. ApplySnapshotChunk(ctx context.Context, in *RequestApplySnapshotChunk, opts ...grpc.CallOption) (*ResponseApplySnapshotChunk, error)
  3016. }
  3017. type aBCIApplicationClient struct {
  3018. cc *grpc.ClientConn
  3019. }
  3020. func NewABCIApplicationClient(cc *grpc.ClientConn) ABCIApplicationClient {
  3021. return &aBCIApplicationClient{cc}
  3022. }
  3023. func (c *aBCIApplicationClient) Echo(ctx context.Context, in *RequestEcho, opts ...grpc.CallOption) (*ResponseEcho, error) {
  3024. out := new(ResponseEcho)
  3025. err := c.cc.Invoke(ctx, "/tendermint.abci.ABCIApplication/Echo", in, out, opts...)
  3026. if err != nil {
  3027. return nil, err
  3028. }
  3029. return out, nil
  3030. }
  3031. func (c *aBCIApplicationClient) Flush(ctx context.Context, in *RequestFlush, opts ...grpc.CallOption) (*ResponseFlush, error) {
  3032. out := new(ResponseFlush)
  3033. err := c.cc.Invoke(ctx, "/tendermint.abci.ABCIApplication/Flush", in, out, opts...)
  3034. if err != nil {
  3035. return nil, err
  3036. }
  3037. return out, nil
  3038. }
  3039. func (c *aBCIApplicationClient) Info(ctx context.Context, in *RequestInfo, opts ...grpc.CallOption) (*ResponseInfo, error) {
  3040. out := new(ResponseInfo)
  3041. err := c.cc.Invoke(ctx, "/tendermint.abci.ABCIApplication/Info", in, out, opts...)
  3042. if err != nil {
  3043. return nil, err
  3044. }
  3045. return out, nil
  3046. }
  3047. func (c *aBCIApplicationClient) SetOption(ctx context.Context, in *RequestSetOption, opts ...grpc.CallOption) (*ResponseSetOption, error) {
  3048. out := new(ResponseSetOption)
  3049. err := c.cc.Invoke(ctx, "/tendermint.abci.ABCIApplication/SetOption", in, out, opts...)
  3050. if err != nil {
  3051. return nil, err
  3052. }
  3053. return out, nil
  3054. }
  3055. func (c *aBCIApplicationClient) DeliverTx(ctx context.Context, in *RequestDeliverTx, opts ...grpc.CallOption) (*ResponseDeliverTx, error) {
  3056. out := new(ResponseDeliverTx)
  3057. err := c.cc.Invoke(ctx, "/tendermint.abci.ABCIApplication/DeliverTx", in, out, opts...)
  3058. if err != nil {
  3059. return nil, err
  3060. }
  3061. return out, nil
  3062. }
  3063. func (c *aBCIApplicationClient) CheckTx(ctx context.Context, in *RequestCheckTx, opts ...grpc.CallOption) (*ResponseCheckTx, error) {
  3064. out := new(ResponseCheckTx)
  3065. err := c.cc.Invoke(ctx, "/tendermint.abci.ABCIApplication/CheckTx", in, out, opts...)
  3066. if err != nil {
  3067. return nil, err
  3068. }
  3069. return out, nil
  3070. }
  3071. func (c *aBCIApplicationClient) Query(ctx context.Context, in *RequestQuery, opts ...grpc.CallOption) (*ResponseQuery, error) {
  3072. out := new(ResponseQuery)
  3073. err := c.cc.Invoke(ctx, "/tendermint.abci.ABCIApplication/Query", in, out, opts...)
  3074. if err != nil {
  3075. return nil, err
  3076. }
  3077. return out, nil
  3078. }
  3079. func (c *aBCIApplicationClient) Commit(ctx context.Context, in *RequestCommit, opts ...grpc.CallOption) (*ResponseCommit, error) {
  3080. out := new(ResponseCommit)
  3081. err := c.cc.Invoke(ctx, "/tendermint.abci.ABCIApplication/Commit", in, out, opts...)
  3082. if err != nil {
  3083. return nil, err
  3084. }
  3085. return out, nil
  3086. }
  3087. func (c *aBCIApplicationClient) InitChain(ctx context.Context, in *RequestInitChain, opts ...grpc.CallOption) (*ResponseInitChain, error) {
  3088. out := new(ResponseInitChain)
  3089. err := c.cc.Invoke(ctx, "/tendermint.abci.ABCIApplication/InitChain", in, out, opts...)
  3090. if err != nil {
  3091. return nil, err
  3092. }
  3093. return out, nil
  3094. }
  3095. func (c *aBCIApplicationClient) BeginBlock(ctx context.Context, in *RequestBeginBlock, opts ...grpc.CallOption) (*ResponseBeginBlock, error) {
  3096. out := new(ResponseBeginBlock)
  3097. err := c.cc.Invoke(ctx, "/tendermint.abci.ABCIApplication/BeginBlock", in, out, opts...)
  3098. if err != nil {
  3099. return nil, err
  3100. }
  3101. return out, nil
  3102. }
  3103. func (c *aBCIApplicationClient) EndBlock(ctx context.Context, in *RequestEndBlock, opts ...grpc.CallOption) (*ResponseEndBlock, error) {
  3104. out := new(ResponseEndBlock)
  3105. err := c.cc.Invoke(ctx, "/tendermint.abci.ABCIApplication/EndBlock", in, out, opts...)
  3106. if err != nil {
  3107. return nil, err
  3108. }
  3109. return out, nil
  3110. }
  3111. func (c *aBCIApplicationClient) ListSnapshots(ctx context.Context, in *RequestListSnapshots, opts ...grpc.CallOption) (*ResponseListSnapshots, error) {
  3112. out := new(ResponseListSnapshots)
  3113. err := c.cc.Invoke(ctx, "/tendermint.abci.ABCIApplication/ListSnapshots", in, out, opts...)
  3114. if err != nil {
  3115. return nil, err
  3116. }
  3117. return out, nil
  3118. }
  3119. func (c *aBCIApplicationClient) OfferSnapshot(ctx context.Context, in *RequestOfferSnapshot, opts ...grpc.CallOption) (*ResponseOfferSnapshot, error) {
  3120. out := new(ResponseOfferSnapshot)
  3121. err := c.cc.Invoke(ctx, "/tendermint.abci.ABCIApplication/OfferSnapshot", in, out, opts...)
  3122. if err != nil {
  3123. return nil, err
  3124. }
  3125. return out, nil
  3126. }
  3127. func (c *aBCIApplicationClient) LoadSnapshotChunk(ctx context.Context, in *RequestLoadSnapshotChunk, opts ...grpc.CallOption) (*ResponseLoadSnapshotChunk, error) {
  3128. out := new(ResponseLoadSnapshotChunk)
  3129. err := c.cc.Invoke(ctx, "/tendermint.abci.ABCIApplication/LoadSnapshotChunk", in, out, opts...)
  3130. if err != nil {
  3131. return nil, err
  3132. }
  3133. return out, nil
  3134. }
  3135. func (c *aBCIApplicationClient) ApplySnapshotChunk(ctx context.Context, in *RequestApplySnapshotChunk, opts ...grpc.CallOption) (*ResponseApplySnapshotChunk, error) {
  3136. out := new(ResponseApplySnapshotChunk)
  3137. err := c.cc.Invoke(ctx, "/tendermint.abci.ABCIApplication/ApplySnapshotChunk", in, out, opts...)
  3138. if err != nil {
  3139. return nil, err
  3140. }
  3141. return out, nil
  3142. }
  3143. // ABCIApplicationServer is the server API for ABCIApplication service.
  3144. type ABCIApplicationServer interface {
  3145. Echo(context.Context, *RequestEcho) (*ResponseEcho, error)
  3146. Flush(context.Context, *RequestFlush) (*ResponseFlush, error)
  3147. Info(context.Context, *RequestInfo) (*ResponseInfo, error)
  3148. SetOption(context.Context, *RequestSetOption) (*ResponseSetOption, error)
  3149. DeliverTx(context.Context, *RequestDeliverTx) (*ResponseDeliverTx, error)
  3150. CheckTx(context.Context, *RequestCheckTx) (*ResponseCheckTx, error)
  3151. Query(context.Context, *RequestQuery) (*ResponseQuery, error)
  3152. Commit(context.Context, *RequestCommit) (*ResponseCommit, error)
  3153. InitChain(context.Context, *RequestInitChain) (*ResponseInitChain, error)
  3154. BeginBlock(context.Context, *RequestBeginBlock) (*ResponseBeginBlock, error)
  3155. EndBlock(context.Context, *RequestEndBlock) (*ResponseEndBlock, error)
  3156. ListSnapshots(context.Context, *RequestListSnapshots) (*ResponseListSnapshots, error)
  3157. OfferSnapshot(context.Context, *RequestOfferSnapshot) (*ResponseOfferSnapshot, error)
  3158. LoadSnapshotChunk(context.Context, *RequestLoadSnapshotChunk) (*ResponseLoadSnapshotChunk, error)
  3159. ApplySnapshotChunk(context.Context, *RequestApplySnapshotChunk) (*ResponseApplySnapshotChunk, error)
  3160. }
  3161. // UnimplementedABCIApplicationServer can be embedded to have forward compatible implementations.
  3162. type UnimplementedABCIApplicationServer struct {
  3163. }
  3164. func (*UnimplementedABCIApplicationServer) Echo(ctx context.Context, req *RequestEcho) (*ResponseEcho, error) {
  3165. return nil, status.Errorf(codes.Unimplemented, "method Echo not implemented")
  3166. }
  3167. func (*UnimplementedABCIApplicationServer) Flush(ctx context.Context, req *RequestFlush) (*ResponseFlush, error) {
  3168. return nil, status.Errorf(codes.Unimplemented, "method Flush not implemented")
  3169. }
  3170. func (*UnimplementedABCIApplicationServer) Info(ctx context.Context, req *RequestInfo) (*ResponseInfo, error) {
  3171. return nil, status.Errorf(codes.Unimplemented, "method Info not implemented")
  3172. }
  3173. func (*UnimplementedABCIApplicationServer) SetOption(ctx context.Context, req *RequestSetOption) (*ResponseSetOption, error) {
  3174. return nil, status.Errorf(codes.Unimplemented, "method SetOption not implemented")
  3175. }
  3176. func (*UnimplementedABCIApplicationServer) DeliverTx(ctx context.Context, req *RequestDeliverTx) (*ResponseDeliverTx, error) {
  3177. return nil, status.Errorf(codes.Unimplemented, "method DeliverTx not implemented")
  3178. }
  3179. func (*UnimplementedABCIApplicationServer) CheckTx(ctx context.Context, req *RequestCheckTx) (*ResponseCheckTx, error) {
  3180. return nil, status.Errorf(codes.Unimplemented, "method CheckTx not implemented")
  3181. }
  3182. func (*UnimplementedABCIApplicationServer) Query(ctx context.Context, req *RequestQuery) (*ResponseQuery, error) {
  3183. return nil, status.Errorf(codes.Unimplemented, "method Query not implemented")
  3184. }
  3185. func (*UnimplementedABCIApplicationServer) Commit(ctx context.Context, req *RequestCommit) (*ResponseCommit, error) {
  3186. return nil, status.Errorf(codes.Unimplemented, "method Commit not implemented")
  3187. }
  3188. func (*UnimplementedABCIApplicationServer) InitChain(ctx context.Context, req *RequestInitChain) (*ResponseInitChain, error) {
  3189. return nil, status.Errorf(codes.Unimplemented, "method InitChain not implemented")
  3190. }
  3191. func (*UnimplementedABCIApplicationServer) BeginBlock(ctx context.Context, req *RequestBeginBlock) (*ResponseBeginBlock, error) {
  3192. return nil, status.Errorf(codes.Unimplemented, "method BeginBlock not implemented")
  3193. }
  3194. func (*UnimplementedABCIApplicationServer) EndBlock(ctx context.Context, req *RequestEndBlock) (*ResponseEndBlock, error) {
  3195. return nil, status.Errorf(codes.Unimplemented, "method EndBlock not implemented")
  3196. }
  3197. func (*UnimplementedABCIApplicationServer) ListSnapshots(ctx context.Context, req *RequestListSnapshots) (*ResponseListSnapshots, error) {
  3198. return nil, status.Errorf(codes.Unimplemented, "method ListSnapshots not implemented")
  3199. }
  3200. func (*UnimplementedABCIApplicationServer) OfferSnapshot(ctx context.Context, req *RequestOfferSnapshot) (*ResponseOfferSnapshot, error) {
  3201. return nil, status.Errorf(codes.Unimplemented, "method OfferSnapshot not implemented")
  3202. }
  3203. func (*UnimplementedABCIApplicationServer) LoadSnapshotChunk(ctx context.Context, req *RequestLoadSnapshotChunk) (*ResponseLoadSnapshotChunk, error) {
  3204. return nil, status.Errorf(codes.Unimplemented, "method LoadSnapshotChunk not implemented")
  3205. }
  3206. func (*UnimplementedABCIApplicationServer) ApplySnapshotChunk(ctx context.Context, req *RequestApplySnapshotChunk) (*ResponseApplySnapshotChunk, error) {
  3207. return nil, status.Errorf(codes.Unimplemented, "method ApplySnapshotChunk not implemented")
  3208. }
  3209. func RegisterABCIApplicationServer(s *grpc.Server, srv ABCIApplicationServer) {
  3210. s.RegisterService(&_ABCIApplication_serviceDesc, srv)
  3211. }
  3212. func _ABCIApplication_Echo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  3213. in := new(RequestEcho)
  3214. if err := dec(in); err != nil {
  3215. return nil, err
  3216. }
  3217. if interceptor == nil {
  3218. return srv.(ABCIApplicationServer).Echo(ctx, in)
  3219. }
  3220. info := &grpc.UnaryServerInfo{
  3221. Server: srv,
  3222. FullMethod: "/tendermint.abci.ABCIApplication/Echo",
  3223. }
  3224. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  3225. return srv.(ABCIApplicationServer).Echo(ctx, req.(*RequestEcho))
  3226. }
  3227. return interceptor(ctx, in, info, handler)
  3228. }
  3229. func _ABCIApplication_Flush_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  3230. in := new(RequestFlush)
  3231. if err := dec(in); err != nil {
  3232. return nil, err
  3233. }
  3234. if interceptor == nil {
  3235. return srv.(ABCIApplicationServer).Flush(ctx, in)
  3236. }
  3237. info := &grpc.UnaryServerInfo{
  3238. Server: srv,
  3239. FullMethod: "/tendermint.abci.ABCIApplication/Flush",
  3240. }
  3241. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  3242. return srv.(ABCIApplicationServer).Flush(ctx, req.(*RequestFlush))
  3243. }
  3244. return interceptor(ctx, in, info, handler)
  3245. }
  3246. func _ABCIApplication_Info_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  3247. in := new(RequestInfo)
  3248. if err := dec(in); err != nil {
  3249. return nil, err
  3250. }
  3251. if interceptor == nil {
  3252. return srv.(ABCIApplicationServer).Info(ctx, in)
  3253. }
  3254. info := &grpc.UnaryServerInfo{
  3255. Server: srv,
  3256. FullMethod: "/tendermint.abci.ABCIApplication/Info",
  3257. }
  3258. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  3259. return srv.(ABCIApplicationServer).Info(ctx, req.(*RequestInfo))
  3260. }
  3261. return interceptor(ctx, in, info, handler)
  3262. }
  3263. func _ABCIApplication_SetOption_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  3264. in := new(RequestSetOption)
  3265. if err := dec(in); err != nil {
  3266. return nil, err
  3267. }
  3268. if interceptor == nil {
  3269. return srv.(ABCIApplicationServer).SetOption(ctx, in)
  3270. }
  3271. info := &grpc.UnaryServerInfo{
  3272. Server: srv,
  3273. FullMethod: "/tendermint.abci.ABCIApplication/SetOption",
  3274. }
  3275. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  3276. return srv.(ABCIApplicationServer).SetOption(ctx, req.(*RequestSetOption))
  3277. }
  3278. return interceptor(ctx, in, info, handler)
  3279. }
  3280. func _ABCIApplication_DeliverTx_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  3281. in := new(RequestDeliverTx)
  3282. if err := dec(in); err != nil {
  3283. return nil, err
  3284. }
  3285. if interceptor == nil {
  3286. return srv.(ABCIApplicationServer).DeliverTx(ctx, in)
  3287. }
  3288. info := &grpc.UnaryServerInfo{
  3289. Server: srv,
  3290. FullMethod: "/tendermint.abci.ABCIApplication/DeliverTx",
  3291. }
  3292. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  3293. return srv.(ABCIApplicationServer).DeliverTx(ctx, req.(*RequestDeliverTx))
  3294. }
  3295. return interceptor(ctx, in, info, handler)
  3296. }
  3297. func _ABCIApplication_CheckTx_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  3298. in := new(RequestCheckTx)
  3299. if err := dec(in); err != nil {
  3300. return nil, err
  3301. }
  3302. if interceptor == nil {
  3303. return srv.(ABCIApplicationServer).CheckTx(ctx, in)
  3304. }
  3305. info := &grpc.UnaryServerInfo{
  3306. Server: srv,
  3307. FullMethod: "/tendermint.abci.ABCIApplication/CheckTx",
  3308. }
  3309. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  3310. return srv.(ABCIApplicationServer).CheckTx(ctx, req.(*RequestCheckTx))
  3311. }
  3312. return interceptor(ctx, in, info, handler)
  3313. }
  3314. func _ABCIApplication_Query_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  3315. in := new(RequestQuery)
  3316. if err := dec(in); err != nil {
  3317. return nil, err
  3318. }
  3319. if interceptor == nil {
  3320. return srv.(ABCIApplicationServer).Query(ctx, in)
  3321. }
  3322. info := &grpc.UnaryServerInfo{
  3323. Server: srv,
  3324. FullMethod: "/tendermint.abci.ABCIApplication/Query",
  3325. }
  3326. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  3327. return srv.(ABCIApplicationServer).Query(ctx, req.(*RequestQuery))
  3328. }
  3329. return interceptor(ctx, in, info, handler)
  3330. }
  3331. func _ABCIApplication_Commit_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  3332. in := new(RequestCommit)
  3333. if err := dec(in); err != nil {
  3334. return nil, err
  3335. }
  3336. if interceptor == nil {
  3337. return srv.(ABCIApplicationServer).Commit(ctx, in)
  3338. }
  3339. info := &grpc.UnaryServerInfo{
  3340. Server: srv,
  3341. FullMethod: "/tendermint.abci.ABCIApplication/Commit",
  3342. }
  3343. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  3344. return srv.(ABCIApplicationServer).Commit(ctx, req.(*RequestCommit))
  3345. }
  3346. return interceptor(ctx, in, info, handler)
  3347. }
  3348. func _ABCIApplication_InitChain_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  3349. in := new(RequestInitChain)
  3350. if err := dec(in); err != nil {
  3351. return nil, err
  3352. }
  3353. if interceptor == nil {
  3354. return srv.(ABCIApplicationServer).InitChain(ctx, in)
  3355. }
  3356. info := &grpc.UnaryServerInfo{
  3357. Server: srv,
  3358. FullMethod: "/tendermint.abci.ABCIApplication/InitChain",
  3359. }
  3360. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  3361. return srv.(ABCIApplicationServer).InitChain(ctx, req.(*RequestInitChain))
  3362. }
  3363. return interceptor(ctx, in, info, handler)
  3364. }
  3365. func _ABCIApplication_BeginBlock_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  3366. in := new(RequestBeginBlock)
  3367. if err := dec(in); err != nil {
  3368. return nil, err
  3369. }
  3370. if interceptor == nil {
  3371. return srv.(ABCIApplicationServer).BeginBlock(ctx, in)
  3372. }
  3373. info := &grpc.UnaryServerInfo{
  3374. Server: srv,
  3375. FullMethod: "/tendermint.abci.ABCIApplication/BeginBlock",
  3376. }
  3377. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  3378. return srv.(ABCIApplicationServer).BeginBlock(ctx, req.(*RequestBeginBlock))
  3379. }
  3380. return interceptor(ctx, in, info, handler)
  3381. }
  3382. func _ABCIApplication_EndBlock_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  3383. in := new(RequestEndBlock)
  3384. if err := dec(in); err != nil {
  3385. return nil, err
  3386. }
  3387. if interceptor == nil {
  3388. return srv.(ABCIApplicationServer).EndBlock(ctx, in)
  3389. }
  3390. info := &grpc.UnaryServerInfo{
  3391. Server: srv,
  3392. FullMethod: "/tendermint.abci.ABCIApplication/EndBlock",
  3393. }
  3394. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  3395. return srv.(ABCIApplicationServer).EndBlock(ctx, req.(*RequestEndBlock))
  3396. }
  3397. return interceptor(ctx, in, info, handler)
  3398. }
  3399. func _ABCIApplication_ListSnapshots_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  3400. in := new(RequestListSnapshots)
  3401. if err := dec(in); err != nil {
  3402. return nil, err
  3403. }
  3404. if interceptor == nil {
  3405. return srv.(ABCIApplicationServer).ListSnapshots(ctx, in)
  3406. }
  3407. info := &grpc.UnaryServerInfo{
  3408. Server: srv,
  3409. FullMethod: "/tendermint.abci.ABCIApplication/ListSnapshots",
  3410. }
  3411. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  3412. return srv.(ABCIApplicationServer).ListSnapshots(ctx, req.(*RequestListSnapshots))
  3413. }
  3414. return interceptor(ctx, in, info, handler)
  3415. }
  3416. func _ABCIApplication_OfferSnapshot_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  3417. in := new(RequestOfferSnapshot)
  3418. if err := dec(in); err != nil {
  3419. return nil, err
  3420. }
  3421. if interceptor == nil {
  3422. return srv.(ABCIApplicationServer).OfferSnapshot(ctx, in)
  3423. }
  3424. info := &grpc.UnaryServerInfo{
  3425. Server: srv,
  3426. FullMethod: "/tendermint.abci.ABCIApplication/OfferSnapshot",
  3427. }
  3428. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  3429. return srv.(ABCIApplicationServer).OfferSnapshot(ctx, req.(*RequestOfferSnapshot))
  3430. }
  3431. return interceptor(ctx, in, info, handler)
  3432. }
  3433. func _ABCIApplication_LoadSnapshotChunk_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  3434. in := new(RequestLoadSnapshotChunk)
  3435. if err := dec(in); err != nil {
  3436. return nil, err
  3437. }
  3438. if interceptor == nil {
  3439. return srv.(ABCIApplicationServer).LoadSnapshotChunk(ctx, in)
  3440. }
  3441. info := &grpc.UnaryServerInfo{
  3442. Server: srv,
  3443. FullMethod: "/tendermint.abci.ABCIApplication/LoadSnapshotChunk",
  3444. }
  3445. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  3446. return srv.(ABCIApplicationServer).LoadSnapshotChunk(ctx, req.(*RequestLoadSnapshotChunk))
  3447. }
  3448. return interceptor(ctx, in, info, handler)
  3449. }
  3450. func _ABCIApplication_ApplySnapshotChunk_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  3451. in := new(RequestApplySnapshotChunk)
  3452. if err := dec(in); err != nil {
  3453. return nil, err
  3454. }
  3455. if interceptor == nil {
  3456. return srv.(ABCIApplicationServer).ApplySnapshotChunk(ctx, in)
  3457. }
  3458. info := &grpc.UnaryServerInfo{
  3459. Server: srv,
  3460. FullMethod: "/tendermint.abci.ABCIApplication/ApplySnapshotChunk",
  3461. }
  3462. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  3463. return srv.(ABCIApplicationServer).ApplySnapshotChunk(ctx, req.(*RequestApplySnapshotChunk))
  3464. }
  3465. return interceptor(ctx, in, info, handler)
  3466. }
  3467. var _ABCIApplication_serviceDesc = grpc.ServiceDesc{
  3468. ServiceName: "tendermint.abci.ABCIApplication",
  3469. HandlerType: (*ABCIApplicationServer)(nil),
  3470. Methods: []grpc.MethodDesc{
  3471. {
  3472. MethodName: "Echo",
  3473. Handler: _ABCIApplication_Echo_Handler,
  3474. },
  3475. {
  3476. MethodName: "Flush",
  3477. Handler: _ABCIApplication_Flush_Handler,
  3478. },
  3479. {
  3480. MethodName: "Info",
  3481. Handler: _ABCIApplication_Info_Handler,
  3482. },
  3483. {
  3484. MethodName: "SetOption",
  3485. Handler: _ABCIApplication_SetOption_Handler,
  3486. },
  3487. {
  3488. MethodName: "DeliverTx",
  3489. Handler: _ABCIApplication_DeliverTx_Handler,
  3490. },
  3491. {
  3492. MethodName: "CheckTx",
  3493. Handler: _ABCIApplication_CheckTx_Handler,
  3494. },
  3495. {
  3496. MethodName: "Query",
  3497. Handler: _ABCIApplication_Query_Handler,
  3498. },
  3499. {
  3500. MethodName: "Commit",
  3501. Handler: _ABCIApplication_Commit_Handler,
  3502. },
  3503. {
  3504. MethodName: "InitChain",
  3505. Handler: _ABCIApplication_InitChain_Handler,
  3506. },
  3507. {
  3508. MethodName: "BeginBlock",
  3509. Handler: _ABCIApplication_BeginBlock_Handler,
  3510. },
  3511. {
  3512. MethodName: "EndBlock",
  3513. Handler: _ABCIApplication_EndBlock_Handler,
  3514. },
  3515. {
  3516. MethodName: "ListSnapshots",
  3517. Handler: _ABCIApplication_ListSnapshots_Handler,
  3518. },
  3519. {
  3520. MethodName: "OfferSnapshot",
  3521. Handler: _ABCIApplication_OfferSnapshot_Handler,
  3522. },
  3523. {
  3524. MethodName: "LoadSnapshotChunk",
  3525. Handler: _ABCIApplication_LoadSnapshotChunk_Handler,
  3526. },
  3527. {
  3528. MethodName: "ApplySnapshotChunk",
  3529. Handler: _ABCIApplication_ApplySnapshotChunk_Handler,
  3530. },
  3531. },
  3532. Streams: []grpc.StreamDesc{},
  3533. Metadata: "tendermint/abci/abci.proto",
  3534. }
  3535. func (m *Request) Marshal() (dAtA []byte, err error) {
  3536. size := m.Size()
  3537. dAtA = make([]byte, size)
  3538. n, err := m.MarshalToSizedBuffer(dAtA[:size])
  3539. if err != nil {
  3540. return nil, err
  3541. }
  3542. return dAtA[:n], nil
  3543. }
  3544. func (m *Request) MarshalTo(dAtA []byte) (int, error) {
  3545. size := m.Size()
  3546. return m.MarshalToSizedBuffer(dAtA[:size])
  3547. }
  3548. func (m *Request) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  3549. i := len(dAtA)
  3550. _ = i
  3551. var l int
  3552. _ = l
  3553. if m.Value != nil {
  3554. {
  3555. size := m.Value.Size()
  3556. i -= size
  3557. if _, err := m.Value.MarshalTo(dAtA[i:]); err != nil {
  3558. return 0, err
  3559. }
  3560. }
  3561. }
  3562. return len(dAtA) - i, nil
  3563. }
  3564. func (m *Request_Echo) MarshalTo(dAtA []byte) (int, error) {
  3565. size := m.Size()
  3566. return m.MarshalToSizedBuffer(dAtA[:size])
  3567. }
  3568. func (m *Request_Echo) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  3569. i := len(dAtA)
  3570. if m.Echo != nil {
  3571. {
  3572. size, err := m.Echo.MarshalToSizedBuffer(dAtA[:i])
  3573. if err != nil {
  3574. return 0, err
  3575. }
  3576. i -= size
  3577. i = encodeVarintAbci(dAtA, i, uint64(size))
  3578. }
  3579. i--
  3580. dAtA[i] = 0x12
  3581. }
  3582. return len(dAtA) - i, nil
  3583. }
  3584. func (m *Request_Flush) MarshalTo(dAtA []byte) (int, error) {
  3585. size := m.Size()
  3586. return m.MarshalToSizedBuffer(dAtA[:size])
  3587. }
  3588. func (m *Request_Flush) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  3589. i := len(dAtA)
  3590. if m.Flush != nil {
  3591. {
  3592. size, err := m.Flush.MarshalToSizedBuffer(dAtA[:i])
  3593. if err != nil {
  3594. return 0, err
  3595. }
  3596. i -= size
  3597. i = encodeVarintAbci(dAtA, i, uint64(size))
  3598. }
  3599. i--
  3600. dAtA[i] = 0x1a
  3601. }
  3602. return len(dAtA) - i, nil
  3603. }
  3604. func (m *Request_Info) MarshalTo(dAtA []byte) (int, error) {
  3605. size := m.Size()
  3606. return m.MarshalToSizedBuffer(dAtA[:size])
  3607. }
  3608. func (m *Request_Info) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  3609. i := len(dAtA)
  3610. if m.Info != nil {
  3611. {
  3612. size, err := m.Info.MarshalToSizedBuffer(dAtA[:i])
  3613. if err != nil {
  3614. return 0, err
  3615. }
  3616. i -= size
  3617. i = encodeVarintAbci(dAtA, i, uint64(size))
  3618. }
  3619. i--
  3620. dAtA[i] = 0x22
  3621. }
  3622. return len(dAtA) - i, nil
  3623. }
  3624. func (m *Request_SetOption) MarshalTo(dAtA []byte) (int, error) {
  3625. size := m.Size()
  3626. return m.MarshalToSizedBuffer(dAtA[:size])
  3627. }
  3628. func (m *Request_SetOption) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  3629. i := len(dAtA)
  3630. if m.SetOption != nil {
  3631. {
  3632. size, err := m.SetOption.MarshalToSizedBuffer(dAtA[:i])
  3633. if err != nil {
  3634. return 0, err
  3635. }
  3636. i -= size
  3637. i = encodeVarintAbci(dAtA, i, uint64(size))
  3638. }
  3639. i--
  3640. dAtA[i] = 0x2a
  3641. }
  3642. return len(dAtA) - i, nil
  3643. }
  3644. func (m *Request_InitChain) MarshalTo(dAtA []byte) (int, error) {
  3645. size := m.Size()
  3646. return m.MarshalToSizedBuffer(dAtA[:size])
  3647. }
  3648. func (m *Request_InitChain) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  3649. i := len(dAtA)
  3650. if m.InitChain != nil {
  3651. {
  3652. size, err := m.InitChain.MarshalToSizedBuffer(dAtA[:i])
  3653. if err != nil {
  3654. return 0, err
  3655. }
  3656. i -= size
  3657. i = encodeVarintAbci(dAtA, i, uint64(size))
  3658. }
  3659. i--
  3660. dAtA[i] = 0x32
  3661. }
  3662. return len(dAtA) - i, nil
  3663. }
  3664. func (m *Request_Query) MarshalTo(dAtA []byte) (int, error) {
  3665. size := m.Size()
  3666. return m.MarshalToSizedBuffer(dAtA[:size])
  3667. }
  3668. func (m *Request_Query) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  3669. i := len(dAtA)
  3670. if m.Query != nil {
  3671. {
  3672. size, err := m.Query.MarshalToSizedBuffer(dAtA[:i])
  3673. if err != nil {
  3674. return 0, err
  3675. }
  3676. i -= size
  3677. i = encodeVarintAbci(dAtA, i, uint64(size))
  3678. }
  3679. i--
  3680. dAtA[i] = 0x3a
  3681. }
  3682. return len(dAtA) - i, nil
  3683. }
  3684. func (m *Request_BeginBlock) MarshalTo(dAtA []byte) (int, error) {
  3685. size := m.Size()
  3686. return m.MarshalToSizedBuffer(dAtA[:size])
  3687. }
  3688. func (m *Request_BeginBlock) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  3689. i := len(dAtA)
  3690. if m.BeginBlock != nil {
  3691. {
  3692. size, err := m.BeginBlock.MarshalToSizedBuffer(dAtA[:i])
  3693. if err != nil {
  3694. return 0, err
  3695. }
  3696. i -= size
  3697. i = encodeVarintAbci(dAtA, i, uint64(size))
  3698. }
  3699. i--
  3700. dAtA[i] = 0x42
  3701. }
  3702. return len(dAtA) - i, nil
  3703. }
  3704. func (m *Request_CheckTx) MarshalTo(dAtA []byte) (int, error) {
  3705. size := m.Size()
  3706. return m.MarshalToSizedBuffer(dAtA[:size])
  3707. }
  3708. func (m *Request_CheckTx) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  3709. i := len(dAtA)
  3710. if m.CheckTx != nil {
  3711. {
  3712. size, err := m.CheckTx.MarshalToSizedBuffer(dAtA[:i])
  3713. if err != nil {
  3714. return 0, err
  3715. }
  3716. i -= size
  3717. i = encodeVarintAbci(dAtA, i, uint64(size))
  3718. }
  3719. i--
  3720. dAtA[i] = 0x4a
  3721. }
  3722. return len(dAtA) - i, nil
  3723. }
  3724. func (m *Request_EndBlock) MarshalTo(dAtA []byte) (int, error) {
  3725. size := m.Size()
  3726. return m.MarshalToSizedBuffer(dAtA[:size])
  3727. }
  3728. func (m *Request_EndBlock) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  3729. i := len(dAtA)
  3730. if m.EndBlock != nil {
  3731. {
  3732. size, err := m.EndBlock.MarshalToSizedBuffer(dAtA[:i])
  3733. if err != nil {
  3734. return 0, err
  3735. }
  3736. i -= size
  3737. i = encodeVarintAbci(dAtA, i, uint64(size))
  3738. }
  3739. i--
  3740. dAtA[i] = 0x5a
  3741. }
  3742. return len(dAtA) - i, nil
  3743. }
  3744. func (m *Request_Commit) MarshalTo(dAtA []byte) (int, error) {
  3745. size := m.Size()
  3746. return m.MarshalToSizedBuffer(dAtA[:size])
  3747. }
  3748. func (m *Request_Commit) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  3749. i := len(dAtA)
  3750. if m.Commit != nil {
  3751. {
  3752. size, err := m.Commit.MarshalToSizedBuffer(dAtA[:i])
  3753. if err != nil {
  3754. return 0, err
  3755. }
  3756. i -= size
  3757. i = encodeVarintAbci(dAtA, i, uint64(size))
  3758. }
  3759. i--
  3760. dAtA[i] = 0x62
  3761. }
  3762. return len(dAtA) - i, nil
  3763. }
  3764. func (m *Request_ListSnapshots) MarshalTo(dAtA []byte) (int, error) {
  3765. size := m.Size()
  3766. return m.MarshalToSizedBuffer(dAtA[:size])
  3767. }
  3768. func (m *Request_ListSnapshots) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  3769. i := len(dAtA)
  3770. if m.ListSnapshots != nil {
  3771. {
  3772. size, err := m.ListSnapshots.MarshalToSizedBuffer(dAtA[:i])
  3773. if err != nil {
  3774. return 0, err
  3775. }
  3776. i -= size
  3777. i = encodeVarintAbci(dAtA, i, uint64(size))
  3778. }
  3779. i--
  3780. dAtA[i] = 0x6a
  3781. }
  3782. return len(dAtA) - i, nil
  3783. }
  3784. func (m *Request_OfferSnapshot) MarshalTo(dAtA []byte) (int, error) {
  3785. size := m.Size()
  3786. return m.MarshalToSizedBuffer(dAtA[:size])
  3787. }
  3788. func (m *Request_OfferSnapshot) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  3789. i := len(dAtA)
  3790. if m.OfferSnapshot != nil {
  3791. {
  3792. size, err := m.OfferSnapshot.MarshalToSizedBuffer(dAtA[:i])
  3793. if err != nil {
  3794. return 0, err
  3795. }
  3796. i -= size
  3797. i = encodeVarintAbci(dAtA, i, uint64(size))
  3798. }
  3799. i--
  3800. dAtA[i] = 0x72
  3801. }
  3802. return len(dAtA) - i, nil
  3803. }
  3804. func (m *Request_LoadSnapshotChunk) MarshalTo(dAtA []byte) (int, error) {
  3805. size := m.Size()
  3806. return m.MarshalToSizedBuffer(dAtA[:size])
  3807. }
  3808. func (m *Request_LoadSnapshotChunk) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  3809. i := len(dAtA)
  3810. if m.LoadSnapshotChunk != nil {
  3811. {
  3812. size, err := m.LoadSnapshotChunk.MarshalToSizedBuffer(dAtA[:i])
  3813. if err != nil {
  3814. return 0, err
  3815. }
  3816. i -= size
  3817. i = encodeVarintAbci(dAtA, i, uint64(size))
  3818. }
  3819. i--
  3820. dAtA[i] = 0x7a
  3821. }
  3822. return len(dAtA) - i, nil
  3823. }
  3824. func (m *Request_ApplySnapshotChunk) MarshalTo(dAtA []byte) (int, error) {
  3825. size := m.Size()
  3826. return m.MarshalToSizedBuffer(dAtA[:size])
  3827. }
  3828. func (m *Request_ApplySnapshotChunk) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  3829. i := len(dAtA)
  3830. if m.ApplySnapshotChunk != nil {
  3831. {
  3832. size, err := m.ApplySnapshotChunk.MarshalToSizedBuffer(dAtA[:i])
  3833. if err != nil {
  3834. return 0, err
  3835. }
  3836. i -= size
  3837. i = encodeVarintAbci(dAtA, i, uint64(size))
  3838. }
  3839. i--
  3840. dAtA[i] = 0x1
  3841. i--
  3842. dAtA[i] = 0x82
  3843. }
  3844. return len(dAtA) - i, nil
  3845. }
  3846. func (m *Request_DeliverTx) MarshalTo(dAtA []byte) (int, error) {
  3847. size := m.Size()
  3848. return m.MarshalToSizedBuffer(dAtA[:size])
  3849. }
  3850. func (m *Request_DeliverTx) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  3851. i := len(dAtA)
  3852. if m.DeliverTx != nil {
  3853. {
  3854. size, err := m.DeliverTx.MarshalToSizedBuffer(dAtA[:i])
  3855. if err != nil {
  3856. return 0, err
  3857. }
  3858. i -= size
  3859. i = encodeVarintAbci(dAtA, i, uint64(size))
  3860. }
  3861. i--
  3862. dAtA[i] = 0x1
  3863. i--
  3864. dAtA[i] = 0x9a
  3865. }
  3866. return len(dAtA) - i, nil
  3867. }
  3868. func (m *RequestEcho) Marshal() (dAtA []byte, err error) {
  3869. size := m.Size()
  3870. dAtA = make([]byte, size)
  3871. n, err := m.MarshalToSizedBuffer(dAtA[:size])
  3872. if err != nil {
  3873. return nil, err
  3874. }
  3875. return dAtA[:n], nil
  3876. }
  3877. func (m *RequestEcho) MarshalTo(dAtA []byte) (int, error) {
  3878. size := m.Size()
  3879. return m.MarshalToSizedBuffer(dAtA[:size])
  3880. }
  3881. func (m *RequestEcho) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  3882. i := len(dAtA)
  3883. _ = i
  3884. var l int
  3885. _ = l
  3886. if len(m.Message) > 0 {
  3887. i -= len(m.Message)
  3888. copy(dAtA[i:], m.Message)
  3889. i = encodeVarintAbci(dAtA, i, uint64(len(m.Message)))
  3890. i--
  3891. dAtA[i] = 0xa
  3892. }
  3893. return len(dAtA) - i, nil
  3894. }
  3895. func (m *RequestFlush) Marshal() (dAtA []byte, err error) {
  3896. size := m.Size()
  3897. dAtA = make([]byte, size)
  3898. n, err := m.MarshalToSizedBuffer(dAtA[:size])
  3899. if err != nil {
  3900. return nil, err
  3901. }
  3902. return dAtA[:n], nil
  3903. }
  3904. func (m *RequestFlush) MarshalTo(dAtA []byte) (int, error) {
  3905. size := m.Size()
  3906. return m.MarshalToSizedBuffer(dAtA[:size])
  3907. }
  3908. func (m *RequestFlush) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  3909. i := len(dAtA)
  3910. _ = i
  3911. var l int
  3912. _ = l
  3913. return len(dAtA) - i, nil
  3914. }
  3915. func (m *RequestInfo) Marshal() (dAtA []byte, err error) {
  3916. size := m.Size()
  3917. dAtA = make([]byte, size)
  3918. n, err := m.MarshalToSizedBuffer(dAtA[:size])
  3919. if err != nil {
  3920. return nil, err
  3921. }
  3922. return dAtA[:n], nil
  3923. }
  3924. func (m *RequestInfo) MarshalTo(dAtA []byte) (int, error) {
  3925. size := m.Size()
  3926. return m.MarshalToSizedBuffer(dAtA[:size])
  3927. }
  3928. func (m *RequestInfo) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  3929. i := len(dAtA)
  3930. _ = i
  3931. var l int
  3932. _ = l
  3933. if m.P2PVersion != 0 {
  3934. i = encodeVarintAbci(dAtA, i, uint64(m.P2PVersion))
  3935. i--
  3936. dAtA[i] = 0x18
  3937. }
  3938. if m.BlockVersion != 0 {
  3939. i = encodeVarintAbci(dAtA, i, uint64(m.BlockVersion))
  3940. i--
  3941. dAtA[i] = 0x10
  3942. }
  3943. if len(m.Version) > 0 {
  3944. i -= len(m.Version)
  3945. copy(dAtA[i:], m.Version)
  3946. i = encodeVarintAbci(dAtA, i, uint64(len(m.Version)))
  3947. i--
  3948. dAtA[i] = 0xa
  3949. }
  3950. return len(dAtA) - i, nil
  3951. }
  3952. func (m *RequestSetOption) Marshal() (dAtA []byte, err error) {
  3953. size := m.Size()
  3954. dAtA = make([]byte, size)
  3955. n, err := m.MarshalToSizedBuffer(dAtA[:size])
  3956. if err != nil {
  3957. return nil, err
  3958. }
  3959. return dAtA[:n], nil
  3960. }
  3961. func (m *RequestSetOption) MarshalTo(dAtA []byte) (int, error) {
  3962. size := m.Size()
  3963. return m.MarshalToSizedBuffer(dAtA[:size])
  3964. }
  3965. func (m *RequestSetOption) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  3966. i := len(dAtA)
  3967. _ = i
  3968. var l int
  3969. _ = l
  3970. if len(m.Value) > 0 {
  3971. i -= len(m.Value)
  3972. copy(dAtA[i:], m.Value)
  3973. i = encodeVarintAbci(dAtA, i, uint64(len(m.Value)))
  3974. i--
  3975. dAtA[i] = 0x12
  3976. }
  3977. if len(m.Key) > 0 {
  3978. i -= len(m.Key)
  3979. copy(dAtA[i:], m.Key)
  3980. i = encodeVarintAbci(dAtA, i, uint64(len(m.Key)))
  3981. i--
  3982. dAtA[i] = 0xa
  3983. }
  3984. return len(dAtA) - i, nil
  3985. }
  3986. func (m *RequestInitChain) Marshal() (dAtA []byte, err error) {
  3987. size := m.Size()
  3988. dAtA = make([]byte, size)
  3989. n, err := m.MarshalToSizedBuffer(dAtA[:size])
  3990. if err != nil {
  3991. return nil, err
  3992. }
  3993. return dAtA[:n], nil
  3994. }
  3995. func (m *RequestInitChain) MarshalTo(dAtA []byte) (int, error) {
  3996. size := m.Size()
  3997. return m.MarshalToSizedBuffer(dAtA[:size])
  3998. }
  3999. func (m *RequestInitChain) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  4000. i := len(dAtA)
  4001. _ = i
  4002. var l int
  4003. _ = l
  4004. if len(m.AppStateBytes) > 0 {
  4005. i -= len(m.AppStateBytes)
  4006. copy(dAtA[i:], m.AppStateBytes)
  4007. i = encodeVarintAbci(dAtA, i, uint64(len(m.AppStateBytes)))
  4008. i--
  4009. dAtA[i] = 0x2a
  4010. }
  4011. if len(m.Validators) > 0 {
  4012. for iNdEx := len(m.Validators) - 1; iNdEx >= 0; iNdEx-- {
  4013. {
  4014. size, err := m.Validators[iNdEx].MarshalToSizedBuffer(dAtA[:i])
  4015. if err != nil {
  4016. return 0, err
  4017. }
  4018. i -= size
  4019. i = encodeVarintAbci(dAtA, i, uint64(size))
  4020. }
  4021. i--
  4022. dAtA[i] = 0x22
  4023. }
  4024. }
  4025. if m.ConsensusParams != nil {
  4026. {
  4027. size, err := m.ConsensusParams.MarshalToSizedBuffer(dAtA[:i])
  4028. if err != nil {
  4029. return 0, err
  4030. }
  4031. i -= size
  4032. i = encodeVarintAbci(dAtA, i, uint64(size))
  4033. }
  4034. i--
  4035. dAtA[i] = 0x1a
  4036. }
  4037. if len(m.ChainId) > 0 {
  4038. i -= len(m.ChainId)
  4039. copy(dAtA[i:], m.ChainId)
  4040. i = encodeVarintAbci(dAtA, i, uint64(len(m.ChainId)))
  4041. i--
  4042. dAtA[i] = 0x12
  4043. }
  4044. n17, err17 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Time, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Time):])
  4045. if err17 != nil {
  4046. return 0, err17
  4047. }
  4048. i -= n17
  4049. i = encodeVarintAbci(dAtA, i, uint64(n17))
  4050. i--
  4051. dAtA[i] = 0xa
  4052. return len(dAtA) - i, nil
  4053. }
  4054. func (m *RequestQuery) Marshal() (dAtA []byte, err error) {
  4055. size := m.Size()
  4056. dAtA = make([]byte, size)
  4057. n, err := m.MarshalToSizedBuffer(dAtA[:size])
  4058. if err != nil {
  4059. return nil, err
  4060. }
  4061. return dAtA[:n], nil
  4062. }
  4063. func (m *RequestQuery) MarshalTo(dAtA []byte) (int, error) {
  4064. size := m.Size()
  4065. return m.MarshalToSizedBuffer(dAtA[:size])
  4066. }
  4067. func (m *RequestQuery) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  4068. i := len(dAtA)
  4069. _ = i
  4070. var l int
  4071. _ = l
  4072. if m.Prove {
  4073. i--
  4074. if m.Prove {
  4075. dAtA[i] = 1
  4076. } else {
  4077. dAtA[i] = 0
  4078. }
  4079. i--
  4080. dAtA[i] = 0x20
  4081. }
  4082. if m.Height != 0 {
  4083. i = encodeVarintAbci(dAtA, i, uint64(m.Height))
  4084. i--
  4085. dAtA[i] = 0x18
  4086. }
  4087. if len(m.Path) > 0 {
  4088. i -= len(m.Path)
  4089. copy(dAtA[i:], m.Path)
  4090. i = encodeVarintAbci(dAtA, i, uint64(len(m.Path)))
  4091. i--
  4092. dAtA[i] = 0x12
  4093. }
  4094. if len(m.Data) > 0 {
  4095. i -= len(m.Data)
  4096. copy(dAtA[i:], m.Data)
  4097. i = encodeVarintAbci(dAtA, i, uint64(len(m.Data)))
  4098. i--
  4099. dAtA[i] = 0xa
  4100. }
  4101. return len(dAtA) - i, nil
  4102. }
  4103. func (m *RequestBeginBlock) Marshal() (dAtA []byte, err error) {
  4104. size := m.Size()
  4105. dAtA = make([]byte, size)
  4106. n, err := m.MarshalToSizedBuffer(dAtA[:size])
  4107. if err != nil {
  4108. return nil, err
  4109. }
  4110. return dAtA[:n], nil
  4111. }
  4112. func (m *RequestBeginBlock) MarshalTo(dAtA []byte) (int, error) {
  4113. size := m.Size()
  4114. return m.MarshalToSizedBuffer(dAtA[:size])
  4115. }
  4116. func (m *RequestBeginBlock) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  4117. i := len(dAtA)
  4118. _ = i
  4119. var l int
  4120. _ = l
  4121. if len(m.ByzantineValidators) > 0 {
  4122. for iNdEx := len(m.ByzantineValidators) - 1; iNdEx >= 0; iNdEx-- {
  4123. {
  4124. size, err := m.ByzantineValidators[iNdEx].MarshalToSizedBuffer(dAtA[:i])
  4125. if err != nil {
  4126. return 0, err
  4127. }
  4128. i -= size
  4129. i = encodeVarintAbci(dAtA, i, uint64(size))
  4130. }
  4131. i--
  4132. dAtA[i] = 0x22
  4133. }
  4134. }
  4135. {
  4136. size, err := m.LastCommitInfo.MarshalToSizedBuffer(dAtA[:i])
  4137. if err != nil {
  4138. return 0, err
  4139. }
  4140. i -= size
  4141. i = encodeVarintAbci(dAtA, i, uint64(size))
  4142. }
  4143. i--
  4144. dAtA[i] = 0x1a
  4145. {
  4146. size, err := m.Header.MarshalToSizedBuffer(dAtA[:i])
  4147. if err != nil {
  4148. return 0, err
  4149. }
  4150. i -= size
  4151. i = encodeVarintAbci(dAtA, i, uint64(size))
  4152. }
  4153. i--
  4154. dAtA[i] = 0x12
  4155. if len(m.Hash) > 0 {
  4156. i -= len(m.Hash)
  4157. copy(dAtA[i:], m.Hash)
  4158. i = encodeVarintAbci(dAtA, i, uint64(len(m.Hash)))
  4159. i--
  4160. dAtA[i] = 0xa
  4161. }
  4162. return len(dAtA) - i, nil
  4163. }
  4164. func (m *RequestCheckTx) Marshal() (dAtA []byte, err error) {
  4165. size := m.Size()
  4166. dAtA = make([]byte, size)
  4167. n, err := m.MarshalToSizedBuffer(dAtA[:size])
  4168. if err != nil {
  4169. return nil, err
  4170. }
  4171. return dAtA[:n], nil
  4172. }
  4173. func (m *RequestCheckTx) MarshalTo(dAtA []byte) (int, error) {
  4174. size := m.Size()
  4175. return m.MarshalToSizedBuffer(dAtA[:size])
  4176. }
  4177. func (m *RequestCheckTx) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  4178. i := len(dAtA)
  4179. _ = i
  4180. var l int
  4181. _ = l
  4182. if m.Type != 0 {
  4183. i = encodeVarintAbci(dAtA, i, uint64(m.Type))
  4184. i--
  4185. dAtA[i] = 0x10
  4186. }
  4187. if len(m.Tx) > 0 {
  4188. i -= len(m.Tx)
  4189. copy(dAtA[i:], m.Tx)
  4190. i = encodeVarintAbci(dAtA, i, uint64(len(m.Tx)))
  4191. i--
  4192. dAtA[i] = 0xa
  4193. }
  4194. return len(dAtA) - i, nil
  4195. }
  4196. func (m *RequestDeliverTx) Marshal() (dAtA []byte, err error) {
  4197. size := m.Size()
  4198. dAtA = make([]byte, size)
  4199. n, err := m.MarshalToSizedBuffer(dAtA[:size])
  4200. if err != nil {
  4201. return nil, err
  4202. }
  4203. return dAtA[:n], nil
  4204. }
  4205. func (m *RequestDeliverTx) MarshalTo(dAtA []byte) (int, error) {
  4206. size := m.Size()
  4207. return m.MarshalToSizedBuffer(dAtA[:size])
  4208. }
  4209. func (m *RequestDeliverTx) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  4210. i := len(dAtA)
  4211. _ = i
  4212. var l int
  4213. _ = l
  4214. if len(m.Tx) > 0 {
  4215. i -= len(m.Tx)
  4216. copy(dAtA[i:], m.Tx)
  4217. i = encodeVarintAbci(dAtA, i, uint64(len(m.Tx)))
  4218. i--
  4219. dAtA[i] = 0xa
  4220. }
  4221. return len(dAtA) - i, nil
  4222. }
  4223. func (m *RequestEndBlock) Marshal() (dAtA []byte, err error) {
  4224. size := m.Size()
  4225. dAtA = make([]byte, size)
  4226. n, err := m.MarshalToSizedBuffer(dAtA[:size])
  4227. if err != nil {
  4228. return nil, err
  4229. }
  4230. return dAtA[:n], nil
  4231. }
  4232. func (m *RequestEndBlock) MarshalTo(dAtA []byte) (int, error) {
  4233. size := m.Size()
  4234. return m.MarshalToSizedBuffer(dAtA[:size])
  4235. }
  4236. func (m *RequestEndBlock) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  4237. i := len(dAtA)
  4238. _ = i
  4239. var l int
  4240. _ = l
  4241. if m.Height != 0 {
  4242. i = encodeVarintAbci(dAtA, i, uint64(m.Height))
  4243. i--
  4244. dAtA[i] = 0x8
  4245. }
  4246. return len(dAtA) - i, nil
  4247. }
  4248. func (m *RequestCommit) Marshal() (dAtA []byte, err error) {
  4249. size := m.Size()
  4250. dAtA = make([]byte, size)
  4251. n, err := m.MarshalToSizedBuffer(dAtA[:size])
  4252. if err != nil {
  4253. return nil, err
  4254. }
  4255. return dAtA[:n], nil
  4256. }
  4257. func (m *RequestCommit) MarshalTo(dAtA []byte) (int, error) {
  4258. size := m.Size()
  4259. return m.MarshalToSizedBuffer(dAtA[:size])
  4260. }
  4261. func (m *RequestCommit) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  4262. i := len(dAtA)
  4263. _ = i
  4264. var l int
  4265. _ = l
  4266. return len(dAtA) - i, nil
  4267. }
  4268. func (m *RequestListSnapshots) Marshal() (dAtA []byte, err error) {
  4269. size := m.Size()
  4270. dAtA = make([]byte, size)
  4271. n, err := m.MarshalToSizedBuffer(dAtA[:size])
  4272. if err != nil {
  4273. return nil, err
  4274. }
  4275. return dAtA[:n], nil
  4276. }
  4277. func (m *RequestListSnapshots) MarshalTo(dAtA []byte) (int, error) {
  4278. size := m.Size()
  4279. return m.MarshalToSizedBuffer(dAtA[:size])
  4280. }
  4281. func (m *RequestListSnapshots) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  4282. i := len(dAtA)
  4283. _ = i
  4284. var l int
  4285. _ = l
  4286. return len(dAtA) - i, nil
  4287. }
  4288. func (m *RequestOfferSnapshot) Marshal() (dAtA []byte, err error) {
  4289. size := m.Size()
  4290. dAtA = make([]byte, size)
  4291. n, err := m.MarshalToSizedBuffer(dAtA[:size])
  4292. if err != nil {
  4293. return nil, err
  4294. }
  4295. return dAtA[:n], nil
  4296. }
  4297. func (m *RequestOfferSnapshot) MarshalTo(dAtA []byte) (int, error) {
  4298. size := m.Size()
  4299. return m.MarshalToSizedBuffer(dAtA[:size])
  4300. }
  4301. func (m *RequestOfferSnapshot) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  4302. i := len(dAtA)
  4303. _ = i
  4304. var l int
  4305. _ = l
  4306. if len(m.AppHash) > 0 {
  4307. i -= len(m.AppHash)
  4308. copy(dAtA[i:], m.AppHash)
  4309. i = encodeVarintAbci(dAtA, i, uint64(len(m.AppHash)))
  4310. i--
  4311. dAtA[i] = 0x12
  4312. }
  4313. if m.Snapshot != nil {
  4314. {
  4315. size, err := m.Snapshot.MarshalToSizedBuffer(dAtA[:i])
  4316. if err != nil {
  4317. return 0, err
  4318. }
  4319. i -= size
  4320. i = encodeVarintAbci(dAtA, i, uint64(size))
  4321. }
  4322. i--
  4323. dAtA[i] = 0xa
  4324. }
  4325. return len(dAtA) - i, nil
  4326. }
  4327. func (m *RequestLoadSnapshotChunk) Marshal() (dAtA []byte, err error) {
  4328. size := m.Size()
  4329. dAtA = make([]byte, size)
  4330. n, err := m.MarshalToSizedBuffer(dAtA[:size])
  4331. if err != nil {
  4332. return nil, err
  4333. }
  4334. return dAtA[:n], nil
  4335. }
  4336. func (m *RequestLoadSnapshotChunk) MarshalTo(dAtA []byte) (int, error) {
  4337. size := m.Size()
  4338. return m.MarshalToSizedBuffer(dAtA[:size])
  4339. }
  4340. func (m *RequestLoadSnapshotChunk) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  4341. i := len(dAtA)
  4342. _ = i
  4343. var l int
  4344. _ = l
  4345. if m.Chunk != 0 {
  4346. i = encodeVarintAbci(dAtA, i, uint64(m.Chunk))
  4347. i--
  4348. dAtA[i] = 0x18
  4349. }
  4350. if m.Format != 0 {
  4351. i = encodeVarintAbci(dAtA, i, uint64(m.Format))
  4352. i--
  4353. dAtA[i] = 0x10
  4354. }
  4355. if m.Height != 0 {
  4356. i = encodeVarintAbci(dAtA, i, uint64(m.Height))
  4357. i--
  4358. dAtA[i] = 0x8
  4359. }
  4360. return len(dAtA) - i, nil
  4361. }
  4362. func (m *RequestApplySnapshotChunk) Marshal() (dAtA []byte, err error) {
  4363. size := m.Size()
  4364. dAtA = make([]byte, size)
  4365. n, err := m.MarshalToSizedBuffer(dAtA[:size])
  4366. if err != nil {
  4367. return nil, err
  4368. }
  4369. return dAtA[:n], nil
  4370. }
  4371. func (m *RequestApplySnapshotChunk) MarshalTo(dAtA []byte) (int, error) {
  4372. size := m.Size()
  4373. return m.MarshalToSizedBuffer(dAtA[:size])
  4374. }
  4375. func (m *RequestApplySnapshotChunk) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  4376. i := len(dAtA)
  4377. _ = i
  4378. var l int
  4379. _ = l
  4380. if len(m.Sender) > 0 {
  4381. i -= len(m.Sender)
  4382. copy(dAtA[i:], m.Sender)
  4383. i = encodeVarintAbci(dAtA, i, uint64(len(m.Sender)))
  4384. i--
  4385. dAtA[i] = 0x1a
  4386. }
  4387. if len(m.Chunk) > 0 {
  4388. i -= len(m.Chunk)
  4389. copy(dAtA[i:], m.Chunk)
  4390. i = encodeVarintAbci(dAtA, i, uint64(len(m.Chunk)))
  4391. i--
  4392. dAtA[i] = 0x12
  4393. }
  4394. if m.Index != 0 {
  4395. i = encodeVarintAbci(dAtA, i, uint64(m.Index))
  4396. i--
  4397. dAtA[i] = 0x8
  4398. }
  4399. return len(dAtA) - i, nil
  4400. }
  4401. func (m *Response) Marshal() (dAtA []byte, err error) {
  4402. size := m.Size()
  4403. dAtA = make([]byte, size)
  4404. n, err := m.MarshalToSizedBuffer(dAtA[:size])
  4405. if err != nil {
  4406. return nil, err
  4407. }
  4408. return dAtA[:n], nil
  4409. }
  4410. func (m *Response) MarshalTo(dAtA []byte) (int, error) {
  4411. size := m.Size()
  4412. return m.MarshalToSizedBuffer(dAtA[:size])
  4413. }
  4414. func (m *Response) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  4415. i := len(dAtA)
  4416. _ = i
  4417. var l int
  4418. _ = l
  4419. if m.Value != nil {
  4420. {
  4421. size := m.Value.Size()
  4422. i -= size
  4423. if _, err := m.Value.MarshalTo(dAtA[i:]); err != nil {
  4424. return 0, err
  4425. }
  4426. }
  4427. }
  4428. return len(dAtA) - i, nil
  4429. }
  4430. func (m *Response_Exception) MarshalTo(dAtA []byte) (int, error) {
  4431. size := m.Size()
  4432. return m.MarshalToSizedBuffer(dAtA[:size])
  4433. }
  4434. func (m *Response_Exception) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  4435. i := len(dAtA)
  4436. if m.Exception != nil {
  4437. {
  4438. size, err := m.Exception.MarshalToSizedBuffer(dAtA[:i])
  4439. if err != nil {
  4440. return 0, err
  4441. }
  4442. i -= size
  4443. i = encodeVarintAbci(dAtA, i, uint64(size))
  4444. }
  4445. i--
  4446. dAtA[i] = 0xa
  4447. }
  4448. return len(dAtA) - i, nil
  4449. }
  4450. func (m *Response_Echo) MarshalTo(dAtA []byte) (int, error) {
  4451. size := m.Size()
  4452. return m.MarshalToSizedBuffer(dAtA[:size])
  4453. }
  4454. func (m *Response_Echo) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  4455. i := len(dAtA)
  4456. if m.Echo != nil {
  4457. {
  4458. size, err := m.Echo.MarshalToSizedBuffer(dAtA[:i])
  4459. if err != nil {
  4460. return 0, err
  4461. }
  4462. i -= size
  4463. i = encodeVarintAbci(dAtA, i, uint64(size))
  4464. }
  4465. i--
  4466. dAtA[i] = 0x12
  4467. }
  4468. return len(dAtA) - i, nil
  4469. }
  4470. func (m *Response_Flush) MarshalTo(dAtA []byte) (int, error) {
  4471. size := m.Size()
  4472. return m.MarshalToSizedBuffer(dAtA[:size])
  4473. }
  4474. func (m *Response_Flush) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  4475. i := len(dAtA)
  4476. if m.Flush != nil {
  4477. {
  4478. size, err := m.Flush.MarshalToSizedBuffer(dAtA[:i])
  4479. if err != nil {
  4480. return 0, err
  4481. }
  4482. i -= size
  4483. i = encodeVarintAbci(dAtA, i, uint64(size))
  4484. }
  4485. i--
  4486. dAtA[i] = 0x1a
  4487. }
  4488. return len(dAtA) - i, nil
  4489. }
  4490. func (m *Response_Info) MarshalTo(dAtA []byte) (int, error) {
  4491. size := m.Size()
  4492. return m.MarshalToSizedBuffer(dAtA[:size])
  4493. }
  4494. func (m *Response_Info) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  4495. i := len(dAtA)
  4496. if m.Info != nil {
  4497. {
  4498. size, err := m.Info.MarshalToSizedBuffer(dAtA[:i])
  4499. if err != nil {
  4500. return 0, err
  4501. }
  4502. i -= size
  4503. i = encodeVarintAbci(dAtA, i, uint64(size))
  4504. }
  4505. i--
  4506. dAtA[i] = 0x22
  4507. }
  4508. return len(dAtA) - i, nil
  4509. }
  4510. func (m *Response_SetOption) MarshalTo(dAtA []byte) (int, error) {
  4511. size := m.Size()
  4512. return m.MarshalToSizedBuffer(dAtA[:size])
  4513. }
  4514. func (m *Response_SetOption) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  4515. i := len(dAtA)
  4516. if m.SetOption != nil {
  4517. {
  4518. size, err := m.SetOption.MarshalToSizedBuffer(dAtA[:i])
  4519. if err != nil {
  4520. return 0, err
  4521. }
  4522. i -= size
  4523. i = encodeVarintAbci(dAtA, i, uint64(size))
  4524. }
  4525. i--
  4526. dAtA[i] = 0x2a
  4527. }
  4528. return len(dAtA) - i, nil
  4529. }
  4530. func (m *Response_InitChain) MarshalTo(dAtA []byte) (int, error) {
  4531. size := m.Size()
  4532. return m.MarshalToSizedBuffer(dAtA[:size])
  4533. }
  4534. func (m *Response_InitChain) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  4535. i := len(dAtA)
  4536. if m.InitChain != nil {
  4537. {
  4538. size, err := m.InitChain.MarshalToSizedBuffer(dAtA[:i])
  4539. if err != nil {
  4540. return 0, err
  4541. }
  4542. i -= size
  4543. i = encodeVarintAbci(dAtA, i, uint64(size))
  4544. }
  4545. i--
  4546. dAtA[i] = 0x32
  4547. }
  4548. return len(dAtA) - i, nil
  4549. }
  4550. func (m *Response_Query) MarshalTo(dAtA []byte) (int, error) {
  4551. size := m.Size()
  4552. return m.MarshalToSizedBuffer(dAtA[:size])
  4553. }
  4554. func (m *Response_Query) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  4555. i := len(dAtA)
  4556. if m.Query != nil {
  4557. {
  4558. size, err := m.Query.MarshalToSizedBuffer(dAtA[:i])
  4559. if err != nil {
  4560. return 0, err
  4561. }
  4562. i -= size
  4563. i = encodeVarintAbci(dAtA, i, uint64(size))
  4564. }
  4565. i--
  4566. dAtA[i] = 0x3a
  4567. }
  4568. return len(dAtA) - i, nil
  4569. }
  4570. func (m *Response_BeginBlock) MarshalTo(dAtA []byte) (int, error) {
  4571. size := m.Size()
  4572. return m.MarshalToSizedBuffer(dAtA[:size])
  4573. }
  4574. func (m *Response_BeginBlock) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  4575. i := len(dAtA)
  4576. if m.BeginBlock != nil {
  4577. {
  4578. size, err := m.BeginBlock.MarshalToSizedBuffer(dAtA[:i])
  4579. if err != nil {
  4580. return 0, err
  4581. }
  4582. i -= size
  4583. i = encodeVarintAbci(dAtA, i, uint64(size))
  4584. }
  4585. i--
  4586. dAtA[i] = 0x42
  4587. }
  4588. return len(dAtA) - i, nil
  4589. }
  4590. func (m *Response_CheckTx) MarshalTo(dAtA []byte) (int, error) {
  4591. size := m.Size()
  4592. return m.MarshalToSizedBuffer(dAtA[:size])
  4593. }
  4594. func (m *Response_CheckTx) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  4595. i := len(dAtA)
  4596. if m.CheckTx != nil {
  4597. {
  4598. size, err := m.CheckTx.MarshalToSizedBuffer(dAtA[:i])
  4599. if err != nil {
  4600. return 0, err
  4601. }
  4602. i -= size
  4603. i = encodeVarintAbci(dAtA, i, uint64(size))
  4604. }
  4605. i--
  4606. dAtA[i] = 0x4a
  4607. }
  4608. return len(dAtA) - i, nil
  4609. }
  4610. func (m *Response_DeliverTx) MarshalTo(dAtA []byte) (int, error) {
  4611. size := m.Size()
  4612. return m.MarshalToSizedBuffer(dAtA[:size])
  4613. }
  4614. func (m *Response_DeliverTx) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  4615. i := len(dAtA)
  4616. if m.DeliverTx != nil {
  4617. {
  4618. size, err := m.DeliverTx.MarshalToSizedBuffer(dAtA[:i])
  4619. if err != nil {
  4620. return 0, err
  4621. }
  4622. i -= size
  4623. i = encodeVarintAbci(dAtA, i, uint64(size))
  4624. }
  4625. i--
  4626. dAtA[i] = 0x52
  4627. }
  4628. return len(dAtA) - i, nil
  4629. }
  4630. func (m *Response_EndBlock) MarshalTo(dAtA []byte) (int, error) {
  4631. size := m.Size()
  4632. return m.MarshalToSizedBuffer(dAtA[:size])
  4633. }
  4634. func (m *Response_EndBlock) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  4635. i := len(dAtA)
  4636. if m.EndBlock != nil {
  4637. {
  4638. size, err := m.EndBlock.MarshalToSizedBuffer(dAtA[:i])
  4639. if err != nil {
  4640. return 0, err
  4641. }
  4642. i -= size
  4643. i = encodeVarintAbci(dAtA, i, uint64(size))
  4644. }
  4645. i--
  4646. dAtA[i] = 0x5a
  4647. }
  4648. return len(dAtA) - i, nil
  4649. }
  4650. func (m *Response_Commit) MarshalTo(dAtA []byte) (int, error) {
  4651. size := m.Size()
  4652. return m.MarshalToSizedBuffer(dAtA[:size])
  4653. }
  4654. func (m *Response_Commit) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  4655. i := len(dAtA)
  4656. if m.Commit != nil {
  4657. {
  4658. size, err := m.Commit.MarshalToSizedBuffer(dAtA[:i])
  4659. if err != nil {
  4660. return 0, err
  4661. }
  4662. i -= size
  4663. i = encodeVarintAbci(dAtA, i, uint64(size))
  4664. }
  4665. i--
  4666. dAtA[i] = 0x62
  4667. }
  4668. return len(dAtA) - i, nil
  4669. }
  4670. func (m *Response_ListSnapshots) MarshalTo(dAtA []byte) (int, error) {
  4671. size := m.Size()
  4672. return m.MarshalToSizedBuffer(dAtA[:size])
  4673. }
  4674. func (m *Response_ListSnapshots) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  4675. i := len(dAtA)
  4676. if m.ListSnapshots != nil {
  4677. {
  4678. size, err := m.ListSnapshots.MarshalToSizedBuffer(dAtA[:i])
  4679. if err != nil {
  4680. return 0, err
  4681. }
  4682. i -= size
  4683. i = encodeVarintAbci(dAtA, i, uint64(size))
  4684. }
  4685. i--
  4686. dAtA[i] = 0x6a
  4687. }
  4688. return len(dAtA) - i, nil
  4689. }
  4690. func (m *Response_OfferSnapshot) MarshalTo(dAtA []byte) (int, error) {
  4691. size := m.Size()
  4692. return m.MarshalToSizedBuffer(dAtA[:size])
  4693. }
  4694. func (m *Response_OfferSnapshot) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  4695. i := len(dAtA)
  4696. if m.OfferSnapshot != nil {
  4697. {
  4698. size, err := m.OfferSnapshot.MarshalToSizedBuffer(dAtA[:i])
  4699. if err != nil {
  4700. return 0, err
  4701. }
  4702. i -= size
  4703. i = encodeVarintAbci(dAtA, i, uint64(size))
  4704. }
  4705. i--
  4706. dAtA[i] = 0x72
  4707. }
  4708. return len(dAtA) - i, nil
  4709. }
  4710. func (m *Response_LoadSnapshotChunk) MarshalTo(dAtA []byte) (int, error) {
  4711. size := m.Size()
  4712. return m.MarshalToSizedBuffer(dAtA[:size])
  4713. }
  4714. func (m *Response_LoadSnapshotChunk) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  4715. i := len(dAtA)
  4716. if m.LoadSnapshotChunk != nil {
  4717. {
  4718. size, err := m.LoadSnapshotChunk.MarshalToSizedBuffer(dAtA[:i])
  4719. if err != nil {
  4720. return 0, err
  4721. }
  4722. i -= size
  4723. i = encodeVarintAbci(dAtA, i, uint64(size))
  4724. }
  4725. i--
  4726. dAtA[i] = 0x7a
  4727. }
  4728. return len(dAtA) - i, nil
  4729. }
  4730. func (m *Response_ApplySnapshotChunk) MarshalTo(dAtA []byte) (int, error) {
  4731. size := m.Size()
  4732. return m.MarshalToSizedBuffer(dAtA[:size])
  4733. }
  4734. func (m *Response_ApplySnapshotChunk) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  4735. i := len(dAtA)
  4736. if m.ApplySnapshotChunk != nil {
  4737. {
  4738. size, err := m.ApplySnapshotChunk.MarshalToSizedBuffer(dAtA[:i])
  4739. if err != nil {
  4740. return 0, err
  4741. }
  4742. i -= size
  4743. i = encodeVarintAbci(dAtA, i, uint64(size))
  4744. }
  4745. i--
  4746. dAtA[i] = 0x1
  4747. i--
  4748. dAtA[i] = 0x82
  4749. }
  4750. return len(dAtA) - i, nil
  4751. }
  4752. func (m *ResponseException) Marshal() (dAtA []byte, err error) {
  4753. size := m.Size()
  4754. dAtA = make([]byte, size)
  4755. n, err := m.MarshalToSizedBuffer(dAtA[:size])
  4756. if err != nil {
  4757. return nil, err
  4758. }
  4759. return dAtA[:n], nil
  4760. }
  4761. func (m *ResponseException) MarshalTo(dAtA []byte) (int, error) {
  4762. size := m.Size()
  4763. return m.MarshalToSizedBuffer(dAtA[:size])
  4764. }
  4765. func (m *ResponseException) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  4766. i := len(dAtA)
  4767. _ = i
  4768. var l int
  4769. _ = l
  4770. if len(m.Error) > 0 {
  4771. i -= len(m.Error)
  4772. copy(dAtA[i:], m.Error)
  4773. i = encodeVarintAbci(dAtA, i, uint64(len(m.Error)))
  4774. i--
  4775. dAtA[i] = 0xa
  4776. }
  4777. return len(dAtA) - i, nil
  4778. }
  4779. func (m *ResponseEcho) Marshal() (dAtA []byte, err error) {
  4780. size := m.Size()
  4781. dAtA = make([]byte, size)
  4782. n, err := m.MarshalToSizedBuffer(dAtA[:size])
  4783. if err != nil {
  4784. return nil, err
  4785. }
  4786. return dAtA[:n], nil
  4787. }
  4788. func (m *ResponseEcho) MarshalTo(dAtA []byte) (int, error) {
  4789. size := m.Size()
  4790. return m.MarshalToSizedBuffer(dAtA[:size])
  4791. }
  4792. func (m *ResponseEcho) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  4793. i := len(dAtA)
  4794. _ = i
  4795. var l int
  4796. _ = l
  4797. if len(m.Message) > 0 {
  4798. i -= len(m.Message)
  4799. copy(dAtA[i:], m.Message)
  4800. i = encodeVarintAbci(dAtA, i, uint64(len(m.Message)))
  4801. i--
  4802. dAtA[i] = 0xa
  4803. }
  4804. return len(dAtA) - i, nil
  4805. }
  4806. func (m *ResponseFlush) Marshal() (dAtA []byte, err error) {
  4807. size := m.Size()
  4808. dAtA = make([]byte, size)
  4809. n, err := m.MarshalToSizedBuffer(dAtA[:size])
  4810. if err != nil {
  4811. return nil, err
  4812. }
  4813. return dAtA[:n], nil
  4814. }
  4815. func (m *ResponseFlush) MarshalTo(dAtA []byte) (int, error) {
  4816. size := m.Size()
  4817. return m.MarshalToSizedBuffer(dAtA[:size])
  4818. }
  4819. func (m *ResponseFlush) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  4820. i := len(dAtA)
  4821. _ = i
  4822. var l int
  4823. _ = l
  4824. return len(dAtA) - i, nil
  4825. }
  4826. func (m *ResponseInfo) Marshal() (dAtA []byte, err error) {
  4827. size := m.Size()
  4828. dAtA = make([]byte, size)
  4829. n, err := m.MarshalToSizedBuffer(dAtA[:size])
  4830. if err != nil {
  4831. return nil, err
  4832. }
  4833. return dAtA[:n], nil
  4834. }
  4835. func (m *ResponseInfo) MarshalTo(dAtA []byte) (int, error) {
  4836. size := m.Size()
  4837. return m.MarshalToSizedBuffer(dAtA[:size])
  4838. }
  4839. func (m *ResponseInfo) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  4840. i := len(dAtA)
  4841. _ = i
  4842. var l int
  4843. _ = l
  4844. if len(m.LastBlockAppHash) > 0 {
  4845. i -= len(m.LastBlockAppHash)
  4846. copy(dAtA[i:], m.LastBlockAppHash)
  4847. i = encodeVarintAbci(dAtA, i, uint64(len(m.LastBlockAppHash)))
  4848. i--
  4849. dAtA[i] = 0x2a
  4850. }
  4851. if m.LastBlockHeight != 0 {
  4852. i = encodeVarintAbci(dAtA, i, uint64(m.LastBlockHeight))
  4853. i--
  4854. dAtA[i] = 0x20
  4855. }
  4856. if m.AppVersion != 0 {
  4857. i = encodeVarintAbci(dAtA, i, uint64(m.AppVersion))
  4858. i--
  4859. dAtA[i] = 0x18
  4860. }
  4861. if len(m.Version) > 0 {
  4862. i -= len(m.Version)
  4863. copy(dAtA[i:], m.Version)
  4864. i = encodeVarintAbci(dAtA, i, uint64(len(m.Version)))
  4865. i--
  4866. dAtA[i] = 0x12
  4867. }
  4868. if len(m.Data) > 0 {
  4869. i -= len(m.Data)
  4870. copy(dAtA[i:], m.Data)
  4871. i = encodeVarintAbci(dAtA, i, uint64(len(m.Data)))
  4872. i--
  4873. dAtA[i] = 0xa
  4874. }
  4875. return len(dAtA) - i, nil
  4876. }
  4877. func (m *ResponseSetOption) Marshal() (dAtA []byte, err error) {
  4878. size := m.Size()
  4879. dAtA = make([]byte, size)
  4880. n, err := m.MarshalToSizedBuffer(dAtA[:size])
  4881. if err != nil {
  4882. return nil, err
  4883. }
  4884. return dAtA[:n], nil
  4885. }
  4886. func (m *ResponseSetOption) MarshalTo(dAtA []byte) (int, error) {
  4887. size := m.Size()
  4888. return m.MarshalToSizedBuffer(dAtA[:size])
  4889. }
  4890. func (m *ResponseSetOption) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  4891. i := len(dAtA)
  4892. _ = i
  4893. var l int
  4894. _ = l
  4895. if len(m.Info) > 0 {
  4896. i -= len(m.Info)
  4897. copy(dAtA[i:], m.Info)
  4898. i = encodeVarintAbci(dAtA, i, uint64(len(m.Info)))
  4899. i--
  4900. dAtA[i] = 0x22
  4901. }
  4902. if len(m.Log) > 0 {
  4903. i -= len(m.Log)
  4904. copy(dAtA[i:], m.Log)
  4905. i = encodeVarintAbci(dAtA, i, uint64(len(m.Log)))
  4906. i--
  4907. dAtA[i] = 0x1a
  4908. }
  4909. if m.Code != 0 {
  4910. i = encodeVarintAbci(dAtA, i, uint64(m.Code))
  4911. i--
  4912. dAtA[i] = 0x8
  4913. }
  4914. return len(dAtA) - i, nil
  4915. }
  4916. func (m *ResponseInitChain) Marshal() (dAtA []byte, err error) {
  4917. size := m.Size()
  4918. dAtA = make([]byte, size)
  4919. n, err := m.MarshalToSizedBuffer(dAtA[:size])
  4920. if err != nil {
  4921. return nil, err
  4922. }
  4923. return dAtA[:n], nil
  4924. }
  4925. func (m *ResponseInitChain) MarshalTo(dAtA []byte) (int, error) {
  4926. size := m.Size()
  4927. return m.MarshalToSizedBuffer(dAtA[:size])
  4928. }
  4929. func (m *ResponseInitChain) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  4930. i := len(dAtA)
  4931. _ = i
  4932. var l int
  4933. _ = l
  4934. if len(m.Validators) > 0 {
  4935. for iNdEx := len(m.Validators) - 1; iNdEx >= 0; iNdEx-- {
  4936. {
  4937. size, err := m.Validators[iNdEx].MarshalToSizedBuffer(dAtA[:i])
  4938. if err != nil {
  4939. return 0, err
  4940. }
  4941. i -= size
  4942. i = encodeVarintAbci(dAtA, i, uint64(size))
  4943. }
  4944. i--
  4945. dAtA[i] = 0x12
  4946. }
  4947. }
  4948. if m.ConsensusParams != nil {
  4949. {
  4950. size, err := m.ConsensusParams.MarshalToSizedBuffer(dAtA[:i])
  4951. if err != nil {
  4952. return 0, err
  4953. }
  4954. i -= size
  4955. i = encodeVarintAbci(dAtA, i, uint64(size))
  4956. }
  4957. i--
  4958. dAtA[i] = 0xa
  4959. }
  4960. return len(dAtA) - i, nil
  4961. }
  4962. func (m *ResponseQuery) Marshal() (dAtA []byte, err error) {
  4963. size := m.Size()
  4964. dAtA = make([]byte, size)
  4965. n, err := m.MarshalToSizedBuffer(dAtA[:size])
  4966. if err != nil {
  4967. return nil, err
  4968. }
  4969. return dAtA[:n], nil
  4970. }
  4971. func (m *ResponseQuery) MarshalTo(dAtA []byte) (int, error) {
  4972. size := m.Size()
  4973. return m.MarshalToSizedBuffer(dAtA[:size])
  4974. }
  4975. func (m *ResponseQuery) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  4976. i := len(dAtA)
  4977. _ = i
  4978. var l int
  4979. _ = l
  4980. if len(m.Codespace) > 0 {
  4981. i -= len(m.Codespace)
  4982. copy(dAtA[i:], m.Codespace)
  4983. i = encodeVarintAbci(dAtA, i, uint64(len(m.Codespace)))
  4984. i--
  4985. dAtA[i] = 0x52
  4986. }
  4987. if m.Height != 0 {
  4988. i = encodeVarintAbci(dAtA, i, uint64(m.Height))
  4989. i--
  4990. dAtA[i] = 0x48
  4991. }
  4992. if m.ProofOps != nil {
  4993. {
  4994. size, err := m.ProofOps.MarshalToSizedBuffer(dAtA[:i])
  4995. if err != nil {
  4996. return 0, err
  4997. }
  4998. i -= size
  4999. i = encodeVarintAbci(dAtA, i, uint64(size))
  5000. }
  5001. i--
  5002. dAtA[i] = 0x42
  5003. }
  5004. if len(m.Value) > 0 {
  5005. i -= len(m.Value)
  5006. copy(dAtA[i:], m.Value)
  5007. i = encodeVarintAbci(dAtA, i, uint64(len(m.Value)))
  5008. i--
  5009. dAtA[i] = 0x3a
  5010. }
  5011. if len(m.Key) > 0 {
  5012. i -= len(m.Key)
  5013. copy(dAtA[i:], m.Key)
  5014. i = encodeVarintAbci(dAtA, i, uint64(len(m.Key)))
  5015. i--
  5016. dAtA[i] = 0x32
  5017. }
  5018. if m.Index != 0 {
  5019. i = encodeVarintAbci(dAtA, i, uint64(m.Index))
  5020. i--
  5021. dAtA[i] = 0x28
  5022. }
  5023. if len(m.Info) > 0 {
  5024. i -= len(m.Info)
  5025. copy(dAtA[i:], m.Info)
  5026. i = encodeVarintAbci(dAtA, i, uint64(len(m.Info)))
  5027. i--
  5028. dAtA[i] = 0x22
  5029. }
  5030. if len(m.Log) > 0 {
  5031. i -= len(m.Log)
  5032. copy(dAtA[i:], m.Log)
  5033. i = encodeVarintAbci(dAtA, i, uint64(len(m.Log)))
  5034. i--
  5035. dAtA[i] = 0x1a
  5036. }
  5037. if m.Code != 0 {
  5038. i = encodeVarintAbci(dAtA, i, uint64(m.Code))
  5039. i--
  5040. dAtA[i] = 0x8
  5041. }
  5042. return len(dAtA) - i, nil
  5043. }
  5044. func (m *ResponseBeginBlock) Marshal() (dAtA []byte, err error) {
  5045. size := m.Size()
  5046. dAtA = make([]byte, size)
  5047. n, err := m.MarshalToSizedBuffer(dAtA[:size])
  5048. if err != nil {
  5049. return nil, err
  5050. }
  5051. return dAtA[:n], nil
  5052. }
  5053. func (m *ResponseBeginBlock) MarshalTo(dAtA []byte) (int, error) {
  5054. size := m.Size()
  5055. return m.MarshalToSizedBuffer(dAtA[:size])
  5056. }
  5057. func (m *ResponseBeginBlock) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  5058. i := len(dAtA)
  5059. _ = i
  5060. var l int
  5061. _ = l
  5062. if len(m.Events) > 0 {
  5063. for iNdEx := len(m.Events) - 1; iNdEx >= 0; iNdEx-- {
  5064. {
  5065. size, err := m.Events[iNdEx].MarshalToSizedBuffer(dAtA[:i])
  5066. if err != nil {
  5067. return 0, err
  5068. }
  5069. i -= size
  5070. i = encodeVarintAbci(dAtA, i, uint64(size))
  5071. }
  5072. i--
  5073. dAtA[i] = 0xa
  5074. }
  5075. }
  5076. return len(dAtA) - i, nil
  5077. }
  5078. func (m *ResponseCheckTx) Marshal() (dAtA []byte, err error) {
  5079. size := m.Size()
  5080. dAtA = make([]byte, size)
  5081. n, err := m.MarshalToSizedBuffer(dAtA[:size])
  5082. if err != nil {
  5083. return nil, err
  5084. }
  5085. return dAtA[:n], nil
  5086. }
  5087. func (m *ResponseCheckTx) MarshalTo(dAtA []byte) (int, error) {
  5088. size := m.Size()
  5089. return m.MarshalToSizedBuffer(dAtA[:size])
  5090. }
  5091. func (m *ResponseCheckTx) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  5092. i := len(dAtA)
  5093. _ = i
  5094. var l int
  5095. _ = l
  5096. if len(m.Codespace) > 0 {
  5097. i -= len(m.Codespace)
  5098. copy(dAtA[i:], m.Codespace)
  5099. i = encodeVarintAbci(dAtA, i, uint64(len(m.Codespace)))
  5100. i--
  5101. dAtA[i] = 0x42
  5102. }
  5103. if len(m.Events) > 0 {
  5104. for iNdEx := len(m.Events) - 1; iNdEx >= 0; iNdEx-- {
  5105. {
  5106. size, err := m.Events[iNdEx].MarshalToSizedBuffer(dAtA[:i])
  5107. if err != nil {
  5108. return 0, err
  5109. }
  5110. i -= size
  5111. i = encodeVarintAbci(dAtA, i, uint64(size))
  5112. }
  5113. i--
  5114. dAtA[i] = 0x3a
  5115. }
  5116. }
  5117. if m.GasUsed != 0 {
  5118. i = encodeVarintAbci(dAtA, i, uint64(m.GasUsed))
  5119. i--
  5120. dAtA[i] = 0x30
  5121. }
  5122. if m.GasWanted != 0 {
  5123. i = encodeVarintAbci(dAtA, i, uint64(m.GasWanted))
  5124. i--
  5125. dAtA[i] = 0x28
  5126. }
  5127. if len(m.Info) > 0 {
  5128. i -= len(m.Info)
  5129. copy(dAtA[i:], m.Info)
  5130. i = encodeVarintAbci(dAtA, i, uint64(len(m.Info)))
  5131. i--
  5132. dAtA[i] = 0x22
  5133. }
  5134. if len(m.Log) > 0 {
  5135. i -= len(m.Log)
  5136. copy(dAtA[i:], m.Log)
  5137. i = encodeVarintAbci(dAtA, i, uint64(len(m.Log)))
  5138. i--
  5139. dAtA[i] = 0x1a
  5140. }
  5141. if len(m.Data) > 0 {
  5142. i -= len(m.Data)
  5143. copy(dAtA[i:], m.Data)
  5144. i = encodeVarintAbci(dAtA, i, uint64(len(m.Data)))
  5145. i--
  5146. dAtA[i] = 0x12
  5147. }
  5148. if m.Code != 0 {
  5149. i = encodeVarintAbci(dAtA, i, uint64(m.Code))
  5150. i--
  5151. dAtA[i] = 0x8
  5152. }
  5153. return len(dAtA) - i, nil
  5154. }
  5155. func (m *ResponseDeliverTx) Marshal() (dAtA []byte, err error) {
  5156. size := m.Size()
  5157. dAtA = make([]byte, size)
  5158. n, err := m.MarshalToSizedBuffer(dAtA[:size])
  5159. if err != nil {
  5160. return nil, err
  5161. }
  5162. return dAtA[:n], nil
  5163. }
  5164. func (m *ResponseDeliverTx) MarshalTo(dAtA []byte) (int, error) {
  5165. size := m.Size()
  5166. return m.MarshalToSizedBuffer(dAtA[:size])
  5167. }
  5168. func (m *ResponseDeliverTx) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  5169. i := len(dAtA)
  5170. _ = i
  5171. var l int
  5172. _ = l
  5173. if len(m.Codespace) > 0 {
  5174. i -= len(m.Codespace)
  5175. copy(dAtA[i:], m.Codespace)
  5176. i = encodeVarintAbci(dAtA, i, uint64(len(m.Codespace)))
  5177. i--
  5178. dAtA[i] = 0x42
  5179. }
  5180. if len(m.Events) > 0 {
  5181. for iNdEx := len(m.Events) - 1; iNdEx >= 0; iNdEx-- {
  5182. {
  5183. size, err := m.Events[iNdEx].MarshalToSizedBuffer(dAtA[:i])
  5184. if err != nil {
  5185. return 0, err
  5186. }
  5187. i -= size
  5188. i = encodeVarintAbci(dAtA, i, uint64(size))
  5189. }
  5190. i--
  5191. dAtA[i] = 0x3a
  5192. }
  5193. }
  5194. if m.GasUsed != 0 {
  5195. i = encodeVarintAbci(dAtA, i, uint64(m.GasUsed))
  5196. i--
  5197. dAtA[i] = 0x30
  5198. }
  5199. if m.GasWanted != 0 {
  5200. i = encodeVarintAbci(dAtA, i, uint64(m.GasWanted))
  5201. i--
  5202. dAtA[i] = 0x28
  5203. }
  5204. if len(m.Info) > 0 {
  5205. i -= len(m.Info)
  5206. copy(dAtA[i:], m.Info)
  5207. i = encodeVarintAbci(dAtA, i, uint64(len(m.Info)))
  5208. i--
  5209. dAtA[i] = 0x22
  5210. }
  5211. if len(m.Log) > 0 {
  5212. i -= len(m.Log)
  5213. copy(dAtA[i:], m.Log)
  5214. i = encodeVarintAbci(dAtA, i, uint64(len(m.Log)))
  5215. i--
  5216. dAtA[i] = 0x1a
  5217. }
  5218. if len(m.Data) > 0 {
  5219. i -= len(m.Data)
  5220. copy(dAtA[i:], m.Data)
  5221. i = encodeVarintAbci(dAtA, i, uint64(len(m.Data)))
  5222. i--
  5223. dAtA[i] = 0x12
  5224. }
  5225. if m.Code != 0 {
  5226. i = encodeVarintAbci(dAtA, i, uint64(m.Code))
  5227. i--
  5228. dAtA[i] = 0x8
  5229. }
  5230. return len(dAtA) - i, nil
  5231. }
  5232. func (m *ResponseEndBlock) Marshal() (dAtA []byte, err error) {
  5233. size := m.Size()
  5234. dAtA = make([]byte, size)
  5235. n, err := m.MarshalToSizedBuffer(dAtA[:size])
  5236. if err != nil {
  5237. return nil, err
  5238. }
  5239. return dAtA[:n], nil
  5240. }
  5241. func (m *ResponseEndBlock) MarshalTo(dAtA []byte) (int, error) {
  5242. size := m.Size()
  5243. return m.MarshalToSizedBuffer(dAtA[:size])
  5244. }
  5245. func (m *ResponseEndBlock) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  5246. i := len(dAtA)
  5247. _ = i
  5248. var l int
  5249. _ = l
  5250. if len(m.Events) > 0 {
  5251. for iNdEx := len(m.Events) - 1; iNdEx >= 0; iNdEx-- {
  5252. {
  5253. size, err := m.Events[iNdEx].MarshalToSizedBuffer(dAtA[:i])
  5254. if err != nil {
  5255. return 0, err
  5256. }
  5257. i -= size
  5258. i = encodeVarintAbci(dAtA, i, uint64(size))
  5259. }
  5260. i--
  5261. dAtA[i] = 0x1a
  5262. }
  5263. }
  5264. if m.ConsensusParamUpdates != nil {
  5265. {
  5266. size, err := m.ConsensusParamUpdates.MarshalToSizedBuffer(dAtA[:i])
  5267. if err != nil {
  5268. return 0, err
  5269. }
  5270. i -= size
  5271. i = encodeVarintAbci(dAtA, i, uint64(size))
  5272. }
  5273. i--
  5274. dAtA[i] = 0x12
  5275. }
  5276. if len(m.ValidatorUpdates) > 0 {
  5277. for iNdEx := len(m.ValidatorUpdates) - 1; iNdEx >= 0; iNdEx-- {
  5278. {
  5279. size, err := m.ValidatorUpdates[iNdEx].MarshalToSizedBuffer(dAtA[:i])
  5280. if err != nil {
  5281. return 0, err
  5282. }
  5283. i -= size
  5284. i = encodeVarintAbci(dAtA, i, uint64(size))
  5285. }
  5286. i--
  5287. dAtA[i] = 0xa
  5288. }
  5289. }
  5290. return len(dAtA) - i, nil
  5291. }
  5292. func (m *ResponseCommit) Marshal() (dAtA []byte, err error) {
  5293. size := m.Size()
  5294. dAtA = make([]byte, size)
  5295. n, err := m.MarshalToSizedBuffer(dAtA[:size])
  5296. if err != nil {
  5297. return nil, err
  5298. }
  5299. return dAtA[:n], nil
  5300. }
  5301. func (m *ResponseCommit) MarshalTo(dAtA []byte) (int, error) {
  5302. size := m.Size()
  5303. return m.MarshalToSizedBuffer(dAtA[:size])
  5304. }
  5305. func (m *ResponseCommit) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  5306. i := len(dAtA)
  5307. _ = i
  5308. var l int
  5309. _ = l
  5310. if m.RetainHeight != 0 {
  5311. i = encodeVarintAbci(dAtA, i, uint64(m.RetainHeight))
  5312. i--
  5313. dAtA[i] = 0x18
  5314. }
  5315. if len(m.Data) > 0 {
  5316. i -= len(m.Data)
  5317. copy(dAtA[i:], m.Data)
  5318. i = encodeVarintAbci(dAtA, i, uint64(len(m.Data)))
  5319. i--
  5320. dAtA[i] = 0x12
  5321. }
  5322. return len(dAtA) - i, nil
  5323. }
  5324. func (m *ResponseListSnapshots) Marshal() (dAtA []byte, err error) {
  5325. size := m.Size()
  5326. dAtA = make([]byte, size)
  5327. n, err := m.MarshalToSizedBuffer(dAtA[:size])
  5328. if err != nil {
  5329. return nil, err
  5330. }
  5331. return dAtA[:n], nil
  5332. }
  5333. func (m *ResponseListSnapshots) MarshalTo(dAtA []byte) (int, error) {
  5334. size := m.Size()
  5335. return m.MarshalToSizedBuffer(dAtA[:size])
  5336. }
  5337. func (m *ResponseListSnapshots) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  5338. i := len(dAtA)
  5339. _ = i
  5340. var l int
  5341. _ = l
  5342. if len(m.Snapshots) > 0 {
  5343. for iNdEx := len(m.Snapshots) - 1; iNdEx >= 0; iNdEx-- {
  5344. {
  5345. size, err := m.Snapshots[iNdEx].MarshalToSizedBuffer(dAtA[:i])
  5346. if err != nil {
  5347. return 0, err
  5348. }
  5349. i -= size
  5350. i = encodeVarintAbci(dAtA, i, uint64(size))
  5351. }
  5352. i--
  5353. dAtA[i] = 0xa
  5354. }
  5355. }
  5356. return len(dAtA) - i, nil
  5357. }
  5358. func (m *ResponseOfferSnapshot) Marshal() (dAtA []byte, err error) {
  5359. size := m.Size()
  5360. dAtA = make([]byte, size)
  5361. n, err := m.MarshalToSizedBuffer(dAtA[:size])
  5362. if err != nil {
  5363. return nil, err
  5364. }
  5365. return dAtA[:n], nil
  5366. }
  5367. func (m *ResponseOfferSnapshot) MarshalTo(dAtA []byte) (int, error) {
  5368. size := m.Size()
  5369. return m.MarshalToSizedBuffer(dAtA[:size])
  5370. }
  5371. func (m *ResponseOfferSnapshot) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  5372. i := len(dAtA)
  5373. _ = i
  5374. var l int
  5375. _ = l
  5376. if m.Result != 0 {
  5377. i = encodeVarintAbci(dAtA, i, uint64(m.Result))
  5378. i--
  5379. dAtA[i] = 0x8
  5380. }
  5381. return len(dAtA) - i, nil
  5382. }
  5383. func (m *ResponseLoadSnapshotChunk) Marshal() (dAtA []byte, err error) {
  5384. size := m.Size()
  5385. dAtA = make([]byte, size)
  5386. n, err := m.MarshalToSizedBuffer(dAtA[:size])
  5387. if err != nil {
  5388. return nil, err
  5389. }
  5390. return dAtA[:n], nil
  5391. }
  5392. func (m *ResponseLoadSnapshotChunk) MarshalTo(dAtA []byte) (int, error) {
  5393. size := m.Size()
  5394. return m.MarshalToSizedBuffer(dAtA[:size])
  5395. }
  5396. func (m *ResponseLoadSnapshotChunk) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  5397. i := len(dAtA)
  5398. _ = i
  5399. var l int
  5400. _ = l
  5401. if len(m.Chunk) > 0 {
  5402. i -= len(m.Chunk)
  5403. copy(dAtA[i:], m.Chunk)
  5404. i = encodeVarintAbci(dAtA, i, uint64(len(m.Chunk)))
  5405. i--
  5406. dAtA[i] = 0xa
  5407. }
  5408. return len(dAtA) - i, nil
  5409. }
  5410. func (m *ResponseApplySnapshotChunk) Marshal() (dAtA []byte, err error) {
  5411. size := m.Size()
  5412. dAtA = make([]byte, size)
  5413. n, err := m.MarshalToSizedBuffer(dAtA[:size])
  5414. if err != nil {
  5415. return nil, err
  5416. }
  5417. return dAtA[:n], nil
  5418. }
  5419. func (m *ResponseApplySnapshotChunk) MarshalTo(dAtA []byte) (int, error) {
  5420. size := m.Size()
  5421. return m.MarshalToSizedBuffer(dAtA[:size])
  5422. }
  5423. func (m *ResponseApplySnapshotChunk) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  5424. i := len(dAtA)
  5425. _ = i
  5426. var l int
  5427. _ = l
  5428. if len(m.RejectSenders) > 0 {
  5429. for iNdEx := len(m.RejectSenders) - 1; iNdEx >= 0; iNdEx-- {
  5430. i -= len(m.RejectSenders[iNdEx])
  5431. copy(dAtA[i:], m.RejectSenders[iNdEx])
  5432. i = encodeVarintAbci(dAtA, i, uint64(len(m.RejectSenders[iNdEx])))
  5433. i--
  5434. dAtA[i] = 0x1a
  5435. }
  5436. }
  5437. if len(m.RefetchChunks) > 0 {
  5438. dAtA41 := make([]byte, len(m.RefetchChunks)*10)
  5439. var j40 int
  5440. for _, num := range m.RefetchChunks {
  5441. for num >= 1<<7 {
  5442. dAtA41[j40] = uint8(uint64(num)&0x7f | 0x80)
  5443. num >>= 7
  5444. j40++
  5445. }
  5446. dAtA41[j40] = uint8(num)
  5447. j40++
  5448. }
  5449. i -= j40
  5450. copy(dAtA[i:], dAtA41[:j40])
  5451. i = encodeVarintAbci(dAtA, i, uint64(j40))
  5452. i--
  5453. dAtA[i] = 0x12
  5454. }
  5455. if m.Result != 0 {
  5456. i = encodeVarintAbci(dAtA, i, uint64(m.Result))
  5457. i--
  5458. dAtA[i] = 0x8
  5459. }
  5460. return len(dAtA) - i, nil
  5461. }
  5462. func (m *ConsensusParams) Marshal() (dAtA []byte, err error) {
  5463. size := m.Size()
  5464. dAtA = make([]byte, size)
  5465. n, err := m.MarshalToSizedBuffer(dAtA[:size])
  5466. if err != nil {
  5467. return nil, err
  5468. }
  5469. return dAtA[:n], nil
  5470. }
  5471. func (m *ConsensusParams) MarshalTo(dAtA []byte) (int, error) {
  5472. size := m.Size()
  5473. return m.MarshalToSizedBuffer(dAtA[:size])
  5474. }
  5475. func (m *ConsensusParams) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  5476. i := len(dAtA)
  5477. _ = i
  5478. var l int
  5479. _ = l
  5480. if m.Validator != nil {
  5481. {
  5482. size, err := m.Validator.MarshalToSizedBuffer(dAtA[:i])
  5483. if err != nil {
  5484. return 0, err
  5485. }
  5486. i -= size
  5487. i = encodeVarintAbci(dAtA, i, uint64(size))
  5488. }
  5489. i--
  5490. dAtA[i] = 0x1a
  5491. }
  5492. if m.Evidence != nil {
  5493. {
  5494. size, err := m.Evidence.MarshalToSizedBuffer(dAtA[:i])
  5495. if err != nil {
  5496. return 0, err
  5497. }
  5498. i -= size
  5499. i = encodeVarintAbci(dAtA, i, uint64(size))
  5500. }
  5501. i--
  5502. dAtA[i] = 0x12
  5503. }
  5504. if m.Block != nil {
  5505. {
  5506. size, err := m.Block.MarshalToSizedBuffer(dAtA[:i])
  5507. if err != nil {
  5508. return 0, err
  5509. }
  5510. i -= size
  5511. i = encodeVarintAbci(dAtA, i, uint64(size))
  5512. }
  5513. i--
  5514. dAtA[i] = 0xa
  5515. }
  5516. return len(dAtA) - i, nil
  5517. }
  5518. func (m *BlockParams) Marshal() (dAtA []byte, err error) {
  5519. size := m.Size()
  5520. dAtA = make([]byte, size)
  5521. n, err := m.MarshalToSizedBuffer(dAtA[:size])
  5522. if err != nil {
  5523. return nil, err
  5524. }
  5525. return dAtA[:n], nil
  5526. }
  5527. func (m *BlockParams) MarshalTo(dAtA []byte) (int, error) {
  5528. size := m.Size()
  5529. return m.MarshalToSizedBuffer(dAtA[:size])
  5530. }
  5531. func (m *BlockParams) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  5532. i := len(dAtA)
  5533. _ = i
  5534. var l int
  5535. _ = l
  5536. if m.MaxGas != 0 {
  5537. i = encodeVarintAbci(dAtA, i, uint64(m.MaxGas))
  5538. i--
  5539. dAtA[i] = 0x10
  5540. }
  5541. if m.MaxBytes != 0 {
  5542. i = encodeVarintAbci(dAtA, i, uint64(m.MaxBytes))
  5543. i--
  5544. dAtA[i] = 0x8
  5545. }
  5546. return len(dAtA) - i, nil
  5547. }
  5548. func (m *LastCommitInfo) Marshal() (dAtA []byte, err error) {
  5549. size := m.Size()
  5550. dAtA = make([]byte, size)
  5551. n, err := m.MarshalToSizedBuffer(dAtA[:size])
  5552. if err != nil {
  5553. return nil, err
  5554. }
  5555. return dAtA[:n], nil
  5556. }
  5557. func (m *LastCommitInfo) MarshalTo(dAtA []byte) (int, error) {
  5558. size := m.Size()
  5559. return m.MarshalToSizedBuffer(dAtA[:size])
  5560. }
  5561. func (m *LastCommitInfo) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  5562. i := len(dAtA)
  5563. _ = i
  5564. var l int
  5565. _ = l
  5566. if len(m.Votes) > 0 {
  5567. for iNdEx := len(m.Votes) - 1; iNdEx >= 0; iNdEx-- {
  5568. {
  5569. size, err := m.Votes[iNdEx].MarshalToSizedBuffer(dAtA[:i])
  5570. if err != nil {
  5571. return 0, err
  5572. }
  5573. i -= size
  5574. i = encodeVarintAbci(dAtA, i, uint64(size))
  5575. }
  5576. i--
  5577. dAtA[i] = 0x12
  5578. }
  5579. }
  5580. if m.Round != 0 {
  5581. i = encodeVarintAbci(dAtA, i, uint64(m.Round))
  5582. i--
  5583. dAtA[i] = 0x8
  5584. }
  5585. return len(dAtA) - i, nil
  5586. }
  5587. func (m *EventAttribute) Marshal() (dAtA []byte, err error) {
  5588. size := m.Size()
  5589. dAtA = make([]byte, size)
  5590. n, err := m.MarshalToSizedBuffer(dAtA[:size])
  5591. if err != nil {
  5592. return nil, err
  5593. }
  5594. return dAtA[:n], nil
  5595. }
  5596. func (m *EventAttribute) MarshalTo(dAtA []byte) (int, error) {
  5597. size := m.Size()
  5598. return m.MarshalToSizedBuffer(dAtA[:size])
  5599. }
  5600. func (m *EventAttribute) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  5601. i := len(dAtA)
  5602. _ = i
  5603. var l int
  5604. _ = l
  5605. if m.Index {
  5606. i--
  5607. if m.Index {
  5608. dAtA[i] = 1
  5609. } else {
  5610. dAtA[i] = 0
  5611. }
  5612. i--
  5613. dAtA[i] = 0x18
  5614. }
  5615. if len(m.Value) > 0 {
  5616. i -= len(m.Value)
  5617. copy(dAtA[i:], m.Value)
  5618. i = encodeVarintAbci(dAtA, i, uint64(len(m.Value)))
  5619. i--
  5620. dAtA[i] = 0x12
  5621. }
  5622. if len(m.Key) > 0 {
  5623. i -= len(m.Key)
  5624. copy(dAtA[i:], m.Key)
  5625. i = encodeVarintAbci(dAtA, i, uint64(len(m.Key)))
  5626. i--
  5627. dAtA[i] = 0xa
  5628. }
  5629. return len(dAtA) - i, nil
  5630. }
  5631. func (m *Event) Marshal() (dAtA []byte, err error) {
  5632. size := m.Size()
  5633. dAtA = make([]byte, size)
  5634. n, err := m.MarshalToSizedBuffer(dAtA[:size])
  5635. if err != nil {
  5636. return nil, err
  5637. }
  5638. return dAtA[:n], nil
  5639. }
  5640. func (m *Event) MarshalTo(dAtA []byte) (int, error) {
  5641. size := m.Size()
  5642. return m.MarshalToSizedBuffer(dAtA[:size])
  5643. }
  5644. func (m *Event) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  5645. i := len(dAtA)
  5646. _ = i
  5647. var l int
  5648. _ = l
  5649. if len(m.Attributes) > 0 {
  5650. for iNdEx := len(m.Attributes) - 1; iNdEx >= 0; iNdEx-- {
  5651. {
  5652. size, err := m.Attributes[iNdEx].MarshalToSizedBuffer(dAtA[:i])
  5653. if err != nil {
  5654. return 0, err
  5655. }
  5656. i -= size
  5657. i = encodeVarintAbci(dAtA, i, uint64(size))
  5658. }
  5659. i--
  5660. dAtA[i] = 0x12
  5661. }
  5662. }
  5663. if len(m.Type) > 0 {
  5664. i -= len(m.Type)
  5665. copy(dAtA[i:], m.Type)
  5666. i = encodeVarintAbci(dAtA, i, uint64(len(m.Type)))
  5667. i--
  5668. dAtA[i] = 0xa
  5669. }
  5670. return len(dAtA) - i, nil
  5671. }
  5672. func (m *TxResult) Marshal() (dAtA []byte, err error) {
  5673. size := m.Size()
  5674. dAtA = make([]byte, size)
  5675. n, err := m.MarshalToSizedBuffer(dAtA[:size])
  5676. if err != nil {
  5677. return nil, err
  5678. }
  5679. return dAtA[:n], nil
  5680. }
  5681. func (m *TxResult) MarshalTo(dAtA []byte) (int, error) {
  5682. size := m.Size()
  5683. return m.MarshalToSizedBuffer(dAtA[:size])
  5684. }
  5685. func (m *TxResult) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  5686. i := len(dAtA)
  5687. _ = i
  5688. var l int
  5689. _ = l
  5690. {
  5691. size, err := m.Result.MarshalToSizedBuffer(dAtA[:i])
  5692. if err != nil {
  5693. return 0, err
  5694. }
  5695. i -= size
  5696. i = encodeVarintAbci(dAtA, i, uint64(size))
  5697. }
  5698. i--
  5699. dAtA[i] = 0x22
  5700. if len(m.Tx) > 0 {
  5701. i -= len(m.Tx)
  5702. copy(dAtA[i:], m.Tx)
  5703. i = encodeVarintAbci(dAtA, i, uint64(len(m.Tx)))
  5704. i--
  5705. dAtA[i] = 0x1a
  5706. }
  5707. if m.Index != 0 {
  5708. i = encodeVarintAbci(dAtA, i, uint64(m.Index))
  5709. i--
  5710. dAtA[i] = 0x10
  5711. }
  5712. if m.Height != 0 {
  5713. i = encodeVarintAbci(dAtA, i, uint64(m.Height))
  5714. i--
  5715. dAtA[i] = 0x8
  5716. }
  5717. return len(dAtA) - i, nil
  5718. }
  5719. func (m *Validator) Marshal() (dAtA []byte, err error) {
  5720. size := m.Size()
  5721. dAtA = make([]byte, size)
  5722. n, err := m.MarshalToSizedBuffer(dAtA[:size])
  5723. if err != nil {
  5724. return nil, err
  5725. }
  5726. return dAtA[:n], nil
  5727. }
  5728. func (m *Validator) MarshalTo(dAtA []byte) (int, error) {
  5729. size := m.Size()
  5730. return m.MarshalToSizedBuffer(dAtA[:size])
  5731. }
  5732. func (m *Validator) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  5733. i := len(dAtA)
  5734. _ = i
  5735. var l int
  5736. _ = l
  5737. if m.Power != 0 {
  5738. i = encodeVarintAbci(dAtA, i, uint64(m.Power))
  5739. i--
  5740. dAtA[i] = 0x18
  5741. }
  5742. if len(m.Address) > 0 {
  5743. i -= len(m.Address)
  5744. copy(dAtA[i:], m.Address)
  5745. i = encodeVarintAbci(dAtA, i, uint64(len(m.Address)))
  5746. i--
  5747. dAtA[i] = 0xa
  5748. }
  5749. return len(dAtA) - i, nil
  5750. }
  5751. func (m *ValidatorUpdate) Marshal() (dAtA []byte, err error) {
  5752. size := m.Size()
  5753. dAtA = make([]byte, size)
  5754. n, err := m.MarshalToSizedBuffer(dAtA[:size])
  5755. if err != nil {
  5756. return nil, err
  5757. }
  5758. return dAtA[:n], nil
  5759. }
  5760. func (m *ValidatorUpdate) MarshalTo(dAtA []byte) (int, error) {
  5761. size := m.Size()
  5762. return m.MarshalToSizedBuffer(dAtA[:size])
  5763. }
  5764. func (m *ValidatorUpdate) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  5765. i := len(dAtA)
  5766. _ = i
  5767. var l int
  5768. _ = l
  5769. if m.Power != 0 {
  5770. i = encodeVarintAbci(dAtA, i, uint64(m.Power))
  5771. i--
  5772. dAtA[i] = 0x10
  5773. }
  5774. {
  5775. size, err := m.PubKey.MarshalToSizedBuffer(dAtA[:i])
  5776. if err != nil {
  5777. return 0, err
  5778. }
  5779. i -= size
  5780. i = encodeVarintAbci(dAtA, i, uint64(size))
  5781. }
  5782. i--
  5783. dAtA[i] = 0xa
  5784. return len(dAtA) - i, nil
  5785. }
  5786. func (m *VoteInfo) Marshal() (dAtA []byte, err error) {
  5787. size := m.Size()
  5788. dAtA = make([]byte, size)
  5789. n, err := m.MarshalToSizedBuffer(dAtA[:size])
  5790. if err != nil {
  5791. return nil, err
  5792. }
  5793. return dAtA[:n], nil
  5794. }
  5795. func (m *VoteInfo) MarshalTo(dAtA []byte) (int, error) {
  5796. size := m.Size()
  5797. return m.MarshalToSizedBuffer(dAtA[:size])
  5798. }
  5799. func (m *VoteInfo) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  5800. i := len(dAtA)
  5801. _ = i
  5802. var l int
  5803. _ = l
  5804. if m.SignedLastBlock {
  5805. i--
  5806. if m.SignedLastBlock {
  5807. dAtA[i] = 1
  5808. } else {
  5809. dAtA[i] = 0
  5810. }
  5811. i--
  5812. dAtA[i] = 0x10
  5813. }
  5814. {
  5815. size, err := m.Validator.MarshalToSizedBuffer(dAtA[:i])
  5816. if err != nil {
  5817. return 0, err
  5818. }
  5819. i -= size
  5820. i = encodeVarintAbci(dAtA, i, uint64(size))
  5821. }
  5822. i--
  5823. dAtA[i] = 0xa
  5824. return len(dAtA) - i, nil
  5825. }
  5826. func (m *Evidence) Marshal() (dAtA []byte, err error) {
  5827. size := m.Size()
  5828. dAtA = make([]byte, size)
  5829. n, err := m.MarshalToSizedBuffer(dAtA[:size])
  5830. if err != nil {
  5831. return nil, err
  5832. }
  5833. return dAtA[:n], nil
  5834. }
  5835. func (m *Evidence) MarshalTo(dAtA []byte) (int, error) {
  5836. size := m.Size()
  5837. return m.MarshalToSizedBuffer(dAtA[:size])
  5838. }
  5839. func (m *Evidence) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  5840. i := len(dAtA)
  5841. _ = i
  5842. var l int
  5843. _ = l
  5844. if m.TotalVotingPower != 0 {
  5845. i = encodeVarintAbci(dAtA, i, uint64(m.TotalVotingPower))
  5846. i--
  5847. dAtA[i] = 0x28
  5848. }
  5849. n48, err48 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Time, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Time):])
  5850. if err48 != nil {
  5851. return 0, err48
  5852. }
  5853. i -= n48
  5854. i = encodeVarintAbci(dAtA, i, uint64(n48))
  5855. i--
  5856. dAtA[i] = 0x22
  5857. if m.Height != 0 {
  5858. i = encodeVarintAbci(dAtA, i, uint64(m.Height))
  5859. i--
  5860. dAtA[i] = 0x18
  5861. }
  5862. {
  5863. size, err := m.Validator.MarshalToSizedBuffer(dAtA[:i])
  5864. if err != nil {
  5865. return 0, err
  5866. }
  5867. i -= size
  5868. i = encodeVarintAbci(dAtA, i, uint64(size))
  5869. }
  5870. i--
  5871. dAtA[i] = 0x12
  5872. if len(m.Type) > 0 {
  5873. i -= len(m.Type)
  5874. copy(dAtA[i:], m.Type)
  5875. i = encodeVarintAbci(dAtA, i, uint64(len(m.Type)))
  5876. i--
  5877. dAtA[i] = 0xa
  5878. }
  5879. return len(dAtA) - i, nil
  5880. }
  5881. func (m *Snapshot) Marshal() (dAtA []byte, err error) {
  5882. size := m.Size()
  5883. dAtA = make([]byte, size)
  5884. n, err := m.MarshalToSizedBuffer(dAtA[:size])
  5885. if err != nil {
  5886. return nil, err
  5887. }
  5888. return dAtA[:n], nil
  5889. }
  5890. func (m *Snapshot) MarshalTo(dAtA []byte) (int, error) {
  5891. size := m.Size()
  5892. return m.MarshalToSizedBuffer(dAtA[:size])
  5893. }
  5894. func (m *Snapshot) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  5895. i := len(dAtA)
  5896. _ = i
  5897. var l int
  5898. _ = l
  5899. if len(m.Metadata) > 0 {
  5900. i -= len(m.Metadata)
  5901. copy(dAtA[i:], m.Metadata)
  5902. i = encodeVarintAbci(dAtA, i, uint64(len(m.Metadata)))
  5903. i--
  5904. dAtA[i] = 0x2a
  5905. }
  5906. if len(m.Hash) > 0 {
  5907. i -= len(m.Hash)
  5908. copy(dAtA[i:], m.Hash)
  5909. i = encodeVarintAbci(dAtA, i, uint64(len(m.Hash)))
  5910. i--
  5911. dAtA[i] = 0x22
  5912. }
  5913. if m.Chunks != 0 {
  5914. i = encodeVarintAbci(dAtA, i, uint64(m.Chunks))
  5915. i--
  5916. dAtA[i] = 0x18
  5917. }
  5918. if m.Format != 0 {
  5919. i = encodeVarintAbci(dAtA, i, uint64(m.Format))
  5920. i--
  5921. dAtA[i] = 0x10
  5922. }
  5923. if m.Height != 0 {
  5924. i = encodeVarintAbci(dAtA, i, uint64(m.Height))
  5925. i--
  5926. dAtA[i] = 0x8
  5927. }
  5928. return len(dAtA) - i, nil
  5929. }
  5930. func encodeVarintAbci(dAtA []byte, offset int, v uint64) int {
  5931. offset -= sovAbci(v)
  5932. base := offset
  5933. for v >= 1<<7 {
  5934. dAtA[offset] = uint8(v&0x7f | 0x80)
  5935. v >>= 7
  5936. offset++
  5937. }
  5938. dAtA[offset] = uint8(v)
  5939. return base
  5940. }
  5941. func (m *Request) Size() (n int) {
  5942. if m == nil {
  5943. return 0
  5944. }
  5945. var l int
  5946. _ = l
  5947. if m.Value != nil {
  5948. n += m.Value.Size()
  5949. }
  5950. return n
  5951. }
  5952. func (m *Request_Echo) Size() (n int) {
  5953. if m == nil {
  5954. return 0
  5955. }
  5956. var l int
  5957. _ = l
  5958. if m.Echo != nil {
  5959. l = m.Echo.Size()
  5960. n += 1 + l + sovAbci(uint64(l))
  5961. }
  5962. return n
  5963. }
  5964. func (m *Request_Flush) Size() (n int) {
  5965. if m == nil {
  5966. return 0
  5967. }
  5968. var l int
  5969. _ = l
  5970. if m.Flush != nil {
  5971. l = m.Flush.Size()
  5972. n += 1 + l + sovAbci(uint64(l))
  5973. }
  5974. return n
  5975. }
  5976. func (m *Request_Info) Size() (n int) {
  5977. if m == nil {
  5978. return 0
  5979. }
  5980. var l int
  5981. _ = l
  5982. if m.Info != nil {
  5983. l = m.Info.Size()
  5984. n += 1 + l + sovAbci(uint64(l))
  5985. }
  5986. return n
  5987. }
  5988. func (m *Request_SetOption) Size() (n int) {
  5989. if m == nil {
  5990. return 0
  5991. }
  5992. var l int
  5993. _ = l
  5994. if m.SetOption != nil {
  5995. l = m.SetOption.Size()
  5996. n += 1 + l + sovAbci(uint64(l))
  5997. }
  5998. return n
  5999. }
  6000. func (m *Request_InitChain) Size() (n int) {
  6001. if m == nil {
  6002. return 0
  6003. }
  6004. var l int
  6005. _ = l
  6006. if m.InitChain != nil {
  6007. l = m.InitChain.Size()
  6008. n += 1 + l + sovAbci(uint64(l))
  6009. }
  6010. return n
  6011. }
  6012. func (m *Request_Query) Size() (n int) {
  6013. if m == nil {
  6014. return 0
  6015. }
  6016. var l int
  6017. _ = l
  6018. if m.Query != nil {
  6019. l = m.Query.Size()
  6020. n += 1 + l + sovAbci(uint64(l))
  6021. }
  6022. return n
  6023. }
  6024. func (m *Request_BeginBlock) Size() (n int) {
  6025. if m == nil {
  6026. return 0
  6027. }
  6028. var l int
  6029. _ = l
  6030. if m.BeginBlock != nil {
  6031. l = m.BeginBlock.Size()
  6032. n += 1 + l + sovAbci(uint64(l))
  6033. }
  6034. return n
  6035. }
  6036. func (m *Request_CheckTx) Size() (n int) {
  6037. if m == nil {
  6038. return 0
  6039. }
  6040. var l int
  6041. _ = l
  6042. if m.CheckTx != nil {
  6043. l = m.CheckTx.Size()
  6044. n += 1 + l + sovAbci(uint64(l))
  6045. }
  6046. return n
  6047. }
  6048. func (m *Request_EndBlock) Size() (n int) {
  6049. if m == nil {
  6050. return 0
  6051. }
  6052. var l int
  6053. _ = l
  6054. if m.EndBlock != nil {
  6055. l = m.EndBlock.Size()
  6056. n += 1 + l + sovAbci(uint64(l))
  6057. }
  6058. return n
  6059. }
  6060. func (m *Request_Commit) Size() (n int) {
  6061. if m == nil {
  6062. return 0
  6063. }
  6064. var l int
  6065. _ = l
  6066. if m.Commit != nil {
  6067. l = m.Commit.Size()
  6068. n += 1 + l + sovAbci(uint64(l))
  6069. }
  6070. return n
  6071. }
  6072. func (m *Request_ListSnapshots) Size() (n int) {
  6073. if m == nil {
  6074. return 0
  6075. }
  6076. var l int
  6077. _ = l
  6078. if m.ListSnapshots != nil {
  6079. l = m.ListSnapshots.Size()
  6080. n += 1 + l + sovAbci(uint64(l))
  6081. }
  6082. return n
  6083. }
  6084. func (m *Request_OfferSnapshot) Size() (n int) {
  6085. if m == nil {
  6086. return 0
  6087. }
  6088. var l int
  6089. _ = l
  6090. if m.OfferSnapshot != nil {
  6091. l = m.OfferSnapshot.Size()
  6092. n += 1 + l + sovAbci(uint64(l))
  6093. }
  6094. return n
  6095. }
  6096. func (m *Request_LoadSnapshotChunk) Size() (n int) {
  6097. if m == nil {
  6098. return 0
  6099. }
  6100. var l int
  6101. _ = l
  6102. if m.LoadSnapshotChunk != nil {
  6103. l = m.LoadSnapshotChunk.Size()
  6104. n += 1 + l + sovAbci(uint64(l))
  6105. }
  6106. return n
  6107. }
  6108. func (m *Request_ApplySnapshotChunk) Size() (n int) {
  6109. if m == nil {
  6110. return 0
  6111. }
  6112. var l int
  6113. _ = l
  6114. if m.ApplySnapshotChunk != nil {
  6115. l = m.ApplySnapshotChunk.Size()
  6116. n += 2 + l + sovAbci(uint64(l))
  6117. }
  6118. return n
  6119. }
  6120. func (m *Request_DeliverTx) Size() (n int) {
  6121. if m == nil {
  6122. return 0
  6123. }
  6124. var l int
  6125. _ = l
  6126. if m.DeliverTx != nil {
  6127. l = m.DeliverTx.Size()
  6128. n += 2 + l + sovAbci(uint64(l))
  6129. }
  6130. return n
  6131. }
  6132. func (m *RequestEcho) Size() (n int) {
  6133. if m == nil {
  6134. return 0
  6135. }
  6136. var l int
  6137. _ = l
  6138. l = len(m.Message)
  6139. if l > 0 {
  6140. n += 1 + l + sovAbci(uint64(l))
  6141. }
  6142. return n
  6143. }
  6144. func (m *RequestFlush) Size() (n int) {
  6145. if m == nil {
  6146. return 0
  6147. }
  6148. var l int
  6149. _ = l
  6150. return n
  6151. }
  6152. func (m *RequestInfo) Size() (n int) {
  6153. if m == nil {
  6154. return 0
  6155. }
  6156. var l int
  6157. _ = l
  6158. l = len(m.Version)
  6159. if l > 0 {
  6160. n += 1 + l + sovAbci(uint64(l))
  6161. }
  6162. if m.BlockVersion != 0 {
  6163. n += 1 + sovAbci(uint64(m.BlockVersion))
  6164. }
  6165. if m.P2PVersion != 0 {
  6166. n += 1 + sovAbci(uint64(m.P2PVersion))
  6167. }
  6168. return n
  6169. }
  6170. func (m *RequestSetOption) Size() (n int) {
  6171. if m == nil {
  6172. return 0
  6173. }
  6174. var l int
  6175. _ = l
  6176. l = len(m.Key)
  6177. if l > 0 {
  6178. n += 1 + l + sovAbci(uint64(l))
  6179. }
  6180. l = len(m.Value)
  6181. if l > 0 {
  6182. n += 1 + l + sovAbci(uint64(l))
  6183. }
  6184. return n
  6185. }
  6186. func (m *RequestInitChain) Size() (n int) {
  6187. if m == nil {
  6188. return 0
  6189. }
  6190. var l int
  6191. _ = l
  6192. l = github_com_gogo_protobuf_types.SizeOfStdTime(m.Time)
  6193. n += 1 + l + sovAbci(uint64(l))
  6194. l = len(m.ChainId)
  6195. if l > 0 {
  6196. n += 1 + l + sovAbci(uint64(l))
  6197. }
  6198. if m.ConsensusParams != nil {
  6199. l = m.ConsensusParams.Size()
  6200. n += 1 + l + sovAbci(uint64(l))
  6201. }
  6202. if len(m.Validators) > 0 {
  6203. for _, e := range m.Validators {
  6204. l = e.Size()
  6205. n += 1 + l + sovAbci(uint64(l))
  6206. }
  6207. }
  6208. l = len(m.AppStateBytes)
  6209. if l > 0 {
  6210. n += 1 + l + sovAbci(uint64(l))
  6211. }
  6212. return n
  6213. }
  6214. func (m *RequestQuery) Size() (n int) {
  6215. if m == nil {
  6216. return 0
  6217. }
  6218. var l int
  6219. _ = l
  6220. l = len(m.Data)
  6221. if l > 0 {
  6222. n += 1 + l + sovAbci(uint64(l))
  6223. }
  6224. l = len(m.Path)
  6225. if l > 0 {
  6226. n += 1 + l + sovAbci(uint64(l))
  6227. }
  6228. if m.Height != 0 {
  6229. n += 1 + sovAbci(uint64(m.Height))
  6230. }
  6231. if m.Prove {
  6232. n += 2
  6233. }
  6234. return n
  6235. }
  6236. func (m *RequestBeginBlock) Size() (n int) {
  6237. if m == nil {
  6238. return 0
  6239. }
  6240. var l int
  6241. _ = l
  6242. l = len(m.Hash)
  6243. if l > 0 {
  6244. n += 1 + l + sovAbci(uint64(l))
  6245. }
  6246. l = m.Header.Size()
  6247. n += 1 + l + sovAbci(uint64(l))
  6248. l = m.LastCommitInfo.Size()
  6249. n += 1 + l + sovAbci(uint64(l))
  6250. if len(m.ByzantineValidators) > 0 {
  6251. for _, e := range m.ByzantineValidators {
  6252. l = e.Size()
  6253. n += 1 + l + sovAbci(uint64(l))
  6254. }
  6255. }
  6256. return n
  6257. }
  6258. func (m *RequestCheckTx) Size() (n int) {
  6259. if m == nil {
  6260. return 0
  6261. }
  6262. var l int
  6263. _ = l
  6264. l = len(m.Tx)
  6265. if l > 0 {
  6266. n += 1 + l + sovAbci(uint64(l))
  6267. }
  6268. if m.Type != 0 {
  6269. n += 1 + sovAbci(uint64(m.Type))
  6270. }
  6271. return n
  6272. }
  6273. func (m *RequestDeliverTx) Size() (n int) {
  6274. if m == nil {
  6275. return 0
  6276. }
  6277. var l int
  6278. _ = l
  6279. l = len(m.Tx)
  6280. if l > 0 {
  6281. n += 1 + l + sovAbci(uint64(l))
  6282. }
  6283. return n
  6284. }
  6285. func (m *RequestEndBlock) Size() (n int) {
  6286. if m == nil {
  6287. return 0
  6288. }
  6289. var l int
  6290. _ = l
  6291. if m.Height != 0 {
  6292. n += 1 + sovAbci(uint64(m.Height))
  6293. }
  6294. return n
  6295. }
  6296. func (m *RequestCommit) Size() (n int) {
  6297. if m == nil {
  6298. return 0
  6299. }
  6300. var l int
  6301. _ = l
  6302. return n
  6303. }
  6304. func (m *RequestListSnapshots) Size() (n int) {
  6305. if m == nil {
  6306. return 0
  6307. }
  6308. var l int
  6309. _ = l
  6310. return n
  6311. }
  6312. func (m *RequestOfferSnapshot) Size() (n int) {
  6313. if m == nil {
  6314. return 0
  6315. }
  6316. var l int
  6317. _ = l
  6318. if m.Snapshot != nil {
  6319. l = m.Snapshot.Size()
  6320. n += 1 + l + sovAbci(uint64(l))
  6321. }
  6322. l = len(m.AppHash)
  6323. if l > 0 {
  6324. n += 1 + l + sovAbci(uint64(l))
  6325. }
  6326. return n
  6327. }
  6328. func (m *RequestLoadSnapshotChunk) Size() (n int) {
  6329. if m == nil {
  6330. return 0
  6331. }
  6332. var l int
  6333. _ = l
  6334. if m.Height != 0 {
  6335. n += 1 + sovAbci(uint64(m.Height))
  6336. }
  6337. if m.Format != 0 {
  6338. n += 1 + sovAbci(uint64(m.Format))
  6339. }
  6340. if m.Chunk != 0 {
  6341. n += 1 + sovAbci(uint64(m.Chunk))
  6342. }
  6343. return n
  6344. }
  6345. func (m *RequestApplySnapshotChunk) Size() (n int) {
  6346. if m == nil {
  6347. return 0
  6348. }
  6349. var l int
  6350. _ = l
  6351. if m.Index != 0 {
  6352. n += 1 + sovAbci(uint64(m.Index))
  6353. }
  6354. l = len(m.Chunk)
  6355. if l > 0 {
  6356. n += 1 + l + sovAbci(uint64(l))
  6357. }
  6358. l = len(m.Sender)
  6359. if l > 0 {
  6360. n += 1 + l + sovAbci(uint64(l))
  6361. }
  6362. return n
  6363. }
  6364. func (m *Response) Size() (n int) {
  6365. if m == nil {
  6366. return 0
  6367. }
  6368. var l int
  6369. _ = l
  6370. if m.Value != nil {
  6371. n += m.Value.Size()
  6372. }
  6373. return n
  6374. }
  6375. func (m *Response_Exception) Size() (n int) {
  6376. if m == nil {
  6377. return 0
  6378. }
  6379. var l int
  6380. _ = l
  6381. if m.Exception != nil {
  6382. l = m.Exception.Size()
  6383. n += 1 + l + sovAbci(uint64(l))
  6384. }
  6385. return n
  6386. }
  6387. func (m *Response_Echo) Size() (n int) {
  6388. if m == nil {
  6389. return 0
  6390. }
  6391. var l int
  6392. _ = l
  6393. if m.Echo != nil {
  6394. l = m.Echo.Size()
  6395. n += 1 + l + sovAbci(uint64(l))
  6396. }
  6397. return n
  6398. }
  6399. func (m *Response_Flush) Size() (n int) {
  6400. if m == nil {
  6401. return 0
  6402. }
  6403. var l int
  6404. _ = l
  6405. if m.Flush != nil {
  6406. l = m.Flush.Size()
  6407. n += 1 + l + sovAbci(uint64(l))
  6408. }
  6409. return n
  6410. }
  6411. func (m *Response_Info) Size() (n int) {
  6412. if m == nil {
  6413. return 0
  6414. }
  6415. var l int
  6416. _ = l
  6417. if m.Info != nil {
  6418. l = m.Info.Size()
  6419. n += 1 + l + sovAbci(uint64(l))
  6420. }
  6421. return n
  6422. }
  6423. func (m *Response_SetOption) Size() (n int) {
  6424. if m == nil {
  6425. return 0
  6426. }
  6427. var l int
  6428. _ = l
  6429. if m.SetOption != nil {
  6430. l = m.SetOption.Size()
  6431. n += 1 + l + sovAbci(uint64(l))
  6432. }
  6433. return n
  6434. }
  6435. func (m *Response_InitChain) Size() (n int) {
  6436. if m == nil {
  6437. return 0
  6438. }
  6439. var l int
  6440. _ = l
  6441. if m.InitChain != nil {
  6442. l = m.InitChain.Size()
  6443. n += 1 + l + sovAbci(uint64(l))
  6444. }
  6445. return n
  6446. }
  6447. func (m *Response_Query) Size() (n int) {
  6448. if m == nil {
  6449. return 0
  6450. }
  6451. var l int
  6452. _ = l
  6453. if m.Query != nil {
  6454. l = m.Query.Size()
  6455. n += 1 + l + sovAbci(uint64(l))
  6456. }
  6457. return n
  6458. }
  6459. func (m *Response_BeginBlock) Size() (n int) {
  6460. if m == nil {
  6461. return 0
  6462. }
  6463. var l int
  6464. _ = l
  6465. if m.BeginBlock != nil {
  6466. l = m.BeginBlock.Size()
  6467. n += 1 + l + sovAbci(uint64(l))
  6468. }
  6469. return n
  6470. }
  6471. func (m *Response_CheckTx) Size() (n int) {
  6472. if m == nil {
  6473. return 0
  6474. }
  6475. var l int
  6476. _ = l
  6477. if m.CheckTx != nil {
  6478. l = m.CheckTx.Size()
  6479. n += 1 + l + sovAbci(uint64(l))
  6480. }
  6481. return n
  6482. }
  6483. func (m *Response_DeliverTx) Size() (n int) {
  6484. if m == nil {
  6485. return 0
  6486. }
  6487. var l int
  6488. _ = l
  6489. if m.DeliverTx != nil {
  6490. l = m.DeliverTx.Size()
  6491. n += 1 + l + sovAbci(uint64(l))
  6492. }
  6493. return n
  6494. }
  6495. func (m *Response_EndBlock) Size() (n int) {
  6496. if m == nil {
  6497. return 0
  6498. }
  6499. var l int
  6500. _ = l
  6501. if m.EndBlock != nil {
  6502. l = m.EndBlock.Size()
  6503. n += 1 + l + sovAbci(uint64(l))
  6504. }
  6505. return n
  6506. }
  6507. func (m *Response_Commit) Size() (n int) {
  6508. if m == nil {
  6509. return 0
  6510. }
  6511. var l int
  6512. _ = l
  6513. if m.Commit != nil {
  6514. l = m.Commit.Size()
  6515. n += 1 + l + sovAbci(uint64(l))
  6516. }
  6517. return n
  6518. }
  6519. func (m *Response_ListSnapshots) Size() (n int) {
  6520. if m == nil {
  6521. return 0
  6522. }
  6523. var l int
  6524. _ = l
  6525. if m.ListSnapshots != nil {
  6526. l = m.ListSnapshots.Size()
  6527. n += 1 + l + sovAbci(uint64(l))
  6528. }
  6529. return n
  6530. }
  6531. func (m *Response_OfferSnapshot) Size() (n int) {
  6532. if m == nil {
  6533. return 0
  6534. }
  6535. var l int
  6536. _ = l
  6537. if m.OfferSnapshot != nil {
  6538. l = m.OfferSnapshot.Size()
  6539. n += 1 + l + sovAbci(uint64(l))
  6540. }
  6541. return n
  6542. }
  6543. func (m *Response_LoadSnapshotChunk) Size() (n int) {
  6544. if m == nil {
  6545. return 0
  6546. }
  6547. var l int
  6548. _ = l
  6549. if m.LoadSnapshotChunk != nil {
  6550. l = m.LoadSnapshotChunk.Size()
  6551. n += 1 + l + sovAbci(uint64(l))
  6552. }
  6553. return n
  6554. }
  6555. func (m *Response_ApplySnapshotChunk) Size() (n int) {
  6556. if m == nil {
  6557. return 0
  6558. }
  6559. var l int
  6560. _ = l
  6561. if m.ApplySnapshotChunk != nil {
  6562. l = m.ApplySnapshotChunk.Size()
  6563. n += 2 + l + sovAbci(uint64(l))
  6564. }
  6565. return n
  6566. }
  6567. func (m *ResponseException) Size() (n int) {
  6568. if m == nil {
  6569. return 0
  6570. }
  6571. var l int
  6572. _ = l
  6573. l = len(m.Error)
  6574. if l > 0 {
  6575. n += 1 + l + sovAbci(uint64(l))
  6576. }
  6577. return n
  6578. }
  6579. func (m *ResponseEcho) Size() (n int) {
  6580. if m == nil {
  6581. return 0
  6582. }
  6583. var l int
  6584. _ = l
  6585. l = len(m.Message)
  6586. if l > 0 {
  6587. n += 1 + l + sovAbci(uint64(l))
  6588. }
  6589. return n
  6590. }
  6591. func (m *ResponseFlush) Size() (n int) {
  6592. if m == nil {
  6593. return 0
  6594. }
  6595. var l int
  6596. _ = l
  6597. return n
  6598. }
  6599. func (m *ResponseInfo) 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 + sovAbci(uint64(l))
  6608. }
  6609. l = len(m.Version)
  6610. if l > 0 {
  6611. n += 1 + l + sovAbci(uint64(l))
  6612. }
  6613. if m.AppVersion != 0 {
  6614. n += 1 + sovAbci(uint64(m.AppVersion))
  6615. }
  6616. if m.LastBlockHeight != 0 {
  6617. n += 1 + sovAbci(uint64(m.LastBlockHeight))
  6618. }
  6619. l = len(m.LastBlockAppHash)
  6620. if l > 0 {
  6621. n += 1 + l + sovAbci(uint64(l))
  6622. }
  6623. return n
  6624. }
  6625. func (m *ResponseSetOption) Size() (n int) {
  6626. if m == nil {
  6627. return 0
  6628. }
  6629. var l int
  6630. _ = l
  6631. if m.Code != 0 {
  6632. n += 1 + sovAbci(uint64(m.Code))
  6633. }
  6634. l = len(m.Log)
  6635. if l > 0 {
  6636. n += 1 + l + sovAbci(uint64(l))
  6637. }
  6638. l = len(m.Info)
  6639. if l > 0 {
  6640. n += 1 + l + sovAbci(uint64(l))
  6641. }
  6642. return n
  6643. }
  6644. func (m *ResponseInitChain) Size() (n int) {
  6645. if m == nil {
  6646. return 0
  6647. }
  6648. var l int
  6649. _ = l
  6650. if m.ConsensusParams != nil {
  6651. l = m.ConsensusParams.Size()
  6652. n += 1 + l + sovAbci(uint64(l))
  6653. }
  6654. if len(m.Validators) > 0 {
  6655. for _, e := range m.Validators {
  6656. l = e.Size()
  6657. n += 1 + l + sovAbci(uint64(l))
  6658. }
  6659. }
  6660. return n
  6661. }
  6662. func (m *ResponseQuery) Size() (n int) {
  6663. if m == nil {
  6664. return 0
  6665. }
  6666. var l int
  6667. _ = l
  6668. if m.Code != 0 {
  6669. n += 1 + sovAbci(uint64(m.Code))
  6670. }
  6671. l = len(m.Log)
  6672. if l > 0 {
  6673. n += 1 + l + sovAbci(uint64(l))
  6674. }
  6675. l = len(m.Info)
  6676. if l > 0 {
  6677. n += 1 + l + sovAbci(uint64(l))
  6678. }
  6679. if m.Index != 0 {
  6680. n += 1 + sovAbci(uint64(m.Index))
  6681. }
  6682. l = len(m.Key)
  6683. if l > 0 {
  6684. n += 1 + l + sovAbci(uint64(l))
  6685. }
  6686. l = len(m.Value)
  6687. if l > 0 {
  6688. n += 1 + l + sovAbci(uint64(l))
  6689. }
  6690. if m.ProofOps != nil {
  6691. l = m.ProofOps.Size()
  6692. n += 1 + l + sovAbci(uint64(l))
  6693. }
  6694. if m.Height != 0 {
  6695. n += 1 + sovAbci(uint64(m.Height))
  6696. }
  6697. l = len(m.Codespace)
  6698. if l > 0 {
  6699. n += 1 + l + sovAbci(uint64(l))
  6700. }
  6701. return n
  6702. }
  6703. func (m *ResponseBeginBlock) Size() (n int) {
  6704. if m == nil {
  6705. return 0
  6706. }
  6707. var l int
  6708. _ = l
  6709. if len(m.Events) > 0 {
  6710. for _, e := range m.Events {
  6711. l = e.Size()
  6712. n += 1 + l + sovAbci(uint64(l))
  6713. }
  6714. }
  6715. return n
  6716. }
  6717. func (m *ResponseCheckTx) Size() (n int) {
  6718. if m == nil {
  6719. return 0
  6720. }
  6721. var l int
  6722. _ = l
  6723. if m.Code != 0 {
  6724. n += 1 + sovAbci(uint64(m.Code))
  6725. }
  6726. l = len(m.Data)
  6727. if l > 0 {
  6728. n += 1 + l + sovAbci(uint64(l))
  6729. }
  6730. l = len(m.Log)
  6731. if l > 0 {
  6732. n += 1 + l + sovAbci(uint64(l))
  6733. }
  6734. l = len(m.Info)
  6735. if l > 0 {
  6736. n += 1 + l + sovAbci(uint64(l))
  6737. }
  6738. if m.GasWanted != 0 {
  6739. n += 1 + sovAbci(uint64(m.GasWanted))
  6740. }
  6741. if m.GasUsed != 0 {
  6742. n += 1 + sovAbci(uint64(m.GasUsed))
  6743. }
  6744. if len(m.Events) > 0 {
  6745. for _, e := range m.Events {
  6746. l = e.Size()
  6747. n += 1 + l + sovAbci(uint64(l))
  6748. }
  6749. }
  6750. l = len(m.Codespace)
  6751. if l > 0 {
  6752. n += 1 + l + sovAbci(uint64(l))
  6753. }
  6754. return n
  6755. }
  6756. func (m *ResponseDeliverTx) Size() (n int) {
  6757. if m == nil {
  6758. return 0
  6759. }
  6760. var l int
  6761. _ = l
  6762. if m.Code != 0 {
  6763. n += 1 + sovAbci(uint64(m.Code))
  6764. }
  6765. l = len(m.Data)
  6766. if l > 0 {
  6767. n += 1 + l + sovAbci(uint64(l))
  6768. }
  6769. l = len(m.Log)
  6770. if l > 0 {
  6771. n += 1 + l + sovAbci(uint64(l))
  6772. }
  6773. l = len(m.Info)
  6774. if l > 0 {
  6775. n += 1 + l + sovAbci(uint64(l))
  6776. }
  6777. if m.GasWanted != 0 {
  6778. n += 1 + sovAbci(uint64(m.GasWanted))
  6779. }
  6780. if m.GasUsed != 0 {
  6781. n += 1 + sovAbci(uint64(m.GasUsed))
  6782. }
  6783. if len(m.Events) > 0 {
  6784. for _, e := range m.Events {
  6785. l = e.Size()
  6786. n += 1 + l + sovAbci(uint64(l))
  6787. }
  6788. }
  6789. l = len(m.Codespace)
  6790. if l > 0 {
  6791. n += 1 + l + sovAbci(uint64(l))
  6792. }
  6793. return n
  6794. }
  6795. func (m *ResponseEndBlock) Size() (n int) {
  6796. if m == nil {
  6797. return 0
  6798. }
  6799. var l int
  6800. _ = l
  6801. if len(m.ValidatorUpdates) > 0 {
  6802. for _, e := range m.ValidatorUpdates {
  6803. l = e.Size()
  6804. n += 1 + l + sovAbci(uint64(l))
  6805. }
  6806. }
  6807. if m.ConsensusParamUpdates != nil {
  6808. l = m.ConsensusParamUpdates.Size()
  6809. n += 1 + l + sovAbci(uint64(l))
  6810. }
  6811. if len(m.Events) > 0 {
  6812. for _, e := range m.Events {
  6813. l = e.Size()
  6814. n += 1 + l + sovAbci(uint64(l))
  6815. }
  6816. }
  6817. return n
  6818. }
  6819. func (m *ResponseCommit) Size() (n int) {
  6820. if m == nil {
  6821. return 0
  6822. }
  6823. var l int
  6824. _ = l
  6825. l = len(m.Data)
  6826. if l > 0 {
  6827. n += 1 + l + sovAbci(uint64(l))
  6828. }
  6829. if m.RetainHeight != 0 {
  6830. n += 1 + sovAbci(uint64(m.RetainHeight))
  6831. }
  6832. return n
  6833. }
  6834. func (m *ResponseListSnapshots) Size() (n int) {
  6835. if m == nil {
  6836. return 0
  6837. }
  6838. var l int
  6839. _ = l
  6840. if len(m.Snapshots) > 0 {
  6841. for _, e := range m.Snapshots {
  6842. l = e.Size()
  6843. n += 1 + l + sovAbci(uint64(l))
  6844. }
  6845. }
  6846. return n
  6847. }
  6848. func (m *ResponseOfferSnapshot) Size() (n int) {
  6849. if m == nil {
  6850. return 0
  6851. }
  6852. var l int
  6853. _ = l
  6854. if m.Result != 0 {
  6855. n += 1 + sovAbci(uint64(m.Result))
  6856. }
  6857. return n
  6858. }
  6859. func (m *ResponseLoadSnapshotChunk) Size() (n int) {
  6860. if m == nil {
  6861. return 0
  6862. }
  6863. var l int
  6864. _ = l
  6865. l = len(m.Chunk)
  6866. if l > 0 {
  6867. n += 1 + l + sovAbci(uint64(l))
  6868. }
  6869. return n
  6870. }
  6871. func (m *ResponseApplySnapshotChunk) Size() (n int) {
  6872. if m == nil {
  6873. return 0
  6874. }
  6875. var l int
  6876. _ = l
  6877. if m.Result != 0 {
  6878. n += 1 + sovAbci(uint64(m.Result))
  6879. }
  6880. if len(m.RefetchChunks) > 0 {
  6881. l = 0
  6882. for _, e := range m.RefetchChunks {
  6883. l += sovAbci(uint64(e))
  6884. }
  6885. n += 1 + sovAbci(uint64(l)) + l
  6886. }
  6887. if len(m.RejectSenders) > 0 {
  6888. for _, s := range m.RejectSenders {
  6889. l = len(s)
  6890. n += 1 + l + sovAbci(uint64(l))
  6891. }
  6892. }
  6893. return n
  6894. }
  6895. func (m *ConsensusParams) Size() (n int) {
  6896. if m == nil {
  6897. return 0
  6898. }
  6899. var l int
  6900. _ = l
  6901. if m.Block != nil {
  6902. l = m.Block.Size()
  6903. n += 1 + l + sovAbci(uint64(l))
  6904. }
  6905. if m.Evidence != nil {
  6906. l = m.Evidence.Size()
  6907. n += 1 + l + sovAbci(uint64(l))
  6908. }
  6909. if m.Validator != nil {
  6910. l = m.Validator.Size()
  6911. n += 1 + l + sovAbci(uint64(l))
  6912. }
  6913. return n
  6914. }
  6915. func (m *BlockParams) Size() (n int) {
  6916. if m == nil {
  6917. return 0
  6918. }
  6919. var l int
  6920. _ = l
  6921. if m.MaxBytes != 0 {
  6922. n += 1 + sovAbci(uint64(m.MaxBytes))
  6923. }
  6924. if m.MaxGas != 0 {
  6925. n += 1 + sovAbci(uint64(m.MaxGas))
  6926. }
  6927. return n
  6928. }
  6929. func (m *LastCommitInfo) Size() (n int) {
  6930. if m == nil {
  6931. return 0
  6932. }
  6933. var l int
  6934. _ = l
  6935. if m.Round != 0 {
  6936. n += 1 + sovAbci(uint64(m.Round))
  6937. }
  6938. if len(m.Votes) > 0 {
  6939. for _, e := range m.Votes {
  6940. l = e.Size()
  6941. n += 1 + l + sovAbci(uint64(l))
  6942. }
  6943. }
  6944. return n
  6945. }
  6946. func (m *EventAttribute) Size() (n int) {
  6947. if m == nil {
  6948. return 0
  6949. }
  6950. var l int
  6951. _ = l
  6952. l = len(m.Key)
  6953. if l > 0 {
  6954. n += 1 + l + sovAbci(uint64(l))
  6955. }
  6956. l = len(m.Value)
  6957. if l > 0 {
  6958. n += 1 + l + sovAbci(uint64(l))
  6959. }
  6960. if m.Index {
  6961. n += 2
  6962. }
  6963. return n
  6964. }
  6965. func (m *Event) Size() (n int) {
  6966. if m == nil {
  6967. return 0
  6968. }
  6969. var l int
  6970. _ = l
  6971. l = len(m.Type)
  6972. if l > 0 {
  6973. n += 1 + l + sovAbci(uint64(l))
  6974. }
  6975. if len(m.Attributes) > 0 {
  6976. for _, e := range m.Attributes {
  6977. l = e.Size()
  6978. n += 1 + l + sovAbci(uint64(l))
  6979. }
  6980. }
  6981. return n
  6982. }
  6983. func (m *TxResult) Size() (n int) {
  6984. if m == nil {
  6985. return 0
  6986. }
  6987. var l int
  6988. _ = l
  6989. if m.Height != 0 {
  6990. n += 1 + sovAbci(uint64(m.Height))
  6991. }
  6992. if m.Index != 0 {
  6993. n += 1 + sovAbci(uint64(m.Index))
  6994. }
  6995. l = len(m.Tx)
  6996. if l > 0 {
  6997. n += 1 + l + sovAbci(uint64(l))
  6998. }
  6999. l = m.Result.Size()
  7000. n += 1 + l + sovAbci(uint64(l))
  7001. return n
  7002. }
  7003. func (m *Validator) Size() (n int) {
  7004. if m == nil {
  7005. return 0
  7006. }
  7007. var l int
  7008. _ = l
  7009. l = len(m.Address)
  7010. if l > 0 {
  7011. n += 1 + l + sovAbci(uint64(l))
  7012. }
  7013. if m.Power != 0 {
  7014. n += 1 + sovAbci(uint64(m.Power))
  7015. }
  7016. return n
  7017. }
  7018. func (m *ValidatorUpdate) Size() (n int) {
  7019. if m == nil {
  7020. return 0
  7021. }
  7022. var l int
  7023. _ = l
  7024. l = m.PubKey.Size()
  7025. n += 1 + l + sovAbci(uint64(l))
  7026. if m.Power != 0 {
  7027. n += 1 + sovAbci(uint64(m.Power))
  7028. }
  7029. return n
  7030. }
  7031. func (m *VoteInfo) Size() (n int) {
  7032. if m == nil {
  7033. return 0
  7034. }
  7035. var l int
  7036. _ = l
  7037. l = m.Validator.Size()
  7038. n += 1 + l + sovAbci(uint64(l))
  7039. if m.SignedLastBlock {
  7040. n += 2
  7041. }
  7042. return n
  7043. }
  7044. func (m *Evidence) Size() (n int) {
  7045. if m == nil {
  7046. return 0
  7047. }
  7048. var l int
  7049. _ = l
  7050. l = len(m.Type)
  7051. if l > 0 {
  7052. n += 1 + l + sovAbci(uint64(l))
  7053. }
  7054. l = m.Validator.Size()
  7055. n += 1 + l + sovAbci(uint64(l))
  7056. if m.Height != 0 {
  7057. n += 1 + sovAbci(uint64(m.Height))
  7058. }
  7059. l = github_com_gogo_protobuf_types.SizeOfStdTime(m.Time)
  7060. n += 1 + l + sovAbci(uint64(l))
  7061. if m.TotalVotingPower != 0 {
  7062. n += 1 + sovAbci(uint64(m.TotalVotingPower))
  7063. }
  7064. return n
  7065. }
  7066. func (m *Snapshot) Size() (n int) {
  7067. if m == nil {
  7068. return 0
  7069. }
  7070. var l int
  7071. _ = l
  7072. if m.Height != 0 {
  7073. n += 1 + sovAbci(uint64(m.Height))
  7074. }
  7075. if m.Format != 0 {
  7076. n += 1 + sovAbci(uint64(m.Format))
  7077. }
  7078. if m.Chunks != 0 {
  7079. n += 1 + sovAbci(uint64(m.Chunks))
  7080. }
  7081. l = len(m.Hash)
  7082. if l > 0 {
  7083. n += 1 + l + sovAbci(uint64(l))
  7084. }
  7085. l = len(m.Metadata)
  7086. if l > 0 {
  7087. n += 1 + l + sovAbci(uint64(l))
  7088. }
  7089. return n
  7090. }
  7091. func sovAbci(x uint64) (n int) {
  7092. return (math_bits.Len64(x|1) + 6) / 7
  7093. }
  7094. func sozAbci(x uint64) (n int) {
  7095. return sovAbci(uint64((x << 1) ^ uint64((int64(x) >> 63))))
  7096. }
  7097. func (m *Request) Unmarshal(dAtA []byte) error {
  7098. l := len(dAtA)
  7099. iNdEx := 0
  7100. for iNdEx < l {
  7101. preIndex := iNdEx
  7102. var wire uint64
  7103. for shift := uint(0); ; shift += 7 {
  7104. if shift >= 64 {
  7105. return ErrIntOverflowAbci
  7106. }
  7107. if iNdEx >= l {
  7108. return io.ErrUnexpectedEOF
  7109. }
  7110. b := dAtA[iNdEx]
  7111. iNdEx++
  7112. wire |= uint64(b&0x7F) << shift
  7113. if b < 0x80 {
  7114. break
  7115. }
  7116. }
  7117. fieldNum := int32(wire >> 3)
  7118. wireType := int(wire & 0x7)
  7119. if wireType == 4 {
  7120. return fmt.Errorf("proto: Request: wiretype end group for non-group")
  7121. }
  7122. if fieldNum <= 0 {
  7123. return fmt.Errorf("proto: Request: illegal tag %d (wire type %d)", fieldNum, wire)
  7124. }
  7125. switch fieldNum {
  7126. case 2:
  7127. if wireType != 2 {
  7128. return fmt.Errorf("proto: wrong wireType = %d for field Echo", wireType)
  7129. }
  7130. var msglen int
  7131. for shift := uint(0); ; shift += 7 {
  7132. if shift >= 64 {
  7133. return ErrIntOverflowAbci
  7134. }
  7135. if iNdEx >= l {
  7136. return io.ErrUnexpectedEOF
  7137. }
  7138. b := dAtA[iNdEx]
  7139. iNdEx++
  7140. msglen |= int(b&0x7F) << shift
  7141. if b < 0x80 {
  7142. break
  7143. }
  7144. }
  7145. if msglen < 0 {
  7146. return ErrInvalidLengthAbci
  7147. }
  7148. postIndex := iNdEx + msglen
  7149. if postIndex < 0 {
  7150. return ErrInvalidLengthAbci
  7151. }
  7152. if postIndex > l {
  7153. return io.ErrUnexpectedEOF
  7154. }
  7155. v := &RequestEcho{}
  7156. if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  7157. return err
  7158. }
  7159. m.Value = &Request_Echo{v}
  7160. iNdEx = postIndex
  7161. case 3:
  7162. if wireType != 2 {
  7163. return fmt.Errorf("proto: wrong wireType = %d for field Flush", wireType)
  7164. }
  7165. var msglen int
  7166. for shift := uint(0); ; shift += 7 {
  7167. if shift >= 64 {
  7168. return ErrIntOverflowAbci
  7169. }
  7170. if iNdEx >= l {
  7171. return io.ErrUnexpectedEOF
  7172. }
  7173. b := dAtA[iNdEx]
  7174. iNdEx++
  7175. msglen |= int(b&0x7F) << shift
  7176. if b < 0x80 {
  7177. break
  7178. }
  7179. }
  7180. if msglen < 0 {
  7181. return ErrInvalidLengthAbci
  7182. }
  7183. postIndex := iNdEx + msglen
  7184. if postIndex < 0 {
  7185. return ErrInvalidLengthAbci
  7186. }
  7187. if postIndex > l {
  7188. return io.ErrUnexpectedEOF
  7189. }
  7190. v := &RequestFlush{}
  7191. if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  7192. return err
  7193. }
  7194. m.Value = &Request_Flush{v}
  7195. iNdEx = postIndex
  7196. case 4:
  7197. if wireType != 2 {
  7198. return fmt.Errorf("proto: wrong wireType = %d for field Info", wireType)
  7199. }
  7200. var msglen int
  7201. for shift := uint(0); ; shift += 7 {
  7202. if shift >= 64 {
  7203. return ErrIntOverflowAbci
  7204. }
  7205. if iNdEx >= l {
  7206. return io.ErrUnexpectedEOF
  7207. }
  7208. b := dAtA[iNdEx]
  7209. iNdEx++
  7210. msglen |= int(b&0x7F) << shift
  7211. if b < 0x80 {
  7212. break
  7213. }
  7214. }
  7215. if msglen < 0 {
  7216. return ErrInvalidLengthAbci
  7217. }
  7218. postIndex := iNdEx + msglen
  7219. if postIndex < 0 {
  7220. return ErrInvalidLengthAbci
  7221. }
  7222. if postIndex > l {
  7223. return io.ErrUnexpectedEOF
  7224. }
  7225. v := &RequestInfo{}
  7226. if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  7227. return err
  7228. }
  7229. m.Value = &Request_Info{v}
  7230. iNdEx = postIndex
  7231. case 5:
  7232. if wireType != 2 {
  7233. return fmt.Errorf("proto: wrong wireType = %d for field SetOption", wireType)
  7234. }
  7235. var msglen int
  7236. for shift := uint(0); ; shift += 7 {
  7237. if shift >= 64 {
  7238. return ErrIntOverflowAbci
  7239. }
  7240. if iNdEx >= l {
  7241. return io.ErrUnexpectedEOF
  7242. }
  7243. b := dAtA[iNdEx]
  7244. iNdEx++
  7245. msglen |= int(b&0x7F) << shift
  7246. if b < 0x80 {
  7247. break
  7248. }
  7249. }
  7250. if msglen < 0 {
  7251. return ErrInvalidLengthAbci
  7252. }
  7253. postIndex := iNdEx + msglen
  7254. if postIndex < 0 {
  7255. return ErrInvalidLengthAbci
  7256. }
  7257. if postIndex > l {
  7258. return io.ErrUnexpectedEOF
  7259. }
  7260. v := &RequestSetOption{}
  7261. if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  7262. return err
  7263. }
  7264. m.Value = &Request_SetOption{v}
  7265. iNdEx = postIndex
  7266. case 6:
  7267. if wireType != 2 {
  7268. return fmt.Errorf("proto: wrong wireType = %d for field InitChain", wireType)
  7269. }
  7270. var msglen int
  7271. for shift := uint(0); ; shift += 7 {
  7272. if shift >= 64 {
  7273. return ErrIntOverflowAbci
  7274. }
  7275. if iNdEx >= l {
  7276. return io.ErrUnexpectedEOF
  7277. }
  7278. b := dAtA[iNdEx]
  7279. iNdEx++
  7280. msglen |= int(b&0x7F) << shift
  7281. if b < 0x80 {
  7282. break
  7283. }
  7284. }
  7285. if msglen < 0 {
  7286. return ErrInvalidLengthAbci
  7287. }
  7288. postIndex := iNdEx + msglen
  7289. if postIndex < 0 {
  7290. return ErrInvalidLengthAbci
  7291. }
  7292. if postIndex > l {
  7293. return io.ErrUnexpectedEOF
  7294. }
  7295. v := &RequestInitChain{}
  7296. if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  7297. return err
  7298. }
  7299. m.Value = &Request_InitChain{v}
  7300. iNdEx = postIndex
  7301. case 7:
  7302. if wireType != 2 {
  7303. return fmt.Errorf("proto: wrong wireType = %d for field Query", wireType)
  7304. }
  7305. var msglen int
  7306. for shift := uint(0); ; shift += 7 {
  7307. if shift >= 64 {
  7308. return ErrIntOverflowAbci
  7309. }
  7310. if iNdEx >= l {
  7311. return io.ErrUnexpectedEOF
  7312. }
  7313. b := dAtA[iNdEx]
  7314. iNdEx++
  7315. msglen |= int(b&0x7F) << shift
  7316. if b < 0x80 {
  7317. break
  7318. }
  7319. }
  7320. if msglen < 0 {
  7321. return ErrInvalidLengthAbci
  7322. }
  7323. postIndex := iNdEx + msglen
  7324. if postIndex < 0 {
  7325. return ErrInvalidLengthAbci
  7326. }
  7327. if postIndex > l {
  7328. return io.ErrUnexpectedEOF
  7329. }
  7330. v := &RequestQuery{}
  7331. if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  7332. return err
  7333. }
  7334. m.Value = &Request_Query{v}
  7335. iNdEx = postIndex
  7336. case 8:
  7337. if wireType != 2 {
  7338. return fmt.Errorf("proto: wrong wireType = %d for field BeginBlock", wireType)
  7339. }
  7340. var msglen int
  7341. for shift := uint(0); ; shift += 7 {
  7342. if shift >= 64 {
  7343. return ErrIntOverflowAbci
  7344. }
  7345. if iNdEx >= l {
  7346. return io.ErrUnexpectedEOF
  7347. }
  7348. b := dAtA[iNdEx]
  7349. iNdEx++
  7350. msglen |= int(b&0x7F) << shift
  7351. if b < 0x80 {
  7352. break
  7353. }
  7354. }
  7355. if msglen < 0 {
  7356. return ErrInvalidLengthAbci
  7357. }
  7358. postIndex := iNdEx + msglen
  7359. if postIndex < 0 {
  7360. return ErrInvalidLengthAbci
  7361. }
  7362. if postIndex > l {
  7363. return io.ErrUnexpectedEOF
  7364. }
  7365. v := &RequestBeginBlock{}
  7366. if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  7367. return err
  7368. }
  7369. m.Value = &Request_BeginBlock{v}
  7370. iNdEx = postIndex
  7371. case 9:
  7372. if wireType != 2 {
  7373. return fmt.Errorf("proto: wrong wireType = %d for field CheckTx", wireType)
  7374. }
  7375. var msglen int
  7376. for shift := uint(0); ; shift += 7 {
  7377. if shift >= 64 {
  7378. return ErrIntOverflowAbci
  7379. }
  7380. if iNdEx >= l {
  7381. return io.ErrUnexpectedEOF
  7382. }
  7383. b := dAtA[iNdEx]
  7384. iNdEx++
  7385. msglen |= int(b&0x7F) << shift
  7386. if b < 0x80 {
  7387. break
  7388. }
  7389. }
  7390. if msglen < 0 {
  7391. return ErrInvalidLengthAbci
  7392. }
  7393. postIndex := iNdEx + msglen
  7394. if postIndex < 0 {
  7395. return ErrInvalidLengthAbci
  7396. }
  7397. if postIndex > l {
  7398. return io.ErrUnexpectedEOF
  7399. }
  7400. v := &RequestCheckTx{}
  7401. if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  7402. return err
  7403. }
  7404. m.Value = &Request_CheckTx{v}
  7405. iNdEx = postIndex
  7406. case 11:
  7407. if wireType != 2 {
  7408. return fmt.Errorf("proto: wrong wireType = %d for field EndBlock", wireType)
  7409. }
  7410. var msglen int
  7411. for shift := uint(0); ; shift += 7 {
  7412. if shift >= 64 {
  7413. return ErrIntOverflowAbci
  7414. }
  7415. if iNdEx >= l {
  7416. return io.ErrUnexpectedEOF
  7417. }
  7418. b := dAtA[iNdEx]
  7419. iNdEx++
  7420. msglen |= int(b&0x7F) << shift
  7421. if b < 0x80 {
  7422. break
  7423. }
  7424. }
  7425. if msglen < 0 {
  7426. return ErrInvalidLengthAbci
  7427. }
  7428. postIndex := iNdEx + msglen
  7429. if postIndex < 0 {
  7430. return ErrInvalidLengthAbci
  7431. }
  7432. if postIndex > l {
  7433. return io.ErrUnexpectedEOF
  7434. }
  7435. v := &RequestEndBlock{}
  7436. if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  7437. return err
  7438. }
  7439. m.Value = &Request_EndBlock{v}
  7440. iNdEx = postIndex
  7441. case 12:
  7442. if wireType != 2 {
  7443. return fmt.Errorf("proto: wrong wireType = %d for field Commit", wireType)
  7444. }
  7445. var msglen int
  7446. for shift := uint(0); ; shift += 7 {
  7447. if shift >= 64 {
  7448. return ErrIntOverflowAbci
  7449. }
  7450. if iNdEx >= l {
  7451. return io.ErrUnexpectedEOF
  7452. }
  7453. b := dAtA[iNdEx]
  7454. iNdEx++
  7455. msglen |= int(b&0x7F) << shift
  7456. if b < 0x80 {
  7457. break
  7458. }
  7459. }
  7460. if msglen < 0 {
  7461. return ErrInvalidLengthAbci
  7462. }
  7463. postIndex := iNdEx + msglen
  7464. if postIndex < 0 {
  7465. return ErrInvalidLengthAbci
  7466. }
  7467. if postIndex > l {
  7468. return io.ErrUnexpectedEOF
  7469. }
  7470. v := &RequestCommit{}
  7471. if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  7472. return err
  7473. }
  7474. m.Value = &Request_Commit{v}
  7475. iNdEx = postIndex
  7476. case 13:
  7477. if wireType != 2 {
  7478. return fmt.Errorf("proto: wrong wireType = %d for field ListSnapshots", wireType)
  7479. }
  7480. var msglen int
  7481. for shift := uint(0); ; shift += 7 {
  7482. if shift >= 64 {
  7483. return ErrIntOverflowAbci
  7484. }
  7485. if iNdEx >= l {
  7486. return io.ErrUnexpectedEOF
  7487. }
  7488. b := dAtA[iNdEx]
  7489. iNdEx++
  7490. msglen |= int(b&0x7F) << shift
  7491. if b < 0x80 {
  7492. break
  7493. }
  7494. }
  7495. if msglen < 0 {
  7496. return ErrInvalidLengthAbci
  7497. }
  7498. postIndex := iNdEx + msglen
  7499. if postIndex < 0 {
  7500. return ErrInvalidLengthAbci
  7501. }
  7502. if postIndex > l {
  7503. return io.ErrUnexpectedEOF
  7504. }
  7505. v := &RequestListSnapshots{}
  7506. if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  7507. return err
  7508. }
  7509. m.Value = &Request_ListSnapshots{v}
  7510. iNdEx = postIndex
  7511. case 14:
  7512. if wireType != 2 {
  7513. return fmt.Errorf("proto: wrong wireType = %d for field OfferSnapshot", wireType)
  7514. }
  7515. var msglen int
  7516. for shift := uint(0); ; shift += 7 {
  7517. if shift >= 64 {
  7518. return ErrIntOverflowAbci
  7519. }
  7520. if iNdEx >= l {
  7521. return io.ErrUnexpectedEOF
  7522. }
  7523. b := dAtA[iNdEx]
  7524. iNdEx++
  7525. msglen |= int(b&0x7F) << shift
  7526. if b < 0x80 {
  7527. break
  7528. }
  7529. }
  7530. if msglen < 0 {
  7531. return ErrInvalidLengthAbci
  7532. }
  7533. postIndex := iNdEx + msglen
  7534. if postIndex < 0 {
  7535. return ErrInvalidLengthAbci
  7536. }
  7537. if postIndex > l {
  7538. return io.ErrUnexpectedEOF
  7539. }
  7540. v := &RequestOfferSnapshot{}
  7541. if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  7542. return err
  7543. }
  7544. m.Value = &Request_OfferSnapshot{v}
  7545. iNdEx = postIndex
  7546. case 15:
  7547. if wireType != 2 {
  7548. return fmt.Errorf("proto: wrong wireType = %d for field LoadSnapshotChunk", wireType)
  7549. }
  7550. var msglen int
  7551. for shift := uint(0); ; shift += 7 {
  7552. if shift >= 64 {
  7553. return ErrIntOverflowAbci
  7554. }
  7555. if iNdEx >= l {
  7556. return io.ErrUnexpectedEOF
  7557. }
  7558. b := dAtA[iNdEx]
  7559. iNdEx++
  7560. msglen |= int(b&0x7F) << shift
  7561. if b < 0x80 {
  7562. break
  7563. }
  7564. }
  7565. if msglen < 0 {
  7566. return ErrInvalidLengthAbci
  7567. }
  7568. postIndex := iNdEx + msglen
  7569. if postIndex < 0 {
  7570. return ErrInvalidLengthAbci
  7571. }
  7572. if postIndex > l {
  7573. return io.ErrUnexpectedEOF
  7574. }
  7575. v := &RequestLoadSnapshotChunk{}
  7576. if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  7577. return err
  7578. }
  7579. m.Value = &Request_LoadSnapshotChunk{v}
  7580. iNdEx = postIndex
  7581. case 16:
  7582. if wireType != 2 {
  7583. return fmt.Errorf("proto: wrong wireType = %d for field ApplySnapshotChunk", wireType)
  7584. }
  7585. var msglen int
  7586. for shift := uint(0); ; shift += 7 {
  7587. if shift >= 64 {
  7588. return ErrIntOverflowAbci
  7589. }
  7590. if iNdEx >= l {
  7591. return io.ErrUnexpectedEOF
  7592. }
  7593. b := dAtA[iNdEx]
  7594. iNdEx++
  7595. msglen |= int(b&0x7F) << shift
  7596. if b < 0x80 {
  7597. break
  7598. }
  7599. }
  7600. if msglen < 0 {
  7601. return ErrInvalidLengthAbci
  7602. }
  7603. postIndex := iNdEx + msglen
  7604. if postIndex < 0 {
  7605. return ErrInvalidLengthAbci
  7606. }
  7607. if postIndex > l {
  7608. return io.ErrUnexpectedEOF
  7609. }
  7610. v := &RequestApplySnapshotChunk{}
  7611. if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  7612. return err
  7613. }
  7614. m.Value = &Request_ApplySnapshotChunk{v}
  7615. iNdEx = postIndex
  7616. case 19:
  7617. if wireType != 2 {
  7618. return fmt.Errorf("proto: wrong wireType = %d for field DeliverTx", wireType)
  7619. }
  7620. var msglen int
  7621. for shift := uint(0); ; shift += 7 {
  7622. if shift >= 64 {
  7623. return ErrIntOverflowAbci
  7624. }
  7625. if iNdEx >= l {
  7626. return io.ErrUnexpectedEOF
  7627. }
  7628. b := dAtA[iNdEx]
  7629. iNdEx++
  7630. msglen |= int(b&0x7F) << shift
  7631. if b < 0x80 {
  7632. break
  7633. }
  7634. }
  7635. if msglen < 0 {
  7636. return ErrInvalidLengthAbci
  7637. }
  7638. postIndex := iNdEx + msglen
  7639. if postIndex < 0 {
  7640. return ErrInvalidLengthAbci
  7641. }
  7642. if postIndex > l {
  7643. return io.ErrUnexpectedEOF
  7644. }
  7645. v := &RequestDeliverTx{}
  7646. if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  7647. return err
  7648. }
  7649. m.Value = &Request_DeliverTx{v}
  7650. iNdEx = postIndex
  7651. default:
  7652. iNdEx = preIndex
  7653. skippy, err := skipAbci(dAtA[iNdEx:])
  7654. if err != nil {
  7655. return err
  7656. }
  7657. if skippy < 0 {
  7658. return ErrInvalidLengthAbci
  7659. }
  7660. if (iNdEx + skippy) < 0 {
  7661. return ErrInvalidLengthAbci
  7662. }
  7663. if (iNdEx + skippy) > l {
  7664. return io.ErrUnexpectedEOF
  7665. }
  7666. iNdEx += skippy
  7667. }
  7668. }
  7669. if iNdEx > l {
  7670. return io.ErrUnexpectedEOF
  7671. }
  7672. return nil
  7673. }
  7674. func (m *RequestEcho) Unmarshal(dAtA []byte) error {
  7675. l := len(dAtA)
  7676. iNdEx := 0
  7677. for iNdEx < l {
  7678. preIndex := iNdEx
  7679. var wire uint64
  7680. for shift := uint(0); ; shift += 7 {
  7681. if shift >= 64 {
  7682. return ErrIntOverflowAbci
  7683. }
  7684. if iNdEx >= l {
  7685. return io.ErrUnexpectedEOF
  7686. }
  7687. b := dAtA[iNdEx]
  7688. iNdEx++
  7689. wire |= uint64(b&0x7F) << shift
  7690. if b < 0x80 {
  7691. break
  7692. }
  7693. }
  7694. fieldNum := int32(wire >> 3)
  7695. wireType := int(wire & 0x7)
  7696. if wireType == 4 {
  7697. return fmt.Errorf("proto: RequestEcho: wiretype end group for non-group")
  7698. }
  7699. if fieldNum <= 0 {
  7700. return fmt.Errorf("proto: RequestEcho: illegal tag %d (wire type %d)", fieldNum, wire)
  7701. }
  7702. switch fieldNum {
  7703. case 1:
  7704. if wireType != 2 {
  7705. return fmt.Errorf("proto: wrong wireType = %d for field Message", wireType)
  7706. }
  7707. var stringLen uint64
  7708. for shift := uint(0); ; shift += 7 {
  7709. if shift >= 64 {
  7710. return ErrIntOverflowAbci
  7711. }
  7712. if iNdEx >= l {
  7713. return io.ErrUnexpectedEOF
  7714. }
  7715. b := dAtA[iNdEx]
  7716. iNdEx++
  7717. stringLen |= uint64(b&0x7F) << shift
  7718. if b < 0x80 {
  7719. break
  7720. }
  7721. }
  7722. intStringLen := int(stringLen)
  7723. if intStringLen < 0 {
  7724. return ErrInvalidLengthAbci
  7725. }
  7726. postIndex := iNdEx + intStringLen
  7727. if postIndex < 0 {
  7728. return ErrInvalidLengthAbci
  7729. }
  7730. if postIndex > l {
  7731. return io.ErrUnexpectedEOF
  7732. }
  7733. m.Message = string(dAtA[iNdEx:postIndex])
  7734. iNdEx = postIndex
  7735. default:
  7736. iNdEx = preIndex
  7737. skippy, err := skipAbci(dAtA[iNdEx:])
  7738. if err != nil {
  7739. return err
  7740. }
  7741. if skippy < 0 {
  7742. return ErrInvalidLengthAbci
  7743. }
  7744. if (iNdEx + skippy) < 0 {
  7745. return ErrInvalidLengthAbci
  7746. }
  7747. if (iNdEx + skippy) > l {
  7748. return io.ErrUnexpectedEOF
  7749. }
  7750. iNdEx += skippy
  7751. }
  7752. }
  7753. if iNdEx > l {
  7754. return io.ErrUnexpectedEOF
  7755. }
  7756. return nil
  7757. }
  7758. func (m *RequestFlush) Unmarshal(dAtA []byte) error {
  7759. l := len(dAtA)
  7760. iNdEx := 0
  7761. for iNdEx < l {
  7762. preIndex := iNdEx
  7763. var wire uint64
  7764. for shift := uint(0); ; shift += 7 {
  7765. if shift >= 64 {
  7766. return ErrIntOverflowAbci
  7767. }
  7768. if iNdEx >= l {
  7769. return io.ErrUnexpectedEOF
  7770. }
  7771. b := dAtA[iNdEx]
  7772. iNdEx++
  7773. wire |= uint64(b&0x7F) << shift
  7774. if b < 0x80 {
  7775. break
  7776. }
  7777. }
  7778. fieldNum := int32(wire >> 3)
  7779. wireType := int(wire & 0x7)
  7780. if wireType == 4 {
  7781. return fmt.Errorf("proto: RequestFlush: wiretype end group for non-group")
  7782. }
  7783. if fieldNum <= 0 {
  7784. return fmt.Errorf("proto: RequestFlush: illegal tag %d (wire type %d)", fieldNum, wire)
  7785. }
  7786. switch fieldNum {
  7787. default:
  7788. iNdEx = preIndex
  7789. skippy, err := skipAbci(dAtA[iNdEx:])
  7790. if err != nil {
  7791. return err
  7792. }
  7793. if skippy < 0 {
  7794. return ErrInvalidLengthAbci
  7795. }
  7796. if (iNdEx + skippy) < 0 {
  7797. return ErrInvalidLengthAbci
  7798. }
  7799. if (iNdEx + skippy) > l {
  7800. return io.ErrUnexpectedEOF
  7801. }
  7802. iNdEx += skippy
  7803. }
  7804. }
  7805. if iNdEx > l {
  7806. return io.ErrUnexpectedEOF
  7807. }
  7808. return nil
  7809. }
  7810. func (m *RequestInfo) Unmarshal(dAtA []byte) error {
  7811. l := len(dAtA)
  7812. iNdEx := 0
  7813. for iNdEx < l {
  7814. preIndex := iNdEx
  7815. var wire uint64
  7816. for shift := uint(0); ; shift += 7 {
  7817. if shift >= 64 {
  7818. return ErrIntOverflowAbci
  7819. }
  7820. if iNdEx >= l {
  7821. return io.ErrUnexpectedEOF
  7822. }
  7823. b := dAtA[iNdEx]
  7824. iNdEx++
  7825. wire |= uint64(b&0x7F) << shift
  7826. if b < 0x80 {
  7827. break
  7828. }
  7829. }
  7830. fieldNum := int32(wire >> 3)
  7831. wireType := int(wire & 0x7)
  7832. if wireType == 4 {
  7833. return fmt.Errorf("proto: RequestInfo: wiretype end group for non-group")
  7834. }
  7835. if fieldNum <= 0 {
  7836. return fmt.Errorf("proto: RequestInfo: illegal tag %d (wire type %d)", fieldNum, wire)
  7837. }
  7838. switch fieldNum {
  7839. case 1:
  7840. if wireType != 2 {
  7841. return fmt.Errorf("proto: wrong wireType = %d for field Version", wireType)
  7842. }
  7843. var stringLen uint64
  7844. for shift := uint(0); ; shift += 7 {
  7845. if shift >= 64 {
  7846. return ErrIntOverflowAbci
  7847. }
  7848. if iNdEx >= l {
  7849. return io.ErrUnexpectedEOF
  7850. }
  7851. b := dAtA[iNdEx]
  7852. iNdEx++
  7853. stringLen |= uint64(b&0x7F) << shift
  7854. if b < 0x80 {
  7855. break
  7856. }
  7857. }
  7858. intStringLen := int(stringLen)
  7859. if intStringLen < 0 {
  7860. return ErrInvalidLengthAbci
  7861. }
  7862. postIndex := iNdEx + intStringLen
  7863. if postIndex < 0 {
  7864. return ErrInvalidLengthAbci
  7865. }
  7866. if postIndex > l {
  7867. return io.ErrUnexpectedEOF
  7868. }
  7869. m.Version = string(dAtA[iNdEx:postIndex])
  7870. iNdEx = postIndex
  7871. case 2:
  7872. if wireType != 0 {
  7873. return fmt.Errorf("proto: wrong wireType = %d for field BlockVersion", wireType)
  7874. }
  7875. m.BlockVersion = 0
  7876. for shift := uint(0); ; shift += 7 {
  7877. if shift >= 64 {
  7878. return ErrIntOverflowAbci
  7879. }
  7880. if iNdEx >= l {
  7881. return io.ErrUnexpectedEOF
  7882. }
  7883. b := dAtA[iNdEx]
  7884. iNdEx++
  7885. m.BlockVersion |= uint64(b&0x7F) << shift
  7886. if b < 0x80 {
  7887. break
  7888. }
  7889. }
  7890. case 3:
  7891. if wireType != 0 {
  7892. return fmt.Errorf("proto: wrong wireType = %d for field P2PVersion", wireType)
  7893. }
  7894. m.P2PVersion = 0
  7895. for shift := uint(0); ; shift += 7 {
  7896. if shift >= 64 {
  7897. return ErrIntOverflowAbci
  7898. }
  7899. if iNdEx >= l {
  7900. return io.ErrUnexpectedEOF
  7901. }
  7902. b := dAtA[iNdEx]
  7903. iNdEx++
  7904. m.P2PVersion |= uint64(b&0x7F) << shift
  7905. if b < 0x80 {
  7906. break
  7907. }
  7908. }
  7909. default:
  7910. iNdEx = preIndex
  7911. skippy, err := skipAbci(dAtA[iNdEx:])
  7912. if err != nil {
  7913. return err
  7914. }
  7915. if skippy < 0 {
  7916. return ErrInvalidLengthAbci
  7917. }
  7918. if (iNdEx + skippy) < 0 {
  7919. return ErrInvalidLengthAbci
  7920. }
  7921. if (iNdEx + skippy) > l {
  7922. return io.ErrUnexpectedEOF
  7923. }
  7924. iNdEx += skippy
  7925. }
  7926. }
  7927. if iNdEx > l {
  7928. return io.ErrUnexpectedEOF
  7929. }
  7930. return nil
  7931. }
  7932. func (m *RequestSetOption) Unmarshal(dAtA []byte) error {
  7933. l := len(dAtA)
  7934. iNdEx := 0
  7935. for iNdEx < l {
  7936. preIndex := iNdEx
  7937. var wire uint64
  7938. for shift := uint(0); ; shift += 7 {
  7939. if shift >= 64 {
  7940. return ErrIntOverflowAbci
  7941. }
  7942. if iNdEx >= l {
  7943. return io.ErrUnexpectedEOF
  7944. }
  7945. b := dAtA[iNdEx]
  7946. iNdEx++
  7947. wire |= uint64(b&0x7F) << shift
  7948. if b < 0x80 {
  7949. break
  7950. }
  7951. }
  7952. fieldNum := int32(wire >> 3)
  7953. wireType := int(wire & 0x7)
  7954. if wireType == 4 {
  7955. return fmt.Errorf("proto: RequestSetOption: wiretype end group for non-group")
  7956. }
  7957. if fieldNum <= 0 {
  7958. return fmt.Errorf("proto: RequestSetOption: illegal tag %d (wire type %d)", fieldNum, wire)
  7959. }
  7960. switch fieldNum {
  7961. case 1:
  7962. if wireType != 2 {
  7963. return fmt.Errorf("proto: wrong wireType = %d for field Key", wireType)
  7964. }
  7965. var stringLen uint64
  7966. for shift := uint(0); ; shift += 7 {
  7967. if shift >= 64 {
  7968. return ErrIntOverflowAbci
  7969. }
  7970. if iNdEx >= l {
  7971. return io.ErrUnexpectedEOF
  7972. }
  7973. b := dAtA[iNdEx]
  7974. iNdEx++
  7975. stringLen |= uint64(b&0x7F) << shift
  7976. if b < 0x80 {
  7977. break
  7978. }
  7979. }
  7980. intStringLen := int(stringLen)
  7981. if intStringLen < 0 {
  7982. return ErrInvalidLengthAbci
  7983. }
  7984. postIndex := iNdEx + intStringLen
  7985. if postIndex < 0 {
  7986. return ErrInvalidLengthAbci
  7987. }
  7988. if postIndex > l {
  7989. return io.ErrUnexpectedEOF
  7990. }
  7991. m.Key = string(dAtA[iNdEx:postIndex])
  7992. iNdEx = postIndex
  7993. case 2:
  7994. if wireType != 2 {
  7995. return fmt.Errorf("proto: wrong wireType = %d for field Value", wireType)
  7996. }
  7997. var stringLen uint64
  7998. for shift := uint(0); ; shift += 7 {
  7999. if shift >= 64 {
  8000. return ErrIntOverflowAbci
  8001. }
  8002. if iNdEx >= l {
  8003. return io.ErrUnexpectedEOF
  8004. }
  8005. b := dAtA[iNdEx]
  8006. iNdEx++
  8007. stringLen |= uint64(b&0x7F) << shift
  8008. if b < 0x80 {
  8009. break
  8010. }
  8011. }
  8012. intStringLen := int(stringLen)
  8013. if intStringLen < 0 {
  8014. return ErrInvalidLengthAbci
  8015. }
  8016. postIndex := iNdEx + intStringLen
  8017. if postIndex < 0 {
  8018. return ErrInvalidLengthAbci
  8019. }
  8020. if postIndex > l {
  8021. return io.ErrUnexpectedEOF
  8022. }
  8023. m.Value = string(dAtA[iNdEx:postIndex])
  8024. iNdEx = postIndex
  8025. default:
  8026. iNdEx = preIndex
  8027. skippy, err := skipAbci(dAtA[iNdEx:])
  8028. if err != nil {
  8029. return err
  8030. }
  8031. if skippy < 0 {
  8032. return ErrInvalidLengthAbci
  8033. }
  8034. if (iNdEx + skippy) < 0 {
  8035. return ErrInvalidLengthAbci
  8036. }
  8037. if (iNdEx + skippy) > l {
  8038. return io.ErrUnexpectedEOF
  8039. }
  8040. iNdEx += skippy
  8041. }
  8042. }
  8043. if iNdEx > l {
  8044. return io.ErrUnexpectedEOF
  8045. }
  8046. return nil
  8047. }
  8048. func (m *RequestInitChain) Unmarshal(dAtA []byte) error {
  8049. l := len(dAtA)
  8050. iNdEx := 0
  8051. for iNdEx < l {
  8052. preIndex := iNdEx
  8053. var wire uint64
  8054. for shift := uint(0); ; shift += 7 {
  8055. if shift >= 64 {
  8056. return ErrIntOverflowAbci
  8057. }
  8058. if iNdEx >= l {
  8059. return io.ErrUnexpectedEOF
  8060. }
  8061. b := dAtA[iNdEx]
  8062. iNdEx++
  8063. wire |= uint64(b&0x7F) << shift
  8064. if b < 0x80 {
  8065. break
  8066. }
  8067. }
  8068. fieldNum := int32(wire >> 3)
  8069. wireType := int(wire & 0x7)
  8070. if wireType == 4 {
  8071. return fmt.Errorf("proto: RequestInitChain: wiretype end group for non-group")
  8072. }
  8073. if fieldNum <= 0 {
  8074. return fmt.Errorf("proto: RequestInitChain: illegal tag %d (wire type %d)", fieldNum, wire)
  8075. }
  8076. switch fieldNum {
  8077. case 1:
  8078. if wireType != 2 {
  8079. return fmt.Errorf("proto: wrong wireType = %d for field Time", wireType)
  8080. }
  8081. var msglen int
  8082. for shift := uint(0); ; shift += 7 {
  8083. if shift >= 64 {
  8084. return ErrIntOverflowAbci
  8085. }
  8086. if iNdEx >= l {
  8087. return io.ErrUnexpectedEOF
  8088. }
  8089. b := dAtA[iNdEx]
  8090. iNdEx++
  8091. msglen |= int(b&0x7F) << shift
  8092. if b < 0x80 {
  8093. break
  8094. }
  8095. }
  8096. if msglen < 0 {
  8097. return ErrInvalidLengthAbci
  8098. }
  8099. postIndex := iNdEx + msglen
  8100. if postIndex < 0 {
  8101. return ErrInvalidLengthAbci
  8102. }
  8103. if postIndex > l {
  8104. return io.ErrUnexpectedEOF
  8105. }
  8106. if err := github_com_gogo_protobuf_types.StdTimeUnmarshal(&m.Time, dAtA[iNdEx:postIndex]); err != nil {
  8107. return err
  8108. }
  8109. iNdEx = postIndex
  8110. case 2:
  8111. if wireType != 2 {
  8112. return fmt.Errorf("proto: wrong wireType = %d for field ChainId", wireType)
  8113. }
  8114. var stringLen uint64
  8115. for shift := uint(0); ; shift += 7 {
  8116. if shift >= 64 {
  8117. return ErrIntOverflowAbci
  8118. }
  8119. if iNdEx >= l {
  8120. return io.ErrUnexpectedEOF
  8121. }
  8122. b := dAtA[iNdEx]
  8123. iNdEx++
  8124. stringLen |= uint64(b&0x7F) << shift
  8125. if b < 0x80 {
  8126. break
  8127. }
  8128. }
  8129. intStringLen := int(stringLen)
  8130. if intStringLen < 0 {
  8131. return ErrInvalidLengthAbci
  8132. }
  8133. postIndex := iNdEx + intStringLen
  8134. if postIndex < 0 {
  8135. return ErrInvalidLengthAbci
  8136. }
  8137. if postIndex > l {
  8138. return io.ErrUnexpectedEOF
  8139. }
  8140. m.ChainId = string(dAtA[iNdEx:postIndex])
  8141. iNdEx = postIndex
  8142. case 3:
  8143. if wireType != 2 {
  8144. return fmt.Errorf("proto: wrong wireType = %d for field ConsensusParams", wireType)
  8145. }
  8146. var msglen int
  8147. for shift := uint(0); ; shift += 7 {
  8148. if shift >= 64 {
  8149. return ErrIntOverflowAbci
  8150. }
  8151. if iNdEx >= l {
  8152. return io.ErrUnexpectedEOF
  8153. }
  8154. b := dAtA[iNdEx]
  8155. iNdEx++
  8156. msglen |= int(b&0x7F) << shift
  8157. if b < 0x80 {
  8158. break
  8159. }
  8160. }
  8161. if msglen < 0 {
  8162. return ErrInvalidLengthAbci
  8163. }
  8164. postIndex := iNdEx + msglen
  8165. if postIndex < 0 {
  8166. return ErrInvalidLengthAbci
  8167. }
  8168. if postIndex > l {
  8169. return io.ErrUnexpectedEOF
  8170. }
  8171. if m.ConsensusParams == nil {
  8172. m.ConsensusParams = &ConsensusParams{}
  8173. }
  8174. if err := m.ConsensusParams.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  8175. return err
  8176. }
  8177. iNdEx = postIndex
  8178. case 4:
  8179. if wireType != 2 {
  8180. return fmt.Errorf("proto: wrong wireType = %d for field Validators", wireType)
  8181. }
  8182. var msglen int
  8183. for shift := uint(0); ; shift += 7 {
  8184. if shift >= 64 {
  8185. return ErrIntOverflowAbci
  8186. }
  8187. if iNdEx >= l {
  8188. return io.ErrUnexpectedEOF
  8189. }
  8190. b := dAtA[iNdEx]
  8191. iNdEx++
  8192. msglen |= int(b&0x7F) << shift
  8193. if b < 0x80 {
  8194. break
  8195. }
  8196. }
  8197. if msglen < 0 {
  8198. return ErrInvalidLengthAbci
  8199. }
  8200. postIndex := iNdEx + msglen
  8201. if postIndex < 0 {
  8202. return ErrInvalidLengthAbci
  8203. }
  8204. if postIndex > l {
  8205. return io.ErrUnexpectedEOF
  8206. }
  8207. m.Validators = append(m.Validators, ValidatorUpdate{})
  8208. if err := m.Validators[len(m.Validators)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  8209. return err
  8210. }
  8211. iNdEx = postIndex
  8212. case 5:
  8213. if wireType != 2 {
  8214. return fmt.Errorf("proto: wrong wireType = %d for field AppStateBytes", wireType)
  8215. }
  8216. var byteLen int
  8217. for shift := uint(0); ; shift += 7 {
  8218. if shift >= 64 {
  8219. return ErrIntOverflowAbci
  8220. }
  8221. if iNdEx >= l {
  8222. return io.ErrUnexpectedEOF
  8223. }
  8224. b := dAtA[iNdEx]
  8225. iNdEx++
  8226. byteLen |= int(b&0x7F) << shift
  8227. if b < 0x80 {
  8228. break
  8229. }
  8230. }
  8231. if byteLen < 0 {
  8232. return ErrInvalidLengthAbci
  8233. }
  8234. postIndex := iNdEx + byteLen
  8235. if postIndex < 0 {
  8236. return ErrInvalidLengthAbci
  8237. }
  8238. if postIndex > l {
  8239. return io.ErrUnexpectedEOF
  8240. }
  8241. m.AppStateBytes = append(m.AppStateBytes[:0], dAtA[iNdEx:postIndex]...)
  8242. if m.AppStateBytes == nil {
  8243. m.AppStateBytes = []byte{}
  8244. }
  8245. iNdEx = postIndex
  8246. default:
  8247. iNdEx = preIndex
  8248. skippy, err := skipAbci(dAtA[iNdEx:])
  8249. if err != nil {
  8250. return err
  8251. }
  8252. if skippy < 0 {
  8253. return ErrInvalidLengthAbci
  8254. }
  8255. if (iNdEx + skippy) < 0 {
  8256. return ErrInvalidLengthAbci
  8257. }
  8258. if (iNdEx + skippy) > l {
  8259. return io.ErrUnexpectedEOF
  8260. }
  8261. iNdEx += skippy
  8262. }
  8263. }
  8264. if iNdEx > l {
  8265. return io.ErrUnexpectedEOF
  8266. }
  8267. return nil
  8268. }
  8269. func (m *RequestQuery) Unmarshal(dAtA []byte) error {
  8270. l := len(dAtA)
  8271. iNdEx := 0
  8272. for iNdEx < l {
  8273. preIndex := iNdEx
  8274. var wire uint64
  8275. for shift := uint(0); ; shift += 7 {
  8276. if shift >= 64 {
  8277. return ErrIntOverflowAbci
  8278. }
  8279. if iNdEx >= l {
  8280. return io.ErrUnexpectedEOF
  8281. }
  8282. b := dAtA[iNdEx]
  8283. iNdEx++
  8284. wire |= uint64(b&0x7F) << shift
  8285. if b < 0x80 {
  8286. break
  8287. }
  8288. }
  8289. fieldNum := int32(wire >> 3)
  8290. wireType := int(wire & 0x7)
  8291. if wireType == 4 {
  8292. return fmt.Errorf("proto: RequestQuery: wiretype end group for non-group")
  8293. }
  8294. if fieldNum <= 0 {
  8295. return fmt.Errorf("proto: RequestQuery: illegal tag %d (wire type %d)", fieldNum, wire)
  8296. }
  8297. switch fieldNum {
  8298. case 1:
  8299. if wireType != 2 {
  8300. return fmt.Errorf("proto: wrong wireType = %d for field Data", wireType)
  8301. }
  8302. var byteLen int
  8303. for shift := uint(0); ; shift += 7 {
  8304. if shift >= 64 {
  8305. return ErrIntOverflowAbci
  8306. }
  8307. if iNdEx >= l {
  8308. return io.ErrUnexpectedEOF
  8309. }
  8310. b := dAtA[iNdEx]
  8311. iNdEx++
  8312. byteLen |= int(b&0x7F) << shift
  8313. if b < 0x80 {
  8314. break
  8315. }
  8316. }
  8317. if byteLen < 0 {
  8318. return ErrInvalidLengthAbci
  8319. }
  8320. postIndex := iNdEx + byteLen
  8321. if postIndex < 0 {
  8322. return ErrInvalidLengthAbci
  8323. }
  8324. if postIndex > l {
  8325. return io.ErrUnexpectedEOF
  8326. }
  8327. m.Data = append(m.Data[:0], dAtA[iNdEx:postIndex]...)
  8328. if m.Data == nil {
  8329. m.Data = []byte{}
  8330. }
  8331. iNdEx = postIndex
  8332. case 2:
  8333. if wireType != 2 {
  8334. return fmt.Errorf("proto: wrong wireType = %d for field Path", wireType)
  8335. }
  8336. var stringLen uint64
  8337. for shift := uint(0); ; shift += 7 {
  8338. if shift >= 64 {
  8339. return ErrIntOverflowAbci
  8340. }
  8341. if iNdEx >= l {
  8342. return io.ErrUnexpectedEOF
  8343. }
  8344. b := dAtA[iNdEx]
  8345. iNdEx++
  8346. stringLen |= uint64(b&0x7F) << shift
  8347. if b < 0x80 {
  8348. break
  8349. }
  8350. }
  8351. intStringLen := int(stringLen)
  8352. if intStringLen < 0 {
  8353. return ErrInvalidLengthAbci
  8354. }
  8355. postIndex := iNdEx + intStringLen
  8356. if postIndex < 0 {
  8357. return ErrInvalidLengthAbci
  8358. }
  8359. if postIndex > l {
  8360. return io.ErrUnexpectedEOF
  8361. }
  8362. m.Path = string(dAtA[iNdEx:postIndex])
  8363. iNdEx = postIndex
  8364. case 3:
  8365. if wireType != 0 {
  8366. return fmt.Errorf("proto: wrong wireType = %d for field Height", wireType)
  8367. }
  8368. m.Height = 0
  8369. for shift := uint(0); ; shift += 7 {
  8370. if shift >= 64 {
  8371. return ErrIntOverflowAbci
  8372. }
  8373. if iNdEx >= l {
  8374. return io.ErrUnexpectedEOF
  8375. }
  8376. b := dAtA[iNdEx]
  8377. iNdEx++
  8378. m.Height |= int64(b&0x7F) << shift
  8379. if b < 0x80 {
  8380. break
  8381. }
  8382. }
  8383. case 4:
  8384. if wireType != 0 {
  8385. return fmt.Errorf("proto: wrong wireType = %d for field Prove", wireType)
  8386. }
  8387. var v int
  8388. for shift := uint(0); ; shift += 7 {
  8389. if shift >= 64 {
  8390. return ErrIntOverflowAbci
  8391. }
  8392. if iNdEx >= l {
  8393. return io.ErrUnexpectedEOF
  8394. }
  8395. b := dAtA[iNdEx]
  8396. iNdEx++
  8397. v |= int(b&0x7F) << shift
  8398. if b < 0x80 {
  8399. break
  8400. }
  8401. }
  8402. m.Prove = bool(v != 0)
  8403. default:
  8404. iNdEx = preIndex
  8405. skippy, err := skipAbci(dAtA[iNdEx:])
  8406. if err != nil {
  8407. return err
  8408. }
  8409. if skippy < 0 {
  8410. return ErrInvalidLengthAbci
  8411. }
  8412. if (iNdEx + skippy) < 0 {
  8413. return ErrInvalidLengthAbci
  8414. }
  8415. if (iNdEx + skippy) > l {
  8416. return io.ErrUnexpectedEOF
  8417. }
  8418. iNdEx += skippy
  8419. }
  8420. }
  8421. if iNdEx > l {
  8422. return io.ErrUnexpectedEOF
  8423. }
  8424. return nil
  8425. }
  8426. func (m *RequestBeginBlock) Unmarshal(dAtA []byte) error {
  8427. l := len(dAtA)
  8428. iNdEx := 0
  8429. for iNdEx < l {
  8430. preIndex := iNdEx
  8431. var wire uint64
  8432. for shift := uint(0); ; shift += 7 {
  8433. if shift >= 64 {
  8434. return ErrIntOverflowAbci
  8435. }
  8436. if iNdEx >= l {
  8437. return io.ErrUnexpectedEOF
  8438. }
  8439. b := dAtA[iNdEx]
  8440. iNdEx++
  8441. wire |= uint64(b&0x7F) << shift
  8442. if b < 0x80 {
  8443. break
  8444. }
  8445. }
  8446. fieldNum := int32(wire >> 3)
  8447. wireType := int(wire & 0x7)
  8448. if wireType == 4 {
  8449. return fmt.Errorf("proto: RequestBeginBlock: wiretype end group for non-group")
  8450. }
  8451. if fieldNum <= 0 {
  8452. return fmt.Errorf("proto: RequestBeginBlock: illegal tag %d (wire type %d)", fieldNum, wire)
  8453. }
  8454. switch fieldNum {
  8455. case 1:
  8456. if wireType != 2 {
  8457. return fmt.Errorf("proto: wrong wireType = %d for field Hash", wireType)
  8458. }
  8459. var byteLen int
  8460. for shift := uint(0); ; shift += 7 {
  8461. if shift >= 64 {
  8462. return ErrIntOverflowAbci
  8463. }
  8464. if iNdEx >= l {
  8465. return io.ErrUnexpectedEOF
  8466. }
  8467. b := dAtA[iNdEx]
  8468. iNdEx++
  8469. byteLen |= int(b&0x7F) << shift
  8470. if b < 0x80 {
  8471. break
  8472. }
  8473. }
  8474. if byteLen < 0 {
  8475. return ErrInvalidLengthAbci
  8476. }
  8477. postIndex := iNdEx + byteLen
  8478. if postIndex < 0 {
  8479. return ErrInvalidLengthAbci
  8480. }
  8481. if postIndex > l {
  8482. return io.ErrUnexpectedEOF
  8483. }
  8484. m.Hash = append(m.Hash[:0], dAtA[iNdEx:postIndex]...)
  8485. if m.Hash == nil {
  8486. m.Hash = []byte{}
  8487. }
  8488. iNdEx = postIndex
  8489. case 2:
  8490. if wireType != 2 {
  8491. return fmt.Errorf("proto: wrong wireType = %d for field Header", wireType)
  8492. }
  8493. var msglen int
  8494. for shift := uint(0); ; shift += 7 {
  8495. if shift >= 64 {
  8496. return ErrIntOverflowAbci
  8497. }
  8498. if iNdEx >= l {
  8499. return io.ErrUnexpectedEOF
  8500. }
  8501. b := dAtA[iNdEx]
  8502. iNdEx++
  8503. msglen |= int(b&0x7F) << shift
  8504. if b < 0x80 {
  8505. break
  8506. }
  8507. }
  8508. if msglen < 0 {
  8509. return ErrInvalidLengthAbci
  8510. }
  8511. postIndex := iNdEx + msglen
  8512. if postIndex < 0 {
  8513. return ErrInvalidLengthAbci
  8514. }
  8515. if postIndex > l {
  8516. return io.ErrUnexpectedEOF
  8517. }
  8518. if err := m.Header.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  8519. return err
  8520. }
  8521. iNdEx = postIndex
  8522. case 3:
  8523. if wireType != 2 {
  8524. return fmt.Errorf("proto: wrong wireType = %d for field LastCommitInfo", wireType)
  8525. }
  8526. var msglen int
  8527. for shift := uint(0); ; shift += 7 {
  8528. if shift >= 64 {
  8529. return ErrIntOverflowAbci
  8530. }
  8531. if iNdEx >= l {
  8532. return io.ErrUnexpectedEOF
  8533. }
  8534. b := dAtA[iNdEx]
  8535. iNdEx++
  8536. msglen |= int(b&0x7F) << shift
  8537. if b < 0x80 {
  8538. break
  8539. }
  8540. }
  8541. if msglen < 0 {
  8542. return ErrInvalidLengthAbci
  8543. }
  8544. postIndex := iNdEx + msglen
  8545. if postIndex < 0 {
  8546. return ErrInvalidLengthAbci
  8547. }
  8548. if postIndex > l {
  8549. return io.ErrUnexpectedEOF
  8550. }
  8551. if err := m.LastCommitInfo.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  8552. return err
  8553. }
  8554. iNdEx = postIndex
  8555. case 4:
  8556. if wireType != 2 {
  8557. return fmt.Errorf("proto: wrong wireType = %d for field ByzantineValidators", wireType)
  8558. }
  8559. var msglen int
  8560. for shift := uint(0); ; shift += 7 {
  8561. if shift >= 64 {
  8562. return ErrIntOverflowAbci
  8563. }
  8564. if iNdEx >= l {
  8565. return io.ErrUnexpectedEOF
  8566. }
  8567. b := dAtA[iNdEx]
  8568. iNdEx++
  8569. msglen |= int(b&0x7F) << shift
  8570. if b < 0x80 {
  8571. break
  8572. }
  8573. }
  8574. if msglen < 0 {
  8575. return ErrInvalidLengthAbci
  8576. }
  8577. postIndex := iNdEx + msglen
  8578. if postIndex < 0 {
  8579. return ErrInvalidLengthAbci
  8580. }
  8581. if postIndex > l {
  8582. return io.ErrUnexpectedEOF
  8583. }
  8584. m.ByzantineValidators = append(m.ByzantineValidators, Evidence{})
  8585. if err := m.ByzantineValidators[len(m.ByzantineValidators)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  8586. return err
  8587. }
  8588. iNdEx = postIndex
  8589. default:
  8590. iNdEx = preIndex
  8591. skippy, err := skipAbci(dAtA[iNdEx:])
  8592. if err != nil {
  8593. return err
  8594. }
  8595. if skippy < 0 {
  8596. return ErrInvalidLengthAbci
  8597. }
  8598. if (iNdEx + skippy) < 0 {
  8599. return ErrInvalidLengthAbci
  8600. }
  8601. if (iNdEx + skippy) > l {
  8602. return io.ErrUnexpectedEOF
  8603. }
  8604. iNdEx += skippy
  8605. }
  8606. }
  8607. if iNdEx > l {
  8608. return io.ErrUnexpectedEOF
  8609. }
  8610. return nil
  8611. }
  8612. func (m *RequestCheckTx) Unmarshal(dAtA []byte) error {
  8613. l := len(dAtA)
  8614. iNdEx := 0
  8615. for iNdEx < l {
  8616. preIndex := iNdEx
  8617. var wire uint64
  8618. for shift := uint(0); ; shift += 7 {
  8619. if shift >= 64 {
  8620. return ErrIntOverflowAbci
  8621. }
  8622. if iNdEx >= l {
  8623. return io.ErrUnexpectedEOF
  8624. }
  8625. b := dAtA[iNdEx]
  8626. iNdEx++
  8627. wire |= uint64(b&0x7F) << shift
  8628. if b < 0x80 {
  8629. break
  8630. }
  8631. }
  8632. fieldNum := int32(wire >> 3)
  8633. wireType := int(wire & 0x7)
  8634. if wireType == 4 {
  8635. return fmt.Errorf("proto: RequestCheckTx: wiretype end group for non-group")
  8636. }
  8637. if fieldNum <= 0 {
  8638. return fmt.Errorf("proto: RequestCheckTx: illegal tag %d (wire type %d)", fieldNum, wire)
  8639. }
  8640. switch fieldNum {
  8641. case 1:
  8642. if wireType != 2 {
  8643. return fmt.Errorf("proto: wrong wireType = %d for field Tx", wireType)
  8644. }
  8645. var byteLen int
  8646. for shift := uint(0); ; shift += 7 {
  8647. if shift >= 64 {
  8648. return ErrIntOverflowAbci
  8649. }
  8650. if iNdEx >= l {
  8651. return io.ErrUnexpectedEOF
  8652. }
  8653. b := dAtA[iNdEx]
  8654. iNdEx++
  8655. byteLen |= int(b&0x7F) << shift
  8656. if b < 0x80 {
  8657. break
  8658. }
  8659. }
  8660. if byteLen < 0 {
  8661. return ErrInvalidLengthAbci
  8662. }
  8663. postIndex := iNdEx + byteLen
  8664. if postIndex < 0 {
  8665. return ErrInvalidLengthAbci
  8666. }
  8667. if postIndex > l {
  8668. return io.ErrUnexpectedEOF
  8669. }
  8670. m.Tx = append(m.Tx[:0], dAtA[iNdEx:postIndex]...)
  8671. if m.Tx == nil {
  8672. m.Tx = []byte{}
  8673. }
  8674. iNdEx = postIndex
  8675. case 2:
  8676. if wireType != 0 {
  8677. return fmt.Errorf("proto: wrong wireType = %d for field Type", wireType)
  8678. }
  8679. m.Type = 0
  8680. for shift := uint(0); ; shift += 7 {
  8681. if shift >= 64 {
  8682. return ErrIntOverflowAbci
  8683. }
  8684. if iNdEx >= l {
  8685. return io.ErrUnexpectedEOF
  8686. }
  8687. b := dAtA[iNdEx]
  8688. iNdEx++
  8689. m.Type |= CheckTxType(b&0x7F) << shift
  8690. if b < 0x80 {
  8691. break
  8692. }
  8693. }
  8694. default:
  8695. iNdEx = preIndex
  8696. skippy, err := skipAbci(dAtA[iNdEx:])
  8697. if err != nil {
  8698. return err
  8699. }
  8700. if skippy < 0 {
  8701. return ErrInvalidLengthAbci
  8702. }
  8703. if (iNdEx + skippy) < 0 {
  8704. return ErrInvalidLengthAbci
  8705. }
  8706. if (iNdEx + skippy) > l {
  8707. return io.ErrUnexpectedEOF
  8708. }
  8709. iNdEx += skippy
  8710. }
  8711. }
  8712. if iNdEx > l {
  8713. return io.ErrUnexpectedEOF
  8714. }
  8715. return nil
  8716. }
  8717. func (m *RequestDeliverTx) Unmarshal(dAtA []byte) error {
  8718. l := len(dAtA)
  8719. iNdEx := 0
  8720. for iNdEx < l {
  8721. preIndex := iNdEx
  8722. var wire uint64
  8723. for shift := uint(0); ; shift += 7 {
  8724. if shift >= 64 {
  8725. return ErrIntOverflowAbci
  8726. }
  8727. if iNdEx >= l {
  8728. return io.ErrUnexpectedEOF
  8729. }
  8730. b := dAtA[iNdEx]
  8731. iNdEx++
  8732. wire |= uint64(b&0x7F) << shift
  8733. if b < 0x80 {
  8734. break
  8735. }
  8736. }
  8737. fieldNum := int32(wire >> 3)
  8738. wireType := int(wire & 0x7)
  8739. if wireType == 4 {
  8740. return fmt.Errorf("proto: RequestDeliverTx: wiretype end group for non-group")
  8741. }
  8742. if fieldNum <= 0 {
  8743. return fmt.Errorf("proto: RequestDeliverTx: illegal tag %d (wire type %d)", fieldNum, wire)
  8744. }
  8745. switch fieldNum {
  8746. case 1:
  8747. if wireType != 2 {
  8748. return fmt.Errorf("proto: wrong wireType = %d for field Tx", wireType)
  8749. }
  8750. var byteLen int
  8751. for shift := uint(0); ; shift += 7 {
  8752. if shift >= 64 {
  8753. return ErrIntOverflowAbci
  8754. }
  8755. if iNdEx >= l {
  8756. return io.ErrUnexpectedEOF
  8757. }
  8758. b := dAtA[iNdEx]
  8759. iNdEx++
  8760. byteLen |= int(b&0x7F) << shift
  8761. if b < 0x80 {
  8762. break
  8763. }
  8764. }
  8765. if byteLen < 0 {
  8766. return ErrInvalidLengthAbci
  8767. }
  8768. postIndex := iNdEx + byteLen
  8769. if postIndex < 0 {
  8770. return ErrInvalidLengthAbci
  8771. }
  8772. if postIndex > l {
  8773. return io.ErrUnexpectedEOF
  8774. }
  8775. m.Tx = append(m.Tx[:0], dAtA[iNdEx:postIndex]...)
  8776. if m.Tx == nil {
  8777. m.Tx = []byte{}
  8778. }
  8779. iNdEx = postIndex
  8780. default:
  8781. iNdEx = preIndex
  8782. skippy, err := skipAbci(dAtA[iNdEx:])
  8783. if err != nil {
  8784. return err
  8785. }
  8786. if skippy < 0 {
  8787. return ErrInvalidLengthAbci
  8788. }
  8789. if (iNdEx + skippy) < 0 {
  8790. return ErrInvalidLengthAbci
  8791. }
  8792. if (iNdEx + skippy) > l {
  8793. return io.ErrUnexpectedEOF
  8794. }
  8795. iNdEx += skippy
  8796. }
  8797. }
  8798. if iNdEx > l {
  8799. return io.ErrUnexpectedEOF
  8800. }
  8801. return nil
  8802. }
  8803. func (m *RequestEndBlock) Unmarshal(dAtA []byte) error {
  8804. l := len(dAtA)
  8805. iNdEx := 0
  8806. for iNdEx < l {
  8807. preIndex := iNdEx
  8808. var wire uint64
  8809. for shift := uint(0); ; shift += 7 {
  8810. if shift >= 64 {
  8811. return ErrIntOverflowAbci
  8812. }
  8813. if iNdEx >= l {
  8814. return io.ErrUnexpectedEOF
  8815. }
  8816. b := dAtA[iNdEx]
  8817. iNdEx++
  8818. wire |= uint64(b&0x7F) << shift
  8819. if b < 0x80 {
  8820. break
  8821. }
  8822. }
  8823. fieldNum := int32(wire >> 3)
  8824. wireType := int(wire & 0x7)
  8825. if wireType == 4 {
  8826. return fmt.Errorf("proto: RequestEndBlock: wiretype end group for non-group")
  8827. }
  8828. if fieldNum <= 0 {
  8829. return fmt.Errorf("proto: RequestEndBlock: illegal tag %d (wire type %d)", fieldNum, wire)
  8830. }
  8831. switch fieldNum {
  8832. case 1:
  8833. if wireType != 0 {
  8834. return fmt.Errorf("proto: wrong wireType = %d for field Height", wireType)
  8835. }
  8836. m.Height = 0
  8837. for shift := uint(0); ; shift += 7 {
  8838. if shift >= 64 {
  8839. return ErrIntOverflowAbci
  8840. }
  8841. if iNdEx >= l {
  8842. return io.ErrUnexpectedEOF
  8843. }
  8844. b := dAtA[iNdEx]
  8845. iNdEx++
  8846. m.Height |= int64(b&0x7F) << shift
  8847. if b < 0x80 {
  8848. break
  8849. }
  8850. }
  8851. default:
  8852. iNdEx = preIndex
  8853. skippy, err := skipAbci(dAtA[iNdEx:])
  8854. if err != nil {
  8855. return err
  8856. }
  8857. if skippy < 0 {
  8858. return ErrInvalidLengthAbci
  8859. }
  8860. if (iNdEx + skippy) < 0 {
  8861. return ErrInvalidLengthAbci
  8862. }
  8863. if (iNdEx + skippy) > l {
  8864. return io.ErrUnexpectedEOF
  8865. }
  8866. iNdEx += skippy
  8867. }
  8868. }
  8869. if iNdEx > l {
  8870. return io.ErrUnexpectedEOF
  8871. }
  8872. return nil
  8873. }
  8874. func (m *RequestCommit) Unmarshal(dAtA []byte) error {
  8875. l := len(dAtA)
  8876. iNdEx := 0
  8877. for iNdEx < l {
  8878. preIndex := iNdEx
  8879. var wire uint64
  8880. for shift := uint(0); ; shift += 7 {
  8881. if shift >= 64 {
  8882. return ErrIntOverflowAbci
  8883. }
  8884. if iNdEx >= l {
  8885. return io.ErrUnexpectedEOF
  8886. }
  8887. b := dAtA[iNdEx]
  8888. iNdEx++
  8889. wire |= uint64(b&0x7F) << shift
  8890. if b < 0x80 {
  8891. break
  8892. }
  8893. }
  8894. fieldNum := int32(wire >> 3)
  8895. wireType := int(wire & 0x7)
  8896. if wireType == 4 {
  8897. return fmt.Errorf("proto: RequestCommit: wiretype end group for non-group")
  8898. }
  8899. if fieldNum <= 0 {
  8900. return fmt.Errorf("proto: RequestCommit: illegal tag %d (wire type %d)", fieldNum, wire)
  8901. }
  8902. switch fieldNum {
  8903. default:
  8904. iNdEx = preIndex
  8905. skippy, err := skipAbci(dAtA[iNdEx:])
  8906. if err != nil {
  8907. return err
  8908. }
  8909. if skippy < 0 {
  8910. return ErrInvalidLengthAbci
  8911. }
  8912. if (iNdEx + skippy) < 0 {
  8913. return ErrInvalidLengthAbci
  8914. }
  8915. if (iNdEx + skippy) > l {
  8916. return io.ErrUnexpectedEOF
  8917. }
  8918. iNdEx += skippy
  8919. }
  8920. }
  8921. if iNdEx > l {
  8922. return io.ErrUnexpectedEOF
  8923. }
  8924. return nil
  8925. }
  8926. func (m *RequestListSnapshots) Unmarshal(dAtA []byte) error {
  8927. l := len(dAtA)
  8928. iNdEx := 0
  8929. for iNdEx < l {
  8930. preIndex := iNdEx
  8931. var wire uint64
  8932. for shift := uint(0); ; shift += 7 {
  8933. if shift >= 64 {
  8934. return ErrIntOverflowAbci
  8935. }
  8936. if iNdEx >= l {
  8937. return io.ErrUnexpectedEOF
  8938. }
  8939. b := dAtA[iNdEx]
  8940. iNdEx++
  8941. wire |= uint64(b&0x7F) << shift
  8942. if b < 0x80 {
  8943. break
  8944. }
  8945. }
  8946. fieldNum := int32(wire >> 3)
  8947. wireType := int(wire & 0x7)
  8948. if wireType == 4 {
  8949. return fmt.Errorf("proto: RequestListSnapshots: wiretype end group for non-group")
  8950. }
  8951. if fieldNum <= 0 {
  8952. return fmt.Errorf("proto: RequestListSnapshots: illegal tag %d (wire type %d)", fieldNum, wire)
  8953. }
  8954. switch fieldNum {
  8955. default:
  8956. iNdEx = preIndex
  8957. skippy, err := skipAbci(dAtA[iNdEx:])
  8958. if err != nil {
  8959. return err
  8960. }
  8961. if skippy < 0 {
  8962. return ErrInvalidLengthAbci
  8963. }
  8964. if (iNdEx + skippy) < 0 {
  8965. return ErrInvalidLengthAbci
  8966. }
  8967. if (iNdEx + skippy) > l {
  8968. return io.ErrUnexpectedEOF
  8969. }
  8970. iNdEx += skippy
  8971. }
  8972. }
  8973. if iNdEx > l {
  8974. return io.ErrUnexpectedEOF
  8975. }
  8976. return nil
  8977. }
  8978. func (m *RequestOfferSnapshot) Unmarshal(dAtA []byte) error {
  8979. l := len(dAtA)
  8980. iNdEx := 0
  8981. for iNdEx < l {
  8982. preIndex := iNdEx
  8983. var wire uint64
  8984. for shift := uint(0); ; shift += 7 {
  8985. if shift >= 64 {
  8986. return ErrIntOverflowAbci
  8987. }
  8988. if iNdEx >= l {
  8989. return io.ErrUnexpectedEOF
  8990. }
  8991. b := dAtA[iNdEx]
  8992. iNdEx++
  8993. wire |= uint64(b&0x7F) << shift
  8994. if b < 0x80 {
  8995. break
  8996. }
  8997. }
  8998. fieldNum := int32(wire >> 3)
  8999. wireType := int(wire & 0x7)
  9000. if wireType == 4 {
  9001. return fmt.Errorf("proto: RequestOfferSnapshot: wiretype end group for non-group")
  9002. }
  9003. if fieldNum <= 0 {
  9004. return fmt.Errorf("proto: RequestOfferSnapshot: illegal tag %d (wire type %d)", fieldNum, wire)
  9005. }
  9006. switch fieldNum {
  9007. case 1:
  9008. if wireType != 2 {
  9009. return fmt.Errorf("proto: wrong wireType = %d for field Snapshot", wireType)
  9010. }
  9011. var msglen int
  9012. for shift := uint(0); ; shift += 7 {
  9013. if shift >= 64 {
  9014. return ErrIntOverflowAbci
  9015. }
  9016. if iNdEx >= l {
  9017. return io.ErrUnexpectedEOF
  9018. }
  9019. b := dAtA[iNdEx]
  9020. iNdEx++
  9021. msglen |= int(b&0x7F) << shift
  9022. if b < 0x80 {
  9023. break
  9024. }
  9025. }
  9026. if msglen < 0 {
  9027. return ErrInvalidLengthAbci
  9028. }
  9029. postIndex := iNdEx + msglen
  9030. if postIndex < 0 {
  9031. return ErrInvalidLengthAbci
  9032. }
  9033. if postIndex > l {
  9034. return io.ErrUnexpectedEOF
  9035. }
  9036. if m.Snapshot == nil {
  9037. m.Snapshot = &Snapshot{}
  9038. }
  9039. if err := m.Snapshot.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  9040. return err
  9041. }
  9042. iNdEx = postIndex
  9043. case 2:
  9044. if wireType != 2 {
  9045. return fmt.Errorf("proto: wrong wireType = %d for field AppHash", wireType)
  9046. }
  9047. var byteLen int
  9048. for shift := uint(0); ; shift += 7 {
  9049. if shift >= 64 {
  9050. return ErrIntOverflowAbci
  9051. }
  9052. if iNdEx >= l {
  9053. return io.ErrUnexpectedEOF
  9054. }
  9055. b := dAtA[iNdEx]
  9056. iNdEx++
  9057. byteLen |= int(b&0x7F) << shift
  9058. if b < 0x80 {
  9059. break
  9060. }
  9061. }
  9062. if byteLen < 0 {
  9063. return ErrInvalidLengthAbci
  9064. }
  9065. postIndex := iNdEx + byteLen
  9066. if postIndex < 0 {
  9067. return ErrInvalidLengthAbci
  9068. }
  9069. if postIndex > l {
  9070. return io.ErrUnexpectedEOF
  9071. }
  9072. m.AppHash = append(m.AppHash[:0], dAtA[iNdEx:postIndex]...)
  9073. if m.AppHash == nil {
  9074. m.AppHash = []byte{}
  9075. }
  9076. iNdEx = postIndex
  9077. default:
  9078. iNdEx = preIndex
  9079. skippy, err := skipAbci(dAtA[iNdEx:])
  9080. if err != nil {
  9081. return err
  9082. }
  9083. if skippy < 0 {
  9084. return ErrInvalidLengthAbci
  9085. }
  9086. if (iNdEx + skippy) < 0 {
  9087. return ErrInvalidLengthAbci
  9088. }
  9089. if (iNdEx + skippy) > l {
  9090. return io.ErrUnexpectedEOF
  9091. }
  9092. iNdEx += skippy
  9093. }
  9094. }
  9095. if iNdEx > l {
  9096. return io.ErrUnexpectedEOF
  9097. }
  9098. return nil
  9099. }
  9100. func (m *RequestLoadSnapshotChunk) Unmarshal(dAtA []byte) error {
  9101. l := len(dAtA)
  9102. iNdEx := 0
  9103. for iNdEx < l {
  9104. preIndex := iNdEx
  9105. var wire uint64
  9106. for shift := uint(0); ; shift += 7 {
  9107. if shift >= 64 {
  9108. return ErrIntOverflowAbci
  9109. }
  9110. if iNdEx >= l {
  9111. return io.ErrUnexpectedEOF
  9112. }
  9113. b := dAtA[iNdEx]
  9114. iNdEx++
  9115. wire |= uint64(b&0x7F) << shift
  9116. if b < 0x80 {
  9117. break
  9118. }
  9119. }
  9120. fieldNum := int32(wire >> 3)
  9121. wireType := int(wire & 0x7)
  9122. if wireType == 4 {
  9123. return fmt.Errorf("proto: RequestLoadSnapshotChunk: wiretype end group for non-group")
  9124. }
  9125. if fieldNum <= 0 {
  9126. return fmt.Errorf("proto: RequestLoadSnapshotChunk: illegal tag %d (wire type %d)", fieldNum, wire)
  9127. }
  9128. switch fieldNum {
  9129. case 1:
  9130. if wireType != 0 {
  9131. return fmt.Errorf("proto: wrong wireType = %d for field Height", wireType)
  9132. }
  9133. m.Height = 0
  9134. for shift := uint(0); ; shift += 7 {
  9135. if shift >= 64 {
  9136. return ErrIntOverflowAbci
  9137. }
  9138. if iNdEx >= l {
  9139. return io.ErrUnexpectedEOF
  9140. }
  9141. b := dAtA[iNdEx]
  9142. iNdEx++
  9143. m.Height |= uint64(b&0x7F) << shift
  9144. if b < 0x80 {
  9145. break
  9146. }
  9147. }
  9148. case 2:
  9149. if wireType != 0 {
  9150. return fmt.Errorf("proto: wrong wireType = %d for field Format", wireType)
  9151. }
  9152. m.Format = 0
  9153. for shift := uint(0); ; shift += 7 {
  9154. if shift >= 64 {
  9155. return ErrIntOverflowAbci
  9156. }
  9157. if iNdEx >= l {
  9158. return io.ErrUnexpectedEOF
  9159. }
  9160. b := dAtA[iNdEx]
  9161. iNdEx++
  9162. m.Format |= uint32(b&0x7F) << shift
  9163. if b < 0x80 {
  9164. break
  9165. }
  9166. }
  9167. case 3:
  9168. if wireType != 0 {
  9169. return fmt.Errorf("proto: wrong wireType = %d for field Chunk", wireType)
  9170. }
  9171. m.Chunk = 0
  9172. for shift := uint(0); ; shift += 7 {
  9173. if shift >= 64 {
  9174. return ErrIntOverflowAbci
  9175. }
  9176. if iNdEx >= l {
  9177. return io.ErrUnexpectedEOF
  9178. }
  9179. b := dAtA[iNdEx]
  9180. iNdEx++
  9181. m.Chunk |= uint32(b&0x7F) << shift
  9182. if b < 0x80 {
  9183. break
  9184. }
  9185. }
  9186. default:
  9187. iNdEx = preIndex
  9188. skippy, err := skipAbci(dAtA[iNdEx:])
  9189. if err != nil {
  9190. return err
  9191. }
  9192. if skippy < 0 {
  9193. return ErrInvalidLengthAbci
  9194. }
  9195. if (iNdEx + skippy) < 0 {
  9196. return ErrInvalidLengthAbci
  9197. }
  9198. if (iNdEx + skippy) > l {
  9199. return io.ErrUnexpectedEOF
  9200. }
  9201. iNdEx += skippy
  9202. }
  9203. }
  9204. if iNdEx > l {
  9205. return io.ErrUnexpectedEOF
  9206. }
  9207. return nil
  9208. }
  9209. func (m *RequestApplySnapshotChunk) Unmarshal(dAtA []byte) error {
  9210. l := len(dAtA)
  9211. iNdEx := 0
  9212. for iNdEx < l {
  9213. preIndex := iNdEx
  9214. var wire uint64
  9215. for shift := uint(0); ; shift += 7 {
  9216. if shift >= 64 {
  9217. return ErrIntOverflowAbci
  9218. }
  9219. if iNdEx >= l {
  9220. return io.ErrUnexpectedEOF
  9221. }
  9222. b := dAtA[iNdEx]
  9223. iNdEx++
  9224. wire |= uint64(b&0x7F) << shift
  9225. if b < 0x80 {
  9226. break
  9227. }
  9228. }
  9229. fieldNum := int32(wire >> 3)
  9230. wireType := int(wire & 0x7)
  9231. if wireType == 4 {
  9232. return fmt.Errorf("proto: RequestApplySnapshotChunk: wiretype end group for non-group")
  9233. }
  9234. if fieldNum <= 0 {
  9235. return fmt.Errorf("proto: RequestApplySnapshotChunk: illegal tag %d (wire type %d)", fieldNum, wire)
  9236. }
  9237. switch fieldNum {
  9238. case 1:
  9239. if wireType != 0 {
  9240. return fmt.Errorf("proto: wrong wireType = %d for field Index", wireType)
  9241. }
  9242. m.Index = 0
  9243. for shift := uint(0); ; shift += 7 {
  9244. if shift >= 64 {
  9245. return ErrIntOverflowAbci
  9246. }
  9247. if iNdEx >= l {
  9248. return io.ErrUnexpectedEOF
  9249. }
  9250. b := dAtA[iNdEx]
  9251. iNdEx++
  9252. m.Index |= uint32(b&0x7F) << shift
  9253. if b < 0x80 {
  9254. break
  9255. }
  9256. }
  9257. case 2:
  9258. if wireType != 2 {
  9259. return fmt.Errorf("proto: wrong wireType = %d for field Chunk", wireType)
  9260. }
  9261. var byteLen int
  9262. for shift := uint(0); ; shift += 7 {
  9263. if shift >= 64 {
  9264. return ErrIntOverflowAbci
  9265. }
  9266. if iNdEx >= l {
  9267. return io.ErrUnexpectedEOF
  9268. }
  9269. b := dAtA[iNdEx]
  9270. iNdEx++
  9271. byteLen |= int(b&0x7F) << shift
  9272. if b < 0x80 {
  9273. break
  9274. }
  9275. }
  9276. if byteLen < 0 {
  9277. return ErrInvalidLengthAbci
  9278. }
  9279. postIndex := iNdEx + byteLen
  9280. if postIndex < 0 {
  9281. return ErrInvalidLengthAbci
  9282. }
  9283. if postIndex > l {
  9284. return io.ErrUnexpectedEOF
  9285. }
  9286. m.Chunk = append(m.Chunk[:0], dAtA[iNdEx:postIndex]...)
  9287. if m.Chunk == nil {
  9288. m.Chunk = []byte{}
  9289. }
  9290. iNdEx = postIndex
  9291. case 3:
  9292. if wireType != 2 {
  9293. return fmt.Errorf("proto: wrong wireType = %d for field Sender", wireType)
  9294. }
  9295. var stringLen uint64
  9296. for shift := uint(0); ; shift += 7 {
  9297. if shift >= 64 {
  9298. return ErrIntOverflowAbci
  9299. }
  9300. if iNdEx >= l {
  9301. return io.ErrUnexpectedEOF
  9302. }
  9303. b := dAtA[iNdEx]
  9304. iNdEx++
  9305. stringLen |= uint64(b&0x7F) << shift
  9306. if b < 0x80 {
  9307. break
  9308. }
  9309. }
  9310. intStringLen := int(stringLen)
  9311. if intStringLen < 0 {
  9312. return ErrInvalidLengthAbci
  9313. }
  9314. postIndex := iNdEx + intStringLen
  9315. if postIndex < 0 {
  9316. return ErrInvalidLengthAbci
  9317. }
  9318. if postIndex > l {
  9319. return io.ErrUnexpectedEOF
  9320. }
  9321. m.Sender = string(dAtA[iNdEx:postIndex])
  9322. iNdEx = postIndex
  9323. default:
  9324. iNdEx = preIndex
  9325. skippy, err := skipAbci(dAtA[iNdEx:])
  9326. if err != nil {
  9327. return err
  9328. }
  9329. if skippy < 0 {
  9330. return ErrInvalidLengthAbci
  9331. }
  9332. if (iNdEx + skippy) < 0 {
  9333. return ErrInvalidLengthAbci
  9334. }
  9335. if (iNdEx + skippy) > l {
  9336. return io.ErrUnexpectedEOF
  9337. }
  9338. iNdEx += skippy
  9339. }
  9340. }
  9341. if iNdEx > l {
  9342. return io.ErrUnexpectedEOF
  9343. }
  9344. return nil
  9345. }
  9346. func (m *Response) Unmarshal(dAtA []byte) error {
  9347. l := len(dAtA)
  9348. iNdEx := 0
  9349. for iNdEx < l {
  9350. preIndex := iNdEx
  9351. var wire uint64
  9352. for shift := uint(0); ; shift += 7 {
  9353. if shift >= 64 {
  9354. return ErrIntOverflowAbci
  9355. }
  9356. if iNdEx >= l {
  9357. return io.ErrUnexpectedEOF
  9358. }
  9359. b := dAtA[iNdEx]
  9360. iNdEx++
  9361. wire |= uint64(b&0x7F) << shift
  9362. if b < 0x80 {
  9363. break
  9364. }
  9365. }
  9366. fieldNum := int32(wire >> 3)
  9367. wireType := int(wire & 0x7)
  9368. if wireType == 4 {
  9369. return fmt.Errorf("proto: Response: wiretype end group for non-group")
  9370. }
  9371. if fieldNum <= 0 {
  9372. return fmt.Errorf("proto: Response: illegal tag %d (wire type %d)", fieldNum, wire)
  9373. }
  9374. switch fieldNum {
  9375. case 1:
  9376. if wireType != 2 {
  9377. return fmt.Errorf("proto: wrong wireType = %d for field Exception", wireType)
  9378. }
  9379. var msglen int
  9380. for shift := uint(0); ; shift += 7 {
  9381. if shift >= 64 {
  9382. return ErrIntOverflowAbci
  9383. }
  9384. if iNdEx >= l {
  9385. return io.ErrUnexpectedEOF
  9386. }
  9387. b := dAtA[iNdEx]
  9388. iNdEx++
  9389. msglen |= int(b&0x7F) << shift
  9390. if b < 0x80 {
  9391. break
  9392. }
  9393. }
  9394. if msglen < 0 {
  9395. return ErrInvalidLengthAbci
  9396. }
  9397. postIndex := iNdEx + msglen
  9398. if postIndex < 0 {
  9399. return ErrInvalidLengthAbci
  9400. }
  9401. if postIndex > l {
  9402. return io.ErrUnexpectedEOF
  9403. }
  9404. v := &ResponseException{}
  9405. if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  9406. return err
  9407. }
  9408. m.Value = &Response_Exception{v}
  9409. iNdEx = postIndex
  9410. case 2:
  9411. if wireType != 2 {
  9412. return fmt.Errorf("proto: wrong wireType = %d for field Echo", wireType)
  9413. }
  9414. var msglen int
  9415. for shift := uint(0); ; shift += 7 {
  9416. if shift >= 64 {
  9417. return ErrIntOverflowAbci
  9418. }
  9419. if iNdEx >= l {
  9420. return io.ErrUnexpectedEOF
  9421. }
  9422. b := dAtA[iNdEx]
  9423. iNdEx++
  9424. msglen |= int(b&0x7F) << shift
  9425. if b < 0x80 {
  9426. break
  9427. }
  9428. }
  9429. if msglen < 0 {
  9430. return ErrInvalidLengthAbci
  9431. }
  9432. postIndex := iNdEx + msglen
  9433. if postIndex < 0 {
  9434. return ErrInvalidLengthAbci
  9435. }
  9436. if postIndex > l {
  9437. return io.ErrUnexpectedEOF
  9438. }
  9439. v := &ResponseEcho{}
  9440. if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  9441. return err
  9442. }
  9443. m.Value = &Response_Echo{v}
  9444. iNdEx = postIndex
  9445. case 3:
  9446. if wireType != 2 {
  9447. return fmt.Errorf("proto: wrong wireType = %d for field Flush", wireType)
  9448. }
  9449. var msglen int
  9450. for shift := uint(0); ; shift += 7 {
  9451. if shift >= 64 {
  9452. return ErrIntOverflowAbci
  9453. }
  9454. if iNdEx >= l {
  9455. return io.ErrUnexpectedEOF
  9456. }
  9457. b := dAtA[iNdEx]
  9458. iNdEx++
  9459. msglen |= int(b&0x7F) << shift
  9460. if b < 0x80 {
  9461. break
  9462. }
  9463. }
  9464. if msglen < 0 {
  9465. return ErrInvalidLengthAbci
  9466. }
  9467. postIndex := iNdEx + msglen
  9468. if postIndex < 0 {
  9469. return ErrInvalidLengthAbci
  9470. }
  9471. if postIndex > l {
  9472. return io.ErrUnexpectedEOF
  9473. }
  9474. v := &ResponseFlush{}
  9475. if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  9476. return err
  9477. }
  9478. m.Value = &Response_Flush{v}
  9479. iNdEx = postIndex
  9480. case 4:
  9481. if wireType != 2 {
  9482. return fmt.Errorf("proto: wrong wireType = %d for field Info", wireType)
  9483. }
  9484. var msglen int
  9485. for shift := uint(0); ; shift += 7 {
  9486. if shift >= 64 {
  9487. return ErrIntOverflowAbci
  9488. }
  9489. if iNdEx >= l {
  9490. return io.ErrUnexpectedEOF
  9491. }
  9492. b := dAtA[iNdEx]
  9493. iNdEx++
  9494. msglen |= int(b&0x7F) << shift
  9495. if b < 0x80 {
  9496. break
  9497. }
  9498. }
  9499. if msglen < 0 {
  9500. return ErrInvalidLengthAbci
  9501. }
  9502. postIndex := iNdEx + msglen
  9503. if postIndex < 0 {
  9504. return ErrInvalidLengthAbci
  9505. }
  9506. if postIndex > l {
  9507. return io.ErrUnexpectedEOF
  9508. }
  9509. v := &ResponseInfo{}
  9510. if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  9511. return err
  9512. }
  9513. m.Value = &Response_Info{v}
  9514. iNdEx = postIndex
  9515. case 5:
  9516. if wireType != 2 {
  9517. return fmt.Errorf("proto: wrong wireType = %d for field SetOption", wireType)
  9518. }
  9519. var msglen int
  9520. for shift := uint(0); ; shift += 7 {
  9521. if shift >= 64 {
  9522. return ErrIntOverflowAbci
  9523. }
  9524. if iNdEx >= l {
  9525. return io.ErrUnexpectedEOF
  9526. }
  9527. b := dAtA[iNdEx]
  9528. iNdEx++
  9529. msglen |= int(b&0x7F) << shift
  9530. if b < 0x80 {
  9531. break
  9532. }
  9533. }
  9534. if msglen < 0 {
  9535. return ErrInvalidLengthAbci
  9536. }
  9537. postIndex := iNdEx + msglen
  9538. if postIndex < 0 {
  9539. return ErrInvalidLengthAbci
  9540. }
  9541. if postIndex > l {
  9542. return io.ErrUnexpectedEOF
  9543. }
  9544. v := &ResponseSetOption{}
  9545. if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  9546. return err
  9547. }
  9548. m.Value = &Response_SetOption{v}
  9549. iNdEx = postIndex
  9550. case 6:
  9551. if wireType != 2 {
  9552. return fmt.Errorf("proto: wrong wireType = %d for field InitChain", wireType)
  9553. }
  9554. var msglen int
  9555. for shift := uint(0); ; shift += 7 {
  9556. if shift >= 64 {
  9557. return ErrIntOverflowAbci
  9558. }
  9559. if iNdEx >= l {
  9560. return io.ErrUnexpectedEOF
  9561. }
  9562. b := dAtA[iNdEx]
  9563. iNdEx++
  9564. msglen |= int(b&0x7F) << shift
  9565. if b < 0x80 {
  9566. break
  9567. }
  9568. }
  9569. if msglen < 0 {
  9570. return ErrInvalidLengthAbci
  9571. }
  9572. postIndex := iNdEx + msglen
  9573. if postIndex < 0 {
  9574. return ErrInvalidLengthAbci
  9575. }
  9576. if postIndex > l {
  9577. return io.ErrUnexpectedEOF
  9578. }
  9579. v := &ResponseInitChain{}
  9580. if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  9581. return err
  9582. }
  9583. m.Value = &Response_InitChain{v}
  9584. iNdEx = postIndex
  9585. case 7:
  9586. if wireType != 2 {
  9587. return fmt.Errorf("proto: wrong wireType = %d for field Query", wireType)
  9588. }
  9589. var msglen int
  9590. for shift := uint(0); ; shift += 7 {
  9591. if shift >= 64 {
  9592. return ErrIntOverflowAbci
  9593. }
  9594. if iNdEx >= l {
  9595. return io.ErrUnexpectedEOF
  9596. }
  9597. b := dAtA[iNdEx]
  9598. iNdEx++
  9599. msglen |= int(b&0x7F) << shift
  9600. if b < 0x80 {
  9601. break
  9602. }
  9603. }
  9604. if msglen < 0 {
  9605. return ErrInvalidLengthAbci
  9606. }
  9607. postIndex := iNdEx + msglen
  9608. if postIndex < 0 {
  9609. return ErrInvalidLengthAbci
  9610. }
  9611. if postIndex > l {
  9612. return io.ErrUnexpectedEOF
  9613. }
  9614. v := &ResponseQuery{}
  9615. if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  9616. return err
  9617. }
  9618. m.Value = &Response_Query{v}
  9619. iNdEx = postIndex
  9620. case 8:
  9621. if wireType != 2 {
  9622. return fmt.Errorf("proto: wrong wireType = %d for field BeginBlock", wireType)
  9623. }
  9624. var msglen int
  9625. for shift := uint(0); ; shift += 7 {
  9626. if shift >= 64 {
  9627. return ErrIntOverflowAbci
  9628. }
  9629. if iNdEx >= l {
  9630. return io.ErrUnexpectedEOF
  9631. }
  9632. b := dAtA[iNdEx]
  9633. iNdEx++
  9634. msglen |= int(b&0x7F) << shift
  9635. if b < 0x80 {
  9636. break
  9637. }
  9638. }
  9639. if msglen < 0 {
  9640. return ErrInvalidLengthAbci
  9641. }
  9642. postIndex := iNdEx + msglen
  9643. if postIndex < 0 {
  9644. return ErrInvalidLengthAbci
  9645. }
  9646. if postIndex > l {
  9647. return io.ErrUnexpectedEOF
  9648. }
  9649. v := &ResponseBeginBlock{}
  9650. if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  9651. return err
  9652. }
  9653. m.Value = &Response_BeginBlock{v}
  9654. iNdEx = postIndex
  9655. case 9:
  9656. if wireType != 2 {
  9657. return fmt.Errorf("proto: wrong wireType = %d for field CheckTx", wireType)
  9658. }
  9659. var msglen int
  9660. for shift := uint(0); ; shift += 7 {
  9661. if shift >= 64 {
  9662. return ErrIntOverflowAbci
  9663. }
  9664. if iNdEx >= l {
  9665. return io.ErrUnexpectedEOF
  9666. }
  9667. b := dAtA[iNdEx]
  9668. iNdEx++
  9669. msglen |= int(b&0x7F) << shift
  9670. if b < 0x80 {
  9671. break
  9672. }
  9673. }
  9674. if msglen < 0 {
  9675. return ErrInvalidLengthAbci
  9676. }
  9677. postIndex := iNdEx + msglen
  9678. if postIndex < 0 {
  9679. return ErrInvalidLengthAbci
  9680. }
  9681. if postIndex > l {
  9682. return io.ErrUnexpectedEOF
  9683. }
  9684. v := &ResponseCheckTx{}
  9685. if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  9686. return err
  9687. }
  9688. m.Value = &Response_CheckTx{v}
  9689. iNdEx = postIndex
  9690. case 10:
  9691. if wireType != 2 {
  9692. return fmt.Errorf("proto: wrong wireType = %d for field DeliverTx", wireType)
  9693. }
  9694. var msglen int
  9695. for shift := uint(0); ; shift += 7 {
  9696. if shift >= 64 {
  9697. return ErrIntOverflowAbci
  9698. }
  9699. if iNdEx >= l {
  9700. return io.ErrUnexpectedEOF
  9701. }
  9702. b := dAtA[iNdEx]
  9703. iNdEx++
  9704. msglen |= int(b&0x7F) << shift
  9705. if b < 0x80 {
  9706. break
  9707. }
  9708. }
  9709. if msglen < 0 {
  9710. return ErrInvalidLengthAbci
  9711. }
  9712. postIndex := iNdEx + msglen
  9713. if postIndex < 0 {
  9714. return ErrInvalidLengthAbci
  9715. }
  9716. if postIndex > l {
  9717. return io.ErrUnexpectedEOF
  9718. }
  9719. v := &ResponseDeliverTx{}
  9720. if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  9721. return err
  9722. }
  9723. m.Value = &Response_DeliverTx{v}
  9724. iNdEx = postIndex
  9725. case 11:
  9726. if wireType != 2 {
  9727. return fmt.Errorf("proto: wrong wireType = %d for field EndBlock", wireType)
  9728. }
  9729. var msglen int
  9730. for shift := uint(0); ; shift += 7 {
  9731. if shift >= 64 {
  9732. return ErrIntOverflowAbci
  9733. }
  9734. if iNdEx >= l {
  9735. return io.ErrUnexpectedEOF
  9736. }
  9737. b := dAtA[iNdEx]
  9738. iNdEx++
  9739. msglen |= int(b&0x7F) << shift
  9740. if b < 0x80 {
  9741. break
  9742. }
  9743. }
  9744. if msglen < 0 {
  9745. return ErrInvalidLengthAbci
  9746. }
  9747. postIndex := iNdEx + msglen
  9748. if postIndex < 0 {
  9749. return ErrInvalidLengthAbci
  9750. }
  9751. if postIndex > l {
  9752. return io.ErrUnexpectedEOF
  9753. }
  9754. v := &ResponseEndBlock{}
  9755. if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  9756. return err
  9757. }
  9758. m.Value = &Response_EndBlock{v}
  9759. iNdEx = postIndex
  9760. case 12:
  9761. if wireType != 2 {
  9762. return fmt.Errorf("proto: wrong wireType = %d for field Commit", wireType)
  9763. }
  9764. var msglen int
  9765. for shift := uint(0); ; shift += 7 {
  9766. if shift >= 64 {
  9767. return ErrIntOverflowAbci
  9768. }
  9769. if iNdEx >= l {
  9770. return io.ErrUnexpectedEOF
  9771. }
  9772. b := dAtA[iNdEx]
  9773. iNdEx++
  9774. msglen |= int(b&0x7F) << shift
  9775. if b < 0x80 {
  9776. break
  9777. }
  9778. }
  9779. if msglen < 0 {
  9780. return ErrInvalidLengthAbci
  9781. }
  9782. postIndex := iNdEx + msglen
  9783. if postIndex < 0 {
  9784. return ErrInvalidLengthAbci
  9785. }
  9786. if postIndex > l {
  9787. return io.ErrUnexpectedEOF
  9788. }
  9789. v := &ResponseCommit{}
  9790. if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  9791. return err
  9792. }
  9793. m.Value = &Response_Commit{v}
  9794. iNdEx = postIndex
  9795. case 13:
  9796. if wireType != 2 {
  9797. return fmt.Errorf("proto: wrong wireType = %d for field ListSnapshots", wireType)
  9798. }
  9799. var msglen int
  9800. for shift := uint(0); ; shift += 7 {
  9801. if shift >= 64 {
  9802. return ErrIntOverflowAbci
  9803. }
  9804. if iNdEx >= l {
  9805. return io.ErrUnexpectedEOF
  9806. }
  9807. b := dAtA[iNdEx]
  9808. iNdEx++
  9809. msglen |= int(b&0x7F) << shift
  9810. if b < 0x80 {
  9811. break
  9812. }
  9813. }
  9814. if msglen < 0 {
  9815. return ErrInvalidLengthAbci
  9816. }
  9817. postIndex := iNdEx + msglen
  9818. if postIndex < 0 {
  9819. return ErrInvalidLengthAbci
  9820. }
  9821. if postIndex > l {
  9822. return io.ErrUnexpectedEOF
  9823. }
  9824. v := &ResponseListSnapshots{}
  9825. if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  9826. return err
  9827. }
  9828. m.Value = &Response_ListSnapshots{v}
  9829. iNdEx = postIndex
  9830. case 14:
  9831. if wireType != 2 {
  9832. return fmt.Errorf("proto: wrong wireType = %d for field OfferSnapshot", wireType)
  9833. }
  9834. var msglen int
  9835. for shift := uint(0); ; shift += 7 {
  9836. if shift >= 64 {
  9837. return ErrIntOverflowAbci
  9838. }
  9839. if iNdEx >= l {
  9840. return io.ErrUnexpectedEOF
  9841. }
  9842. b := dAtA[iNdEx]
  9843. iNdEx++
  9844. msglen |= int(b&0x7F) << shift
  9845. if b < 0x80 {
  9846. break
  9847. }
  9848. }
  9849. if msglen < 0 {
  9850. return ErrInvalidLengthAbci
  9851. }
  9852. postIndex := iNdEx + msglen
  9853. if postIndex < 0 {
  9854. return ErrInvalidLengthAbci
  9855. }
  9856. if postIndex > l {
  9857. return io.ErrUnexpectedEOF
  9858. }
  9859. v := &ResponseOfferSnapshot{}
  9860. if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  9861. return err
  9862. }
  9863. m.Value = &Response_OfferSnapshot{v}
  9864. iNdEx = postIndex
  9865. case 15:
  9866. if wireType != 2 {
  9867. return fmt.Errorf("proto: wrong wireType = %d for field LoadSnapshotChunk", wireType)
  9868. }
  9869. var msglen int
  9870. for shift := uint(0); ; shift += 7 {
  9871. if shift >= 64 {
  9872. return ErrIntOverflowAbci
  9873. }
  9874. if iNdEx >= l {
  9875. return io.ErrUnexpectedEOF
  9876. }
  9877. b := dAtA[iNdEx]
  9878. iNdEx++
  9879. msglen |= int(b&0x7F) << shift
  9880. if b < 0x80 {
  9881. break
  9882. }
  9883. }
  9884. if msglen < 0 {
  9885. return ErrInvalidLengthAbci
  9886. }
  9887. postIndex := iNdEx + msglen
  9888. if postIndex < 0 {
  9889. return ErrInvalidLengthAbci
  9890. }
  9891. if postIndex > l {
  9892. return io.ErrUnexpectedEOF
  9893. }
  9894. v := &ResponseLoadSnapshotChunk{}
  9895. if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  9896. return err
  9897. }
  9898. m.Value = &Response_LoadSnapshotChunk{v}
  9899. iNdEx = postIndex
  9900. case 16:
  9901. if wireType != 2 {
  9902. return fmt.Errorf("proto: wrong wireType = %d for field ApplySnapshotChunk", wireType)
  9903. }
  9904. var msglen int
  9905. for shift := uint(0); ; shift += 7 {
  9906. if shift >= 64 {
  9907. return ErrIntOverflowAbci
  9908. }
  9909. if iNdEx >= l {
  9910. return io.ErrUnexpectedEOF
  9911. }
  9912. b := dAtA[iNdEx]
  9913. iNdEx++
  9914. msglen |= int(b&0x7F) << shift
  9915. if b < 0x80 {
  9916. break
  9917. }
  9918. }
  9919. if msglen < 0 {
  9920. return ErrInvalidLengthAbci
  9921. }
  9922. postIndex := iNdEx + msglen
  9923. if postIndex < 0 {
  9924. return ErrInvalidLengthAbci
  9925. }
  9926. if postIndex > l {
  9927. return io.ErrUnexpectedEOF
  9928. }
  9929. v := &ResponseApplySnapshotChunk{}
  9930. if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  9931. return err
  9932. }
  9933. m.Value = &Response_ApplySnapshotChunk{v}
  9934. iNdEx = postIndex
  9935. default:
  9936. iNdEx = preIndex
  9937. skippy, err := skipAbci(dAtA[iNdEx:])
  9938. if err != nil {
  9939. return err
  9940. }
  9941. if skippy < 0 {
  9942. return ErrInvalidLengthAbci
  9943. }
  9944. if (iNdEx + skippy) < 0 {
  9945. return ErrInvalidLengthAbci
  9946. }
  9947. if (iNdEx + skippy) > l {
  9948. return io.ErrUnexpectedEOF
  9949. }
  9950. iNdEx += skippy
  9951. }
  9952. }
  9953. if iNdEx > l {
  9954. return io.ErrUnexpectedEOF
  9955. }
  9956. return nil
  9957. }
  9958. func (m *ResponseException) Unmarshal(dAtA []byte) error {
  9959. l := len(dAtA)
  9960. iNdEx := 0
  9961. for iNdEx < l {
  9962. preIndex := iNdEx
  9963. var wire uint64
  9964. for shift := uint(0); ; shift += 7 {
  9965. if shift >= 64 {
  9966. return ErrIntOverflowAbci
  9967. }
  9968. if iNdEx >= l {
  9969. return io.ErrUnexpectedEOF
  9970. }
  9971. b := dAtA[iNdEx]
  9972. iNdEx++
  9973. wire |= uint64(b&0x7F) << shift
  9974. if b < 0x80 {
  9975. break
  9976. }
  9977. }
  9978. fieldNum := int32(wire >> 3)
  9979. wireType := int(wire & 0x7)
  9980. if wireType == 4 {
  9981. return fmt.Errorf("proto: ResponseException: wiretype end group for non-group")
  9982. }
  9983. if fieldNum <= 0 {
  9984. return fmt.Errorf("proto: ResponseException: illegal tag %d (wire type %d)", fieldNum, wire)
  9985. }
  9986. switch fieldNum {
  9987. case 1:
  9988. if wireType != 2 {
  9989. return fmt.Errorf("proto: wrong wireType = %d for field Error", wireType)
  9990. }
  9991. var stringLen uint64
  9992. for shift := uint(0); ; shift += 7 {
  9993. if shift >= 64 {
  9994. return ErrIntOverflowAbci
  9995. }
  9996. if iNdEx >= l {
  9997. return io.ErrUnexpectedEOF
  9998. }
  9999. b := dAtA[iNdEx]
  10000. iNdEx++
  10001. stringLen |= uint64(b&0x7F) << shift
  10002. if b < 0x80 {
  10003. break
  10004. }
  10005. }
  10006. intStringLen := int(stringLen)
  10007. if intStringLen < 0 {
  10008. return ErrInvalidLengthAbci
  10009. }
  10010. postIndex := iNdEx + intStringLen
  10011. if postIndex < 0 {
  10012. return ErrInvalidLengthAbci
  10013. }
  10014. if postIndex > l {
  10015. return io.ErrUnexpectedEOF
  10016. }
  10017. m.Error = string(dAtA[iNdEx:postIndex])
  10018. iNdEx = postIndex
  10019. default:
  10020. iNdEx = preIndex
  10021. skippy, err := skipAbci(dAtA[iNdEx:])
  10022. if err != nil {
  10023. return err
  10024. }
  10025. if skippy < 0 {
  10026. return ErrInvalidLengthAbci
  10027. }
  10028. if (iNdEx + skippy) < 0 {
  10029. return ErrInvalidLengthAbci
  10030. }
  10031. if (iNdEx + skippy) > l {
  10032. return io.ErrUnexpectedEOF
  10033. }
  10034. iNdEx += skippy
  10035. }
  10036. }
  10037. if iNdEx > l {
  10038. return io.ErrUnexpectedEOF
  10039. }
  10040. return nil
  10041. }
  10042. func (m *ResponseEcho) Unmarshal(dAtA []byte) error {
  10043. l := len(dAtA)
  10044. iNdEx := 0
  10045. for iNdEx < l {
  10046. preIndex := iNdEx
  10047. var wire uint64
  10048. for shift := uint(0); ; shift += 7 {
  10049. if shift >= 64 {
  10050. return ErrIntOverflowAbci
  10051. }
  10052. if iNdEx >= l {
  10053. return io.ErrUnexpectedEOF
  10054. }
  10055. b := dAtA[iNdEx]
  10056. iNdEx++
  10057. wire |= uint64(b&0x7F) << shift
  10058. if b < 0x80 {
  10059. break
  10060. }
  10061. }
  10062. fieldNum := int32(wire >> 3)
  10063. wireType := int(wire & 0x7)
  10064. if wireType == 4 {
  10065. return fmt.Errorf("proto: ResponseEcho: wiretype end group for non-group")
  10066. }
  10067. if fieldNum <= 0 {
  10068. return fmt.Errorf("proto: ResponseEcho: illegal tag %d (wire type %d)", fieldNum, wire)
  10069. }
  10070. switch fieldNum {
  10071. case 1:
  10072. if wireType != 2 {
  10073. return fmt.Errorf("proto: wrong wireType = %d for field Message", wireType)
  10074. }
  10075. var stringLen uint64
  10076. for shift := uint(0); ; shift += 7 {
  10077. if shift >= 64 {
  10078. return ErrIntOverflowAbci
  10079. }
  10080. if iNdEx >= l {
  10081. return io.ErrUnexpectedEOF
  10082. }
  10083. b := dAtA[iNdEx]
  10084. iNdEx++
  10085. stringLen |= uint64(b&0x7F) << shift
  10086. if b < 0x80 {
  10087. break
  10088. }
  10089. }
  10090. intStringLen := int(stringLen)
  10091. if intStringLen < 0 {
  10092. return ErrInvalidLengthAbci
  10093. }
  10094. postIndex := iNdEx + intStringLen
  10095. if postIndex < 0 {
  10096. return ErrInvalidLengthAbci
  10097. }
  10098. if postIndex > l {
  10099. return io.ErrUnexpectedEOF
  10100. }
  10101. m.Message = string(dAtA[iNdEx:postIndex])
  10102. iNdEx = postIndex
  10103. default:
  10104. iNdEx = preIndex
  10105. skippy, err := skipAbci(dAtA[iNdEx:])
  10106. if err != nil {
  10107. return err
  10108. }
  10109. if skippy < 0 {
  10110. return ErrInvalidLengthAbci
  10111. }
  10112. if (iNdEx + skippy) < 0 {
  10113. return ErrInvalidLengthAbci
  10114. }
  10115. if (iNdEx + skippy) > l {
  10116. return io.ErrUnexpectedEOF
  10117. }
  10118. iNdEx += skippy
  10119. }
  10120. }
  10121. if iNdEx > l {
  10122. return io.ErrUnexpectedEOF
  10123. }
  10124. return nil
  10125. }
  10126. func (m *ResponseFlush) Unmarshal(dAtA []byte) error {
  10127. l := len(dAtA)
  10128. iNdEx := 0
  10129. for iNdEx < l {
  10130. preIndex := iNdEx
  10131. var wire uint64
  10132. for shift := uint(0); ; shift += 7 {
  10133. if shift >= 64 {
  10134. return ErrIntOverflowAbci
  10135. }
  10136. if iNdEx >= l {
  10137. return io.ErrUnexpectedEOF
  10138. }
  10139. b := dAtA[iNdEx]
  10140. iNdEx++
  10141. wire |= uint64(b&0x7F) << shift
  10142. if b < 0x80 {
  10143. break
  10144. }
  10145. }
  10146. fieldNum := int32(wire >> 3)
  10147. wireType := int(wire & 0x7)
  10148. if wireType == 4 {
  10149. return fmt.Errorf("proto: ResponseFlush: wiretype end group for non-group")
  10150. }
  10151. if fieldNum <= 0 {
  10152. return fmt.Errorf("proto: ResponseFlush: illegal tag %d (wire type %d)", fieldNum, wire)
  10153. }
  10154. switch fieldNum {
  10155. default:
  10156. iNdEx = preIndex
  10157. skippy, err := skipAbci(dAtA[iNdEx:])
  10158. if err != nil {
  10159. return err
  10160. }
  10161. if skippy < 0 {
  10162. return ErrInvalidLengthAbci
  10163. }
  10164. if (iNdEx + skippy) < 0 {
  10165. return ErrInvalidLengthAbci
  10166. }
  10167. if (iNdEx + skippy) > l {
  10168. return io.ErrUnexpectedEOF
  10169. }
  10170. iNdEx += skippy
  10171. }
  10172. }
  10173. if iNdEx > l {
  10174. return io.ErrUnexpectedEOF
  10175. }
  10176. return nil
  10177. }
  10178. func (m *ResponseInfo) Unmarshal(dAtA []byte) error {
  10179. l := len(dAtA)
  10180. iNdEx := 0
  10181. for iNdEx < l {
  10182. preIndex := iNdEx
  10183. var wire uint64
  10184. for shift := uint(0); ; shift += 7 {
  10185. if shift >= 64 {
  10186. return ErrIntOverflowAbci
  10187. }
  10188. if iNdEx >= l {
  10189. return io.ErrUnexpectedEOF
  10190. }
  10191. b := dAtA[iNdEx]
  10192. iNdEx++
  10193. wire |= uint64(b&0x7F) << shift
  10194. if b < 0x80 {
  10195. break
  10196. }
  10197. }
  10198. fieldNum := int32(wire >> 3)
  10199. wireType := int(wire & 0x7)
  10200. if wireType == 4 {
  10201. return fmt.Errorf("proto: ResponseInfo: wiretype end group for non-group")
  10202. }
  10203. if fieldNum <= 0 {
  10204. return fmt.Errorf("proto: ResponseInfo: illegal tag %d (wire type %d)", fieldNum, wire)
  10205. }
  10206. switch fieldNum {
  10207. case 1:
  10208. if wireType != 2 {
  10209. return fmt.Errorf("proto: wrong wireType = %d for field Data", wireType)
  10210. }
  10211. var stringLen uint64
  10212. for shift := uint(0); ; shift += 7 {
  10213. if shift >= 64 {
  10214. return ErrIntOverflowAbci
  10215. }
  10216. if iNdEx >= l {
  10217. return io.ErrUnexpectedEOF
  10218. }
  10219. b := dAtA[iNdEx]
  10220. iNdEx++
  10221. stringLen |= uint64(b&0x7F) << shift
  10222. if b < 0x80 {
  10223. break
  10224. }
  10225. }
  10226. intStringLen := int(stringLen)
  10227. if intStringLen < 0 {
  10228. return ErrInvalidLengthAbci
  10229. }
  10230. postIndex := iNdEx + intStringLen
  10231. if postIndex < 0 {
  10232. return ErrInvalidLengthAbci
  10233. }
  10234. if postIndex > l {
  10235. return io.ErrUnexpectedEOF
  10236. }
  10237. m.Data = string(dAtA[iNdEx:postIndex])
  10238. iNdEx = postIndex
  10239. case 2:
  10240. if wireType != 2 {
  10241. return fmt.Errorf("proto: wrong wireType = %d for field Version", wireType)
  10242. }
  10243. var stringLen uint64
  10244. for shift := uint(0); ; shift += 7 {
  10245. if shift >= 64 {
  10246. return ErrIntOverflowAbci
  10247. }
  10248. if iNdEx >= l {
  10249. return io.ErrUnexpectedEOF
  10250. }
  10251. b := dAtA[iNdEx]
  10252. iNdEx++
  10253. stringLen |= uint64(b&0x7F) << shift
  10254. if b < 0x80 {
  10255. break
  10256. }
  10257. }
  10258. intStringLen := int(stringLen)
  10259. if intStringLen < 0 {
  10260. return ErrInvalidLengthAbci
  10261. }
  10262. postIndex := iNdEx + intStringLen
  10263. if postIndex < 0 {
  10264. return ErrInvalidLengthAbci
  10265. }
  10266. if postIndex > l {
  10267. return io.ErrUnexpectedEOF
  10268. }
  10269. m.Version = string(dAtA[iNdEx:postIndex])
  10270. iNdEx = postIndex
  10271. case 3:
  10272. if wireType != 0 {
  10273. return fmt.Errorf("proto: wrong wireType = %d for field AppVersion", wireType)
  10274. }
  10275. m.AppVersion = 0
  10276. for shift := uint(0); ; shift += 7 {
  10277. if shift >= 64 {
  10278. return ErrIntOverflowAbci
  10279. }
  10280. if iNdEx >= l {
  10281. return io.ErrUnexpectedEOF
  10282. }
  10283. b := dAtA[iNdEx]
  10284. iNdEx++
  10285. m.AppVersion |= uint64(b&0x7F) << shift
  10286. if b < 0x80 {
  10287. break
  10288. }
  10289. }
  10290. case 4:
  10291. if wireType != 0 {
  10292. return fmt.Errorf("proto: wrong wireType = %d for field LastBlockHeight", wireType)
  10293. }
  10294. m.LastBlockHeight = 0
  10295. for shift := uint(0); ; shift += 7 {
  10296. if shift >= 64 {
  10297. return ErrIntOverflowAbci
  10298. }
  10299. if iNdEx >= l {
  10300. return io.ErrUnexpectedEOF
  10301. }
  10302. b := dAtA[iNdEx]
  10303. iNdEx++
  10304. m.LastBlockHeight |= int64(b&0x7F) << shift
  10305. if b < 0x80 {
  10306. break
  10307. }
  10308. }
  10309. case 5:
  10310. if wireType != 2 {
  10311. return fmt.Errorf("proto: wrong wireType = %d for field LastBlockAppHash", wireType)
  10312. }
  10313. var byteLen int
  10314. for shift := uint(0); ; shift += 7 {
  10315. if shift >= 64 {
  10316. return ErrIntOverflowAbci
  10317. }
  10318. if iNdEx >= l {
  10319. return io.ErrUnexpectedEOF
  10320. }
  10321. b := dAtA[iNdEx]
  10322. iNdEx++
  10323. byteLen |= int(b&0x7F) << shift
  10324. if b < 0x80 {
  10325. break
  10326. }
  10327. }
  10328. if byteLen < 0 {
  10329. return ErrInvalidLengthAbci
  10330. }
  10331. postIndex := iNdEx + byteLen
  10332. if postIndex < 0 {
  10333. return ErrInvalidLengthAbci
  10334. }
  10335. if postIndex > l {
  10336. return io.ErrUnexpectedEOF
  10337. }
  10338. m.LastBlockAppHash = append(m.LastBlockAppHash[:0], dAtA[iNdEx:postIndex]...)
  10339. if m.LastBlockAppHash == nil {
  10340. m.LastBlockAppHash = []byte{}
  10341. }
  10342. iNdEx = postIndex
  10343. default:
  10344. iNdEx = preIndex
  10345. skippy, err := skipAbci(dAtA[iNdEx:])
  10346. if err != nil {
  10347. return err
  10348. }
  10349. if skippy < 0 {
  10350. return ErrInvalidLengthAbci
  10351. }
  10352. if (iNdEx + skippy) < 0 {
  10353. return ErrInvalidLengthAbci
  10354. }
  10355. if (iNdEx + skippy) > l {
  10356. return io.ErrUnexpectedEOF
  10357. }
  10358. iNdEx += skippy
  10359. }
  10360. }
  10361. if iNdEx > l {
  10362. return io.ErrUnexpectedEOF
  10363. }
  10364. return nil
  10365. }
  10366. func (m *ResponseSetOption) Unmarshal(dAtA []byte) error {
  10367. l := len(dAtA)
  10368. iNdEx := 0
  10369. for iNdEx < l {
  10370. preIndex := iNdEx
  10371. var wire uint64
  10372. for shift := uint(0); ; shift += 7 {
  10373. if shift >= 64 {
  10374. return ErrIntOverflowAbci
  10375. }
  10376. if iNdEx >= l {
  10377. return io.ErrUnexpectedEOF
  10378. }
  10379. b := dAtA[iNdEx]
  10380. iNdEx++
  10381. wire |= uint64(b&0x7F) << shift
  10382. if b < 0x80 {
  10383. break
  10384. }
  10385. }
  10386. fieldNum := int32(wire >> 3)
  10387. wireType := int(wire & 0x7)
  10388. if wireType == 4 {
  10389. return fmt.Errorf("proto: ResponseSetOption: wiretype end group for non-group")
  10390. }
  10391. if fieldNum <= 0 {
  10392. return fmt.Errorf("proto: ResponseSetOption: illegal tag %d (wire type %d)", fieldNum, wire)
  10393. }
  10394. switch fieldNum {
  10395. case 1:
  10396. if wireType != 0 {
  10397. return fmt.Errorf("proto: wrong wireType = %d for field Code", wireType)
  10398. }
  10399. m.Code = 0
  10400. for shift := uint(0); ; shift += 7 {
  10401. if shift >= 64 {
  10402. return ErrIntOverflowAbci
  10403. }
  10404. if iNdEx >= l {
  10405. return io.ErrUnexpectedEOF
  10406. }
  10407. b := dAtA[iNdEx]
  10408. iNdEx++
  10409. m.Code |= uint32(b&0x7F) << shift
  10410. if b < 0x80 {
  10411. break
  10412. }
  10413. }
  10414. case 3:
  10415. if wireType != 2 {
  10416. return fmt.Errorf("proto: wrong wireType = %d for field Log", wireType)
  10417. }
  10418. var stringLen uint64
  10419. for shift := uint(0); ; shift += 7 {
  10420. if shift >= 64 {
  10421. return ErrIntOverflowAbci
  10422. }
  10423. if iNdEx >= l {
  10424. return io.ErrUnexpectedEOF
  10425. }
  10426. b := dAtA[iNdEx]
  10427. iNdEx++
  10428. stringLen |= uint64(b&0x7F) << shift
  10429. if b < 0x80 {
  10430. break
  10431. }
  10432. }
  10433. intStringLen := int(stringLen)
  10434. if intStringLen < 0 {
  10435. return ErrInvalidLengthAbci
  10436. }
  10437. postIndex := iNdEx + intStringLen
  10438. if postIndex < 0 {
  10439. return ErrInvalidLengthAbci
  10440. }
  10441. if postIndex > l {
  10442. return io.ErrUnexpectedEOF
  10443. }
  10444. m.Log = string(dAtA[iNdEx:postIndex])
  10445. iNdEx = postIndex
  10446. case 4:
  10447. if wireType != 2 {
  10448. return fmt.Errorf("proto: wrong wireType = %d for field Info", wireType)
  10449. }
  10450. var stringLen uint64
  10451. for shift := uint(0); ; shift += 7 {
  10452. if shift >= 64 {
  10453. return ErrIntOverflowAbci
  10454. }
  10455. if iNdEx >= l {
  10456. return io.ErrUnexpectedEOF
  10457. }
  10458. b := dAtA[iNdEx]
  10459. iNdEx++
  10460. stringLen |= uint64(b&0x7F) << shift
  10461. if b < 0x80 {
  10462. break
  10463. }
  10464. }
  10465. intStringLen := int(stringLen)
  10466. if intStringLen < 0 {
  10467. return ErrInvalidLengthAbci
  10468. }
  10469. postIndex := iNdEx + intStringLen
  10470. if postIndex < 0 {
  10471. return ErrInvalidLengthAbci
  10472. }
  10473. if postIndex > l {
  10474. return io.ErrUnexpectedEOF
  10475. }
  10476. m.Info = string(dAtA[iNdEx:postIndex])
  10477. iNdEx = postIndex
  10478. default:
  10479. iNdEx = preIndex
  10480. skippy, err := skipAbci(dAtA[iNdEx:])
  10481. if err != nil {
  10482. return err
  10483. }
  10484. if skippy < 0 {
  10485. return ErrInvalidLengthAbci
  10486. }
  10487. if (iNdEx + skippy) < 0 {
  10488. return ErrInvalidLengthAbci
  10489. }
  10490. if (iNdEx + skippy) > l {
  10491. return io.ErrUnexpectedEOF
  10492. }
  10493. iNdEx += skippy
  10494. }
  10495. }
  10496. if iNdEx > l {
  10497. return io.ErrUnexpectedEOF
  10498. }
  10499. return nil
  10500. }
  10501. func (m *ResponseInitChain) Unmarshal(dAtA []byte) error {
  10502. l := len(dAtA)
  10503. iNdEx := 0
  10504. for iNdEx < l {
  10505. preIndex := iNdEx
  10506. var wire uint64
  10507. for shift := uint(0); ; shift += 7 {
  10508. if shift >= 64 {
  10509. return ErrIntOverflowAbci
  10510. }
  10511. if iNdEx >= l {
  10512. return io.ErrUnexpectedEOF
  10513. }
  10514. b := dAtA[iNdEx]
  10515. iNdEx++
  10516. wire |= uint64(b&0x7F) << shift
  10517. if b < 0x80 {
  10518. break
  10519. }
  10520. }
  10521. fieldNum := int32(wire >> 3)
  10522. wireType := int(wire & 0x7)
  10523. if wireType == 4 {
  10524. return fmt.Errorf("proto: ResponseInitChain: wiretype end group for non-group")
  10525. }
  10526. if fieldNum <= 0 {
  10527. return fmt.Errorf("proto: ResponseInitChain: illegal tag %d (wire type %d)", fieldNum, wire)
  10528. }
  10529. switch fieldNum {
  10530. case 1:
  10531. if wireType != 2 {
  10532. return fmt.Errorf("proto: wrong wireType = %d for field ConsensusParams", wireType)
  10533. }
  10534. var msglen int
  10535. for shift := uint(0); ; shift += 7 {
  10536. if shift >= 64 {
  10537. return ErrIntOverflowAbci
  10538. }
  10539. if iNdEx >= l {
  10540. return io.ErrUnexpectedEOF
  10541. }
  10542. b := dAtA[iNdEx]
  10543. iNdEx++
  10544. msglen |= int(b&0x7F) << shift
  10545. if b < 0x80 {
  10546. break
  10547. }
  10548. }
  10549. if msglen < 0 {
  10550. return ErrInvalidLengthAbci
  10551. }
  10552. postIndex := iNdEx + msglen
  10553. if postIndex < 0 {
  10554. return ErrInvalidLengthAbci
  10555. }
  10556. if postIndex > l {
  10557. return io.ErrUnexpectedEOF
  10558. }
  10559. if m.ConsensusParams == nil {
  10560. m.ConsensusParams = &ConsensusParams{}
  10561. }
  10562. if err := m.ConsensusParams.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  10563. return err
  10564. }
  10565. iNdEx = postIndex
  10566. case 2:
  10567. if wireType != 2 {
  10568. return fmt.Errorf("proto: wrong wireType = %d for field Validators", wireType)
  10569. }
  10570. var msglen int
  10571. for shift := uint(0); ; shift += 7 {
  10572. if shift >= 64 {
  10573. return ErrIntOverflowAbci
  10574. }
  10575. if iNdEx >= l {
  10576. return io.ErrUnexpectedEOF
  10577. }
  10578. b := dAtA[iNdEx]
  10579. iNdEx++
  10580. msglen |= int(b&0x7F) << shift
  10581. if b < 0x80 {
  10582. break
  10583. }
  10584. }
  10585. if msglen < 0 {
  10586. return ErrInvalidLengthAbci
  10587. }
  10588. postIndex := iNdEx + msglen
  10589. if postIndex < 0 {
  10590. return ErrInvalidLengthAbci
  10591. }
  10592. if postIndex > l {
  10593. return io.ErrUnexpectedEOF
  10594. }
  10595. m.Validators = append(m.Validators, ValidatorUpdate{})
  10596. if err := m.Validators[len(m.Validators)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  10597. return err
  10598. }
  10599. iNdEx = postIndex
  10600. default:
  10601. iNdEx = preIndex
  10602. skippy, err := skipAbci(dAtA[iNdEx:])
  10603. if err != nil {
  10604. return err
  10605. }
  10606. if skippy < 0 {
  10607. return ErrInvalidLengthAbci
  10608. }
  10609. if (iNdEx + skippy) < 0 {
  10610. return ErrInvalidLengthAbci
  10611. }
  10612. if (iNdEx + skippy) > l {
  10613. return io.ErrUnexpectedEOF
  10614. }
  10615. iNdEx += skippy
  10616. }
  10617. }
  10618. if iNdEx > l {
  10619. return io.ErrUnexpectedEOF
  10620. }
  10621. return nil
  10622. }
  10623. func (m *ResponseQuery) Unmarshal(dAtA []byte) error {
  10624. l := len(dAtA)
  10625. iNdEx := 0
  10626. for iNdEx < l {
  10627. preIndex := iNdEx
  10628. var wire uint64
  10629. for shift := uint(0); ; shift += 7 {
  10630. if shift >= 64 {
  10631. return ErrIntOverflowAbci
  10632. }
  10633. if iNdEx >= l {
  10634. return io.ErrUnexpectedEOF
  10635. }
  10636. b := dAtA[iNdEx]
  10637. iNdEx++
  10638. wire |= uint64(b&0x7F) << shift
  10639. if b < 0x80 {
  10640. break
  10641. }
  10642. }
  10643. fieldNum := int32(wire >> 3)
  10644. wireType := int(wire & 0x7)
  10645. if wireType == 4 {
  10646. return fmt.Errorf("proto: ResponseQuery: wiretype end group for non-group")
  10647. }
  10648. if fieldNum <= 0 {
  10649. return fmt.Errorf("proto: ResponseQuery: illegal tag %d (wire type %d)", fieldNum, wire)
  10650. }
  10651. switch fieldNum {
  10652. case 1:
  10653. if wireType != 0 {
  10654. return fmt.Errorf("proto: wrong wireType = %d for field Code", wireType)
  10655. }
  10656. m.Code = 0
  10657. for shift := uint(0); ; shift += 7 {
  10658. if shift >= 64 {
  10659. return ErrIntOverflowAbci
  10660. }
  10661. if iNdEx >= l {
  10662. return io.ErrUnexpectedEOF
  10663. }
  10664. b := dAtA[iNdEx]
  10665. iNdEx++
  10666. m.Code |= uint32(b&0x7F) << shift
  10667. if b < 0x80 {
  10668. break
  10669. }
  10670. }
  10671. case 3:
  10672. if wireType != 2 {
  10673. return fmt.Errorf("proto: wrong wireType = %d for field Log", wireType)
  10674. }
  10675. var stringLen uint64
  10676. for shift := uint(0); ; shift += 7 {
  10677. if shift >= 64 {
  10678. return ErrIntOverflowAbci
  10679. }
  10680. if iNdEx >= l {
  10681. return io.ErrUnexpectedEOF
  10682. }
  10683. b := dAtA[iNdEx]
  10684. iNdEx++
  10685. stringLen |= uint64(b&0x7F) << shift
  10686. if b < 0x80 {
  10687. break
  10688. }
  10689. }
  10690. intStringLen := int(stringLen)
  10691. if intStringLen < 0 {
  10692. return ErrInvalidLengthAbci
  10693. }
  10694. postIndex := iNdEx + intStringLen
  10695. if postIndex < 0 {
  10696. return ErrInvalidLengthAbci
  10697. }
  10698. if postIndex > l {
  10699. return io.ErrUnexpectedEOF
  10700. }
  10701. m.Log = string(dAtA[iNdEx:postIndex])
  10702. iNdEx = postIndex
  10703. case 4:
  10704. if wireType != 2 {
  10705. return fmt.Errorf("proto: wrong wireType = %d for field Info", wireType)
  10706. }
  10707. var stringLen uint64
  10708. for shift := uint(0); ; shift += 7 {
  10709. if shift >= 64 {
  10710. return ErrIntOverflowAbci
  10711. }
  10712. if iNdEx >= l {
  10713. return io.ErrUnexpectedEOF
  10714. }
  10715. b := dAtA[iNdEx]
  10716. iNdEx++
  10717. stringLen |= uint64(b&0x7F) << shift
  10718. if b < 0x80 {
  10719. break
  10720. }
  10721. }
  10722. intStringLen := int(stringLen)
  10723. if intStringLen < 0 {
  10724. return ErrInvalidLengthAbci
  10725. }
  10726. postIndex := iNdEx + intStringLen
  10727. if postIndex < 0 {
  10728. return ErrInvalidLengthAbci
  10729. }
  10730. if postIndex > l {
  10731. return io.ErrUnexpectedEOF
  10732. }
  10733. m.Info = string(dAtA[iNdEx:postIndex])
  10734. iNdEx = postIndex
  10735. case 5:
  10736. if wireType != 0 {
  10737. return fmt.Errorf("proto: wrong wireType = %d for field Index", wireType)
  10738. }
  10739. m.Index = 0
  10740. for shift := uint(0); ; shift += 7 {
  10741. if shift >= 64 {
  10742. return ErrIntOverflowAbci
  10743. }
  10744. if iNdEx >= l {
  10745. return io.ErrUnexpectedEOF
  10746. }
  10747. b := dAtA[iNdEx]
  10748. iNdEx++
  10749. m.Index |= int64(b&0x7F) << shift
  10750. if b < 0x80 {
  10751. break
  10752. }
  10753. }
  10754. case 6:
  10755. if wireType != 2 {
  10756. return fmt.Errorf("proto: wrong wireType = %d for field Key", wireType)
  10757. }
  10758. var byteLen int
  10759. for shift := uint(0); ; shift += 7 {
  10760. if shift >= 64 {
  10761. return ErrIntOverflowAbci
  10762. }
  10763. if iNdEx >= l {
  10764. return io.ErrUnexpectedEOF
  10765. }
  10766. b := dAtA[iNdEx]
  10767. iNdEx++
  10768. byteLen |= int(b&0x7F) << shift
  10769. if b < 0x80 {
  10770. break
  10771. }
  10772. }
  10773. if byteLen < 0 {
  10774. return ErrInvalidLengthAbci
  10775. }
  10776. postIndex := iNdEx + byteLen
  10777. if postIndex < 0 {
  10778. return ErrInvalidLengthAbci
  10779. }
  10780. if postIndex > l {
  10781. return io.ErrUnexpectedEOF
  10782. }
  10783. m.Key = append(m.Key[:0], dAtA[iNdEx:postIndex]...)
  10784. if m.Key == nil {
  10785. m.Key = []byte{}
  10786. }
  10787. iNdEx = postIndex
  10788. case 7:
  10789. if wireType != 2 {
  10790. return fmt.Errorf("proto: wrong wireType = %d for field Value", wireType)
  10791. }
  10792. var byteLen int
  10793. for shift := uint(0); ; shift += 7 {
  10794. if shift >= 64 {
  10795. return ErrIntOverflowAbci
  10796. }
  10797. if iNdEx >= l {
  10798. return io.ErrUnexpectedEOF
  10799. }
  10800. b := dAtA[iNdEx]
  10801. iNdEx++
  10802. byteLen |= int(b&0x7F) << shift
  10803. if b < 0x80 {
  10804. break
  10805. }
  10806. }
  10807. if byteLen < 0 {
  10808. return ErrInvalidLengthAbci
  10809. }
  10810. postIndex := iNdEx + byteLen
  10811. if postIndex < 0 {
  10812. return ErrInvalidLengthAbci
  10813. }
  10814. if postIndex > l {
  10815. return io.ErrUnexpectedEOF
  10816. }
  10817. m.Value = append(m.Value[:0], dAtA[iNdEx:postIndex]...)
  10818. if m.Value == nil {
  10819. m.Value = []byte{}
  10820. }
  10821. iNdEx = postIndex
  10822. case 8:
  10823. if wireType != 2 {
  10824. return fmt.Errorf("proto: wrong wireType = %d for field ProofOps", wireType)
  10825. }
  10826. var msglen int
  10827. for shift := uint(0); ; shift += 7 {
  10828. if shift >= 64 {
  10829. return ErrIntOverflowAbci
  10830. }
  10831. if iNdEx >= l {
  10832. return io.ErrUnexpectedEOF
  10833. }
  10834. b := dAtA[iNdEx]
  10835. iNdEx++
  10836. msglen |= int(b&0x7F) << shift
  10837. if b < 0x80 {
  10838. break
  10839. }
  10840. }
  10841. if msglen < 0 {
  10842. return ErrInvalidLengthAbci
  10843. }
  10844. postIndex := iNdEx + msglen
  10845. if postIndex < 0 {
  10846. return ErrInvalidLengthAbci
  10847. }
  10848. if postIndex > l {
  10849. return io.ErrUnexpectedEOF
  10850. }
  10851. if m.ProofOps == nil {
  10852. m.ProofOps = &merkle.ProofOps{}
  10853. }
  10854. if err := m.ProofOps.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  10855. return err
  10856. }
  10857. iNdEx = postIndex
  10858. case 9:
  10859. if wireType != 0 {
  10860. return fmt.Errorf("proto: wrong wireType = %d for field Height", wireType)
  10861. }
  10862. m.Height = 0
  10863. for shift := uint(0); ; shift += 7 {
  10864. if shift >= 64 {
  10865. return ErrIntOverflowAbci
  10866. }
  10867. if iNdEx >= l {
  10868. return io.ErrUnexpectedEOF
  10869. }
  10870. b := dAtA[iNdEx]
  10871. iNdEx++
  10872. m.Height |= int64(b&0x7F) << shift
  10873. if b < 0x80 {
  10874. break
  10875. }
  10876. }
  10877. case 10:
  10878. if wireType != 2 {
  10879. return fmt.Errorf("proto: wrong wireType = %d for field Codespace", wireType)
  10880. }
  10881. var stringLen uint64
  10882. for shift := uint(0); ; shift += 7 {
  10883. if shift >= 64 {
  10884. return ErrIntOverflowAbci
  10885. }
  10886. if iNdEx >= l {
  10887. return io.ErrUnexpectedEOF
  10888. }
  10889. b := dAtA[iNdEx]
  10890. iNdEx++
  10891. stringLen |= uint64(b&0x7F) << shift
  10892. if b < 0x80 {
  10893. break
  10894. }
  10895. }
  10896. intStringLen := int(stringLen)
  10897. if intStringLen < 0 {
  10898. return ErrInvalidLengthAbci
  10899. }
  10900. postIndex := iNdEx + intStringLen
  10901. if postIndex < 0 {
  10902. return ErrInvalidLengthAbci
  10903. }
  10904. if postIndex > l {
  10905. return io.ErrUnexpectedEOF
  10906. }
  10907. m.Codespace = string(dAtA[iNdEx:postIndex])
  10908. iNdEx = postIndex
  10909. default:
  10910. iNdEx = preIndex
  10911. skippy, err := skipAbci(dAtA[iNdEx:])
  10912. if err != nil {
  10913. return err
  10914. }
  10915. if skippy < 0 {
  10916. return ErrInvalidLengthAbci
  10917. }
  10918. if (iNdEx + skippy) < 0 {
  10919. return ErrInvalidLengthAbci
  10920. }
  10921. if (iNdEx + skippy) > l {
  10922. return io.ErrUnexpectedEOF
  10923. }
  10924. iNdEx += skippy
  10925. }
  10926. }
  10927. if iNdEx > l {
  10928. return io.ErrUnexpectedEOF
  10929. }
  10930. return nil
  10931. }
  10932. func (m *ResponseBeginBlock) Unmarshal(dAtA []byte) error {
  10933. l := len(dAtA)
  10934. iNdEx := 0
  10935. for iNdEx < l {
  10936. preIndex := iNdEx
  10937. var wire uint64
  10938. for shift := uint(0); ; shift += 7 {
  10939. if shift >= 64 {
  10940. return ErrIntOverflowAbci
  10941. }
  10942. if iNdEx >= l {
  10943. return io.ErrUnexpectedEOF
  10944. }
  10945. b := dAtA[iNdEx]
  10946. iNdEx++
  10947. wire |= uint64(b&0x7F) << shift
  10948. if b < 0x80 {
  10949. break
  10950. }
  10951. }
  10952. fieldNum := int32(wire >> 3)
  10953. wireType := int(wire & 0x7)
  10954. if wireType == 4 {
  10955. return fmt.Errorf("proto: ResponseBeginBlock: wiretype end group for non-group")
  10956. }
  10957. if fieldNum <= 0 {
  10958. return fmt.Errorf("proto: ResponseBeginBlock: illegal tag %d (wire type %d)", fieldNum, wire)
  10959. }
  10960. switch fieldNum {
  10961. case 1:
  10962. if wireType != 2 {
  10963. return fmt.Errorf("proto: wrong wireType = %d for field Events", wireType)
  10964. }
  10965. var msglen int
  10966. for shift := uint(0); ; shift += 7 {
  10967. if shift >= 64 {
  10968. return ErrIntOverflowAbci
  10969. }
  10970. if iNdEx >= l {
  10971. return io.ErrUnexpectedEOF
  10972. }
  10973. b := dAtA[iNdEx]
  10974. iNdEx++
  10975. msglen |= int(b&0x7F) << shift
  10976. if b < 0x80 {
  10977. break
  10978. }
  10979. }
  10980. if msglen < 0 {
  10981. return ErrInvalidLengthAbci
  10982. }
  10983. postIndex := iNdEx + msglen
  10984. if postIndex < 0 {
  10985. return ErrInvalidLengthAbci
  10986. }
  10987. if postIndex > l {
  10988. return io.ErrUnexpectedEOF
  10989. }
  10990. m.Events = append(m.Events, Event{})
  10991. if err := m.Events[len(m.Events)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  10992. return err
  10993. }
  10994. iNdEx = postIndex
  10995. default:
  10996. iNdEx = preIndex
  10997. skippy, err := skipAbci(dAtA[iNdEx:])
  10998. if err != nil {
  10999. return err
  11000. }
  11001. if skippy < 0 {
  11002. return ErrInvalidLengthAbci
  11003. }
  11004. if (iNdEx + skippy) < 0 {
  11005. return ErrInvalidLengthAbci
  11006. }
  11007. if (iNdEx + skippy) > l {
  11008. return io.ErrUnexpectedEOF
  11009. }
  11010. iNdEx += skippy
  11011. }
  11012. }
  11013. if iNdEx > l {
  11014. return io.ErrUnexpectedEOF
  11015. }
  11016. return nil
  11017. }
  11018. func (m *ResponseCheckTx) Unmarshal(dAtA []byte) error {
  11019. l := len(dAtA)
  11020. iNdEx := 0
  11021. for iNdEx < l {
  11022. preIndex := iNdEx
  11023. var wire uint64
  11024. for shift := uint(0); ; shift += 7 {
  11025. if shift >= 64 {
  11026. return ErrIntOverflowAbci
  11027. }
  11028. if iNdEx >= l {
  11029. return io.ErrUnexpectedEOF
  11030. }
  11031. b := dAtA[iNdEx]
  11032. iNdEx++
  11033. wire |= uint64(b&0x7F) << shift
  11034. if b < 0x80 {
  11035. break
  11036. }
  11037. }
  11038. fieldNum := int32(wire >> 3)
  11039. wireType := int(wire & 0x7)
  11040. if wireType == 4 {
  11041. return fmt.Errorf("proto: ResponseCheckTx: wiretype end group for non-group")
  11042. }
  11043. if fieldNum <= 0 {
  11044. return fmt.Errorf("proto: ResponseCheckTx: illegal tag %d (wire type %d)", fieldNum, wire)
  11045. }
  11046. switch fieldNum {
  11047. case 1:
  11048. if wireType != 0 {
  11049. return fmt.Errorf("proto: wrong wireType = %d for field Code", wireType)
  11050. }
  11051. m.Code = 0
  11052. for shift := uint(0); ; shift += 7 {
  11053. if shift >= 64 {
  11054. return ErrIntOverflowAbci
  11055. }
  11056. if iNdEx >= l {
  11057. return io.ErrUnexpectedEOF
  11058. }
  11059. b := dAtA[iNdEx]
  11060. iNdEx++
  11061. m.Code |= uint32(b&0x7F) << shift
  11062. if b < 0x80 {
  11063. break
  11064. }
  11065. }
  11066. case 2:
  11067. if wireType != 2 {
  11068. return fmt.Errorf("proto: wrong wireType = %d for field Data", wireType)
  11069. }
  11070. var byteLen int
  11071. for shift := uint(0); ; shift += 7 {
  11072. if shift >= 64 {
  11073. return ErrIntOverflowAbci
  11074. }
  11075. if iNdEx >= l {
  11076. return io.ErrUnexpectedEOF
  11077. }
  11078. b := dAtA[iNdEx]
  11079. iNdEx++
  11080. byteLen |= int(b&0x7F) << shift
  11081. if b < 0x80 {
  11082. break
  11083. }
  11084. }
  11085. if byteLen < 0 {
  11086. return ErrInvalidLengthAbci
  11087. }
  11088. postIndex := iNdEx + byteLen
  11089. if postIndex < 0 {
  11090. return ErrInvalidLengthAbci
  11091. }
  11092. if postIndex > l {
  11093. return io.ErrUnexpectedEOF
  11094. }
  11095. m.Data = append(m.Data[:0], dAtA[iNdEx:postIndex]...)
  11096. if m.Data == nil {
  11097. m.Data = []byte{}
  11098. }
  11099. iNdEx = postIndex
  11100. case 3:
  11101. if wireType != 2 {
  11102. return fmt.Errorf("proto: wrong wireType = %d for field Log", wireType)
  11103. }
  11104. var stringLen uint64
  11105. for shift := uint(0); ; shift += 7 {
  11106. if shift >= 64 {
  11107. return ErrIntOverflowAbci
  11108. }
  11109. if iNdEx >= l {
  11110. return io.ErrUnexpectedEOF
  11111. }
  11112. b := dAtA[iNdEx]
  11113. iNdEx++
  11114. stringLen |= uint64(b&0x7F) << shift
  11115. if b < 0x80 {
  11116. break
  11117. }
  11118. }
  11119. intStringLen := int(stringLen)
  11120. if intStringLen < 0 {
  11121. return ErrInvalidLengthAbci
  11122. }
  11123. postIndex := iNdEx + intStringLen
  11124. if postIndex < 0 {
  11125. return ErrInvalidLengthAbci
  11126. }
  11127. if postIndex > l {
  11128. return io.ErrUnexpectedEOF
  11129. }
  11130. m.Log = string(dAtA[iNdEx:postIndex])
  11131. iNdEx = postIndex
  11132. case 4:
  11133. if wireType != 2 {
  11134. return fmt.Errorf("proto: wrong wireType = %d for field Info", wireType)
  11135. }
  11136. var stringLen uint64
  11137. for shift := uint(0); ; shift += 7 {
  11138. if shift >= 64 {
  11139. return ErrIntOverflowAbci
  11140. }
  11141. if iNdEx >= l {
  11142. return io.ErrUnexpectedEOF
  11143. }
  11144. b := dAtA[iNdEx]
  11145. iNdEx++
  11146. stringLen |= uint64(b&0x7F) << shift
  11147. if b < 0x80 {
  11148. break
  11149. }
  11150. }
  11151. intStringLen := int(stringLen)
  11152. if intStringLen < 0 {
  11153. return ErrInvalidLengthAbci
  11154. }
  11155. postIndex := iNdEx + intStringLen
  11156. if postIndex < 0 {
  11157. return ErrInvalidLengthAbci
  11158. }
  11159. if postIndex > l {
  11160. return io.ErrUnexpectedEOF
  11161. }
  11162. m.Info = string(dAtA[iNdEx:postIndex])
  11163. iNdEx = postIndex
  11164. case 5:
  11165. if wireType != 0 {
  11166. return fmt.Errorf("proto: wrong wireType = %d for field GasWanted", wireType)
  11167. }
  11168. m.GasWanted = 0
  11169. for shift := uint(0); ; shift += 7 {
  11170. if shift >= 64 {
  11171. return ErrIntOverflowAbci
  11172. }
  11173. if iNdEx >= l {
  11174. return io.ErrUnexpectedEOF
  11175. }
  11176. b := dAtA[iNdEx]
  11177. iNdEx++
  11178. m.GasWanted |= int64(b&0x7F) << shift
  11179. if b < 0x80 {
  11180. break
  11181. }
  11182. }
  11183. case 6:
  11184. if wireType != 0 {
  11185. return fmt.Errorf("proto: wrong wireType = %d for field GasUsed", wireType)
  11186. }
  11187. m.GasUsed = 0
  11188. for shift := uint(0); ; shift += 7 {
  11189. if shift >= 64 {
  11190. return ErrIntOverflowAbci
  11191. }
  11192. if iNdEx >= l {
  11193. return io.ErrUnexpectedEOF
  11194. }
  11195. b := dAtA[iNdEx]
  11196. iNdEx++
  11197. m.GasUsed |= int64(b&0x7F) << shift
  11198. if b < 0x80 {
  11199. break
  11200. }
  11201. }
  11202. case 7:
  11203. if wireType != 2 {
  11204. return fmt.Errorf("proto: wrong wireType = %d for field Events", wireType)
  11205. }
  11206. var msglen int
  11207. for shift := uint(0); ; shift += 7 {
  11208. if shift >= 64 {
  11209. return ErrIntOverflowAbci
  11210. }
  11211. if iNdEx >= l {
  11212. return io.ErrUnexpectedEOF
  11213. }
  11214. b := dAtA[iNdEx]
  11215. iNdEx++
  11216. msglen |= int(b&0x7F) << shift
  11217. if b < 0x80 {
  11218. break
  11219. }
  11220. }
  11221. if msglen < 0 {
  11222. return ErrInvalidLengthAbci
  11223. }
  11224. postIndex := iNdEx + msglen
  11225. if postIndex < 0 {
  11226. return ErrInvalidLengthAbci
  11227. }
  11228. if postIndex > l {
  11229. return io.ErrUnexpectedEOF
  11230. }
  11231. m.Events = append(m.Events, Event{})
  11232. if err := m.Events[len(m.Events)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  11233. return err
  11234. }
  11235. iNdEx = postIndex
  11236. case 8:
  11237. if wireType != 2 {
  11238. return fmt.Errorf("proto: wrong wireType = %d for field Codespace", wireType)
  11239. }
  11240. var stringLen uint64
  11241. for shift := uint(0); ; shift += 7 {
  11242. if shift >= 64 {
  11243. return ErrIntOverflowAbci
  11244. }
  11245. if iNdEx >= l {
  11246. return io.ErrUnexpectedEOF
  11247. }
  11248. b := dAtA[iNdEx]
  11249. iNdEx++
  11250. stringLen |= uint64(b&0x7F) << shift
  11251. if b < 0x80 {
  11252. break
  11253. }
  11254. }
  11255. intStringLen := int(stringLen)
  11256. if intStringLen < 0 {
  11257. return ErrInvalidLengthAbci
  11258. }
  11259. postIndex := iNdEx + intStringLen
  11260. if postIndex < 0 {
  11261. return ErrInvalidLengthAbci
  11262. }
  11263. if postIndex > l {
  11264. return io.ErrUnexpectedEOF
  11265. }
  11266. m.Codespace = string(dAtA[iNdEx:postIndex])
  11267. iNdEx = postIndex
  11268. default:
  11269. iNdEx = preIndex
  11270. skippy, err := skipAbci(dAtA[iNdEx:])
  11271. if err != nil {
  11272. return err
  11273. }
  11274. if skippy < 0 {
  11275. return ErrInvalidLengthAbci
  11276. }
  11277. if (iNdEx + skippy) < 0 {
  11278. return ErrInvalidLengthAbci
  11279. }
  11280. if (iNdEx + skippy) > l {
  11281. return io.ErrUnexpectedEOF
  11282. }
  11283. iNdEx += skippy
  11284. }
  11285. }
  11286. if iNdEx > l {
  11287. return io.ErrUnexpectedEOF
  11288. }
  11289. return nil
  11290. }
  11291. func (m *ResponseDeliverTx) Unmarshal(dAtA []byte) error {
  11292. l := len(dAtA)
  11293. iNdEx := 0
  11294. for iNdEx < l {
  11295. preIndex := iNdEx
  11296. var wire uint64
  11297. for shift := uint(0); ; shift += 7 {
  11298. if shift >= 64 {
  11299. return ErrIntOverflowAbci
  11300. }
  11301. if iNdEx >= l {
  11302. return io.ErrUnexpectedEOF
  11303. }
  11304. b := dAtA[iNdEx]
  11305. iNdEx++
  11306. wire |= uint64(b&0x7F) << shift
  11307. if b < 0x80 {
  11308. break
  11309. }
  11310. }
  11311. fieldNum := int32(wire >> 3)
  11312. wireType := int(wire & 0x7)
  11313. if wireType == 4 {
  11314. return fmt.Errorf("proto: ResponseDeliverTx: wiretype end group for non-group")
  11315. }
  11316. if fieldNum <= 0 {
  11317. return fmt.Errorf("proto: ResponseDeliverTx: illegal tag %d (wire type %d)", fieldNum, wire)
  11318. }
  11319. switch fieldNum {
  11320. case 1:
  11321. if wireType != 0 {
  11322. return fmt.Errorf("proto: wrong wireType = %d for field Code", wireType)
  11323. }
  11324. m.Code = 0
  11325. for shift := uint(0); ; shift += 7 {
  11326. if shift >= 64 {
  11327. return ErrIntOverflowAbci
  11328. }
  11329. if iNdEx >= l {
  11330. return io.ErrUnexpectedEOF
  11331. }
  11332. b := dAtA[iNdEx]
  11333. iNdEx++
  11334. m.Code |= uint32(b&0x7F) << shift
  11335. if b < 0x80 {
  11336. break
  11337. }
  11338. }
  11339. case 2:
  11340. if wireType != 2 {
  11341. return fmt.Errorf("proto: wrong wireType = %d for field Data", wireType)
  11342. }
  11343. var byteLen int
  11344. for shift := uint(0); ; shift += 7 {
  11345. if shift >= 64 {
  11346. return ErrIntOverflowAbci
  11347. }
  11348. if iNdEx >= l {
  11349. return io.ErrUnexpectedEOF
  11350. }
  11351. b := dAtA[iNdEx]
  11352. iNdEx++
  11353. byteLen |= int(b&0x7F) << shift
  11354. if b < 0x80 {
  11355. break
  11356. }
  11357. }
  11358. if byteLen < 0 {
  11359. return ErrInvalidLengthAbci
  11360. }
  11361. postIndex := iNdEx + byteLen
  11362. if postIndex < 0 {
  11363. return ErrInvalidLengthAbci
  11364. }
  11365. if postIndex > l {
  11366. return io.ErrUnexpectedEOF
  11367. }
  11368. m.Data = append(m.Data[:0], dAtA[iNdEx:postIndex]...)
  11369. if m.Data == nil {
  11370. m.Data = []byte{}
  11371. }
  11372. iNdEx = postIndex
  11373. case 3:
  11374. if wireType != 2 {
  11375. return fmt.Errorf("proto: wrong wireType = %d for field Log", wireType)
  11376. }
  11377. var stringLen uint64
  11378. for shift := uint(0); ; shift += 7 {
  11379. if shift >= 64 {
  11380. return ErrIntOverflowAbci
  11381. }
  11382. if iNdEx >= l {
  11383. return io.ErrUnexpectedEOF
  11384. }
  11385. b := dAtA[iNdEx]
  11386. iNdEx++
  11387. stringLen |= uint64(b&0x7F) << shift
  11388. if b < 0x80 {
  11389. break
  11390. }
  11391. }
  11392. intStringLen := int(stringLen)
  11393. if intStringLen < 0 {
  11394. return ErrInvalidLengthAbci
  11395. }
  11396. postIndex := iNdEx + intStringLen
  11397. if postIndex < 0 {
  11398. return ErrInvalidLengthAbci
  11399. }
  11400. if postIndex > l {
  11401. return io.ErrUnexpectedEOF
  11402. }
  11403. m.Log = string(dAtA[iNdEx:postIndex])
  11404. iNdEx = postIndex
  11405. case 4:
  11406. if wireType != 2 {
  11407. return fmt.Errorf("proto: wrong wireType = %d for field Info", wireType)
  11408. }
  11409. var stringLen uint64
  11410. for shift := uint(0); ; shift += 7 {
  11411. if shift >= 64 {
  11412. return ErrIntOverflowAbci
  11413. }
  11414. if iNdEx >= l {
  11415. return io.ErrUnexpectedEOF
  11416. }
  11417. b := dAtA[iNdEx]
  11418. iNdEx++
  11419. stringLen |= uint64(b&0x7F) << shift
  11420. if b < 0x80 {
  11421. break
  11422. }
  11423. }
  11424. intStringLen := int(stringLen)
  11425. if intStringLen < 0 {
  11426. return ErrInvalidLengthAbci
  11427. }
  11428. postIndex := iNdEx + intStringLen
  11429. if postIndex < 0 {
  11430. return ErrInvalidLengthAbci
  11431. }
  11432. if postIndex > l {
  11433. return io.ErrUnexpectedEOF
  11434. }
  11435. m.Info = string(dAtA[iNdEx:postIndex])
  11436. iNdEx = postIndex
  11437. case 5:
  11438. if wireType != 0 {
  11439. return fmt.Errorf("proto: wrong wireType = %d for field GasWanted", wireType)
  11440. }
  11441. m.GasWanted = 0
  11442. for shift := uint(0); ; shift += 7 {
  11443. if shift >= 64 {
  11444. return ErrIntOverflowAbci
  11445. }
  11446. if iNdEx >= l {
  11447. return io.ErrUnexpectedEOF
  11448. }
  11449. b := dAtA[iNdEx]
  11450. iNdEx++
  11451. m.GasWanted |= int64(b&0x7F) << shift
  11452. if b < 0x80 {
  11453. break
  11454. }
  11455. }
  11456. case 6:
  11457. if wireType != 0 {
  11458. return fmt.Errorf("proto: wrong wireType = %d for field GasUsed", wireType)
  11459. }
  11460. m.GasUsed = 0
  11461. for shift := uint(0); ; shift += 7 {
  11462. if shift >= 64 {
  11463. return ErrIntOverflowAbci
  11464. }
  11465. if iNdEx >= l {
  11466. return io.ErrUnexpectedEOF
  11467. }
  11468. b := dAtA[iNdEx]
  11469. iNdEx++
  11470. m.GasUsed |= int64(b&0x7F) << shift
  11471. if b < 0x80 {
  11472. break
  11473. }
  11474. }
  11475. case 7:
  11476. if wireType != 2 {
  11477. return fmt.Errorf("proto: wrong wireType = %d for field Events", wireType)
  11478. }
  11479. var msglen int
  11480. for shift := uint(0); ; shift += 7 {
  11481. if shift >= 64 {
  11482. return ErrIntOverflowAbci
  11483. }
  11484. if iNdEx >= l {
  11485. return io.ErrUnexpectedEOF
  11486. }
  11487. b := dAtA[iNdEx]
  11488. iNdEx++
  11489. msglen |= int(b&0x7F) << shift
  11490. if b < 0x80 {
  11491. break
  11492. }
  11493. }
  11494. if msglen < 0 {
  11495. return ErrInvalidLengthAbci
  11496. }
  11497. postIndex := iNdEx + msglen
  11498. if postIndex < 0 {
  11499. return ErrInvalidLengthAbci
  11500. }
  11501. if postIndex > l {
  11502. return io.ErrUnexpectedEOF
  11503. }
  11504. m.Events = append(m.Events, Event{})
  11505. if err := m.Events[len(m.Events)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  11506. return err
  11507. }
  11508. iNdEx = postIndex
  11509. case 8:
  11510. if wireType != 2 {
  11511. return fmt.Errorf("proto: wrong wireType = %d for field Codespace", wireType)
  11512. }
  11513. var stringLen uint64
  11514. for shift := uint(0); ; shift += 7 {
  11515. if shift >= 64 {
  11516. return ErrIntOverflowAbci
  11517. }
  11518. if iNdEx >= l {
  11519. return io.ErrUnexpectedEOF
  11520. }
  11521. b := dAtA[iNdEx]
  11522. iNdEx++
  11523. stringLen |= uint64(b&0x7F) << shift
  11524. if b < 0x80 {
  11525. break
  11526. }
  11527. }
  11528. intStringLen := int(stringLen)
  11529. if intStringLen < 0 {
  11530. return ErrInvalidLengthAbci
  11531. }
  11532. postIndex := iNdEx + intStringLen
  11533. if postIndex < 0 {
  11534. return ErrInvalidLengthAbci
  11535. }
  11536. if postIndex > l {
  11537. return io.ErrUnexpectedEOF
  11538. }
  11539. m.Codespace = string(dAtA[iNdEx:postIndex])
  11540. iNdEx = postIndex
  11541. default:
  11542. iNdEx = preIndex
  11543. skippy, err := skipAbci(dAtA[iNdEx:])
  11544. if err != nil {
  11545. return err
  11546. }
  11547. if skippy < 0 {
  11548. return ErrInvalidLengthAbci
  11549. }
  11550. if (iNdEx + skippy) < 0 {
  11551. return ErrInvalidLengthAbci
  11552. }
  11553. if (iNdEx + skippy) > l {
  11554. return io.ErrUnexpectedEOF
  11555. }
  11556. iNdEx += skippy
  11557. }
  11558. }
  11559. if iNdEx > l {
  11560. return io.ErrUnexpectedEOF
  11561. }
  11562. return nil
  11563. }
  11564. func (m *ResponseEndBlock) Unmarshal(dAtA []byte) error {
  11565. l := len(dAtA)
  11566. iNdEx := 0
  11567. for iNdEx < l {
  11568. preIndex := iNdEx
  11569. var wire uint64
  11570. for shift := uint(0); ; shift += 7 {
  11571. if shift >= 64 {
  11572. return ErrIntOverflowAbci
  11573. }
  11574. if iNdEx >= l {
  11575. return io.ErrUnexpectedEOF
  11576. }
  11577. b := dAtA[iNdEx]
  11578. iNdEx++
  11579. wire |= uint64(b&0x7F) << shift
  11580. if b < 0x80 {
  11581. break
  11582. }
  11583. }
  11584. fieldNum := int32(wire >> 3)
  11585. wireType := int(wire & 0x7)
  11586. if wireType == 4 {
  11587. return fmt.Errorf("proto: ResponseEndBlock: wiretype end group for non-group")
  11588. }
  11589. if fieldNum <= 0 {
  11590. return fmt.Errorf("proto: ResponseEndBlock: illegal tag %d (wire type %d)", fieldNum, wire)
  11591. }
  11592. switch fieldNum {
  11593. case 1:
  11594. if wireType != 2 {
  11595. return fmt.Errorf("proto: wrong wireType = %d for field ValidatorUpdates", wireType)
  11596. }
  11597. var msglen int
  11598. for shift := uint(0); ; shift += 7 {
  11599. if shift >= 64 {
  11600. return ErrIntOverflowAbci
  11601. }
  11602. if iNdEx >= l {
  11603. return io.ErrUnexpectedEOF
  11604. }
  11605. b := dAtA[iNdEx]
  11606. iNdEx++
  11607. msglen |= int(b&0x7F) << shift
  11608. if b < 0x80 {
  11609. break
  11610. }
  11611. }
  11612. if msglen < 0 {
  11613. return ErrInvalidLengthAbci
  11614. }
  11615. postIndex := iNdEx + msglen
  11616. if postIndex < 0 {
  11617. return ErrInvalidLengthAbci
  11618. }
  11619. if postIndex > l {
  11620. return io.ErrUnexpectedEOF
  11621. }
  11622. m.ValidatorUpdates = append(m.ValidatorUpdates, ValidatorUpdate{})
  11623. if err := m.ValidatorUpdates[len(m.ValidatorUpdates)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  11624. return err
  11625. }
  11626. iNdEx = postIndex
  11627. case 2:
  11628. if wireType != 2 {
  11629. return fmt.Errorf("proto: wrong wireType = %d for field ConsensusParamUpdates", wireType)
  11630. }
  11631. var msglen int
  11632. for shift := uint(0); ; shift += 7 {
  11633. if shift >= 64 {
  11634. return ErrIntOverflowAbci
  11635. }
  11636. if iNdEx >= l {
  11637. return io.ErrUnexpectedEOF
  11638. }
  11639. b := dAtA[iNdEx]
  11640. iNdEx++
  11641. msglen |= int(b&0x7F) << shift
  11642. if b < 0x80 {
  11643. break
  11644. }
  11645. }
  11646. if msglen < 0 {
  11647. return ErrInvalidLengthAbci
  11648. }
  11649. postIndex := iNdEx + msglen
  11650. if postIndex < 0 {
  11651. return ErrInvalidLengthAbci
  11652. }
  11653. if postIndex > l {
  11654. return io.ErrUnexpectedEOF
  11655. }
  11656. if m.ConsensusParamUpdates == nil {
  11657. m.ConsensusParamUpdates = &ConsensusParams{}
  11658. }
  11659. if err := m.ConsensusParamUpdates.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  11660. return err
  11661. }
  11662. iNdEx = postIndex
  11663. case 3:
  11664. if wireType != 2 {
  11665. return fmt.Errorf("proto: wrong wireType = %d for field Events", wireType)
  11666. }
  11667. var msglen int
  11668. for shift := uint(0); ; shift += 7 {
  11669. if shift >= 64 {
  11670. return ErrIntOverflowAbci
  11671. }
  11672. if iNdEx >= l {
  11673. return io.ErrUnexpectedEOF
  11674. }
  11675. b := dAtA[iNdEx]
  11676. iNdEx++
  11677. msglen |= int(b&0x7F) << shift
  11678. if b < 0x80 {
  11679. break
  11680. }
  11681. }
  11682. if msglen < 0 {
  11683. return ErrInvalidLengthAbci
  11684. }
  11685. postIndex := iNdEx + msglen
  11686. if postIndex < 0 {
  11687. return ErrInvalidLengthAbci
  11688. }
  11689. if postIndex > l {
  11690. return io.ErrUnexpectedEOF
  11691. }
  11692. m.Events = append(m.Events, Event{})
  11693. if err := m.Events[len(m.Events)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  11694. return err
  11695. }
  11696. iNdEx = postIndex
  11697. default:
  11698. iNdEx = preIndex
  11699. skippy, err := skipAbci(dAtA[iNdEx:])
  11700. if err != nil {
  11701. return err
  11702. }
  11703. if skippy < 0 {
  11704. return ErrInvalidLengthAbci
  11705. }
  11706. if (iNdEx + skippy) < 0 {
  11707. return ErrInvalidLengthAbci
  11708. }
  11709. if (iNdEx + skippy) > l {
  11710. return io.ErrUnexpectedEOF
  11711. }
  11712. iNdEx += skippy
  11713. }
  11714. }
  11715. if iNdEx > l {
  11716. return io.ErrUnexpectedEOF
  11717. }
  11718. return nil
  11719. }
  11720. func (m *ResponseCommit) Unmarshal(dAtA []byte) error {
  11721. l := len(dAtA)
  11722. iNdEx := 0
  11723. for iNdEx < l {
  11724. preIndex := iNdEx
  11725. var wire uint64
  11726. for shift := uint(0); ; shift += 7 {
  11727. if shift >= 64 {
  11728. return ErrIntOverflowAbci
  11729. }
  11730. if iNdEx >= l {
  11731. return io.ErrUnexpectedEOF
  11732. }
  11733. b := dAtA[iNdEx]
  11734. iNdEx++
  11735. wire |= uint64(b&0x7F) << shift
  11736. if b < 0x80 {
  11737. break
  11738. }
  11739. }
  11740. fieldNum := int32(wire >> 3)
  11741. wireType := int(wire & 0x7)
  11742. if wireType == 4 {
  11743. return fmt.Errorf("proto: ResponseCommit: wiretype end group for non-group")
  11744. }
  11745. if fieldNum <= 0 {
  11746. return fmt.Errorf("proto: ResponseCommit: illegal tag %d (wire type %d)", fieldNum, wire)
  11747. }
  11748. switch fieldNum {
  11749. case 2:
  11750. if wireType != 2 {
  11751. return fmt.Errorf("proto: wrong wireType = %d for field Data", wireType)
  11752. }
  11753. var byteLen int
  11754. for shift := uint(0); ; shift += 7 {
  11755. if shift >= 64 {
  11756. return ErrIntOverflowAbci
  11757. }
  11758. if iNdEx >= l {
  11759. return io.ErrUnexpectedEOF
  11760. }
  11761. b := dAtA[iNdEx]
  11762. iNdEx++
  11763. byteLen |= int(b&0x7F) << shift
  11764. if b < 0x80 {
  11765. break
  11766. }
  11767. }
  11768. if byteLen < 0 {
  11769. return ErrInvalidLengthAbci
  11770. }
  11771. postIndex := iNdEx + byteLen
  11772. if postIndex < 0 {
  11773. return ErrInvalidLengthAbci
  11774. }
  11775. if postIndex > l {
  11776. return io.ErrUnexpectedEOF
  11777. }
  11778. m.Data = append(m.Data[:0], dAtA[iNdEx:postIndex]...)
  11779. if m.Data == nil {
  11780. m.Data = []byte{}
  11781. }
  11782. iNdEx = postIndex
  11783. case 3:
  11784. if wireType != 0 {
  11785. return fmt.Errorf("proto: wrong wireType = %d for field RetainHeight", wireType)
  11786. }
  11787. m.RetainHeight = 0
  11788. for shift := uint(0); ; shift += 7 {
  11789. if shift >= 64 {
  11790. return ErrIntOverflowAbci
  11791. }
  11792. if iNdEx >= l {
  11793. return io.ErrUnexpectedEOF
  11794. }
  11795. b := dAtA[iNdEx]
  11796. iNdEx++
  11797. m.RetainHeight |= int64(b&0x7F) << shift
  11798. if b < 0x80 {
  11799. break
  11800. }
  11801. }
  11802. default:
  11803. iNdEx = preIndex
  11804. skippy, err := skipAbci(dAtA[iNdEx:])
  11805. if err != nil {
  11806. return err
  11807. }
  11808. if skippy < 0 {
  11809. return ErrInvalidLengthAbci
  11810. }
  11811. if (iNdEx + skippy) < 0 {
  11812. return ErrInvalidLengthAbci
  11813. }
  11814. if (iNdEx + skippy) > l {
  11815. return io.ErrUnexpectedEOF
  11816. }
  11817. iNdEx += skippy
  11818. }
  11819. }
  11820. if iNdEx > l {
  11821. return io.ErrUnexpectedEOF
  11822. }
  11823. return nil
  11824. }
  11825. func (m *ResponseListSnapshots) Unmarshal(dAtA []byte) error {
  11826. l := len(dAtA)
  11827. iNdEx := 0
  11828. for iNdEx < l {
  11829. preIndex := iNdEx
  11830. var wire uint64
  11831. for shift := uint(0); ; shift += 7 {
  11832. if shift >= 64 {
  11833. return ErrIntOverflowAbci
  11834. }
  11835. if iNdEx >= l {
  11836. return io.ErrUnexpectedEOF
  11837. }
  11838. b := dAtA[iNdEx]
  11839. iNdEx++
  11840. wire |= uint64(b&0x7F) << shift
  11841. if b < 0x80 {
  11842. break
  11843. }
  11844. }
  11845. fieldNum := int32(wire >> 3)
  11846. wireType := int(wire & 0x7)
  11847. if wireType == 4 {
  11848. return fmt.Errorf("proto: ResponseListSnapshots: wiretype end group for non-group")
  11849. }
  11850. if fieldNum <= 0 {
  11851. return fmt.Errorf("proto: ResponseListSnapshots: illegal tag %d (wire type %d)", fieldNum, wire)
  11852. }
  11853. switch fieldNum {
  11854. case 1:
  11855. if wireType != 2 {
  11856. return fmt.Errorf("proto: wrong wireType = %d for field Snapshots", wireType)
  11857. }
  11858. var msglen int
  11859. for shift := uint(0); ; shift += 7 {
  11860. if shift >= 64 {
  11861. return ErrIntOverflowAbci
  11862. }
  11863. if iNdEx >= l {
  11864. return io.ErrUnexpectedEOF
  11865. }
  11866. b := dAtA[iNdEx]
  11867. iNdEx++
  11868. msglen |= int(b&0x7F) << shift
  11869. if b < 0x80 {
  11870. break
  11871. }
  11872. }
  11873. if msglen < 0 {
  11874. return ErrInvalidLengthAbci
  11875. }
  11876. postIndex := iNdEx + msglen
  11877. if postIndex < 0 {
  11878. return ErrInvalidLengthAbci
  11879. }
  11880. if postIndex > l {
  11881. return io.ErrUnexpectedEOF
  11882. }
  11883. m.Snapshots = append(m.Snapshots, &Snapshot{})
  11884. if err := m.Snapshots[len(m.Snapshots)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  11885. return err
  11886. }
  11887. iNdEx = postIndex
  11888. default:
  11889. iNdEx = preIndex
  11890. skippy, err := skipAbci(dAtA[iNdEx:])
  11891. if err != nil {
  11892. return err
  11893. }
  11894. if skippy < 0 {
  11895. return ErrInvalidLengthAbci
  11896. }
  11897. if (iNdEx + skippy) < 0 {
  11898. return ErrInvalidLengthAbci
  11899. }
  11900. if (iNdEx + skippy) > l {
  11901. return io.ErrUnexpectedEOF
  11902. }
  11903. iNdEx += skippy
  11904. }
  11905. }
  11906. if iNdEx > l {
  11907. return io.ErrUnexpectedEOF
  11908. }
  11909. return nil
  11910. }
  11911. func (m *ResponseOfferSnapshot) Unmarshal(dAtA []byte) error {
  11912. l := len(dAtA)
  11913. iNdEx := 0
  11914. for iNdEx < l {
  11915. preIndex := iNdEx
  11916. var wire uint64
  11917. for shift := uint(0); ; shift += 7 {
  11918. if shift >= 64 {
  11919. return ErrIntOverflowAbci
  11920. }
  11921. if iNdEx >= l {
  11922. return io.ErrUnexpectedEOF
  11923. }
  11924. b := dAtA[iNdEx]
  11925. iNdEx++
  11926. wire |= uint64(b&0x7F) << shift
  11927. if b < 0x80 {
  11928. break
  11929. }
  11930. }
  11931. fieldNum := int32(wire >> 3)
  11932. wireType := int(wire & 0x7)
  11933. if wireType == 4 {
  11934. return fmt.Errorf("proto: ResponseOfferSnapshot: wiretype end group for non-group")
  11935. }
  11936. if fieldNum <= 0 {
  11937. return fmt.Errorf("proto: ResponseOfferSnapshot: illegal tag %d (wire type %d)", fieldNum, wire)
  11938. }
  11939. switch fieldNum {
  11940. case 1:
  11941. if wireType != 0 {
  11942. return fmt.Errorf("proto: wrong wireType = %d for field Result", wireType)
  11943. }
  11944. m.Result = 0
  11945. for shift := uint(0); ; shift += 7 {
  11946. if shift >= 64 {
  11947. return ErrIntOverflowAbci
  11948. }
  11949. if iNdEx >= l {
  11950. return io.ErrUnexpectedEOF
  11951. }
  11952. b := dAtA[iNdEx]
  11953. iNdEx++
  11954. m.Result |= ResponseOfferSnapshot_Result(b&0x7F) << shift
  11955. if b < 0x80 {
  11956. break
  11957. }
  11958. }
  11959. default:
  11960. iNdEx = preIndex
  11961. skippy, err := skipAbci(dAtA[iNdEx:])
  11962. if err != nil {
  11963. return err
  11964. }
  11965. if skippy < 0 {
  11966. return ErrInvalidLengthAbci
  11967. }
  11968. if (iNdEx + skippy) < 0 {
  11969. return ErrInvalidLengthAbci
  11970. }
  11971. if (iNdEx + skippy) > l {
  11972. return io.ErrUnexpectedEOF
  11973. }
  11974. iNdEx += skippy
  11975. }
  11976. }
  11977. if iNdEx > l {
  11978. return io.ErrUnexpectedEOF
  11979. }
  11980. return nil
  11981. }
  11982. func (m *ResponseLoadSnapshotChunk) Unmarshal(dAtA []byte) error {
  11983. l := len(dAtA)
  11984. iNdEx := 0
  11985. for iNdEx < l {
  11986. preIndex := iNdEx
  11987. var wire uint64
  11988. for shift := uint(0); ; shift += 7 {
  11989. if shift >= 64 {
  11990. return ErrIntOverflowAbci
  11991. }
  11992. if iNdEx >= l {
  11993. return io.ErrUnexpectedEOF
  11994. }
  11995. b := dAtA[iNdEx]
  11996. iNdEx++
  11997. wire |= uint64(b&0x7F) << shift
  11998. if b < 0x80 {
  11999. break
  12000. }
  12001. }
  12002. fieldNum := int32(wire >> 3)
  12003. wireType := int(wire & 0x7)
  12004. if wireType == 4 {
  12005. return fmt.Errorf("proto: ResponseLoadSnapshotChunk: wiretype end group for non-group")
  12006. }
  12007. if fieldNum <= 0 {
  12008. return fmt.Errorf("proto: ResponseLoadSnapshotChunk: illegal tag %d (wire type %d)", fieldNum, wire)
  12009. }
  12010. switch fieldNum {
  12011. case 1:
  12012. if wireType != 2 {
  12013. return fmt.Errorf("proto: wrong wireType = %d for field Chunk", wireType)
  12014. }
  12015. var byteLen int
  12016. for shift := uint(0); ; shift += 7 {
  12017. if shift >= 64 {
  12018. return ErrIntOverflowAbci
  12019. }
  12020. if iNdEx >= l {
  12021. return io.ErrUnexpectedEOF
  12022. }
  12023. b := dAtA[iNdEx]
  12024. iNdEx++
  12025. byteLen |= int(b&0x7F) << shift
  12026. if b < 0x80 {
  12027. break
  12028. }
  12029. }
  12030. if byteLen < 0 {
  12031. return ErrInvalidLengthAbci
  12032. }
  12033. postIndex := iNdEx + byteLen
  12034. if postIndex < 0 {
  12035. return ErrInvalidLengthAbci
  12036. }
  12037. if postIndex > l {
  12038. return io.ErrUnexpectedEOF
  12039. }
  12040. m.Chunk = append(m.Chunk[:0], dAtA[iNdEx:postIndex]...)
  12041. if m.Chunk == nil {
  12042. m.Chunk = []byte{}
  12043. }
  12044. iNdEx = postIndex
  12045. default:
  12046. iNdEx = preIndex
  12047. skippy, err := skipAbci(dAtA[iNdEx:])
  12048. if err != nil {
  12049. return err
  12050. }
  12051. if skippy < 0 {
  12052. return ErrInvalidLengthAbci
  12053. }
  12054. if (iNdEx + skippy) < 0 {
  12055. return ErrInvalidLengthAbci
  12056. }
  12057. if (iNdEx + skippy) > l {
  12058. return io.ErrUnexpectedEOF
  12059. }
  12060. iNdEx += skippy
  12061. }
  12062. }
  12063. if iNdEx > l {
  12064. return io.ErrUnexpectedEOF
  12065. }
  12066. return nil
  12067. }
  12068. func (m *ResponseApplySnapshotChunk) Unmarshal(dAtA []byte) error {
  12069. l := len(dAtA)
  12070. iNdEx := 0
  12071. for iNdEx < l {
  12072. preIndex := iNdEx
  12073. var wire uint64
  12074. for shift := uint(0); ; shift += 7 {
  12075. if shift >= 64 {
  12076. return ErrIntOverflowAbci
  12077. }
  12078. if iNdEx >= l {
  12079. return io.ErrUnexpectedEOF
  12080. }
  12081. b := dAtA[iNdEx]
  12082. iNdEx++
  12083. wire |= uint64(b&0x7F) << shift
  12084. if b < 0x80 {
  12085. break
  12086. }
  12087. }
  12088. fieldNum := int32(wire >> 3)
  12089. wireType := int(wire & 0x7)
  12090. if wireType == 4 {
  12091. return fmt.Errorf("proto: ResponseApplySnapshotChunk: wiretype end group for non-group")
  12092. }
  12093. if fieldNum <= 0 {
  12094. return fmt.Errorf("proto: ResponseApplySnapshotChunk: illegal tag %d (wire type %d)", fieldNum, wire)
  12095. }
  12096. switch fieldNum {
  12097. case 1:
  12098. if wireType != 0 {
  12099. return fmt.Errorf("proto: wrong wireType = %d for field Result", wireType)
  12100. }
  12101. m.Result = 0
  12102. for shift := uint(0); ; shift += 7 {
  12103. if shift >= 64 {
  12104. return ErrIntOverflowAbci
  12105. }
  12106. if iNdEx >= l {
  12107. return io.ErrUnexpectedEOF
  12108. }
  12109. b := dAtA[iNdEx]
  12110. iNdEx++
  12111. m.Result |= ResponseApplySnapshotChunk_Result(b&0x7F) << shift
  12112. if b < 0x80 {
  12113. break
  12114. }
  12115. }
  12116. case 2:
  12117. if wireType == 0 {
  12118. var v uint32
  12119. for shift := uint(0); ; shift += 7 {
  12120. if shift >= 64 {
  12121. return ErrIntOverflowAbci
  12122. }
  12123. if iNdEx >= l {
  12124. return io.ErrUnexpectedEOF
  12125. }
  12126. b := dAtA[iNdEx]
  12127. iNdEx++
  12128. v |= uint32(b&0x7F) << shift
  12129. if b < 0x80 {
  12130. break
  12131. }
  12132. }
  12133. m.RefetchChunks = append(m.RefetchChunks, v)
  12134. } else if wireType == 2 {
  12135. var packedLen int
  12136. for shift := uint(0); ; shift += 7 {
  12137. if shift >= 64 {
  12138. return ErrIntOverflowAbci
  12139. }
  12140. if iNdEx >= l {
  12141. return io.ErrUnexpectedEOF
  12142. }
  12143. b := dAtA[iNdEx]
  12144. iNdEx++
  12145. packedLen |= int(b&0x7F) << shift
  12146. if b < 0x80 {
  12147. break
  12148. }
  12149. }
  12150. if packedLen < 0 {
  12151. return ErrInvalidLengthAbci
  12152. }
  12153. postIndex := iNdEx + packedLen
  12154. if postIndex < 0 {
  12155. return ErrInvalidLengthAbci
  12156. }
  12157. if postIndex > l {
  12158. return io.ErrUnexpectedEOF
  12159. }
  12160. var elementCount int
  12161. var count int
  12162. for _, integer := range dAtA[iNdEx:postIndex] {
  12163. if integer < 128 {
  12164. count++
  12165. }
  12166. }
  12167. elementCount = count
  12168. if elementCount != 0 && len(m.RefetchChunks) == 0 {
  12169. m.RefetchChunks = make([]uint32, 0, elementCount)
  12170. }
  12171. for iNdEx < postIndex {
  12172. var v uint32
  12173. for shift := uint(0); ; shift += 7 {
  12174. if shift >= 64 {
  12175. return ErrIntOverflowAbci
  12176. }
  12177. if iNdEx >= l {
  12178. return io.ErrUnexpectedEOF
  12179. }
  12180. b := dAtA[iNdEx]
  12181. iNdEx++
  12182. v |= uint32(b&0x7F) << shift
  12183. if b < 0x80 {
  12184. break
  12185. }
  12186. }
  12187. m.RefetchChunks = append(m.RefetchChunks, v)
  12188. }
  12189. } else {
  12190. return fmt.Errorf("proto: wrong wireType = %d for field RefetchChunks", wireType)
  12191. }
  12192. case 3:
  12193. if wireType != 2 {
  12194. return fmt.Errorf("proto: wrong wireType = %d for field RejectSenders", wireType)
  12195. }
  12196. var stringLen uint64
  12197. for shift := uint(0); ; shift += 7 {
  12198. if shift >= 64 {
  12199. return ErrIntOverflowAbci
  12200. }
  12201. if iNdEx >= l {
  12202. return io.ErrUnexpectedEOF
  12203. }
  12204. b := dAtA[iNdEx]
  12205. iNdEx++
  12206. stringLen |= uint64(b&0x7F) << shift
  12207. if b < 0x80 {
  12208. break
  12209. }
  12210. }
  12211. intStringLen := int(stringLen)
  12212. if intStringLen < 0 {
  12213. return ErrInvalidLengthAbci
  12214. }
  12215. postIndex := iNdEx + intStringLen
  12216. if postIndex < 0 {
  12217. return ErrInvalidLengthAbci
  12218. }
  12219. if postIndex > l {
  12220. return io.ErrUnexpectedEOF
  12221. }
  12222. m.RejectSenders = append(m.RejectSenders, string(dAtA[iNdEx:postIndex]))
  12223. iNdEx = postIndex
  12224. default:
  12225. iNdEx = preIndex
  12226. skippy, err := skipAbci(dAtA[iNdEx:])
  12227. if err != nil {
  12228. return err
  12229. }
  12230. if skippy < 0 {
  12231. return ErrInvalidLengthAbci
  12232. }
  12233. if (iNdEx + skippy) < 0 {
  12234. return ErrInvalidLengthAbci
  12235. }
  12236. if (iNdEx + skippy) > l {
  12237. return io.ErrUnexpectedEOF
  12238. }
  12239. iNdEx += skippy
  12240. }
  12241. }
  12242. if iNdEx > l {
  12243. return io.ErrUnexpectedEOF
  12244. }
  12245. return nil
  12246. }
  12247. func (m *ConsensusParams) Unmarshal(dAtA []byte) error {
  12248. l := len(dAtA)
  12249. iNdEx := 0
  12250. for iNdEx < l {
  12251. preIndex := iNdEx
  12252. var wire uint64
  12253. for shift := uint(0); ; shift += 7 {
  12254. if shift >= 64 {
  12255. return ErrIntOverflowAbci
  12256. }
  12257. if iNdEx >= l {
  12258. return io.ErrUnexpectedEOF
  12259. }
  12260. b := dAtA[iNdEx]
  12261. iNdEx++
  12262. wire |= uint64(b&0x7F) << shift
  12263. if b < 0x80 {
  12264. break
  12265. }
  12266. }
  12267. fieldNum := int32(wire >> 3)
  12268. wireType := int(wire & 0x7)
  12269. if wireType == 4 {
  12270. return fmt.Errorf("proto: ConsensusParams: wiretype end group for non-group")
  12271. }
  12272. if fieldNum <= 0 {
  12273. return fmt.Errorf("proto: ConsensusParams: illegal tag %d (wire type %d)", fieldNum, wire)
  12274. }
  12275. switch fieldNum {
  12276. case 1:
  12277. if wireType != 2 {
  12278. return fmt.Errorf("proto: wrong wireType = %d for field Block", wireType)
  12279. }
  12280. var msglen int
  12281. for shift := uint(0); ; shift += 7 {
  12282. if shift >= 64 {
  12283. return ErrIntOverflowAbci
  12284. }
  12285. if iNdEx >= l {
  12286. return io.ErrUnexpectedEOF
  12287. }
  12288. b := dAtA[iNdEx]
  12289. iNdEx++
  12290. msglen |= int(b&0x7F) << shift
  12291. if b < 0x80 {
  12292. break
  12293. }
  12294. }
  12295. if msglen < 0 {
  12296. return ErrInvalidLengthAbci
  12297. }
  12298. postIndex := iNdEx + msglen
  12299. if postIndex < 0 {
  12300. return ErrInvalidLengthAbci
  12301. }
  12302. if postIndex > l {
  12303. return io.ErrUnexpectedEOF
  12304. }
  12305. if m.Block == nil {
  12306. m.Block = &BlockParams{}
  12307. }
  12308. if err := m.Block.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  12309. return err
  12310. }
  12311. iNdEx = postIndex
  12312. case 2:
  12313. if wireType != 2 {
  12314. return fmt.Errorf("proto: wrong wireType = %d for field Evidence", wireType)
  12315. }
  12316. var msglen int
  12317. for shift := uint(0); ; shift += 7 {
  12318. if shift >= 64 {
  12319. return ErrIntOverflowAbci
  12320. }
  12321. if iNdEx >= l {
  12322. return io.ErrUnexpectedEOF
  12323. }
  12324. b := dAtA[iNdEx]
  12325. iNdEx++
  12326. msglen |= int(b&0x7F) << shift
  12327. if b < 0x80 {
  12328. break
  12329. }
  12330. }
  12331. if msglen < 0 {
  12332. return ErrInvalidLengthAbci
  12333. }
  12334. postIndex := iNdEx + msglen
  12335. if postIndex < 0 {
  12336. return ErrInvalidLengthAbci
  12337. }
  12338. if postIndex > l {
  12339. return io.ErrUnexpectedEOF
  12340. }
  12341. if m.Evidence == nil {
  12342. m.Evidence = &types1.EvidenceParams{}
  12343. }
  12344. if err := m.Evidence.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  12345. return err
  12346. }
  12347. iNdEx = postIndex
  12348. case 3:
  12349. if wireType != 2 {
  12350. return fmt.Errorf("proto: wrong wireType = %d for field Validator", wireType)
  12351. }
  12352. var msglen int
  12353. for shift := uint(0); ; shift += 7 {
  12354. if shift >= 64 {
  12355. return ErrIntOverflowAbci
  12356. }
  12357. if iNdEx >= l {
  12358. return io.ErrUnexpectedEOF
  12359. }
  12360. b := dAtA[iNdEx]
  12361. iNdEx++
  12362. msglen |= int(b&0x7F) << shift
  12363. if b < 0x80 {
  12364. break
  12365. }
  12366. }
  12367. if msglen < 0 {
  12368. return ErrInvalidLengthAbci
  12369. }
  12370. postIndex := iNdEx + msglen
  12371. if postIndex < 0 {
  12372. return ErrInvalidLengthAbci
  12373. }
  12374. if postIndex > l {
  12375. return io.ErrUnexpectedEOF
  12376. }
  12377. if m.Validator == nil {
  12378. m.Validator = &types1.ValidatorParams{}
  12379. }
  12380. if err := m.Validator.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  12381. return err
  12382. }
  12383. iNdEx = postIndex
  12384. default:
  12385. iNdEx = preIndex
  12386. skippy, err := skipAbci(dAtA[iNdEx:])
  12387. if err != nil {
  12388. return err
  12389. }
  12390. if skippy < 0 {
  12391. return ErrInvalidLengthAbci
  12392. }
  12393. if (iNdEx + skippy) < 0 {
  12394. return ErrInvalidLengthAbci
  12395. }
  12396. if (iNdEx + skippy) > l {
  12397. return io.ErrUnexpectedEOF
  12398. }
  12399. iNdEx += skippy
  12400. }
  12401. }
  12402. if iNdEx > l {
  12403. return io.ErrUnexpectedEOF
  12404. }
  12405. return nil
  12406. }
  12407. func (m *BlockParams) Unmarshal(dAtA []byte) error {
  12408. l := len(dAtA)
  12409. iNdEx := 0
  12410. for iNdEx < l {
  12411. preIndex := iNdEx
  12412. var wire uint64
  12413. for shift := uint(0); ; shift += 7 {
  12414. if shift >= 64 {
  12415. return ErrIntOverflowAbci
  12416. }
  12417. if iNdEx >= l {
  12418. return io.ErrUnexpectedEOF
  12419. }
  12420. b := dAtA[iNdEx]
  12421. iNdEx++
  12422. wire |= uint64(b&0x7F) << shift
  12423. if b < 0x80 {
  12424. break
  12425. }
  12426. }
  12427. fieldNum := int32(wire >> 3)
  12428. wireType := int(wire & 0x7)
  12429. if wireType == 4 {
  12430. return fmt.Errorf("proto: BlockParams: wiretype end group for non-group")
  12431. }
  12432. if fieldNum <= 0 {
  12433. return fmt.Errorf("proto: BlockParams: illegal tag %d (wire type %d)", fieldNum, wire)
  12434. }
  12435. switch fieldNum {
  12436. case 1:
  12437. if wireType != 0 {
  12438. return fmt.Errorf("proto: wrong wireType = %d for field MaxBytes", wireType)
  12439. }
  12440. m.MaxBytes = 0
  12441. for shift := uint(0); ; shift += 7 {
  12442. if shift >= 64 {
  12443. return ErrIntOverflowAbci
  12444. }
  12445. if iNdEx >= l {
  12446. return io.ErrUnexpectedEOF
  12447. }
  12448. b := dAtA[iNdEx]
  12449. iNdEx++
  12450. m.MaxBytes |= int64(b&0x7F) << shift
  12451. if b < 0x80 {
  12452. break
  12453. }
  12454. }
  12455. case 2:
  12456. if wireType != 0 {
  12457. return fmt.Errorf("proto: wrong wireType = %d for field MaxGas", wireType)
  12458. }
  12459. m.MaxGas = 0
  12460. for shift := uint(0); ; shift += 7 {
  12461. if shift >= 64 {
  12462. return ErrIntOverflowAbci
  12463. }
  12464. if iNdEx >= l {
  12465. return io.ErrUnexpectedEOF
  12466. }
  12467. b := dAtA[iNdEx]
  12468. iNdEx++
  12469. m.MaxGas |= int64(b&0x7F) << shift
  12470. if b < 0x80 {
  12471. break
  12472. }
  12473. }
  12474. default:
  12475. iNdEx = preIndex
  12476. skippy, err := skipAbci(dAtA[iNdEx:])
  12477. if err != nil {
  12478. return err
  12479. }
  12480. if skippy < 0 {
  12481. return ErrInvalidLengthAbci
  12482. }
  12483. if (iNdEx + skippy) < 0 {
  12484. return ErrInvalidLengthAbci
  12485. }
  12486. if (iNdEx + skippy) > l {
  12487. return io.ErrUnexpectedEOF
  12488. }
  12489. iNdEx += skippy
  12490. }
  12491. }
  12492. if iNdEx > l {
  12493. return io.ErrUnexpectedEOF
  12494. }
  12495. return nil
  12496. }
  12497. func (m *LastCommitInfo) Unmarshal(dAtA []byte) error {
  12498. l := len(dAtA)
  12499. iNdEx := 0
  12500. for iNdEx < l {
  12501. preIndex := iNdEx
  12502. var wire uint64
  12503. for shift := uint(0); ; shift += 7 {
  12504. if shift >= 64 {
  12505. return ErrIntOverflowAbci
  12506. }
  12507. if iNdEx >= l {
  12508. return io.ErrUnexpectedEOF
  12509. }
  12510. b := dAtA[iNdEx]
  12511. iNdEx++
  12512. wire |= uint64(b&0x7F) << shift
  12513. if b < 0x80 {
  12514. break
  12515. }
  12516. }
  12517. fieldNum := int32(wire >> 3)
  12518. wireType := int(wire & 0x7)
  12519. if wireType == 4 {
  12520. return fmt.Errorf("proto: LastCommitInfo: wiretype end group for non-group")
  12521. }
  12522. if fieldNum <= 0 {
  12523. return fmt.Errorf("proto: LastCommitInfo: illegal tag %d (wire type %d)", fieldNum, wire)
  12524. }
  12525. switch fieldNum {
  12526. case 1:
  12527. if wireType != 0 {
  12528. return fmt.Errorf("proto: wrong wireType = %d for field Round", wireType)
  12529. }
  12530. m.Round = 0
  12531. for shift := uint(0); ; shift += 7 {
  12532. if shift >= 64 {
  12533. return ErrIntOverflowAbci
  12534. }
  12535. if iNdEx >= l {
  12536. return io.ErrUnexpectedEOF
  12537. }
  12538. b := dAtA[iNdEx]
  12539. iNdEx++
  12540. m.Round |= int32(b&0x7F) << shift
  12541. if b < 0x80 {
  12542. break
  12543. }
  12544. }
  12545. case 2:
  12546. if wireType != 2 {
  12547. return fmt.Errorf("proto: wrong wireType = %d for field Votes", wireType)
  12548. }
  12549. var msglen int
  12550. for shift := uint(0); ; shift += 7 {
  12551. if shift >= 64 {
  12552. return ErrIntOverflowAbci
  12553. }
  12554. if iNdEx >= l {
  12555. return io.ErrUnexpectedEOF
  12556. }
  12557. b := dAtA[iNdEx]
  12558. iNdEx++
  12559. msglen |= int(b&0x7F) << shift
  12560. if b < 0x80 {
  12561. break
  12562. }
  12563. }
  12564. if msglen < 0 {
  12565. return ErrInvalidLengthAbci
  12566. }
  12567. postIndex := iNdEx + msglen
  12568. if postIndex < 0 {
  12569. return ErrInvalidLengthAbci
  12570. }
  12571. if postIndex > l {
  12572. return io.ErrUnexpectedEOF
  12573. }
  12574. m.Votes = append(m.Votes, VoteInfo{})
  12575. if err := m.Votes[len(m.Votes)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  12576. return err
  12577. }
  12578. iNdEx = postIndex
  12579. default:
  12580. iNdEx = preIndex
  12581. skippy, err := skipAbci(dAtA[iNdEx:])
  12582. if err != nil {
  12583. return err
  12584. }
  12585. if skippy < 0 {
  12586. return ErrInvalidLengthAbci
  12587. }
  12588. if (iNdEx + skippy) < 0 {
  12589. return ErrInvalidLengthAbci
  12590. }
  12591. if (iNdEx + skippy) > l {
  12592. return io.ErrUnexpectedEOF
  12593. }
  12594. iNdEx += skippy
  12595. }
  12596. }
  12597. if iNdEx > l {
  12598. return io.ErrUnexpectedEOF
  12599. }
  12600. return nil
  12601. }
  12602. func (m *EventAttribute) Unmarshal(dAtA []byte) error {
  12603. l := len(dAtA)
  12604. iNdEx := 0
  12605. for iNdEx < l {
  12606. preIndex := iNdEx
  12607. var wire uint64
  12608. for shift := uint(0); ; shift += 7 {
  12609. if shift >= 64 {
  12610. return ErrIntOverflowAbci
  12611. }
  12612. if iNdEx >= l {
  12613. return io.ErrUnexpectedEOF
  12614. }
  12615. b := dAtA[iNdEx]
  12616. iNdEx++
  12617. wire |= uint64(b&0x7F) << shift
  12618. if b < 0x80 {
  12619. break
  12620. }
  12621. }
  12622. fieldNum := int32(wire >> 3)
  12623. wireType := int(wire & 0x7)
  12624. if wireType == 4 {
  12625. return fmt.Errorf("proto: EventAttribute: wiretype end group for non-group")
  12626. }
  12627. if fieldNum <= 0 {
  12628. return fmt.Errorf("proto: EventAttribute: illegal tag %d (wire type %d)", fieldNum, wire)
  12629. }
  12630. switch fieldNum {
  12631. case 1:
  12632. if wireType != 2 {
  12633. return fmt.Errorf("proto: wrong wireType = %d for field Key", wireType)
  12634. }
  12635. var byteLen int
  12636. for shift := uint(0); ; shift += 7 {
  12637. if shift >= 64 {
  12638. return ErrIntOverflowAbci
  12639. }
  12640. if iNdEx >= l {
  12641. return io.ErrUnexpectedEOF
  12642. }
  12643. b := dAtA[iNdEx]
  12644. iNdEx++
  12645. byteLen |= int(b&0x7F) << shift
  12646. if b < 0x80 {
  12647. break
  12648. }
  12649. }
  12650. if byteLen < 0 {
  12651. return ErrInvalidLengthAbci
  12652. }
  12653. postIndex := iNdEx + byteLen
  12654. if postIndex < 0 {
  12655. return ErrInvalidLengthAbci
  12656. }
  12657. if postIndex > l {
  12658. return io.ErrUnexpectedEOF
  12659. }
  12660. m.Key = append(m.Key[:0], dAtA[iNdEx:postIndex]...)
  12661. if m.Key == nil {
  12662. m.Key = []byte{}
  12663. }
  12664. iNdEx = postIndex
  12665. case 2:
  12666. if wireType != 2 {
  12667. return fmt.Errorf("proto: wrong wireType = %d for field Value", wireType)
  12668. }
  12669. var byteLen int
  12670. for shift := uint(0); ; shift += 7 {
  12671. if shift >= 64 {
  12672. return ErrIntOverflowAbci
  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 ErrInvalidLengthAbci
  12686. }
  12687. postIndex := iNdEx + byteLen
  12688. if postIndex < 0 {
  12689. return ErrInvalidLengthAbci
  12690. }
  12691. if postIndex > l {
  12692. return io.ErrUnexpectedEOF
  12693. }
  12694. m.Value = append(m.Value[:0], dAtA[iNdEx:postIndex]...)
  12695. if m.Value == nil {
  12696. m.Value = []byte{}
  12697. }
  12698. iNdEx = postIndex
  12699. case 3:
  12700. if wireType != 0 {
  12701. return fmt.Errorf("proto: wrong wireType = %d for field Index", wireType)
  12702. }
  12703. var v int
  12704. for shift := uint(0); ; shift += 7 {
  12705. if shift >= 64 {
  12706. return ErrIntOverflowAbci
  12707. }
  12708. if iNdEx >= l {
  12709. return io.ErrUnexpectedEOF
  12710. }
  12711. b := dAtA[iNdEx]
  12712. iNdEx++
  12713. v |= int(b&0x7F) << shift
  12714. if b < 0x80 {
  12715. break
  12716. }
  12717. }
  12718. m.Index = bool(v != 0)
  12719. default:
  12720. iNdEx = preIndex
  12721. skippy, err := skipAbci(dAtA[iNdEx:])
  12722. if err != nil {
  12723. return err
  12724. }
  12725. if skippy < 0 {
  12726. return ErrInvalidLengthAbci
  12727. }
  12728. if (iNdEx + skippy) < 0 {
  12729. return ErrInvalidLengthAbci
  12730. }
  12731. if (iNdEx + skippy) > l {
  12732. return io.ErrUnexpectedEOF
  12733. }
  12734. iNdEx += skippy
  12735. }
  12736. }
  12737. if iNdEx > l {
  12738. return io.ErrUnexpectedEOF
  12739. }
  12740. return nil
  12741. }
  12742. func (m *Event) Unmarshal(dAtA []byte) error {
  12743. l := len(dAtA)
  12744. iNdEx := 0
  12745. for iNdEx < l {
  12746. preIndex := iNdEx
  12747. var wire uint64
  12748. for shift := uint(0); ; shift += 7 {
  12749. if shift >= 64 {
  12750. return ErrIntOverflowAbci
  12751. }
  12752. if iNdEx >= l {
  12753. return io.ErrUnexpectedEOF
  12754. }
  12755. b := dAtA[iNdEx]
  12756. iNdEx++
  12757. wire |= uint64(b&0x7F) << shift
  12758. if b < 0x80 {
  12759. break
  12760. }
  12761. }
  12762. fieldNum := int32(wire >> 3)
  12763. wireType := int(wire & 0x7)
  12764. if wireType == 4 {
  12765. return fmt.Errorf("proto: Event: wiretype end group for non-group")
  12766. }
  12767. if fieldNum <= 0 {
  12768. return fmt.Errorf("proto: Event: illegal tag %d (wire type %d)", fieldNum, wire)
  12769. }
  12770. switch fieldNum {
  12771. case 1:
  12772. if wireType != 2 {
  12773. return fmt.Errorf("proto: wrong wireType = %d for field Type", wireType)
  12774. }
  12775. var stringLen uint64
  12776. for shift := uint(0); ; shift += 7 {
  12777. if shift >= 64 {
  12778. return ErrIntOverflowAbci
  12779. }
  12780. if iNdEx >= l {
  12781. return io.ErrUnexpectedEOF
  12782. }
  12783. b := dAtA[iNdEx]
  12784. iNdEx++
  12785. stringLen |= uint64(b&0x7F) << shift
  12786. if b < 0x80 {
  12787. break
  12788. }
  12789. }
  12790. intStringLen := int(stringLen)
  12791. if intStringLen < 0 {
  12792. return ErrInvalidLengthAbci
  12793. }
  12794. postIndex := iNdEx + intStringLen
  12795. if postIndex < 0 {
  12796. return ErrInvalidLengthAbci
  12797. }
  12798. if postIndex > l {
  12799. return io.ErrUnexpectedEOF
  12800. }
  12801. m.Type = string(dAtA[iNdEx:postIndex])
  12802. iNdEx = postIndex
  12803. case 2:
  12804. if wireType != 2 {
  12805. return fmt.Errorf("proto: wrong wireType = %d for field Attributes", wireType)
  12806. }
  12807. var msglen int
  12808. for shift := uint(0); ; shift += 7 {
  12809. if shift >= 64 {
  12810. return ErrIntOverflowAbci
  12811. }
  12812. if iNdEx >= l {
  12813. return io.ErrUnexpectedEOF
  12814. }
  12815. b := dAtA[iNdEx]
  12816. iNdEx++
  12817. msglen |= int(b&0x7F) << shift
  12818. if b < 0x80 {
  12819. break
  12820. }
  12821. }
  12822. if msglen < 0 {
  12823. return ErrInvalidLengthAbci
  12824. }
  12825. postIndex := iNdEx + msglen
  12826. if postIndex < 0 {
  12827. return ErrInvalidLengthAbci
  12828. }
  12829. if postIndex > l {
  12830. return io.ErrUnexpectedEOF
  12831. }
  12832. m.Attributes = append(m.Attributes, EventAttribute{})
  12833. if err := m.Attributes[len(m.Attributes)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  12834. return err
  12835. }
  12836. iNdEx = postIndex
  12837. default:
  12838. iNdEx = preIndex
  12839. skippy, err := skipAbci(dAtA[iNdEx:])
  12840. if err != nil {
  12841. return err
  12842. }
  12843. if skippy < 0 {
  12844. return ErrInvalidLengthAbci
  12845. }
  12846. if (iNdEx + skippy) < 0 {
  12847. return ErrInvalidLengthAbci
  12848. }
  12849. if (iNdEx + skippy) > l {
  12850. return io.ErrUnexpectedEOF
  12851. }
  12852. iNdEx += skippy
  12853. }
  12854. }
  12855. if iNdEx > l {
  12856. return io.ErrUnexpectedEOF
  12857. }
  12858. return nil
  12859. }
  12860. func (m *TxResult) Unmarshal(dAtA []byte) error {
  12861. l := len(dAtA)
  12862. iNdEx := 0
  12863. for iNdEx < l {
  12864. preIndex := iNdEx
  12865. var wire uint64
  12866. for shift := uint(0); ; shift += 7 {
  12867. if shift >= 64 {
  12868. return ErrIntOverflowAbci
  12869. }
  12870. if iNdEx >= l {
  12871. return io.ErrUnexpectedEOF
  12872. }
  12873. b := dAtA[iNdEx]
  12874. iNdEx++
  12875. wire |= uint64(b&0x7F) << shift
  12876. if b < 0x80 {
  12877. break
  12878. }
  12879. }
  12880. fieldNum := int32(wire >> 3)
  12881. wireType := int(wire & 0x7)
  12882. if wireType == 4 {
  12883. return fmt.Errorf("proto: TxResult: wiretype end group for non-group")
  12884. }
  12885. if fieldNum <= 0 {
  12886. return fmt.Errorf("proto: TxResult: illegal tag %d (wire type %d)", fieldNum, wire)
  12887. }
  12888. switch fieldNum {
  12889. case 1:
  12890. if wireType != 0 {
  12891. return fmt.Errorf("proto: wrong wireType = %d for field Height", wireType)
  12892. }
  12893. m.Height = 0
  12894. for shift := uint(0); ; shift += 7 {
  12895. if shift >= 64 {
  12896. return ErrIntOverflowAbci
  12897. }
  12898. if iNdEx >= l {
  12899. return io.ErrUnexpectedEOF
  12900. }
  12901. b := dAtA[iNdEx]
  12902. iNdEx++
  12903. m.Height |= int64(b&0x7F) << shift
  12904. if b < 0x80 {
  12905. break
  12906. }
  12907. }
  12908. case 2:
  12909. if wireType != 0 {
  12910. return fmt.Errorf("proto: wrong wireType = %d for field Index", wireType)
  12911. }
  12912. m.Index = 0
  12913. for shift := uint(0); ; shift += 7 {
  12914. if shift >= 64 {
  12915. return ErrIntOverflowAbci
  12916. }
  12917. if iNdEx >= l {
  12918. return io.ErrUnexpectedEOF
  12919. }
  12920. b := dAtA[iNdEx]
  12921. iNdEx++
  12922. m.Index |= uint32(b&0x7F) << shift
  12923. if b < 0x80 {
  12924. break
  12925. }
  12926. }
  12927. case 3:
  12928. if wireType != 2 {
  12929. return fmt.Errorf("proto: wrong wireType = %d for field Tx", wireType)
  12930. }
  12931. var byteLen int
  12932. for shift := uint(0); ; shift += 7 {
  12933. if shift >= 64 {
  12934. return ErrIntOverflowAbci
  12935. }
  12936. if iNdEx >= l {
  12937. return io.ErrUnexpectedEOF
  12938. }
  12939. b := dAtA[iNdEx]
  12940. iNdEx++
  12941. byteLen |= int(b&0x7F) << shift
  12942. if b < 0x80 {
  12943. break
  12944. }
  12945. }
  12946. if byteLen < 0 {
  12947. return ErrInvalidLengthAbci
  12948. }
  12949. postIndex := iNdEx + byteLen
  12950. if postIndex < 0 {
  12951. return ErrInvalidLengthAbci
  12952. }
  12953. if postIndex > l {
  12954. return io.ErrUnexpectedEOF
  12955. }
  12956. m.Tx = append(m.Tx[:0], dAtA[iNdEx:postIndex]...)
  12957. if m.Tx == nil {
  12958. m.Tx = []byte{}
  12959. }
  12960. iNdEx = postIndex
  12961. case 4:
  12962. if wireType != 2 {
  12963. return fmt.Errorf("proto: wrong wireType = %d for field Result", wireType)
  12964. }
  12965. var msglen int
  12966. for shift := uint(0); ; shift += 7 {
  12967. if shift >= 64 {
  12968. return ErrIntOverflowAbci
  12969. }
  12970. if iNdEx >= l {
  12971. return io.ErrUnexpectedEOF
  12972. }
  12973. b := dAtA[iNdEx]
  12974. iNdEx++
  12975. msglen |= int(b&0x7F) << shift
  12976. if b < 0x80 {
  12977. break
  12978. }
  12979. }
  12980. if msglen < 0 {
  12981. return ErrInvalidLengthAbci
  12982. }
  12983. postIndex := iNdEx + msglen
  12984. if postIndex < 0 {
  12985. return ErrInvalidLengthAbci
  12986. }
  12987. if postIndex > l {
  12988. return io.ErrUnexpectedEOF
  12989. }
  12990. if err := m.Result.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  12991. return err
  12992. }
  12993. iNdEx = postIndex
  12994. default:
  12995. iNdEx = preIndex
  12996. skippy, err := skipAbci(dAtA[iNdEx:])
  12997. if err != nil {
  12998. return err
  12999. }
  13000. if skippy < 0 {
  13001. return ErrInvalidLengthAbci
  13002. }
  13003. if (iNdEx + skippy) < 0 {
  13004. return ErrInvalidLengthAbci
  13005. }
  13006. if (iNdEx + skippy) > l {
  13007. return io.ErrUnexpectedEOF
  13008. }
  13009. iNdEx += skippy
  13010. }
  13011. }
  13012. if iNdEx > l {
  13013. return io.ErrUnexpectedEOF
  13014. }
  13015. return nil
  13016. }
  13017. func (m *Validator) Unmarshal(dAtA []byte) error {
  13018. l := len(dAtA)
  13019. iNdEx := 0
  13020. for iNdEx < l {
  13021. preIndex := iNdEx
  13022. var wire uint64
  13023. for shift := uint(0); ; shift += 7 {
  13024. if shift >= 64 {
  13025. return ErrIntOverflowAbci
  13026. }
  13027. if iNdEx >= l {
  13028. return io.ErrUnexpectedEOF
  13029. }
  13030. b := dAtA[iNdEx]
  13031. iNdEx++
  13032. wire |= uint64(b&0x7F) << shift
  13033. if b < 0x80 {
  13034. break
  13035. }
  13036. }
  13037. fieldNum := int32(wire >> 3)
  13038. wireType := int(wire & 0x7)
  13039. if wireType == 4 {
  13040. return fmt.Errorf("proto: Validator: wiretype end group for non-group")
  13041. }
  13042. if fieldNum <= 0 {
  13043. return fmt.Errorf("proto: Validator: illegal tag %d (wire type %d)", fieldNum, wire)
  13044. }
  13045. switch fieldNum {
  13046. case 1:
  13047. if wireType != 2 {
  13048. return fmt.Errorf("proto: wrong wireType = %d for field Address", wireType)
  13049. }
  13050. var byteLen int
  13051. for shift := uint(0); ; shift += 7 {
  13052. if shift >= 64 {
  13053. return ErrIntOverflowAbci
  13054. }
  13055. if iNdEx >= l {
  13056. return io.ErrUnexpectedEOF
  13057. }
  13058. b := dAtA[iNdEx]
  13059. iNdEx++
  13060. byteLen |= int(b&0x7F) << shift
  13061. if b < 0x80 {
  13062. break
  13063. }
  13064. }
  13065. if byteLen < 0 {
  13066. return ErrInvalidLengthAbci
  13067. }
  13068. postIndex := iNdEx + byteLen
  13069. if postIndex < 0 {
  13070. return ErrInvalidLengthAbci
  13071. }
  13072. if postIndex > l {
  13073. return io.ErrUnexpectedEOF
  13074. }
  13075. m.Address = append(m.Address[:0], dAtA[iNdEx:postIndex]...)
  13076. if m.Address == nil {
  13077. m.Address = []byte{}
  13078. }
  13079. iNdEx = postIndex
  13080. case 3:
  13081. if wireType != 0 {
  13082. return fmt.Errorf("proto: wrong wireType = %d for field Power", wireType)
  13083. }
  13084. m.Power = 0
  13085. for shift := uint(0); ; shift += 7 {
  13086. if shift >= 64 {
  13087. return ErrIntOverflowAbci
  13088. }
  13089. if iNdEx >= l {
  13090. return io.ErrUnexpectedEOF
  13091. }
  13092. b := dAtA[iNdEx]
  13093. iNdEx++
  13094. m.Power |= int64(b&0x7F) << shift
  13095. if b < 0x80 {
  13096. break
  13097. }
  13098. }
  13099. default:
  13100. iNdEx = preIndex
  13101. skippy, err := skipAbci(dAtA[iNdEx:])
  13102. if err != nil {
  13103. return err
  13104. }
  13105. if skippy < 0 {
  13106. return ErrInvalidLengthAbci
  13107. }
  13108. if (iNdEx + skippy) < 0 {
  13109. return ErrInvalidLengthAbci
  13110. }
  13111. if (iNdEx + skippy) > l {
  13112. return io.ErrUnexpectedEOF
  13113. }
  13114. iNdEx += skippy
  13115. }
  13116. }
  13117. if iNdEx > l {
  13118. return io.ErrUnexpectedEOF
  13119. }
  13120. return nil
  13121. }
  13122. func (m *ValidatorUpdate) Unmarshal(dAtA []byte) error {
  13123. l := len(dAtA)
  13124. iNdEx := 0
  13125. for iNdEx < l {
  13126. preIndex := iNdEx
  13127. var wire uint64
  13128. for shift := uint(0); ; shift += 7 {
  13129. if shift >= 64 {
  13130. return ErrIntOverflowAbci
  13131. }
  13132. if iNdEx >= l {
  13133. return io.ErrUnexpectedEOF
  13134. }
  13135. b := dAtA[iNdEx]
  13136. iNdEx++
  13137. wire |= uint64(b&0x7F) << shift
  13138. if b < 0x80 {
  13139. break
  13140. }
  13141. }
  13142. fieldNum := int32(wire >> 3)
  13143. wireType := int(wire & 0x7)
  13144. if wireType == 4 {
  13145. return fmt.Errorf("proto: ValidatorUpdate: wiretype end group for non-group")
  13146. }
  13147. if fieldNum <= 0 {
  13148. return fmt.Errorf("proto: ValidatorUpdate: illegal tag %d (wire type %d)", fieldNum, wire)
  13149. }
  13150. switch fieldNum {
  13151. case 1:
  13152. if wireType != 2 {
  13153. return fmt.Errorf("proto: wrong wireType = %d for field PubKey", wireType)
  13154. }
  13155. var msglen int
  13156. for shift := uint(0); ; shift += 7 {
  13157. if shift >= 64 {
  13158. return ErrIntOverflowAbci
  13159. }
  13160. if iNdEx >= l {
  13161. return io.ErrUnexpectedEOF
  13162. }
  13163. b := dAtA[iNdEx]
  13164. iNdEx++
  13165. msglen |= int(b&0x7F) << shift
  13166. if b < 0x80 {
  13167. break
  13168. }
  13169. }
  13170. if msglen < 0 {
  13171. return ErrInvalidLengthAbci
  13172. }
  13173. postIndex := iNdEx + msglen
  13174. if postIndex < 0 {
  13175. return ErrInvalidLengthAbci
  13176. }
  13177. if postIndex > l {
  13178. return io.ErrUnexpectedEOF
  13179. }
  13180. if err := m.PubKey.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  13181. return err
  13182. }
  13183. iNdEx = postIndex
  13184. case 2:
  13185. if wireType != 0 {
  13186. return fmt.Errorf("proto: wrong wireType = %d for field Power", wireType)
  13187. }
  13188. m.Power = 0
  13189. for shift := uint(0); ; shift += 7 {
  13190. if shift >= 64 {
  13191. return ErrIntOverflowAbci
  13192. }
  13193. if iNdEx >= l {
  13194. return io.ErrUnexpectedEOF
  13195. }
  13196. b := dAtA[iNdEx]
  13197. iNdEx++
  13198. m.Power |= int64(b&0x7F) << shift
  13199. if b < 0x80 {
  13200. break
  13201. }
  13202. }
  13203. default:
  13204. iNdEx = preIndex
  13205. skippy, err := skipAbci(dAtA[iNdEx:])
  13206. if err != nil {
  13207. return err
  13208. }
  13209. if skippy < 0 {
  13210. return ErrInvalidLengthAbci
  13211. }
  13212. if (iNdEx + skippy) < 0 {
  13213. return ErrInvalidLengthAbci
  13214. }
  13215. if (iNdEx + skippy) > l {
  13216. return io.ErrUnexpectedEOF
  13217. }
  13218. iNdEx += skippy
  13219. }
  13220. }
  13221. if iNdEx > l {
  13222. return io.ErrUnexpectedEOF
  13223. }
  13224. return nil
  13225. }
  13226. func (m *VoteInfo) Unmarshal(dAtA []byte) error {
  13227. l := len(dAtA)
  13228. iNdEx := 0
  13229. for iNdEx < l {
  13230. preIndex := iNdEx
  13231. var wire uint64
  13232. for shift := uint(0); ; shift += 7 {
  13233. if shift >= 64 {
  13234. return ErrIntOverflowAbci
  13235. }
  13236. if iNdEx >= l {
  13237. return io.ErrUnexpectedEOF
  13238. }
  13239. b := dAtA[iNdEx]
  13240. iNdEx++
  13241. wire |= uint64(b&0x7F) << shift
  13242. if b < 0x80 {
  13243. break
  13244. }
  13245. }
  13246. fieldNum := int32(wire >> 3)
  13247. wireType := int(wire & 0x7)
  13248. if wireType == 4 {
  13249. return fmt.Errorf("proto: VoteInfo: wiretype end group for non-group")
  13250. }
  13251. if fieldNum <= 0 {
  13252. return fmt.Errorf("proto: VoteInfo: illegal tag %d (wire type %d)", fieldNum, wire)
  13253. }
  13254. switch fieldNum {
  13255. case 1:
  13256. if wireType != 2 {
  13257. return fmt.Errorf("proto: wrong wireType = %d for field Validator", wireType)
  13258. }
  13259. var msglen int
  13260. for shift := uint(0); ; shift += 7 {
  13261. if shift >= 64 {
  13262. return ErrIntOverflowAbci
  13263. }
  13264. if iNdEx >= l {
  13265. return io.ErrUnexpectedEOF
  13266. }
  13267. b := dAtA[iNdEx]
  13268. iNdEx++
  13269. msglen |= int(b&0x7F) << shift
  13270. if b < 0x80 {
  13271. break
  13272. }
  13273. }
  13274. if msglen < 0 {
  13275. return ErrInvalidLengthAbci
  13276. }
  13277. postIndex := iNdEx + msglen
  13278. if postIndex < 0 {
  13279. return ErrInvalidLengthAbci
  13280. }
  13281. if postIndex > l {
  13282. return io.ErrUnexpectedEOF
  13283. }
  13284. if err := m.Validator.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  13285. return err
  13286. }
  13287. iNdEx = postIndex
  13288. case 2:
  13289. if wireType != 0 {
  13290. return fmt.Errorf("proto: wrong wireType = %d for field SignedLastBlock", wireType)
  13291. }
  13292. var v int
  13293. for shift := uint(0); ; shift += 7 {
  13294. if shift >= 64 {
  13295. return ErrIntOverflowAbci
  13296. }
  13297. if iNdEx >= l {
  13298. return io.ErrUnexpectedEOF
  13299. }
  13300. b := dAtA[iNdEx]
  13301. iNdEx++
  13302. v |= int(b&0x7F) << shift
  13303. if b < 0x80 {
  13304. break
  13305. }
  13306. }
  13307. m.SignedLastBlock = bool(v != 0)
  13308. default:
  13309. iNdEx = preIndex
  13310. skippy, err := skipAbci(dAtA[iNdEx:])
  13311. if err != nil {
  13312. return err
  13313. }
  13314. if skippy < 0 {
  13315. return ErrInvalidLengthAbci
  13316. }
  13317. if (iNdEx + skippy) < 0 {
  13318. return ErrInvalidLengthAbci
  13319. }
  13320. if (iNdEx + skippy) > l {
  13321. return io.ErrUnexpectedEOF
  13322. }
  13323. iNdEx += skippy
  13324. }
  13325. }
  13326. if iNdEx > l {
  13327. return io.ErrUnexpectedEOF
  13328. }
  13329. return nil
  13330. }
  13331. func (m *Evidence) Unmarshal(dAtA []byte) error {
  13332. l := len(dAtA)
  13333. iNdEx := 0
  13334. for iNdEx < l {
  13335. preIndex := iNdEx
  13336. var wire uint64
  13337. for shift := uint(0); ; shift += 7 {
  13338. if shift >= 64 {
  13339. return ErrIntOverflowAbci
  13340. }
  13341. if iNdEx >= l {
  13342. return io.ErrUnexpectedEOF
  13343. }
  13344. b := dAtA[iNdEx]
  13345. iNdEx++
  13346. wire |= uint64(b&0x7F) << shift
  13347. if b < 0x80 {
  13348. break
  13349. }
  13350. }
  13351. fieldNum := int32(wire >> 3)
  13352. wireType := int(wire & 0x7)
  13353. if wireType == 4 {
  13354. return fmt.Errorf("proto: Evidence: wiretype end group for non-group")
  13355. }
  13356. if fieldNum <= 0 {
  13357. return fmt.Errorf("proto: Evidence: illegal tag %d (wire type %d)", fieldNum, wire)
  13358. }
  13359. switch fieldNum {
  13360. case 1:
  13361. if wireType != 2 {
  13362. return fmt.Errorf("proto: wrong wireType = %d for field Type", wireType)
  13363. }
  13364. var stringLen uint64
  13365. for shift := uint(0); ; shift += 7 {
  13366. if shift >= 64 {
  13367. return ErrIntOverflowAbci
  13368. }
  13369. if iNdEx >= l {
  13370. return io.ErrUnexpectedEOF
  13371. }
  13372. b := dAtA[iNdEx]
  13373. iNdEx++
  13374. stringLen |= uint64(b&0x7F) << shift
  13375. if b < 0x80 {
  13376. break
  13377. }
  13378. }
  13379. intStringLen := int(stringLen)
  13380. if intStringLen < 0 {
  13381. return ErrInvalidLengthAbci
  13382. }
  13383. postIndex := iNdEx + intStringLen
  13384. if postIndex < 0 {
  13385. return ErrInvalidLengthAbci
  13386. }
  13387. if postIndex > l {
  13388. return io.ErrUnexpectedEOF
  13389. }
  13390. m.Type = string(dAtA[iNdEx:postIndex])
  13391. iNdEx = postIndex
  13392. case 2:
  13393. if wireType != 2 {
  13394. return fmt.Errorf("proto: wrong wireType = %d for field Validator", wireType)
  13395. }
  13396. var msglen int
  13397. for shift := uint(0); ; shift += 7 {
  13398. if shift >= 64 {
  13399. return ErrIntOverflowAbci
  13400. }
  13401. if iNdEx >= l {
  13402. return io.ErrUnexpectedEOF
  13403. }
  13404. b := dAtA[iNdEx]
  13405. iNdEx++
  13406. msglen |= int(b&0x7F) << shift
  13407. if b < 0x80 {
  13408. break
  13409. }
  13410. }
  13411. if msglen < 0 {
  13412. return ErrInvalidLengthAbci
  13413. }
  13414. postIndex := iNdEx + msglen
  13415. if postIndex < 0 {
  13416. return ErrInvalidLengthAbci
  13417. }
  13418. if postIndex > l {
  13419. return io.ErrUnexpectedEOF
  13420. }
  13421. if err := m.Validator.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  13422. return err
  13423. }
  13424. iNdEx = postIndex
  13425. case 3:
  13426. if wireType != 0 {
  13427. return fmt.Errorf("proto: wrong wireType = %d for field Height", wireType)
  13428. }
  13429. m.Height = 0
  13430. for shift := uint(0); ; shift += 7 {
  13431. if shift >= 64 {
  13432. return ErrIntOverflowAbci
  13433. }
  13434. if iNdEx >= l {
  13435. return io.ErrUnexpectedEOF
  13436. }
  13437. b := dAtA[iNdEx]
  13438. iNdEx++
  13439. m.Height |= int64(b&0x7F) << shift
  13440. if b < 0x80 {
  13441. break
  13442. }
  13443. }
  13444. case 4:
  13445. if wireType != 2 {
  13446. return fmt.Errorf("proto: wrong wireType = %d for field Time", wireType)
  13447. }
  13448. var msglen int
  13449. for shift := uint(0); ; shift += 7 {
  13450. if shift >= 64 {
  13451. return ErrIntOverflowAbci
  13452. }
  13453. if iNdEx >= l {
  13454. return io.ErrUnexpectedEOF
  13455. }
  13456. b := dAtA[iNdEx]
  13457. iNdEx++
  13458. msglen |= int(b&0x7F) << shift
  13459. if b < 0x80 {
  13460. break
  13461. }
  13462. }
  13463. if msglen < 0 {
  13464. return ErrInvalidLengthAbci
  13465. }
  13466. postIndex := iNdEx + msglen
  13467. if postIndex < 0 {
  13468. return ErrInvalidLengthAbci
  13469. }
  13470. if postIndex > l {
  13471. return io.ErrUnexpectedEOF
  13472. }
  13473. if err := github_com_gogo_protobuf_types.StdTimeUnmarshal(&m.Time, dAtA[iNdEx:postIndex]); err != nil {
  13474. return err
  13475. }
  13476. iNdEx = postIndex
  13477. case 5:
  13478. if wireType != 0 {
  13479. return fmt.Errorf("proto: wrong wireType = %d for field TotalVotingPower", wireType)
  13480. }
  13481. m.TotalVotingPower = 0
  13482. for shift := uint(0); ; shift += 7 {
  13483. if shift >= 64 {
  13484. return ErrIntOverflowAbci
  13485. }
  13486. if iNdEx >= l {
  13487. return io.ErrUnexpectedEOF
  13488. }
  13489. b := dAtA[iNdEx]
  13490. iNdEx++
  13491. m.TotalVotingPower |= int64(b&0x7F) << shift
  13492. if b < 0x80 {
  13493. break
  13494. }
  13495. }
  13496. default:
  13497. iNdEx = preIndex
  13498. skippy, err := skipAbci(dAtA[iNdEx:])
  13499. if err != nil {
  13500. return err
  13501. }
  13502. if skippy < 0 {
  13503. return ErrInvalidLengthAbci
  13504. }
  13505. if (iNdEx + skippy) < 0 {
  13506. return ErrInvalidLengthAbci
  13507. }
  13508. if (iNdEx + skippy) > l {
  13509. return io.ErrUnexpectedEOF
  13510. }
  13511. iNdEx += skippy
  13512. }
  13513. }
  13514. if iNdEx > l {
  13515. return io.ErrUnexpectedEOF
  13516. }
  13517. return nil
  13518. }
  13519. func (m *Snapshot) Unmarshal(dAtA []byte) error {
  13520. l := len(dAtA)
  13521. iNdEx := 0
  13522. for iNdEx < l {
  13523. preIndex := iNdEx
  13524. var wire uint64
  13525. for shift := uint(0); ; shift += 7 {
  13526. if shift >= 64 {
  13527. return ErrIntOverflowAbci
  13528. }
  13529. if iNdEx >= l {
  13530. return io.ErrUnexpectedEOF
  13531. }
  13532. b := dAtA[iNdEx]
  13533. iNdEx++
  13534. wire |= uint64(b&0x7F) << shift
  13535. if b < 0x80 {
  13536. break
  13537. }
  13538. }
  13539. fieldNum := int32(wire >> 3)
  13540. wireType := int(wire & 0x7)
  13541. if wireType == 4 {
  13542. return fmt.Errorf("proto: Snapshot: wiretype end group for non-group")
  13543. }
  13544. if fieldNum <= 0 {
  13545. return fmt.Errorf("proto: Snapshot: illegal tag %d (wire type %d)", fieldNum, wire)
  13546. }
  13547. switch fieldNum {
  13548. case 1:
  13549. if wireType != 0 {
  13550. return fmt.Errorf("proto: wrong wireType = %d for field Height", wireType)
  13551. }
  13552. m.Height = 0
  13553. for shift := uint(0); ; shift += 7 {
  13554. if shift >= 64 {
  13555. return ErrIntOverflowAbci
  13556. }
  13557. if iNdEx >= l {
  13558. return io.ErrUnexpectedEOF
  13559. }
  13560. b := dAtA[iNdEx]
  13561. iNdEx++
  13562. m.Height |= uint64(b&0x7F) << shift
  13563. if b < 0x80 {
  13564. break
  13565. }
  13566. }
  13567. case 2:
  13568. if wireType != 0 {
  13569. return fmt.Errorf("proto: wrong wireType = %d for field Format", wireType)
  13570. }
  13571. m.Format = 0
  13572. for shift := uint(0); ; shift += 7 {
  13573. if shift >= 64 {
  13574. return ErrIntOverflowAbci
  13575. }
  13576. if iNdEx >= l {
  13577. return io.ErrUnexpectedEOF
  13578. }
  13579. b := dAtA[iNdEx]
  13580. iNdEx++
  13581. m.Format |= uint32(b&0x7F) << shift
  13582. if b < 0x80 {
  13583. break
  13584. }
  13585. }
  13586. case 3:
  13587. if wireType != 0 {
  13588. return fmt.Errorf("proto: wrong wireType = %d for field Chunks", wireType)
  13589. }
  13590. m.Chunks = 0
  13591. for shift := uint(0); ; shift += 7 {
  13592. if shift >= 64 {
  13593. return ErrIntOverflowAbci
  13594. }
  13595. if iNdEx >= l {
  13596. return io.ErrUnexpectedEOF
  13597. }
  13598. b := dAtA[iNdEx]
  13599. iNdEx++
  13600. m.Chunks |= uint32(b&0x7F) << shift
  13601. if b < 0x80 {
  13602. break
  13603. }
  13604. }
  13605. case 4:
  13606. if wireType != 2 {
  13607. return fmt.Errorf("proto: wrong wireType = %d for field Hash", wireType)
  13608. }
  13609. var byteLen int
  13610. for shift := uint(0); ; shift += 7 {
  13611. if shift >= 64 {
  13612. return ErrIntOverflowAbci
  13613. }
  13614. if iNdEx >= l {
  13615. return io.ErrUnexpectedEOF
  13616. }
  13617. b := dAtA[iNdEx]
  13618. iNdEx++
  13619. byteLen |= int(b&0x7F) << shift
  13620. if b < 0x80 {
  13621. break
  13622. }
  13623. }
  13624. if byteLen < 0 {
  13625. return ErrInvalidLengthAbci
  13626. }
  13627. postIndex := iNdEx + byteLen
  13628. if postIndex < 0 {
  13629. return ErrInvalidLengthAbci
  13630. }
  13631. if postIndex > l {
  13632. return io.ErrUnexpectedEOF
  13633. }
  13634. m.Hash = append(m.Hash[:0], dAtA[iNdEx:postIndex]...)
  13635. if m.Hash == nil {
  13636. m.Hash = []byte{}
  13637. }
  13638. iNdEx = postIndex
  13639. case 5:
  13640. if wireType != 2 {
  13641. return fmt.Errorf("proto: wrong wireType = %d for field Metadata", wireType)
  13642. }
  13643. var byteLen int
  13644. for shift := uint(0); ; shift += 7 {
  13645. if shift >= 64 {
  13646. return ErrIntOverflowAbci
  13647. }
  13648. if iNdEx >= l {
  13649. return io.ErrUnexpectedEOF
  13650. }
  13651. b := dAtA[iNdEx]
  13652. iNdEx++
  13653. byteLen |= int(b&0x7F) << shift
  13654. if b < 0x80 {
  13655. break
  13656. }
  13657. }
  13658. if byteLen < 0 {
  13659. return ErrInvalidLengthAbci
  13660. }
  13661. postIndex := iNdEx + byteLen
  13662. if postIndex < 0 {
  13663. return ErrInvalidLengthAbci
  13664. }
  13665. if postIndex > l {
  13666. return io.ErrUnexpectedEOF
  13667. }
  13668. m.Metadata = append(m.Metadata[:0], dAtA[iNdEx:postIndex]...)
  13669. if m.Metadata == nil {
  13670. m.Metadata = []byte{}
  13671. }
  13672. iNdEx = postIndex
  13673. default:
  13674. iNdEx = preIndex
  13675. skippy, err := skipAbci(dAtA[iNdEx:])
  13676. if err != nil {
  13677. return err
  13678. }
  13679. if skippy < 0 {
  13680. return ErrInvalidLengthAbci
  13681. }
  13682. if (iNdEx + skippy) < 0 {
  13683. return ErrInvalidLengthAbci
  13684. }
  13685. if (iNdEx + skippy) > l {
  13686. return io.ErrUnexpectedEOF
  13687. }
  13688. iNdEx += skippy
  13689. }
  13690. }
  13691. if iNdEx > l {
  13692. return io.ErrUnexpectedEOF
  13693. }
  13694. return nil
  13695. }
  13696. func skipAbci(dAtA []byte) (n int, err error) {
  13697. l := len(dAtA)
  13698. iNdEx := 0
  13699. depth := 0
  13700. for iNdEx < l {
  13701. var wire uint64
  13702. for shift := uint(0); ; shift += 7 {
  13703. if shift >= 64 {
  13704. return 0, ErrIntOverflowAbci
  13705. }
  13706. if iNdEx >= l {
  13707. return 0, io.ErrUnexpectedEOF
  13708. }
  13709. b := dAtA[iNdEx]
  13710. iNdEx++
  13711. wire |= (uint64(b) & 0x7F) << shift
  13712. if b < 0x80 {
  13713. break
  13714. }
  13715. }
  13716. wireType := int(wire & 0x7)
  13717. switch wireType {
  13718. case 0:
  13719. for shift := uint(0); ; shift += 7 {
  13720. if shift >= 64 {
  13721. return 0, ErrIntOverflowAbci
  13722. }
  13723. if iNdEx >= l {
  13724. return 0, io.ErrUnexpectedEOF
  13725. }
  13726. iNdEx++
  13727. if dAtA[iNdEx-1] < 0x80 {
  13728. break
  13729. }
  13730. }
  13731. case 1:
  13732. iNdEx += 8
  13733. case 2:
  13734. var length int
  13735. for shift := uint(0); ; shift += 7 {
  13736. if shift >= 64 {
  13737. return 0, ErrIntOverflowAbci
  13738. }
  13739. if iNdEx >= l {
  13740. return 0, io.ErrUnexpectedEOF
  13741. }
  13742. b := dAtA[iNdEx]
  13743. iNdEx++
  13744. length |= (int(b) & 0x7F) << shift
  13745. if b < 0x80 {
  13746. break
  13747. }
  13748. }
  13749. if length < 0 {
  13750. return 0, ErrInvalidLengthAbci
  13751. }
  13752. iNdEx += length
  13753. case 3:
  13754. depth++
  13755. case 4:
  13756. if depth == 0 {
  13757. return 0, ErrUnexpectedEndOfGroupAbci
  13758. }
  13759. depth--
  13760. case 5:
  13761. iNdEx += 4
  13762. default:
  13763. return 0, fmt.Errorf("proto: illegal wireType %d", wireType)
  13764. }
  13765. if iNdEx < 0 {
  13766. return 0, ErrInvalidLengthAbci
  13767. }
  13768. if depth == 0 {
  13769. return iNdEx, nil
  13770. }
  13771. }
  13772. return 0, io.ErrUnexpectedEOF
  13773. }
  13774. var (
  13775. ErrInvalidLengthAbci = fmt.Errorf("proto: negative length found during unmarshaling")
  13776. ErrIntOverflowAbci = fmt.Errorf("proto: integer overflow")
  13777. ErrUnexpectedEndOfGroupAbci = fmt.Errorf("proto: unexpected end of group")
  13778. )